From 9b9ce1614be3a9d5b87016927c0e0e37020a3a79 Mon Sep 17 00:00:00 2001 From: Xinlan Emily Hu Date: Tue, 8 Oct 2024 00:02:13 -0400 Subject: [PATCH 1/3] v.0.1.4 Release (#315) * Bump path-to-regexp and express in /website (#298) * Add Examples Notebook (#294) * Urgent fix to remove LIWC lexicons from public repo (#279) * delete small test lexicons * move .pkl files to assets and remove from GH * filesystem cleanup * update certainty pickle location * remove unpickling certainty * remove lexicons from pyproject * change lexical pkl path * add error handling when lexicons are not found * update warning message * add legal caveat and update name of certainty pkl to be correct * ensure lexicons are ignored * Update Documentation (Complete Conceptual Documentation, Document Assumptions) (#289) * new docs * lexicons hotfix * emilys doc edits * update deprecated github actions to latest * update last remaining text features * update index * update docs * update index * update docs * update docs and the feature dictionary * add basics.rst * add new basics page * update docs --------- Co-authored-by: Xinlan Emily Hu Co-authored-by: Xinlan Emily Hu * update torch requirements to resolve compatibility issue on torch end (#290) * Update Website (#291) * website updates * renaming tpm-website to website * deploying via gh-pages * changed from tpm-website to website * deployed website * copyright and team * team headshots and footer * edits to the pages * website updates * updated links * updated homepage * link updates * mobile compatibility * mobile adjustments * navbar mobile updates * whitespace edits * homepage updates * feature table * website updates * renaming tpm-website to website * deploying via gh-pages * changed from tpm-website to website * edits to the pages * website updates * updated links * updated homepage * link updates * mobile compatibility * mobile adjustments * navbar mobile updates * homepage updates * add table of features * updated team page titles * include flask in requirements.txt * updates to table of features * load pages from top * fix to 404 issues * moved build under website folder * updates to package launch * hyperlink ./setup.sh * fix nav bar sizing and hamburger logo * include preprint * updates to "getting started" * update team --------- Co-authored-by: amytangzheng * update documentation for clarity and correct typos in positivity z-score and information exchange and liwc * add demo notebook * update notebook and add information to docs * update documentation --------- Co-authored-by: Shruti Agarwal <46203852+agshruti12@users.noreply.github.com> Co-authored-by: amytangzheng * Bump path-to-regexp and express in /website Bumps [path-to-regexp](https://github.com/pillarjs/path-to-regexp) and [express](https://github.com/expressjs/express). These dependencies needed to be updated together. Updates `path-to-regexp` from 0.1.7 to 0.1.10 - [Release notes](https://github.com/pillarjs/path-to-regexp/releases) - [Changelog](https://github.com/pillarjs/path-to-regexp/blob/master/History.md) - [Commits](https://github.com/pillarjs/path-to-regexp/compare/v0.1.7...v0.1.10) Updates `express` from 4.19.2 to 4.21.0 - [Release notes](https://github.com/expressjs/express/releases) - [Changelog](https://github.com/expressjs/express/blob/4.21.0/History.md) - [Commits](https://github.com/expressjs/express/compare/4.19.2...4.21.0) --- updated-dependencies: - dependency-name: path-to-regexp dependency-type: indirect - dependency-name: express dependency-type: indirect ... Signed-off-by: dependabot[bot] --------- Signed-off-by: dependabot[bot] Co-authored-by: Xinlan Emily Hu Co-authored-by: Shruti Agarwal <46203852+agshruti12@users.noreply.github.com> Co-authored-by: amytangzheng Co-authored-by: Xinlan Emily Hu Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump nltk from 3.8.1 to 3.9 (#297) * Add Examples Notebook (#294) * Urgent fix to remove LIWC lexicons from public repo (#279) * delete small test lexicons * move .pkl files to assets and remove from GH * filesystem cleanup * update certainty pickle location * remove unpickling certainty * remove lexicons from pyproject * change lexical pkl path * add error handling when lexicons are not found * update warning message * add legal caveat and update name of certainty pkl to be correct * ensure lexicons are ignored * Update Documentation (Complete Conceptual Documentation, Document Assumptions) (#289) * new docs * lexicons hotfix * emilys doc edits * update deprecated github actions to latest * update last remaining text features * update index * update docs * update index * update docs * update docs and the feature dictionary * add basics.rst * add new basics page * update docs --------- Co-authored-by: Xinlan Emily Hu Co-authored-by: Xinlan Emily Hu * update torch requirements to resolve compatibility issue on torch end (#290) * Update Website (#291) * website updates * renaming tpm-website to website * deploying via gh-pages * changed from tpm-website to website * deployed website * copyright and team * team headshots and footer * edits to the pages * website updates * updated links * updated homepage * link updates * mobile compatibility * mobile adjustments * navbar mobile updates * whitespace edits * homepage updates * feature table * website updates * renaming tpm-website to website * deploying via gh-pages * changed from tpm-website to website * edits to the pages * website updates * updated links * updated homepage * link updates * mobile compatibility * mobile adjustments * navbar mobile updates * homepage updates * add table of features * updated team page titles * include flask in requirements.txt * updates to table of features * load pages from top * fix to 404 issues * moved build under website folder * updates to package launch * hyperlink ./setup.sh * fix nav bar sizing and hamburger logo * include preprint * updates to "getting started" * update team --------- Co-authored-by: amytangzheng * update documentation for clarity and correct typos in positivity z-score and information exchange and liwc * add demo notebook * update notebook and add information to docs * update documentation --------- Co-authored-by: Shruti Agarwal <46203852+agshruti12@users.noreply.github.com> Co-authored-by: amytangzheng * Bump nltk from 3.8.1 to 3.9 Bumps [nltk](https://github.com/nltk/nltk) from 3.8.1 to 3.9. - [Changelog](https://github.com/nltk/nltk/blob/develop/ChangeLog) - [Commits](https://github.com/nltk/nltk/compare/3.8.1...3.9) --- updated-dependencies: - dependency-name: nltk dependency-type: direct:production ... Signed-off-by: dependabot[bot] * Update pyproject.toml * Update requirements.txt * Update download_resources.py --------- Signed-off-by: dependabot[bot] Co-authored-by: Xinlan Emily Hu Co-authored-by: Shruti Agarwal <46203852+agshruti12@users.noreply.github.com> Co-authored-by: amytangzheng Co-authored-by: Xinlan Emily Hu Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump body-parser and express in /website (#296) * Add Examples Notebook (#294) * Urgent fix to remove LIWC lexicons from public repo (#279) * delete small test lexicons * move .pkl files to assets and remove from GH * filesystem cleanup * update certainty pickle location * remove unpickling certainty * remove lexicons from pyproject * change lexical pkl path * add error handling when lexicons are not found * update warning message * add legal caveat and update name of certainty pkl to be correct * ensure lexicons are ignored * Update Documentation (Complete Conceptual Documentation, Document Assumptions) (#289) * new docs * lexicons hotfix * emilys doc edits * update deprecated github actions to latest * update last remaining text features * update index * update docs * update index * update docs * update docs and the feature dictionary * add basics.rst * add new basics page * update docs --------- Co-authored-by: Xinlan Emily Hu Co-authored-by: Xinlan Emily Hu * update torch requirements to resolve compatibility issue on torch end (#290) * Update Website (#291) * website updates * renaming tpm-website to website * deploying via gh-pages * changed from tpm-website to website * deployed website * copyright and team * team headshots and footer * edits to the pages * website updates * updated links * updated homepage * link updates * mobile compatibility * mobile adjustments * navbar mobile updates * whitespace edits * homepage updates * feature table * website updates * renaming tpm-website to website * deploying via gh-pages * changed from tpm-website to website * edits to the pages * website updates * updated links * updated homepage * link updates * mobile compatibility * mobile adjustments * navbar mobile updates * homepage updates * add table of features * updated team page titles * include flask in requirements.txt * updates to table of features * load pages from top * fix to 404 issues * moved build under website folder * updates to package launch * hyperlink ./setup.sh * fix nav bar sizing and hamburger logo * include preprint * updates to "getting started" * update team --------- Co-authored-by: amytangzheng * update documentation for clarity and correct typos in positivity z-score and information exchange and liwc * add demo notebook * update notebook and add information to docs * update documentation --------- Co-authored-by: Shruti Agarwal <46203852+agshruti12@users.noreply.github.com> Co-authored-by: amytangzheng * Bump body-parser and express in /website Bumps [body-parser](https://github.com/expressjs/body-parser) and [express](https://github.com/expressjs/express). These dependencies needed to be updated together. Updates `body-parser` from 1.20.2 to 1.20.3 - [Release notes](https://github.com/expressjs/body-parser/releases) - [Changelog](https://github.com/expressjs/body-parser/blob/master/HISTORY.md) - [Commits](https://github.com/expressjs/body-parser/compare/1.20.2...1.20.3) Updates `express` from 4.19.2 to 4.21.0 - [Release notes](https://github.com/expressjs/express/releases) - [Changelog](https://github.com/expressjs/express/blob/4.21.0/History.md) - [Commits](https://github.com/expressjs/express/compare/4.19.2...4.21.0) --- updated-dependencies: - dependency-name: body-parser dependency-type: indirect - dependency-name: express dependency-type: indirect ... Signed-off-by: dependabot[bot] --------- Signed-off-by: dependabot[bot] Co-authored-by: Xinlan Emily Hu Co-authored-by: Shruti Agarwal <46203852+agshruti12@users.noreply.github.com> Co-authored-by: amytangzheng Co-authored-by: Xinlan Emily Hu Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Check embedding update (#295) * Add Examples Notebook (#294) * Urgent fix to remove LIWC lexicons from public repo (#279) * delete small test lexicons * move .pkl files to assets and remove from GH * filesystem cleanup * update certainty pickle location * remove unpickling certainty * remove lexicons from pyproject * change lexical pkl path * add error handling when lexicons are not found * update warning message * add legal caveat and update name of certainty pkl to be correct * ensure lexicons are ignored * Update Documentation (Complete Conceptual Documentation, Document Assumptions) (#289) * new docs * lexicons hotfix * emilys doc edits * update deprecated github actions to latest * update last remaining text features * update index * update docs * update index * update docs * update docs and the feature dictionary * add basics.rst * add new basics page * update docs --------- Co-authored-by: Xinlan Emily Hu Co-authored-by: Xinlan Emily Hu * update torch requirements to resolve compatibility issue on torch end (#290) * Update Website (#291) * website updates * renaming tpm-website to website * deploying via gh-pages * changed from tpm-website to website * deployed website * copyright and team * team headshots and footer * edits to the pages * website updates * updated links * updated homepage * link updates * mobile compatibility * mobile adjustments * navbar mobile updates * whitespace edits * homepage updates * feature table * website updates * renaming tpm-website to website * deploying via gh-pages * changed from tpm-website to website * edits to the pages * website updates * updated links * updated homepage * link updates * mobile compatibility * mobile adjustments * navbar mobile updates * homepage updates * add table of features * updated team page titles * include flask in requirements.txt * updates to table of features * load pages from top * fix to 404 issues * moved build under website folder * updates to package launch * hyperlink ./setup.sh * fix nav bar sizing and hamburger logo * include preprint * updates to "getting started" * update team --------- Co-authored-by: amytangzheng * update documentation for clarity and correct typos in positivity z-score and information exchange and liwc * add demo notebook * update notebook and add information to docs * update documentation --------- Co-authored-by: Shruti Agarwal <46203852+agshruti12@users.noreply.github.com> Co-authored-by: amytangzheng * update check embeddings with tqdm loading bar and BERT tokenization update * (1) allow BERT sentiments to be generated from the messages with punctuation, rather than the preprocessed messages; (2) batch BERT sentiment generation to make it more efficient; (3) add loading bar for generation of chat-level features --------- Co-authored-by: Shruti Agarwal <46203852+agshruti12@users.noreply.github.com> Co-authored-by: amytangzheng * Update README.md to remove col = "message" * Closes #302. * Amy/website (#301) * website updates * renaming tpm-website to website * deploying via gh-pages * changed from tpm-website to website * deployed website * copyright and team * team headshots and footer * edits to the pages * website updates * updated links * updated homepage * link updates * mobile compatibility * mobile adjustments * navbar mobile updates * whitespace edits * homepage updates * feature table * website updates * renaming tpm-website to website * deploying via gh-pages * changed from tpm-website to website * edits to the pages * website updates * updated links * updated homepage * link updates * mobile compatibility * mobile adjustments * navbar mobile updates * homepage updates * add table of features * updated team page titles * include flask in requirements.txt * updates to table of features * load pages from top * fix to 404 issues * moved build under website folder * updates to package launch * hyperlink ./setup.sh * fix nav bar sizing and hamburger logo * include preprint * updates to "getting started" * update team * gh actions and custom domain * deploy to custom url * deploy to custom url * updates to cname * changes to cname * cname updates * testing github actions * updates to github-actions-website * testing github actions * updates to gh actions * updates to github-actions * update home for testing gh actions * updates CNAME * update testing email * updates username/email * updates to email in github-actions-website * testing gh actions for feature_dict * testing github-actions feature_dict * updates to github-actions-feature_dict * Update github-actions-feature_dict.yaml * testing updates to feature_dict.py * testing feature_dict updates * testing updates to feature_dict.py * testing feature_dict deployment * Update github-actions-feature_dict.yaml * testing feature_dict updates * testing updates to feature_dict.py * updates to feature_dict * updates to github actions feature_dict * testing auto updates to feature_dict * Update feature_dict.py * testing feature_dict auto updates * testing feature_dict auto updates * Update feature_dict.py * testing feature_dict auto updates * remove commented code in feature_dict.py * Delete src/team_comm_tools/filtered_dict.json delete test json file * Update github-actions-website.yaml to deploy on update to dev * put 'dev' in quotes * Update github-actions-feature_dict.yaml to update upon dev * re-add filtered dict --------- Co-authored-by: Xinlan Emily Hu Co-authored-by: Xinlan Emily Hu * Update github-actions-website.yaml (#309) * Update github-actions-feature_dict.yaml (#308) * Package updates in Amy/website (#310) * website updates * renaming tpm-website to website * deploying via gh-pages * changed from tpm-website to website * deployed website * copyright and team * team headshots and footer * edits to the pages * website updates * updated links * updated homepage * link updates * mobile compatibility * mobile adjustments * navbar mobile updates * whitespace edits * homepage updates * feature table * website updates * renaming tpm-website to website * deploying via gh-pages * changed from tpm-website to website * edits to the pages * website updates * updated links * updated homepage * link updates * mobile compatibility * mobile adjustments * navbar mobile updates * homepage updates * add table of features * updated team page titles * include flask in requirements.txt * updates to table of features * load pages from top * fix to 404 issues * moved build under website folder * updates to package launch * hyperlink ./setup.sh * fix nav bar sizing and hamburger logo * include preprint * updates to "getting started" * update team * gh actions and custom domain * deploy to custom url * deploy to custom url * updates to cname * changes to cname * cname updates * testing github actions * updates to github-actions-website * testing github actions * updates to gh actions * updates to github-actions * update home for testing gh actions * updates CNAME * update testing email * updates username/email * updates to email in github-actions-website * testing gh actions for feature_dict * testing github-actions feature_dict * updates to github-actions-feature_dict * Update github-actions-feature_dict.yaml * testing updates to feature_dict.py * testing feature_dict updates * testing updates to feature_dict.py * testing feature_dict deployment * Update github-actions-feature_dict.yaml * testing feature_dict updates * testing updates to feature_dict.py * updates to feature_dict * updates to github actions feature_dict * testing auto updates to feature_dict * Update feature_dict.py * testing feature_dict auto updates * testing feature_dict auto updates * Update feature_dict.py * testing feature_dict auto updates * remove commented code in feature_dict.py * Delete src/team_comm_tools/filtered_dict.json delete test json file * Update github-actions-website.yaml to deploy on update to dev * put 'dev' in quotes * Update github-actions-feature_dict.yaml to update upon dev * re-add filtered dict * update packages for website --------- Co-authored-by: amytangzheng * Update package-lock.json to local version * Update package-lock.json * Update package.json * Update package-lock.json * Fix "@babel/plugin-proposal-private-property-in-object" error (#311) * Update package-lock.json * Update package.json * upgrade node packages * update team page + try to remove some of the deprecated packages * Revert "update team page + try to remove some of the deprecated packages" This reverts commit d04037df782639c3567cf1119cea627d3c6ad841. * revert attempts to upgrade packages * Denormalize liwc (#312) * address https://github.com/Watts-Lab/team_comm_tools/issues/306 * fix hedges reference and update dictionary * address https://github.com/Watts-Lab/team_comm_tools/issues/300 (#313) * Address issues with making feature names more clear; have cleaner defaults for output params (#314) * address https://github.com/Watts-Lab/team_comm_tools/issues/304 * address https://github.com/Watts-Lab/team_comm_tools/issues/286 and https://github.com/Watts-Lab/team_comm_tools/issues/299 * small fix to ensure filtered_dict does not generate in every run --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Shruti Agarwal <46203852+agshruti12@users.noreply.github.com> Co-authored-by: amytangzheng Co-authored-by: amytangzheng <145236844+amytangzheng@users.noreply.github.com> --- .../github-actions-feature_dict.yaml | 60 + .github/workflows/github-actions-website.yaml | 46 + .gitignore | 1 + README.md | 4 +- docs/build/doctrees/environment.pickle | Bin 317452 -> 2268761 bytes docs/build/doctrees/examples.doctree | Bin 121540 -> 137145 bytes docs/build/doctrees/feature_builder.doctree | Bin 85973 -> 69652 bytes .../doctrees/features/basic_features.doctree | Bin 13636 -> 13498 bytes .../doctrees/features/burstiness.doctree | Bin 15930 -> 15820 bytes .../build/doctrees/features/certainty.doctree | Bin 9167 -> 9085 bytes .../features/discursive_diversity.doctree | Bin 15684 -> 15546 bytes docs/build/doctrees/features/fflow.doctree | Bin 9248 -> 9166 bytes .../features/get_all_DD_features.doctree | Bin 15053 -> 14943 bytes .../features/get_user_network.doctree | Bin 14401 -> 14291 bytes docs/build/doctrees/features/hedge.doctree | Bin 7693 -> 7611 bytes docs/build/doctrees/features/index.doctree | Bin 9918 -> 9897 bytes .../features/info_exchange_zscore.doctree | Bin 11803 -> 11721 bytes .../features/information_diversity.doctree | Bin 24856 -> 24690 bytes .../features/lexical_features_v2.doctree | Bin 16310 -> 15283 bytes .../named_entity_recognition_features.doctree | Bin 28281 -> 28074 bytes .../features/other_lexical_features.doctree | Bin 16430 -> 16292 bytes .../features/politeness_features.doctree | Bin 8006 -> 7924 bytes .../doctrees/features/politeness_v2.doctree | Bin 8719 -> 8637 bytes .../features/politeness_v2_helper.doctree | Bin 97129 -> 96428 bytes .../doctrees/features/question_num.doctree | Bin 8828 -> 8746 bytes .../doctrees/features/readability.doctree | Bin 22928 -> 22759 bytes .../doctrees/features/reddit_tags.doctree | Bin 45337 -> 44947 bytes .../features/temporal_features.doctree | Bin 20189 -> 20051 bytes .../textblob_sentiment_analysis.doctree | Bin 13504 -> 13394 bytes .../features/turn_taking_features.doctree | Bin 18984 -> 18846 bytes .../doctrees/features/variance_in_DD.doctree | Bin 5051 -> 4990 bytes .../within_person_discursive_range.doctree | Bin 6755 -> 6675 bytes .../doctrees/features/word_mimicry.doctree | Bin 49115 -> 48809 bytes .../features_conceptual/TEMPLATE.doctree | Bin 9294 -> 9273 bytes .../content_word_accommodation.doctree | Bin 22455 -> 22434 bytes .../function_word_accommodation.doctree | Bin 19960 -> 19939 bytes .../features_conceptual/index.doctree | Bin 6627 -> 6606 bytes .../features_conceptual/mimicry_bert.doctree | Bin 14372 -> 14351 bytes .../moving_mimicry.doctree | Bin 13876 -> 13855 bytes .../named_entity_recognition.doctree | Bin 17880 -> 17859 bytes .../positivity_bert.doctree | Bin 13960 -> 13939 bytes .../turn_taking_index.doctree | Bin 16151 -> 16130 bytes .../features_conceptual/word_ttr.doctree | Bin 8548 -> 8527 bytes docs/build/doctrees/index.doctree | Bin 20261 -> 29722 bytes docs/build/doctrees/intro.doctree | Bin 34402 -> 34381 bytes .../doctrees/utils/assign_chunk_nums.doctree | Bin 30069 -> 29903 bytes .../calculate_chat_level_features.doctree | Bin 87407 -> 86715 bytes ...culate_conversation_level_features.doctree | Bin 50451 -> 50100 bytes .../calculate_user_level_features.doctree | Bin 37356 -> 37057 bytes .../doctrees/utils/check_embeddings.doctree | Bin 43533 -> 44624 bytes .../doctrees/utils/gini_coefficient.doctree | Bin 13770 -> 13660 bytes docs/build/doctrees/utils/index.doctree | Bin 8887 -> 8866 bytes .../doctrees/utils/preload_word_lists.doctree | Bin 14062 -> 13887 bytes docs/build/doctrees/utils/preprocess.doctree | Bin 54871 -> 54593 bytes .../doctrees/utils/summarize_features.doctree | Bin 56009 -> 55759 bytes .../zscore_chats_and_conversation.doctree | Bin 15919 -> 15809 bytes docs/build/html/.buildinfo | 2 +- docs/build/html/_sources/examples.rst.txt | 100 +- docs/build/html/_sources/index.rst.txt | 76 +- docs/build/html/_static/searchtools.js | 7 +- docs/build/html/examples.html | 95 +- docs/build/html/feature_builder.html | 23 +- .../html/features/lexical_features_v2.html | 14 +- docs/build/html/genindex.html | 2 +- docs/build/html/index.html | 64 +- docs/build/html/objects.inv | Bin 4321 -> 4354 bytes docs/build/html/searchindex.js | 2 +- docs/build/html/utils/check_embeddings.html | 13 +- docs/source/basics.rst | 12 +- docs/source/examples.rst | 100 +- docs/source/features_conceptual/liwc.rst | 12 +- docs/source/index.rst | 76 +- examples/demo.ipynb | 1974 +++++--- examples/featurize.py | 32 +- pyproject.toml | 7 +- requirements.txt | 5 +- setup.sh | 2 +- src/team_comm_tools/feature_builder.py | 114 +- src/team_comm_tools/feature_dict.py | 254 +- .../features/lexical_features_v2.py | 17 +- src/team_comm_tools/lambda_function.py | 29 + .../utils/calculate_chat_level_features.py | 13 +- src/team_comm_tools/utils/check_embeddings.py | 68 +- .../utils/download_resources.py | 14 +- tests/data/cleaned_data/help.ipynb | 47 - tests/data/cleaned_data/helper.ipynb | 1474 ------ tests/data/cleaned_data/test_chat_level.csv | 1362 ++--- .../cleaned_data/test_vector_edge_cases.csv | 6 + tests/run_package_grouping_tests.py | 52 +- tests/run_tests.py | 28 +- tests/test_feature_metrics.py | 4 +- tests/test_package.py | 48 +- website/package-lock.json | 4489 +++++++++++------ website/package.json | 13 +- website/public/CNAME | Bin 0 -> 58 bytes website/src/components/pages/Team.js | 16 +- 96 files changed, 6198 insertions(+), 4579 deletions(-) create mode 100644 .github/workflows/github-actions-feature_dict.yaml create mode 100644 .github/workflows/github-actions-website.yaml create mode 100644 src/team_comm_tools/lambda_function.py delete mode 100644 tests/data/cleaned_data/help.ipynb delete mode 100644 tests/data/cleaned_data/helper.ipynb create mode 100644 tests/data/cleaned_data/test_vector_edge_cases.csv create mode 100644 website/public/CNAME diff --git a/.github/workflows/github-actions-feature_dict.yaml b/.github/workflows/github-actions-feature_dict.yaml new file mode 100644 index 00000000..afe17ff4 --- /dev/null +++ b/.github/workflows/github-actions-feature_dict.yaml @@ -0,0 +1,60 @@ +name: Deploy feature_dict to AWS Lambda +run-name: ${{ github.actor }} is deploying the feature dictionary to AWS + +on: + push: + branches: + - 'dev' + paths: + - 'src/team_comm_tools/feature_dict.py' + +jobs: + deploy: + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Set Up Python + uses: actions/setup-python@v4 + with: + python-version: "3.11" + + - name: Install dependencies + run: | + python -m pip install --upgrade pip + ./setup.sh + pip install flask + pip install awscli + + - name: Install package + run: pip install . + + # Run the feature_dict.py file to generate filtered_dict.json + - name: Run feature_dict.py + run: | + cd src + cd team_comm_tools + python feature_dict.py run + + - name: Package Lambda function + run: | + mkdir package + pip install --target ./package flask + cp src/team_comm_tools/feature_dict.py ./package # Copies feature_dict.py + cp src/team_comm_tools/lambda_function.py ./package # Copies lambda_function.py + cp src/team_comm_tools/filtered_dict.json ./package # Copies filtered_dict.json + cd package + zip -r ../function.zip . # Packages the Lambda function + + - name: Configure AWS credentials + uses: aws-actions/configure-aws-credentials@v1 + with: + aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} + aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + aws-region: ${{ secrets.AWS_REGION }} + + - name: Update Lambda function + run: | + aws lambda update-function-code --function-name ${{ secrets.LAMBDA_FUNCTION_NAME }} --zip-file fileb://function.zip diff --git a/.github/workflows/github-actions-website.yaml b/.github/workflows/github-actions-website.yaml new file mode 100644 index 00000000..0d36ce4b --- /dev/null +++ b/.github/workflows/github-actions-website.yaml @@ -0,0 +1,46 @@ +name: Deploy Website on Commit +run-name: ${{ github.actor }} is deploying the website + +on: + push: + branches: + - 'dev' + paths: + - 'website/**' # Only trigger when changes occur in the website folder + +jobs: + deploy: + + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Set up Node.js + uses: actions/setup-node@v4 + with: + node-version: '20.15.0' + + - name: Install dependencies + run: npm ci + working-directory: ./website # Navigate to the website folder + + - name: Build the project + run: npm run build + working-directory: ./website + + - name: Add CNAME file + run: echo 'teamcommtools.seas.upenn.edu' > ./website/build/CNAME + + - name: Configure Git + run: | + git config --global user.email "team_comm_tools_admin@gmail.com" + git config --global user.name "team_comm_tools_admin" + working-directory: ./website + + - name: Deploy + run: | + git remote set-url origin https://x-access-token:${{ secrets.GITHUB_TOKEN }}@github.com/${{ github.repository }}.git + npm run deploy + working-directory: ./website # Run deploy inside the website folder diff --git a/.gitignore b/.gitignore index bfb8aeb6..96b04f41 100644 --- a/.gitignore +++ b/.gitignore @@ -31,6 +31,7 @@ MANIFEST .DS_Store # unwanted files +*/filtered_dict.json src/team_comm_tools/features/lexicons/liwc_lexicons/* src/team_comm_tools/features/lexicons/liwc_lexicons_small_test/* src/team_comm_tools/features/lexicons/certainty.txt diff --git a/README.md b/README.md index 4a0cf58d..3ddc232d 100644 --- a/README.md +++ b/README.md @@ -85,7 +85,7 @@ my_feature_builder = FeatureBuilder( ) # this line of code runs the FeatureBuilder on your data -my_feature_builder.featurize(col="message") +my_feature_builder.featurize() ``` ### Data Format @@ -112,4 +112,4 @@ For more information, please refer to the [Introduction on our Read the Docs Pag Please visit our website, [https://teamcommtools.seas.upenn.edu/](https://teamcommtools.seas.upenn.edu/), for general information about our project and research. For more detailed documentation on our features and examples, please visit our [Read the Docs Page](https://conversational-featurizer.readthedocs.io/en/latest/). # Becoming a Contributor -If you would like to make pull requests to this open-sourced repository, please read our [GitHub Repo Getting Started Guide](/github_repo_getting_started.md). We welcome new feature contributions or improvements to our framework. \ No newline at end of file +If you would like to make pull requests to this open-sourced repository, please read our [GitHub Repo Getting Started Guide](/github_repo_getting_started.md). We welcome new feature contributions or improvements to our framework. diff --git a/docs/build/doctrees/environment.pickle b/docs/build/doctrees/environment.pickle index 768b4a2eb57f730c631e03ac396ddb02d3ff881b..f31e7e92391490a097a8f573f2f40d4a00618a65 100644 GIT binary patch literal 2268761 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

x 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�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 Fe*h~=?0^6O literal 317452 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 diff --git a/docs/build/doctrees/examples.doctree b/docs/build/doctrees/examples.doctree index 689512735f6012039269f494680c53229895fc18..ed989d52148aa6d2ca507ca363862a42a0b5104d 100644 GIT binary patch delta 19636 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 HK}!E0zN7K_ delta 8662 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 literal 85973 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%0DQ9v+vEJVWa$`F=&d-}AhupRCbySjeZD=!~ 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 delta 406 zcmdm$c_fRqfpw~-=|&19CI|;pG zCai7+Q-;pw81W=#AU!!oTygUgsTxKodvcei-sUYbsf?3PN{VbYlKafaI0K)(rJL6& u>}SHGW^<#m0L<{s+f{twmTGBO!Nt2YCqpbW)1Ji6*n`i)l+6ytRg3^~pNgOW diff --git a/docs/build/doctrees/features/burstiness.doctree b/docs/build/doctrees/features/burstiness.doctree index e001758376a8b48770fa9c204818276edc11fef8..463a9367c17f3256e11b8163c39dbd9d52ed148d 100644 GIT binary patch delta 285 zcmdm0bEcZLfpzLZ+l{Qjj3Vy(p~b01#rhSg8KwFzsm0kP`30LB85b~#RAG^soM#g= z`3@8B=FKegS@ElQ!llTwJRBAa8R3Yau!5bcHsGB4SPS3dcHOzGqxmE}wsK+9Dwasg?u?LYJjnLuKB aMzQb`W2}erTQ+Z#n~nK1^OYWiMa{^Mfu68#l;G~ zi3J6jdFh+87-unQP9RqKB1s2xlp=v zvmxs>R-CevmvWzG%-LMXQ^LZSGkL$E%4RM>EhZ>4Qg}7vpW3#DH Lx?uAu>ncV7Rf&e5 delta 545 zcmdm0d8CT9fpw~-?MBv2M$I(+(BjmhV*QHLj8c7<)Z*-t`~v-u)WlqcfTH~5)Z$_V z-^7A~%)Io?O^kn-H0KkmeDX)Gn$3Ky=UIu@viT#I10$o(W+R>w7Dk=Pjxs8nPYY-< zL77s*s~IOx6A{^bTcnXma~%opD4kp{Ew=f$_;1p+?Pbc)+3YBj$_%8z4mvL%%?M)$ zE6#_wh+Em5NpmwPF4}xr)t;F&Et5~HN^f4LnaKpR-a$tV?yP?Ojc{jW8qR?@OU`&6 QyXFiMoK>*d!MchO0QE7%pa1{> diff --git a/docs/build/doctrees/features/fflow.doctree b/docs/build/doctrees/features/fflow.doctree index 77d54954ea108170ad707d1bc99963a8569af2e5..a9c437e65fb1b5cc7efedc84d8e83734e15aff1f 100644 GIT binary patch delta 102 zcmZ4Ban7B!fpzL(<&CVKjEqi`9h5{iS1_(-Vk`qQeOVmYAk4|WEa{WwxsNdBY<|MM wjf*j7@*D}3&HKgfFaky9NNi_h%gD))^Jd%}F7<+)F%_g6s3maoE~PX^0Hd}cFaQ7m delta 244 zcmX@-zQBXEfpw~=%0^aCM$K^j(BjmhV*QHLj8c7<)Z*-t`~v-u)WlqcfTH~5)Z$_V z-^7A~%)Io?NsMclG`opaKDmM`V{;eFEmq>SY_8zaVPw?Vyp($z7o*PPSP7NQ4Ptjd eBC!(N87H#~iEP%Ay1}klMS>fGHfJcMF#-ULy;gAm diff --git a/docs/build/doctrees/features/get_all_DD_features.doctree b/docs/build/doctrees/features/get_all_DD_features.doctree index a15d9bfa394f7b83b30ade6c6db818ecfc742fbd..562809dd0977da071f9e740e3fc684899daa56d3 100644 GIT binary patch delta 192 zcmX?GdcTCFfpu!gMwT2##(>F%j3S$7F}`GCoD5=4{$P>2S&H>4GlDx=idB5_T+ZE$ zIh!N7J~IO;U%r!!j5(8i`4l%>2rOb`%gD))^Jd(9PjEjI<3zYACZf~W5!}fpqN0<_ zWM{KxePm={0O}RrtR?5e59cawo~gTr5s90jzm9RTyp-r>HNyq$jE!J-ez3U92ml3S BKvw_& delta 316 zcmca#a<-JEfpzMkjVw8gjH#0g8AU`wQWJ9(0*dmJQ;Ulgd=m=_GV{_mw=lk9VqAe! zesZHl-sTT1SD6W@nf!r8d~zJ;ZbqHWQe2;z8FePFmldDvz{Ry$pKk>tggZ&!YqO<5 z660icO_9wT1=lk%F2if@>Bb2{Me+R_c Siw1Mp8K>d2c5|b}Jw^bE;%~12 diff --git a/docs/build/doctrees/features/get_user_network.doctree b/docs/build/doctrees/features/get_user_network.doctree index 405b203855735bf80e865b12afd0c227fa93768f..0ee6570133eb86504a81bba257a510ce68f1f27c 100644 GIT binary patch delta 199 zcmX?Da5VFflH~ zDL;9xZ06*9+@hPgSi{)}tGmglvv~*4IW9(>$q70tn^%iBF@l*Xn_%2kMnVyGUiNvBcQT*n@|@cTSiWXoHyfU7m*k2jHw{)Ks|w*m&>Fv0syTRAou_P delta 181 zcmdmO-D|_zz&e#lZX>HFBV+hvMivo~kkrIng@B^`eMig3P@1%}I>&m>BzU z%1`d($l2V$@|78nn$4XY*O?i0HYf6UvjC~J0!tYgbtbPBP}y8A)WtaYlCa2TagiJB SlUPKtIss@!(B@E?G)4fRmOEkq diff --git a/docs/build/doctrees/features/index.doctree b/docs/build/doctrees/features/index.doctree index f8e916e8cadf1f313fe28b403cd40a9e4b1c5b2e..a3a0f181bacddce6e0f9cd27d8b03f2bcc3aaae9 100644 GIT binary patch delta 39 ucmdnzyV94XfpzMQb`W2}erTQ+Z#n~nK1)IYdGgJW;3k|&h delta 60 zcmZ4KyU&-UfpzNUjVzjsn&JAP#i>Qb`W2}erTQ+Z#n~nK1^OYWiMa{^Mfu68#l;G~ Pi3J6jdFh)S88cJ?m7f)e diff --git a/docs/build/doctrees/features/info_exchange_zscore.doctree b/docs/build/doctrees/features/info_exchange_zscore.doctree index 31e4e4f94c7395313ca317430c07797c553415fa..96d9a41c49ad9f39b1f5f2c5fc4c77c82c9d84c9 100644 GIT binary patch delta 103 zcmbOob26H>fpzLW-Hoi-jEsSk3mHW=&tlYMW}FXZzGdNIgD@w*Wtp&fGxuFi#+=O) xMfY$4DL;i@jEp&x{S;I-=PE5_WXs6Okn?8TET+Q7!PpGa4%Cysd8ZJv)ZAfpw~Y-bU7JM#i+sg^VI1A*qSE3IRp=$*IM~3ciU21(|v2n_C#Qm>IX= zl%M>VYvSf$)*4nkYBoRS%Hv|x*&HOg2So8J{9w diff --git a/docs/build/doctrees/features/information_diversity.doctree b/docs/build/doctrees/features/information_diversity.doctree index 360850465b7dfddb0627112872c3eb8cec05e329..c45643409c7afa5b7583ee094071a4310d113bf2 100644 GIT binary patch delta 415 zcmbPni1E__M%D(_sp$zDS+f}#gC-X;ifo?6$j8h$1I)a{vV{%8oP3F;bF(GSG-k$} z%@_C=aWLjgzMv{OSwM|@^K^*^j0o=J|8B;c&r78-P8Q}6-s~nbp9yY2(PRNt@yR~s zyqlNGpJzc4-p88N#l*m{`GRT)7la8n-pjzA2~B9d(RRkk2b4rNmzk(DF-`$F73jXA z$vvh5n?21FSx|*0huN%R&DzewzyLJUd$X^tE<2nH@xcNYOQ01{6%e8SZi^Tvw^@pA z-smC8#5fslg@eD)<_d2eW)z{FtXU0gVB;a0BLHqsiCh2x delta 543 zcmex#fN{nlM%D(_sl16BS+f}#(7hgvS)1O~sq_39@i=qT4Zu zWey&qOpGgVTL$vz9WOg(0%|7T@e-Q6*$?VbmCeomUCb~$&4M>V-J-HtAap*&-V0Nc`b1BR1I&2^fBmm}nw|A4VZ6h%rV(R|);DoxC_~4v&rAGb_b5^*kZZp~z$TewxFPP14IRclo21Wf# zt!w3qOx1*_+nW%r@de9CqwXeWG-b-d--gYvdOgcFve;Z>qTmY0h6jXESLBdu+m`-~ zt|8%AC>RO5#v`MH(Uj%t+b2GFP8Dd$Erz|072q-%OT>235nl?_GASns(Ycktjuj^f z2h*0?+#HgVBih7AqC=d7663FMbH!@HgVSQgvCDLXv@tP#izG(Z!5^mGqyx5?SLqw& zB_5{Dg&a@7R_#HR3+7EYlKcQ?C(u*pF_y|=MfiygP#fH;w8M0MD=CN1^Q*`Nvkp$b zj>MSHiWrl&iz?C4DLOk*VJ$9HO(!N3UQr`zS@vlw?6Fjmchlo~2jlW_v=5FJSC`XS z)S>-2oTR&%y&H57emY~Kk19dOq@ZJR&@nhtunGOMphu;k^{JqtqomAG$ZXhXzPx3U z{=`RMF63?EKbX6}VgusC%ox3tz~wqWxz2(tl5g(x>C%+nkiiX0r1qNZ!X6(|62v6)yU-K!0GU@|Y4OV_|JS+sl(8_F$5 zYh-heUM>cG%%auG#b9;Oihp8V?!d+RQW&W>YQ@|5djPf>N_1s=6JFX!;6{CEbzD0b z89o>aCvYJrC$5VO(6NaTAwjor_^TfjqCw?9`LLv%BSRQ+GcV$%+@kT***WAQc?~6b z7?#yeHv4?kXaufI2(KIqClkXQBQqGi;-$;AdwO`BYkN2IrLOjfzh0+q1Q1c_<`@?=(lj*V@bKzsT7;KDymUQXwvaB zAjm$k0YT*1fp+6z4uY+0L*69Y`kwkwhfV@5bLSpcgfSrk%$2Ri^WIUhGcSWh;c|r! zCd$p2$!vQydWEdBZ?7SZ2&hIT&P6IYtw#S1&|O#75ny;6bQAj^2wbmYQ{*Z<{tp%$ z|7?8FQMsD*qQ~0x3LkXI78RrtC14w7TB6oxmb?;)oh8=R(5ng0It&e8rGdYv>%RgUjq~ zxrUSf#KfFEi)miMG!Oe~LmWnxfhox_8I+qMsKS%x(JNQQ0clGir!KbTb~1LN+hi|` z+!h6JudcRK=?=46>bLanknYYN{}ic!YyJS|Q8NxSC~nN^=W)YWdqcXL_C?&}1}xIi zuOa;?t{i(MrIqk;z~p(#)!DnGkAZB_k|s9V2W!P^k?27-Lg`ae(v~ zpeZ^?=MGWg@;Ugf-u~it6qPDYJK5}QL`A!v%(`(lLwlsLR~q}IafdYSl*U~+!qHM| zvbW(1M=m9c*Zic?0<$vgJ_kC$?|3g z#|1Rt=I!jUrj>5oIw0+<;KNqFq=s3tiMcXZu?-1^!xuuW2JWr0!GqRsxa|vcUq;

FfG`|PEo*u10Iybpuzz5fFB3Q>sw delta 3858 zcmcIndu&uy8uy-g^gS(7t8`{Mr=^c6oj&Y?+Jb;edo>-DkUT) zlXK7g&iDF#-*>+6PB#7FyyHd3YwxUo-w{?6O&lbRjgy)hr8|@Hpr-5eS85^=j?IXd zlq<^dpFVzl^}*~9T{-2nebUujPFn8xM)}k2bjJj( zskTdnuR3XaxyB5u*q32VW;r$ch4XL3RbOuCY}MBJ-?vq7iboSEL({3jH2TX&cW>ge9q6zE1BP9UdZ^Fn_XreW@FwRtYt@PnpK%qNiC!$wOCNgh)lP|-XO-0o4>Rnhb@sKPP zn$k7eU#uMZFb&32F#~8prW!P&#byjfS5bfQb)H!gR{jCb&u+0`P=?EiWx#91KWYPY zY(4YxYUQ4LARKlvTyt1_T{}`qk>F(kalPi>$~Iu^^=(0tn{R}NOaY<(VomXlB2f2? zq9SMIl*PGMG}QaVvEEwomyTW~C^}sOzNc?eqI8$)P{ep=o3c?XxHiLj-u0le9(1g% zf7p^5m!|nTG121{Q}t_=t>Q#|w{ilFZpyj0AbB99J({|os5!~=dO>-YS%0c*fyLkTIe&sr#7;dk{`EwT?o;5_r|CZP$+jtAA5X5k={Wgdm*ug+*#&brkDX($SZa>thmEa-YZBsjfzO`C@4wm_e=FrdD(gY#F!B-#zSJRld>}s_6 z`K;LA)In!~Xja6hxiOc}GCTs}X5|4*59Z#pZ#A_Oatyumh|3SO)E-4VvTHBZ-hQ{@ zG4e-C@c%1H1^G$Q-TXTF0MERl-rJ;{7B`wVkWVb;z3%%eKSnEVep<}A$I0gw{jWg( zEKk4Urpg{s@98H0!c&YK-fpKbJo8n#3vdY|vm6cBPlFsp!6VL8))0P5?DFm=E?dEV zwb<|LtYXK(^wDyQAbeVGMZbSp(x2+X-C%T$Ejp6EXVvk>{ zZZ5Vpktc0<`L;}A$h@54L(WJ(fm=Byc{7ym%{^!FKD2k`2uYy>L!(KlvDk=i(ZR=V zA^Bya_Xtn>oP8^tiWAKN@+#^JY{@ly6Vxs;i;%ozvqz1dUbmR+aFe&B)~ejxdK072 zk{?`a-v(_ZE#E4Ro4bC&ld`UFim}d>iYfMW&JoilzIF|eBQnJKiFQZ=$N}Bm#bBbH z=^7<}m;U5O+PTG1B6&%aIMT>>W$>=%;nk6kY~pOgs+D25F252ez3i49p@T676u*{CR-c`x0`Ha)Q%O^Fl-0(<)iHnWE-C42FYeS z)^dK3Ap4!$!9k)~cBXH&;}IRb%b_2Q^#;gu$R+!c70hn&X>UVYaf&QnEwkubZjk6@ zexf<_voJ_79#;HtkU$rjz$gct7qKA`*m~@K4tZ3Ynt#C)(7xaWmV>x^7nJd2VW-3H z2sh-KlIyHo({g=Qu5;Om{_{k+kR2HOr>*ltRFH*5H>+Z5RKw|{!=DI_2S;?)3f+@u z#n|fYm0b?Zhk4t7j4wG4ff0T*+coMXWYSSg)`UY|x#MF4D;`5dZdPlRHd_ZBh(JN? zbO@#0E&e<9B}tSBM)QKphByaF(;f-Ow9IzJbn5X`68_Q1Z(IC6%PE$h`?*hEp|08W EBYJs?`~Uy| diff --git a/docs/build/doctrees/features/named_entity_recognition_features.doctree b/docs/build/doctrees/features/named_entity_recognition_features.doctree index 55f5baad3db5b183726b8d3ed210d22e79ceeac9..ca665276b14ba2e29b8ba0a25c3313706cd1d04c 100644 GIT binary patch delta 420 zcmex)hjGZe$-8Uwe%4f01b6a&R*}tb zxD}Zgb2jtwz2s!fnS8)OWwVTg6;K4std^R|$d-|lA?MAwSwiL-6XQ0RQIn^t$Zp;* zuf&27+B{Vyg^4-q9n<8-1nJ2?EjMpIt}es|6;Rv!Uw0=XoO4fqKI3FYCDF~jh9OLh zYoMlfPu^q1KY5S5z~-$cyP461*Q>Biwz6EpoOOi-WWna2mPdhxgE?xOpEzs=8V=>` zby~zY`I?#N=6shZCdPG8!{=|FCPtmj=XqapGU`nJ7^JfKuDBIY1kALNn#nkMnY75} z*V4zB7*FG~se5yPygds6HIoD6WjA}PxHBQn#mCnLYu{-CUdd}axgGt$oXyFlzfJraT7idb#0c(>0<-{?`Q1& diff --git a/docs/build/doctrees/features/other_lexical_features.doctree b/docs/build/doctrees/features/other_lexical_features.doctree index fcb6a4717534321d6adb651016245a2525e122c2..b288c50f6264222b79020d02555095d03bef5c63 100644 GIT binary patch delta 288 zcmZ42z__HIwSjf&O#6+j`HYOglOKwSY@WyXg^6)0h&kEOu6VOP>nCOecd|aK@aBu0 z13YIcLnTv(G7}+v%GUU7&HyetqXJT9mH>y^A2Qz{@xmH|x z^H=G6OsrV~ObiTQbAHODGb3@^lyZ?}B~@22PBxSj-F#6^iivRw%-qS6xrAz+>>Rrxi%M?En{bF2Zw^A-CITg D&kkN} delta 554 zcmZ2dzpjCiwSjf2vcpE!d`8U-{m|mnqGJ7u)QnPnm(=3ylKcYwkkrIng@B^`eMig3P@1%^i$inKV}st$ZR&8Vm8tCr@N)-#m%4fSFNeGc)fZAT_yAPG$2cfl@{& zGexM2aq?DEkLnfvSoy~=E-OM1GQE4KG z4|d&dl@$;t)u@RvX|5#6Nqy>kn>96`lA~>@&JvgtCL8nGY+k4T1IFKc-YA$6<~(nc XIbi2)GF!y1Ifn$-m2B3st6~HIuiVE4 diff --git a/docs/build/doctrees/features/politeness_features.doctree b/docs/build/doctrees/features/politeness_features.doctree index 6b3321be25043107b04b786be119e6190cb36fe5..565083754d1c08a4e987739e6ae3b873c38d9206 100644 GIT binary patch delta 160 zcmX?R_r;dAfpzLjxs9ypj3NR0p~b01#rhSg8KwFzsm0kP`30M&GO{p>%*G-!S&XZ9 zvp?%R7Ob+H#kk%vG3IP$Oz&dr4;zrhJMneMig3P@1%_WSdnHcBb zl%K4_UAg%Tiw_$fHJf#~Z5bJLHfQl{W@pryEGVY3*-7LaNJLQV66548;v$=WioalI O?80YD(&li5G)4fiK|F5& diff --git a/docs/build/doctrees/features/politeness_v2_helper.doctree b/docs/build/doctrees/features/politeness_v2_helper.doctree index be8c27ad09178852e4c080f0fd751f8a69c7788f..804fdf02b0fa8c172195e3f1ea1054c68934e4d4 100644 GIT binary patch delta 2229 zcmZ8ieN2^A7{AZG_Z7I8djatkRK$xP7%U7aR3>TKhbSw=8WoyhiQpX|Sm8%0lsacA zq(^*16G+>%AQ(Q@JHuJD*&1!mG1K|c25fB5T#1@ttLQoBJ?C=u{&jxOx$p0Hp5J+% z=M3J{T81=dwN?l1&JuuJRsrMiFkH67UcO{2lFQMhwK+y1b7>w{5Y_=D80YG8KnWZ2 zC19wx3FNXXVjr;nG0|8Ywb>2_0yJC4U3QE@_FHVL<{tu^jlPe;_6Z9@EQmwCMhNUA zuv@9Kuy<-9uf_9C` zF)#}cEhvOA@kMcbHsHv@Ogq#H=DwnhEPjz2`xYP79t^R>r45>Y?HE$YEzLsjveIw~ zxw{Q{4q$c9>Dc~qvK>Ad&Bh3bFw+6{oLV z2TWh3lnXz zjvWkn#7g$$mI!vKF%qNS9dbMr#wtqr7q?9LNcHtG67rPmcefC|*d@pcDxboWd&+?2 zZ__dHqiE$Q)hC;~*MmL#t~#WnGQj%~=oJ+7^+(F++IUD@ zoBOCw`oWukd0Rc$-RN>yzNiq}alA?M7e!c}SOs_fb6#*NhSyH;f>V%nMWo@CFN%P@ z+T_M(np2fmywSX^8OkF|GM3$MKce}+jSS|WgPdQ*F#DUW#2CRGI-X_TF<%g z%Fh!44~y<6iAG&!GTgt3=sCoSo1H{0c6b$W^LPJF=J)pL z_}?F6RR-N771(^+sZLLjHQ$b8`S*ynIL0y`WB*E_UJAhCzl(`lLD5Uo{vm_X?&?_o zZ-gq)?veM5TMlr3y%G!vt1~v+#E7PSOlo}1+snKc z0$C)duoyIEZ5R|n-BoZK*8yCn(+zwc+@2$tlKI2+4sSP{R7fA+v}y|9loYRn5p?v*ypA zA|>LN!EBP?*vx$%_7T0>6ZErlIK6)f(Vtij-XJD3=S8>^gbl)x#?3sQ!B;+uUJNcX z=@sCUMFq_TE5T1X3iFrPyuXTjcJU?BDO(M?dNTQmx4#bIX3`osrfNvJFrMM&6sGakCtbg}@Fuwlfi|3nG&cK`qY delta 2933 zcmai$e^69a6vsR7?FtJmyT}64NbN3!q(H!g0}?`7hD{V@k`^NoAx3~aHff?n9I-LL zhUJbtMjA3iqIE;pOI=!<@y9fc(ewv2VPnPESd?T9HPtjSqrJE9-RtxR_wm;o?sxC! ze9t-ep6ma^eDxo*sm*+7eZW))upLR@a6DCAS??@u+F4cY@i?UwVOfpomjT@7gC6Alc?RsoK2;izzB zw7hx+MB!5@;i9qFuT#;@!9BQp)t>^5VkBea|4|HO>QT6}!v#3Xi=qjiye~>L&>%&F zp3K!#;KDI^@gjwn-e0c5aiCyKbKY8*CcqGn=|RsGN8!SCht0;i_f-x|72~pv^|w>z z)y*QHV3`A(pH30r10JhG?n(eFp5FR1PlzYW@77c3!ppbiGk3cy+vxx0f=Lx5o(+Ji=4vLj226?fOjqOtZkwK`n)(-LYm;CY({fGQ3YVZ5tB984;SHi)rS&?5_2?e|CD90OWDYd+b zJr6K$dtV3ThCIJ~SogfpZ#T%fgu4gg4RS4^?t!If?I3ICn}ZT7c<(ShOD@!D%f`JU zHJa}@pW7hc>b_Py;ZHNjcSwgO{E-Nqq%nlf^jCpfXZqK%7McUC@lJoFH{P1@BmqVi zEj*TjNhZ!Zl7jnD`Wcq^*t0uX;(ed}LZNv4La%1LW+Ik*lX+)e#g;G6b1yJOgSJc# zDNTl9>I~z}e&eG&G=3oy&tB3!R)4pQS7_{=$ujW{ly_zy+ImIzcnTl?(aM-Jb4M6c zE%5X;y})I^NAY~hdjXp8+`NfrG$cZE^LEt!7cDJ*=|poJhmBtjm;7P)}VZda%j#E}GA`w^53-03ZQbD@P~tN`Vx zFFxZ#Dp^s5%kwL5MG;s9^(=}9?}Y(oesvZ#Kb8$Kytj+GbvvoZfjfDx7ow={qNOL( zdGIFV?k|8IwxSF+?W~h)MZoXE$_=oWbghSTyj~@WinSa$`Y>cM?)68Yj&ilEfAT2J zdj4Y&!P{1z+@!!SmBJOCiYO`uSFcslvl-aEN_<JB^s9|6=I%m4rY diff --git a/docs/build/doctrees/features/question_num.doctree b/docs/build/doctrees/features/question_num.doctree index e7523935f4502d274bef898413379109e0dd1735..d87d7375cc9fdc7317fb1ff9424d54dbcb944b16 100644 GIT binary patch delta 159 zcmez4vdV>}fpx05l{Wl;?$yI{fg9#Qhk@y;_QXu0R6)`iU0rr delta 183 zcmZ4G^2ddxfpu!(MwTc>#<saxq*}RQw4-=!#=3-tZc1E4abH!9P&k|t*iOdz-&Nx|BLS%E6#4~or O4t%yGY(Aop#s~o49zR(C diff --git a/docs/build/doctrees/features/readability.doctree b/docs/build/doctrees/features/readability.doctree index 22fd1f5fdb42e1b019b289b83b01247cab199434..c9f3f02b5ffadb51ec8f5b55f314196ac0e2dd44 100644 GIT binary patch delta 397 zcmbQRneq8XM%D(_sdpkavW7A;dQ3Ky5!u|rc#Mg$6U3a%#96iZ9m^|b2zN6Rrxq(? z&SqUc8z#n_$qQYjCf{-8+T15Fff2!-T&2sk*;i;S^F2wLTDh`a3Qzb<=zft|p$k+%oY4Qg(fz34< zCz()%Cg0Ou#hSH&8EhWJfOR?o%xFSS^otqMglY}vFmi%5X2^LnZk9C`XJTxIS{651 z&qR3hdDBuBG@<)e2e??Xm{}PZHZOF233NG#2@jSHKDj_!P=uWQ7BNnqY9YG$tN#Rc O#zLt1v731!S{MOYQhkE} delta 695 zcmaF9k#WLiM%D(_sjZP4Swk5$WA#IeQ;UlAD^fE`^<7envrF;|^g~h;a}@%L@{?1G zixqqm3kovx(l_TZ9%s^=N38P67fj+O-(iy6e30cWGa1^fI5)E}>TG_;Ys18-Gx>p_ z%4UCo35-CI2ZFa5C!6buY`!R*$)q`lB=_ivif=w5CdEp+w#gYXtC%uC4w0HH<2q^c zVOf7R2w!EhwTc7dE zPiKUPscvR8oXt2n%SdGNRwH&M%^AeHYx4z@=Pbl42S#-1W(TXiTo7xeHp{r42L;XM m58e}@PEpys%6AdtWKUI*&8hx9?3!)FIt6HU+~(x)7DfP_wEuws diff --git a/docs/build/doctrees/features/reddit_tags.doctree b/docs/build/doctrees/features/reddit_tags.doctree index e9077c6a314576048ce0341eee99161832645653..f1b3df0b5b7de6f259be9c7d813b12b3497fac4c 100644 GIT binary patch delta 1113 zcmZ9KO-NKx6vw^q%~R*ij7n->exyT!B_sxt8|1qD7HyLM;k~f(Sb2zUNHS?*7hw_jk_wbH*1X{!vl_ z%GF@#p;E_KB`+|gz#yBISb&bauf)Z_ODa4!b;{8t{w{ujd11`lCNnP|EzE{ITPMS# z!&d{V3H2=2oZEme@epX4|v@>XLKisM38!`@v#j_-JVt6m4FR))B2+(mI)e zWL`{nGqd=Z(~ERL)&jDTDffWnaQC(I%1z-t`GYN zq&^3Bx*6B9E!=BYVLtC0V?D+%H1Y=pW?q+U1IMn{QdIelqK%mh{hQsSCxp?$AykVS zQhWEH`e}YDd@5RF;ZR$lrTB|UN9ZfD;)^AP9+&Qu^`i*+Yk7}xBZ8jaPjS$PBI}$= zv&7DYv#zdAf|m!^qDyxb%^znB>93(74YWi3p>~uDq(L)kNlqx_gNJ`I)*Y5RkE$XC z`;m|oRi0L~7x6}ezGKutM-2It(}N8JQiJr9n8d~URJh!L>RwXAoa>UTANicCjlcKY zRJ07$(5*I+PRGJ*o@YzsY0Y+?RS^f)<}y^%6*zp47@u`p_`OCIQd<77NF*@X)*wfa zk91%hEfz!n*iU*LaoX{-{iqa3)B3t_+P&=-UVKJ{&)xs5gbSR36gj*KF76CixV0ZA ze`Yn*IRm8D5!JE54pa*y^{Wf0UcyH!y(*LqrAcgfJ!e=Ro{%HRmxs6V{41#5m|&pF delta 1531 zcmbPypK0bJCe{YlseBtZvW7D<#!eP26cGtYP0UpYD9TSxEiP8@O)MzL%uC-~z_^-; zaVk#v$&O;FllwV%H!oxyU%Ju?e^Aw#mG1r zpN~^FuhV_TL_p2tb-LV>B@AaHS!`kiw^+h73uf^(GpNNO76d)Ld9T%17D55D*NS(t zg#)t1A&zj1EnMng7IV2lE$(pt$;dbZua779d+=^%_xjF6gu2NszVncLz1R3o~DQlyv(t6PcW6xrt!%3u!ITvFKrv)rc|YWb-e!YN$0UWA!Y3fHaYo_w?kIiWplhFg5Jtqf%G zW`_=FWb<~3Gchj0AKr4^;+wbhv@#Q+Zt}?qP%m%pohZo+3I5GzrgXr(yJ8yDyJ|C7 znHcBbw>W;D$mSih^q2{&TaOgc{qy18EnZXuv)FkF)Z&9nd)OJXVb)|hW~t4_tZP_Mg(mlM z?PJW@?8B|h1f&XhS2MC@@Bo|6~UdnL}CGJRyQL9!{h>9 z@y)T4o?LLQ;^b3~-J3&H*cp+8>Yc4N?@-NVoSY^qy4hGgoQZJ?)acgDmRfJwAl%IX zhBuj5v#v9P%@y11Xp+VY=PGVKwt_qMJ=z=dd%@Le0zEoa|f0 F2moXbTDSlJ delta 422 zcmcaShw<)QMwSNFsh2jgq%bljPcCE;5eZ36%vA^|%1=%$E>`eOEGWp#OW$0>_=Sma zHBR}-je^;m-?JQJA)sdRdluQrfn2*8bvE;ID>DHpL*CVllfNs9Z2rVo&BV9>rwyAM z1r6Bn$OBzaJK0HMHdBVqWJ6x@%|9hPxgc!C$-a)=n?EbFGeY^B6;zipPVN*J*?dne zn2B*EPCJ2SR&3s@`J0V^n#p@L`8Ed`hA=@a5ZipvIE@!(nXls{n8lM7RIN7KJ7+^I UKkPDtopBOA%dP50QxhL5&!@I diff --git a/docs/build/doctrees/features/textblob_sentiment_analysis.doctree b/docs/build/doctrees/features/textblob_sentiment_analysis.doctree index 5b6b728cc341b339dfae1dd9da5652d1f3348e98..fecf54cd40fc6d0062e181b150680f0e245e4af2 100644 GIT binary patch delta 194 zcmX?*c`1XXfpx0;MwTi@#)!!mSwuFkVANn{TmoWFuH&4#xu5kYl)Jf(Gn9=nXY&>Q zUCcnLUw8#0W6tD$VU^7>qB9xUGIBEHycswD6x+naxB{xZX|lhZ_~tw*Q)YzFW`DWu ztgKnqObiTQ%{nS>%t+iB>Ya=T?&KIzqs^6?1&os!Wkfgs)Y`z#I1y@g?dAaE0!9EU Cgg=x3 delta 312 zcmcbVaUheWfpzNEjVx7+jJcBojYLF3QWJ9(0*dmJQ;Ulgd=m=_GV{_mPh!+$X55Ke z{ya-G3m*B&=UJw0zQTEcl~HH&RQ_GeKq^3Z1tX)*d6AeNj^c4LOI&DA>@q3p@BqDGsgH47LgbE%1J UUZS;zopBjH2h?qTWK_Ti066JuJpcdz diff --git a/docs/build/doctrees/features/turn_taking_features.doctree b/docs/build/doctrees/features/turn_taking_features.doctree index 9e6183a2189dc58b60972ab1c17d9ac33ed8747b..cebb086db675f3d6a7969a2014534f22ddc11e08 100644 GIT binary patch delta 318 zcmZ26g>l|wM%D(_sgpf7vSu?f22L(y6xlqBQHq&yHi$X-l6Jx5dM=sGS*+D8C_>j6 zb2f)_Phn@wnOqc82gb-Vy2v>pZF$0pm7i#{d8T delta 430 zcmbO?nQ_GwM%D(_sj^-hS+f}#(zp6iMar?L-274S6e9pr&nQO# delta 127 zcmeyTwp*R0fpzMJjVuX_j0uw$3W|t?q$cJn1Qg{brxq70_$C$fpu!cMwTW<#)8QWTp}VNsfoD?0Y&-Asl~+#zKI0|nR)4(XEEw9Gw#MM ze~V=m6N_JloZsYJ0lm#T*pD+Yp2Vqo@-3Fm$?}|1o6WclS;4wC=L#%gXIz6%N6Y4w H5?PD@6)-(C diff --git a/docs/build/doctrees/features/word_mimicry.doctree b/docs/build/doctrees/features/word_mimicry.doctree index 30f058dcd7fa25090c6df21a0f76aa5a746d543f..37cb95d01741ca3f65c9f6926081682ffd540783 100644 GIT binary patch delta 825 zcmZXS{Yz6(7{~XV-RpIZD66d(v?e(s6r|NJ(L3})Ewo@MVL4$^dbx#{(V#S1Q8LqB z>`*j}d0B+LNMKJYB&@P52tw_r&|eFJe(?_|>N#h3&e3nr=Q-zmzUOW3FMIljsd4pQ zDl@E}064_=_*P;9<{5O$GOf(2*^;M~i`?h_00#bWYb9WC%dEswZ!g&8#Hu9l_r)vF zSku7Zl2}e_nt8ZJez2*VT(^4r+`^4djhVvHDP7L20DdoiOjR7dML!k5Y~nb3K1wnGR=n> z^obA*L>?&Fk_RGJd90PL=8?<38olibNhQkXY`;lTfoPd;f$ux*!S?8S2G?@?#q!v^ zl1E-1E9FBSq%_>N(&~)5Y!u3EU0+BkM=djiCldzn`U@WX*6nA|wV>_kolx?~=lWi& zdUA<;u9_1=&WlLx~9!`?h#t`05k@oX#4=%S{3@%Hp_nRQ=;p o@#&ttBc&+iE1r2dLrNP%cgSkWXb@UFFCoc+GumSVir4uud?}<#%!pZ%I1Aq z^BE_fY!=yEro+a>I18Vp8Iv1yc{a1??`I}L-DGd$Rmk?cnxwG7?7w8S8)pAxE;X*r z2W%!m+>mW2!^AirpBoZ4|8Y3XOhC=#KMvB9{au&C?2~s>XMwTvy$WG=Z|3xw39)y# zuQ?OrQoQy~Hb`WdeAZ8D^7|x#%~J#3FcYg@Borka_`(|D;jkm78|IeD33ClL&xy-{ zxJNO;iivR9}R zB+bM)6R#UUVY1o2^aBeK>L%Nl3Qpcx1#`>hy6UBzusHE)J&WRoqIReozIP}xG0rCF zhROds1tzoT3vAxly@-Wa^>-#9#mj=tE|XZ{?kSpm6y~1I33KN_;zV>lD-+`syl&at zzieB9E<&e(y^{)Ek+_iSSX E07G-X6aWAK diff --git a/docs/build/doctrees/features_conceptual/TEMPLATE.doctree b/docs/build/doctrees/features_conceptual/TEMPLATE.doctree index 2c3e63df40f771752c1fddc1162c867832d59e90..d678f50dee7fb6aa179f0cced0829b589b3c22e2 100644 GIT binary patch delta 39 ucmX@-vD1U4fpx0hMix;4z4l78UDPq-K=ryQCIpm*f|0PGbxV0{}Pw4#)ri delta 62 zcmZ3qo^ktnMwSNFscSZ}STbss>xUMn78UDPq-K=ryQCIpm*f}dhomOvDg+eeC#Mz{ SEBGcB6lCV5Zw_P(3`eOEGWp#OWz#KIKc-1 DoX8N` diff --git a/docs/build/doctrees/features_conceptual/index.doctree b/docs/build/doctrees/features_conceptual/index.doctree index 7106ee2cc105c8a5b9e45390c557741404c73422..ca209bb8539ae18bbe133a781233bbe8f80ec839 100644 GIT binary patch delta 24 gcmaECe9oAqfpzNPjV#)XjJ}f%7)3TmGImJ-0Bte{uK)l5 delta 45 zcmX?S{MeYKfpzMQjV#)Xj7gIX7)3-vQWJ9(0*dmJQ;Ulgd=m=_GV{_mJ2Q4m003i` B4@v+4 diff --git a/docs/build/doctrees/features_conceptual/mimicry_bert.doctree b/docs/build/doctrees/features_conceptual/mimicry_bert.doctree index 94c390920aa1b619ceca8d5d2a1141a2119b938c..f7815022336650230fc6c70186e59aadd51eb2a1 100644 GIT binary patch delta 39 ucmZ2d&|kpPz&e#>Ba1AfNQi!DacWVqeno0VslH2Uadt_5!DcVUTV?{!z&cfOBa1AfW~P2UixNJ##?3pd+Zf` diff --git a/docs/build/doctrees/features_conceptual/moving_mimicry.doctree b/docs/build/doctrees/features_conceptual/moving_mimicry.doctree index 6025aa389570e343fee64d5d1e37bffa8facea20..c0daeea34a39daebb6bd15d364954859804f55e7 100644 GIT binary patch delta 39 ucmdmzGe3u=fpx0LMixazkud$x;?$yI{fg9#Qhk@y;_QW+;pri>y9`k}?CMaB9RsTrmEE~&-YCHV!LlNiff06O0e>;M1& delta 62 zcmX@y&3L1mk)?rk>e-Dfri_}U`k}?CMaB9RsTrmEE~&-YCHV#VA*qSE3IRp=$*IM~ R3ciU21(|v2n|&F}Tma9E7PkNZ diff --git a/docs/build/doctrees/features_conceptual/positivity_bert.doctree b/docs/build/doctrees/features_conceptual/positivity_bert.doctree index fd57f3d28c4949fc45836c40ee9800827e1029f8..ad35849828e74b9f4fcfaba8e4bf88d7d6d7488a 100644 GIT binary patch delta 39 ucmeCk{hY(nz&bT!Ba1SlNVtAzacWVqeno0VslH2Uadt_5!R7!)3sV3a5)H!u delta 60 zcmeyI(~-;4z&f>dBa1SlW{!SnacWVqeno0VslH2Uadt_5fqqD8Vy;3!QGRl2aj}AL PVnIP>UixNhMhjB_pg0~W?uScd&a}I0F1d6y8r+H diff --git a/docs/build/doctrees/features_conceptual/word_ttr.doctree b/docs/build/doctrees/features_conceptual/word_ttr.doctree index a9f3baff295a82d92bbd9c6affda57083533684a..4f46a08e16911755e883a9bc863d2de322030003 100644 GIT binary patch delta 39 ucmaFjbl!=jfpx0OMix;%*ot3~GNv2z5$-N6rKlrYM*UKvDy9sHwiVdwYPdVgndR=x zdLDcvaAN;RBPJ8HZnkLJra_)4+CK#f80Zsifg z+{fG*E|*JDavqfvEq7<`+^ZL-Q9FF(!f9c_<<9hyD*{;|9pzcK7bbmdl zC2hx#yPxY$ztMfIJC%-x_G%O)Va@5Ld(fihdaZis_}#0xIZo|kuN9SL2g9))E;-rb z?ofKTT(+v7Uw783ZQJwDbls7w-E_>32Sve+;P|4n~qlX zMDc4_&F=%17a}K&Dr=6LRGx97SRq$j~5l>Wj&~g~X-DJ@n zO-CZ97JGrOvF8rC!!+F~+#HI%xaAnP(vu6WV=bV2>uGeK_+HJXr>zByv+My-Jc$SQ zEjVk0(QVs*vdbiME%$xygYI5;V%~kve6nb}M}T4X7&^Nf|K5dv_u}9ESG$RO(w#>0 zhedPuA@@BO_VG+cfh&6{v^%Z=@Rfac?Ah~@(*iOaD-Ns};0KL{SM%(ar4TBn5H$Gi z){}eCI^VF?gJd#vEZd3#?jx#sAdnZuRx1dWJ%5Qtan?Gm0Ih0)zXIZL|1_Q*+p|^> zTFnIQBY+h6j^+8W6FO1s)bZ6?bYlFp5-=ZVWczjQ5>VII!5v;L0{9luH`jSI%Yd!W zkl92-Z^@0VPRp)2WkH#_EBkLgKHh%)*M3wn0?_*5B;&rbgLB_w?gVq)km5pc-+P7T z$z*3nT}Tgq5ELaMUWT3lktHEEU(bM<9~>AGg$sr#><2K9>#_f7A+VAN9G`?>%b+z2 zW^im=aQr9%&0^P%iE%8~2AZBJU; z@LI>~SdY7L+=Ssmy@dx@A| z3=)_ zV4GLKDhD*HSliK2fU4B87}HkTS^bnsTEpV5lD-~G$25}aFl%z~x%8DytO0?&Y0R+& z&78irMM?LV5-heYhgu%AvfZjKf-jd%LO(zvAi0?JvSD`>b^EpvP-3)Sj{2CrbabuV zIuk)`;M45yz+O1v3ce0C0&;UU()}&lUrHcS-Sp1L?WW@{lz)p1Ko#x{IV?npUy{1( zpfS5lU0hmlA*19ski@Tgt(IjcanOeSf-tt$^*l*Hl?1bLK+Dj1HSt1di@MWsV7+`8 z#z>i+^j378(f79olNZ8(qVEv{1O2r3LKq~AEhln=fV8+G>EYt_44B^^92nBxZ;9q? zQtmRf_mv7v^?9N4oE2z5p{~ho$Z)J_!ahc1HEgeCO@S%kgV=3odv*-0w!Ln_$Au=h zoG`>)*8JD5IX>7mbgHY)Vl`@CyJj`Qplw|SZP9UL`9W+o0{9~AweT}=pkO#~&$ilL z6p>+@|M0>EkYD(h)7r)eb&ZyhM}S!HbxP#dY6erP9+K7ed>htD*a>Dl=4)2>Qn<8} zCZHp>|jd!xRNIz<4tYaj@5%zzZKZ^s$$Yep}*HHt&sn{pF(!OxSpI*#DzUV*_TQ&s~h(l~^*~i?i#bk;46_1(y%kFjW^}rEQpZFhzUCU|z zGKD`eSqS`}fUCii)Y2}TGA*!S!cip}27t>?*nEgiJ-Biz@)9x6HSRTbL&vUXZpe}s zyUAi1=BVPg;$`u{IEpH#=T1Ee&r+BdIDl8~-7#w4e*N=u_V7700)7(FYbcfPn@YuX zw1|A*hDo3#>3~7QY{2Fo(8U~cYelA<*<45NN;;*y+3om2JGS44^k~|XJ~PAbQnyxJ&>uC?1A)fT<}ja zFnioGawtEA?##fET#r6}(CPE-P7ub{C5PNY_;48~@kPersIj5gsuj(YGmMP)C$IY3UmmDhs>ii{mwV|35VrBAYYzsjr zPs#{CNq@=!87fVMqS6U2&&*ipk)!Acz8WG0E9y8k4~ZtzSCc+6g|kuFx=6_%Myn0y zj#ELTSP_!1BEdxIqa>v4A3zLzd;s$updH>QeDm0~{G{Dkw;s1nmFLQHNF3E{iuJFF z%iM-em$sD+zzy`a7QPN=^B=Z(p zG7Z7`Ffk|QH%eO$3(}e{*yUS5a>d^lZ!$AwdZPJ3&B+7gMVrr3YpeMr{;o~s zV@d>_X%P%7^ujIST}7tjJq5#n>>~xpwzpMVbP20<$i<`1zijJ8nJG(0>7I@Ic zO~76{Rhq;9peIT;=?TNkZ85nX2G1jggYF#@22TM#mwx@nLvLiZrpTO`rB#_OW$tOd zDwkjxHYaCmP608jcek+4NB{AuYRz~vS}5LvjKuANerihT50Xk$kv0Hkr77S<+c zVMQXRbpa>G1e8F|B^TH_nd5Dae_5*=hL?0bK}LNFJ>EPA;!Q@QQVJKKyKfe8 z3{~>UfmI3kNa^i2NQ}r;eCx-O$j0<(COIAdO-;xf$%Qn3wb0+znwi8B>5!(z<-7ZG zS|<5LkO!0ei7g~Q4WDd~lR}~)Ts)R5GiR!D#-=QaWF7n~YVGHiZb-g)VMIEiQ7!a3 zNa!Ku$IBs+$bEr(ei%b%c>LWRkxFS$L?ha3hX`c3n;8zs3+vemrRN+w#xmAZ36}Sr zP>J+T9uaV3@IL|AgQa_hJG@NREv9@P&QBo=INpb@XXfEm&zwO7@%(vcWWWs#z1{(l zkw`@*Q!MvVDmJo^M;DqHCS!tafmkCet}aaQlbc$UC_sbdz`8$Lz>lW9{EFQ|AW^nH z6s%HsGOI!v&iBk;To5o3*R`|p39y+NVqs*zlNO+an{Gn7N=(|D#b>RSw@eF+UUWv} zBnP75%#2FujHdgYcE`0NFEai3VS!0S>wSb*L-G9GPPni6EoyBw{~CW-@BY!w3H0{s zU+6=kw_pEFCQ^@92AR0kZV6=|f#zds-@GM#^&KavB3AnyWhDb4-zgxZulZ2cSaXG$ zxM5x~aXXlqn91pe?3whGFb*Z{35m2yNhTmlMgoF;bnu$tp`VtfrSSBbp7{%sX7PBR zED%y926Ttv)sa_L!Wuo7E*Qxrc?(Xhx>e}bEYP8(4wL=kdTb)E&4Eam551&dUrp;p~wQr~qzPnD&iPGL0U ziXX2$M!c$MMeBZSuW6s-M+u}1?-h;3LGZ48kw+k`3je^n_C>CIc6iU8_IkA;ypHOk za67EC1-wp;Sr)vtP7+t^4cx^e9SENtRT1OZjSw|{v()4vwvJZYvEc-O_d^GDF*b5& zt)%U1caNUIN(V72d0fL(B76b&rvtgA+mhWVL5BocSBiV%@g| z;3f)}CvFrp1d;Z#6K)5UY(@ZOPbgTjD>n=ViZ3I3$#x`aFuNG#m5g7)Knw)23!58h{VH=0!RM5VOU}hJ;acg3>Xay-GlSaMTE3i$04(0qe@DS`WPpHDQ#fa zY7Tk&@TgEVi2T5m?zqa@7csjUsfx@zR^SmU(Bhm37?^_~-B?jaB?k?L+ak?uua{}w z+2dde@Pz)In>xCH!v{ZQ)tN-SM-9NTgXb?r!r6;}T&jaYlAsm`Vf2__@H(nO==VBO z5KiPz#v(TX|Yw`T%(4inL zbc>%=`dMwky>69j(aK}G739!tg`Z|CGRv|*O57MN>8ET-Fv(G9LRFp`Frf#Z5Kseo zi~*U^pb}J?pm-FJ1Ltxq#7%x=43-C;dgB(P+|XI3uuyj-Wd=${gsxbeu!^LgMRh9; zy>7+O3Ml5oIs%m-W{Af_u&s2J_%m{7LFCCg(p40K0LOaK*b@up6v^Z(Wl;i7rkNi= z&jyj0b84uu4cbauN0`aWG%fMp#MD#IURs#8p7T&r8?Fl;lDD1ZkwqX+7NV@;FVY+RYIB#*=Fx@sxD!oc(o^9+PhDqmD z&msidU0(HcE*vwm6Zeb2mhuyJNd{#yCNpv*Su1$Zn_A^_7R^F_fWq!RX^Ru*eOL|D zxxribpmZqV8;I~wml$r-DvMUH>?m5LI+qvp6PzWu+#lS#BxKfkUxWg*>r0mC^t_jW z=IMb338V?MhJJ!Ud(li_TzL@rxM$%dtt({748F`rAU>e1xJWg()(O4XQPOe37&R~= z5+<*9W=4_|(LpVqnNf)h3X^C#R8Nvsncjeat{0)#*fEwJQ0rPNsjJWkUbEQFM&&6{ zg5qRyGZAUe%xreZup}!}C$t%Z;xm>KiEKHuY+;9@xk#8=Il4vQgBCXMQC!ZUy)94e z9#uvzbX5~ZkTRbfK2k)gVvvI-u8rbW%51LZj+zO0E6e z<%{zcb^5O_X* z2|N0zx=*dS&87eH6OSiDX8)idvqmM_V)Rx)T(YRa8;g zfTY!xWHeLAZ&pcmDyt+Lu&*b?taSO9hAUeWGA>EKDyxb97C~T?h)Ia@Wzo$dMF!JS zSGN%S^v#)>d1sZfNh>IkeWd*U87#psh>R+1aF$Ue`R*nC!s>5YIN=U@on{6KF7?rGd>=(>wx> zZbF!v{~_gdFd~f(e^BUfYdPvQ{V{_enTad{IT-U*^URl-$fS>n+;1Q3M|%?@Sh1LP5*EdzVDuoUQk}iUR zo%$16x_V)LV7PZ2iafb1sNeXZv%tWZxdDB7c~`i(<4hme22+zxUYavC`Ai=*N#gTz zpZlyvU!J>)lVRxCnYr}lbf%TqGO)J0m}DtG?M#XNY_6z6Y816l$NRTQxm*fpnF@M{ z*7a%EkWv}by7FT89c32qV>{szUH!hCpQ9%274lI&hMEPcXNV@xST9d@0)!}7AFD1R znKL;^E11g->n5s;g65t~%{Shu8n2a%X*#+VRRO zHGCSG8om-aSVY9p1=S_&k?SCdLwBETV;_Iua|4_o#Z|QQ8@CpKaU5GjXofiuYsJ8Q zjCEqhJz_64fmusI&O76MhoMHW2(J>G;+K3xaf|EL(^xF@8V$dNBbi`(P!U`T1Dd;C zq9xptrfZ4zG({-TBpBiV=dM_hs0N*SUgB)lnwQ9;Z#>?#h2#{$`be4QljXQ*I#VA? zmX;`WbqZ8GMq+SJi}5w->_1c}=RJ+l+sk@&BJOzBZW~1Dni!F&z?Z}qWlF66#6TD>d8i33Eg%w@%Nh=@-7tA^kTKmAFLlzVTi&XVy$s$0XPN>t> zW8_yzTvB3^Y_qP)VWUM2BPs!<(+vts|w*tLd<9{2nx4R(ejl5`NO7AlZF4Y@~1zkGA3RUgM z_cW3gIlZLuL~-C`T@;|=B5HkUNnU#IT7D=61V$G1EL?HOb=XjVSh5vc%y9dh@F?Y) zZ7$iP`&1tHS}moIHj}VNX=|@=Jg2I3EPmr1Xx94g zU9;9kZhD!fPVbhifo)i10!t#noULW3`_e>;#lUSH3fOF8j1!U>p_oc)wVC%h%XDN%1`EaBWY^9hv_EqVb{Gc$--861D$#4@m58th1%>tSzUA4ERKfDEx12iIU}@5ac2vH@ z6f#`cY0a#{BX;+s2kA&m5VE=kLYn(o59KH;oMRkdwl~d|-_D zfx?J+ftpJ9@v!OMD8{klBlyII!$#LBoU7gZ8S2Jrp2nYkM{x71E|?mpkMd#ST|NW1 zj&nkBka_bNJe`i9|9HKF!$|kiNa+E5l91rs?HGrZ(rpyd``zpOs62o@RTHB%yGIBX zanSOcfQfL*9{wx0lKTym7KzwA1qk#h28RoB!h~x+YBXv7JWW6lY`>BxqyKAkd&?8g zrH)N0a&fvMGek(y`I=|`xul2A9OJ2Gogq(o-x`o&ws zG|Fm#aj=~n>b65?nHu6JPP&JDj>JI?+w#pLoaH@L@K78J-7_*r5L<`XaYyeKm?wdN zmFWILcV06yeLpO1x!NAoct zJ3(%TU9XNkhWK_!4y7;b$3aI(jXF5rc~3gV?+u9P)H1Xk!|NC_Eb&h@O7nLB0&&r2 z@K=ia=YZPlbh&UGGS0daL@KS~kbjhe!mr7{7@+wJ)JsNp(IH+Zkg-g9G$xm&6g1%Z zNtY$_`ovALqQ=cW?h*Wutm~=tBspDFPs5x0^~(|XFa~}(!U;#Qk!Y+A@;Be4AX6{u z^$`353aIJ=6nlm4U~gz&dLMKv<*G@`@=@gV>f(Bpd|I6Q-25xT%E2hTr)Mj?i2{l1 z6KDW2>5~mRb{-ZC>2dZa*v-<;Uawo3{C=B;-%`^RNXXvaH}w-dzb~=;9#~9JMTZ@B zDDT}Q!gT7}DBY=|1g>q|PNk-X|IKo8O_*36V>Z7>V?j;l^m}$Sr_xnhxHS7!hlWc3 z9}RY|D(Ri6^#4L%MFB8TrETzLmHxkYbjK=PPp6>LzXEakk8NPVBRZa>_W!nh`{sAh z22J0lKg=6MX-I1GySP#`v+V%B6JEx$iFgkT^&+0Wnj@aNO2ktg8pL~uy4sRUcSbx5 zecd4ON_cd~#M9F$5bvwN@QH0;F^Na*@7uopfW(uoEecP=n!AZ~&taU+a;LB6NT;rX zbi<-MgK#fUM>mOZm$sRFAE~S2(VY@bO{PG$uYn8~w}HeY8@0c%efurRmYFbRos_kK z6T?cko8B=)#iY%DCV3TJIZ3)w)TS9sk3m++Q1F2zY;Db4hq^23s>v49-9FY0+P@!w z@;ylIL+RZp9PlHo8zcCvVksAy>PWn(X^2)E8j>(@%*ut+v@OF@nuPxI`Jq8{k7iztm9&6xD1awHNaT9NfIz;g< ze6Z>ot$)$GqsDOxs@H)dN$2&(5xRUpTtUWxuT-fVuBu*Mg%RZg@@-Z?gE(7IY(gjR zaLlz^a*uoW!cck?8~Cvnjsl4!QjLbvp}K?f#xdMDg?JS7qF*>gxH1Y7)f}1>BENBQ zMh2aPPN6ZP$Ruu*9xb7KqMN=uf3wPOEvVu=+IkC)AD{4w;-GGNSYR6G9;jZ1xEH(y zrEsUvMe{8Z*m2SC=BMACzfpKNJwkH;uSGaIfZwmwO%JITZ~)_VdJ6~q9k@=1bI42So$$`mLvuZ10OF`!yx9zyAo(P730%h&52ZQGqKC1ABO<}1 z7(_rhqC^8?b`X=Ha#NNwbb3fOtE#9YeHWimfaE7CB}f(>pL(l<B2VJ#BR)mc_v)WzUHl;@IS%hC=*y zs{)RNdV>_9Jf?eLe|iG)h64wbcxq?7Dqh>NkscAJ=2Z2oSrA##(Foo2VARI3JJnYc zI(!+3x{H5{pH+Sp5-#KQawm{$2RtC3kT;N$QHZCPlMZ4ndb=G5Us4YsQo|Km6wegH zF;W%q_6zO2Hr^hC!8j>MkU{Ts!82581rc7Sm!LQfrEiYc(28oXkQA)q7zR?b4E9l( zbOW=t8bYmYq+>bX) z$RIao=;MC+xQ9OOq!vG*ZxMZT=;Js&dW=3U(cO#mafrL4k1t}mqWK&2@sD)lALwI< zZrn*9e@Y*JOdp?y=4pP440bw7KvJTN4HbiVouS-d2shj}t}}2O4A^xBYJ&l~&cJLi zAR7$C1_Q9cgJ0)?H+awu9&jUZkI^gjPPh*<2JnZcf5H8@yT)^O-x3o)N;Bn&(>dy5 z;!XO-6Q{KYF>yL0sX0ayqOuAxaoYANCjM>u#uKNy1~Kt_sWDBQ9fu@6WXcND`VjJi z!hnOI;tHum)lP7Ud4=SduR^xki$P0^A78w?a8b7&&Gk5{M&*Z&<@)CncF3F_FZLzx zAlt#GDe>DpkmzjEHtTTE}Yv z+v=(j*2?6R4rAr-xpeMBV5X2n7d7wnT1#sJlIE=OTP7!H`x>3o4y4IEfqE$coVk-Y z-m2e1u5dZ6<^yQgH@X?(MG3;$K9K|7cYgldMKao0aly-~U_{glF3G37PxO}_&}d){ caX@C6pplkH^^IY>cOaG);8(%n$GbuP4^*5#R{#J2 delta 2086 zcmeHIO>7%Q6z#=9I_U>k9 zHzbFs^njGAkx&?OASe-4RW1~TvZ~<1of`-VAyEzx2?>b<0#pf51P98 zytnVYdEfWu?JWNwU0apfUTu4G-{_6DE-5jRI>U&=QnQ45sS|{qcP%^h0#Pe?%&|1W z7=B*0ZQU&SgOYO44?lKDLOqB}oeFk>ybHG<J%mYorm9*x-_eNJSI40YKg=WRk}S>r33#{-*jdEE9&=cq5ich zTzoMM3gYja8QL}2G#7ry%PR;SL;Sp}6rP;zP8reza9P`ZA4lXd-Gc;*es& zs;IhIHRhp~{zr7M?;x{k#V!+8^=OZAPicHDI|ksFP9F|KvAYp}DwjbT;>)=!_&t%q zcptmN8basf%bLq3Frt&%WQ-^> z!;GkoMwk zqn&(BAC+?cU-|?>pUVE(@{jVKTi_Qpz7~t|72;|8sPYBuKLfEM_%N1*@D?NRc)D}8 z7&Gy}8W6T1qWCZN!7d266gXe<=tJ=SM(LxFZG8I3gFzyAqJu=nI`Y4qenUcoA@QGr WCWU2eB>8j(^AA`GDIxwHJNh>rh?$%K diff --git a/docs/build/doctrees/intro.doctree b/docs/build/doctrees/intro.doctree index 8d87292879612a221438aba1acde1717160062ab..0c2e1a2e44b3c784f4fbcf63459fd18b094dc8c7 100644 GIT binary patch delta 41 wcmaFV!*sTXiKT&cs?$ament^X{m|mnqGJ7u)QnPnm(=3ylKg_rHjHYm04G%r3;+NC delta 62 zcmX@x!}O?!iKT&cYWPMLenw3{{m|mnqGJ7u)QnPnm(=3ylKcYwkkrIng@B^`eMig3P@1&FYM5tpKh271sa& diff --git a/docs/build/doctrees/utils/assign_chunk_nums.doctree b/docs/build/doctrees/utils/assign_chunk_nums.doctree index 6fc95f688883d4910e0438fc24d8f20717d65cc8..b7fd4727ddf8cdce94ab948721ed8952f0fe8743 100644 GIT binary patch delta 398 zcmezRit+qQM%D(_sYgmSvZgXJdQVo=5!pP2@f{OmCx|(@uQ+)#KWjECf;*X?ReZA? zw6BA=A%&f_NPJEk} zt5ve13GLQ-&B&V7#LU0|G)!`Gub0v0&w2}Z;6f^!cUs>?s8HFw$96m8BzD=5O|Ml4V73f!4`v7V(H5rYJ!`uN9|xnayw9XvrhbOp!qQzNNzVtvS)(}scfE^5eu{jszPP6 aOx7I6$*QrUn@?oVVP`A{2YFxdb4CC=B!O%I delta 540 zcmX^AlJV;+M%D(_sad5PSyLGq6D9|8iHL-xCgv&x6y+zU78fh{CKeQA=B010V|>rV zI1jgcBg=VKJo1wpS*kbR=dxsD)Y&X4xS0<~ot2-($fz^XxZin>$_la5IfFx zJL6u;qMK)V! T&tPZl!R^sTmXyuj#Vw2ghy%N@ diff --git a/docs/build/doctrees/utils/calculate_chat_level_features.doctree b/docs/build/doctrees/utils/calculate_chat_level_features.doctree index a3d616920981bf1eb7e1dfa4d2796ab2679f7fcd..e7e393008dcf87e69dcf3e3541957fd2e3dab3f4 100644 GIT binary patch delta 1799 zcmZvce@v8h9LMkTJUk~SQhImK!DR>wr!_R_hoxCULjea{Cp{ZQ>AA+zP79{))?_up zh(yh^uh%23taScZ;E(!fUtBOs$nuPWmT;^wjVxNta79B*j;3wOGi&wuPv!J_GTP)E79&4Tl{w%HIMK zDps+p;<^OA0yGWlJnzbh5~=eza7VS&ZwBEtW~^oyGxHw3V>RZ>9^t@CgnyB@IhYF`)mr zihZa35_HGhdcIRg#nz5?j(R1AZ~UmUK7?sF1)9vrrkSON1ISDgE)N;`>|V-Z#p*rljGa zpZs7m!j0MGfVcnLnB3m>F=uRQAOCuPQk$`TY-5VzyJi=xSC8`)rljG;KbZBjK|A6y3KVkeqj1~6m`9;>t%KRsK5 z_iV=hcop=#1T_+zo61D5EAW&Yk98J1sB0!XqA;7zcrx00D;U3q5_C;9Ngv4v zC%teFG|9lw)qz>`a(g+w)t`W}iF!eXP4Ys*30B)za0+_b0=RtWn;nfN$= t@iPT*cvaMKRMTi_DR=y45vY1!8MKqXavii~HDsm2UekI#t*B%@`433brq%!e delta 2465 zcma*pYe*DP6bJCmo!#u6wX0TET857dG^eKQ5ADqCr-Au1zd84wxo2xDwO^~W z8mqPhu4%#nGI3t8UT;pdWCfb?b5c^bZVg;%$<5uIokkYHMlIa)cpsO?o+1feQvwt+ zIKfLxri4TRj<@^#S8_hdl^Pzl0YMPi65cl!I^^J5T-`GgryKoAvN3Y7OqP_#HX)QA zgp0dE$myjwz99Dr1W}N^=lQ||6r;sHE^KvK1cZI@Y(z15E zD4NN_^*aW{)X}20dP~%SiSm=Wr^rq~7Ak)XAHedMs5`1JVv4c%`HcCutc? zoSIy3b{Qwt*^$pg(>77;++K#@oxEr*^dl>F6>>ibp1w9H~r>)T^PGL0bg zSOu=#t0S8a*f|wB{Py5^sl3KR42(G}f{r7_2wr+Dk64a-X=LtW%kdi|@?`i>NwJkN z#kX8kD$ngi(B@GQ$~ukvD||?2Wd^4vH=-(nE#$sSOzgcZiuk$3%GHf2 z2wIipoTd@vS+jvtnZ?hVwWR5}H`9aLn0~5V)I(mW(~Dk@BJppsRp~+&@94Bi&6V=r z1(V{ghJjOPQ@5IJ*5RriBWe3ETg5i($kWe>8cE#pm6iJLn^#qq~)hwYApQVw_#{W(waf8AI^)PhNt$|2=62efHio|pLT4r4nui*{{CnPD~X2; z=M1>%05gJS*|(y?shGqmgm@t|mVWSp7_GPru{3KWjC0Qb+A#_S7J_DZgW{(18~wn? zIe4f;2OpIhlnUuSr{o$v)HWWZ^{2l6ZnttG$R1n5fl|u^E zIQ57fW%%HhOEp0iZQUX(s7 znm6~KV!P+L&HN}(Y;wMTKDfG^b{jyW)aI@}l#QDfLxQN%C)6*|; VFkuMTdM0#S+y7$<0n5{FS0q3@c=91VGwh2QQP{>pV%|yk+>!revC-m zXsr?^#?H+bbf$?hzJ%)8u-U=o6dQs&*}+9?GoMch6KmE~HU@^tjRESLSNmOIgm5=E z20UV%Jk3LNb8!$qGvghYAwXSRlix-OZ>|iRfF`{8ZPY`cVQ<)hh80%3ZWfJ`02&77 zKFl_nd~$-)=H~b^MozF$hP*f9WXIXUn*|cLGBMsoF`hS>fAfx%dS)!bTA5pcRy^Zi zVA%XHI~Hg>h&dT%{FK}>#>xC?qLc6Tuy0n(zstn<6l(C6$sbDOCiASZ-)vdDmKjxe z^P}=!X4b6xoIpbht3if>m~cZ?YJr9Zl!#9Doz1>^V;z#A*EaVx?SdM%xv0$mXvi}z zuuj*_FFQe=hjJmF5AOyV^q^UE^WB~)OpI4yF5B!sVHq=mJK2AN(B`L8bU`lShK6M1 z43J@9F3hXPX95k|JW+JB@9gbN@aWkxxo)Az9t$)|oK~OPd}G5J7NDbe!N$34KDAX6 qWOpiWBYkG z^SMlBBSQV=0`DnIOc~0P6K1GyHt@T`2xkZEW}K|KU1T#$5H~a9NBkB)2$$UaHgpP6 z>f)m=K`k_zY%pDTb9Jl))Y8z+Z{tcKmR2Y1U}F4)-%^lo<1<7yi=|XC6QOowoX2On+ m@{r9hww8f?H@STKipkpoMK+u6(Bfd+f-gvWHvd1cl?ebxqqqtH diff --git a/docs/build/doctrees/utils/calculate_user_level_features.doctree b/docs/build/doctrees/utils/calculate_user_level_features.doctree index d52241cf66320ffd1bea5a23580c10624effad89..7beef27cf0c95cdf8248cc7018fe54740422d5c9 100644 GIT binary patch delta 519 zcmaE}nCaj`Ce{YlsoN%OWYuD144<6HCbBt_k)4%sHHbOcNM_DvHTFj$5bkCpnX8O& znfaS9$Q3a$c5Zf7loMw>308l|ZN}se*0P%&ERQmy3QcyfWZnGIR*#7_%a@gbVe(sF z_00|rTNshJvQE1hC*QOZ-TcCN0~6y;uv-qfWwSt-lMlJA+RW(l3aBH9je%kFTi;kH z6KIyv<~siwjFb0!h;CL3+|I;!2JD)m+~t$s2MTW9AM%J9RcP}55Z28dk(+=f_^^Xr zyHD>G}>O%AAKab+OOpj?P$XUl<>)#r@Cj(b15T)c*PB2FLb(tF-CBSKKCTs=e5Q5HAFDG#sdT=Hv+pER(xkIXB;TJH||`+Ia8x zAd4o?vsa(&P%685y00V>pL_D!GNsL&{$-4ly#how&j{Ge#Q2bqBlsup4-%eiool-} zJY+F5k?J>}jM$1~vFzsKQJ4;~i~%~NDpq9kiP%kyjIRkfL~CB>SqwNB z7$#3N6yAI=b1f6&eL|)SPu`Htz1cDs7}i9pJyqz%3=Qke4y9&D-sRrBwrmC@qT?!( znHVn;vYc~rO+C-#CvH}o_f~T<6QO={P5mb%3uQNNZ^R5=&1PWu0#n=M9W5)ssjjS5 Rii2?pKF8E-R_I&E1ON|8Sa1LU diff --git a/docs/build/doctrees/utils/check_embeddings.doctree b/docs/build/doctrees/utils/check_embeddings.doctree index 6441dca4f98d445acab4a9c8b663e0f5abd32106..c893968fcfaa91191bde0712f7f927f76b180c6d 100644 GIT binary patch delta 5788 zcmb_gdr+L!70c&7!J1{PMQ|+ z>V9NM{PMVMfU}NB&a~m#tOM*z^P%rZiL}`^pI43iroUPU~c-j=|cg1^H4#c zA4aFniu|$M$f0VUX@w=hWOPp0{lL%;oU02PwP7(9a3p-%J0vI0QEI@xAQLu+9Hs@j zDN}k|6%U&-1x}h=@anCZI^}kH8#B!;iHX|cqh_=jjXHHoEh#JJQnmnm zOR`|`2{U{;?-{l;@>u0u#`fSO4|MO;B{{sj)}DIGzaII>c z{cY4&uAyi9lWiftFN3rk7`+mvrPOsG}<>8_Rc@R z*;Mehm-DYB8j2A|Eq6?X(VNP78VXkt|4;{wH+k$cr%nck8U#m*2=_G{TewOXL%4sA zgFC5DI8@}02B^7NKMsLNGZ0T<@aD7s;G zzbOOvx(pnO5y#CL=u(WfN%XAo_L2<8#e{IYKWRA77KMXM7Un3gv-EIixjTmayZ&6RNbF4s*rI&$K0TBzFK1g-?M-poUVc<+J~}~DR9gPL z9@DKr^ScXRJCl*XC5Jq@g5?ggZsl*#T4xkZofNY@y zD2_KZkRS)vstzFGc{068%6=|bbk(2|{$-;e{ELXFMNJa^yipMToT|-V#7E2*q3-1$ zOVukAR3+oTqLsa?GU{(-)Mpz6>In&ZERQk*hpv%Kdy}(jUPL-JQFS(lcDsa z)sl!ths#2fI9!@&K_a(aqo*blq~D)wSxu{u$+g&o$yEeB_rJj3#3hR48ox3#djr1S z65y9if(;i*+lk9kb11^En?(M6h63{k1u+;~bFMdw{7FV3^T%#5qa$(o^BVko?{rcj zzLF-E=g+{{w-kRH`zqLKyYI6X#_) zi6zg(a}+VCoMg~GigGeaQ4{54)FR5syaR`)Psf0^sF$FEkbi3^h<_KbKcT-_&=Afr ze@rWq$80PW&$2IZxZ0u(DPN$gP8riIBg~C#B zOjIa_?JqvX3QZzD6`C=NIK;oArHVpRYQ?9ofIo7R={f++r1NZ!M%A ztuQS^@3450XY?0OX_fH7RS*SvSSWEA%UL|z?3HYt)j&kzA=1JnP`E9IZMbJNm})KoJ-f^NrFhXd~x^R z?vKCtQoyhqZ$f8e1HQ~E8j2;>SUCXbX l=_^OD(^Tljqb$TjLZMbn8KY`QwNhy&tX5m(5$X delta 5441 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 diff --git a/docs/build/doctrees/utils/gini_coefficient.doctree b/docs/build/doctrees/utils/gini_coefficient.doctree index f42249e5efc98749733088fb899e5d76bc943c85..2c93faab256711bae739cc231582c6a358f55bee 100644 GIT binary patch delta 191 zcmX?=eJ6{hfpu!&MwTQ-Mz6^e6ht;pU_8UbSO;QGp2(HI`728iD}=jwB9}2EW6tKI z+~2qub0*hIsBC^9HV-6HFL9o6auJ8{=6IsfpzNsjVwuwn(_Lf#i>Qb`W2}erTQ+Z#n~nK1^OYWiMa{^Mfu68#l;G~ zi3J6jdFh+07|$|kP9|3Q1&8Jz4Sc%uNIgrbQkx^%J8}~OZMxDtH5-OV)ip>Lw zI7pmloP3o}WV5PNFq7tN;@zN7v6)5Il9_ldn*$Y;nVB*mw$D|5zyf10(}-k*u{E^j fGfu8l7uozkdm6iD7xB*FN}Bv%hIR8t<7`F%iY$vx diff --git a/docs/build/doctrees/utils/index.doctree b/docs/build/doctrees/utils/index.doctree index b0545b833e6bad0c2fb41555fbf9a68f9f76ce09..80143e0332b042ec5c215a9a498d01a4563abbf0 100644 GIT binary patch delta 39 ucmdn)y2zEKfpzNijV%0(BKG>B#i>Qb`W2}erTQ+Z#n~nK1)FUcs}%tZWesou delta 60 zcmZ4Fy4{tffpzMdjV%0(nj!k3#i>Qb`W2}erTQ+Z#n~nK1^OYWiMa{^Mfu68#l;G~ Pi3J6jdFh+g8LJfmhmRFI diff --git a/docs/build/doctrees/utils/preload_word_lists.doctree b/docs/build/doctrees/utils/preload_word_lists.doctree index 8953185647124dd49a4e3b4b96cbdb9d6524206a..2847206393dfea2a85a61eab7c3d496ea4d9e1f4 100644 GIT binary patch delta 317 zcmaEtyFZ7efpx0MMwSdlMxV(Cr9?JQV|>iSI2pv8{81xoGcT(UGlDyrmsM)>S&l>| z#+=Ri+-DgXb0!~DP~0rXyN;19BPT=7n{o36z8WUR32^-n1bvXWlMjfjVa@7hWMBa6 z>lck-MB?&^Ph*^XLr8S<76~3E#vYg%lRM;uC$CWx+FU7JjU>FeL(ZIuH7l8kfnoDO zg?ykvASTG%$$a7lo12x=7$-Z(h;II=jAU5t<~3^4P(wC<)DQydieLuo(%EdN<&5A$ d3^}e1G^ABsbhEAQJa)!PsEblJXPLGz0s#3IYWV;F delta 510 zcmdm=^DdXAfpzNRjVu|AjER#41VuzbQWJ9(0*dmJQ;Ulgd=m=_GV{_mH!wb7VqAe! ze)2ov?8zL=;+uc5{3c3WH%AH+qt50JTxS`9)IOf`jFZikMK&+y%VA<%iqD#+$uerZ zn>Pt+;8VBxov=6~Q-;pueLRYrwMAo~Z0*T+71cK16-$Fy79+vI#JCWjWjT|xCHW^y zs)=sqkgg_1?Pei4bta(2o9z_xVU}*btJnjvut^!Og`4N8&ctiUJk`3%CpD&mJZ7h$ hv$8DHU*sNZ?d@oFy?{ZG_2rOLpxqDOm`k`i0+d&g_72tU_cr2?X(E>9cmi?)5w&ch0& zTzjB#3$`{~@vN2*XlyIfqd!#J?8mj1(}s&CDo)%IX4y3{7tRQ~g|_|X$rYk=(jGz8 zsf=1cP@qe3UUCR*=J5VsE)@QwJK;X{coPNvH-`LIco!;2D<>HQ*R zL#d4Ub2MLs+&u5YpBF>I?cCtGa4VL^28n}@4V-=Ti)g?e-;yo9393bS8@t7qJu54? zc{v+K%ln)xp<;4Hc%3flryhvKT4*me_n}jv`;M9aP1j=K({Xi8DW6#q4o|sEznryp j?qc&i7j?OQY8SSDi4)(MHSj2R!$ZCDvIa9UMow0c5)lbWP0UpYD9TSxEiP8@O)MzL%uC;#!?>S` zaVAdr$%#qflTR|qY~IAu!9t9>gPdxtj5?cN@cFYa>P!~QQP~_LT+T9id56g6m*Qqj zjO}=>+T10zmYIN>$z4*so7clcuK@XsKqLq{h|&-EY^y7%E;J- z&*JpWU2%t*@u=CHn551Ovt(oHQMga%XXSz{+$@-L4`LZdULF(UJlvKA?n~PIreGB( z0X36(stBWDr^TBC_dR6BBR@HC zU(e=Chn~R=|G6btJE)})8%W5SfoU0DD zYKcuF@8RnPG(Q&_75!}hqar~RVq-+7|uIE5CAMBU@jF~_?pi=6a z152L){Q~DEl%HgrJS|Cdvt=cUKVq7AH?!89K=wmSQ!CI8Ic_X=oM>$X+5weP-&{25 z1ker`7aU%zr!+Ehf`!1bV=yhBiE#?tM|v|w*$~{xdNUO^f0|zav~4dh#J0_Ki(Gi& zT=mVb*B=Ag0F{M=meM9*XuX=rJ-L4_*XGTe!Sk-QK+9KqAmrP$BirdS_1o?Syf`zRElgw9|7t_vClGxHkW~Fpr(F M5@hG*LpRu&00=B1p8x;= delta 962 zcmX@Vnfc^aX4VGQsrzniWKCscOq^WcCL$7&nwYB)P?VpXT3oE)n^;hgnU}t~j`2Se z<1F0r6IpJu;gO#_k)?d|SMC)|j5?d=@vY`%)R{c7M16Ci%tb~BbMilHkIkFpsu?G{ z8;NXoR%l^joQBgjplR8g-ISlO5>m5La|IJq2FNa{%>_D9yb!kfWb1I_&6-v#8KL~m z|Ey0kPUg%N+5Es(hmggS-??#Yp6qakpylt};FeD=&^f)i!K12#`A;f0E;gDn>-hg!a- zg0Sz`SF&!7sXk4}_me^DRyS6oI6$Da5gr12C!RnFfuED1j+i_(o{4cK-Vm5HUwU)T zjIXQ&lx>>djby#a=6eeTU@2g;)cRv6)`x6_TK{fSFcafayw-0%u=Nis0X35kY!%-e uv?l}E0h8}7T)uhB{zP~fIG#C$;)wclP)A5!n8nW6htCmdn{{t2Vgvw3r*3-y diff --git a/docs/build/doctrees/utils/zscore_chats_and_conversation.doctree b/docs/build/doctrees/utils/zscore_chats_and_conversation.doctree index 42f1f4a4002427467ad26d288eb39475dabb5253..52bb517003626668dcf6d90499328aef1e9b752b 100644 GIT binary patch delta 282 zcmZ2qbFiAVfpzLO+l{RCj3VLsp~b01#rhSg8KwFzsm0kP`30NTGWsx!ti~cUxlw7# zWPfhX&HGs|v*1***`IqQ6JyTipS-)+8FMBV7^rN%A-aVT!koOw$Z7Lu@ifNCtsKIe zvn1aziEPGh)6&fupWj8k}2{5x}RWdO!0F9U2yhim97lgaHz<`GdE~Bz}kwh}BAX2)UovT)Al5ybb!Bd{60aQS{H2@sD`hh=Wq@2Dx!FVY r5Eq24vf0?+1tXBXS;6QA<77*1k`_, and others require generating `SBERT vectors `_. These processes take time, and we cache the outputs so that subsequent runs of the FeatureBuilder on the same dataset will not take as much time. Therefore, we require you to pass in a location where you'd like us to save these outputs. + * By default, the directory is named "vector_data/." + * **Note that we do not require the name of the vector directory to be a folder that already exists**; if it doesn't exist, we will create it for you. * Inside the folder, we will store the RoBERTa outputs in a subfolder called "sentiment", and the SBERT vectors in a subfolder called "sentence." We will create both of these subfolders for you. * The **turns** parameter, which we will discuss later, controls whether or not you'd like the FeatureBuilder to treat successive utterances by the same individual as a single "turn," or whether you'd like them to be treated separately. We will cache different versions of outputs based on this parameter; we use a subfolder called "chats" (when **turns=False**) or "turns" (when **turns=True**). -* There are three output files for each run of the FeatureBuilder, which mirror the three levels of analysis: utterance-, speaker-, and conversation-level. (Please see the section on `Generating Features: Utterance-, Speaker-, and Conversation-Level `_ for more details.) However, this means that we require you to provide a path for where you would like us to store each of the output files; **output_file_path_chat_level** (Utterance- or Chat-Level Features), **output_file_path_user_level** (Speaker- or User-Level Features), and **output_file_path_conv_level** (Conversation-Level Features). +.. _output_file_details: + +Output File Naming Details +"""""""""""""""""""""""""""" + +* There are three output files for each run of the FeatureBuilder, which mirror the three levels of analysis: utterance-, speaker-, and conversation-level. (Please see the section on `Generating Features: Utterance-, Speaker-, and Conversation-Level `_ for more details.) These are generated using the **output_file_base** parameter. + + * **All of the outputs will be generated in a folder called "output."** + + * Within the "output" folder, **we generate sub-folders such that the three files will be located in subfolders called "chat," "user," and "conv," respectively.** + + * Similar to the **vector_directory** parameter, the "chat" directory will be renamed to "turn" depending on the value of the **turns** parameter. + +* It is possible to generate different names for each of the three output files, rather than using the same base file path by modifying **output_file_path_chat_level** (Utterance- or Chat-Level Features), **output_file_path_user_level** (Speaker- or User-Level Features), and **output_file_path_conv_level** (Conversation-Level Features). However, because outputs are organized in the specific locations described above, **we have specific requirements for inputting the output paths, and we will modify the path under the hood to match our file naming schema,** rather than saving the file directly to the specified location. * We expect that you pass in a **path**, not just a filename. For example, the path needs to be "./my_file.csv", and not just "my_file.csv"; you will get an error if you pass in only a name without the "/". - * Regardless of your path location, we will automatically append the name "output" to the fornt of your file path, such that **all of the outputs will be generated in a folder called "output."** + * Regardless of your path location, we will automatically append the name "output" to the fornt of your file path. - * Within the "output" folder, **we will also generate sub-folders such that the three files will be located in subfolders called "chat," "user," and "conv," respectively.** + * Within the "output" folder, **we will also generate the chat/user/conv sub-folders.** * If you pass in a path that already contains the above automatically-generated elements (for example, "./output/chat/my_chat_features.csv"), we will skip these steps and directly save it in the relevant folder. @@ -153,7 +174,7 @@ Basic Input Columns output_file_path_chat_level = "./output/chat/jury_output_chat_level.csv" - * And these two ways of specifying an output path are equivalent, assumign that turns=True: + * And these two ways of specifying an output path are equivalent, assuming that turns=True: .. code-block:: python @@ -161,6 +182,10 @@ Basic Input Columns output_file_path_chat_level = "./output/turn/jury_output_turn_level.csv" + +Turns +"""""" + * The **turns** parameter controls whether we want to treat successive messages from the same person as a single turn. For example, in a text conversation, sometimes individuals will send many message in rapid succession, as follows: * **John**: Hey Michael @@ -277,3 +302,62 @@ Here are some additional design details of the FeatureBuilder that you may wish * The only caveat to this rule is if you happen to have a column that is named exactly the same as one of the conversation features that we generate. In that case, your column will be overwritten. Please refer to ``_ for a list of all the features we generate, along with their column names. * **When summarizing features from the utterance level to the conversation and speaker level, we only consider numeric features.** This is perhaps a simplifying assumption more than anything else; although we do extract non-numeric information (for example, a Dale-Chall label of whether an utterance is "Easy" to ready or not; a list of named entities identified), we cannot summarize these efficiently, so they are not considered. + +Inspecting Generated Features +++++++++++++++++++++++++++++++ + +Feature Information +^^^^^^^^^^^^^^^^^^^^^ +Every FeatureBuilder object has an underlying property called the **feature_dict**, which lists information and references about the features included in the toolkit. Assuming that **jury_feature_builder** is the name of your FeatureBuilder, you can access the feature dictionary as follows: + +.. code-block:: python + + jury_feature_builder.feature_dict + +The keys of this dictionary are the formal feature names, and the value is a JSON blob with information about the feature or collection of features. A more nicely-displayed version of this dictionary is also available on our `website `_. + +**New in v.0.1.4**: To access a list of the formal feature names that a FeatureBuilder will generate, you can use the **feature_names** property: + +.. code-block:: python + + jury_feature_builder.feature_names # a list of formal feature names included in featurization (e.g., "Team Burstiness") + +You can also use the **feature_names** property in tandem with the **feature_dict** to learn more about a specific feature; for example, the following code will show the dictionary entry for the first feature in **feature_names**: + +.. code-block:: python + + jury_feature_builder.feature_dict[jury_feature_builder.feature_names[0]] + +Here is some example output (for the RoBERTa sentiment feature): + +.. code-block:: text + + {'columns': ['positive_bert', 'negative_bert', 'neutral_bert'], + 'file': './utils/check_embeddings.py', + 'level': 'Chat', + 'semantic_grouping': 'Emotion', + 'description': 'The extent to which a statement is positive, negative, or neutral, as assigned by Cardiffnlp/twitter-roberta-base-sentiment-latest. The total scores (Positive, Negative, Neutral) sum to 1.', + 'references': '(Hugging Face, 2023)', + 'wiki_link': 'https://conversational-featurizer.readthedocs.io/en/latest/features_conceptual/positivity_bert.html', + 'function': None>, + 'dependencies': [], + 'preprocess': [], + 'vect_data': False, + 'bert_sentiment_data': True} + +Feature Column Names +^^^^^^^^^^^^^^^^^^^^^ + +Once you call **.featurize()**, you can also obtain a convenient list of the feature columns generated by the toolkit: + +.. code-block:: python + + jury_feature_builder.chat_features # a list of the feature columns generated at the chat (utterance) level + jury_feature_builder.conv_features_base # a list of the base (non-aggregated) feature columns at the conversation level + jury_feature_builder.conv_features_all # a list of all feature columns at the conversation level, including aggregates + +These lists may be useful to you if you'd like to inspect which features in the output dataframe come from the FeatureBuilder; for example: + +.. code-block:: python + + jury_output_chat_level[jury_feature_builder.chat_features] \ No newline at end of file diff --git a/docs/build/html/_sources/index.rst.txt b/docs/build/html/_sources/index.rst.txt index e3a9e994..9e4be9bf 100644 --- a/docs/build/html/_sources/index.rst.txt +++ b/docs/build/html/_sources/index.rst.txt @@ -44,6 +44,8 @@ After you import the package and install dependencies, you can then use our tool Using the Package ****************** +Declaring a FeatureBuilder ++++++++++++++++++++++++++++ Once you import the tool, you will be able to declare a FeatureBuilder object, which is the heart of our tool. Here is some sample syntax: .. code-block:: python @@ -60,11 +62,10 @@ Once you import the tool, you will be able to declare a FeatureBuilder object, w timestamp_col= "timestamp", # this is where we'll cache things like sentence vectors; this directory doesn't have to exist; we'll create it for you! vector_directory = "./vector_data/", - # give us names for the utterance (chat), speaker (user), and conversation-level outputs - output_file_path_chat_level = "./my_output_chat_level.csv", - output_file_path_user_level = "./my_output_user_level.csv", - output_file_path_conv_level = "./my_output_conversation_level.csv", - # if true, this will combine successive turns by the same speaker. + # this will be the base file path for which we generate the three outputs; + # you will get your outputs in output/chat/my_output_chat_level.csv; output/conv/my_output_conv_level.csv; and output/user/my_output_user_level. + output_file_base = "my_output" + # it will also store the output into output/turns/my_output_chat_level.csv turns = False, # these features depend on sentence vectors, so they take longer to generate on larger datasets. Add them in manually if you are interested in adding them to your output! custom_features = [ @@ -76,7 +77,70 @@ Once you import the tool, you will be able to declare a FeatureBuilder object, w ) # this line of code runs the FeatureBuilder on your data - my_feature_builder.featurize(col="message") + my_feature_builder.featurize() + +Inspecting Generated Features +++++++++++++++++++++++++++++++ + +Feature Information +^^^^^^^^^^^^^^^^^^^^^ +Every FeatureBuilder object has an underlying property called the **feature_dict**, which lists information and references about the features included in the toolkit. Assuming that **my_feature_builder** is the name of your FeatureBuilder, you can access the feature dictionary as follows: + +.. code-block:: python + + my_feature_builder.feature_dict + +The keys of this dictionary are the formal feature names, and the value is a JSON blob with information about the feature or collection of features. A more nicely-displayed version of this dictionary is also available on our `website `_. + +**New in v.0.1.4**: To access a list of the formal feature names that a FeatureBuilder will generate, you can use the **feature_names** property: + +.. code-block:: python + + my_feature_builder.feature_names # a list of formal feature names included in featurization (e.g., "Team Burstiness") + +You can also use the **feature_names** property in tandem with the **feature_dict** to learn more about a specific feature; for example, the following code will show the dictionary entry for the first feature in **feature_names**: + +.. code-block:: python + + my_feature_builder.feature_dict[my_feature_builder.feature_names[0]] + +Here is some example output (for the RoBERTa sentiment feature): + +.. code-block:: text + + {'columns': ['positive_bert', 'negative_bert', 'neutral_bert'], + 'file': './utils/check_embeddings.py', + 'level': 'Chat', + 'semantic_grouping': 'Emotion', + 'description': 'The extent to which a statement is positive, negative, or neutral, as assigned by Cardiffnlp/twitter-roberta-base-sentiment-latest. The total scores (Positive, Negative, Neutral) sum to 1.', + 'references': '(Hugging Face, 2023)', + 'wiki_link': 'https://conversational-featurizer.readthedocs.io/en/latest/features_conceptual/positivity_bert.html', + 'function': None>, + 'dependencies': [], + 'preprocess': [], + 'vect_data': False, + 'bert_sentiment_data': True} + +Feature Column Names +^^^^^^^^^^^^^^^^^^^^^ + +Once you call **.featurize()**, you can also obtain a convenient list of the feature columns generated by the toolkit: + +.. code-block:: python + + my_feature_builder.chat_features # a list of the feature columns generated at the chat (utterance) level + my_feature_builder.conv_features_base # a list of the base (non-aggregated) feature columns at the conversation level + my_feature_builder.conv_features_all # a list of all feature columns at the conversation level, including aggregates + +These lists may be useful to you if you'd like to inspect which features in the output dataframe come from the FeatureBuilder; for example: + +.. code-block:: python + + jury_output_chat_level[my_feature_builder.chat_features] + + +Table of Contents +****************** Use the Table of Contents below to learn more about our tool. We recommend that you begin in the "Introduction" section, then explore other sections of the documentation as they become relevant to you. We recommend reading :ref:`basics` for a high-level overview of the requirements and parameters, and then reading through the :ref:`examples` for a detailed walkthrough and discussion of considerations. diff --git a/docs/build/html/_static/searchtools.js b/docs/build/html/_static/searchtools.js index b08d58c9..92da3f8b 100644 --- a/docs/build/html/_static/searchtools.js +++ b/docs/build/html/_static/searchtools.js @@ -178,7 +178,7 @@ const Search = { htmlToText: (htmlString, anchor) => { const htmlElement = new DOMParser().parseFromString(htmlString, 'text/html'); - for (const removalQuery of [".headerlink", "script", "style"]) { + for (const removalQuery of [".headerlinks", "script", "style"]) { htmlElement.querySelectorAll(removalQuery).forEach((el) => { el.remove() }); } if (anchor) { @@ -328,14 +328,13 @@ const Search = { for (const [title, foundTitles] of Object.entries(allTitles)) { if (title.toLowerCase().trim().includes(queryLower) && (queryLower.length >= title.length/2)) { for (const [file, id] of foundTitles) { - const score = Math.round(Scorer.title * queryLower.length / title.length); - const boost = titles[file] === title ? 1 : 0; // add a boost for document titles + let score = Math.round(100 * queryLower.length / title.length) normalResults.push([ docNames[file], titles[file] !== title ? `${titles[file]} > ${title}` : title, id !== null ? "#" + id : "", null, - score + boost, + score, filenames[file], ]); } diff --git a/docs/build/html/examples.html b/docs/build/html/examples.html index 87206ae3..f91818c9 100644 --- a/docs/build/html/examples.html +++ b/docs/build/html/examples.html @@ -66,6 +66,11 @@

  • Additional FeatureBuilder Considerations
  • +
  • Inspecting Generated Features +
  • @@ -155,16 +160,16 @@

    Configuring the FeatureBuildertimestamp_col = "timestamp", grouping_keys = ["batch_num", "round_num"], vector_directory = "./vector_data/", - output_file_path_chat_level = "./jury_output_chat_level.csv", - output_file_path_user_level = "./jury_output_user_level.csv", - output_file_path_conv_level = "./jury_output_conversation_level.csv", + output_file_base = "jury_output", turns = True ) -jury_feature_builder.featurize(col="message") +jury_feature_builder.featurize()

    Basic Input Columns

    +
    +
    Conversation Parameters
    @@ -203,21 +209,41 @@

    Basic Input Columns +
    Vector Directory
    +
    • The vector_directory is the name of a directory in which we will store some pre-processed information. Some features require running inference from HuggingFace’s RoBERTa-based sentiment model, and others require generating SBERT vectors. These processes take time, and we cache the outputs so that subsequent runs of the FeatureBuilder on the same dataset will not take as much time. Therefore, we require you to pass in a location where you’d like us to save these outputs.

        +
      • By default, the directory is named “vector_data/.”

      • Note that we do not require the name of the vector directory to be a folder that already exists; if it doesn’t exist, we will create it for you.

      • Inside the folder, we will store the RoBERTa outputs in a subfolder called “sentiment”, and the SBERT vectors in a subfolder called “sentence.” We will create both of these subfolders for you.

      • The turns parameter, which we will discuss later, controls whether or not you’d like the FeatureBuilder to treat successive utterances by the same individual as a single “turn,” or whether you’d like them to be treated separately. We will cache different versions of outputs based on this parameter; we use a subfolder called “chats” (when turns=False) or “turns” (when turns=True).

    • -
    • There are three output files for each run of the FeatureBuilder, which mirror the three levels of analysis: utterance-, speaker-, and conversation-level. (Please see the section on Generating Features: Utterance-, Speaker-, and Conversation-Level for more details.) However, this means that we require you to provide a path for where you would like us to store each of the output files; output_file_path_chat_level (Utterance- or Chat-Level Features), output_file_path_user_level (Speaker- or User-Level Features), and output_file_path_conv_level (Conversation-Level Features).

      +
    +

    +
    +
    Output File Naming Details
    +
      +
    • There are three output files for each run of the FeatureBuilder, which mirror the three levels of analysis: utterance-, speaker-, and conversation-level. (Please see the section on Generating Features: Utterance-, Speaker-, and Conversation-Level for more details.) These are generated using the output_file_base parameter.

      +
      +
        +
      • All of the outputs will be generated in a folder called “output.”

      • +
      • Within the “output” folder, we generate sub-folders such that the three files will be located in subfolders called “chat,” “user,” and “conv,” respectively.

      • +
      • Similar to the vector_directory parameter, the “chat” directory will be renamed to “turn” depending on the value of the turns parameter.

      • +
      +
      +
    • +
    • It is possible to generate different names for each of the three output files, rather than using the same base file path by modifying output_file_path_chat_level (Utterance- or Chat-Level Features), output_file_path_user_level (Speaker- or User-Level Features), and output_file_path_conv_level (Conversation-Level Features). However, because outputs are organized in the specific locations described above, we have specific requirements for inputting the output paths, and we will modify the path under the hood to match our file naming schema, rather than saving the file directly to the specified location.

      • We expect that you pass in a path, not just a filename. For example, the path needs to be “./my_file.csv”, and not just “my_file.csv”; you will get an error if you pass in only a name without the “/”.

      • -
      • Regardless of your path location, we will automatically append the name “output” to the fornt of your file path, such that all of the outputs will be generated in a folder called “output.”

      • -
      • Within the “output” folder, we will also generate sub-folders such that the three files will be located in subfolders called “chat,” “user,” and “conv,” respectively.

      • +
      • Regardless of your path location, we will automatically append the name “output” to the fornt of your file path.

      • +
      • Within the “output” folder, we will also generate the chat/user/conv sub-folders.

      • If you pass in a path that already contains the above automatically-generated elements (for example, “./output/chat/my_chat_features.csv”), we will skip these steps and directly save it in the relevant folder.

      • Similar to the vector_directory parameter, the “chat” directory will be renamed to “turn” depending on the value of the turns parameter.

      • This means that the following two ways of specifying an output path are equivalent, assuming that turns=False:

      • @@ -228,7 +254,7 @@

        Basic Input Columns -
      • And these two ways of specifying an output path are equivalent, assumign that turns=True:

      • +
      • And these two ways of specifying an output path are equivalent, assuming that turns=True:

      output_file_path_chat_level = "./jury_output_turn_level.csv"
       
      @@ -237,6 +263,11 @@ 

      Basic Input Columns +
      Turns
      +
      • The turns parameter controls whether we want to treat successive messages from the same person as a single turn. For example, in a text conversation, sometimes individuals will send many message in rapid succession, as follows:

          @@ -255,6 +286,7 @@

          Basic Input Columns

          Advanced Configuration Columns

          More advanced users of the FeatureBuilder should consider the following optional parameters, depending on their needs.

          @@ -373,6 +405,53 @@

          Additional FeatureBuilder Considerations +

          Inspecting Generated Features

          +
          +

          Feature Information

          +

          Every FeatureBuilder object has an underlying property called the feature_dict, which lists information and references about the features included in the toolkit. Assuming that jury_feature_builder is the name of your FeatureBuilder, you can access the feature dictionary as follows:

          +
          jury_feature_builder.feature_dict
          +
          +
          +

          The keys of this dictionary are the formal feature names, and the value is a JSON blob with information about the feature or collection of features. A more nicely-displayed version of this dictionary is also available on our website.

          +

          New in v.0.1.4: To access a list of the formal feature names that a FeatureBuilder will generate, you can use the feature_names property:

          +
          jury_feature_builder.feature_names # a list of formal feature names included in featurization (e.g., "Team Burstiness")
          +
          +
          +

          You can also use the feature_names property in tandem with the feature_dict to learn more about a specific feature; for example, the following code will show the dictionary entry for the first feature in feature_names:

          +
          jury_feature_builder.feature_dict[jury_feature_builder.feature_names[0]]
          +
          +
          +

          Here is some example output (for the RoBERTa sentiment feature):

          +
          {'columns': ['positive_bert', 'negative_bert', 'neutral_bert'],
          + 'file': './utils/check_embeddings.py',
          + 'level': 'Chat',
          + 'semantic_grouping': 'Emotion',
          + 'description': 'The extent to which a statement is positive, negative, or neutral, as assigned by Cardiffnlp/twitter-roberta-base-sentiment-latest. The total scores (Positive, Negative, Neutral) sum to 1.',
          + 'references': '(Hugging Face, 2023)',
          + 'wiki_link': 'https://conversational-featurizer.readthedocs.io/en/latest/features_conceptual/positivity_bert.html',
          + 'function': <function team_comm_tools.utils.calculate_chat_level_features.ChatLevelFeaturesCalculator.concat_bert_features(self) -> None>,
          + 'dependencies': [],
          + 'preprocess': [],
          + 'vect_data': False,
          + 'bert_sentiment_data': True}
          +
          +
          +
          +
          +

          Feature Column Names

          +

          Once you call .featurize(), you can also obtain a convenient list of the feature columns generated by the toolkit:

          +
          jury_feature_builder.chat_features # a list of the feature columns generated at the chat (utterance) level
          +jury_feature_builder.conv_features_base # a list of the base (non-aggregated) feature columns at the conversation level
          +jury_feature_builder.conv_features_all # a list of all feature columns at the conversation level, including aggregates
          +
          +
          +

          These lists may be useful to you if you’d like to inspect which features in the output dataframe come from the FeatureBuilder; for example:

          +
          jury_output_chat_level[jury_feature_builder.chat_features]
          +
          +
          +
          +

    diff --git a/docs/build/html/feature_builder.html b/docs/build/html/feature_builder.html index d74e306f..16fbb9a7 100644 --- a/docs/build/html/feature_builder.html +++ b/docs/build/html/feature_builder.html @@ -97,7 +97,7 @@

    feature_builder module

    -class feature_builder.FeatureBuilder(input_df: DataFrame, vector_directory: str, output_file_path_chat_level: str, output_file_path_user_level: str, output_file_path_conv_level: str, custom_features: list = [], analyze_first_pct: list = [1.0], turns: bool = False, conversation_id_col: str = 'conversation_num', speaker_id_col: str = 'speaker_nickname', message_col: str = 'message', timestamp_col: str | tuple[str, str] = 'timestamp', grouping_keys: list = [], cumulative_grouping=False, within_task=False, ner_training_df: DataFrame = None, ner_cutoff: int = 0.9, regenerate_vectors: bool = False)
    +class feature_builder.FeatureBuilder(input_df: ~pandas.core.frame.DataFrame, vector_directory: ./vector_data/, output_file_base='output', output_file_path_chat_level=None, output_file_path_user_level=None, output_file_path_conv_level=None, custom_features: list = [], analyze_first_pct: list = [1.0], turns: bool = False, conversation_id_col: str = 'conversation_num', speaker_id_col: str = 'speaker_nickname', message_col: str = 'message', timestamp_col: str | tuple[str, str] = 'timestamp', grouping_keys: list = [], cumulative_grouping=False, within_task=False, ner_training_df: ~pandas.core.frame.DataFrame = None, ner_cutoff: int = 0.9, regenerate_vectors: bool = False, compute_vectors_from_preprocessed: bool = False)

    Bases: object

    The FeatureBuilder is the main engine that reads in the user’s inputs and specifications and generates conversational features. The FeatureBuilder separately calls the classes (the ChatLevelFeaturesCalculator, @@ -107,10 +107,11 @@

    Parameters:
    • input_df (pd.DataFrame) – A pandas DataFrame containing the conversation data that you wish to featurize.

    • -
    • vector_directory (str) – Directory path where the vectors are to be cached.

    • -
    • output_file_path_chat_level (str) – Path where the chat (utterance)-level output csv file is to be generated.

    • -
    • output_file_path_user_level (str) – Path where the user (speaker)-level output csv file is to be generated.

    • -
    • output_file_path_conv_level (str) – Path where the conversation-level output csv file is to be generated.

    • +
    • vector_directory (str) – Directory path where the vectors are to be cached. Defaults to “./vector_data/”

    • +
    • output_file_base (str) – Base name for the output files, which will be used to auto-generate filenames for each of the three levels. Defaults to “output.”

    • +
    • output_file_path_chat_level (str) – Path where the chat (utterance)-level output csv file is to be generated. (This parameter will override the base name.)

    • +
    • output_file_path_user_level (str) – Path where the user (speaker)-level output csv file is to be generated. (This parameter will override the base name.)

    • +
    • output_file_path_conv_level (str) – Path where the conversation-level output csv file is to be generated. (This parameter will override the base name.)

    • custom_features (list, optional) – A list of additional features outside of the default features that should be calculated. Defaults to an empty list (i.e., no additional features beyond the defaults will be computed).

    • analyze_first_pct (list(float), optional) – Analyze the first X% of the data. This parameter is useful because the earlier stages of the conversation may be more predictive than the later stages. Thus, researchers may wish to analyze only the first X% of the conversation data and compare the performance with using the full dataset. Defaults to [1.0].

    • @@ -130,6 +131,7 @@
    • ner_training_df (pd.DataFrame) – This is a pandas dataframe of training data for named entity recognition feature. Defaults to None, and will not generate named entity featuers if it does not exist.

    • ner_cutoff (int) – This is the cutoff value for the confidence of prediction for each named entity. Defaults to 0.9.

    • regenerate_vectors (bool, optional) – If true, will regenerate vector data even if it already exists. Defaults to False.

    • +
    • compute_vectors_from_preprocessed (bool, optional) – If true, computes vectors using preprocessed text (that is, with capitalization and punctuation removed). This was the default behavior for v.0.1.3 and earlier, but we now default to computing metrics on the unpreprocessed text (which INCLUDES capitalization and punctuation). Defaults to False.

    Returns:
    @@ -174,22 +176,19 @@
    -featurize(col: str = 'message') None
    +featurize() None

    Main driver function for feature generation.

    This function creates chat-level features, generates features for different truncation percentages of the data if specified, and produces user-level and conversation-level features. Finally, the features are saved into the designated output files.

    -
    Parameters:
    -

    col (str, optional) – Column to preprocess, defaults to “message”

    +
    Returns:
    +

    None

    -
    Returns:
    +
    Return type:

    None

    -
    Return type:
    -

    None

    -
    diff --git a/docs/build/html/features/lexical_features_v2.html b/docs/build/html/features/lexical_features_v2.html index 249171b1..3ad8fd6b 100644 --- a/docs/build/html/features/lexical_features_v2.html +++ b/docs/build/html/features/lexical_features_v2.html @@ -54,7 +54,7 @@
  • basic_features module
  • certainty module
  • lexical_features_v2 module
  • @@ -114,12 +114,10 @@ — A faster version of the lexical_features.py file.

    -
    -features.lexical_features_v2.get_liwc_rate(regex, chat)
    +
    +features.lexical_features_v2.get_liwc_count(regex, chat)

    ” -Computes the LIWC features as a rate per 100 words, per best practice (Yeomans et al. 2023; https://www.mikeyeomans.info/papers/PGCR_yeomans.pdf, p. 42)

    -

    We apply the following formula: -Rate of word use / 100 words = count / chat length * (chat length / 100)

    +Count the number of LIWC lexicon words

    Parameters:
      @@ -128,7 +126,7 @@
    Returns:
    -

    The rate at which the message uses words from a given lexicon.

    +

    The number of lexicon words present in the message

    Return type:

    float

    @@ -141,7 +139,7 @@ features.lexical_features_v2.liwc_features(chat_df: DataFrame, message_col) DataFrame

    This function takes in the chat level input dataframe and computes lexical features -(rates at which the message contains contains words from a given lexicon, such as LIWC).

    +(the number of words from a given lexicon, such as LIWC).

    Parameters:
    diff --git a/docs/build/html/genindex.html b/docs/build/html/genindex.html index 32100a3c..bbb31849 100644 --- a/docs/build/html/genindex.html +++ b/docs/build/html/genindex.html @@ -512,7 +512,7 @@

    G

  • get_info_exchange_wordcount() (in module features.info_exchange_zscore)
  • -
  • get_liwc_rate() (in module features.lexical_features_v2) +
  • get_liwc_count() (in module features.lexical_features_v2)
  • get_max() (in module utils.summarize_features)
  • diff --git a/docs/build/html/index.html b/docs/build/html/index.html index 5353d11e..a522400c 100644 --- a/docs/build/html/index.html +++ b/docs/build/html/index.html @@ -110,6 +110,8 @@

    Import Recommendations: Virtual Environment and Pip

    Using the Package

    +
    +

    Declaring a FeatureBuilder

    Once you import the tool, you will be able to declare a FeatureBuilder object, which is the heart of our tool. Here is some sample syntax:

    +
    +
    +

    Inspecting Generated Features

    +
    +

    Feature Information

    +

    Every FeatureBuilder object has an underlying property called the feature_dict, which lists information and references about the features included in the toolkit. Assuming that my_feature_builder is the name of your FeatureBuilder, you can access the feature dictionary as follows:

    +
    my_feature_builder.feature_dict
    +
    +
    +

    The keys of this dictionary are the formal feature names, and the value is a JSON blob with information about the feature or collection of features. A more nicely-displayed version of this dictionary is also available on our website.

    +

    New in v.0.1.4: To access a list of the formal feature names that a FeatureBuilder will generate, you can use the feature_names property:

    +
    my_feature_builder.feature_names # a list of formal feature names included in featurization (e.g., "Team Burstiness")
    +
    +
    +

    You can also use the feature_names property in tandem with the feature_dict to learn more about a specific feature; for example, the following code will show the dictionary entry for the first feature in feature_names:

    +
    my_feature_builder.feature_dict[my_feature_builder.feature_names[0]]
    +
    +
    +

    Here is some example output (for the RoBERTa sentiment feature):

    +
    {'columns': ['positive_bert', 'negative_bert', 'neutral_bert'],
    + 'file': './utils/check_embeddings.py',
    + 'level': 'Chat',
    + 'semantic_grouping': 'Emotion',
    + 'description': 'The extent to which a statement is positive, negative, or neutral, as assigned by Cardiffnlp/twitter-roberta-base-sentiment-latest. The total scores (Positive, Negative, Neutral) sum to 1.',
    + 'references': '(Hugging Face, 2023)',
    + 'wiki_link': 'https://conversational-featurizer.readthedocs.io/en/latest/features_conceptual/positivity_bert.html',
    + 'function': <function team_comm_tools.utils.calculate_chat_level_features.ChatLevelFeaturesCalculator.concat_bert_features(self) -> None>,
    + 'dependencies': [],
    + 'preprocess': [],
    + 'vect_data': False,
    + 'bert_sentiment_data': True}
    +
    +
    +
    +
    +

    Feature Column Names

    +

    Once you call .featurize(), you can also obtain a convenient list of the feature columns generated by the toolkit:

    +
    my_feature_builder.chat_features # a list of the feature columns generated at the chat (utterance) level
    +my_feature_builder.conv_features_base # a list of the base (non-aggregated) feature columns at the conversation level
    +my_feature_builder.conv_features_all # a list of all feature columns at the conversation level, including aggregates
    +
    +
    +

    These lists may be useful to you if you’d like to inspect which features in the output dataframe come from the FeatureBuilder; for example:

    +
    jury_output_chat_level[my_feature_builder.chat_features]
    +
    +
    +
    +
    +
    +
    +

    Table of Contents

    Use the Table of Contents below to learn more about our tool. We recommend that you begin in the “Introduction” section, then explore other sections of the documentation as they become relevant to you. We recommend reading The Basics for a high-level overview of the requirements and parameters, and then reading through the Worked Example for a detailed walkthrough and discussion of considerations.

    Contents:

    diff --git a/docs/build/html/objects.inv b/docs/build/html/objects.inv index 2016ee37b660e13551e619335e4649e060d4d07d..7ce944fa3772c7e03e3b513c1c221b3eece7bf29 100644 GIT binary patch delta 4072 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 aj$B*w@(!!os@F=a+HgI5`Ro4^gm{zur|`xA delta 4041 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 diff --git a/docs/build/html/searchindex.js b/docs/build/html/searchindex.js index a845cc9c..2c6bb4a1 100644 --- a/docs/build/html/searchindex.js +++ b/docs/build/html/searchindex.js @@ -1 +1 @@ -Search.setIndex({"alltitles": {"A Light-Touch, One-Function Package": [[0, "a-light-touch-one-function-package"]], "Additional FeatureBuilder Considerations": [[1, "additional-featurebuilder-considerations"]], "Advanced Configuration Columns": [[1, "advanced-configuration-columns"]], "Basic Input Columns": [[1, "basic-input-columns"]], "Certainty": [[30, null]], "Citation": [[29, "citation"], [30, "citation"], [31, "citation"], [32, "citation"], [33, "citation"], [34, "citation"], [35, "citation"], [36, "citation"], [37, "citation"], [38, "citation"], [40, "citation"], [41, "citation"], [42, "citation"], [43, "citation"], [44, "citation"], [45, "citation"], [46, "citation"], [47, "citation"], [48, "citation"], [49, "citation"], [50, "citation"], [51, "citation"], [52, "citation"], [53, "citation"], [54, "citation"], [55, "citation"], [56, "citation"], [57, "citation"], [58, "citation"], [59, "citation"], [60, "citation"]], "Configuring the FeatureBuilder": [[1, "configuring-the-featurebuilder"]], "Content Word Accommodation": [[31, null]], "Contents:": [[61, null]], "Conversation-Level Features": [[11, "conversation-level-features"], [39, "conversation-level-features"]], "Conversational Repair": [[32, null]], "Customizable Parameters": [[0, "customizable-parameters"]], "Dale-Chall Score": [[33, null]], "Demo / Sample Code": [[0, "demo-sample-code"], [1, "demo-sample-code"]], "Discursive Diversity": [[34, null]], "Example:": [[41, "example"]], "FEATURE NAME": [[29, null]], "Feature Documentation": [[62, "feature-documentation"]], "Features: Conceptual Documentation": [[39, null]], "Features: Technical Documentation": [[11, null]], "Forward Flow": [[35, null]], "Function Word Accommodation": [[36, null]], "Generating Features: Utterance-, Speaker-, and Conversation-Level": [[62, "generating-features-utterance-speaker-and-conversation-level"]], "Getting Started": [[1, "getting-started"], [61, "getting-started"], [62, "getting-started"]], "Gini Coefficient": [[37, null]], "Hedge": [[38, null]], "High*Level Intuition": [[54, "high-level-intuition"]], "High-Level Intuition": [[29, "high-level-intuition"], [30, "high-level-intuition"], [31, "high-level-intuition"], [32, "high-level-intuition"], [33, "high-level-intuition"], [34, "high-level-intuition"], [35, "high-level-intuition"], [36, "high-level-intuition"], [37, "high-level-intuition"], [38, "high-level-intuition"], [40, "high-level-intuition"], [41, "high-level-intuition"], [42, "high-level-intuition"], [43, "high-level-intuition"], [44, "high-level-intuition"], [45, "high-level-intuition"], [46, "high-level-intuition"], [47, "high-level-intuition"], [48, "high-level-intuition"], [49, "high-level-intuition"], [50, "high-level-intuition"], [51, "high-level-intuition"], [52, "high-level-intuition"], [53, "high-level-intuition"], [55, "high-level-intuition"], [56, "high-level-intuition"], [57, "high-level-intuition"], [58, "high-level-intuition"], [59, "high-level-intuition"], [60, "high-level-intuition"]], "Implementation": [[32, "implementation"], [42, "implementation"], [52, "implementation"], [54, "implementation"]], "Implementation Basics": [[29, "implementation-basics"], [30, "implementation-basics"], [31, "implementation-basics"], [33, "implementation-basics"], [34, "implementation-basics"], [35, "implementation-basics"], [36, "implementation-basics"], [37, "implementation-basics"], [38, "implementation-basics"], [40, "implementation-basics"], [41, "implementation-basics"], [43, "implementation-basics"], [44, "implementation-basics"], [45, "implementation-basics"], [46, "implementation-basics"], [47, "implementation-basics"], [48, "implementation-basics"], [49, "implementation-basics"], [50, "implementation-basics"], [51, "implementation-basics"], [53, "implementation-basics"], [55, "implementation-basics"], [56, "implementation-basics"], [57, "implementation-basics"], [58, "implementation-basics"], [59, "implementation-basics"], [60, "implementation-basics"]], "Implementation Notes/Caveats": [[29, "implementation-notes-caveats"], [30, "implementation-notes-caveats"], [31, "implementation-notes-caveats"], [33, "implementation-notes-caveats"], [34, "implementation-notes-caveats"], [35, "implementation-notes-caveats"], [36, "implementation-notes-caveats"], [38, "implementation-notes-caveats"], [40, "implementation-notes-caveats"], [41, "implementation-notes-caveats"], [43, "implementation-notes-caveats"], [44, "implementation-notes-caveats"], [45, "implementation-notes-caveats"], [46, "implementation-notes-caveats"], [47, "implementation-notes-caveats"], [48, "implementation-notes-caveats"], [49, "implementation-notes-caveats"], [50, "implementation-notes-caveats"], [51, "implementation-notes-caveats"], [53, "implementation-notes-caveats"], [55, "implementation-notes-caveats"], [56, "implementation-notes-caveats"], [57, "implementation-notes-caveats"], [58, "implementation-notes-caveats"], [59, "implementation-notes-caveats"]], "Import Recommendations: Virtual Environment and Pip": [[1, "import-recommendations-virtual-environment-and-pip"], [61, "import-recommendations-virtual-environment-and-pip"]], "Importing the Package": [[1, "importing-the-package"]], "Indices and Tables": [[61, "indices-and-tables"]], "Information Diversity": [[40, null]], "Information Exchange": [[41, null]], "Input File": [[34, "id2"]], "Interpretation:": [[41, "interpretation"]], "Interpreting the Feature": [[29, "interpreting-the-feature"], [30, "interpreting-the-feature"], [31, "interpreting-the-feature"], [32, "interpreting-the-feature"], [33, "interpreting-the-feature"], [34, "interpreting-the-feature"], [35, "interpreting-the-feature"], [36, "interpreting-the-feature"], [37, "interpreting-the-feature"], [38, "interpreting-the-feature"], [40, "interpreting-the-feature"], [41, "interpreting-the-feature"], [42, "interpreting-the-feature"], [43, "interpreting-the-feature"], [44, "interpreting-the-feature"], [45, "interpreting-the-feature"], [46, "interpreting-the-feature"], [47, "interpreting-the-feature"], [48, "interpreting-the-feature"], [49, "interpreting-the-feature"], [50, "interpreting-the-feature"], [51, "interpreting-the-feature"], [52, "interpreting-the-feature"], [53, "interpreting-the-feature"], [54, "interpreting-the-feature"], [55, "interpreting-the-feature"], [56, "interpreting-the-feature"], [57, "interpreting-the-feature"], [58, "interpreting-the-feature"], [59, "interpreting-the-feature"], [60, "interpreting-the-feature"]], "Introduction": [[62, null]], "Key Assumptions and Parameters": [[0, "key-assumptions-and-parameters"]], "Linguistic Inquiry and Word Count (LIWC) and Other Lexicons": [[42, null]], "Message Length": [[43, null]], "Message Quantity": [[44, null]], "Mimicry (BERT)": [[45, null]], "Motivation": [[62, "motivation"]], "Moving Mimicry": [[46, null]], "Named Entity Recognition": [[47, null]], "Named Entity Training Examples": [[47, "id2"]], "Online Discussion Tags": [[48, null]], "Other Utilities": [[69, "other-utilities"]], "Ouput File": [[34, "id3"]], "Our Team": [[62, "our-team"]], "Output File": [[30, "id2"], [35, "id2"], [45, "id2"], [46, "id2"], [47, "id3"], [51, "id1"]], "Package Assumptions": [[0, "package-assumptions"]], "Politeness Strategies": [[50, null]], "Politeness/Receptiveness Markers": [[49, null]], "Positivity Z-Score": [[52, null]], "Proportion of First Person Pronouns": [[53, null]], "Question (Naive)": [[54, null]], "Related Features": [[29, "related-features"], [30, "related-features"], [31, "related-features"], [32, "related-features"], [33, "related-features"], [34, "related-features"], [35, "related-features"], [36, "related-features"], [37, "related-features"], [38, "related-features"], [40, "related-features"], [41, "related-features"], [42, "related-features"], [43, "related-features"], [44, "related-features"], [45, "related-features"], [46, "related-features"], [47, "related-features"], [48, "related-features"], [49, "related-features"], [50, "related-features"], [51, "related-features"], [52, "related-features"], [53, "related-features"], [54, "related-features"], [55, "related-features"], [56, "related-features"], [57, "related-features"], [58, "related-features"], [59, "related-features"], [60, "related-features"]], "Sentiment (RoBERTa)": [[51, null]], "Speaker Turn Counts": [[59, "id2"]], "Speaker- (User) Level Features": [[11, "speaker-user-level-features"]], "Team Burstiness": [[55, null]], "Textblob Polarity": [[56, null]], "Textblob Subjectivity": [[57, null]], "The Basics": [[0, null]], "The FeatureBuilder": [[62, "the-featurebuilder"]], "The Team Communication Toolkit": [[61, null]], "Time Difference": [[58, null]], "Troubleshooting": [[1, "troubleshooting"], [61, "troubleshooting"]], "Turn Taking Index": [[59, null]], "Using the Package": [[61, "using-the-package"]], "Utilities": [[69, null]], "Utterance- (Chat) Level Features": [[11, "utterance-chat-level-features"], [39, "utterance-chat-level-features"]], "Walkthrough: Running the FeatureBuilder on Your Data": [[1, "walkthrough-running-the-featurebuilder-on-your-data"]], "Word Type-Token Ratio": [[60, null]], "Worked Example": [[1, null]], "assign_chunk_nums module": [[63, null]], "basic_features module": [[3, null]], "burstiness module": [[4, null]], "calculate_chat_level_features module": [[64, null]], "calculate_conversation_level_features module": [[65, null]], "calculate_user_level_features module": [[66, null]], "certainty module": [[5, null]], "check_embeddings module": [[67, null]], "discursive_diversity module": [[6, null]], "feature_builder module": [[2, null]], "fflow module": [[7, null]], "get_all_DD_features module": [[8, null]], "get_user_network module": [[9, null]], "gini_coefficient module": [[68, null]], "hedge module": [[10, null]], "info_exchange_zscore module": [[12, null]], "information_diversity module": [[13, null]], "lexical_features_v2 module": [[14, null]], "named_entity_recognition_features module": [[15, null]], "other_lexical_features module": [[16, null]], "politeness_features module": [[17, null]], "politeness_v2 module": [[18, null]], "politeness_v2_helper module": [[19, null]], "preload_word_lists module": [[70, null]], "preprocess module": [[71, null]], "question_num module": [[20, null]], "readability module": [[21, null]], "reddit_tags module": [[22, null]], "summarize_features module": [[72, null]], "temporal_features module": [[23, null]], "textblob_sentiment_analysis module": [[24, null]], "turn_taking_features module": [[25, null]], "variance_in_DD module": [[26, null]], "within_person_discursive_range module": [[27, null]], "word_mimicry module": [[28, null]], "z-scores:": [[41, "z-scores"]], "zscore_chats_and_conversation module": [[73, null]], "\u201cDriver\u201d Classes: Utterance-, Conversation-, and Speaker-Level Features": [[69, "driver-classes-utterance-conversation-and-speaker-level-features"]]}, "docnames": ["basics", "examples", "feature_builder", "features/basic_features", "features/burstiness", "features/certainty", "features/discursive_diversity", "features/fflow", "features/get_all_DD_features", "features/get_user_network", "features/hedge", "features/index", "features/info_exchange_zscore", "features/information_diversity", "features/lexical_features_v2", "features/named_entity_recognition_features", "features/other_lexical_features", "features/politeness_features", "features/politeness_v2", "features/politeness_v2_helper", "features/question_num", "features/readability", "features/reddit_tags", "features/temporal_features", "features/textblob_sentiment_analysis", "features/turn_taking_features", "features/variance_in_DD", "features/within_person_discursive_range", "features/word_mimicry", "features_conceptual/TEMPLATE", "features_conceptual/certainty", "features_conceptual/content_word_accommodation", "features_conceptual/conversational_repair", "features_conceptual/dale_chall_score", "features_conceptual/discursive_diversity", "features_conceptual/forward_flow", "features_conceptual/function_word_accommodation", "features_conceptual/gini_coefficient", "features_conceptual/hedge", "features_conceptual/index", "features_conceptual/information_diversity", "features_conceptual/information_exchange", "features_conceptual/liwc", "features_conceptual/message_length", "features_conceptual/message_quantity", "features_conceptual/mimicry_bert", "features_conceptual/moving_mimicry", "features_conceptual/named_entity_recognition", "features_conceptual/online_discussions_tags", "features_conceptual/politeness_receptiveness_markers", "features_conceptual/politeness_strategies", "features_conceptual/positivity_bert", "features_conceptual/positivity_z_score", "features_conceptual/proportion_of_first_person_pronouns", "features_conceptual/questions", "features_conceptual/team_burstiness", "features_conceptual/textblob_polarity", "features_conceptual/textblob_subjectivity", "features_conceptual/time_difference", "features_conceptual/turn_taking_index", "features_conceptual/word_ttr", "index", "intro", "utils/assign_chunk_nums", "utils/calculate_chat_level_features", "utils/calculate_conversation_level_features", "utils/calculate_user_level_features", "utils/check_embeddings", "utils/gini_coefficient", "utils/index", "utils/preload_word_lists", "utils/preprocess", "utils/summarize_features", "utils/zscore_chats_and_conversation"], "envversion": {"sphinx": 62, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2}, "filenames": ["basics.rst", "examples.rst", "feature_builder.rst", "features/basic_features.rst", "features/burstiness.rst", "features/certainty.rst", "features/discursive_diversity.rst", "features/fflow.rst", "features/get_all_DD_features.rst", "features/get_user_network.rst", "features/hedge.rst", "features/index.rst", "features/info_exchange_zscore.rst", "features/information_diversity.rst", "features/lexical_features_v2.rst", "features/named_entity_recognition_features.rst", "features/other_lexical_features.rst", "features/politeness_features.rst", "features/politeness_v2.rst", "features/politeness_v2_helper.rst", "features/question_num.rst", "features/readability.rst", "features/reddit_tags.rst", "features/temporal_features.rst", "features/textblob_sentiment_analysis.rst", "features/turn_taking_features.rst", "features/variance_in_DD.rst", "features/within_person_discursive_range.rst", "features/word_mimicry.rst", "features_conceptual/TEMPLATE.rst", "features_conceptual/certainty.rst", "features_conceptual/content_word_accommodation.rst", "features_conceptual/conversational_repair.rst", "features_conceptual/dale_chall_score.rst", "features_conceptual/discursive_diversity.rst", "features_conceptual/forward_flow.rst", "features_conceptual/function_word_accommodation.rst", "features_conceptual/gini_coefficient.rst", "features_conceptual/hedge.rst", "features_conceptual/index.rst", "features_conceptual/information_diversity.rst", "features_conceptual/information_exchange.rst", "features_conceptual/liwc.rst", "features_conceptual/message_length.rst", "features_conceptual/message_quantity.rst", "features_conceptual/mimicry_bert.rst", "features_conceptual/moving_mimicry.rst", "features_conceptual/named_entity_recognition.rst", "features_conceptual/online_discussions_tags.rst", "features_conceptual/politeness_receptiveness_markers.rst", "features_conceptual/politeness_strategies.rst", "features_conceptual/positivity_bert.rst", "features_conceptual/positivity_z_score.rst", "features_conceptual/proportion_of_first_person_pronouns.rst", "features_conceptual/questions.rst", "features_conceptual/team_burstiness.rst", "features_conceptual/textblob_polarity.rst", "features_conceptual/textblob_subjectivity.rst", "features_conceptual/time_difference.rst", "features_conceptual/turn_taking_index.rst", "features_conceptual/word_ttr.rst", "index.rst", "intro.rst", "utils/assign_chunk_nums.rst", "utils/calculate_chat_level_features.rst", "utils/calculate_conversation_level_features.rst", "utils/calculate_user_level_features.rst", "utils/check_embeddings.rst", "utils/gini_coefficient.rst", "utils/index.rst", "utils/preload_word_lists.rst", "utils/preprocess.rst", "utils/summarize_features.rst", "utils/zscore_chats_and_conversation.rst"], "indexentries": {"adverb_limiter() (in module features.politeness_v2_helper)": [[19, "features.politeness_v2_helper.adverb_limiter", false]], "assert_key_columns_present() (in module utils.preprocess)": [[71, "utils.preprocess.assert_key_columns_present", false]], "assign_chunk_nums() (in module utils.assign_chunk_nums)": [[63, "utils.assign_chunk_nums.assign_chunk_nums", false]], "bare_command() (in module features.politeness_v2_helper)": [[19, "features.politeness_v2_helper.bare_command", false]], "built_spacy_ner() (in module features.named_entity_recognition_features)": [[15, "features.named_entity_recognition_features.built_spacy_ner", false]], "burstiness() (in module features.burstiness)": [[4, "features.burstiness.burstiness", false]], "calculate_chat_level_features() (utils.calculate_chat_level_features.chatlevelfeaturescalculator method)": [[64, "utils.calculate_chat_level_features.ChatLevelFeaturesCalculator.calculate_chat_level_features", false]], "calculate_conversation_level_features() (utils.calculate_conversation_level_features.conversationlevelfeaturescalculator method)": [[65, "utils.calculate_conversation_level_features.ConversationLevelFeaturesCalculator.calculate_conversation_level_features", false]], "calculate_hedge_features() (utils.calculate_chat_level_features.chatlevelfeaturescalculator method)": [[64, "utils.calculate_chat_level_features.ChatLevelFeaturesCalculator.calculate_hedge_features", false]], "calculate_id_score() (in module features.information_diversity)": [[13, "features.information_diversity.calculate_ID_score", false]], "calculate_info_diversity() (utils.calculate_conversation_level_features.conversationlevelfeaturescalculator method)": [[65, "utils.calculate_conversation_level_features.ConversationLevelFeaturesCalculator.calculate_info_diversity", false]], "calculate_named_entities() (in module features.named_entity_recognition_features)": [[15, "features.named_entity_recognition_features.calculate_named_entities", false]], "calculate_num_question_naive() (in module features.question_num)": [[20, "features.question_num.calculate_num_question_naive", false]], "calculate_politeness_sentiment() (utils.calculate_chat_level_features.chatlevelfeaturescalculator method)": [[64, "utils.calculate_chat_level_features.ChatLevelFeaturesCalculator.calculate_politeness_sentiment", false]], "calculate_politeness_v2() (utils.calculate_chat_level_features.chatlevelfeaturescalculator method)": [[64, "utils.calculate_chat_level_features.ChatLevelFeaturesCalculator.calculate_politeness_v2", false]], "calculate_team_burstiness() (utils.calculate_conversation_level_features.conversationlevelfeaturescalculator method)": [[65, "utils.calculate_conversation_level_features.ConversationLevelFeaturesCalculator.calculate_team_burstiness", false]], "calculate_textblob_sentiment() (utils.calculate_chat_level_features.chatlevelfeaturescalculator method)": [[64, "utils.calculate_chat_level_features.ChatLevelFeaturesCalculator.calculate_textblob_sentiment", false]], "calculate_user_level_features() (utils.calculate_user_level_features.userlevelfeaturescalculator method)": [[66, "utils.calculate_user_level_features.UserLevelFeaturesCalculator.calculate_user_level_features", false]], "calculate_vector_word_mimicry() (utils.calculate_chat_level_features.chatlevelfeaturescalculator method)": [[64, "utils.calculate_chat_level_features.ChatLevelFeaturesCalculator.calculate_vector_word_mimicry", false]], "calculate_word_mimicry() (utils.calculate_chat_level_features.chatlevelfeaturescalculator method)": [[64, "utils.calculate_chat_level_features.ChatLevelFeaturesCalculator.calculate_word_mimicry", false]], "chat_level_features() (feature_builder.featurebuilder method)": [[2, "feature_builder.FeatureBuilder.chat_level_features", false]], "chatlevelfeaturescalculator (class in utils.calculate_chat_level_features)": [[64, "utils.calculate_chat_level_features.ChatLevelFeaturesCalculator", false]], "check_embeddings() (in module utils.check_embeddings)": [[67, "utils.check_embeddings.check_embeddings", false]], "classify_ntri() (in module features.other_lexical_features)": [[16, "features.other_lexical_features.classify_NTRI", false]], "classify_text_dalechall() (in module features.readability)": [[21, "features.readability.classify_text_dalechall", false]], "clean_text() (in module features.politeness_v2_helper)": [[19, "features.politeness_v2_helper.clean_text", false]], "coerce_to_date_or_number() (in module features.temporal_features)": [[23, "features.temporal_features.coerce_to_date_or_number", false]], "commit_data() (in module features.politeness_v2_helper)": [[19, "features.politeness_v2_helper.commit_data", false]], "compress() (in module utils.preprocess)": [[71, "utils.preprocess.compress", false]], "compute_frequency() (in module features.word_mimicry)": [[28, "features.word_mimicry.compute_frequency", false]], "computetf() (in module features.word_mimicry)": [[28, "features.word_mimicry.computeTF", false]], "concat_bert_features() (utils.calculate_chat_level_features.chatlevelfeaturescalculator method)": [[64, "utils.calculate_chat_level_features.ChatLevelFeaturesCalculator.concat_bert_features", false]], "conjection_seperator() (in module features.politeness_v2_helper)": [[19, "features.politeness_v2_helper.conjection_seperator", false]], "content_mimicry_score() (in module features.word_mimicry)": [[28, "features.word_mimicry.Content_mimicry_score", false]], "conv_level_features() (feature_builder.featurebuilder method)": [[2, "feature_builder.FeatureBuilder.conv_level_features", false]], "conv_to_float_arr() (in module features.get_all_dd_features)": [[8, "features.get_all_DD_features.conv_to_float_arr", false]], "conversationlevelfeaturescalculator (class in utils.calculate_conversation_level_features)": [[65, "utils.calculate_conversation_level_features.ConversationLevelFeaturesCalculator", false]], "count_all_caps() (in module features.reddit_tags)": [[22, "features.reddit_tags.count_all_caps", false]], "count_bullet_points() (in module features.reddit_tags)": [[22, "features.reddit_tags.count_bullet_points", false]], "count_characters() (in module features.basic_features)": [[3, "features.basic_features.count_characters", false]], "count_difficult_words() (in module features.readability)": [[21, "features.readability.count_difficult_words", false]], "count_ellipses() (in module features.reddit_tags)": [[22, "features.reddit_tags.count_ellipses", false]], "count_emojis() (in module features.reddit_tags)": [[22, "features.reddit_tags.count_emojis", false]], "count_emphasis() (in module features.reddit_tags)": [[22, "features.reddit_tags.count_emphasis", false]], "count_line_breaks() (in module features.reddit_tags)": [[22, "features.reddit_tags.count_line_breaks", false]], "count_links() (in module features.reddit_tags)": [[22, "features.reddit_tags.count_links", false]], "count_matches() (in module features.politeness_v2_helper)": [[19, "features.politeness_v2_helper.count_matches", false]], "count_messages() (in module features.basic_features)": [[3, "features.basic_features.count_messages", false]], "count_numbering() (in module features.reddit_tags)": [[22, "features.reddit_tags.count_numbering", false]], "count_parentheses() (in module features.reddit_tags)": [[22, "features.reddit_tags.count_parentheses", false]], "count_quotes() (in module features.reddit_tags)": [[22, "features.reddit_tags.count_quotes", false]], "count_responding_to_someone() (in module features.reddit_tags)": [[22, "features.reddit_tags.count_responding_to_someone", false]], "count_spacy_matches() (in module features.politeness_v2_helper)": [[19, "features.politeness_v2_helper.count_spacy_matches", false]], "count_syllables() (in module features.readability)": [[21, "features.readability.count_syllables", false]], "count_turn_taking_index() (in module features.turn_taking_features)": [[25, "features.turn_taking_features.count_turn_taking_index", false]], "count_turns() (in module features.turn_taking_features)": [[25, "features.turn_taking_features.count_turns", false]], "count_user_references() (in module features.reddit_tags)": [[22, "features.reddit_tags.count_user_references", false]], "count_words() (in module features.basic_features)": [[3, "features.basic_features.count_words", false]], "create_chunks() (in module utils.assign_chunk_nums)": [[63, "utils.assign_chunk_nums.create_chunks", false]], "create_chunks_messages() (in module utils.assign_chunk_nums)": [[63, "utils.assign_chunk_nums.create_chunks_messages", false]], "create_cumulative_rows() (in module utils.preprocess)": [[71, "utils.preprocess.create_cumulative_rows", false]], "dale_chall_helper() (in module features.readability)": [[21, "features.readability.dale_chall_helper", false]], "feat_counts() (in module features.politeness_v2_helper)": [[19, "features.politeness_v2_helper.feat_counts", false]], "feature_builder": [[2, "module-feature_builder", false]], "featurebuilder (class in feature_builder)": [[2, "feature_builder.FeatureBuilder", false]], "features.basic_features": [[3, "module-features.basic_features", false]], "features.burstiness": [[4, "module-features.burstiness", false]], "features.certainty": [[5, "module-features.certainty", false]], "features.discursive_diversity": [[6, "module-features.discursive_diversity", false]], "features.fflow": [[7, "module-features.fflow", false]], "features.get_all_dd_features": [[8, "module-features.get_all_DD_features", false]], "features.get_user_network": [[9, "module-features.get_user_network", false]], "features.hedge": [[10, "module-features.hedge", false]], "features.info_exchange_zscore": [[12, "module-features.info_exchange_zscore", false]], "features.information_diversity": [[13, "module-features.information_diversity", false]], "features.lexical_features_v2": [[14, "module-features.lexical_features_v2", false]], "features.named_entity_recognition_features": [[15, "module-features.named_entity_recognition_features", false]], "features.other_lexical_features": [[16, "module-features.other_lexical_features", false]], "features.politeness_features": [[17, "module-features.politeness_features", false]], "features.politeness_v2": [[18, "module-features.politeness_v2", false]], "features.politeness_v2_helper": [[19, "module-features.politeness_v2_helper", false]], "features.question_num": [[20, "module-features.question_num", false]], "features.readability": [[21, "module-features.readability", false]], "features.reddit_tags": [[22, "module-features.reddit_tags", false]], "features.temporal_features": [[23, "module-features.temporal_features", false]], "features.textblob_sentiment_analysis": [[24, "module-features.textblob_sentiment_analysis", false]], "features.turn_taking_features": [[25, "module-features.turn_taking_features", false]], "features.variance_in_dd": [[26, "module-features.variance_in_DD", false]], "features.within_person_discursive_range": [[27, "module-features.within_person_discursive_range", false]], "features.word_mimicry": [[28, "module-features.word_mimicry", false]], "featurize() (feature_builder.featurebuilder method)": [[2, "feature_builder.FeatureBuilder.featurize", false]], "function_mimicry_score() (in module features.word_mimicry)": [[28, "features.word_mimicry.function_mimicry_score", false]], "generate_bert() (in module utils.check_embeddings)": [[67, "utils.check_embeddings.generate_bert", false]], "generate_certainty_pkl() (in module utils.check_embeddings)": [[67, "utils.check_embeddings.generate_certainty_pkl", false]], "generate_lexicon_pkl() (in module utils.check_embeddings)": [[67, "utils.check_embeddings.generate_lexicon_pkl", false]], "generate_vect() (in module utils.check_embeddings)": [[67, "utils.check_embeddings.generate_vect", false]], "get_average() (in module utils.summarize_features)": [[72, "utils.summarize_features.get_average", false]], "get_centroids() (utils.calculate_user_level_features.userlevelfeaturescalculator method)": [[66, "utils.calculate_user_level_features.UserLevelFeaturesCalculator.get_centroids", false]], "get_certainty() (in module features.certainty)": [[5, "features.certainty.get_certainty", false]], "get_certainty_score() (utils.calculate_chat_level_features.chatlevelfeaturescalculator method)": [[64, "utils.calculate_chat_level_features.ChatLevelFeaturesCalculator.get_certainty_score", false]], "get_content_words_in_message() (in module features.word_mimicry)": [[28, "features.word_mimicry.get_content_words_in_message", false]], "get_conversation_level_aggregates() (utils.calculate_conversation_level_features.conversationlevelfeaturescalculator method)": [[65, "utils.calculate_conversation_level_features.ConversationLevelFeaturesCalculator.get_conversation_level_aggregates", false]], "get_cosine_similarity() (in module features.discursive_diversity)": [[6, "features.discursive_diversity.get_cosine_similarity", false]], "get_dale_chall_easy_words() (in module utils.preload_word_lists)": [[70, "utils.preload_word_lists.get_dale_chall_easy_words", false]], "get_dale_chall_score_and_classfication() (utils.calculate_chat_level_features.chatlevelfeaturescalculator method)": [[64, "utils.calculate_chat_level_features.ChatLevelFeaturesCalculator.get_dale_chall_score_and_classfication", false]], "get_dd() (in module features.discursive_diversity)": [[6, "features.discursive_diversity.get_DD", false]], "get_dd_features() (in module features.get_all_dd_features)": [[8, "features.get_all_DD_features.get_DD_features", false]], "get_dep_pairs() (in module features.politeness_v2_helper)": [[19, "features.politeness_v2_helper.get_dep_pairs", false]], "get_dep_pairs_noneg() (in module features.politeness_v2_helper)": [[19, "features.politeness_v2_helper.get_dep_pairs_noneg", false]], "get_discursive_diversity_features() (utils.calculate_conversation_level_features.conversationlevelfeaturescalculator method)": [[65, "utils.calculate_conversation_level_features.ConversationLevelFeaturesCalculator.get_discursive_diversity_features", false]], "get_first_pct_of_chat() (feature_builder.featurebuilder method)": [[2, "feature_builder.FeatureBuilder.get_first_pct_of_chat", false]], "get_first_person_words() (in module utils.preload_word_lists)": [[70, "utils.preload_word_lists.get_first_person_words", false]], "get_forward_flow() (in module features.fflow)": [[7, "features.fflow.get_forward_flow", false]], "get_forward_flow() (utils.calculate_chat_level_features.chatlevelfeaturescalculator method)": [[64, "utils.calculate_chat_level_features.ChatLevelFeaturesCalculator.get_forward_flow", false]], "get_function_words() (in module utils.preload_word_lists)": [[70, "utils.preload_word_lists.get_function_words", false]], "get_function_words_in_message() (in module features.word_mimicry)": [[28, "features.word_mimicry.get_function_words_in_message", false]], "get_gini() (in module utils.gini_coefficient)": [[68, "utils.gini_coefficient.get_gini", false]], "get_gini_features() (utils.calculate_conversation_level_features.conversationlevelfeaturescalculator method)": [[65, "utils.calculate_conversation_level_features.ConversationLevelFeaturesCalculator.get_gini_features", false]], "get_info_diversity() (in module features.information_diversity)": [[13, "features.information_diversity.get_info_diversity", false]], "get_info_exchange_wordcount() (in module features.info_exchange_zscore)": [[12, "features.info_exchange_zscore.get_info_exchange_wordcount", false]], "get_liwc_rate() (in module features.lexical_features_v2)": [[14, "features.lexical_features_v2.get_liwc_rate", false]], "get_max() (in module utils.summarize_features)": [[72, "utils.summarize_features.get_max", false]], "get_mimicry_bert() (in module features.word_mimicry)": [[28, "features.word_mimicry.get_mimicry_bert", false]], "get_min() (in module utils.summarize_features)": [[72, "utils.summarize_features.get_min", false]], "get_moving_mimicry() (in module features.word_mimicry)": [[28, "features.word_mimicry.get_moving_mimicry", false]], "get_named_entity() (utils.calculate_chat_level_features.chatlevelfeaturescalculator method)": [[64, "utils.calculate_chat_level_features.ChatLevelFeaturesCalculator.get_named_entity", false]], "get_nan_vector() (in module features.within_person_discursive_range)": [[27, "features.within_person_discursive_range.get_nan_vector", false]], "get_polarity_score() (in module features.textblob_sentiment_analysis)": [[24, "features.textblob_sentiment_analysis.get_polarity_score", false]], "get_politeness_strategies() (in module features.politeness_features)": [[17, "features.politeness_features.get_politeness_strategies", false]], "get_politeness_v2() (in module features.politeness_v2)": [[18, "features.politeness_v2.get_politeness_v2", false]], "get_proportion_first_pronouns() (in module features.other_lexical_features)": [[16, "features.other_lexical_features.get_proportion_first_pronouns", false]], "get_question_words() (in module utils.preload_word_lists)": [[70, "utils.preload_word_lists.get_question_words", false]], "get_reddit_features() (utils.calculate_chat_level_features.chatlevelfeaturescalculator method)": [[64, "utils.calculate_chat_level_features.ChatLevelFeaturesCalculator.get_reddit_features", false]], "get_sentiment() (in module utils.check_embeddings)": [[67, "utils.check_embeddings.get_sentiment", false]], "get_stdev() (in module utils.summarize_features)": [[72, "utils.summarize_features.get_stdev", false]], "get_subjectivity_score() (in module features.textblob_sentiment_analysis)": [[24, "features.textblob_sentiment_analysis.get_subjectivity_score", false]], "get_sum() (in module utils.summarize_features)": [[72, "utils.summarize_features.get_sum", false]], "get_team_burstiness() (in module features.burstiness)": [[4, "features.burstiness.get_team_burstiness", false]], "get_temporal_features() (utils.calculate_chat_level_features.chatlevelfeaturescalculator method)": [[64, "utils.calculate_chat_level_features.ChatLevelFeaturesCalculator.get_temporal_features", false]], "get_time_diff() (in module features.temporal_features)": [[23, "features.temporal_features.get_time_diff", false]], "get_time_diff_startend() (in module features.temporal_features)": [[23, "features.temporal_features.get_time_diff_startend", false]], "get_turn() (in module features.turn_taking_features)": [[25, "features.turn_taking_features.get_turn", false]], "get_turn_id() (in module utils.preprocess)": [[71, "utils.preprocess.get_turn_id", false]], "get_turn_taking_features() (utils.calculate_conversation_level_features.conversationlevelfeaturescalculator method)": [[65, "utils.calculate_conversation_level_features.ConversationLevelFeaturesCalculator.get_turn_taking_features", false]], "get_unique_pairwise_combos() (in module features.discursive_diversity)": [[6, "features.discursive_diversity.get_unique_pairwise_combos", false]], "get_user_average_dataframe() (in module utils.summarize_features)": [[72, "utils.summarize_features.get_user_average_dataframe", false]], "get_user_level_aggregates() (utils.calculate_conversation_level_features.conversationlevelfeaturescalculator method)": [[65, "utils.calculate_conversation_level_features.ConversationLevelFeaturesCalculator.get_user_level_aggregates", false]], "get_user_level_averaged_features() (utils.calculate_user_level_features.userlevelfeaturescalculator method)": [[66, "utils.calculate_user_level_features.UserLevelFeaturesCalculator.get_user_level_averaged_features", false]], "get_user_level_summary_statistics_features() (utils.calculate_user_level_features.userlevelfeaturescalculator method)": [[66, "utils.calculate_user_level_features.UserLevelFeaturesCalculator.get_user_level_summary_statistics_features", false]], "get_user_level_summed_features() (utils.calculate_user_level_features.userlevelfeaturescalculator method)": [[66, "utils.calculate_user_level_features.UserLevelFeaturesCalculator.get_user_level_summed_features", false]], "get_user_network() (in module features.get_user_network)": [[9, "features.get_user_network.get_user_network", false]], "get_user_network() (utils.calculate_user_level_features.userlevelfeaturescalculator method)": [[66, "utils.calculate_user_level_features.UserLevelFeaturesCalculator.get_user_network", false]], "get_user_sum_dataframe() (in module utils.summarize_features)": [[72, "utils.summarize_features.get_user_sum_dataframe", false]], "get_variance_in_dd() (in module features.variance_in_dd)": [[26, "features.variance_in_DD.get_variance_in_DD", false]], "get_within_person_disc_range() (in module features.within_person_discursive_range)": [[27, "features.within_person_discursive_range.get_within_person_disc_range", false]], "get_word_ttr() (in module features.other_lexical_features)": [[16, "features.other_lexical_features.get_word_TTR", false]], "get_zscore_across_all_chats() (in module utils.zscore_chats_and_conversation)": [[73, "utils.zscore_chats_and_conversation.get_zscore_across_all_chats", false]], "get_zscore_across_all_conversations() (in module utils.zscore_chats_and_conversation)": [[73, "utils.zscore_chats_and_conversation.get_zscore_across_all_conversations", false]], "gini_coefficient() (in module utils.gini_coefficient)": [[68, "utils.gini_coefficient.gini_coefficient", false]], "info_diversity() (in module features.information_diversity)": [[13, "features.information_diversity.info_diversity", false]], "info_exchange() (utils.calculate_chat_level_features.chatlevelfeaturescalculator method)": [[64, "utils.calculate_chat_level_features.ChatLevelFeaturesCalculator.info_exchange", false]], "is_hedged_sentence_1() (in module features.hedge)": [[10, "features.hedge.is_hedged_sentence_1", false]], "lexical_features() (utils.calculate_chat_level_features.chatlevelfeaturescalculator method)": [[64, "utils.calculate_chat_level_features.ChatLevelFeaturesCalculator.lexical_features", false]], "liwc_features() (in module features.lexical_features_v2)": [[14, "features.lexical_features_v2.liwc_features", false]], "load_saved_data() (in module features.politeness_v2_helper)": [[19, "features.politeness_v2_helper.load_saved_data", false]], "load_to_dict() (in module features.politeness_v2_helper)": [[19, "features.politeness_v2_helper.load_to_dict", false]], "load_to_lists() (in module features.politeness_v2_helper)": [[19, "features.politeness_v2_helper.load_to_lists", false]], "merge_conv_data_with_original() (feature_builder.featurebuilder method)": [[2, "feature_builder.FeatureBuilder.merge_conv_data_with_original", false]], "mimic_words() (in module features.word_mimicry)": [[28, "features.word_mimicry.mimic_words", false]], "module": [[2, "module-feature_builder", false], [3, "module-features.basic_features", false], [4, "module-features.burstiness", false], [5, "module-features.certainty", false], [6, "module-features.discursive_diversity", false], [7, "module-features.fflow", false], [8, "module-features.get_all_DD_features", false], [9, "module-features.get_user_network", false], [10, "module-features.hedge", false], [12, "module-features.info_exchange_zscore", false], [13, "module-features.information_diversity", false], [14, "module-features.lexical_features_v2", false], [15, "module-features.named_entity_recognition_features", false], [16, "module-features.other_lexical_features", false], [17, "module-features.politeness_features", false], [18, "module-features.politeness_v2", false], [19, "module-features.politeness_v2_helper", false], [20, "module-features.question_num", false], [21, "module-features.readability", false], [22, "module-features.reddit_tags", false], [23, "module-features.temporal_features", false], [24, "module-features.textblob_sentiment_analysis", false], [25, "module-features.turn_taking_features", false], [26, "module-features.variance_in_DD", false], [27, "module-features.within_person_discursive_range", false], [28, "module-features.word_mimicry", false], [63, "module-utils.assign_chunk_nums", false], [64, "module-utils.calculate_chat_level_features", false], [65, "module-utils.calculate_conversation_level_features", false], [66, "module-utils.calculate_user_level_features", false], [67, "module-utils.check_embeddings", false], [68, "module-utils.gini_coefficient", false], [70, "module-utils.preload_word_lists", false], [71, "module-utils.preprocess", false], [72, "module-utils.summarize_features", false], [73, "module-utils.zscore_chats_and_conversation", false]], "named_entities() (in module features.named_entity_recognition_features)": [[15, "features.named_entity_recognition_features.named_entities", false]], "num_named_entity() (in module features.named_entity_recognition_features)": [[15, "features.named_entity_recognition_features.num_named_entity", false]], "other_lexical_features() (utils.calculate_chat_level_features.chatlevelfeaturescalculator method)": [[64, "utils.calculate_chat_level_features.ChatLevelFeaturesCalculator.other_lexical_features", false]], "phrase_split() (in module features.politeness_v2_helper)": [[19, "features.politeness_v2_helper.phrase_split", false]], "positivity_zscore() (utils.calculate_chat_level_features.chatlevelfeaturescalculator method)": [[64, "utils.calculate_chat_level_features.ChatLevelFeaturesCalculator.positivity_zscore", false]], "prep_simple() (in module features.politeness_v2_helper)": [[19, "features.politeness_v2_helper.prep_simple", false]], "prep_whole() (in module features.politeness_v2_helper)": [[19, "features.politeness_v2_helper.prep_whole", false]], "preprocess_chat_data() (feature_builder.featurebuilder method)": [[2, "feature_builder.FeatureBuilder.preprocess_chat_data", false]], "preprocess_conversation_columns() (in module utils.preprocess)": [[71, "utils.preprocess.preprocess_conversation_columns", false]], "preprocess_naive_turns() (in module utils.preprocess)": [[71, "utils.preprocess.preprocess_naive_turns", false]], "preprocess_text() (in module utils.preprocess)": [[71, "utils.preprocess.preprocess_text", false]], "preprocess_text_lowercase_but_retain_punctuation() (in module utils.preprocess)": [[71, "utils.preprocess.preprocess_text_lowercase_but_retain_punctuation", false]], "preprocessing() (in module features.information_diversity)": [[13, "features.information_diversity.preprocessing", false]], "punctuation_seperator() (in module features.politeness_v2_helper)": [[19, "features.politeness_v2_helper.punctuation_seperator", false]], "question() (in module features.politeness_v2_helper)": [[19, "features.politeness_v2_helper.Question", false]], "read_in_lexicons() (in module utils.check_embeddings)": [[67, "utils.check_embeddings.read_in_lexicons", false]], "reduce_chunks() (in module utils.assign_chunk_nums)": [[63, "utils.assign_chunk_nums.reduce_chunks", false]], "remove_active_user() (in module features.get_user_network)": [[9, "features.get_user_network.remove_active_user", false]], "save_features() (feature_builder.featurebuilder method)": [[2, "feature_builder.FeatureBuilder.save_features", false]], "sentence_pad() (in module features.politeness_v2_helper)": [[19, "features.politeness_v2_helper.sentence_pad", false]], "sentence_split() (in module features.politeness_v2_helper)": [[19, "features.politeness_v2_helper.sentence_split", false]], "sentenciser() (in module features.politeness_v2_helper)": [[19, "features.politeness_v2_helper.sentenciser", false]], "set_self_conv_data() (feature_builder.featurebuilder method)": [[2, "feature_builder.FeatureBuilder.set_self_conv_data", false]], "text_based_features() (utils.calculate_chat_level_features.chatlevelfeaturescalculator method)": [[64, "utils.calculate_chat_level_features.ChatLevelFeaturesCalculator.text_based_features", false]], "token_count() (in module features.politeness_v2_helper)": [[19, "features.politeness_v2_helper.token_count", false]], "train_spacy_ner() (in module features.named_entity_recognition_features)": [[15, "features.named_entity_recognition_features.train_spacy_ner", false]], "user_level_features() (feature_builder.featurebuilder method)": [[2, "feature_builder.FeatureBuilder.user_level_features", false]], "userlevelfeaturescalculator (class in utils.calculate_user_level_features)": [[66, "utils.calculate_user_level_features.UserLevelFeaturesCalculator", false]], "utils.assign_chunk_nums": [[63, "module-utils.assign_chunk_nums", false]], "utils.calculate_chat_level_features": [[64, "module-utils.calculate_chat_level_features", false]], "utils.calculate_conversation_level_features": [[65, "module-utils.calculate_conversation_level_features", false]], "utils.calculate_user_level_features": [[66, "module-utils.calculate_user_level_features", false]], "utils.check_embeddings": [[67, "module-utils.check_embeddings", false]], "utils.gini_coefficient": [[68, "module-utils.gini_coefficient", false]], "utils.preload_word_lists": [[70, "module-utils.preload_word_lists", false]], "utils.preprocess": [[71, "module-utils.preprocess", false]], "utils.summarize_features": [[72, "module-utils.summarize_features", false]], "utils.zscore_chats_and_conversation": [[73, "module-utils.zscore_chats_and_conversation", false]], "word_start() (in module features.politeness_v2_helper)": [[19, "features.politeness_v2_helper.word_start", false]]}, "objects": {"": [[2, 0, 0, "-", "feature_builder"]], "feature_builder": [[2, 1, 1, "", "FeatureBuilder"]], "feature_builder.FeatureBuilder": [[2, 2, 1, "", "chat_level_features"], [2, 2, 1, "", "conv_level_features"], [2, 2, 1, "", "featurize"], [2, 2, 1, "", "get_first_pct_of_chat"], [2, 2, 1, "", "merge_conv_data_with_original"], [2, 2, 1, "", "preprocess_chat_data"], [2, 2, 1, "", "save_features"], [2, 2, 1, "", "set_self_conv_data"], [2, 2, 1, "", "user_level_features"]], "features": [[3, 0, 0, "-", "basic_features"], [4, 0, 0, "-", "burstiness"], [5, 0, 0, "-", "certainty"], [6, 0, 0, "-", "discursive_diversity"], [7, 0, 0, "-", "fflow"], [8, 0, 0, "-", "get_all_DD_features"], [9, 0, 0, "-", "get_user_network"], [10, 0, 0, "-", "hedge"], [12, 0, 0, "-", "info_exchange_zscore"], [13, 0, 0, "-", "information_diversity"], [14, 0, 0, "-", "lexical_features_v2"], [15, 0, 0, "-", "named_entity_recognition_features"], [16, 0, 0, "-", "other_lexical_features"], [17, 0, 0, "-", "politeness_features"], [18, 0, 0, "-", "politeness_v2"], [19, 0, 0, "-", "politeness_v2_helper"], [20, 0, 0, "-", "question_num"], [21, 0, 0, "-", "readability"], [22, 0, 0, "-", "reddit_tags"], [23, 0, 0, "-", "temporal_features"], [24, 0, 0, "-", "textblob_sentiment_analysis"], [25, 0, 0, "-", "turn_taking_features"], [26, 0, 0, "-", "variance_in_DD"], [27, 0, 0, "-", "within_person_discursive_range"], [28, 0, 0, "-", "word_mimicry"]], "features.basic_features": [[3, 3, 1, "", "count_characters"], [3, 3, 1, "", "count_messages"], [3, 3, 1, "", "count_words"]], "features.burstiness": [[4, 3, 1, "", "burstiness"], [4, 3, 1, "", "get_team_burstiness"]], "features.certainty": [[5, 3, 1, "", "get_certainty"]], "features.discursive_diversity": [[6, 3, 1, "", "get_DD"], [6, 3, 1, "", "get_cosine_similarity"], [6, 3, 1, "", "get_unique_pairwise_combos"]], "features.fflow": [[7, 3, 1, "", "get_forward_flow"]], "features.get_all_DD_features": [[8, 3, 1, "", "conv_to_float_arr"], [8, 3, 1, "", "get_DD_features"]], "features.get_user_network": [[9, 3, 1, "", "get_user_network"], [9, 3, 1, "", "remove_active_user"]], "features.hedge": [[10, 3, 1, "", "is_hedged_sentence_1"]], "features.info_exchange_zscore": [[12, 3, 1, "", "get_info_exchange_wordcount"]], "features.information_diversity": [[13, 3, 1, "", "calculate_ID_score"], [13, 3, 1, "", "get_info_diversity"], [13, 3, 1, "", "info_diversity"], [13, 3, 1, "", "preprocessing"]], "features.lexical_features_v2": [[14, 3, 1, "", "get_liwc_rate"], [14, 3, 1, "", "liwc_features"]], "features.named_entity_recognition_features": [[15, 3, 1, "", "built_spacy_ner"], [15, 3, 1, "", "calculate_named_entities"], [15, 3, 1, "", "named_entities"], [15, 3, 1, "", "num_named_entity"], [15, 3, 1, "", "train_spacy_ner"]], "features.other_lexical_features": [[16, 3, 1, "", "classify_NTRI"], [16, 3, 1, "", "get_proportion_first_pronouns"], [16, 3, 1, "", "get_word_TTR"]], "features.politeness_features": [[17, 3, 1, "", "get_politeness_strategies"]], "features.politeness_v2": [[18, 3, 1, "", "get_politeness_v2"]], "features.politeness_v2_helper": [[19, 3, 1, "", "Question"], [19, 3, 1, "", "adverb_limiter"], [19, 3, 1, "", "bare_command"], [19, 3, 1, "", "clean_text"], [19, 3, 1, "", "commit_data"], [19, 3, 1, "", "conjection_seperator"], [19, 3, 1, "", "count_matches"], [19, 3, 1, "", "count_spacy_matches"], [19, 3, 1, "", "feat_counts"], [19, 3, 1, "", "get_dep_pairs"], [19, 3, 1, "", "get_dep_pairs_noneg"], [19, 3, 1, "", "load_saved_data"], [19, 3, 1, "", "load_to_dict"], [19, 3, 1, "", "load_to_lists"], [19, 3, 1, "", "phrase_split"], [19, 3, 1, "", "prep_simple"], [19, 3, 1, "", "prep_whole"], [19, 3, 1, "", "punctuation_seperator"], [19, 3, 1, "", "sentence_pad"], [19, 3, 1, "", "sentence_split"], [19, 3, 1, "", "sentenciser"], [19, 3, 1, "", "token_count"], [19, 3, 1, "", "word_start"]], "features.question_num": [[20, 3, 1, "", "calculate_num_question_naive"]], "features.readability": [[21, 3, 1, "", "classify_text_dalechall"], [21, 3, 1, "", "count_difficult_words"], [21, 3, 1, "", "count_syllables"], [21, 3, 1, "", "dale_chall_helper"]], "features.reddit_tags": [[22, 3, 1, "", "count_all_caps"], [22, 3, 1, "", "count_bullet_points"], [22, 3, 1, "", "count_ellipses"], [22, 3, 1, "", "count_emojis"], [22, 3, 1, "", "count_emphasis"], [22, 3, 1, "", "count_line_breaks"], [22, 3, 1, "", "count_links"], [22, 3, 1, "", "count_numbering"], [22, 3, 1, "", "count_parentheses"], [22, 3, 1, "", "count_quotes"], [22, 3, 1, "", "count_responding_to_someone"], [22, 3, 1, "", "count_user_references"]], "features.temporal_features": [[23, 3, 1, "", "coerce_to_date_or_number"], [23, 3, 1, "", "get_time_diff"], [23, 3, 1, "", "get_time_diff_startend"]], "features.textblob_sentiment_analysis": [[24, 3, 1, "", "get_polarity_score"], [24, 3, 1, "", "get_subjectivity_score"]], "features.turn_taking_features": [[25, 3, 1, "", "count_turn_taking_index"], [25, 3, 1, "", "count_turns"], [25, 3, 1, "", "get_turn"]], "features.variance_in_DD": [[26, 3, 1, "", "get_variance_in_DD"]], "features.within_person_discursive_range": [[27, 3, 1, "", "get_nan_vector"], [27, 3, 1, "", "get_within_person_disc_range"]], "features.word_mimicry": [[28, 3, 1, "", "Content_mimicry_score"], [28, 3, 1, "", "computeTF"], [28, 3, 1, "", "compute_frequency"], [28, 3, 1, "", "function_mimicry_score"], [28, 3, 1, "", "get_content_words_in_message"], [28, 3, 1, "", "get_function_words_in_message"], [28, 3, 1, "", "get_mimicry_bert"], [28, 3, 1, "", "get_moving_mimicry"], [28, 3, 1, "", "mimic_words"]], "utils": [[63, 0, 0, "-", "assign_chunk_nums"], [64, 0, 0, "-", "calculate_chat_level_features"], [65, 0, 0, "-", "calculate_conversation_level_features"], [66, 0, 0, "-", "calculate_user_level_features"], [67, 0, 0, "-", "check_embeddings"], [68, 0, 0, "-", "gini_coefficient"], [70, 0, 0, "-", "preload_word_lists"], [71, 0, 0, "-", "preprocess"], [72, 0, 0, "-", "summarize_features"], [73, 0, 0, "-", "zscore_chats_and_conversation"]], "utils.assign_chunk_nums": [[63, 3, 1, "", "assign_chunk_nums"], [63, 3, 1, "", "create_chunks"], [63, 3, 1, "", "create_chunks_messages"], [63, 3, 1, "", "reduce_chunks"]], "utils.calculate_chat_level_features": [[64, 1, 1, "", "ChatLevelFeaturesCalculator"]], "utils.calculate_chat_level_features.ChatLevelFeaturesCalculator": [[64, 2, 1, "", "calculate_chat_level_features"], [64, 2, 1, "", "calculate_hedge_features"], [64, 2, 1, "", "calculate_politeness_sentiment"], [64, 2, 1, "", "calculate_politeness_v2"], [64, 2, 1, "", "calculate_textblob_sentiment"], [64, 2, 1, "", "calculate_vector_word_mimicry"], [64, 2, 1, "", "calculate_word_mimicry"], [64, 2, 1, "", "concat_bert_features"], [64, 2, 1, "", "get_certainty_score"], [64, 2, 1, "", "get_dale_chall_score_and_classfication"], [64, 2, 1, "", "get_forward_flow"], [64, 2, 1, "", "get_named_entity"], [64, 2, 1, "", "get_reddit_features"], [64, 2, 1, "", "get_temporal_features"], [64, 2, 1, "", "info_exchange"], [64, 2, 1, "", "lexical_features"], [64, 2, 1, "", "other_lexical_features"], [64, 2, 1, "", "positivity_zscore"], [64, 2, 1, "", "text_based_features"]], "utils.calculate_conversation_level_features": [[65, 1, 1, "", "ConversationLevelFeaturesCalculator"]], "utils.calculate_conversation_level_features.ConversationLevelFeaturesCalculator": [[65, 2, 1, "", "calculate_conversation_level_features"], [65, 2, 1, "", "calculate_info_diversity"], [65, 2, 1, "", "calculate_team_burstiness"], [65, 2, 1, "", "get_conversation_level_aggregates"], [65, 2, 1, "", "get_discursive_diversity_features"], [65, 2, 1, "", "get_gini_features"], [65, 2, 1, "", "get_turn_taking_features"], [65, 2, 1, "", "get_user_level_aggregates"]], "utils.calculate_user_level_features": [[66, 1, 1, "", "UserLevelFeaturesCalculator"]], "utils.calculate_user_level_features.UserLevelFeaturesCalculator": [[66, 2, 1, "", "calculate_user_level_features"], [66, 2, 1, "", "get_centroids"], [66, 2, 1, "", "get_user_level_averaged_features"], [66, 2, 1, "", "get_user_level_summary_statistics_features"], [66, 2, 1, "", "get_user_level_summed_features"], [66, 2, 1, "", "get_user_network"]], "utils.check_embeddings": [[67, 3, 1, "", "check_embeddings"], [67, 3, 1, "", "generate_bert"], [67, 3, 1, "", "generate_certainty_pkl"], [67, 3, 1, "", "generate_lexicon_pkl"], [67, 3, 1, "", "generate_vect"], [67, 3, 1, "", "get_sentiment"], [67, 3, 1, "", "read_in_lexicons"]], "utils.gini_coefficient": [[68, 3, 1, "", "get_gini"], [68, 3, 1, "", "gini_coefficient"]], "utils.preload_word_lists": [[70, 3, 1, "", "get_dale_chall_easy_words"], [70, 3, 1, "", "get_first_person_words"], [70, 3, 1, "", "get_function_words"], [70, 3, 1, "", "get_question_words"]], "utils.preprocess": [[71, 3, 1, "", "assert_key_columns_present"], [71, 3, 1, "", "compress"], [71, 3, 1, "", "create_cumulative_rows"], [71, 3, 1, "", "get_turn_id"], [71, 3, 1, "", "preprocess_conversation_columns"], [71, 3, 1, "", "preprocess_naive_turns"], [71, 3, 1, "", "preprocess_text"], [71, 3, 1, "", "preprocess_text_lowercase_but_retain_punctuation"]], "utils.summarize_features": [[72, 3, 1, "", "get_average"], [72, 3, 1, "", "get_max"], [72, 3, 1, "", "get_min"], [72, 3, 1, "", "get_stdev"], [72, 3, 1, "", "get_sum"], [72, 3, 1, "", "get_user_average_dataframe"], [72, 3, 1, "", "get_user_sum_dataframe"]], "utils.zscore_chats_and_conversation": [[73, 3, 1, "", "get_zscore_across_all_chats"], [73, 3, 1, "", "get_zscore_across_all_conversations"]]}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "function", "Python function"]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:function"}, "terms": {"": [0, 1, 2, 4, 5, 9, 11, 13, 25, 28, 29, 31, 32, 34, 35, 36, 40, 41, 42, 43, 44, 45, 46, 47, 49, 50, 51, 52, 55, 59, 61, 62, 64, 65, 66], "0": [1, 2, 5, 10, 13, 16, 21, 24, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 43, 45, 46, 47, 50, 51, 53, 55, 59, 61], "000": 42, "00222437221134802": [5, 64], "01": 51, "02": 51, "04": 40, "0496": [21, 33], "05": [13, 40, 50, 51], "06": 51, "08": 50, "09": [45, 46, 50], "1": [1, 2, 3, 10, 13, 22, 24, 32, 34, 35, 37, 38, 40, 41, 42, 43, 44, 45, 46, 47, 48, 51, 53, 55, 56, 57, 59, 62], "10": [1, 5, 6, 21, 24, 33, 42, 59, 61, 64], "100": [1, 14, 21, 33, 37, 42, 47, 62], "1000": 42, "10th": 33, "1145": [21, 24], "1177": [5, 64], "11th": 33, "12": [35, 45, 46, 50], "1287": 6, "12th": 33, "13": 50, "14": 50, "15": [37, 50], "1579": [21, 33], "17": 50, "1948": 33, "195": 36, "1977": 62, "1lpngokujsx": 5, "1st": 50, "1st_person": 50, "1st_person_pl": 50, "1st_person_start": 50, "2": [1, 2, 34, 35, 41, 47, 59, 61, 62], "20": [37, 59], "2004": 42, "2007": [5, 42], "2009": 60, "2012": 55, "2013": [12, 16, 31, 32, 36, 37, 38, 41, 43, 50, 52, 54, 70], "2015": [53, 58, 60], "2016": 4, "2017": 13, "2018": [40, 44, 55], "2019": [35, 52], "2020": [18, 21, 24, 33, 49, 50, 56, 57], "2021": [1, 6, 43, 44], "2022": [13, 34], "2023": [5, 14, 30, 42, 59, 64], "2024": 40, "21": 59, "22": [41, 50], "2384068": 4, "24": [1, 61], "25": 47, "27": 50, "28": 50, "29": 50, "2nd": 50, "2nd_person": 50, "2nd_person_start": 50, "3": [1, 2, 21, 34, 41, 51, 59, 61, 71], "30": 50, "3000": 33, "32": [34, 50], "3432929": [21, 24], "35": 51, "36": 50, "38": 50, "39": 49, "39512260": 68, "3n": 59, "4": [5, 13, 21, 30, 33, 41, 56, 62], "42": 14, "4274": 6, "43": 50, "45": 50, "47": 50, "49": 50, "4pit4bqz6": 5, "4th": [21, 33], "5": [1, 5, 21, 30, 33, 37, 41, 59], "50": [1, 47], "52": 50, "53": 50, "57": 50, "58": 50, "5th": 33, "6": [1, 33, 43], "60": 51, "63": 50, "6365": 21, "68": 47, "6th": 33, "7": [30, 33, 48], "70": 50, "78": [35, 50], "7th": 33, "8": [1, 30, 33], "80": [21, 70], "82": 41, "85": 34, "86": 35, "87": 50, "89": [45, 46], "8th": 33, "9": [2, 5, 21, 30, 33, 40, 47, 50], "9123": 47, "92": 51, "93chall_readability_formula": [21, 70], "94": 15, "95": 47, "97": 51, "9855072464": 47, "9992": 47, "99954": 47, "9th": 33, "A": [1, 2, 4, 12, 13, 14, 15, 16, 17, 18, 19, 21, 23, 25, 28, 33, 34, 35, 37, 38, 40, 41, 44, 45, 46, 47, 49, 50, 51, 52, 57, 59, 60, 61, 62, 66, 67, 68, 70, 71, 72, 73], "And": [1, 62], "As": [1, 31, 35, 36, 40, 45, 61], "But": [1, 50, 62], "By": [1, 42, 50], "For": [0, 1, 31, 34, 37, 41, 42, 43, 47, 49, 54, 56, 59, 62, 65], "If": [0, 1, 2, 5, 21, 29, 30, 35, 45, 47, 50, 55, 61, 62, 63, 64, 67, 71], "In": [1, 21, 30, 31, 34, 35, 36, 37, 39, 41, 42, 45, 46, 47, 50, 55, 59, 61, 62], "It": [1, 2, 31, 32, 33, 36, 37, 41, 44, 45, 46, 50, 64, 65, 66, 67, 71], "NO": 37, "NOT": [1, 61], "No": [19, 53], "Not": 41, "One": [1, 37, 61], "That": [29, 55], "The": [1, 2, 3, 4, 5, 7, 9, 10, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 58, 59, 60, 63, 64, 65, 66, 67, 68, 69, 71, 72, 73], "Then": [1, 55, 61], "There": [1, 11, 32, 61, 66], "These": [1, 11, 17, 32, 34, 42, 48, 52, 62, 69], "To": [0, 1, 29, 31, 34, 37, 40, 55, 56, 57, 61, 62], "WITH": 21, "Will": 50, "_deviat": 55, "abil": [13, 29], "abl": [31, 36, 61], "abort": 1, "about": [1, 12, 29, 31, 36, 41, 47, 61, 62], "abov": [1, 21, 34, 61], "abstract_id": 4, "accept": [0, 1, 58, 61], "access": [0, 1, 15], "accommod": [28, 32, 39, 45, 46, 64, 65, 66], "accord": [21, 37, 59, 64, 70], "accordingli": 63, "account": [1, 29, 32, 42], "accus": 50, "achiev": [50, 62], "acknowledg": 49, "acm": [21, 24], "acommod": 36, "across": [1, 13, 28, 31, 34, 40, 41, 42, 50, 62, 64, 73], "action": 59, "activ": [1, 9, 44, 55, 71], "actual": [41, 56], "ad": [61, 62, 71], "adapt": 59, "add": [0, 1, 2, 21, 51, 61], "addit": [0, 2, 32, 34, 42, 63, 69], "addition": [30, 31, 32, 54], "address": 1, "adjac": 71, "adjust": [0, 21, 37, 63], "advanc": [31, 36], "advantag": 4, "adverb": [19, 31, 36], "adverb_limit": [19, 49], "affect": [1, 29, 35, 44], "affirm": 49, "after": [0, 1, 31, 34, 36, 43, 61, 62, 64], "again": [32, 34], "against": [28, 31, 36, 52], "agarw": 62, "aggreg": [0, 3, 11, 37, 44, 62, 65, 66, 72], "agre": 47, "agreement": 49, "ah": [31, 36], "ai": 62, "aim": [39, 62], "airtim": [37, 62], "al": [1, 5, 14, 16, 18, 21, 24, 30, 31, 32, 33, 34, 35, 36, 38, 42, 43, 44, 49, 50, 52, 53, 54, 56, 57, 58, 59, 60, 64], "algorithm": [56, 57], "align": [35, 51], "all": [0, 1, 2, 6, 12, 13, 15, 19, 22, 28, 30, 31, 34, 35, 36, 37, 40, 41, 42, 46, 48, 49, 51, 52, 55, 58, 61, 62, 64, 66, 71, 73], "allow": 1, "almaatouq": 59, "along": 1, "alongsid": 1, "alphabet": 49, "alphanumer": 71, "alreadi": [0, 1, 2, 4, 10, 12, 16, 67], "also": [0, 1, 2, 28, 30, 31, 32, 34, 36, 37, 38, 42, 47, 51, 54, 60, 61, 62, 64, 65, 67, 69, 71], "alsobai": 59, "altern": 59, "although": [1, 23, 31, 36], "alwai": [1, 55], "am": [31, 36, 42, 54, 62], "amaz": [48, 56], "ambient": 32, "american": 33, "ami": [47, 59, 62], "amic": 62, "among": [36, 37, 52, 55, 62], "amongst": [6, 35, 48], "an": [1, 2, 5, 8, 11, 12, 13, 21, 29, 30, 31, 32, 33, 34, 36, 38, 40, 41, 42, 45, 47, 48, 50, 51, 52, 54, 59, 60, 61, 62, 63, 65, 66, 68], "analys": [1, 62], "analysi": [1, 11, 52, 62, 71], "analyt": 62, "analyz": [0, 1, 2, 13, 14, 16, 17, 19, 20, 21, 22, 24, 28, 43, 52, 62, 67, 71], "analyze_first_pct": [0, 1, 2], "angri": 47, "ani": [0, 1, 29, 31, 33, 38, 54, 62, 71], "annot": [17, 50], "anoth": [30, 34, 36, 48], "answer": 29, "anybodi": [31, 36], "anyth": [1, 2, 23, 31, 36, 56], "anywher": [31, 36], "apartment": 42, "api": 47, "api_refer": 24, "apolog": [17, 50], "apologi": 49, "appear": [0, 15, 37, 38, 42, 64], "append": [1, 17, 64, 65, 66, 67], "appli": [4, 13, 14, 18, 62, 64, 69], "applic": [29, 71], "appreci": 50, "approach": [32, 38, 42, 45, 46, 49, 53, 64], "appropri": 69, "ar": [0, 1, 2, 3, 5, 9, 10, 11, 15, 17, 19, 21, 23, 28, 29, 30, 31, 32, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 47, 48, 49, 51, 54, 55, 56, 57, 58, 59, 61, 62, 63, 64, 65, 66, 67, 69, 71], "arcross": 34, "area": 62, "aren": [31, 36], "around": 2, "arous": 48, "arrai": [6, 8, 68], "articl": [37, 50], "ask": [20, 47, 54], "ask_ag": 49, "aspect": [50, 62], "assert_key_columns_pres": 71, "assign": [31, 36, 38, 45, 46, 52, 59, 63, 71], "assign_chunk_num": 69, "associ": [4, 15, 21, 29, 30, 31, 32, 36, 40, 45, 46, 47, 48, 61], "assum": [0, 1, 2, 10, 12, 16, 23, 41, 60, 71], "assumign": 1, "assumpt": [1, 41, 61], "asterisk": 22, "attribut": [1, 11, 34, 51, 52, 56, 62], "author": [5, 31, 36, 59], "automat": [1, 61, 69], "auxiliari": [31, 36], "avail": [62, 63, 64, 67], "averag": [11, 13, 28, 30, 33, 34, 35, 40, 41, 46, 52, 64, 65, 66, 72], "avil": 62, "avoid": 30, "awar": 29, "awesom": 62, "b": [4, 34, 35, 45, 46, 55, 62], "back": 62, "bag": [32, 38, 42, 45, 46, 49, 53, 56, 57], "bare_command": [19, 49], "base": [1, 2, 15, 18, 19, 31, 32, 34, 35, 36, 37, 40, 42, 51, 52, 53, 54, 55, 56, 57, 62, 63, 64, 65, 66, 71], "basic": [10, 11, 12, 16, 61, 62], "basic_featur": 11, "batch_num": 1, "bay": [56, 57], "bbevi": 18, "becaus": [1, 2, 12, 21, 31, 36, 40, 56, 61], "becom": [44, 61, 62], "been": [1, 2, 12, 16, 31, 36, 61], "befor": [0, 1, 2, 17, 31, 36, 45, 48], "beforehand": 64, "begin": [34, 54, 58, 61, 62, 63], "behavior": [62, 63], "being": [4, 13, 14, 16, 17, 20, 21, 24, 31, 32, 36, 43, 47, 51, 55, 56, 60], "belong": [1, 42], "below": [1, 11, 21, 33, 36, 45, 48, 51, 61, 62, 69], "ber": 54, "bert": [0, 1, 31, 35, 36, 39, 46, 61, 64, 67], "bert_path": 67, "bert_sentiment_data": 64, "best": [14, 29], "better": 61, "between": [4, 6, 13, 21, 23, 24, 28, 30, 31, 34, 35, 36, 37, 40, 45, 46, 55, 58, 59, 62, 64, 65], "betwen": 34, "beyond": 2, "big": 59, "binari": [10, 32, 38], "blame": 47, "blob": 24, "block": [22, 32, 48, 59], "blog": 15, "bold": [22, 64], "bool": [2, 63, 67, 71], "bootstrap": 62, "both": [1, 2, 42, 52, 54, 55, 59, 62], "bother": 50, "bottom": 59, "bought": 41, "bound": [29, 35, 36, 37, 42, 52, 55], "boundari": [34, 35], "break": [22, 48, 64], "brief": 44, "broader": 52, "broken": 59, "btw": 50, "bug": [1, 61], "build": [1, 7, 34, 45, 46, 62], "built": 11, "built_spacy_n": 15, "bullet": [22, 48, 64], "bunch": 59, "burst": 58, "bursti": [11, 39, 58, 65], "by_the_wai": 49, "c": [12, 34, 35, 45, 46, 62], "cach": [0, 1, 2, 51, 61], "calcul": [2, 5, 11, 12, 16, 18, 21, 28, 33, 41, 48, 49, 50, 56, 57, 58, 60, 62, 63, 64, 65, 66, 67, 68, 72, 73], "calculate_chat_level_featur": 69, "calculate_conversation_level_featur": 69, "calculate_hedge_featur": 64, "calculate_id_scor": 13, "calculate_info_divers": 65, "calculate_named_ent": 15, "calculate_num_question_na": 20, "calculate_politeness_senti": 64, "calculate_politeness_v2": 64, "calculate_team_bursti": 65, "calculate_textblob_senti": 64, "calculate_user_level_featur": 69, "calculate_vector_word_mimicri": 64, "calculate_word_mimicri": 64, "call": [1, 2, 8, 13, 61, 62, 64, 69], "can": [0, 1, 11, 23, 31, 32, 33, 34, 36, 37, 42, 43, 44, 47, 48, 49, 50, 52, 54, 60, 61, 62, 69], "can_you": 49, "cannot": [1, 31, 36, 45, 46, 49, 62], "cao": [21, 24, 33, 43, 44, 56, 57, 62], "cap": [22, 48, 64], "capit": 48, "captur": [29, 30, 32, 34, 35, 38, 41, 42, 55], "caract": 40, "carefulli": 60, "casa_token": 5, "case": [1, 13, 16, 29, 30, 31, 36, 37, 41, 45, 46, 51, 55, 56, 59, 61], "casual": 43, "categori": [21, 32, 45, 46, 49, 52], "caus": [31, 32, 36, 59], "caveat": 1, "center": 62, "central": 34, "centroid": [34, 66], "certain": [5, 19, 30, 42, 45, 46, 49], "certainli": 42, "certainti": [11, 38, 39, 42, 64, 67], "cfm": 4, "chall": [1, 21, 39, 64, 70], "chang": [1, 34, 50, 61, 71], "charact": [2, 3, 15, 19, 37, 49, 62, 64, 65, 66, 71], "characterist": 62, "chat": [0, 1, 2, 4, 5, 6, 7, 8, 12, 13, 14, 16, 23, 25, 28, 29, 32, 35, 36, 41, 44, 45, 46, 49, 59, 61, 63, 64, 65, 66, 67, 68, 69, 71, 72, 73], "chat_data": [2, 6, 7, 8, 26, 27, 28, 63, 64, 65, 66, 67, 71], "chat_df": 14, "chat_level_data": 72, "chat_level_featur": 2, "chatlevelfeaturescalcul": [2, 17, 21, 64, 69], "chats_data": 73, "check": [19, 23, 44, 64, 67, 71], "check_embed": 69, "chen": 62, "choos": 60, "chose": 1, "chunk": [34, 59, 63], "chunk_num": 63, "circlelyt": 13, "citat": [21, 24], "cite": 50, "clarif": [16, 32, 64], "class": [1, 2, 31, 61, 62, 64, 65, 66], "classif": [21, 64], "classifi": [16, 21, 50, 56, 57], "classify_ntri": 16, "classify_text_dalechal": 21, "clean": [2, 17, 19, 67], "clean_text": 19, "clear": 1, "close": [31, 48, 62], "closer": [45, 46, 59], "clue": 62, "cmu": 12, "code": [6, 18, 29, 32, 51, 55, 61, 62, 68], "coeffici": [4, 39, 62, 65, 68], "coerce_to_date_or_numb": 23, "cognit": 62, "col": [1, 2, 61], "colab": [0, 1], "collabor": [59, 62], "collaps": 2, "collect": [2, 34, 49, 50, 52, 62], "colleg": 33, "column": [0, 2, 4, 6, 7, 8, 9, 12, 13, 14, 16, 18, 23, 25, 28, 51, 56, 61, 62, 63, 64, 65, 66, 67, 68, 71, 72, 73], "column_count_frequ": 28, "column_count_mim": 28, "column_mimc": 28, "column_nam": 71, "column_to_summar": 72, "com": [1, 2, 4, 5, 13, 15, 18, 64, 68, 71], "comb": 62, "combin": [0, 1, 6, 28, 61, 64, 71], "come": [12, 13, 21, 32, 33, 58, 61], "comm": [1, 61], "command": [1, 61], "comment": 48, "commit": 23, "commit_data": 19, "common": [32, 62, 64], "commonli": 37, "commun": [0, 1, 11, 44, 48, 55, 60, 62, 64], "companion": 1, "compar": [2, 31, 35, 42, 44, 45, 52, 64, 71, 73], "compat": [1, 61], "complement": [31, 36], "complet": [1, 2, 55], "complex": [35, 43, 50, 62], "compon": 50, "comprehens": [33, 48], "compress": 71, "comput": [0, 2, 4, 5, 6, 10, 11, 12, 13, 14, 28, 29, 30, 31, 34, 35, 36, 37, 40, 41, 42, 45, 46, 49, 52, 55, 62, 64, 65, 66, 69, 73], "compute_frequ": 28, "computetf": 28, "conain": 61, "concat_bert_featur": 64, "concaten": [19, 49, 64, 71], "concentr": 55, "concept": [29, 39, 42, 62], "conceptu": [61, 62], "concis": 43, "concret": 29, "conduct": 1, "confid": [2, 5, 15, 30, 47, 64], "conflict": 62, "confound": 44, "congruent": 34, "conjection_seper": 19, "conjunct": [19, 31, 36, 49], "conjunction_start": 49, "connect": 39, "conscious": 35, "consecut": 22, "consid": [1, 33, 37], "consider": [61, 62], "consist": [36, 40, 41], "constitut": 41, "constrain": [34, 35], "construct": [11, 55, 62], "constructor": 47, "consult": 5, "contain": [1, 2, 3, 4, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 23, 25, 28, 29, 30, 35, 38, 42, 47, 49, 55, 61, 62, 63, 64, 67, 71, 72, 73], "content": [0, 1, 12, 13, 28, 34, 36, 39, 41, 42, 45, 46, 62, 64, 67], "content_mimicry_scor": 28, "content_word_mimicri": 28, "context": [2, 32, 42, 48, 62, 71], "continu": [56, 57], "contract": 49, "contrast": 39, "contribut": [13, 34, 37, 62], "control": 1, "conv": 1, "conv_data": [2, 65], "conv_level_featur": 2, "conv_to_float_arr": 8, "convei": [6, 34, 52], "convers": [0, 1, 2, 3, 4, 6, 7, 8, 9, 12, 13, 23, 25, 28, 29, 31, 34, 35, 36, 37, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 52, 55, 58, 59, 61, 63, 64, 65, 66, 68, 71, 72, 73], "conversation_id": [2, 28, 61, 71], "conversation_id_col": [0, 1, 2, 4, 6, 7, 8, 9, 13, 23, 25, 26, 27, 61, 63, 64, 65, 66, 68, 72, 73], "conversation_num": [0, 1, 2, 6, 7, 66, 71, 73], "conversationlevelfeaturescalcul": [2, 65, 69], "convert": [8, 41, 49, 71], "convict": 5, "convokit": [17, 50, 62, 64], "coordin": 55, "copi": [0, 1], "copular": [31, 36], "core": [34, 69], "cornel": 17, "corpu": 50, "corrado": 37, "correl": [41, 55], "correspond": [30, 34, 35, 40, 49, 55, 66], "cosin": [6, 7, 13, 28, 31, 34, 35, 36, 40, 45, 46, 65], "could": [1, 31, 33, 36, 50, 54], "could_you": 49, "couldn": [31, 36], "count": [1, 3, 12, 14, 15, 16, 19, 21, 25, 28, 30, 31, 32, 36, 39, 41, 43, 44, 49, 52, 53, 54, 56, 58, 64, 65, 66], "count_all_cap": 22, "count_bullet_point": 22, "count_charact": 3, "count_difficult_word": 21, "count_ellips": 22, "count_emoji": 22, "count_emphasi": 22, "count_line_break": 22, "count_link": 22, "count_match": [19, 49], "count_messag": 3, "count_numb": 22, "count_parenthes": 22, "count_quot": 22, "count_responding_to_someon": 22, "count_spacy_match": 19, "count_syl": 21, "count_turn": 25, "count_turn_taking_index": 25, "count_user_refer": 22, "count_word": 3, "countabl": 65, "countd": 36, "counterfactu": 50, "cours": [16, 31, 34, 36, 63], "creat": [0, 1, 2, 13, 19, 31, 40, 42, 61, 62, 64, 65, 66, 71], "create_chunk": 63, "create_chunks_messag": 63, "create_cumulative_row": 71, "credit": 33, "crowd": 13, "csv": [0, 1, 2, 61, 62, 67], "cumul": [1, 2, 71], "cumulative_group": [0, 1, 2, 71], "current": [1, 11, 23, 31, 34, 35, 36, 40, 45, 46, 58, 61, 64, 71], "curt": 43, "custom": [0, 62], "custom_featur": [0, 1, 2, 61], "customiz": 62, "cut": 1, "cutoff": [2, 15, 47, 64], "d": [1, 31, 34, 36], "dale": [1, 21, 39, 64, 70], "dale_chall_help": 21, "danescu": 50, "dash": 22, "data": [0, 2, 6, 7, 8, 9, 13, 19, 20, 32, 37, 40, 41, 47, 51, 55, 61, 62, 63, 64, 65, 66, 67, 68, 71, 72, 73], "datafram": [0, 1, 2, 4, 6, 7, 8, 9, 12, 13, 14, 15, 16, 17, 18, 19, 23, 25, 28, 37, 47, 49, 59, 62, 63, 64, 65, 66, 67, 68, 71, 72, 73], "dataknowsal": 15, "dataset": [1, 2, 9, 12, 13, 28, 31, 41, 47, 52, 61, 64, 65, 66, 73], "date": [1, 61], "datetim": [23, 58], "dcosta": 62, "deal": [50, 59], "death": 1, "debat": 59, "decid": 62, "decis": [1, 13, 62], "declar": [1, 61, 62, 69], "deepli": 62, "default": [0, 1, 2, 5, 13, 16, 30, 34, 35, 42, 47, 62, 63, 66, 67, 71, 73], "defer": [17, 50], "defin": [0, 11, 21, 31, 34, 36, 40, 59, 62, 64, 65, 66, 70], "definit": [1, 3, 44], "degre": [6, 30, 36, 45, 46, 55], "delet": 29, "deliber": 1, "demo": 61, "democrat": 1, "demystifi": 62, "denomin": 59, "densiti": 60, "dep_": 49, "dep_pair": 19, "depend": [0, 1, 10, 19, 32, 49, 52, 61, 63], "deriv": [2, 11, 65, 66], "describ": [11, 62], "design": [0, 1, 2, 13, 34, 62], "desir": [2, 63, 72], "detail": [0, 1, 33, 41, 43, 61, 62], "detect": [1, 32, 37, 38, 47, 48, 49, 54], "determin": [13, 18, 31, 35, 36, 40, 45, 46, 71], "dev": 24, "develop": [5, 37, 40, 62], "deviat": [4, 5, 29, 40, 41, 55, 58, 65, 72, 73], "df": [4, 8, 9, 12, 13, 16, 18, 23, 28, 63, 71], "dict": [17, 19, 28, 67], "dictionari": [15, 17, 19, 28, 30, 42, 49, 67], "did": [1, 31, 36, 37, 47, 50, 54, 62], "didn": [31, 36], "differ": [1, 2, 4, 11, 12, 23, 29, 31, 34, 36, 37, 39, 40, 44, 45, 46, 47, 49, 55, 62, 63, 64, 65, 66, 71], "differenti": [49, 59], "difficult": [21, 33], "difficult_word": 21, "difficulti": 33, "dimens": [40, 62], "dimension": [34, 35], "dinner": 41, "direct": [34, 43, 45, 47, 50, 69], "direct_quest": [32, 50, 54], "direct_start": 50, "directli": [1, 62, 69], "directori": [0, 1, 2, 19, 61, 65, 67], "disagr": 49, "disagre": 51, "discours": [31, 36], "discret": [31, 36, 45, 46], "discurs": [0, 1, 6, 8, 39, 40, 61, 65, 66], "discursive_divers": 11, "discus": 8, "discuss": [0, 1, 31, 34, 39, 40, 42, 43, 61, 62, 71], "dispers": 68, "displai": [34, 42, 46], "dispos": 1, "distanc": [34, 35, 40], "distinct": [36, 59], "distinguish": 59, "div": 16, "diverg": [6, 34, 35], "divers": [0, 1, 6, 8, 13, 39, 61, 65], "divid": [16, 34, 59, 63], "dl": [21, 24], "do": [0, 1, 29, 31, 34, 36, 37, 43, 49, 50, 54, 62, 69], "doc": 19, "doc_top": 13, "document": [1, 17, 61, 69], "doe": [1, 2, 29, 40, 42, 43, 45, 47, 54, 61, 71], "doesn": [0, 1, 2, 29, 31, 36, 45, 61], "doi": [5, 6, 21, 24, 64], "domain": 50, "don": [31, 36, 49, 54, 62, 67], "done": [2, 50], "dot": 22, "doubl": 30, "down": [31, 36], "download": [1, 61], "download_resourc": [1, 61], "downstream": [17, 62], "dozen": 62, "drive": [62, 69], "driver": [2, 61, 64, 65, 66], "drop": [2, 64], "due": [34, 59], "duncan": 62, "duplic": [1, 2, 71], "durat": [58, 63], "dure": [2, 55, 59, 62], "dynam": [59, 61], "e": [0, 1, 2, 4, 15, 20, 29, 30, 31, 32, 34, 35, 36, 37, 38, 41, 42, 47, 48, 49, 52, 54, 56, 59, 63, 65, 66, 71], "e2": [21, 70], "each": [0, 1, 2, 3, 4, 7, 8, 9, 11, 12, 15, 17, 19, 23, 25, 28, 30, 31, 34, 35, 36, 37, 40, 41, 42, 44, 45, 46, 47, 49, 50, 51, 52, 55, 59, 61, 62, 63, 64, 65, 66, 67, 68, 69, 71, 72, 73], "earlier": [0, 1, 2], "easi": [1, 21, 62, 70], "easier": [21, 42], "easili": 33, "easy_word": 21, "eat": 34, "echo": 31, "econom": 37, "edg": [29, 59], "edu": [1, 12, 16, 17, 70], "effect": [1, 41], "effici": 1, "effort": 55, "either": [20, 23, 52, 55], "elaps": [23, 58], "element": [1, 6], "ellips": [22, 48, 64], "els": [1, 22, 47, 64], "embed": [8, 31, 34, 35, 36, 45, 46, 65, 66, 67, 69], "emili": [30, 35, 45, 46, 47, 59, 62], "emoji": [22, 48, 64], "emoticon": 48, "emphas": [22, 48, 64], "emphasi": 48, "empirica": [1, 2, 71], "emploi": 45, "empti": [2, 13], "en": [21, 24, 70], "en_core_web_sm": [1, 61], "enabl": 71, "enclos": 22, "encod": [1, 8], "encompass": 62, "encount": [1, 34, 35, 61], "encourag": 64, "end": [0, 1, 15, 20, 23, 34, 54, 62, 63], "engag": 43, "engin": 2, "english": [34, 42], "enjoi": 62, "ensur": [0, 1, 40, 49, 61, 63, 67, 71], "entir": [1, 12, 36, 40, 41, 52, 59, 62, 73], "entiti": [0, 1, 2, 15, 39, 64], "entityrecogn": 47, "entri": 28, "ep8dauru1ogvjurwdbof5h6ayfbslvughjyiv31d_as6ppbt": 5, "equal": [1, 21, 23, 34, 37, 40, 55, 59, 61, 62, 63], "equival": [1, 41, 55, 61], "eric": 62, "error": [1, 16, 61], "especi": [41, 62], "essenti": [51, 71], "estim": 31, "et": [1, 5, 14, 16, 18, 21, 24, 30, 31, 32, 33, 34, 35, 36, 38, 42, 43, 44, 49, 50, 52, 53, 54, 56, 57, 58, 59, 60, 64], "etc": [10, 15, 16, 17, 42], "evalu": [5, 47, 50], "evan": 62, "even": [0, 1, 2, 34, 37, 42, 62, 63, 67], "evenli": [34, 55], "event": [1, 34, 55, 61], "ever": 62, "everi": [1, 4, 13, 31, 34, 35, 36, 62], "everybodi": [31, 36], "everyon": [31, 36, 47, 62], "everyth": [31, 36, 56], "everywher": [31, 36], "evolut": 35, "evolv": [35, 71], "exactli": [1, 2, 71], "examin": [40, 62, 63], "exampl": [0, 10, 11, 15, 21, 24, 29, 31, 32, 34, 37, 42, 43, 48, 50, 51, 54, 56, 59, 60, 61, 62], "example_data": 1, "exce": 15, "exchang": [12, 35, 39, 40, 45, 55, 64], "exclud": [0, 41, 42], "exclus": [41, 42], "excus": 32, "exhibit": 35, "exist": [0, 1, 2, 55, 61, 62, 63, 64, 67], "expand": 49, "expect": [1, 37, 47], "expected_valu": 47, "explain": 29, "explan": [29, 43], "explor": [61, 62], "express": [5, 14, 30, 31, 32, 36, 38, 42, 64], "extend": 1, "extens": [43, 44], "extent": [1, 4, 7, 12, 31, 34, 35, 37, 51, 55, 59], "extern": 48, "extra": 51, "extract": [1, 17, 19, 28, 40, 50, 64], "extrem": [55, 56, 57], "face": 51, "facilit": [62, 71], "fact": [4, 35, 50, 54, 59], "factual": [17, 24, 50], "fail": [1, 61], "fals": [1, 2, 31, 54, 61, 71], "famili": 42, "far": [34, 35, 46, 50, 62], "faster": 14, "feat_count": 19, "featuer": 2, "featur": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 61, 63, 64, 65, 66, 67], "feature_build": [0, 1, 61], "feature_method": [64, 65], "featurebuild": [0, 2, 47, 61, 69], "few": [48, 62], "fewer": [12, 60], "fflow": 11, "field": [13, 17], "file": [0, 1, 2, 12, 14, 19, 65, 67], "filenam": [0, 1, 19], "filenotfounderror": 67, "fill": 71, "filler": [37, 60], "filler_paus": 49, "filter": [19, 62], "final": [1, 2, 34, 42, 62], "find": [1, 19, 28, 50], "fingertip": 62, "finit": 55, "first": [0, 1, 2, 11, 12, 16, 19, 31, 34, 35, 36, 39, 40, 41, 42, 45, 46, 49, 52, 54, 59, 62, 64, 70, 71], "first_person": 12, "first_person_plur": 49, "first_person_raw": [12, 16], "first_person_singl": 49, "five": 37, "fix": 52, "flag": 71, "float": [2, 4, 5, 6, 8, 10, 13, 14, 16, 21, 24, 25, 28, 68], "floor": 59, "flow": [0, 1, 7, 31, 36, 39, 41, 45, 46, 61, 64], "focal": [31, 36], "focu": 41, "folder": [0, 1, 19], "follow": [1, 2, 14, 16, 17, 29, 31, 32, 33, 41, 42, 47, 49, 50, 53, 55, 59, 60, 61, 64, 65], "for_m": 49, "for_you": 49, "forc": [0, 1, 61], "form": 1, "formal_titl": 49, "format": [1, 8, 17, 22, 47, 48, 61, 62, 64], "former": [45, 46], "formula": [14, 33, 59, 64, 70], "fornt": 1, "forward": [0, 1, 7, 39, 41, 61, 64], "forward_flow": 35, "found": [1, 5, 28, 30, 33, 61, 69], "four": [1, 8], "fourth": 33, "frac": 55, "fraction": 59, "framework": [49, 50, 62], "frequenc": [28, 31, 44, 64], "frequency_dict": 28, "fridai": 34, "from": [0, 1, 2, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 16, 19, 21, 28, 29, 31, 32, 33, 34, 35, 36, 39, 41, 42, 49, 50, 51, 53, 55, 56, 57, 58, 61, 62, 64, 65, 66, 67, 71], "full": [1, 2, 37], "full_empirical_dataset": 1, "fulli": [32, 48], "functinon": 12, "function": [1, 2, 3, 4, 10, 11, 12, 13, 14, 16, 20, 21, 23, 28, 31, 39, 44, 45, 46, 50, 56, 57, 60, 61, 62, 63, 64, 65, 66, 67, 69, 70, 71, 72, 73], "function_mimic_word": 28, "function_mimicry_scor": 28, "function_word_mimicri": 28, "function_word_refer": 28, "fund": 62, "further": [1, 2, 61, 71], "futur": [23, 66], "g": [0, 1, 4, 15, 20, 29, 31, 32, 36, 37, 38, 41, 42, 47, 48, 52, 54, 59, 63, 65, 66, 71], "game": [1, 2, 59, 71], "gaug": [33, 52], "gener": [0, 1, 2, 9, 11, 12, 16, 21, 31, 34, 35, 36, 40, 42, 45, 46, 49, 51, 59, 61, 67, 69, 71, 72], "generaliz": 23, "generate_bert": 67, "generate_certainty_pkl": 67, "generate_lexicon_pkl": 67, "generate_vect": 67, "gensim": 40, "get": [0, 16, 20, 21, 28, 30, 31, 36, 49, 66], "get_all_dd_featur": 11, "get_averag": 72, "get_centroid": 66, "get_certainti": 5, "get_certainty_scor": 64, "get_content_words_in_messag": 28, "get_conversation_level_aggreg": 65, "get_cosine_similar": 6, "get_dale_chall_easy_word": [21, 70], "get_dale_chall_score_and_classf": 64, "get_dd": 6, "get_dd_featur": 8, "get_dep_pair": [19, 49], "get_dep_pairs_noneg": [19, 49], "get_discursive_diversity_featur": 65, "get_first_pct_of_chat": 2, "get_first_person_word": [12, 70], "get_forward_flow": [7, 64], "get_function_word": 70, "get_function_words_in_messag": 28, "get_gini": 68, "get_gini_featur": 65, "get_info_divers": 13, "get_info_exchange_wordcount": 12, "get_liwc_r": 14, "get_max": 72, "get_mimicry_bert": 28, "get_min": 72, "get_moving_mimicri": 28, "get_named_ent": 64, "get_nan_vector": 27, "get_polarity_scor": 24, "get_politeness_strategi": 17, "get_politeness_v2": 18, "get_proportion_first_pronoun": 16, "get_question_word": 70, "get_reddit_featur": 64, "get_senti": 67, "get_stdev": 72, "get_subjectivity_scor": 24, "get_sum": 72, "get_team_bursti": 4, "get_temporal_featur": [4, 64], "get_time_diff": 23, "get_time_diff_startend": 23, "get_turn": 25, "get_turn_id": 71, "get_turn_taking_featur": 65, "get_unique_pairwise_combo": 6, "get_user_average_datafram": 72, "get_user_level_aggreg": 65, "get_user_level_averaged_featur": 66, "get_user_level_summary_statistics_featur": 66, "get_user_level_summed_featur": 66, "get_user_network": [11, 66], "get_user_sum_datafram": 72, "get_variance_in_dd": 26, "get_within_person_disc_rang": 27, "get_word_ttr": 16, "get_zscore_across_all_chat": 73, "get_zscore_across_all_convers": 73, "gina": 62, "gini": [39, 62, 65, 68], "gini_coeffici": [11, 69], "github": [0, 1, 2, 18, 71], "give": [1, 29, 37, 61], "give_ag": 49, "given": [5, 6, 13, 14, 28, 30, 31, 33, 34, 35, 36, 40, 41, 55, 59, 66, 67, 71], "go": [1, 34, 35, 45, 46, 50, 62], "goal": 62, "good": [50, 56, 62], "goodby": 49, "googl": [0, 1], "got": [31, 36], "gotta": [31, 36], "grade": 33, "grader": 21, "grai": 35, "grammat": 36, "granularli": 35, "grate": 62, "gratitud": [17, 49, 50], "great": [47, 50, 51, 56, 59, 60, 62], "greater": 55, "greet": 50, "groceri": 41, "group": [0, 1, 2, 4, 13, 29, 33, 34, 41, 52, 59, 62, 68, 71, 72], "grouping_kei": [0, 1, 2, 71], "gt": 22, "guess": 10, "gun": 1, "gy": 15, "gym": 34, "ha": [1, 2, 32, 34, 35, 37, 42, 43, 46, 52, 54, 55, 56, 59, 62, 63, 71], "had": [1, 31, 36, 54, 61], "hadn": [31, 36], "handl": [19, 29, 71], "happen": [1, 2, 55, 62, 63], "happi": 42, "harder": 21, "hashedg": [17, 50], "hasn": [31, 36], "hasneg": 50, "hasposit": 50, "hate": 31, "have": [0, 1, 2, 10, 12, 16, 31, 34, 36, 37, 40, 41, 42, 45, 46, 50, 54, 59, 60, 61, 62, 71], "haven": [31, 36], "he": [1, 31, 36], "header": 18, "hear": 32, "heart": [61, 62], "heat": 1, "heavi": 62, "hedg": [11, 30, 39, 49, 50, 64], "hei": [1, 35, 45, 46, 50], "helena": [47, 62], "hello": [43, 49], "help": [0, 31, 34, 36, 43, 45, 46, 52, 58, 69], "helper": [23, 67], "her": [30, 31, 36], "here": [0, 1, 29, 34, 41, 42, 47, 61, 66], "herself": [31, 36], "hesit": [60, 64], "hi": [31, 35, 36, 43, 45, 46], "hierach": 71, "hierarch": 71, "high": [0, 1, 2, 61, 62, 71], "higher": [21, 31, 34, 36, 40, 41, 42, 44, 45, 46, 55, 60], "highest": 71, "highlight": 1, "him": [31, 36], "himself": [31, 36], "hmm": [31, 36], "hoc": 62, "hole": 62, "home": 42, "homework": 34, "homonym": 31, "hope": 35, "host": [45, 46], "hour": 48, "how": [1, 5, 29, 30, 31, 34, 35, 36, 39, 43, 45, 51, 52, 54, 56, 62], "howev": [0, 1, 3, 35, 40, 42, 44, 54, 56, 61, 62], "howitwork": 1, "html": [15, 17, 24], "http": [1, 2, 4, 5, 6, 12, 13, 14, 15, 16, 17, 18, 21, 24, 41, 45, 46, 47, 64, 68, 70, 71], "hu": [1, 42, 62], "hug": 51, "huggingfac": 1, "huh": [31, 32, 36], "human": [37, 50, 62], "hyperlink": 48, "hyphen": [1, 61], "hypothet": 42, "i": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16, 19, 20, 21, 22, 23, 24, 25, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 71, 73], "iby1": 5, "id": [2, 4, 7, 23, 28, 62, 66, 68, 71, 72, 73], "idea": [12, 35, 40, 47, 51], "ident": [34, 35], "identif": 1, "identifi": [0, 1, 2, 4, 8, 9, 15, 23, 25, 30, 41, 47, 50, 52, 61, 63, 64, 71, 72], "identiif": [13, 71], "ignor": [1, 32], "illustr": [1, 41, 48, 62], "imagin": 1, "immedi": [31, 35, 64], "impact": [1, 60], "impersonal_pronoun": 49, "implement": 64, "impli": 37, "import": [31, 32, 36, 44, 45, 62, 69], "incent": 13, "includ": [1, 2, 10, 17, 22, 31, 32, 35, 36, 42, 45, 46, 51, 52, 56, 62, 66, 71], "inclus": [13, 71], "incongru": [8, 34], "incorpor": [1, 42, 45, 46], "increas": [1, 42, 62], "increment": 71, "independ": 1, "index": [1, 2, 4, 13, 25, 37, 39, 55, 61, 65], "indic": [1, 2, 16, 21, 22, 30, 32, 34, 35, 36, 40, 41, 43, 44, 48, 49, 50, 52, 55, 60, 63, 71], "indirect": 50, "indirect_btw": 50, "indirect_greet": 50, "indirectli": 69, "individu": [0, 1, 5, 11, 31, 34, 37, 45, 50, 59, 60, 62, 72], "inequ": 37, "infer": [1, 51, 67], "influenc": 1, "info": [13, 14, 18, 64], "info_divers": 13, "info_exchang": 64, "info_exchange_wordcount": [41, 64], "info_exchange_zscor": 11, "inform": [1, 6, 11, 12, 13, 24, 32, 34, 39, 48, 62, 64, 65], "informal_titl": 49, "information_divers": 11, "initi": [2, 62, 63, 64, 65, 66], "input": [0, 2, 4, 6, 12, 13, 14, 15, 16, 19, 20, 21, 22, 28, 31, 50, 55, 60, 62, 63, 64, 65, 66, 67, 71, 72], "input_column": [65, 66], "input_data": [25, 68, 72], "input_df": [1, 2, 61, 71], "inquiri": [30, 39, 52], "insid": 1, "insight": 1, "inspir": 15, "instal": [1, 61, 62], "instanc": [1, 22, 50, 59, 66], "instanti": 2, "insteac": 1, "instead": [1, 2, 62], "instruct": [1, 61], "int": [2, 3, 10, 13, 15, 16, 19, 20, 21, 22, 28, 63, 64], "intact": 71, "integ": [13, 40, 47], "intend": 59, "interact": [1, 11, 43, 44, 62, 69], "interconnect": 62, "interest": [1, 61, 62], "interfac": 62, "intermedi": [59, 64], "intern": 29, "interpret": 23, "interrupt": 59, "interv": [58, 65], "introduc": 62, "introduct": [11, 61], "invalid": 67, "invers": 64, "involv": [41, 62, 65], "io": [24, 47], "ipynb": [0, 1], "is_hedged_sentence_1": 10, "isn": [1, 31, 36], "issu": [1, 31, 36, 37, 42, 61], "ital": 64, "italic": 22, "item": [0, 71], "its": [0, 2, 15, 31, 35, 36, 40, 41, 47, 54, 55, 64, 69], "itself": [23, 31, 36, 44], "john": 1, "jonson": 62, "journal": [5, 64], "jurafski": 70, "juri": 1, "juries_df": 1, "jury_conversations_with_outcome_var": 1, "jury_feature_build": 1, "jury_output_chat_level": 1, "jury_output_conversation_level": 1, "jury_output_turn_level": 1, "jury_output_user_level": 1, "just": [0, 1, 2, 31, 36, 46, 50, 59, 61, 62], "katharina": 34, "keep": [1, 71], "kei": [1, 2, 4, 19, 28, 30, 54, 61, 71], "keyerror": 71, "keyword": [19, 49], "kind": [10, 62], "kitchen": 42, "knob": 0, "know": [1, 30], "knowledg": 29, "known": [1, 32, 61], "kumar": 62, "kw": 19, "lab": [1, 2, 62, 71], "label": [1, 15, 21, 51], "lack": [31, 38, 45, 46], "languag": [15, 34, 42, 50, 62], "larg": [31, 69], "larger": [0, 61], "last": [1, 31], "late": 32, "later": [0, 1, 2, 61], "latter": [31, 36], "lda": [13, 40], "learn": [61, 62], "least": [10, 32, 42, 63, 67], "led": 62, "legal": 49, "lemmat": [13, 40], "len": 28, "length": [14, 35, 39, 41, 42, 44], "less": [13, 32, 50, 52, 55, 62, 63], "let": [41, 49, 53], "let_me_know": 49, "letter": [49, 71], "level": [0, 1, 2, 3, 4, 6, 7, 8, 9, 12, 13, 14, 16, 23, 61, 64, 65, 66, 71, 72], "lexic": [10, 12, 14, 16, 31, 32, 36, 60, 62, 64], "lexical_featur": [14, 64], "lexical_features_v2": [10, 11], "lexicon": [5, 10, 14, 30, 39, 50, 52, 67, 69], "lexicons_dict": 67, "librari": [34, 51, 56, 57], "lift": 62, "light": 61, "like": [1, 22, 31, 34, 36, 41, 50, 61, 62], "limiat": 32, "limit": [11, 32, 37, 42, 54], "line": [0, 1, 19, 22, 48, 61, 62, 64], "linear": 64, "linguist": [18, 19, 30, 39, 50, 52], "link": [22, 29, 48, 50, 64], "list": [1, 2, 6, 7, 10, 11, 12, 13, 15, 19, 20, 21, 22, 28, 31, 33, 36, 37, 42, 48, 49, 50, 53, 54, 61, 64, 65, 66, 68, 70, 71], "literatur": 62, "littl": 38, "littlehors": 1, "liu": [42, 52], "live": [1, 54], "liwc": [14, 30, 39, 51, 52, 56, 62], "liwc_featur": [10, 14], "lix": 34, "ll": [1, 31, 36, 61], "load": [19, 69], "load_saved_data": 19, "load_to_dict": 19, "load_to_list": 19, "loc": 15, "local": [1, 51, 61], "locat": [1, 62], "long": [4, 42], "longer": [30, 41, 43, 48, 61, 62], "look": [2, 34, 61, 65, 66], "loos": 36, "lot": [31, 36], "loud": 60, "love": [31, 56], "low": [1, 2, 29, 55, 60, 71], "lower": [21, 31, 33, 36, 41, 42, 44, 55, 60], "lowercas": [2, 13, 40, 48, 49, 71], "lowest": 71, "lpearl": 16, "lst": 6, "m": [30, 31, 36], "made": [1, 23, 35, 59, 61, 62], "magnitud": 55, "mai": [1, 2, 11, 31, 32, 35, 36, 37, 41, 42, 43, 44, 54, 61, 62, 71], "main": [1, 2, 5, 62, 64, 65, 66], "make": [0, 1, 5, 34, 42, 55, 56, 62, 66, 69, 71], "man": 62, "mani": [1, 4, 11, 32, 37, 41, 60, 62, 66], "manner": [55, 62], "manual": [1, 61], "map": [13, 34], "mark": [19, 20, 22, 43, 54, 64, 71], "marker": [18, 32, 39, 42, 50, 51, 52, 54, 56], "marlow": 44, "matarazzo": 62, "match": [5, 16, 19, 30], "math": 34, "matter": 47, "max": 66, "max_num_chunk": 63, "maxim": [34, 35, 37], "maximum": [63, 65, 72], "mayb": [38, 47], "mcfarland": 70, "me": [31, 32, 36, 41, 50, 53], "mean": [0, 1, 4, 6, 11, 13, 21, 29, 31, 34, 36, 40, 41, 42, 47, 55, 56, 58, 61, 62, 65, 66, 73], "meaning": [41, 55], "meaningless": 41, "meant": 39, "measur": [0, 7, 12, 13, 20, 29, 30, 31, 32, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 51, 52, 54, 55, 56, 57, 58, 59, 60, 62, 64, 68], "mechan": 32, "medium": 21, "meet": 48, "member": [13, 34, 37, 55], "merg": [2, 8, 65, 66], "merge_conv_data_with_origin": 2, "messag": [0, 1, 2, 3, 4, 5, 8, 11, 12, 13, 14, 15, 16, 17, 20, 21, 22, 23, 24, 28, 30, 31, 34, 35, 36, 37, 39, 41, 45, 46, 47, 48, 50, 51, 52, 55, 56, 57, 58, 61, 62, 63, 64, 65, 66, 67, 71, 73], "messaga": 61, "message_col": [0, 1, 2, 12, 13, 14, 61, 64, 65, 67, 71], "message_embed": [6, 7, 8], "message_lower_with_punc": 71, "metadata": [0, 1], "method": [5, 31, 41, 50, 62], "metric": [1, 8, 30, 34, 35, 46, 47, 48, 55, 66], "michael": 1, "mid": [1, 2, 71], "middl": [21, 34, 63], "might": [0, 1, 29, 43, 48, 53], "mikeyeoman": [14, 18, 64], "mileston": 34, "mimic": [28, 31, 36, 45], "mimic_word": 28, "mimick": [28, 31, 64], "mimicri": [0, 1, 28, 31, 35, 36, 39, 61, 64], "mimicry_bert": [45, 46], "mind": [1, 35, 50], "mine": [31, 36, 53, 59], "minim": [0, 41, 60], "minimum": [65, 72], "minu": [12, 41, 64], "minut": [55, 58], "mirror": 1, "miss": [1, 32, 61, 71], "mitig": [31, 36], "mizil": 50, "mm": [31, 36], "mnsc": 6, "modal": 50, "mode": 60, "model": [1, 13, 15, 31, 34, 35, 36, 40, 45, 46, 47, 51, 62, 67], "modif": 35, "modifi": [9, 19, 32, 64], "modul": [0, 1, 11, 34, 49, 61, 69], "monologu": 59, "more": [0, 1, 2, 11, 12, 22, 23, 24, 31, 32, 34, 36, 37, 40, 41, 42, 43, 44, 45, 46, 50, 52, 55, 59, 61, 62, 71], "morn": 1, "most": [24, 31, 55, 62, 69], "motiv": 61, "move": [0, 1, 28, 31, 36, 39, 45, 59, 61], "movi": 31, "much": [1, 31, 34, 35, 36, 45, 62], "multi": [1, 2, 71], "multidimension": [45, 46], "multipl": [0, 1, 2, 19, 62, 71], "must": [1, 6, 62, 71], "my": [30, 31, 35, 36, 45, 46, 50, 53], "my_chat_featur": 1, "my_feature_build": 61, "my_fil": [0, 1], "my_output_chat_level": 61, "my_output_conversation_level": 61, "my_output_user_level": 61, "my_pandas_datafram": 61, "myself": [31, 36, 53], "n": [35, 45, 46, 47, 57, 59, 60], "n_chat": 59, "na": [5, 33, 43, 44, 48, 49, 50, 53, 58], "naiv": [2, 20, 32, 34, 38, 39, 53, 56, 57, 64], "name": [0, 1, 2, 4, 7, 8, 9, 12, 13, 14, 15, 17, 19, 23, 25, 28, 30, 32, 35, 39, 45, 46, 50, 51, 56, 61, 63, 64, 66, 67, 68, 71, 72, 73], "name_to_train": 47, "named_ent": [15, 47], "named_entity_recognition_featur": 11, "nan": 34, "nate": [35, 45, 46], "nathaniel": [35, 45, 46], "nativ": 50, "natur": [43, 55], "ndarrai": 68, "nearest": [13, 40], "nearli": 62, "necessari": [63, 67], "need": [0, 1, 2, 21, 62, 66, 67], "need_sent": 67, "need_senti": 67, "neg": [24, 29, 31, 34, 35, 36, 42, 50, 51, 52, 54, 56, 62, 67], "negat": [19, 49], "negative_bert": 51, "negative_emot": [49, 51, 52, 56], "negoti": 62, "neighborhood": 54, "neither": 30, "ner": 15, "ner_cutoff": [0, 1, 2, 47, 64], "ner_train": 64, "ner_training_df": [0, 1, 2, 47, 64], "nest": [0, 1, 2, 22, 71], "net": [45, 46], "network": 11, "neutral": [5, 24, 30, 51, 55, 67], "neutral_bert": 51, "never": 1, "new": [1, 4, 13, 34, 64, 65, 66, 72], "new_column_nam": 72, "next": [1, 32, 47, 58], "nice": [50, 54], "nicknam": 1, "niculescu": 50, "night": 31, "nikhil": [59, 62], "nltk": [1, 42, 61], "nobodi": [31, 36], "nois": 32, "non": [1, 2, 28, 31, 37, 48, 62, 71], "none": [2, 19, 23, 37, 55, 64, 65, 66, 67], "nor": 30, "normal": [19, 31], "notabl": 62, "note": [1, 2, 12, 16, 20, 42, 61, 71], "notebook": [0, 1], "noth": [31, 36, 56], "noun": 1, "novel": [45, 46], "now": 1, "nowher": [31, 36], "np": 68, "ntri": 32, "null": 34, "num": 48, "num_char": 65, "num_chunk": [27, 63], "num_hedge_word": 10, "num_messag": 65, "num_named_ent": [15, 47], "num_row": 63, "num_top": 13, "num_word": [12, 16, 65], "number": [0, 3, 11, 12, 13, 15, 16, 19, 20, 21, 22, 23, 25, 28, 31, 32, 34, 36, 37, 40, 41, 42, 43, 44, 47, 48, 49, 54, 56, 58, 59, 60, 62, 63, 64, 66, 69, 71, 72], "numer": [0, 1, 13, 33, 68, 72, 73], "numpi": [1, 61, 68], "o": 35, "object": [1, 2, 19, 44, 50, 57, 58, 61, 62, 64, 65, 66], "obtain": [13, 17, 23, 24, 34], "occur": [0, 4, 31, 42, 71], "occurr": 19, "off": [1, 31, 36], "offer": 0, "offici": 61, "often": [36, 47, 48, 62], "oh": [31, 36, 48], "okai": [31, 36], "older": [1, 61], "on_column": [18, 23, 28, 68, 72, 73], "onc": [2, 11, 58, 61, 62], "one": [0, 1, 2, 4, 10, 12, 19, 23, 25, 29, 31, 32, 36, 37, 47, 51, 56, 59, 61, 62, 67, 68, 71, 73], "ones": [31, 36], "onli": [0, 1, 2, 5, 11, 23, 29, 31, 32, 34, 36, 37, 45, 53, 58, 59, 61, 62, 71], "onlin": [1, 32, 39, 64], "open": [0, 62, 66], "operation": [39, 50, 59], "opinion": [24, 31], "oppos": [2, 31, 34, 35, 55], "opposit": 34, "option": [1, 2, 37, 62, 63, 67, 71], "order": [0, 1, 35, 37, 42, 71], "org": [6, 15, 21, 24, 41, 70], "origin": [1, 2, 5, 12, 21, 31, 32, 35, 36, 37, 45, 46, 49, 59], "orthogon": 34, "other": [1, 9, 11, 28, 29, 30, 31, 32, 34, 35, 36, 37, 39, 40, 45, 46, 48, 51, 52, 54, 56, 58, 59, 61, 62, 64, 66, 71], "other_lexical_featur": [11, 64], "otherwis": [2, 10, 21, 23, 32, 38, 63, 67], "our": [0, 1, 2, 11, 13, 29, 31, 32, 36, 37, 39, 53, 59, 61, 71], "ourselv": 53, "out": [1, 2, 16, 19, 31, 36, 55, 60, 62], "outcom": [1, 44, 62], "output": [0, 1, 2, 10, 17, 19, 40, 61, 62, 64, 67], "output_file_path_chat_level": [0, 1, 2, 61], "output_file_path_conv_level": [0, 1, 2, 61], "output_file_path_user_level": [0, 1, 2, 61], "output_path": 67, "outsid": [1, 2, 12], "over": [1, 16, 29, 31, 34, 35, 36, 37, 53, 55, 60, 62, 71], "overal": [30, 31, 34, 36, 45, 46], "overrid": [0, 1], "overview": [0, 61, 62], "overwritten": 1, "own": [0, 1, 9, 35, 62], "p": [14, 55], "pacakg": 24, "pace": [43, 62], "packag": [17, 18, 40, 62], "pad": 19, "page": [1, 11, 29, 39, 61, 62, 69], "pair": [6, 19, 34, 49, 71], "pairwis": [6, 34], "panda": [0, 1, 2, 12, 14, 16, 23, 47, 64, 65, 66, 71, 72, 73], "paper": [4, 5, 12, 14, 18, 29, 40, 50, 64], "paragraph": 22, "param": 71, "paramet": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 28, 47, 61, 62, 63, 64, 65, 66, 67, 68, 71, 72, 73], "paramt": 1, "pardon": 32, "parenthes": [22, 48, 64], "parenthet": [22, 48], "pars": [16, 50, 60], "part": [1, 10, 13, 29, 36, 42, 52, 71], "particip": [1, 9, 37, 62], "particl": [31, 36], "particular": [11, 32, 34, 41, 45, 47, 51, 59, 62], "particularli": 42, "partner": 32, "pass": [1, 13, 21, 47, 71], "path": [0, 1, 2, 19, 67], "path_in": 19, "pattern": [4, 11, 19, 55, 62, 67], "paus": 4, "pd": [1, 2, 4, 6, 7, 8, 9, 12, 13, 14, 15, 16, 18, 19, 23, 25, 63, 64, 65, 66, 67, 68, 71], "pdf": [5, 12, 13, 14, 16, 18, 21, 24, 64, 70], "penalti": 1, "pennebak": [12, 37, 41, 42, 52], "pennyslvania": 62, "peopl": [1, 32, 59, 62], "per": [1, 6, 9, 14, 19, 42, 63, 66, 72], "percentag": [2, 21], "perfect": [37, 59], "perform": [0, 1, 2, 16, 50], "perhap": 1, "period": [4, 34, 55], "person": [1, 8, 12, 15, 16, 32, 34, 39, 41, 42, 50, 59, 62, 64, 70], "perspect": 1, "petrocelli": 5, "pgcr_yeoman": 14, "phrase": [19, 30, 38, 54], "phrase_split": 19, "pickl": [19, 67], "piec": [36, 42, 59, 63], "pl": 50, "place": [55, 61, 62], "plan": [34, 35, 45, 46], "player": 59, "pleas": [1, 38, 49, 50, 61, 62], "please_start": 50, "point": [22, 24, 34, 35, 45, 46, 48, 52, 64, 66], "poisson": 55, "polar": [24, 39, 51, 52, 64], "polit": [1, 17, 18, 30, 32, 38, 39, 42, 51, 52, 54, 56, 64], "politeness_featur": 11, "politeness_v2": 11, "politeness_v2_help": 11, "politenessstrategi": [17, 50], "portion": 0, "posit": [0, 11, 15, 24, 29, 31, 39, 42, 50, 51, 54, 56, 62, 64, 67], "positive_affect_lexical_per_100": [51, 52, 56], "positive_bert": 51, "positive_emot": [49, 51, 52, 56], "positivity_zscor": 64, "positivity_zscore_chat": 52, "positivity_zscore_convers": 52, "possess": 31, "possibl": [1, 34, 62, 66], "possibli": [38, 62], "practic": [14, 34, 35], "pre": [1, 4, 21, 37, 49, 64], "preced": [31, 35, 71], "precend": 35, "precis": 47, "precomput": 51, "predefin": 19, "predetermin": [31, 36], "predict": [2, 47, 51, 64], "prefer": [0, 1], "preload_word_list": 69, "prep_simpl": 19, "prep_whol": 19, "preposit": [31, 36], "preproces": 48, "preprocess": [0, 2, 13, 19, 40, 43, 49, 51, 69], "preprocess_chat_data": 2, "preprocess_conversation_column": 71, "preprocess_naive_turn": 71, "preprocess_text": 71, "preprocess_text_lowercase_but_retain_punctu": 71, "presenc": [2, 32, 67], "present": [1, 2, 30, 31, 38, 55, 62, 71], "prespecifi": 19, "prevent": 51, "previou": [1, 7, 28, 31, 36, 45, 46, 58, 64, 71], "primari": 34, "print": 2, "prior": [2, 64, 71], "priya": [47, 62], "probabl": [15, 47], "problem": 62, "procedur": 62, "proceed": 46, "process": [0, 1, 2, 4, 10, 21, 37, 55, 62, 64, 65, 67, 69, 71], "prodi": 15, "produc": [2, 34], "product": 15, "professor": 62, "progress": [1, 2], "project": [54, 62], "pronoun": [12, 16, 31, 36, 39, 41, 42, 64, 70], "proper": 1, "proport": [16, 39, 42, 64], "propos": 37, "provid": [0, 1, 2, 15, 29, 30, 33, 36, 39, 44, 47, 54, 62], "proxi": 42, "pseudonym": 1, "psycholog": 42, "pub": 70, "publish": [5, 30, 64], "pubsonlin": 6, "punctuat": [16, 19, 20, 21, 28, 43, 54, 60, 71], "punctuation_seper": 19, "puncut": 48, "pure": [24, 36], "purpos": 1, "put": [34, 50, 62, 66], "py": [0, 1, 14, 49], "pypi": [1, 61], "python": [1, 32, 41, 56, 57, 61, 62, 68], "qtd": 62, "qualiti": 41, "quantifi": [31, 36, 62], "quantiti": [37, 39, 41, 47], "quartil": 50, "question": [16, 19, 20, 29, 32, 39, 49, 50, 64, 66, 68, 70], "question_num": 11, "question_word": 20, "quick": [1, 43], "quickli": 0, "quit": 40, "quot": [22, 48, 64], "quotat": [22, 48], "rabbit": 62, "rain": 41, "rais": [67, 71], "random": 55, "rang": [5, 8, 24, 30, 33, 34, 35, 40, 51, 53, 55, 56, 57], "ranganath": [16, 31, 32, 36, 38, 43, 54, 70], "ranganath2013": 70, "ranganathetal2013_detectingflirt": 16, "rapid": [1, 4], "rare": [34, 35], "rate": [14, 42, 51], "rather": [31, 34, 35, 36, 37, 45, 46, 63], "ratio": [16, 39, 64], "raw": [12, 16, 21, 31, 33, 50, 64], "re": [1, 31, 36, 42, 50, 61], "read": [0, 1, 2, 16, 21, 29, 33, 61, 62, 64, 65, 66, 67], "read_csv": 1, "read_in_lexicon": 67, "readabl": [11, 33, 64, 70], "reader": 33, "readi": 1, "readili": 62, "readthedoc": 24, "real": [1, 55], "realit": 13, "realli": [31, 36, 50], "reason": [31, 36, 45, 46, 49], "reassur": 49, "recal": 47, "recept": [18, 32, 39, 42, 50, 51, 52, 54, 56, 62, 64], "recogn": [1, 43, 47], "recognit": [0, 1, 2, 39, 64], "recommend": [42, 62], "reddit": [48, 64], "reddit_tag": 11, "redditus": 48, "reduc": 63, "reduce_chunk": 63, "redund": [42, 62], "refer": [0, 1, 11, 22, 24, 28, 31, 42, 48, 52, 62, 64, 70], "reflect": [37, 43], "regardless": 1, "regener": [0, 2, 51, 67], "regenerate_vector": [0, 1, 2, 67], "regex": [14, 16, 49], "regist": 37, "regress": 1, "regular": [5, 14, 30, 32, 42, 55, 58], "reichel": [53, 58, 60], "reidl": [4, 13], "reinvent": 62, "rel": [41, 51, 52, 55, 60, 64], "relat": [1, 61, 62, 64], "relationship": 36, "relev": [1, 29, 42, 44, 49, 51, 56, 61, 64, 65], "reli": [31, 34, 35, 36, 69], "reliabl": [33, 42], "remain": [1, 30, 71], "rememb": 1, "remov": [2, 9, 13, 19, 28, 40, 43, 48, 49, 50, 71], "remove_active_us": 9, "renam": 1, "repair": [16, 39], "repeat": [60, 71], "repetit": 60, "replac": 19, "report": [1, 61], "repres": [2, 4, 6, 7, 11, 13, 23, 31, 34, 36, 42, 45, 46, 66, 67, 68, 71, 72, 73], "represent": [34, 38], "reproduc": [36, 62], "republican": 1, "request": [32, 50, 51], "requir": [0, 1, 20, 21, 31, 55, 61, 62, 64, 65, 66, 67], "research": [1, 2, 62], "reserv": 0, "resolv": 62, "resourc": [1, 39, 48, 61, 62], "respect": [1, 2, 12, 31, 36, 37, 69], "respons": [22, 48, 55, 58, 64], "restaur": [34, 56], "restrict": 71, "result": [40, 55, 65, 72], "retain": [2, 16, 20, 21, 60, 71], "retriev": 50, "retunr": 3, "return": [2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 28, 30, 32, 43, 49, 50, 51, 55, 62, 63, 64, 65, 66, 67, 68, 70, 71, 72, 73], "reveal": 62, "revert": 50, "review": 62, "rewrit": 50, "rich": 62, "riedl": [13, 40, 55], "right": [31, 36, 61, 62], "roberta": [1, 39, 42, 52, 56, 64, 67], "robust": 13, "rocklag": [5, 30, 64], "room": 59, "root": [13, 40], "rough": [12, 54], "roughli": 31, "round": [13, 40, 59, 71], "round_num": 1, "row": [0, 1, 2, 9, 13, 25, 37, 40, 59, 63, 68, 71, 72, 73], "rowbotham": 62, "rucker": 5, "rule": [1, 69], "run": [0, 10, 12, 16, 35, 46, 47, 48, 51, 61, 69], "runtim": [1, 35], "sagepub": [5, 64], "sai": [1, 32, 50, 59], "said": [1, 36, 62], "same": [0, 1, 2, 31, 34, 37, 45, 48, 52, 59, 60, 61, 62, 71], "sampl": [61, 62], "sarcast": 48, "save": [0, 1, 2, 19, 64, 67], "save_featur": 2, "sbert": [1, 28, 31, 34, 35, 36, 45, 46, 64, 65, 67], "scale": [42, 51], "school": [21, 62], "scienc": [29, 39, 62], "scientist": [61, 62], "score": [4, 5, 11, 12, 13, 15, 21, 24, 28, 29, 30, 31, 34, 35, 36, 38, 39, 40, 45, 46, 47, 51, 53, 56, 57, 64, 65, 67, 73], "script": [1, 61], "sea": 1, "seamless": 62, "search": [19, 61], "second": [0, 1, 4, 34, 42, 58, 59], "second_person": 49, "secr": [18, 49, 64], "section": [1, 29, 61], "see": [0, 1, 2, 30, 34, 38, 41, 45, 46, 47, 55, 62, 71], "seek": [5, 62], "segment": [0, 19], "select": [2, 4, 23, 28, 36, 45, 66, 67, 68, 71, 72, 73], "self": 2, "semant": [31, 34, 35, 41], "send": [1, 37, 55], "sens": [5, 31, 54, 66], "sent": [1, 37, 64], "sentenc": [0, 1, 10, 15, 19, 20, 21, 33, 34, 35, 36, 42, 45, 46, 47, 48, 54, 56, 61, 67], "sentence_pad": 19, "sentence_split": 19, "sentence_to_train": 47, "sentencis": 19, "sentiment": [1, 24, 31, 39, 42, 52, 56, 62, 64, 67], "separ": [1, 2, 19, 34, 51], "sepcifi": 1, "septemb": 40, "sequenc": [1, 59], "sequenti": 1, "seri": [12, 16, 23, 28, 42, 71, 73], "serv": 12, "set": [1, 2, 13, 23, 34, 48, 59], "set_self_conv_data": 2, "sever": [1, 30, 41, 42, 48, 51, 56, 61], "shall": 54, "share": [31, 36, 37], "she": [30, 31, 36], "shift": 34, "shop": 62, "short": [55, 58], "shorter": [13, 40, 41, 42, 43], "should": [0, 1, 2, 4, 14, 23, 28, 29, 31, 36, 47, 48, 54, 61, 62, 65, 66, 67, 68, 69, 71, 72, 73], "shouldn": [31, 36], "show": 37, "showeth": 62, "shruti": [35, 45, 46, 47, 62], "side": 31, "signal": [45, 55], "signifi": 42, "signific": [1, 61], "silent": 37, "similar": [1, 6, 7, 13, 28, 29, 31, 34, 35, 36, 40, 45, 46, 49, 62, 65], "similarli": [1, 35], "simpl": [0, 1, 16, 19, 42, 61, 62], "simpli": [1, 5, 11, 28, 56, 62], "simplifi": 1, "simplist": 41, "sinc": [1, 32, 41, 71], "singh": 62, "singl": [0, 1, 2, 11, 12, 19, 23, 31, 34, 35, 36, 37, 41, 45, 46, 59, 62, 71, 72], "singular": [12, 41, 64], "site": 16, "situat": 37, "size": [1, 13, 63], "skip": 1, "slightli": [32, 62, 63], "slow": 1, "small": 40, "so": [1, 2, 10, 30, 31, 36, 37, 50, 61, 62, 66], "social": [29, 39, 61, 62], "socsci": 16, "softwar": 62, "sohi": 62, "sol3": 4, "solut": 59, "solv": 62, "some": [0, 1, 11, 17, 29, 32, 34, 35, 37, 41, 61, 63], "somebodi": [31, 36], "someon": [22, 29, 31, 36, 47, 48, 61, 64], "someplac": [31, 36], "someth": 47, "sometim": 1, "somewhat": 35, "soon": 62, "sorri": [16, 32, 50], "sort": 10, "sound": [47, 51], "sourc": [4, 5, 6, 12, 13, 16, 17, 21, 34, 35, 50, 64, 68], "space": [34, 40, 71], "spaci": [1, 19, 47, 49, 50, 61], "span": 63, "spars": 32, "speak": [1, 31, 36, 37, 59, 60, 62], "speaker": [0, 1, 2, 6, 8, 9, 25, 31, 34, 35, 37, 38, 42, 45, 46, 61, 66, 71, 72], "speaker_id": [2, 61, 72], "speaker_id_col": [0, 1, 2, 6, 8, 9, 25, 26, 27, 61, 65, 66, 71, 72], "speaker_nicknam": [0, 1, 2, 6, 9, 59, 66, 71], "special": [0, 1, 2, 48, 71], "specif": [1, 2, 12, 32, 41, 48, 55, 61, 62, 69, 71], "specifi": [1, 2, 19, 47, 49, 67, 68, 71, 72, 73], "speciifc": 63, "spend": [51, 62], "spike": 55, "split": [19, 21, 43, 63], "spoke": 59, "spoken": [11, 37], "spread": 55, "squar": [13, 40], "ssrn": 4, "stabl": 40, "stack": 14, "stackoverflow": 68, "stage": [1, 2, 34, 71], "stamp": 55, "standard": [1, 4, 37, 40, 41, 49, 55, 58, 60, 65, 72, 73], "stanford": 70, "start": [0, 15, 19, 20, 22, 23, 50], "statement": [38, 42, 47, 48, 62, 64], "statist": [65, 66, 68], "statologi": 41, "stem": 42, "step": [1, 4, 28, 41, 45, 46, 51], "still": [41, 45, 46], "stochast": 40, "stop": [40, 62], "stopword": [13, 19], "store": [1, 12, 16, 41, 49, 51, 65, 67], "stoword": 42, "str": [2, 3, 4, 5, 7, 8, 9, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 28, 63, 64, 65, 66, 67, 68, 71, 72, 73], "straightforward": 29, "strategi": [17, 30, 32, 38, 39, 42, 49, 54, 64], "stream": 35, "strictli": 1, "string": [0, 1, 2, 4, 8, 12, 13, 14, 19, 23, 24, 50, 66, 67, 68, 71, 72, 73], "strongli": [1, 41, 61], "structur": [0, 36, 49], "student": [21, 33], "studi": [1, 34, 62], "style": [1, 31, 36, 59], "sub": [0, 1, 71], "subfold": 1, "subject": [5, 24, 39, 49, 64], "subjunct": 50, "sublist": 28, "submiss": 55, "subpart": [1, 71], "subsequ": [1, 30, 51, 58], "subset": 62, "substanc": 36, "substant": 31, "substanti": 1, "substr": 30, "subtask": 1, "subtract": [41, 58], "succe": 62, "success": [0, 1, 4, 31, 36, 43, 55, 58, 61], "suggest": [1, 13, 34, 42, 44, 50], "suit": [62, 64], "sum": [28, 34, 64, 65, 66, 72], "summar": [0, 1, 65, 66, 69], "summari": [65, 66, 72], "summariz": [0, 65], "summarize_featur": 69, "suppl": 6, "support": [1, 15, 61], "suppos": 1, "sure": 30, "swear": 49, "syllabl": 21, "syntax": [1, 32, 61], "system": [2, 59, 64], "t": [0, 1, 2, 15, 29, 31, 36, 45, 49, 54, 61, 62, 67], "tabl": 62, "tag": 39, "take": [1, 4, 5, 9, 14, 25, 29, 31, 34, 37, 39, 42, 55, 61, 65, 71], "taken": [59, 71], "talk": [1, 37, 47, 59, 62], "target": 15, "task": [1, 2, 59, 71], "tausczik": [12, 37, 41, 52], "tausczikpennebaker2013": 12, "team": [0, 1, 4, 11, 12, 13, 34, 39, 40, 59, 65], "team_bursti": 4, "team_comm_tool": [1, 61], "teamcommtool": 1, "technic": [29, 39, 61, 62], "teghxgbqdhgaaaaa": 5, "tempor": [0, 2, 55, 58, 64, 71], "temporal_featur": 11, "tend": [1, 34, 60], "term": [1, 28, 59], "termin": [1, 2, 61], "terribl": 51, "test": [13, 33, 47], "text": [0, 1, 2, 3, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 24, 28, 32, 33, 36, 42, 48, 55, 62, 64, 67, 71], "text_based_featur": 64, "textblob": [24, 39, 51, 52, 64], "textblob_sentiment_analysi": 11, "than": [1, 2, 11, 13, 31, 34, 35, 36, 37, 40, 41, 45, 46, 54, 60, 62, 63], "thee": 62, "thei": [0, 1, 29, 31, 34, 36, 37, 39, 47, 58, 59, 61, 62, 67], "them": [1, 2, 19, 28, 29, 31, 36, 50, 51, 55, 59, 61, 62, 64, 65, 66, 67], "themselv": [31, 36, 60], "theoret": 35, "theori": [34, 50], "therefor": [0, 1, 11, 37, 45, 59, 62, 69], "thi": [0, 1, 2, 3, 4, 6, 7, 8, 9, 10, 12, 13, 14, 16, 18, 20, 21, 23, 29, 30, 31, 32, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 71, 72, 73], "thing": [48, 61], "think": [1, 38, 47], "thorough": [43, 62], "those": [1, 21, 31, 36, 61], "though": [34, 42], "thought": [1, 35, 45], "thread": [1, 61], "three": [0, 1, 22, 34, 37, 40, 51, 62, 69, 71], "threshold": [15, 47], "through": [1, 45, 46, 50, 61, 62], "throughout": [31, 35, 36, 40, 45, 46, 55, 63], "tht": 35, "thu": [1, 2, 34, 35, 36, 37, 46, 55, 71], "time": [0, 1, 4, 23, 34, 35, 39, 42, 48, 51, 55, 59, 61, 62, 63, 64, 65, 66, 71], "time_diff": 55, "timediff": 4, "timestamp": [0, 1, 2, 8, 23, 58, 61, 62, 63, 64, 71], "timestamp_col": [0, 1, 2, 8, 61, 63, 64, 65, 71], "timestamp_end": [1, 23, 61, 64], "timestamp_start": [1, 23, 61, 64], "todai": [34, 35, 41, 43, 45, 46, 47], "todo": 66, "togeth": [0, 62, 66], "token": [16, 19, 39, 49, 54, 64], "token_count": [19, 49], "too": [30, 31, 36, 62], "took": [1, 59], "tool": [1, 61, 62], "toolkit": [0, 1, 11, 42, 45, 46, 55, 62], "top": [1, 50, 59], "topic": [1, 13, 34, 40, 42, 43, 65], "tormala": 5, "total": [3, 12, 16, 25, 31, 34, 36, 37, 41, 44, 53, 59, 60, 62, 63, 64, 66, 72], "touch": [1, 61], "toward": [31, 36, 38, 42, 45, 46], "tradit": 49, "train": [1, 2, 15, 64], "train_spacy_n": 15, "transcript": 0, "transfom": [45, 46], "transform": [31, 34, 35, 36, 51], "transform_utter": 50, "treat": [1, 59, 61], "tri": [50, 64], "trivial": [3, 44, 62], "troubl": [1, 61], "true": [1, 2, 37, 61, 63, 67, 71], "truncat": 2, "truth_intensifi": 49, "ttr": 64, "tupl": [0, 1, 2, 15, 19, 64], "turn": [0, 1, 2, 25, 28, 31, 32, 37, 39, 61, 64, 65, 71], "turn_count": 59, "turn_df": 71, "turn_id": 71, "turn_taking_featur": 11, "twice": 63, "twitter": 51, "two": [0, 1, 2, 23, 31, 34, 36, 41, 45, 46, 52, 62, 63], "txt": 19, "type": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 28, 37, 39, 52, 63, 64, 65, 66, 67, 68, 70, 71, 72, 73], "typic": [1, 34, 40, 41, 42, 52, 60], "u": [1, 22, 31, 36, 48, 49, 58, 61], "uci": 16, "uh": [31, 36], "ulrich": 55, "um": [31, 36, 60], "umbrella": [8, 29, 34], "uncertain": [5, 30], "uncertainti": 30, "under": [0, 1, 10, 11, 12, 28, 40], "underli": 1, "underscor": [1, 61], "understand": [0, 33, 39, 43, 48, 58, 61, 62], "understood": 33, "uninterrupt": 59, "uniqu": [0, 1, 2, 6, 9, 13, 16, 23, 25, 41, 47, 52, 60, 61, 63, 71], "univers": 62, "unix": 58, "unless": [31, 36], "unpack": 62, "until": [31, 36, 45, 46], "unzip": [1, 61], "up": [1, 17, 21, 28, 31, 35, 36, 37, 45, 46, 51, 59, 61], "updat": [1, 9, 40, 54, 61], "upenn": 1, "upload": 13, "upon": 33, "upper": 42, "us": [0, 1, 2, 3, 5, 11, 12, 13, 14, 17, 19, 24, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 56, 57, 60, 62, 64, 65, 66, 67, 71], "usag": [21, 24], "use_time_if_poss": 63, "user": [0, 1, 2, 9, 15, 22, 37, 47, 48, 51, 61, 62, 63, 64, 65, 66, 69, 72], "user_data": [2, 65, 66], "user_df": 9, "user_level_featur": 2, "user_list": 9, "userlevelfeaturescalcul": [2, 66, 69], "usernam": [22, 48], "utf": 1, "util": [12, 21, 61, 62, 63, 64, 65, 66, 67, 68, 70, 71, 72, 73], "utilti": 62, "utter": [0, 1, 2, 3, 4, 5, 13, 14, 15, 16, 17, 20, 21, 23, 24, 30, 31, 32, 34, 35, 36, 37, 38, 40, 41, 42, 43, 44, 45, 46, 50, 51, 52, 54, 58, 60, 61, 67], "v": 13, "valenc": 51, "valid": [23, 55], "valu": [1, 2, 5, 6, 10, 12, 13, 18, 19, 23, 28, 30, 31, 34, 36, 37, 40, 41, 42, 45, 46, 47, 55, 59, 64, 68, 71, 72, 73], "vari": [13, 31, 34, 35, 42], "variabl": [1, 56, 57, 64, 65, 66], "varianc": [8, 34], "variance_in_dd": 11, "variat": [4, 32], "varieti": [42, 62], "variou": [19, 42, 64, 65, 66], "vast": 62, "ve": [0, 31, 36, 50, 61], "vec": 6, "vect_data": [7, 8, 28, 64, 65, 66], "vect_path": 67, "vector": [0, 1, 2, 6, 7, 8, 13, 28, 34, 35, 40, 55, 61, 64, 65, 67], "vector_data": [1, 61], "vector_directori": [0, 1, 2, 61, 65], "vein": 45, "verb": [19, 31, 36], "verbal": 32, "veri": [5, 30, 31, 34, 35, 36, 42, 49, 54], "verifi": 2, "verit": 62, "version": [1, 12, 14, 21, 40, 51, 61], "versu": [4, 29, 47, 55, 59], "via": [3, 44], "view": 50, "visit": 41, "voila": 62, "w": 31, "wa": [1, 2, 5, 12, 31, 32, 35, 36, 47, 51, 56, 59, 62, 71], "wai": [1, 2, 29, 30, 31, 32, 34, 49, 50, 54, 56, 57, 61, 62, 66], "waiai": 62, "wait": [4, 55], "walk": 1, "walkthrough": [0, 61, 62], "want": [1, 28, 34, 59, 61, 62, 67], "warn": 50, "watt": [1, 2, 62, 71], "we": [0, 1, 2, 3, 4, 5, 9, 10, 11, 12, 14, 15, 16, 18, 23, 24, 28, 29, 30, 31, 34, 35, 36, 37, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 52, 53, 55, 56, 57, 58, 59, 61, 62, 66, 67, 71], "web": 70, "week": 47, "weight": 66, "welcom": 61, "well": [29, 31, 36, 55, 62], "went": 41, "were": [1, 12, 31, 36], "western": 1, "wh": [19, 31, 36], "wh_question": [32, 49, 54], "wharton": 62, "what": [1, 2, 12, 16, 20, 29, 31, 32, 34, 35, 36, 39, 41, 45, 46, 47, 50, 54, 62, 63], "whatev": [1, 31, 36], "wheel": 62, "when": [1, 16, 20, 31, 33, 36, 47, 54, 55, 59, 60, 61, 62, 69, 71], "whenev": 71, "where": [0, 1, 2, 19, 20, 28, 31, 32, 36, 37, 40, 41, 42, 48, 50, 51, 54, 59, 61, 65, 68, 73], "wherea": [31, 34, 35, 36, 43], "wherev": [31, 36], "whether": [1, 2, 10, 16, 19, 32, 37, 38, 41, 43, 47, 57, 58, 62, 63, 64, 67, 71], "which": [1, 2, 3, 4, 5, 7, 9, 12, 13, 14, 15, 16, 18, 23, 25, 28, 31, 34, 35, 36, 37, 38, 40, 41, 42, 51, 53, 54, 55, 56, 57, 58, 59, 61, 62, 64, 66, 68, 69, 71, 72, 73], "while": [31, 32, 34, 36, 37, 44, 45, 46, 55, 62, 71], "whitespac": 43, "who": [20, 31, 32, 36, 47, 51, 54, 59, 60, 62], "whole": [28, 59, 62, 71], "whom": [31, 36, 54], "whose": [31, 36, 54], "why": [20, 29, 31, 36, 54], "wide": 31, "wien": 62, "wiki": [21, 29, 70], "wikipedia": [21, 33, 37, 70], "williamson": 60, "wish": [1, 2, 18], "within": [0, 1, 2, 8, 11, 16, 30, 34, 35, 36, 41, 45, 46, 52, 55, 59, 60, 62, 63, 64, 68, 71, 73], "within_group": 2, "within_person_discursive_rang": 11, "within_task": [0, 1, 2, 71], "without": [1, 19, 31, 36, 42, 47, 54, 62, 69], "won": [0, 31, 36, 45], "wonder": 56, "woolei": 4, "woollei": [13, 40, 55], "wooten": 55, "word": [3, 10, 11, 12, 13, 14, 16, 19, 20, 21, 22, 28, 30, 32, 33, 37, 38, 39, 40, 41, 43, 45, 46, 48, 49, 52, 53, 54, 56, 57, 62, 64, 65, 66, 69, 70], "word_mimicri": 11, "word_start": [19, 49], "wordnet": [1, 61], "words_in_lin": 19, "work": [0, 47, 50, 55, 61, 62], "world": 55, "worri": 62, "would": [1, 29, 31, 34, 35, 36, 37, 42, 50, 54, 62], "wouldn": [31, 36], "wow": 50, "wp": 13, "write": [2, 29, 60], "www": [12, 13, 14, 18, 41, 64], "x": [0, 1, 2, 4, 46, 68], "xinlan": 62, "yashveer": 62, "ye": 19, "yeah": [31, 36], "yeoman": [14, 18, 42, 49], "yesno_quest": [32, 49, 54], "yet": 48, "ylatau": 12, "you": [0, 1, 2, 11, 24, 29, 31, 36, 37, 43, 47, 50, 59, 61, 62, 69], "your": [0, 29, 31, 32, 36, 37, 50, 59, 61, 62], "yourself": [31, 36, 50], "yuluan": 62, "yup": [31, 36], "yuxuan": 62, "z": [12, 39, 49, 51, 64, 73], "zero": [13, 52], "zhang": 62, "zheng": 62, "zhong": 62, "zhou": 62, "zscore": 41, "zscore_chat": 41, "zscore_chats_and_convers": 69, "zscore_convers": 41, "\u00bc": 47, "\u03c4": 55}, "titles": ["The Basics", "Worked Example", "feature_builder module", "basic_features module", "burstiness module", "certainty module", "discursive_diversity module", "fflow module", "get_all_DD_features module", "get_user_network module", "hedge module", "Features: Technical Documentation", "info_exchange_zscore module", "information_diversity module", "lexical_features_v2 module", "named_entity_recognition_features module", "other_lexical_features module", "politeness_features module", "politeness_v2 module", "politeness_v2_helper module", "question_num module", "readability module", "reddit_tags module", "temporal_features module", "textblob_sentiment_analysis module", "turn_taking_features module", "variance_in_DD module", "within_person_discursive_range module", "word_mimicry module", "FEATURE NAME", "Certainty", "Content Word Accommodation", "Conversational Repair", "Dale-Chall Score", "Discursive Diversity", "Forward Flow", "Function Word Accommodation", "Gini Coefficient", "Hedge", "Features: Conceptual Documentation", "Information Diversity", "Information Exchange", "Linguistic Inquiry and Word Count (LIWC) and Other Lexicons", "Message Length", "Message Quantity", "Mimicry (BERT)", "Moving Mimicry", "Named Entity Recognition", "Online Discussion Tags", "Politeness/Receptiveness Markers", "Politeness Strategies", "Sentiment (RoBERTa)", "Positivity Z-Score", "Proportion of First Person Pronouns", "Question (Naive)", "Team Burstiness", "Textblob Polarity", "Textblob Subjectivity", "Time Difference", "Turn Taking Index", "Word Type-Token Ratio", "The Team Communication Toolkit", "Introduction", "assign_chunk_nums module", "calculate_chat_level_features module", "calculate_conversation_level_features module", "calculate_user_level_features module", "check_embeddings module", "gini_coefficient module", "Utilities", "preload_word_lists module", "preprocess module", "summarize_features module", "zscore_chats_and_conversation module"], "titleterms": {"A": 0, "One": 0, "The": [0, 61, 62], "accommod": [31, 36], "addit": 1, "advanc": 1, "assign_chunk_num": 63, "assumpt": 0, "basic": [0, 1, 29, 30, 31, 33, 34, 35, 36, 37, 38, 40, 41, 43, 44, 45, 46, 47, 48, 49, 50, 51, 53, 55, 56, 57, 58, 59, 60], "basic_featur": 3, "bert": 45, "bursti": [4, 55], "calculate_chat_level_featur": 64, "calculate_conversation_level_featur": 65, "calculate_user_level_featur": 66, "caveat": [29, 30, 31, 33, 34, 35, 36, 38, 40, 41, 43, 44, 45, 46, 47, 48, 49, 50, 51, 53, 55, 56, 57, 58, 59], "certainti": [5, 30], "chall": 33, "chat": [11, 39], "check_embed": 67, "citat": [29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60], "class": 69, "code": [0, 1], "coeffici": 37, "column": 1, "commun": 61, "conceptu": 39, "configur": 1, "consider": 1, "content": [31, 61], "convers": [11, 32, 39, 62, 69], "count": [42, 59], "customiz": 0, "dale": 33, "data": 1, "demo": [0, 1], "differ": 58, "discurs": 34, "discursive_divers": 6, "discuss": 48, "divers": [34, 40], "document": [11, 39, 62], "driver": 69, "entiti": 47, "environ": [1, 61], "exampl": [1, 41, 47], "exchang": 41, "featur": [11, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 62, 69], "feature_build": 2, "featurebuild": [1, 62], "fflow": 7, "file": [30, 34, 35, 45, 46, 47, 51], "first": 53, "flow": 35, "forward": 35, "function": [0, 36], "gener": 62, "get": [1, 61, 62], "get_all_dd_featur": 8, "get_user_network": 9, "gini": 37, "gini_coeffici": 68, "hedg": [10, 38], "high": [29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60], "implement": [29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60], "import": [1, 61], "index": 59, "indic": 61, "info_exchange_zscor": 12, "inform": [40, 41], "information_divers": 13, "input": [1, 34], "inquiri": 42, "interpret": [29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60], "introduct": 62, "intuit": [29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60], "kei": 0, "length": 43, "level": [11, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 62, 69], "lexical_features_v2": 14, "lexicon": 42, "light": 0, "linguist": 42, "liwc": 42, "marker": 49, "messag": [43, 44], "mimicri": [45, 46], "modul": [2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 63, 64, 65, 66, 67, 68, 70, 71, 72, 73], "motiv": 62, "move": 46, "naiv": 54, "name": [29, 47], "named_entity_recognition_featur": 15, "note": [29, 30, 31, 33, 34, 35, 36, 38, 40, 41, 43, 44, 45, 46, 47, 48, 49, 50, 51, 53, 55, 56, 57, 58, 59], "onlin": 48, "other": [42, 69], "other_lexical_featur": 16, "ouput": 34, "our": 62, "output": [30, 35, 45, 46, 47, 51], "packag": [0, 1, 61], "paramet": 0, "person": 53, "pip": [1, 61], "polar": 56, "polit": [49, 50], "politeness_featur": 17, "politeness_v2": 18, "politeness_v2_help": 19, "posit": 52, "preload_word_list": 70, "preprocess": 71, "pronoun": 53, "proport": 53, "quantiti": 44, "question": 54, "question_num": 20, "ratio": 60, "readabl": 21, "recept": 49, "recognit": 47, "recommend": [1, 61], "reddit_tag": 22, "relat": [29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60], "repair": 32, "roberta": 51, "run": 1, "sampl": [0, 1], "score": [33, 41, 52], "sentiment": 51, "speaker": [11, 59, 62, 69], "start": [1, 61, 62], "strategi": 50, "subject": 57, "summarize_featur": 72, "tabl": 61, "tag": 48, "take": 59, "team": [55, 61, 62], "technic": 11, "temporal_featur": 23, "textblob": [56, 57], "textblob_sentiment_analysi": 24, "time": 58, "token": 60, "toolkit": 61, "touch": 0, "train": 47, "troubleshoot": [1, 61], "turn": 59, "turn_taking_featur": 25, "type": 60, "us": 61, "user": 11, "util": 69, "utter": [11, 39, 62, 69], "variance_in_dd": 26, "virtual": [1, 61], "walkthrough": 1, "within_person_discursive_rang": 27, "word": [31, 36, 42, 60], "word_mimicri": 28, "work": 1, "your": 1, "z": [41, 52], "zscore_chats_and_convers": 73}}) \ No newline at end of file +Search.setIndex({"alltitles": {"A Light-Touch, One-Function Package": [[0, "a-light-touch-one-function-package"]], "Additional FeatureBuilder Considerations": [[1, "additional-featurebuilder-considerations"]], "Advanced Configuration Columns": [[1, "advanced-configuration-columns"]], "Basic Input Columns": [[1, "basic-input-columns"]], "Certainty": [[30, "certainty"]], "Citation": [[29, "citation"], [30, "citation"], [31, "citation"], [32, "citation"], [33, "citation"], [34, "citation"], [35, "citation"], [36, "citation"], [37, "citation"], [38, "citation"], [40, "citation"], [41, "citation"], [42, "citation"], [43, "citation"], [44, "citation"], [45, "citation"], [46, "citation"], [47, "citation"], [48, "citation"], [49, "citation"], [50, "citation"], [51, "citation"], [52, "citation"], [53, "citation"], [54, "citation"], [55, "citation"], [56, "citation"], [57, "citation"], [58, "citation"], [59, "citation"], [60, "citation"]], "Configuring the FeatureBuilder": [[1, "configuring-the-featurebuilder"]], "Content Word Accommodation": [[31, "content-word-accommodation"]], "Contents:": [[61, null]], "Conversation Parameters": [[1, "conversation-parameters"]], "Conversation-Level Features": [[11, "conversation-level-features"], [39, "conversation-level-features"]], "Conversational Repair": [[32, "conversational-repair"]], "Customizable Parameters": [[0, "customizable-parameters"]], "Dale-Chall Score": [[33, "dale-chall-score"]], "Declaring a FeatureBuilder": [[61, "declaring-a-featurebuilder"]], "Demo / Sample Code": [[0, "demo-sample-code"], [1, "demo-sample-code"]], "Discursive Diversity": [[34, "discursive-diversity"]], "Example:": [[41, "example"]], "FEATURE NAME": [[29, "feature-name"]], "Feature Column Names": [[1, "feature-column-names"], [61, "feature-column-names"]], "Feature Documentation": [[62, "feature-documentation"]], "Feature Information": [[1, "feature-information"], [61, "feature-information"]], "Features: Conceptual Documentation": [[39, "features-conceptual-documentation"]], "Features: Technical Documentation": [[11, "features-technical-documentation"]], "Forward Flow": [[35, "forward-flow"]], "Function Word Accommodation": [[36, "function-word-accommodation"]], "Generating Features: Utterance-, Speaker-, and Conversation-Level": [[62, "generating-features-utterance-speaker-and-conversation-level"]], "Getting Started": [[1, "getting-started"], [61, "getting-started"], [62, "getting-started"]], "Gini Coefficient": [[37, "gini-coefficient"]], "Hedge": [[38, "hedge"]], "High*Level Intuition": [[54, "high-level-intuition"]], "High-Level Intuition": [[29, "high-level-intuition"], [30, "high-level-intuition"], [31, "high-level-intuition"], [32, "high-level-intuition"], [33, "high-level-intuition"], [34, "high-level-intuition"], [35, "high-level-intuition"], [36, "high-level-intuition"], [37, "high-level-intuition"], [38, "high-level-intuition"], [40, "high-level-intuition"], [41, "high-level-intuition"], [42, "high-level-intuition"], [43, "high-level-intuition"], [44, "high-level-intuition"], [45, "high-level-intuition"], [46, "high-level-intuition"], [47, "high-level-intuition"], [48, "high-level-intuition"], [49, "high-level-intuition"], [50, "high-level-intuition"], [51, "high-level-intuition"], [52, "high-level-intuition"], [53, "high-level-intuition"], [55, "high-level-intuition"], [56, "high-level-intuition"], [57, "high-level-intuition"], [58, "high-level-intuition"], [59, "high-level-intuition"], [60, "high-level-intuition"]], "Implementation": [[32, "implementation"], [42, "implementation"], [52, "implementation"], [54, "implementation"]], "Implementation Basics": [[29, "implementation-basics"], [30, "implementation-basics"], [31, "implementation-basics"], [33, "implementation-basics"], [34, "implementation-basics"], [35, "implementation-basics"], [36, "implementation-basics"], [37, "implementation-basics"], [38, "implementation-basics"], [40, "implementation-basics"], [41, "implementation-basics"], [43, "implementation-basics"], [44, "implementation-basics"], [45, "implementation-basics"], [46, "implementation-basics"], [47, "implementation-basics"], [48, "implementation-basics"], [49, "implementation-basics"], [50, "implementation-basics"], [51, "implementation-basics"], [53, "implementation-basics"], [55, "implementation-basics"], [56, "implementation-basics"], [57, "implementation-basics"], [58, "implementation-basics"], [59, "implementation-basics"], [60, "implementation-basics"]], "Implementation Notes/Caveats": [[29, "implementation-notes-caveats"], [30, "implementation-notes-caveats"], [31, "implementation-notes-caveats"], [33, "implementation-notes-caveats"], [34, "implementation-notes-caveats"], [35, "implementation-notes-caveats"], [36, "implementation-notes-caveats"], [38, "implementation-notes-caveats"], [40, "implementation-notes-caveats"], [41, "implementation-notes-caveats"], [43, "implementation-notes-caveats"], [44, "implementation-notes-caveats"], [45, "implementation-notes-caveats"], [46, "implementation-notes-caveats"], [47, "implementation-notes-caveats"], [48, "implementation-notes-caveats"], [49, "implementation-notes-caveats"], [50, "implementation-notes-caveats"], [51, "implementation-notes-caveats"], [53, "implementation-notes-caveats"], [55, "implementation-notes-caveats"], [56, "implementation-notes-caveats"], [57, "implementation-notes-caveats"], [58, "implementation-notes-caveats"], [59, "implementation-notes-caveats"]], "Import Recommendations: Virtual Environment and Pip": [[1, "import-recommendations-virtual-environment-and-pip"], [61, "import-recommendations-virtual-environment-and-pip"]], "Importing the Package": [[1, "importing-the-package"]], "Indices and Tables": [[61, "indices-and-tables"]], "Information Diversity": [[40, "information-diversity"]], "Information Exchange": [[41, "information-exchange"]], "Input File": [[34, "id2"]], "Inspecting Generated Features": [[1, "inspecting-generated-features"], [61, "inspecting-generated-features"]], "Interpretation:": [[41, "interpretation"]], "Interpreting the Feature": [[29, "interpreting-the-feature"], [30, "interpreting-the-feature"], [31, "interpreting-the-feature"], [32, "interpreting-the-feature"], [33, "interpreting-the-feature"], [34, "interpreting-the-feature"], [35, "interpreting-the-feature"], [36, "interpreting-the-feature"], [37, "interpreting-the-feature"], [38, "interpreting-the-feature"], [40, "interpreting-the-feature"], [41, "interpreting-the-feature"], [42, "interpreting-the-feature"], [43, "interpreting-the-feature"], [44, "interpreting-the-feature"], [45, "interpreting-the-feature"], [46, "interpreting-the-feature"], [47, "interpreting-the-feature"], [48, "interpreting-the-feature"], [49, "interpreting-the-feature"], [50, "interpreting-the-feature"], [51, "interpreting-the-feature"], [52, "interpreting-the-feature"], [53, "interpreting-the-feature"], [54, "interpreting-the-feature"], [55, "interpreting-the-feature"], [56, "interpreting-the-feature"], [57, "interpreting-the-feature"], [58, "interpreting-the-feature"], [59, "interpreting-the-feature"], [60, "interpreting-the-feature"]], "Introduction": [[62, "introduction"]], "Key Assumptions and Parameters": [[0, "key-assumptions-and-parameters"]], "Linguistic Inquiry and Word Count (LIWC) and Other Lexicons": [[42, "linguistic-inquiry-and-word-count-liwc-and-other-lexicons"]], "Message Length": [[43, "message-length"]], "Message Quantity": [[44, "message-quantity"]], "Mimicry (BERT)": [[45, "mimicry-bert"]], "Motivation": [[62, "motivation"]], "Moving Mimicry": [[46, "moving-mimicry"]], "Named Entity Recognition": [[47, "named-entity-recognition"]], "Named Entity Training Examples": [[47, "id2"]], "Online Discussion Tags": [[48, "online-discussion-tags"]], "Other Utilities": [[69, "other-utilities"]], "Ouput File": [[34, "id3"]], "Our Team": [[62, "our-team"]], "Output File": [[30, "id2"], [35, "id2"], [45, "id2"], [46, "id2"], [47, "id3"], [51, "id1"]], "Output File Naming Details": [[1, "output-file-naming-details"]], "Package Assumptions": [[0, "package-assumptions"]], "Politeness Strategies": [[50, "politeness-strategies"]], "Politeness/Receptiveness Markers": [[49, "politeness-receptiveness-markers"]], "Positivity Z-Score": [[52, "positivity-z-score"]], "Proportion of First Person Pronouns": [[53, "proportion-of-first-person-pronouns"]], "Question (Naive)": [[54, "question-naive"]], "Related Features": [[29, "related-features"], [30, "related-features"], [31, "related-features"], [32, "related-features"], [33, "related-features"], [34, "related-features"], [35, "related-features"], [36, "related-features"], [37, "related-features"], [38, "related-features"], [40, "related-features"], [41, "related-features"], [42, "related-features"], [43, "related-features"], [44, "related-features"], [45, "related-features"], [46, "related-features"], [47, "related-features"], [48, "related-features"], [49, "related-features"], [50, "related-features"], [51, "related-features"], [52, "related-features"], [53, "related-features"], [54, "related-features"], [55, "related-features"], [56, "related-features"], [57, "related-features"], [58, "related-features"], [59, "related-features"], [60, "related-features"]], "Sentiment (RoBERTa)": [[51, "sentiment-roberta"]], "Speaker Turn Counts": [[59, "id2"]], "Speaker- (User) Level Features": [[11, "speaker-user-level-features"]], "Table of Contents": [[61, "table-of-contents"]], "Team Burstiness": [[55, "team-burstiness"]], "Textblob Polarity": [[56, "textblob-polarity"]], "Textblob Subjectivity": [[57, "textblob-subjectivity"]], "The Basics": [[0, "the-basics"]], "The FeatureBuilder": [[62, "the-featurebuilder"]], "The Team Communication Toolkit": [[61, "the-team-communication-toolkit"]], "Time Difference": [[58, "time-difference"]], "Troubleshooting": [[1, "troubleshooting"], [61, "troubleshooting"]], "Turn Taking Index": [[59, "turn-taking-index"]], "Turns": [[1, "turns"]], "Using the Package": [[61, "using-the-package"]], "Utilities": [[69, "utilities"]], "Utterance- (Chat) Level Features": [[11, "utterance-chat-level-features"], [39, "utterance-chat-level-features"]], "Vector Directory": [[1, "vector-directory"]], "Walkthrough: Running the FeatureBuilder on Your Data": [[1, "walkthrough-running-the-featurebuilder-on-your-data"]], "Word Type-Token Ratio": [[60, "word-type-token-ratio"]], "Worked Example": [[1, "worked-example"]], "assign_chunk_nums module": [[63, "module-utils.assign_chunk_nums"]], "basic_features module": [[3, "module-features.basic_features"]], "burstiness module": [[4, "module-features.burstiness"]], "calculate_chat_level_features module": [[64, "module-utils.calculate_chat_level_features"]], "calculate_conversation_level_features module": [[65, "module-utils.calculate_conversation_level_features"]], "calculate_user_level_features module": [[66, "module-utils.calculate_user_level_features"]], "certainty module": [[5, "module-features.certainty"]], "check_embeddings module": [[67, "module-utils.check_embeddings"]], "discursive_diversity module": [[6, "module-features.discursive_diversity"]], "feature_builder module": [[2, "module-feature_builder"]], "fflow module": [[7, "module-features.fflow"]], "get_all_DD_features module": [[8, "module-features.get_all_DD_features"]], "get_user_network module": [[9, "module-features.get_user_network"]], "gini_coefficient module": [[68, "module-utils.gini_coefficient"]], "hedge module": [[10, "module-features.hedge"]], "info_exchange_zscore module": [[12, "module-features.info_exchange_zscore"]], "information_diversity module": [[13, "module-features.information_diversity"]], "lexical_features_v2 module": [[14, "module-features.lexical_features_v2"]], "named_entity_recognition_features module": [[15, "module-features.named_entity_recognition_features"]], "other_lexical_features module": [[16, "module-features.other_lexical_features"]], "politeness_features module": [[17, "module-features.politeness_features"]], "politeness_v2 module": [[18, "module-features.politeness_v2"]], "politeness_v2_helper module": [[19, "module-features.politeness_v2_helper"]], "preload_word_lists module": [[70, "module-utils.preload_word_lists"]], "preprocess module": [[71, "module-utils.preprocess"]], "question_num module": [[20, "module-features.question_num"]], "readability module": [[21, "module-features.readability"]], "reddit_tags module": [[22, "module-features.reddit_tags"]], "summarize_features module": [[72, "module-utils.summarize_features"]], "temporal_features module": [[23, "module-features.temporal_features"]], "textblob_sentiment_analysis module": [[24, "module-features.textblob_sentiment_analysis"]], "turn_taking_features module": [[25, "module-features.turn_taking_features"]], "variance_in_DD module": [[26, "module-features.variance_in_DD"]], "within_person_discursive_range module": [[27, "module-features.within_person_discursive_range"]], "word_mimicry module": [[28, "module-features.word_mimicry"]], "z-scores:": [[41, "z-scores"]], "zscore_chats_and_conversation module": [[73, "module-utils.zscore_chats_and_conversation"]], "\u201cDriver\u201d Classes: Utterance-, Conversation-, and Speaker-Level Features": [[69, "driver-classes-utterance-conversation-and-speaker-level-features"]]}, "docnames": ["basics", "examples", "feature_builder", "features/basic_features", "features/burstiness", "features/certainty", "features/discursive_diversity", "features/fflow", "features/get_all_DD_features", "features/get_user_network", "features/hedge", "features/index", "features/info_exchange_zscore", "features/information_diversity", "features/lexical_features_v2", "features/named_entity_recognition_features", "features/other_lexical_features", "features/politeness_features", "features/politeness_v2", "features/politeness_v2_helper", "features/question_num", "features/readability", "features/reddit_tags", "features/temporal_features", "features/textblob_sentiment_analysis", "features/turn_taking_features", "features/variance_in_DD", "features/within_person_discursive_range", "features/word_mimicry", "features_conceptual/TEMPLATE", "features_conceptual/certainty", "features_conceptual/content_word_accommodation", "features_conceptual/conversational_repair", "features_conceptual/dale_chall_score", "features_conceptual/discursive_diversity", "features_conceptual/forward_flow", "features_conceptual/function_word_accommodation", "features_conceptual/gini_coefficient", "features_conceptual/hedge", "features_conceptual/index", "features_conceptual/information_diversity", "features_conceptual/information_exchange", "features_conceptual/liwc", "features_conceptual/message_length", "features_conceptual/message_quantity", "features_conceptual/mimicry_bert", "features_conceptual/moving_mimicry", "features_conceptual/named_entity_recognition", "features_conceptual/online_discussions_tags", "features_conceptual/politeness_receptiveness_markers", "features_conceptual/politeness_strategies", "features_conceptual/positivity_bert", "features_conceptual/positivity_z_score", "features_conceptual/proportion_of_first_person_pronouns", "features_conceptual/questions", "features_conceptual/team_burstiness", "features_conceptual/textblob_polarity", "features_conceptual/textblob_subjectivity", "features_conceptual/time_difference", "features_conceptual/turn_taking_index", "features_conceptual/word_ttr", "index", "intro", "utils/assign_chunk_nums", "utils/calculate_chat_level_features", "utils/calculate_conversation_level_features", "utils/calculate_user_level_features", "utils/check_embeddings", "utils/gini_coefficient", "utils/index", "utils/preload_word_lists", "utils/preprocess", "utils/summarize_features", "utils/zscore_chats_and_conversation"], "envversion": {"sphinx": 61, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2}, "filenames": ["basics.rst", "examples.rst", "feature_builder.rst", "features/basic_features.rst", "features/burstiness.rst", "features/certainty.rst", "features/discursive_diversity.rst", "features/fflow.rst", "features/get_all_DD_features.rst", "features/get_user_network.rst", "features/hedge.rst", "features/index.rst", "features/info_exchange_zscore.rst", "features/information_diversity.rst", "features/lexical_features_v2.rst", "features/named_entity_recognition_features.rst", "features/other_lexical_features.rst", "features/politeness_features.rst", "features/politeness_v2.rst", "features/politeness_v2_helper.rst", "features/question_num.rst", "features/readability.rst", "features/reddit_tags.rst", "features/temporal_features.rst", "features/textblob_sentiment_analysis.rst", "features/turn_taking_features.rst", "features/variance_in_DD.rst", "features/within_person_discursive_range.rst", "features/word_mimicry.rst", "features_conceptual/TEMPLATE.rst", "features_conceptual/certainty.rst", "features_conceptual/content_word_accommodation.rst", "features_conceptual/conversational_repair.rst", "features_conceptual/dale_chall_score.rst", "features_conceptual/discursive_diversity.rst", "features_conceptual/forward_flow.rst", "features_conceptual/function_word_accommodation.rst", "features_conceptual/gini_coefficient.rst", "features_conceptual/hedge.rst", "features_conceptual/index.rst", "features_conceptual/information_diversity.rst", "features_conceptual/information_exchange.rst", "features_conceptual/liwc.rst", "features_conceptual/message_length.rst", "features_conceptual/message_quantity.rst", "features_conceptual/mimicry_bert.rst", "features_conceptual/moving_mimicry.rst", "features_conceptual/named_entity_recognition.rst", "features_conceptual/online_discussions_tags.rst", "features_conceptual/politeness_receptiveness_markers.rst", "features_conceptual/politeness_strategies.rst", "features_conceptual/positivity_bert.rst", "features_conceptual/positivity_z_score.rst", "features_conceptual/proportion_of_first_person_pronouns.rst", "features_conceptual/questions.rst", "features_conceptual/team_burstiness.rst", "features_conceptual/textblob_polarity.rst", "features_conceptual/textblob_subjectivity.rst", "features_conceptual/time_difference.rst", "features_conceptual/turn_taking_index.rst", "features_conceptual/word_ttr.rst", "index.rst", "intro.rst", "utils/assign_chunk_nums.rst", "utils/calculate_chat_level_features.rst", "utils/calculate_conversation_level_features.rst", "utils/calculate_user_level_features.rst", "utils/check_embeddings.rst", "utils/gini_coefficient.rst", "utils/index.rst", "utils/preload_word_lists.rst", "utils/preprocess.rst", "utils/summarize_features.rst", "utils/zscore_chats_and_conversation.rst"], "indexentries": {}, "objects": {"": [[2, 0, 0, "-", "feature_builder"]], "feature_builder": [[2, 1, 1, "", "FeatureBuilder"]], "feature_builder.FeatureBuilder": [[2, 2, 1, "", "chat_level_features"], [2, 2, 1, "", "conv_level_features"], [2, 2, 1, "", "featurize"], [2, 2, 1, "", "get_first_pct_of_chat"], [2, 2, 1, "", "merge_conv_data_with_original"], [2, 2, 1, "", "preprocess_chat_data"], [2, 2, 1, "", "save_features"], [2, 2, 1, "", "set_self_conv_data"], [2, 2, 1, "", "user_level_features"]], "features": [[3, 0, 0, "-", "basic_features"], [4, 0, 0, "-", "burstiness"], [5, 0, 0, "-", "certainty"], [6, 0, 0, "-", "discursive_diversity"], [7, 0, 0, "-", "fflow"], [8, 0, 0, "-", "get_all_DD_features"], [9, 0, 0, "-", "get_user_network"], [10, 0, 0, "-", "hedge"], [12, 0, 0, "-", "info_exchange_zscore"], [13, 0, 0, "-", "information_diversity"], [14, 0, 0, "-", "lexical_features_v2"], [15, 0, 0, "-", "named_entity_recognition_features"], [16, 0, 0, "-", "other_lexical_features"], [17, 0, 0, "-", "politeness_features"], [18, 0, 0, "-", "politeness_v2"], [19, 0, 0, "-", "politeness_v2_helper"], [20, 0, 0, "-", "question_num"], [21, 0, 0, "-", "readability"], [22, 0, 0, "-", "reddit_tags"], [23, 0, 0, "-", "temporal_features"], [24, 0, 0, "-", "textblob_sentiment_analysis"], [25, 0, 0, "-", "turn_taking_features"], [26, 0, 0, "-", "variance_in_DD"], [27, 0, 0, "-", "within_person_discursive_range"], [28, 0, 0, "-", "word_mimicry"]], "features.basic_features": [[3, 3, 1, "", "count_characters"], [3, 3, 1, "", "count_messages"], [3, 3, 1, "", "count_words"]], "features.burstiness": [[4, 3, 1, "", "burstiness"], [4, 3, 1, "", "get_team_burstiness"]], "features.certainty": [[5, 3, 1, "", "get_certainty"]], "features.discursive_diversity": [[6, 3, 1, "", "get_DD"], [6, 3, 1, "", "get_cosine_similarity"], [6, 3, 1, "", "get_unique_pairwise_combos"]], "features.fflow": [[7, 3, 1, "", "get_forward_flow"]], "features.get_all_DD_features": [[8, 3, 1, "", "conv_to_float_arr"], [8, 3, 1, "", "get_DD_features"]], "features.get_user_network": [[9, 3, 1, "", "get_user_network"], [9, 3, 1, "", "remove_active_user"]], "features.hedge": [[10, 3, 1, "", "is_hedged_sentence_1"]], "features.info_exchange_zscore": [[12, 3, 1, "", "get_info_exchange_wordcount"]], "features.information_diversity": [[13, 3, 1, "", "calculate_ID_score"], [13, 3, 1, "", "get_info_diversity"], [13, 3, 1, "", "info_diversity"], [13, 3, 1, "", "preprocessing"]], "features.lexical_features_v2": [[14, 3, 1, "", "get_liwc_count"], [14, 3, 1, "", "liwc_features"]], "features.named_entity_recognition_features": [[15, 3, 1, "", "built_spacy_ner"], [15, 3, 1, "", "calculate_named_entities"], [15, 3, 1, "", "named_entities"], [15, 3, 1, "", "num_named_entity"], [15, 3, 1, "", "train_spacy_ner"]], "features.other_lexical_features": [[16, 3, 1, "", "classify_NTRI"], [16, 3, 1, "", "get_proportion_first_pronouns"], [16, 3, 1, "", "get_word_TTR"]], "features.politeness_features": [[17, 3, 1, "", "get_politeness_strategies"]], "features.politeness_v2": [[18, 3, 1, "", "get_politeness_v2"]], "features.politeness_v2_helper": [[19, 3, 1, "", "Question"], [19, 3, 1, "", "adverb_limiter"], [19, 3, 1, "", "bare_command"], [19, 3, 1, "", "clean_text"], [19, 3, 1, "", "commit_data"], [19, 3, 1, "", "conjection_seperator"], [19, 3, 1, "", "count_matches"], [19, 3, 1, "", "count_spacy_matches"], [19, 3, 1, "", "feat_counts"], [19, 3, 1, "", "get_dep_pairs"], [19, 3, 1, "", "get_dep_pairs_noneg"], [19, 3, 1, "", "load_saved_data"], [19, 3, 1, "", "load_to_dict"], [19, 3, 1, "", "load_to_lists"], [19, 3, 1, "", "phrase_split"], [19, 3, 1, "", "prep_simple"], [19, 3, 1, "", "prep_whole"], [19, 3, 1, "", "punctuation_seperator"], [19, 3, 1, "", "sentence_pad"], [19, 3, 1, "", "sentence_split"], [19, 3, 1, "", "sentenciser"], [19, 3, 1, "", "token_count"], [19, 3, 1, "", "word_start"]], "features.question_num": [[20, 3, 1, "", "calculate_num_question_naive"]], "features.readability": [[21, 3, 1, "", "classify_text_dalechall"], [21, 3, 1, "", "count_difficult_words"], [21, 3, 1, "", "count_syllables"], [21, 3, 1, "", "dale_chall_helper"]], "features.reddit_tags": [[22, 3, 1, "", "count_all_caps"], [22, 3, 1, "", "count_bullet_points"], [22, 3, 1, "", "count_ellipses"], [22, 3, 1, "", "count_emojis"], [22, 3, 1, "", "count_emphasis"], [22, 3, 1, "", "count_line_breaks"], [22, 3, 1, "", "count_links"], [22, 3, 1, "", "count_numbering"], [22, 3, 1, "", "count_parentheses"], [22, 3, 1, "", "count_quotes"], [22, 3, 1, "", "count_responding_to_someone"], [22, 3, 1, "", "count_user_references"]], "features.temporal_features": [[23, 3, 1, "", "coerce_to_date_or_number"], [23, 3, 1, "", "get_time_diff"], [23, 3, 1, "", "get_time_diff_startend"]], "features.textblob_sentiment_analysis": [[24, 3, 1, "", "get_polarity_score"], [24, 3, 1, "", "get_subjectivity_score"]], "features.turn_taking_features": [[25, 3, 1, "", "count_turn_taking_index"], [25, 3, 1, "", "count_turns"], [25, 3, 1, "", "get_turn"]], "features.variance_in_DD": [[26, 3, 1, "", "get_variance_in_DD"]], "features.within_person_discursive_range": [[27, 3, 1, "", "get_nan_vector"], [27, 3, 1, "", "get_within_person_disc_range"]], "features.word_mimicry": [[28, 3, 1, "", "Content_mimicry_score"], [28, 3, 1, "", "computeTF"], [28, 3, 1, "", "compute_frequency"], [28, 3, 1, "", "function_mimicry_score"], [28, 3, 1, "", "get_content_words_in_message"], [28, 3, 1, "", "get_function_words_in_message"], [28, 3, 1, "", "get_mimicry_bert"], [28, 3, 1, "", "get_moving_mimicry"], [28, 3, 1, "", "mimic_words"]], "utils": [[63, 0, 0, "-", "assign_chunk_nums"], [64, 0, 0, "-", "calculate_chat_level_features"], [65, 0, 0, "-", "calculate_conversation_level_features"], [66, 0, 0, "-", "calculate_user_level_features"], [67, 0, 0, "-", "check_embeddings"], [68, 0, 0, "-", "gini_coefficient"], [70, 0, 0, "-", "preload_word_lists"], [71, 0, 0, "-", "preprocess"], [72, 0, 0, "-", "summarize_features"], [73, 0, 0, "-", "zscore_chats_and_conversation"]], "utils.assign_chunk_nums": [[63, 3, 1, "", "assign_chunk_nums"], [63, 3, 1, "", "create_chunks"], [63, 3, 1, "", "create_chunks_messages"], [63, 3, 1, "", "reduce_chunks"]], "utils.calculate_chat_level_features": [[64, 1, 1, "", "ChatLevelFeaturesCalculator"]], "utils.calculate_chat_level_features.ChatLevelFeaturesCalculator": [[64, 2, 1, "", "calculate_chat_level_features"], [64, 2, 1, "", "calculate_hedge_features"], [64, 2, 1, "", "calculate_politeness_sentiment"], [64, 2, 1, "", "calculate_politeness_v2"], [64, 2, 1, "", "calculate_textblob_sentiment"], [64, 2, 1, "", "calculate_vector_word_mimicry"], [64, 2, 1, "", "calculate_word_mimicry"], [64, 2, 1, "", "concat_bert_features"], [64, 2, 1, "", "get_certainty_score"], [64, 2, 1, "", "get_dale_chall_score_and_classfication"], [64, 2, 1, "", "get_forward_flow"], [64, 2, 1, "", "get_named_entity"], [64, 2, 1, "", "get_reddit_features"], [64, 2, 1, "", "get_temporal_features"], [64, 2, 1, "", "info_exchange"], [64, 2, 1, "", "lexical_features"], [64, 2, 1, "", "other_lexical_features"], [64, 2, 1, "", "positivity_zscore"], [64, 2, 1, "", "text_based_features"]], "utils.calculate_conversation_level_features": [[65, 1, 1, "", "ConversationLevelFeaturesCalculator"]], "utils.calculate_conversation_level_features.ConversationLevelFeaturesCalculator": [[65, 2, 1, "", "calculate_conversation_level_features"], [65, 2, 1, "", "calculate_info_diversity"], [65, 2, 1, "", "calculate_team_burstiness"], [65, 2, 1, "", "get_conversation_level_aggregates"], [65, 2, 1, "", "get_discursive_diversity_features"], [65, 2, 1, "", "get_gini_features"], [65, 2, 1, "", "get_turn_taking_features"], [65, 2, 1, "", "get_user_level_aggregates"]], "utils.calculate_user_level_features": [[66, 1, 1, "", "UserLevelFeaturesCalculator"]], "utils.calculate_user_level_features.UserLevelFeaturesCalculator": [[66, 2, 1, "", "calculate_user_level_features"], [66, 2, 1, "", "get_centroids"], [66, 2, 1, "", "get_user_level_averaged_features"], [66, 2, 1, "", "get_user_level_summary_statistics_features"], [66, 2, 1, "", "get_user_level_summed_features"], [66, 2, 1, "", "get_user_network"]], "utils.check_embeddings": [[67, 3, 1, "", "check_embeddings"], [67, 3, 1, "", "generate_bert"], [67, 3, 1, "", "generate_certainty_pkl"], [67, 3, 1, "", "generate_lexicon_pkl"], [67, 3, 1, "", "generate_vect"], [67, 3, 1, "", "get_sentiment"], [67, 3, 1, "", "read_in_lexicons"]], "utils.gini_coefficient": [[68, 3, 1, "", "get_gini"], [68, 3, 1, "", "gini_coefficient"]], "utils.preload_word_lists": [[70, 3, 1, "", "get_dale_chall_easy_words"], [70, 3, 1, "", "get_first_person_words"], [70, 3, 1, "", "get_function_words"], [70, 3, 1, "", "get_question_words"]], "utils.preprocess": [[71, 3, 1, "", "assert_key_columns_present"], [71, 3, 1, "", "compress"], [71, 3, 1, "", "create_cumulative_rows"], [71, 3, 1, "", "get_turn_id"], [71, 3, 1, "", "preprocess_conversation_columns"], [71, 3, 1, "", "preprocess_naive_turns"], [71, 3, 1, "", "preprocess_text"], [71, 3, 1, "", "preprocess_text_lowercase_but_retain_punctuation"]], "utils.summarize_features": [[72, 3, 1, "", "get_average"], [72, 3, 1, "", "get_max"], [72, 3, 1, "", "get_min"], [72, 3, 1, "", "get_stdev"], [72, 3, 1, "", "get_sum"], [72, 3, 1, "", "get_user_average_dataframe"], [72, 3, 1, "", "get_user_sum_dataframe"]], "utils.zscore_chats_and_conversation": [[73, 3, 1, "", "get_zscore_across_all_chats"], [73, 3, 1, "", "get_zscore_across_all_conversations"]]}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "function", "Python function"]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:function"}, "terms": {"": [0, 1, 2, 4, 5, 9, 11, 13, 25, 28, 29, 31, 32, 34, 35, 36, 40, 41, 42, 43, 44, 45, 46, 47, 49, 50, 51, 52, 55, 59, 61, 62, 64, 65, 66], "0": [0, 1, 2, 5, 10, 13, 16, 21, 24, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 43, 45, 46, 47, 50, 51, 53, 55, 59, 61], "000": 42, "00222437221134802": [5, 64], "01": 51, "02": 51, "04": 40, "0496": [21, 33], "05": [13, 40, 50, 51], "06": 51, "08": 50, "09": [45, 46, 50], "1": [0, 1, 2, 3, 10, 13, 22, 24, 32, 34, 35, 37, 38, 40, 41, 42, 43, 44, 45, 46, 47, 48, 51, 53, 55, 56, 57, 59, 61, 62], "10": [1, 5, 6, 21, 24, 33, 42, 59, 61, 64], "100": [1, 21, 33, 37, 42, 47, 62], "1000": 42, "10th": 33, "1145": [21, 24], "1177": [5, 64], "11th": 33, "12": [35, 45, 46, 50], "1287": 6, "12th": 33, "13": 50, "14": 50, "15": [37, 50], "1579": [21, 33], "17": 50, "1948": 33, "195": 36, "1977": 62, "1lpngokujsx": 5, "1st": 50, "1st_person": 50, "1st_person_pl": 50, "1st_person_start": 50, "2": [1, 2, 34, 35, 41, 47, 59, 61, 62], "20": [37, 59], "2004": 42, "2007": [5, 42], "2009": 60, "2012": 55, "2013": [12, 16, 31, 32, 36, 37, 38, 41, 43, 50, 52, 54, 70], "2015": [53, 58, 60], "2016": 4, "2017": 13, "2018": [40, 44, 55], "2019": [35, 52], "2020": [18, 21, 24, 33, 49, 50, 56, 57], "2021": [1, 6, 43, 44], "2022": [13, 34], "2023": [1, 5, 30, 59, 61, 64], "2024": 40, "21": 59, "22": [41, 50], "2384068": 4, "24": [1, 61], "25": 47, "27": 50, "28": 50, "29": 50, "2nd": 50, "2nd_person": 50, "2nd_person_start": 50, "3": [0, 1, 2, 21, 34, 41, 42, 51, 59, 61, 71], "30": 50, "3000": 33, "32": [34, 50], "3432929": [21, 24], "35": 51, "36": 50, "38": 50, "39": 49, "39512260": 68, "3n": 59, "4": [0, 1, 5, 13, 21, 30, 33, 41, 42, 56, 61, 62], "4274": 6, "43": 50, "45": 50, "47": 50, "49": 50, "4pit4bqz6": 5, "4th": [21, 33], "5": [1, 5, 21, 30, 33, 37, 41, 59], "50": [1, 47], "52": 50, "53": 50, "57": 50, "58": 50, "5th": 33, "6": [1, 33, 43], "60": 51, "63": 50, "6365": 21, "64": 67, "68": 47, "6th": 33, "7": [30, 33, 48], "70": 50, "78": [35, 50], "7th": 33, "8": [1, 30, 33], "80": [21, 70], "82": 41, "85": 34, "86": 35, "87": 50, "89": [45, 46], "8th": 33, "9": [2, 5, 21, 30, 33, 40, 47, 50], "9123": 47, "92": 51, "93chall_readability_formula": [21, 70], "94": 15, "95": 47, "97": 51, "9855072464": 47, "9992": 47, "99954": 47, "9th": 33, "A": [1, 2, 4, 12, 13, 14, 15, 16, 17, 18, 19, 21, 23, 25, 28, 33, 34, 35, 37, 38, 40, 41, 44, 45, 46, 47, 49, 50, 51, 52, 57, 59, 60, 61, 62, 66, 67, 68, 70, 71, 72, 73], "And": [1, 62], "As": [1, 31, 35, 36, 40, 45, 61], "But": [1, 50, 62], "By": [1, 42, 50], "For": [0, 1, 31, 34, 37, 41, 42, 43, 47, 49, 54, 56, 59, 62, 65], "If": [0, 1, 2, 5, 21, 29, 30, 35, 45, 47, 50, 55, 61, 62, 63, 64, 67, 71], "In": [1, 21, 30, 31, 34, 35, 36, 37, 39, 41, 42, 45, 46, 47, 50, 55, 59, 61, 62], "It": [1, 2, 31, 32, 33, 36, 37, 41, 44, 45, 46, 50, 64, 65, 66, 67, 71], "NO": 37, "NOT": [1, 61], "No": [19, 53], "Not": 41, "One": [1, 37, 61], "That": [29, 55], "The": [1, 2, 3, 4, 5, 7, 9, 10, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 58, 59, 60, 63, 64, 65, 66, 67, 68, 69, 71, 72, 73], "Then": [1, 55, 61], "There": [1, 11, 32, 61, 66], "These": [1, 11, 17, 32, 34, 42, 48, 52, 61, 62, 69], "To": [0, 1, 29, 31, 34, 37, 40, 55, 56, 57, 61, 62], "WITH": 21, "Will": 50, "_deviat": 55, "_preprocessed_": 0, "abil": [13, 29], "abl": [31, 36, 61], "abort": 1, "about": [1, 12, 29, 31, 36, 41, 47, 61, 62], "abov": [1, 21, 34, 61], "abstract_id": 4, "accept": [0, 1, 58, 61], "access": [0, 1, 15, 61], "accommod": [28, 32, 39, 45, 46, 64, 65, 66], "accord": [21, 37, 59, 64, 70], "accordingli": 63, "account": [1, 29, 32, 42], "accus": 50, "achiev": [50, 62], "acknowledg": 49, "acm": [21, 24], "acommod": 36, "across": [1, 13, 28, 31, 34, 40, 41, 50, 62, 64, 73], "action": 59, "activ": [1, 9, 44, 55, 71], "actual": [41, 56], "ad": [61, 62, 71], "adapt": 59, "add": [0, 1, 2, 21, 51, 61], "addit": [0, 2, 32, 34, 42, 63, 69], "addition": [0, 30, 31, 32, 54], "address": 1, "adjac": 71, "adjust": [0, 21, 37, 63], "advanc": [31, 36], "advantag": 4, "adverb": [19, 31, 36], "adverb_limit": [19, 49], "affect": [0, 1, 29, 35, 44], "affirm": 49, "after": [0, 1, 31, 34, 36, 43, 61, 62, 64], "again": [32, 34], "against": [28, 31, 36, 52], "agarw": 62, "aggreg": [0, 1, 3, 11, 37, 44, 61, 62, 65, 66, 72], "agre": 47, "agreement": 49, "ah": [31, 36], "ai": 62, "aim": [39, 62], "airtim": [37, 62], "al": [1, 5, 16, 18, 21, 24, 30, 31, 32, 33, 34, 35, 36, 38, 42, 43, 44, 49, 50, 52, 53, 54, 56, 57, 58, 59, 60, 64], "algorithm": [56, 57], "align": [35, 51], "all": [0, 1, 2, 6, 12, 13, 15, 19, 22, 28, 30, 31, 34, 35, 36, 37, 40, 41, 42, 46, 48, 49, 51, 52, 55, 58, 61, 62, 64, 66, 71, 73], "allow": 1, "almaatouq": 59, "along": 1, "alongsid": 1, "alphabet": 49, "alphanumer": 71, "alreadi": [0, 1, 2, 4, 10, 12, 16, 67], "also": [0, 1, 2, 28, 30, 31, 32, 34, 36, 37, 38, 42, 47, 51, 54, 60, 61, 62, 64, 65, 67, 69, 71], "alsobai": 59, "altern": 59, "although": [1, 23, 31, 36], "alwai": [1, 55], "am": [31, 36, 42, 54, 62], "amaz": [48, 56], "ambient": 32, "american": 33, "ami": [47, 59, 62], "amic": 62, "among": [36, 37, 52, 55, 62], "amongst": [6, 35, 48], "an": [1, 2, 5, 8, 11, 12, 13, 21, 29, 30, 31, 32, 33, 34, 36, 38, 40, 41, 42, 45, 47, 48, 50, 51, 52, 54, 59, 60, 61, 62, 63, 65, 66, 68], "analys": [1, 62], "analysi": [0, 1, 11, 52, 62, 67, 71], "analyt": 62, "analyz": [0, 1, 2, 13, 14, 16, 17, 19, 20, 21, 22, 24, 28, 43, 52, 62, 67, 71], "analyze_first_pct": [0, 1, 2], "angri": 47, "ani": [0, 1, 29, 31, 33, 38, 54, 62, 71], "annot": [17, 50], "anoth": [30, 34, 36, 48], "answer": 29, "anybodi": [31, 36], "anyth": [1, 2, 23, 31, 36, 56], "anywher": [31, 36], "apartment": 42, "api": 47, "api_refer": 24, "apolog": [17, 50], "apologi": 49, "appear": [0, 15, 37, 38, 42, 64], "append": [1, 17, 64, 65, 66, 67], "appli": [4, 13, 18, 62, 64, 69], "applic": [29, 71], "appreci": 50, "approach": [32, 38, 42, 45, 46, 49, 53, 64], "appropri": 69, "ar": [0, 1, 2, 3, 5, 9, 10, 11, 15, 17, 19, 21, 23, 28, 29, 30, 31, 32, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 47, 48, 49, 51, 54, 55, 56, 57, 58, 59, 61, 62, 63, 64, 65, 66, 67, 69, 71], "arcross": 34, "area": 62, "aren": [31, 36], "around": 2, "arous": 48, "arrai": [6, 8, 68], "articl": [37, 50], "ask": [20, 47, 54], "ask_ag": 49, "aspect": [50, 62], "assert_key_columns_pres": 71, "assign": [1, 31, 36, 38, 45, 46, 52, 59, 61, 63, 71], "assign_chunk_num": 69, "associ": [4, 15, 21, 29, 30, 31, 32, 36, 40, 45, 46, 47, 48, 61], "assum": [0, 1, 2, 10, 12, 16, 23, 41, 60, 61, 71], "assumpt": [1, 41, 61], "asterisk": 22, "attribut": [1, 11, 34, 51, 52, 56, 62], "author": [5, 31, 36, 59], "auto": 2, "automat": [0, 1, 61, 69], "auxiliari": [31, 36], "avail": [1, 61, 62, 63, 64, 67], "averag": [11, 13, 28, 30, 33, 34, 35, 40, 41, 46, 52, 64, 65, 66, 72], "avil": 62, "avoid": 30, "awar": 29, "awesom": 62, "b": [4, 34, 35, 45, 46, 55, 62], "back": 62, "bag": [32, 38, 42, 45, 46, 49, 53, 56, 57], "bare_command": [19, 49], "base": [0, 1, 2, 15, 18, 19, 31, 32, 34, 35, 36, 37, 40, 42, 51, 52, 53, 54, 55, 56, 57, 61, 62, 63, 64, 65, 66, 71], "basic": [10, 11, 12, 16, 61, 62], "basic_featur": 11, "batch": 67, "batch_num": 1, "batch_siz": 67, "bay": [56, 57], "bbevi": 18, "becaus": [1, 2, 12, 21, 31, 36, 40, 56, 61], "becom": [44, 61, 62], "been": [1, 2, 12, 16, 31, 36, 61], "befor": [0, 1, 2, 17, 31, 36, 45, 48], "beforehand": 64, "begin": [34, 54, 58, 61, 62, 63], "behavior": [0, 2, 62, 63], "being": [4, 13, 14, 16, 17, 20, 21, 24, 31, 32, 36, 43, 47, 51, 55, 56, 60], "belong": [1, 42], "below": [1, 11, 21, 33, 36, 45, 48, 51, 61, 62, 69], "ber": 54, "bert": [0, 1, 31, 35, 36, 39, 46, 61, 64, 67], "bert_path": 67, "bert_sentiment_data": [1, 61, 64], "best": 29, "better": 61, "between": [4, 6, 13, 21, 23, 24, 28, 30, 31, 34, 35, 36, 37, 40, 45, 46, 55, 58, 59, 62, 64, 65], "betwen": 34, "beyond": 2, "big": 59, "binari": [10, 32, 38], "blame": 47, "blob": [1, 24, 61], "block": [22, 32, 48, 59], "blog": 15, "bold": [22, 64], "bool": [2, 63, 67, 71], "bootstrap": 62, "both": [1, 2, 42, 52, 54, 55, 59, 62], "bother": 50, "bottom": 59, "bought": 41, "bound": [29, 35, 36, 37, 42, 52, 55], "boundari": [34, 35], "break": [22, 48, 64], "brief": 44, "broader": 52, "broken": 59, "btw": 50, "bug": [1, 61], "build": [1, 7, 34, 45, 46, 62], "built": 11, "built_spacy_n": 15, "bullet": [22, 48, 64], "bunch": 59, "burst": 58, "bursti": [1, 11, 39, 58, 61, 65], "by_the_wai": 49, "c": [12, 34, 35, 45, 46, 62], "cach": [0, 1, 2, 51, 61], "calcul": [2, 5, 11, 12, 16, 18, 21, 28, 33, 41, 48, 49, 50, 56, 57, 58, 60, 62, 63, 64, 65, 66, 67, 68, 72, 73], "calculate_chat_level_featur": [1, 61, 69], "calculate_conversation_level_featur": 69, "calculate_hedge_featur": 64, "calculate_id_scor": 13, "calculate_info_divers": 65, "calculate_named_ent": 15, "calculate_num_question_na": 20, "calculate_politeness_senti": 64, "calculate_politeness_v2": 64, "calculate_team_bursti": 65, "calculate_textblob_senti": 64, "calculate_user_level_featur": 69, "calculate_vector_word_mimicri": 64, "calculate_word_mimicri": 64, "call": [1, 2, 8, 13, 61, 62, 64, 69], "can": [0, 1, 11, 23, 31, 32, 33, 34, 36, 37, 42, 43, 44, 47, 48, 49, 50, 52, 54, 60, 61, 62, 69], "can_you": 49, "cannot": [1, 31, 36, 45, 46, 49, 62], "cao": [21, 24, 33, 43, 44, 56, 57, 62], "cap": [22, 48, 64], "capit": [0, 2, 48], "captur": [29, 30, 32, 34, 35, 38, 41, 42, 55], "caract": 40, "cardiffnlp": [1, 61], "carefulli": 60, "casa_token": 5, "case": [1, 13, 16, 29, 30, 31, 36, 37, 41, 45, 46, 51, 55, 56, 59, 61], "casual": 43, "categori": [21, 32, 45, 46, 49, 52], "caus": [31, 32, 36, 59], "caveat": 1, "center": 62, "central": 34, "centroid": [34, 66], "certain": [5, 19, 30, 42, 45, 46, 49], "certainli": 42, "certainti": [11, 38, 39, 42, 64, 67], "cfm": 4, "chall": [1, 21, 39, 64, 70], "chang": [1, 34, 50, 61, 71], "charact": [2, 3, 15, 19, 37, 49, 62, 64, 65, 66, 71], "characterist": 62, "chat": [0, 1, 2, 4, 5, 6, 7, 8, 12, 13, 14, 16, 23, 25, 28, 29, 32, 35, 36, 41, 44, 45, 46, 49, 59, 61, 63, 64, 65, 66, 67, 68, 69, 71, 72, 73], "chat_data": [2, 6, 7, 8, 26, 27, 28, 63, 64, 65, 66, 67, 71], "chat_df": 14, "chat_featur": [1, 61], "chat_level_data": 72, "chat_level_featur": 2, "chatlevelfeaturescalcul": [1, 2, 17, 21, 61, 64, 69], "chats_data": 73, "check": [19, 23, 44, 64, 67, 71], "check_embed": [1, 61, 69], "chen": 62, "choos": 60, "chose": 1, "chronolog": 1, "chunk": [34, 59, 63], "chunk_num": 63, "circlelyt": 13, "citat": [21, 24], "cite": 50, "clarif": [16, 32, 64], "class": [1, 2, 31, 61, 62, 64, 65, 66], "classif": [21, 64], "classifi": [16, 21, 50, 56, 57], "classify_ntri": 16, "classify_text_dalechal": 21, "clean": [2, 17, 19, 67], "clean_text": 19, "clear": 1, "close": [31, 48, 62], "closer": [45, 46, 59], "clue": 62, "cmu": 12, "code": [6, 18, 29, 32, 51, 55, 61, 62, 68], "coeffici": [4, 39, 62, 65, 68], "coerce_to_date_or_numb": 23, "cognit": 62, "col": 2, "colab": [0, 1], "collabor": [59, 62], "collaps": 2, "collect": [1, 2, 34, 49, 50, 52, 61, 62], "colleg": 33, "column": [0, 2, 4, 6, 7, 8, 9, 12, 13, 14, 16, 18, 23, 25, 28, 51, 56, 62, 63, 64, 65, 66, 67, 68, 71, 72, 73], "column_count_frequ": 28, "column_count_mim": 28, "column_mimc": 28, "column_nam": 71, "column_to_summar": 72, "com": [1, 2, 4, 5, 13, 15, 18, 64, 68, 71], "comb": 62, "combin": [0, 1, 6, 28, 64, 71], "come": [1, 12, 13, 21, 32, 33, 58, 61], "comm": [1, 61], "command": [1, 61], "comment": 48, "commit": 23, "commit_data": 19, "common": [0, 32, 62, 64], "commonli": 37, "commun": [0, 1, 11, 44, 48, 55, 60, 62, 64], "companion": 1, "compar": [2, 31, 35, 44, 45, 52, 64, 71, 73], "compat": [1, 61], "complement": [31, 36], "complet": [1, 2, 55], "complex": [0, 35, 43, 50, 62], "compon": 50, "comprehens": [33, 48], "compress": 71, "comput": [0, 2, 4, 5, 6, 10, 11, 12, 13, 14, 28, 29, 30, 31, 34, 35, 36, 37, 40, 41, 42, 45, 46, 49, 52, 55, 62, 64, 65, 66, 69, 73], "compute_frequ": 28, "compute_vectors_from_preprocess": [0, 2], "computetf": 28, "conain": 61, "concat_bert_featur": [1, 61, 64], "concaten": [19, 49, 64, 71], "concentr": 55, "concept": [29, 39, 42, 62], "conceptu": [61, 62], "concis": 43, "concret": 29, "conduct": 1, "confid": [2, 5, 15, 30, 47, 64], "conflict": 62, "confound": 44, "congruent": 34, "conjection_seper": 19, "conjunct": [19, 31, 36, 49], "conjunction_start": 49, "connect": 39, "conscious": 35, "consecut": 22, "consequ": 0, "consid": [1, 33, 37], "consider": [61, 62], "consist": [36, 40, 41], "constitut": 41, "constrain": [34, 35], "construct": [11, 55, 62], "constructor": 47, "consult": 5, "contain": [1, 2, 3, 4, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 23, 25, 28, 29, 30, 35, 38, 42, 47, 49, 55, 61, 62, 63, 64, 67, 71, 72, 73], "content": [0, 1, 12, 13, 28, 34, 36, 39, 41, 42, 45, 46, 62, 64, 67], "content_mimicry_scor": 28, "content_word_mimicri": 28, "context": [2, 32, 42, 48, 62, 71], "continu": [56, 57], "contract": 49, "contrast": 39, "contribut": [13, 34, 37, 62], "control": 1, "conv": [1, 61], "conv_data": [2, 65], "conv_features_al": [1, 61], "conv_features_bas": [1, 61], "conv_level_featur": 2, "conv_to_float_arr": 8, "convei": [6, 34, 52], "conveni": [1, 61], "convers": [0, 2, 3, 4, 6, 7, 8, 9, 12, 13, 23, 25, 28, 29, 31, 34, 35, 36, 37, 40, 41, 43, 44, 45, 46, 47, 48, 49, 50, 52, 55, 58, 59, 61, 63, 64, 65, 66, 68, 71, 72, 73], "conversation_id": [2, 28, 61, 71], "conversation_id_col": [0, 1, 2, 4, 6, 7, 8, 9, 13, 23, 25, 26, 27, 61, 63, 64, 65, 66, 68, 72, 73], "conversation_num": [0, 1, 2, 6, 7, 66, 71, 73], "conversationlevelfeaturescalcul": [2, 65, 69], "convert": [8, 41, 49, 71], "convict": 5, "convokit": [17, 50, 62, 64], "coordin": 55, "copi": [0, 1], "copular": [31, 36], "core": [2, 34, 69], "cornel": 17, "corpu": 50, "corrado": 37, "correl": [41, 55], "correspond": [30, 34, 35, 40, 49, 55, 66], "cosin": [6, 7, 13, 28, 31, 34, 35, 36, 40, 45, 46, 65], "could": [1, 31, 33, 36, 50, 54], "could_you": 49, "couldn": [31, 36], "count": [1, 3, 12, 14, 15, 16, 19, 21, 25, 28, 30, 31, 32, 36, 39, 41, 43, 44, 49, 52, 53, 54, 56, 58, 64, 65, 66], "count_all_cap": 22, "count_bullet_point": 22, "count_charact": 3, "count_difficult_word": 21, "count_ellips": 22, "count_emoji": 22, "count_emphasi": 22, "count_line_break": 22, "count_link": 22, "count_match": [19, 49], "count_messag": 3, "count_numb": 22, "count_parenthes": 22, "count_quot": 22, "count_responding_to_someon": 22, "count_spacy_match": 19, "count_syl": 21, "count_turn": 25, "count_turn_taking_index": 25, "count_user_refer": 22, "count_word": 3, "countabl": 65, "countd": 36, "counterfactu": 50, "cours": [16, 31, 34, 36, 63], "creat": [0, 1, 2, 13, 19, 31, 40, 42, 61, 62, 64, 65, 66, 71], "create_chunk": 63, "create_chunks_messag": 63, "create_cumulative_row": 71, "credit": 33, "crowd": 13, "csv": [1, 2, 61, 62, 67], "cumul": [1, 2, 71], "cumulative_group": [0, 1, 2, 71], "current": [1, 11, 23, 31, 34, 35, 36, 40, 45, 46, 58, 61, 64, 71], "curt": 43, "custom": [0, 62], "custom_featur": [0, 1, 2, 61], "customiz": 62, "cut": 1, "cutoff": [2, 15, 47, 64], "d": [1, 31, 34, 36, 61], "dale": [1, 21, 39, 64, 70], "dale_chall_help": 21, "danescu": 50, "dash": 22, "data": [0, 2, 6, 7, 8, 9, 13, 19, 20, 32, 37, 40, 41, 47, 51, 55, 61, 62, 63, 64, 65, 66, 67, 68, 71, 72, 73], "datafram": [0, 1, 2, 4, 6, 7, 8, 9, 12, 13, 14, 15, 16, 17, 18, 19, 23, 25, 28, 37, 47, 49, 59, 61, 62, 63, 64, 65, 66, 67, 68, 71, 72, 73], "dataknowsal": 15, "dataset": [1, 2, 9, 12, 13, 28, 31, 41, 47, 52, 61, 64, 65, 66, 73], "date": [1, 61], "datetim": [23, 58], "dcosta": 62, "deal": [50, 59], "death": 1, "debat": 59, "decid": 62, "decis": [1, 13, 62], "declar": [1, 62, 69], "deepli": 62, "default": [0, 1, 2, 5, 13, 16, 30, 34, 35, 42, 47, 62, 63, 66, 67, 71, 73], "defer": [17, 50], "defin": [0, 11, 21, 31, 34, 36, 40, 59, 62, 64, 65, 66, 70], "definit": [1, 3, 44], "degre": [6, 30, 36, 45, 46, 55], "delet": 29, "deliber": 1, "demo": 61, "democrat": 1, "demystifi": 62, "denomin": 59, "densiti": 60, "dep_": 49, "dep_pair": 19, "depend": [0, 1, 10, 19, 32, 49, 52, 61, 63], "deriv": [2, 11, 65, 66], "describ": [1, 11, 62], "descript": [1, 61], "design": [0, 1, 2, 13, 34, 62], "desir": [2, 63, 72], "detail": [0, 33, 41, 43, 61, 62], "detect": [1, 32, 37, 38, 47, 48, 49, 54], "determin": [13, 18, 31, 35, 36, 40, 45, 46, 71], "dev": 24, "develop": [5, 37, 40, 62], "deviat": [4, 5, 29, 40, 41, 55, 58, 65, 72, 73], "df": [4, 8, 9, 12, 13, 16, 18, 23, 28, 63, 71], "dict": [17, 19, 28, 67], "dictionari": [1, 15, 17, 19, 28, 30, 42, 49, 61, 67], "did": [1, 31, 36, 37, 47, 50, 54, 62], "didn": [31, 36], "differ": [0, 1, 2, 4, 11, 12, 23, 29, 31, 34, 36, 37, 39, 40, 44, 45, 46, 47, 49, 55, 62, 63, 64, 65, 66, 71], "differenti": [49, 59], "difficult": [21, 33], "difficult_word": 21, "difficulti": 33, "dimens": [40, 62], "dimension": [34, 35], "dinner": 41, "direct": [34, 43, 45, 47, 50, 69], "direct_quest": [32, 50, 54], "direct_start": 50, "directli": [1, 62, 69], "directori": [0, 2, 19, 61, 65, 67], "disagr": 49, "disagre": 51, "discours": [31, 36], "discret": [31, 36, 45, 46], "discurs": [0, 1, 6, 8, 39, 40, 61, 65, 66], "discursive_divers": 11, "discus": 8, "discuss": [0, 1, 31, 34, 39, 40, 42, 43, 61, 62, 71], "dispers": 68, "displai": [1, 34, 42, 46, 61], "dispos": 1, "distanc": [34, 35, 40], "distinct": [36, 59], "distinguish": 59, "div": 16, "diverg": [6, 34, 35], "divers": [0, 1, 6, 8, 13, 39, 61, 65], "divid": [16, 34, 59, 63], "dl": [21, 24], "do": [0, 1, 29, 31, 34, 36, 37, 43, 49, 50, 54, 62, 69], "doc": 19, "doc_top": 13, "document": [1, 17, 61, 69], "doe": [1, 2, 29, 40, 42, 43, 45, 47, 54, 61, 71], "doesn": [0, 1, 2, 29, 31, 36, 45, 61], "doi": [5, 6, 21, 24, 64], "domain": 50, "don": [31, 36, 49, 54, 62, 67], "done": [2, 50], "dot": 22, "doubl": 30, "down": [31, 36], "download": [1, 61], "download_resourc": [1, 61], "downstream": [17, 62], "dozen": 62, "drive": [62, 69], "driver": [2, 61, 64, 65, 66], "drop": [0, 2, 64], "due": [34, 59], "duncan": 62, "duplic": [1, 2, 71], "durat": [58, 63], "dure": [2, 55, 59, 62], "dynam": [59, 61], "e": [0, 1, 2, 4, 15, 20, 29, 30, 31, 32, 34, 35, 36, 37, 38, 41, 42, 47, 48, 49, 52, 54, 56, 59, 61, 63, 65, 66, 71], "e2": [21, 70], "each": [0, 1, 2, 3, 4, 7, 8, 9, 11, 12, 15, 17, 19, 23, 25, 28, 30, 31, 34, 35, 36, 37, 40, 41, 42, 44, 45, 46, 47, 49, 50, 51, 52, 55, 59, 61, 62, 63, 64, 65, 66, 67, 68, 69, 71, 72, 73], "earlier": [0, 1, 2, 42], "easi": [1, 21, 62, 70], "easier": 21, "easili": 33, "easy_word": 21, "eat": 34, "echo": 31, "econom": 37, "edg": [29, 59], "edu": [1, 12, 16, 17, 70], "effect": [1, 41], "effici": 1, "effort": 55, "either": [20, 23, 52, 55], "elaps": [23, 58], "element": [1, 6], "ellips": [22, 48, 64], "els": [1, 22, 47, 64], "embed": [8, 31, 34, 35, 36, 45, 46, 65, 66, 67, 69], "emili": [30, 35, 45, 46, 47, 59, 62], "emoji": [22, 48, 64], "emot": [1, 61], "emoticon": 48, "emphas": [22, 48, 64], "emphasi": 48, "empirica": [1, 2, 71], "emploi": 45, "empti": [0, 2, 13], "en": [1, 21, 24, 61, 70], "en_core_web_sm": [1, 61], "enabl": 71, "enclos": 22, "encod": [1, 8], "encompass": 62, "encount": [1, 34, 35, 61], "encourag": 64, "end": [0, 1, 15, 20, 23, 34, 54, 62, 63], "engag": 43, "engin": 2, "english": [34, 42], "enjoi": 62, "ensur": [0, 1, 40, 49, 61, 63, 67, 71], "entir": [1, 12, 36, 40, 41, 52, 59, 62, 73], "entiti": [0, 1, 2, 15, 39, 64], "entityrecogn": 47, "entri": [1, 28, 61], "ep8dauru1ogvjurwdbof5h6ayfbslvughjyiv31d_as6ppbt": 5, "equal": [1, 21, 23, 34, 37, 40, 55, 59, 61, 62, 63], "equival": [0, 1, 41, 55, 61], "eric": 62, "error": [1, 16, 61], "especi": [41, 62], "essenti": [51, 71], "estim": 31, "et": [1, 5, 16, 18, 21, 24, 30, 31, 32, 33, 34, 35, 36, 38, 42, 43, 44, 49, 50, 52, 53, 54, 56, 57, 58, 59, 60, 64], "etc": [10, 15, 16, 17, 42], "evalu": [5, 47, 50], "evan": 62, "even": [0, 1, 2, 34, 37, 42, 62, 63, 67], "evenli": [34, 55], "event": [1, 34, 55, 61], "ever": 62, "everi": [1, 4, 13, 31, 34, 35, 36, 61, 62], "everybodi": [31, 36], "everyon": [31, 36, 47, 62], "everyth": [31, 36, 56], "everywher": [31, 36], "evolut": 35, "evolv": [35, 71], "exactli": [1, 2, 71], "examin": [40, 62, 63], "exampl": [0, 10, 11, 15, 21, 24, 29, 31, 32, 34, 37, 42, 43, 48, 50, 51, 54, 56, 59, 60, 61, 62], "example_data": 1, "exce": 15, "exchang": [12, 35, 39, 40, 45, 55, 64], "exclud": [0, 41, 42], "exclus": [41, 42], "excus": 32, "exhibit": 35, "exist": [0, 1, 2, 55, 61, 62, 63, 64, 67], "expand": 49, "expect": [1, 37, 47], "expected_valu": 47, "explain": [0, 29], "explan": [29, 43], "explor": [61, 62], "express": [5, 14, 30, 31, 32, 36, 38, 42, 64], "extend": 1, "extens": [43, 44], "extent": [1, 4, 7, 12, 31, 34, 35, 37, 51, 55, 59, 61], "extern": 48, "extra": 51, "extract": [1, 17, 19, 28, 40, 50, 64], "extrem": [55, 56, 57], "face": [1, 51, 61], "facilit": [62, 71], "fact": [4, 35, 50, 54, 59], "factual": [17, 24, 50], "fail": [1, 61], "fals": [0, 1, 2, 31, 54, 61, 71], "famili": 42, "far": [34, 35, 46, 50, 62], "faster": 14, "feat_count": 19, "featuer": 2, "featur": [0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 63, 64, 65, 66, 67], "feature_build": [0, 1, 61], "feature_dict": [1, 61], "feature_method": [64, 65], "feature_nam": [1, 61], "featurebuild": [0, 2, 47, 69], "features_conceptu": [1, 61], "few": [48, 62], "fewer": [12, 60], "fflow": 11, "field": [13, 17], "file": [0, 2, 12, 14, 19, 61, 65, 67], "filenam": [1, 2, 19], "filenotfounderror": 67, "fill": 71, "filler": [37, 60], "filler_paus": 49, "filter": [19, 62], "final": [1, 2, 34, 42, 62], "find": [1, 19, 28, 50], "fingertip": 62, "finit": 55, "first": [0, 1, 2, 11, 12, 16, 19, 31, 34, 35, 36, 39, 40, 41, 42, 45, 46, 49, 52, 54, 59, 61, 62, 64, 70, 71], "first_person": 12, "first_person_plur": 49, "first_person_raw": [12, 16], "first_person_singl": 49, "five": 37, "fix": 52, "flag": 71, "float": [2, 4, 5, 6, 8, 10, 13, 14, 16, 21, 24, 25, 28, 68], "floor": 59, "flow": [0, 1, 7, 31, 36, 39, 41, 45, 46, 61, 64], "focal": [31, 36], "focu": 41, "folder": [0, 1, 19], "follow": [1, 2, 16, 17, 29, 31, 32, 33, 41, 42, 47, 49, 50, 53, 55, 59, 60, 61, 64, 65], "for_m": 49, "for_you": 49, "forc": [0, 1, 61], "form": 1, "formal": [1, 61], "formal_titl": 49, "format": [1, 8, 17, 22, 47, 48, 61, 62, 64], "former": [45, 46], "formula": [33, 42, 59, 64, 70], "fornt": 1, "forward": [0, 1, 7, 39, 41, 61, 64], "forward_flow": 35, "found": [1, 5, 28, 30, 33, 61, 69], "four": [1, 8], "fourth": 33, "frac": 55, "fraction": 59, "frame": 2, "framework": [49, 50, 62], "frequenc": [28, 31, 44, 64], "frequency_dict": 28, "fridai": 34, "from": [0, 1, 2, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 16, 19, 21, 28, 29, 31, 32, 33, 34, 35, 36, 39, 41, 42, 49, 50, 51, 53, 55, 56, 57, 58, 61, 62, 64, 65, 66, 67, 71], "full": [1, 2, 37], "full_empirical_dataset": 1, "fulli": [32, 48], "functinon": 12, "function": [1, 2, 3, 4, 10, 11, 12, 13, 14, 16, 20, 21, 23, 28, 31, 39, 44, 45, 46, 50, 56, 57, 60, 61, 62, 63, 64, 65, 66, 67, 69, 70, 71, 72, 73], "function_mimic_word": 28, "function_mimicry_scor": 28, "function_word_mimicri": 28, "function_word_refer": 28, "fund": 62, "further": [1, 2, 61, 71], "futur": [23, 66], "g": [0, 1, 4, 15, 20, 29, 31, 32, 36, 37, 38, 41, 42, 47, 48, 52, 54, 59, 61, 63, 65, 66, 71], "game": [1, 2, 59, 71], "gaug": [33, 52], "gener": [0, 2, 9, 11, 12, 16, 21, 31, 34, 35, 36, 40, 42, 45, 46, 49, 51, 59, 67, 69, 71, 72], "generaliz": 23, "generate_bert": 67, "generate_certainty_pkl": 67, "generate_lexicon_pkl": 67, "generate_vect": 67, "gensim": 40, "get": [0, 16, 20, 21, 28, 30, 31, 36, 49, 66], "get_all_dd_featur": 11, "get_averag": 72, "get_centroid": 66, "get_certainti": 5, "get_certainty_scor": 64, "get_content_words_in_messag": 28, "get_conversation_level_aggreg": 65, "get_cosine_similar": 6, "get_dale_chall_easy_word": [21, 70], "get_dale_chall_score_and_classf": 64, "get_dd": 6, "get_dd_featur": 8, "get_dep_pair": [19, 49], "get_dep_pairs_noneg": [19, 49], "get_discursive_diversity_featur": 65, "get_first_pct_of_chat": 2, "get_first_person_word": [12, 70], "get_forward_flow": [7, 64], "get_function_word": 70, "get_function_words_in_messag": 28, "get_gini": 68, "get_gini_featur": 65, "get_info_divers": 13, "get_info_exchange_wordcount": 12, "get_liwc_count": 14, "get_max": 72, "get_mimicry_bert": 28, "get_min": 72, "get_moving_mimicri": 28, "get_named_ent": 64, "get_nan_vector": 27, "get_polarity_scor": 24, "get_politeness_strategi": 17, "get_politeness_v2": 18, "get_proportion_first_pronoun": 16, "get_question_word": 70, "get_reddit_featur": 64, "get_senti": 67, "get_stdev": 72, "get_subjectivity_scor": 24, "get_sum": 72, "get_team_bursti": 4, "get_temporal_featur": [4, 64], "get_time_diff": 23, "get_time_diff_startend": 23, "get_turn": 25, "get_turn_id": 71, "get_turn_taking_featur": 65, "get_unique_pairwise_combo": 6, "get_user_average_datafram": 72, "get_user_level_aggreg": 65, "get_user_level_averaged_featur": 66, "get_user_level_summary_statistics_featur": 66, "get_user_level_summed_featur": 66, "get_user_network": [11, 66], "get_user_sum_datafram": 72, "get_variance_in_dd": 26, "get_within_person_disc_rang": 27, "get_word_ttr": 16, "get_zscore_across_all_chat": 73, "get_zscore_across_all_convers": 73, "gina": 62, "gini": [39, 62, 65, 68], "gini_coeffici": [11, 69], "github": [0, 1, 2, 18, 71], "give": [0, 1, 29, 37], "give_ag": 49, "given": [5, 6, 13, 14, 28, 30, 31, 33, 34, 35, 36, 40, 41, 55, 59, 66, 67, 71], "go": [1, 34, 35, 45, 46, 50, 62], "goal": 62, "good": [50, 56, 62], "goodby": 49, "googl": [0, 1], "got": [31, 36], "gotta": [31, 36], "grade": 33, "grader": 21, "grai": 35, "grammat": 36, "granularli": 35, "grate": 62, "gratitud": [17, 49, 50], "great": [47, 50, 51, 56, 59, 60, 62], "greater": 55, "greet": 50, "groceri": 41, "group": [0, 1, 2, 4, 13, 29, 33, 34, 41, 52, 59, 62, 68, 71, 72], "grouping_kei": [0, 1, 2, 71], "gt": 22, "guess": 10, "gun": 1, "gy": 15, "gym": 34, "ha": [0, 1, 2, 32, 34, 35, 37, 42, 43, 46, 52, 54, 55, 56, 59, 61, 62, 63, 71], "had": [1, 31, 36, 54, 61], "hadn": [31, 36], "handl": [19, 29, 71], "happen": [1, 2, 55, 62, 63], "happi": 42, "harder": 21, "hashedg": [17, 50], "hasn": [31, 36], "hasneg": 50, "hasposit": 50, "hate": 31, "have": [0, 1, 2, 10, 12, 16, 31, 34, 36, 37, 40, 41, 42, 45, 46, 50, 54, 59, 60, 61, 62, 71], "haven": [31, 36], "he": [1, 31, 36], "header": 18, "hear": 32, "heart": [61, 62], "heat": 1, "heavi": 62, "hedg": [11, 30, 39, 49, 50, 64], "hei": [1, 35, 45, 46, 50], "helena": [47, 62], "hello": [0, 43, 49], "help": [0, 31, 34, 36, 43, 45, 46, 52, 58, 69], "helper": [23, 67], "her": [30, 31, 36], "here": [0, 1, 29, 34, 41, 42, 47, 61, 66], "herself": [31, 36], "hesit": [60, 64], "hi": [31, 35, 36, 43, 45, 46], "hierach": 71, "hierarch": 71, "high": [0, 1, 2, 61, 62, 71], "higher": [21, 31, 34, 36, 40, 41, 42, 44, 45, 46, 55, 60], "highest": 71, "highlight": 1, "him": [31, 36], "himself": [31, 36], "hmm": [31, 36], "hoc": 62, "hole": 62, "home": 42, "homework": 34, "homonym": 31, "hood": 1, "hope": 35, "host": [45, 46], "hour": 48, "how": [1, 5, 29, 30, 31, 34, 35, 36, 39, 43, 45, 51, 52, 54, 56, 62], "howev": [0, 1, 3, 35, 40, 42, 44, 54, 56, 61, 62], "howitwork": 1, "html": [1, 15, 17, 24, 61], "http": [1, 2, 4, 5, 6, 12, 13, 15, 16, 17, 18, 21, 24, 41, 45, 46, 47, 61, 64, 68, 70, 71], "hu": [1, 42, 62], "hug": [1, 51, 61], "huggingfac": 1, "huh": [31, 32, 36], "human": [37, 50, 62], "hyperlink": 48, "hyphen": [1, 61], "hypothet": 42, "i": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16, 19, 20, 21, 22, 23, 24, 25, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 71, 73], "iby1": 5, "id": [2, 4, 7, 23, 28, 62, 66, 68, 71, 72, 73], "idea": [12, 35, 40, 47, 51], "ident": [34, 35], "identif": 1, "identifi": [0, 1, 2, 4, 8, 9, 15, 23, 25, 30, 41, 47, 50, 52, 61, 63, 64, 71, 72], "identiif": [13, 71], "ignor": [1, 32], "illustr": [1, 41, 48, 62], "imagin": 1, "immedi": [31, 35, 64], "impact": [1, 60], "impersonal_pronoun": 49, "implement": 64, "impli": 37, "import": [31, 32, 36, 44, 45, 62, 69], "incent": 13, "includ": [0, 1, 2, 10, 17, 22, 31, 32, 35, 36, 42, 45, 46, 51, 52, 56, 61, 62, 66, 71], "inclus": [13, 71], "incongru": [8, 34], "incorpor": [1, 42, 45, 46], "increas": [1, 42, 62], "increment": 71, "independ": 1, "index": [1, 2, 4, 13, 25, 37, 39, 55, 61, 65], "indic": [1, 2, 16, 21, 22, 30, 32, 34, 35, 36, 40, 41, 43, 44, 48, 49, 50, 52, 55, 60, 63, 71], "indirect": 50, "indirect_btw": 50, "indirect_greet": 50, "indirectli": 69, "individu": [0, 1, 5, 11, 31, 34, 37, 45, 50, 59, 60, 62, 72], "inequ": 37, "infer": [1, 51, 67], "influenc": 1, "info": [13, 18, 64], "info_divers": 13, "info_exchang": 64, "info_exchange_wordcount": [41, 64], "info_exchange_zscor": 11, "inform": [6, 11, 12, 13, 24, 32, 34, 39, 48, 62, 64, 65], "informal_titl": 49, "information_divers": 11, "initi": [2, 62, 63, 64, 65, 66], "input": [0, 2, 4, 6, 12, 13, 14, 15, 16, 19, 20, 21, 22, 28, 31, 50, 55, 60, 62, 63, 64, 65, 66, 67, 71, 72], "input_column": [65, 66], "input_data": [25, 68, 72], "input_df": [1, 2, 61, 71], "inquiri": [30, 39, 52], "insid": 1, "insight": 1, "inspir": 15, "instal": [1, 61, 62], "instanc": [1, 22, 50, 59, 66], "instanti": 2, "insteac": 1, "instead": [1, 2, 62], "instruct": [1, 61], "int": [2, 3, 10, 13, 15, 16, 19, 20, 21, 22, 28, 63, 64, 67], "intact": 71, "integ": [13, 40, 47], "intend": 59, "interact": [1, 11, 43, 44, 62, 69], "interconnect": 62, "interest": [1, 61, 62], "interfac": 62, "intermedi": [59, 64], "intern": 29, "interpret": [0, 23], "interrupt": 59, "interv": [58, 65], "introduc": 62, "introduct": [11, 61], "invalid": 67, "invers": 64, "involv": [41, 62, 65], "io": [1, 24, 47, 61], "ipynb": [0, 1], "is_hedged_sentence_1": 10, "isn": [1, 31, 36], "issu": [1, 31, 36, 37, 42, 61], "ital": 64, "italic": 22, "item": [0, 71], "its": [0, 2, 15, 31, 35, 36, 40, 41, 47, 54, 55, 64, 69], "itself": [23, 31, 36, 44], "john": 1, "jonson": 62, "journal": [5, 64], "json": [1, 61], "jurafski": 70, "juri": 1, "juries_df": 1, "jury_conversations_with_outcome_var": 1, "jury_feature_build": 1, "jury_output": 1, "jury_output_chat_level": [1, 61], "jury_output_turn_level": 1, "just": [1, 2, 31, 36, 46, 50, 59, 61, 62], "katharina": 34, "keep": [1, 71], "kei": [1, 2, 4, 19, 28, 30, 54, 61, 71], "keyerror": 71, "keyword": [19, 49], "kind": [10, 62], "kitchen": 42, "knob": 0, "know": [1, 30], "knowledg": 29, "known": [1, 32, 61], "kumar": 62, "kw": 19, "lab": [1, 2, 62, 71], "label": [1, 15, 21, 51], "lack": [31, 38, 45, 46], "languag": [15, 34, 42, 50, 62], "larg": [31, 69], "larger": [0, 61], "last": [1, 31], "late": 32, "later": [0, 1, 2, 42, 61], "latest": [1, 61], "latter": [31, 36], "lda": [13, 40], "learn": [1, 61, 62], "least": [10, 32, 42, 63, 67], "led": 62, "legal": 49, "lemmat": [13, 40], "len": 28, "length": [35, 39, 41, 42, 44], "less": [13, 32, 50, 52, 55, 62, 63], "let": [41, 49, 53], "let_me_know": 49, "letter": [49, 71], "level": [0, 1, 2, 3, 4, 6, 7, 8, 9, 12, 13, 14, 16, 23, 61, 64, 65, 66, 71, 72], "lexic": [10, 12, 14, 16, 31, 32, 36, 42, 60, 62, 64], "lexical_featur": [14, 64], "lexical_features_v2": [10, 11], "lexicon": [5, 10, 14, 30, 39, 50, 52, 67, 69], "lexicons_dict": 67, "librari": [34, 51, 56, 57], "lift": 62, "light": 61, "like": [1, 22, 31, 34, 36, 41, 50, 61, 62], "limiat": 32, "limit": [11, 32, 37, 42, 54], "line": [0, 1, 19, 22, 48, 61, 62, 64], "linear": 64, "linguist": [18, 19, 30, 39, 50, 52], "link": [22, 29, 48, 50, 64], "list": [1, 2, 6, 7, 10, 11, 12, 13, 15, 19, 20, 21, 22, 28, 31, 33, 36, 37, 42, 48, 49, 50, 53, 54, 61, 64, 65, 66, 67, 68, 70, 71], "literatur": 62, "littl": 38, "littlehors": 1, "liu": [42, 52], "live": [1, 54], "liwc": [14, 30, 39, 51, 52, 56, 62], "liwc_featur": [10, 14], "lix": 34, "ll": [1, 31, 36, 61], "load": [19, 69], "load_saved_data": 19, "load_to_dict": 19, "load_to_list": 19, "loc": 15, "local": [1, 51, 61], "locat": [1, 62], "long": [4, 42], "longer": [30, 41, 43, 48, 61, 62], "look": [2, 34, 61, 65, 66], "loos": 36, "lot": [31, 36], "loud": 60, "love": [31, 56], "low": [1, 2, 29, 55, 60, 71], "lower": [21, 31, 33, 36, 41, 42, 44, 55, 60], "lowercas": [2, 13, 40, 48, 49, 71], "lowest": 71, "lpearl": 16, "lst": 6, "m": [30, 31, 36], "made": [1, 23, 35, 59, 61, 62], "magnitud": 55, "mai": [1, 2, 11, 31, 32, 35, 36, 37, 41, 42, 43, 44, 54, 61, 62, 71], "main": [1, 2, 5, 62, 64, 65, 66], "make": [0, 1, 5, 34, 55, 56, 62, 66, 69, 71], "man": 62, "mani": [1, 4, 11, 32, 37, 41, 60, 62, 66], "manner": [55, 62], "manual": [1, 61], "map": [13, 34], "mark": [19, 20, 22, 43, 54, 64, 71], "marker": [18, 32, 39, 42, 50, 51, 52, 54, 56], "marlow": 44, "matarazzo": 62, "match": [1, 5, 16, 19, 30], "math": 34, "matter": 47, "max": 66, "max_num_chunk": 63, "maxim": [34, 35, 37], "maximum": [63, 65, 72], "mayb": [38, 47], "mcfarland": 70, "me": [31, 32, 36, 41, 50, 53], "mean": [0, 1, 4, 6, 11, 13, 21, 29, 31, 34, 36, 40, 41, 42, 47, 55, 56, 58, 61, 62, 65, 66, 73], "meaning": [41, 55], "meaningless": 41, "meant": 39, "measur": [0, 7, 12, 13, 20, 29, 30, 31, 32, 34, 35, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 51, 52, 54, 55, 56, 57, 58, 59, 60, 62, 64, 68], "mechan": 32, "medium": 21, "meet": 48, "member": [13, 34, 37, 55], "merg": [2, 8, 65, 66], "merge_conv_data_with_origin": 2, "messag": [0, 1, 2, 3, 4, 5, 8, 11, 12, 13, 14, 15, 16, 17, 20, 21, 22, 23, 24, 28, 30, 31, 34, 35, 36, 37, 39, 41, 45, 46, 47, 48, 50, 51, 52, 55, 56, 57, 58, 61, 62, 63, 64, 65, 66, 67, 71, 73], "messaga": 61, "message_col": [0, 1, 2, 12, 13, 14, 61, 64, 65, 67, 71], "message_embed": [6, 7, 8], "message_lower_with_punc": 71, "metadata": [0, 1], "method": [5, 31, 41, 50, 62], "metric": [0, 1, 2, 8, 30, 34, 35, 46, 47, 48, 55, 66], "michael": 1, "mid": [1, 2, 71], "middl": [21, 34, 63], "might": [0, 1, 29, 43, 48, 53], "mikeyeoman": [18, 64], "mileston": 34, "mimic": [28, 31, 36, 45], "mimic_word": 28, "mimick": [28, 31, 64], "mimicri": [0, 1, 28, 31, 35, 36, 39, 61, 64], "mimicry_bert": [45, 46], "mind": [1, 35, 50], "mine": [31, 36, 53, 59], "minim": [0, 41, 60], "minimum": [65, 72], "minu": [12, 41, 64], "minut": [55, 58], "mirror": 1, "miss": [1, 32, 61, 71], "mitig": [31, 36], "mizil": 50, "mm": [31, 36], "mnsc": 6, "modal": 50, "mode": 60, "model": [1, 13, 15, 31, 34, 35, 36, 40, 45, 46, 47, 51, 62, 67], "modif": 35, "modifi": [1, 9, 19, 32, 64], "modul": [0, 1, 11, 34, 49, 61, 69], "monologu": 59, "more": [0, 1, 2, 11, 12, 22, 23, 24, 31, 32, 34, 36, 37, 40, 41, 42, 43, 44, 45, 46, 50, 52, 55, 59, 61, 62, 71], "morn": 1, "most": [24, 31, 55, 62, 69], "motiv": 61, "move": [0, 1, 28, 31, 36, 39, 45, 59, 61], "movi": 31, "much": [1, 31, 34, 35, 36, 45, 62], "multi": [1, 2, 71], "multidimension": [45, 46], "multipl": [0, 1, 2, 19, 62, 71], "must": [1, 6, 62, 71], "my": [30, 31, 35, 36, 45, 46, 50, 53], "my_chat_featur": 1, "my_feature_build": 61, "my_fil": 1, "my_output": 61, "my_output_chat_level": 61, "my_output_conv_level": 61, "my_output_user_level": 61, "my_pandas_datafram": 61, "myself": [31, 36, 53], "n": [35, 45, 46, 47, 57, 59, 60], "n_chat": 59, "na": [5, 33, 43, 44, 48, 49, 50, 53, 58], "naiv": [2, 20, 32, 34, 38, 39, 53, 56, 57, 64], "name": [0, 2, 4, 7, 8, 9, 12, 13, 14, 15, 17, 19, 23, 25, 28, 30, 32, 35, 39, 45, 46, 50, 51, 56, 63, 64, 66, 67, 68, 71, 72, 73], "name_to_train": 47, "named_ent": [15, 47], "named_entity_recognition_featur": 11, "nan": [0, 34], "nate": [35, 45, 46], "nathaniel": [35, 45, 46], "nativ": 50, "natur": [43, 55], "ndarrai": 68, "nearest": [13, 40], "nearli": 62, "necessari": [63, 67], "need": [0, 1, 2, 21, 62, 66, 67], "need_sent": 67, "need_senti": 67, "neg": [1, 24, 29, 31, 34, 35, 36, 42, 50, 51, 52, 54, 56, 61, 62, 67], "negat": [19, 49], "negative_bert": [1, 51, 61], "negative_emot": [49, 51, 52, 56], "negoti": 62, "neighborhood": 54, "neither": 30, "ner": 15, "ner_cutoff": [0, 1, 2, 47, 64], "ner_train": 64, "ner_training_df": [0, 1, 2, 47, 64], "nest": [0, 1, 2, 22, 71], "net": [45, 46], "network": 11, "neutral": [1, 5, 24, 30, 51, 55, 61, 67], "neutral_bert": [1, 51, 61], "never": 1, "new": [1, 4, 13, 34, 61, 64, 65, 66, 72], "new_column_nam": 72, "next": [1, 32, 47, 58], "nice": [1, 50, 54, 61], "nicknam": 1, "niculescu": 50, "night": 31, "nikhil": [59, 62], "nltk": [1, 42, 61], "nobodi": [31, 36], "nois": 32, "non": [1, 2, 28, 31, 37, 48, 61, 62, 71], "none": [1, 2, 19, 23, 37, 55, 61, 64, 65, 66, 67], "nor": 30, "normal": [19, 31], "notabl": 62, "note": [0, 1, 2, 12, 16, 20, 42, 61, 71], "notebook": [0, 1], "noth": [31, 36, 56], "noun": 1, "novel": [45, 46], "now": [0, 1, 2], "nowher": [31, 36], "np": 68, "ntri": 32, "null": 34, "num": 48, "num_char": 65, "num_chunk": [27, 63], "num_hedge_word": 10, "num_messag": 65, "num_named_ent": [15, 47], "num_row": 63, "num_top": 13, "num_word": [12, 16, 65], "number": [0, 3, 11, 12, 13, 14, 15, 16, 19, 20, 21, 22, 23, 25, 28, 31, 32, 34, 36, 37, 40, 41, 42, 43, 44, 47, 48, 49, 54, 56, 58, 59, 60, 62, 63, 64, 66, 69, 71, 72], "numer": [0, 1, 13, 33, 68, 72, 73], "numpi": [1, 61, 68], "o": 35, "object": [1, 2, 19, 44, 50, 57, 58, 61, 62, 64, 65, 66], "obtain": [1, 13, 17, 23, 24, 34, 61], "occur": [0, 4, 31, 42, 71], "occurr": 19, "off": [1, 31, 36], "offer": 0, "offici": 61, "often": [36, 47, 48, 62], "oh": [31, 36, 48], "okai": [31, 36], "older": [1, 61], "on_column": [18, 23, 28, 68, 72, 73], "onc": [1, 2, 11, 58, 61, 62], "one": [0, 1, 2, 4, 10, 12, 19, 23, 25, 29, 31, 32, 36, 37, 47, 51, 56, 59, 61, 62, 67, 68, 71, 73], "ones": [31, 36], "onli": [0, 1, 2, 5, 11, 23, 29, 31, 32, 34, 36, 37, 45, 53, 58, 59, 61, 62, 71], "onlin": [1, 32, 39, 64], "onward": 0, "open": [0, 62, 66], "operation": [39, 50, 59], "opinion": [24, 31], "oppos": [2, 31, 34, 35, 55], "opposit": 34, "option": [1, 2, 37, 62, 63, 67, 71], "order": [0, 1, 35, 37, 42, 71], "org": [6, 15, 21, 24, 41, 70], "organ": 1, "origin": [1, 2, 5, 12, 21, 31, 32, 35, 36, 37, 45, 46, 49, 59], "orthogon": 34, "other": [1, 9, 11, 28, 29, 30, 31, 32, 34, 35, 36, 37, 39, 40, 45, 46, 48, 51, 52, 54, 56, 58, 59, 61, 62, 64, 66, 71], "other_lexical_featur": [11, 64], "otherwis": [2, 10, 21, 23, 32, 38, 63, 67], "our": [0, 1, 2, 11, 13, 29, 31, 32, 36, 37, 39, 53, 59, 61, 71], "ourselv": 53, "out": [1, 2, 16, 19, 31, 36, 55, 60, 62], "outcom": [1, 44, 62], "output": [0, 2, 10, 17, 19, 40, 61, 62, 64, 67], "output_file_bas": [0, 1, 2, 61], "output_file_detail": 0, "output_file_path_chat_level": [1, 2], "output_file_path_conv_level": [1, 2], "output_file_path_user_level": [1, 2], "output_path": 67, "outsid": [1, 2, 12], "over": [1, 16, 29, 31, 34, 35, 36, 37, 53, 55, 60, 62, 71], "overal": [30, 31, 34, 36, 45, 46], "overrid": [0, 1, 2], "overview": [0, 61, 62], "overwritten": 1, "own": [0, 1, 9, 35, 62], "p": 55, "pacakg": 24, "pace": [43, 62], "packag": [17, 18, 40, 62], "pad": 19, "page": [1, 11, 29, 39, 61, 62, 69], "pair": [6, 19, 34, 49, 71], "pairwis": [6, 34], "panda": [0, 1, 2, 12, 14, 16, 23, 47, 64, 65, 66, 71, 72, 73], "paper": [4, 5, 12, 18, 29, 40, 50, 64], "paragraph": 22, "param": 71, "paramet": [2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 28, 47, 61, 62, 63, 64, 65, 66, 67, 68, 71, 72, 73], "paramt": 1, "pardon": 32, "parenthes": [22, 48, 64], "parenthet": [22, 48], "pars": [16, 50, 60], "part": [1, 10, 13, 29, 36, 42, 52, 71], "particip": [1, 9, 37, 62], "particl": [31, 36], "particular": [11, 32, 34, 41, 45, 47, 51, 59, 62], "particularli": 42, "partner": 32, "pass": [1, 13, 21, 47, 71], "path": [1, 2, 19, 61, 67], "path_in": 19, "pattern": [4, 11, 19, 55, 62, 67], "paus": 4, "pd": [1, 2, 4, 6, 7, 8, 9, 12, 13, 14, 15, 16, 18, 19, 23, 25, 63, 64, 65, 66, 67, 68, 71], "pdf": [5, 12, 13, 16, 18, 21, 24, 64, 70], "penalti": 1, "pennebak": [12, 37, 41, 42, 52], "pennyslvania": 62, "peopl": [1, 32, 59, 62], "per": [1, 6, 9, 19, 42, 63, 66, 72], "percentag": [2, 21], "perfect": [37, 59], "perform": [0, 1, 2, 16, 50], "perhap": 1, "period": [4, 34, 55], "person": [1, 8, 12, 15, 16, 32, 34, 39, 41, 42, 50, 59, 62, 64, 70], "perspect": 1, "petrocelli": 5, "phrase": [19, 30, 38, 54], "phrase_split": 19, "pickl": [19, 67], "piec": [36, 42, 59, 63], "pl": 50, "place": [55, 61, 62], "plan": [34, 35, 45, 46], "player": 59, "pleas": [0, 1, 38, 49, 50, 61, 62], "please_start": 50, "point": [22, 24, 34, 35, 45, 46, 48, 52, 64, 66], "poisson": 55, "polar": [24, 39, 51, 52, 64], "polit": [1, 17, 18, 30, 32, 38, 39, 42, 51, 52, 54, 56, 64], "politeness_featur": 11, "politeness_v2": 11, "politeness_v2_help": 11, "politenessstrategi": [17, 50], "portion": 0, "posit": [0, 1, 11, 15, 24, 29, 31, 39, 42, 50, 51, 54, 56, 61, 62, 64, 67], "positive_affect_lexical_per_100": [51, 52, 56], "positive_bert": [1, 51, 61], "positive_emot": [49, 51, 52, 56], "positivity_bert": [1, 61], "positivity_zscor": 64, "positivity_zscore_chat": 52, "positivity_zscore_convers": 52, "possess": 31, "possibl": [1, 34, 62, 66], "possibli": [38, 62], "practic": [34, 35], "pre": [1, 4, 21, 37, 49, 64], "preced": [31, 35, 71], "precend": 35, "precis": 47, "precomput": 51, "predefin": 19, "predetermin": [31, 36], "predict": [2, 47, 51, 64], "prefer": [0, 1], "preload_word_list": 69, "prep_simpl": 19, "prep_whol": 19, "preposit": [31, 36], "preproces": 48, "preprocess": [0, 1, 2, 13, 19, 40, 43, 49, 51, 61, 69], "preprocess_chat_data": 2, "preprocess_conversation_column": 71, "preprocess_naive_turn": 71, "preprocess_text": 71, "preprocess_text_lowercase_but_retain_punctu": 71, "presenc": [2, 32, 67], "present": [1, 2, 14, 30, 31, 38, 42, 55, 62, 71], "prespecifi": 19, "prevent": 51, "previou": [1, 7, 28, 31, 36, 45, 46, 58, 64, 71], "primari": 34, "print": 2, "prior": [2, 64, 71], "priya": [47, 62], "probabl": [15, 47], "problem": 62, "procedur": 62, "proceed": 46, "process": [0, 1, 2, 4, 10, 21, 37, 55, 62, 64, 65, 67, 69, 71], "prodi": 15, "produc": [2, 34], "product": 15, "professor": 62, "progress": [1, 2], "project": [54, 62], "pronoun": [12, 16, 31, 36, 39, 41, 42, 64, 70], "proper": 1, "properti": [1, 61], "proport": [16, 39, 42, 64], "propos": 37, "provid": [0, 1, 2, 15, 29, 30, 33, 36, 39, 44, 47, 54, 62], "proxi": 42, "pseudonym": 1, "psycholog": 42, "pub": 70, "publish": [5, 30, 64], "pubsonlin": 6, "punctuat": [0, 2, 16, 19, 20, 21, 28, 43, 54, 60, 71], "punctuation_seper": 19, "puncut": 48, "pure": [24, 36], "purpos": 1, "put": [34, 50, 62, 66], "py": [0, 1, 14, 49, 61], "pypi": [1, 61], "python": [1, 32, 41, 56, 57, 61, 62, 68], "qtd": 62, "qualiti": 41, "quantifi": [31, 36, 62], "quantiti": [37, 39, 41, 47], "quartil": 50, "question": [16, 19, 20, 29, 32, 39, 49, 50, 64, 66, 68, 70], "question_num": 11, "question_word": 20, "quick": [1, 43], "quickli": 0, "quit": 40, "quot": [22, 48, 64], "quotat": [22, 48], "rabbit": 62, "rain": 41, "rais": [67, 71], "random": 55, "rang": [5, 8, 24, 30, 33, 34, 35, 40, 51, 53, 55, 56, 57], "ranganath": [16, 31, 32, 36, 38, 43, 54, 70], "ranganath2013": 70, "ranganathetal2013_detectingflirt": 16, "rapid": [1, 4], "rare": [34, 35], "rate": [42, 51], "rather": [1, 31, 34, 35, 36, 37, 45, 46, 63], "ratio": [16, 39, 64], "raw": [0, 12, 16, 21, 31, 33, 42, 50, 64], "re": [1, 31, 36, 42, 50, 61], "read": [0, 1, 2, 16, 21, 29, 33, 61, 62, 64, 65, 66, 67], "read_csv": 1, "read_in_lexicon": 67, "readabl": [11, 33, 64, 70], "reader": 33, "readi": 1, "readili": 62, "readthedoc": [1, 24, 61], "real": [1, 55], "realit": 13, "realli": [31, 36, 50], "reason": [31, 36, 45, 46, 49], "reassur": 49, "recal": 47, "recept": [18, 32, 39, 42, 50, 51, 52, 54, 56, 62, 64], "recogn": [1, 43, 47], "recognit": [0, 1, 2, 39, 64], "recommend": [0, 42, 62], "reddit": [48, 64], "reddit_tag": 11, "redditus": 48, "reduc": 63, "reduce_chunk": 63, "redund": [42, 62], "refer": [0, 1, 11, 22, 24, 28, 31, 42, 48, 52, 61, 62, 64, 70], "reflect": [37, 43], "regardless": 1, "regener": [0, 2, 51, 67], "regenerate_vector": [0, 1, 2, 67], "regex": [14, 16, 49], "regist": 37, "regress": 1, "regular": [5, 14, 30, 32, 42, 55, 58], "reichel": [53, 58, 60], "reidl": [4, 13], "reinvent": 62, "rel": [41, 51, 52, 55, 60, 64], "relat": [1, 61, 62, 64], "relationship": 36, "relev": [1, 29, 42, 44, 49, 51, 56, 61, 64, 65], "reli": [31, 34, 35, 36, 69], "reliabl": [33, 42], "remain": [1, 30, 71], "rememb": 1, "remov": [0, 2, 9, 13, 19, 28, 40, 43, 48, 49, 50, 71], "remove_active_us": 9, "renam": 1, "repair": [16, 39], "repeat": [60, 71], "repetit": 60, "replac": 19, "report": [1, 61], "repres": [2, 4, 6, 7, 11, 13, 23, 31, 34, 36, 42, 45, 46, 66, 67, 68, 71, 72, 73], "represent": [34, 38], "reproduc": [36, 62], "republican": 1, "request": [32, 50, 51], "requir": [0, 1, 20, 21, 31, 55, 61, 62, 64, 65, 66, 67], "research": [1, 2, 62], "reserv": 0, "resolv": 62, "resourc": [1, 39, 48, 61, 62], "respect": [1, 2, 12, 31, 36, 37, 69], "respons": [22, 48, 55, 58, 64], "restaur": [34, 56], "restor": 0, "restrict": 71, "result": [40, 55, 65, 72], "retain": [2, 16, 20, 21, 60, 71], "retriev": 50, "retunr": 3, "return": [2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 28, 30, 32, 43, 49, 50, 51, 55, 62, 63, 64, 65, 66, 67, 68, 70, 71, 72, 73], "reveal": 62, "revert": 50, "review": 62, "rewrit": 50, "rich": 62, "riedl": [13, 40, 55], "right": [31, 36, 61, 62], "roberta": [1, 39, 42, 52, 56, 61, 64, 67], "robust": 13, "rocklag": [5, 30, 64], "room": 59, "root": [13, 40], "rough": [12, 54], "roughli": 31, "round": [13, 40, 59, 71], "round_num": 1, "row": [0, 1, 2, 9, 13, 25, 37, 40, 59, 63, 68, 71, 72, 73], "rowbotham": 62, "rucker": 5, "rule": [1, 69], "run": [0, 10, 12, 16, 35, 46, 47, 48, 51, 61, 69], "runtim": [1, 35], "sagepub": [5, 64], "sai": [1, 32, 50, 59], "said": [1, 36, 62], "same": [0, 1, 2, 31, 34, 37, 45, 48, 52, 59, 60, 62, 71], "sampl": [61, 62], "sarcast": 48, "save": [0, 1, 2, 19, 64, 67], "save_featur": 2, "sbert": [1, 28, 31, 34, 35, 36, 45, 46, 64, 65, 67], "scale": [42, 51], "schema": 1, "scheme": 0, "school": [21, 62], "scienc": [29, 39, 62], "scientist": [61, 62], "score": [1, 4, 5, 11, 12, 13, 15, 21, 24, 28, 29, 30, 31, 34, 35, 36, 38, 39, 40, 45, 46, 47, 51, 53, 56, 57, 61, 64, 65, 67, 73], "script": [1, 61], "sea": 1, "seamless": 62, "search": [19, 61], "second": [0, 1, 4, 34, 42, 58, 59], "second_person": 49, "secr": [18, 49, 64], "section": [1, 29, 61], "see": [0, 1, 2, 30, 34, 38, 41, 45, 46, 47, 55, 62, 71], "seek": [5, 62], "segment": [0, 19], "select": [2, 4, 23, 28, 36, 45, 66, 67, 68, 71, 72, 73], "self": [1, 2, 61], "semant": [31, 34, 35, 41], "semantic_group": [1, 61], "send": [1, 37, 55], "sens": [5, 31, 54, 66], "sent": [1, 37, 64], "sentenc": [0, 1, 10, 15, 19, 20, 21, 33, 34, 35, 36, 42, 45, 46, 47, 48, 54, 56, 61, 67], "sentence_pad": 19, "sentence_split": 19, "sentence_to_train": 47, "sentencis": 19, "sentiment": [0, 1, 24, 31, 39, 42, 52, 56, 61, 62, 64, 67], "separ": [1, 2, 19, 34, 51], "sepcifi": 1, "septemb": 40, "sequenc": [1, 59], "sequenti": 1, "seri": [12, 16, 23, 28, 42, 71, 73], "serv": 12, "set": [0, 1, 2, 13, 23, 34, 48, 59], "set_self_conv_data": 2, "sever": [1, 30, 41, 42, 48, 51, 56, 61], "shall": 54, "share": [31, 36, 37], "she": [30, 31, 36], "shift": 34, "shop": 62, "short": [55, 58], "shorter": [13, 40, 41, 42, 43], "should": [0, 1, 2, 4, 14, 23, 28, 29, 31, 36, 47, 48, 54, 61, 62, 65, 66, 67, 68, 69, 71, 72, 73], "shouldn": [31, 36], "show": [1, 37, 61], "showeth": 62, "shruti": [35, 45, 46, 47, 62], "side": 31, "signal": [45, 55], "signifi": 42, "signific": [1, 61], "silent": 37, "similar": [1, 6, 7, 13, 28, 29, 31, 34, 35, 36, 40, 45, 46, 49, 62, 65], "similarli": [1, 35], "simpl": [0, 1, 16, 19, 42, 61, 62], "simpli": [1, 5, 11, 28, 56, 62], "simplifi": 1, "simplist": 41, "sinc": [1, 32, 41, 71], "singh": 62, "singl": [0, 1, 2, 11, 12, 19, 23, 31, 34, 35, 36, 37, 41, 45, 46, 59, 62, 71, 72], "singular": [12, 41, 64], "site": 16, "situat": 37, "size": [1, 13, 63, 67], "skip": 1, "slightli": [32, 62, 63], "slow": 1, "small": 40, "so": [1, 2, 10, 30, 31, 36, 37, 50, 61, 62, 66], "social": [29, 39, 61, 62], "socsci": 16, "softwar": 62, "sohi": 62, "sol3": 4, "solut": 59, "solv": 62, "some": [0, 1, 11, 17, 29, 32, 34, 35, 37, 41, 61, 63], "somebodi": [31, 36], "someon": [22, 29, 31, 36, 47, 48, 61, 64], "someplac": [31, 36], "someth": 47, "sometim": 1, "somewhat": 35, "soon": 62, "sorri": [16, 32, 50], "sort": 10, "sound": [47, 51], "sourc": [4, 5, 6, 12, 13, 16, 17, 21, 34, 35, 50, 64, 68], "space": [34, 40, 71], "spaci": [1, 19, 47, 49, 50, 61], "span": 63, "spars": 32, "speak": [1, 31, 36, 37, 59, 60, 62], "speaker": [0, 1, 2, 6, 8, 9, 25, 31, 34, 35, 37, 38, 42, 45, 46, 61, 66, 71, 72], "speaker_id": [2, 61, 72], "speaker_id_col": [0, 1, 2, 6, 8, 9, 25, 26, 27, 61, 65, 66, 71, 72], "speaker_nicknam": [0, 1, 2, 6, 9, 59, 66, 71], "special": [0, 1, 2, 48, 71], "specif": [1, 2, 12, 32, 41, 48, 55, 61, 62, 69, 71], "specifi": [1, 2, 19, 47, 49, 67, 68, 71, 72, 73], "speciifc": 63, "spend": [51, 62], "spike": 55, "split": [19, 21, 43, 63], "spoke": 59, "spoken": [11, 37], "spread": 55, "squar": [13, 40], "ssrn": 4, "stabl": 40, "stack": 14, "stackoverflow": 68, "stage": [1, 2, 34, 71], "stamp": 55, "standard": [1, 4, 37, 40, 41, 49, 55, 58, 60, 65, 72, 73], "stanford": 70, "start": [0, 15, 19, 20, 22, 23, 50], "statement": [1, 38, 42, 47, 48, 61, 62, 64], "statist": [65, 66, 68], "statologi": 41, "stem": 42, "step": [1, 4, 28, 41, 45, 46, 51], "still": [41, 45, 46], "stochast": 40, "stop": [40, 62], "stopword": [13, 19], "store": [1, 12, 16, 41, 49, 51, 61, 65, 67], "stoword": 42, "str": [2, 3, 4, 5, 7, 8, 9, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 28, 63, 64, 65, 66, 67, 68, 71, 72, 73], "straightforward": 29, "strategi": [17, 30, 32, 38, 39, 42, 49, 54, 64], "stream": 35, "strictli": 1, "string": [0, 1, 2, 4, 8, 12, 13, 14, 19, 23, 24, 50, 66, 67, 68, 71, 72, 73], "strongli": [1, 41, 61], "structur": [0, 36, 49], "student": [21, 33], "studi": [1, 34, 62], "style": [1, 31, 36, 59], "sub": [0, 1, 71], "subfold": 1, "subject": [5, 24, 39, 49, 64], "subjunct": 50, "sublist": 28, "submiss": 55, "subpart": [1, 71], "subsequ": [1, 30, 51, 58], "subset": 62, "substanc": 36, "substant": 31, "substanti": 1, "substr": 30, "subtask": 1, "subtract": [41, 58], "succe": 62, "success": [0, 1, 4, 31, 36, 43, 55, 58], "suggest": [1, 13, 34, 42, 44, 50], "suit": [62, 64], "sum": [1, 28, 34, 61, 64, 65, 66, 72], "summar": [0, 1, 65, 66, 69], "summari": [65, 66, 72], "summariz": [0, 65], "summarize_featur": 69, "suppl": 6, "support": [1, 15, 61], "suppos": 1, "sure": 30, "swear": 49, "syllabl": 21, "syntax": [1, 32, 61], "system": [2, 59, 64], "t": [0, 1, 2, 15, 29, 31, 36, 45, 49, 54, 61, 62, 67], "tabl": 62, "tag": 39, "take": [1, 4, 5, 9, 14, 25, 29, 31, 34, 37, 39, 42, 55, 61, 65, 71], "taken": [59, 71], "talk": [1, 37, 47, 59, 62], "tandem": [1, 61], "target": 15, "task": [1, 2, 59, 71], "tausczik": [12, 37, 41, 52], "tausczikpennebaker2013": 12, "team": [0, 1, 4, 11, 12, 13, 34, 39, 40, 59, 65], "team_bursti": 4, "team_comm_tool": [1, 61], "teamcommtool": 1, "technic": [29, 39, 61, 62], "teghxgbqdhgaaaaa": 5, "tempor": [0, 2, 55, 58, 64, 71], "temporal_featur": 11, "tend": [1, 34, 60], "term": [1, 28, 59], "termin": [1, 2, 61], "terribl": 51, "test": [13, 33, 47], "text": [0, 1, 2, 3, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 24, 28, 32, 33, 36, 42, 48, 55, 62, 64, 67, 71], "text_based_featur": 64, "textblob": [24, 39, 51, 52, 64], "textblob_sentiment_analysi": 11, "than": [0, 1, 2, 11, 13, 31, 34, 35, 36, 37, 40, 41, 45, 46, 54, 60, 62, 63], "thee": 62, "thei": [0, 1, 29, 31, 34, 36, 37, 39, 42, 47, 58, 59, 61, 62, 67], "them": [0, 1, 2, 19, 28, 29, 31, 36, 50, 51, 55, 59, 61, 62, 64, 65, 66, 67], "themselv": [31, 36, 60], "theoret": 35, "theori": [34, 50], "therefor": [0, 1, 11, 37, 45, 59, 62, 69], "thi": [0, 1, 2, 3, 4, 6, 7, 8, 9, 10, 12, 13, 14, 16, 18, 20, 21, 23, 29, 30, 31, 32, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 71, 72, 73], "thing": [48, 61], "think": [1, 38, 47], "thorough": [43, 62], "those": [1, 21, 31, 36, 61], "though": [34, 42], "thought": [1, 35, 45], "thread": [1, 61], "three": [0, 1, 2, 22, 34, 37, 40, 51, 61, 62, 69, 71], "threshold": [15, 47], "through": [1, 45, 46, 50, 61, 62], "throughout": [31, 35, 36, 40, 45, 46, 55, 63], "tht": 35, "thu": [1, 2, 34, 35, 36, 37, 46, 55, 71], "time": [0, 1, 4, 23, 34, 35, 39, 42, 48, 51, 55, 59, 61, 62, 63, 64, 65, 66, 71], "time_diff": 55, "timediff": 4, "timestamp": [0, 1, 2, 8, 23, 58, 61, 62, 63, 64, 71], "timestamp_col": [0, 1, 2, 8, 61, 63, 64, 65, 71], "timestamp_end": [1, 23, 61, 64], "timestamp_start": [1, 23, 61, 64], "todai": [34, 35, 41, 43, 45, 46, 47], "todo": 66, "togeth": [0, 62, 66], "token": [16, 19, 39, 49, 54, 64], "token_count": [19, 49], "too": [30, 31, 36, 62], "took": [1, 59], "tool": [1, 61, 62], "toolkit": [0, 1, 11, 42, 45, 46, 55, 62], "top": [1, 50, 59], "topic": [1, 13, 34, 40, 42, 43, 65], "tormala": 5, "total": [1, 3, 12, 16, 25, 31, 34, 36, 37, 41, 44, 53, 59, 60, 61, 62, 63, 64, 66, 72], "touch": [1, 61], "toward": [31, 36, 38, 42, 45, 46], "tradit": 49, "train": [1, 2, 15, 64], "train_spacy_n": 15, "transcript": 0, "transfom": [45, 46], "transform": [31, 34, 35, 36, 51], "transform_utter": 50, "treat": [1, 59, 61], "tri": [50, 64], "trivial": [3, 44, 62], "troubl": [1, 61], "true": [0, 1, 2, 37, 61, 63, 67, 71], "truncat": 2, "truth_intensifi": 49, "ttr": 64, "tupl": [0, 1, 2, 15, 19, 64], "turn": [0, 2, 25, 28, 31, 32, 37, 39, 61, 64, 65, 71], "turn_count": 59, "turn_df": 71, "turn_id": 71, "turn_taking_featur": 11, "twice": 63, "twitter": [1, 51, 61], "two": [0, 1, 2, 23, 31, 34, 36, 41, 45, 46, 52, 62, 63], "txt": 19, "type": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 28, 37, 39, 52, 63, 64, 65, 66, 67, 68, 70, 71, 72, 73], "typic": [1, 34, 40, 41, 42, 52, 60], "u": [1, 22, 31, 36, 48, 49, 58], "uci": 16, "uh": [31, 36], "ulrich": 55, "um": [31, 36, 60], "umbrella": [8, 29, 34], "uncertain": [5, 30], "uncertainti": 30, "under": [0, 1, 10, 11, 12, 28, 40], "underli": [1, 61], "underscor": [1, 61], "understand": [0, 33, 39, 43, 48, 58, 61, 62], "understood": 33, "uninterrupt": 59, "uniqu": [0, 1, 2, 6, 9, 13, 16, 23, 25, 41, 47, 52, 60, 61, 63, 71], "univers": 62, "unix": 58, "unless": [31, 36], "unpack": 62, "unpreprocess": [0, 2], "until": [31, 36, 45, 46], "unzip": [1, 61], "up": [1, 17, 21, 28, 31, 35, 36, 37, 45, 46, 51, 59, 61], "updat": [1, 9, 40, 54, 61], "upenn": 1, "upload": 13, "upon": 33, "upper": 42, "us": [0, 1, 2, 3, 5, 11, 12, 13, 17, 19, 24, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 56, 57, 60, 62, 64, 65, 66, 67, 71], "usag": [21, 24], "use_time_if_poss": 63, "user": [0, 1, 2, 9, 15, 22, 37, 47, 48, 51, 61, 62, 63, 64, 65, 66, 69, 72], "user_data": [2, 65, 66], "user_df": 9, "user_level_featur": 2, "user_list": 9, "userlevelfeaturescalcul": [2, 66, 69], "usernam": [22, 48], "utf": 1, "util": [1, 12, 21, 61, 62, 63, 64, 65, 66, 67, 68, 70, 71, 72, 73], "utilti": 62, "utter": [0, 1, 2, 3, 4, 5, 13, 14, 15, 16, 17, 20, 21, 23, 24, 30, 31, 32, 34, 35, 36, 37, 38, 40, 41, 42, 43, 44, 45, 46, 50, 51, 52, 54, 58, 60, 61, 67], "utteranc": 42, "v": [0, 1, 2, 13, 42, 61], "v0": 0, "valenc": 51, "valid": [23, 55], "valu": [1, 2, 5, 6, 10, 12, 13, 18, 19, 23, 28, 30, 31, 34, 36, 37, 40, 41, 42, 45, 46, 47, 55, 59, 61, 64, 68, 71, 72, 73], "vari": [13, 31, 34, 35], "variabl": [1, 56, 57, 64, 65, 66], "varianc": [8, 34], "variance_in_dd": 11, "variat": [4, 32], "varieti": [42, 62], "variou": [19, 42, 64, 65, 66], "vast": 62, "ve": [0, 31, 36, 50, 61], "vec": 6, "vect_data": [1, 7, 8, 28, 61, 64, 65, 66], "vect_path": 67, "vector": [0, 2, 6, 7, 8, 13, 28, 34, 35, 40, 55, 61, 64, 65, 67], "vector_data": [0, 1, 2, 61], "vector_directori": [0, 1, 2, 61, 65], "vein": 45, "verb": [19, 31, 36], "verbal": 32, "veri": [5, 30, 31, 34, 35, 36, 42, 49, 54], "verifi": 2, "verit": 62, "version": [1, 12, 14, 21, 40, 51, 61], "versu": [4, 29, 47, 55, 59], "via": [3, 44], "view": 50, "visit": 41, "voila": 62, "w": 31, "wa": [0, 1, 2, 5, 12, 31, 32, 35, 36, 47, 51, 56, 59, 62, 71], "wai": [1, 2, 29, 30, 31, 32, 34, 49, 50, 54, 56, 57, 61, 62, 66], "waiai": 62, "wait": [4, 55], "walk": 1, "walkthrough": [0, 61, 62], "want": [1, 28, 34, 59, 61, 62, 67], "warn": 50, "watt": [1, 2, 62, 71], "we": [0, 1, 2, 3, 4, 5, 9, 10, 11, 12, 15, 16, 18, 23, 24, 28, 29, 30, 31, 34, 35, 36, 37, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 52, 53, 55, 56, 57, 58, 59, 61, 62, 66, 67, 71], "web": 70, "websit": [1, 61], "week": 47, "weight": 66, "welcom": 61, "well": [29, 31, 36, 55, 62], "went": 41, "were": [1, 12, 31, 36, 42], "western": 1, "wh": [19, 31, 36], "wh_question": [32, 49, 54], "wharton": 62, "what": [1, 2, 12, 16, 20, 29, 31, 32, 34, 35, 36, 39, 41, 45, 46, 47, 50, 54, 62, 63], "whatev": [1, 31, 36], "wheel": 62, "when": [1, 16, 20, 31, 33, 36, 47, 54, 55, 59, 60, 61, 62, 69, 71], "whenev": 71, "where": [0, 1, 2, 19, 20, 28, 31, 32, 36, 37, 40, 41, 42, 48, 50, 51, 54, 59, 61, 65, 68, 73], "wherea": [31, 34, 35, 36, 43], "wherev": [31, 36], "whether": [1, 2, 10, 16, 19, 32, 37, 38, 41, 43, 47, 57, 58, 62, 63, 64, 67, 71], "which": [0, 1, 2, 3, 4, 5, 7, 9, 12, 13, 15, 16, 18, 23, 25, 28, 31, 34, 35, 36, 37, 38, 40, 41, 42, 51, 53, 54, 55, 56, 57, 58, 59, 61, 62, 64, 66, 68, 69, 71, 72, 73], "while": [31, 32, 34, 36, 37, 44, 45, 46, 55, 62, 71], "whitespac": 43, "who": [20, 31, 32, 36, 47, 51, 54, 59, 60, 62], "whole": [28, 59, 62, 71], "whom": [31, 36, 54], "whose": [31, 36, 54], "why": [20, 29, 31, 36, 54], "wide": 31, "wien": 62, "wiki": [21, 29, 70], "wiki_link": [1, 61], "wikipedia": [21, 33, 37, 70], "williamson": 60, "wish": [1, 2, 18], "within": [0, 1, 2, 8, 11, 16, 30, 34, 35, 36, 41, 45, 46, 52, 55, 59, 60, 62, 63, 64, 68, 71, 73], "within_group": 2, "within_person_discursive_rang": 11, "within_task": [0, 1, 2, 71], "without": [1, 19, 31, 36, 42, 47, 54, 62, 69], "won": [0, 31, 36, 45], "wonder": 56, "woolei": 4, "woollei": [13, 40, 55], "wooten": 55, "word": [3, 10, 11, 12, 13, 14, 16, 19, 20, 21, 22, 28, 30, 32, 33, 37, 38, 39, 40, 41, 43, 45, 46, 48, 49, 52, 53, 54, 56, 57, 62, 64, 65, 66, 69, 70], "word_mimicri": 11, "word_start": [19, 49], "wordnet": [1, 61], "words_in_lin": 19, "work": [0, 47, 50, 55, 61, 62], "world": 55, "worri": 62, "would": [1, 29, 31, 34, 35, 36, 37, 42, 50, 54, 62], "wouldn": [31, 36], "wow": 50, "wp": 13, "write": [2, 29, 60], "www": [12, 13, 18, 41, 64], "x": [0, 1, 2, 4, 46, 68], "xinlan": 62, "yashveer": 62, "ye": 19, "yeah": [31, 36], "yeoman": [18, 49], "yesno_quest": [32, 49, 54], "yet": 48, "ylatau": 12, "you": [0, 1, 2, 11, 24, 29, 31, 36, 37, 43, 47, 50, 59, 61, 62, 69], "your": [0, 29, 31, 32, 36, 37, 50, 59, 61, 62], "yourself": [31, 36, 50], "yuluan": 62, "yup": [31, 36], "yuxuan": 62, "z": [12, 39, 49, 51, 64, 73], "zero": [13, 52], "zhang": 62, "zheng": 62, "zhong": 62, "zhou": 62, "zscore": 41, "zscore_chat": 41, "zscore_chats_and_convers": 69, "zscore_convers": 41, "\u00bc": 47, "\u03c4": 55}, "titles": ["The Basics", "Worked Example", "feature_builder module", "basic_features module", "burstiness module", "certainty module", "discursive_diversity module", "fflow module", "get_all_DD_features module", "get_user_network module", "hedge module", "Features: Technical Documentation", "info_exchange_zscore module", "information_diversity module", "lexical_features_v2 module", "named_entity_recognition_features module", "other_lexical_features module", "politeness_features module", "politeness_v2 module", "politeness_v2_helper module", "question_num module", "readability module", "reddit_tags module", "temporal_features module", "textblob_sentiment_analysis module", "turn_taking_features module", "variance_in_DD module", "within_person_discursive_range module", "word_mimicry module", "FEATURE NAME", "Certainty", "Content Word Accommodation", "Conversational Repair", "Dale-Chall Score", "Discursive Diversity", "Forward Flow", "Function Word Accommodation", "Gini Coefficient", "Hedge", "Features: Conceptual Documentation", "Information Diversity", "Information Exchange", "Linguistic Inquiry and Word Count (LIWC) and Other Lexicons", "Message Length", "Message Quantity", "Mimicry (BERT)", "Moving Mimicry", "Named Entity Recognition", "Online Discussion Tags", "Politeness/Receptiveness Markers", "Politeness Strategies", "Sentiment (RoBERTa)", "Positivity Z-Score", "Proportion of First Person Pronouns", "Question (Naive)", "Team Burstiness", "Textblob Polarity", "Textblob Subjectivity", "Time Difference", "Turn Taking Index", "Word Type-Token Ratio", "The Team Communication Toolkit", "Introduction", "assign_chunk_nums module", "calculate_chat_level_features module", "calculate_conversation_level_features module", "calculate_user_level_features module", "check_embeddings module", "gini_coefficient module", "Utilities", "preload_word_lists module", "preprocess module", "summarize_features module", "zscore_chats_and_conversation module"], "titleterms": {"A": 0, "One": 0, "The": [0, 61, 62], "accommod": [31, 36], "addit": 1, "advanc": 1, "assign_chunk_num": 63, "assumpt": 0, "basic": [0, 1, 29, 30, 31, 33, 34, 35, 36, 37, 38, 40, 41, 43, 44, 45, 46, 47, 48, 49, 50, 51, 53, 55, 56, 57, 58, 59, 60], "basic_featur": 3, "bert": 45, "bursti": [4, 55], "calculate_chat_level_featur": 64, "calculate_conversation_level_featur": 65, "calculate_user_level_featur": 66, "caveat": [29, 30, 31, 33, 34, 35, 36, 38, 40, 41, 43, 44, 45, 46, 47, 48, 49, 50, 51, 53, 55, 56, 57, 58, 59], "certainti": [5, 30], "chall": 33, "chat": [11, 39], "check_embed": 67, "citat": [29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60], "class": 69, "code": [0, 1], "coeffici": 37, "column": [1, 61], "commun": 61, "conceptu": 39, "configur": 1, "consider": 1, "content": [31, 61], "convers": [1, 11, 32, 39, 62, 69], "count": [42, 59], "customiz": 0, "dale": 33, "data": 1, "declar": 61, "demo": [0, 1], "detail": 1, "differ": 58, "directori": 1, "discurs": 34, "discursive_divers": 6, "discuss": 48, "divers": [34, 40], "document": [11, 39, 62], "driver": 69, "entiti": 47, "environ": [1, 61], "exampl": [1, 41, 47], "exchang": 41, "featur": [1, 11, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 69], "feature_build": 2, "featurebuild": [1, 61, 62], "fflow": 7, "file": [1, 30, 34, 35, 45, 46, 47, 51], "first": 53, "flow": 35, "forward": 35, "function": [0, 36], "gener": [1, 61, 62], "get": [1, 61, 62], "get_all_dd_featur": 8, "get_user_network": 9, "gini": 37, "gini_coeffici": 68, "hedg": [10, 38], "high": [29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60], "implement": [29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60], "import": [1, 61], "index": 59, "indic": 61, "info_exchange_zscor": 12, "inform": [1, 40, 41, 61], "information_divers": 13, "input": [1, 34], "inquiri": 42, "inspect": [1, 61], "interpret": [29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60], "introduct": 62, "intuit": [29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60], "kei": 0, "length": 43, "level": [11, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 62, 69], "lexical_features_v2": 14, "lexicon": 42, "light": 0, "linguist": 42, "liwc": 42, "marker": 49, "messag": [43, 44], "mimicri": [45, 46], "modul": [2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 63, 64, 65, 66, 67, 68, 70, 71, 72, 73], "motiv": 62, "move": 46, "naiv": 54, "name": [1, 29, 47, 61], "named_entity_recognition_featur": 15, "note": [29, 30, 31, 33, 34, 35, 36, 38, 40, 41, 43, 44, 45, 46, 47, 48, 49, 50, 51, 53, 55, 56, 57, 58, 59], "onlin": 48, "other": [42, 69], "other_lexical_featur": 16, "ouput": 34, "our": 62, "output": [1, 30, 35, 45, 46, 47, 51], "packag": [0, 1, 61], "paramet": [0, 1], "person": 53, "pip": [1, 61], "polar": 56, "polit": [49, 50], "politeness_featur": 17, "politeness_v2": 18, "politeness_v2_help": 19, "posit": 52, "preload_word_list": 70, "preprocess": 71, "pronoun": 53, "proport": 53, "quantiti": 44, "question": 54, "question_num": 20, "ratio": 60, "readabl": 21, "recept": 49, "recognit": 47, "recommend": [1, 61], "reddit_tag": 22, "relat": [29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60], "repair": 32, "roberta": 51, "run": 1, "sampl": [0, 1], "score": [33, 41, 52], "sentiment": 51, "speaker": [11, 59, 62, 69], "start": [1, 61, 62], "strategi": 50, "subject": 57, "summarize_featur": 72, "tabl": 61, "tag": 48, "take": 59, "team": [55, 61, 62], "technic": 11, "temporal_featur": 23, "textblob": [56, 57], "textblob_sentiment_analysi": 24, "time": 58, "token": 60, "toolkit": 61, "touch": 0, "train": 47, "troubleshoot": [1, 61], "turn": [1, 59], "turn_taking_featur": 25, "type": 60, "us": 61, "user": 11, "util": 69, "utter": [11, 39, 62, 69], "variance_in_dd": 26, "vector": 1, "virtual": [1, 61], "walkthrough": 1, "within_person_discursive_rang": 27, "word": [31, 36, 42, 60], "word_mimicri": 28, "work": 1, "your": 1, "z": [41, 52], "zscore_chats_and_convers": 73}}) \ No newline at end of file diff --git a/docs/build/html/utils/check_embeddings.html b/docs/build/html/utils/check_embeddings.html index 8f98f7b0..ba19ea73 100644 --- a/docs/build/html/utils/check_embeddings.html +++ b/docs/build/html/utils/check_embeddings.html @@ -132,7 +132,7 @@
    -utils.check_embeddings.generate_bert(chat_data, output_path, message_col)
    +utils.check_embeddings.generate_bert(chat_data, output_path, message_col, batch_size=64)

    Generates RoBERTa sentiment scores for the given chat data and saves them to a CSV file.

    Parameters:
    @@ -140,6 +140,7 @@
  • chat_data (pd.DataFrame) – Contains message data to be analyzed for sentiments.

  • output_path (str) – Path to save the CSV file containing sentiment scores.

  • message_col (str, optional) – A string representing the column name that should be selected as the message. Defaults to “message”.

  • +
  • batch_size (int) – The size of each batch for processing sentiment analysis. Defaults to 64.

  • Raises:
    @@ -224,17 +225,17 @@
    -utils.check_embeddings.get_sentiment(text)
    -

    Analyzes the sentiment of the given text using a BERT model and returns the scores for positive, negative, and neutral sentiments.

    +utils.check_embeddings.get_sentiment(texts) +

    Analyzes the sentiment of the given list of texts using a BERT model and returns a DataFrame with scores for positive, negative, and neutral sentiments.

    Parameters:
    -

    text (str or None) – The input text to analyze.

    +

    texts (list of str) – The list of input texts to analyze.

    Returns:
    -

    A dictionary with sentiment scores.

    +

    A DataFrame with sentiment scores.

    Return type:
    -

    dict

    +

    pd.DataFrame

    diff --git a/docs/source/basics.rst b/docs/source/basics.rst index 6f5d1c9e..87221375 100644 --- a/docs/source/basics.rst +++ b/docs/source/basics.rst @@ -48,10 +48,14 @@ Package Assumptions 7. **Additional Columns**: Columns not required as inputs (conversation identifier, speaker identifier, message, and timestamp column(s)) are assumed to be metadata and won't be summarized in the featurization process. 8. **Vector Data Cache**: Your data's vector data will be cached in **vector_directory**. This directory will be created if it doesn’t exist, but its contents should be reserved for cached vector files. + + * This parameter defaults to "vector_data/". -9. **Output Files**: We generate three outputs: **output_file_path_chat_level** (Utterance- or Chat-Level Features), **output_file_path_user_level** (Speaker- or User-Level Features), and **output_file_path_conv_level** (Conversation-Level Features). + * Note: v0.1.3 and earlier compute vectors using _preprocessed_ text by default, which drops capitalization and punctuation. However, this can affect the interpretation of sentiment vectors; for example, "Hello!" has more positive sentiment than "hello." Consequently, from v0.1.4 onwards, we compute vectors using the raw input text, including punctuation and capitalization. To restore this behavior, please set **compute_vectors_from_preprocessed** to True. - * This should be a *path*, not just a filename. For example, "./my_file.csv", not just "my_file.csv." + * Additionally, we assume that empty messages are equivalent to "NaN vector," defined `here `_. + +9. **Output File Base**: We generate three output files at different levels of analysis. (Utterance/Chat, Speaker/User, and Conversation). We recommend using the **output_file_base** parameter to give them all a common naming scheme (a string that will be used to automatically name all files). You can also name each of them individually, but there's some complexity (for now) that we explain in :ref:`output_file_details`. 10. **Custom Features**: To save time, we exclude features that require computing sentence vectors by default. To access these features, use the **custom_features** parameter in your FeatureBuilder: @@ -79,4 +83,6 @@ Here are some parameters that can be customized. For more details, refer to the 4. **ner_training_df** and **ner_cutoff**: Measure the number of named entities in each utterance (see :ref:`named_entity_recognition`). -5. **regenerate_vectors**: Force-regenerate vector data even if it already exists. \ No newline at end of file +5. **regenerate_vectors**: Force-regenerate vector data even if it already exists. + +6. **compute_vectors_from_preprocessed**: Computes vectors using preprocessed text (that is, with capitalization and punctuation removed). This was the default behavior for v.0.1.3 and earlier, but we now default to computing metrics on the unpreprocessed text (which INCLUDES capitalization and punctuation), and this parameter now defaults to False. \ No newline at end of file diff --git a/docs/source/examples.rst b/docs/source/examples.rst index 8d4e89e1..b7bc948d 100644 --- a/docs/source/examples.rst +++ b/docs/source/examples.rst @@ -85,16 +85,17 @@ Now we are ready to call the FeatureBuilder on our data. All we need to do is de timestamp_col = "timestamp", grouping_keys = ["batch_num", "round_num"], vector_directory = "./vector_data/", - output_file_path_chat_level = "./jury_output_chat_level.csv", - output_file_path_user_level = "./jury_output_user_level.csv", - output_file_path_conv_level = "./jury_output_conversation_level.csv", + output_file_base = "jury_output", turns = True ) - jury_feature_builder.featurize(col="message") + jury_feature_builder.featurize() Basic Input Columns ^^^^^^^^^^^^^^^^^^^^ +Conversation Parameters +""""""""""""""""""""""""" + * The **input_df** parameter is where you pass in your dataframe. In this case, we want to run the FeatureBuilder on the juries data that we read in! * The **speaker_id_col** refers to the name of the column containing a unique identifier for each speaker / participant in the conversation. Here, in the data, the name of our columns is called "speaker_nickname." @@ -105,6 +106,8 @@ Basic Input Columns * If you do not pass anything in, "message" is the default value for this parameter. + * We assume that all messages are ordered chronologically. + * The **timestamp_col** refers to the name of the column containing when each utterance was said. In this case, we have exactly one timestamp for each message, stored in "timestamp." * If you do not pass anything in, "timestamp" is the default value for this parameter. @@ -125,21 +128,39 @@ Basic Input Columns conversation_id_col = "batch_num" +Vector Directory +"""""""""""""""""" + * The **vector_directory** is the name of a directory in which we will store some pre-processed information. Some features require running inference from HuggingFace's `RoBERTa-based sentiment model `_, and others require generating `SBERT vectors `_. These processes take time, and we cache the outputs so that subsequent runs of the FeatureBuilder on the same dataset will not take as much time. Therefore, we require you to pass in a location where you'd like us to save these outputs. + * By default, the directory is named "vector_data/." + * **Note that we do not require the name of the vector directory to be a folder that already exists**; if it doesn't exist, we will create it for you. * Inside the folder, we will store the RoBERTa outputs in a subfolder called "sentiment", and the SBERT vectors in a subfolder called "sentence." We will create both of these subfolders for you. * The **turns** parameter, which we will discuss later, controls whether or not you'd like the FeatureBuilder to treat successive utterances by the same individual as a single "turn," or whether you'd like them to be treated separately. We will cache different versions of outputs based on this parameter; we use a subfolder called "chats" (when **turns=False**) or "turns" (when **turns=True**). -* There are three output files for each run of the FeatureBuilder, which mirror the three levels of analysis: utterance-, speaker-, and conversation-level. (Please see the section on `Generating Features: Utterance-, Speaker-, and Conversation-Level `_ for more details.) However, this means that we require you to provide a path for where you would like us to store each of the output files; **output_file_path_chat_level** (Utterance- or Chat-Level Features), **output_file_path_user_level** (Speaker- or User-Level Features), and **output_file_path_conv_level** (Conversation-Level Features). +.. _output_file_details: + +Output File Naming Details +"""""""""""""""""""""""""""" + +* There are three output files for each run of the FeatureBuilder, which mirror the three levels of analysis: utterance-, speaker-, and conversation-level. (Please see the section on `Generating Features: Utterance-, Speaker-, and Conversation-Level `_ for more details.) These are generated using the **output_file_base** parameter. + + * **All of the outputs will be generated in a folder called "output."** + + * Within the "output" folder, **we generate sub-folders such that the three files will be located in subfolders called "chat," "user," and "conv," respectively.** + + * Similar to the **vector_directory** parameter, the "chat" directory will be renamed to "turn" depending on the value of the **turns** parameter. + +* It is possible to generate different names for each of the three output files, rather than using the same base file path by modifying **output_file_path_chat_level** (Utterance- or Chat-Level Features), **output_file_path_user_level** (Speaker- or User-Level Features), and **output_file_path_conv_level** (Conversation-Level Features). However, because outputs are organized in the specific locations described above, **we have specific requirements for inputting the output paths, and we will modify the path under the hood to match our file naming schema,** rather than saving the file directly to the specified location. * We expect that you pass in a **path**, not just a filename. For example, the path needs to be "./my_file.csv", and not just "my_file.csv"; you will get an error if you pass in only a name without the "/". - * Regardless of your path location, we will automatically append the name "output" to the fornt of your file path, such that **all of the outputs will be generated in a folder called "output."** + * Regardless of your path location, we will automatically append the name "output" to the fornt of your file path. - * Within the "output" folder, **we will also generate sub-folders such that the three files will be located in subfolders called "chat," "user," and "conv," respectively.** + * Within the "output" folder, **we will also generate the chat/user/conv sub-folders.** * If you pass in a path that already contains the above automatically-generated elements (for example, "./output/chat/my_chat_features.csv"), we will skip these steps and directly save it in the relevant folder. @@ -153,7 +174,7 @@ Basic Input Columns output_file_path_chat_level = "./output/chat/jury_output_chat_level.csv" - * And these two ways of specifying an output path are equivalent, assumign that turns=True: + * And these two ways of specifying an output path are equivalent, assuming that turns=True: .. code-block:: python @@ -161,6 +182,10 @@ Basic Input Columns output_file_path_chat_level = "./output/turn/jury_output_turn_level.csv" + +Turns +"""""" + * The **turns** parameter controls whether we want to treat successive messages from the same person as a single turn. For example, in a text conversation, sometimes individuals will send many message in rapid succession, as follows: * **John**: Hey Michael @@ -277,3 +302,62 @@ Here are some additional design details of the FeatureBuilder that you may wish * The only caveat to this rule is if you happen to have a column that is named exactly the same as one of the conversation features that we generate. In that case, your column will be overwritten. Please refer to ``_ for a list of all the features we generate, along with their column names. * **When summarizing features from the utterance level to the conversation and speaker level, we only consider numeric features.** This is perhaps a simplifying assumption more than anything else; although we do extract non-numeric information (for example, a Dale-Chall label of whether an utterance is "Easy" to ready or not; a list of named entities identified), we cannot summarize these efficiently, so they are not considered. + +Inspecting Generated Features +++++++++++++++++++++++++++++++ + +Feature Information +^^^^^^^^^^^^^^^^^^^^^ +Every FeatureBuilder object has an underlying property called the **feature_dict**, which lists information and references about the features included in the toolkit. Assuming that **jury_feature_builder** is the name of your FeatureBuilder, you can access the feature dictionary as follows: + +.. code-block:: python + + jury_feature_builder.feature_dict + +The keys of this dictionary are the formal feature names, and the value is a JSON blob with information about the feature or collection of features. A more nicely-displayed version of this dictionary is also available on our `website `_. + +**New in v.0.1.4**: To access a list of the formal feature names that a FeatureBuilder will generate, you can use the **feature_names** property: + +.. code-block:: python + + jury_feature_builder.feature_names # a list of formal feature names included in featurization (e.g., "Team Burstiness") + +You can also use the **feature_names** property in tandem with the **feature_dict** to learn more about a specific feature; for example, the following code will show the dictionary entry for the first feature in **feature_names**: + +.. code-block:: python + + jury_feature_builder.feature_dict[jury_feature_builder.feature_names[0]] + +Here is some example output (for the RoBERTa sentiment feature): + +.. code-block:: text + + {'columns': ['positive_bert', 'negative_bert', 'neutral_bert'], + 'file': './utils/check_embeddings.py', + 'level': 'Chat', + 'semantic_grouping': 'Emotion', + 'description': 'The extent to which a statement is positive, negative, or neutral, as assigned by Cardiffnlp/twitter-roberta-base-sentiment-latest. The total scores (Positive, Negative, Neutral) sum to 1.', + 'references': '(Hugging Face, 2023)', + 'wiki_link': 'https://conversational-featurizer.readthedocs.io/en/latest/features_conceptual/positivity_bert.html', + 'function': None>, + 'dependencies': [], + 'preprocess': [], + 'vect_data': False, + 'bert_sentiment_data': True} + +Feature Column Names +^^^^^^^^^^^^^^^^^^^^^ + +Once you call **.featurize()**, you can also obtain a convenient list of the feature columns generated by the toolkit: + +.. code-block:: python + + jury_feature_builder.chat_features # a list of the feature columns generated at the chat (utterance) level + jury_feature_builder.conv_features_base # a list of the base (non-aggregated) feature columns at the conversation level + jury_feature_builder.conv_features_all # a list of all feature columns at the conversation level, including aggregates + +These lists may be useful to you if you'd like to inspect which features in the output dataframe come from the FeatureBuilder; for example: + +.. code-block:: python + + jury_output_chat_level[jury_feature_builder.chat_features] \ No newline at end of file diff --git a/docs/source/features_conceptual/liwc.rst b/docs/source/features_conceptual/liwc.rst index f3af8a97..399cd743 100644 --- a/docs/source/features_conceptual/liwc.rst +++ b/docs/source/features_conceptual/liwc.rst @@ -21,9 +21,17 @@ Implementation **************** For each word in the LIWC lexicon, we use a regular expression to count the number of times the word appears. The regular expression captures word stems where relevant; for example, "certain*" would capture "certainty," "certainly," etc. -All word counts are represented as a scaled rate of **number of words / 100 words**, per `Yeomans et al. (2023) `_, as this makes it easier to compare across conversations and utterances of varying lengths. We compute this as follows: +**Note:** -Rate of word use / 100 words = count / utterance length * (utterance length / 100) +- **In v.1.0.3 and earlier:** + Word counts were presented as a scaled rate of **number of words per 100 words**, computed using the following formula: + + .. code-block:: text + + Rate of word use per 100 words = (count / utterance length) * (utterance length / 100) + +- **In v.1.0.4 and later:** + Lexical values are represented as a **raw count** of the number of times they appear in the utteranc Interpreting the Feature ************************* diff --git a/docs/source/index.rst b/docs/source/index.rst index e3a9e994..9e4be9bf 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -44,6 +44,8 @@ After you import the package and install dependencies, you can then use our tool Using the Package ****************** +Declaring a FeatureBuilder ++++++++++++++++++++++++++++ Once you import the tool, you will be able to declare a FeatureBuilder object, which is the heart of our tool. Here is some sample syntax: .. code-block:: python @@ -60,11 +62,10 @@ Once you import the tool, you will be able to declare a FeatureBuilder object, w timestamp_col= "timestamp", # this is where we'll cache things like sentence vectors; this directory doesn't have to exist; we'll create it for you! vector_directory = "./vector_data/", - # give us names for the utterance (chat), speaker (user), and conversation-level outputs - output_file_path_chat_level = "./my_output_chat_level.csv", - output_file_path_user_level = "./my_output_user_level.csv", - output_file_path_conv_level = "./my_output_conversation_level.csv", - # if true, this will combine successive turns by the same speaker. + # this will be the base file path for which we generate the three outputs; + # you will get your outputs in output/chat/my_output_chat_level.csv; output/conv/my_output_conv_level.csv; and output/user/my_output_user_level. + output_file_base = "my_output" + # it will also store the output into output/turns/my_output_chat_level.csv turns = False, # these features depend on sentence vectors, so they take longer to generate on larger datasets. Add them in manually if you are interested in adding them to your output! custom_features = [ @@ -76,7 +77,70 @@ Once you import the tool, you will be able to declare a FeatureBuilder object, w ) # this line of code runs the FeatureBuilder on your data - my_feature_builder.featurize(col="message") + my_feature_builder.featurize() + +Inspecting Generated Features +++++++++++++++++++++++++++++++ + +Feature Information +^^^^^^^^^^^^^^^^^^^^^ +Every FeatureBuilder object has an underlying property called the **feature_dict**, which lists information and references about the features included in the toolkit. Assuming that **my_feature_builder** is the name of your FeatureBuilder, you can access the feature dictionary as follows: + +.. code-block:: python + + my_feature_builder.feature_dict + +The keys of this dictionary are the formal feature names, and the value is a JSON blob with information about the feature or collection of features. A more nicely-displayed version of this dictionary is also available on our `website `_. + +**New in v.0.1.4**: To access a list of the formal feature names that a FeatureBuilder will generate, you can use the **feature_names** property: + +.. code-block:: python + + my_feature_builder.feature_names # a list of formal feature names included in featurization (e.g., "Team Burstiness") + +You can also use the **feature_names** property in tandem with the **feature_dict** to learn more about a specific feature; for example, the following code will show the dictionary entry for the first feature in **feature_names**: + +.. code-block:: python + + my_feature_builder.feature_dict[my_feature_builder.feature_names[0]] + +Here is some example output (for the RoBERTa sentiment feature): + +.. code-block:: text + + {'columns': ['positive_bert', 'negative_bert', 'neutral_bert'], + 'file': './utils/check_embeddings.py', + 'level': 'Chat', + 'semantic_grouping': 'Emotion', + 'description': 'The extent to which a statement is positive, negative, or neutral, as assigned by Cardiffnlp/twitter-roberta-base-sentiment-latest. The total scores (Positive, Negative, Neutral) sum to 1.', + 'references': '(Hugging Face, 2023)', + 'wiki_link': 'https://conversational-featurizer.readthedocs.io/en/latest/features_conceptual/positivity_bert.html', + 'function': None>, + 'dependencies': [], + 'preprocess': [], + 'vect_data': False, + 'bert_sentiment_data': True} + +Feature Column Names +^^^^^^^^^^^^^^^^^^^^^ + +Once you call **.featurize()**, you can also obtain a convenient list of the feature columns generated by the toolkit: + +.. code-block:: python + + my_feature_builder.chat_features # a list of the feature columns generated at the chat (utterance) level + my_feature_builder.conv_features_base # a list of the base (non-aggregated) feature columns at the conversation level + my_feature_builder.conv_features_all # a list of all feature columns at the conversation level, including aggregates + +These lists may be useful to you if you'd like to inspect which features in the output dataframe come from the FeatureBuilder; for example: + +.. code-block:: python + + jury_output_chat_level[my_feature_builder.chat_features] + + +Table of Contents +****************** Use the Table of Contents below to learn more about our tool. We recommend that you begin in the "Introduction" section, then explore other sections of the documentation as they become relevant to you. We recommend reading :ref:`basics` for a high-level overview of the requirements and parameters, and then reading through the :ref:`examples` for a detailed walkthrough and discussion of considerations. diff --git a/examples/demo.ipynb b/examples/demo.ipynb index 61070522..07ddd8d3 100644 --- a/examples/demo.ipynb +++ b/examples/demo.ipynb @@ -6,7 +6,7 @@ "source": [ "# Welcome to the Team Communication Toolkit Demo Notebook!\n", "\n", - "Written by [Xinlan Emily Hu](https://xinlanemilyhu.com), and last updated on **September 17, 2024**.\n", + "Written by [Xinlan Emily Hu](https://xinlanemilyhu.com), and last updated on **October 7, 2024**.\n", "\n", "This notebook will walk through how to install the [Team Communication Toolkit](https://pypi.org/project/team-comm-tools/) and use it to analyze conversational data. The goal of the Team Communication Toolkit is to make it easy to bootstrap analyses of multi-party text communication; you can read a little bit more about our tool [here](https://conversational-featurizer.readthedocs.io/en/latest/intro.html)." ] @@ -51,7 +51,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "team_comm_tools 0.1.3\n" + "team_comm_tools 0.1.4\n" ] } ], @@ -452,7 +452,20 @@ "text": [ "Initializing Featurization...\n", "Confirmed that data has conversation_id: conversation_num, speaker_id: speaker_nickname and message: message columns!\n", - "Chat Level Features ...\n", + "Chat Level Features ...\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|██████████| 17/17 [00:01<00:00, 9.28it/s]\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ "Generating features for the first 100.0% of messages...\n", "Generating User Level Features ...\n", "Generating Conversation Level Features ...\n", @@ -463,14 +476,12 @@ "source": [ "jury_feature_builder = FeatureBuilder(\n", "\t\tinput_df = juries_df,\n", + " output_file_base = \"jury_tiny_output\", # We use this base string to construct outputs, which will appear at output/chat/, output/conv, and output/user\n", "\t\tspeaker_id_col = \"speaker_nickname\", # This is the column that contains the speaker IDs\n", "\t\tmessage_col = \"message\", # This is the column that contains the messages\n", "\t\ttimestamp_col = \"timestamp\", # This is the column that contains the timestamps\n", "\t\tgrouping_keys = [\"batch_num\", \"round_num\"], # These are the columns that define the conversation identifier\n", "\t\tvector_directory = \"./vector_data/\", # This is the directory where the sentence vectors and cached BERT outputs stored\n", - "\t\toutput_file_path_chat_level = \"./jury_tiny_output_chat_level.csv\", # This is the path to save the utterance (chat)-level features\n", - "\t\toutput_file_path_user_level = \"./jury_tiny_output_user_level.csv\", # This is the path to save the speaker (user)-level features\n", - "\t\toutput_file_path_conv_level = \"./jury_tiny_output_conversation_level.csv\", # This is the path to save the conversation-level features\n", "\t\t\n", "\t\t# Flip this to True if you don't want to automatically combine successive \n", "\t\t# messages from the same speaker as a single \"turn;\"\n", @@ -485,7 +496,603 @@ "\t\t\t\"Forward Flow\",\n", "\t\t\t\"Discursive Diversity\"]\n", ")\n", - "jury_feature_builder.featurize(col=\"message\")" + "jury_feature_builder.featurize()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Inspecting Feature Information\n", + "Every `FeatureBuilder` instance includes a property known as the `feature_dict`, which presents information about the available features within the toolkit. We can retrieve the feature dictionary from the `jury_feature_builder` using `jury_feature_builder.feature_dict`:" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'Named Entity Recognition': {'columns': ['num_named_entity',\n", + " 'named_entities'],\n", + " 'file': './features/named_entity_recognition_features.py',\n", + " 'level': 'Chat',\n", + " 'semantic_grouping': 'Content',\n", + " 'description': 'This feature detects whether a user is talking about (or to) someone else in a conversation.',\n", + " 'references': 'N/A',\n", + " 'wiki_link': 'https://conversational-featurizer.readthedocs.io/en/latest/features_conceptual/named_entity_recognition.html',\n", + " 'function': None>,\n", + " 'dependencies': [],\n", + " 'preprocess': [],\n", + " 'vect_data': False,\n", + " 'bert_sentiment_data': False},\n", + " 'Sentiment (RoBERTa)': {'columns': ['positive_bert',\n", + " 'negative_bert',\n", + " 'neutral_bert'],\n", + " 'file': './utils/check_embeddings.py',\n", + " 'level': 'Chat',\n", + " 'semantic_grouping': 'Emotion',\n", + " 'description': 'The extent to which a statement is positive, negative, or neutral, as assigned by Cardiffnlp/twitter-roberta-base-sentiment-latest. The total scores (Positive, Negative, Neutral) sum to 1.',\n", + " 'references': '(Hugging Face, 2023)',\n", + " 'wiki_link': 'https://conversational-featurizer.readthedocs.io/en/latest/features_conceptual/positivity_bert.html',\n", + " 'function': None>,\n", + " 'dependencies': [],\n", + " 'preprocess': [],\n", + " 'vect_data': False,\n", + " 'bert_sentiment_data': True},\n", + " 'Message Length': {'columns': ['num_words', 'num_chars'],\n", + " 'file': './features/basic_features.py',\n", + " 'level': 'Chat',\n", + " 'semantic_grouping': 'Quantity',\n", + " 'description': 'The length of a message in words and characters.',\n", + " 'references': '(Ranganath et al., 2013; Cao et al., 2021)',\n", + " 'wiki_link': 'https://conversational-featurizer.readthedocs.io/en/latest/features_conceptual/message_length.html',\n", + " 'function': None>,\n", + " 'dependencies': [],\n", + " 'preprocess': [],\n", + " 'vect_data': False,\n", + " 'bert_sentiment_data': False},\n", + " 'Message Quantity': {'columns': ['num_messages'],\n", + " 'file': './features/basic_features.py',\n", + " 'level': 'Chat',\n", + " 'semantic_grouping': 'Quantity',\n", + " 'description': 'The total number of messages sent.',\n", + " 'references': '(Cao et al., 2021; Marlow et al., 2018, as objective communication frequency)',\n", + " 'wiki_link': 'https://conversational-featurizer.readthedocs.io/en/latest/features_conceptual/message_quantity.html',\n", + " 'function': None>,\n", + " 'dependencies': [],\n", + " 'preprocess': [],\n", + " 'vect_data': False,\n", + " 'bert_sentiment_data': False},\n", + " 'Information Exchange': {'columns': ['info_exchange_zscore_chats',\n", + " 'info_exchange_zscore_conversation'],\n", + " 'file': './features/info_exchange_zscore.py, ./utils/zscore_chats_and_conversation.py',\n", + " 'level': 'Chat',\n", + " 'semantic_grouping': 'Content',\n", + " 'description': 'A crude measure of task-focused communication: the total number of words spoken, with the number of first-person pronouns (which suggest self-focus) removed. This value is then z-scored to describe the extent to which a message had more/less task-focused communication relative to other messages. We implement two flavors of the z-score: the first scores the messages with respect to other messages in the same conversation; the second scores the messages with respect to all messages in the data.',\n", + " 'references': '(Tausczik & Pennebaker, 2013)',\n", + " 'wiki_link': 'https://conversational-featurizer.readthedocs.io/en/latest/features_conceptual/information_exchange.html#',\n", + " 'function': None>,\n", + " 'dependencies': [ None>],\n", + " 'preprocess': [],\n", + " 'vect_data': False,\n", + " 'bert_sentiment_data': False},\n", + " 'LIWC and Other Lexicons': {'columns': ['discrepancies_lexical_wordcount',\n", + " 'hear_lexical_wordcount',\n", + " 'home_lexical_wordcount',\n", + " 'conjunction_lexical_wordcount',\n", + " 'certainty_lexical_wordcount',\n", + " 'inclusive_lexical_wordcount',\n", + " 'bio_lexical_wordcount',\n", + " 'achievement_lexical_wordcount',\n", + " 'adverbs_lexical_wordcount',\n", + " 'anxiety_lexical_wordcount',\n", + " 'third_person_lexical_wordcount',\n", + " 'negation_lexical_wordcount',\n", + " 'swear_lexical_wordcount',\n", + " 'death_lexical_wordcount',\n", + " 'health_lexical_wordcount',\n", + " 'see_lexical_wordcount',\n", + " 'body_lexical_wordcount',\n", + " 'family_lexical_wordcount',\n", + " 'negative_affect_lexical_wordcount',\n", + " 'quantifier_lexical_wordcount',\n", + " 'positive_affect_lexical_wordcount',\n", + " 'insight_lexical_wordcount',\n", + " 'humans_lexical_wordcount',\n", + " 'present_tense_lexical_wordcount',\n", + " 'future_tense_lexical_wordcount',\n", + " 'past_tense_lexical_wordcount',\n", + " 'relative_lexical_wordcount',\n", + " 'sexual_lexical_wordcount',\n", + " 'inhibition_lexical_wordcount',\n", + " 'sadness_lexical_wordcount',\n", + " 'social_lexical_wordcount',\n", + " 'indefinite_pronoun_lexical_wordcount',\n", + " 'religion_lexical_wordcount',\n", + " 'work_lexical_wordcount',\n", + " 'money_lexical_wordcount',\n", + " 'causation_lexical_wordcount',\n", + " 'anger_lexical_wordcount',\n", + " 'first_person_singular_lexical_wordcount',\n", + " 'feel_lexical_wordcount',\n", + " 'tentativeness_lexical_wordcount',\n", + " 'exclusive_lexical_wordcount',\n", + " 'verbs_lexical_wordcount',\n", + " 'friends_lexical_wordcount',\n", + " 'article_lexical_wordcount',\n", + " 'argue_lexical_wordcount',\n", + " 'auxiliary_verbs_lexical_wordcount',\n", + " 'cognitive_mech_lexical_wordcount',\n", + " 'preposition_lexical_wordcount',\n", + " 'first_person_plural_lexical_wordcount',\n", + " 'percept_lexical_wordcount',\n", + " 'second_person_lexical_wordcount',\n", + " 'positive_words_lexical_wordcount',\n", + " 'first_person_lexical_wordcount',\n", + " 'nltk_english_stopwords_lexical_wordcount',\n", + " 'hedge_words_lexical_wordcount'],\n", + " 'file': './features/lexical_features_v2.py',\n", + " 'level': 'Chat',\n", + " 'semantic_grouping': ['Content', 'Emotion', 'Engagement'],\n", + " 'description': 'The extent to which messages reflect words from a variety of lexicons (predominantly LIWC). Each measure is expressed as a rate of word use per 100 words.',\n", + " 'references': '(For LIWC: Niederhoffer & Pennebaker, 2002; Pennebaker et al., 1997; Tausczik & Pennebaker, 2010; for positive words, Hu and Liu (2004); for NLTK English Stopwords: Inspired by Yeomans et al. (2023), which notes the role of stylistic and structural language (e.g., function words), which frequently appear in stopword lists.)',\n", + " 'wiki_link': 'https://conversational-featurizer.readthedocs.io/en/latest/features_conceptual/liwc.html',\n", + " 'function': None>,\n", + " 'dependencies': [ None>],\n", + " 'preprocess': [],\n", + " 'vect_data': False,\n", + " 'bert_sentiment_data': False},\n", + " 'Questions': {'columns': ['num_question_naive'],\n", + " 'file': './features/question_num.py',\n", + " 'level': 'Chat',\n", + " 'semantic_grouping': 'Engagement',\n", + " 'description': 'Number of questions asked in an utterance. In the naive version, it counts the number of question marks (’?’).',\n", + " 'references': '(Ranganath et al., 2013)',\n", + " 'wiki_link': 'https://conversational-featurizer.readthedocs.io/en/latest/features_conceptual/questions.html',\n", + " 'function': None>,\n", + " 'dependencies': [ None>,\n", + " None>],\n", + " 'preprocess': [],\n", + " 'vect_data': False,\n", + " 'bert_sentiment_data': False},\n", + " 'Conversational Repair': {'columns': ['NTRI'],\n", + " 'file': './features/other_lexical_features.py',\n", + " 'level': 'Chat',\n", + " 'semantic_grouping': 'Engagement',\n", + " 'description': 'A binary indicator of whether an utterance contains a repair indicator, defined as the following: - “what?” - “sorry” - “excuse me” - “huh?” - “who?” - “pardon?” - “say … again?” - “what’s that?” - “what is that”',\n", + " 'references': '(Ranganath et al., 2013)',\n", + " 'wiki_link': 'https://conversational-featurizer.readthedocs.io/en/latest/features_conceptual/conversational_repair.html',\n", + " 'function': None>,\n", + " 'dependencies': [ None>,\n", + " None>],\n", + " 'preprocess': [],\n", + " 'vect_data': False,\n", + " 'bert_sentiment_data': False},\n", + " 'Word Type-Token Ratio': {'columns': ['word_TTR'],\n", + " 'file': './features/other_lexical_features.py',\n", + " 'level': 'Chat',\n", + " 'semantic_grouping': 'Content',\n", + " 'description': 'The ratio of word types (the total number of unique words in an utterance) to tokens (the total number of words in an utterance).',\n", + " 'references': '(Reichel et al., 2015)',\n", + " 'wiki_link': 'https://conversational-featurizer.readthedocs.io/en/latest/features_conceptual/word_ttr.html',\n", + " 'function': None>,\n", + " 'dependencies': [ None>,\n", + " None>],\n", + " 'preprocess': [],\n", + " 'vect_data': False,\n", + " 'bert_sentiment_data': False},\n", + " 'Proportion of First-Person Pronouns': {'columns': ['first_pronouns_proportion'],\n", + " 'file': './features/other_lexical_features.py',\n", + " 'level': 'Chat',\n", + " 'semantic_grouping': 'Content',\n", + " 'description': 'The proportion of words in an utterance that are first-person pronouns (e.g., “I,” “me,” “we,” “us”).',\n", + " 'references': '(Reichel et al., 2015)',\n", + " 'wiki_link': 'https://conversational-featurizer.readthedocs.io/en/latest/features_conceptual/proportion_of_first_person_pronouns.html',\n", + " 'function': None>,\n", + " 'dependencies': [ None>,\n", + " None>],\n", + " 'preprocess': [],\n", + " 'vect_data': False,\n", + " 'bert_sentiment_data': False},\n", + " 'Function Word Accommodation': {'columns': ['function_word_accommodation'],\n", + " 'file': './features/word_mimicry.py',\n", + " 'level': 'Chat',\n", + " 'semantic_grouping': 'Variance',\n", + " 'description': 'The total number of function words used in a given turn that were also used in the previous turn. Function words are defined as a list of 190 words from the source paper.',\n", + " 'references': '(Ranganath et al., 2013)',\n", + " 'wiki_link': 'https://conversational-featurizer.readthedocs.io/en/latest/features_conceptual/function_word_accommodation.html',\n", + " 'function': None>,\n", + " 'dependencies': [],\n", + " 'preprocess': [],\n", + " 'vect_data': False,\n", + " 'bert_sentiment_data': False},\n", + " 'Content Word Accommodation': {'columns': ['content_word_accommodation'],\n", + " 'file': './features/word_mimicry.py',\n", + " 'level': 'Chat',\n", + " 'semantic_grouping': 'Variance',\n", + " 'description': 'The total number of non-function words used in a given turn that were also used in the previous turn, normalized by the inverse document frequency of each content word.',\n", + " 'references': '(Ranganath et al., 2013)',\n", + " 'wiki_link': 'https://conversational-featurizer.readthedocs.io/en/latest/features_conceptual/content_word_accommodation.html',\n", + " 'function': None>,\n", + " 'dependencies': [],\n", + " 'preprocess': [],\n", + " 'vect_data': False,\n", + " 'bert_sentiment_data': False},\n", + " '(BERT) Mimicry': {'columns': ['mimicry_bert'],\n", + " 'file': './features/word_mimicry.py',\n", + " 'level': 'Chat',\n", + " 'semantic_grouping': 'Variance',\n", + " 'description': 'The cosine similarity of the SBERT vectors between the current utterance and the utterance in the previous turn.',\n", + " 'references': 'Inspired by accommodation (Matarazzo & Wiens, 1977), language style matching (Tausczik & Pennebaker, 2013) and synchrony (Niederhoffer & Pennebaker, 2002), and implemented in a manner similar to forward flow (Gray et al., 2019)',\n", + " 'wiki_link': 'https://conversational-featurizer.readthedocs.io/en/latest/features_conceptual/mimicry_bert.html',\n", + " 'function': None>,\n", + " 'dependencies': [],\n", + " 'preprocess': [],\n", + " 'vect_data': True,\n", + " 'bert_sentiment_data': False},\n", + " 'Moving Mimicry': {'columns': ['moving_mimicry'],\n", + " 'file': './features/word_mimicry.py',\n", + " 'level': 'Chat',\n", + " 'semantic_grouping': 'Variance',\n", + " 'description': 'The running average of all BERT Mimicry scores computed so far in a conversation. Captures the extent to which all participants in a conversation mimic each other up until a given point.',\n", + " 'references': 'Inspired by accommodation (Matarazzo & Wiens, 1977), language style matching (Tausczik & Pennebaker, 2013) and synchrony (Niederhoffer & Pennebaker, 2002), and implemented in a manner similar to forward flow (Gray et al., 2019)',\n", + " 'wiki_link': 'https://conversational-featurizer.readthedocs.io/en/latest/features_conceptual/moving_mimicry.html',\n", + " 'function': None>,\n", + " 'dependencies': [],\n", + " 'preprocess': [],\n", + " 'vect_data': True,\n", + " 'bert_sentiment_data': False},\n", + " 'Hedge': {'columns': ['hedge_naive'],\n", + " 'file': './features/hedge.py',\n", + " 'level': 'Chat',\n", + " 'semantic_grouping': 'Engagement',\n", + " 'description': 'Captures whether a speaker appears to “hedge” their statement and express lack of certainty; e.g., a score of 1 is assigned if hedge phrases (”I think,” “a little,” “maybe,” “possibly”) are present, and a score of 0 is assigned otherwise.',\n", + " 'references': '(Ranganath et al., 2013; (Danescu-Niculescu-Mizil et al., 2013; Islam et al., 2020)',\n", + " 'wiki_link': 'https://conversational-featurizer.readthedocs.io/en/latest/features_conceptual/hedge.html',\n", + " 'function': None>,\n", + " 'dependencies': [ None>,\n", + " None>],\n", + " 'preprocess': [],\n", + " 'vect_data': False,\n", + " 'bert_sentiment_data': False},\n", + " 'TextBlob Subjectivity': {'columns': ['textblob_subjectivity'],\n", + " 'file': './features/textblob_sentiment_analysis.py',\n", + " 'level': 'Chat',\n", + " 'semantic_grouping': 'Content',\n", + " 'description': 'The extent to which a statement is “subjective” (containing personal information) or “objective” (containing factual information), as measured by TextBlob. Ranges from 0 (objective) to 1 (subjective).',\n", + " 'references': '(Cao et al., 2021)',\n", + " 'wiki_link': 'https://conversational-featurizer.readthedocs.io/en/latest/features_conceptual/textblob_subjectivity.html',\n", + " 'function': None>,\n", + " 'dependencies': [],\n", + " 'preprocess': [],\n", + " 'vect_data': False,\n", + " 'bert_sentiment_data': False},\n", + " 'TextBlob Polarity': {'columns': ['textblob_polarity'],\n", + " 'file': './features/textblob_sentiment_analysis.py',\n", + " 'level': 'Chat',\n", + " 'semantic_grouping': 'Emotion',\n", + " 'description': 'The extent to which a statement is positive or negative; ranges from -1 (negative) to 1 (positive); neutrality is assigned a score of 0.',\n", + " 'references': '(Cao et al., 2021)',\n", + " 'wiki_link': 'https://conversational-featurizer.readthedocs.io/en/latest/features_conceptual/textblob_polarity.html',\n", + " 'function': None>,\n", + " 'dependencies': [],\n", + " 'preprocess': [],\n", + " 'vect_data': False,\n", + " 'bert_sentiment_data': False},\n", + " 'Positivity Z-Score': {'columns': ['positivity_zscore_chats',\n", + " 'positivity_zscore_conversation'],\n", + " 'file': './utils/zscore_chats_and_conversation.py',\n", + " 'level': 'Chat',\n", + " 'semantic_grouping': 'Emotion',\n", + " 'description': 'The relative extent to which an utterance is more (or less) positive, compared to other messages. Here, we use the BERT-assigned positivity score, and calculate two flavors of the z-score: the first scores the messages with respect to other messages in the same conversation; the second scores the messages with respect to all messages in the data.',\n", + " 'references': '(Tausczik & Pennebaker, 2013)',\n", + " 'wiki_link': 'https://conversational-featurizer.readthedocs.io/en/latest/features_conceptual/positivity_z_score.html',\n", + " 'function': None>,\n", + " 'dependencies': [ None>],\n", + " 'preprocess': [],\n", + " 'vect_data': False,\n", + " 'bert_sentiment_data': True},\n", + " 'Dale-Chall Score': {'columns': ['dale_chall_score',\n", + " 'dale_chall_classification'],\n", + " 'file': './features/readability.py',\n", + " 'level': 'Chat',\n", + " 'semantic_grouping': 'Content',\n", + " 'description': 'The reading level of the utterance, as calculated by the Dale-Chall Score.',\n", + " 'references': '(Cao et al., 2021)',\n", + " 'wiki_link': 'https://conversational-featurizer.readthedocs.io/en/latest/features_conceptual/dale_chall_score.html',\n", + " 'function': None>,\n", + " 'dependencies': [],\n", + " 'preprocess': [],\n", + " 'vect_data': False,\n", + " 'bert_sentiment_data': False},\n", + " 'Time Difference': {'columns': ['time_diff'],\n", + " 'file': './features/temporal_features.py',\n", + " 'level': 'Chat',\n", + " 'semantic_grouping': 'Pace',\n", + " 'description': 'The response time between successive utterances.',\n", + " 'references': '(Reichel et al., 2015)',\n", + " 'wiki_link': 'https://conversational-featurizer.readthedocs.io/en/latest/features_conceptual/time_difference.html',\n", + " 'function': None>,\n", + " 'dependencies': [],\n", + " 'preprocess': [],\n", + " 'vect_data': False,\n", + " 'bert_sentiment_data': False},\n", + " 'Politeness Strategies': {'columns': ['please_politeness_convokit',\n", + " 'please_start_politeness_convokit',\n", + " 'hashedge_politeness_convokit',\n", + " 'indirect_btw_politeness_convokit',\n", + " 'hedges_politeness_convokit',\n", + " 'factuality_politeness_convokit',\n", + " 'deference_politeness_convokit',\n", + " 'gratitude_politeness_convokit',\n", + " 'apologizing_politeness_convokit',\n", + " '1st_person_pl_politeness_convokit',\n", + " '1st_person_politeness_convokit',\n", + " '1st_person_start_politeness_convokit',\n", + " '2nd_person_politeness_convokit',\n", + " '2nd_person_start_politeness_convokit',\n", + " 'indirect_greeting_politeness_convokit',\n", + " 'direct_question_politeness_convokit',\n", + " 'direct_start_politeness_convokit',\n", + " 'haspositive_politeness_convokit',\n", + " 'hasnegative_politeness_convokit',\n", + " 'subjunctive_politeness_convokit',\n", + " 'indicative_politeness_convokit'],\n", + " 'file': './features/politeness_features.py',\n", + " 'level': 'Chat',\n", + " 'semantic_grouping': 'Engagement',\n", + " 'description': 'A collection of conversational markers that indicates the use of politeness.',\n", + " 'references': '(Danescu-Niculescu-Mizil et al., 2013)',\n", + " 'wiki_link': 'https://conversational-featurizer.readthedocs.io/en/latest/features_conceptual/politeness_strategies.html',\n", + " 'function': None>,\n", + " 'dependencies': [],\n", + " 'preprocess': [],\n", + " 'vect_data': False,\n", + " 'bert_sentiment_data': False},\n", + " 'Politeness / Receptiveness Markers': {'columns': ['Impersonal_Pronoun_receptiveness_yeomans',\n", + " 'First_Person_Single_receptiveness_yeomans',\n", + " 'Hedges_receptiveness_yeomans',\n", + " 'Negation_receptiveness_yeomans',\n", + " 'Subjectivity_receptiveness_yeomans',\n", + " 'Negative_Emotion_receptiveness_yeomans',\n", + " 'Reasoning_receptiveness_yeomans',\n", + " 'Agreement_receptiveness_yeomans',\n", + " 'Second_Person_receptiveness_yeomans',\n", + " 'Adverb_Limiter_receptiveness_yeomans',\n", + " 'Disagreement_receptiveness_yeomans',\n", + " 'Acknowledgement_receptiveness_yeomans',\n", + " 'First_Person_Plural_receptiveness_yeomans',\n", + " 'For_Me_receptiveness_yeomans',\n", + " 'WH_Questions_receptiveness_yeomans',\n", + " 'YesNo_Questions_receptiveness_yeomans',\n", + " 'Bare_Command_receptiveness_yeomans',\n", + " 'Truth_Intensifier_receptiveness_yeomans',\n", + " 'Apology_receptiveness_yeomans',\n", + " 'Ask_Agency_receptiveness_yeomans',\n", + " 'By_The_Way_receptiveness_yeomans',\n", + " 'Can_You_receptiveness_yeomans',\n", + " 'Conjunction_Start_receptiveness_yeomans',\n", + " 'Could_You_receptiveness_yeomans',\n", + " 'Filler_Pause_receptiveness_yeomans',\n", + " 'For_You_receptiveness_yeomans',\n", + " 'Formal_Title_receptiveness_yeomans',\n", + " 'Give_Agency_receptiveness_yeomans',\n", + " 'Affirmation_receptiveness_yeomans',\n", + " 'Gratitude_receptiveness_yeomans',\n", + " 'Hello_receptiveness_yeomans',\n", + " 'Informal_Title_receptiveness_yeomans',\n", + " 'Let_Me_Know_receptiveness_yeomans',\n", + " 'Swearing_receptiveness_yeomans',\n", + " 'Reassurance_receptiveness_yeomans',\n", + " 'Please_receptiveness_yeomans',\n", + " 'Positive_Emotion_receptiveness_yeomans',\n", + " 'Goodbye_receptiveness_yeomans',\n", + " 'Token_count_receptiveness_yeomans'],\n", + " 'file': './features/politeness_v2.py, ./features/politeness_v2_helper.py, ./features/keywords.py',\n", + " 'level': 'Chat',\n", + " 'semantic_grouping': 'Engagement',\n", + " 'description': 'A collection of conversational markers that indicates the use of politeness / receptiveness.',\n", + " 'references': '(Yeomans et al., 2020)',\n", + " 'wiki_link': 'https://conversational-featurizer.readthedocs.io/en/latest/features_conceptual/politeness_receptiveness_markers.html',\n", + " 'function': None>,\n", + " 'dependencies': [],\n", + " 'preprocess': [],\n", + " 'vect_data': False,\n", + " 'bert_sentiment_data': False},\n", + " 'Forward Flow': {'columns': ['forward_flow'],\n", + " 'file': './features/fflow.py',\n", + " 'level': 'Chat',\n", + " 'semantic_grouping': 'Variance',\n", + " 'description': 'The extent to which a conversation “flows forward” — that is, evolves to new topics over time. The forward flow of a given message is the cosine similarity between the SBERT vector of the current message and the average SBERT vector of all previous messages. In other words, it captures how similar a message is to everything that has come before (so far).',\n", + " 'references': '(Gray et al., 2019)',\n", + " 'wiki_link': 'https://conversational-featurizer.readthedocs.io/en/latest/features_conceptual/forward_flow.html',\n", + " 'function': None>,\n", + " 'dependencies': [],\n", + " 'preprocess': [],\n", + " 'vect_data': True,\n", + " 'bert_sentiment_data': False},\n", + " 'Certainty': {'columns': ['certainty_rocklage'],\n", + " 'file': './features/certainty.py',\n", + " 'level': 'Chat',\n", + " 'semantic_grouping': 'Content',\n", + " 'description': 'The extent to which a message expresses (un)certainty, as evaluated on a 1-9 scale. Very certain messages (e.g., “I am absolutely sure”) are higher on the scale; very uncertain messages (”I do not know for certain…”) are lower on the scale.',\n", + " 'references': '(Rocklage et al., 2023)',\n", + " 'wiki_link': 'https://conversational-featurizer.readthedocs.io/en/latest/features_conceptual/certainty.html',\n", + " 'function': None>,\n", + " 'dependencies': [],\n", + " 'preprocess': [],\n", + " 'vect_data': False,\n", + " 'bert_sentiment_data': False},\n", + " 'Online Discussion Tags': {'columns': ['num_all_caps',\n", + " 'num_links',\n", + " 'num_reddit_users',\n", + " 'num_emphasis',\n", + " 'num_bullet_points',\n", + " 'num_numbered_points',\n", + " 'num_quotes',\n", + " 'num_block_quote_responses',\n", + " 'num_ellipses',\n", + " 'num_parentheses',\n", + " 'num_emoji'],\n", + " 'file': './features/reddit_tags.py',\n", + " 'level': 'Chat',\n", + " 'semantic_grouping': 'Content',\n", + " 'description': 'Calculates a number of metrics specific to communications in an online setting: 1. Num all caps: Number of words that are in all caps 2. Num links: Number of links to external resources 3. Num Reddit Users: Number of usernames referred to, in u/RedditUser format. 4. Num Emphasis: The number of times someone used **emphasis** in their message 5. Num Bullet Points: The number of bullet points used in a message. 6. Num Line Breaks: The number of line breaks in a message. 7. Num Quotes: The number of “quotes” in a message. 8. Num Block Quotes Responses: The number of times someone uses a block quote (”>”), indicating a longer quotation 9. Num Ellipses: The number of times someone uses ellipses (…) in their message 10. Num Parentheses: The number of sets of fully closed parenthetical statements in a message 11. Num Emoji: The number of emoticons in a message, e.g., “:)”',\n", + " 'references': 'New',\n", + " 'wiki_link': 'https://conversational-featurizer.readthedocs.io/en/latest/features_conceptual/online_discussions_tags.html',\n", + " 'function': None>,\n", + " 'dependencies': [],\n", + " 'preprocess': [],\n", + " 'vect_data': False,\n", + " 'bert_sentiment_data': False},\n", + " 'Turn-Taking Index': {'columns': ['turn_taking_index'],\n", + " 'file': './features/turn_taking_features.py',\n", + " 'level': 'Conversation',\n", + " 'semantic_grouping': 'Equality',\n", + " 'description': 'Calculates a metric describing the extent to which individuals take turns speaking in a conversation. Adapted from Almaatouq et al. (2023), in which we treat each separate chat as equivalent to an in-game “solution”: ”A group’s turn-taking index for a given round is measured by dividing the number of turns taken … by the total number of [chats] on a particular task instance.”',\n", + " 'references': '(Almaatouq et al., 2023)',\n", + " 'wiki_link': 'https://conversational-featurizer.readthedocs.io/en/latest/features_conceptual/turn_taking_index.html',\n", + " 'function': None>,\n", + " 'dependencies': [],\n", + " 'preprocess': [],\n", + " 'vect_data': False,\n", + " 'bert_sentiment_data': False},\n", + " 'Equal Participation': {'columns': ['gini_coefficient_sum_num_words',\n", + " 'gini_coefficient_sum_num_chars',\n", + " 'gini_coefficient_sum_num_messages'],\n", + " 'file': './utils/gini_coefficient.py',\n", + " 'level': 'Conversation',\n", + " 'semantic_grouping': 'Equality',\n", + " 'description': 'The extent to which each participant in a conversation engages equally, as measured by a Gini coefficient. We calculate three flavors of Gini coefficient, using the number of words, number of characters, and the number of messages, respectively.',\n", + " 'references': '(Tausczik & Pennebaker, 2013)',\n", + " 'wiki_link': 'https://conversational-featurizer.readthedocs.io/en/latest/features_conceptual/gini_coefficient.html',\n", + " 'function': None>,\n", + " 'dependencies': [ None>],\n", + " 'preprocess': [],\n", + " 'vect_data': False,\n", + " 'bert_sentiment_data': False},\n", + " 'Conversation Level Aggregates': {'columns': [],\n", + " 'file': './utils/summarize_features.py',\n", + " 'level': 'Conversation',\n", + " 'semantic_grouping': 'N/A',\n", + " 'description': 'Aggregation of utterance (chat)-level features at the conversation level',\n", + " 'references': 'N/A',\n", + " 'wiki_link': 'https://conversational-featurizer.readthedocs.io/en/latest/features/index.html#features-technical',\n", + " 'function': None>,\n", + " 'dependencies': [],\n", + " 'preprocess': [],\n", + " 'vect_data': False,\n", + " 'bert_sentiment_data': False},\n", + " 'User Level Aggregates': {'columns': [],\n", + " 'file': './utils/summarize_features.py, ./features/get_user_network.py, ./features/user_centroids.py',\n", + " 'level': 'Conversation',\n", + " 'semantic_grouping': 'N/A',\n", + " 'description': 'Aggregation of utterance (chat)-level features at the speaker (user) level',\n", + " 'references': 'N/A',\n", + " 'wiki_link': 'https://conversational-featurizer.readthedocs.io/en/latest/features/index.html#features-technical',\n", + " 'function': None>,\n", + " 'dependencies': [],\n", + " 'preprocess': [],\n", + " 'vect_data': False,\n", + " 'bert_sentiment_data': False},\n", + " 'Discursive Diversity': {'columns': ['discursive_diversity',\n", + " 'variance_in_DD',\n", + " 'incongruent_modulation',\n", + " 'within_person_disc_range'],\n", + " 'file': './features/get_all_DD_features.py, ./features/discursive_diversity.py, ./features/variance_in_DD.py, ./features/within_person_discursive_range.py',\n", + " 'level': 'Conversation',\n", + " 'semantic_grouping': 'Variance',\n", + " 'description': 'Calculates metrics related to the extent to which members in a conversation speak similarly. 1. Discursive diversity: 1 - the average pairwise cosine distances between the centroids associated with each speaker in a conversation. 2. Variance in discursive diversity: the extent to which discursive diversity varies across the beginning, middle, and end of a conversation. 3. Incongruent modulation: the total variance, per speaker, between the (beginning, middle) and (middle, end) of a conversation. As described by the pape, this is the “team-level variance in members’ within-person discursive range” from stage 1 to stage 2, and from stage 2 to stage 3. 4. Within-person discursive range: The sum, across all speakers in the conversation, of each speaker’s average distance between their centroids for the (beginning, middle) and (middle, end) of a conversation.',\n", + " 'references': '(Lix et al., 2022)',\n", + " 'wiki_link': 'https://conversational-featurizer.readthedocs.io/en/latest/features_conceptual/discursive_diversity.html',\n", + " 'function': None>,\n", + " 'dependencies': [],\n", + " 'preprocess': [],\n", + " 'vect_data': True,\n", + " 'bert_sentiment_data': False},\n", + " 'Team Burstiness': {'columns': ['team_burstiness'],\n", + " 'file': './features/burstiness.py',\n", + " 'level': 'Conversation',\n", + " 'semantic_grouping': 'Pace',\n", + " 'description': 'This conversation-level feature measures the level of burstiness of chats in a conversation. The metric takes a value between -1 and 1, with a higher value indicating higher levels of team burstiness. Teams with higher burstiness would have more spiked patterns in team activity, which tends to indicate a higher sense of responsiveness and connectedness within the team members.',\n", + " 'references': '(Reidl and Woolley, 2017)',\n", + " 'wiki_link': 'https://conversational-featurizer.readthedocs.io/en/latest/features_conceptual/team_burstiness.html',\n", + " 'function': None>,\n", + " 'dependencies': [],\n", + " 'preprocess': [],\n", + " 'vect_data': False,\n", + " 'bert_sentiment_data': False},\n", + " 'Information Diversity': {'columns': ['info_diversity'],\n", + " 'file': './features/information_diversity.py',\n", + " 'level': 'Conversation',\n", + " 'semantic_grouping': 'Variance',\n", + " 'description': \"This conversation-level feature uses topic modeling to measure the level of information diversity across a conversation. We first preprocess the data with lowercasing, lemmatization, removing stop words, and removing short words (less than length 3). We then use the gensim package to create an LDA Model for each conversation, generating a corresponding topic space with its number of dimensions = num_topics. To determine the number of topics used, we use a logarithmic scale relative to the number of chats in the conversation. A team's info diversity is then computed by looking at the average cosine dissimilarity between each chat's topic vector and the mean topic vector across the entire conversation. The value ranges between 0 and 1, with higher values indicating a higher level of information diversity/diversity in topics discussed throughout the conversation. As discussed in the paper above, typical info diversity values are quite small, with the paper having a mean score of 0.04 and standard deviation of 0.05.\",\n", + " 'references': '(Reidl and Wooley, 2017)',\n", + " 'wiki_link': 'https://conversational-featurizer.readthedocs.io/en/latest/features_conceptual/information_diversity.html',\n", + " 'function': None>,\n", + " 'dependencies': [],\n", + " 'preprocess': [],\n", + " 'vect_data': False,\n", + " 'bert_sentiment_data': False}}" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "jury_feature_builder.feature_dict" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Starting from v0.1.4, you can use the following properties to access to lists of generated features: \n", + "\n", + "- `feature_names` yields a list of formal feature names; \n", + "- `chat_features` provides feature columns created at the chat (utterance) level;\n", + "- `conv_features_base` for base feature columns at the conversation level; \n", + "- `conv_features_all` encompasses all conversation-level feature columns, including aggregates.\n", + "\n", + "Note that these properties become available only after invoking `.featurize()`. \n", + "\n", + "Using the `feature_names` alongside `feature_dict`, you can learn about a particular feature (here, we show the first element within `feature_names`)." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'columns': ['positive_bert', 'negative_bert', 'neutral_bert'],\n", + " 'file': './utils/check_embeddings.py',\n", + " 'level': 'Chat',\n", + " 'semantic_grouping': 'Emotion',\n", + " 'description': 'The extent to which a statement is positive, negative, or neutral, as assigned by Cardiffnlp/twitter-roberta-base-sentiment-latest. The total scores (Positive, Negative, Neutral) sum to 1.',\n", + " 'references': '(Hugging Face, 2023)',\n", + " 'wiki_link': 'https://conversational-featurizer.readthedocs.io/en/latest/features_conceptual/positivity_bert.html',\n", + " 'function': None>,\n", + " 'dependencies': [],\n", + " 'preprocess': [],\n", + " 'vect_data': False,\n", + " 'bert_sentiment_data': True}" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "jury_feature_builder.feature_dict[jury_feature_builder.feature_names[0]]" ] }, { @@ -520,7 +1127,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 9, "metadata": {}, "outputs": [], "source": [ @@ -529,13 +1136,12 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 10, "metadata": {}, "outputs": [], "source": [ - "# Let's get all the features that the toolkit generated;\n", - "# this would by anything in the utterance_features dataframe that isn't in the original dataframe\n", - "utterance_cols = utterance_features.columns.difference(juries_df.columns)" + "# Let's get all the features that the toolkit generated; we can get this easily using the `chat_features` property\n", + "utterance_cols = jury_feature_builder.chat_features" ] }, { @@ -551,7 +1157,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 11, "metadata": {}, "outputs": [ { @@ -575,292 +1181,292 @@ " \n", " \n", " \n", - " 1st_person\n", - " 1st_person_pl\n", - " 1st_person_start\n", - " 2nd_person\n", - " 2nd_person_start\n", - " Acknowledgement\n", - " Adverb_Limiter\n", - " Affirmation\n", - " Agreement\n", - " Apology\n", + " positive_bert\n", + " negative_bert\n", + " neutral_bert\n", + " num_words\n", + " num_chars\n", + " num_messages\n", + " info_exchange_zscore_chats\n", + " info_exchange_zscore_conversation\n", + " discrepancies_lexical_wordcount\n", + " hear_lexical_wordcount\n", " ...\n", - " subjunctive\n", - " swear_lexical_per_100\n", - " tentativeness_lexical_per_100\n", - " textblob_polarity\n", - " textblob_subjectivity\n", - " third_person_lexical_per_100\n", - " time_diff\n", - " verbs_lexical_per_100\n", - " word_TTR\n", - " work_lexical_per_100\n", + " num_bullet_points\n", + " num_numbered_points\n", + " num_quotes\n", + " num_block_quote_responses\n", + " num_ellipses\n", + " num_parentheses\n", + " num_emoji\n", + " mimicry_bert\n", + " moving_mimicry\n", + " forward_flow\n", " \n", " \n", " \n", " \n", " count\n", - " 97.00000\n", - " 97.000000\n", " 97.000000\n", " 97.000000\n", " 97.000000\n", " 97.000000\n", " 97.000000\n", + " 97.0\n", + " 9.700000e+01\n", + " 9.700000e+01\n", " 97.000000\n", " 97.000000\n", - " 97.0\n", " ...\n", " 97.0\n", + " 97.0\n", " 97.000000\n", + " 97.0\n", " 97.000000\n", " 97.000000\n", - " 97.000000\n", - " 97.000000\n", - " 97.000000\n", + " 97.0\n", " 97.000000\n", " 97.000000\n", " 97.000000\n", " \n", " \n", " mean\n", - " 0.14433\n", - " 0.051546\n", - " 0.474227\n", - " 0.030928\n", - " 0.020619\n", - " 0.041237\n", + " 0.165439\n", + " 0.397220\n", + " 0.437341\n", + " 15.618557\n", + " 79.927835\n", + " 1.0\n", + " -3.548135e-17\n", + " 1.259016e-17\n", + " 0.463918\n", " 0.092784\n", - " 0.072165\n", - " 0.082474\n", - " 0.0\n", " ...\n", " 0.0\n", - " 0.003093\n", - " 0.004021\n", - " 0.101531\n", - " 0.286320\n", - " 0.012577\n", - " 8.235072\n", - " 0.028041\n", - " 0.939302\n", - " 0.003196\n", + " 0.0\n", + " 0.216495\n", + " 0.0\n", + " 0.010309\n", + " 0.020619\n", + " 0.0\n", + " 0.284460\n", + " 0.322866\n", + " 0.569614\n", " \n", " \n", " std\n", - " 0.35325\n", - " 0.222258\n", - " 0.501929\n", - " 0.174022\n", - " 0.142842\n", - " 0.246540\n", - " 0.291636\n", - " 0.260105\n", - " 0.276515\n", + " 0.221845\n", + " 0.322505\n", + " 0.235022\n", + " 11.880870\n", + " 60.299815\n", " 0.0\n", + " 1.005195e+00\n", + " 1.005195e+00\n", + " 0.817285\n", + " 0.291636\n", " ...\n", " 0.0\n", - " 0.004865\n", - " 0.007453\n", - " 0.206847\n", - " 0.294736\n", - " 0.014382\n", - " 7.669224\n", - " 0.025765\n", - " 0.077060\n", - " 0.006543\n", + " 0.0\n", + " 0.461583\n", + " 0.0\n", + " 0.101535\n", + " 0.203069\n", + " 0.0\n", + " 0.222239\n", + " 0.176301\n", + " 0.210373\n", " \n", " \n", " min\n", - " 0.00000\n", - " 0.000000\n", - " 0.000000\n", - " 0.000000\n", - " 0.000000\n", - " 0.000000\n", - " 0.000000\n", + " 0.005377\n", + " 0.004957\n", + " 0.069549\n", + " 1.000000\n", + " 2.000000\n", + " 1.0\n", + " -1.213910e+00\n", + " -1.227733e+00\n", " 0.000000\n", " 0.000000\n", - " 0.0\n", " ...\n", " 0.0\n", + " 0.0\n", " 0.000000\n", - " 0.000000\n", - " -0.500000\n", - " 0.000000\n", + " 0.0\n", " 0.000000\n", " 0.000000\n", + " 0.0\n", + " -0.032279\n", " 0.000000\n", - " 0.666667\n", " 0.000000\n", " \n", " \n", " 25%\n", - " 0.00000\n", - " 0.000000\n", - " 0.000000\n", - " 0.000000\n", - " 0.000000\n", - " 0.000000\n", - " 0.000000\n", + " 0.015250\n", + " 0.078356\n", + " 0.215939\n", + " 6.000000\n", + " 31.000000\n", + " 1.0\n", + " -8.665670e-01\n", + " -8.512558e-01\n", " 0.000000\n", " 0.000000\n", - " 0.0\n", " ...\n", " 0.0\n", + " 0.0\n", " 0.000000\n", + " 0.0\n", " 0.000000\n", " 0.000000\n", - " 0.000000\n", - " 0.000000\n", - " 2.335000\n", - " 0.010000\n", - " 0.884615\n", - " 0.000000\n", + " 0.0\n", + " 0.121469\n", + " 0.222847\n", + " 0.464081\n", " \n", " \n", " 50%\n", - " 0.00000\n", - " 0.000000\n", - " 0.000000\n", - " 0.000000\n", - " 0.000000\n", - " 0.000000\n", - " 0.000000\n", + " 0.047171\n", + " 0.386957\n", + " 0.424016\n", + " 13.000000\n", + " 71.000000\n", + " 1.0\n", + " -1.718811e-01\n", + " -1.924215e-01\n", " 0.000000\n", " 0.000000\n", - " 0.0\n", " ...\n", " 0.0\n", + " 0.0\n", " 0.000000\n", + " 0.0\n", " 0.000000\n", " 0.000000\n", - " 0.300000\n", - " 0.010000\n", - " 6.161000\n", - " 0.020000\n", - " 1.000000\n", - " 0.000000\n", + " 0.0\n", + " 0.259124\n", + " 0.322090\n", + " 0.580285\n", " \n", " \n", " 75%\n", - " 0.00000\n", - " 0.000000\n", + " 0.234495\n", + " 0.699443\n", + " 0.625082\n", + " 24.000000\n", + " 123.000000\n", + " 1.0\n", + " 6.964764e-01\n", + " 6.743418e-01\n", " 1.000000\n", " 0.000000\n", + " ...\n", + " 0.0\n", + " 0.0\n", " 0.000000\n", - " 0.000000\n", - " 0.000000\n", + " 0.0\n", " 0.000000\n", " 0.000000\n", " 0.0\n", - " ...\n", - " 0.0\n", - " 0.010000\n", - " 0.010000\n", - " 0.205556\n", - " 0.466667\n", - " 0.020000\n", - " 12.744000\n", - " 0.050000\n", - " 1.000000\n", - " 0.000000\n", + " 0.376754\n", + " 0.373998\n", + " 0.701095\n", " \n", " \n", " max\n", - " 1.00000\n", - " 1.000000\n", - " 1.000000\n", - " 1.000000\n", - " 1.000000\n", - " 2.000000\n", - " 1.000000\n", - " 1.000000\n", + " 0.845765\n", + " 0.921826\n", + " 0.906651\n", + " 47.000000\n", + " 230.000000\n", + " 1.0\n", + " 2.606863e+00\n", + " 2.725274e+00\n", + " 5.000000\n", " 1.000000\n", - " 0.0\n", " ...\n", " 0.0\n", - " 0.020000\n", - " 0.030000\n", - " 0.800000\n", + " 0.0\n", + " 2.000000\n", + " 0.0\n", " 1.000000\n", - " 0.060000\n", - " 33.945000\n", - " 0.090000\n", + " 2.000000\n", + " 0.0\n", " 1.000000\n", - " 0.030000\n", + " 0.855431\n", + " 1.038298\n", " \n", " \n", "\n", - "

    8 rows × 153 columns

    \n", + "

    8 rows × 151 columns

    \n", "
    " ], "text/plain": [ - " 1st_person 1st_person_pl 1st_person_start 2nd_person \\\n", - "count 97.00000 97.000000 97.000000 97.000000 \n", - "mean 0.14433 0.051546 0.474227 0.030928 \n", - "std 0.35325 0.222258 0.501929 0.174022 \n", - "min 0.00000 0.000000 0.000000 0.000000 \n", - "25% 0.00000 0.000000 0.000000 0.000000 \n", - "50% 0.00000 0.000000 0.000000 0.000000 \n", - "75% 0.00000 0.000000 1.000000 0.000000 \n", - "max 1.00000 1.000000 1.000000 1.000000 \n", + " positive_bert negative_bert neutral_bert num_words num_chars \\\n", + "count 97.000000 97.000000 97.000000 97.000000 97.000000 \n", + "mean 0.165439 0.397220 0.437341 15.618557 79.927835 \n", + "std 0.221845 0.322505 0.235022 11.880870 60.299815 \n", + "min 0.005377 0.004957 0.069549 1.000000 2.000000 \n", + "25% 0.015250 0.078356 0.215939 6.000000 31.000000 \n", + "50% 0.047171 0.386957 0.424016 13.000000 71.000000 \n", + "75% 0.234495 0.699443 0.625082 24.000000 123.000000 \n", + "max 0.845765 0.921826 0.906651 47.000000 230.000000 \n", "\n", - " 2nd_person_start Acknowledgement Adverb_Limiter Affirmation \\\n", - "count 97.000000 97.000000 97.000000 97.000000 \n", - "mean 0.020619 0.041237 0.092784 0.072165 \n", - "std 0.142842 0.246540 0.291636 0.260105 \n", - "min 0.000000 0.000000 0.000000 0.000000 \n", - "25% 0.000000 0.000000 0.000000 0.000000 \n", - "50% 0.000000 0.000000 0.000000 0.000000 \n", - "75% 0.000000 0.000000 0.000000 0.000000 \n", - "max 1.000000 2.000000 1.000000 1.000000 \n", + " num_messages info_exchange_zscore_chats \\\n", + "count 97.0 9.700000e+01 \n", + "mean 1.0 -3.548135e-17 \n", + "std 0.0 1.005195e+00 \n", + "min 1.0 -1.213910e+00 \n", + "25% 1.0 -8.665670e-01 \n", + "50% 1.0 -1.718811e-01 \n", + "75% 1.0 6.964764e-01 \n", + "max 1.0 2.606863e+00 \n", "\n", - " Agreement Apology ... subjunctive swear_lexical_per_100 \\\n", - "count 97.000000 97.0 ... 97.0 97.000000 \n", - "mean 0.082474 0.0 ... 0.0 0.003093 \n", - "std 0.276515 0.0 ... 0.0 0.004865 \n", - "min 0.000000 0.0 ... 0.0 0.000000 \n", - "25% 0.000000 0.0 ... 0.0 0.000000 \n", - "50% 0.000000 0.0 ... 0.0 0.000000 \n", - "75% 0.000000 0.0 ... 0.0 0.010000 \n", - "max 1.000000 0.0 ... 0.0 0.020000 \n", + " info_exchange_zscore_conversation discrepancies_lexical_wordcount \\\n", + "count 9.700000e+01 97.000000 \n", + "mean 1.259016e-17 0.463918 \n", + "std 1.005195e+00 0.817285 \n", + "min -1.227733e+00 0.000000 \n", + "25% -8.512558e-01 0.000000 \n", + "50% -1.924215e-01 0.000000 \n", + "75% 6.743418e-01 1.000000 \n", + "max 2.725274e+00 5.000000 \n", "\n", - " tentativeness_lexical_per_100 textblob_polarity \\\n", - "count 97.000000 97.000000 \n", - "mean 0.004021 0.101531 \n", - "std 0.007453 0.206847 \n", - "min 0.000000 -0.500000 \n", - "25% 0.000000 0.000000 \n", - "50% 0.000000 0.000000 \n", - "75% 0.010000 0.205556 \n", - "max 0.030000 0.800000 \n", + " hear_lexical_wordcount ... num_bullet_points num_numbered_points \\\n", + "count 97.000000 ... 97.0 97.0 \n", + "mean 0.092784 ... 0.0 0.0 \n", + "std 0.291636 ... 0.0 0.0 \n", + "min 0.000000 ... 0.0 0.0 \n", + "25% 0.000000 ... 0.0 0.0 \n", + "50% 0.000000 ... 0.0 0.0 \n", + "75% 0.000000 ... 0.0 0.0 \n", + "max 1.000000 ... 0.0 0.0 \n", "\n", - " textblob_subjectivity third_person_lexical_per_100 time_diff \\\n", - "count 97.000000 97.000000 97.000000 \n", - "mean 0.286320 0.012577 8.235072 \n", - "std 0.294736 0.014382 7.669224 \n", - "min 0.000000 0.000000 0.000000 \n", - "25% 0.000000 0.000000 2.335000 \n", - "50% 0.300000 0.010000 6.161000 \n", - "75% 0.466667 0.020000 12.744000 \n", - "max 1.000000 0.060000 33.945000 \n", + " num_quotes num_block_quote_responses num_ellipses num_parentheses \\\n", + "count 97.000000 97.0 97.000000 97.000000 \n", + "mean 0.216495 0.0 0.010309 0.020619 \n", + "std 0.461583 0.0 0.101535 0.203069 \n", + "min 0.000000 0.0 0.000000 0.000000 \n", + "25% 0.000000 0.0 0.000000 0.000000 \n", + "50% 0.000000 0.0 0.000000 0.000000 \n", + "75% 0.000000 0.0 0.000000 0.000000 \n", + "max 2.000000 0.0 1.000000 2.000000 \n", "\n", - " verbs_lexical_per_100 word_TTR work_lexical_per_100 \n", - "count 97.000000 97.000000 97.000000 \n", - "mean 0.028041 0.939302 0.003196 \n", - "std 0.025765 0.077060 0.006543 \n", - "min 0.000000 0.666667 0.000000 \n", - "25% 0.010000 0.884615 0.000000 \n", - "50% 0.020000 1.000000 0.000000 \n", - "75% 0.050000 1.000000 0.000000 \n", - "max 0.090000 1.000000 0.030000 \n", + " num_emoji mimicry_bert moving_mimicry forward_flow \n", + "count 97.0 97.000000 97.000000 97.000000 \n", + "mean 0.0 0.284460 0.322866 0.569614 \n", + "std 0.0 0.222239 0.176301 0.210373 \n", + "min 0.0 -0.032279 0.000000 0.000000 \n", + "25% 0.0 0.121469 0.222847 0.464081 \n", + "50% 0.0 0.259124 0.322090 0.580285 \n", + "75% 0.0 0.376754 0.373998 0.701095 \n", + "max 0.0 1.000000 0.855431 1.038298 \n", "\n", - "[8 rows x 153 columns]" + "[8 rows x 151 columns]" ] }, - "execution_count": 9, + "execution_count": 11, "metadata": {}, "output_type": "execute_result" } @@ -879,7 +1485,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 12, "metadata": {}, "outputs": [ { @@ -903,22 +1509,21 @@ " \n", " \n", " \n", - " First_Person_Single\n", - " Impersonal_Pronoun\n", - " Negation\n", - " Positive_Emotion\n", - " Token_count\n", - " certainty_rocklage\n", - " dale_chall_score\n", - " function_word_accommodation\n", - " info_exchange_zscore_chats\n", - " info_exchange_zscore_conversation\n", - " num_all_caps\n", - " num_chars\n", " num_words\n", - " positivity_zscore_chats\n", - " positivity_zscore_conversation\n", + " num_chars\n", + " third_person_lexical_wordcount\n", + " present_tense_lexical_wordcount\n", + " relative_lexical_wordcount\n", + " social_lexical_wordcount\n", + " verbs_lexical_wordcount\n", + " auxiliary_verbs_lexical_wordcount\n", + " cognitive_mech_lexical_wordcount\n", + " preposition_lexical_wordcount\n", + " nltk_english_stopwords_lexical_wordcount\n", + " function_word_accommodation\n", + " dale_chall_score\n", " time_diff\n", + " Token_count_receptiveness_yeomans\n", " \n", " \n", " \n", @@ -932,205 +1537,217 @@ " 97.000000\n", " 97.000000\n", " 97.000000\n", - " 9.700000e+01\n", - " 9.700000e+01\n", " 97.000000\n", " 97.000000\n", " 97.000000\n", - " 9.700000e+01\n", - " 9.700000e+01\n", + " 97.000000\n", + " 97.000000\n", + " 97.000000\n", " 97.000000\n", " \n", " \n", " mean\n", - " 0.680412\n", - " 0.597938\n", - " 0.484536\n", - " 0.412371\n", - " 17.958763\n", - " 5.046811\n", - " 1.491515\n", - " 1.494845\n", - " -3.548135e-17\n", - " 1.259016e-17\n", - " 0.432990\n", - " 79.927835\n", " 15.618557\n", - " 1.236125e-16\n", - " -4.234871e-17\n", + " 79.927835\n", + " 1.257732\n", + " 2.030928\n", + " 1.309278\n", + " 2.845361\n", + " 2.804124\n", + " 1.824742\n", + " 3.195876\n", + " 1.711340\n", + " 8.402062\n", + " 1.494845\n", + " 1.491515\n", " 8.235072\n", + " 17.958763\n", " \n", " \n", " std\n", - " 0.771179\n", - " 0.873925\n", - " 0.693923\n", - " 0.703452\n", - " 13.539231\n", - " 0.895923\n", - " 2.122356\n", - " 2.062178\n", - " 1.005195e+00\n", - " 1.005195e+00\n", - " 0.762496\n", - " 60.299815\n", " 11.880870\n", - " 1.005195e+00\n", - " 1.005195e+00\n", + " 60.299815\n", + " 1.438158\n", + " 1.965609\n", + " 1.660577\n", + " 2.534513\n", + " 2.576493\n", + " 1.973841\n", + " 3.154491\n", + " 1.870599\n", + " 7.404475\n", + " 2.062178\n", + " 2.122356\n", " 7.669224\n", + " 13.539231\n", " \n", " \n", " min\n", + " 1.000000\n", + " 2.000000\n", " 0.000000\n", " 0.000000\n", " 0.000000\n", " 0.000000\n", - " 1.000000\n", - " 3.790000\n", - " 0.049600\n", " 0.000000\n", - " -1.213910e+00\n", - " -1.227733e+00\n", " 0.000000\n", - " 2.000000\n", - " 1.000000\n", - " -7.415163e-01\n", - " -8.082884e-01\n", " 0.000000\n", + " 0.000000\n", + " 0.000000\n", + " 0.000000\n", + " 0.049600\n", + " 0.000000\n", + " 1.000000\n", " \n", " \n", " 25%\n", + " 6.000000\n", + " 31.000000\n", " 0.000000\n", " 0.000000\n", " 0.000000\n", + " 1.000000\n", + " 1.000000\n", " 0.000000\n", - " 7.000000\n", - " 4.500000\n", - " 0.297600\n", + " 1.000000\n", " 0.000000\n", - " -8.665670e-01\n", - " -8.512558e-01\n", + " 3.000000\n", " 0.000000\n", - " 31.000000\n", - " 6.000000\n", - " -6.819685e-01\n", - " -6.588184e-01\n", + " 0.297600\n", " 2.335000\n", + " 7.000000\n", " \n", " \n", " 50%\n", - " 1.000000\n", - " 0.000000\n", - " 0.000000\n", - " 0.000000\n", - " 15.000000\n", - " 4.500000\n", - " 0.744000\n", - " 1.000000\n", - " -1.718811e-01\n", - " -1.924215e-01\n", - " 0.000000\n", - " 71.000000\n", " 13.000000\n", - " -5.370572e-01\n", - " -5.058003e-01\n", - " 6.161000\n", - " \n", - " \n", - " 75%\n", - " 1.000000\n", + " 71.000000\n", " 1.000000\n", + " 2.000000\n", " 1.000000\n", + " 2.000000\n", + " 2.000000\n", " 1.000000\n", - " 27.000000\n", - " 5.600000\n", - " 1.736000\n", " 2.000000\n", - " 6.964764e-01\n", - " 6.743418e-01\n", " 1.000000\n", - " 123.000000\n", - " 24.000000\n", - " 1.599637e-01\n", - " 1.701716e-01\n", - " 12.744000\n", + " 7.000000\n", + " 1.000000\n", + " 0.744000\n", + " 6.161000\n", + " 15.000000\n", " \n", " \n", - " max\n", + " 75%\n", + " 24.000000\n", + " 123.000000\n", + " 2.000000\n", " 3.000000\n", - " 4.000000\n", " 2.000000\n", - " 4.000000\n", - " 52.000000\n", - " 8.280000\n", - " 14.311967\n", - " 10.000000\n", - " 2.606863e+00\n", - " 2.725274e+00\n", + " 5.000000\n", + " 5.000000\n", " 3.000000\n", - " 230.000000\n", + " 5.000000\n", + " 3.000000\n", + " 13.000000\n", + " 2.000000\n", + " 1.736000\n", + " 12.744000\n", + " 27.000000\n", + " \n", + " \n", + " max\n", " 47.000000\n", - " 3.493734e+00\n", - " 3.834273e+00\n", + " 230.000000\n", + " 6.000000\n", + " 7.000000\n", + " 8.000000\n", + " 11.000000\n", + " 9.000000\n", + " 8.000000\n", + " 14.000000\n", + " 8.000000\n", + " 30.000000\n", + " 10.000000\n", + " 14.311967\n", " 33.945000\n", + " 52.000000\n", " \n", " \n", "\n", "" ], "text/plain": [ - " First_Person_Single Impersonal_Pronoun Negation Positive_Emotion \\\n", - "count 97.000000 97.000000 97.000000 97.000000 \n", - "mean 0.680412 0.597938 0.484536 0.412371 \n", - "std 0.771179 0.873925 0.693923 0.703452 \n", - "min 0.000000 0.000000 0.000000 0.000000 \n", - "25% 0.000000 0.000000 0.000000 0.000000 \n", - "50% 1.000000 0.000000 0.000000 0.000000 \n", - "75% 1.000000 1.000000 1.000000 1.000000 \n", - "max 3.000000 4.000000 2.000000 4.000000 \n", + " num_words num_chars third_person_lexical_wordcount \\\n", + "count 97.000000 97.000000 97.000000 \n", + "mean 15.618557 79.927835 1.257732 \n", + "std 11.880870 60.299815 1.438158 \n", + "min 1.000000 2.000000 0.000000 \n", + "25% 6.000000 31.000000 0.000000 \n", + "50% 13.000000 71.000000 1.000000 \n", + "75% 24.000000 123.000000 2.000000 \n", + "max 47.000000 230.000000 6.000000 \n", + "\n", + " present_tense_lexical_wordcount relative_lexical_wordcount \\\n", + "count 97.000000 97.000000 \n", + "mean 2.030928 1.309278 \n", + "std 1.965609 1.660577 \n", + "min 0.000000 0.000000 \n", + "25% 0.000000 0.000000 \n", + "50% 2.000000 1.000000 \n", + "75% 3.000000 2.000000 \n", + "max 7.000000 8.000000 \n", "\n", - " Token_count certainty_rocklage dale_chall_score \\\n", - "count 97.000000 97.000000 97.000000 \n", - "mean 17.958763 5.046811 1.491515 \n", - "std 13.539231 0.895923 2.122356 \n", - "min 1.000000 3.790000 0.049600 \n", - "25% 7.000000 4.500000 0.297600 \n", - "50% 15.000000 4.500000 0.744000 \n", - "75% 27.000000 5.600000 1.736000 \n", - "max 52.000000 8.280000 14.311967 \n", + " social_lexical_wordcount verbs_lexical_wordcount \\\n", + "count 97.000000 97.000000 \n", + "mean 2.845361 2.804124 \n", + "std 2.534513 2.576493 \n", + "min 0.000000 0.000000 \n", + "25% 1.000000 1.000000 \n", + "50% 2.000000 2.000000 \n", + "75% 5.000000 5.000000 \n", + "max 11.000000 9.000000 \n", "\n", - " function_word_accommodation info_exchange_zscore_chats \\\n", - "count 97.000000 9.700000e+01 \n", - "mean 1.494845 -3.548135e-17 \n", - "std 2.062178 1.005195e+00 \n", - "min 0.000000 -1.213910e+00 \n", - "25% 0.000000 -8.665670e-01 \n", - "50% 1.000000 -1.718811e-01 \n", - "75% 2.000000 6.964764e-01 \n", - "max 10.000000 2.606863e+00 \n", + " auxiliary_verbs_lexical_wordcount cognitive_mech_lexical_wordcount \\\n", + "count 97.000000 97.000000 \n", + "mean 1.824742 3.195876 \n", + "std 1.973841 3.154491 \n", + "min 0.000000 0.000000 \n", + "25% 0.000000 1.000000 \n", + "50% 1.000000 2.000000 \n", + "75% 3.000000 5.000000 \n", + "max 8.000000 14.000000 \n", "\n", - " info_exchange_zscore_conversation num_all_caps num_chars num_words \\\n", - "count 9.700000e+01 97.000000 97.000000 97.000000 \n", - "mean 1.259016e-17 0.432990 79.927835 15.618557 \n", - "std 1.005195e+00 0.762496 60.299815 11.880870 \n", - "min -1.227733e+00 0.000000 2.000000 1.000000 \n", - "25% -8.512558e-01 0.000000 31.000000 6.000000 \n", - "50% -1.924215e-01 0.000000 71.000000 13.000000 \n", - "75% 6.743418e-01 1.000000 123.000000 24.000000 \n", - "max 2.725274e+00 3.000000 230.000000 47.000000 \n", + " preposition_lexical_wordcount \\\n", + "count 97.000000 \n", + "mean 1.711340 \n", + "std 1.870599 \n", + "min 0.000000 \n", + "25% 0.000000 \n", + "50% 1.000000 \n", + "75% 3.000000 \n", + "max 8.000000 \n", "\n", - " positivity_zscore_chats positivity_zscore_conversation time_diff \n", - "count 9.700000e+01 9.700000e+01 97.000000 \n", - "mean 1.236125e-16 -4.234871e-17 8.235072 \n", - "std 1.005195e+00 1.005195e+00 7.669224 \n", - "min -7.415163e-01 -8.082884e-01 0.000000 \n", - "25% -6.819685e-01 -6.588184e-01 2.335000 \n", - "50% -5.370572e-01 -5.058003e-01 6.161000 \n", - "75% 1.599637e-01 1.701716e-01 12.744000 \n", - "max 3.493734e+00 3.834273e+00 33.945000 " + " nltk_english_stopwords_lexical_wordcount function_word_accommodation \\\n", + "count 97.000000 97.000000 \n", + "mean 8.402062 1.494845 \n", + "std 7.404475 2.062178 \n", + "min 0.000000 0.000000 \n", + "25% 3.000000 0.000000 \n", + "50% 7.000000 1.000000 \n", + "75% 13.000000 2.000000 \n", + "max 30.000000 10.000000 \n", + "\n", + " dale_chall_score time_diff Token_count_receptiveness_yeomans \n", + "count 97.000000 97.000000 97.000000 \n", + "mean 1.491515 8.235072 17.958763 \n", + "std 2.122356 7.669224 13.539231 \n", + "min 0.049600 0.000000 1.000000 \n", + "25% 0.297600 2.335000 7.000000 \n", + "50% 0.744000 6.161000 15.000000 \n", + "75% 1.736000 12.744000 27.000000 \n", + "max 14.311967 33.945000 52.000000 " ] }, - "execution_count": 10, + "execution_count": 12, "metadata": {}, "output_type": "execute_result" } @@ -1163,7 +1780,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 13, "metadata": {}, "outputs": [], "source": [ @@ -1198,12 +1815,12 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 14, "metadata": {}, "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0EAAAIjCAYAAADFthA8AAAAP3RFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMS5wb3N0MSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8kixA/AAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzdd3xT9fc/8Fd20t1CgRZKy16yBUVkLymCKMgQZQl+/Qk4AHGzFMWBDMGBC2UIKiAKKCCiIuBHEKgsESpL9upu9vv3R3JvkmbejOYmOc/HgwdtcpO8k9wm99xz3uctYYwxEEIIIYQQQkiMkIZ7AIQQQgghhBBSmSgIIoQQQgghhMQUCoIIIYQQQgghMYWCIEIIIYQQQkhMoSCIEEIIIYQQElMoCCKEEEIIIYTEFAqCCCGEEEIIITGFgiBCCCGEEEJITKEgiBBCCCGEEBJTKAgixAcSiQQzZ870aducnByMHj06pOOJFKdPn4ZEIsGyZcvCPZSgM5vNuOWWWzBnzpxwD0UUDAYDsrKy8O6774Z7KJVm2bJlkEgk2LdvX7iHQgAYjUZMmzYNWVlZkEqlGDhwYLiHRHxE35skHCgIIhGHO/Dg/qnVajRs2BATJ07E5cuXK2UMu3fvxsyZM1FQUFApj+cLvV6PhQsXonXr1khKSkJKSgqaNWuGRx55BH///XdIH3vVqlVYsGBBSB8jlDZv3uxzkMv54osvcO7cOUycOJG/zH6/dPfPl8c5dOgQBg8ejOzsbKjVatSsWRO9evXCO++8I/CZVR6FQoHJkydjzpw50Gq14R5OUL377ruiCOQvX76MqVOnonHjxoiLi0N8fDzatm2LV155RVSfReHyySef4M0338TgwYPx2Wef4amnngrp4+Xn5+P//u//ULduXajVaiQlJaFjx45YuHAhysvLQ/rYkUiM35sktkkYYyzcgyBEiGXLlmHMmDGYPXs26tSpA61Wi99++w3Lly9HdnY2Dh8+jLi4uKA+plarhVwuh1wuBwC89dZbePrpp3Hq1Cnk5OQ4bKvT6SCVSqFQKII6Bm/69++P77//HsOHD0eHDh1gMBjw999/Y+PGjXj55ZdDepbt7rvvxuHDh3H69GmHyxlj0Ol0UCgUkMlkIXv8QE2cOBFLliyBkI/DVq1a4bbbbsMHH3zAX7ZixQq328+cORP5+fnYvHkz+vbt63a73bt3o1u3bqhduzZGjRqFGjVq4Ny5c/j999+Rn5+PkydP+jzGylZQUIDq1avjvffew9ixY8M9nKC55ZZbULVqVfz8888Ol3OfRXv37sWtt94a0jHs3bsXubm5KCkpwYMPPoi2bdsCAPbt24fVq1fjjjvuwNatW0M6BrEbNmwYfvvtN/z3338hf6xNmzbh/vvvh0qlwsiRI3HLLbdAr9fjt99+w9q1azF69GgsXbo05OOIJGL83iSxTR7uARDir759+/IHHuPGjUOVKlXw9ttvY8OGDRg+fHhQH0utVvu8rUqlCupj+2Lv3r3YuHEj5syZg+eff97husWLF4ftzBuXqYs2Bw4cQF5eHubNm+dw+YMPPuhy+48++gj5+fmYNGmSxwAIAObMmYPk5GTs3bsXKSkpDtdduXIloHELVVZWJuiEQkpKCnr37o1ly5ZFVBBkNpuh1+tFu68WFBTg3nvvhUwmw4EDB9C4cWOH6+fMmYMPP/ywUsek1WqhVCohlYqnoOTKlStOfzOhcOrUKQwbNgzZ2dn46aefkJGRwV83YcIEnDx5Eps2bQr5OEKpst/fcHxvEgJGSIT59NNPGQC2d+9eh8s3btzIALA5c+YwxhgzGAxs9uzZrG7dukypVLLs7Gz23HPPMa1W63C7vXv3st69e7MqVaowtVrNcnJy2JgxYxy2AcBmzJjBGGNsxowZDIDTv1OnTjHGGMvOzmajRo3i7xsAW7ZsmdPz+OGHHxgA9t133/GX/ffff2zMmDGsWrVqTKlUsqZNm7KPP/7Y62vyxRdfMADs559/9rqtr4+zY8cOBoCtWbOGvfLKK6xmzZpMpVKx7t27sxMnTvDbdenSxem1yM7OZowxdurUKQaAffrpp/z2o0aNYvHx8ezMmTOsX79+LD4+nmVmZrLFixczxhj766+/WLdu3VhcXByrXbs2W7lypdP4b968yZ544glWq1YtplQqWb169djcuXOZyWTit+Ee+80332QffPABvx/ceuut7I8//nAYj6v305Pp06czpVLJ9Hq919f68OHDTKPRsNatWzvte640atSIde3a1et2nOXLl7N27doxjUbDUlJSWKdOndiWLVsctlmyZAlr2rQpUyqVLCMjgz322GPs5s2bDtt06dKFNWvWjO3bt4916tSJaTQa9sQTTzDGGNNqtWz69Oms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", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA1kAAAIjCAYAAADxz9EgAAAAP3RFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMS5wb3N0MSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8kixA/AAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzdd3xT5fcH8E920l1KoQVKB7PsshRQUDZFFEWWKEPBLz8BByiKg6UIDmQIDlwIgqCAoFAERIYMFWTIFmqhgJTVRVfm8/sjuTdJs1czet6vFy9ocpM8TS735txznvMIGGMMhBBCCCGEEEK8QujvARBCCCGEEEJIKKEgixBCCCGEEEK8iIIsQgghhBBCCPEiCrIIIYQQQgghxIsoyCKEEEIIIYQQL6IgixBCCCGEEEK8iIIsQgghhBBCCPEiCrIIIYQQQgghxIsoyCKEEEIIIYQQL6Igi5AAIRAIMHPmTKe2TUlJwejRo306nmBx8eJFCAQCLF++3N9D8TqdTocWLVpgzpw5/h5KQFCr1UhKSsJHH33k76FUmeXLl0MgEODw4cP+HgoBoNFoMHXqVCQlJUEoFGLgwIH+HhJxEp03SVWjIIsQK7gvNtwfuVyOxo0bY+LEibh+/XqVjOHAgQOYOXMmCgsLq+T1nKFSqbBo0SJkZGQgKioKMTExaN68OZ5++mmcPXvWp6+9evVqLFy40Kev4UtZWVlOB9Gcb7/9FpcvX8bEiRP520z3S1t/nHmdEydO4NFHH0VycjLkcjnq1q2LXr164cMPP3TxN6s6EokEkydPxpw5c1BRUeHv4XjVRx99FBAXCq5fv44XX3wRTZs2RVhYGMLDw9GuXTu89dZbAXUs8pcvv/wS7733Hh599FF8/fXXeOGFF3z6etnZ2fjf//6HtLQ0yOVyREVFoUuXLli0aBHKy8t9+trBKBDPm6T6EjDGmL8HQUigWb58OcaMGYPZs2cjNTUVFRUV2LdvH1auXInk5GScPHkSYWFhXn3NiooKiMViiMViAMD777+Pl156CTk5OUhJSTHbVqlUQigUQiKReHUMjgwYMABbt27F8OHD0alTJ6jVapw9exabN2/Gm2++6dOrhA888ABOnjyJixcvmt3OGINSqYREIoFIJPLZ63tq4sSJWLp0KVw55LZp0wZ33XUXPv30U/62b775xub2M2fORHZ2NrKystCvXz+b2x04cAD3338/6tevj1GjRiEhIQGXL1/G77//juzsbFy4cMHpMVa1wsJC1K5dGx9//DGefPJJfw/Ha1q0aIGaNWti9+7dZrdzx6JDhw6hffv2Ph3DoUOHkJmZiZKSEjz++ONo164dAODw4cNYs2YNOnfujO3bt/t0DIFu2LBh2LdvH65cueLz19qyZQsGDx4MmUyGkSNHokWLFlCpVNi3bx/Wr1+P0aNHY9myZT4fRzAJxPMmqb7E/h4AIYGsX79+/BebsWPHIi4uDh988AE2bdqE4cOHe/W15HK509vKZDKvvrYzDh06hM2bN2POnDl49dVXze5bsmSJ364ccpnGUHP06FEcP34c8+fPN7v98ccft7r9559/juzsbEyaNMlugAUAc+bMQXR0NA4dOoSYmBiz+27cuOHRuF1VVlbm0gWLmJgY9O7dG8uXLw+qIEun00GlUgXsvlpYWIiHH34YIpEIR48eRdOmTc3unzNnDj777LMqHVNFRQWkUimEwsApurlx44bF/xlfyMnJwbBhw5CcnIxff/0ViYmJ/H0TJkzAhQsXsGXLFp+Pw5eq+vP1x3mTVHOMEGLhq6++YgDYoUOHzG7fvHkzA8DmzJnDGGNMrVaz2bNns7S0NCaVSllycjKbNm0aq6ioMHvcoUOHWO/evVlcXByTy+UsJSWFjRkzxmwbAGzGjBmMMcZmzJjBAFj8ycnJYYwxlpyczEaNGsU/NwC2fPlyi9/j559/ZgDYTz/9xN925coVNmbMGFarVi0mlUpZs2bN2BdffOHwPfn2228ZALZ7926H2zr7Ort27WIA2Nq1a9lbb73F6taty2QyGevevTs7f/48v123bt0s3ovk5GTGGGM5OTkMAPvqq6/47UeNGsXCw8PZpUuXWP/+/Vl4eDirU6cOW7JkCWOMsb///pvdf//9LCwsjNWvX5+tWrXKYvwFBQXsueeeY/Xq1WNSqZQ1aNCAzZs3j2m1Wn4b7rXfe+899umnn/L7Qfv27dmff/5pNh5rn6c906dPZ1KplKlUKofv9cmTJ5lCoWAZGRkW+541TZo0Yffdd5/D7TgrV65kHTp0YAqFgsXExLB7772Xbdu2zWybpUuXsmbNmjGpVMoSExPZM888wwoKCsy26datG2vevDk7fPgwu/fee5lCoWDPPfccY4yxiooKNn36dNagQQMmlUpZvXr12EsvvWT191m0aBETCATs9u3bDsd+/fp19uSTT7JatWoxmUzGWrVqZfZ/RaVSsdjYWDZ69GiLxxYVFTGZTMamTJnC3+bsOAGwCRMmsG+++YY1a9aMicVi9sMPP1gdY3JyssW+0a1bN8aY8Vi0b98+9sILL7CaNWuysLAwNnDgQHbjxg2L58rKymL33HMPCwsLYxERESwzM5OdPHnS4fs0b948BsDq/wVbnPnMTY9Vprp168b/jowZjwXffvste+2111idOnWYQCBgBQUFTKVSsZkzZ7KGDRsymUzGatSowbp06cK2b99u9pxnzpxhgwYNYrGxsUwmk7F27dqxTZs2OfW7lJSUsMmTJ/P/3xs3bszee+89ptPpGGPG/+uV/+zatcvmc27cuJFlZmayxMREJpVKWVpaGps9ezbTaDQOxzN+/HgGgO3fv9+p8Tt7LkpOTmb9+/dnv/32G+vQoQOTyWQsNTWVff311/w2vjinePr5Hj9+nI0aNYqlpqYymUzGateuzcaMGcNu3brFb+PKeZOTnZ3NHn30URYbG8sUCgW766672ObNm62O3dF5ipDKKMgixApbQdaiRYsYAPbJJ58wxoxfnh999FG2dOlSNnLkSAaADRw4kH/M9evXWWxsLH/S/uyzz9hrr73G0tPTzZ7bNMg6fvw4Gz58OAPAFixYwFauXMlWrlzJSkpKGGOWJ4u0tDSWmZlp8XuMGTOGxcbG8l/U8/LyWL169VhSUhKbPXs2+/jjj9mDDz7Iv449Bw4cYADYuHHjmFqttruts6/DnbwyMjJYu3bt2IIFC9jMmTNZWFgY69ixI7/d9u3bWZs2bVjNmjX594L7wmoryJLL5axZs2Zs/PjxbOnSpaxz5878dnXq1GEvvfQS+/DDD1nz5s2ZSCRi//77L//40tJS1qpVKxYXF8deffVV9sknn7CRI0cygUDABwWmr52RkcEaNmzI3nnnHfbuu++ymjVrsnr16vHv+4EDB1ivXr0YAH78K1eutPse9uzZk7Vt29buNtxYmzVrxiIiIti5c+ccbs8YY71792aRkZHsxIkTDredOXMmA8A6d+7M3nvvPbZo0SL22GOPsZdffpnfhvty07NnT/bhhx+yiRMnMpFIxDp06GAWJHbr1o0lJCSw+Ph4NmnSJPbpp5+yjRs3Mq1Wy3r37s3CwsLY888/zz799FM2ceJEJhaL2UMPPWQxpn379ll80bOmrKyMpaenM4lEwl544QW2ePFidu+99zIAbOHChfx2Tz75JIuJiWFKpdLs8V9//bXZccCVcQJg6enpLD4+ns2aNYstXbqUHT161Oo4f/jhB1avXj3WtGlTft/gvmByx6KMjAzWvXt39uGHH7IpU6YwkUjEhgwZYvY8K1asYAKBgPXt25d9+OGH7J133mEpKSksJiaG/6JpS+fOnZlCobB4D2xx9jN3Nchq1qwZa9OmDfvggw/Y3LlzWWlpKXv11VeZQCBg48aNY5999hmbP38+Gz58OJs3bx7/+JMnT7Lo6GjWrFkz9s4777AlS5awrl27MoFAwDZs2GD3d9HpdKx79+5MIBCwsWPHsiVLlrABAwYwAOz5559njOmDsJUrV7KmTZuyevXq8Z9TXl6ezecdOHAgGzJkCHvvvffYxx9/zAYPHswAsBdffNHh+1u3bl2WlpbmcDuOM+cixvSfR5MmTVjt2rXZq6++ypYsWcLatm3LBAKBWTDu7XOKp5/v+++/z+699142e/ZstmzZMvbcc88xhULBOnbsyAfCrp438/LyWO3atVlkZCR77bXX2AcffMBat27NhEKh2T7j7HmKkMooyCLECu6LzS+//MJu3rzJLl++zNasWcPi4uKYQqFgV65cYceOHWMA2NixY80e++KLLzIA7Ndff2WM6b9AWQvYKjMNshhj7L333jO7Cmeq8sli2rRpTCKRsPz8fP42pVLJYmJi2JNPPsnf9tRTT7HExESzq3+MMTZs2DAWHR3NysrKbI5Pp9PxGaXatWuz4cOHs6VLl7JLly5ZbOvs63Anr/T0dLMvd1wwaxoE9O/fn89embIVZAFgb7/9Nn9bQUEBUygUTCAQsDVr1vC3nz171uK9f/PNN1l4eDj7559/zF7rlVdeYSKRiOXm5pq9dlxcnNl7v2nTJosgYMKECQ6zV6bq1avHBg0a5HC7J598kgEwuxLtyPbt25lIJGIikYh16tSJTZ06lW3bts0ia3b+/HkmFArZww8/bJbBY4zxX2xu3LjBpFIp6927t9k2S5YsYQDYl19+yd/G7T/cRQrOypUrmVAoZL/99pvZ7Z988onVq/n//fcfA8Deeecdu7/nwoULGQD2zTff8LepVCrWqVMnFhERwYqLixljjG3bts1q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", "text/plain": [ "
    " ] @@ -1225,7 +1842,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 15, "metadata": {}, "outputs": [ { @@ -1252,7 +1869,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 16, "metadata": {}, "outputs": [ { @@ -1281,7 +1898,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 17, "metadata": {}, "outputs": [ { @@ -1321,12 +1938,12 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 18, "metadata": {}, "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAA90AAAJOCAYAAACqS2TfAAAAP3RFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMS5wb3N0MSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8kixA/AAAACXBIWXMAAA9hAAAPYQGoP6dpAADKMElEQVR4nOzdd3hU1dYG8PfMTKa39N7oRSnChYuoKKKIXeSKXlTgKqjY0XsV/QQ7drGjqICKiKCChSpFupTQO4H03nsmmdnfH2NGhvRkJpNk3t/zzBNyzj7nrKlkzd57bUkIIUBERERERERELifzdABEREREREREnRWTbiIiIiIiIiI3YdJNRERERERE5CZMuomIiIiIiIjchEk3ERERERERkZsw6SYiIiIiIiJyEybdRERERERERG7CpJuIiIiIiIjITZh0ExEREREREbkJk24iquX555+HJEltcq3LL78cl19+ueP3TZs2QZIkLFu2rE2uP2nSJMTExLTJtdzp1KlTuPrqq2EymSBJEpYvX+7pkBzOf44b0tLnIyEhAZIkYcGCBc0+llovMzMT48aNg7+/PyRJwpw5czwdErlRZ/nc7Mya87lLRO7HpJuok1uwYAEkSXLc1Go1wsLCMHr0aLz//vsoLi52yXXS0tLw/PPPY//+/S45nyu159hcZeLEiTh06BBeeeUVfP311xg8eHCd7WqS05qbXC5HVFQUbrnlljZ7fNrq+Vi5ciWef/55l56z5gupxm6NsVgseO+99zBw4EAYjUaYzWb07dsXU6dOxfHjx10ac1t4/PHHsWbNGsyYMQNff/01rrnmGrddq+Y1/NZbb9W5/6233oIkSUhISHBs+/jjj+v8Qubo0aN4/vnnndqS52RmZuLJJ59Er169oNVqodPpMGjQILz88ssoKCjwdHjtDl+/RB2HwtMBEFHbePHFFxEbG4uqqipkZGRg06ZNeOyxx/DOO+/g559/Rr9+/Rxt/+///g9PP/10s86flpaGF154ATExMRgwYECTj1u7dm2zrtMSDcU2b9482Gw2t8fgTuXl5dixYweeffZZPPTQQ0065o477sC1114Lq9WKY8eO4ZNPPsGqVauwc+fOZj1/TXH+c+yO5yM6Ohrl5eXw8fFxbFu5ciU++ugjlybeY8eORbdu3ercd/DgQbz55psYOnRoo+e59dZbsWrVKtxxxx2YMmUKqqqqcPz4cfz666+4+OKL0atXL5fF3BY2bNiAm266CU8++aSnQ6nTxx9/jICAAEyaNMlp+9GjR/HCCy/g8ssvZ89tM7jjc3P37t249tprUVJSgjvvvBODBg0CAOzZswevvfYaNm/e3Cb/X3QkDb1++VgRtS9Muom8xJgxY5x6P2fMmIENGzbg+uuvx4033ohjx45Bo9EAABQKBRQK9348lJWVQavVQqlUuvU6jTk3SeuosrOzAQBms7nJx1x00UW48847Hb8PHz4cN954Iz755BN8+umnLo2vOc9xS5+PmlEc7tavXz+nL6hqlJaW4uWXX4bJZMLixYsbPMfu3bvx66+/4pVXXsEzzzzjtO/DDz9s0x69iooKKJVKyGStG/iWlZXVrNdfY1wVl6eUlpZCp9N5Ogy3cfXnZkFBAW655RbI5XLs27ev1pdOr7zyCubNm+fSa7a16upq2Gy2Nvs/z9P/txLReQQRdWrz588XAMTu3bvr3P/qq68KAOKzzz5zbJs1a5Y4/+Nh7dq1Yvjw4cJkMgmdTid69OghZsyYIYQQYuPGjQJArdv8+fOFEEKMGDFC9O3bV+zZs0dceumlQqPRiEcffdSxb8SIEY7r1Jzru+++EzNmzBDBwcFCq9WKG264QSQlJTnFFB0dLSZOnFjrPp17zsZimzhxooiOjnY6vqSkREyfPl1EREQIpVIpevToId58801hs9mc2gEQDz74oPjpp59E3759hVKpFH369BGrVq1yaldUVCQeffRRER0dLZRKpQgMDBSjRo0Se/furfM5OVdcXJy45pprhMFgEDqdTowcOVLs2LHDsb/muTr3dv79OdfZs2cFAPHmm2/Wus8AxFVXXeXY9v3334uLLrpIqNVq4e/vLyZMmCBSUlKcjktPTxeTJk0S4eHhQqlUipCQEHHjjTeKs2fPOtq09PmwWCzC19dXTJo0qdb9KCwsFCqVSjzxxBNO9+vc89R1HZvNJqKjo8WNN95Y65zl5eXCaDSKqVOn1vv41efuu+8WAMSSJUsabbt48WIBQGzatKlJ505JSRH/+c9/RGhoqFAqlSImJkbcf//9orKy0tEmPj5ejBs3Tvj6+gqNRiOGDh0qfv31V6fz1Dz2ixcvFs8++6wICwsTkiSJ/Px8IYQQO3fuFKNHjxZGo1FoNBpx2WWXia1btzYYW83ny/k3V8Z1vvpewzXefPNNAcDxGoyOjq4V34gRI+qNfePGjY5zrVy5UlxyySVCq9UKvV4vrr32WnH48GGn602cOFHodDpx+vRpMWbMGKHX68VNN90khBBi8+bNYty4cSIyMlIolUoREREhHnvsMVFWVlbnOVJSUsRNN90kdDqdCAgIEE888YSorq52amu1WsWcOXPEBRdcIFQqlQgICBCjR4+u9Rn/9ddfO96/vr6+Yvz48bU+Q0+ePCnGjh0rgoODhUqlEuHh4WL8+PGioKCgzsf23HjP/Zw59zn59NNPRZcuXYRSqRSDBw8Wu3btavBcQgjx2muvCQBi0aJFjbat8dFHH4k+ffoIpVIpQkNDxbRp02q9Zmr+7zly5Ii4/PLLhUajEWFhYeL11193tMnIyBByuVw8//zzta5x/PhxAUB88MEHjm35+fni0Ucfdfz/0LVrV/Haa68Jq9Va5+Px7rvvii5dugiZTCb27dsnhBDi/fffF3369BEajUaYzWYxaNAgp/uekJAgHnjgAdGjRw+hVquFn5+fGDdunNPnamOv3/P/bxVCiMzMTPGf//xHBAUFCZVKJfr16ycWLFjg1KY5z2VTPv+JyI493URe7q677sIzzzyDtWvXYsqUKXW2OXLkCK6//nr069cPL774IlQqFU6fPo1t27YBAHr37o0XX3wRM2fOxNSpU3HppZcCAC6++GLHOXJzczFmzBjcfvvtuPPOOxEcHNxgXK+88gokScJTTz2FrKwszJkzB6NGjcL+/fsdPfJN0ZTYziWEwI033oiNGzfinnvuwYABA7BmzRr897//RWpqKt59912n9lu3bsWPP/6IadOmwWAw4P3338ett96KpKQk+Pv7AwDuv/9+LFu2DA899BD69OmD3NxcbN26FceOHcNFF11Ub+xHjhzBpZdeCqPRiP/973/w8fHBp59+issvvxx//PEHhg4dirFjx8JsNuPxxx93DBnX6/VNfnxqxMfHA4Aj5gULFmDy5Mn4xz/+gdmzZyMzMxPvvfcetm3bhn379jl6NW+99VYcOXIEDz/8MGJiYpCVlYV169YhKSmpzuG6zXk+fHx8cMstt+DHH3/Ep59+6tRzs3z5clRWVuL222+v8/7cd999SEtLw7p16/D11187tkuShDvvvBNvvPEG8vLy4Ofn59j3yy+/oKioyGkEQFMsXLgQX331FaZMmYLbbrut0fbR0dEAgEWLFmH48OENjipJS0vDkCFDUFBQgKlTp6JXr15ITU3FsmXLUFZWBqVSiczMTFx88cUoKyvDI488An9/fyxcuBA33ngjli1bhltuucXpnC+99BKUSiWefPJJVFZWQqlUYsOGDRgzZgwGDRqEWbNmQSaTYf78+Rg5ciS2bNmCIUOG1BnfZZddhq+//hp33XUXrrrqKtx9992Ofa6IyxXmzJmDhx9+GHq9Hs8++ywAIDg4GF27dsUjjzyC999/H8888wx69+4NAI6fX3/9NSZOnIjRo0fj9ddfR1lZGT755BNccskl2Ldvn9Pru7q6GqNHj8Yll1yCt956C1qtFgCwdOlSlJWV4YEHHoC/vz927dqFDz74ACkpKVi6dKlTnFarFaNHj8bQoUPx1ltv4ffff8fbb7+Nrl274oEHHnC0u+eee7BgwQKMGTMG9957L6qrq7Flyxbs3LnTMZrplVdewXPPPYfbbrsN9957L7Kzs/HBBx/gsssuc7x/LRYLRo8ejcrKSjz88MMICQlBamoqfv31VxQUFMBkMjX7sf72229RXFyM++67D5Ik4Y033sDYsWNx5syZBnvHf/75Z2g0GowbN65J13n++efxwgsvYNSoUXjggQdw4sQJfPLJJ9i9eze2bdvmdK38/Hxcc801GDt2LG677TYsW7YMTz31FC688EKMGTMGwcHBGDFiBL7//nvMmjXL6TpLliyBXC7Hv/71LwD2EVojRoxAamoq7rvvPkRFRWH79u2YMWMG0tPTaxUQnD9/PioqKjB16lSoVCr4+flh3rx5eOSRRzBu3Dg8+uijqKiowMGDB/Hnn3/i3//+NwD7aJjt27fj9ttvR0REBBISEvDJJ5/g8ssvx9GjR6HVanHZZZc1+Po9X3l5OS6//HKcPn0aDz30EGJjY7F06VJMmjQJBQUFePTRR5v9XDb385/Iq3k66yci92qsp1sIIUwmkxg4cKDj9/N7ut99910BQGRnZ9d7jt27dzv1NJ5rxIgRAoCYO3dunfvq6ukODw8XRUVFju3ff/+9ACDee+89x7am9HQ3Ftv5PTbLly8XAMTLL7/s1G7cuHFCkiRx+vRpxzYAQqlUOm07cOBArZ4Rk8kkHnzwwVrXbszNN98slEqliI+Pd2xLS0sTBoNBXHbZZY5tjfX8naum7QsvvCCys7NFRkaG2LRpkxg4cKAAIH744QdhsVhEUFCQuOCCC0R5ebnj2F9//VUAEDNnzhRC2Ht8mnLd1jwfa9asEQDEL7/84tTu2muvFV26dKl1v84954MPPlhrxIYQQpw4cUIAEJ988onT9htvvFHExMTUGtHQkGPHjgmdTif69u1bq/eyPjabzfGeCA4OFnfccYf46KOPRGJiYq22d999t5DJZHW+f2vifOyxxwQAsWXLFse+4uJiERsbK2JiYhw9cDXvrS5dujjFarPZRPfu3cXo0aOd7ntZWZmIjY11Gv1QH/w16uNcrY2rPs3t6RZCiL59+9bq9RNCiKVLl9bq3a6J02w2iylTpjhtz8jIECaTyWl7zaiKp59+utb567o/s2fPFpIkOT3fNed48cUXndoOHDhQDBo0yPH7hg0bBADxyCOP1DpvzXOXkJAg5HK5eOWVV5z2Hzp0SCgUCsf2ffv2CQBi6dKltc7VmPp6uv39/UVeXp5j+4oVK+p8/57P19dX9O/fv0nXzsrKEkqlUlx99dVOvcsffvihACC+/PJLx7aa99lXX33l2FZZWSlCQkLErbfe6tj26aefCgDi0KFDTtfq06ePGDlypOP3l156Seh0OnHy5Emndk8//bSQy+WOkQQ1j4fRaBRZWVlObW+66SbRt2/fBu9jXa+bHTt21Lov9b1+a+77ua/5OXPmCADim2++cWyzWCxi2LBhQq/XO/6/bepz2dTPfyKy65iTpYjIpfR6fYNVzGt6NVesWNHi4jkqlQqTJ09ucvu7774bBoPB8fu4ceMQGhqKlStXtuj6TbVy5UrI5XI88sgjTtufeOIJCCGwatUqp+2jRo1C165dHb/369cPRqMRZ86ccWwzm834888/kZaW1uQ4rFYr1q5di5tvvhldunRxbA8NDcW///1vbN26FUVFRc29ew6zZs1CYGAgQkJCcPnllyM+Ph6vv/46xo4diz179iArKwvTpk1zmid93XXXoVevXvjtt98AABqNBkqlEps2bUJ+fn6LY2nIyJEjERAQgCVLlji25efnY926dRg/fnyLztmjRw8MHToUixYtcmzLy8vDqlWrMGHChCYvl1dRUYHx48fDZrNhyZIlTR6BIUkS1qxZg5dffhm+vr5YvHgxHnzwQURHR2P8+PGOOd02mw3Lly/HDTfcUGc1+po4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577+/ftDp9M5tg0fPhw2mw0nTpxwbOvbty/kcrnj99DQUGRlZTl+nzBhAr799lsAgBACixcvxoQJEwAApaWliI+Pxz333AO9Xu+4vfzyy4iPj3eKZ/DgwU6/P/LII3j55ZcxfPhwzJo1CwcPHnTa/9FHH2HQoEEIDAyEXq/HZ599hqSkpGY/PsOGDXMayj18+HCUlJQgJSXFsa1fv35Ox53/GDTm3ON1Oh2MRmOzjgeAmJgYGAwGx+/BwcHo06cPZDKZ07bmnre5mHQTERERERH9RaPRtPocPj4+Tr9LkgSbzeb4/Y477sCJEycQFxeH7du3Izk5GePHjwcAx/zwefPmYf/+/Y7b4cOHsXPnTqfznpv8A8C9996LM2fO4K677sKhQ4cwePBgfPDBBwCA7777Dk8++STuuecerF27Fvv378fkyZNhsVhafX/r0thj0JrjZTIZ7B3if6urkFxd52htXC3BpJuIiIiIiOgv3bt3h0ajwfr162vt6927Nw4cOIDS0lLHtm3btkEmk6Fnz55NvkZERARGjBiBRYsWYdGiRbjqqqsQFBQEwN7zGhYWhjNnzqBbt25Ot9jY2EbPHRkZifvvvx8//vgjnnjiCcybN88R58UXX4xp06Zh4MCB6NatW62ec6VSCavV2uD5e/fujR07djglvdu2bYPBYEBERESTH4PWCAwMRHFxsdPz0J7XEWfSTURERERE9Be1Wo2nnnoK//vf//DVV18hPj4eO3fuxBdffIEJEyZArVZj4sSJOHz4MDZu3IiHH34Yd911F4KDg5t1nQkTJuC7777D0qVLHUPLa7zwwguYPXs23n//fZw8eRKHDh3C/Pnz8c477zR4zsceewxr1qzB2bNnERcXh40bN6J3794A7F8m7NmzB2vWrMHJkyfx3HPPYffu3U7Hx8TE4ODBgzhx4gRycnLq7D2eNm0akpOT8fDDD+P48eNYsWIFZs2ahenTpzsN23anoUOHQqvV4plnnkF8fDy+/fZbp0J27Q2TbiIiIiIionM899xzeOKJJzBz5kz07t0b48ePR1ZWFrRaLdasWYO8vDz84x//wLhx43DllVfiww8/bPY1xo0bh9zcXJSVleHmm2922nfvvffi888/x/z583HhhRdixIgRWLBgQaM93VarFQ8++CB69+6Na665Bj169HAsNXbfffdh7NixGD9+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zZvXmaV2uQN1LSzaUsGwnESG5yaR7HWSnOAk0e349B2w5pjZTTxvnDXFioiIiIgIThukuuKkugzg45MTx4HIoa2FWCxGSzhCcyhOSyROSwRzi9pojdmoabFzsNlBKG6jNQ6txGglDNQd2o7kIoLPFsZnj+C3R/E5Yvid4HNCgtNGgsuO12XH63KS4HbidTlwu9143C68bhcetwu3y4Pb7cHtduFyuc3NacNtt+Ny2HDaDew2Q63xJ8DS0F1VVUU0GiU7O/uI57Ozs9myZctRX1NWVnbU/cvKyo66fzAYJBgMtn1eX18PmHclurPGxgCxYDPxkJ2GhjANDbCv3Z0j0NwPdnfv70lERERERD6b+9CWDGAc2uJx4sQIxmwEYzZCMTuhuJ0QjrbHBhxU4+TIsP9J4UNb9zcg08eDV46jKN1ndSntOpwpj9V5vNf3Pb7vvvv48Y9//KnnCwsLLajm82s3aIuIiIiIiPRS+4DR/8/qKo5PY2MjycnJ7X7d0tCdkZGB3W6nvLz8iOfLy8vJyck56mtycnI+1/533HHHEd3RY7EYNTU1pKen96muEQ0NDRQWFrJv375uPZZdjp+uae+k69o76br2TrquvZOua++k69o7WX1d4/E4jY2N5OXlfeZ+loZul8vF+PHjWbRoEZdccglghuJFixZx6623HvU1kydPZtGiRcyePbvtuTfffJPJkycfdX+3243bfeT0/ikpKR1Rfo+UlJSkXzS9jK5p76Tr2jvpuvZOuq69k65r76Tr2jtZeV0/q4X7MMu7l8+ZM4frr7+e0047jYkTJzJ37lyampqYNWsWANdddx35+fncd999AHz3u9/l7LPP5le/+hUXXnghzz//PCtXruT3v/+9ld+GiIiIiIiIyKdYHrpnzpxJZWUld911F2VlZYwdO5bXX3+9bbK0kpISbLaPpsCfMmUKzz33HD/60Y+48847GTx4MPPmzeu1a3SLiIiIiIhIz2V56Aa49dZb2+1Ovnjx4k89N2PGDGbMmNHJVfUubrebu++++1Nd7aXn0jXtnXRdeydd195J17V30nXtnXRde6eecl2N+LHmNxcRERERERGRE2I79i4iIiIiIiIiciIUukVEREREREQ6iUK3iIiIiIiISCdR6O5j9uzZw4033kj//v3xer0MHDiQu+++m1AoZHVpcpL+93//lylTppCQ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s88+m/nz559UTSIiIt2Rw+oCREREeprzzz+fp556imAwyIIFC7jllltwOp3ccccdJ3Vcl8tFTk7OMffLzMz8XMdNS0s70ZLadfgGwSe98sor3HzzzXznO99p97U333wzH3zwAQ8++CAjRoygurqa9957j+rq6g6v87BQKITL5eq044uIiLRHLd0iIiKfk9vtJicnh6KiIr797W9z7rnn8sorrwBQW1vLddddR2pqKgkJCUyfPp3t27e3vXbv3r1cdNFFpKam4vP5OOWUU1iwYAFwZPfyxYsXM2vWLOrr69taj++55x7gyJbqq666ipkzZx5RXzgcJiMjgz/+8Y/Akd3Lp06dyt69e/ne977XdtympiaSkpL429/+dsRx5s2bh8/no7Gx8VM/g8M3CD6+1dbW8oMf/IA777yTGTNmtPvze+WVV7jzzju54IILKC4uZvz48dx2223ccMMNbfsEg0Fuv/12CgsLcbvdDBo0iD/84Q9tX1+yZAkTJ07E7XaTm5vLD3/4wyN6G0ydOpVbb72V2bNnk5GRwbRp0wDYsGED06dPx+/3k52dzbXXXktVVVW7tYqIiJwshW4REZGT5PV6CYVCgNn9fOXKlbzyyissW7aMeDzOBRdcQDgcBuCWW24hGAzyzjvvsH79en7+85/j9/s/dcwpU6Ywd+5ckpKSKC0tpbS0lB/84Aef2u/qq6/mH//4B4FAoO25hQsX0tzczKWXXvqp/V966SUKCgr4yU9+0nZcn8/H17/+dZ566qkj9n3qqae44oorSExMPObPoK6ujosvvpipU6ce0ZX9aHJycliwYMFRw/xh1113HX/5y1/43e9+x+bNm3n88cfbfk4HDhzgggsuYMKECaxdu5ZHH32UP/zhD9x7771HHOOZZ57B5XKxdOlSHnvsMerq6vjiF7/IuHHjWLlyJa+//jrl5eV87WtfO+b3JyIicqLUvVxEROQExeNxFi1axMKFC7ntttvYvn07r7zyCkuXLmXKlCkAPPvssxQWFjJv3jxmzJhBSUkJl19+OaNGjQJgwIABRz22y+UiOTkZwzA+s8v5tGnT8Pl8vPzyy1x77bUAPPfcc3z1q189alhOS0vDbreTmJh4xHG/+c1vtnUZz83NpaKiggULFvDWW28d8+cQi8W46qqrcDgcPPvssxiG8Zn7//73v+fqq68mPT2dMWPGcMYZZ3DFFVdw+umnA7Bt2zZefPFF3nzzTc4991zgyJ/TI488QmFhIQ899BCGYTBs2DAOHjzI7bffzl133YXNZrYpDB48mF/84hdtr7v33nsZN24cP/vZz9qee/LJJyksLGTbtm0MGTLkmN+riIjI56WWbhERkc/p1Vdfxe/34/F4mD59OjNnzuSee+5h8+bNOBwOJk2a1LZveno6Q4cOZfPmzQD853/+J/feey+nn346d999N+vWrTupWhwOB1/72td49tlnAWhqamL+/PlcffXVn+s4EydO5JRTTuGZZ54B4M9//jNFRUWcddZZx3ztnXfeybJly5g/f/4RQb+kpAS/39+2HQ67Z511Frt27WLRokVcccUVbNy4kTPPPLOthXzNmjXY7XbOPvvso55v8+bNTJ48+Yhwf/rppxMIBNi/f3/bc+PHjz/idWvXruXtt98+oqZhw4YBsHPnzuP5MYmIiHxuCt0iIiKf0znnnMOaNWvYvn07LS0tPPPMM/h8vuN67Te/+U127drFtddey/r16znttNN48MEHT6qeq6++mkWLFlFRUcG8efPwer2cf/75n/s43/zmN3n66acBs2v5rFmzjtlq/fzzz/PAAw/w/PPPM3jw4CO+lpeXx5o1a9q2m2++ue1rTqeTM888k9tvv5033niDn/zkJ/z0pz8lFArh9Xo/d+1H88lrEggEuOiii46o6fB1PJ6bCyIiIidCoVtERORz8vl8DBo0iH79+uFwfDRSa/jw4UQiET744IO256qrq9m6dSsjRoxoe66wsJCbb76Zl156ie9///s88cQTRz2Py+UiGo0es54pU6ZQWFjICy+8wLPPPsuMGTNwOp3t7t/eca+55hr27t3L7373OzZt2sT111//medds2YNN954I/fff3/bRGUf53A4GDRoUNv2WbOojxgxgkgkQmtrK6NGjSIWi7FkyZKj7jt8+PC28fKHLV26lMTERAoKCto9x6mnnsrGjRspLi4+oq5BgwYd900TERGRz0uhW0REpIMMHjyYiy++mJtuuol3332XtWvXcs0115Cfn8/FF18MwOzZs1m4cCG7d+9m9erVvP322wwfPvyoxysuLiYQCLBo0SKqqqpobm5u99xXXXUVjz32GG+++eYxu5YXFxfzzjvvcODAgSNm7k5NTeWyyy7jv/7rvzjvvPM+M8BWVVVxySWXMHXqVK655hrKysqO2CorK9t97dSpU3n88cdZtWoVe/bsYcGCBdx5552cc845JCUlUVxczPXXX88NN9zAvHnz2L17N4sXL+bFF18E4Dvf+Q779u3jtttuY8uWLcyfP5+7776bOXPmtI3nPppbbrmFmpoarrzySlasWMHOnTtZuHAhs2bNOq6bGyIiIidCoVtERKQDPfXUU4wfP56vfOUrTJ48mXg8zoIFC9panqPRKLfccgvDhw/n/PPPZ8iQITzyyCNHPdaUKVO4+eabmTlzJpmZmUdMCvZJV199NZs2bSI/P79tQrL2/OQnP2HPnj0MHDjwU2t+33jjjYRCoSOW7zqaf/7zn+zdu5cFCxaQm5v7qW3ChAntvnbatGk888wznHfeeQwfPpzbbruNadOmtYVqgEcffZQrrriC73znOwwbNoybbrqJpqYmAPLz81mwYAHLly9nzJgx3Hzzzdx444386Ec/+sya8/LyWLp0KdFolPPOO49Ro0Yxe/ZsUlJSPjOsi4iInAwj/vG+WSIiItKn/elPf+J73/seBw8exOVyWV2OiIhIj6clw0RERITm5mZKS0u5//77+Y//+A8FbhERkQ6ivlQiIiLCL37xC4YNG0ZOTg533HGH1eWIiIj0GupeLiIiIiIiItJJ1NItIiIiIiIi0kkUukVEREREREQ6iUK3iIiIiIiISCdR6BYRERERERHpJArdIiIiIiIiIp1EoVtERERERESkkyh0i4iIiIiIiHQShW4RERERERGRTqLQLSIiIiIiItJJ/j82kPrsh/4LWAAAAABJRU5ErkJggg==", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA90AAAJOCAYAAACqS2TfAAAAP3RFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMS5wb3N0MSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8kixA/AAAACXBIWXMAAA9hAAAPYQGoP6dpAADJMUlEQVR4nOzdd3iT5f4G8DujSZqkGd0FuigbWcIBERVEtIILkSN6UMZR8IgbPUfRn6AeFScHN4oyRESGCA52AQeg7F1WgZaOdFDa0pk2eX5/xEZCd5vkTdv7c125Qt95ZzT0m+d5n0cmhBAgIiIiIiIiIreTSx2AiIiIiIiIqKVi0U1ERERERETkISy6iYiIiIiIiDyERTcRERERERGRh7DoJiIiIiIiIvIQFt1EREREREREHsKim4iIiIiIiMhDWHQTEREREREReQiLbiIiIiIiIiIPYdFNRFW89NJLkMlkXjnXkCFDMGTIEOfPW7duhUwmw4oVK7xy/gkTJiAmJsYr5/KkkydP4qabboLRaIRMJsOqVaukjuR0+Wtcm8a+HmfPnoVMJsOCBQsavC81XWZmJkaPHo2goCDIZDLMnj1b6kjkQS3lc7Mla8jnLhF5HotuohZuwYIFkMlkzptGo0GbNm0QHx+P999/HxcvXnTLedLT0/HSSy9h//79bjmeO/lyNncZP348Dh06hNdeew2LFi1Cv379qt2usjitvCkUCkRFReHOO+/02vPjrddjzZo1eOmll9x6zMovpOq61cVqteK9995Dnz59YDAYYDKZ0L17d0yePBnHjh1za2ZveOqpp7B+/XpMmzYNixYtws033+yxc1W+h995551q17/zzjuQyWQ4e/asc9nHH39c7RcyR48exUsvveSyLUknMzMTzzzzDLp06QKtVgudToe+ffvi1VdfRV5entTxfA7fv0TNh1LqAETkHa+88gpiY2NRXl4Oi8WCrVu34sknn8SsWbPw/fffo2fPns5t/+///g/PPfdcg46fnp6Ol19+GTExMejdu3e999uwYUODztMYtWWbO3cu7Ha7xzN4UklJCXbs2IEXXngBjz76aL32uffeezFixAjYbDYkJibik08+wdq1a/H777836PWrj8tfY0+8HtHR0SgpKYGfn59z2Zo1a/DRRx+5tfAeNWoUOnToUO26gwcP4u2338aAAQPqPM5dd92FtWvX4t5778WkSZNQXl6OY8eO4ccff8TVV1+NLl26uC2zN2zevBl33HEHnnnmGamjVOvjjz9GcHAwJkyY4LL86NGjePnllzFkyBC23DaAJz43d+3ahREjRqCwsBD33Xcf+vbtCwDYvXs33njjDfzyyy9e+f+iOant/cvnisi3sOgmaiWGDx/u0vo5bdo0bN68Gbfeeituv/12JCYmwt/fHwCgVCqhVHr246G4uBharRYqlcqj56nLpUVac5WdnQ0AMJlM9d7nyiuvxH333ef8edCgQbj99tvxySef4NNPP3Vrvoa8xo19PSp7cXhaz549Xb6gqlRUVIRXX30VRqMRS5YsqfUYu3btwo8//ojXXnsNzz//vMu6Dz/80KsteqWlpVCpVJDLm9bxLSsrq0Hvv7q4K5dUioqKoNPppI7hMe7+3MzLy8Odd94JhUKBffv2VfnS6bXXXsPcuXPdek5vq6iogN1u99r/eVL/30pElxFE1KLNnz9fABC7du2qdv3rr78uAIjPPvvMuWzGjBni8o+HDRs2iEGDBgmj0Sh0Op3o1KmTmDZtmhBCiC1btggAVW7z588XQggxePBg0b17d7F7925x7bXXCn9/f/HEE0841w0ePNh5nspjffPNN2LatGkiLCxMaLVacdttt4mUlBSXTNHR0WL8+PFVHtOlx6wr2/jx40V0dLTL/oWFhWLq1KmiXbt2QqVSiU6dOom3335b2O12l+0AiEceeUR89913onv37kKlUolu3bqJtWvXumxXUFAgnnjiCREdHS1UKpUICQkRw4YNE3v27Kn2NbnU3r17xc033ywCAgKETqcTQ4cOFTt27HCur3ytLr1d/ngudebMGQFAvP3221UeMwBx4403OpctW7ZMXHnllUKj0YigoCAxduxYkZqa6rJfRkaGmDBhgmjbtq1QqVQiPDxc3H777eLMmTPObRr7elitVmE2m8WECROqPI78/HyhVqvF008/7fK4Lj1Odeex2+0iOjpa3H777VWOWVJSIgwGg5g8eXKNz19Nxo0bJwCIpUuX1rntkiVLBACxdevWeh07NTVV/POf/xQRERFCpVKJmJgY8a9//UuUlZU5t0lKShKjR48WZrNZ+Pv7iwEDBogff/zR5TiVz/2SJUvECy+8INq0aSNkMpm4cOGCEEKI33//XcTHxwuDwSD8/f3FddddJ3777bdas1V+vlx+c2euy9X0Hq709ttvCwDO92B0dHSVfIMHD64x+5YtW5zHWrNmjbjmmmuEVqsVer1ejBgxQhw+fNjlfOPHjxc6nU6cOnVKDB8+XOj1enHHHXcIIYT45ZdfxOjRo0VkZKRQqVSiXbt24sknnxTFxcXVHiM1NVXccccdQqfTieDgYPH000+LiooKl21tNpuYPXu2uOKKK4RarRbBwcEiPj6+ymf8okWLnL+/ZrNZjBkzpspn6IkTJ8SoUaNEWFiYUKvVom3btmLMmDEiLy+v2uf20ryXfs5c+pp8+umnon379kKlUol+/fqJnTt31nosIYR44403BACxePHiOret9NFHH4lu3boJlUolIiIixJQpU6q8Zyr/7zly5IgYMmSI8Pf3F23atBFvvvmmcxuLxSIUCoV46aWXqpzj2LFjAoD44IMPnMsuXLggnnjiCef/D3FxceKNN94QNput2ufjf//7n2jfvr2Qy+Vi3759Qggh3n//fdGtWzfh7+8vTCaT6Nu3r8tjP3v2rHj44YdFp06dhEajEYGBgWL06NEun6t1vX8v/79VCCEyMzPFP//5TxEaGirUarXo2bOnWLBggcs2DXkt6/P5T0QObOkmauXuv/9+PP/889iwYQMmTZpU7TZHjhzBrbfeip49e+KVV16BWq3GqVOnsG3bNgBA165d8corr2D69OmYPHkyrr32WgDA1Vdf7TzG+fPnMXz4cNxzzz247777EBYWVmuu1157DTKZDM8++yyysrIwe/ZsDBs2DPv373e2yNdHfbJdSgiB22+/HVu2bMEDDzyA3r17Y/369fj3v/+NtLQ0/O9//3PZ/rfffsPKlSsxZcoUBAQE4P3338ddd92FlJQUBAUFAQD+9a9/YcWKFXj00UfRrVs3nD9/Hr/99hsSExNx5ZVX1pj9yJEjuPbaa2EwGPCf//wHfn5++PTTTzFkyBD8/PPPGDBgAEaNGgWTyYSnnnrK2WVcr9fX+/mplJSUBADOzAsWLMDEiRPxt7/9DTNnzkRmZibee+89bNu2Dfv27XO2at511104cuQIHnvsMcTExCArKwsbN25ESkpKtd11G/J6+Pn54c4778TKlSvx6aefurTcrFq1CmVlZbjnnnuqfTwPPfQQ0tPTsXHjRixatMi5XCaT4b777sNbb72F3NxcBAYGOtf9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lltuweLFizF27Fhs27atyiBINTl9+jQmTZqE2NhYfPbZZzVu95///MelW+ulXTWr4+fnh549e+LkyZPIyclBaGgoDAYDDh8+XOt+0dHRNb5PKtfXpvLyCIPB4JYvYtyVqya1/W4AjveoVqt1KZZqei/UtLzyOQkNDW30c3Lo0CGcOHECCxcudBlgbuPGjY06XmWu9evXVxkE8PJthBCIjY2tUgRWp0ePHujRowf+7//+D9u3b8egQYMwZ84cvPrqq43O2VC33XYbduzYgW+//dal+3N1Lv18uvRz3mq14syZM41+vUaOHImHHnrI2cX8xIkTmDZtmss2cXFxKCwsbPLviU6nw5gxYzBmzBhYrVaMGjUKr732GqZNmwaNRoMVK1Zg/PjxePfdd537lJaWVvn/rqH/tx08eBB2u93lC6Km/j429POfqLVi93KiVmzz5s3473//i9jYWIwdO7bG7S7tFlupskWssstv5Zy07ppj+Msvv3TpbrhixQpkZGS4FKlxcXH4/fffYbVanct+/PHHKt2uG5JtxIgRsNls+PDDD12W/+9//4NMJmtwy7TNZqvSHTA0NBRt2rRxPnfVUSgUuOmmm7B69WqXLvWZmZn4+uuvcc0118BgMDQoS33169cPoaGhmDNnjkvGtWvXIjExEbfccgsAR4tiaWmpy75xcXEICAio9bE19L0il8sxevRo/PDDD1i0aBEqKirq1bW8rvPcf//9OHr0KP79739DoVDUOBL6pcrLy3HPPfeguLgYS5YsqXWE527dumHYsGHOW9++fQE4vlBKSUmpsn1eXh527NgBs9mMkJAQyOVyjBw5Ej/88AN2795dZfvKFqcRI0Zg586d2LFjh3NdUVERPvvsM8TExKBbt261Pqa+ffsiLi4O77zzDgoLC6usr5wHvqGamqsmlb8bP/zwQ5XnMSUlBT/88ANuuukml5Y6nU5X7fugpvdIfHw8DAYDXn/9dZSXl1fZrz7PSeX5L20ZFELgvffeq3Pfmtx1110QQjhbRC9VeZ5Ro0ZBoVDg5ZdfrtKaK4TA+fPnATiuo66oqHBZ36NHD8jl8lp/fz3hX//6FyIiIvD000/jxIkTVdZnZWU5vwQYNmwYVCoV3n//fZfH98UXXyA/P9/5+dRQJpMJ8fHxWLZsGb755huoVCqMHDnSZZu7774bO3bswPr166vsn5eXV+X5rE7l819JpVKhW7duEEI432sKhaLKa/fBBx/AZrO5LGvo/20Wi8XluvWKigp88MEH0Ov1zsse6quxn/9ErRVbuolaibVr1+LYsWOoqKhAZmYmNm/ejI0bNyI6Ohrff/99rV0xX3nlFfzyyy+45ZZbEB0djaysLHz88cdo166dc5CkuLg4mEwmzJkzBwEBAdDpdBgwYECjr9MMDAzENddcg4kTJyIzMxOzZ89Ghw4dXKY1e/DBB7FixQrcfPPNuPvuu5GUlISvvvrKZWCzhma77bbbcP311+OFF17A2bNn0atXL2zYsAGrV6/Gk08+WeXYdbl48SLatWuH0aNHo1evXtDr9di0aRN27drl0opRnVdffRUbN27ENddcgylTpkCpVOLTTz9FWVkZ3nrrrQblaAg/Pz+8+eabmDhxIgYPHox7773XOWVYTEwMnnrqKQCOlqAbbrgBd999N7p16walUonvvvsOmZmZtRawjXmvjBkzBh988AFmzJiBHj161DgtzqUqi9zHH38c8fHxVQrrW265BUFBQVi+fDmGDx+O0NDQOo/54osvYteuXRg6dChOnjxZpUdGpTvvvNP5B/HlDhw4gH/84x8YPnw4rr32WgQGBiItLQ0LFy5Eeno6Zs+e7SzYXn/9dWzYsAGDBw/G5MmT0bVrV2RkZGD58uX47bffYDKZ8Nxzz2HJkiUYPnw4Hn/8cQQGBmLhwoU4c+YMvv322yrdni8nl8vx+eefY/jw4ejevTsmTpyItm3bIi0tDVu2bIHBYMAPP/xQ53Nzuabmqs3rr7+Oq666CldeeSUmT56MmJgYnD17Fp999hlkMhlef/11l+379u2LTz75BK+++io6dOiA0NBQDB06FL1794ZCocCbb76J/Px8qNVqDB06FKGhofjkk09w//3348orr8Q999yDkJAQpKSk4KeffsKgQYOqfDF3uS5duiAuLg7PPPMM0tLSYDAY8O233zZp0Knrr78e999/P95//32cPHkSN998M+x2O3799Vdcf/31ePTRRxEXF4dXX30V06ZNw9mzZzFy5EgEBATgzJkz+O677zB58mQ888wz2Lx5Mx599FH8/e9/R6dOnVBRUYFFixZBoVDgrrvuanTGxjCbzfjuu+8wYsQI9O7dG/fdd5/z93fv3r1YsmQJBg4cCMDR02HatGl4+eWXcfPN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8wwSExNRUFCA+fPnAwACAwORnp7u8tykpaVhxIgRmDBhAr788kscO3YMkyZNgkajcSmsFy5ciKlTp+KPP/7Ajh07MGHCBAwaNAg33nhjvV6Dl19+GW+99RbefvttfPDBBxg7diySk5MRGBhY79cxKSkJa9euxbp165CUlITRo0fj9OnT6NSpE37++Wds374d//znPzFs2LBqvwhxG9HK5OfnCwAiPz9f6ihERERERCSBkpIScfToUVFSUlJlXUFBgVCr1WLu3LlV1n322WfCbDaLwsJC57KffvpJyOVyYbFYhBBCjB8/XkRHR4uKigrnNn//+9/FmDFjnD/36tVLvPLKK86fp02bJgYMGOD8OS4uTnz99dcu5/7vf/8rBg4cKIQQ4syZMwKAmD17tss2PXr0EC+99FK9ngMhhHjkkUfEXXfd5fx5/Pjx4o477nDZpvJc+/btE0II8fzzz4vOnTsLu93u3Oajjz4Ser1e2Gw2IYQQgwcPFtdcc43Lcf72t7+JZ599tl65AIj/+7//c/5cWFgoAIi1a9cKIYSYP3++MBqNLvt899134tLydsaMGUKr1YqCggLnsvj4eBETE+PMKYQQnTt3FjNnzqwxS23vlfrWluxeTkRERERE9KfExESUlZXhhhtuqHZdr169oNPpnMsGDRoEu92O48ePO5d1794dCoXC+XNERASysrKcP48dOxZff/01AEAIgSVLlmDs2LEAgKKiIiQlJeGBBx6AXq933l599VUkJSW55OnXr5/Lz48//jheffVVDBo0CDNmzMDBgwdd1n/00Ufo27cvQkJCoNfr8dlnnyElJaXBz8/AgQNdunIPGjQIhYWFSE1NdS7r2bOny36XPwd1uXR/nU4Hg8HQoP0BICYmBgEBAc6fw8LC0K1bN8jlcpdlDT1uQ7HoJiIiIiIi+pO/v3+Tj+Hn5+fys0wmg91ud/5877334vjx49i7dy+2b9+Oc+fOYcyYMQDgvD587ty52L9/v/N2+PBh/P777y7HvbT4B4AHH3wQp0+fxv33349Dhw6hX79++OCDDwAA33zzDZ555hk88MAD2LBhA/bv34+JEyfCarU2+fFWp67noCn7y+VyOBrE/1LdQHLVHaOpuRqDRTcREREREdGfOnbsCH9/fyQkJFRZ17VrVxw4cABFRUXOZdu2bYNcLkfnzp3rfY527dph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Vgf5VocRyK0O4/A5wGInYbETxElbwk4wYSOYsBKMQzAep6Gpncp6CMcgGEsSjCY4YuC8C7vVjNdhNQ6nlbSOjx6HFbfdisduwe2w4rZbcNmMw2m34LSacdiMj06bBYfNjN1ixm41DofFgt1qxmYxaQT+JKQ0dNfV1RGPx8nLy+tye15eHlu3bu32MdXV1d2eX11d3e354XCYcDjc+XVzczNgXJUYyFpb20iEg5hjFkLBGKEg1KayoFALtI+A/REwxU98voiIiIjIkGcGXB1HD5KJ4xxHBvJwx9Eze8fhP/LpgTgWQtgJYyOUtBPBSgQr4bCNpoCNutTGvlNS4Hfy+A0zGZ3jTXUpPTqUKU80eXzw/fR76b777uP73//+MbeXlJSkoJre25fqAkRERERERM6wfcBZx8a4Aam1tRW/39/j/SkN3dnZ2VgsFmpqarrcXlNTQ35+frePyc/P79X5d955Z5fp6IlEgoaGBrKysrSP3hFaWlooKSlh3759A3qtu5w+vdbDh17r4UWv9/Ch13r40Gs9fOi1HpySySStra0UFhYe97yUhm673c7MmTNZvnw5V199NWCE4uXLl3Pbbbd1+5h58+axfPlylixZ0nnbG2+8wbx587o93+Fw4HA4utyWnp7eF+UPSWlpafqLPkzotR4+9FoPL3q9hw+91sOHXuvhQ6/14HO8Ee5DUj69fOnSpSxevJhZs2YxZ84cHnroIQKBADfddBMAN954I0VFRdx3330AfPOb3+S8887jxz/+MZdffjnPPfccq1ev5uc//3kq/xgiIiIiIiIix0h56F60aBG1tbXcfffdVFdXM336dF577bXOZmkVFRWYzYc74s2fP59nn32W7373u9x1112MGTOGl19++aT26BYRERERERE5k1IeugFuu+22HqeTr1ix4pjbFi5cyMKFC/u5quHF4XBwzz33HDMVX4YevdbDh17r4UWv9/Ch13r40Gs9fOi1HtpMyRP1NxcRERERERGRU6KdzEVERERERET6iUK3iIiIiIiISD9R6BYRERERERHpJwrd0sWePXu4+eabGTlyJC6Xi9GjR3PPPfcQiURSXZr0g//6r/9i/vz5uN1u7V8/BD366KOUlZXhdDqZO3cuH3zwQapLkn7w9ttvc+WVV1JYWIjJZOLll19OdUnST+677z5mz56Nz+cjNzeXq6++mm3btqW6LOkHjz32GFOnTu3cs3nevHn85S9/SXVZcgbcf//9mEwmlixZkupSpA8pdEsXW7duJZFI8MQTT7Bp0yZ+8pOf8Pjjj3PXXXelujTpB5FIhIULF/L1r3891aVIH3v++edZunQp99xzD2vXrmXatGksWLCAgwcPpro06WOBQIBp06bx6KOPproU6WdvvfUWt956K++99x5vvPEG0WiUiy++mEAgkOrSpI8VFxdz//33s2bNGlavXs2FF17IVVddxaZNm1JdmvSjVatW8cQTTzB16tRUlyJ9TN3L5YQeeOABHnvsMXbt2pXqUqSfPPXUUyxZsoSmpqZUlyJ9ZO7cucyePZtHHnkEgEQiQUlJCbfffjt33HFHiquT/mIymXjppZe4+uqrU12KnAG1tbXk5uby1ltvce6556a6HOlnmZmZPPDAA9x8882pLkX6QVtbG2eddRY/+9nP+MEPfsD06dN56KGHUl2W9BGNdMsJNTc3k5mZmeoyROQkRSIR1qxZw0UXXdR5m9ls5qKLLmLlypUprExE+lJzczOA/o0e4uLxOM899xyBQIB58+aluhzpJ7feeiuXX355l3+7ZeiwproAGdh27NjBww8/zIMPPpjqUkTkJNXV1RGPx8nLy+tye15eHlu3bk1RVSLSlxKJBEuWLOGcc85h8uTJqS5H+sGGDRuYN28eoVAIr9fLSy+9xMSJE1NdlvSD5557jrVr17Jq1apUlyL9RCPdw8Qdd9yByWQ67nH0m/EDBw5wySWXsHDhQr72ta+lqHLprVN5rUVEZHC59dZb2bhxI88991yqS5F+Mm7cONatW8f777/P17/+dRYvXszmzZtTXZb0sX379vHNb36TZ555BqfTmepypJ9opHuY+Pa3v82Xv/zl454zatSozs8rKyu54IILmD9/Pj//+c/7uTrpS719rWXoyc7OxmKxUFNT0+X2mpoa8vPzU1SViPSV2267jT/96U+8/fbbFBcXp7oc6Sd2u53y8nIAZs6cyapVq/jv//5vnnjiiRRXJn1pzZo1HDx4kLPOOqvztng8zttvv80jjzxCOBzGYrGksELpCwrdw0ROTg45OTknde6BAwe44IILmDlzJk8++SRmsyZEDCa9ea1laLLb7cycOZPly5d3NtRKJBIsX76c2267LbXFicgpSyaT3H777bz00kusWLGCkSNHprokOYMSiQThcDjVZUgf+9SnPsWGDRu63HbTTTcxfvx4vvOd7yhwDxEK3dLFgQMHOP/88xkxYgQPPvggtbW1nfdphGzoqaiooKGhgYqKCuLxOOvWrQOgvLwcr9eb2uLktCxdupTFixcza9Ys5syZw0MPPUQgEOCmm25KdWnSx9ra2tixY0fn17t372bdunVkZmZSWlqawsqkr9166608++yzvPLKK/h8PqqrqwHw+/24XK4UVyd96c477+TSSy+ltLSU1tZWnn32WVasWMHrr7+e6tKkj/l8vmP6Mng8HrKystSvYQhR6JYu3njjDXbs2MGOHTuOmbKm3eWGnrvvvpunn3668+sZM2YA8Oabb3L++eenqCrpC4sWLaK2tpa7776b6upqpk+fzmuvvXZMczUZ/FavXs0FF1zQ+fXSpUsBWLx4MU899VSKqpL+8NhjjwEc8/v5ySefPOGyIhlcDh48yI033khVVRV+v5+pU6fy+uuv8+lPfzrVpYnIKdA+3SIiIiIiIiL9RIt1RURERERERPqJQreIiIiIiIhIP1HoFhEREREREeknCt0iIiIiIiIi/UShW0RERERERKSfKHSLiIiIiIiI9BOFbhEREREREZF+otAtIiIiIiIi0k8UukVERAaIFStWYDKZaGpqOu55ZWVlPPTQQyf9vOeffz5Lliw5rdpERETk1Ch0i4iI9MKXv/xlTCYTJpMJu91OeXk59957L7FY7LSfe/78+VRVVeH3+wF46qmnSE9PP+a8VatW8S//8i8n/bwvvvgi//mf/9n5dW9De3cOXSDo6bjgggt6fGwwGOTOO+9k9OjROJ1OcnJyOO+883jllVdOqyYREZGByJrqAkRERAabSy65hCeffJJwOMyyZcu49dZbsdls3Hnnnaf1vHa7nfz8/BOel5OT06vnzczMPNWSenToAsHRXn31VW655Ra+8Y1v9PjYW265hffff5+HH36YiRMnUl9fz7vvvkt9fX2f13lIJBLBbrf32/OLiIj0RCPdIiIiveRwOMjPz2fEiBF8/etf56KLLuLVV18FoLGxkRtvvJGMjAzcbjeXXnop27dv73zs3r17ufLKK8nIyMDj8TBp0iSWLVsGdJ1evmLFCm666Saam5s7R4+/973vAV1Hqq+77joWLVrUpb5oNEp2dja//vWvga7Ty88//3z27t3Lt771rc7nDQQCpKWl8Yc//KHL87z88st4PB5aW1uP+RkcukBw5NHY2Mi//du/cdddd7Fw4cIef36vvvoqd911F5dddhllZWXMnDmT22+/na985Sud54TDYb7zne9QUlKCw+GgvLycX/7yl533v/XWW8yZMweHw0FBQQF33HFHl9kG559/PrfddhtLliwhOzubBQsWALBx40YuvfRSvF4veXl53HDDDdTV1fVYq4iIyOlS6BYRETlNLpeLSCQCGNPPV69ezauvvsrKlStJJpNcdtllRKNRAG699VbC4TBvv/02GzZs4Ic//CFer/eY55w/fz4PPfQQaWlpVFVVUVVVxb/9278dc97111/PH//4R9ra2jpve/311wkGg1xzzTXHnP/iiy9SXFzMvffe2/m8Ho+HL3zhCzz55JNdzn3yySe59tpr8fl8J/wZNDU1cdVVV3H++ed3mcrenfz8fJYtW9ZtmD/kxhtv5He/+x0//elP2bJlC0888UTnz+nAgQNcdtllzJ49m48++ojHHnuMX/7yl/zgBz/o8hxPP/00drudd955h8cff5ympiYuvPBCZsyYwerVq3nttdeoqanh85///An/fCIiIqdK08tFREROUTKZZPny5bz++uvcfvvtbN++nVdffZV33nmH+fPnA/DMM89QUlLCyy+/zMKFC6moqOBzn/scU6ZMAWDUqFHdPrfdbsfv92MymY475XzBggV4PB5eeuklbrjhBgCeffZZPvOZz3QbljMzM7FYLPh8vi7P+9WvfrVzynhBQQEHDx5k2bJl/O1vfzvhzyGRSHDddddhtVp55plnMJlMxz3/5z//Oddffz1ZWVlMmzaNT3ziE1x77bWcc845AHz88cf8/ve/54033uCiiy4Cuv6cfvazn1FSUsIjjzyCyWRi/PjxVFZW8p3vfIe7774bs9kYUxgzZgw/+tGPOh/3gx/8gBkzZvB//+//7bztV7/6FSUlJXz88ceMHTv2hH9WERGR3tJIt4iISC/96U9/wuv14nQ6ufTSS1m0aBHf+9732LJlC1arlblz53aem5WVxbhx49iyZQsA//qv/8oPfvADzjnnHO655x7Wr19/WrVYrVY+//nP88wzzwAQCAR45ZVXuP7663v1PHPmzGHSpEk8/fTTAPz2t79lxIgRnHvuuSd87F133cXKlSt55ZVXugT9iooKvF5v53Eo7J577rns2rWL5cuXc+2117Jp0yY++clPdo6Qr1u3DovFwnnnndft99uyZQvz5s3rEu7POecc2tra2L9/f+dtM2fO7PK4jz76iDfffLNLTePHjwdg586dJ/NjEhER6TWFbhERkV664IILWLduHdu3b6e9vZ2nn34aj8dzUo/96le/yq5du7jhhhvYsGEDs2bN4uGHHz6teq6//nqWL1/OwYMHefnll3G5XFxyySW9fp6vfvWrPPXUU4Axtfymm2464aj1c889x4MPPshzzz3HmDFjutxXWFjIunXrOo9bbrml8z6bzcYnP/lJvvOd7/DXv/6Ve++9l//8z/8kEongcrl6XXt3jn5N2trauPLKK7vUdOh1PJmLCyIiIqdCoVtERKSXPB4P5eXllJaWYrUeXqk1YcIEYrEY77//fudt9fX1bNu2jYkTJ3beVlJSwi233MKLL77It7/9bX7xi190+33sdjvxePyE9cyfP5+SkhKef/55nnnmGRYuXIjNZuvx/J6e90tf+hJ79+7lpz/9KZs3b2bx4sXH/b7r1q3j5ptv5v777+9sVHYkq9VKeXl553G8LuoTJ04kFosRCoWYMmUKiUSCt956q9tzJ0yY0Lle/pB33nkHn89HcXFxj9/jrLPOYtOmTZSVlXWpq7y8/KQvmoiIiPSWQreIiEgfGTNmDFdddRVf+9rX+Oc//8lHH33El770JYqKirjqqqsAWLJkCa+//jq7d+9m7dq1vPnmm0yYMKHb5ysrK6OtrY3ly5dTV1dHMBjs8Xtfd911PP7447zxxhsnnFpeVlbG22+/zYEDB7p07s7IyOCzn/0s//7v/87FF1983ABbV1fH1Vdfzfnnn8+XvvQlqquruxy1tbU9Pvb888/niSeeYM2aNezZs4dly5Zx1113ccEFF5CWlkZZWRmLFy/mK1/5Ci+//DK7d+9mxYoV/P73vwfgG9/4Bvv27eP2229n69atvPLKK9xzzz0sXbq0cz13d2699VYaGhr44he/yKpVq9i5cyevv/46N91000ld3BARETkVCt0iIiJ96Mknn2TmzJlcccUVzJs3j2QyybJlyzpHnuPxOLfeeisTJkzgkksuYezYsfzsZz/r9rnmz5/PLbfcwqJFi8jJyenSFOxo119/PZs3b6aoqKizIVlP7r33Xvbs2cPo0aOP2fP75ptvJhKJdNm+qzt//vOf2bt3L8uWLaOgoOCYY/bs2T0+dsGCBTz99NNcfPHFTJgwgdtvv50FCxZ0hmqAxx57jGuvvZZvfOMbjB8/nq997WsEAgEAioqKWLZsGR988AHTpk3jlltu4eabb+a73/3ucWsuLCzknXfeIR6Pc/HFFzNlyhSWLFlCenr6ccO6iIjI6TAlj5ybJSIiIsPab37zG771rW9RWVmJ3W5PdTkiIiKDnrYMExEREYLBIFVVVdx///38n//zfxS4RURE+ojmUomIiAg/+tGPGD9+PPn5+dx5552pLkdERGTI0PRyERERERERkX6ikW4RERERERGRfqLQLSIiIiIiItJPFLpFRERERERE+olCt4iIiIiIiEg/UegWERERERER6ScK3SIiIiIiIiL9RKFbREREREREpJ8odIuIiIiIiIj0E4VuERERERERkX7y/wOOry8kqA8mvQAAAABJRU5ErkJggg==", "text/plain": [ "
    " ] @@ -1364,11 +1981,11 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 19, "metadata": {}, "outputs": [], "source": [ - "conversation_features = pd.read_csv(\"./output/conv/jury_tiny_output_conversation_level.csv\")" + "conversation_features = pd.read_csv(\"./output/conv/jury_tiny_output_conv_level.csv\")" ] }, { @@ -1380,7 +1997,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 20, "metadata": {}, "outputs": [ { @@ -1404,125 +2021,230 @@ " \n", " \n", " \n", - " average_1st_person\n", - " average_1st_person_pl\n", - " average_1st_person_start\n", - " average_2nd_person\n", - " average_2nd_person_start\n", - " average_Acknowledgement\n", - " average_Adverb_Limiter\n", - " average_Affirmation\n", - " average_Agreement\n", - " average_Apology\n", - " ...\n", - " stdev_verbs_lexical_per_100\n", - " stdev_word_TTR\n", - " stdev_work_lexical_per_100\n", - " sum_num_chars\n", - " sum_num_messages\n", - " sum_num_words\n", - " team_burstiness\n", " turn_taking_index\n", + " gini_coefficient_sum_num_words\n", + " gini_coefficient_sum_num_chars\n", + " gini_coefficient_sum_num_messages\n", + " team_burstiness\n", + " average_positive_bert\n", + " stdev_positive_bert\n", + " min_positive_bert\n", + " max_positive_bert\n", + " average_negative_bert\n", + " ...\n", + " stdev_user_avg_forward_flow\n", + " min_user_avg_forward_flow\n", + " max_user_avg_forward_flow\n", + " info_diversity\n", + " discursive_diversity\n", " variance_in_DD\n", + " incongruent_modulation\n", " within_person_disc_range\n", + " message_original\n", + " message_lower_with_punc\n", " \n", " \n", " \n", " \n", " 0\n", - " 0.134615\n", - " 0.057692\n", - " 0.480769\n", - " 0.057692\n", - " 0.038462\n", - " 0.057692\n", - " 0.057692\n", - " 0.076923\n", - " 0.057692\n", - " 0.0\n", - " ...\n", - " 0.026054\n", - " 0.075993\n", - " 0.007661\n", - " 4293\n", - " 52\n", - " 856\n", - " 0.037380\n", " 0.980392\n", - " 0.005223\n", - " 1.318740\n", + " 0.159463\n", + " 0.166055\n", + " 0.18750\n", + " 0.037380\n", + " 0.192184\n", + " 0.242023\n", + " 0.006599\n", + " 0.837152\n", + " 0.381502\n", + " ...\n", + " 0.052977\n", + " 0.485594\n", + " 0.645007\n", + " 0.282681\n", + " 0.406655\n", + " 0.004126\n", + " 0.060308\n", + " 1.303592\n", + " Hello!\n", + " hello!\n", " \n", " \n", " 1\n", - " 0.155556\n", - " 0.044444\n", - " 0.466667\n", - " 0.000000\n", - " 0.000000\n", - " 0.022222\n", - " 0.133333\n", - " 0.066667\n", - " 0.111111\n", - " 0.0\n", - " ...\n", - " 0.024980\n", - " 0.077148\n", - " 0.004661\n", - " 3460\n", - " 45\n", - " 659\n", - " -0.166857\n", " 1.000000\n", - " 0.002655\n", - " 0.967371\n", + " 0.125695\n", + " 0.124663\n", + " 0.27037\n", + " -0.166857\n", + " 0.134533\n", + " 0.188477\n", + " 0.005377\n", + " 0.845765\n", + " 0.415384\n", + " ...\n", + " 0.070613\n", + " 0.439604\n", + " 0.610393\n", + " 0.267039\n", + " 0.362725\n", + " 0.002987\n", + " 0.024873\n", + " 0.921299\n", + " hi\n", + " hi\n", " \n", " \n", "\n", - "

    2 rows × 1840 columns

    \n", + "

    2 rows × 1839 columns

    \n", "" ], "text/plain": [ - " average_1st_person average_1st_person_pl average_1st_person_start \\\n", - "0 0.134615 0.057692 0.480769 \n", - "1 0.155556 0.044444 0.466667 \n", + " turn_taking_index gini_coefficient_sum_num_words \\\n", + "0 0.980392 0.159463 \n", + "1 1.000000 0.125695 \n", "\n", - " average_2nd_person average_2nd_person_start average_Acknowledgement \\\n", - "0 0.057692 0.038462 0.057692 \n", - "1 0.000000 0.000000 0.022222 \n", + " gini_coefficient_sum_num_chars gini_coefficient_sum_num_messages \\\n", + "0 0.166055 0.18750 \n", + "1 0.124663 0.27037 \n", "\n", - " average_Adverb_Limiter average_Affirmation average_Agreement \\\n", - "0 0.057692 0.076923 0.057692 \n", - "1 0.133333 0.066667 0.111111 \n", + " team_burstiness average_positive_bert stdev_positive_bert \\\n", + "0 0.037380 0.192184 0.242023 \n", + "1 -0.166857 0.134533 0.188477 \n", "\n", - " average_Apology ... stdev_verbs_lexical_per_100 stdev_word_TTR \\\n", - "0 0.0 ... 0.026054 0.075993 \n", - "1 0.0 ... 0.024980 0.077148 \n", + " min_positive_bert max_positive_bert average_negative_bert ... \\\n", + "0 0.006599 0.837152 0.381502 ... \n", + "1 0.005377 0.845765 0.415384 ... \n", "\n", - " stdev_work_lexical_per_100 sum_num_chars sum_num_messages sum_num_words \\\n", - "0 0.007661 4293 52 856 \n", - "1 0.004661 3460 45 659 \n", + " stdev_user_avg_forward_flow min_user_avg_forward_flow \\\n", + "0 0.052977 0.485594 \n", + "1 0.070613 0.439604 \n", "\n", - " team_burstiness turn_taking_index variance_in_DD \\\n", - "0 0.037380 0.980392 0.005223 \n", - "1 -0.166857 1.000000 0.002655 \n", + " max_user_avg_forward_flow info_diversity discursive_diversity \\\n", + "0 0.645007 0.282681 0.406655 \n", + "1 0.610393 0.267039 0.362725 \n", "\n", - " within_person_disc_range \n", - "0 1.318740 \n", - "1 0.967371 \n", + " variance_in_DD incongruent_modulation within_person_disc_range \\\n", + "0 0.004126 0.060308 1.303592 \n", + "1 0.002987 0.024873 0.921299 \n", "\n", - "[2 rows x 1840 columns]" + " message_original message_lower_with_punc \n", + "0 Hello! hello! \n", + "1 hi hi \n", + "\n", + "[2 rows x 1839 columns]" ] }, - "execution_count": 18, + "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "conversation_cols = conversation_features.columns.difference(juries_df.columns)\n", + "# these are all the conversation features we generate, including aggregations\n", + "conversation_cols = jury_feature_builder.conv_features_all\n", "conversation_features[conversation_cols]" ] }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
    \n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
    turn_taking_indexgini_coefficient_sum_num_wordsgini_coefficient_sum_num_charsgini_coefficient_sum_num_messagesteam_burstinessteam_burstinessinfo_diversitydiscursive_diversityvariance_in_DDincongruent_modulationwithin_person_disc_range
    00.9803920.1594630.1660550.187500.0373800.0373800.2826810.4066550.0041260.0603081.303592
    11.0000000.1256950.1246630.27037-0.166857-0.1668570.2670390.3627250.0029870.0248730.921299
    \n", + "
    " + ], + "text/plain": [ + " turn_taking_index gini_coefficient_sum_num_words \\\n", + "0 0.980392 0.159463 \n", + "1 1.000000 0.125695 \n", + "\n", + " gini_coefficient_sum_num_chars gini_coefficient_sum_num_messages \\\n", + "0 0.166055 0.18750 \n", + "1 0.124663 0.27037 \n", + "\n", + " team_burstiness team_burstiness info_diversity discursive_diversity \\\n", + "0 0.037380 0.037380 0.282681 0.406655 \n", + "1 -0.166857 -0.166857 0.267039 0.362725 \n", + "\n", + " variance_in_DD incongruent_modulation within_person_disc_range \n", + "0 0.004126 0.060308 1.303592 \n", + "1 0.002987 0.024873 0.921299 " + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# and these are the conversation features that are not aggregations\n", + "conversation_features[jury_feature_builder.conv_features_base]" + ] + }, { "cell_type": "markdown", "metadata": {}, @@ -1532,7 +2254,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 22, "metadata": {}, "outputs": [ { @@ -1543,7 +2265,7 @@ "Name: team_burstiness, dtype: float64" ] }, - "execution_count": 19, + "execution_count": 22, "metadata": {}, "output_type": "execute_result" } @@ -1561,7 +2283,7 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 23, "metadata": {}, "outputs": [], "source": [ @@ -1584,7 +2306,7 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 24, "metadata": {}, "outputs": [ { @@ -1621,7 +2343,7 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 25, "metadata": {}, "outputs": [ { @@ -1673,9 +2395,9 @@ " 0\n", " 0\n", " niceRhino\n", - " 0.273887\n", - " 0.109928\n", - " 0.616185\n", + " 0.356771\n", + " 0.084720\n", + " 0.558509\n", " 15.875000\n", " 81.625000\n", " 1.0\n", @@ -1688,18 +2410,18 @@ " 0\n", " 2\n", " 0\n", - " 1.639970\n", - " 3.068143\n", - " 5.000301\n", + " 1.731247\n", + " 3.016273\n", + " 4.953423\n", " ['culturedCow' 'spryBison' 'youngLion' 'smallG...\n", " \n", " \n", " 1\n", " 0\n", " culturedCow\n", - " 0.102433\n", - " 0.501847\n", - " 0.395720\n", + " 0.161326\n", + " 0.495867\n", + " 0.342807\n", " 28.000000\n", " 145.000000\n", " 1.0\n", @@ -1712,18 +2434,18 @@ " 0\n", " 0\n", " 0\n", - " 1.819858\n", - " 2.478020\n", - " 2.591912\n", + " 1.823616\n", + " 2.494478\n", + " 2.539859\n", " ['niceRhino' 'spryBison' 'youngLion' 'smallGir...\n", " \n", " \n", " 2\n", " 0\n", " spryBison\n", - " 0.273171\n", - " 0.332005\n", - " 0.394824\n", + " 0.297614\n", + " 0.312863\n", + " 0.389523\n", " 9.777778\n", " 45.222222\n", " 1.0\n", @@ -1736,18 +2458,18 @@ " 0\n", " 0\n", " 0\n", - " 3.074910\n", - " 4.041765\n", - " 5.170760\n", + " 2.924477\n", + " 4.013453\n", + " 5.303996\n", " ['niceRhino' 'culturedCow' 'youngLion' 'smallG...\n", " \n", " \n", " 3\n", " 0\n", " youngLion\n", - " 0.073692\n", - " 0.559233\n", - " 0.367075\n", + " 0.083168\n", + " 0.558676\n", + " 0.358156\n", " 15.875000\n", " 78.375000\n", " 1.0\n", @@ -1760,18 +2482,18 @@ " 0\n", " 0\n", " 0\n", - " 3.693983\n", - " 3.680254\n", - " 4.783784\n", + " 3.689977\n", + " 3.647838\n", + " 4.762858\n", " ['niceRhino' 'culturedCow' 'spryBison' 'smallG...\n", " \n", " \n", " 4\n", " 0\n", " smallGiraffe\n", - " 0.124830\n", - " 0.427087\n", - " 0.448083\n", + " 0.172383\n", + " 0.423620\n", + " 0.403998\n", " 11.375000\n", " 55.375000\n", " 1.0\n", @@ -1784,18 +2506,18 @@ " 0\n", " 0\n", " 0\n", - " 2.361289\n", - " 3.814536\n", - " 4.433901\n", + " 2.305697\n", + " 3.786036\n", + " 4.647392\n", " ['niceRhino' 'culturedCow' 'spryBison' 'youngL...\n", " \n", " \n", " 5\n", " 0\n", " culturedBear\n", - " 0.140187\n", - " 0.162012\n", - " 0.697801\n", + " 0.144971\n", + " 0.174196\n", + " 0.680834\n", " 20.500000\n", " 99.666667\n", " 1.0\n", @@ -1808,18 +2530,18 @@ " 0\n", " 0\n", " 0\n", - " 1.569863\n", - " 2.638946\n", - " 2.922095\n", + " 1.531364\n", + " 2.634271\n", + " 2.913562\n", " ['niceRhino' 'culturedCow' 'spryBison' 'youngL...\n", " \n", " \n", " 6\n", " 0\n", " spryOrangutan\n", - " 0.098869\n", - " 0.611169\n", - " 0.289962\n", + " 0.103209\n", + " 0.648681\n", + " 0.248110\n", " 18.571429\n", " 93.857143\n", " 1.0\n", @@ -1832,18 +2554,18 @@ " 0\n", " 0\n", " 0\n", - " 1.805912\n", - " 2.607455\n", - " 4.516776\n", + " 1.961317\n", + " 2.603867\n", + " 4.515048\n", " ['niceRhino' 'culturedCow' 'spryBison' 'youngL...\n", " \n", " \n", " 7\n", " 0\n", " littleSquirrel\n", - " 0.015630\n", - " 0.459533\n", - " 0.524838\n", + " 0.017574\n", + " 0.420926\n", + " 0.561500\n", " 30.000000\n", " 183.000000\n", " 1.0\n", @@ -1856,18 +2578,18 @@ " 0\n", " 0\n", " 0\n", - " 0.309424\n", - " 0.327158\n", - " 0.521013\n", + " 0.308643\n", + " 0.327093\n", + " 0.521758\n", " ['niceRhino' 'culturedCow' 'spryBison' 'youngL...\n", " \n", " \n", " 8\n", " 1\n", " newLion\n", - " 0.092814\n", - " 0.381585\n", - " 0.525602\n", + " 0.095934\n", + " 0.386197\n", + " 0.517869\n", " 6.333333\n", " 36.083333\n", " 1.0\n", @@ -1880,18 +2602,18 @@ " 0\n", " 0\n", " 0\n", - " 2.840763\n", - " 2.297269\n", - " 7.079996\n", + " 2.755768\n", + " 2.274712\n", + " 7.213783\n", " ['likelyRabbit' 'conventionalMonkey' 'littleCo...\n", " \n", " \n", " 9\n", " 1\n", " likelyRabbit\n", - " 0.237099\n", - " 0.298989\n", - " 0.463913\n", + " 0.280653\n", + " 0.293505\n", + " 0.425842\n", " 11.000000\n", " 55.444444\n", " 1.0\n", @@ -1904,18 +2626,18 @@ " 0\n", " 0\n", " 0\n", - " 2.471947\n", - " 1.657061\n", - " 5.515881\n", + " 2.443192\n", + " 1.628115\n", + " 5.493533\n", " ['newLion' 'conventionalMonkey' 'littleCow' 'n...\n", " \n", " \n", " 10\n", " 1\n", " conventionalMonkey\n", - " 0.073831\n", - " 0.469623\n", - " 0.456546\n", + " 0.079966\n", + " 0.515654\n", + " 0.404380\n", " 14.083333\n", " 75.250000\n", " 1.0\n", @@ -1928,18 +2650,18 @@ " 1\n", " 0\n", " 0\n", - " 2.324324\n", - " 2.544707\n", - " 6.865593\n", + " 2.260409\n", + " 2.522178\n", + " 6.896428\n", " ['newLion' 'likelyRabbit' 'littleCow' 'newPand...\n", " \n", " \n", " 11\n", " 1\n", " littleCow\n", - " 0.113970\n", - " 0.544537\n", - " 0.341493\n", + " 0.144622\n", + " 0.530565\n", + " 0.324812\n", " 25.250000\n", " 128.250000\n", " 1.0\n", @@ -1952,18 +2674,18 @@ " 0\n", " 0\n", " 0\n", - " 0.980274\n", - " 0.611583\n", - " 1.816545\n", + " 0.973790\n", + " 0.595699\n", + " 1.758415\n", " ['newLion' 'likelyRabbit' 'conventionalMonkey'...\n", " \n", " \n", " 12\n", " 1\n", " newPanda\n", - " 0.051978\n", - " 0.429207\n", - " 0.518815\n", + " 0.062017\n", + " 0.439835\n", + " 0.498147\n", " 21.600000\n", " 113.600000\n", " 1.0\n", @@ -1976,18 +2698,18 @@ " 0\n", " 0\n", " 0\n", - " 1.961948\n", - " 1.112893\n", - " 2.242426\n", + " 1.933344\n", + " 1.103848\n", + " 2.211212\n", " ['newLion' 'likelyRabbit' 'conventionalMonkey'...\n", " \n", " \n", " 13\n", " 1\n", " likelyGorilla\n", - " 0.185777\n", - " 0.328654\n", - " 0.485568\n", + " 0.176243\n", + " 0.302361\n", + " 0.521397\n", " 35.333333\n", " 181.333333\n", " 1.0\n", @@ -2000,9 +2722,9 @@ " 0\n", " 0\n", " 0\n", - " 0.936843\n", - " 0.673729\n", - " 1.492236\n", + " 0.949753\n", + " 0.670097\n", + " 1.521269\n", " ['newLion' 'likelyRabbit' 'conventionalMonkey'...\n", " \n", " \n", @@ -2012,36 +2734,36 @@ ], "text/plain": [ " conversation_num speaker_nickname average_positive_bert \\\n", - "0 0 niceRhino 0.273887 \n", - "1 0 culturedCow 0.102433 \n", - "2 0 spryBison 0.273171 \n", - "3 0 youngLion 0.073692 \n", - "4 0 smallGiraffe 0.124830 \n", - "5 0 culturedBear 0.140187 \n", - "6 0 spryOrangutan 0.098869 \n", - "7 0 littleSquirrel 0.015630 \n", - "8 1 newLion 0.092814 \n", - "9 1 likelyRabbit 0.237099 \n", - "10 1 conventionalMonkey 0.073831 \n", - "11 1 littleCow 0.113970 \n", - "12 1 newPanda 0.051978 \n", - "13 1 likelyGorilla 0.185777 \n", + "0 0 niceRhino 0.356771 \n", + "1 0 culturedCow 0.161326 \n", + "2 0 spryBison 0.297614 \n", + "3 0 youngLion 0.083168 \n", + "4 0 smallGiraffe 0.172383 \n", + "5 0 culturedBear 0.144971 \n", + "6 0 spryOrangutan 0.103209 \n", + "7 0 littleSquirrel 0.017574 \n", + "8 1 newLion 0.095934 \n", + "9 1 likelyRabbit 0.280653 \n", + "10 1 conventionalMonkey 0.079966 \n", + "11 1 littleCow 0.144622 \n", + "12 1 newPanda 0.062017 \n", + "13 1 likelyGorilla 0.176243 \n", "\n", " average_negative_bert average_neutral_bert average_num_words \\\n", - "0 0.109928 0.616185 15.875000 \n", - "1 0.501847 0.395720 28.000000 \n", - "2 0.332005 0.394824 9.777778 \n", - "3 0.559233 0.367075 15.875000 \n", - "4 0.427087 0.448083 11.375000 \n", - "5 0.162012 0.697801 20.500000 \n", - "6 0.611169 0.289962 18.571429 \n", - "7 0.459533 0.524838 30.000000 \n", - "8 0.381585 0.525602 6.333333 \n", - "9 0.298989 0.463913 11.000000 \n", - "10 0.469623 0.456546 14.083333 \n", - "11 0.544537 0.341493 25.250000 \n", - "12 0.429207 0.518815 21.600000 \n", - "13 0.328654 0.485568 35.333333 \n", + "0 0.084720 0.558509 15.875000 \n", + "1 0.495867 0.342807 28.000000 \n", + "2 0.312863 0.389523 9.777778 \n", + "3 0.558676 0.358156 15.875000 \n", + "4 0.423620 0.403998 11.375000 \n", + "5 0.174196 0.680834 20.500000 \n", + "6 0.648681 0.248110 18.571429 \n", + "7 0.420926 0.561500 30.000000 \n", + "8 0.386197 0.517869 6.333333 \n", + "9 0.293505 0.425842 11.000000 \n", + "10 0.515654 0.404380 14.083333 \n", + "11 0.530565 0.324812 25.250000 \n", + "12 0.439835 0.498147 21.600000 \n", + "13 0.302361 0.521397 35.333333 \n", "\n", " average_num_chars average_num_messages \\\n", "0 81.625000 1.0 \n", @@ -2108,41 +2830,41 @@ "13 3 0 0 \n", "\n", " sum_num_parentheses sum_num_emoji sum_mimicry_bert sum_moving_mimicry \\\n", - "0 2 0 1.639970 3.068143 \n", - "1 0 0 1.819858 2.478020 \n", - "2 0 0 3.074910 4.041765 \n", - "3 0 0 3.693983 3.680254 \n", - "4 0 0 2.361289 3.814536 \n", - "5 0 0 1.569863 2.638946 \n", - "6 0 0 1.805912 2.607455 \n", - "7 0 0 0.309424 0.327158 \n", - "8 0 0 2.840763 2.297269 \n", - "9 0 0 2.471947 1.657061 \n", - "10 0 0 2.324324 2.544707 \n", - "11 0 0 0.980274 0.611583 \n", - "12 0 0 1.961948 1.112893 \n", - "13 0 0 0.936843 0.673729 \n", + "0 2 0 1.731247 3.016273 \n", + "1 0 0 1.823616 2.494478 \n", + "2 0 0 2.924477 4.013453 \n", + "3 0 0 3.689977 3.647838 \n", + "4 0 0 2.305697 3.786036 \n", + "5 0 0 1.531364 2.634271 \n", + "6 0 0 1.961317 2.603867 \n", + "7 0 0 0.308643 0.327093 \n", + "8 0 0 2.755768 2.274712 \n", + "9 0 0 2.443192 1.628115 \n", + "10 0 0 2.260409 2.522178 \n", + "11 0 0 0.973790 0.595699 \n", + "12 0 0 1.933344 1.103848 \n", + "13 0 0 0.949753 0.670097 \n", "\n", " sum_forward_flow user_list \n", - "0 5.000301 ['culturedCow' 'spryBison' 'youngLion' 'smallG... \n", - "1 2.591912 ['niceRhino' 'spryBison' 'youngLion' 'smallGir... \n", - "2 5.170760 ['niceRhino' 'culturedCow' 'youngLion' 'smallG... \n", - "3 4.783784 ['niceRhino' 'culturedCow' 'spryBison' 'smallG... \n", - "4 4.433901 ['niceRhino' 'culturedCow' 'spryBison' 'youngL... \n", - "5 2.922095 ['niceRhino' 'culturedCow' 'spryBison' 'youngL... \n", - "6 4.516776 ['niceRhino' 'culturedCow' 'spryBison' 'youngL... \n", - "7 0.521013 ['niceRhino' 'culturedCow' 'spryBison' 'youngL... \n", - "8 7.079996 ['likelyRabbit' 'conventionalMonkey' 'littleCo... \n", - "9 5.515881 ['newLion' 'conventionalMonkey' 'littleCow' 'n... \n", - "10 6.865593 ['newLion' 'likelyRabbit' 'littleCow' 'newPand... \n", - "11 1.816545 ['newLion' 'likelyRabbit' 'conventionalMonkey'... \n", - "12 2.242426 ['newLion' 'likelyRabbit' 'conventionalMonkey'... \n", - "13 1.492236 ['newLion' 'likelyRabbit' 'conventionalMonkey'... \n", + "0 4.953423 ['culturedCow' 'spryBison' 'youngLion' 'smallG... \n", + "1 2.539859 ['niceRhino' 'spryBison' 'youngLion' 'smallGir... \n", + "2 5.303996 ['niceRhino' 'culturedCow' 'youngLion' 'smallG... \n", + "3 4.762858 ['niceRhino' 'culturedCow' 'spryBison' 'smallG... \n", + "4 4.647392 ['niceRhino' 'culturedCow' 'spryBison' 'youngL... \n", + "5 2.913562 ['niceRhino' 'culturedCow' 'spryBison' 'youngL... \n", + "6 4.515048 ['niceRhino' 'culturedCow' 'spryBison' 'youngL... \n", + "7 0.521758 ['niceRhino' 'culturedCow' 'spryBison' 'youngL... \n", + "8 7.213783 ['likelyRabbit' 'conventionalMonkey' 'littleCo... \n", + "9 5.493533 ['newLion' 'conventionalMonkey' 'littleCow' 'n... \n", + "10 6.896428 ['newLion' 'likelyRabbit' 'littleCow' 'newPand... \n", + "11 1.758415 ['newLion' 'likelyRabbit' 'conventionalMonkey'... \n", + "12 2.211212 ['newLion' 'likelyRabbit' 'conventionalMonkey'... \n", + "13 1.521269 ['newLion' 'likelyRabbit' 'conventionalMonkey'... \n", "\n", "[14 rows x 307 columns]" ] }, - "execution_count": 22, + "execution_count": 25, "metadata": {}, "output_type": "execute_result" } @@ -2172,7 +2894,7 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 26, "metadata": {}, "outputs": [ { @@ -2206,31 +2928,31 @@ " 6\n", " 0\n", " spryOrangutan\n", - " 0.611169\n", + " 0.648681\n", " \n", " \n", " 3\n", " 0\n", " youngLion\n", - " 0.559233\n", + " 0.558676\n", " \n", " \n", " 11\n", " 1\n", " littleCow\n", - " 0.544537\n", - " \n", - " \n", - " 1\n", - " 0\n", - " culturedCow\n", - " 0.501847\n", + " 0.530565\n", " \n", " \n", " 10\n", " 1\n", " conventionalMonkey\n", - " 0.469623\n", + " 0.515654\n", + " \n", + " \n", + " 1\n", + " 0\n", + " culturedCow\n", + " 0.495867\n", " \n", " \n", "\n", @@ -2238,14 +2960,14 @@ ], "text/plain": [ " conversation_num speaker_nickname average_negative_bert\n", - "6 0 spryOrangutan 0.611169\n", - "3 0 youngLion 0.559233\n", - "11 1 littleCow 0.544537\n", - "1 0 culturedCow 0.501847\n", - "10 1 conventionalMonkey 0.469623" + "6 0 spryOrangutan 0.648681\n", + "3 0 youngLion 0.558676\n", + "11 1 littleCow 0.530565\n", + "10 1 conventionalMonkey 0.515654\n", + "1 0 culturedCow 0.495867" ] }, - "execution_count": 23, + "execution_count": 26, "metadata": {}, "output_type": "execute_result" } @@ -2257,7 +2979,7 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": 27, "metadata": {}, "outputs": [ { @@ -2321,7 +3043,7 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": 28, "metadata": {}, "outputs": [ { @@ -2355,31 +3077,31 @@ " 0\n", " 0\n", " niceRhino\n", - " 0.109928\n", + " 0.084720\n", " \n", " \n", " 5\n", " 0\n", " culturedBear\n", - " 0.162012\n", + " 0.174196\n", " \n", " \n", " 9\n", " 1\n", " likelyRabbit\n", - " 0.298989\n", + " 0.293505\n", " \n", " \n", " 13\n", " 1\n", " likelyGorilla\n", - " 0.328654\n", + " 0.302361\n", " \n", " \n", " 2\n", " 0\n", " spryBison\n", - " 0.332005\n", + " 0.312863\n", " \n", " \n", "\n", @@ -2387,14 +3109,14 @@ ], "text/plain": [ " conversation_num speaker_nickname average_negative_bert\n", - "0 0 niceRhino 0.109928\n", - "5 0 culturedBear 0.162012\n", - "9 1 likelyRabbit 0.298989\n", - "13 1 likelyGorilla 0.328654\n", - "2 0 spryBison 0.332005" + "0 0 niceRhino 0.084720\n", + "5 0 culturedBear 0.174196\n", + "9 1 likelyRabbit 0.293505\n", + "13 1 likelyGorilla 0.302361\n", + "2 0 spryBison 0.312863" ] }, - "execution_count": 25, + "execution_count": 28, "metadata": {}, "output_type": "execute_result" } @@ -2406,7 +3128,7 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": 29, "metadata": {}, "outputs": [ { diff --git a/examples/featurize.py b/examples/featurize.py index cb751e6f..adfa781a 100644 --- a/examples/featurize.py +++ b/examples/featurize.py @@ -42,38 +42,48 @@ input_df = tiny_juries_df, grouping_keys = ["batch_num", "round_num"], vector_directory = "./vector_data/", - output_file_path_chat_level = "./jury_TINY_output_chat_level.csv", - output_file_path_user_level = "./jury_TINY_output_user_level.csv", - output_file_path_conv_level = "./jury_TINY_output_conversation_level.csv", - turns = False + output_file_base = "jury_TINY_output", # Naming output files using the output_file_base parameter (recommended) + turns = False, + custom_features = [ + "(BERT) Mimicry", + "Moving Mimicry", + "Forward Flow", + "Discursive Diversity"] ) - tiny_juries_feature_builder.featurize(col="message") + tiny_juries_feature_builder.featurize() # Tiny multi-task tiny_multi_task_feature_builder = FeatureBuilder( input_df = tiny_multi_task_df, conversation_id_col = "stageId", vector_directory = "./vector_data/", + # alternatively, you can name each output file separately. NOTE, however, that we don't directly use this path; + # we modify the path to place outputs within the `output/chat`, `output/conv`, and `output/user` folders. output_file_path_chat_level = "./multi_task_TINY_output_chat_level_stageId_cumulative.csv", output_file_path_user_level = "./multi_task_TINY_output_user_level_stageId_cumulative.csv", output_file_path_conv_level = "./multi_task_TINY_output_conversation_level_stageId_cumulative.csv", turns = False ) - tiny_multi_task_feature_builder.featurize(col="message") + tiny_multi_task_feature_builder.featurize() # FULL DATASETS BELOW ------------------------------------- # # Juries # jury_feature_builder = FeatureBuilder( # input_df = juries_df, - # grouping_keys = ["batch_num", "round_num"], + # grouping_keys = ["batch_num", "round_num"], # vector_directory = "./vector_data/", # output_file_path_chat_level = "./jury_output_chat_level.csv", # output_file_path_user_level = "./jury_output_user_level.csv", # output_file_path_conv_level = "./jury_output_conversation_level.csv", - # turns = True + # turns = True, + # custom_features = [ + # "(BERT) Mimicry", + # "Moving Mimicry", + # "Forward Flow", + # "Discursive Diversity"] # ) - # jury_feature_builder.featurize(col="message") + # jury_feature_builder.featurize() # # CSOP (Abdullah) # csop_feature_builder = FeatureBuilder( @@ -84,7 +94,7 @@ # output_file_path_conv_level = "./csop_output_conversation_level.csv", # turns = True # ) - # csop_feature_builder.featurize(col="message") + # csop_feature_builder.featurize() # # CSOP II (Nak Won Rim) @@ -96,4 +106,4 @@ # output_file_path_conv_level = "./csopII_output_conversation_level.csv", # turns = True # ) - # csopII_feature_builder.featurize(col="message") + # csopII_feature_builder.featurize() diff --git a/pyproject.toml b/pyproject.toml index 9122dc06..229cd3c0 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -6,7 +6,7 @@ build-backend = "setuptools.build_meta" [project] name = "team_comm_tools" -version = "0.1.3" +version = "0.1.4" requires-python = ">= 3.10" dependencies = [ "chardet>=3.0.4", @@ -14,7 +14,7 @@ dependencies = [ "emoji==1.7.0", "flask==3.0.3", "gensim>=4.3.3", - "nltk==3.8.1", + "nltk==3.9.1", "numpy<2.0.0", "pandas==2.2.2", "pyphen==0.14.0", @@ -36,6 +36,7 @@ dependencies = [ "torchaudio==2.4.1", "torchvision==0.19.1", "transformers==4.44.0", + "tqdm>=4.66.5", "tzdata>=2023.3", "tzlocal==5.2" ] @@ -65,4 +66,4 @@ where = ["src"] 'features/lexicons/function_words.txt', 'features/lexicons/question_words.txt', 'features/assets/*' -] \ No newline at end of file +] diff --git a/requirements.txt b/requirements.txt index 0135f3c1..3c570b21 100644 --- a/requirements.txt +++ b/requirements.txt @@ -3,7 +3,7 @@ convokit==3.0.0 emoji==1.7.0 flask==3.0.3 gensim>=4.3.3 -nltk==3.8.1 +nltk==3.9.1 numpy<2.0.0 pandas==2.2.2 pyphen==0.14.0 @@ -25,5 +25,6 @@ torch==2.4.1 torchaudio==2.4.1 torchvision==0.19.1 transformers==4.44.0 +tqdm>=4.66.5 tzdata>=2023.3 -tzlocal==5.2 \ No newline at end of file +tzlocal==5.2 diff --git a/setup.sh b/setup.sh index 3ed17bc7..d414f334 100755 --- a/setup.sh +++ b/setup.sh @@ -21,7 +21,7 @@ echo "Running import_nltk.py..." python -c " import nltk nltk.download('nps_chat') -nltk.download('punkt') +nltk.download('punkt_tab') nltk.download('stopwords') nltk.download('wordnet') " diff --git a/src/team_comm_tools/feature_builder.py b/src/team_comm_tools/feature_builder.py index 54fced50..cb3500d9 100644 --- a/src/team_comm_tools/feature_builder.py +++ b/src/team_comm_tools/feature_builder.py @@ -8,6 +8,7 @@ from pathlib import Path import time import itertools +import warnings # Imports from feature files and classes from team_comm_tools.utils.download_resources import download @@ -28,16 +29,19 @@ class FeatureBuilder: :param input_df: A pandas DataFrame containing the conversation data that you wish to featurize. :type input_df: pd.DataFrame - :param vector_directory: Directory path where the vectors are to be cached. + :param vector_directory: Directory path where the vectors are to be cached. Defaults to "./vector_data/" :type vector_directory: str + + :param output_file_base: Base name for the output files, which will be used to auto-generate filenames for each of the three levels. Defaults to "output." + :type output_file_base: str - :param output_file_path_chat_level: Path where the chat (utterance)-level output csv file is to be generated. + :param output_file_path_chat_level: Path where the chat (utterance)-level output csv file is to be generated. (This parameter will override the base name.) :type output_file_path_chat_level: str - :param output_file_path_user_level: Path where the user (speaker)-level output csv file is to be generated. + :param output_file_path_user_level: Path where the user (speaker)-level output csv file is to be generated. (This parameter will override the base name.) :type output_file_path_user_level: str - :param output_file_path_conv_level: Path where the conversation-level output csv file is to be generated. + :param output_file_path_conv_level: Path where the conversation-level output csv file is to be generated. (This parameter will override the base name.) :type output_file_path_conv_level: str :param custom_features: A list of additional features outside of the default features that should be calculated. @@ -85,6 +89,9 @@ class FeatureBuilder: :param regenerate_vectors: If true, will regenerate vector data even if it already exists. Defaults to False. :type regenerate_vectors: bool, optional + :param compute_vectors_from_preprocessed: If true, computes vectors using preprocessed text (that is, with capitalization and punctuation removed). This was the default behavior for v.0.1.3 and earlier, but we now default to computing metrics on the unpreprocessed text (which INCLUDES capitalization and punctuation). Defaults to False. + :type compute_vectors_from_preprocessed: bool, optional + :return: The FeatureBuilder doesn't return anything; instead, it writes the generated features to files in the specified paths. It will also print out its progress, so you should see "All Done!" in the terminal, which will indicate that the features have been generated. :rtype: None @@ -92,12 +99,13 @@ class FeatureBuilder: def __init__( self, input_df: pd.DataFrame, - vector_directory: str, - output_file_path_chat_level: str, - output_file_path_user_level: str, - output_file_path_conv_level: str, + vector_directory: "./vector_data/", + output_file_base = "output", + output_file_path_chat_level = None, + output_file_path_user_level = None, + output_file_path_conv_level = None, custom_features: list = [], - analyze_first_pct: list = [1.0], + analyze_first_pct: list = [1.0], turns: bool=False, conversation_id_col: str = "conversation_num", speaker_id_col: str = "speaker_nickname", @@ -108,17 +116,17 @@ def __init__( within_task = False, ner_training_df: pd.DataFrame = None, ner_cutoff: int = 0.9, - regenerate_vectors: bool = False + regenerate_vectors: bool = False, + compute_vectors_from_preprocessed: bool = False ) -> None: - # Defining input and output paths. + # Defining input and output paths. self.chat_data = input_df.copy() self.orig_data = input_df.copy() self.ner_training = ner_training_df self.vector_directory = vector_directory + print("Initializing Featurization...") - self.output_file_path_conv_level = output_file_path_conv_level - self.output_file_path_user_level = output_file_path_user_level # Set features to generate # TODO --- think through more carefully which ones we want to exclude and why @@ -171,10 +179,16 @@ def __init__( invalid_features_str = ', '.join(invalid_features) print(f"WARNING: Invalid custom features provided. Ignoring `{invalid_features_str}`.") + # keep track of which features we are generating + self.feature_names = self.default_features + self.custom_features + # remove named entities if we didn't pass in the column + if(self.ner_training is None): + self.feature_names.remove("Named Entity Recognition") + # deduplicate functions and append them into a list for calculation self.feature_methods_chat = [] self.feature_methods_conv = [] - for feature in self.default_features + self.custom_features: + for feature in self.feature_names: level, func = self.feature_dict[feature]["level"], self.feature_dict[feature]['function'] if level == 'Chat': if func not in self.feature_methods_chat: @@ -183,13 +197,6 @@ def __init__( if func not in self.feature_methods_conv: self.feature_methods_conv.append(func) - # Basic error detetection - # user didn't specify a file name, or specified one with only nonalphanumeric chars - if not bool(self.output_file_path_conv_level) or not bool(re.sub('[^A-Za-z0-9_]', '', self.output_file_path_conv_level)): - raise ValueError("ERROR: Improper conversation-level output file name detected.") - if not bool(self.output_file_path_user_level) or not bool(re.sub('[^A-Za-z0-9_]', '', self.output_file_path_user_level)): - raise ValueError("ERROR: Improper user (speaker)-level output file name detected.") - # drop all columns that are in our generated feature set --- we don't want to create confusion! chat_features = list(itertools.chain(*[self.feature_dict[feature]["columns"] for feature in self.feature_dict.keys() if self.feature_dict[feature]["level"] == "Chat"])) columns_to_drop = [col for col in chat_features if col in self.chat_data.columns] @@ -218,29 +225,34 @@ def __init__( self.ner_cutoff = ner_cutoff self.regenerate_vectors = regenerate_vectors + if(compute_vectors_from_preprocessed == True): + self.vector_colname = self.message_col # because the message col will eventually get preprocessed + else: + self.vector_colname = self.message_col + "_original" # because this contains the original message + # check grouping rules if self.conversation_id_col not in self.chat_data.columns and len(self.grouping_keys)==0: if(self.conversation_id_col == "conversation_num"): raise ValueError("Conversation identifier not present in data. Did you perhaps forget to pass in a `conversation_id_col`?") raise ValueError("Conversation identifier not present in data.") if self.cumulative_grouping and len(grouping_keys) == 0: - print("WARNING: No grouping keys provided. Ignoring `cumulative_grouping` argument.") + warnings.warn("WARNING: No grouping keys provided. Ignoring `cumulative_grouping` argument.") self.cumulative_grouping = False if self.cumulative_grouping and len(grouping_keys) != 3: - print("WARNING: Can only perform cumulative grouping for three-layer nesting. Ignoring cumulative command and grouping by unique combinations in the grouping_keys.") + warnings.warn("WARNING: Can only perform cumulative grouping for three-layer nesting. Ignoring cumulative command and grouping by unique combinations in the grouping_keys.") self.cumulative_grouping = False self.conversation_id_col = "conversation_num" if self.cumulative_grouping and self.conversation_id_col not in self.grouping_keys: raise ValueError("Conversation identifier for cumulative grouping must be one of the grouping keys.") if self.grouping_keys and not self.cumulative_grouping and self.conversation_id_col != "conversation_num": - print("WARNING: When grouping by the unique combination of a list of keys (`grouping_keys`), the conversation identifier must be auto-generated (`conversation_num`) rather than a user-provided column. Resetting conversation_id.") + warnings.warn("WARNING: When grouping by the unique combination of a list of keys (`grouping_keys`), the conversation identifier must be auto-generated (`conversation_num`) rather than a user-provided column. Resetting conversation_id.") self.conversation_id_col = "conversation_num" self.preprocess_chat_data() # set new identifier column for cumulative grouping. if self.cumulative_grouping and len(grouping_keys) == 3: - print("NOTE: User has requested cumulative grouping. Auto-generating the key `conversation_num` as the conversation identifier for cumulative convrersations.") + warnings.warn("NOTE: User has requested cumulative grouping. Auto-generating the key `conversation_num` as the conversation identifier for cumulative conversations.") self.conversation_id_col = "conversation_num" # Input columns are the columns that come in the raw chat data @@ -268,8 +280,33 @@ def __init__( - The inputted file name must be a valid, non-empty string - The inputted file name must not contain only special characters with no alphanumeric component """ + + # Use the output_file_base parameter to auto-generate paths (since we have a lot of assumptions in how the output path looks) + self.output_file_path_chat_level = output_file_path_chat_level + self.output_file_path_conv_level = output_file_path_conv_level + self.output_file_path_user_level = output_file_path_user_level + + # Ensure output_file_base is alphanumeric + hyphens + if(re.sub('[^A-Za-z0-9_]', '', output_file_base) != output_file_base): + print('here1') + output_file_base = re.sub('[^A-Za-z0-9_]', '', output_file_base) + warnings.warn("WARNING: Special characters detected in output_file_base. These characters have been automatically removed.") + + if self.output_file_path_chat_level is None: + self.output_file_path_chat_level = "./" + output_file_base + "_chat_level.csv" + if self.output_file_path_conv_level is None: + self.output_file_path_conv_level = "./" + output_file_base + "_conv_level.csv" + if self.output_file_path_user_level is None: + self.output_file_path_user_level = "./" + output_file_base + "_user_level.csv" + + # Basic error detetection + if not bool(self.output_file_path_conv_level) or not bool(re.sub('[^A-Za-z0-9_]', '', self.output_file_path_conv_level)): + raise ValueError("ERROR: Improper conversation-level output file name detected.") + if not bool(self.output_file_path_user_level) or not bool(re.sub('[^A-Za-z0-9_]', '', self.output_file_path_user_level)): + raise ValueError("ERROR: Improper user (speaker)-level output file name detected.") + # We assume that the base file name is the last item in the output path; we will use this to name the stored vectors. - if ('/' not in output_file_path_chat_level or + if ('/' not in self.output_file_path_chat_level or '/' not in self.output_file_path_conv_level or '/' not in self.output_file_path_user_level): raise ValueError( @@ -282,7 +319,7 @@ def __init__( ) try: - base_file_name = output_file_path_chat_level.split("/")[-1] + base_file_name = self.output_file_path_chat_level.split("/")[-1] except: raise ValueError("ERROR: Improper chat-level output file name detected.") @@ -290,18 +327,18 @@ def __init__( raise ValueError("ERROR: Improper chat-level output file name detected.") try: - folder_type_name = output_file_path_chat_level.split("/")[-2] + folder_type_name = self.output_file_path_chat_level.split("/")[-2] except IndexError: # user didn't specify a folder, so we will have to append it for them folder_type_name = "turn" if self.turns else "chat" - output_file_path_chat_level = '/'.join(output_file_path_chat_level.split("/")[:-1]) + '/' + folder_type_name + '/' + base_file_name + self.output_file_path_chat_level = '/'.join(self.output_file_path_chat_level.split("/")[:-1]) + '/' + folder_type_name + '/' + base_file_name # We check whether the second to last item is a "folder type": either chat or turn. if folder_type_name not in ["chat", "turn"]: # user didn't specify the folder type, so we will append it for them folder_type_name = "turn" if self.turns else "chat" - output_file_path_chat_level = '/'.join(output_file_path_chat_level.split("/")[:-1]) + '/' + folder_type_name + '/' + base_file_name + self.output_file_path_chat_level = '/'.join(self.output_file_path_chat_level.split("/")[:-1]) + '/' + folder_type_name + '/' + base_file_name # Set file paths, ensuring correct subfolder type is added. - self.output_file_path_chat_level = re.sub(r'chat', r'turn', output_file_path_chat_level) if self.turns else output_file_path_chat_level + self.output_file_path_chat_level = re.sub(r'chat', r'turn', self.output_file_path_chat_level) if self.turns else self.output_file_path_chat_level if self.output_file_path_chat_level.split(".")[-1] != "csv": self.output_file_path_chat_level = self.output_file_path_chat_level + ".csv" if not re.match(r"(.*\/|^)conv\/", self.output_file_path_conv_level): @@ -338,7 +375,7 @@ def __init__( if(not need_sentiment and feature_dict[feature]["bert_sentiment_data"]): need_sentiment = True - check_embeddings(self.chat_data, self.vect_path, self.bert_path, need_sentence, need_sentiment, self.regenerate_vectors, self.message_col) + check_embeddings(self.chat_data, self.vect_path, self.bert_path, need_sentence, need_sentiment, self.regenerate_vectors, message_col = self.vector_colname) if(need_sentence): self.vect_data = pd.read_csv(self.vect_path, encoding='mac_roman') @@ -401,7 +438,7 @@ def merge_conv_data_with_original(self) -> None: if {'index'}.issubset(self.conv_data.columns): self.conv_data = self.conv_data.drop(columns=['index']) - def featurize(self, col: str="message") -> None: + def featurize(self) -> None: """ Main driver function for feature generation. @@ -410,9 +447,6 @@ def featurize(self, col: str="message") -> None: conversation-level features. Finally, the features are saved into the designated output files. - :param col: Column to preprocess, defaults to "message" - :type col: str, optional - :return: None :rtype: None """ @@ -465,6 +499,12 @@ def featurize(self, col: str="message") -> None: # Step 4. Write the feartures into the files defined in the output paths. print("All Done!") + + # Store column names of what we generated, so that the user can easily access them + self.chat_features = list(itertools.chain(*[feature_dict[feature]["columns"] for feature in self.feature_names if feature_dict[feature]["level"] == "Chat"])) + self.conv_features_base = list(itertools.chain(*[feature_dict[feature]["columns"] for feature in self.feature_names if feature_dict[feature]["level"] == "Conversation"])) + self.conv_features_all = [col for col in self.conv_data if col not in self.orig_data and col != 'conversation_num'] + self.save_features() def preprocess_chat_data(self) -> None: @@ -494,7 +534,7 @@ def preprocess_chat_data(self) -> None: # create new column that retains punctuation self.chat_data["message_lower_with_punc"] = self.chat_data[self.message_col].astype(str).apply(preprocess_text_lowercase_but_retain_punctuation) - # Preprocessing the text in `col` and then overwriting the column `col`. + # Preprocessing the text in `message_col` and then overwriting the column `message_col`. # TODO: We should probably use classes to abstract preprocessing module as well? self.chat_data[self.message_col] = self.chat_data[self.message_col].astype(str).apply(preprocess_text) diff --git a/src/team_comm_tools/feature_dict.py b/src/team_comm_tools/feature_dict.py index 90fd4377..5b557091 100644 --- a/src/team_comm_tools/feature_dict.py +++ b/src/team_comm_tools/feature_dict.py @@ -1,9 +1,10 @@ -from .utils.calculate_chat_level_features import ChatLevelFeaturesCalculator -from .utils.calculate_conversation_level_features import ConversationLevelFeaturesCalculator -from .utils.preprocess import * +from team_comm_tools.utils.calculate_chat_level_features import ChatLevelFeaturesCalculator +from team_comm_tools.utils.calculate_conversation_level_features import ConversationLevelFeaturesCalculator +from team_comm_tools.utils.preprocess import * from flask import Flask, jsonify import json +import sys app = Flask(__name__) @@ -89,61 +90,61 @@ }, "LIWC and Other Lexicons": { "columns": [ - "discrepancies_lexical_per_100", - "hear_lexical_per_100", - "home_lexical_per_100", - "conjunction_lexical_per_100", - "certainty_lexical_per_100", - "inclusive_lexical_per_100", - "bio_lexical_per_100", - "achievement_lexical_per_100", - "adverbs_lexical_per_100", - "anxiety_lexical_per_100", - "third_person_lexical_per_100", - "negation_lexical_per_100", - "swear_lexical_per_100", - "death_lexical_per_100", - "health_lexical_per_100", - "see_lexical_per_100", - "body_lexical_per_100", - "family_lexical_per_100", - "negative_affect_lexical_per_100", - "quantifier_lexical_per_100", - "positive_affect_lexical_per_100", - "insight_lexical_per_100", - "humans_lexical_per_100", - "present_tense_lexical_per_100", - "future_tense_lexical_per_100", - "past_tense_lexical_per_100", - "relative_lexical_per_100", - "sexual_lexical_per_100", - "inhibition_lexical_per_100", - "sadness_lexical_per_100", - "social_lexical_per_100", - "indefinite_pronoun_lexical_per_100", - "religion_lexical_per_100", - "work_lexical_per_100", - "money_lexical_per_100", - "causation_lexical_per_100", - "anger_lexical_per_100", - "first_person_singular_lexical_per_100", - "feel_lexical_per_100", - "tentativeness_lexical_per_100", - "exclusive_lexical_per_100", - "verbs_lexical_per_100", - "friends_lexical_per_100", - "article_lexical_per_100", - "argue_lexical_per_100", - "auxiliary_verbs_lexical_per_100", - "cognitive_mech_lexical_per_100", - "preposition_lexical_per_100", - "first_person_plural_lexical_per_100", - "percept_lexical_per_100", - "second_person_lexical_per_100", - "positive_words_lexical_per_100", - "first_person_lexical_per_100", - "nltk_english_stopwords_lexical_per_100", - "hedge_words_lexical_per_100" + "discrepancies_lexical_wordcount", + "hear_lexical_wordcount", + "home_lexical_wordcount", + "conjunction_lexical_wordcount", + "certainty_lexical_wordcount", + "inclusive_lexical_wordcount", + "bio_lexical_wordcount", + "achievement_lexical_wordcount", + "adverbs_lexical_wordcount", + "anxiety_lexical_wordcount", + "third_person_lexical_wordcount", + "negation_lexical_wordcount", + "swear_lexical_wordcount", + "death_lexical_wordcount", + "health_lexical_wordcount", + "see_lexical_wordcount", + "body_lexical_wordcount", + "family_lexical_wordcount", + "negative_affect_lexical_wordcount", + "quantifier_lexical_wordcount", + "positive_affect_lexical_wordcount", + "insight_lexical_wordcount", + "humans_lexical_wordcount", + "present_tense_lexical_wordcount", + "future_tense_lexical_wordcount", + "past_tense_lexical_wordcount", + "relative_lexical_wordcount", + "sexual_lexical_wordcount", + "inhibition_lexical_wordcount", + "sadness_lexical_wordcount", + "social_lexical_wordcount", + "indefinite_pronoun_lexical_wordcount", + "religion_lexical_wordcount", + "work_lexical_wordcount", + "money_lexical_wordcount", + "causation_lexical_wordcount", + "anger_lexical_wordcount", + "first_person_singular_lexical_wordcount", + "feel_lexical_wordcount", + "tentativeness_lexical_wordcount", + "exclusive_lexical_wordcount", + "verbs_lexical_wordcount", + "friends_lexical_wordcount", + "article_lexical_wordcount", + "argue_lexical_wordcount", + "auxiliary_verbs_lexical_wordcount", + "cognitive_mech_lexical_wordcount", + "preposition_lexical_wordcount", + "first_person_plural_lexical_wordcount", + "percept_lexical_wordcount", + "second_person_lexical_wordcount", + "positive_words_lexical_wordcount", + "first_person_lexical_wordcount", + "nltk_english_stopwords_lexical_wordcount", + "hedge_words_lexical_wordcount" ], "file": "./features/lexical_features_v2.py", "level": "Chat", @@ -355,27 +356,27 @@ }, "Politeness Strategies": { "columns": [ - "please", - "please_start", - "hashedge", - "indirect_btw", - "hedges", - "factuality", - "deference", - "gratitude", - "apologizing", - "1st_person_pl", - "1st_person", - "1st_person_start", - "2nd_person", - "2nd_person_start", - "indirect_greeting", - "direct_question", - "direct_start", - "haspositive", - "hasnegative", - "subjunctive", - "indicative" + "please_politeness_convokit", + "please_start_politeness_convokit", + "hashedge_politeness_convokit", + "indirect_btw_politeness_convokit", + "hedges_politeness_convokit", + "factuality_politeness_convokit", + "deference_politeness_convokit", + "gratitude_politeness_convokit", + "apologizing_politeness_convokit", + "1st_person_pl_politeness_convokit", + "1st_person_politeness_convokit", + "1st_person_start_politeness_convokit", + "2nd_person_politeness_convokit", + "2nd_person_start_politeness_convokit", + "indirect_greeting_politeness_convokit", + "direct_question_politeness_convokit", + "direct_start_politeness_convokit", + "haspositive_politeness_convokit", + "hasnegative_politeness_convokit", + "subjunctive_politeness_convokit", + "indicative_politeness_convokit" ], "file": "./features/politeness_features.py", "level": "Chat", @@ -391,45 +392,45 @@ }, "Politeness / Receptiveness Markers": { "columns": [ - "Impersonal_Pronoun", - "First_Person_Single", - "Hedges", - "Negation", - "Subjectivity", - "Negative_Emotion", - "Reasoning", - "Agreement", - "Second_Person", - "Adverb_Limiter", - "Disagreement", - "Acknowledgement", - "First_Person_Plural", - "For_Me", - "WH_Questions", - "YesNo_Questions", - "Bare_Command", - "Truth_Intensifier", - "Apology", - "Ask_Agency", - "By_The_Way", - "Can_You", - "Conjunction_Start", - "Could_You", - "Filler_Pause", - "For_You", - "Formal_Title", - "Give_Agency", - "Affirmation", - "Gratitude", - "Hello", - "Informal_Title", - "Let_Me_Know", - "Swearing", - "Reassurance", - "Please", - "Positive_Emotion", - "Goodbye", - "Token_count" + "Impersonal_Pronoun_receptiveness_yeomans", + "First_Person_Single_receptiveness_yeomans", + "Hedges_receptiveness_yeomans", + "Negation_receptiveness_yeomans", + "Subjectivity_receptiveness_yeomans", + "Negative_Emotion_receptiveness_yeomans", + "Reasoning_receptiveness_yeomans", + "Agreement_receptiveness_yeomans", + "Second_Person_receptiveness_yeomans", + "Adverb_Limiter_receptiveness_yeomans", + "Disagreement_receptiveness_yeomans", + "Acknowledgement_receptiveness_yeomans", + "First_Person_Plural_receptiveness_yeomans", + "For_Me_receptiveness_yeomans", + "WH_Questions_receptiveness_yeomans", + "YesNo_Questions_receptiveness_yeomans", + "Bare_Command_receptiveness_yeomans", + "Truth_Intensifier_receptiveness_yeomans", + "Apology_receptiveness_yeomans", + "Ask_Agency_receptiveness_yeomans", + "By_The_Way_receptiveness_yeomans", + "Can_You_receptiveness_yeomans", + "Conjunction_Start_receptiveness_yeomans", + "Could_You_receptiveness_yeomans", + "Filler_Pause_receptiveness_yeomans", + "For_You_receptiveness_yeomans", + "Formal_Title_receptiveness_yeomans", + "Give_Agency_receptiveness_yeomans", + "Affirmation_receptiveness_yeomans", + "Gratitude_receptiveness_yeomans", + "Hello_receptiveness_yeomans", + "Informal_Title_receptiveness_yeomans", + "Let_Me_Know_receptiveness_yeomans", + "Swearing_receptiveness_yeomans", + "Reassurance_receptiveness_yeomans", + "Please_receptiveness_yeomans", + "Positive_Emotion_receptiveness_yeomans", + "Goodbye_receptiveness_yeomans", + "Token_count_receptiveness_yeomans" ], "file": "./features/politeness_v2.py, ./features/politeness_v2_helper.py, ./features/keywords.py", "level": "Chat", @@ -607,14 +608,15 @@ } } -keys_to_keep = ["columns", "file", "level", "semantic_grouping", "description", "references", "wiki_link"] +def generate_filtered_dict(): -filtered_dict = {feature_name: {key: value for key, value in feature_data.items() if key in keys_to_keep} - for feature_name, feature_data in feature_dict.items()} + keys_to_keep = ["columns", "file", "level", "semantic_grouping", "description", "references", "wiki_link"] -@app.route('/features') -def get_features(): - return jsonify(filtered_dict) + filtered_dict = {feature_name: {key: value for key, value in feature_data.items() if key in keys_to_keep} + for feature_name, feature_data in feature_dict.items()} + with open('./filtered_dict.json', 'w') as json_file: + json.dump(filtered_dict, json_file, indent=4) -if __name__ == '__main__': - app.run(debug=True) +if __name__ == "__main__": + if len(sys.argv) > 1 and sys.argv[1] == 'run': + generate_filtered_dict() \ No newline at end of file diff --git a/src/team_comm_tools/features/lexical_features_v2.py b/src/team_comm_tools/features/lexical_features_v2.py index 196a687a..1cd7ede7 100644 --- a/src/team_comm_tools/features/lexical_features_v2.py +++ b/src/team_comm_tools/features/lexical_features_v2.py @@ -10,29 +10,26 @@ import os from pathlib import Path -def get_liwc_rate(regex, chat): +def get_liwc_count(regex, chat): """" - Computes the LIWC features as a rate per 100 words, per best practice (Yeomans et al. 2023; https://www.mikeyeomans.info/papers/PGCR_yeomans.pdf, p. 42) - - We apply the following formula: - Rate of word use / 100 words = count / chat length * (chat length / 100) + Count the number of LIWC lexicon words Args: regex (str): The regular expression for the lexicon. chat(str): The message (utterance) being analyzed. Returns: - float: The rate at which the message uses words from a given lexicon. + float: The number of lexicon words present in the message """ if(len(chat) > 0): - return (len(re.findall(regex, chat))/(len(chat)))*(len(chat)/100) + return len(re.findall(regex, chat)) else: return 0 def liwc_features(chat_df: pd.DataFrame, message_col) -> pd.DataFrame: """ This function takes in the chat level input dataframe and computes lexical features - (rates at which the message contains contains words from a given lexicon, such as LIWC). + (the number of words from a given lexicon, such as LIWC). Args: chat_df (pd.DataFrame): This is a pandas dataframe of the chat level features. Should contain 'message' column. @@ -52,8 +49,8 @@ def liwc_features(chat_df: pd.DataFrame, message_col) -> pd.DataFrame: # Return the lexical features stacked as columns return pd.concat( # Finding the # of occurrences of lexicons of each type for all the messages. - [pd.DataFrame(chat_df[message_col + "_original"].apply(lambda chat: get_liwc_rate(regex, chat)))\ - .rename({message_col + "_original": lexicon_type + "_lexical_per_100"}, axis=1)\ + [pd.DataFrame(chat_df[message_col + "_original"].apply(lambda chat: get_liwc_count(regex, chat)))\ + .rename({message_col + "_original": lexicon_type + "_lexical_wordcount"}, axis=1)\ for lexicon_type, regex in lexicons_dict.items()], axis=1 ) diff --git a/src/team_comm_tools/lambda_function.py b/src/team_comm_tools/lambda_function.py new file mode 100644 index 00000000..ccd717ab --- /dev/null +++ b/src/team_comm_tools/lambda_function.py @@ -0,0 +1,29 @@ +import json + +def lambda_handler(event, context): + try: + # Open and read the filtered_dict.json file + with open('filtered_dict.json', 'r') as json_file: + filtered_dict = json.load(json_file) + + # Return the filtered_dict in the response body + return { + 'statusCode': 200, + 'body': json.dumps(filtered_dict), + 'headers': { + 'Content-Type': 'application/json' + } + } + + except Exception as e: + # Handle exceptions and return an error message + return { + 'statusCode': 500, + 'body': json.dumps({ + 'message': 'Internal Server Error', + 'error': str(e) + }), + 'headers': { + 'Content-Type': 'application/json' + } + } \ No newline at end of file diff --git a/src/team_comm_tools/utils/calculate_chat_level_features.py b/src/team_comm_tools/utils/calculate_chat_level_features.py index 52c73465..ef55d4be 100644 --- a/src/team_comm_tools/utils/calculate_chat_level_features.py +++ b/src/team_comm_tools/utils/calculate_chat_level_features.py @@ -20,6 +20,9 @@ from .preload_word_lists import * from .zscore_chats_and_conversation import get_zscore_across_all_chats, get_zscore_across_all_conversations +# Loading bar +from tqdm import tqdm + class ChatLevelFeaturesCalculator: """ Initialize variables and objects used by the ChatLevelFeaturesCalculator class. @@ -74,7 +77,7 @@ def calculate_chat_level_features(self, feature_methods: list) -> pd.DataFrame: :rtype: pd.DataFrame """ - for method in feature_methods: + for method in tqdm(feature_methods): method(self) # Return the input dataset with the chat level features appended (as columns) @@ -179,7 +182,7 @@ def calculate_hedge_features(self) -> None: :rtype: None """ # Naive hedge (contains the word or not) - self.chat_data["hedge_naive"] = self.chat_data["hedge_words_lexical_per_100"].apply(is_hedged_sentence_1) + self.chat_data["hedge_naive"] = self.chat_data["hedge_words_lexical_wordcount"].apply(is_hedged_sentence_1) def calculate_textblob_sentiment(self) -> None: """ @@ -319,7 +322,7 @@ def calculate_politeness_sentiment(self) -> None: :rtype: None """ transformed_df = self.chat_data['message_lower_with_punc'].apply(get_politeness_strategies).apply(pd.Series) - transformed_df = transformed_df.rename(columns=lambda x: re.sub('^feature_politeness_==()','',x)[:-2].lower()) + transformed_df = transformed_df.rename(columns=lambda x: re.sub('^feature_politeness_==()','', x)[:-2].lower() + "_politeness_convokit") # Concatenate the transformed dataframe with the original dataframe self.chat_data = pd.concat([self.chat_data, transformed_df], axis=1) @@ -336,7 +339,9 @@ def calculate_politeness_v2(self) -> None: :return: None :rtype: None """ - self.chat_data = pd.concat([self.chat_data, get_politeness_v2(self.chat_data, 'message_lower_with_punc')], axis=1) + receptiveness_df = get_politeness_v2(self.chat_data, 'message_lower_with_punc') + receptiveness_df = receptiveness_df.rename(columns=lambda x: f"{x}_receptiveness_yeomans") + self.chat_data = pd.concat([self.chat_data, receptiveness_df], axis=1) def get_forward_flow(self) -> None: """ diff --git a/src/team_comm_tools/utils/check_embeddings.py b/src/team_comm_tools/utils/check_embeddings.py index 602f42ee..2c56b3b6 100644 --- a/src/team_comm_tools/utils/check_embeddings.py +++ b/src/team_comm_tools/utils/check_embeddings.py @@ -4,6 +4,7 @@ import os import pickle +from tqdm import tqdm from pathlib import Path import torch @@ -179,14 +180,17 @@ def generate_vect(chat_data, output_path, message_col): print(f"Generating SBERT sentence vectors...") - embedding_arr = [row.tolist() for row in model_vect.encode(chat_data[message_col])] + # Ensure empty strings are encoded as NaN + empty_to_nan = [text if text and text.strip() else np.nan for text in chat_data[message_col].tolist()] + embeddings = model_vect.encode(empty_to_nan) + embedding_arr = [row.tolist() for row in tqdm(embeddings, total=len(chat_data[message_col]))] embedding_df = pd.DataFrame({'message': chat_data[message_col], 'message_embedding': embedding_arr}) # Create directories along the path if they don't exist Path(output_path).parent.mkdir(parents=True, exist_ok=True) embedding_df.to_csv(output_path, index=False) -def generate_bert(chat_data, output_path, message_col): +def generate_bert(chat_data, output_path, message_col, batch_size=64): """ Generates RoBERTa sentiment scores for the given chat data and saves them to a CSV file. @@ -196,42 +200,60 @@ def generate_bert(chat_data, output_path, message_col): :type output_path: str :param message_col: A string representing the column name that should be selected as the message. Defaults to "message". :type message_col: str, optional + :param batch_size: The size of each batch for processing sentiment analysis. Defaults to 64. + :type batch_size: int :raises FileNotFoundError: If the output path is invalid. :return: None :rtype: None """ print(f"Generating RoBERTa sentiments...") - messages = chat_data[message_col] - sentiments = messages.apply(get_sentiment) + messages = chat_data[message_col].tolist() + batch_sentiments_df = pd.DataFrame() - sent_arr = [list(dict.values()) for dict in sentiments] + for i in tqdm(range(0, len(messages), batch_size)): + batch = messages[i:i + batch_size] + batch_df = get_sentiment(batch) + batch_sentiments_df = pd.concat([batch_sentiments_df, batch_df], ignore_index=True) - sent_df = pd.DataFrame(sent_arr, columns =['positive_bert', 'negative_bert', 'neutral_bert']) - # Create directories along the path if they don't exist Path(output_path).parent.mkdir(parents=True, exist_ok=True) - sent_df.to_csv(output_path, index=False) + batch_sentiments_df.to_csv(output_path, index=False) -def get_sentiment(text): +def get_sentiment(texts): """ - Analyzes the sentiment of the given text using a BERT model and returns the scores for positive, negative, and neutral sentiments. + Analyzes the sentiment of the given list of texts using a BERT model and returns a DataFrame with scores for positive, negative, and neutral sentiments. - :param text: The input text to analyze. - :type text: str or None - :return: A dictionary with sentiment scores. - :rtype: dict + :param texts: The list of input texts to analyze. + :type texts: list of str + :return: A DataFrame with sentiment scores. + :rtype: pd.DataFrame """ - if (pd.isnull(text)): - return({'positive': np.nan, 'negative': np.nan, 'neutral': np.nan}) - - text = ' '.join(text.split()[:512]) # handle cases when the text is too long: just take the first 512 chars (hacky, but BERT context window cannot be changed) - encoded = tokenizer(text, return_tensors='pt') + # Handle and tokenize non-null and non-empty texts + texts_series = pd.Series(texts) + non_null_non_empty_texts = texts_series[texts_series.apply(lambda x: pd.notnull(x) and x.strip() != '')].tolist() + + if not non_null_non_empty_texts: + # Return a DataFrame with NaN if there are no valid texts to process + return pd.DataFrame(np.nan, index=texts_series.index, columns=['positive_bert', 'negative_bert', 'neutral_bert']) + + encoded = tokenizer(non_null_non_empty_texts, padding=True, truncation=True, max_length=512, return_tensors='pt') output = model_bert(**encoded) - scores = output[0][0].detach().numpy() - scores = softmax(scores) + scores = output[0].detach().numpy() + scores = softmax(scores, axis=1) + + sent_dict = { + 'positive_bert': scores[:, 2], + 'negative_bert': scores[:, 0], + 'neutral_bert': scores[:, 1] + } + + non_null_sent_df = pd.DataFrame(sent_dict) + + # Initialize the DataFrame such that null texts and empty texts get np.nan + sent_df = pd.DataFrame(np.nan, index=texts_series.index, columns=['positive_bert', 'negative_bert', 'neutral_bert']) + sent_df.loc[texts_series.apply(lambda x: pd.notnull(x) and x.strip() != ''), ['positive_bert', 'negative_bert', 'neutral_bert']] = non_null_sent_df.values - # sample output format - return({'positive': scores[2], 'negative': scores[0], 'neutral': scores[1]}) \ No newline at end of file + return sent_df \ No newline at end of file diff --git a/src/team_comm_tools/utils/download_resources.py b/src/team_comm_tools/utils/download_resources.py index c39ac612..efb1b8a0 100644 --- a/src/team_comm_tools/utils/download_resources.py +++ b/src/team_comm_tools/utils/download_resources.py @@ -1,12 +1,22 @@ import nltk import spacy import subprocess +import ssl def download(): + + # Resolves SSL download error to ensure package downloads required NLTK dependencies + try: + _create_unverified_https_context = ssl._create_unverified_context + except AttributeError: + pass + else: + ssl._create_default_https_context = _create_unverified_https_context + # nltk for resource in [ 'corpora/nps_chat', - 'tokenizers/punkt', + 'tokenizers/punkt_tab', 'corpora/stopwords', 'corpora/wordnet']: try: @@ -24,4 +34,4 @@ def download(): raise if __name__ == "__main__": - download() \ No newline at end of file + download() diff --git a/tests/data/cleaned_data/help.ipynb b/tests/data/cleaned_data/help.ipynb deleted file mode 100644 index eb282979..00000000 --- a/tests/data/cleaned_data/help.ipynb +++ /dev/null @@ -1,47 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Timestamp('2024-07-15 23:09:36.779590')" - ] - }, - "execution_count": 1, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "import pandas as pd\n", - "\n", - "pd.to_datetime(\"2024-07-15T23:09:36.779590\")" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": ".venv", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.11.6" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/tests/data/cleaned_data/helper.ipynb b/tests/data/cleaned_data/helper.ipynb deleted file mode 100644 index 5876d361..00000000 --- a/tests/data/cleaned_data/helper.ipynb +++ /dev/null @@ -1,1474 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "import pandas as pd\n" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
    \n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
    conversation_numspeaker_nicknametimestampmessage
    0AJohn2020-04-20T18:27:20.125Z\"I'm curious how do you all feel about using ...
    1AMary2020-04-20T18:27:40.125Z\"I think flashcards are a great way to memori...
    2AJohn2020-04-20T18:28:00.125Z\"I agree I've found them to be really helpful.\"
    3AJessica2020-04-20T18:28:20.125Z\"I'm not a big fan of flashcards I find them ...
    4AMary2020-04-20T18:28:40.125Z\"I think it really depends on the individual ...
    5AJohn2020-04-20T18:29:00.125Z\"That's true I know some people who prefer to...
    6AJessica2020-04-20T18:29:20.125Z\"I've heard of spaced repetition but I've nev...
    7AJohn2020-04-20T18:29:40.125Z\"It's a great way to improve your long-term m...
    8AMary2020-04-20T18:30:00.125Z\"I'll have to give it a try.\"
    9AJessica2020-04-20T18:30:20.125Z\"Do you have any tips for studying effectively?\"
    10AJohn2020-04-20T18:30:40.125Z\"I find that studying in short bursts is more...
    11AMary2020-04-20T18:31:00.125Z\"I agree it's also important to take breaks a...
    12AJessica2020-04-20T18:31:20.125Z\"I'm always struggling to stay motivated any ...
    13AJohn2020-04-20T18:31:40.125Z\"I find it helpful to set realistic goals and...
    14AMary2020-04-20T18:32:00.125Z\"It's also important to find a study buddy or...
    15AJessica2020-04-20T18:32:20.125Z\"Thanks for the advice I'll definitely try it...
    16BA2020-04-20T18:27:20.125Z\"Hi everyone what are your favorite study hab...
    17BB2020-04-20T18:27:40.956Z\"I like to study in a quiet place where I can...
    18BC2020-04-20T18:28:01.789Z\"I prefer to study with a group of friends so...
    19BD2020-04-20T18:28:23.621Z\"I like to study by myself so I can go at my ...
    20BA2020-04-20T18:28:45.452Z\"I think it's important to find a study metho...
    21BB2020-04-20T18:29:07.284Z\"I agree.\"
    22BC2020-04-20T18:29:29.116Z\"I also think it's important to take breaks w...
    23BD2020-04-20T18:29:50.947Z\"Yes it's important to give your brain a chan...
    24BA2020-04-20T18:30:12.778Z\"I find that it's helpful to set a timer and ...
    25BB2020-04-20T18:30:34.610Z\"That's a good idea I'll try that.\"
    26BC2020-04-20T18:30:56.441Z\"I like to listen to music while I study it h...
    27BD2020-04-20T18:31:18.273Z\"I prefer to study in silence so I can focus ...
    28BA2020-04-20T18:31:40.105Z\"I find that it's helpful to create a study s...
    29BB2020-04-20T18:32:01.936Z\"I agree it's important to be consistent with...
    30BC2020-04-20T18:32:23.768Z\"I also think it's important to reward yourse...
    31BD2020-04-20T18:32:45.599Z\"Yes it's important to stay motivated while y...
    32CA2020-04-20T18:27:20.125Z\"I'm really struggling to stay focused when I...
    33CB2020-04-20T18:27:32.456Z\"I know what you mean. I have the same problem.\"
    34CC2020-04-20T18:27:44.567Z\"I've been trying to find a study method that...
    35CB2020-04-20T18:29:22.456Z\"I've found that it helps to break down my st...
    36CC2020-04-20T18:29:44.567Z\"That's a good idea. I'll try that.\"
    37CA2020-04-20T18:29:52.456Z\"I've also found that it helps to study in a ...
    38CD2020-04-20T18:31:24.567Z\"I agree. It's hard to concentrate when there...
    39CA2020-04-20T19:31:32.456Z\"Another thing that I've found helpful is to ...
    40CB2020-04-20T19:31:34.567Z\"That's a good idea. It helps me to stay on t...
    41CC2020-04-20T19:33:22.456Z\"I'm going to try that too.\"
    42CD2020-04-20T19:33:24.567Z\"I've also found that it helps to reward myse...
    43CA2020-04-20T19:33:32.456Z\"That's a good idea. It gives me something to...
    44CB2020-04-20T19:33:44.567Z\"I agree. It helps me to stay motivated.\"
    45CC2020-04-20T20:35:32.456Z\"I've found that it's also important to take ...
    46CD2020-04-20T20:35:44.567Z\"I agree. It helps me to stay focused and avo...
    47CA2020-04-20T20:35:52.456Z\"I've also found that it helps to study with ...
    48CB2020-04-20T20:35:56.567Z\"That's a good idea. It can help you to stay ...
    \n", - "
    " - ], - "text/plain": [ - " conversation_num speaker_nickname timestamp \\\n", - "0 A John 2020-04-20T18:27:20.125Z \n", - "1 A Mary 2020-04-20T18:27:40.125Z \n", - "2 A John 2020-04-20T18:28:00.125Z \n", - "3 A Jessica 2020-04-20T18:28:20.125Z \n", - "4 A Mary 2020-04-20T18:28:40.125Z \n", - "5 A John 2020-04-20T18:29:00.125Z \n", - "6 A Jessica 2020-04-20T18:29:20.125Z \n", - "7 A John 2020-04-20T18:29:40.125Z \n", - "8 A Mary 2020-04-20T18:30:00.125Z \n", - "9 A Jessica 2020-04-20T18:30:20.125Z \n", - "10 A John 2020-04-20T18:30:40.125Z \n", - "11 A Mary 2020-04-20T18:31:00.125Z \n", - "12 A Jessica 2020-04-20T18:31:20.125Z \n", - "13 A John 2020-04-20T18:31:40.125Z \n", - "14 A Mary 2020-04-20T18:32:00.125Z \n", - "15 A Jessica 2020-04-20T18:32:20.125Z \n", - "16 B A 2020-04-20T18:27:20.125Z \n", - "17 B B 2020-04-20T18:27:40.956Z \n", - "18 B C 2020-04-20T18:28:01.789Z \n", - "19 B D 2020-04-20T18:28:23.621Z \n", - "20 B A 2020-04-20T18:28:45.452Z \n", - "21 B B 2020-04-20T18:29:07.284Z \n", - "22 B C 2020-04-20T18:29:29.116Z \n", - "23 B D 2020-04-20T18:29:50.947Z \n", - "24 B A 2020-04-20T18:30:12.778Z \n", - "25 B B 2020-04-20T18:30:34.610Z \n", - "26 B C 2020-04-20T18:30:56.441Z \n", - "27 B D 2020-04-20T18:31:18.273Z \n", - "28 B A 2020-04-20T18:31:40.105Z \n", - "29 B B 2020-04-20T18:32:01.936Z \n", - "30 B C 2020-04-20T18:32:23.768Z \n", - "31 B D 2020-04-20T18:32:45.599Z \n", - "32 C A 2020-04-20T18:27:20.125Z \n", - "33 C B 2020-04-20T18:27:32.456Z \n", - "34 C C 2020-04-20T18:27:44.567Z \n", - "35 C B 2020-04-20T18:29:22.456Z \n", - "36 C C 2020-04-20T18:29:44.567Z \n", - "37 C A 2020-04-20T18:29:52.456Z \n", - "38 C D 2020-04-20T18:31:24.567Z \n", - "39 C A 2020-04-20T19:31:32.456Z \n", - "40 C B 2020-04-20T19:31:34.567Z \n", - "41 C C 2020-04-20T19:33:22.456Z \n", - "42 C D 2020-04-20T19:33:24.567Z \n", - "43 C A 2020-04-20T19:33:32.456Z \n", - "44 C B 2020-04-20T19:33:44.567Z \n", - "45 C C 2020-04-20T20:35:32.456Z \n", - "46 C D 2020-04-20T20:35:44.567Z \n", - "47 C A 2020-04-20T20:35:52.456Z \n", - "48 C B 2020-04-20T20:35:56.567Z \n", - "\n", - " message \n", - "0 \"I'm curious how do you all feel about using ... \n", - "1 \"I think flashcards are a great way to memori... \n", - "2 \"I agree I've found them to be really helpful.\" \n", - "3 \"I'm not a big fan of flashcards I find them ... \n", - "4 \"I think it really depends on the individual ... \n", - "5 \"That's true I know some people who prefer to... \n", - "6 \"I've heard of spaced repetition but I've nev... \n", - "7 \"It's a great way to improve your long-term m... \n", - "8 \"I'll have to give it a try.\" \n", - "9 \"Do you have any tips for studying effectively?\" \n", - "10 \"I find that studying in short bursts is more... \n", - "11 \"I agree it's also important to take breaks a... \n", - "12 \"I'm always struggling to stay motivated any ... \n", - "13 \"I find it helpful to set realistic goals and... \n", - "14 \"It's also important to find a study buddy or... \n", - "15 \"Thanks for the advice I'll definitely try it... \n", - "16 \"Hi everyone what are your favorite study hab... \n", - "17 \"I like to study in a quiet place where I can... \n", - "18 \"I prefer to study with a group of friends so... \n", - "19 \"I like to study by myself so I can go at my ... \n", - "20 \"I think it's important to find a study metho... \n", - "21 \"I agree.\" \n", - "22 \"I also think it's important to take breaks w... \n", - "23 \"Yes it's important to give your brain a chan... \n", - "24 \"I find that it's helpful to set a timer and ... \n", - "25 \"That's a good idea I'll try that.\" \n", - "26 \"I like to listen to music while I study it h... \n", - "27 \"I prefer to study in silence so I can focus ... \n", - "28 \"I find that it's helpful to create a study s... \n", - "29 \"I agree it's important to be consistent with... \n", - "30 \"I also think it's important to reward yourse... \n", - "31 \"Yes it's important to stay motivated while y... \n", - "32 \"I'm really struggling to stay focused when I... \n", - "33 \"I know what you mean. I have the same problem.\" \n", - "34 \"I've been trying to find a study method that... \n", - "35 \"I've found that it helps to break down my st... \n", - "36 \"That's a good idea. I'll try that.\" \n", - "37 \"I've also found that it helps to study in a ... \n", - "38 \"I agree. It's hard to concentrate when there... \n", - "39 \"Another thing that I've found helpful is to ... \n", - "40 \"That's a good idea. It helps me to stay on t... \n", - "41 \"I'm going to try that too.\" \n", - "42 \"I've also found that it helps to reward myse... \n", - "43 \"That's a good idea. It gives me something to... \n", - "44 \"I agree. It helps me to stay motivated.\" \n", - "45 \"I've found that it's also important to take ... \n", - "46 \"I agree. It helps me to stay focused and avo... \n", - "47 \"I've also found that it helps to study with ... \n", - "48 \"That's a good idea. It can help you to stay ... " - ] - }, - "execution_count": 9, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "df = pd.read_csv('test_conv_level_complex.csv')\n", - "df" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [], - "source": [ - "# add a column to the dataframe called feature and assign value of \"team_burstiness\" to every row\n", - "df['feature'] = 'team_burstiness'" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": {}, - "outputs": [], - "source": [ - "# write the dataframe to a new csv file\n", - "df.to_csv('test_conv_level_complex.csv', index=False)" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": {}, - "outputs": [], - "source": [ - "# parse file as txt and remove all quotes\n", - "with open('test_conv_level_complex.csv', 'r') as file:\n", - " data = file.read()\n", - " data = data.replace('\"', '')\n", - "\n", - "# write the data back to the file\n", - "with open('test_conv_level_complex.csv', 'w') as file:\n", - " file.write(data)" - ] - }, - { - "cell_type": "code", - "execution_count": 69, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
    \n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
    conversation_numvariance_in_DD
    0A0.023184
    1B0.003812
    2C0.000887
    3D0.009075
    4E0.022204
    5F0.009982
    6G0.065572
    7H0.046539
    8I0.023111
    \n", - "
    " - ], - "text/plain": [ - " conversation_num variance_in_DD\n", - "0 A 0.023184\n", - "1 B 0.003812\n", - "2 C 0.000887\n", - "3 D 0.009075\n", - "4 E 0.022204\n", - "5 F 0.009982\n", - "6 G 0.065572\n", - "7 H 0.046539\n", - "8 I 0.023111" - ] - }, - "execution_count": 69, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "df = pd.read_csv(\"../../output/conv/test_conv_level_conv_complex.csv\")\n", - "df[['conversation_num', 'variance_in_DD']]" - ] - }, - { - "cell_type": "code", - "execution_count": 107, - "metadata": {}, - "outputs": [], - "source": [ - "df = pd.read_csv('fflow.csv')\n", - "# df['feature'] = 'forward_flow'\n", - "# df['conversation_num'] = 'F'\n", - "# df['message'] = \"Sports are a great way to stay active and healthy.\"\n", - "df['test_type'] = 'unit_eq'\n", - "df[['conversation_num', 'speaker_nickname', 'message', 'feature', 'test_type']].to_csv('fflow.csv', index=False)" - ] - }, - { - "cell_type": "code", - "execution_count": 100, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "0.9004621104890905\n" - ] - } - ], - "source": [ - "df = pd.read_csv('../../output/chat/test_forward_flow_chat.csv')\n", - "\n", - "def get_conversation_batches(dataframe, batch_size=3):\n", - " # group by conversation_num and get the last row from the group\n", - " last_rows = dataframe.groupby('conversation_num').tail(1)\n", - "\n", - " # get 3 row batches of these last rows\n", - " batches = []\n", - " rows = list(last_rows.iterrows())\n", - " for i in range(0, len(rows), batch_size):\n", - " batches.append(rows[i:i + batch_size])\n", - " return batches\n", - "\n", - "batches = get_conversation_batches(df, batch_size=3)\n", - "for batch in batches:\n", - " print(batch[0][1]['forward_flow'])" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": {}, - "outputs": [], - "source": [ - "import pandas as pd\n", - "import datetime as dt\n", - "\n", - "df = pd.read_csv('helper.csv')\n", - "df[\"timestamp\"] = pd.to_datetime(df[\"timestamp\"])\n", - "df[\"timestamp\"] = df[\"timestamp\"].apply(lambda x: x.timestamp())\n", - "# # convert time stamp to unix timestamp\n", - "# df[\"timestamp\"] = df[\"timestamp\"].astype(int) // 10**9\n", - "# df['conversation_num'] = 'X'\n", - "df['timestamp']\n", - "\n", - "df.to_csv('helper.csv', index=False)" - ] - }, - { - "cell_type": "code", - "execution_count": 23, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Timestamp('2024-07-15 23:15:36.779590')" - ] - }, - "execution_count": 23, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "pd.to_datetime(\"2024-07-15T23:15:36.779590\")" - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "0 1969-12-31 19:00:20\n", - "1 1969-12-31 19:00:40\n", - "2 1969-12-31 19:01:00\n", - "3 1969-12-31 19:01:20\n", - "4 1969-12-31 19:01:40\n", - "Name: timestamp, dtype: datetime64[ns]" - ] - }, - "execution_count": 21, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "df = pd.read_csv('helper.csv')\n", - "df[\"timestamp\"] = df['timestamp'].apply(lambda x: dt.datetime.fromtimestamp(x))\n", - "df['timestamp']\n", - "# pd.to_datetime(df[\"timestamp\"], unit='ms')" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "metadata": {}, - "outputs": [], - "source": [ - "replacement_dict = {\n", - " 'A': 'V',\n", - " 'B': 'W',\n", - " 'C': 'X'\n", - "}\n", - "\n", - "df = pd.read_csv('helper.csv')\n", - "# Add the conversation_num column and apply the replacement\n", - "df['conversation_num'] = df['conversation_num'].replace(replacement_dict)\n", - "df.to_csv('helper.csv', index=False)\n", - "# print(df)" - ] - }, - { - "cell_type": "code", - "execution_count": 61, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
    \n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
    conversation_numtime_diff
    0A0.0
    1A0:00:20
    2A0:00:20
    3A0:00:20
    4A0:00:20
    5A0:00:20
    6A0:00:20
    7A0:00:20
    8A0:00:20
    9A0:00:20
    10A0:00:20
    11A0:00:20
    12A0:00:20
    13A0:00:20
    14A0:00:20
    15A0:00:20
    16B0.0
    17B0:00:20.831000
    18B0:00:20.833000
    19B0:00:21.832000
    20B0:00:21.831000
    21B0:00:21.832000
    22B0:00:21.832000
    23B0:00:21.831000
    24B0:00:21.831000
    25B0:00:21.832000
    26B0:00:21.831000
    27B0:00:21.832000
    28B0:00:21.832000
    29B0:00:21.831000
    30B0:00:21.832000
    31B0:00:21.831000
    32C0.0
    33C0:00:12.331000
    34C0:00:12.111000
    35C0:01:37.889000
    36C0:00:22.111000
    37C0:00:07.889000
    38C0:01:32.111000
    39C1:00:07.889000
    40C0:00:02.111000
    41C0:01:47.889000
    42C0:00:02.111000
    43C0:00:07.889000
    44C0:00:12.111000
    45C1:01:47.889000
    46C0:00:12.111000
    47C0:00:07.889000
    48C0:00:04.111000
    49D0.0
    50DNaN
    51DNaN
    52DNaN
    53DNaN
    54DNaN
    55DNaN
    56DNaN
    57DNaN
    58DNaN
    59E0.0
    \n", - "
    " - ], - "text/plain": [ - " conversation_num time_diff\n", - "0 A 0.0\n", - "1 A 0:00:20\n", - "2 A 0:00:20\n", - "3 A 0:00:20\n", - "4 A 0:00:20\n", - "5 A 0:00:20\n", - "6 A 0:00:20\n", - "7 A 0:00:20\n", - "8 A 0:00:20\n", - "9 A 0:00:20\n", - "10 A 0:00:20\n", - "11 A 0:00:20\n", - "12 A 0:00:20\n", - "13 A 0:00:20\n", - "14 A 0:00:20\n", - "15 A 0:00:20\n", - "16 B 0.0\n", - "17 B 0:00:20.831000\n", - "18 B 0:00:20.833000\n", - "19 B 0:00:21.832000\n", - "20 B 0:00:21.831000\n", - "21 B 0:00:21.832000\n", - "22 B 0:00:21.832000\n", - "23 B 0:00:21.831000\n", - "24 B 0:00:21.831000\n", - "25 B 0:00:21.832000\n", - "26 B 0:00:21.831000\n", - "27 B 0:00:21.832000\n", - "28 B 0:00:21.832000\n", - "29 B 0:00:21.831000\n", - "30 B 0:00:21.832000\n", - "31 B 0:00:21.831000\n", - "32 C 0.0\n", - "33 C 0:00:12.331000\n", - "34 C 0:00:12.111000\n", - "35 C 0:01:37.889000\n", - "36 C 0:00:22.111000\n", - "37 C 0:00:07.889000\n", - "38 C 0:01:32.111000\n", - "39 C 1:00:07.889000\n", - "40 C 0:00:02.111000\n", - "41 C 0:01:47.889000\n", - "42 C 0:00:02.111000\n", - "43 C 0:00:07.889000\n", - "44 C 0:00:12.111000\n", - "45 C 1:01:47.889000\n", - "46 C 0:00:12.111000\n", - "47 C 0:00:07.889000\n", - "48 C 0:00:04.111000\n", - "49 D 0.0\n", - "50 D NaN\n", - "51 D NaN\n", - "52 D NaN\n", - "53 D NaN\n", - "54 D NaN\n", - "55 D NaN\n", - "56 D NaN\n", - "57 D NaN\n", - "58 D NaN\n", - "59 E 0.0" - ] - }, - "execution_count": 61, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "df = pd.read_csv(\"../../output/chat/test_conv_level_chat_complex.csv\")\n", - "df[0:60][['conversation_num', 'time_diff']] " - ] - }, - { - "cell_type": "code", - "execution_count": 55, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
    \n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
    conversation_numteam_burstiness
    0A-1.000000
    1B-0.969164
    2C0.426946
    3D0.000000
    4E0.000000
    5F0.000000
    6G-1.000000
    7H-1.000000
    8I-1.000000
    \n", - "
    " - ], - "text/plain": [ - " conversation_num team_burstiness\n", - "0 A -1.000000\n", - "1 B -0.969164\n", - "2 C 0.426946\n", - "3 D 0.000000\n", - "4 E 0.000000\n", - "5 F 0.000000\n", - "6 G -1.000000\n", - "7 H -1.000000\n", - "8 I -1.000000" - ] - }, - "execution_count": 55, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "def coerce_to_date_or_number(value):\n", - " \"\"\"\n", - " Helper function in which we check that the timestamp column contains either a datetime value or a number\n", - " that can be interpreted as a time elapsed; otherwise, sets it equal to none.\n", - "\n", - " Args:\n", - " value: The value to check; type can be anything\n", - " Returns:\n", - " Either the value itself (if it is a valid timestamp value) or None otherwise\n", - "\n", - " \"\"\"\n", - " try:\n", - " pd.to_datetime(value)\n", - " return value\n", - " except (ValueError, TypeError):\n", - " try:\n", - " pd.to_numeric(value)\n", - " return value\n", - " except (ValueError, TypeError):\n", - " print(f\"Value {value} is not a valid timestamp or number.\")\n", - " return None\n", - " \n", - "def time_string_to_float(time_str):\n", - " # Split the time string into hours, minutes, and seconds.microseconds\n", - " if (time_str == '0.0'):\n", - " return 0\n", - " time_parts = time_str.split(':')\n", - " \n", - " # Extract hours, minutes, and seconds.microseconds\n", - " hours = int(time_parts[0])\n", - " minutes = int(time_parts[1])\n", - " seconds = float(time_parts[2])\n", - " \n", - " # Convert hours and minutes to seconds\n", - " total_seconds = hours * 3600 + minutes * 60 + seconds\n", - " \n", - " return total_seconds\n", - "\n", - "def burstiness(df, timediff):\n", - "\n", - "\n", - " if timediff not in df.columns:\n", - " return None \n", - " \n", - " # Check for any NA values and drop them accordingly\n", - " df[timediff] = df[timediff].apply(coerce_to_date_or_number)\n", - "\n", - " wait_times = (df[timediff].dropna()).apply(time_string_to_float)\n", - " if len(wait_times) <= 1:\n", - " return 0\n", - " \n", - " wait_times = wait_times[1:]\n", - "\n", - " # Compute coefficient of variation measure B (Goh & Barabasi 2008)\n", - " standard_deviation = np.std(wait_times)\n", - " mean = np.mean(wait_times)\n", - " B = (standard_deviation - mean) / (standard_deviation + mean)\n", - " return B\n", - "\n", - "if \"time_diff\" not in df.columns:\n", - " print(f\"Temporal Features are nonexistent for this dataset.\")\n", - "\n", - "# Applies burstiness function to overall dataframe and then groups coefficient by conversation number\n", - "burst = df.groupby(\"conversation_num\").apply(lambda x : burstiness(x, \"time_diff\")).reset_index().rename(columns={0: \"team_burstiness\"})\n", - "burst" - ] - }, - { - "cell_type": "code", - "execution_count": 46, - "metadata": {}, - "outputs": [], - "source": [ - "df = pd.read_csv(\"../../output/conv/test_conv_level_conv.csv\")" - ] - }, - { - "cell_type": "code", - "execution_count": 47, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
    \n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
    conversation_numteam_burstiness
    01NaN
    12-1.0
    23-1.0
    34-1.0
    45-1.0
    56-1.0
    6A-1.0
    \n", - "
    " - ], - "text/plain": [ - " conversation_num team_burstiness\n", - "0 1 NaN\n", - "1 2 -1.0\n", - "2 3 -1.0\n", - "3 4 -1.0\n", - "4 5 -1.0\n", - "5 6 -1.0\n", - "6 A -1.0" - ] - }, - "execution_count": 47, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "df[['conversation_num', 'team_burstiness']]" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": ".venv", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.11.6" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/tests/data/cleaned_data/test_chat_level.csv b/tests/data/cleaned_data/test_chat_level.csv index ccebf990..e4c82b35 100644 --- a/tests/data/cleaned_data/test_chat_level.csv +++ b/tests/data/cleaned_data/test_chat_level.csv @@ -1,681 +1,681 @@ -conversation_num,speaker_nickname,message,expected_column,expected_value -1,A,Hello I like fish.,num_words,4 -1,B,This sentence has five words.,num_words,5 -2,A,Hello??,num_words,1 -2,B,Is 4 a word?,num_words,4 -3,A,.,num_words,0 -4,test_A,"HELLO WORLD, THIS IS A TEST. hi HI. hi HI hi HI""",num_all_caps,9 -4,test_B,ONE TWO THREE. four five six. sEvEn EiGhT nInE.,num_all_caps,3 -4,test_A,Check out this [link](https://example.com) and this one http://example.org,num_links,2 -4,test_B,I like google.com and wikipedia.org but not amazon.com,num_links,3 -4,test_A,why don't you read everything at https://www.example.com and https://www.example.org and https://www.example.net and https://www.example.ca and https://www.example.co.uk,num_links,5 -4,test_B,"why don't you read everything at -- https://www.example.com -- https://www.example.org -- https://www.example.net -- https://www.example.ca -- https://www.example.co.uk",num_links,5 -4,test_A,"Hello u/user1 and u/user2, hi hi hi?",num_reddit_users,2 -4,test_B,I don't like u/user_1_test but I like u/user2Test,num_reddit_users,2 -4,test_A,"This is **bold**, *italics*, and this is not. This is ***bolded and italicized***",num_emphasis,3 -4,test_B,This is **uneven* in terms of *the emphasis**,num_emphasis,2 -4,test_A,* item 1\n* item 2\n- item 3,num_bullet_points,3 -4,test_B,"Here are all my arguments: -- point 1 -- point 2 -- point 3 -- point 4 is super long and takes up multiple lines point 4 is super long and takes up multiple lines point 4 is super long and takes up multiple lines point 4 is super long and takes up multiple lines point 4 is super long and takes up multiple lines point 4 is super long and takes up multiple lines point 4 is super long and takes up multiple lines point 4 is super long and takes up multiple lines point 4 is super long and takes up multiple lines point 4 is super long and takes up multiple lines point 4 is super long and takes up multiple lines",num_bullet_points,4 -4,test_A,1. First\n2. Second\n3. Third,num_numbered_points,3 -4,test_B,This is the first line.\nThis is the second line.\nThis is the third line.,num_line_breaks,3 -4,test_A,"I have a line - - - - -here is a new line - - -here is a third line",num_line_breaks,3 -4,test_B,this is a line with\rA different kind of return value\rUsing carriage return instead of the newline character,num_line_breaks,3 -4,test_A,"""This is a quote."" She said, ""Here's another.""",num_quotes,2 -4,test_B,"""You miss 100% of the shots you don't take"" -- Wayne Gretzky",num_quotes,1 -4,test_A,"""I can't believe you use single quotes to quote people,"" she said. ""Well, he replied, 'sometimes single quotes are useful when you nest quotes inside other quotes,' according to my English teacher"" Then she said: 'okay'",num_quotes,4 -4,test_B,> Quoting someone else\nThis is my reply.,num_block_quote_responses,1 -4,test_A,> Quoting someone else\nThis is my reply.,num_block_quote_responses,1 -4,test_B,>>>> This is a quote but I went overboard with the carat character,num_block_quote_responses,1 -4,test_A,>> This is one where I put too many of the gt's,num_block_quote_responses,1 -4,test_B,"> Hello! -Goodbye!",num_block_quote_responses,1 -4,test_B,"> here I am making a quote -I respond to it -> I quote again -I respond to that too",num_block_quote_responses,2 -4,test_A,Well... I'm not sure... Maybe...,num_ellipses,3 -4,test_B,hm..what if I only use two periods.............or many periods............,num_ellipses,2 -4,test_B,This is a sentence (with some text in parentheses).,num_parentheses,1 -4,test_A,"""Sure,"" I said confidently (thiking to myself: no way!) This was definitely (not) one of my best moments.",num_parentheses,2 -4,test_B,(((((these parentheses are not properly closed.),num_parentheses,1 -4,test_B,((there are multiple parentheses here)),num_parentheses,2 -4,test_A,((1+(1+3+4)^2)+7+(9+8)),num_parentheses,4 -5,test1,I think that I think that I think,certainty_rocklage,4.5 -5,test2,I am a little confused,certainty_rocklage,2.47 -5,test2,I don't really know the answer,certainty_rocklage,1.33 -5,test3,I am sure that this is correct,certainty_rocklage,8.02 -5,test1,I am fairly certain in my response,certainty_rocklage,8.28 -5,test2,This is without a doubt the best movie I have ever seen,certainty_rocklage,4.5 -5,test2,I am not sure about how to how to approximately handle this,certainty_rocklage,2.69 -5,test3,I believe that he is guilty but I am not very certain,certainty_rocklage,6.56 -5,test1,I an open to you changing my mind on this issue,certainty_rocklage,4.5 -5,test2,I don't think the guy is the a$$hole. Thoughts?,certainty_rocklage,5.44 -5,test2,So who thinks the guy is an ass for asking his mother in law to learn english,certainty_rocklage,4.5 -5,test3,"I think that this person is not an asshole because, according to him, he was very polite while approaching the issue",certainty_rocklage,6.037 -5,test1,I can see how the family is upset because they feel the mother was disrespected but I can also understand the guy's feelings. Why should he have to work as interpreter for his mother in law?,certainty_rocklage,4.5 -5,test2,"Yes, I think his feeling makes sense to me to. Who doesn't want to be independent.",certainty_rocklage,4.89 -5,test2,I was conflicted because I could understand his frustration however I feel he should have maybe discussed strategies with how to approach the mother in law with his wife first.,certainty_rocklage,4.684 -5,test3,His MIL has been here for 8 years. You would think she'd pick up some English by now.,certainty_rocklage,4.5 -5,test1,I think he had every right to want to help his mother in law,certainty_rocklage,4.28 -5,test2,I also agree with culturedCow,certainty_rocklage,4.5 -5,test2,"I don't think he's an asshole. I think his request is reasonable. If you go to live in a foreign country, you should learn the language.",certainty_rocklage,5.125 -5,test3,"I think the guy is an asshole because for all his talk about how easy it is to use resources to learn a language, he didn't take the time to research WHY some people do not.",certainty_rocklage,5.505 -5,test1,I think he also tried to utilize other resources such as language learning apps to help her learn,certainty_rocklage,4.28 -5,test2,"I think also he needs to understand that language learning is not the same for everyone, not everyone has the same capacity to learn new languages quickly.",certainty_rocklage,6.09 -5,test2,"Maybe she does have a problem with learning languages, but she could at least try.",certainty_rocklage,3.79 -5,test3,After the edit he done it made it sound like he really loves his family,certainty_rocklage,6.175 -5,test1,"I don't think the guy is wrong in asking her to learn more english being that she lives in America, but he has to understand she is older and may not have the patience or capacity to learn a lot of english.",certainty_rocklage,5.472 -5,test2,"Learning a second language is easiest when you're a child for a reason. Your brain is wired differently then, which makes it easier.",certainty_rocklage,5.4 -5,test2,I think he tried to help her.� He gave her resources to use and she apparently didn't use them.,certainty_rocklage,4.32 -1,A,hello,Hello,1 -1,B,So how should we answer this,Token_count,6 -1,A,We can start here. What is the question?,YesNo_Questions,0 -1,B,I am not sure. Where is the rest of our team?,WH_Questions,1 -1,B,"Please help me figure this out, I really want to do well on this please",Please,2 -2,C,Hey,Hello,1 -2,C,Okay bro lets split it 50/50,Impersonal_Pronoun,1 -2,D,Maybe but how about 60/40? I doubt its fair otherwise,Hedges,2 -2,C,Seems fair,Hedges,1 -1,B,I am not sure. Where is the rest of our team?,First_Person_Single,1 -1,B,"Well please help me figure this out, I really want to do well on this please okay",factuality,1 -2,C,Seems possible,hashedge,1 -2,E,I see what youre thinking but I disagree,Acknowledgement,1 -2,E,We get only one chance so we should understand how to split it,Acknowledgement,2 -2,D,"I just don't agree, I'm making the 60/40 split",Adverb_Limiter,1 -3,G,hey,indirect_greeting,1 -3,G,I think we should try something else,1st_person_start,1 -3,F,Ok whatever. You should leave the team then,2nd_person_start,1 -4,H,Honestly thank you so so much,factuality,1 -4,H,What's the plan?,direct_question,1 -4,I,That is the dumbest idea I've heard; youre actually dumb af,hasnegative,1 -4,H,What's ur problem here?,hasnegative,1 -5,J,Pleasure and an honor to meet you all,haspositive,1 -5,K,We should try that next,haspositive,0 -5,J,Could you please explain why? I don't really understand why you are thinking that,subjunctive,1 -5,K,Sorry sorry I didn't mean to,apologizing,1 -6,L,I don't really want to work with you all but let's get this over with,Impersonal_Pronoun,1 -6,J,Fine by me,Affirmation,1 -6,K,Ok so which part should we do first? the first or second?,YesNo_Questions,1 -7,L,Please don't do that?,please_start,1 -7,L,I don't think that will work,hashedge,1 -7,M,I'm exhuasted rn,hasnegative,0 -7,M,i don't really care please just finish this up,haspositive,0 -7,N,Please don't do that?,Please,1 -7,N,I don't think that will work,Hedges,0 -7,O,I'm exhuasted rn,Negative_Emotion,0 -7,O,i don't really care please just finish this up,Positive_Emotion,0 -8,P,i appreciate all this from you,gratitude,1 -8,P,"well we should start rn, our part is long",1st_person_pl,1 -8,Q,ok forgive me for this error but,apologizing,1 -8,Q,you have to redo the whole thing,2nd_person,0 -8,R,ok so who will work with me? where should we begin?,direct_question,0 -8,S,i appreciate all this from you,Gratitude,1 -8,S,"well we should start rn, our part is long",First_Person_Plural,2 -8,T,ok forgive us for this error but,Apology,0 -8,T,you have to redo the whole thing,Second_Person,1 -8,U,ok so who will work with me? where should we begin?,WH_Questions,2 -9,A,"I understand your perspective and agree that I would not want to have resentment in the workplace against women, as that would further compound the issue we are looking at. I do think that it is true that women are underrepresented in STEM careers and am a believer that something should be done to address this discrepancy, even if that is not implementing a priority for women in hiring decisions. While I don\'t think that companies should explicitly hire simply because of their gender, I do think that they should be mindful of the gender gap in STEM and look to address those issues through their hiring practices.",Impersonal_Pronoun,12 -10,A,"I understand your perspective and agree that I would not want to have resentment in the workplace against women, as that would further compound the issue we are looking at. I do think that it is true that women are underrepresented in STEM careers and am a believer that something should be done to address this discrepancy, even if that is not implementing a priority for women in hiring decisions. While I don\'t think that companies should explicitly hire simply because of their gender, I do think that they should be mindful of the gender gap in STEM and look to address those issues through their hiring practices.",First_Person_Single,5 -11,A,"I understand your perspective and agree that I would not want to have resentment in the workplace against women, as that would further compound the issue we are looking at. I do think that it is true that women are underrepresented in STEM careers and am a believer that something should be done to address this discrepancy, even if that is not implementing a priority for women in hiring decisions. While I don\'t think that companies should explicitly hire simply because of their gender, I do think that they should be mindful of the gender gap in STEM and look to address those issues through their hiring practices.",Hedges,3 -12,A,"I understand your perspective and agree that I would not want to have resentment in the workplace against women, as that would further compound the issue we are looking at. I do think that it is true that women are underrepresented in STEM careers and am a believer that something should be done to address this discrepancy, even if that is not implementing a priority for women in hiring decisions. While I don\'t think that companies should explicitly hire simply because of their gender, I do think that they should be mindful of the gender gap in STEM and look to address those issues through their hiring practices.",Negation,3 -13,A,"I understand your perspective and agree that I would not want to have resentment in the workplace against women, as that would further compound the issue we are looking at. I do think that it is true that women are underrepresented in STEM careers and am a believer that something should be done to address this discrepancy, even if that is not implementing a priority for women in hiring decisions. While I don\'t think that companies should explicitly hire simply because of their gender, I do think that they should be mindful of the gender gap in STEM and look to address those issues through their hiring practices.",Subjectivity,3 -14,A,"I understand your perspective and agree that I would not want to have resentment in the workplace against women, as that would further compound the issue we are looking at. I do think that it is true that women are underrepresented in STEM careers and am a believer that something should be done to address this discrepancy, even if that is not implementing a priority for women in hiring decisions. While I don\'t think that companies should explicitly hire simply because of their gender, I do think that they should be mindful of the gender gap in STEM and look to address those issues through their hiring practices.",Negative_Emotion,3 -15,A,"I understand your perspective and agree that I would not want to have resentment in the workplace against women, as that would further compound the issue we are looking at. I do think that it is true that women are underrepresented in STEM careers and am a believer that something should be done to address this discrepancy, even if that is not implementing a priority for women in hiring decisions. While I don\'t think that companies should explicitly hire simply because of their gender, I do think that they should be mindful of the gender gap in STEM and look to address those issues through their hiring practices.",Reasoning,1 -16,A,"I understand your perspective and agree that I would not want to have resentment in the workplace against women, as that would further compound the issue we are looking at. I do think that it is true that women are underrepresented in STEM careers and am a believer that something should be done to address this discrepancy, even if that is not implementing a priority for women in hiring decisions. While I don\'t think that companies should explicitly hire simply because of their gender, I do think that they should be mindful of the gender gap in STEM and look to address those issues through their hiring practices.",Agreement,1 -17,A,"I understand your perspective and agree that I would not want to have resentment in the workplace against women, as that would further compound the issue we are looking at. I do think that it is true that women are underrepresented in STEM careers and am a believer that something should be done to address this discrepancy, even if that is not implementing a priority for women in hiring decisions. While I don\'t think that companies should explicitly hire simply because of their gender, I do think that they should be mindful of the gender gap in STEM and look to address those issues through their hiring practices.",Second_Person,1 -18,A,"I understand your perspective and agree that I would not want to have resentment in the workplace against women, as that would further compound the issue we are looking at. I do think that it is true that women are underrepresented in STEM careers and am a believer that something should be done to address this discrepancy, even if that is not implementing a priority for women in hiring decisions. While I don\'t think that companies should explicitly hire simply because of their gender, I do think that they should be mindful of the gender gap in STEM and look to address those issues through their hiring practices.",Adverb_Limiter,1 -19,A,"I understand your perspective and agree that I would not want to have resentment in the workplace against women, as that would further compound the issue we are looking at. I do think that it is true that women are underrepresented in STEM careers and am a believer that something should be done to address this discrepancy, even if that is not implementing a priority for women in hiring decisions. While I don\'t think that companies should explicitly hire simply because of their gender, I do think that they should be mindful of the gender gap in STEM and look to address those issues through their hiring practices.",Disagreement,1 -20,A,"I understand your perspective and agree that I would not want to have resentment in the workplace against women, as that would further compound the issue we are looking at. I do think that it is true that women are underrepresented in STEM careers and am a believer that something should be done to address this discrepancy, even if that is not implementing a priority for women in hiring decisions. While I don\'t think that companies should explicitly hire simply because of their gender, I do think that they should be mindful of the gender gap in STEM and look to address those issues through their hiring practices.",Acknowledgement,1 -21,A,"I understand your perspective and agree that I would not want to have resentment in the workplace against women, as that would further compound the issue we are looking at. I do think that it is true that women are underrepresented in STEM careers and am a believer that something should be done to address this discrepancy, even if that is not implementing a priority for women in hiring decisions. While I don\'t think that companies should explicitly hire simply because of their gender, I do think that they should be mindful of the gender gap in STEM and look to address those issues through their hiring practices.",First_Person_Plural,1 -22,A,"I understand your perspective and agree that I would not want to have resentment in the workplace against women, as that would further compound the issue we are looking at. I do think that it is true that women are underrepresented in STEM careers and am a believer that something should be done to address this discrepancy, even if that is not implementing a priority for women in hiring decisions. While I don\'t think that companies should explicitly hire simply because of their gender, I do think that they should be mindful of the gender gap in STEM and look to address those issues through their hiring practices.",For_Me,0 -23,A,And I will always love you,Conjunction_Start,1 -23,B,"Can you help me, can you please?",Can_You,2 -23,C,"Can you, will you, could you please be mine?",Could_You,1 -23,D,"This land is your land, this land is my land; this land was made for you and for me",For_You,1 -0,0,unneccessagf shoulds shouldve should'nt,discrepancies_lexical_per_100,0.04 -0,0,wouldnt unneedofek want must've should'nt,discrepancies_lexical_per_100,0.05 -0,0,hopes wish,discrepancies_lexical_per_100,0.02 -0,0,must'nt rather wouldn't ought'nt,discrepancies_lexical_per_100,0.04 -0,0,needn't unwantpotnw hopefulness oughta couldn't,discrepancies_lexical_per_100,0.05 -0,0,musilej,hear_lexical_per_100,0.01 -0,0,listens hearing listenerjp noisy,hear_lexical_per_100,0.04 -0,0,noises noisy harmongoc hearing audiblweds,hear_lexical_per_100,0.05 -0,0,ear yell listenerpvo,hear_lexical_per_100,0.03 -0,0,sang rang ear concertfuw,hear_lexical_per_100,0.04 -0,0,drapeulqv backyard loveseatjproz closet,home_lexical_per_100,0.04 -0,0,curtainqygkr drapekwvh,home_lexical_per_100,0.02 -0,0,bathae,home_lexical_per_100,0.01 -0,0,curtainbu loveseatntr family housing rooms,home_lexical_per_100,0.05 -0,0,bedroomxhpl furniture,home_lexical_per_100,0.02 -0,0,if,conjunction_lexical_per_100,0.01 -0,0,altho while though then how,conjunction_lexical_per_100,0.05 -0,0,when or,conjunction_lexical_per_100,0.02 -0,0,if,conjunction_lexical_per_100,0.01 -0,0,but however,conjunction_lexical_per_100,0.02 -0,0,undoubtni,certainty_lexical_per_100,0.01 -0,0,altogether truthzhf,certainty_lexical_per_100,0.02 -0,0,distinctue definitiveeol commitmentflk forever,certainty_lexical_per_100,0.04 -0,0,total essential,certainty_lexical_per_100,0.02 -0,0,fundamentals completes guarantidjp,certainty_lexical_per_100,0.03 -0,0,both add with,inclusive_lexical_per_100,0.03 -0,0,around we along,inclusive_lexical_per_100,0.03 -0,0,each with,inclusive_lexical_per_100,0.02 -0,0,with inclusg come came around,inclusive_lexical_per_100,0.05 -0,0,each around come,inclusive_lexical_per_100,0.03 -0,0,nausen sensation brunchkjz,bio_lexical_per_100,0.03 -0,0,butt saliverbwp,bio_lexical_per_100,0.02 -0,0,palms,bio_lexical_per_100,0.01 -0,0,liquoriole,bio_lexical_per_100,0.01 -0,0,xanax prescriqd hand sodauce,bio_lexical_per_100,0.04 -0,0,strivl master,achievement_lexical_per_100,0.02 -0,0,originattvf solutionmuyho elitlxoup proficiengiy quittd,achievement_lexical_per_100,0.05 -0,0,finalizuav best quitti capabfs,achievement_lexical_per_100,0.04 -0,0,masters plans,achievement_lexical_per_100,0.02 -0,0,strengthe successqfhs herovqw overconfidence,achievement_lexical_per_100,0.04 -0,0,apparently,adverbs_lexical_per_100,0.01 -0,0,so,adverbs_lexical_per_100,0.01 -0,0,immediately generally very well truly,adverbs_lexical_per_100,0.05 -0,0,rather instead here pushty,adverbs_lexical_per_100,0.04 -0,0,instead,adverbs_lexical_per_100,0.01 -0,0,phobii apprehensnmeyt,anxiety_lexical_per_100,0.02 -0,0,obsesstusbg anguishuiy terrorkm,anxiety_lexical_per_100,0.03 -0,0,restlesst tenseod feared overwhelmfvlxi,anxiety_lexical_per_100,0.04 -0,0,timidfzbh stressetd,anxiety_lexical_per_100,0.02 -0,0,apprehensrm dreadn,anxiety_lexical_per_100,0.02 -0,0,oneself shes he she'll herself,third_person_lexical_per_100,0.05 -0,0,shes he'd himself hes her,third_person_lexical_per_100,0.05 -0,0,she'll,third_person_lexical_per_100,0.01 -0,0,she'll her,third_person_lexical_per_100,0.02 -0,0,she'll him she's hes he,third_person_lexical_per_100,0.05 -0,0,havent haven't ought'nt wont,negation_lexical_per_100,0.04 -0,0,needn't hasn't,negation_lexical_per_100,0.02 -0,0,wouldnt,negation_lexical_per_100,0.01 -0,0,nobodashm hasn't didnt,negation_lexical_per_100,0.03 -0,0,hasn't never,negation_lexical_per_100,0.02 -0,0,titty fuckerusz bitchnsl goddamomde hell,swear_lexical_per_100,0.05 -0,0,sob fuckinoawys titty cuntq,swear_lexical_per_100,0.04 -0,0,cuntn pisstkzme dicks butts,swear_lexical_per_100,0.04 -0,0,fucks jeez sonofako crappy,swear_lexical_per_100,0.04 -0,0,fucks butt heck,swear_lexical_per_100,0.03 -0,0,urnj immortalwai,death_lexical_per_100,0.02 -0,0,od bury demise tombd urnnig,death_lexical_per_100,0.05 -0,0,demise,death_lexical_per_100,0.01 -0,0,immortalyjedn embalmfqydb hearsepdk,death_lexical_per_100,0.03 -0,0,ghostaw alive,death_lexical_per_100,0.02 -0,0,amputu,health_lexical_per_100,0.01 -0,0,nearsighted neurologhl toxv painly throbgvmhn,health_lexical_per_100,0.05 -0,0,wash doselndu mono,health_lexical_per_100,0.03 -0,0,ill,health_lexical_per_100,0.01 -0,0,checkupfli burpzxevw scabo living ICU,health_lexical_per_100,0.05 -0,0,orangemacis squaruei purplabnk,see_lexical_per_100,0.03 -0,0,colourxml roundxgijb sees seen colorht,see_lexical_per_100,0.05 -0,0,staring look yellowkyn triangqmpv,see_lexical_per_100,0.04 -0,0,shiny lookerutn scannv look,see_lexical_per_100,0.04 -0,0,scanni seen,see_lexical_per_100,0.02 -0,0,facialrqth foot lipslt toe titties,body_lexical_per_100,0.05 -0,0,toenailhtqe droolc,body_lexical_per_100,0.02 -0,0,hip dick boobvw,body_lexical_per_100,0.03 -0,0,slenderbmvq ass,body_lexical_per_100,0.02 -0,0,nudeytmcb stomachltbw wake breastqyp eyewut,body_lexical_per_100,0.05 -0,0,moms bro,family_lexical_per_100,0.02 -0,0,nephewz wifevxmlj mom's parentuph,family_lexical_per_100,0.04 -0,0,pa sons fatherhb,family_lexical_per_100,0.03 -0,0,aunte sons grandkidywgxb exes ex,family_lexical_per_100,0.05 -0,0,relatives husbandypoiz mommalqhxo,family_lexical_per_100,0.03 -0,0,sickengwxku,negative_affect_lexical_per_100,0.01 -0,0,hurtefdp lazieqxar impersonal,negative_affect_lexical_per_100,0.03 -0,0,egotisy destroygj,negative_affect_lexical_per_100,0.02 -0,0,unwelcomrfwd,negative_affect_lexical_per_100,0.01 -0,0,jealoustemf unkind,negative_affect_lexical_per_100,0.02 -0,0,significant else every section,quantifier_lexical_per_100,0.04 -0,0,ton lotta,quantifier_lexical_per_100,0.02 -0,0,either best greatest,quantifier_lexical_per_100,0.03 -0,0,best,quantifier_lexical_per_100,0.01 -0,0,singlufb rest fullmzf,quantifier_lexical_per_100,0.03 -0,0,glad great charmbrwsd wins,positive_affect_lexical_per_100,0.04 -0,0,generot helping sincerbucaj,positive_affect_lexical_per_100,0.03 -0,0,freedswu adventursfk gently deliciouseuxl assurm,positive_affect_lexical_per_100,0.05 -0,0,worshipstmjc soulmateeiya treat huggpo,positive_affect_lexical_per_100,0.04 -0,0,grin wealthlg thrillzbrqf casual proudrqu,positive_affect_lexical_per_100,0.05 -0,0,restructurucq,insight_lexical_per_100,0.01 -0,0,know decidux recallwz seems solutionlxh,insight_lexical_per_100,0.05 -0,0,wonder motivsc sensing secret,insight_lexical_per_100,0.04 -0,0,believes,insight_lexical_per_100,0.01 -0,0,suspectc infers,insight_lexical_per_100,0.02 -0,0,man,humans_lexical_per_100,0.01 -0,0,newbornl citizen'phtgi ladies,humans_lexical_per_100,0.03 -0,0,girl's babies persons chicks,humans_lexical_per_100,0.04 -0,0,infant,humans_lexical_per_100,0.01 -0,0,ladies ma'am citizen,humans_lexical_per_100,0.03 -0,0,hasn't makes describe believes I've,present_tense_lexical_per_100,0.05 -0,0,gets how's,present_tense_lexical_per_100,0.02 -0,0,has hopes admits,present_tense_lexical_per_100,0.03 -0,0,let's,present_tense_lexical_per_100,0.01 -0,0,suck wait aren't feels,present_tense_lexical_per_100,0.04 -0,0,wouldnt gonna,future_tense_lexical_per_100,0.02 -0,0,mustnt should shall,future_tense_lexical_per_100,0.03 -0,0,must've,future_tense_lexical_per_100,0.01 -0,0,must should it'll won't shall,future_tense_lexical_per_100,0.05 -0,0,shouldve mustnt,future_tense_lexical_per_100,0.02 -0,0,listened held loved cried changed,past_tense_lexical_per_100,0.05 -0,0,sent sensed tried taken shouldve,past_tense_lexical_per_100,0.05 -0,0,ate sucked tried,past_tense_lexical_per_100,0.03 -0,0,ran described,past_tense_lexical_per_100,0.02 -0,0,didn't,past_tense_lexical_per_100,0.01 -0,0,post distanpiy,relative_lexical_per_100,0.02 -0,0,go marchal updatmwi,relative_lexical_per_100,0.03 -0,0,walking growing gianthy age,relative_lexical_per_100,0.04 -0,0,initiatoxtwa follow,relative_lexical_per_100,0.02 -0,0,hall bending widthxikw,relative_lexical_per_100,0.03 -0,0,loverkfxo pornoiu,sexual_lexical_per_100,0.02 -0,0,virgindtrl humpysbwe prudishybiq,sexual_lexical_per_100,0.03 -0,0,virginc,sexual_lexical_per_100,0.01 -0,0,fucks pubic gay,sexual_lexical_per_100,0.03 -0,0,prostatijvda dick,sexual_lexical_per_100,0.02 -0,0,curbijh boundlby,inhibition_lexical_per_100,0.02 -0,0,deniaxi,inhibition_lexical_per_100,0.01 -0,0,prudishxc deniabxp,inhibition_lexical_per_100,0.02 -0,0,constrictimhr,inhibition_lexical_per_100,0.01 -0,0,withholdyzaqb stops,inhibition_lexical_per_100,0.02 -0,0,remorset ruinc grimwftle,sadness_lexical_per_100,0.03 -0,0,discouragnepqi tragict devastatu,sadness_lexical_per_100,0.03 -0,0,grief unimportant,sadness_lexical_per_100,0.02 -0,0,miss yearnlkw whining tragickh pitiulpnv,sadness_lexical_per_100,0.05 -0,0,miss regretzkbrc missed unhappj,sadness_lexical_per_100,0.04 -0,0,weve son's,social_lexical_per_100,0.02 -0,0,listenerqe girlfriendwsnya,social_lexical_per_100,0.02 -0,0,hers,social_lexical_per_100,0.01 -0,0,he'll sisterqjtfk,social_lexical_per_100,0.02 -0,0,coworkertbpf mates he's mailing interrupm,social_lexical_per_100,0.05 -0,0,somethingjmcpi noboda,indefinite_pronoun_lexical_per_100,0.02 -0,0,somebodp somewhere itll who'll,indefinite_pronoun_lexical_per_100,0.04 -0,0,that'd somethingosdqx,indefinite_pronoun_lexical_per_100,0.02 -0,0,somethingp thatll those which someonecrhbd,indefinite_pronoun_lexical_per_100,0.05 -0,0,it'll it'd,indefinite_pronoun_lexical_per_100,0.02 -0,0,sinnzkc kosher qur'anpy,religion_lexical_per_100,0.03 -0,0,mercy,religion_lexical_per_100,0.01 -0,0,templefydxz hinduejs muhammsla lutheranwv ministerlnfts,religion_lexical_per_100,0.05 -0,0,catholickd,religion_lexical_per_100,0.01 -0,0,sikhc judaprfd muhammehcml sin,religion_lexical_per_100,0.04 -0,0,laidoff tradejnx taxes freshmknd,work_lexical_per_100,0.04 -0,0,incorprhq negotiatjf presentationomwfa,work_lexical_per_100,0.03 -0,0,politics mda,work_lexical_per_100,0.02 -0,0,revieww classes,work_lexical_per_100,0.02 -0,0,masters,work_lexical_per_100,0.01 -0,0,owes cashk bankpsiar checks kronlwik,money_lexical_per_100,0.05 -0,0,dinarcsg businesszosw revenueocp costbjwta owe,money_lexical_per_100,0.05 -0,0,euro auditors store spending,money_lexical_per_100,0.04 -0,0,mortgpzvi overtime,money_lexical_per_100,0.02 -0,0,bucks wagerfv,money_lexical_per_100,0.02 -0,0,effectcaxgn,causation_lexical_per_100,0.01 -0,0,leadmbhfe infer depends creatend,causation_lexical_per_100,0.04 -0,0,depends,causation_lexical_per_100,0.01 -0,0,deducgulp outcomecli affected hows producnbu,causation_lexical_per_100,0.05 -0,0,solutionva launchvoap leadhbi provoku,causation_lexical_per_100,0.04 -0,0,threatxre offencefhcog ludicrouslf,anger_lexical_per_100,0.03 -0,0,enragoqusn,anger_lexical_per_100,0.01 -0,0,sucks brutals sucked threatd destroyj,anger_lexical_per_100,0.05 -0,0,sinister,anger_lexical_per_100,0.01 -0,0,raping battliz warfareid defensjazn molestgv,anger_lexical_per_100,0.05 -0,0,mine I've myself I'd I'll,first_person_singular_lexical_per_100,0.05 -0,0,I'll I've,first_person_singular_lexical_per_100,0.02 -0,0,myself my,first_person_singular_lexical_per_100,0.02 -0,0,ive I'd,first_person_singular_lexical_per_100,0.02 -0,0,myself I'm ive my I've,first_person_singular_lexical_per_100,0.05 -0,0,rub hard warmlvye,feel_lexical_per_100,0.03 -0,0,hardevtqef driegnk feels touchlzf,feel_lexical_per_100,0.04 -0,0,leatherjcf pressed squeezul silkjn,feel_lexical_per_100,0.04 -0,0,skin brushtasj rub colde caressi,feel_lexical_per_100,0.05 -0,0,hottjmuo,feel_lexical_per_100,0.01 -0,0,mysterp ambigun,tentativeness_lexical_per_100,0.02 -0,0,most wondered depend alot vary,tentativeness_lexical_per_100,0.05 -0,0,fairly lucks unresolvn hesitaq option,tentativeness_lexical_per_100,0.05 -0,0,fuzznaxg hypotheticoqwzy barely,tentativeness_lexical_per_100,0.03 -0,0,depend indetermingifjl randomitf hypotheticvzkg supposed,tentativeness_lexical_per_100,0.05 -0,0,exclujvy,exclusive_lexical_per_100,0.01 -0,0,either except if somethingfxdq sometime,exclusive_lexical_per_100,0.05 -0,0,versus,exclusive_lexical_per_100,0.01 -0,0,but exclusxklz except or,exclusive_lexical_per_100,0.04 -0,0,sometime,exclusive_lexical_per_100,0.01 -0,0,youre wished thank went,verbs_lexical_per_100,0.04 -0,0,meant hoped lost,verbs_lexical_per_100,0.03 -0,0,ran carry showed used,verbs_lexical_per_100,0.04 -0,0,theres care cannot made,verbs_lexical_per_100,0.04 -0,0,affected misses theyd kept thatd,verbs_lexical_per_100,0.05 -0,0,gfjgevb,friends_lexical_per_100,0.01 -0,0,exgirll,friends_lexical_per_100,0.01 -0,0,mates,friends_lexical_per_100,0.01 -0,0,mate loveru mates buddyv,friends_lexical_per_100,0.04 -0,0,neighbord partnerzcvdj roomatel girlfriendt gft,friends_lexical_per_100,0.05 -0,0,a an alot,article_lexical_per_100,0.03 -0,0,a an,article_lexical_per_100,0.02 -0,0,a an alot,article_lexical_per_100,0.03 -0,0,the an a alot,article_lexical_per_100,0.04 -0,0,alot,article_lexical_per_100,0.01 -0,0,oh yes I believe,argue_lexical_per_100,0.03 -0,0,u mean and really,argue_lexical_per_100,0.03 -0,0,cause no I know and,argue_lexical_per_100,0.04 -0,0,and I think actually yes well,argue_lexical_per_100,0.05 -0,0,so,argue_lexical_per_100,0.01 -0,0,wouldve whod you've mustn't,auxiliary_verbs_lexical_per_100,0.04 -0,0,let youve itd ought,auxiliary_verbs_lexical_per_100,0.04 -0,0,can don't theyre wasn't,auxiliary_verbs_lexical_per_100,0.04 -0,0,hes must'nt wont did mustn't,auxiliary_verbs_lexical_per_100,0.05 -0,0,shan't theyve oughtve becomes done,auxiliary_verbs_lexical_per_100,0.05 -0,0,meaningi all wanted determining,cognitive_mech_lexical_per_100,0.04 -0,0,appearing suppresshvw proof changes,cognitive_mech_lexical_per_100,0.04 -0,0,rearrangbqlg randomuer containn deducczr practically,cognitive_mech_lexical_per_100,0.05 -0,0,occasionalszxg hazy requirj,cognitive_mech_lexical_per_100,0.03 -0,0,repressydvml,cognitive_mech_lexical_per_100,0.01 -0,0,until,preposition_lexical_per_100,0.01 -0,0,along ahead,preposition_lexical_per_100,0.02 -0,0,below under thru,preposition_lexical_per_100,0.03 -0,0,except insides towardkhyrs between beside,preposition_lexical_per_100,0.05 -0,0,without out about,preposition_lexical_per_100,0.03 -0,0,let's,first_person_plural_lexical_per_100,0.01 -0,0,we'd let's lets,first_person_plural_lexical_per_100,0.03 -0,0,our lets,first_person_plural_lexical_per_100,0.02 -0,0,we've,first_person_plural_lexical_per_100,0.01 -0,0,ours we'd weve ourselves let's,first_person_plural_lexical_per_100,0.05 -0,0,drily,percept_lexical_per_100,0.01 -0,0,grabwktxr,percept_lexical_per_100,0.01 -0,0,savourzw redness,percept_lexical_per_100,0.02 -0,0,speaking,percept_lexical_per_100,0.01 -0,0,souriau tang,percept_lexical_per_100,0.02 -0,0,thine yall,second_person_lexical_per_100,0.02 -0,0,you're youd,second_person_lexical_per_100,0.02 -0,0,y'all you'd thine you're,second_person_lexical_per_100,0.04 -0,0,thee thine youre yours,second_person_lexical_per_100,0.04 -0,0,ye you,second_person_lexical_per_100,0.02 -0,0,mustnt hope mistakwzl hoping,discrepancies_lexical_per_100,0.04 -0,0,would've problemo need lacksuexg expectt,discrepancies_lexical_per_100,0.05 -0,0,couldnt hopeful should,discrepancies_lexical_per_100,0.03 -0,0,desirva,discrepancies_lexical_per_100,0.01 -0,0,wishes wishing must've need,discrepancies_lexical_per_100,0.04 -0,0,noises thundero,hear_lexical_per_100,0.02 -0,0,thunderq inaudibln sang hears,hear_lexical_per_100,0.04 -0,0,loudvh sang hushmqplh speak,hear_lexical_per_100,0.04 -0,0,heard speakertphv shoutiaem audiblbohi,hear_lexical_per_100,0.04 -0,0,sang whispervhxqk,hear_lexical_per_100,0.02 -0,0,lawnxdi doghousemilk residenlwfxa condo vacuumk,home_lexical_per_100,0.05 -0,0,lawnjr residencpbs neighboregax,home_lexical_per_100,0.03 -0,0,doghouseeastb roomiepuma,home_lexical_per_100,0.02 -0,0,porch cleanhwe condo,home_lexical_per_100,0.03 -0,0,maidqyldk bedroomox patioquf,home_lexical_per_100,0.03 -0,0,whether nor then,conjunction_lexical_per_100,0.03 -0,0,because if then so,conjunction_lexical_per_100,0.04 -0,0,whereas while,conjunction_lexical_per_100,0.02 -0,0,plus until,conjunction_lexical_per_100,0.02 -0,0,when how although though,conjunction_lexical_per_100,0.04 -0,0,defined essential undoubts completed,certainty_lexical_per_100,0.04 -0,0,wholly distinctcx unquestionj,certainty_lexical_per_100,0.03 -0,0,altogether precisjawd exactnqhfl,certainty_lexical_per_100,0.03 -0,0,exactofn invariabr unquestionqzj defined,certainty_lexical_per_100,0.04 -0,0,completes inevitabx undoubtgyzl,certainty_lexical_per_100,0.03 -0,0,came,inclusive_lexical_per_100,0.01 -0,0,around come open,inclusive_lexical_per_100,0.03 -0,0,come,inclusive_lexical_per_100,0.01 -0,0,add came come we,inclusive_lexical_per_100,0.04 -0,0,inside with both,inclusive_lexical_per_100,0.03 -0,0,fattsc faintdlseh,bio_lexical_per_100,0.02 -0,0,syndromeagxe,bio_lexical_per_100,0.01 -0,0,digestp musclephj skinnijsv healing,bio_lexical_per_100,0.04 -0,0,penisygbjp,bio_lexical_per_100,0.01 -0,0,veggiecla,bio_lexical_per_100,0.01 -0,0,unproducet importanmqdw resourcefulcamzd,achievement_lexical_per_100,0.03 -0,0,concludwo ranking masters lose strongm,achievement_lexical_per_100,0.05 -0,0,loserxc,achievement_lexical_per_100,0.01 -0,0,effortcxbe first triumphujryl masterfulvq irresponsiblet,achievement_lexical_per_100,0.05 -0,0,confident abilitbdz endeavafre defeatxjq determined,achievement_lexical_per_100,0.05 -0,0,mostly now whenever too primarily,adverbs_lexical_per_100,0.05 -0,0,probably back perhaps here mostly,adverbs_lexical_per_100,0.05 -0,0,somehow apparently how yet here,adverbs_lexical_per_100,0.05 -0,0,now eventually soon how completely,adverbs_lexical_per_100,0.05 -0,0,generally well such seriously here,adverbs_lexical_per_100,0.05 -0,0,overwhelmryjd strainf shakewm,anxiety_lexical_per_100,0.03 -0,0,uncertainve feared confusmb,anxiety_lexical_per_100,0.03 -0,0,franticivctu stuns shook uncertainu,anxiety_lexical_per_100,0.04 -0,0,shakiihxd frightixu shook stunned misersjne,anxiety_lexical_per_100,0.05 -0,0,alarmkzu tremblwzocs stuns,anxiety_lexical_per_100,0.03 -0,0,she'll he,third_person_lexical_per_100,0.02 -0,0,him her,third_person_lexical_per_100,0.02 -0,0,his,third_person_lexical_per_100,0.01 -0,0,her she's hers,third_person_lexical_per_100,0.03 -0,0,herself hes he's,third_person_lexical_per_100,0.03 -0,0,oughtn't don't wouldnt,negation_lexical_per_100,0.03 -0,0,shouldn't doesnt didnt nowhere should'nt,negation_lexical_per_100,0.05 -0,0,arent shouldnt isn't,negation_lexical_per_100,0.03 -0,0,nope,negation_lexical_per_100,0.01 -0,0,need'nt not negatlpji wouldn't,negation_lexical_per_100,0.04 -0,0,dang pussyah,swear_lexical_per_100,0.02 -0,0,hell dumbpbzvd bitchkvyuz butt homo,swear_lexical_per_100,0.05 -0,0,fuck shitq cock pisslkx,swear_lexical_per_100,0.04 -0,0,sob queersgm pussyeqru fucks,swear_lexical_per_100,0.04 -0,0,mofo prickyj dick niggerjvw,swear_lexical_per_100,0.04 -0,0,embalmjt oded gravevwhfi tombetp,death_lexical_per_100,0.04 -0,0,drownksti,death_lexical_per_100,0.01 -0,0,lynchxafto war,death_lexical_per_100,0.02 -0,0,dies bereavemfhcn,death_lexical_per_100,0.02 -0,0,genocidgjoau grief morticianbspv,death_lexical_per_100,0.03 -0,0,asthmanmc tumofwvj chokkohz physicianuqvwr,health_lexical_per_100,0.04 -0,0,nearsighted throbj anorexiky tinglliqf,health_lexical_per_100,0.04 -0,0,throbpqym woundzlkw gynobqovn,health_lexical_per_100,0.03 -0,0,therapdkzr healed OCD,health_lexical_per_100,0.03 -0,0,living coronard,health_lexical_per_100,0.02 -0,0,scannrq circle reddeyo glowx,see_lexical_per_100,0.04 -0,0,sunshingwv sees clickhbiyp scannmbgl eying,see_lexical_per_100,0.05 -0,0,eyeqblh rectangypwos triangdg seer looked,see_lexical_per_100,0.05 -0,0,columnxvs sightsue,see_lexical_per_100,0.02 -0,0,whitishk,see_lexical_per_100,0.01 -0,0,bone belly nervew,body_lexical_per_100,0.03 -0,0,skin palms breathdcafq,body_lexical_per_100,0.03 -0,0,brainz bones,body_lexical_per_100,0.02 -0,0,rashnut tit itchwght kneenjk,body_lexical_per_100,0.04 -0,0,lungr facialt slenderi spine,body_lexical_per_100,0.04 -0,0,husbandyabx,family_lexical_per_100,0.01 -0,0,marrieboagv brotherrhda,family_lexical_per_100,0.02 -0,0,exhusbanda granddaursubf,family_lexical_per_100,0.02 -0,0,familiesc,family_lexical_per_100,0.01 -0,0,cousinbzmwh marriexrzvf,family_lexical_per_100,0.02 -0,0,longingjhbn,negative_affect_lexical_per_100,0.01 -0,0,lamefpbv disadvantagenxtql,negative_affect_lexical_per_100,0.02 -0,0,insincermy remorseoeia,negative_affect_lexical_per_100,0.02 -0,0,difficultna jaded wars vanity,negative_affect_lexical_per_100,0.04 -0,0,difficultnmril warring vulnerabc shitzv,negative_affect_lexical_per_100,0.04 -0,0,tons greater simple,quantifier_lexical_per_100,0.03 -0,0,extent,quantifier_lexical_per_100,0.01 -0,0,mucho much section lotsa extremely,quantifier_lexical_per_100,0.05 -0,0,ton piecg page differenceb whole,quantifier_lexical_per_100,0.05 -0,0,else,quantifier_lexical_per_100,0.01 -0,0,alrightdo,positive_affect_lexical_per_100,0.01 -0,0,helperhnx sunny,positive_affect_lexical_per_100,0.02 -0,0,complimentjlbhe convincfthqs graces,positive_affect_lexical_per_100,0.03 -0,0,lucks romanczk praisyvpch safelmgx hehp,positive_affect_lexical_per_100,0.05 -0,0,talentv interestuthxn,positive_affect_lexical_per_100,0.02 -0,0,reasonpulei meaningidwf,insight_lexical_per_100,0.02 -0,0,seem questiontmyhc reorganitkgar,insight_lexical_per_100,0.03 -0,0,sense,insight_lexical_per_100,0.01 -0,0,wonders,insight_lexical_per_100,0.01 -0,0,explaining rationallpfg appreciate,insight_lexical_per_100,0.03 -0,0,man,humans_lexical_per_100,0.01 -0,0,girlshfsio adults,humans_lexical_per_100,0.02 -0,0,child,humans_lexical_per_100,0.01 -0,0,citizen,humans_lexical_per_100,0.01 -0,0,ma'am men'bldt self femalejlcvo babeae,humans_lexical_per_100,0.05 -0,0,hears,present_tense_lexical_per_100,0.01 -0,0,brings thats doesn't whats,present_tense_lexical_per_100,0.04 -0,0,goes start they're,present_tense_lexical_per_100,0.03 -0,0,describes havent dislikes,present_tense_lexical_per_100,0.03 -0,0,knows believe listens,present_tense_lexical_per_100,0.03 -0,0,mustnt must must'nt shouldnt you'll,future_tense_lexical_per_100,0.05 -0,0,ought'nt,future_tense_lexical_per_100,0.01 -0,0,thatll wouldve should'nt gonna,future_tense_lexical_per_100,0.04 -0,0,that'll won't I'll,future_tense_lexical_per_100,0.03 -0,0,who'll should'nt,future_tense_lexical_per_100,0.02 -0,0,hated went wondered appeared,past_tense_lexical_per_100,0.04 -0,0,ate,past_tense_lexical_per_100,0.01 -0,0,disliked lost described spent,past_tense_lexical_per_100,0.04 -0,0,ate,past_tense_lexical_per_100,0.01 -0,0,forgote cared believed,past_tense_lexical_per_100,0.03 -0,0,awhile immediately outerki,relative_lexical_per_100,0.03 -0,0,perpetualp internalltsem tiniest,relative_lexical_per_100,0.03 -0,0,right immediateness fademl finishykxwt,relative_lexical_per_100,0.04 -0,0,corners old over,relative_lexical_per_100,0.03 -0,0,fit approachjuzeb,relative_lexical_per_100,0.02 -0,0,erectile condom pornfzqh fucks,sexual_lexical_per_100,0.04 -0,0,fuckinc asses condom queerduvk,sexual_lexical_per_100,0.04 -0,0,pregnange erectionux,sexual_lexical_per_100,0.02 -0,0,orgasmt sexw chlamydia gay,sexual_lexical_per_100,0.04 -0,0,rapistph ovarsg tits,sexual_lexical_per_100,0.03 -0,0,withheld defencjtr,inhibition_lexical_per_100,0.02 -0,0,hesitaz tightq halthvc,inhibition_lexical_per_100,0.03 -0,0,protectab securulxeo interferhvrx deniaanhcy restraindrv,inhibition_lexical_per_100,0.05 -0,0,waits,inhibition_lexical_per_100,0.01 -0,0,controlx waited tidy,inhibition_lexical_per_100,0.03 -0,0,defeats,sadness_lexical_per_100,0.01 -0,0,hopelesspkm heartbrokekible cried loses resigne,sadness_lexical_per_100,0.05 -0,0,whining sadness cry cried disheartengzeaq,sadness_lexical_per_100,0.05 -0,0,sadly damagbntc pessimisrc,sadness_lexical_per_100,0.03 -0,0,hopelessa dissatisfcl fatigucuvjd disillusionqt isolatg,sadness_lexical_per_100,0.05 -0,0,assemblkd meet band guyawg kid,social_lexical_per_100,0.05 -0,0,help excusk peoplelnm organizho yall,social_lexical_per_100,0.05 -0,0,sons,social_lexical_per_100,0.01 -0,0,his participanteir,social_lexical_per_100,0.02 -0,0,grandpap whom mailerut,social_lexical_per_100,0.03 -0,0,this that it'd,indefinite_pronoun_lexical_per_100,0.03 -0,0,these anything thatll everybodhn it'll,indefinite_pronoun_lexical_per_100,0.05 -0,0,noboddup whats,indefinite_pronoun_lexical_per_100,0.02 -0,0,it's who'd thats it whats,indefinite_pronoun_lexical_per_100,0.05 -0,0,anything wholl these,indefinite_pronoun_lexical_per_100,0.03 -0,0,karma salvation orthodoxfdy rosaries sect,religion_lexical_per_100,0.05 -0,0,rosary jesuitgsabe hell,religion_lexical_per_100,0.03 -0,0,hell,religion_lexical_per_100,0.01 -0,0,christianwq muhammyprqh piety sects,religion_lexical_per_100,0.04 -0,0,sunni scripturvko templeme salvation,religion_lexical_per_100,0.04 -0,0,credentialrs com absentp,work_lexical_per_100,0.03 -0,0,mfg reportsuro commercsjezh collabw,work_lexical_per_100,0.04 -0,0,outsourcrfndl,work_lexical_per_100,0.01 -0,0,transfergdnu grad,work_lexical_per_100,0.02 -0,0,econgv goalg,work_lexical_per_100,0.02 -0,0,cashlf,money_lexical_per_100,0.01 -0,0,debti shop consumerzae inheritfkyv,money_lexical_per_100,0.04 -0,0,stocks,money_lexical_per_100,0.01 -0,0,taxaxv cheapi,money_lexical_per_100,0.02 -0,0,incomegfl bet auditing taxansjbf,money_lexical_per_100,0.04 -0,0,thereforrnsq,causation_lexical_per_100,0.01 -0,0,origins,causation_lexical_per_100,0.01 -0,0,motivnt launchvt,causation_lexical_per_100,0.02 -0,0,makes forcev using obedienwayd,causation_lexical_per_100,0.04 -0,0,compliance obedienlpijv pick,causation_lexical_per_100,0.03 -0,0,sucked arrogant ferocwv,anger_lexical_per_100,0.03 -0,0,punishx enragvbj contemptawb,anger_lexical_per_100,0.03 -0,0,maniacxo pissmygt rebelmp,anger_lexical_per_100,0.03 -0,0,stupidncwg hellish paranoilbock warring,anger_lexical_per_100,0.04 -0,0,naga angrwmnl tantrumsv,anger_lexical_per_100,0.03 -0,0,ive I've,first_person_singular_lexical_per_100,0.02 -0,0,Id,first_person_singular_lexical_per_100,0.01 -0,0,Id myself,first_person_singular_lexical_per_100,0.02 -0,0,I'd,first_person_singular_lexical_per_100,0.01 -0,0,i,first_person_singular_lexical_per_100,0.01 -0,0,weightliftd hand driemau drily,feel_lexical_per_100,0.04 -0,0,grippfipun feelingwkaf thinnajy,feel_lexical_per_100,0.03 -0,0,skin'men,feel_lexical_per_100,0.01 -0,0,weight press hot thin silkvr,feel_lexical_per_100,0.05 -0,0,skin'h,feel_lexical_per_100,0.01 -0,0,assumbvd seemed usually,tentativeness_lexical_per_100,0.03 -0,0,option,tentativeness_lexical_per_100,0.01 -0,0,someonesyc wonders theorhe,tentativeness_lexical_per_100,0.03 -0,0,spose hardly seemed alot,tentativeness_lexical_per_100,0.04 -0,0,often appearing,tentativeness_lexical_per_100,0.02 -0,0,either except sometime,exclusive_lexical_per_100,0.03 -0,0,without,exclusive_lexical_per_100,0.01 -0,0,really but whether,exclusive_lexical_per_100,0.03 -0,0,vs,exclusive_lexical_per_100,0.01 -0,0,if,exclusive_lexical_per_100,0.01 -0,0,begin supported,verbs_lexical_per_100,0.02 -0,0,begin held who's describe how's,verbs_lexical_per_100,0.05 -0,0,takes,verbs_lexical_per_100,0.01 -0,0,happened saw mustnt brings,verbs_lexical_per_100,0.04 -0,0,slept took waited,verbs_lexical_per_100,0.03 -0,0,pals bud amigodyzg mate's girlfriendur,friends_lexical_per_100,0.05 -0,0,mates,friends_lexical_per_100,0.01 -0,0,neighborwtey bftxuv comradq,friends_lexical_per_100,0.03 -0,0,colleaguejo buddiesef,friends_lexical_per_100,0.02 -0,0,bfbfi,friends_lexical_per_100,0.01 -0,0,an a alot the,article_lexical_per_100,0.04 -0,0,the,article_lexical_per_100,0.01 -0,0,an,article_lexical_per_100,0.01 -0,0,an the,article_lexical_per_100,0.02 -0,0,an,article_lexical_per_100,0.01 -0,0,u know no,argue_lexical_per_100,0.02 -0,0,really you know I think,argue_lexical_per_100,0.03 -0,0,really I believe,argue_lexical_per_100,0.02 -0,0,cause,argue_lexical_per_100,0.01 -0,0,I know,argue_lexical_per_100,0.01 -0,0,you'd could,auxiliary_verbs_lexical_per_100,0.02 -0,0,couldnt isn't,auxiliary_verbs_lexical_per_100,0.02 -0,0,oughta had be what's,auxiliary_verbs_lexical_per_100,0.04 -0,0,be shant itll,auxiliary_verbs_lexical_per_100,0.03 -0,0,ain't couldnt,auxiliary_verbs_lexical_per_100,0.02 -0,0,avertv,cognitive_mech_lexical_per_100,0.01 -0,0,yearnqgjth,cognitive_mech_lexical_per_100,0.01 -0,0,infer tentativwc wouldn't,cognitive_mech_lexical_per_100,0.03 -0,0,around commit banned fundamental,cognitive_mech_lexical_per_100,0.04 -0,0,obedienoki solutionhk,cognitive_mech_lexical_per_100,0.02 -0,0,around plus,preposition_lexical_per_100,0.02 -0,0,onto,preposition_lexical_per_100,0.01 -0,0,insides in behind out,preposition_lexical_per_100,0.04 -0,0,insides amongzekb unto by than,preposition_lexical_per_100,0.05 -0,0,across above about without,preposition_lexical_per_100,0.04 -0,0,we'd us our weve,first_person_plural_lexical_per_100,0.04 -0,0,we'd we've weve ourselves we,first_person_plural_lexical_per_100,0.05 -0,0,we've we're lets,first_person_plural_lexical_per_100,0.03 -0,0,ourselves,first_person_plural_lexical_per_100,0.01 -0,0,us our we'll let's,first_person_plural_lexical_per_100,0.04 -0,0,greyiyck delectabliktz,percept_lexical_per_100,0.02 -0,0,screen sand,percept_lexical_per_100,0.02 -0,0,sweetness drieqs deoders,percept_lexical_per_100,0.03 -0,0,coldedrm,percept_lexical_per_100,0.01 -0,0,hear caramelzjw wetly tonguel,percept_lexical_per_100,0.04 -0,0,y'all youd you're you'll,second_person_lexical_per_100,0.04 -0,0,u thine,second_person_lexical_per_100,0.02 -0,0,yall yours u your thoust,second_person_lexical_per_100,0.05 -0,0,yall you've youll thee,second_person_lexical_per_100,0.04 -0,0,thine you ye,second_person_lexical_per_100,0.03 -0,0,responsibly evocative faithfully valiantly illustrious,positive_words_lexical_per_100,0.05 -0,0,imaculate vivid likable enjoyable succeed,positive_words_lexical_per_100,0.05 -0,0,smitten sharpest rightfully unreal,positive_words_lexical_per_100,0.04 -0,0,reaffirmation joy goood speedy self-sufficient,positive_words_lexical_per_100,0.05 -0,0,tantalize energize gusto win,positive_words_lexical_per_100,0.04 -0,0,we our i me,first_person_lexical_per_100,0.04 -0,0,ourselves,first_person_lexical_per_100,0.01 -0,0,myself,first_person_lexical_per_100,0.01 -0,0,lets my i,first_person_lexical_per_100,0.03 -0,0,our,first_person_lexical_per_100,0.01 -0,0,but,nltk_english_stopwords_lexical_per_100,0.01 -0,0,were was your,nltk_english_stopwords_lexical_per_100,0.03 -0,0,any shan it is,nltk_english_stopwords_lexical_per_100,0.04 -0,0,our,nltk_english_stopwords_lexical_per_100,0.01 -0,0,because an after other,nltk_english_stopwords_lexical_per_100,0.04 -0,0,probably,hedge_words_lexical_per_100,0.01 -0,0,maybe I guess possibly sort of a little,hedge_words_lexical_per_100,0.05 -0,0,a little possibly I think sort of probably,hedge_words_lexical_per_100,0.05 -0,0,probably sort of,hedge_words_lexical_per_100,0.02 -0,0,I think,hedge_words_lexical_per_100,0.01 \ No newline at end of file +conversation_num,speaker_nickname,message,expected_column,expected_value +1,A,Hello I like fish.,num_words,4.0 +1,B,This sentence has five words.,num_words,5.0 +2,A,Hello??,num_words,1.0 +2,B,Is 4 a word?,num_words,4.0 +3,A,.,num_words,0.0 +4,test_A,"HELLO WORLD, THIS IS A TEST. hi HI. hi HI hi HI""",num_all_caps,9.0 +4,test_B,ONE TWO THREE. four five six. sEvEn EiGhT nInE.,num_all_caps,3.0 +4,test_A,Check out this [link](https://example.com) and this one http://example.org,num_links,2.0 +4,test_B,I like google.com and wikipedia.org but not amazon.com,num_links,3.0 +4,test_A,why don't you read everything at https://www.example.com and https://www.example.org and https://www.example.net and https://www.example.ca and https://www.example.co.uk,num_links,5.0 +4,test_B,"why don't you read everything at +- https://www.example.com +- https://www.example.org +- https://www.example.net +- https://www.example.ca +- https://www.example.co.uk",num_links,5.0 +4,test_A,"Hello u/user1 and u/user2, hi hi hi?",num_reddit_users,2.0 +4,test_B,I don't like u/user_1_test but I like u/user2Test,num_reddit_users,2.0 +4,test_A,"This is **bold**, *italics*, and this is not. This is ***bolded and italicized***",num_emphasis,3.0 +4,test_B,This is **uneven* in terms of *the emphasis**,num_emphasis,2.0 +4,test_A,* item 1\n* item 2\n- item 3,num_bullet_points,3.0 +4,test_B,"Here are all my arguments: +- point 1 +- point 2 +- point 3 +- point 4 is super long and takes up multiple lines point 4 is super long and takes up multiple lines point 4 is super long and takes up multiple lines point 4 is super long and takes up multiple lines point 4 is super long and takes up multiple lines point 4 is super long and takes up multiple lines point 4 is super long and takes up multiple lines point 4 is super long and takes up multiple lines point 4 is super long and takes up multiple lines point 4 is super long and takes up multiple lines point 4 is super long and takes up multiple lines",num_bullet_points,4.0 +4,test_A,1. First\n2. Second\n3. Third,num_numbered_points,3.0 +4,test_B,This is the first line.\nThis is the second line.\nThis is the third line.,num_line_breaks,3.0 +4,test_A,"I have a line + + + + +here is a new line + + +here is a third line",num_line_breaks,3.0 +4,test_B,this is a line with\rA different kind of return value\rUsing carriage return instead of the newline character,num_line_breaks,3.0 +4,test_A,"""This is a quote."" She said, ""Here's another.""",num_quotes,2.0 +4,test_B,"""You miss 100% of the shots you don't take"" -- Wayne Gretzky",num_quotes,1.0 +4,test_A,"""I can't believe you use single quotes to quote people,"" she said. ""Well, he replied, 'sometimes single quotes are useful when you nest quotes inside other quotes,' according to my English teacher"" Then she said: 'okay'",num_quotes,4.0 +4,test_B,> Quoting someone else\nThis is my reply.,num_block_quote_responses,1.0 +4,test_A,> Quoting someone else\nThis is my reply.,num_block_quote_responses,1.0 +4,test_B,>>>> This is a quote but I went overboard with the carat character,num_block_quote_responses,1.0 +4,test_A,>> This is one where I put too many of the gt's,num_block_quote_responses,1.0 +4,test_B,"> Hello! +Goodbye!",num_block_quote_responses,1.0 +4,test_B,"> here I am making a quote +I respond to it +> I quote again +I respond to that too",num_block_quote_responses,2.0 +4,test_A,Well... I'm not sure... Maybe...,num_ellipses,3.0 +4,test_B,hm..what if I only use two periods.............or many periods............,num_ellipses,2.0 +4,test_B,This is a sentence (with some text in parentheses).,num_parentheses,1.0 +4,test_A,"""Sure,"" I said confidently (thiking to myself: no way!) This was definitely (not) one of my best moments.",num_parentheses,2.0 +4,test_B,(((((these parentheses are not properly closed.),num_parentheses,1.0 +4,test_B,((there are multiple parentheses here)),num_parentheses,2.0 +4,test_A,((1+(1+3+4)^2)+7+(9+8)),num_parentheses,4.0 +5,test1,I think that I think that I think,certainty_rocklage,4.5 +5,test2,I am a little confused,certainty_rocklage,2.47 +5,test2,I don't really know the answer,certainty_rocklage,1.33 +5,test3,I am sure that this is correct,certainty_rocklage,8.02 +5,test1,I am fairly certain in my response,certainty_rocklage,8.28 +5,test2,This is without a doubt the best movie I have ever seen,certainty_rocklage,4.5 +5,test2,I am not sure about how to how to approximately handle this,certainty_rocklage,2.69 +5,test3,I believe that he is guilty but I am not very certain,certainty_rocklage,6.56 +5,test1,I an open to you changing my mind on this issue,certainty_rocklage,4.5 +5,test2,I don't think the guy is the a$$hole. Thoughts?,certainty_rocklage,5.44 +5,test2,So who thinks the guy is an ass for asking his mother in law to learn english,certainty_rocklage,4.5 +5,test3,"I think that this person is not an asshole because, according to him, he was very polite while approaching the issue",certainty_rocklage,6.037 +5,test1,I can see how the family is upset because they feel the mother was disrespected but I can also understand the guy's feelings. Why should he have to work as interpreter for his mother in law?,certainty_rocklage,4.5 +5,test2,"Yes, I think his feeling makes sense to me to. Who doesn't want to be independent.",certainty_rocklage,4.89 +5,test2,I was conflicted because I could understand his frustration however I feel he should have maybe discussed strategies with how to approach the mother in law with his wife first.,certainty_rocklage,4.684 +5,test3,His MIL has been here for 8 years. You would think she'd pick up some English by now.,certainty_rocklage,4.5 +5,test1,I think he had every right to want to help his mother in law,certainty_rocklage,4.28 +5,test2,I also agree with culturedCow,certainty_rocklage,4.5 +5,test2,"I don't think he's an asshole. I think his request is reasonable. If you go to live in a foreign country, you should learn the language.",certainty_rocklage,5.125 +5,test3,"I think the guy is an asshole because for all his talk about how easy it is to use resources to learn a language, he didn't take the time to research WHY some people do not.",certainty_rocklage,5.505 +5,test1,I think he also tried to utilize other resources such as language learning apps to help her learn,certainty_rocklage,4.28 +5,test2,"I think also he needs to understand that language learning is not the same for everyone, not everyone has the same capacity to learn new languages quickly.",certainty_rocklage,6.09 +5,test2,"Maybe she does have a problem with learning languages, but she could at least try.",certainty_rocklage,3.79 +5,test3,After the edit he done it made it sound like he really loves his family,certainty_rocklage,6.175 +5,test1,"I don't think the guy is wrong in asking her to learn more english being that she lives in America, but he has to understand she is older and may not have the patience or capacity to learn a lot of english.",certainty_rocklage,5.472 +5,test2,"Learning a second language is easiest when you're a child for a reason. Your brain is wired differently then, which makes it easier.",certainty_rocklage,5.4 +5,test2,I think he tried to help her.� He gave her resources to use and she apparently didn't use them.,certainty_rocklage,4.32 +1,A,hello,Hello_receptiveness_yeomans,1.0 +1,B,So how should we answer this,Token_count_receptiveness_yeomans,6.0 +1,A,We can start here. What is the question?,YesNo_Questions_receptiveness_yeomans,0.0 +1,B,I am not sure. Where is the rest of our team?,WH_Questions_receptiveness_yeomans,1.0 +1,B,"Please help me figure this out, I really want to do well on this please",Please_receptiveness_yeomans,2.0 +2,C,Hey,Hello_receptiveness_yeomans,1.0 +2,C,Okay bro lets split it 50/50,Impersonal_Pronoun_receptiveness_yeomans,1.0 +2,D,Maybe but how about 60/40? I doubt its fair otherwise,Hedges_receptiveness_yeomans,2.0 +2,C,Seems fair,Hedges_receptiveness_yeomans,1.0 +1,B,I am not sure. Where is the rest of our team?,First_Person_Single_receptiveness_yeomans,1.0 +1,B,"Well please help me figure this out, I really want to do well on this please okay",factuality_politeness_convokit,1.0 +2,C,Seems possible,hashedge_politeness_convokit,1.0 +2,E,I see what youre thinking but I disagree,Acknowledgement_receptiveness_yeomans,1.0 +2,E,We get only one chance so we should understand how to split it,Acknowledgement_receptiveness_yeomans,2.0 +2,D,"I just don't agree, I'm making the 60/40 split",Adverb_Limiter_receptiveness_yeomans,1.0 +3,G,hey,indirect_greeting_politeness_convokit,1.0 +3,G,I think we should try something else,1st_person_start_politeness_convokit,1.0 +3,F,Ok whatever. You should leave the team then,2nd_person_start_politeness_convokit,1.0 +4,H,Honestly thank you so so much,factuality_politeness_convokit,1.0 +4,H,What's the plan?,direct_question_politeness_convokit,1.0 +4,I,That is the dumbest idea I've heard; youre actually dumb af,hasnegative_politeness_convokit,1.0 +4,H,What's ur problem here?,hasnegative_politeness_convokit,1.0 +5,J,Pleasure and an honor to meet you all,haspositive_politeness_convokit,1.0 +5,K,We should try that next,haspositive_politeness_convokit,0.0 +5,J,Could you please explain why? I don't really understand why you are thinking that,subjunctive_politeness_convokit,1.0 +5,K,Sorry sorry I didn't mean to,apologizing_politeness_convokit,1.0 +6,L,I don't really want to work with you all but let's get this over with,Impersonal_Pronoun_receptiveness_yeomans,1.0 +6,J,Fine by me,Affirmation_receptiveness_yeomans,1.0 +6,K,Ok so which part should we do first? the first or second?,YesNo_Questions_receptiveness_yeomans,1.0 +7,L,Please don't do that?,please_start_politeness_convokit,1.0 +7,L,I don't think that will work,hashedge_politeness_convokit,1.0 +7,M,I'm exhuasted rn,hasnegative_politeness_convokit,0.0 +7,M,i don't really care please just finish this up,haspositive_politeness_convokit,0.0 +7,N,Please don't do that?,Please_receptiveness_yeomans,1.0 +7,N,I don't think that will work,Hedges_receptiveness_yeomans,0.0 +7,O,I'm exhuasted rn,Negative_Emotion_receptiveness_yeomans,0.0 +7,O,i don't really care please just finish this up,Positive_Emotion_receptiveness_yeomans,0.0 +8,P,i appreciate all this from you,gratitude_politeness_convokit,1.0 +8,P,"well we should start rn, our part is long",1st_person_pl_politeness_convokit,1.0 +8,Q,ok forgive me for this error but,apologizing_politeness_convokit,1.0 +8,Q,you have to redo the whole thing,2nd_person_politeness_convokit,0.0 +8,R,ok so who will work with me? where should we begin?,direct_question_politeness_convokit,0.0 +8,S,i appreciate all this from you,Gratitude_receptiveness_yeomans,1.0 +8,S,"well we should start rn, our part is long",First_Person_Plural_receptiveness_yeomans,2.0 +8,T,ok forgive us for this error but,Apology_receptiveness_yeomans,0.0 +8,T,you have to redo the whole thing,Second_Person_receptiveness_yeomans,1.0 +8,U,ok so who will work with me? where should we begin?,WH_Questions_receptiveness_yeomans,2.0 +9,A,"I understand your perspective and agree that I would not want to have resentment in the workplace against women, as that would further compound the issue we are looking at. I do think that it is true that women are underrepresented in STEM careers and am a believer that something should be done to address this discrepancy, even if that is not implementing a priority for women in hiring decisions. While I don\'t think that companies should explicitly hire simply because of their gender, I do think that they should be mindful of the gender gap in STEM and look to address those issues through their hiring practices.",Impersonal_Pronoun_receptiveness_yeomans,12.0 +10,A,"I understand your perspective and agree that I would not want to have resentment in the workplace against women, as that would further compound the issue we are looking at. I do think that it is true that women are underrepresented in STEM careers and am a believer that something should be done to address this discrepancy, even if that is not implementing a priority for women in hiring decisions. While I don\'t think that companies should explicitly hire simply because of their gender, I do think that they should be mindful of the gender gap in STEM and look to address those issues through their hiring practices.",First_Person_Single_receptiveness_yeomans,5.0 +11,A,"I understand your perspective and agree that I would not want to have resentment in the workplace against women, as that would further compound the issue we are looking at. I do think that it is true that women are underrepresented in STEM careers and am a believer that something should be done to address this discrepancy, even if that is not implementing a priority for women in hiring decisions. While I don\'t think that companies should explicitly hire simply because of their gender, I do think that they should be mindful of the gender gap in STEM and look to address those issues through their hiring practices.",Hedges_receptiveness_yeomans,3.0 +12,A,"I understand your perspective and agree that I would not want to have resentment in the workplace against women, as that would further compound the issue we are looking at. I do think that it is true that women are underrepresented in STEM careers and am a believer that something should be done to address this discrepancy, even if that is not implementing a priority for women in hiring decisions. While I don\'t think that companies should explicitly hire simply because of their gender, I do think that they should be mindful of the gender gap in STEM and look to address those issues through their hiring practices.",Negation_receptiveness_yeomans,3.0 +13,A,"I understand your perspective and agree that I would not want to have resentment in the workplace against women, as that would further compound the issue we are looking at. I do think that it is true that women are underrepresented in STEM careers and am a believer that something should be done to address this discrepancy, even if that is not implementing a priority for women in hiring decisions. While I don\'t think that companies should explicitly hire simply because of their gender, I do think that they should be mindful of the gender gap in STEM and look to address those issues through their hiring practices.",Subjectivity_receptiveness_yeomans,3.0 +14,A,"I understand your perspective and agree that I would not want to have resentment in the workplace against women, as that would further compound the issue we are looking at. I do think that it is true that women are underrepresented in STEM careers and am a believer that something should be done to address this discrepancy, even if that is not implementing a priority for women in hiring decisions. While I don\'t think that companies should explicitly hire simply because of their gender, I do think that they should be mindful of the gender gap in STEM and look to address those issues through their hiring practices.",Negative_Emotion_receptiveness_yeomans,3.0 +15,A,"I understand your perspective and agree that I would not want to have resentment in the workplace against women, as that would further compound the issue we are looking at. I do think that it is true that women are underrepresented in STEM careers and am a believer that something should be done to address this discrepancy, even if that is not implementing a priority for women in hiring decisions. While I don\'t think that companies should explicitly hire simply because of their gender, I do think that they should be mindful of the gender gap in STEM and look to address those issues through their hiring practices.",Reasoning_receptiveness_yeomans,1.0 +16,A,"I understand your perspective and agree that I would not want to have resentment in the workplace against women, as that would further compound the issue we are looking at. I do think that it is true that women are underrepresented in STEM careers and am a believer that something should be done to address this discrepancy, even if that is not implementing a priority for women in hiring decisions. While I don\'t think that companies should explicitly hire simply because of their gender, I do think that they should be mindful of the gender gap in STEM and look to address those issues through their hiring practices.",Agreement_receptiveness_yeomans,1.0 +17,A,"I understand your perspective and agree that I would not want to have resentment in the workplace against women, as that would further compound the issue we are looking at. I do think that it is true that women are underrepresented in STEM careers and am a believer that something should be done to address this discrepancy, even if that is not implementing a priority for women in hiring decisions. While I don\'t think that companies should explicitly hire simply because of their gender, I do think that they should be mindful of the gender gap in STEM and look to address those issues through their hiring practices.",Second_Person_receptiveness_yeomans,1.0 +18,A,"I understand your perspective and agree that I would not want to have resentment in the workplace against women, as that would further compound the issue we are looking at. I do think that it is true that women are underrepresented in STEM careers and am a believer that something should be done to address this discrepancy, even if that is not implementing a priority for women in hiring decisions. While I don\'t think that companies should explicitly hire simply because of their gender, I do think that they should be mindful of the gender gap in STEM and look to address those issues through their hiring practices.",Adverb_Limiter_receptiveness_yeomans,1.0 +19,A,"I understand your perspective and agree that I would not want to have resentment in the workplace against women, as that would further compound the issue we are looking at. I do think that it is true that women are underrepresented in STEM careers and am a believer that something should be done to address this discrepancy, even if that is not implementing a priority for women in hiring decisions. While I don\'t think that companies should explicitly hire simply because of their gender, I do think that they should be mindful of the gender gap in STEM and look to address those issues through their hiring practices.",Disagreement_receptiveness_yeomans,1.0 +20,A,"I understand your perspective and agree that I would not want to have resentment in the workplace against women, as that would further compound the issue we are looking at. I do think that it is true that women are underrepresented in STEM careers and am a believer that something should be done to address this discrepancy, even if that is not implementing a priority for women in hiring decisions. While I don\'t think that companies should explicitly hire simply because of their gender, I do think that they should be mindful of the gender gap in STEM and look to address those issues through their hiring practices.",Acknowledgement_receptiveness_yeomans,1.0 +21,A,"I understand your perspective and agree that I would not want to have resentment in the workplace against women, as that would further compound the issue we are looking at. I do think that it is true that women are underrepresented in STEM careers and am a believer that something should be done to address this discrepancy, even if that is not implementing a priority for women in hiring decisions. While I don\'t think that companies should explicitly hire simply because of their gender, I do think that they should be mindful of the gender gap in STEM and look to address those issues through their hiring practices.",First_Person_Plural_receptiveness_yeomans,1.0 +22,A,"I understand your perspective and agree that I would not want to have resentment in the workplace against women, as that would further compound the issue we are looking at. I do think that it is true that women are underrepresented in STEM careers and am a believer that something should be done to address this discrepancy, even if that is not implementing a priority for women in hiring decisions. While I don\'t think that companies should explicitly hire simply because of their gender, I do think that they should be mindful of the gender gap in STEM and look to address those issues through their hiring practices.",For_Me_receptiveness_yeomans,0.0 +23,A,And I will always love you,Conjunction_Start_receptiveness_yeomans,1.0 +23,B,"Can you help me, can you please?",Can_You_receptiveness_yeomans,2.0 +23,C,"Can you, will you, could you please be mine?",Could_You_receptiveness_yeomans,1.0 +23,D,"This land is your land, this land is my land; this land was made for you and for me",For_You_receptiveness_yeomans,1.0 +0,0,unneccessagf shoulds shouldve should'nt,discrepancies_lexical_wordcount,4 +0,0,wouldnt unneedofek want must've should'nt,discrepancies_lexical_wordcount,5 +0,0,hopes wish,discrepancies_lexical_wordcount,2 +0,0,must'nt rather wouldn't ought'nt,discrepancies_lexical_wordcount,4 +0,0,needn't unwantpotnw hopefulness oughta couldn't,discrepancies_lexical_wordcount,5 +0,0,musilej,hear_lexical_wordcount,1 +0,0,listens hearing listenerjp noisy,hear_lexical_wordcount,4 +0,0,noises noisy harmongoc hearing audiblweds,hear_lexical_wordcount,5 +0,0,ear yell listenerpvo,hear_lexical_wordcount,3 +0,0,sang rang ear concertfuw,hear_lexical_wordcount,4 +0,0,drapeulqv backyard loveseatjproz closet,home_lexical_wordcount,4 +0,0,curtainqygkr drapekwvh,home_lexical_wordcount,2 +0,0,bathae,home_lexical_wordcount,1 +0,0,curtainbu loveseatntr family housing rooms,home_lexical_wordcount,5 +0,0,bedroomxhpl furniture,home_lexical_wordcount,2 +0,0,if,conjunction_lexical_wordcount,1 +0,0,altho while though then how,conjunction_lexical_wordcount,5 +0,0,when or,conjunction_lexical_wordcount,2 +0,0,if,conjunction_lexical_wordcount,1 +0,0,but however,conjunction_lexical_wordcount,2 +0,0,undoubtni,certainty_lexical_wordcount,1 +0,0,altogether truthzhf,certainty_lexical_wordcount,2 +0,0,distinctue definitiveeol commitmentflk forever,certainty_lexical_wordcount,4 +0,0,total essential,certainty_lexical_wordcount,2 +0,0,fundamentals completes guarantidjp,certainty_lexical_wordcount,3 +0,0,both add with,inclusive_lexical_wordcount,3 +0,0,around we along,inclusive_lexical_wordcount,3 +0,0,each with,inclusive_lexical_wordcount,2 +0,0,with inclusg come came around,inclusive_lexical_wordcount,5 +0,0,each around come,inclusive_lexical_wordcount,3 +0,0,nausen sensation brunchkjz,bio_lexical_wordcount,3 +0,0,butt saliverbwp,bio_lexical_wordcount,2 +0,0,palms,bio_lexical_wordcount,1 +0,0,liquoriole,bio_lexical_wordcount,1 +0,0,xanax prescriqd hand sodauce,bio_lexical_wordcount,4 +0,0,strivl master,achievement_lexical_wordcount,2 +0,0,originattvf solutionmuyho elitlxoup proficiengiy quittd,achievement_lexical_wordcount,5 +0,0,finalizuav best quitti capabfs,achievement_lexical_wordcount,4 +0,0,masters plans,achievement_lexical_wordcount,2 +0,0,strengthe successqfhs herovqw overconfidence,achievement_lexical_wordcount,4 +0,0,apparently,adverbs_lexical_wordcount,1 +0,0,so,adverbs_lexical_wordcount,1 +0,0,immediately generally very well truly,adverbs_lexical_wordcount,5 +0,0,rather instead here pushty,adverbs_lexical_wordcount,4 +0,0,instead,adverbs_lexical_wordcount,1 +0,0,phobii apprehensnmeyt,anxiety_lexical_wordcount,2 +0,0,obsesstusbg anguishuiy terrorkm,anxiety_lexical_wordcount,3 +0,0,restlesst tenseod feared overwhelmfvlxi,anxiety_lexical_wordcount,4 +0,0,timidfzbh stressetd,anxiety_lexical_wordcount,2 +0,0,apprehensrm dreadn,anxiety_lexical_wordcount,2 +0,0,oneself shes he she'll herself,third_person_lexical_wordcount,5 +0,0,shes he'd himself hes her,third_person_lexical_wordcount,5 +0,0,she'll,third_person_lexical_wordcount,1 +0,0,she'll her,third_person_lexical_wordcount,2 +0,0,she'll him she's hes he,third_person_lexical_wordcount,5 +0,0,havent haven't ought'nt wont,negation_lexical_wordcount,4 +0,0,needn't hasn't,negation_lexical_wordcount,2 +0,0,wouldnt,negation_lexical_wordcount,1 +0,0,nobodashm hasn't didnt,negation_lexical_wordcount,3 +0,0,hasn't never,negation_lexical_wordcount,2 +0,0,titty fuckerusz bitchnsl goddamomde hell,swear_lexical_wordcount,5 +0,0,sob fuckinoawys titty cuntq,swear_lexical_wordcount,4 +0,0,cuntn pisstkzme dicks butts,swear_lexical_wordcount,4 +0,0,fucks jeez sonofako crappy,swear_lexical_wordcount,4 +0,0,fucks butt heck,swear_lexical_wordcount,3 +0,0,urnj immortalwai,death_lexical_wordcount,2 +0,0,od bury demise tombd urnnig,death_lexical_wordcount,5 +0,0,demise,death_lexical_wordcount,1 +0,0,immortalyjedn embalmfqydb hearsepdk,death_lexical_wordcount,3 +0,0,ghostaw alive,death_lexical_wordcount,2 +0,0,amputu,health_lexical_wordcount,1 +0,0,nearsighted neurologhl toxv painly throbgvmhn,health_lexical_wordcount,5 +0,0,wash doselndu mono,health_lexical_wordcount,3 +0,0,ill,health_lexical_wordcount,1 +0,0,checkupfli burpzxevw scabo living ICU,health_lexical_wordcount,5 +0,0,orangemacis squaruei purplabnk,see_lexical_wordcount,3 +0,0,colourxml roundxgijb sees seen colorht,see_lexical_wordcount,5 +0,0,staring look yellowkyn triangqmpv,see_lexical_wordcount,4 +0,0,shiny lookerutn scannv look,see_lexical_wordcount,4 +0,0,scanni seen,see_lexical_wordcount,2 +0,0,facialrqth foot lipslt toe titties,body_lexical_wordcount,5 +0,0,toenailhtqe droolc,body_lexical_wordcount,2 +0,0,hip dick boobvw,body_lexical_wordcount,3 +0,0,slenderbmvq ass,body_lexical_wordcount,2 +0,0,nudeytmcb stomachltbw wake breastqyp eyewut,body_lexical_wordcount,5 +0,0,moms bro,family_lexical_wordcount,2 +0,0,nephewz wifevxmlj mom's parentuph,family_lexical_wordcount,4 +0,0,pa sons fatherhb,family_lexical_wordcount,3 +0,0,aunte sons grandkidywgxb exes ex,family_lexical_wordcount,5 +0,0,relatives husbandypoiz mommalqhxo,family_lexical_wordcount,3 +0,0,sickengwxku,negative_affect_lexical_wordcount,1 +0,0,hurtefdp lazieqxar impersonal,negative_affect_lexical_wordcount,3 +0,0,egotisy destroygj,negative_affect_lexical_wordcount,2 +0,0,unwelcomrfwd,negative_affect_lexical_wordcount,1 +0,0,jealoustemf unkind,negative_affect_lexical_wordcount,2 +0,0,significant else every section,quantifier_lexical_wordcount,4 +0,0,ton lotta,quantifier_lexical_wordcount,2 +0,0,either best greatest,quantifier_lexical_wordcount,3 +0,0,best,quantifier_lexical_wordcount,1 +0,0,singlufb rest fullmzf,quantifier_lexical_wordcount,3 +0,0,glad great charmbrwsd wins,positive_affect_lexical_wordcount,4 +0,0,generot helping sincerbucaj,positive_affect_lexical_wordcount,3 +0,0,freedswu adventursfk gently deliciouseuxl assurm,positive_affect_lexical_wordcount,5 +0,0,worshipstmjc soulmateeiya treat huggpo,positive_affect_lexical_wordcount,4 +0,0,grin wealthlg thrillzbrqf casual proudrqu,positive_affect_lexical_wordcount,5 +0,0,restructurucq,insight_lexical_wordcount,1 +0,0,know decidux recallwz seems solutionlxh,insight_lexical_wordcount,5 +0,0,wonder motivsc sensing secret,insight_lexical_wordcount,4 +0,0,believes,insight_lexical_wordcount,1 +0,0,suspectc infers,insight_lexical_wordcount,2 +0,0,man,humans_lexical_wordcount,1 +0,0,newbornl citizen'phtgi ladies,humans_lexical_wordcount,3 +0,0,girl's babies persons chicks,humans_lexical_wordcount,4 +0,0,infant,humans_lexical_wordcount,1 +0,0,ladies ma'am citizen,humans_lexical_wordcount,3 +0,0,hasn't makes describe believes I've,present_tense_lexical_wordcount,5 +0,0,gets how's,present_tense_lexical_wordcount,2 +0,0,has hopes admits,present_tense_lexical_wordcount,3 +0,0,let's,present_tense_lexical_wordcount,1 +0,0,suck wait aren't feels,present_tense_lexical_wordcount,4 +0,0,wouldnt gonna,future_tense_lexical_wordcount,2 +0,0,mustnt should shall,future_tense_lexical_wordcount,3 +0,0,must've,future_tense_lexical_wordcount,1 +0,0,must should it'll won't shall,future_tense_lexical_wordcount,5 +0,0,shouldve mustnt,future_tense_lexical_wordcount,2 +0,0,listened held loved cried changed,past_tense_lexical_wordcount,5 +0,0,sent sensed tried taken shouldve,past_tense_lexical_wordcount,5 +0,0,ate sucked tried,past_tense_lexical_wordcount,3 +0,0,ran described,past_tense_lexical_wordcount,2 +0,0,didn't,past_tense_lexical_wordcount,1 +0,0,post distanpiy,relative_lexical_wordcount,2 +0,0,go marchal updatmwi,relative_lexical_wordcount,3 +0,0,walking growing gianthy age,relative_lexical_wordcount,4 +0,0,initiatoxtwa follow,relative_lexical_wordcount,2 +0,0,hall bending widthxikw,relative_lexical_wordcount,3 +0,0,loverkfxo pornoiu,sexual_lexical_wordcount,2 +0,0,virgindtrl humpysbwe prudishybiq,sexual_lexical_wordcount,3 +0,0,virginc,sexual_lexical_wordcount,1 +0,0,fucks pubic gay,sexual_lexical_wordcount,3 +0,0,prostatijvda dick,sexual_lexical_wordcount,2 +0,0,curbijh boundlby,inhibition_lexical_wordcount,2 +0,0,deniaxi,inhibition_lexical_wordcount,1 +0,0,prudishxc deniabxp,inhibition_lexical_wordcount,2 +0,0,constrictimhr,inhibition_lexical_wordcount,1 +0,0,withholdyzaqb stops,inhibition_lexical_wordcount,2 +0,0,remorset ruinc grimwftle,sadness_lexical_wordcount,3 +0,0,discouragnepqi tragict devastatu,sadness_lexical_wordcount,3 +0,0,grief unimportant,sadness_lexical_wordcount,2 +0,0,miss yearnlkw whining tragickh pitiulpnv,sadness_lexical_wordcount,5 +0,0,miss regretzkbrc missed unhappj,sadness_lexical_wordcount,4 +0,0,weve son's,social_lexical_wordcount,2 +0,0,listenerqe girlfriendwsnya,social_lexical_wordcount,2 +0,0,hers,social_lexical_wordcount,1 +0,0,he'll sisterqjtfk,social_lexical_wordcount,2 +0,0,coworkertbpf mates he's mailing interrupm,social_lexical_wordcount,5 +0,0,somethingjmcpi noboda,indefinite_pronoun_lexical_wordcount,2 +0,0,somebodp somewhere itll who'll,indefinite_pronoun_lexical_wordcount,4 +0,0,that'd somethingosdqx,indefinite_pronoun_lexical_wordcount,2 +0,0,somethingp thatll those which someonecrhbd,indefinite_pronoun_lexical_wordcount,5 +0,0,it'll it'd,indefinite_pronoun_lexical_wordcount,2 +0,0,sinnzkc kosher qur'anpy,religion_lexical_wordcount,3 +0,0,mercy,religion_lexical_wordcount,1 +0,0,templefydxz hinduejs muhammsla lutheranwv ministerlnfts,religion_lexical_wordcount,5 +0,0,catholickd,religion_lexical_wordcount,1 +0,0,sikhc judaprfd muhammehcml sin,religion_lexical_wordcount,4 +0,0,laidoff tradejnx taxes freshmknd,work_lexical_wordcount,4 +0,0,incorprhq negotiatjf presentationomwfa,work_lexical_wordcount,3 +0,0,politics mda,work_lexical_wordcount,2 +0,0,revieww classes,work_lexical_wordcount,2 +0,0,masters,work_lexical_wordcount,1 +0,0,owes cashk bankpsiar checks kronlwik,money_lexical_wordcount,5 +0,0,dinarcsg businesszosw revenueocp costbjwta owe,money_lexical_wordcount,5 +0,0,euro auditors store spending,money_lexical_wordcount,4 +0,0,mortgpzvi overtime,money_lexical_wordcount,2 +0,0,bucks wagerfv,money_lexical_wordcount,2 +0,0,effectcaxgn,causation_lexical_wordcount,1 +0,0,leadmbhfe infer depends creatend,causation_lexical_wordcount,4 +0,0,depends,causation_lexical_wordcount,1 +0,0,deducgulp outcomecli affected hows producnbu,causation_lexical_wordcount,5 +0,0,solutionva launchvoap leadhbi provoku,causation_lexical_wordcount,4 +0,0,threatxre offencefhcog ludicrouslf,anger_lexical_wordcount,3 +0,0,enragoqusn,anger_lexical_wordcount,1 +0,0,sucks brutals sucked threatd destroyj,anger_lexical_wordcount,5 +0,0,sinister,anger_lexical_wordcount,1 +0,0,raping battliz warfareid defensjazn molestgv,anger_lexical_wordcount,5 +0,0,mine I've myself I'd I'll,first_person_singular_lexical_wordcount,5 +0,0,I'll I've,first_person_singular_lexical_wordcount,2 +0,0,myself my,first_person_singular_lexical_wordcount,2 +0,0,ive I'd,first_person_singular_lexical_wordcount,2 +0,0,myself I'm ive my I've,first_person_singular_lexical_wordcount,5 +0,0,rub hard warmlvye,feel_lexical_wordcount,3 +0,0,hardevtqef driegnk feels touchlzf,feel_lexical_wordcount,4 +0,0,leatherjcf pressed squeezul silkjn,feel_lexical_wordcount,4 +0,0,skin brushtasj rub colde caressi,feel_lexical_wordcount,5 +0,0,hottjmuo,feel_lexical_wordcount,1 +0,0,mysterp ambigun,tentativeness_lexical_wordcount,2 +0,0,most wondered depend alot vary,tentativeness_lexical_wordcount,5 +0,0,fairly lucks unresolvn hesitaq option,tentativeness_lexical_wordcount,5 +0,0,fuzznaxg hypotheticoqwzy barely,tentativeness_lexical_wordcount,3 +0,0,depend indetermingifjl randomitf hypotheticvzkg supposed,tentativeness_lexical_wordcount,5 +0,0,exclujvy,exclusive_lexical_wordcount,1 +0,0,either except if somethingfxdq sometime,exclusive_lexical_wordcount,5 +0,0,versus,exclusive_lexical_wordcount,1 +0,0,but exclusxklz except or,exclusive_lexical_wordcount,4 +0,0,sometime,exclusive_lexical_wordcount,1 +0,0,youre wished thank went,verbs_lexical_wordcount,4 +0,0,meant hoped lost,verbs_lexical_wordcount,3 +0,0,ran carry showed used,verbs_lexical_wordcount,4 +0,0,theres care cannot made,verbs_lexical_wordcount,4 +0,0,affected misses theyd kept thatd,verbs_lexical_wordcount,5 +0,0,gfjgevb,friends_lexical_wordcount,1 +0,0,exgirll,friends_lexical_wordcount,1 +0,0,mates,friends_lexical_wordcount,1 +0,0,mate loveru mates buddyv,friends_lexical_wordcount,4 +0,0,neighbord partnerzcvdj roomatel girlfriendt gft,friends_lexical_wordcount,5 +0,0,a an alot,article_lexical_wordcount,3 +0,0,a an,article_lexical_wordcount,2 +0,0,a an alot,article_lexical_wordcount,3 +0,0,the an a alot,article_lexical_wordcount,4 +0,0,alot,article_lexical_wordcount,1 +0,0,oh yes I believe,argue_lexical_wordcount,3 +0,0,u mean and really,argue_lexical_wordcount,3 +0,0,cause no I know and,argue_lexical_wordcount,4 +0,0,and I think actually yes well,argue_lexical_wordcount,5 +0,0,so,argue_lexical_wordcount,1 +0,0,wouldve whod you've mustn't,auxiliary_verbs_lexical_wordcount,4 +0,0,let youve itd ought,auxiliary_verbs_lexical_wordcount,4 +0,0,can don't theyre wasn't,auxiliary_verbs_lexical_wordcount,4 +0,0,hes must'nt wont did mustn't,auxiliary_verbs_lexical_wordcount,5 +0,0,shan't theyve oughtve becomes done,auxiliary_verbs_lexical_wordcount,5 +0,0,meaningi all wanted determining,cognitive_mech_lexical_wordcount,4 +0,0,appearing suppresshvw proof changes,cognitive_mech_lexical_wordcount,4 +0,0,rearrangbqlg randomuer containn deducczr practically,cognitive_mech_lexical_wordcount,5 +0,0,occasionalszxg hazy requirj,cognitive_mech_lexical_wordcount,3 +0,0,repressydvml,cognitive_mech_lexical_wordcount,1 +0,0,until,preposition_lexical_wordcount,1 +0,0,along ahead,preposition_lexical_wordcount,2 +0,0,below under thru,preposition_lexical_wordcount,3 +0,0,except insides towardkhyrs between beside,preposition_lexical_wordcount,5 +0,0,without out about,preposition_lexical_wordcount,3 +0,0,let's,first_person_plural_lexical_wordcount,1 +0,0,we'd let's lets,first_person_plural_lexical_wordcount,3 +0,0,our lets,first_person_plural_lexical_wordcount,2 +0,0,we've,first_person_plural_lexical_wordcount,1 +0,0,ours we'd weve ourselves let's,first_person_plural_lexical_wordcount,5 +0,0,drily,percept_lexical_wordcount,1 +0,0,grabwktxr,percept_lexical_wordcount,1 +0,0,savourzw redness,percept_lexical_wordcount,2 +0,0,speaking,percept_lexical_wordcount,1 +0,0,souriau tang,percept_lexical_wordcount,2 +0,0,thine yall,second_person_lexical_wordcount,2 +0,0,you're youd,second_person_lexical_wordcount,2 +0,0,y'all you'd thine you're,second_person_lexical_wordcount,4 +0,0,thee thine youre yours,second_person_lexical_wordcount,4 +0,0,ye you,second_person_lexical_wordcount,2 +0,0,mustnt hope mistakwzl hoping,discrepancies_lexical_wordcount,4 +0,0,would've problemo need lacksuexg expectt,discrepancies_lexical_wordcount,5 +0,0,couldnt hopeful should,discrepancies_lexical_wordcount,3 +0,0,desirva,discrepancies_lexical_wordcount,1 +0,0,wishes wishing must've need,discrepancies_lexical_wordcount,4 +0,0,noises thundero,hear_lexical_wordcount,2 +0,0,thunderq inaudibln sang hears,hear_lexical_wordcount,4 +0,0,loudvh sang hushmqplh speak,hear_lexical_wordcount,4 +0,0,heard speakertphv shoutiaem audiblbohi,hear_lexical_wordcount,4 +0,0,sang whispervhxqk,hear_lexical_wordcount,2 +0,0,lawnxdi doghousemilk residenlwfxa condo vacuumk,home_lexical_wordcount,5 +0,0,lawnjr residencpbs neighboregax,home_lexical_wordcount,3 +0,0,doghouseeastb roomiepuma,home_lexical_wordcount,2 +0,0,porch cleanhwe condo,home_lexical_wordcount,3 +0,0,maidqyldk bedroomox patioquf,home_lexical_wordcount,3 +0,0,whether nor then,conjunction_lexical_wordcount,3 +0,0,because if then so,conjunction_lexical_wordcount,4 +0,0,whereas while,conjunction_lexical_wordcount,2 +0,0,plus until,conjunction_lexical_wordcount,2 +0,0,when how although though,conjunction_lexical_wordcount,4 +0,0,defined essential undoubts completed,certainty_lexical_wordcount,4 +0,0,wholly distinctcx unquestionj,certainty_lexical_wordcount,3 +0,0,altogether precisjawd exactnqhfl,certainty_lexical_wordcount,3 +0,0,exactofn invariabr unquestionqzj defined,certainty_lexical_wordcount,4 +0,0,completes inevitabx undoubtgyzl,certainty_lexical_wordcount,3 +0,0,came,inclusive_lexical_wordcount,1 +0,0,around come open,inclusive_lexical_wordcount,3 +0,0,come,inclusive_lexical_wordcount,1 +0,0,add came come we,inclusive_lexical_wordcount,4 +0,0,inside with both,inclusive_lexical_wordcount,3 +0,0,fattsc faintdlseh,bio_lexical_wordcount,2 +0,0,syndromeagxe,bio_lexical_wordcount,1 +0,0,digestp musclephj skinnijsv healing,bio_lexical_wordcount,4 +0,0,penisygbjp,bio_lexical_wordcount,1 +0,0,veggiecla,bio_lexical_wordcount,1 +0,0,unproducet importanmqdw resourcefulcamzd,achievement_lexical_wordcount,3 +0,0,concludwo ranking masters lose strongm,achievement_lexical_wordcount,5 +0,0,loserxc,achievement_lexical_wordcount,1 +0,0,effortcxbe first triumphujryl masterfulvq irresponsiblet,achievement_lexical_wordcount,5 +0,0,confident abilitbdz endeavafre defeatxjq determined,achievement_lexical_wordcount,5 +0,0,mostly now whenever too primarily,adverbs_lexical_wordcount,5 +0,0,probably back perhaps here mostly,adverbs_lexical_wordcount,5 +0,0,somehow apparently how yet here,adverbs_lexical_wordcount,5 +0,0,now eventually soon how completely,adverbs_lexical_wordcount,5 +0,0,generally well such seriously here,adverbs_lexical_wordcount,5 +0,0,overwhelmryjd strainf shakewm,anxiety_lexical_wordcount,3 +0,0,uncertainve feared confusmb,anxiety_lexical_wordcount,3 +0,0,franticivctu stuns shook uncertainu,anxiety_lexical_wordcount,4 +0,0,shakiihxd frightixu shook stunned misersjne,anxiety_lexical_wordcount,5 +0,0,alarmkzu tremblwzocs stuns,anxiety_lexical_wordcount,3 +0,0,she'll he,third_person_lexical_wordcount,2 +0,0,him her,third_person_lexical_wordcount,2 +0,0,his,third_person_lexical_wordcount,1 +0,0,her she's hers,third_person_lexical_wordcount,3 +0,0,herself hes he's,third_person_lexical_wordcount,3 +0,0,oughtn't don't wouldnt,negation_lexical_wordcount,3 +0,0,shouldn't doesnt didnt nowhere should'nt,negation_lexical_wordcount,5 +0,0,arent shouldnt isn't,negation_lexical_wordcount,3 +0,0,nope,negation_lexical_wordcount,1 +0,0,need'nt not negatlpji wouldn't,negation_lexical_wordcount,4 +0,0,dang pussyah,swear_lexical_wordcount,2 +0,0,hell dumbpbzvd bitchkvyuz butt homo,swear_lexical_wordcount,5 +0,0,fuck shitq cock pisslkx,swear_lexical_wordcount,4 +0,0,sob queersgm pussyeqru fucks,swear_lexical_wordcount,4 +0,0,mofo prickyj dick niggerjvw,swear_lexical_wordcount,4 +0,0,embalmjt oded gravevwhfi tombetp,death_lexical_wordcount,4 +0,0,drownksti,death_lexical_wordcount,1 +0,0,lynchxafto war,death_lexical_wordcount,2 +0,0,dies bereavemfhcn,death_lexical_wordcount,2 +0,0,genocidgjoau grief morticianbspv,death_lexical_wordcount,3 +0,0,asthmanmc tumofwvj chokkohz physicianuqvwr,health_lexical_wordcount,4 +0,0,nearsighted throbj anorexiky tinglliqf,health_lexical_wordcount,4 +0,0,throbpqym woundzlkw gynobqovn,health_lexical_wordcount,3 +0,0,therapdkzr healed OCD,health_lexical_wordcount,3 +0,0,living coronard,health_lexical_wordcount,2 +0,0,scannrq circle reddeyo glowx,see_lexical_wordcount,4 +0,0,sunshingwv sees clickhbiyp scannmbgl eying,see_lexical_wordcount,5 +0,0,eyeqblh rectangypwos triangdg seer looked,see_lexical_wordcount,5 +0,0,columnxvs sightsue,see_lexical_wordcount,2 +0,0,whitishk,see_lexical_wordcount,1 +0,0,bone belly nervew,body_lexical_wordcount,3 +0,0,skin palms breathdcafq,body_lexical_wordcount,3 +0,0,brainz bones,body_lexical_wordcount,2 +0,0,rashnut tit itchwght kneenjk,body_lexical_wordcount,4 +0,0,lungr facialt slenderi spine,body_lexical_wordcount,4 +0,0,husbandyabx,family_lexical_wordcount,1 +0,0,marrieboagv brotherrhda,family_lexical_wordcount,2 +0,0,exhusbanda granddaursubf,family_lexical_wordcount,2 +0,0,familiesc,family_lexical_wordcount,1 +0,0,cousinbzmwh marriexrzvf,family_lexical_wordcount,2 +0,0,longingjhbn,negative_affect_lexical_wordcount,1 +0,0,lamefpbv disadvantagenxtql,negative_affect_lexical_wordcount,2 +0,0,insincermy remorseoeia,negative_affect_lexical_wordcount,2 +0,0,difficultna jaded wars vanity,negative_affect_lexical_wordcount,4 +0,0,difficultnmril warring vulnerabc shitzv,negative_affect_lexical_wordcount,4 +0,0,tons greater simple,quantifier_lexical_wordcount,3 +0,0,extent,quantifier_lexical_wordcount,1 +0,0,mucho much section lotsa extremely,quantifier_lexical_wordcount,5 +0,0,ton piecg page differenceb whole,quantifier_lexical_wordcount,5 +0,0,else,quantifier_lexical_wordcount,1 +0,0,alrightdo,positive_affect_lexical_wordcount,1 +0,0,helperhnx sunny,positive_affect_lexical_wordcount,2 +0,0,complimentjlbhe convincfthqs graces,positive_affect_lexical_wordcount,3 +0,0,lucks romanczk praisyvpch safelmgx hehp,positive_affect_lexical_wordcount,5 +0,0,talentv interestuthxn,positive_affect_lexical_wordcount,2 +0,0,reasonpulei meaningidwf,insight_lexical_wordcount,2 +0,0,seem questiontmyhc reorganitkgar,insight_lexical_wordcount,3 +0,0,sense,insight_lexical_wordcount,1 +0,0,wonders,insight_lexical_wordcount,1 +0,0,explaining rationallpfg appreciate,insight_lexical_wordcount,3 +0,0,man,humans_lexical_wordcount,1 +0,0,girlshfsio adults,humans_lexical_wordcount,2 +0,0,child,humans_lexical_wordcount,1 +0,0,citizen,humans_lexical_wordcount,1 +0,0,ma'am men'bldt self femalejlcvo babeae,humans_lexical_wordcount,5 +0,0,hears,present_tense_lexical_wordcount,1 +0,0,brings thats doesn't whats,present_tense_lexical_wordcount,4 +0,0,goes start they're,present_tense_lexical_wordcount,3 +0,0,describes havent dislikes,present_tense_lexical_wordcount,3 +0,0,knows believe listens,present_tense_lexical_wordcount,3 +0,0,mustnt must must'nt shouldnt you'll,future_tense_lexical_wordcount,5 +0,0,ought'nt,future_tense_lexical_wordcount,1 +0,0,thatll wouldve should'nt gonna,future_tense_lexical_wordcount,4 +0,0,that'll won't I'll,future_tense_lexical_wordcount,3 +0,0,who'll should'nt,future_tense_lexical_wordcount,2 +0,0,hated went wondered appeared,past_tense_lexical_wordcount,4 +0,0,ate,past_tense_lexical_wordcount,1 +0,0,disliked lost described spent,past_tense_lexical_wordcount,4 +0,0,ate,past_tense_lexical_wordcount,1 +0,0,forgote cared believed,past_tense_lexical_wordcount,3 +0,0,awhile immediately outerki,relative_lexical_wordcount,3 +0,0,perpetualp internalltsem tiniest,relative_lexical_wordcount,3 +0,0,right immediateness fademl finishykxwt,relative_lexical_wordcount,4 +0,0,corners old over,relative_lexical_wordcount,3 +0,0,fit approachjuzeb,relative_lexical_wordcount,2 +0,0,erectile condom pornfzqh fucks,sexual_lexical_wordcount,4 +0,0,fuckinc asses condom queerduvk,sexual_lexical_wordcount,4 +0,0,pregnange erectionux,sexual_lexical_wordcount,2 +0,0,orgasmt sexw chlamydia gay,sexual_lexical_wordcount,4 +0,0,rapistph ovarsg tits,sexual_lexical_wordcount,3 +0,0,withheld defencjtr,inhibition_lexical_wordcount,2 +0,0,hesitaz tightq halthvc,inhibition_lexical_wordcount,3 +0,0,protectab securulxeo interferhvrx deniaanhcy restraindrv,inhibition_lexical_wordcount,5 +0,0,waits,inhibition_lexical_wordcount,1 +0,0,controlx waited tidy,inhibition_lexical_wordcount,3 +0,0,defeats,sadness_lexical_wordcount,1 +0,0,hopelesspkm heartbrokekible cried loses resigne,sadness_lexical_wordcount,5 +0,0,whining sadness cry cried disheartengzeaq,sadness_lexical_wordcount,5 +0,0,sadly damagbntc pessimisrc,sadness_lexical_wordcount,3 +0,0,hopelessa dissatisfcl fatigucuvjd disillusionqt isolatg,sadness_lexical_wordcount,5 +0,0,assemblkd meet band guyawg kid,social_lexical_wordcount,5 +0,0,help excusk peoplelnm organizho yall,social_lexical_wordcount,5 +0,0,sons,social_lexical_wordcount,1 +0,0,his participanteir,social_lexical_wordcount,2 +0,0,grandpap whom mailerut,social_lexical_wordcount,3 +0,0,this that it'd,indefinite_pronoun_lexical_wordcount,3 +0,0,these anything thatll everybodhn it'll,indefinite_pronoun_lexical_wordcount,5 +0,0,noboddup whats,indefinite_pronoun_lexical_wordcount,2 +0,0,it's who'd thats it whats,indefinite_pronoun_lexical_wordcount,5 +0,0,anything wholl these,indefinite_pronoun_lexical_wordcount,3 +0,0,karma salvation orthodoxfdy rosaries sect,religion_lexical_wordcount,5 +0,0,rosary jesuitgsabe hell,religion_lexical_wordcount,3 +0,0,hell,religion_lexical_wordcount,1 +0,0,christianwq muhammyprqh piety sects,religion_lexical_wordcount,4 +0,0,sunni scripturvko templeme salvation,religion_lexical_wordcount,4 +0,0,credentialrs com absentp,work_lexical_wordcount,3 +0,0,mfg reportsuro commercsjezh collabw,work_lexical_wordcount,4 +0,0,outsourcrfndl,work_lexical_wordcount,1 +0,0,transfergdnu grad,work_lexical_wordcount,2 +0,0,econgv goalg,work_lexical_wordcount,2 +0,0,cashlf,money_lexical_wordcount,1 +0,0,debti shop consumerzae inheritfkyv,money_lexical_wordcount,4 +0,0,stocks,money_lexical_wordcount,1 +0,0,taxaxv cheapi,money_lexical_wordcount,2 +0,0,incomegfl bet auditing taxansjbf,money_lexical_wordcount,4 +0,0,thereforrnsq,causation_lexical_wordcount,1 +0,0,origins,causation_lexical_wordcount,1 +0,0,motivnt launchvt,causation_lexical_wordcount,2 +0,0,makes forcev using obedienwayd,causation_lexical_wordcount,4 +0,0,compliance obedienlpijv pick,causation_lexical_wordcount,3 +0,0,sucked arrogant ferocwv,anger_lexical_wordcount,3 +0,0,punishx enragvbj contemptawb,anger_lexical_wordcount,3 +0,0,maniacxo pissmygt rebelmp,anger_lexical_wordcount,3 +0,0,stupidncwg hellish paranoilbock warring,anger_lexical_wordcount,4 +0,0,naga angrwmnl tantrumsv,anger_lexical_wordcount,3 +0,0,ive I've,first_person_singular_lexical_wordcount,2 +0,0,Id,first_person_singular_lexical_wordcount,1 +0,0,Id myself,first_person_singular_lexical_wordcount,2 +0,0,I'd,first_person_singular_lexical_wordcount,1 +0,0,i,first_person_singular_lexical_wordcount,1 +0,0,weightliftd hand driemau drily,feel_lexical_wordcount,4 +0,0,grippfipun feelingwkaf thinnajy,feel_lexical_wordcount,3 +0,0,skin'men,feel_lexical_wordcount,1 +0,0,weight press hot thin silkvr,feel_lexical_wordcount,5 +0,0,skin'h,feel_lexical_wordcount,1 +0,0,assumbvd seemed usually,tentativeness_lexical_wordcount,3 +0,0,option,tentativeness_lexical_wordcount,1 +0,0,someonesyc wonders theorhe,tentativeness_lexical_wordcount,3 +0,0,spose hardly seemed alot,tentativeness_lexical_wordcount,4 +0,0,often appearing,tentativeness_lexical_wordcount,2 +0,0,either except sometime,exclusive_lexical_wordcount,3 +0,0,without,exclusive_lexical_wordcount,1 +0,0,really but whether,exclusive_lexical_wordcount,3 +0,0,vs,exclusive_lexical_wordcount,1 +0,0,if,exclusive_lexical_wordcount,1 +0,0,begin supported,verbs_lexical_wordcount,2 +0,0,begin held who's describe how's,verbs_lexical_wordcount,5 +0,0,takes,verbs_lexical_wordcount,1 +0,0,happened saw mustnt brings,verbs_lexical_wordcount,4 +0,0,slept took waited,verbs_lexical_wordcount,3 +0,0,pals bud amigodyzg mate's girlfriendur,friends_lexical_wordcount,5 +0,0,mates,friends_lexical_wordcount,1 +0,0,neighborwtey bftxuv comradq,friends_lexical_wordcount,3 +0,0,colleaguejo buddiesef,friends_lexical_wordcount,2 +0,0,bfbfi,friends_lexical_wordcount,1 +0,0,an a alot the,article_lexical_wordcount,4 +0,0,the,article_lexical_wordcount,1 +0,0,an,article_lexical_wordcount,1 +0,0,an the,article_lexical_wordcount,2 +0,0,an,article_lexical_wordcount,1 +0,0,u know no,argue_lexical_wordcount,2 +0,0,really you know I think,argue_lexical_wordcount,3 +0,0,really I believe,argue_lexical_wordcount,2 +0,0,cause,argue_lexical_wordcount,1 +0,0,I know,argue_lexical_wordcount,1 +0,0,you'd could,auxiliary_verbs_lexical_wordcount,2 +0,0,couldnt isn't,auxiliary_verbs_lexical_wordcount,2 +0,0,oughta had be what's,auxiliary_verbs_lexical_wordcount,4 +0,0,be shant itll,auxiliary_verbs_lexical_wordcount,3 +0,0,ain't couldnt,auxiliary_verbs_lexical_wordcount,2 +0,0,avertv,cognitive_mech_lexical_wordcount,1 +0,0,yearnqgjth,cognitive_mech_lexical_wordcount,1 +0,0,infer tentativwc wouldn't,cognitive_mech_lexical_wordcount,3 +0,0,around commit banned fundamental,cognitive_mech_lexical_wordcount,4 +0,0,obedienoki solutionhk,cognitive_mech_lexical_wordcount,2 +0,0,around plus,preposition_lexical_wordcount,2 +0,0,onto,preposition_lexical_wordcount,1 +0,0,insides in behind out,preposition_lexical_wordcount,4 +0,0,insides amongzekb unto by than,preposition_lexical_wordcount,5 +0,0,across above about without,preposition_lexical_wordcount,4 +0,0,we'd us our weve,first_person_plural_lexical_wordcount,4 +0,0,we'd we've weve ourselves we,first_person_plural_lexical_wordcount,5 +0,0,we've we're lets,first_person_plural_lexical_wordcount,3 +0,0,ourselves,first_person_plural_lexical_wordcount,1 +0,0,us our we'll let's,first_person_plural_lexical_wordcount,4 +0,0,greyiyck delectabliktz,percept_lexical_wordcount,2 +0,0,screen sand,percept_lexical_wordcount,2 +0,0,sweetness drieqs deoders,percept_lexical_wordcount,3 +0,0,coldedrm,percept_lexical_wordcount,1 +0,0,hear caramelzjw wetly tonguel,percept_lexical_wordcount,4 +0,0,y'all youd you're you'll,second_person_lexical_wordcount,4 +0,0,u thine,second_person_lexical_wordcount,2 +0,0,yall yours u your thoust,second_person_lexical_wordcount,5 +0,0,yall you've youll thee,second_person_lexical_wordcount,4 +0,0,thine you ye,second_person_lexical_wordcount,3 +0,0,responsibly evocative faithfully valiantly illustrious,positive_words_lexical_wordcount,5 +0,0,imaculate vivid likable enjoyable succeed,positive_words_lexical_wordcount,5 +0,0,smitten sharpest rightfully unreal,positive_words_lexical_wordcount,4 +0,0,reaffirmation joy goood speedy self-sufficient,positive_words_lexical_wordcount,5 +0,0,tantalize energize gusto win,positive_words_lexical_wordcount,4 +0,0,we our i me,first_person_lexical_wordcount,4 +0,0,ourselves,first_person_lexical_wordcount,1 +0,0,myself,first_person_lexical_wordcount,1 +0,0,lets my i,first_person_lexical_wordcount,3 +0,0,our,first_person_lexical_wordcount,1 +0,0,but,nltk_english_stopwords_lexical_wordcount,1 +0,0,were was your,nltk_english_stopwords_lexical_wordcount,3 +0,0,any shan it is,nltk_english_stopwords_lexical_wordcount,4 +0,0,our,nltk_english_stopwords_lexical_wordcount,1 +0,0,because an after other,nltk_english_stopwords_lexical_wordcount,4 +0,0,probably,hedge_words_lexical_wordcount,1 +0,0,maybe I guess possibly sort of a little,hedge_words_lexical_wordcount,5 +0,0,a little possibly I think sort of probably,hedge_words_lexical_wordcount,5 +0,0,probably sort of,hedge_words_lexical_wordcount,2 +0,0,I think,hedge_words_lexical_wordcount,1 \ No newline at end of file diff --git a/tests/data/cleaned_data/test_vector_edge_cases.csv b/tests/data/cleaned_data/test_vector_edge_cases.csv new file mode 100644 index 00000000..0659f844 --- /dev/null +++ b/tests/data/cleaned_data/test_vector_edge_cases.csv @@ -0,0 +1,6 @@ +conversation_num,speaker_nickname,message +1,A,"Once upon a time in the bustling city of Byteville, there was a young programmer named Alex who had a passion for coding. Alex loved the feeling of creating something out of nothing, of transforming ideas into functional software that could help people in their daily lives. Byteville was a city that thrived on technology, and programmers like Alex were considered artisans of the modern age. Alex had always been intrigued by the possibilities of coding, but there was one lesson that stood out more than any other during their journey: the paramount importance of testing code. In the early days of Alex's career, they were eager to dive straight into writing code. The thrill of seeing their ideas come to life was intoxicating, and Alex quickly built a reputation for developing features at a swift pace. However, this rapid development came at a cost. Despite the initial excitement, Alex found that their code often contained bugs, leading to frequent crashes and frustrated users. It was a humbling experience, and Alex realized that there was more to being a great programmer than just writing code. One day, Alex was working on a project for a new client. The client had requested a complex application that promised to revolutionize the way people managed their daily tasks. Excitement coursed through Alex's veins, and they threw themselves into the project with gusto. Hours turned into days, and days into weeks, as Alex painstakingly coded every feature that the client had envisioned. Finally, the day came when Alex was ready to present the finished product. The client gathered their team to witness the unveiling, and Alex began the demonstration with confidence. But soon, things started to go awry. Buttons that were supposed to trigger specific actions did nothing. Data that was meant to be saved was lost. The application crashed multiple times, leaving the client and their team frustrated and unimpressed. Alex felt a pang of embarrassment and disappointment. After the failed presentation, Alex decided to seek advice from an experienced programmer named Maya, who was known for her meticulous and bug-free code. Maya had been in the industry for many years and had a wealth of knowledge about best practices in software development. Alex visited Maya's office, and after explaining the situation, Maya nodded knowingly. 'Alex,' she said gently, 'coding is both an art and a science. While your enthusiasm and creativity are wonderful, you must also embrace the discipline of testing. Testing your code is essential to ensure that it functions as intended and to deliver a reliable product to your users.' Maya spent the next several hours teaching Alex about different types of testing. They covered unit testing, which involves testing individual components of the code to ensure they work correctly. They delved into integration testing, where multiple components are tested together to ensure they function seamlessly as a whole. Maya also explained the importance of system testing, where the entire application is tested in an environment that simulates real-world usage. She emphasized the value of automated testing frameworks, which could run tests repeatedly, catch regressions, and provide quick feedback during the development process. Alex began to see testing in a new light. It wasn't just an afterthought or a tedious chore; it was an integral part of the development cycle that could make the difference between a functional, reliable application and a buggy, frustrating one. Inspired by Maya's wisdom, Alex returned to their project with renewed determination. They wrote unit tests for every component, ensuring that each piece of the codebase was robust and free from errors. They created integration tests to check how well different parts of the application worked together. Finally, they conducted system tests to simulate how users would interact with the application in the real world. The process was time-consuming, but Alex quickly discovered that it was worth every minute. The tests caught several issues that would have otherwise slipped through the cracks, and Alex was able to fix these problems before they reached the client. The application became more stable, reliable, and user-friendly. When the time came for the second presentation, Alex stood before the client with newfound confidence. The application ran smoothly, every feature working as intended. The client and their team were impressed, and Alex couldn't help but feel a sense of pride and accomplishment. This was the result of not just hard work, but also a commitment to quality through thorough testing. Word of Alex's successful project spread throughout Byteville, and soon, other programmers and clients began to take notice. Alex became an advocate for the importance of testing code, sharing the lessons they had learned with anyone willing to listen. Testing became a mantra not just for Alex, but for a new generation of programmers who understood that excellence in coding wasn't just about rapid development but also about ensuring reliability and functionality. From that day forward, Alex continued to create innovative applications, each one meticulously tested to ensure it met the highest standards of quality. Byteville thrived on these advancements, and the city's residents knew that whatever challenges lay ahead, they could rely on the software created by dedicated programmers like Alex. And so, the story of Alex and the importance of testing code became a legend in Byteville, a timeless reminder that behind every great line of code is the diligent effort to make sure it works flawlessly." +1,B,This is a much shorter message. +2,B,:-) +2,A, +2,A, \ No newline at end of file diff --git a/tests/run_package_grouping_tests.py b/tests/run_package_grouping_tests.py index 9fefd43a..6df66cc1 100644 --- a/tests/run_package_grouping_tests.py +++ b/tests/run_package_grouping_tests.py @@ -34,7 +34,7 @@ output_file_path_conv_level = "./tiny_multi_task_PT1_level_conv", turns = False, ) - testing_package_task_1.featurize(col="message") + testing_package_task_1.featurize() """ Testing Package Task 1 Advanced Features @@ -64,9 +64,9 @@ output_file_path_chat_level = "./output/chat/tiny_multi_task_case2_level_chat.csv", output_file_path_user_level = "./output/user/tiny_multi_task_case2_level_user.csv", output_file_path_conv_level = "./output/conv/tiny_multi_task_case2_level_conv.csv", - turns = False, + turns = False ) - testing_case_2.featurize(col="message") + testing_case_2.featurize() print("TESTING CASE 3A .....") testing_case_3_a = FeatureBuilder( @@ -82,9 +82,9 @@ output_file_path_chat_level = "./output/chat/tiny_multi_task_case3a_level_chat.csv", output_file_path_user_level = "./output/user/tiny_multi_task_case3a_level_user.csv", output_file_path_conv_level = "./output/conv/tiny_multi_task_case3a_level_conv.csv", - turns = False, + turns = False ) - testing_case_3_a.featurize(col="message") + testing_case_3_a.featurize() print("TESTING CASE 3B .....") testing_case_3_b = FeatureBuilder( @@ -100,9 +100,9 @@ output_file_path_chat_level = "./output/chat/tiny_multi_task_case3b_level_chat.csv", output_file_path_user_level = "./output/user/tiny_multi_task_case3b_level_user.csv", output_file_path_conv_level = "./output/conv/tiny_multi_task_case3b_level_conv.csv", - turns = False, + turns = False ) - testing_case_3_b.featurize(col="message") + testing_case_3_b.featurize() print("TESTING CASE 3C .....") testing_case_3_c = FeatureBuilder( @@ -118,9 +118,9 @@ output_file_path_chat_level = "./output/chat/tiny_multi_task_case3c_level_chat.csv", output_file_path_user_level = "./output/user/tiny_multi_task_case3c_level_user.csv", output_file_path_conv_level = "./output/conv/tiny_multi_task_case3c_level_conv.csv", - turns = False, + turns = False ) - testing_case_3_c.featurize(col="message") + testing_case_3_c.featurize() print("TESTING IMPROPER CASE .....") testing_case_improper = FeatureBuilder( @@ -136,9 +136,9 @@ output_file_path_chat_level = "./output/chat/tiny_multi_task_improper_level_chat.csv", output_file_path_user_level = "./output/user/tiny_multi_task_improper_level_user.csv", output_file_path_conv_level = "./output/conv/tiny_multi_task_improper_level_conv.csv", - turns = False, + turns = False ) - testing_case_improper.featurize(col="message") + testing_case_improper.featurize() """ Test robustness of the FeatureBuilder to taking in an input that contains existing feature names. @@ -150,6 +150,7 @@ testing_chat_existing = FeatureBuilder( input_df = chat_df_existing_output, vector_directory = "./vector_data/", + message_col = "message_original", output_file_path_chat_level = "./output/chat/test_chat_level_existing_chat.csv", output_file_path_user_level = "./output/user/test_chat_level_existing_user.csv", output_file_path_conv_level = "./output/conv/test_chat_level_existing_conv.csv", @@ -158,7 +159,34 @@ "Moving Mimicry", "Forward Flow", "Discursive Diversity" + ], + turns = False + ) + testing_chat_existing.featurize() + + """ + Test robustness of the vector pipeline to weird inputs: + - Super long input + - Input containing only symbols (e.g,. ":-)") + - Empty input + - Input with many spaces + """ + vector_testing_input = pd.read_csv("data/cleaned_data/test_vector_edge_cases.csv", encoding='latin-1') + + test_vectors = FeatureBuilder( + input_df = vector_testing_input, + vector_directory = "./vector_data/", + output_file_path_chat_level = "./output/chat/test_vectors_chat.csv", + output_file_path_user_level = "./output/user/test_vectors_user.csv", + output_file_path_conv_level = "./output/conv/test_vectors_conv.csv", + custom_features = [ + "(BERT) Mimicry", + "Moving Mimicry", + "Forward Flow", + "Discursive Diversity" ], turns = False, + regenerate_vectors = True ) - testing_chat_existing.featurize(col="message") + test_vectors.featurize() + diff --git a/tests/run_tests.py b/tests/run_tests.py index 8fb938a9..aadd767c 100644 --- a/tests/run_tests.py +++ b/tests/run_tests.py @@ -43,9 +43,9 @@ "Forward Flow", "Discursive Diversity" ], - turns = False, + turns = False ) - testing_chat.featurize(col="message") + testing_chat.featurize() testing_conv = FeatureBuilder( input_df = conv_df, @@ -59,9 +59,9 @@ "Forward Flow", "Discursive Diversity" ], - turns = False, + turns = False ) - testing_conv.featurize(col="message") + testing_conv.featurize() test_ner_feature_builder = FeatureBuilder( input_df = test_ner_df, @@ -76,9 +76,9 @@ "Forward Flow", "Discursive Diversity" ], - turns = False, + turns = False ) - test_ner_feature_builder.featurize(col="message") + test_ner_feature_builder.featurize() # testing perturbed chat level features testing_chat_complex = FeatureBuilder( @@ -93,9 +93,9 @@ "Forward Flow", "Discursive Diversity" ], - turns = False, + turns = False ) - testing_chat_complex.featurize(col="message") + testing_chat_complex.featurize() # testing conv features testing_conv_complex = FeatureBuilder( @@ -110,9 +110,9 @@ "Forward Flow", "Discursive Diversity" ], - turns = False, + turns = False ) - testing_conv_complex.featurize(col="message") + testing_conv_complex.featurize() testing_conv_complex_ts = FeatureBuilder( input_df = conv_complex_timestamps_df, @@ -126,9 +126,9 @@ "Forward Flow", "Discursive Diversity" ], - turns = False, + turns = False ) - testing_conv_complex_ts.featurize(col="message") + testing_conv_complex_ts.featurize() # testing forward flow testing_forward_flow = FeatureBuilder( @@ -143,7 +143,7 @@ "Forward Flow", "Discursive Diversity" ], - turns = False, + turns = False ) - testing_forward_flow.featurize(col="message") \ No newline at end of file + testing_forward_flow.featurize() \ No newline at end of file diff --git a/tests/test_feature_metrics.py b/tests/test_feature_metrics.py index 42ad513a..4c1844c4 100644 --- a/tests/test_feature_metrics.py +++ b/tests/test_feature_metrics.py @@ -175,8 +175,8 @@ def test_chat_complex(batch): inv_result = batch[1][1][feature] dir_result = batch[2][1][feature] - inv_distance = og_result - inv_result - dir_distance = og_result - dir_result + inv_distance = abs(og_result - inv_result) + dir_distance = abs(og_result - dir_result) # calculate ratio between inv and dir ratio = dir_distance / inv_distance diff --git a/tests/test_package.py b/tests/test_package.py index 0106b230..ac145b66 100644 --- a/tests/test_package.py +++ b/tests/test_package.py @@ -4,6 +4,8 @@ from numpy import nan import logging import itertools +import os +from sklearn.metrics.pairwise import cosine_similarity # Import Test Outputs input_data = pd.read_csv("data/cleaned_data/multi_task_TINY_cols_renamed.csv", encoding='utf-8') @@ -13,6 +15,9 @@ case3b_chatdf = pd.read_csv("./output/chat/tiny_multi_task_case3b_level_chat.csv") case3c_chatdf = pd.read_csv("./output/chat/tiny_multi_task_case3c_level_chat.csv") impropercase_chatdf = pd.read_csv("./output/chat/tiny_multi_task_improper_level_chat.csv") +sentiment_output = pd.read_csv('./vector_data/sentiment/chats/test_vectors_chat.csv') +sbert_output = pd.read_csv('./vector_data/sentence/chats/test_vectors_chat.csv') + # Import the Feature Dictionary from team_comm_tools.feature_dict import feature_dict @@ -167,6 +172,8 @@ def test_improper_case(): file.write(f"Number of unique conversation identifiers in improper case: {improper_ids}\n") file.write(f"Number of unique conversation identifiers in Case 2: {case_2_ids}\n") + raise + def test_robustness_to_existing_column_names(): try: chat_df_orig = pd.read_csv("./output/chat/test_chat_level_chat.csv") # original output @@ -187,4 +194,43 @@ def test_robustness_to_existing_column_names(): file.write("------TEST FAILED------\n") file.write(f"Robustness check for passing in chat dataframe with feature columns failed.\n") - raise \ No newline at end of file + raise + +def get_nan_vector_str(): + current_dir = os.path.dirname(__file__) + nan_vector_file_path = os.path.join(current_dir, '../src/team_comm_tools/features/assets/nan_vector.txt') + nan_vector_file_path = os.path.abspath(nan_vector_file_path) + + f = open(nan_vector_file_path, "r") + return f.read() + +def str_to_vec(str_vec): + vector_list = [float(e) for e in str_vec[1:-1].split(',')] + return np.array(vector_list).reshape(-1, 1) + +def test_empty_vectors_equal(): + try: + # assert that the last two rows are equal; they're both empty + assert(sbert_output.iloc[-1]["message_embedding"]==sbert_output.iloc[-2]["message_embedding"]) + assert(sentiment_output.iloc[-1].equals(sentiment_output.iloc[-2])) + + # assert that the 'positive bert' of the last sentiment is np.nan + assert(np.isnan(float(sentiment_output.iloc[-1]["positive_bert"]))) + + # compare empty vector to nan vector + message_embedding_str = sbert_output.iloc[-1]["message_embedding"] + message_embedding_vec = str_to_vec(message_embedding_str) + nan_vector_str = get_nan_vector_str() + nan_vector = str_to_vec(nan_vector_str) + + # Compute cosine similarity and assert it's essentially 1 + similarity = cosine_similarity([message_embedding_vec.flatten()], [nan_vector.flatten()])[0][0] + assert(round(similarity, 0) == 1.0) + + except AssertionError: + with open('test.log', 'a') as file: + file.write("\n") + file.write("------TEST FAILED------\n") + file.write(f"Empty message vectors / sentence scores are not equal.\n") + + raise diff --git a/website/package-lock.json b/website/package-lock.json index e6ddff2a..73a4125f 100644 --- a/website/package-lock.json +++ b/website/package-lock.json @@ -8,18 +8,18 @@ "name": "website", "version": "0.1.0", "dependencies": { - "axios": "^1.7.2", "react": "^18.3.1", "react-burger-menu": "^3.0.9", "react-dom": "^18.3.1", - "react-icons": "^4.12.0", + "react-icons": "^5.3.0", "react-responsive": "^10.0.0", - "react-router-dom": "^6.23.1", + "react-router-dom": "^6.26.2", "react-scripts": "^5.0.1", - "web-vitals": "^2.1.4" + "web-vitals": "^4.2.3" }, "devDependencies": { - "concurrently": "^8.2.2" + "@babel/plugin-proposal-private-property-in-object": "^7.21.11", + "gh-pages": "^6.1.1" } }, "node_modules/@alloc/quick-lru": { @@ -58,9 +58,9 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.24.9", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.9.tgz", - "integrity": "sha512-e701mcfApCJqMMueQI0Fb68Amflj83+dvAvHawoBpAz+GDjCIyGHzNwnefjsWJ3xiYAqqiQFoWbspGYBdb2/ng==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.7.tgz", + "integrity": "sha512-9ickoLz+hcXCeh7jrcin+/SLWm+GkxE2kTvoYyp38p4WkdFXfQJxDFGWp/YHjiKLPx06z2A7W8XKuqbReXDzsw==", "engines": { "node": ">=6.9.0" } @@ -103,9 +103,9 @@ } }, "node_modules/@babel/eslint-parser": { - "version": "7.24.8", - "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.24.8.tgz", - "integrity": "sha512-nYAikI4XTGokU2QX7Jx+v4rxZKhKivaQaREZjuW3mrJrbdWJ5yUfohnoUULge+zEEaKjPYNxhoRgUKktjXtbwA==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.25.7.tgz", + "integrity": "sha512-B+BO9x86VYsQHimucBAL1fxTJKF4wyKY6ZVzee9QgzdZOUfs3BaR6AQrgoGrRI+7IFS1wUz/VyQ+SoBcSpdPbw==", "dependencies": { "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", "eslint-visitor-keys": "^2.1.0", @@ -136,50 +136,50 @@ } }, "node_modules/@babel/generator": { - "version": "7.24.10", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.10.tgz", - "integrity": "sha512-o9HBZL1G2129luEUlG1hB4N/nlYNWHnpwlND9eOMclRqqu1YDy2sSYVCFUZwl8I1Gxh+QSRrP2vD7EpUmFVXxg==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.7.tgz", + "integrity": "sha512-5Dqpl5fyV9pIAD62yK9P7fcA768uVPUyrQmqpqstHWgMma4feF1x/oFysBCVZLY5wJ2GkMUCdsNDnGZrPoR6rA==", "dependencies": { - "@babel/types": "^7.24.9", + "@babel/types": "^7.25.7", "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25", - "jsesc": "^2.5.1" + "jsesc": "^3.0.2" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.24.7.tgz", - "integrity": "sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.25.7.tgz", + "integrity": "sha512-4xwU8StnqnlIhhioZf1tqnVWeQ9pvH/ujS8hRfw/WOza+/a+1qv69BWNy+oY231maTCWgKWhfBU7kDpsds6zAA==", "dependencies": { - "@babel/types": "^7.24.7" + "@babel/types": "^7.25.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.24.7.tgz", - "integrity": "sha512-xZeCVVdwb4MsDBkkyZ64tReWYrLRHlMN72vP7Bdm3OUOuyFZExhsHUUnuWnm2/XOlAJzR0LfPpB56WXZn0X/lA==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.25.7.tgz", + "integrity": "sha512-12xfNeKNH7jubQNm7PAkzlLwEmCs1tfuX3UjIw6vP6QXi+leKh6+LyC/+Ed4EIQermwd58wsyh070yjDHFlNGg==", "dependencies": { - "@babel/traverse": "^7.24.7", - "@babel/types": "^7.24.7" + "@babel/traverse": "^7.25.7", + "@babel/types": "^7.25.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.24.8", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.24.8.tgz", - "integrity": "sha512-oU+UoqCHdp+nWVDkpldqIQL/i/bvAv53tRqLG/s+cOXxe66zOYLU7ar/Xs3LdmBihrUMEUhwu6dMZwbNOYDwvw==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.7.tgz", + "integrity": "sha512-DniTEax0sv6isaw6qSQSfV4gVRNtw2rte8HHM45t9ZR0xILaufBRNkpMifCRiAPyvL4ACD6v0gfCwCmtOQaV4A==", "dependencies": { - "@babel/compat-data": "^7.24.8", - "@babel/helper-validator-option": "^7.24.8", - "browserslist": "^4.23.1", + "@babel/compat-data": "^7.25.7", + "@babel/helper-validator-option": "^7.25.7", + "browserslist": "^4.24.0", "lru-cache": "^5.1.1", "semver": "^6.3.1" }, @@ -196,18 +196,16 @@ } }, "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.24.8", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.8.tgz", - "integrity": "sha512-4f6Oqnmyp2PP3olgUMmOwC3akxSm5aBYraQ6YDdKy7NcAMkDECHWG0DEnV6M2UAkERgIBhYt8S27rURPg7SxWA==", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.24.7", - "@babel/helper-environment-visitor": "^7.24.7", - "@babel/helper-function-name": "^7.24.7", - "@babel/helper-member-expression-to-functions": "^7.24.8", - "@babel/helper-optimise-call-expression": "^7.24.7", - "@babel/helper-replace-supers": "^7.24.7", - "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", - "@babel/helper-split-export-declaration": "^7.24.7", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.7.tgz", + "integrity": "sha512-bD4WQhbkx80mAyj/WCm4ZHcF4rDxkoLFO6ph8/5/mQ3z4vAzltQXAmbc7GvVJx5H+lk5Mi5EmbTeox5nMGCsbw==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.25.7", + "@babel/helper-member-expression-to-functions": "^7.25.7", + "@babel/helper-optimise-call-expression": "^7.25.7", + "@babel/helper-replace-supers": "^7.25.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.7", + "@babel/traverse": "^7.25.7", "semver": "^6.3.1" }, "engines": { @@ -226,12 +224,12 @@ } }, "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.24.7.tgz", - "integrity": "sha512-03TCmXy2FtXJEZfbXDTSqq1fRJArk7lX9DOFC/47VthYcxyIOx+eXQmdo6DOQvrbpIix+KfXwvuXdFDZHxt+rA==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.25.7.tgz", + "integrity": "sha512-byHhumTj/X47wJ6C6eLpK7wW/WBEcnUeb7D0FNc/jFQnQVw7DOso3Zz5u9x/zLrFVkHa89ZGDbkAa1D54NdrCQ==", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.24.7", - "regexpu-core": "^5.3.1", + "@babel/helper-annotate-as-pure": "^7.25.7", + "regexpu-core": "^6.1.1", "semver": "^6.3.1" }, "engines": { @@ -280,74 +278,39 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.24.7.tgz", - "integrity": "sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==", - "dependencies": { - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-function-name": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.24.7.tgz", - "integrity": "sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==", - "dependencies": { - "@babel/template": "^7.24.7", - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.24.7.tgz", - "integrity": "sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==", - "dependencies": { - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.24.8", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.8.tgz", - "integrity": "sha512-LABppdt+Lp/RlBxqrh4qgf1oEH/WxdzQNDJIu5gC/W1GyvPVrOBiItmmM8wan2fm4oYqFuFfkXmlGpLQhPY8CA==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.25.7.tgz", + "integrity": "sha512-O31Ssjd5K6lPbTX9AAYpSKrZmLeagt9uwschJd+Ixo6QiRyfpvgtVQp8qrDR9UNFjZ8+DO34ZkdrN+BnPXemeA==", "dependencies": { - "@babel/traverse": "^7.24.8", - "@babel/types": "^7.24.8" + "@babel/traverse": "^7.25.7", + "@babel/types": "^7.25.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-imports": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz", - "integrity": "sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.7.tgz", + "integrity": "sha512-o0xCgpNmRohmnoWKQ0Ij8IdddjyBFE4T2kagL/x6M3+4zUgc+4qTOUBoNe4XxDskt1HPKO007ZPiMgLDq2s7Kw==", "dependencies": { - "@babel/traverse": "^7.24.7", - "@babel/types": "^7.24.7" + "@babel/traverse": "^7.25.7", + "@babel/types": "^7.25.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.24.9", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.24.9.tgz", - "integrity": "sha512-oYbh+rtFKj/HwBQkFlUzvcybzklmVdVV3UU+mN7n2t/q3yGHbuVdNxyFvSBO1tfvjyArpHNcWMAzsSPdyI46hw==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.25.7.tgz", + "integrity": "sha512-k/6f8dKG3yDz/qCwSM+RKovjMix563SLxQFo0UhRNo239SP6n9u5/eLtKD6EAjwta2JHJ49CsD8pms2HdNiMMQ==", "dependencies": { - "@babel/helper-environment-visitor": "^7.24.7", - "@babel/helper-module-imports": "^7.24.7", - "@babel/helper-simple-access": "^7.24.7", - "@babel/helper-split-export-declaration": "^7.24.7", - "@babel/helper-validator-identifier": "^7.24.7" + "@babel/helper-module-imports": "^7.25.7", + "@babel/helper-simple-access": "^7.25.7", + "@babel/helper-validator-identifier": "^7.25.7", + "@babel/traverse": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -357,32 +320,32 @@ } }, "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.24.7.tgz", - "integrity": "sha512-jKiTsW2xmWwxT1ixIdfXUZp+P5yURx2suzLZr5Hi64rURpDYdMW0pv+Uf17EYk2Rd428Lx4tLsnjGJzYKDM/6A==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.25.7.tgz", + "integrity": "sha512-VAwcwuYhv/AT+Vfr28c9y6SHzTan1ryqrydSTFGjU0uDJHw3uZ+PduI8plCLkRsDnqK2DMEDmwrOQRsK/Ykjng==", "dependencies": { - "@babel/types": "^7.24.7" + "@babel/types": "^7.25.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.24.8", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.8.tgz", - "integrity": "sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.25.7.tgz", + "integrity": "sha512-eaPZai0PiqCi09pPs3pAFfl/zYgGaE6IdXtYvmf0qlcDTd3WCtO7JWCcRd64e0EQrcYgiHibEZnOGsSY4QSgaw==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-remap-async-to-generator": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.24.7.tgz", - "integrity": "sha512-9pKLcTlZ92hNZMQfGCHImUpDOlAgkkpqalWEeftW5FBya75k8Li2ilerxkM/uBEj01iBZXcCIB/bwvDYgWyibA==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.25.7.tgz", + "integrity": "sha512-kRGE89hLnPfcz6fTrlNU+uhgcwv0mBE4Gv3P9Ke9kLVJYpi4AMVVEElXvB5CabrPZW4nCM8P8UyyjrzCM0O2sw==", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.24.7", - "@babel/helper-environment-visitor": "^7.24.7", - "@babel/helper-wrap-function": "^7.24.7" + "@babel/helper-annotate-as-pure": "^7.25.7", + "@babel/helper-wrap-function": "^7.25.7", + "@babel/traverse": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -392,13 +355,13 @@ } }, "node_modules/@babel/helper-replace-supers": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.24.7.tgz", - "integrity": "sha512-qTAxxBM81VEyoAY0TtLrx1oAEJc09ZK67Q9ljQToqCnA+55eNwCORaxlKyu+rNfX86o8OXRUSNUnrtsAZXM9sg==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.25.7.tgz", + "integrity": "sha512-iy8JhqlUW9PtZkd4pHM96v6BdJ66Ba9yWSE4z0W4TvSZwLBPkyDsiIU3ENe4SmrzRBs76F7rQXTy1lYC49n6Lw==", "dependencies": { - "@babel/helper-environment-visitor": "^7.24.7", - "@babel/helper-member-expression-to-functions": "^7.24.7", - "@babel/helper-optimise-call-expression": "^7.24.7" + "@babel/helper-member-expression-to-functions": "^7.25.7", + "@babel/helper-optimise-call-expression": "^7.25.7", + "@babel/traverse": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -408,73 +371,61 @@ } }, "node_modules/@babel/helper-simple-access": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz", - "integrity": "sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.25.7.tgz", + "integrity": "sha512-FPGAkJmyoChQeM+ruBGIDyrT2tKfZJO8NcxdC+CWNJi7N8/rZpSxK7yvBJ5O/nF1gfu5KzN7VKG3YVSLFfRSxQ==", "dependencies": { - "@babel/traverse": "^7.24.7", - "@babel/types": "^7.24.7" + "@babel/traverse": "^7.25.7", + "@babel/types": "^7.25.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.24.7.tgz", - "integrity": "sha512-IO+DLT3LQUElMbpzlatRASEyQtfhSE0+m465v++3jyyXeBTBUjtVZg28/gHeV5mrTJqvEKhKroBGAvhW+qPHiQ==", - "dependencies": { - "@babel/traverse": "^7.24.7", - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.7.tgz", - "integrity": "sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.25.7.tgz", + "integrity": "sha512-pPbNbchZBkPMD50K0p3JGcFMNLVUCuU/ABybm/PGNj4JiHrpmNyqqCphBk4i19xXtNV0JhldQJJtbSW5aUvbyA==", "dependencies": { - "@babel/types": "^7.24.7" + "@babel/traverse": "^7.25.7", + "@babel/types": "^7.25.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-string-parser": { - "version": "7.24.8", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz", - "integrity": "sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.7.tgz", + "integrity": "sha512-CbkjYdsJNHFk8uqpEkpCvRs3YRp9tY6FmFY7wLMSYuGYkrdUi7r2lc4/wqsvlHoMznX3WJ9IP8giGPq68T/Y6g==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", - "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.7.tgz", + "integrity": "sha512-AM6TzwYqGChO45oiuPqwL2t20/HdMC1rTPAesnBCgPCSF1x3oN9MVUwQV2iyz4xqWrctwK5RNC8LV22kaQCNYg==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-option": { - "version": "7.24.8", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.8.tgz", - "integrity": "sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.7.tgz", + "integrity": "sha512-ytbPLsm+GjArDYXJ8Ydr1c/KJuutjF2besPNbIZnZ6MKUxi/uTA22t2ymmA4WFjZFpjiAMO0xuuJPqK2nvDVfQ==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-wrap-function": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.24.7.tgz", - "integrity": "sha512-N9JIYk3TD+1vq/wn77YnJOqMtfWhNewNE+DJV4puD2X7Ew9J4JvrzrFDfTfyv5EgEXVy9/Wt8QiOErzEmv5Ifw==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.25.7.tgz", + "integrity": "sha512-MA0roW3JF2bD1ptAaJnvcabsVlNQShUaThyJbCDD4bCp8NEgiFvpoqRI2YS22hHlc2thjO/fTg2ShLMC3jygAg==", "dependencies": { - "@babel/helper-function-name": "^7.24.7", - "@babel/template": "^7.24.7", - "@babel/traverse": "^7.24.7", - "@babel/types": "^7.24.7" + "@babel/template": "^7.25.7", + "@babel/traverse": "^7.25.7", + "@babel/types": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -493,11 +444,11 @@ } }, "node_modules/@babel/highlight": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz", - "integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.25.7.tgz", + "integrity": "sha512-iYyACpW3iW8Fw+ZybQK+drQre+ns/tKpXbNESfrhNnPLIklLbXr7MYJ6gPEd0iETGLOK+SxMjVvKb/ffmk+FEw==", "dependencies": { - "@babel/helper-validator-identifier": "^7.24.7", + "@babel/helper-validator-identifier": "^7.25.7", "chalk": "^2.4.2", "js-tokens": "^4.0.0", "picocolors": "^1.0.0" @@ -506,88 +457,41 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/highlight/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "node_modules/@babel/parser": { + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.7.tgz", + "integrity": "sha512-aZn7ETtQsjjGG5HruveUK06cU3Hljuhd9Iojm4M8WWv3wLE6OkE5PWbDUkItmMgegmccaITudyuW5RPYrYlgWw==", "dependencies": { - "color-convert": "^1.9.0" + "@babel/types": "^7.25.7" }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "bin": { + "parser": "bin/babel-parser.js" }, "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/@babel/highlight/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "node_modules/@babel/highlight/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/@babel/highlight/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "engines": { - "node": ">=4" + "node": ">=6.0.0" } }, - "node_modules/@babel/highlight/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": { + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.7.tgz", + "integrity": "sha512-UV9Lg53zyebzD1DwQoT9mzkEKa922LNUp5YkTJ6Uta0RbyXaQNUgcvSt7qIu1PpPzVb6rd10OVNTzkyBGeVmxQ==", "dependencies": { - "has-flag": "^3.0.0" + "@babel/helper-plugin-utils": "^7.25.7", + "@babel/traverse": "^7.25.7" }, "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/parser": { - "version": "7.24.8", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.8.tgz", - "integrity": "sha512-WzfbgXOkGzZiXXCqk43kKwZjzwx4oulxZi3nq2TYL9mOjQv6kYwul9mz6ID36njuL7Xkp6nJEfok848Zj10j/w==", - "bin": { - "parser": "bin/babel-parser.js" + "node": ">=6.9.0" }, - "engines": { - "node": ">=6.0.0" + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.24.7.tgz", - "integrity": "sha512-TiT1ss81W80eQsN+722OaeQMY/G4yTb4G9JrqeiDADs3N8lbPMGldWi9x8tyqCW5NLx1Jh2AvkE6r6QvEltMMQ==", + "node_modules/@babel/plugin-bugfix-safari-class-field-initializer-scope": { + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.25.7.tgz", + "integrity": "sha512-GDDWeVLNxRIkQTnJn2pDOM1pkCgYdSqPeT1a9vh9yIqu2uzzgw1zcqEb+IJOhy+dTBMlNdThrDIksr2o09qrrQ==", "dependencies": { - "@babel/helper-environment-visitor": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -597,11 +501,11 @@ } }, "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.24.7.tgz", - "integrity": "sha512-unaQgZ/iRu/By6tsjMZzpeBZjChYfLYry6HrEXPoz3KmfF0sVBQ1l8zKMQ4xRGLWVsjuvB8nQfjNP/DcfEOCsg==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.25.7.tgz", + "integrity": "sha512-wxyWg2RYaSUYgmd9MR0FyRGyeOMQE/Uzr1wzd/g5cf5bwi9A4v6HFdDm7y1MgDtod/fLOSTZY6jDgV0xU9d5bA==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -611,13 +515,13 @@ } }, "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.24.7.tgz", - "integrity": "sha512-+izXIbke1T33mY4MSNnrqhPXDz01WYhEf3yF5NbnUtkiNnm+XBZJl3kNfoK6NKmYlz/D07+l2GWVK/QfDkNCuQ==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.25.7.tgz", + "integrity": "sha512-Xwg6tZpLxc4iQjorYsyGMyfJE7nP5MV8t/Ka58BgiA7Jw0fRqQNcANlLfdJ/yvBt9z9LD2We+BEkT7vLqZRWng==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", - "@babel/plugin-transform-optional-chaining": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.7", + "@babel/plugin-transform-optional-chaining": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -627,12 +531,12 @@ } }, "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.24.7.tgz", - "integrity": "sha512-utA4HuR6F4Vvcr+o4DnjL8fCOlgRFGbeeBEGNg3ZTrLFw6VWG5XmUrvcQ0FjIYMU2ST4XcR2Wsp7t9qOAPnxMg==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.25.7.tgz", + "integrity": "sha512-UVATLMidXrnH+GMUIuxq55nejlj02HP7F5ETyBONzP6G87fPBogG4CH6kxrSrdIuAjdwNO9VzyaYsrZPscWUrw==", "dependencies": { - "@babel/helper-environment-visitor": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.7", + "@babel/traverse": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -658,13 +562,13 @@ } }, "node_modules/@babel/plugin-proposal-decorators": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.24.7.tgz", - "integrity": "sha512-RL9GR0pUG5Kc8BUWLNDm2T5OpYwSX15r98I0IkgmRQTXuELq/OynH8xtMTMvTJFjXbMWFVTKtYkTaYQsuAwQlQ==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.25.7.tgz", + "integrity": "sha512-q1mqqqH0e1lhmsEQHV5U8OmdueBC2y0RFr2oUzZoFRtN3MvPmt2fsFRcNQAoGLTSNdHBFUYGnlgcRFhkBbKjPw==", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/plugin-syntax-decorators": "^7.24.7" + "@babel/helper-create-class-features-plugin": "^7.25.7", + "@babel/helper-plugin-utils": "^7.25.7", + "@babel/plugin-syntax-decorators": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -739,9 +643,17 @@ } }, "node_modules/@babel/plugin-proposal-private-property-in-object": { - "version": "7.21.0-placeholder-for-preset-env.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", - "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", + "version": "7.21.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.11.tgz", + "integrity": "sha512-0QZ8qP/3RLDVBwBFoWAwCtgcDZJVwA5LUJRZU8x2YFfKNuFq161wK3cuGrALu5yiPu+vzwTAg/sMWVNeWeNyaw==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-private-property-in-object instead.", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-create-class-features-plugin": "^7.21.0", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + }, "engines": { "node": ">=6.9.0" }, @@ -797,11 +709,11 @@ } }, "node_modules/@babel/plugin-syntax-decorators": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.24.7.tgz", - "integrity": "sha512-Ui4uLJJrRV1lb38zg1yYTmRKmiZLiftDEvZN2iq3kd9kUFU+PttmzTbAFC2ucRk/XJmtek6G23gPsuZbhrT8fQ==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.25.7.tgz", + "integrity": "sha512-oXduHo642ZhstLVYTe2z2GSJIruU0c/W3/Ghr6A5yGMsVrvdnxO1z+3pbTcT7f3/Clnt+1z8D/w1r1f1SHaCHw==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -833,11 +745,11 @@ } }, "node_modules/@babel/plugin-syntax-flow": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.24.7.tgz", - "integrity": "sha512-9G8GYT/dxn/D1IIKOUBmGX0mnmj46mGH9NnZyJLwtCpgh5f7D2VbuKodb+2s9m1Yavh1s7ASQN8lf0eqrb1LTw==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.25.7.tgz", + "integrity": "sha512-fyoj6/YdVtlv2ROig/J0fP7hh/wNO1MJGm1NR70Pg7jbkF+jOUL9joorqaCOQh06Y+LfgTagHzC8KqZ3MF782w==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -847,11 +759,11 @@ } }, "node_modules/@babel/plugin-syntax-import-assertions": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.24.7.tgz", - "integrity": "sha512-Ec3NRUMoi8gskrkBe3fNmEQfxDvY8bgfQpz6jlk/41kX9eUjvpyqWU7PBP/pLAvMaSQjbMNKJmvX57jP+M6bPg==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.25.7.tgz", + "integrity": "sha512-ZvZQRmME0zfJnDQnVBKYzHxXT7lYBB3Revz1GuS7oLXWMgqUPX4G+DDbT30ICClht9WKV34QVrZhSw6WdklwZQ==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -861,11 +773,11 @@ } }, "node_modules/@babel/plugin-syntax-import-attributes": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.24.7.tgz", - "integrity": "sha512-hbX+lKKeUMGihnK8nvKqmXBInriT3GVjzXKFriV3YC6APGxMbP8RZNFwy91+hocLXq90Mta+HshoB31802bb8A==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.25.7.tgz", + "integrity": "sha512-AqVo+dguCgmpi/3mYBdu9lkngOBlQ2w2vnNpa6gfiCxQZLzV4ZbhsXitJ2Yblkoe1VQwtHSaNmIaGll/26YWRw==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -897,11 +809,11 @@ } }, "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.7.tgz", - "integrity": "sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.25.7.tgz", + "integrity": "sha512-ruZOnKO+ajVL/MVx+PwNBPOkrnXTXoWMtte1MBpegfCArhqOe3Bj52avVj1huLLxNKYKXYaSxZ2F+woK1ekXfw==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1005,11 +917,11 @@ } }, "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.24.7.tgz", - "integrity": "sha512-c/+fVeJBB0FeKsFvwytYiUD+LBvhHjGSI0g446PRGdSVGZLRNArBUno2PETbAly3tpiNAQR5XaZ+JslxkotsbA==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.25.7.tgz", + "integrity": "sha512-rR+5FDjpCHqqZN2bzZm18bVYGaejGq5ZkpVCJLXor/+zlSrSoc4KWcHI0URVWjl/68Dyr1uwZUz/1njycEAv9g==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1034,11 +946,11 @@ } }, "node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.7.tgz", - "integrity": "sha512-Dt9LQs6iEY++gXUwY03DNFat5C2NbO48jj+j/bSAz6b3HgPs39qcPiYt77fDObIcFwj3/C2ICX9YMwGflUoSHQ==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.25.7.tgz", + "integrity": "sha512-EJN2mKxDwfOUCPxMO6MUI58RN3ganiRAG/MS/S3HfB6QFNjroAMelQo/gybyYq97WerCBAZoyrAoW8Tzdq2jWg==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1048,14 +960,14 @@ } }, "node_modules/@babel/plugin-transform-async-generator-functions": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.24.7.tgz", - "integrity": "sha512-o+iF77e3u7ZS4AoAuJvapz9Fm001PuD2V3Lp6OSE4FYQke+cSewYtnek+THqGRWyQloRCyvWL1OkyfNEl9vr/g==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.7.tgz", + "integrity": "sha512-4B6OhTrwYKHYYgcwErvZjbmH9X5TxQBsaBHdzEIB4l71gR5jh/tuHGlb9in47udL2+wVUcOz5XXhhfhVJwEpEg==", "dependencies": { - "@babel/helper-environment-visitor": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/helper-remap-async-to-generator": "^7.24.7", - "@babel/plugin-syntax-async-generators": "^7.8.4" + "@babel/helper-plugin-utils": "^7.25.7", + "@babel/helper-remap-async-to-generator": "^7.25.7", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/traverse": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1065,13 +977,13 @@ } }, "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.7.tgz", - "integrity": "sha512-SQY01PcJfmQ+4Ash7NE+rpbLFbmqA2GPIgqzxfFTL4t1FKRq4zTms/7htKpoCUI9OcFYgzqfmCdH53s6/jn5fA==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.25.7.tgz", + "integrity": "sha512-ZUCjAavsh5CESCmi/xCpX1qcCaAglzs/7tmuvoFnJgA1dM7gQplsguljoTg+Ru8WENpX89cQyAtWoaE0I3X3Pg==", "dependencies": { - "@babel/helper-module-imports": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/helper-remap-async-to-generator": "^7.24.7" + "@babel/helper-module-imports": "^7.25.7", + "@babel/helper-plugin-utils": "^7.25.7", + "@babel/helper-remap-async-to-generator": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1081,11 +993,11 @@ } }, "node_modules/@babel/plugin-transform-block-scoped-functions": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.24.7.tgz", - "integrity": "sha512-yO7RAz6EsVQDaBH18IDJcMB1HnrUn2FJ/Jslc/WtPPWcjhpUJXU/rjbwmluzp7v/ZzWcEhTMXELnnsz8djWDwQ==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.25.7.tgz", + "integrity": "sha512-xHttvIM9fvqW+0a3tZlYcZYSBpSWzGBFIt/sYG3tcdSzBB8ZeVgz2gBP7Df+sM0N1850jrviYSSeUuc+135dmQ==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1095,11 +1007,11 @@ } }, "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.24.7.tgz", - "integrity": "sha512-Nd5CvgMbWc+oWzBsuaMcbwjJWAcp5qzrbg69SZdHSP7AMY0AbWFqFO0WTFCA1jxhMCwodRwvRec8k0QUbZk7RQ==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.25.7.tgz", + "integrity": "sha512-ZEPJSkVZaeTFG/m2PARwLZQ+OG0vFIhPlKHK/JdIMy8DbRJ/htz6LRrTFtdzxi9EHmcwbNPAKDnadpNSIW+Aow==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1109,12 +1021,12 @@ } }, "node_modules/@babel/plugin-transform-class-properties": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.24.7.tgz", - "integrity": "sha512-vKbfawVYayKcSeSR5YYzzyXvsDFWU2mD8U5TFeXtbCPLFUqe7GyCgvO6XDHzje862ODrOwy6WCPmKeWHbCFJ4w==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.25.7.tgz", + "integrity": "sha512-mhyfEW4gufjIqYFo9krXHJ3ElbFLIze5IDp+wQTxoPd+mwFb1NxatNAwmv8Q8Iuxv7Zc+q8EkiMQwc9IhyGf4g==", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-create-class-features-plugin": "^7.25.7", + "@babel/helper-plugin-utils": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1124,12 +1036,12 @@ } }, "node_modules/@babel/plugin-transform-class-static-block": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.24.7.tgz", - "integrity": "sha512-HMXK3WbBPpZQufbMG4B46A90PkuuhN9vBCb5T8+VAHqvAqvcLi+2cKoukcpmUYkszLhScU3l1iudhrks3DggRQ==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.25.7.tgz", + "integrity": "sha512-rvUUtoVlkDWtDWxGAiiQj0aNktTPn3eFynBcMC2IhsXweehwgdI9ODe+XjWw515kEmv22sSOTp/rxIRuTiB7zg==", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-create-class-features-plugin": "^7.25.7", + "@babel/helper-plugin-utils": "^7.25.7", "@babel/plugin-syntax-class-static-block": "^7.14.5" }, "engines": { @@ -1140,17 +1052,15 @@ } }, "node_modules/@babel/plugin-transform-classes": { - "version": "7.24.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.24.8.tgz", - "integrity": "sha512-VXy91c47uujj758ud9wx+OMgheXm4qJfyhj1P18YvlrQkNOSrwsteHk+EFS3OMGfhMhpZa0A+81eE7G4QC+3CA==", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.24.7", - "@babel/helper-compilation-targets": "^7.24.8", - "@babel/helper-environment-visitor": "^7.24.7", - "@babel/helper-function-name": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.8", - "@babel/helper-replace-supers": "^7.24.7", - "@babel/helper-split-export-declaration": "^7.24.7", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.7.tgz", + "integrity": "sha512-9j9rnl+YCQY0IGoeipXvnk3niWicIB6kCsWRGLwX241qSXpbA4MKxtp/EdvFxsc4zI5vqfLxzOd0twIJ7I99zg==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.25.7", + "@babel/helper-compilation-targets": "^7.25.7", + "@babel/helper-plugin-utils": "^7.25.7", + "@babel/helper-replace-supers": "^7.25.7", + "@babel/traverse": "^7.25.7", "globals": "^11.1.0" }, "engines": { @@ -1161,12 +1071,12 @@ } }, "node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.7.tgz", - "integrity": "sha512-25cS7v+707Gu6Ds2oY6tCkUwsJ9YIDbggd9+cu9jzzDgiNq7hR/8dkzxWfKWnTic26vsI3EsCXNd4iEB6e8esQ==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.25.7.tgz", + "integrity": "sha512-QIv+imtM+EtNxg/XBKL3hiWjgdLjMOmZ+XzQwSgmBfKbfxUjBzGgVPklUuE55eq5/uVoh8gg3dqlrwR/jw3ZeA==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/template": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.7", + "@babel/template": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1176,11 +1086,11 @@ } }, "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.24.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.8.tgz", - "integrity": "sha512-36e87mfY8TnRxc7yc6M9g9gOB7rKgSahqkIKwLpz4Ppk2+zC2Cy1is0uwtuSG6AE4zlTOUa+7JGz9jCJGLqQFQ==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.25.7.tgz", + "integrity": "sha512-xKcfLTlJYUczdaM1+epcdh1UGewJqr9zATgrNHcLBcV2QmfvPPEixo/sK/syql9cEmbr7ulu5HMFG5vbbt/sEA==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.8" + "@babel/helper-plugin-utils": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1190,12 +1100,12 @@ } }, "node_modules/@babel/plugin-transform-dotall-regex": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.24.7.tgz", - "integrity": "sha512-ZOA3W+1RRTSWvyqcMJDLqbchh7U4NRGqwRfFSVbOLS/ePIP4vHB5e8T8eXcuqyN1QkgKyj5wuW0lcS85v4CrSw==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.25.7.tgz", + "integrity": "sha512-kXzXMMRzAtJdDEgQBLF4oaiT6ZCU3oWHgpARnTKDAqPkDJ+bs3NrZb310YYevR5QlRo3Kn7dzzIdHbZm1VzJdQ==", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-create-regexp-features-plugin": "^7.25.7", + "@babel/helper-plugin-utils": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1205,11 +1115,11 @@ } }, "node_modules/@babel/plugin-transform-duplicate-keys": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.24.7.tgz", - "integrity": "sha512-JdYfXyCRihAe46jUIliuL2/s0x0wObgwwiGxw/UbgJBr20gQBThrokO4nYKgWkD7uBaqM7+9x5TU7NkExZJyzw==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.25.7.tgz", + "integrity": "sha512-by+v2CjoL3aMnWDOyCIg+yxU9KXSRa9tN6MbqggH5xvymmr9p4AMjYkNlQy4brMceBnUyHZ9G8RnpvT8wP7Cfg==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1218,12 +1128,27 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex": { + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.25.7.tgz", + "integrity": "sha512-HvS6JF66xSS5rNKXLqkk7L9c/jZ/cdIVIcoPVrnl8IsVpLggTjXs8OWekbLHs/VtYDDh5WXnQyeE3PPUGm22MA==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.25.7", + "@babel/helper-plugin-utils": "^7.25.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, "node_modules/@babel/plugin-transform-dynamic-import": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.7.tgz", - "integrity": "sha512-sc3X26PhZQDb3JhORmakcbvkeInvxz+A8oda99lj7J60QRuPZvNAk9wQlTBS1ZynelDrDmTU4pw1tyc5d5ZMUg==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.25.7.tgz", + "integrity": "sha512-UvcLuual4h7/GfylKm2IAA3aph9rwvAM2XBA0uPKU3lca+Maai4jBjjEVUS568ld6kJcgbouuumCBhMd/Yz17w==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-plugin-utils": "^7.25.7", "@babel/plugin-syntax-dynamic-import": "^7.8.3" }, "engines": { @@ -1234,12 +1159,12 @@ } }, "node_modules/@babel/plugin-transform-exponentiation-operator": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.24.7.tgz", - "integrity": "sha512-Rqe/vSc9OYgDajNIK35u7ot+KeCoetqQYFXM4Epf7M7ez3lWlOjrDjrwMei6caCVhfdw+mIKD4cgdGNy5JQotQ==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.25.7.tgz", + "integrity": "sha512-yjqtpstPfZ0h/y40fAXRv2snciYr0OAoMXY/0ClC7tm4C/nG5NJKmIItlaYlLbIVAWNfrYuy9dq1bE0SbX0PEg==", "dependencies": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.25.7", + "@babel/helper-plugin-utils": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1249,11 +1174,11 @@ } }, "node_modules/@babel/plugin-transform-export-namespace-from": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.7.tgz", - "integrity": "sha512-v0K9uNYsPL3oXZ/7F9NNIbAj2jv1whUEtyA6aujhekLs56R++JDQuzRcP2/z4WX5Vg/c5lE9uWZA0/iUoFhLTA==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.25.7.tgz", + "integrity": "sha512-h3MDAP5l34NQkkNulsTNyjdaR+OiB0Im67VU//sFupouP8Q6m9Spy7l66DcaAQxtmCqGdanPByLsnwFttxKISQ==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-plugin-utils": "^7.25.7", "@babel/plugin-syntax-export-namespace-from": "^7.8.3" }, "engines": { @@ -1264,12 +1189,12 @@ } }, "node_modules/@babel/plugin-transform-flow-strip-types": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.24.7.tgz", - "integrity": "sha512-cjRKJ7FobOH2eakx7Ja+KpJRj8+y+/SiB3ooYm/n2UJfxu0oEaOoxOinitkJcPqv9KxS0kxTGPUaR7L2XcXDXA==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.25.7.tgz", + "integrity": "sha512-q8Td2PPc6/6I73g96SreSUCKEcwMXCwcXSIAVTyTTN6CpJe0dMj8coxu1fg1T9vfBLi6Rsi6a4ECcFBbKabS5w==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/plugin-syntax-flow": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.7", + "@babel/plugin-syntax-flow": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1279,12 +1204,12 @@ } }, "node_modules/@babel/plugin-transform-for-of": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.7.tgz", - "integrity": "sha512-wo9ogrDG1ITTTBsy46oGiN1dS9A7MROBTcYsfS8DtsImMkHk9JXJ3EWQM6X2SUw4x80uGPlwj0o00Uoc6nEE3g==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.25.7.tgz", + "integrity": "sha512-n/TaiBGJxYFWvpJDfsxSj9lEEE44BFM1EPGz4KEiTipTgkoFVVcCmzAL3qA7fdQU96dpo4gGf5HBx/KnDvqiHw==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1294,13 +1219,13 @@ } }, "node_modules/@babel/plugin-transform-function-name": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.24.7.tgz", - "integrity": "sha512-U9FcnA821YoILngSmYkW6FjyQe2TyZD5pHt4EVIhmcTkrJw/3KqcrRSxuOo5tFZJi7TE19iDyI1u+weTI7bn2w==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.7.tgz", + "integrity": "sha512-5MCTNcjCMxQ63Tdu9rxyN6cAWurqfrDZ76qvVPrGYdBxIj+EawuuxTu/+dgJlhK5eRz3v1gLwp6XwS8XaX2NiQ==", "dependencies": { - "@babel/helper-compilation-targets": "^7.24.7", - "@babel/helper-function-name": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-compilation-targets": "^7.25.7", + "@babel/helper-plugin-utils": "^7.25.7", + "@babel/traverse": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1310,11 +1235,11 @@ } }, "node_modules/@babel/plugin-transform-json-strings": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.24.7.tgz", - "integrity": "sha512-2yFnBGDvRuxAaE/f0vfBKvtnvvqU8tGpMHqMNpTN2oWMKIR3NqFkjaAgGwawhqK/pIN2T3XdjGPdaG0vDhOBGw==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.25.7.tgz", + "integrity": "sha512-Ot43PrL9TEAiCe8C/2erAjXMeVSnE/BLEx6eyrKLNFCCw5jvhTHKyHxdI1pA0kz5njZRYAnMO2KObGqOCRDYSA==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-plugin-utils": "^7.25.7", "@babel/plugin-syntax-json-strings": "^7.8.3" }, "engines": { @@ -1325,11 +1250,11 @@ } }, "node_modules/@babel/plugin-transform-literals": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.24.7.tgz", - "integrity": "sha512-vcwCbb4HDH+hWi8Pqenwnjy+UiklO4Kt1vfspcQYFhJdpthSnW8XvWGyDZWKNVrVbVViI/S7K9PDJZiUmP2fYQ==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.7.tgz", + "integrity": "sha512-fwzkLrSu2fESR/cm4t6vqd7ebNIopz2QHGtjoU+dswQo/P6lwAG04Q98lliE3jkz/XqnbGFLnUcE0q0CVUf92w==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1339,11 +1264,11 @@ } }, "node_modules/@babel/plugin-transform-logical-assignment-operators": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.7.tgz", - "integrity": "sha512-4D2tpwlQ1odXmTEIFWy9ELJcZHqrStlzK/dAOWYyxX3zT0iXQB6banjgeOJQXzEc4S0E0a5A+hahxPaEFYftsw==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.25.7.tgz", + "integrity": "sha512-iImzbA55BjiovLyG2bggWS+V+OLkaBorNvc/yJoeeDQGztknRnDdYfp2d/UPmunZYEnZi6Lg8QcTmNMHOB0lGA==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-plugin-utils": "^7.25.7", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" }, "engines": { @@ -1354,11 +1279,11 @@ } }, "node_modules/@babel/plugin-transform-member-expression-literals": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.24.7.tgz", - "integrity": "sha512-T/hRC1uqrzXMKLQ6UCwMT85S3EvqaBXDGf0FaMf4446Qx9vKwlghvee0+uuZcDUCZU5RuNi4781UQ7R308zzBw==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.25.7.tgz", + "integrity": "sha512-Std3kXwpXfRV0QtQy5JJcRpkqP8/wG4XL7hSKZmGlxPlDqmpXtEPRmhF7ztnlTCtUN3eXRUJp+sBEZjaIBVYaw==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1368,12 +1293,12 @@ } }, "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.24.7.tgz", - "integrity": "sha512-9+pB1qxV3vs/8Hdmz/CulFB8w2tuu6EB94JZFsjdqxQokwGa9Unap7Bo2gGBGIvPmDIVvQrom7r5m/TCDMURhg==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.25.7.tgz", + "integrity": "sha512-CgselSGCGzjQvKzghCvDTxKHP3iooenLpJDO842ehn5D2G5fJB222ptnDwQho0WjEvg7zyoxb9P+wiYxiJX5yA==", "dependencies": { - "@babel/helper-module-transforms": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-module-transforms": "^7.25.7", + "@babel/helper-plugin-utils": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1383,13 +1308,13 @@ } }, "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.24.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.8.tgz", - "integrity": "sha512-WHsk9H8XxRs3JXKWFiqtQebdh9b/pTk4EgueygFzYlTKAg0Ud985mSevdNjdXdFBATSKVJGQXP1tv6aGbssLKA==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.25.7.tgz", + "integrity": "sha512-L9Gcahi0kKFYXvweO6n0wc3ZG1ChpSFdgG+eV1WYZ3/dGbJK7vvk91FgGgak8YwRgrCuihF8tE/Xg07EkL5COg==", "dependencies": { - "@babel/helper-module-transforms": "^7.24.8", - "@babel/helper-plugin-utils": "^7.24.8", - "@babel/helper-simple-access": "^7.24.7" + "@babel/helper-module-transforms": "^7.25.7", + "@babel/helper-plugin-utils": "^7.25.7", + "@babel/helper-simple-access": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1399,14 +1324,14 @@ } }, "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.24.7.tgz", - "integrity": "sha512-GYQE0tW7YoaN13qFh3O1NCY4MPkUiAH3fiF7UcV/I3ajmDKEdG3l+UOcbAm4zUE3gnvUU+Eni7XrVKo9eO9auw==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.7.tgz", + "integrity": "sha512-t9jZIvBmOXJsiuyOwhrIGs8dVcD6jDyg2icw1VL4A/g+FnWyJKwUfSSU2nwJuMV2Zqui856El9u+ElB+j9fV1g==", "dependencies": { - "@babel/helper-hoist-variables": "^7.24.7", - "@babel/helper-module-transforms": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/helper-validator-identifier": "^7.24.7" + "@babel/helper-module-transforms": "^7.25.7", + "@babel/helper-plugin-utils": "^7.25.7", + "@babel/helper-validator-identifier": "^7.25.7", + "@babel/traverse": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1416,12 +1341,12 @@ } }, "node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.7.tgz", - "integrity": "sha512-3aytQvqJ/h9z4g8AsKPLvD4Zqi2qT+L3j7XoFFu1XBlZWEl2/1kWnhmAbxpLgPrHSY0M6UA02jyTiwUVtiKR6A==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.25.7.tgz", + "integrity": "sha512-p88Jg6QqsaPh+EB7I9GJrIqi1Zt4ZBHUQtjw3z1bzEXcLh6GfPqzZJ6G+G1HBGKUNukT58MnKG7EN7zXQBCODw==", "dependencies": { - "@babel/helper-module-transforms": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-module-transforms": "^7.25.7", + "@babel/helper-plugin-utils": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1431,12 +1356,12 @@ } }, "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.24.7.tgz", - "integrity": "sha512-/jr7h/EWeJtk1U/uz2jlsCioHkZk1JJZVcc8oQsJ1dUlaJD83f4/6Zeh2aHt9BIFokHIsSeDfhUmju0+1GPd6g==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.25.7.tgz", + "integrity": "sha512-BtAT9LzCISKG3Dsdw5uso4oV1+v2NlVXIIomKJgQybotJY3OwCwJmkongjHgwGKoZXd0qG5UZ12JUlDQ07W6Ow==", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-create-regexp-features-plugin": "^7.25.7", + "@babel/helper-plugin-utils": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1446,11 +1371,11 @@ } }, "node_modules/@babel/plugin-transform-new-target": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.24.7.tgz", - "integrity": "sha512-RNKwfRIXg4Ls/8mMTza5oPF5RkOW8Wy/WgMAp1/F1yZ8mMbtwXW+HDoJiOsagWrAhI5f57Vncrmr9XeT4CVapA==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.25.7.tgz", + "integrity": "sha512-CfCS2jDsbcZaVYxRFo2qtavW8SpdzmBXC2LOI4oO0rP+JSRDxxF3inF4GcPsLgfb5FjkhXG5/yR/lxuRs2pySA==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1460,11 +1385,11 @@ } }, "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.7.tgz", - "integrity": "sha512-Ts7xQVk1OEocqzm8rHMXHlxvsfZ0cEF2yomUqpKENHWMF4zKk175Y4q8H5knJes6PgYad50uuRmt3UJuhBw8pQ==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.25.7.tgz", + "integrity": "sha512-FbuJ63/4LEL32mIxrxwYaqjJxpbzxPVQj5a+Ebrc8JICV6YX8nE53jY+K0RZT3um56GoNWgkS2BQ/uLGTjtwfw==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-plugin-utils": "^7.25.7", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" }, "engines": { @@ -1475,11 +1400,11 @@ } }, "node_modules/@babel/plugin-transform-numeric-separator": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.24.7.tgz", - "integrity": "sha512-e6q1TiVUzvH9KRvicuxdBTUj4AdKSRwzIyFFnfnezpCfP2/7Qmbb8qbU2j7GODbl4JMkblitCQjKYUaX/qkkwA==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.25.7.tgz", + "integrity": "sha512-8CbutzSSh4hmD+jJHIA8vdTNk15kAzOnFLVVgBSMGr28rt85ouT01/rezMecks9pkU939wDInImwCKv4ahU4IA==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-plugin-utils": "^7.25.7", "@babel/plugin-syntax-numeric-separator": "^7.10.4" }, "engines": { @@ -1490,14 +1415,14 @@ } }, "node_modules/@babel/plugin-transform-object-rest-spread": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.7.tgz", - "integrity": "sha512-4QrHAr0aXQCEFni2q4DqKLD31n2DL+RxcwnNjDFkSG0eNQ/xCavnRkfCUjsyqGC2OviNJvZOF/mQqZBw7i2C5Q==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.25.7.tgz", + "integrity": "sha512-1JdVKPhD7Y5PvgfFy0Mv2brdrolzpzSoUq2pr6xsR+m+3viGGeHEokFKsCgOkbeFOQxfB1Vt2F0cPJLRpFI4Zg==", "dependencies": { - "@babel/helper-compilation-targets": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-compilation-targets": "^7.25.7", + "@babel/helper-plugin-utils": "^7.25.7", "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.24.7" + "@babel/plugin-transform-parameters": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1507,12 +1432,12 @@ } }, "node_modules/@babel/plugin-transform-object-super": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.7.tgz", - "integrity": "sha512-A/vVLwN6lBrMFmMDmPPz0jnE6ZGx7Jq7d6sT/Ev4H65RER6pZ+kczlf1DthF5N0qaPHBsI7UXiE8Zy66nmAovg==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.25.7.tgz", + "integrity": "sha512-pWT6UXCEW3u1t2tcAGtE15ornCBvopHj9Bps9D2DsH15APgNVOTwwczGckX+WkAvBmuoYKRCFa4DK+jM8vh5AA==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/helper-replace-supers": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.7", + "@babel/helper-replace-supers": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1522,11 +1447,11 @@ } }, "node_modules/@babel/plugin-transform-optional-catch-binding": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.24.7.tgz", - "integrity": "sha512-uLEndKqP5BfBbC/5jTwPxLh9kqPWWgzN/f8w6UwAIirAEqiIVJWWY312X72Eub09g5KF9+Zn7+hT7sDxmhRuKA==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.25.7.tgz", + "integrity": "sha512-m9obYBA39mDPN7lJzD5WkGGb0GO54PPLXsbcnj1Hyeu8mSRz7Gb4b1A6zxNX32ZuUySDK4G6it8SDFWD1nCnqg==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-plugin-utils": "^7.25.7", "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" }, "engines": { @@ -1537,12 +1462,12 @@ } }, "node_modules/@babel/plugin-transform-optional-chaining": { - "version": "7.24.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.8.tgz", - "integrity": "sha512-5cTOLSMs9eypEy8JUVvIKOu6NgvbJMnpG62VpIHrTmROdQ+L5mDAaI40g25k5vXti55JWNX5jCkq3HZxXBQANw==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.25.7.tgz", + "integrity": "sha512-h39agClImgPWg4H8mYVAbD1qP9vClFbEjqoJmt87Zen8pjqK8FTPUwrOXAvqu5soytwxrLMd2fx2KSCp2CHcNg==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.8", - "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", + "@babel/helper-plugin-utils": "^7.25.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.7", "@babel/plugin-syntax-optional-chaining": "^7.8.3" }, "engines": { @@ -1553,11 +1478,11 @@ } }, "node_modules/@babel/plugin-transform-parameters": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.7.tgz", - "integrity": "sha512-yGWW5Rr+sQOhK0Ot8hjDJuxU3XLRQGflvT4lhlSY0DFvdb3TwKaY26CJzHtYllU0vT9j58hc37ndFPsqT1SrzA==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.25.7.tgz", + "integrity": "sha512-FYiTvku63me9+1Nz7TOx4YMtW3tWXzfANZtrzHhUZrz4d47EEtMQhzFoZWESfXuAMMT5mwzD4+y1N8ONAX6lMQ==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1567,12 +1492,12 @@ } }, "node_modules/@babel/plugin-transform-private-methods": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.24.7.tgz", - "integrity": "sha512-COTCOkG2hn4JKGEKBADkA8WNb35TGkkRbI5iT845dB+NyqgO8Hn+ajPbSnIQznneJTa3d30scb6iz/DhH8GsJQ==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.25.7.tgz", + "integrity": "sha512-KY0hh2FluNxMLwOCHbxVOKfdB5sjWG4M183885FmaqWWiGMhRZq4DQRKH6mHdEucbJnyDyYiZNwNG424RymJjA==", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-create-class-features-plugin": "^7.25.7", + "@babel/helper-plugin-utils": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1582,13 +1507,13 @@ } }, "node_modules/@babel/plugin-transform-private-property-in-object": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.7.tgz", - "integrity": "sha512-9z76mxwnwFxMyxZWEgdgECQglF2Q7cFLm0kMf8pGwt+GSJsY0cONKj/UuO4bOH0w/uAel3ekS4ra5CEAyJRmDA==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.25.7.tgz", + "integrity": "sha512-LzA5ESzBy7tqj00Yjey9yWfs3FKy4EmJyKOSWld144OxkTji81WWnUT8nkLUn+imN/zHL8ZQlOu/MTUAhHaX3g==", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.24.7", - "@babel/helper-create-class-features-plugin": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-annotate-as-pure": "^7.25.7", + "@babel/helper-create-class-features-plugin": "^7.25.7", + "@babel/helper-plugin-utils": "^7.25.7", "@babel/plugin-syntax-private-property-in-object": "^7.14.5" }, "engines": { @@ -1599,11 +1524,11 @@ } }, "node_modules/@babel/plugin-transform-property-literals": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.7.tgz", - "integrity": "sha512-EMi4MLQSHfd2nrCqQEWxFdha2gBCqU4ZcCng4WBGZ5CJL4bBRW0ptdqqDdeirGZcpALazVVNJqRmsO8/+oNCBA==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.25.7.tgz", + "integrity": "sha512-lQEeetGKfFi0wHbt8ClQrUSUMfEeI3MMm74Z73T9/kuz990yYVtfofjf3NuA42Jy3auFOpbjDyCSiIkTs1VIYw==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1613,11 +1538,11 @@ } }, "node_modules/@babel/plugin-transform-react-constant-elements": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.24.7.tgz", - "integrity": "sha512-7LidzZfUXyfZ8/buRW6qIIHBY8wAZ1OrY9c/wTr8YhZ6vMPo+Uc/CVFLYY1spZrEQlD4w5u8wjqk5NQ3OVqQKA==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.25.7.tgz", + "integrity": "sha512-/qXt69Em8HgsjCLu7G3zdIQn7A2QwmYND7Wa0LTp09Na+Zn8L5d0A7wSXrKi18TJRc/Q5S1i1De/SU1LzVkSvA==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1627,11 +1552,11 @@ } }, "node_modules/@babel/plugin-transform-react-display-name": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.24.7.tgz", - "integrity": "sha512-H/Snz9PFxKsS1JLI4dJLtnJgCJRoo0AUm3chP6NYr+9En1JMKloheEiLIhlp5MDVznWo+H3AAC1Mc8lmUEpsgg==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.25.7.tgz", + "integrity": "sha512-r0QY7NVU8OnrwE+w2IWiRom0wwsTbjx4+xH2RTd7AVdof3uurXOF+/mXHQDRk+2jIvWgSaCHKMgggfvM4dyUGA==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1641,15 +1566,15 @@ } }, "node_modules/@babel/plugin-transform-react-jsx": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.24.7.tgz", - "integrity": "sha512-+Dj06GDZEFRYvclU6k4bme55GKBEWUmByM/eoKuqg4zTNQHiApWRhQph5fxQB2wAEFvRzL1tOEj1RJ19wJrhoA==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.25.7.tgz", + "integrity": "sha512-vILAg5nwGlR9EXE8JIOX4NHXd49lrYbN8hnjffDtoULwpL9hUx/N55nqh2qd0q6FyNDfjl9V79ecKGvFbcSA0Q==", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.24.7", - "@babel/helper-module-imports": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/plugin-syntax-jsx": "^7.24.7", - "@babel/types": "^7.24.7" + "@babel/helper-annotate-as-pure": "^7.25.7", + "@babel/helper-module-imports": "^7.25.7", + "@babel/helper-plugin-utils": "^7.25.7", + "@babel/plugin-syntax-jsx": "^7.25.7", + "@babel/types": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1659,11 +1584,11 @@ } }, "node_modules/@babel/plugin-transform-react-jsx-development": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.24.7.tgz", - "integrity": "sha512-QG9EnzoGn+Qar7rxuW+ZOsbWOt56FvvI93xInqsZDC5fsekx1AlIO4KIJ5M+D0p0SqSH156EpmZyXq630B8OlQ==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.25.7.tgz", + "integrity": "sha512-5yd3lH1PWxzW6IZj+p+Y4OLQzz0/LzlOG8vGqonHfVR3euf1vyzyMUJk9Ac+m97BH46mFc/98t9PmYLyvgL3qg==", "dependencies": { - "@babel/plugin-transform-react-jsx": "^7.24.7" + "@babel/plugin-transform-react-jsx": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1673,12 +1598,12 @@ } }, "node_modules/@babel/plugin-transform-react-pure-annotations": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.24.7.tgz", - "integrity": "sha512-PLgBVk3fzbmEjBJ/u8kFzOqS9tUeDjiaWud/rRym/yjCo/M9cASPlnrd2ZmmZpQT40fOOrvR8jh+n8jikrOhNA==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.25.7.tgz", + "integrity": "sha512-6YTHJ7yjjgYqGc8S+CbEXhLICODk0Tn92j+vNJo07HFk9t3bjFgAKxPLFhHwF2NjmQVSI1zBRfBWUeVBa2osfA==", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-annotate-as-pure": "^7.25.7", + "@babel/helper-plugin-utils": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1688,11 +1613,11 @@ } }, "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.7.tgz", - "integrity": "sha512-lq3fvXPdimDrlg6LWBoqj+r/DEWgONuwjuOuQCSYgRroXDH/IdM1C0IZf59fL5cHLpjEH/O6opIRBbqv7ELnuA==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.25.7.tgz", + "integrity": "sha512-mgDoQCRjrY3XK95UuV60tZlFCQGXEtMg8H+IsW72ldw1ih1jZhzYXbJvghmAEpg5UVhhnCeia1CkGttUvCkiMQ==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-plugin-utils": "^7.25.7", "regenerator-transform": "^0.15.2" }, "engines": { @@ -1703,11 +1628,11 @@ } }, "node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.24.7.tgz", - "integrity": "sha512-0DUq0pHcPKbjFZCfTss/pGkYMfy3vFWydkUBd9r0GHpIyfs2eCDENvqadMycRS9wZCXR41wucAfJHJmwA0UmoQ==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.25.7.tgz", + "integrity": "sha512-3OfyfRRqiGeOvIWSagcwUTVk2hXBsr/ww7bLn6TRTuXnexA+Udov2icFOxFX9abaj4l96ooYkcNN1qi2Zvqwng==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1717,14 +1642,14 @@ } }, "node_modules/@babel/plugin-transform-runtime": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.24.7.tgz", - "integrity": "sha512-YqXjrk4C+a1kZjewqt+Mmu2UuV1s07y8kqcUf4qYLnoqemhR4gRQikhdAhSVJioMjVTu6Mo6pAbaypEA3jY6fw==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.25.7.tgz", + "integrity": "sha512-Y9p487tyTzB0yDYQOtWnC+9HGOuogtP3/wNpun1xJXEEvI6vip59BSBTsHnekZLqxmPcgsrAKt46HAAb//xGhg==", "dependencies": { - "@babel/helper-module-imports": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-module-imports": "^7.25.7", + "@babel/helper-plugin-utils": "^7.25.7", "babel-plugin-polyfill-corejs2": "^0.4.10", - "babel-plugin-polyfill-corejs3": "^0.10.1", + "babel-plugin-polyfill-corejs3": "^0.10.6", "babel-plugin-polyfill-regenerator": "^0.6.1", "semver": "^6.3.1" }, @@ -1744,11 +1669,11 @@ } }, "node_modules/@babel/plugin-transform-shorthand-properties": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.7.tgz", - "integrity": "sha512-KsDsevZMDsigzbA09+vacnLpmPH4aWjcZjXdyFKGzpplxhbeB4wYtury3vglQkg6KM/xEPKt73eCjPPf1PgXBA==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.25.7.tgz", + "integrity": "sha512-uBbxNwimHi5Bv3hUccmOFlUy3ATO6WagTApenHz9KzoIdn0XeACdB12ZJ4cjhuB2WSi80Ez2FWzJnarccriJeA==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1758,12 +1683,12 @@ } }, "node_modules/@babel/plugin-transform-spread": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.7.tgz", - "integrity": "sha512-x96oO0I09dgMDxJaANcRyD4ellXFLLiWhuwDxKZX5g2rWP1bTPkBSwCYv96VDXVT1bD9aPj8tppr5ITIh8hBng==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.25.7.tgz", + "integrity": "sha512-Mm6aeymI0PBh44xNIv/qvo8nmbkpZze1KvR8MkEqbIREDxoiWTi18Zr2jryfRMwDfVZF9foKh060fWgni44luw==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1773,11 +1698,11 @@ } }, "node_modules/@babel/plugin-transform-sticky-regex": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.7.tgz", - "integrity": "sha512-kHPSIJc9v24zEml5geKg9Mjx5ULpfncj0wRpYtxbvKyTtHCYDkVE3aHQ03FrpEo4gEe2vrJJS1Y9CJTaThA52g==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.25.7.tgz", + "integrity": "sha512-ZFAeNkpGuLnAQ/NCsXJ6xik7Id+tHuS+NT+ue/2+rn/31zcdnupCdmunOizEaP0JsUmTFSTOPoQY7PkK2pttXw==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1787,11 +1712,11 @@ } }, "node_modules/@babel/plugin-transform-template-literals": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.7.tgz", - "integrity": "sha512-AfDTQmClklHCOLxtGoP7HkeMw56k1/bTQjwsfhL6pppo/M4TOBSq+jjBUBLmV/4oeFg4GWMavIl44ZeCtmmZTw==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.25.7.tgz", + "integrity": "sha512-SI274k0nUsFFmyQupiO7+wKATAmMFf8iFgq2O+vVFXZ0SV9lNfT1NGzBEhjquFmD8I9sqHLguH+gZVN3vww2AA==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1801,11 +1726,11 @@ } }, "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.24.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.8.tgz", - "integrity": "sha512-adNTUpDCVnmAE58VEqKlAA6ZBlNkMnWD0ZcW76lyNFN3MJniyGFZfNwERVk8Ap56MCnXztmDr19T4mPTztcuaw==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.25.7.tgz", + "integrity": "sha512-OmWmQtTHnO8RSUbL0NTdtpbZHeNTnm68Gj5pA4Y2blFNh+V4iZR68V1qL9cI37J21ZN7AaCnkfdHtLExQPf2uA==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.8" + "@babel/helper-plugin-utils": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1815,14 +1740,15 @@ } }, "node_modules/@babel/plugin-transform-typescript": { - "version": "7.24.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.24.8.tgz", - "integrity": "sha512-CgFgtN61BbdOGCP4fLaAMOPkzWUh6yQZNMr5YSt8uz2cZSSiQONCQFWqsE4NeVfOIhqDOlS9CR3WD91FzMeB2Q==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.25.7.tgz", + "integrity": "sha512-VKlgy2vBzj8AmEzunocMun2fF06bsSWV+FvVXohtL6FGve/+L217qhHxRTVGHEDO/YR8IANcjzgJsd04J8ge5Q==", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.24.7", - "@babel/helper-create-class-features-plugin": "^7.24.8", - "@babel/helper-plugin-utils": "^7.24.8", - "@babel/plugin-syntax-typescript": "^7.24.7" + "@babel/helper-annotate-as-pure": "^7.25.7", + "@babel/helper-create-class-features-plugin": "^7.25.7", + "@babel/helper-plugin-utils": "^7.25.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.25.7", + "@babel/plugin-syntax-typescript": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1832,11 +1758,11 @@ } }, "node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.7.tgz", - "integrity": "sha512-U3ap1gm5+4edc2Q/P+9VrBNhGkfnf+8ZqppY71Bo/pzZmXhhLdqgaUl6cuB07O1+AQJtCLfaOmswiNbSQ9ivhw==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.25.7.tgz", + "integrity": "sha512-BN87D7KpbdiABA+t3HbVqHzKWUDN3dymLaTnPFAMyc8lV+KN3+YzNhVRNdinaCPA4AUqx7ubXbQ9shRjYBl3SQ==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1846,12 +1772,12 @@ } }, "node_modules/@babel/plugin-transform-unicode-property-regex": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.24.7.tgz", - "integrity": "sha512-uH2O4OV5M9FZYQrwc7NdVmMxQJOCCzFeYudlZSzUAHRFeOujQefa92E74TQDVskNHCzOXoigEuoyzHDhaEaK5w==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.25.7.tgz", + "integrity": "sha512-IWfR89zcEPQGB/iB408uGtSPlQd3Jpq11Im86vUgcmSTcoWAiQMCTOa2K2yNNqFJEBVICKhayctee65Ka8OB0w==", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-create-regexp-features-plugin": "^7.25.7", + "@babel/helper-plugin-utils": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1861,12 +1787,12 @@ } }, "node_modules/@babel/plugin-transform-unicode-regex": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.7.tgz", - "integrity": "sha512-hlQ96MBZSAXUq7ltkjtu3FJCCSMx/j629ns3hA3pXnBXjanNP0LHi+JpPeA81zaWgVK1VGH95Xuy7u0RyQ8kMg==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.25.7.tgz", + "integrity": "sha512-8JKfg/hiuA3qXnlLx8qtv5HWRbgyFx2hMMtpDDuU2rTckpKkGu4ycK5yYHwuEa16/quXfoxHBIApEsNyMWnt0g==", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-create-regexp-features-plugin": "^7.25.7", + "@babel/helper-plugin-utils": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1876,12 +1802,12 @@ } }, "node_modules/@babel/plugin-transform-unicode-sets-regex": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.24.7.tgz", - "integrity": "sha512-2G8aAvF4wy1w/AGZkemprdGMRg5o6zPNhbHVImRz3lss55TYCBd6xStN19rt8XJHq20sqV0JbyWjOWwQRwV/wg==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.25.7.tgz", + "integrity": "sha512-YRW8o9vzImwmh4Q3Rffd09bH5/hvY0pxg+1H1i0f7APoUeg12G7+HhLj9ZFNIrYkgBXhIijPJ+IXypN0hLTIbw==", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.7" + "@babel/helper-create-regexp-features-plugin": "^7.25.7", + "@babel/helper-plugin-utils": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -1891,26 +1817,27 @@ } }, "node_modules/@babel/preset-env": { - "version": "7.24.8", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.24.8.tgz", - "integrity": "sha512-vObvMZB6hNWuDxhSaEPTKCwcqkAIuDtE+bQGn4XMXne1DSLzFVY8Vmj1bm+mUQXYNN8NmaQEO+r8MMbzPr1jBQ==", - "dependencies": { - "@babel/compat-data": "^7.24.8", - "@babel/helper-compilation-targets": "^7.24.8", - "@babel/helper-plugin-utils": "^7.24.8", - "@babel/helper-validator-option": "^7.24.8", - "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.24.7", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.24.7", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.24.7", - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.24.7", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.25.7.tgz", + "integrity": "sha512-Gibz4OUdyNqqLj+7OAvBZxOD7CklCtMA5/j0JgUEwOnaRULsPDXmic2iKxL2DX2vQduPR5wH2hjZas/Vr/Oc0g==", + "dependencies": { + "@babel/compat-data": "^7.25.7", + "@babel/helper-compilation-targets": "^7.25.7", + "@babel/helper-plugin-utils": "^7.25.7", + "@babel/helper-validator-option": "^7.25.7", + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.25.7", + "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.25.7", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.25.7", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.25.7", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.25.7", "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-class-properties": "^7.12.13", "@babel/plugin-syntax-class-static-block": "^7.14.5", "@babel/plugin-syntax-dynamic-import": "^7.8.3", "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-import-assertions": "^7.24.7", - "@babel/plugin-syntax-import-attributes": "^7.24.7", + "@babel/plugin-syntax-import-assertions": "^7.25.7", + "@babel/plugin-syntax-import-attributes": "^7.25.7", "@babel/plugin-syntax-import-meta": "^7.10.4", "@babel/plugin-syntax-json-strings": "^7.8.3", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", @@ -1922,59 +1849,60 @@ "@babel/plugin-syntax-private-property-in-object": "^7.14.5", "@babel/plugin-syntax-top-level-await": "^7.14.5", "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", - "@babel/plugin-transform-arrow-functions": "^7.24.7", - "@babel/plugin-transform-async-generator-functions": "^7.24.7", - "@babel/plugin-transform-async-to-generator": "^7.24.7", - "@babel/plugin-transform-block-scoped-functions": "^7.24.7", - "@babel/plugin-transform-block-scoping": "^7.24.7", - "@babel/plugin-transform-class-properties": "^7.24.7", - "@babel/plugin-transform-class-static-block": "^7.24.7", - "@babel/plugin-transform-classes": "^7.24.8", - "@babel/plugin-transform-computed-properties": "^7.24.7", - "@babel/plugin-transform-destructuring": "^7.24.8", - "@babel/plugin-transform-dotall-regex": "^7.24.7", - "@babel/plugin-transform-duplicate-keys": "^7.24.7", - "@babel/plugin-transform-dynamic-import": "^7.24.7", - "@babel/plugin-transform-exponentiation-operator": "^7.24.7", - "@babel/plugin-transform-export-namespace-from": "^7.24.7", - "@babel/plugin-transform-for-of": "^7.24.7", - "@babel/plugin-transform-function-name": "^7.24.7", - "@babel/plugin-transform-json-strings": "^7.24.7", - "@babel/plugin-transform-literals": "^7.24.7", - "@babel/plugin-transform-logical-assignment-operators": "^7.24.7", - "@babel/plugin-transform-member-expression-literals": "^7.24.7", - "@babel/plugin-transform-modules-amd": "^7.24.7", - "@babel/plugin-transform-modules-commonjs": "^7.24.8", - "@babel/plugin-transform-modules-systemjs": "^7.24.7", - "@babel/plugin-transform-modules-umd": "^7.24.7", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.24.7", - "@babel/plugin-transform-new-target": "^7.24.7", - "@babel/plugin-transform-nullish-coalescing-operator": "^7.24.7", - "@babel/plugin-transform-numeric-separator": "^7.24.7", - "@babel/plugin-transform-object-rest-spread": "^7.24.7", - "@babel/plugin-transform-object-super": "^7.24.7", - "@babel/plugin-transform-optional-catch-binding": "^7.24.7", - "@babel/plugin-transform-optional-chaining": "^7.24.8", - "@babel/plugin-transform-parameters": "^7.24.7", - "@babel/plugin-transform-private-methods": "^7.24.7", - "@babel/plugin-transform-private-property-in-object": "^7.24.7", - "@babel/plugin-transform-property-literals": "^7.24.7", - "@babel/plugin-transform-regenerator": "^7.24.7", - "@babel/plugin-transform-reserved-words": "^7.24.7", - "@babel/plugin-transform-shorthand-properties": "^7.24.7", - "@babel/plugin-transform-spread": "^7.24.7", - "@babel/plugin-transform-sticky-regex": "^7.24.7", - "@babel/plugin-transform-template-literals": "^7.24.7", - "@babel/plugin-transform-typeof-symbol": "^7.24.8", - "@babel/plugin-transform-unicode-escapes": "^7.24.7", - "@babel/plugin-transform-unicode-property-regex": "^7.24.7", - "@babel/plugin-transform-unicode-regex": "^7.24.7", - "@babel/plugin-transform-unicode-sets-regex": "^7.24.7", + "@babel/plugin-transform-arrow-functions": "^7.25.7", + "@babel/plugin-transform-async-generator-functions": "^7.25.7", + "@babel/plugin-transform-async-to-generator": "^7.25.7", + "@babel/plugin-transform-block-scoped-functions": "^7.25.7", + "@babel/plugin-transform-block-scoping": "^7.25.7", + "@babel/plugin-transform-class-properties": "^7.25.7", + "@babel/plugin-transform-class-static-block": "^7.25.7", + "@babel/plugin-transform-classes": "^7.25.7", + "@babel/plugin-transform-computed-properties": "^7.25.7", + "@babel/plugin-transform-destructuring": "^7.25.7", + "@babel/plugin-transform-dotall-regex": "^7.25.7", + "@babel/plugin-transform-duplicate-keys": "^7.25.7", + "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.25.7", + "@babel/plugin-transform-dynamic-import": "^7.25.7", + "@babel/plugin-transform-exponentiation-operator": "^7.25.7", + "@babel/plugin-transform-export-namespace-from": "^7.25.7", + "@babel/plugin-transform-for-of": "^7.25.7", + "@babel/plugin-transform-function-name": "^7.25.7", + "@babel/plugin-transform-json-strings": "^7.25.7", + "@babel/plugin-transform-literals": "^7.25.7", + "@babel/plugin-transform-logical-assignment-operators": "^7.25.7", + "@babel/plugin-transform-member-expression-literals": "^7.25.7", + "@babel/plugin-transform-modules-amd": "^7.25.7", + "@babel/plugin-transform-modules-commonjs": "^7.25.7", + "@babel/plugin-transform-modules-systemjs": "^7.25.7", + "@babel/plugin-transform-modules-umd": "^7.25.7", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.25.7", + "@babel/plugin-transform-new-target": "^7.25.7", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.25.7", + "@babel/plugin-transform-numeric-separator": "^7.25.7", + "@babel/plugin-transform-object-rest-spread": "^7.25.7", + "@babel/plugin-transform-object-super": "^7.25.7", + "@babel/plugin-transform-optional-catch-binding": "^7.25.7", + "@babel/plugin-transform-optional-chaining": "^7.25.7", + "@babel/plugin-transform-parameters": "^7.25.7", + "@babel/plugin-transform-private-methods": "^7.25.7", + "@babel/plugin-transform-private-property-in-object": "^7.25.7", + "@babel/plugin-transform-property-literals": "^7.25.7", + "@babel/plugin-transform-regenerator": "^7.25.7", + "@babel/plugin-transform-reserved-words": "^7.25.7", + "@babel/plugin-transform-shorthand-properties": "^7.25.7", + "@babel/plugin-transform-spread": "^7.25.7", + "@babel/plugin-transform-sticky-regex": "^7.25.7", + "@babel/plugin-transform-template-literals": "^7.25.7", + "@babel/plugin-transform-typeof-symbol": "^7.25.7", + "@babel/plugin-transform-unicode-escapes": "^7.25.7", + "@babel/plugin-transform-unicode-property-regex": "^7.25.7", + "@babel/plugin-transform-unicode-regex": "^7.25.7", + "@babel/plugin-transform-unicode-sets-regex": "^7.25.7", "@babel/preset-modules": "0.1.6-no-external-plugins", "babel-plugin-polyfill-corejs2": "^0.4.10", - "babel-plugin-polyfill-corejs3": "^0.10.4", + "babel-plugin-polyfill-corejs3": "^0.10.6", "babel-plugin-polyfill-regenerator": "^0.6.1", - "core-js-compat": "^3.37.1", + "core-js-compat": "^3.38.1", "semver": "^6.3.1" }, "engines": { @@ -1984,6 +1912,17 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/preset-env/node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0-placeholder-for-preset-env.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", + "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, "node_modules/@babel/preset-env/node_modules/semver": { "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", @@ -2014,16 +1953,16 @@ } }, "node_modules/@babel/preset-react": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.24.7.tgz", - "integrity": "sha512-AAH4lEkpmzFWrGVlHaxJB7RLH21uPQ9+He+eFLWHmF9IuFQVugz8eAsamaW0DXRrTfco5zj1wWtpdcXJUOfsag==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.25.7.tgz", + "integrity": "sha512-GjV0/mUEEXpi1U5ZgDprMRRgajGMRW3G5FjMr5KLKD8nT2fTG8+h/klV3+6Dm5739QE+K5+2e91qFKAYI3pmRg==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/helper-validator-option": "^7.24.7", - "@babel/plugin-transform-react-display-name": "^7.24.7", - "@babel/plugin-transform-react-jsx": "^7.24.7", - "@babel/plugin-transform-react-jsx-development": "^7.24.7", - "@babel/plugin-transform-react-pure-annotations": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.7", + "@babel/helper-validator-option": "^7.25.7", + "@babel/plugin-transform-react-display-name": "^7.25.7", + "@babel/plugin-transform-react-jsx": "^7.25.7", + "@babel/plugin-transform-react-jsx-development": "^7.25.7", + "@babel/plugin-transform-react-pure-annotations": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -2033,15 +1972,15 @@ } }, "node_modules/@babel/preset-typescript": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.24.7.tgz", - "integrity": "sha512-SyXRe3OdWwIwalxDg5UtJnJQO+YPcTfwiIY2B0Xlddh9o7jpWLvv8X1RthIeDOxQ+O1ML5BLPCONToObyVQVuQ==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.25.7.tgz", + "integrity": "sha512-rkkpaXJZOFN45Fb+Gki0c+KMIglk4+zZXOoMJuyEK8y8Kkc8Jd3BDmP7qPsz0zQMJj+UD7EprF+AqAXcILnexw==", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7", - "@babel/helper-validator-option": "^7.24.7", - "@babel/plugin-syntax-jsx": "^7.24.7", - "@babel/plugin-transform-modules-commonjs": "^7.24.7", - "@babel/plugin-transform-typescript": "^7.24.7" + "@babel/helper-plugin-utils": "^7.25.7", + "@babel/helper-validator-option": "^7.25.7", + "@babel/plugin-syntax-jsx": "^7.25.7", + "@babel/plugin-transform-modules-commonjs": "^7.25.7", + "@babel/plugin-transform-typescript": "^7.25.7" }, "engines": { "node": ">=6.9.0" @@ -2050,15 +1989,10 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/regjsgen": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", - "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==" - }, "node_modules/@babel/runtime": { - "version": "7.24.8", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.8.tgz", - "integrity": "sha512-5F7SDGs1T72ZczbRwbGO9lQi0NLjQxzl6i4lJxLxfW9U5UluCSyEJeniWvnhl3/euNiqQVbo8zruhsDfid0esA==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.25.7.tgz", + "integrity": "sha512-FjoyLe754PMiYsFaN5C94ttGiOmBNYTf6pLr4xXHAT5uctHb092PBszndLDR5XA/jghQvn4n7JMHl7dmTgbm9w==", "dependencies": { "regenerator-runtime": "^0.14.0" }, @@ -2067,31 +2001,40 @@ } }, "node_modules/@babel/template": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.7.tgz", - "integrity": "sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.7.tgz", + "integrity": "sha512-wRwtAgI3bAS+JGU2upWNL9lSlDcRCqD05BZ1n3X2ONLH1WilFP6O1otQjeMK/1g0pvYcXC7b/qVUB1keofjtZA==", "dependencies": { - "@babel/code-frame": "^7.24.7", - "@babel/parser": "^7.24.7", - "@babel/types": "^7.24.7" + "@babel/code-frame": "^7.25.7", + "@babel/parser": "^7.25.7", + "@babel/types": "^7.25.7" }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/traverse": { - "version": "7.24.8", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.8.tgz", - "integrity": "sha512-t0P1xxAPzEDcEPmjprAQq19NWum4K0EQPjMwZQZbHt+GiZqvjCHjj755Weq1YRPVzBI+3zSfvScfpnuIecVFJQ==", + "node_modules/@babel/template/node_modules/@babel/code-frame": { + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.25.7.tgz", + "integrity": "sha512-0xZJFNE5XMpENsgfHYTw8FbX4kv53mFLn2i3XPoq69LyhYSCBJtitaHx9QnsVTrsogI4Z3+HtEfZ2/GFPOtf5g==", "dependencies": { - "@babel/code-frame": "^7.24.7", - "@babel/generator": "^7.24.8", - "@babel/helper-environment-visitor": "^7.24.7", - "@babel/helper-function-name": "^7.24.7", - "@babel/helper-hoist-variables": "^7.24.7", - "@babel/helper-split-export-declaration": "^7.24.7", - "@babel/parser": "^7.24.8", - "@babel/types": "^7.24.8", + "@babel/highlight": "^7.25.7", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.7.tgz", + "integrity": "sha512-jatJPT1Zjqvh/1FyJs6qAHL+Dzb7sTb+xr7Q+gM1b+1oBsMsQQ4FkVKb6dFlJvLlVssqkRzV05Jzervt9yhnzg==", + "dependencies": { + "@babel/code-frame": "^7.25.7", + "@babel/generator": "^7.25.7", + "@babel/parser": "^7.25.7", + "@babel/template": "^7.25.7", + "@babel/types": "^7.25.7", "debug": "^4.3.1", "globals": "^11.1.0" }, @@ -2099,13 +2042,25 @@ "node": ">=6.9.0" } }, + "node_modules/@babel/traverse/node_modules/@babel/code-frame": { + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.25.7.tgz", + "integrity": "sha512-0xZJFNE5XMpENsgfHYTw8FbX4kv53mFLn2i3XPoq69LyhYSCBJtitaHx9QnsVTrsogI4Z3+HtEfZ2/GFPOtf5g==", + "dependencies": { + "@babel/highlight": "^7.25.7", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/types": { - "version": "7.24.9", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.9.tgz", - "integrity": "sha512-xm8XrMKz0IlUdocVbYJe0Z9xEgidU7msskG8BbhnTPK/HZ2z/7FP7ykqPgrUH+C+r414mNfNWam1f2vqOjqjYQ==", + "version": "7.25.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.7.tgz", + "integrity": "sha512-vwIVdXG+j+FOpkwqHRcBgHLYNL7XMkufrlaFvL9o6Ai9sJn9+PdyIL5qa0XzTZw084c+u9LOls53eoZWP/W5WQ==", "dependencies": { - "@babel/helper-string-parser": "^7.24.8", - "@babel/helper-validator-identifier": "^7.24.7", + "@babel/helper-string-parser": "^7.25.7", + "@babel/helper-validator-identifier": "^7.25.7", "to-fast-properties": "^2.0.0" }, "engines": { @@ -2402,9 +2357,9 @@ } }, "node_modules/@eslint-community/regexpp": { - "version": "4.11.0", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.0.tgz", - "integrity": "sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==", + "version": "4.11.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.1.tgz", + "integrity": "sha512-m4DVN9ZqskZoLU5GlWZadwDnYo3vAEydiUayB9widCl9ffWx2IvPnp6n3on5rJmziJSw9Bv+Z3ChDVdMwXCY8Q==", "engines": { "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } @@ -2473,20 +2428,20 @@ } }, "node_modules/@eslint/js": { - "version": "8.57.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", - "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz", + "integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, "node_modules/@humanwhocodes/config-array": { - "version": "0.11.14", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", - "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz", + "integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==", "deprecated": "Use @eslint/config-array instead", "dependencies": { - "@humanwhocodes/object-schema": "^2.0.2", + "@humanwhocodes/object-schema": "^2.0.3", "debug": "^4.3.1", "minimatch": "^3.0.5" }, @@ -2529,9 +2484,9 @@ } }, "node_modules/@isaacs/cliui/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", "engines": { "node": ">=12" }, @@ -2643,14 +2598,78 @@ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/@jest/core": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-27.5.1.tgz", - "integrity": "sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==", + "node_modules/@jest/console/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dependencies": { - "@jest/console": "^27.5.1", - "@jest/reporters": "^27.5.1", - "@jest/test-result": "^27.5.1", + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/console/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@jest/console/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@jest/console/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/@jest/console/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/console/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/core": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-27.5.1.tgz", + "integrity": "sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==", + "dependencies": { + "@jest/console": "^27.5.1", + "@jest/reporters": "^27.5.1", + "@jest/test-result": "^27.5.1", "@jest/transform": "^27.5.1", "@jest/types": "^27.5.1", "@types/node": "*", @@ -2689,6 +2708,70 @@ } } }, + "node_modules/@jest/core/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/core/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@jest/core/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@jest/core/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/@jest/core/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/core/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/@jest/environment": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.5.1.tgz", @@ -2775,6 +2858,59 @@ } } }, + "node_modules/@jest/reporters/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/reporters/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@jest/reporters/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@jest/reporters/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/@jest/reporters/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, "node_modules/@jest/reporters/node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -2783,6 +2919,17 @@ "node": ">=0.10.0" } }, + "node_modules/@jest/reporters/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/@jest/schemas": { "version": "28.1.3", "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz", @@ -2868,11 +3015,64 @@ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, + "node_modules/@jest/transform/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/transform/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@jest/transform/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@jest/transform/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, "node_modules/@jest/transform/node_modules/convert-source-map": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" }, + "node_modules/@jest/transform/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, "node_modules/@jest/transform/node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -2881,6 +3081,17 @@ "node": ">=0.10.0" } }, + "node_modules/@jest/transform/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/@jest/types": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", @@ -2896,23 +3107,87 @@ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", - "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "node_modules/@jest/types/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dependencies": { - "@jridgewell/set-array": "^1.2.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.24" + "color-convert": "^2.0.1" }, "engines": { - "node": ">=6.0.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "node_modules/@jest/types/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@jest/types/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@jest/types/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/@jest/types/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/types/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "dependencies": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", "engines": { "node": ">=6.0.0" } @@ -3078,9 +3353,9 @@ } }, "node_modules/@remix-run/router": { - "version": "1.18.0", - "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.18.0.tgz", - "integrity": "sha512-L3jkqmqoSVBVKHfpGZmLrex0lxR5SucGA0sUfFzGctehw+S/ggL9L/0NnC5mw6P8HUWpFZ3nQw3cRApjjWx9Sw==", + "version": "1.19.2", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.19.2.tgz", + "integrity": "sha512-baiMx18+IMuD1yyvOGaHM9QrVUPGGG0jC+z+IPHnRJWUAUvaKuWKyE8gjDj2rzv3sz9zOGoRSPgeBVHRhZnBlA==", "engines": { "node": ">=14.0.0" } @@ -3175,10 +3450,15 @@ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==" }, + "node_modules/@rtsao/scc": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz", + "integrity": "sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==" + }, "node_modules/@rushstack/eslint-patch": { - "version": "1.10.3", - "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.10.3.tgz", - "integrity": "sha512-qC/xYId4NMebE6w/V33Fh9gWxLgURiNYgVNObbJl2LZv0GUUItCcCqC5axQSwRaAgaxl2mELq1rMzlswaQ0Zxg==" + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.10.4.tgz", + "integrity": "sha512-WJgX9nzTqknM393q1QJDJmoW28kUfEnybeTfVNcNAPnIx210RXm2DiXiHzfNPJNIUUb1tJnz/l4QGtJ30PgWmA==" }, "node_modules/@sinclair/typebox": { "version": "0.24.51", @@ -3507,27 +3787,18 @@ } }, "node_modules/@types/eslint": { - "version": "8.56.11", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.11.tgz", - "integrity": "sha512-sVBpJMf7UPo/wGecYOpk2aQya2VUGeHhe38WG7/mN5FufNSubf5VT9Uh9Uyp8/eLJpu1/tuhJ/qTo4mhSB4V4Q==", + "version": "8.56.12", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.12.tgz", + "integrity": "sha512-03ruubjWyOHlmljCVoxSuNDdmfZDzsrrz0P2LeJsOXr+ZwFQ+0yQIwNCwt/GYhV7Z31fgtXJTAEs+FYlEL851g==", "dependencies": { "@types/estree": "*", "@types/json-schema": "*" } }, - "node_modules/@types/eslint-scope": { - "version": "3.7.7", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", - "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", - "dependencies": { - "@types/eslint": "*", - "@types/estree": "*" - } - }, "node_modules/@types/estree": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", - "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==" + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", + "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==" }, "node_modules/@types/express": { "version": "4.17.21", @@ -3541,9 +3812,20 @@ } }, "node_modules/@types/express-serve-static-core": { - "version": "4.19.5", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.5.tgz", - "integrity": "sha512-y6W03tvrACO72aijJ5uF02FRq5cgDR9lUxddQ8vyF+GvmjJQqbzDcJngEjURc+ZsG31VI3hODNZJ2URj86pzmg==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-5.0.0.tgz", + "integrity": "sha512-AbXMTZGt40T+KON9/Fdxx0B2WK5hsgxcfXJLr5bFpZ7b4JCex2WyQPTEKdXqfHiY5nKKBScZ7yCoO6Pvgxfvnw==", + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } + }, + "node_modules/@types/express/node_modules/@types/express-serve-static-core": { + "version": "4.19.6", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.6.tgz", + "integrity": "sha512-N4LZ2xG7DatVqhCZzOGb1Yi5lMbXSZcmdLDe9EzSndPV2HpWYWzRbaerl2n27irrm94EPpprqa8KpskPT085+A==", "dependencies": { "@types/node": "*", "@types/qs": "*", @@ -3570,9 +3852,9 @@ "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==" }, "node_modules/@types/http-proxy": { - "version": "1.17.14", - "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.14.tgz", - "integrity": "sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==", + "version": "1.17.15", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.15.tgz", + "integrity": "sha512-25g5atgiVNTIv0LBDTg1H74Hvayx0ajtJPLLcYE3whFv75J0pWNtOBzaXJQgDTmrX1bx5U9YC2w/n65BN1HwRQ==", "dependencies": { "@types/node": "*" } @@ -3614,11 +3896,11 @@ "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==" }, "node_modules/@types/node": { - "version": "20.14.12", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.12.tgz", - "integrity": "sha512-r7wNXakLeSsGT0H1AU863vS2wa5wBOK4bWMjZz2wj+8nBx+m5PeIn0k8AloSLpRuiwdRQZwarZqHE4FNArPuJQ==", + "version": "22.7.4", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.7.4.tgz", + "integrity": "sha512-y+NPi1rFzDs1NdQHHToqeiX2TIS79SWEAw9GYhkkx8bD0ChpfqC+n2j5OXOCpzfojBEBt6DnEnnG9MY0zk1XLg==", "dependencies": { - "undici-types": "~5.26.4" + "undici-types": "~6.19.2" } }, "node_modules/@types/node-forge": { @@ -3645,9 +3927,9 @@ "integrity": "sha512-hroOstUScF6zhIi+5+x0dzqrHA1EJi+Irri6b1fxolMTqqHIV/Cg77EtnQcZqZCu8hR3mX2BzIxN4/GzI68Kfw==" }, "node_modules/@types/qs": { - "version": "6.9.15", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.15.tgz", - "integrity": "sha512-uXHQKES6DQKKCLh441Xv/dwxOq1TVS3JPUMlEqoEglvlhR6Mxnlew/Xq/LRVHpLyk7iK3zODe1qYHIMltO7XGg==" + "version": "6.9.16", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.16.tgz", + "integrity": "sha512-7i+zxXdPD0T4cKDuxCUXJ4wHcsJLwENa6Z3dCu8cfCK743OGy5Nu1RmAGqDPsoTDINVEcdXKRvR/zre+P2Ku1A==" }, "node_modules/@types/range-parser": { "version": "1.2.7", @@ -3718,9 +4000,9 @@ "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==" }, "node_modules/@types/ws": { - "version": "8.5.11", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.11.tgz", - "integrity": "sha512-4+q7P5h3SpJxaBft0Dzpbr6lmMaqh0Jr2tbhJZ/luAwvD7ohSCniYkwz/pLxuT2h0EOa6QADgJj1Ko+TzRfZ+w==", + "version": "8.5.12", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.12.tgz", + "integrity": "sha512-3tPRkv1EtkDpzlgyKyI8pGsGZAGPEaXeu0DOj5DI25Ja91bdAYddYHbADRYVrZMRbfW+1l5YwXVDKohDJNQxkQ==", "dependencies": { "@types/node": "*" } @@ -4319,17 +4601,14 @@ } }, "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dependencies": { - "color-convert": "^2.0.1" + "color-convert": "^1.9.0" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">=4" } }, "node_modules/any-promise": { @@ -4410,11 +4689,25 @@ } }, "node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==", + "dev": true, + "dependencies": { + "array-uniq": "^1.0.1" + }, "engines": { - "node": ">=8" + "node": ">=0.10.0" + } + }, + "node_modules/array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" } }, "node_modules/array.prototype.findlast": { @@ -4592,9 +4885,9 @@ } }, "node_modules/autoprefixer": { - "version": "10.4.19", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.19.tgz", - "integrity": "sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==", + "version": "10.4.20", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.20.tgz", + "integrity": "sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==", "funding": [ { "type": "opencollective", @@ -4610,11 +4903,11 @@ } ], "dependencies": { - "browserslist": "^4.23.0", - "caniuse-lite": "^1.0.30001599", + "browserslist": "^4.23.3", + "caniuse-lite": "^1.0.30001646", "fraction.js": "^4.3.7", "normalize-range": "^0.1.2", - "picocolors": "^1.0.0", + "picocolors": "^1.0.1", "postcss-value-parser": "^4.2.0" }, "bin": { @@ -4642,42 +4935,19 @@ } }, "node_modules/axe-core": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.9.1.tgz", - "integrity": "sha512-QbUdXJVTpvUTHU7871ppZkdOLBeGUKBQWHkHrvN2V9IQWGMt61zf3B45BtzjxEJzYuj0JBjBZP/hmYS/R9pmAw==", + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.10.0.tgz", + "integrity": "sha512-Mr2ZakwQ7XUAjp7pAwQWRhhK8mQQ6JAaNWSjmjxil0R8BPioMtQsTLOolGYkji1rcL++3dCqZA3zWqpT+9Ew6g==", "engines": { "node": ">=4" } }, - "node_modules/axios": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.2.tgz", - "integrity": "sha512-2A8QhOMrbomlDuiLeK9XibIBzuHeRcqqNOHp0Cyp5EoJ1IFDh+XZH3A6BkXtv0K4gFGCI0Y4BM7B1wOEi0Rmgw==", - "dependencies": { - "follow-redirects": "^1.15.6", - "form-data": "^4.0.0", - "proxy-from-env": "^1.1.0" - } - }, - "node_modules/axios/node_modules/form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/axobject-query": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.1.1.tgz", - "integrity": "sha512-goKlv8DZrK9hUh975fnHzhNIO4jUnFCfv/dszV5VwUGDFjI6vQ2VwoyjYjYNEbBE8AH87TduWP5uyDR1D+Iteg==", - "dependencies": { - "deep-equal": "^2.0.5" + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz", + "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==", + "engines": { + "node": ">= 0.4" } }, "node_modules/babel-jest": { @@ -4701,13 +4971,77 @@ "@babel/core": "^7.8.0" } }, + "node_modules/babel-jest/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/babel-jest/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/babel-jest/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/babel-jest/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/babel-jest/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-jest/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/babel-loader": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.3.0.tgz", - "integrity": "sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q==", + "version": "8.4.1", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.4.1.tgz", + "integrity": "sha512-nXzRChX+Z1GoE6yWavBQg6jDslyFF3SDjl2paADuoQtQW10JqShJt62R6eJQ5m/pjJFDT8xgKIWSP85OY8eXeA==", "dependencies": { "find-cache-dir": "^3.3.1", - "loader-utils": "^2.0.0", + "loader-utils": "^2.0.4", "make-dir": "^3.1.0", "schema-utils": "^2.6.5" }, @@ -4825,12 +5159,12 @@ } }, "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.10.4", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.4.tgz", - "integrity": "sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==", + "version": "0.10.6", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.6.tgz", + "integrity": "sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA==", "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.6.1", - "core-js-compat": "^3.36.1" + "@babel/helper-define-polyfill-provider": "^0.6.2", + "core-js-compat": "^3.38.0" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" @@ -4853,22 +5187,25 @@ "integrity": "sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==" }, "node_modules/babel-preset-current-node-syntax": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", - "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.1.0.tgz", + "integrity": "sha512-ldYss8SbBlWva1bs28q78Ju5Zq1F+8BrqBZZ0VFhLBvhh6lCpC2o3gDJi/5DRLs9FgYZCnmPYIVFU4lRXCkyUw==", "dependencies": { "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-bigint": "^7.8.3", - "@babel/plugin-syntax-class-properties": "^7.8.3", - "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-import-attributes": "^7.24.7", + "@babel/plugin-syntax-import-meta": "^7.10.4", "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", "@babel/plugin-syntax-object-rest-spread": "^7.8.3", "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-top-level-await": "^7.8.3" + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5" }, "peerDependencies": { "@babel/core": "^7.0.0" @@ -4962,9 +5299,9 @@ "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" }, "node_modules/body-parser": { - "version": "1.20.2", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", - "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", + "version": "1.20.3", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", + "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", "dependencies": { "bytes": "3.1.2", "content-type": "~1.0.5", @@ -4974,7 +5311,7 @@ "http-errors": "2.0.0", "iconv-lite": "0.4.24", "on-finished": "2.4.1", - "qs": "6.11.0", + "qs": "6.13.0", "raw-body": "2.5.2", "type-is": "~1.6.18", "unpipe": "1.0.0" @@ -5074,9 +5411,9 @@ } }, "node_modules/browserslist": { - "version": "4.23.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.2.tgz", - "integrity": "sha512-qkqSyistMYdxAcw+CzbZwlBy8AGmS/eEWs+sEV5TnLRGDOL+C5M2EnH6tlZyg0YoAxGJAFKh61En9BR941GnHA==", + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.0.tgz", + "integrity": "sha512-Rmb62sR1Zpjql25eSanFGEhAxcFwfA1K0GuQcLoaJBAcENegrQut3hYdhXFF1obQfiDyqIW/cLM5HSJ/9k884A==", "funding": [ { "type": "opencollective", @@ -5092,9 +5429,9 @@ } ], "dependencies": { - "caniuse-lite": "^1.0.30001640", - "electron-to-chromium": "^1.4.820", - "node-releases": "^2.0.14", + "caniuse-lite": "^1.0.30001663", + "electron-to-chromium": "^1.5.28", + "node-releases": "^2.0.18", "update-browserslist-db": "^1.1.0" }, "bin": { @@ -5202,9 +5539,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001643", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001643.tgz", - "integrity": "sha512-ERgWGNleEilSrHM6iUz/zJNSQTP8Mr21wDWpdgvRwcTXGAq6jMtOUPP4dqFPTdKqZ2wKTdtB+uucZ3MRpAUSmg==", + "version": "1.0.30001667", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001667.tgz", + "integrity": "sha512-7LTwJjcRkzKFmtqGsibMeuXmvFDfZq/nzIjnmgCGzKKRVzjD72selLDK1oPF/Oxzmt4fNcPvTDvGqSDG4tCALw==", "funding": [ { "type": "opencollective", @@ -5229,29 +5566,16 @@ } }, "node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/chalk/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dependencies": { - "has-flag": "^4.0.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" }, "engines": { - "node": ">=8" + "node": ">=4" } }, "node_modules/char-regex": { @@ -5324,9 +5648,9 @@ } }, "node_modules/cjs-module-lexer": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.3.1.tgz", - "integrity": "sha512-a3KdPAANPbNE4ZUv9h6LckSl9zLsYOP4MBmhIPkRaeyybt+r4UghLvq+xw/YwUcC1gqylCkL4rdVs3Lwupjm4Q==" + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.4.1.tgz", + "integrity": "sha512-cuSVIHi9/9E/+821Qjdvngor+xpnlwnuwIyZOaLmHBVdXL+gP+I6QQB9VkO7RI77YIcTV+S1W9AreJ5eN63JBA==" }, "node_modules/classnames": { "version": "2.5.1", @@ -5353,17 +5677,13 @@ } }, "node_modules/cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "dev": true, + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", "dependencies": { "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", + "strip-ansi": "^6.0.0", "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=12" } }, "node_modules/co": { @@ -5388,91 +5708,24 @@ "node": ">= 4.0" } }, - "node_modules/coa/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "node_modules/collect-v8-coverage": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", + "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==" + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" + "color-name": "1.1.3" } }, - "node_modules/coa/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/coa/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/coa/node_modules/color-name": { + "node_modules/color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" }, - "node_modules/coa/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/coa/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "engines": { - "node": ">=4" - } - }, - "node_modules/coa/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/collect-v8-coverage": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", - "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==" - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, "node_modules/colord": { "version": "2.9.3", "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", @@ -5566,33 +5819,6 @@ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" }, - "node_modules/concurrently": { - "version": "8.2.2", - "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-8.2.2.tgz", - "integrity": "sha512-1dP4gpXFhei8IOtlXRE/T/4H88ElHgTiUzh71YUmtjTEHMSRS2Z/fgOxHSxxusGHogsRfxNq1vyAwxSC+EVyDg==", - "dev": true, - "dependencies": { - "chalk": "^4.1.2", - "date-fns": "^2.30.0", - "lodash": "^4.17.21", - "rxjs": "^7.8.1", - "shell-quote": "^1.8.1", - "spawn-command": "0.0.2", - "supports-color": "^8.1.1", - "tree-kill": "^1.2.2", - "yargs": "^17.7.2" - }, - "bin": { - "conc": "dist/bin/concurrently.js", - "concurrently": "dist/bin/concurrently.js" - }, - "engines": { - "node": "^14.13.0 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/open-cli-tools/concurrently?sponsor=1" - } - }, "node_modules/confusing-browser-globals": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz", @@ -5644,9 +5870,9 @@ "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" }, "node_modules/core-js": { - "version": "3.37.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.37.1.tgz", - "integrity": "sha512-Xn6qmxrQZyB0FFY8E3bgRXei3lWDJHhvI+u0q9TKIYM49G8pAr0FgnnrFRAmsbptZL1yxRADVXn+x5AGsbBfyw==", + "version": "3.38.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.38.1.tgz", + "integrity": "sha512-OP35aUorbU3Zvlx7pjsFdu1rGNnD4pgw/CWoYzRY3t2EzoVT7shKHY1dlAy3f41cGIO7ZDPQimhGFTlEYkG/Hw==", "hasInstallScript": true, "funding": { "type": "opencollective", @@ -5654,11 +5880,11 @@ } }, "node_modules/core-js-compat": { - "version": "3.37.1", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.37.1.tgz", - "integrity": "sha512-9TNiImhKvQqSUkOvk/mMRZzOANTiEVC7WaBNhHcKM7x+/5E1l5NvsysR19zuDQScE8k+kfQXWRN3AtS/eOSHpg==", + "version": "3.38.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.38.1.tgz", + "integrity": "sha512-JRH6gfXxGmrzF3tZ57lFx97YARxCXPaMzPo6jELZhv88pBH5VXpQ+y0znKGlFnzuaihqhLbefxSJxWJMPtfDzw==", "dependencies": { - "browserslist": "^4.23.0" + "browserslist": "^4.23.3" }, "funding": { "type": "opencollective", @@ -5666,9 +5892,9 @@ } }, "node_modules/core-js-pure": { - "version": "3.37.1", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.37.1.tgz", - "integrity": "sha512-J/r5JTHSmzTxbiYYrzXg9w1VpqrYt+gexenBE9pugeyhwPZTAEJddyiReJWsLO6uNQ8xJZFbod6XC7KKwatCiA==", + "version": "3.38.1", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.38.1.tgz", + "integrity": "sha512-BY8Etc1FZqdw1glX0XNOq2FDwfrg/VGqoZOZCdaL+UmdaqDwQwYXkMJT4t6In+zfEfOJDcM9T0KdbBeJg8KKCQ==", "hasInstallScript": true, "funding": { "type": "opencollective", @@ -6132,22 +6358,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/date-fns": { - "version": "2.30.0", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz", - "integrity": "sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.21.0" - }, - "engines": { - "node": ">=0.11" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/date-fns" - } - }, "node_modules/debug": { "version": "4.3.5", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz", @@ -6526,9 +6736,16 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.2.tgz", - "integrity": "sha512-kc4r3U3V3WLaaZqThjYz/Y6z8tJe+7K0bbjUVo3i+LWIypVdMx5nXCkwRe6SWbY6ILqLdc1rKcKmr3HoH7wjSQ==" + "version": "1.5.32", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.32.tgz", + "integrity": "sha512-M+7ph0VGBQqqpTT2YrabjNKSQ2fEl9PVx6AK3N558gDH9NO8O6XN9SXXFWRo9u9PbEg/bWq+tjXQr+eXmxubCw==" + }, + "node_modules/email-addresses": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/email-addresses/-/email-addresses-5.0.0.tgz", + "integrity": "sha512-4OIPYlA6JXqtVn8zpHpGiI7vE6EQOAg16aGnDMIAlZVinnoZ8208tW1hAbjWydgN/4PLTT9q+O1K6AH/vALJGw==", + "dev": true, + "license": "MIT" }, "node_modules/emittery": { "version": "0.8.1", @@ -6555,9 +6772,9 @@ } }, "node_modules/encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", "engines": { "node": ">= 0.8" } @@ -6791,14 +7008,11 @@ "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" }, "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.8.0" } }, "node_modules/escodegen": { @@ -6822,15 +7036,16 @@ } }, "node_modules/eslint": { - "version": "8.57.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", - "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz", + "integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==", + "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", "@eslint/eslintrc": "^2.1.4", - "@eslint/js": "8.57.0", - "@humanwhocodes/config-array": "^0.11.14", + "@eslint/js": "8.57.1", + "@humanwhocodes/config-array": "^0.13.0", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", "@ungap/structured-clone": "^1.2.0", @@ -6937,9 +7152,9 @@ } }, "node_modules/eslint-module-utils": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.1.tgz", - "integrity": "sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==", + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.12.0.tgz", + "integrity": "sha512-wALZ0HFoytlyh/1+4wuZ9FJCD/leWHQzzrxJ8+rebyReSLk7LApMyd3WJaLVoN+D5+WIdJyDK1c6JnE65V4Zyg==", "dependencies": { "debug": "^3.2.7" }, @@ -6978,33 +7193,35 @@ } }, "node_modules/eslint-plugin-import": { - "version": "2.29.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.29.1.tgz", - "integrity": "sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==", + "version": "2.31.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.31.0.tgz", + "integrity": "sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A==", "dependencies": { - "array-includes": "^3.1.7", - "array.prototype.findlastindex": "^1.2.3", + "@rtsao/scc": "^1.1.0", + "array-includes": "^3.1.8", + "array.prototype.findlastindex": "^1.2.5", "array.prototype.flat": "^1.3.2", "array.prototype.flatmap": "^1.3.2", "debug": "^3.2.7", "doctrine": "^2.1.0", "eslint-import-resolver-node": "^0.3.9", - "eslint-module-utils": "^2.8.0", - "hasown": "^2.0.0", - "is-core-module": "^2.13.1", + "eslint-module-utils": "^2.12.0", + "hasown": "^2.0.2", + "is-core-module": "^2.15.1", "is-glob": "^4.0.3", "minimatch": "^3.1.2", - "object.fromentries": "^2.0.7", - "object.groupby": "^1.0.1", - "object.values": "^1.1.7", + "object.fromentries": "^2.0.8", + "object.groupby": "^1.0.3", + "object.values": "^1.2.0", "semver": "^6.3.1", + "string.prototype.trimend": "^1.0.8", "tsconfig-paths": "^3.15.0" }, "engines": { "node": ">=4" }, "peerDependencies": { - "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9" } }, "node_modules/eslint-plugin-import/node_modules/debug": { @@ -7066,16 +7283,16 @@ } }, "node_modules/eslint-plugin-jsx-a11y": { - "version": "6.9.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.9.0.tgz", - "integrity": "sha512-nOFOCaJG2pYqORjK19lqPqxMO/JpvdCZdPtNdxY3kvom3jTvkAbOvQvD8wuD0G8BYR0IGAGYDlzqWJOh/ybn2g==", + "version": "6.10.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.10.0.tgz", + "integrity": "sha512-ySOHvXX8eSN6zz8Bywacm7CvGNhUtdjvqfQDVe6020TUK34Cywkw7m0KsCCk1Qtm9G1FayfTN1/7mMYnYO2Bhg==", "dependencies": { "aria-query": "~5.1.3", "array-includes": "^3.1.8", "array.prototype.flatmap": "^1.3.2", "ast-types-flow": "^0.0.8", - "axe-core": "^4.9.1", - "axobject-query": "~3.1.1", + "axe-core": "^4.10.0", + "axobject-query": "^4.1.0", "damerau-levenshtein": "^1.0.8", "emoji-regex": "^9.2.2", "es-iterator-helpers": "^1.0.19", @@ -7091,13 +7308,13 @@ "node": ">=4.0" }, "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9" } }, "node_modules/eslint-plugin-react": { - "version": "7.35.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.35.0.tgz", - "integrity": "sha512-v501SSMOWv8gerHkk+IIQBkcGRGrO2nfybfj5pLxuJNFTPxxA3PSryhXTK+9pNbtkggheDdsC0E9Q8CuPk6JKA==", + "version": "7.37.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.1.tgz", + "integrity": "sha512-xwTnwDqzbDRA8uJ7BMxPs/EXRB3i8ZfnOIp8BsxEQkT0nHPp+WWceqGgo6rKb9ctNi8GJLDT4Go5HAWELa/WMg==", "dependencies": { "array-includes": "^3.1.8", "array.prototype.findlast": "^1.2.5", @@ -7259,6 +7476,14 @@ "webpack": "^5.0.0" } }, + "node_modules/eslint-webpack-plugin/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, "node_modules/eslint-webpack-plugin/node_modules/jest-worker": { "version": "28.1.3", "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.3.tgz", @@ -7272,11 +7497,81 @@ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, + "node_modules/eslint-webpack-plugin/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/eslint/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, "node_modules/eslint/node_modules/argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" }, + "node_modules/eslint/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/eslint/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/eslint/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/eslint/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/eslint/node_modules/esutils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", @@ -7314,6 +7609,14 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/eslint/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, "node_modules/eslint/node_modules/js-yaml": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", @@ -7367,6 +7670,17 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/eslint/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/eslint/node_modules/type-fest": { "version": "0.20.2", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", @@ -7536,36 +7850,36 @@ } }, "node_modules/express": { - "version": "4.19.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.19.2.tgz", - "integrity": "sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==", + "version": "4.21.0", + "resolved": "https://registry.npmjs.org/express/-/express-4.21.0.tgz", + "integrity": "sha512-VqcNGcj/Id5ZT1LZ/cfihi3ttTn+NJmkli2eZADigjq29qTlWi/hAQ43t/VLPq8+UX06FCEx3ByOYet6ZFblng==", "dependencies": { "accepts": "~1.3.8", "array-flatten": "1.1.1", - "body-parser": "1.20.2", + "body-parser": "1.20.3", "content-disposition": "0.5.4", "content-type": "~1.0.4", "cookie": "0.6.0", "cookie-signature": "1.0.6", "debug": "2.6.9", "depd": "2.0.0", - "encodeurl": "~1.0.2", + "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "etag": "~1.8.1", - "finalhandler": "1.2.0", + "finalhandler": "1.3.1", "fresh": "0.5.2", "http-errors": "2.0.0", - "merge-descriptors": "1.0.1", + "merge-descriptors": "1.0.3", "methods": "~1.1.2", "on-finished": "2.4.1", "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", + "path-to-regexp": "0.1.10", "proxy-addr": "~2.0.7", - "qs": "6.11.0", + "qs": "6.13.0", "range-parser": "~1.2.1", "safe-buffer": "5.2.1", - "send": "0.18.0", - "serve-static": "1.15.0", + "send": "0.19.0", + "serve-static": "1.16.2", "setprototypeof": "1.2.0", "statuses": "2.0.1", "type-is": "~1.6.18", @@ -7631,9 +7945,9 @@ "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==" }, "node_modules/fast-uri": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.1.tgz", - "integrity": "sha512-MWipKbbYiYI0UC7cl8m/i/IWTqfC8YXsqjzybjddLsFjStroQzsHXkc73JutMvBiXmOvapk+axIl79ig5t55Bw==" + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.2.tgz", + "integrity": "sha512-GR6f0hD7XXyNJa25Tb9BuIdN0tdr+0BMi6/CJPH3wJO1JjNG3n/VsSw38AwRdKZABm8lGbPfakLRkYzx2V9row==" }, "node_modules/fastq": { "version": "1.17.1", @@ -7736,6 +8050,34 @@ "node": ">=10" } }, + "node_modules/filename-reserved-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz", + "integrity": "sha512-lc1bnsSr4L4Bdif8Xb/qrtokGbq5zlsms/CYH8PP+WtCkGNF65DPiQY8vG3SakEdRn8Dlnm+gW/qWKKjS5sZzQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/filenamify": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-4.3.0.tgz", + "integrity": "sha512-hcFKyUG57yWGAzu1CMt/dPzYZuv+jAJUT85bL8mrXvNe6hWj6yEHEc4EdcgiA6Z3oi1/9wXJdZPXF2dZNgwgOg==", + "dev": true, + "license": "MIT", + "dependencies": { + "filename-reserved-regex": "^2.0.0", + "strip-outer": "^1.0.1", + "trim-repeated": "^1.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/filesize": { "version": "8.0.7", "resolved": "https://registry.npmjs.org/filesize/-/filesize-8.0.7.tgz", @@ -7756,12 +8098,12 @@ } }, "node_modules/finalhandler": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", - "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz", + "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==", "dependencies": { "debug": "2.6.9", - "encodeurl": "~1.0.2", + "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "on-finished": "2.4.1", "parseurl": "~1.3.3", @@ -7832,9 +8174,9 @@ "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==" }, "node_modules/follow-redirects": { - "version": "1.15.6", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", - "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", + "version": "1.15.9", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz", + "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==", "funding": [ { "type": "individual", @@ -7859,9 +8201,9 @@ } }, "node_modules/foreground-child": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.2.1.tgz", - "integrity": "sha512-PXUUyLqrR2XCWICfv6ukppP96sdFwWbNEnfEMt7jNsISjMsvaLNinAHNDYyvkyU+SZG2BTSbT5NjG+vZslfGTA==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", + "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", "dependencies": { "cross-spawn": "^7.0.0", "signal-exit": "^4.0.1" @@ -7922,41 +8264,94 @@ } } }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/cosmiconfig": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", - "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "node_modules/fork-ts-checker-webpack-plugin/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dependencies": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.1.0", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.7.2" + "color-convert": "^2.0.1" }, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "node_modules/fork-ts-checker-webpack-plugin/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dependencies": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/schema-utils": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", - "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", - "dependencies": { - "@types/json-schema": "^7.0.4", + "node_modules/fork-ts-checker-webpack-plugin/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/cosmiconfig": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", + "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.7.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/schema-utils": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", + "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", + "dependencies": { + "@types/json-schema": "^7.0.4", "ajv": "^6.12.2", "ajv-keywords": "^3.4.1" }, @@ -7968,6 +8363,17 @@ "url": "https://opencollective.com/webpack" } }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/fork-ts-checker-webpack-plugin/node_modules/tapable": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", @@ -8160,6 +8566,71 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/gh-pages": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/gh-pages/-/gh-pages-6.1.1.tgz", + "integrity": "sha512-upnohfjBwN5hBP9w2dPE7HO5JJTHzSGMV1JrLrHvNuqmjoYHg6TBrCcnEoorjG/e0ejbuvnwyKMdTyM40PEByw==", + "dev": true, + "license": "MIT", + "dependencies": { + "async": "^3.2.4", + "commander": "^11.0.0", + "email-addresses": "^5.0.0", + "filenamify": "^4.3.0", + "find-cache-dir": "^3.3.1", + "fs-extra": "^11.1.1", + "globby": "^6.1.0" + }, + "bin": { + "gh-pages": "bin/gh-pages.js", + "gh-pages-clean": "bin/gh-pages-clean.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/gh-pages/node_modules/commander": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz", + "integrity": "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16" + } + }, + "node_modules/gh-pages/node_modules/fs-extra": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", + "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/gh-pages/node_modules/globby": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", + "integrity": "sha512-KVbFv2TQtbzCoxAnfD6JcHZTYCzyliEaaeM/gH8qQdkKr5s0OP9scEgvdcngyk7AVdY6YVW/TJHd+lQ/Df3Daw==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/glob": { "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", @@ -8273,6 +8744,14 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/globby/node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "engines": { + "node": ">=8" + } + }, "node_modules/gopd": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", @@ -8327,11 +8806,11 @@ } }, "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "engines": { - "node": ">=8" + "node": ">=4" } }, "node_modules/has-property-descriptors": { @@ -8603,9 +9082,9 @@ } }, "node_modules/http-proxy-middleware": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz", - "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==", + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.7.tgz", + "integrity": "sha512-fgVY8AV7qU7z/MmXJ/rxwbrtQH4jBQ9m7kp3llF0liB7glmFeVZFBepQb32T3y8n8k2+AEYuMPCpinYW+/CuRA==", "dependencies": { "@types/http-proxy": "^1.17.8", "http-proxy": "^1.18.1", @@ -8689,9 +9168,9 @@ } }, "node_modules/ignore": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", - "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", "engines": { "node": ">= 4" } @@ -8893,9 +9372,9 @@ } }, "node_modules/is-core-module": { - "version": "2.15.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.0.tgz", - "integrity": "sha512-Dd+Lb2/zvk9SKy1TGCt1wFJFo/MWBPMX5x7KcvLajWTGuomczdQX61PvY5yK6SVACwpoexWo81IfFyoKY2QnTA==", + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz", + "integrity": "sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==", "dependencies": { "hasown": "^2.0.2" }, @@ -9305,6 +9784,14 @@ "node": ">=10" } }, + "node_modules/istanbul-lib-report/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, "node_modules/istanbul-lib-report/node_modules/make-dir": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", @@ -9406,6 +9893,70 @@ "node": ">=10" } }, + "node_modules/jake/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jake/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jake/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jake/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/jake/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jake/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/jest": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest/-/jest-27.5.1.tgz", @@ -9472,6 +10023,70 @@ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, + "node_modules/jest-circus/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-circus/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-circus/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-circus/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/jest-circus/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-circus/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/jest-cli": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.5.1.tgz", @@ -9505,39 +10120,68 @@ } } }, - "node_modules/jest-cli/node_modules/cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "node_modules/jest-cli/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "node_modules/jest-cli/node_modules/yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-cli/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dependencies": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/jest-cli/node_modules/yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "node_modules/jest-cli/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, "engines": { - "node": ">=10" + "node": ">=7.0.0" + } + }, + "node_modules/jest-cli/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/jest-cli/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-cli/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, "node_modules/jest-config": { @@ -9582,6 +10226,70 @@ } } }, + "node_modules/jest-config/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-config/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-config/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-config/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/jest-config/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-config/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/jest-diff": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", @@ -9596,6 +10304,70 @@ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, + "node_modules/jest-diff/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-diff/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-diff/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-diff/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/jest-diff/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-diff/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/jest-docblock": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.5.1.tgz", @@ -9622,6 +10394,70 @@ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, + "node_modules/jest-each/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-each/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-each/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-each/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/jest-each/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-each/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/jest-environment-jsdom": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz", @@ -9715,32 +10551,160 @@ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/jest-leak-detector": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz", - "integrity": "sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==", + "node_modules/jest-jasmine2/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dependencies": { - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" + "color-convert": "^2.0.1" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/jest-matcher-utils": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", - "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", + "node_modules/jest-jasmine2/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dependencies": { - "chalk": "^4.0.0", - "jest-diff": "^27.5.1", - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-jasmine2/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-jasmine2/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/jest-jasmine2/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-jasmine2/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-leak-detector": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz", + "integrity": "sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==", + "dependencies": { + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" }, "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, + "node_modules/jest-matcher-utils": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", + "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-matcher-utils/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-matcher-utils/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-matcher-utils/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-matcher-utils/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/jest-matcher-utils/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-matcher-utils/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/jest-message-util": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", @@ -9760,6 +10724,70 @@ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, + "node_modules/jest-message-util/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-message-util/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-message-util/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-message-util/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/jest-message-util/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-message-util/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/jest-mock": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz", @@ -9829,6 +10857,59 @@ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, + "node_modules/jest-resolve/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-resolve/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-resolve/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-resolve/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/jest-resolve/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, "node_modules/jest-resolve/node_modules/resolve": { "version": "1.22.8", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", @@ -9845,6 +10926,17 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/jest-resolve/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/jest-runner": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.5.1.tgz", @@ -9876,24 +10968,88 @@ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/jest-runtime": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.5.1.tgz", - "integrity": "sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==", + "node_modules/jest-runner/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dependencies": { - "@jest/environment": "^27.5.1", - "@jest/fake-timers": "^27.5.1", - "@jest/globals": "^27.5.1", - "@jest/source-map": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "chalk": "^4.0.0", - "cjs-module-lexer": "^1.0.0", - "collect-v8-coverage": "^1.0.0", - "execa": "^5.0.0", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-runner/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-runner/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-runner/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/jest-runner/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runner/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runtime": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.5.1.tgz", + "integrity": "sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==", + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/globals": "^27.5.1", + "@jest/source-map": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "execa": "^5.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", "jest-haste-map": "^27.5.1", "jest-message-util": "^27.5.1", "jest-mock": "^27.5.1", @@ -9908,6 +11064,70 @@ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, + "node_modules/jest-runtime/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-runtime/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-runtime/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-runtime/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/jest-runtime/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-runtime/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/jest-serializer": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.5.1.tgz", @@ -9948,40 +11168,232 @@ "pretty-format": "^27.5.1", "semver": "^7.3.2" }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-snapshot/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-snapshot/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/jest-snapshot/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-snapshot/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "dependencies": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-util/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-util/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-util/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-util/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/jest-util/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-util/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-validate": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.5.1.tgz", + "integrity": "sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==", + "dependencies": { + "@jest/types": "^27.5.1", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^27.5.1", + "leven": "^3.1.0", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-validate/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-validate/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "node_modules/jest-validate/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" + "color-name": "~1.1.4" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=7.0.0" } }, - "node_modules/jest-validate": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.5.1.tgz", - "integrity": "sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==", + "node_modules/jest-validate/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/jest-validate/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-validate/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dependencies": { - "@jest/types": "^27.5.1", - "camelcase": "^6.2.0", - "chalk": "^4.0.0", - "jest-get-type": "^27.5.1", - "leven": "^3.1.0", - "pretty-format": "^27.5.1" + "has-flag": "^4.0.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=8" } }, "node_modules/jest-watch-typeahead": { @@ -10059,24 +11471,58 @@ } }, "node_modules/jest-watch-typeahead/node_modules/@types/yargs": { - "version": "17.0.32", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz", - "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==", + "version": "17.0.33", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.33.tgz", + "integrity": "sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==", "dependencies": { "@types/yargs-parser": "*" } }, "node_modules/jest-watch-typeahead/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, "engines": { - "node": ">=10" + "node": ">=8" }, "funding": { "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, + "node_modules/jest-watch-typeahead/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-watch-typeahead/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-watch-typeahead/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, "node_modules/jest-watch-typeahead/node_modules/emittery": { "version": "0.10.2", "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.10.2.tgz", @@ -10088,6 +11534,14 @@ "url": "https://github.com/sindresorhus/emittery?sponsor=1" } }, + "node_modules/jest-watch-typeahead/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, "node_modules/jest-watch-typeahead/node_modules/jest-message-util": { "version": "28.1.3", "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.3.tgz", @@ -10194,6 +11648,17 @@ "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, + "node_modules/jest-watch-typeahead/node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, "node_modules/jest-watch-typeahead/node_modules/react-is": { "version": "18.3.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", @@ -10248,9 +11713,9 @@ } }, "node_modules/jest-watch-typeahead/node_modules/strip-ansi/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", "engines": { "node": ">=12" }, @@ -10258,6 +11723,17 @@ "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, + "node_modules/jest-watch-typeahead/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/jest-watcher": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.5.1.tgz", @@ -10275,6 +11751,70 @@ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, + "node_modules/jest-watcher/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-watcher/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-watcher/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-watcher/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/jest-watcher/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-watcher/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/jest-worker": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", @@ -10288,6 +11828,28 @@ "node": ">= 10.13.0" } }, + "node_modules/jest-worker/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, "node_modules/jiti": { "version": "1.21.6", "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.6.tgz", @@ -10428,14 +11990,14 @@ } }, "node_modules/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz", + "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==", "bin": { "jsesc": "bin/jsesc" }, "engines": { - "node": ">=4" + "node": ">=6" } }, "node_modules/json-buffer": { @@ -10578,9 +12140,9 @@ } }, "node_modules/launch-editor": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.8.0.tgz", - "integrity": "sha512-vJranOAJrI/llyWGRQqiDM+adrw+k83fvmmx3+nV47g3+36xM15jE+zyZ6Ffel02+xSvuM0b2GDRosXZkbb6wA==", + "version": "2.9.1", + "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.9.1.tgz", + "integrity": "sha512-Gcnl4Bd+hRO9P9icCP/RVVT2o8SFlPXofuCxvA2SaZuH45whSvf5p8x5oih5ftLiVhEI4sp5xDY+R+b3zJBh5w==", "dependencies": { "picocolors": "^1.0.0", "shell-quote": "^1.8.1" @@ -10779,9 +12341,12 @@ } }, "node_modules/merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", + "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, "node_modules/merge-stream": { "version": "2.0.0", @@ -10805,9 +12370,9 @@ } }, "node_modules/micromatch": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz", - "integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==", + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", "dependencies": { "braces": "^3.0.3", "picomatch": "^2.3.1" @@ -10855,9 +12420,9 @@ } }, "node_modules/mini-css-extract-plugin": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.9.0.tgz", - "integrity": "sha512-Zs1YsZVfemekSZG+44vBsYTLQORkPMwnlv+aehcxK/NLKC+EGhDB39/YePYYqx/sTk6NnYpuqikhSn7+JIevTA==", + "version": "2.9.1", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.9.1.tgz", + "integrity": "sha512-+Vyi+GCCOHnrJ2VPS+6aPoXN2k2jgUzDRhTFLjjTBn23qyXJXkjUWQgTL+mXpF5/A8ixLdCc6kWsoeOjKGejKQ==", "dependencies": { "schema-utils": "^4.0.0", "tapable": "^2.2.1" @@ -11060,9 +12625,9 @@ } }, "node_modules/nwsapi": { - "version": "2.2.12", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.12.tgz", - "integrity": "sha512-qXDmcVlZV4XRtKFzddidpfVP4oMSGhga+xdMc25mv8kaLUHtgzCDhUxkrN8exkGdTlLNaXj7CV3GtON7zuGZ+w==" + "version": "2.2.13", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.13.tgz", + "integrity": "sha512-cTGB9ptp9dY9A5VbMSe7fQBcl/tt22Vcqdq8+eN93rblOuE0aCFu4aZ2vMwct/2t+lFnosm8RkQW1I0Omb1UtQ==" }, "node_modules/object-assign": { "version": "4.1.1", @@ -11334,9 +12899,9 @@ } }, "node_modules/package-json-from-dist": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz", - "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==" + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==" }, "node_modules/param-case": { "version": "3.0.4", @@ -11447,9 +13012,9 @@ "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==" }, "node_modules/path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" + "version": "0.1.10", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.10.tgz", + "integrity": "sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==" }, "node_modules/path-type": { "version": "4.0.0", @@ -11465,9 +13030,9 @@ "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==" }, "node_modules/picocolors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", - "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==" + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz", + "integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==" }, "node_modules/picomatch": { "version": "2.3.1", @@ -11488,6 +13053,29 @@ "node": ">=0.10.0" } }, + "node_modules/pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "pinkie": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/pirates": { "version": "4.0.6", "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", @@ -11569,9 +13157,9 @@ } }, "node_modules/postcss": { - "version": "8.4.40", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.40.tgz", - "integrity": "sha512-YF2kKIUzAofPMpfH6hOi2cGnv/HrUlfucspc7pDyvv7kGdqXrfj8SCl/t8owkEgKEuu8ZcRjSOxFxVLqwChZ2Q==", + "version": "8.4.47", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz", + "integrity": "sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==", "funding": [ { "type": "opencollective", @@ -11588,8 +13176,8 @@ ], "dependencies": { "nanoid": "^3.3.7", - "picocolors": "^1.0.1", - "source-map-js": "^1.2.0" + "picocolors": "^1.1.0", + "source-map-js": "^1.2.1" }, "engines": { "node": "^10 || ^12 || >=14" @@ -12070,9 +13658,9 @@ } }, "node_modules/postcss-load-config/node_modules/yaml": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.5.0.tgz", - "integrity": "sha512-2wWLbGbYDiSqqIKoPjar3MPgB94ErzCtrNE1FdqGuaO0pi2JGjmE8aW8TDZwzU7vuxcGRdL/4gPQwQ7hD5AMSw==", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.5.1.tgz", + "integrity": "sha512-bLQOjaX/ADgQ20isPJRvF0iRUHIxVhYvr53Of7wGcWlO2jvtUlH5m87DsmulFVxRpNLOnI4tB6p/oh8D7kpn9Q==", "bin": { "yaml": "bin.mjs" }, @@ -12675,9 +14263,9 @@ } }, "node_modules/postcss-selector-parser": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.1.tgz", - "integrity": "sha512-b4dlw/9V8A71rLIDsSwVmak9z2DuBUB7CA1/wSdelNEzqsjoSPeADTWNO09lpH49Diy3/JIZ2bSPB1dI3LJCHg==", + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", + "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" @@ -12885,11 +14473,6 @@ "node": ">= 0.10" } }, - "node_modules/proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" - }, "node_modules/psl": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", @@ -12914,11 +14497,11 @@ } }, "node_modules/qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", + "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", "dependencies": { - "side-channel": "^1.0.4" + "side-channel": "^1.0.6" }, "engines": { "node": ">=0.6" @@ -13090,7 +14673,63 @@ "text-table": "^0.2.0" }, "engines": { - "node": ">=14" + "node": ">=14" + } + }, + "node_modules/react-dev-utils/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/react-dev-utils/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/react-dev-utils/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/react-dev-utils/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/react-dev-utils/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/react-dev-utils/node_modules/find-up": { @@ -13108,6 +14747,14 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/react-dev-utils/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, "node_modules/react-dev-utils/node_modules/loader-utils": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.3.1.tgz", @@ -13158,6 +14805,17 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/react-dev-utils/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/react-dom": { "version": "18.3.1", "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", @@ -13176,9 +14834,9 @@ "integrity": "sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==" }, "node_modules/react-icons": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/react-icons/-/react-icons-4.12.0.tgz", - "integrity": "sha512-IBaDuHiShdZqmfc/TwHu6+d6k2ltNCf3AszxNmjJc1KUfXdEeRJOKyNvLmAHaarhzGmTSVygNdyu8/opXv2gaw==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/react-icons/-/react-icons-5.3.0.tgz", + "integrity": "sha512-DnUk8aFbTyQPSkCfF8dbX6kQjXA9DktMeJqfjrg6cK9vwQVMxmcA3BfP4QoiztVmEHtwlTgLFsPuH2NskKT6eg==", "peerDependencies": { "react": "*" } @@ -13214,11 +14872,11 @@ } }, "node_modules/react-router": { - "version": "6.25.1", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.25.1.tgz", - "integrity": "sha512-u8ELFr5Z6g02nUtpPAggP73Jigj1mRePSwhS/2nkTrlPU5yEkH1vYzWNyvSnSzeeE2DNqWdH+P8OhIh9wuXhTw==", + "version": "6.26.2", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.26.2.tgz", + "integrity": "sha512-tvN1iuT03kHgOFnLPfLJ8V95eijteveqdOSk+srqfePtQvqCExB8eHOYnlilbOcyJyKnYkr1vJvf7YqotAJu1A==", "dependencies": { - "@remix-run/router": "1.18.0" + "@remix-run/router": "1.19.2" }, "engines": { "node": ">=14.0.0" @@ -13228,12 +14886,12 @@ } }, "node_modules/react-router-dom": { - "version": "6.25.1", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.25.1.tgz", - "integrity": "sha512-0tUDpbFvk35iv+N89dWNrJp+afLgd+y4VtorJZuOCXK0kkCWjEvb3vTJM++SYvMEpbVwXKf3FjeVveVEb6JpDQ==", + "version": "6.26.2", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.26.2.tgz", + "integrity": "sha512-z7YkaEW0Dy35T3/QKPYB1LjMK2R1fxnHO8kWpUMTBdfVzZrWOiY9a7CtN8HqdWtDUWd5FY6Dl8HFsqVwH4uOtQ==", "dependencies": { - "@remix-run/router": "1.18.0", - "react-router": "6.25.1" + "@remix-run/router": "1.19.2", + "react-router": "6.26.2" }, "engines": { "node": ">=14.0.0" @@ -13400,9 +15058,9 @@ "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" }, "node_modules/regenerate-unicode-properties": { - "version": "10.1.1", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz", - "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==", + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.0.tgz", + "integrity": "sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==", "dependencies": { "regenerate": "^1.4.2" }, @@ -13429,14 +15087,14 @@ "integrity": "sha512-TVILVSz2jY5D47F4mA4MppkBrafEaiUWJO/TcZHEIuI13AqoZMkK1WMA4Om1YkYbTx+9Ki1/tSUXbceyr9saRg==" }, "node_modules/regexp.prototype.flags": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz", - "integrity": "sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==", + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.3.tgz", + "integrity": "sha512-vqlC04+RQoFalODCbCumG2xIOvapzVMHwsyIGM/SIE8fRhFFsXeH8/QQ+s0T0kDAhKc4k30s73/0ydkHQz6HlQ==", "dependencies": { - "call-bind": "^1.0.6", + "call-bind": "^1.0.7", "define-properties": "^1.2.1", "es-errors": "^1.3.0", - "set-function-name": "^2.0.1" + "set-function-name": "^2.0.2" }, "engines": { "node": ">= 0.4" @@ -13446,14 +15104,14 @@ } }, "node_modules/regexpu-core": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", - "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-6.1.1.tgz", + "integrity": "sha512-k67Nb9jvwJcJmVpw0jPttR1/zVfnKf8Km0IPatrU/zJ5XeG3+Slx0xLXs9HByJSzXzrlz5EDvN6yLNMDc2qdnw==", "dependencies": { - "@babel/regjsgen": "^0.8.0", "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^10.1.0", - "regjsparser": "^0.9.1", + "regenerate-unicode-properties": "^10.2.0", + "regjsgen": "^0.8.0", + "regjsparser": "^0.11.0", "unicode-match-property-ecmascript": "^2.0.0", "unicode-match-property-value-ecmascript": "^2.1.0" }, @@ -13461,25 +15119,22 @@ "node": ">=4" } }, + "node_modules/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==" + }, "node_modules/regjsparser": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", - "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.11.1.tgz", + "integrity": "sha512-1DHODs4B8p/mQHU9kr+jv8+wIC9mtG4eBHxWxIq5mhjE3D5oORhCc6deRKzTjs9DcfRFmj9BHSDguZklqCGFWQ==", "dependencies": { - "jsesc": "~0.5.0" + "jsesc": "~3.0.2" }, "bin": { "regjsparser": "bin/parser" } }, - "node_modules/regjsparser/node_modules/jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", - "bin": { - "jsesc": "bin/jsesc" - } - }, "node_modules/relateurl": { "version": "0.2.7", "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", @@ -13647,9 +15302,9 @@ } }, "node_modules/rollup": { - "version": "2.79.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz", - "integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==", + "version": "2.79.2", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.2.tgz", + "integrity": "sha512-fS6iqSPZDs3dr/y7Od6y5nha8dW1YnbgtsyotCVvoFGKbERG++CVRFv1meyGDE1SNItQA8BrnCw7ScdAhRJ3XQ==", "bin": { "rollup": "dist/bin/rollup" }, @@ -13675,6 +15330,14 @@ "rollup": "^2.0.0" } }, + "node_modules/rollup-plugin-terser/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, "node_modules/rollup-plugin-terser/node_modules/jest-worker": { "version": "26.6.2", "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", @@ -13729,15 +15392,6 @@ "queue-microtask": "^1.2.2" } }, - "node_modules/rxjs": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", - "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", - "dev": true, - "dependencies": { - "tslib": "^2.1.0" - } - }, "node_modules/safe-array-concat": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz", @@ -13939,9 +15593,9 @@ } }, "node_modules/send": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", - "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz", + "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==", "dependencies": { "debug": "2.6.9", "depd": "2.0.0", @@ -13974,6 +15628,14 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" }, + "node_modules/send/node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "engines": { + "node": ">= 0.8" + } + }, "node_modules/send/node_modules/ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", @@ -14058,14 +15720,14 @@ } }, "node_modules/serve-static": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", - "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "version": "1.16.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz", + "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==", "dependencies": { - "encodeurl": "~1.0.2", + "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "parseurl": "~1.3.3", - "send": "0.18.0" + "send": "0.19.0" }, "engines": { "node": ">= 0.8.0" @@ -14220,9 +15882,9 @@ } }, "node_modules/source-map-js": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", - "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", "engines": { "node": ">=0.10.0" } @@ -14270,12 +15932,6 @@ "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", "deprecated": "Please use @jridgewell/sourcemap-codec instead" }, - "node_modules/spawn-command": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/spawn-command/-/spawn-command-0.0.2.tgz", - "integrity": "sha512-zC8zGoGkmc8J9ndvml8Xksr1Amk9qBujgbF0JAIWO7kXr43w0h/0GJNM/Vustixu+YE8N/MTrQ7N31FvHUACxQ==", - "dev": true - }, "node_modules/spdy": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", @@ -14693,6 +16349,19 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/strip-outer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz", + "integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==", + "dev": true, + "license": "MIT", + "dependencies": { + "escape-string-regexp": "^1.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/style-loader": { "version": "3.3.4", "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-3.3.4.tgz", @@ -14794,17 +16463,14 @@ } }, "node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dependencies": { - "has-flag": "^4.0.0" + "has-flag": "^3.0.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" + "node": ">=4" } }, "node_modules/supports-hyperlinks": { @@ -14819,6 +16485,14 @@ "node": ">=8" } }, + "node_modules/supports-hyperlinks/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, "node_modules/supports-hyperlinks/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -14873,43 +16547,6 @@ "node": ">=4.0.0" } }, - "node_modules/svgo/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/svgo/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/svgo/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/svgo/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, "node_modules/svgo/node_modules/css-select": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", @@ -14955,22 +16592,6 @@ "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" }, - "node_modules/svgo/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/svgo/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "engines": { - "node": ">=4" - } - }, "node_modules/svgo/node_modules/nth-check": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", @@ -14979,26 +16600,15 @@ "boolbase": "~1.0.0" } }, - "node_modules/svgo/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/symbol-tree": { "version": "3.2.4", "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==" }, "node_modules/tailwindcss": { - "version": "3.4.7", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.7.tgz", - "integrity": "sha512-rxWZbe87YJb4OcSopb7up2Ba4U82BoiSGUdoDr3Ydrg9ckxFS/YWsvhN323GMcddgU65QRy7JndC7ahhInhvlQ==", + "version": "3.4.13", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.13.tgz", + "integrity": "sha512-KqjHOJKogOUt5Bs752ykCeiwvi0fKVkr5oqsFNt/8px/tA8scFPIlkygsf6jXrfCqGHz7VflA6+yytWuM+XhFw==", "dependencies": { "@alloc/quick-lru": "^5.2.0", "arg": "^5.0.2", @@ -15107,9 +16717,9 @@ } }, "node_modules/terser": { - "version": "5.31.3", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.31.3.tgz", - "integrity": "sha512-pAfYn3NIZLyZpa83ZKigvj6Rn9c/vd5KfYGX7cN1mnzqgDcxWvrU5ZtAfIKhEXz9nRecw4z3LXkjaq96/qZqAA==", + "version": "5.34.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.34.1.tgz", + "integrity": "sha512-FsJZ7iZLd/BXkz+4xrRTGJ26o/6VTjQytUk8b8OxkwcD2I+79VPJlz7qss1+zE7h8GNIScFqXcDyJ/KqBYZFVA==", "dependencies": { "@jridgewell/source-map": "^0.3.3", "acorn": "^8.8.2", @@ -15295,13 +16905,17 @@ "node": ">=8" } }, - "node_modules/tree-kill": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", - "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", + "node_modules/trim-repeated": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz", + "integrity": "sha512-pkonvlKk8/ZuR0D5tLW8ljt5I8kmxp2XKymhepUeOdCEfKpZaktSArkLHZt76OB1ZvO9bssUsDty4SWhLvZpLg==", "dev": true, - "bin": { - "tree-kill": "cli.js" + "license": "MIT", + "dependencies": { + "escape-string-regexp": "^1.0.2" + }, + "engines": { + "node": ">=0.10.0" } }, "node_modules/tryer": { @@ -15345,9 +16959,9 @@ } }, "node_modules/tslib": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", - "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==" + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==" }, "node_modules/tsutils": { "version": "3.21.0", @@ -15520,14 +17134,14 @@ "integrity": "sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==" }, "node_modules/undici-types": { - "version": "5.26.5", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", - "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" + "version": "6.19.8", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", + "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==" }, "node_modules/unicode-canonical-property-names-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", - "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz", + "integrity": "sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==", "engines": { "node": ">=4" } @@ -15545,9 +17159,9 @@ } }, "node_modules/unicode-match-property-value-ecmascript": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", - "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.0.tgz", + "integrity": "sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==", "engines": { "node": ">=4" } @@ -15750,9 +17364,9 @@ } }, "node_modules/watchpack": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.1.tgz", - "integrity": "sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg==", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.2.tgz", + "integrity": "sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==", "dependencies": { "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.1.2" @@ -15770,9 +17384,9 @@ } }, "node_modules/web-vitals": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/web-vitals/-/web-vitals-2.1.4.tgz", - "integrity": "sha512-sVWcwhU5mX6crfI5Vd2dC4qchyTqxV8URinzt25XqVh+bHEPGH4C3NPrNionCP7Obx59wrYEbNlw4Z8sjALzZg==" + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/web-vitals/-/web-vitals-4.2.3.tgz", + "integrity": "sha512-/CFAm1mNxSmOj6i0Co+iGFJ58OS4NRGVP+AWS/l509uIK5a1bSoIVaHz/ZumpHTfHSZBpgrJ+wjfpAOrTHok5Q==" }, "node_modules/webidl-conversions": { "version": "6.1.0", @@ -15783,11 +17397,10 @@ } }, "node_modules/webpack": { - "version": "5.93.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.93.0.tgz", - "integrity": "sha512-Y0m5oEY1LRuwly578VqluorkXbvXKh7U3rLoQCEO04M97ScRr44afGVkI0FQFsXzysk5OgFAxjZAb9rsGQVihA==", + "version": "5.95.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.95.0.tgz", + "integrity": "sha512-2t3XstrKULz41MNMBF+cJ97TyHdyQ8HCt//pqErqDvNjU9YQBnZxIHa11VXsi7F3mb5/aO2tuDxdeTPdU7xu9Q==", "dependencies": { - "@types/eslint-scope": "^3.7.3", "@types/estree": "^1.0.5", "@webassemblyjs/ast": "^1.12.1", "@webassemblyjs/wasm-edit": "^1.12.1", @@ -15796,7 +17409,7 @@ "acorn-import-attributes": "^1.9.5", "browserslist": "^4.21.10", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.17.0", + "enhanced-resolve": "^5.17.1", "es-module-lexer": "^1.2.1", "eslint-scope": "5.1.1", "events": "^3.2.0", @@ -16101,12 +17714,12 @@ } }, "node_modules/which-builtin-type": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.3.tgz", - "integrity": "sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.4.tgz", + "integrity": "sha512-bppkmBSsHFmIMSl8BO9TbsyzsvGjVoppt8xUiGzwiu/bhDCGxnpOKCxgqj6GuyHE0mINMDecBFPlOm2hzY084w==", "dependencies": { - "function.prototype.name": "^1.1.5", - "has-tostringtag": "^1.0.0", + "function.prototype.name": "^1.1.6", + "has-tostringtag": "^1.0.2", "is-async-function": "^2.0.0", "is-date-object": "^1.0.5", "is-finalizationregistry": "^1.0.2", @@ -16115,8 +17728,8 @@ "is-weakref": "^1.0.2", "isarray": "^2.0.5", "which-boxed-primitive": "^1.0.2", - "which-collection": "^1.0.1", - "which-typed-array": "^1.1.9" + "which-collection": "^1.0.2", + "which-typed-array": "^1.1.15" }, "engines": { "node": ">= 0.4" @@ -16497,6 +18110,66 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, + "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/wrap-ansi/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", @@ -16565,30 +18238,28 @@ } }, "node_modules/yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - "dev": true, + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", "dependencies": { - "cliui": "^8.0.1", + "cliui": "^7.0.2", "escalade": "^3.1.1", "get-caller-file": "^2.0.5", "require-directory": "^2.1.1", - "string-width": "^4.2.3", + "string-width": "^4.2.0", "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" + "yargs-parser": "^20.2.2" }, "engines": { - "node": ">=12" + "node": ">=10" } }, "node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "dev": true, + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", "engines": { - "node": ">=12" + "node": ">=10" } }, "node_modules/yocto-queue": { diff --git a/website/package.json b/website/package.json index 10cbab84..f379c95c 100644 --- a/website/package.json +++ b/website/package.json @@ -1,5 +1,5 @@ { - "homepage": "https://teamcommtools.seas.upenn.edu/", + "homepage": "https://teamcommtools.seas.upenn.edu/", "name": "website", "version": "0.1.0", "proxy": "https://5f9vk2anlb.execute-api.us-east-2.amazonaws.com/team-comm-tools-features/team-comm-tools", @@ -8,14 +8,15 @@ "react": "^18.3.1", "react-burger-menu": "^3.0.9", "react-dom": "^18.3.1", - "react-icons": "^4.12.0", + "react-icons": "^5.3.0", "react-responsive": "^10.0.0", - "react-router-dom": "^6.23.1", + "react-router-dom": "^6.26.2", "react-scripts": "^5.0.1", - "web-vitals": "^2.1.4" + "web-vitals": "^4.2.3" }, "scripts": { "predeploy": "npm run build", + "add-domain": "echo 'teamcommtools.seas.upenn.edu' > build/CNAME", "deploy": "gh-pages -d build", "build": "react-scripts build", "test": "react-scripts test", @@ -39,5 +40,9 @@ "last 1 firefox version", "last 1 safari version" ] + }, + "devDependencies": { + "@babel/plugin-proposal-private-property-in-object": "^7.21.11", + "gh-pages": "^6.1.1" } } \ No newline at end of file diff --git a/website/public/CNAME b/website/public/CNAME new file mode 100644 index 0000000000000000000000000000000000000000..814eed80d185304510ebc6437f5db729eed53a4e GIT binary patch literal 58 ycmWlOK@I>A5Ci8$`zOH-E3v+hO4Cl8-V;<3os26xAv%qP$^ZLpGu4M=V$puPpA8%U literal 0 HcmV?d00001 diff --git a/website/src/components/pages/Team.js b/website/src/components/pages/Team.js index ff99aab4..91621009 100644 --- a/website/src/components/pages/Team.js +++ b/website/src/components/pages/Team.js @@ -11,8 +11,8 @@ const current = [ image: `${process.env.PUBLIC_URL}/priya.png` }, { - name: 'Evan Rowbotham', - image: `${process.env.PUBLIC_URL}/evan.png` + name: 'Yashveer Singh Sohi', + image: `${process.env.PUBLIC_URL}/yashveer.png` }, { name: 'Yuxuan Zhang', @@ -21,10 +21,6 @@ const current = [ { name: 'Amy Zheng', image: `${process.env.PUBLIC_URL}/amy.png` - }, - { - name: 'Helena Zhou', - image: `${process.env.PUBLIC_URL}/helena.png` } ]; @@ -42,12 +38,16 @@ const alumni = [ image: `${process.env.PUBLIC_URL}/nikhil.png` }, { - name: 'Yashveer Singh Sohi', - image: `${process.env.PUBLIC_URL}/yashveer.png` + name: 'Evan Rowbotham', + image: `${process.env.PUBLIC_URL}/evan.png` }, { name: 'Eric Zhong', image: `${process.env.PUBLIC_URL}/eric.jfif` + }, + { + name: 'Helena Zhou', + image: `${process.env.PUBLIC_URL}/helena.png` } ]; From c2e07915b9ee9286a116def1899bba9b5aacfd5c Mon Sep 17 00:00:00 2001 From: Xinlan Emily Hu Date: Tue, 8 Oct 2024 00:11:05 -0400 Subject: [PATCH 2/3] Update README.md --- README.md | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 3ddc232d..10232b88 100644 --- a/README.md +++ b/README.md @@ -56,11 +56,10 @@ from team_comm_tools import FeatureBuilder Once you import the tool, you will be able to declare a FeatureBuilder object, which is the heart of our tool. Here is some sample syntax: ```python -# this section of code declares a FeatureBuilder object my_feature_builder = FeatureBuilder( input_df = my_pandas_dataframe, # this means there's a column in your data called 'conversation_id' that uniquely identifies a conversation - conversation_id_col = "conversation_id", + conversation_id_col = "conversation_id", # this means there's a column in your data called 'speaker_id' that uniquely identifies a speaker speaker_id_col = "speaker_id", # this means there's a column in your data called 'messagae' that contains the content you want to featurize @@ -69,14 +68,13 @@ my_feature_builder = FeatureBuilder( timestamp_col= "timestamp", # this is where we'll cache things like sentence vectors; this directory doesn't have to exist; we'll create it for you! vector_directory = "./vector_data/", - # give us names for the utterance (chat), speaker (user), and conversation-level outputs - output_file_path_chat_level = "./my_output_chat_level.csv", - output_file_path_user_level = "./my_output_user_level.csv", - output_file_path_conv_level = "./my_output_conversation_level.csv", - # if true, this will combine successive turns by the same speaker. + # this will be the base file path for which we generate the three outputs; + # you will get your outputs in output/chat/my_output_chat_level.csv; output/conv/my_output_conv_level.csv; and output/user/my_output_user_level. + output_file_base = "my_output" + # it will also store the output into output/turns/my_output_chat_level.csv turns = False, # these features depend on sentence vectors, so they take longer to generate on larger datasets. Add them in manually if you are interested in adding them to your output! - custom_features = [ + custom_features = [ "(BERT) Mimicry", "Moving Mimicry", "Forward Flow", @@ -104,7 +102,7 @@ Notably, not all communication features are made equal, as they can be defined a 2. The **speaker**, and 3. The **conversation** -**We generate a separate output file for each level.** When you declare a FeatureBuilder, you will need to specify an output path for each level of analysis. +**We generate a separate output file for each level.** When you declare a FeatureBuilder, you can use the `output_file_base` to define a base path shared among all three levels, and an output path will be automatically generated for each level of analysis. For more information, please refer to the [Introduction on our Read the Docs Page](https://conversational-featurizer.readthedocs.io/en/latest/intro.html#intro). From 627955ab9ffc756a5ba683781d70c96a411b4b01 Mon Sep 17 00:00:00 2001 From: Xinlan Emily Hu Date: Tue, 8 Oct 2024 00:17:01 -0400 Subject: [PATCH 3/3] Update pyproject.toml for post-release 1 (#316) --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 229cd3c0..e10f2581 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -6,7 +6,7 @@ build-backend = "setuptools.build_meta" [project] name = "team_comm_tools" -version = "0.1.4" +version = "0.1.4.post1" requires-python = ">= 3.10" dependencies = [ "chardet>=3.0.4",