From 1fb45f7e4a5fb50ef1bcb6a3f6cc55d679852bf5 Mon Sep 17 00:00:00 2001 From: Dhruv-Sachdev1313 Date: Thu, 17 Jun 2021 20:44:52 +0530 Subject: [PATCH 001/201] Extended dependency worker to get scorecard data Signed-off-by: Dhruv-Sachdev1313 --- workers/deps_worker/deps_worker.py | 109 ++++++++++++++++++++++++++++- 1 file changed, 106 insertions(+), 3 deletions(-) diff --git a/workers/deps_worker/deps_worker.py b/workers/deps_worker/deps_worker.py index 9265a95be8..c9449a9f49 100644 --- a/workers/deps_worker/deps_worker.py +++ b/workers/deps_worker/deps_worker.py @@ -22,10 +22,10 @@ def __init__(self, config={}): # Define what this worker can be given and know how to interpret given = [['git_url']] - models = ['deps'] + models = ['deps', 'ossf_scorecard'] # Define the tables needed to insert, update, or delete on - data_tables = ['repo_dependencies'] + data_tables = ['repo_dependencies', 'repo_deps_scorecard'] operations_tables = ['worker_history', 'worker_job'] @@ -37,7 +37,7 @@ def __init__(self, config={}): }) self.tool_source = 'Deps Worker' - self.tool_version = '1.0.0' + self.tool_version = '2.0.0' self.data_source = 'Augur Repository Data' def deps_model(self, entry_info, repo_id): @@ -62,6 +62,109 @@ def deps_model(self, entry_info, repo_id): self.register_task_completion(entry_info, repo_id, "deps") + def ossf_scorecard_model(self, entry_info, repo_id): + """ Data collection and storage method + """ + self.logger.info(entry_info) + self.logger.info(repo_id) + + repo_path_sql = s.sql.text(""" + SELECT repo_id, CONCAT(repo_group_id || chr(47) || repo_path || repo_name) AS path + FROM repo + WHERE repo_id = :repo_id + """) + + relative_repo_path = self.db.execute(repo_path_sql, {'repo_id': repo_id}).fetchone()[1] + absolute_repo_path = self.config['repo_directory'] + relative_repo_path +## TODO: Flesh out generate_scorecard +## You can look at the Value worker to see how Go Programs are already called in Augur. +# + try: + self.generate_scorecard(repo_id, relative_repo_path) + except Exception as e: + self.logger.error(e) + + self.register_task_completion(entry_info, repo_id, "deps") + + + def generate_scorecard(self, repo_id, path): + """Runs scorecard on repo and stores data in database + :param repo_id: Repository ID + :param path: relative path of the Repostiory + """ + self.logger.info('Generating scorecard data for repo') + self.logger.info(f'Repo ID: {repo_id}, Path: {path}') + + basic_execution_list = ['./scorecard'] + + raw_path,_ = path.split('-') + scorecard_repo_path = raw_path[2:] + command = '--repo='+ scorecard_repo_path + basic_execution_list.append(command) + + p= subprocess.run(basic_execution_list, cwd='/Users/dhruvsachdev/Downloads/scorecard',capture_output=True, text=True) + output = p.stdout.split('\n') + required_output = output[4:20] + scorecard = list() + for test in required_output: + scorecard.append(test.split()) + + repo_deps = { + 'repo_id': repo_id, + + "ossf_active_status": scorecard[0][1], + "ossf_branch_protection_status": scorecard[2][1], + "ossf_ci_tests_status": scorecard[3][1], + # "ossf_cii_badge_status": scorecard[4][1], + "ossf_code_review_status": scorecard[5][1], + "ossf_contributors_status":scorecard[6][1], + "ossf_frozen_deps_status": scorecard[7][1], + "ossf_fuzzing_status": scorecard[8][1], + "ossf_packaging_status": scorecard[9][1], + "ossf_pull_request_status": scorecard[10][1], + "ossf_sast_status": scorecard[11][1], + "ossf_security_policy_status": scorecard[12][1], + "ossf_signed_releases_status":scorecard[13][1], + "ossf_signed_tags_status":scorecard[14][1], + "ossf_active_score": scorecard[0][2], + "ossf_branch_protection_score":scorecard[2][2], + "ossf_ci_tests_score": scorecard[3][2], + # "ossf_cii_badge_score": scorecard[4][2], + "ossf_code_review_score": scorecard[5][2], + "ossf_contributors_score":scorecard[6][2], + "ossf_frozen_deps_score": scorecard[7][2], + "ossf_fuzzing_score": scorecard[8][2], + "ossf_packaging_score": scorecard[9][2], + "ossf_pull_request_score": scorecard[10][2], + "ossf_sast_score": scorecard[11][2], + "ossf_security_policy_score": scorecard[12][2], + "ossf_signed_releases_score": scorecard[13][2], + "ossf_signed_tags_score": scorecard[14][2], + + + 'tool_source': self.tool_source, + 'tool_version': self.tool_version, + 'data_source': self.data_source, + 'data_collection_date': datetime.now().strftime('%Y-%m-%dT%H:%M:%SZ') + + } + result = self.db.execute(self.repo_deps_scorecard.insert().values(repo_deps)) + + # for dep in deps: + # repo_deps = { + # 'repo_id': repo_id, + # 'dep_name' : dep.name, + # 'dep_count' : dep.count, + # 'dep_language' : dep.language, + # 'tool_source': self.tool_source, + # 'tool_version': self.tool_version, + # 'data_source': self.data_source, + # 'data_collection_date': datetime.now().strftime('%Y-%m-%dT%H:%M:%SZ') + # } + # result = self.db.execute(self.repo_dependencies_table.insert().values(repo_deps)) + # self.logger.info(f"Added dep: {result.inserted_primary_key}") + + def generate_deps_data(self, repo_id, path): """Runs scc on repo and stores data in database From 81a59ab9fa2cd0874b65667fc55ac964009f3029 Mon Sep 17 00:00:00 2001 From: Dhruv-Sachdev1313 Date: Thu, 17 Jun 2021 20:46:14 +0530 Subject: [PATCH 002/201] added scorecard model to config file Signed-off-by: Dhruv-Sachdev1313 --- augur/config.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/augur/config.py b/augur/config.py index f58c0f3410..ad2db38f6b 100644 --- a/augur/config.py +++ b/augur/config.py @@ -66,6 +66,14 @@ "model": "deps", "repo_group_id": 0 }, + { + "delay": 150000, + "given": [ + "git_url" + ], + "model": "ossf_scorecard", + "repo_group_id": 0 + }, { "delay": 150000, "given": [ From 0acac039ac5499b5c3137e2c9b33408a1cd1b5e3 Mon Sep 17 00:00:00 2001 From: Dhruv-Sachdev1313 Date: Thu, 17 Jun 2021 20:53:18 +0530 Subject: [PATCH 003/201] added check for GO-lang Signed-off-by: Dhruv-Sachdev1313 --- scripts/install/checks.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/scripts/install/checks.sh b/scripts/install/checks.sh index 942bcf46b2..800090d3a7 100755 --- a/scripts/install/checks.sh +++ b/scripts/install/checks.sh @@ -58,3 +58,5 @@ fi if [[ ! -d logs ]]; then mkdir logs fi + +command -v go >/dev/null 2>&1 || { echo >&2 "We require 'go' to run Scorecard project to get data, Please install GO first....Aborting"; exit 1; } \ No newline at end of file From 103c90a3241638c66cb6c73cad6ea4c555745ef6 Mon Sep 17 00:00:00 2001 From: Dhruv-Sachdev1313 Date: Sat, 19 Jun 2021 16:36:40 +0530 Subject: [PATCH 004/201] added shell scripts to clone and build scorecard project Signed-off-by: Dhruv-Sachdev1313 --- scripts/install/workers.sh | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/scripts/install/workers.sh b/scripts/install/workers.sh index 228c8bca88..a804166d5f 100755 --- a/scripts/install/workers.sh +++ b/scripts/install/workers.sh @@ -42,3 +42,11 @@ do done + + +echo "Cloning OSSF Scorecard to generate scorecard data ..." +git clone https://github.com/ossf/scorecard $HOME/scorecard +CURRENT_DIR = $PWD; +cd $HOME/scorecard; +go build; +cd $CURRENT_DIR \ No newline at end of file From 5978cec5640a950d5c0d92064ca9dcc47d6320da Mon Sep 17 00:00:00 2001 From: Dhruv-Sachdev1313 Date: Tue, 22 Jun 2021 12:02:15 +0530 Subject: [PATCH 005/201] Added remaining columns Signed-off-by: Dhruv-Sachdev1313 --- workers/deps_worker/deps_worker.py | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/workers/deps_worker/deps_worker.py b/workers/deps_worker/deps_worker.py index c9449a9f49..f7677923ab 100644 --- a/workers/deps_worker/deps_worker.py +++ b/workers/deps_worker/deps_worker.py @@ -95,14 +95,11 @@ def generate_scorecard(self, repo_id, path): self.logger.info('Generating scorecard data for repo') self.logger.info(f'Repo ID: {repo_id}, Path: {path}') - basic_execution_list = ['./scorecard'] - raw_path,_ = path.split('-') scorecard_repo_path = raw_path[2:] command = '--repo='+ scorecard_repo_path - basic_execution_list.append(command) - p= subprocess.run(basic_execution_list, cwd='/Users/dhruvsachdev/Downloads/scorecard',capture_output=True, text=True) + p= subprocess.run(['./scorecard', command], cwd='/Users/dhruvsachdev/Downloads/scorecard',capture_output=True, text=True) output = p.stdout.split('\n') required_output = output[4:20] scorecard = list() @@ -111,11 +108,11 @@ def generate_scorecard(self, repo_id, path): repo_deps = { 'repo_id': repo_id, - "ossf_active_status": scorecard[0][1], + 'ossf_automated_dendency_update_status': scorecard[1][1], "ossf_branch_protection_status": scorecard[2][1], "ossf_ci_tests_status": scorecard[3][1], - # "ossf_cii_badge_status": scorecard[4][1], + "ossf_cii_best_practices_status": scorecard[4][1], "ossf_code_review_status": scorecard[5][1], "ossf_contributors_status":scorecard[6][1], "ossf_frozen_deps_status": scorecard[7][1], @@ -126,10 +123,12 @@ def generate_scorecard(self, repo_id, path): "ossf_security_policy_status": scorecard[12][1], "ossf_signed_releases_status":scorecard[13][1], "ossf_signed_tags_status":scorecard[14][1], + 'ossf_token_permissions_status': scorecard[15][1], "ossf_active_score": scorecard[0][2], + 'ossf_automated_dendency_update_score': scorecard[1][2], "ossf_branch_protection_score":scorecard[2][2], "ossf_ci_tests_score": scorecard[3][2], - # "ossf_cii_badge_score": scorecard[4][2], + "ossf_cii_best_practices_score": scorecard[4][2], "ossf_code_review_score": scorecard[5][2], "ossf_contributors_score":scorecard[6][2], "ossf_frozen_deps_score": scorecard[7][2], @@ -140,15 +139,15 @@ def generate_scorecard(self, repo_id, path): "ossf_security_policy_score": scorecard[12][2], "ossf_signed_releases_score": scorecard[13][2], "ossf_signed_tags_score": scorecard[14][2], - - + 'ossf_token_permissions_score': scorecard[15][2], 'tool_source': self.tool_source, 'tool_version': self.tool_version, 'data_source': self.data_source, 'data_collection_date': datetime.now().strftime('%Y-%m-%dT%H:%M:%SZ') } - result = self.db.execute(self.repo_deps_scorecard.insert().values(repo_deps)) + result = self.db.execute(self.repo_deps_scorecard.insert().values(repo_deps)) + self.logger.info(f"Added OSSF scorecard data : {result.inserted_primary_key}") # for dep in deps: # repo_deps = { From 866b26c635ef21da2f94838cf37e0954422dcb5e Mon Sep 17 00:00:00 2001 From: Dhruv-Sachdev1313 Date: Tue, 22 Jun 2021 12:10:39 +0530 Subject: [PATCH 006/201] added path to scorecard in cwd and some comments Signed-off-by: Dhruv-Sachdev1313 --- workers/deps_worker/deps_worker.py | 20 ++++++-------------- 1 file changed, 6 insertions(+), 14 deletions(-) diff --git a/workers/deps_worker/deps_worker.py b/workers/deps_worker/deps_worker.py index f7677923ab..9fdb9ec399 100644 --- a/workers/deps_worker/deps_worker.py +++ b/workers/deps_worker/deps_worker.py @@ -95,13 +95,18 @@ def generate_scorecard(self, repo_id, path): self.logger.info('Generating scorecard data for repo') self.logger.info(f'Repo ID: {repo_id}, Path: {path}') + # we convert relative path in the format required by scorecard like github.com/chaoss/augur raw_path,_ = path.split('-') scorecard_repo_path = raw_path[2:] command = '--repo='+ scorecard_repo_path - p= subprocess.run(['./scorecard', command], cwd='/Users/dhruvsachdev/Downloads/scorecard',capture_output=True, text=True) + #this is path where our scorecard project is located + path_to_scorecard = os.environ['HOME'] + '/scorecard' + + p= subprocess.run(['./scorecard', command], cwd= path_to_scorecard ,capture_output=True, text=True) output = p.stdout.split('\n') required_output = output[4:20] + # here scorecard becomes a list of lists where it has list of 16 list in which each list is a test and has name, status and score. scorecard = list() for test in required_output: scorecard.append(test.split()) @@ -149,19 +154,6 @@ def generate_scorecard(self, repo_id, path): result = self.db.execute(self.repo_deps_scorecard.insert().values(repo_deps)) self.logger.info(f"Added OSSF scorecard data : {result.inserted_primary_key}") - # for dep in deps: - # repo_deps = { - # 'repo_id': repo_id, - # 'dep_name' : dep.name, - # 'dep_count' : dep.count, - # 'dep_language' : dep.language, - # 'tool_source': self.tool_source, - # 'tool_version': self.tool_version, - # 'data_source': self.data_source, - # 'data_collection_date': datetime.now().strftime('%Y-%m-%dT%H:%M:%SZ') - # } - # result = self.db.execute(self.repo_dependencies_table.insert().values(repo_deps)) - # self.logger.info(f"Added dep: {result.inserted_primary_key}") def generate_deps_data(self, repo_id, path): From 9a61262d4c15e2095bf98496e8ad5bc4e3b6bdff Mon Sep 17 00:00:00 2001 From: Dhruv-Sachdev1313 Date: Thu, 24 Jun 2021 18:36:51 +0530 Subject: [PATCH 007/201] added script to set env variables Signed-off-by: Dhruv-Sachdev1313 --- workers/deps_worker/deps_worker.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/workers/deps_worker/deps_worker.py b/workers/deps_worker/deps_worker.py index 9fdb9ec399..66e6f62f96 100644 --- a/workers/deps_worker/deps_worker.py +++ b/workers/deps_worker/deps_worker.py @@ -25,7 +25,7 @@ def __init__(self, config={}): models = ['deps', 'ossf_scorecard'] # Define the tables needed to insert, update, or delete on - data_tables = ['repo_dependencies', 'repo_deps_scorecard'] + data_tables = ['repo_dependencies', '_dev1_repo_deps_scorecard'] operations_tables = ['worker_history', 'worker_job'] @@ -103,6 +103,10 @@ def generate_scorecard(self, repo_id, path): #this is path where our scorecard project is located path_to_scorecard = os.environ['HOME'] + '/scorecard' + #setting the environment variable for scorecard if it does not exsists already + if 'GITHUB_AUTH_TOKEN' not in os.environ: + os.environ['GITHUB_AUTH_TOKEN'] = self.config['gh_api_key'] + p= subprocess.run(['./scorecard', command], cwd= path_to_scorecard ,capture_output=True, text=True) output = p.stdout.split('\n') required_output = output[4:20] @@ -151,7 +155,7 @@ def generate_scorecard(self, repo_id, path): 'data_collection_date': datetime.now().strftime('%Y-%m-%dT%H:%M:%SZ') } - result = self.db.execute(self.repo_deps_scorecard.insert().values(repo_deps)) + result = self.db.execute(self._dev1_repo_deps_scorecard.insert().values(repo_deps)) self.logger.info(f"Added OSSF scorecard data : {result.inserted_primary_key}") From 2e237bb1f967361f0394ac5c7bc88dcde6573981 Mon Sep 17 00:00:00 2001 From: Dhruv-Sachdev1313 Date: Thu, 24 Jun 2021 18:38:53 +0530 Subject: [PATCH 008/201] changes in scorecard install script Signed-off-by: Dhruv-Sachdev1313 --- scripts/install/workers.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scripts/install/workers.sh b/scripts/install/workers.sh index a804166d5f..61f804d5e1 100755 --- a/scripts/install/workers.sh +++ b/scripts/install/workers.sh @@ -46,7 +46,8 @@ done echo "Cloning OSSF Scorecard to generate scorecard data ..." git clone https://github.com/ossf/scorecard $HOME/scorecard -CURRENT_DIR = $PWD; +CURRENT_DIR=$PWD; cd $HOME/scorecard; go build; +echo "scorecard build done" cd $CURRENT_DIR \ No newline at end of file From 02c58aec7d76ec4e64c753656cb4b894af1cb0cb Mon Sep 17 00:00:00 2001 From: Dhruv-Sachdev1313 Date: Fri, 25 Jun 2021 17:01:27 +0530 Subject: [PATCH 009/201] added a check if scorecard exist Signed-off-by: Dhruv-Sachdev1313 --- scripts/install/workers.sh | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/scripts/install/workers.sh b/scripts/install/workers.sh index 61f804d5e1..9a8d56169b 100755 --- a/scripts/install/workers.sh +++ b/scripts/install/workers.sh @@ -44,10 +44,15 @@ do done -echo "Cloning OSSF Scorecard to generate scorecard data ..." -git clone https://github.com/ossf/scorecard $HOME/scorecard -CURRENT_DIR=$PWD; -cd $HOME/scorecard; -go build; -echo "scorecard build done" -cd $CURRENT_DIR \ No newline at end of file + +if [ -d "$HOME/scorecard" ]; then + echo " Scorecard already exists, skipping cloning ..." +else + echo "Cloning OSSF Scorecard to generate scorecard data ..." + git clone https://github.com/ossf/scorecard $HOME/scorecard + CURRENT_DIR=$PWD; + cd $HOME/scorecard; + go build; + echo "scorecard build done" + cd $CURRENT_DIR +fi From 5c9bd0473e57753ad09cd1006f964819137d32b8 Mon Sep 17 00:00:00 2001 From: IsaacMilarky Date: Wed, 30 Jun 2021 10:09:20 -0500 Subject: [PATCH 010/201] Creating new file for new parent class to Worker Signed-off-by: IsaacMilarky --- workers/worker_base.py | 35 +++-------------------------------- workers/worker_persistance.py | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 35 insertions(+), 32 deletions(-) create mode 100644 workers/worker_persistance.py diff --git a/workers/worker_base.py b/workers/worker_base.py index b1591e548b..541dd155a1 100644 --- a/workers/worker_base.py +++ b/workers/worker_base.py @@ -1,35 +1,4 @@ -#SPDX-License-Identifier: MIT -#WORK IN PROGRESS NOT TO BE USED AT ALL IN PRESENT STATE -""" Helper methods constant across all workers """ -import requests -import datetime -import time -import traceback -import json -import os -import sys -import math -import logging -import numpy -import copy -import concurrent -import multiprocessing -import psycopg2 -import csv -import io -from logging import FileHandler, Formatter, StreamHandler -from multiprocessing import Process, Queue, Pool -from os import getpid -import sqlalchemy as s -import pandas as pd -from pathlib import Path -from urllib.parse import urlparse, quote -from sqlalchemy.ext.automap import automap_base -from augur.config import AugurConfig -from augur.logging import AugurLogging -from sqlalchemy.sql.expression import bindparam -from concurrent import futures -import dask.dataframe as dd + #I figure I can seperate this class into at least three parts. #I should also look into the subclass and see what uses what. @@ -39,6 +8,8 @@ #2. Github/lab # Might be good to seperate the machine learning functionality into its own class too. +from workers.worker_persistance import * + class Worker(): ROOT_AUGUR_DIR = os.path.dirname(os.path.dirname(os.path.realpath(__file__))) diff --git a/workers/worker_persistance.py b/workers/worker_persistance.py new file mode 100644 index 0000000000..dbff689b79 --- /dev/null +++ b/workers/worker_persistance.py @@ -0,0 +1,32 @@ +#SPDX-License-Identifier: MIT +#WORK IN PROGRESS NOT TO BE USED AT ALL IN PRESENT STATE +""" Helper methods constant across all workers """ +import requests +import datetime +import time +import traceback +import json +import os +import sys +import math +import logging +import numpy +import copy +import concurrent +import multiprocessing +import psycopg2 +import csv +import io +from logging import FileHandler, Formatter, StreamHandler +from multiprocessing import Process, Queue, Pool +from os import getpid +import sqlalchemy as s +import pandas as pd +from pathlib import Path +from urllib.parse import urlparse, quote +from sqlalchemy.ext.automap import automap_base +from augur.config import AugurConfig +from augur.logging import AugurLogging +from sqlalchemy.sql.expression import bindparam +from concurrent import futures +import dask.dataframe as dd \ No newline at end of file From e7deb300c435618cbdf0671b4ec758e820720435 Mon Sep 17 00:00:00 2001 From: IsaacMilarky Date: Wed, 30 Jun 2021 11:28:41 -0500 Subject: [PATCH 011/201] This is going to be a much more involved refactor Signed-off-by: IsaacMilarky --- workers/worker_base.py | 152 ++++++++++++---------------------- workers/worker_persistance.py | 103 ++++++++++++++++++++++- 2 files changed, 155 insertions(+), 100 deletions(-) diff --git a/workers/worker_base.py b/workers/worker_base.py index 541dd155a1..bcde1016da 100644 --- a/workers/worker_base.py +++ b/workers/worker_base.py @@ -10,7 +10,7 @@ from workers.worker_persistance import * -class Worker(): +class Worker(Persistant): ROOT_AUGUR_DIR = os.path.dirname(os.path.dirname(os.path.realpath(__file__))) @@ -20,37 +20,22 @@ class Worker(): #Might cut down on these args to create subclasses def __init__(self, worker_type, config={}, given=[], models=[], data_tables=[], operations_tables=[]): + super.__init__(config,data_tables,operations_tables) self.worker_type = worker_type self.collection_start_time = None self._task = None # task currently being worked on (dict) self._child = None # process of currently running task (multiprocessing process) self._queue = Queue() # tasks stored here 1 at a time (in a mp queue so it can translate across multiple processes) - #These are for the database section - self.data_tables = data_tables - self.operations_tables = operations_tables - - self._root_augur_dir = Worker.ROOT_AUGUR_DIR - - # count of tuples inserted in the database (to store stats for each task in op tables) - self.update_counter = 0 - self.insert_counter = 0 - self._results_counter = 0 # if we are finishing a previous task, certain operations work differently self.finishing_task = False - # Update config with options that are general and not specific to any worker - self.augur_config = AugurConfig(self._root_augur_dir) #TODO: consider taking parts of this out for the base class and then overriding it in WorkerGitInterfaceable - self.config = { - 'worker_type': self.worker_type, - 'host': self.augur_config.get_value('Server', 'host'), - #'gh_api_key': self.augur_config.get_value('Database', 'key'), - #'gitlab_api_key': self.augur_config.get_value('Database', 'gitlab_api_key'), - 'offline_mode': False - } + self.config.update({'worker_type': self.worker_type}) + self.config.update(self.augur_config.get_section("Logging")) + #This needs to stay in this class try: worker_defaults = self.augur_config.get_default_config()['Workers'][self.config['worker_type']] self.config.update(worker_defaults) @@ -60,7 +45,6 @@ def __init__(self, worker_type, config={}, given=[], models=[], data_tables=[], worker_info = self.augur_config.get_value('Workers', self.config['worker_type']) self.config.update(worker_info) - #is it just grabbing the first avalable port for api calls? worker_port = self.config['port'] while True: try: @@ -72,19 +56,12 @@ def __init__(self, worker_type, config={}, given=[], models=[], data_tables=[], except: break - #add credentials to db config. Goes to databaseable + #Has to stay here because of the references to worker_type self.config.update({ 'port': worker_port, 'id': "workers.{}.{}".format(self.worker_type, worker_port), 'capture_output': False, - 'location': 'http://{}:{}'.format(self.config['host'], worker_port), - 'port_broker': self.augur_config.get_value('Server', 'port'), - 'host_broker': self.augur_config.get_value('Server', 'host'), - 'host_database': self.augur_config.get_value('Database', 'host'), - 'port_database': self.augur_config.get_value('Database', 'port'), - 'user_database': self.augur_config.get_value('Database', 'user'), - 'name_database': self.augur_config.get_value('Database', 'name'), - 'password_database': self.augur_config.get_value('Database', 'password') + 'location': 'http://{}:{}'.format(self.config['host'], worker_port) }) self.config.update(config) @@ -205,55 +182,6 @@ def initialize_logging(self): self.logger = logger - #database interface, the git interfaceable adds additional function to the super method. - def initialize_database_connections(self): - DB_STR = 'postgresql://{}:{}@{}:{}/{}'.format( - self.config['user_database'], self.config['password_database'], self.config['host_database'], self.config['port_database'], self.config['name_database'] - ) - - # Create an sqlalchemy engine for both database schemas - self.logger.info("Making database connections") - - db_schema = 'augur_data' - self.db = s.create_engine(DB_STR, poolclass=s.pool.NullPool, - connect_args={'options': '-csearch_path={}'.format(db_schema)}) - - helper_schema = 'augur_operations' - self.helper_db = s.create_engine(DB_STR, poolclass=s.pool.NullPool, - connect_args={'options': '-csearch_path={}'.format(helper_schema)}) - - metadata = s.MetaData() - helper_metadata = s.MetaData() - - # Reflect only the tables we will use for each schema's metadata object - metadata.reflect(self.db, only=self.data_tables) - helper_metadata.reflect(self.helper_db, only=self.operations_tables) - - Base = automap_base(metadata=metadata) - HelperBase = automap_base(metadata=helper_metadata) - - Base.prepare() - HelperBase.prepare() - - # So we can access all our tables when inserting, updating, etc - for table in self.data_tables: - setattr(self, '{}_table'.format(table), Base.classes[table].__table__) - - try: - self.logger.info(HelperBase.classes.keys()) - except: - pass - - for table in self.operations_tables: - try: - setattr(self, '{}_table'.format(table), HelperBase.classes[table].__table__) - except Exception as e: - self.logger.error("Error setting attribute for table: {} : {}".format(table, e)) - - # Increment so we are ready to insert the 'next one' of each of these most recent ids - self.history_id = self.get_max_id('worker_history', 'history_id', operations_table=True) + 1 - - @property def results_counter(self): """ Property that is returned when the worker's current results_counter is referenced """ @@ -774,22 +702,34 @@ def dump_queue(queue): # time.sleep(.1) return result - #doesn't even query the api just gets it based on the url string, can stay in base - def get_owner_repo(self, git_url): - """ Gets the owner and repository names of a repository from a git url + #Does logging specific to worker type + def initialize_database_connections(self): + #Do the actual database querys + super().initialize_database_connections() - :param git_url: String, the git url of a repository - :return: Tuple, includes the owner and repository names in that order - """ - split = git_url.split('/') + # Create an sqlalchemy engine for both database schemas + self.logger.info("Making database connections") - owner = split[-2] - repo = split[-1] + helper_metadata = s.MetaData() - if '.git' == repo[-4:]: - repo = repo[:-4] + HelperBase = automap_base(metadata=helper_metadata) - return owner, repo + try: + self.logger.info(HelperBase.classes.keys()) + except: + pass + + #This below part of the method needs to be here for logging purposes + + #Has to be handled by superclass for logging purposes + for table in self.operations_tables: + try: + setattr(self, '{}_table'.format(table), HelperBase.classes[table].__table__) + except Exception as e: + self.logger.error("Error setting attribute for table: {} : {}".format(table, e)) + + # Increment so we are ready to insert the 'next one' of each of these most recent ids + self.history_id = self.get_max_id('worker_history', 'history_id', operations_table=True) + 1 def get_max_id(self, table, column, default=25150, operations_table=False): """ Gets the max value (usually used for id/pk's) of any Integer column @@ -805,14 +745,10 @@ def get_max_id(self, table, column, default=25150, operations_table=False): the augur_data schema. Default False :return: Integer, the max value of the specified column/table """ - maxIdSQL = s.sql.text(""" - SELECT max({0}.{1}) AS {1} - FROM {0} - """.format(table, column)) - db = self.db if not operations_table else self.helper_db - rs = pd.read_sql(maxIdSQL, db, params={}) - if rs.iloc[0][column] is not None: - max_id = int(rs.iloc[0][column]) + 1 + + max_id = super().get_max_id(table,column,operations_table) + + if max_id is not None: self.logger.info("Found max id for {} column in the {} table: {}\n".format(column, table, max_id)) else: max_id = default @@ -820,6 +756,24 @@ def get_max_id(self, table, column, default=25150, operations_table=False): "using default set to: {}\n".format(column, table, max_id)) return max_id + + #doesn't even query the api just gets it based on the url string, can stay in base + def get_owner_repo(self, git_url): + """ Gets the owner and repository names of a repository from a git url + + :param git_url: String, the git url of a repository + :return: Tuple, includes the owner and repository names in that order + """ + split = git_url.split('/') + + owner = split[-2] + repo = split[-1] + + if '.git' == repo[-4:]: + repo = repo[:-4] + + return owner, repo + def get_table_values(self, cols, tables, where_clause=""): """ Can query all values of any column(s) from any table(s) with an optional where clause diff --git a/workers/worker_persistance.py b/workers/worker_persistance.py index dbff689b79..996f0212c5 100644 --- a/workers/worker_persistance.py +++ b/workers/worker_persistance.py @@ -29,4 +29,105 @@ from augur.logging import AugurLogging from sqlalchemy.sql.expression import bindparam from concurrent import futures -import dask.dataframe as dd \ No newline at end of file +import dask.dataframe as dd + +class Persistant(): + + ROOT_AUGUR_DIR = os.path.dirname(os.path.dirname(os.path.realpath(__file__))) + + def __init__(self, config={}, data_tables=[],operations_tables=[]): + self.data_tables = data_tables + self.operations_tables = operations_tables + + self._root_augur_dir = Persistant.ROOT_AUGUR_DIR + + # count of tuples inserted in the database ( to store stats for each task in op tables) + self.update_counter = 0 + self.insert_counter = 0 + self._results_counter = 0 + + # Update config with options that are general and not specific to any worker + self.augur_config = AugurConfig(self._root_augur_dir) + + self.config = { + #'worker_type': self.worker_type, + 'host': self.augur_config.get_value('Server', 'host'), + #'gh_api_key': self.augur_config.get_value('Database', 'key'), + #'gitlab_api_key': self.augur_config.get_value('Database', 'gitlab_api_key'), + 'offline_mode': False + } + self.config.update(self.augur_config.get_section("Logging")) + + self.config.update({ + #'port': worker_port, + #'id': "workers.{}.{}".format(self.worker_type, worker_port), + #'capture_output': False, + #'location': 'http://{}:{}'.format(self.config['host'], worker_port), + 'port_broker': self.augur_config.get_value('Server', 'port'), + 'host_broker': self.augur_config.get_value('Server', 'host'), + 'host_database': self.augur_config.get_value('Database', 'host'), + 'port_database': self.augur_config.get_value('Database', 'port'), + 'user_database': self.augur_config.get_value('Database', 'user'), + 'name_database': self.augur_config.get_value('Database', 'name'), + 'password_database': self.augur_config.get_value('Database', 'password') + }) + + #database interface, the git interfaceable adds additional function to the super method. + def initialize_database_connections(self): + DB_STR = 'postgresql://{}:{}@{}:{}/{}'.format( + self.config['user_database'], self.config['password_database'], self.config['host_database'], self.config['port_database'], self.config['name_database'] + ) + + db_schema = 'augur_data' + self.db = s.create_engine(DB_STR, poolclass=s.pool.NullPool, + connect_args={'options': '-csearch_path={}'.format(db_schema)}) + + helper_schema = 'augur_operations' + self.helper_db = s.create_engine(DB_STR, poolclass=s.pool.NullPool, + connect_args={'options': '-csearch_path={}'.format(helper_schema)}) + + metadata = s.MetaData() + helper_metadata = s.MetaData() + + # Reflect only the tables we will use for each schema's metadata object + metadata.reflect(self.db, only=self.data_tables) + helper_metadata.reflect(self.helper_db, only=self.operations_tables) + + Base = automap_base(metadata=metadata) + HelperBase = automap_base(metadata=helper_metadata) + + Base.prepare() + HelperBase.prepare() + + # So we can access all our tables when inserting, updating, etc + for table in self.data_tables: + setattr(self, '{}_table'.format(table), Base.classes[table].__table__) + + + def get_max_id(self, table, column, operations_table=False): + """ Gets the max value (usually used for id/pk's) of any Integer column + of any table + + :param table: String, the table that consists of the column you want to + query a max value for + :param column: String, the column that you want to query the max value for + :param operations_table: Boolean, if True, this signifies that the table/column + that is wanted to be queried is in the augur_operations schema rather than + the augur_data schema. Default False + :return: Integer, the max value of the specified column/table, None if the value cannot be found. + """ + maxIdSQL = s.sql.text(""" + SELECT max({0}.{1}) AS {1} + FROM {0} + """.format(table, column)) + db = self.db if not operations_table else self.helper_db + rs = pd.read_sql(maxIdSQL, db, params={}) + if rs.iloc[0][column] is not None: + max_id = int(rs.iloc[0][column]) + 1 + #self.logger.info("Found max id for {} column in the {} table: {}\n".format(column, table, max_id)) + else: + max_id = None + #self.logger.warning("Could not find max id for {} column in the {} table... " + + # "using default set to: {}\n".format(column, table, max_id)) + return max_id + From d25bfa7e7d84f19926825c5c620ba28339522efe Mon Sep 17 00:00:00 2001 From: IsaacMilarky Date: Wed, 30 Jun 2021 13:45:01 -0500 Subject: [PATCH 012/201] Structuring a Persistant class out of the base class. Might be a good idea to refactor out logging from that as well Signed-off-by: IsaacMilarky --- workers/worker_base.py | 179 ++++++++++++++-------------------- workers/worker_persistance.py | 127 +++++++++++------------- 2 files changed, 132 insertions(+), 174 deletions(-) diff --git a/workers/worker_base.py b/workers/worker_base.py index bcde1016da..f44891849e 100644 --- a/workers/worker_base.py +++ b/workers/worker_base.py @@ -10,7 +10,7 @@ from workers.worker_persistance import * -class Worker(Persistant): +class Worker(): ROOT_AUGUR_DIR = os.path.dirname(os.path.dirname(os.path.realpath(__file__))) @@ -20,8 +20,8 @@ class Worker(Persistant): #Might cut down on these args to create subclasses def __init__(self, worker_type, config={}, given=[], models=[], data_tables=[], operations_tables=[]): - super.__init__(config,data_tables,operations_tables) - self.worker_type = worker_type + #Construct the persistant functionality for the worker + super().__init__(worker_type,data_tables,operations_tables) self.collection_start_time = None self._task = None # task currently being worked on (dict) self._child = None # process of currently running task (multiprocessing process) @@ -29,52 +29,14 @@ def __init__(self, worker_type, config={}, given=[], models=[], data_tables=[], # if we are finishing a previous task, certain operations work differently self.finishing_task = False + # Update config with options that are general and not specific to any worker + self.augur_config = AugurConfig(self._root_augur_dir) #TODO: consider taking parts of this out for the base class and then overriding it in WorkerGitInterfaceable - self.config.update({'worker_type': self.worker_type}) + self.config.update({'offline_mode': False}) - self.config.update(self.augur_config.get_section("Logging")) - - #This needs to stay in this class - try: - worker_defaults = self.augur_config.get_default_config()['Workers'][self.config['worker_type']] - self.config.update(worker_defaults) - except KeyError as e: - logging.warn('Could not get default configuration for {}'.format(self.config['worker_type'])) - - worker_info = self.augur_config.get_value('Workers', self.config['worker_type']) - self.config.update(worker_info) - - worker_port = self.config['port'] - while True: - try: - r = requests.get('http://{}:{}/AUGWOP/heartbeat'.format( - self.config['host'], worker_port)).json() - if 'status' in r: - if r['status'] == 'alive': - worker_port += 1 - except: - break - - #Has to stay here because of the references to worker_type - self.config.update({ - 'port': worker_port, - 'id': "workers.{}.{}".format(self.worker_type, worker_port), - 'capture_output': False, - 'location': 'http://{}:{}'.format(self.config['host'], worker_port) - }) self.config.update(config) - # Initialize logging in the main process - self.initialize_logging() - - # Clear log contents from previous runs - open(self.config["server_logfile"], "w").close() - open(self.config["collection_logfile"], "w").close() - - # Get configured collection logger - self.logger = logging.getLogger(self.config["id"]) - self.logger.info('Worker (PID: {}) initializing...'.format(str(os.getpid()))) #base self.task_info = None @@ -86,20 +48,6 @@ def __init__(self, worker_type, config={}, given=[], models=[], data_tables=[], self.given = given self.models = models - #back to base, might be overwritten by git integration subclass? - self.debug_data = [] if 'debug_data' not in self.config else self.config['debug_data'] - self.specs = { - 'id': self.config['id'], # what the broker knows this worker as - 'location': self.config['location'], # host + port worker is running on (so broker can send tasks here) - 'qualifications': [ - { - 'given': self.given, # type of repo this worker can be given as a task - 'models': self.models # models this worker can fill for a repo as a task - } - ], - 'config': self.config - } - # Send broker hello message if self.config['offline_mode'] is False: self.connect_to_broker() @@ -182,6 +130,55 @@ def initialize_logging(self): self.logger = logger + #database interface, the git interfaceable adds additional function to the super method. + def initialize_database_connections(self): + DB_STR = 'postgresql://{}:{}@{}:{}/{}'.format( + self.config['user_database'], self.config['password_database'], self.config['host_database'], self.config['port_database'], self.config['name_database'] + ) + + # Create an sqlalchemy engine for both database schemas + self.logger.info("Making database connections") + + db_schema = 'augur_data' + self.db = s.create_engine(DB_STR, poolclass=s.pool.NullPool, + connect_args={'options': '-csearch_path={}'.format(db_schema)}) + + helper_schema = 'augur_operations' + self.helper_db = s.create_engine(DB_STR, poolclass=s.pool.NullPool, + connect_args={'options': '-csearch_path={}'.format(helper_schema)}) + + metadata = s.MetaData() + helper_metadata = s.MetaData() + + # Reflect only the tables we will use for each schema's metadata object + metadata.reflect(self.db, only=self.data_tables) + helper_metadata.reflect(self.helper_db, only=self.operations_tables) + + Base = automap_base(metadata=metadata) + HelperBase = automap_base(metadata=helper_metadata) + + Base.prepare() + HelperBase.prepare() + + # So we can access all our tables when inserting, updating, etc + for table in self.data_tables: + setattr(self, '{}_table'.format(table), Base.classes[table].__table__) + + try: + self.logger.info(HelperBase.classes.keys()) + except: + pass + + for table in self.operations_tables: + try: + setattr(self, '{}_table'.format(table), HelperBase.classes[table].__table__) + except Exception as e: + self.logger.error("Error setting attribute for table: {} : {}".format(table, e)) + + # Increment so we are ready to insert the 'next one' of each of these most recent ids + self.history_id = self.get_max_id('worker_history', 'history_id', operations_table=True) + 1 + + @property def results_counter(self): """ Property that is returned when the worker's current results_counter is referenced """ @@ -702,34 +699,22 @@ def dump_queue(queue): # time.sleep(.1) return result - #Does logging specific to worker type - def initialize_database_connections(self): - #Do the actual database querys - super().initialize_database_connections() - - # Create an sqlalchemy engine for both database schemas - self.logger.info("Making database connections") - - helper_metadata = s.MetaData() + #doesn't even query the api just gets it based on the url string, can stay in base + def get_owner_repo(self, git_url): + """ Gets the owner and repository names of a repository from a git url - HelperBase = automap_base(metadata=helper_metadata) + :param git_url: String, the git url of a repository + :return: Tuple, includes the owner and repository names in that order + """ + split = git_url.split('/') - try: - self.logger.info(HelperBase.classes.keys()) - except: - pass - - #This below part of the method needs to be here for logging purposes + owner = split[-2] + repo = split[-1] - #Has to be handled by superclass for logging purposes - for table in self.operations_tables: - try: - setattr(self, '{}_table'.format(table), HelperBase.classes[table].__table__) - except Exception as e: - self.logger.error("Error setting attribute for table: {} : {}".format(table, e)) + if '.git' == repo[-4:]: + repo = repo[:-4] - # Increment so we are ready to insert the 'next one' of each of these most recent ids - self.history_id = self.get_max_id('worker_history', 'history_id', operations_table=True) + 1 + return owner, repo def get_max_id(self, table, column, default=25150, operations_table=False): """ Gets the max value (usually used for id/pk's) of any Integer column @@ -745,10 +730,14 @@ def get_max_id(self, table, column, default=25150, operations_table=False): the augur_data schema. Default False :return: Integer, the max value of the specified column/table """ - - max_id = super().get_max_id(table,column,operations_table) - - if max_id is not None: + maxIdSQL = s.sql.text(""" + SELECT max({0}.{1}) AS {1} + FROM {0} + """.format(table, column)) + db = self.db if not operations_table else self.helper_db + rs = pd.read_sql(maxIdSQL, db, params={}) + if rs.iloc[0][column] is not None: + max_id = int(rs.iloc[0][column]) + 1 self.logger.info("Found max id for {} column in the {} table: {}\n".format(column, table, max_id)) else: max_id = default @@ -756,24 +745,6 @@ def get_max_id(self, table, column, default=25150, operations_table=False): "using default set to: {}\n".format(column, table, max_id)) return max_id - - #doesn't even query the api just gets it based on the url string, can stay in base - def get_owner_repo(self, git_url): - """ Gets the owner and repository names of a repository from a git url - - :param git_url: String, the git url of a repository - :return: Tuple, includes the owner and repository names in that order - """ - split = git_url.split('/') - - owner = split[-2] - repo = split[-1] - - if '.git' == repo[-4:]: - repo = repo[:-4] - - return owner, repo - def get_table_values(self, cols, tables, where_clause=""): """ Can query all values of any column(s) from any table(s) with an optional where clause diff --git a/workers/worker_persistance.py b/workers/worker_persistance.py index 996f0212c5..7d92f7a351 100644 --- a/workers/worker_persistance.py +++ b/workers/worker_persistance.py @@ -35,7 +35,10 @@ class Persistant(): ROOT_AUGUR_DIR = os.path.dirname(os.path.dirname(os.path.realpath(__file__))) - def __init__(self, config={}, data_tables=[],operations_tables=[]): + def __init__(self, worker_type, data_tables=[],operations_tables=[]): + + self.worker_type = worker_type + #For database functionality self.data_tables = data_tables self.operations_tables = operations_tables @@ -49,20 +52,39 @@ def __init__(self, config={}, data_tables=[],operations_tables=[]): # Update config with options that are general and not specific to any worker self.augur_config = AugurConfig(self._root_augur_dir) + #TODO: consider taking parts of this out for the base class and then overriding it in WorkerGitInterfaceable self.config = { - #'worker_type': self.worker_type, - 'host': self.augur_config.get_value('Server', 'host'), - #'gh_api_key': self.augur_config.get_value('Database', 'key'), - #'gitlab_api_key': self.augur_config.get_value('Database', 'gitlab_api_key'), - 'offline_mode': False + 'worker_type': self.worker_type, + 'host': self.augur_config.get_value('Server', 'host') } self.config.update(self.augur_config.get_section("Logging")) + try: + worker_defaults = self.augur_config.get_default_config()['Workers'][self.config['worker_type']] + self.config.update(worker_defaults) + except KeyError as e: + logging.warn('Could not get default configuration for {}'.format(self.config['worker_type'])) + + worker_info = self.augur_config.get_value('Workers', self.config['worker_type']) + self.config.update(worker_info) + + worker_port = self.config['port'] + while True: + try: + r = requests.get('http://{}:{}/AUGWOP/heartbeat'.format( + self.config['host'], worker_port)).json() + if 'status' in r: + if r['status'] == 'alive': + worker_port += 1 + except: + break + + #add credentials to db config. Goes to databaseable self.config.update({ - #'port': worker_port, - #'id': "workers.{}.{}".format(self.worker_type, worker_port), - #'capture_output': False, - #'location': 'http://{}:{}'.format(self.config['host'], worker_port), + 'port': worker_port, + 'id': "workers.{}.{}".format(self.worker_type, worker_port), + 'capture_output': False, + 'location': 'http://{}:{}'.format(self.config['host'], worker_port), 'port_broker': self.augur_config.get_value('Server', 'port'), 'host_broker': self.augur_config.get_value('Server', 'host'), 'host_database': self.augur_config.get_value('Database', 'host'), @@ -71,63 +93,28 @@ def __init__(self, config={}, data_tables=[],operations_tables=[]): 'name_database': self.augur_config.get_value('Database', 'name'), 'password_database': self.augur_config.get_value('Database', 'password') }) - - #database interface, the git interfaceable adds additional function to the super method. - def initialize_database_connections(self): - DB_STR = 'postgresql://{}:{}@{}:{}/{}'.format( - self.config['user_database'], self.config['password_database'], self.config['host_database'], self.config['port_database'], self.config['name_database'] - ) - - db_schema = 'augur_data' - self.db = s.create_engine(DB_STR, poolclass=s.pool.NullPool, - connect_args={'options': '-csearch_path={}'.format(db_schema)}) - - helper_schema = 'augur_operations' - self.helper_db = s.create_engine(DB_STR, poolclass=s.pool.NullPool, - connect_args={'options': '-csearch_path={}'.format(helper_schema)}) - - metadata = s.MetaData() - helper_metadata = s.MetaData() - - # Reflect only the tables we will use for each schema's metadata object - metadata.reflect(self.db, only=self.data_tables) - helper_metadata.reflect(self.helper_db, only=self.operations_tables) - - Base = automap_base(metadata=metadata) - HelperBase = automap_base(metadata=helper_metadata) - - Base.prepare() - HelperBase.prepare() - - # So we can access all our tables when inserting, updating, etc - for table in self.data_tables: - setattr(self, '{}_table'.format(table), Base.classes[table].__table__) - - - def get_max_id(self, table, column, operations_table=False): - """ Gets the max value (usually used for id/pk's) of any Integer column - of any table - - :param table: String, the table that consists of the column you want to - query a max value for - :param column: String, the column that you want to query the max value for - :param operations_table: Boolean, if True, this signifies that the table/column - that is wanted to be queried is in the augur_operations schema rather than - the augur_data schema. Default False - :return: Integer, the max value of the specified column/table, None if the value cannot be found. - """ - maxIdSQL = s.sql.text(""" - SELECT max({0}.{1}) AS {1} - FROM {0} - """.format(table, column)) - db = self.db if not operations_table else self.helper_db - rs = pd.read_sql(maxIdSQL, db, params={}) - if rs.iloc[0][column] is not None: - max_id = int(rs.iloc[0][column]) + 1 - #self.logger.info("Found max id for {} column in the {} table: {}\n".format(column, table, max_id)) - else: - max_id = None - #self.logger.warning("Could not find max id for {} column in the {} table... " + - # "using default set to: {}\n".format(column, table, max_id)) - return max_id - + + # Initialize logging in the main process + self.initialize_logging() + + # Clear log contents from previous runs + open(self.config["server_logfile"], "w").close() + open(self.config["collection_logfile"], "w").close() + + # Get configured collection logger + self.logger = logging.getLogger(self.config["id"]) + self.logger.info('Worker (PID: {}) initializing...'.format(str(os.getpid()))) + + #back to base, might be overwritten by git integration subclass? + self.debug_data = [] if 'debug_data' not in self.config else self.config['debug_data'] + self.specs = { + 'id': self.config['id'], # what the broker knows this worker as + 'location': self.config['location'], # host + port worker is running on (so broker can send tasks here) + 'qualifications': [ + { + 'given': self.given, # type of repo this worker can be given as a task + 'models': self.models # models this worker can fill for a repo as a task + } + ], + 'config': self.config + } \ No newline at end of file From a9ee59cb04848c29531886eb4cd908bbb146eba2 Mon Sep 17 00:00:00 2001 From: IsaacMilarky Date: Wed, 30 Jun 2021 14:14:17 -0500 Subject: [PATCH 013/201] Rough refactor done. Needs testing Signed-off-by: IsaacMilarky --- workers/worker_base.py | 1024 +-------------------------------- workers/worker_persistance.py | 1019 +++++++++++++++++++++++++++++++- 2 files changed, 1022 insertions(+), 1021 deletions(-) diff --git a/workers/worker_base.py b/workers/worker_base.py index f44891849e..a742afc53a 100644 --- a/workers/worker_base.py +++ b/workers/worker_base.py @@ -1,19 +1,17 @@ - +from workers.worker_persistance import * #I figure I can seperate this class into at least three parts. #I should also look into the subclass and see what uses what. # # Parts (Hierarchal relation) -#1. Base -#2. Github/lab +#1. Persistance +#2. Base +#3. Github/lab # Might be good to seperate the machine learning functionality into its own class too. -from workers.worker_persistance import * class Worker(): - ROOT_AUGUR_DIR = os.path.dirname(os.path.dirname(os.path.realpath(__file__))) - ## Set Thread Safety for OSX # os.system("./osx-thread.sh") @@ -61,123 +59,12 @@ def __init__(self, worker_type, config={}, given=[], models=[], data_tables=[], self.tool_version = '0.0.0' self.data_source = 'Augur Worker Testing' - #Return string representation of an object with all information needed to recreate the object (Think of it like a pickle made out of text) - #Called using repr(*object*). eval(repr(*object*)) == *object* - def __repr__(self): - return f"{self.config['id']}" - def write_debug_data(self, data, name): if name in self.debug_data: with open(f'{name}.json', 'w') as f: json.dump(data, f) - def initialize_logging(self): - #Get the log level in upper case from the augur config's logging section. - self.config['log_level'] = self.config['log_level'].upper() - if self.config['debug']: - self.config['log_level'] = 'DEBUG' - - if self.config['verbose']: - format_string = AugurLogging.verbose_format_string - else: - format_string = AugurLogging.simple_format_string - - #Use stock python formatter for stdout - formatter = Formatter(fmt=format_string) - #User custom for stderr, Gives more info than verbose_format_string - error_formatter = Formatter(fmt=AugurLogging.error_format_string) - - worker_dir = AugurLogging.get_log_directories(self.augur_config, reset_logfiles=False) + "/workers/" - Path(worker_dir).mkdir(exist_ok=True) - logfile_dir = worker_dir + f"/{self.worker_type}/" - Path(logfile_dir).mkdir(exist_ok=True) - - #Create more complex sublogs in the logfile directory determined by the AugurLogging class - server_logfile = logfile_dir + '{}_{}_server.log'.format(self.worker_type, self.config["port"]) - collection_logfile = logfile_dir + '{}_{}_collection.log'.format(self.worker_type, self.config["port"]) - collection_errorfile = logfile_dir + '{}_{}_collection.err'.format(self.worker_type, self.config["port"]) - self.config.update({ - 'logfile_dir': logfile_dir, - 'server_logfile': server_logfile, - 'collection_logfile': collection_logfile, - 'collection_errorfile': collection_errorfile - }) - - collection_file_handler = FileHandler(filename=self.config['collection_logfile'], mode="a") - collection_file_handler.setFormatter(formatter) - collection_file_handler.setLevel(self.config['log_level']) - - collection_errorfile_handler = FileHandler(filename=self.config['collection_errorfile'], mode="a") - collection_errorfile_handler.setFormatter(error_formatter) - collection_errorfile_handler.setLevel(logging.WARNING) - - logger = logging.getLogger(self.config['id']) - logger.handlers = [] - logger.addHandler(collection_file_handler) - logger.addHandler(collection_errorfile_handler) - logger.setLevel(self.config['log_level']) - logger.propagate = False - - if self.config['debug']: - self.config['log_level'] = 'DEBUG' - console_handler = StreamHandler() - console_handler.setFormatter(formatter) - console_handler.setLevel(self.config['log_level']) - logger.addHandler(console_handler) - - if self.config['quiet']: - logger.disabled = True - - self.logger = logger - - #database interface, the git interfaceable adds additional function to the super method. - def initialize_database_connections(self): - DB_STR = 'postgresql://{}:{}@{}:{}/{}'.format( - self.config['user_database'], self.config['password_database'], self.config['host_database'], self.config['port_database'], self.config['name_database'] - ) - - # Create an sqlalchemy engine for both database schemas - self.logger.info("Making database connections") - - db_schema = 'augur_data' - self.db = s.create_engine(DB_STR, poolclass=s.pool.NullPool, - connect_args={'options': '-csearch_path={}'.format(db_schema)}) - - helper_schema = 'augur_operations' - self.helper_db = s.create_engine(DB_STR, poolclass=s.pool.NullPool, - connect_args={'options': '-csearch_path={}'.format(helper_schema)}) - - metadata = s.MetaData() - helper_metadata = s.MetaData() - - # Reflect only the tables we will use for each schema's metadata object - metadata.reflect(self.db, only=self.data_tables) - helper_metadata.reflect(self.helper_db, only=self.operations_tables) - - Base = automap_base(metadata=metadata) - HelperBase = automap_base(metadata=helper_metadata) - - Base.prepare() - HelperBase.prepare() - - # So we can access all our tables when inserting, updating, etc - for table in self.data_tables: - setattr(self, '{}_table'.format(table), Base.classes[table].__table__) - - try: - self.logger.info(HelperBase.classes.keys()) - except: - pass - - for table in self.operations_tables: - try: - setattr(self, '{}_table'.format(table), HelperBase.classes[table].__table__) - except Exception as e: - self.logger.error("Error setting attribute for table: {} : {}".format(table, e)) - - # Increment so we are ready to insert the 'next one' of each of these most recent ids - self.history_id = self.get_max_id('worker_history', 'history_id', operations_table=True) + 1 - + @property def results_counter(self): """ Property that is returned when the worker's current results_counter is referenced @@ -295,382 +182,6 @@ def collect(self): self.helper_db.dispose() self.logger.info("Collection process finished") - #Make sure the type used to store date is synced with the worker? - def sync_df_types(self, subject, source, subject_columns, source_columns): - - type_dict = {} - for index in range(len(source_columns)): - if type(source[source_columns[index]].values[0]) == numpy.datetime64: - subject[subject_columns[index]] = pd.to_datetime( - subject[subject_columns[index]], utc=True - ) - source[source_columns[index]] = pd.to_datetime( - source[source_columns[index]], utc=True - ) - continue - type_dict[subject_columns[index]] = type(source[source_columns[index]].values[0]) - - subject = subject.astype(type_dict) - - return subject, source - - #Convert safely from sql type to python type? - def get_sqlalchemy_type(self, data, column_name=None): - if type(data) == str: - try: - time.strptime(data, "%Y-%m-%dT%H:%M:%SZ") - return s.types.TIMESTAMP - except ValueError: - return s.types.String - elif ( - isinstance(data, (int, numpy.integer)) - or (isinstance(data, float) and column_name and 'id' in column_name) - ): - return s.types.BigInteger - elif isinstance(data, float): - return s.types.Float - elif type(data) in [numpy.datetime64, pd._libs.tslibs.timestamps.Timestamp]: - return s.types.TIMESTAMP - elif column_name and 'id' in column_name: - return s.types.BigInteger - return s.types.String - - def _convert_float_nan_to_int(self, df): - for column in df.columns: - if ( - df[column].dtype == float - and ((df[column] % 1 == 0) | (df[column].isnull())).all() - ): - df[column] = df[column].astype("Int64").astype(object).where( - pd.notnull(df[column]), None - ) - return df - - def _setup_postgres_merge(self, data_sets, sort=False): - - metadata = s.MetaData() - - data_tables = [] - - # Setup/create tables - for index, data in enumerate(data_sets): - - data_table = s.schema.Table(f"merge_data_{index}_{os.getpid()}", metadata) - df = pd.DataFrame(data) - - columns = sorted(list(df.columns)) if sort else df.columns - df = self._convert_float_nan_to_int(df) - for column in columns: - data_table.append_column( - s.schema.Column( - column, self.get_sqlalchemy_type( - df.fillna(method='bfill').iloc[0][column], column_name=column - ) - ) - ) - - data_tables.append(data_table) - - metadata.create_all(self.db, checkfirst=True) - - # Insert data to tables - for data_table, data in zip(data_tables, data_sets): - self.bulk_insert( - data_table, insert=data, increment_counter=False, convert_float_int=True - ) - - session = s.orm.Session(self.db) - self.logger.info("Session created for merge tables") - - return data_tables, metadata, session - - def _close_postgres_merge(self, metadata, session): - - session.close() - self.logger.info("Session closed") - - # metadata.reflect(self.db, only=[new_data_table.name, table_values_table.name]) - metadata.drop_all(self.db, checkfirst=True) - self.logger.info("Merge tables dropped") - - def _get_data_set_columns(self, data, columns): - if not len(data): - return [] - self.logger.info("Getting data set columns") - df = pd.DataFrame(data, columns=data[0].keys()) - final_columns = copy.deepcopy(columns) - for column in columns: - if '.' not in column: - continue - root = column.split('.')[0] - if root not in df.columns: - df[root] = None - expanded_column = pd.DataFrame( - df[root].where(df[root].notna(), lambda x: [{}]).tolist() - ) - expanded_column.columns = [ - f'{root}.{attribute}' for attribute in expanded_column.columns - ] - if column not in expanded_column.columns: - expanded_column[column] = None - final_columns += list(expanded_column.columns) - try: - df = df.join(expanded_column) - except ValueError: - # columns already added (happens if trying to expand the same column twice) - # TODO: Catch this before by only looping unique prefixs? - self.logger.info("Columns have already been added, moving on...") - pass - self.logger.info(final_columns) - self.logger.info(list(set(final_columns))) - self.logger.info("Finished getting data set columns") - return df[list(set(final_columns))].to_dict(orient='records') - - def organize_needed_data( - self, new_data, table_values, table_pkey, action_map={}, in_memory=True - ): - - if len(table_values) == 0: - return new_data, [] - - if len(new_data) == 0: - return [], [] - - need_insertion = pd.DataFrame() - need_updates = pd.DataFrame() - - if not in_memory: - - new_data_columns = action_map['insert']['source'] - table_value_columns = action_map['insert']['augur'] - if 'update' in action_map: - new_data_columns += action_map['update']['source'] - table_value_columns += action_map['update']['augur'] - - (new_data_table, table_values_table), metadata, session = self._setup_postgres_merge( - [ - self._get_data_set_columns(new_data, new_data_columns), - self._get_data_set_columns(table_values, table_value_columns) - ] - ) - - need_insertion = pd.DataFrame(session.query(new_data_table).join(table_values_table, - eval( - ' and '.join([ - f"table_values_table.c.{table_column} == new_data_table.c.{source_column}" \ - for table_column, source_column in zip(action_map['insert']['augur'], - action_map['insert']['source']) - ]) - ), isouter=True).filter( - table_values_table.c[action_map['insert']['augur'][0]] == None - ).all(), columns=table_value_columns) - - self.logger.info("need_insertion calculated successfully") - - need_updates = pd.DataFrame(columns=table_value_columns) - if 'update' in action_map: - need_updates = pd.DataFrame(session.query(new_data_table).join(table_values_table, - s.and_( - eval(' and '.join([f"table_values_table.c.{table_column} == new_data_table.c.{source_column}" for \ - table_column, source_column in zip(action_map['insert']['augur'], action_map['insert']['source'])])), - - eval(' and '.join([f"table_values_table.c.{table_column} != new_data_table.c.{source_column}" for \ - table_column, source_column in zip(action_map['update']['augur'], action_map['update']['source'])])) - ) ).all(), columns=table_value_columns) - self.logger.info("need_updates calculated successfully") - - self._close_postgres_merge(metadata, session) - - new_data_df = pd.DataFrame(new_data) - - need_insertion, new_data_df = self.sync_df_types( - need_insertion, new_data_df, table_value_columns, new_data_columns - ) - need_insertion = need_insertion.merge( - new_data_df, how='inner', left_on=table_value_columns, right_on=new_data_columns - ) - - self.logger.info( - f"Table needs {len(need_insertion)} insertions and " - f"{len(need_updates)} updates.\n") - - else: - - table_values_df = pd.DataFrame(table_values, columns=table_values[0].keys()) - new_data_df = pd.DataFrame(new_data).dropna(subset=action_map['insert']['source']) - - new_data_df, table_values_df = self.sync_df_types(new_data_df, table_values_df, - action_map['insert']['source'], action_map['insert']['augur']) - - need_insertion = new_data_df.merge(table_values_df, suffixes=('','_table'), - how='outer', indicator=True, left_on=action_map['insert']['source'], - right_on=action_map['insert']['augur']).loc[lambda x : x['_merge']=='left_only'] - - if 'update' in action_map: - new_data_df, table_values_df = self.sync_df_types(new_data_df, table_values_df, - action_map['update']['source'], action_map['update']['augur']) - - partitions = math.ceil(len(new_data_df) / 1000) - attempts = 0 - while attempts < 50: - try: - need_updates = pd.DataFrame() - self.logger.info(f"Trying {partitions} partitions\n") - for sub_df in numpy.array_split(new_data_df, partitions): - self.logger.info(f"Trying a partition, len {len(sub_df)}\n") - need_updates = pd.concat([ need_updates, sub_df.merge(table_values_df, left_on=action_map['insert']['source'], - right_on=action_map['insert']['augur'], suffixes=('','_table'), how='inner', - indicator=False).merge(table_values_df, left_on=action_map['update']['source'], - right_on=action_map['update']['augur'], suffixes=('','_table'), how='outer', - indicator=True).loc[lambda x : x['_merge']=='left_only'] ]) - self.logger.info(f"need_updates merge: {len(sub_df)} worked\n") - break - - except MemoryError as e: - self.logger.info(f"new_data ({sub_df.shape}) is too large to allocate memory for " + - f"need_updates df merge.\nMemoryError: {e}\nTrying again with {partitions + 1} partitions...\n") - partitions += 1 - attempts += 1 - # self.logger.info(f"End attempt # {attempts}\n") - if attempts >= 50: - self.loggger.info("Max need_updates merge attempts exceeded, cannot perform " + - "updates on this repo.\n") - else: - need_updates = need_updates.drop([column for column in list(need_updates.columns) if \ - column not in action_map['update']['augur'] and column not in action_map['insert']['augur']], - axis='columns') - - for column in action_map['insert']['augur']: - need_updates[f'b_{column}'] = need_updates[column] - - need_updates = need_updates.drop([column for column in action_map['insert']['augur']], axis='columns') - - return need_insertion.to_dict('records'), need_updates.to_dict('records') - - def assign_tuple_action(self, new_data, table_values, update_col_map, duplicate_col_map, table_pkey, value_update_col_map={}): - """ DEPRECATED - Include an extra key-value pair on each element of new_data that represents - the action that should be taken with this element (i.e. 'need_insertion') - - :param new_data: List of dictionaries, data to be assigned an action to - :param table_values: Pandas DataFrame, existing data in the database to check - what action should be taken on the new_data depending on the presence of - each element in this DataFrame - :param update_col_map: Dictionary, maps the column names of the source data - to the field names in our database for columns that should be checked for - updates (if source data value != value in existing database row, then an - update is needed). Key is source data column name, value is database field name. - Example: {'id': 'gh_issue_id'} - :param duplicate_col_map: Dictionary, maps the column names of the source data - to the field names in our database for columns that should be checked for - duplicates (if source data value == value in existing database row, then this - element is a duplicate and would not need an insertion). Key is source data - column name, value is database field name. Example: {'id': 'gh_issue_id'} - :param table_pkey: String, the field name of the primary key of the table in - the database that we are checking the table_values for. - :param value_update_col_map: Dictionary, sometimes we add a new field to a table, - and we want to trigger an update of that row in the database even if all of the - data values are the same and would not need an update ordinarily. Checking for - a specific existing value in the database field allows us to do this. The key is the - name of the field in the database we are checking for a specific value to trigger - an update, the value is the value we are checking for equality to trigger an update. - Example: {'cntrb_id': None} - :return: List of dictionaries, contains all the same elements of new_data, except - each element now has an extra key-value pair with the key being 'flag', and - the value being 'need_insertion', 'need_update', or 'none' - """ - need_insertion_count = 0 - need_update_count = 0 - - if type(table_values) == list: - if len(table_values) > 0: - table_values = pd.DataFrame(table_values, columns=table_values[0].keys()) - else: - table_values = pd.DataFrame(table_values) - - for i, obj in enumerate(new_data): - if type(obj) != dict: - new_data[i] = {'flag': 'none'} - continue - - obj['flag'] = 'none' # default of no action needed - existing_tuple = None - for db_dupe_key in list(duplicate_col_map.keys()): - - if table_values.isin([obj[duplicate_col_map[db_dupe_key]]]).any().any(): - if table_values[table_values[db_dupe_key].isin( - [obj[duplicate_col_map[db_dupe_key]]])].to_dict('records'): - - existing_tuple = table_values[table_values[db_dupe_key].isin( - [obj[duplicate_col_map[db_dupe_key]]])].to_dict('records')[0] - continue - - obj['flag'] = 'need_insertion' - need_insertion_count += 1 - break - - if obj['flag'] == 'need_insertion': - continue - - if not existing_tuple: - self.logger.info('An existing tuple was not found for this data ' + - 'point and we have reached the check-updates portion of assigning ' + - 'tuple action, so we will now move to next data point\n') - continue - - # If we need to check the values of the existing tuple to determine if an update is needed - for augur_col, value_check in value_update_col_map.items(): - not_nan_check = not (math.isnan(value_check) and math.isnan(existing_tuple[augur_col])) if value_check is not None else True - if existing_tuple[augur_col] != value_check and not_nan_check: - continue - self.logger.info("Found a tuple that needs an update for column: {}\n".format(augur_col)) - obj['flag'] = 'need_update' - obj['pkey'] = existing_tuple[table_pkey] - need_update_count += 1 - - if obj['flag'] == 'need_update': - self.logger.info('Already determined that current tuple needs update, skipping checking further updates. ' - 'Moving to next tuple.\n') - continue - - # Now check the existing tuple's values against the response values to determine if an update is needed - for col in update_col_map.keys(): - if update_col_map[col] not in obj: - continue - if obj[update_col_map[col]] == existing_tuple[col]: - continue - self.logger.info("Found a tuple that needs an update for column: {}\n".format(col)) - obj['flag'] = 'need_update' - self.logger.info(existing_tuple) - obj['pkey'] = existing_tuple[table_pkey] - need_update_count += 1 - - self.logger.info("Page recieved has {} tuples, while filtering duplicates this ".format(len(new_data)) + - "was reduced to {} tuples, and {} tuple updates are needed.\n".format(need_insertion_count, need_update_count)) - return new_data - - def check_duplicates(self, new_data, table_values, key): - """ Filters what items of the new_data json (list of dictionaries) that are not - present in the table_values df - - :param new_data: List of dictionaries, new data to filter duplicates out of - :param table_values: Pandas DataFrame, existing data to check what data is already - present in the database - :param key: String, key of each dict in new_data whose value we are checking - duplicates with - :return: List of dictionaries, contains elements of new_data that are not already - present in the database - """ - need_insertion = [] - for obj in new_data: - if type(obj) != dict: - continue - if not table_values.isin([obj[key]]).any().any(): - need_insertion.append(obj) - self.logger.info("Page recieved has {} tuples, while filtering duplicates this ".format(str(len(new_data))) + - "was reduced to {} tuples.\n".format(str(len(need_insertion)))) - return need_insertion - def connect_to_broker(self): connected = False for i in range(5): @@ -716,502 +227,6 @@ def get_owner_repo(self, git_url): return owner, repo - def get_max_id(self, table, column, default=25150, operations_table=False): - """ Gets the max value (usually used for id/pk's) of any Integer column - of any table - - :param table: String, the table that consists of the column you want to - query a max value for - :param column: String, the column that you want to query the max value for - :param default: Integer, if there are no values in the - specified column, the value of this parameter will be returned - :param operations_table: Boolean, if True, this signifies that the table/column - that is wanted to be queried is in the augur_operations schema rather than - the augur_data schema. Default False - :return: Integer, the max value of the specified column/table - """ - maxIdSQL = s.sql.text(""" - SELECT max({0}.{1}) AS {1} - FROM {0} - """.format(table, column)) - db = self.db if not operations_table else self.helper_db - rs = pd.read_sql(maxIdSQL, db, params={}) - if rs.iloc[0][column] is not None: - max_id = int(rs.iloc[0][column]) + 1 - self.logger.info("Found max id for {} column in the {} table: {}\n".format(column, table, max_id)) - else: - max_id = default - self.logger.warning("Could not find max id for {} column in the {} table... " + - "using default set to: {}\n".format(column, table, max_id)) - return max_id - - def get_table_values(self, cols, tables, where_clause=""): - """ Can query all values of any column(s) from any table(s) - with an optional where clause - - :param cols: List of Strings, column(s) that user wants to query - :param tables: List of Strings, table(s) that user wants to query - :param where_clause: String, optional where clause to filter the values - queried - :return: Pandas DataFrame, contains all values queried in the columns, tables, and - optional where clause provided - """ - table_str = tables[0] - del tables[0] - - col_str = cols[0] - del cols[0] - - for table in tables: - table_str += ", " + table - for col in cols: - col_str += ", " + col - - table_values_sql = s.sql.text(""" - SELECT {} FROM {} {} - """.format(col_str, table_str, where_clause)) - self.logger.info("Getting table values with the following PSQL query: \n{}\n".format( - table_values_sql)) - values = pd.read_sql(table_values_sql, self.db, params={}) - return values - - - def bulk_insert( - self, table, insert=[], update=[], unique_columns=[], update_columns=[], - max_attempts=3, attempt_delay=3, increment_counter=True, convert_float_int=False - ): - """ Performs bulk inserts/updates of the given data to the given table - - :param table: String, name of the table that we are inserting/updating rows - :param insert: List of dicts, data points to insert - :param update: List of dicts, data points to update, only needs key/value - pairs of the update_columns and the unique_columns - :param unique_columns: List of strings, column names that would uniquely identify any - given data point - :param update_columns: List of strings, names of columns that are being updated - :param max_attempts: Integer, number of attempts to perform on inserting/updating - before moving on - :param attempt_delay: Integer, number of seconds to wait in between attempts - :returns: SQLAlchemy database execution response object(s), contains metadata - about number of rows inserted etc. This data is not often used. - """ - - self.logger.info( - f"{len(insert)} insertions are needed and {len(update)} " - f"updates are needed for {table}" - ) - - update_result = None - insert_result = None - - if len(update) > 0: - attempts = 0 - update_start_time = time.time() - while attempts < max_attempts: - try: - update_result = self.db.execute( - table.update().where( - eval( - ' and '.join( - [ - f"self.{table}_table.c.{key} == bindparam('b_{key}')" - for key in unique_columns - ] - ) - ) - ).values( - {key: key for key in update_columns} - ), - update - ) - if increment_counter: - self.update_counter += update_result.rowcount - self.logger.info( - f"Updated {update_result.rowcount} rows in " - f"{time.time() - update_start_time} seconds" - ) - break - except Exception as e: - self.logger.info(f"Warning! Error bulk updating data: {e}") - time.sleep(attempt_delay) - attempts += 1 - - if len(insert) > 0: - - insert_start_time = time.time() - - def psql_insert_copy(table, conn, keys, data_iter): - """ - Execute SQL statement inserting data - - Parameters - ---------- - table : pandas.io.sql.SQLTable - conn : sqlalchemy.engine.Engine or sqlalchemy.engine.Connection - keys : list of str - Column names - data_iter : Iterable that iterates the values to be inserted - """ - # gets a DBAPI connection that can provide a cursor - dbapi_conn = conn.connection - with dbapi_conn.cursor() as cur: - s_buf = io.StringIO() - writer = csv.writer(s_buf) - writer.writerows(data_iter) - s_buf.seek(0) - - columns = ', '.join('"{}"'.format(k) for k in keys) - if table.schema: - table_name = '{}.{}'.format(table.schema, table.name) - else: - table_name = table.name - - sql = 'COPY {} ({}) FROM STDIN WITH CSV'.format( - table_name, columns) - cur.copy_expert(sql=sql, file=s_buf) - - df = pd.DataFrame(insert) - if convert_float_int: - df = self._convert_float_nan_to_int(df) - df.to_sql( - name=table.name, - con=self.db, - if_exists="append", - index=False, - method=psql_insert_copy - ) - if increment_counter: - self.insert_counter += len(insert) - - self.logger.info( - f"Inserted {len(insert)} rows in {time.time() - insert_start_time} seconds " - "thanks to postgresql's COPY FROM CSV! :)" - ) - - return insert_result, update_result - - def text_clean(self, data, field): - """ "Cleans" the provided field of each dict in the list of dicts provided - by removing NUL (C text termination) characters - Example: "\u0000" - - :param data: List of dicts - :param field: String - :returns: Same data list with each element's field updated with NUL characters - removed - """ - return [ - { - **data_point, - field: data_point[field].replace("\x00", "\uFFFD") - } for data_point in data - ] - - def _add_nested_columns(self, df, column_names): - # todo: support deeper nests (>1) and only expand necessary columns - # todo: merge with _get_data_set_columns - - for column in column_names: - if '.' not in column: - continue - root = column.split('.')[0] - if root not in df.columns: - df[root] = None - expanded_column = pd.DataFrame( - df[root].where(df[root].notna(), lambda x: [{}]).tolist() - ) - expanded_column.columns = [ - f'{root}.{attribute}' for attribute in expanded_column.columns - ] - if column not in expanded_column.columns: - expanded_column[column] = None - try: - df = df.join(expanded_column) - except ValueError: - # columns already added (happens if trying to expand the same column twice) - # TODO: Catch this before by only looping unique prefixs? - pass - - return df - - - def enrich_data_primary_keys( - self, source_data, table, gh_merge_fields, augur_merge_fields, in_memory=False - ): - - self.logger.info("Preparing to enrich data.\n") - - if len(source_data) == 0: - self.logger.info("There is no source data to enrich.\n") - return source_data - - source_df = self._add_nested_columns(pd.DataFrame(source_data), gh_merge_fields) - - if not in_memory: - - source_pk_columns = list(source_df.columns) - source_pk_columns.insert(0, list(table.primary_key)[0].name) - - (source_table, ), metadata, session = self._setup_postgres_merge( - # [self._get_data_set_columns(source_data, gh_merge_fields)] - [source_df.to_dict(orient='records')] - ) - - source_pk = pd.DataFrame( - - # eval( - # "session.query(" - # + ", ".join( - # [ - # f"table.c['{column}']" for column in [list(table.primary_key)[0].name] - # + augur_merge_fields - # ] - # ) - # + ")" - # ) - session.query( - table.c[list(table.primary_key)[0].name], - source_table - # eval( - # f"table.c['{list(table.primary_key)[0].name}'], " - # + ", ".join( - # [ - # f"source_table.c['{column}']" for column in source_pk_columns - # ] - # ) - # ) - ).join( - source_table, - eval( - ' and '.join( - [ - f"table.c['{table_column}'] == source_table.c['{source_column}']" - for table_column, source_column in zip( - augur_merge_fields, gh_merge_fields - ) - ] - ) - ) - ).all(), columns=source_pk_columns # gh_merge_fields - ) - - source_pk = self._eval_json_columns(source_pk) - - # source_pk, source_df = self.sync_df_types( - # source_pk, source_df, gh_merge_fields, gh_merge_fields - # ) - # source_pk = source_pk.merge(source_df, how='inner', on=gh_merge_fields) - - self.logger.info("source_pk calculated successfully") - - self._close_postgres_merge(metadata, session) - self.logger.info("Done") - - else: - - # s_tuple = s.tuple_([table.c[field] for field in augur_merge_fields]) - # s_tuple.__dict__['clauses'] = s_tuple.__dict__['clauses'][0].effective_value - # s_tuple.__dict__['_type_tuple'] = [] - # for field in augur_merge_fields: - # s_tuple.__dict__['_type_tuple'].append(table.c[field].__dict__['type']) - - # try: - # primary_keys = self.db.execute(s.sql.select( - # [table.c[field] for field in augur_merge_fields] + [table.c[list(table.primary_key)[0].name]] - # ).where( - # s_tuple.in_( - - # list(source_df[gh_merge_fields].itertuples(index=False)) - # ))).fetchall() - # except psycopg2.errors.StatementTooComplex as e: - self.logger.info("Retrieve pk statement too complex, querying all instead " + - "and performing partitioned merge.\n") - all_primary_keys = self.db.execute(s.sql.select( - [table.c[field] for field in augur_merge_fields] + [table.c[list(table.primary_key)[0].name]] - )).fetchall() - self.logger.info("Queried all") - all_primary_keys_df = pd.DataFrame(all_primary_keys, - columns=augur_merge_fields + [list(table.primary_key)[0].name]) - self.logger.info("Converted to df") - - source_df, all_primary_keys_df = self.sync_df_types(source_df, all_primary_keys_df, - gh_merge_fields, augur_merge_fields) - - self.logger.info("Synced df types") - - partitions = math.ceil(len(source_df) / 600)#1000) - attempts = 0 - while attempts < 50: - try: - source_pk = pd.DataFrame() - self.logger.info(f"Trying {partitions} partitions of new data, {len(all_primary_keys_df)} " + - "pk data points to enrich\n") - for sub_df in numpy.array_split(source_df, partitions): - self.logger.info(f"Trying a partition, len {len(sub_df)}\n") - source_pk = pd.concat([ source_pk, sub_df.merge(all_primary_keys_df, suffixes=('','_table'), - how='inner', left_on=gh_merge_fields, right_on=augur_merge_fields) ]) - self.logger.info(f"source_pk merge: {len(sub_df)} worked\n") - break - - except MemoryError as e: - self.logger.info(f"new_data ({sub_df.shape}) is too large to allocate memory for " + - f"source_pk df merge.\nMemoryError: {e}\nTrying again with {partitions + 1} partitions...\n") - partitions += 1 - attempts += 1 - # self.logger.info(f"End attempt # {attempts}\n") - if attempts >= 50: - self.logger.info("Max source_pk merge attempts exceeded, cannot perform " + - "updates on this repo.\n") - else: - self.logger.info(f"Data enrichment successful, length: {len(source_pk)}\n") - - # all_primary_keys_df.to_json(path_or_buf='all_primary_keys_df.json', orient='records') - - # all_primary_keys_dask_df = dd.from_pandas(all_primary_keys_df, chunksize=1000) - # source_dask_df = dd.from_pandas(source_df, chunksize=1000) - # result = json.loads(source_dask_df.merge(all_primary_keys_dask_df, suffixes=('','_table'), - # how='inner', left_on=gh_merge_fields, right_on=augur_merge_fields).compute( - # ).to_json(default_handler=str, orient='records')) - return source_pk.to_dict(orient='records') - - # if len(primary_keys) > 0: - # primary_keys_df = pd.DataFrame(primary_keys, - # columns=augur_merge_fields + [list(table.primary_key)[0].name]) - # else: - # self.logger.info("There are no inserted primary keys to enrich the source data with.\n") - # return [] - - # source_df, primary_keys_df = self.sync_df_types(source_df, primary_keys_df, - # gh_merge_fields, augur_merge_fields) - - # source_df = dd.from_pandas(source_df, chunksize=1000) - # primary_keys_df = dd.from_pandas(primary_keys_df, chunksize=1000) - - # result = json.loads(source_df.merge(primary_keys_df, suffixes=('','_table'), - # how='inner', left_on=gh_merge_fields, right_on=augur_merge_fields).compute().to_json( - # default_handler=str, orient='records')) - - # self.logger.info("Data enrichment successful.\n") - # return result - - def _eval_json_columns(self, df): - if not len(df): - return df - for column in df.columns: - first_valid_value = df.fillna(method='bfill').iloc[0][column] - if isinstance(first_valid_value, str): - if ( - first_valid_value[0] == '{' and first_valid_value[-1] == '}' - or first_valid_value[0] == '[' and first_valid_value[-1] == ']' - ): - df[column] = df[column].fillna("'null_placeholder'").apply(eval).replace( - "null_placeholder", numpy.nan - ).where(df[column].notna(), lambda x: [{}]) - return df - - def new_organize_needed_data( - self, new_data, augur_table=None, where_clause=True, action_map={} - ): - - self.logger.info(f"Beginning to organize needed data from {len(new_data)} data points...") - - if len(new_data) == 0: - return [], [] - - new_data_columns = pd.DataFrame(new_data).columns - - # # new_data_columns = copy.deepcopy(action_map['insert']['source']) - # table_value_columns = copy.deepcopy(action_map['insert']['augur']) - # - # if 'update' in action_map: - # # new_data_columns += action_map['update']['source'] - # table_value_columns += action_map['update']['augur'] - - (new_data_table, ), metadata, session = self._setup_postgres_merge( - [ - new_data - # self._get_data_set_columns(new_data, new_data_columns) - ] - ) - - need_insertion = pd.DataFrame( - session.query(new_data_table).join( - augur_table, - eval( - ' and '.join( - [ - f"augur_table.c['{table_column}'] == new_data_table.c['{source_column}']" - for table_column, source_column in zip( - action_map['insert']['augur'], action_map['insert']['source'] - ) - ] - ) - ), isouter=True - ).filter( - augur_table.c[action_map['insert']['augur'][0]] == None - ).all(), columns=new_data_columns # table_value_columns - ) - - need_insertion = self._eval_json_columns(need_insertion) - - # new_data_df = pd.DataFrame(new_data) - - # need_insertion, new_data_df = self.sync_df_types( - # need_insertion, new_data_df, table_value_columns, new_data_columns - # ) - # need_insertion = need_insertion.merge( - # new_data_df, how='inner', left_on=table_value_columns, right_on=new_data_columns - # ) - - self.logger.info("need_insertion calculated successfully") - - need_updates = pd.DataFrame(columns=new_data_columns) - if 'update' in action_map: - need_updates = pd.DataFrame( - session.query(new_data_table).join( - augur_table, - s.and_( - eval( - ' and '.join( - [ - ( - f"augur_table.c.{table_column} " - f"== new_data_table.c.{source_column}" - ) for table_column, source_column in zip( - action_map['insert']['augur'], - action_map['insert']['source'] - ) - ] - ) - ), - - eval( - ' and '.join( - [ - ( - f"augur_table.c.{table_column} " - f"!= new_data_table.c.{source_column}" - ) for table_column, source_column in zip( - action_map['update']['augur'], - action_map['update']['source'] - ) - ] - ) - ) - ) - ).all(), columns=new_data_columns - ) - self.logger.info("need_updates calculated successfully") - - self._close_postgres_merge(metadata, session) - - self.logger.info( - f"Table needs {len(need_insertion)} insertions and " - f"{len(need_updates)} updates.\n" - ) - - return need_insertion.to_dict('records'), need_updates.to_dict('records') - def record_model_process(self, repo_id, model): task_history = { @@ -1389,32 +404,3 @@ def register_task_failure(self, task, repo_id, e): # Reset results counter for next task self.results_counter = 0 - - def get_relevant_columns(self, table, action_map={}): - columns = copy.deepcopy(action_map['update']['augur']) if 'update' in action_map else [] - columns += action_map['value_update']['augur'] if 'value_update' in action_map else [] - columns += action_map['insert']['augur'] if 'insert' in action_map else [] - return [table.c[column] for column in - columns + [list(table.primary_key)[0].name]] - - def retrieve_tuple(self, key_values, tables): - table_str = tables[0] - del tables[0] - - key_values_items = list(key_values.items()) - for col, value in [key_values_items[0]]: - where_str = col + " = '" + value + "'" - del key_values_items[0] - - for col, value in key_values_items: - where_str += ' AND ' + col + " = '" + value + "'" - for table in tables: - table_str += ", " + table - - retrieveTupleSQL = s.sql.text(""" - SELECT * FROM {} WHERE {} - """.format(table_str, where_str)) - values = json.loads( - pd.read_sql(retrieveTupleSQL, self.db, params={}).to_json(orient="records") - ) - return values diff --git a/workers/worker_persistance.py b/workers/worker_persistance.py index 7d92f7a351..954e5b4314 100644 --- a/workers/worker_persistance.py +++ b/workers/worker_persistance.py @@ -1,5 +1,4 @@ #SPDX-License-Identifier: MIT -#WORK IN PROGRESS NOT TO BE USED AT ALL IN PRESENT STATE """ Helper methods constant across all workers """ import requests import datetime @@ -117,4 +116,1020 @@ def __init__(self, worker_type, data_tables=[],operations_tables=[]): } ], 'config': self.config - } \ No newline at end of file + } + + #Return string representation of an object with all information needed to recreate the object (Think of it like a pickle made out of text) + #Called using repr(*object*). eval(repr(*object*)) == *object* + def __repr__(self): + return f"{self.config['id']}" + + def initialize_logging(self): + #Get the log level in upper case from the augur config's logging section. + self.config['log_level'] = self.config['log_level'].upper() + if self.config['debug']: + self.config['log_level'] = 'DEBUG' + + if self.config['verbose']: + format_string = AugurLogging.verbose_format_string + else: + format_string = AugurLogging.simple_format_string + + #Use stock python formatter for stdout + formatter = Formatter(fmt=format_string) + #User custom for stderr, Gives more info than verbose_format_string + error_formatter = Formatter(fmt=AugurLogging.error_format_string) + + worker_dir = AugurLogging.get_log_directories(self.augur_config, reset_logfiles=False) + "/workers/" + Path(worker_dir).mkdir(exist_ok=True) + logfile_dir = worker_dir + f"/{self.worker_type}/" + Path(logfile_dir).mkdir(exist_ok=True) + + #Create more complex sublogs in the logfile directory determined by the AugurLogging class + server_logfile = logfile_dir + '{}_{}_server.log'.format(self.worker_type, self.config["port"]) + collection_logfile = logfile_dir + '{}_{}_collection.log'.format(self.worker_type, self.config["port"]) + collection_errorfile = logfile_dir + '{}_{}_collection.err'.format(self.worker_type, self.config["port"]) + self.config.update({ + 'logfile_dir': logfile_dir, + 'server_logfile': server_logfile, + 'collection_logfile': collection_logfile, + 'collection_errorfile': collection_errorfile + }) + + collection_file_handler = FileHandler(filename=self.config['collection_logfile'], mode="a") + collection_file_handler.setFormatter(formatter) + collection_file_handler.setLevel(self.config['log_level']) + + collection_errorfile_handler = FileHandler(filename=self.config['collection_errorfile'], mode="a") + collection_errorfile_handler.setFormatter(error_formatter) + collection_errorfile_handler.setLevel(logging.WARNING) + + logger = logging.getLogger(self.config['id']) + logger.handlers = [] + logger.addHandler(collection_file_handler) + logger.addHandler(collection_errorfile_handler) + logger.setLevel(self.config['log_level']) + logger.propagate = False + + if self.config['debug']: + self.config['log_level'] = 'DEBUG' + console_handler = StreamHandler() + console_handler.setFormatter(formatter) + console_handler.setLevel(self.config['log_level']) + logger.addHandler(console_handler) + + if self.config['quiet']: + logger.disabled = True + + self.logger = logger + + #database interface, the git interfaceable adds additional function to the super method. + def initialize_database_connections(self): + DB_STR = 'postgresql://{}:{}@{}:{}/{}'.format( + self.config['user_database'], self.config['password_database'], self.config['host_database'], self.config['port_database'], self.config['name_database'] + ) + + # Create an sqlalchemy engine for both database schemas + self.logger.info("Making database connections") + + db_schema = 'augur_data' + self.db = s.create_engine(DB_STR, poolclass=s.pool.NullPool, + connect_args={'options': '-csearch_path={}'.format(db_schema)}) + + helper_schema = 'augur_operations' + self.helper_db = s.create_engine(DB_STR, poolclass=s.pool.NullPool, + connect_args={'options': '-csearch_path={}'.format(helper_schema)}) + + metadata = s.MetaData() + helper_metadata = s.MetaData() + + # Reflect only the tables we will use for each schema's metadata object + metadata.reflect(self.db, only=self.data_tables) + helper_metadata.reflect(self.helper_db, only=self.operations_tables) + + Base = automap_base(metadata=metadata) + HelperBase = automap_base(metadata=helper_metadata) + + Base.prepare() + HelperBase.prepare() + + # So we can access all our tables when inserting, updating, etc + for table in self.data_tables: + setattr(self, '{}_table'.format(table), Base.classes[table].__table__) + + try: + self.logger.info(HelperBase.classes.keys()) + except: + pass + + for table in self.operations_tables: + try: + setattr(self, '{}_table'.format(table), HelperBase.classes[table].__table__) + except Exception as e: + self.logger.error("Error setting attribute for table: {} : {}".format(table, e)) + + # Increment so we are ready to insert the 'next one' of each of these most recent ids + self.history_id = self.get_max_id('worker_history', 'history_id', operations_table=True) + 1 + + #Make sure the type used to store date is synced with the worker? + def sync_df_types(self, subject, source, subject_columns, source_columns): + + type_dict = {} + for index in range(len(source_columns)): + if type(source[source_columns[index]].values[0]) == numpy.datetime64: + subject[subject_columns[index]] = pd.to_datetime( + subject[subject_columns[index]], utc=True + ) + source[source_columns[index]] = pd.to_datetime( + source[source_columns[index]], utc=True + ) + continue + type_dict[subject_columns[index]] = type(source[source_columns[index]].values[0]) + + subject = subject.astype(type_dict) + + return subject, source + + #Convert safely from sql type to python type? + def get_sqlalchemy_type(self, data, column_name=None): + if type(data) == str: + try: + time.strptime(data, "%Y-%m-%dT%H:%M:%SZ") + return s.types.TIMESTAMP + except ValueError: + return s.types.String + elif ( + isinstance(data, (int, numpy.integer)) + or (isinstance(data, float) and column_name and 'id' in column_name) + ): + return s.types.BigInteger + elif isinstance(data, float): + return s.types.Float + elif type(data) in [numpy.datetime64, pd._libs.tslibs.timestamps.Timestamp]: + return s.types.TIMESTAMP + elif column_name and 'id' in column_name: + return s.types.BigInteger + return s.types.String + + def _convert_float_nan_to_int(self, df): + for column in df.columns: + if ( + df[column].dtype == float + and ((df[column] % 1 == 0) | (df[column].isnull())).all() + ): + df[column] = df[column].astype("Int64").astype(object).where( + pd.notnull(df[column]), None + ) + return df + + def _setup_postgres_merge(self, data_sets, sort=False): + + metadata = s.MetaData() + + data_tables = [] + + # Setup/create tables + for index, data in enumerate(data_sets): + + data_table = s.schema.Table(f"merge_data_{index}_{os.getpid()}", metadata) + df = pd.DataFrame(data) + + columns = sorted(list(df.columns)) if sort else df.columns + df = self._convert_float_nan_to_int(df) + for column in columns: + data_table.append_column( + s.schema.Column( + column, self.get_sqlalchemy_type( + df.fillna(method='bfill').iloc[0][column], column_name=column + ) + ) + ) + + data_tables.append(data_table) + + metadata.create_all(self.db, checkfirst=True) + + # Insert data to tables + for data_table, data in zip(data_tables, data_sets): + self.bulk_insert( + data_table, insert=data, increment_counter=False, convert_float_int=True + ) + + session = s.orm.Session(self.db) + self.logger.info("Session created for merge tables") + + return data_tables, metadata, session + + def _close_postgres_merge(self, metadata, session): + + session.close() + self.logger.info("Session closed") + + # metadata.reflect(self.db, only=[new_data_table.name, table_values_table.name]) + metadata.drop_all(self.db, checkfirst=True) + self.logger.info("Merge tables dropped") + + def _get_data_set_columns(self, data, columns): + if not len(data): + return [] + self.logger.info("Getting data set columns") + df = pd.DataFrame(data, columns=data[0].keys()) + final_columns = copy.deepcopy(columns) + for column in columns: + if '.' not in column: + continue + root = column.split('.')[0] + if root not in df.columns: + df[root] = None + expanded_column = pd.DataFrame( + df[root].where(df[root].notna(), lambda x: [{}]).tolist() + ) + expanded_column.columns = [ + f'{root}.{attribute}' for attribute in expanded_column.columns + ] + if column not in expanded_column.columns: + expanded_column[column] = None + final_columns += list(expanded_column.columns) + try: + df = df.join(expanded_column) + except ValueError: + # columns already added (happens if trying to expand the same column twice) + # TODO: Catch this before by only looping unique prefixs? + self.logger.info("Columns have already been added, moving on...") + pass + self.logger.info(final_columns) + self.logger.info(list(set(final_columns))) + self.logger.info("Finished getting data set columns") + return df[list(set(final_columns))].to_dict(orient='records') + + + def organize_needed_data( + self, new_data, table_values, table_pkey, action_map={}, in_memory=True + ): + + if len(table_values) == 0: + return new_data, [] + + if len(new_data) == 0: + return [], [] + + need_insertion = pd.DataFrame() + need_updates = pd.DataFrame() + + if not in_memory: + + new_data_columns = action_map['insert']['source'] + table_value_columns = action_map['insert']['augur'] + if 'update' in action_map: + new_data_columns += action_map['update']['source'] + table_value_columns += action_map['update']['augur'] + + (new_data_table, table_values_table), metadata, session = self._setup_postgres_merge( + [ + self._get_data_set_columns(new_data, new_data_columns), + self._get_data_set_columns(table_values, table_value_columns) + ] + ) + + need_insertion = pd.DataFrame(session.query(new_data_table).join(table_values_table, + eval( + ' and '.join([ + f"table_values_table.c.{table_column} == new_data_table.c.{source_column}" \ + for table_column, source_column in zip(action_map['insert']['augur'], + action_map['insert']['source']) + ]) + ), isouter=True).filter( + table_values_table.c[action_map['insert']['augur'][0]] == None + ).all(), columns=table_value_columns) + + self.logger.info("need_insertion calculated successfully") + + need_updates = pd.DataFrame(columns=table_value_columns) + if 'update' in action_map: + need_updates = pd.DataFrame(session.query(new_data_table).join(table_values_table, + s.and_( + eval(' and '.join([f"table_values_table.c.{table_column} == new_data_table.c.{source_column}" for \ + table_column, source_column in zip(action_map['insert']['augur'], action_map['insert']['source'])])), + + eval(' and '.join([f"table_values_table.c.{table_column} != new_data_table.c.{source_column}" for \ + table_column, source_column in zip(action_map['update']['augur'], action_map['update']['source'])])) + ) ).all(), columns=table_value_columns) + self.logger.info("need_updates calculated successfully") + + self._close_postgres_merge(metadata, session) + + new_data_df = pd.DataFrame(new_data) + + need_insertion, new_data_df = self.sync_df_types( + need_insertion, new_data_df, table_value_columns, new_data_columns + ) + need_insertion = need_insertion.merge( + new_data_df, how='inner', left_on=table_value_columns, right_on=new_data_columns + ) + + self.logger.info( + f"Table needs {len(need_insertion)} insertions and " + f"{len(need_updates)} updates.\n") + + else: + + table_values_df = pd.DataFrame(table_values, columns=table_values[0].keys()) + new_data_df = pd.DataFrame(new_data).dropna(subset=action_map['insert']['source']) + + new_data_df, table_values_df = self.sync_df_types(new_data_df, table_values_df, + action_map['insert']['source'], action_map['insert']['augur']) + + need_insertion = new_data_df.merge(table_values_df, suffixes=('','_table'), + how='outer', indicator=True, left_on=action_map['insert']['source'], + right_on=action_map['insert']['augur']).loc[lambda x : x['_merge']=='left_only'] + + if 'update' in action_map: + new_data_df, table_values_df = self.sync_df_types(new_data_df, table_values_df, + action_map['update']['source'], action_map['update']['augur']) + + partitions = math.ceil(len(new_data_df) / 1000) + attempts = 0 + while attempts < 50: + try: + need_updates = pd.DataFrame() + self.logger.info(f"Trying {partitions} partitions\n") + for sub_df in numpy.array_split(new_data_df, partitions): + self.logger.info(f"Trying a partition, len {len(sub_df)}\n") + need_updates = pd.concat([ need_updates, sub_df.merge(table_values_df, left_on=action_map['insert']['source'], + right_on=action_map['insert']['augur'], suffixes=('','_table'), how='inner', + indicator=False).merge(table_values_df, left_on=action_map['update']['source'], + right_on=action_map['update']['augur'], suffixes=('','_table'), how='outer', + indicator=True).loc[lambda x : x['_merge']=='left_only'] ]) + self.logger.info(f"need_updates merge: {len(sub_df)} worked\n") + break + + except MemoryError as e: + self.logger.info(f"new_data ({sub_df.shape}) is too large to allocate memory for " + + f"need_updates df merge.\nMemoryError: {e}\nTrying again with {partitions + 1} partitions...\n") + partitions += 1 + attempts += 1 + # self.logger.info(f"End attempt # {attempts}\n") + if attempts >= 50: + self.loggger.info("Max need_updates merge attempts exceeded, cannot perform " + + "updates on this repo.\n") + else: + need_updates = need_updates.drop([column for column in list(need_updates.columns) if \ + column not in action_map['update']['augur'] and column not in action_map['insert']['augur']], + axis='columns') + + for column in action_map['insert']['augur']: + need_updates[f'b_{column}'] = need_updates[column] + + need_updates = need_updates.drop([column for column in action_map['insert']['augur']], axis='columns') + + return need_insertion.to_dict('records'), need_updates.to_dict('records') + + + def assign_tuple_action(self, new_data, table_values, update_col_map, duplicate_col_map, table_pkey, value_update_col_map={}): + """ DEPRECATED + Include an extra key-value pair on each element of new_data that represents + the action that should be taken with this element (i.e. 'need_insertion') + + :param new_data: List of dictionaries, data to be assigned an action to + :param table_values: Pandas DataFrame, existing data in the database to check + what action should be taken on the new_data depending on the presence of + each element in this DataFrame + :param update_col_map: Dictionary, maps the column names of the source data + to the field names in our database for columns that should be checked for + updates (if source data value != value in existing database row, then an + update is needed). Key is source data column name, value is database field name. + Example: {'id': 'gh_issue_id'} + :param duplicate_col_map: Dictionary, maps the column names of the source data + to the field names in our database for columns that should be checked for + duplicates (if source data value == value in existing database row, then this + element is a duplicate and would not need an insertion). Key is source data + column name, value is database field name. Example: {'id': 'gh_issue_id'} + :param table_pkey: String, the field name of the primary key of the table in + the database that we are checking the table_values for. + :param value_update_col_map: Dictionary, sometimes we add a new field to a table, + and we want to trigger an update of that row in the database even if all of the + data values are the same and would not need an update ordinarily. Checking for + a specific existing value in the database field allows us to do this. The key is the + name of the field in the database we are checking for a specific value to trigger + an update, the value is the value we are checking for equality to trigger an update. + Example: {'cntrb_id': None} + :return: List of dictionaries, contains all the same elements of new_data, except + each element now has an extra key-value pair with the key being 'flag', and + the value being 'need_insertion', 'need_update', or 'none' + """ + need_insertion_count = 0 + need_update_count = 0 + + if type(table_values) == list: + if len(table_values) > 0: + table_values = pd.DataFrame(table_values, columns=table_values[0].keys()) + else: + table_values = pd.DataFrame(table_values) + + for i, obj in enumerate(new_data): + if type(obj) != dict: + new_data[i] = {'flag': 'none'} + continue + + obj['flag'] = 'none' # default of no action needed + existing_tuple = None + for db_dupe_key in list(duplicate_col_map.keys()): + + if table_values.isin([obj[duplicate_col_map[db_dupe_key]]]).any().any(): + if table_values[table_values[db_dupe_key].isin( + [obj[duplicate_col_map[db_dupe_key]]])].to_dict('records'): + + existing_tuple = table_values[table_values[db_dupe_key].isin( + [obj[duplicate_col_map[db_dupe_key]]])].to_dict('records')[0] + continue + + obj['flag'] = 'need_insertion' + need_insertion_count += 1 + break + + if obj['flag'] == 'need_insertion': + continue + + if not existing_tuple: + self.logger.info('An existing tuple was not found for this data ' + + 'point and we have reached the check-updates portion of assigning ' + + 'tuple action, so we will now move to next data point\n') + continue + + # If we need to check the values of the existing tuple to determine if an update is needed + for augur_col, value_check in value_update_col_map.items(): + not_nan_check = not (math.isnan(value_check) and math.isnan(existing_tuple[augur_col])) if value_check is not None else True + if existing_tuple[augur_col] != value_check and not_nan_check: + continue + self.logger.info("Found a tuple that needs an update for column: {}\n".format(augur_col)) + obj['flag'] = 'need_update' + obj['pkey'] = existing_tuple[table_pkey] + need_update_count += 1 + + if obj['flag'] == 'need_update': + self.logger.info('Already determined that current tuple needs update, skipping checking further updates. ' + 'Moving to next tuple.\n') + continue + + # Now check the existing tuple's values against the response values to determine if an update is needed + for col in update_col_map.keys(): + if update_col_map[col] not in obj: + continue + if obj[update_col_map[col]] == existing_tuple[col]: + continue + self.logger.info("Found a tuple that needs an update for column: {}\n".format(col)) + obj['flag'] = 'need_update' + self.logger.info(existing_tuple) + obj['pkey'] = existing_tuple[table_pkey] + need_update_count += 1 + + self.logger.info("Page recieved has {} tuples, while filtering duplicates this ".format(len(new_data)) + + "was reduced to {} tuples, and {} tuple updates are needed.\n".format(need_insertion_count, need_update_count)) + return new_data + + def check_duplicates(self, new_data, table_values, key): + """ Filters what items of the new_data json (list of dictionaries) that are not + present in the table_values df + + :param new_data: List of dictionaries, new data to filter duplicates out of + :param table_values: Pandas DataFrame, existing data to check what data is already + present in the database + :param key: String, key of each dict in new_data whose value we are checking + duplicates with + :return: List of dictionaries, contains elements of new_data that are not already + present in the database + """ + need_insertion = [] + for obj in new_data: + if type(obj) != dict: + continue + if not table_values.isin([obj[key]]).any().any(): + need_insertion.append(obj) + self.logger.info("Page recieved has {} tuples, while filtering duplicates this ".format(str(len(new_data))) + + "was reduced to {} tuples.\n".format(str(len(need_insertion)))) + return need_insertion + + + def get_max_id(self, table, column, default=25150, operations_table=False): + """ Gets the max value (usually used for id/pk's) of any Integer column + of any table + + :param table: String, the table that consists of the column you want to + query a max value for + :param column: String, the column that you want to query the max value for + :param default: Integer, if there are no values in the + specified column, the value of this parameter will be returned + :param operations_table: Boolean, if True, this signifies that the table/column + that is wanted to be queried is in the augur_operations schema rather than + the augur_data schema. Default False + :return: Integer, the max value of the specified column/table + """ + maxIdSQL = s.sql.text(""" + SELECT max({0}.{1}) AS {1} + FROM {0} + """.format(table, column)) + db = self.db if not operations_table else self.helper_db + rs = pd.read_sql(maxIdSQL, db, params={}) + if rs.iloc[0][column] is not None: + max_id = int(rs.iloc[0][column]) + 1 + self.logger.info("Found max id for {} column in the {} table: {}\n".format(column, table, max_id)) + else: + max_id = default + self.logger.warning("Could not find max id for {} column in the {} table... " + + "using default set to: {}\n".format(column, table, max_id)) + return max_id + + def get_table_values(self, cols, tables, where_clause=""): + """ Can query all values of any column(s) from any table(s) + with an optional where clause + + :param cols: List of Strings, column(s) that user wants to query + :param tables: List of Strings, table(s) that user wants to query + :param where_clause: String, optional where clause to filter the values + queried + :return: Pandas DataFrame, contains all values queried in the columns, tables, and + optional where clause provided + """ + table_str = tables[0] + del tables[0] + + col_str = cols[0] + del cols[0] + + for table in tables: + table_str += ", " + table + for col in cols: + col_str += ", " + col + + table_values_sql = s.sql.text(""" + SELECT {} FROM {} {} + """.format(col_str, table_str, where_clause)) + self.logger.info("Getting table values with the following PSQL query: \n{}\n".format( + table_values_sql)) + values = pd.read_sql(table_values_sql, self.db, params={}) + return values + + + def bulk_insert( + self, table, insert=[], update=[], unique_columns=[], update_columns=[], + max_attempts=3, attempt_delay=3, increment_counter=True, convert_float_int=False + ): + """ Performs bulk inserts/updates of the given data to the given table + + :param table: String, name of the table that we are inserting/updating rows + :param insert: List of dicts, data points to insert + :param update: List of dicts, data points to update, only needs key/value + pairs of the update_columns and the unique_columns + :param unique_columns: List of strings, column names that would uniquely identify any + given data point + :param update_columns: List of strings, names of columns that are being updated + :param max_attempts: Integer, number of attempts to perform on inserting/updating + before moving on + :param attempt_delay: Integer, number of seconds to wait in between attempts + :returns: SQLAlchemy database execution response object(s), contains metadata + about number of rows inserted etc. This data is not often used. + """ + + self.logger.info( + f"{len(insert)} insertions are needed and {len(update)} " + f"updates are needed for {table}" + ) + + update_result = None + insert_result = None + + if len(update) > 0: + attempts = 0 + update_start_time = time.time() + while attempts < max_attempts: + try: + update_result = self.db.execute( + table.update().where( + eval( + ' and '.join( + [ + f"self.{table}_table.c.{key} == bindparam('b_{key}')" + for key in unique_columns + ] + ) + ) + ).values( + {key: key for key in update_columns} + ), + update + ) + if increment_counter: + self.update_counter += update_result.rowcount + self.logger.info( + f"Updated {update_result.rowcount} rows in " + f"{time.time() - update_start_time} seconds" + ) + break + except Exception as e: + self.logger.info(f"Warning! Error bulk updating data: {e}") + time.sleep(attempt_delay) + attempts += 1 + + if len(insert) > 0: + + insert_start_time = time.time() + + def psql_insert_copy(table, conn, keys, data_iter): + """ + Execute SQL statement inserting data + + Parameters + ---------- + table : pandas.io.sql.SQLTable + conn : sqlalchemy.engine.Engine or sqlalchemy.engine.Connection + keys : list of str + Column names + data_iter : Iterable that iterates the values to be inserted + """ + # gets a DBAPI connection that can provide a cursor + dbapi_conn = conn.connection + with dbapi_conn.cursor() as cur: + s_buf = io.StringIO() + writer = csv.writer(s_buf) + writer.writerows(data_iter) + s_buf.seek(0) + + columns = ', '.join('"{}"'.format(k) for k in keys) + if table.schema: + table_name = '{}.{}'.format(table.schema, table.name) + else: + table_name = table.name + + sql = 'COPY {} ({}) FROM STDIN WITH CSV'.format( + table_name, columns) + cur.copy_expert(sql=sql, file=s_buf) + + df = pd.DataFrame(insert) + if convert_float_int: + df = self._convert_float_nan_to_int(df) + df.to_sql( + name=table.name, + con=self.db, + if_exists="append", + index=False, + method=psql_insert_copy + ) + if increment_counter: + self.insert_counter += len(insert) + + self.logger.info( + f"Inserted {len(insert)} rows in {time.time() - insert_start_time} seconds " + "thanks to postgresql's COPY FROM CSV! :)" + ) + + return insert_result, update_result + + def text_clean(self, data, field): + """ "Cleans" the provided field of each dict in the list of dicts provided + by removing NUL (C text termination) characters + Example: "\u0000" + + :param data: List of dicts + :param field: String + :returns: Same data list with each element's field updated with NUL characters + removed + """ + return [ + { + **data_point, + field: data_point[field].replace("\x00", "\uFFFD") + } for data_point in data + ] + + def _add_nested_columns(self, df, column_names): + # todo: support deeper nests (>1) and only expand necessary columns + # todo: merge with _get_data_set_columns + + for column in column_names: + if '.' not in column: + continue + root = column.split('.')[0] + if root not in df.columns: + df[root] = None + expanded_column = pd.DataFrame( + df[root].where(df[root].notna(), lambda x: [{}]).tolist() + ) + expanded_column.columns = [ + f'{root}.{attribute}' for attribute in expanded_column.columns + ] + if column not in expanded_column.columns: + expanded_column[column] = None + try: + df = df.join(expanded_column) + except ValueError: + # columns already added (happens if trying to expand the same column twice) + # TODO: Catch this before by only looping unique prefixs? + pass + + return df + + + def enrich_data_primary_keys( + self, source_data, table, gh_merge_fields, augur_merge_fields, in_memory=False + ): + + self.logger.info("Preparing to enrich data.\n") + + if len(source_data) == 0: + self.logger.info("There is no source data to enrich.\n") + return source_data + + source_df = self._add_nested_columns(pd.DataFrame(source_data), gh_merge_fields) + + if not in_memory: + + source_pk_columns = list(source_df.columns) + source_pk_columns.insert(0, list(table.primary_key)[0].name) + + (source_table, ), metadata, session = self._setup_postgres_merge( + # [self._get_data_set_columns(source_data, gh_merge_fields)] + [source_df.to_dict(orient='records')] + ) + + source_pk = pd.DataFrame( + + # eval( + # "session.query(" + # + ", ".join( + # [ + # f"table.c['{column}']" for column in [list(table.primary_key)[0].name] + # + augur_merge_fields + # ] + # ) + # + ")" + # ) + session.query( + table.c[list(table.primary_key)[0].name], + source_table + # eval( + # f"table.c['{list(table.primary_key)[0].name}'], " + # + ", ".join( + # [ + # f"source_table.c['{column}']" for column in source_pk_columns + # ] + # ) + # ) + ).join( + source_table, + eval( + ' and '.join( + [ + f"table.c['{table_column}'] == source_table.c['{source_column}']" + for table_column, source_column in zip( + augur_merge_fields, gh_merge_fields + ) + ] + ) + ) + ).all(), columns=source_pk_columns # gh_merge_fields + ) + + source_pk = self._eval_json_columns(source_pk) + + # source_pk, source_df = self.sync_df_types( + # source_pk, source_df, gh_merge_fields, gh_merge_fields + # ) + # source_pk = source_pk.merge(source_df, how='inner', on=gh_merge_fields) + + self.logger.info("source_pk calculated successfully") + + self._close_postgres_merge(metadata, session) + self.logger.info("Done") + + else: + + # s_tuple = s.tuple_([table.c[field] for field in augur_merge_fields]) + # s_tuple.__dict__['clauses'] = s_tuple.__dict__['clauses'][0].effective_value + # s_tuple.__dict__['_type_tuple'] = [] + # for field in augur_merge_fields: + # s_tuple.__dict__['_type_tuple'].append(table.c[field].__dict__['type']) + + # try: + # primary_keys = self.db.execute(s.sql.select( + # [table.c[field] for field in augur_merge_fields] + [table.c[list(table.primary_key)[0].name]] + # ).where( + # s_tuple.in_( + + # list(source_df[gh_merge_fields].itertuples(index=False)) + # ))).fetchall() + # except psycopg2.errors.StatementTooComplex as e: + self.logger.info("Retrieve pk statement too complex, querying all instead " + + "and performing partitioned merge.\n") + all_primary_keys = self.db.execute(s.sql.select( + [table.c[field] for field in augur_merge_fields] + [table.c[list(table.primary_key)[0].name]] + )).fetchall() + self.logger.info("Queried all") + all_primary_keys_df = pd.DataFrame(all_primary_keys, + columns=augur_merge_fields + [list(table.primary_key)[0].name]) + self.logger.info("Converted to df") + + source_df, all_primary_keys_df = self.sync_df_types(source_df, all_primary_keys_df, + gh_merge_fields, augur_merge_fields) + + self.logger.info("Synced df types") + + partitions = math.ceil(len(source_df) / 600)#1000) + attempts = 0 + while attempts < 50: + try: + source_pk = pd.DataFrame() + self.logger.info(f"Trying {partitions} partitions of new data, {len(all_primary_keys_df)} " + + "pk data points to enrich\n") + for sub_df in numpy.array_split(source_df, partitions): + self.logger.info(f"Trying a partition, len {len(sub_df)}\n") + source_pk = pd.concat([ source_pk, sub_df.merge(all_primary_keys_df, suffixes=('','_table'), + how='inner', left_on=gh_merge_fields, right_on=augur_merge_fields) ]) + self.logger.info(f"source_pk merge: {len(sub_df)} worked\n") + break + + except MemoryError as e: + self.logger.info(f"new_data ({sub_df.shape}) is too large to allocate memory for " + + f"source_pk df merge.\nMemoryError: {e}\nTrying again with {partitions + 1} partitions...\n") + partitions += 1 + attempts += 1 + # self.logger.info(f"End attempt # {attempts}\n") + if attempts >= 50: + self.logger.info("Max source_pk merge attempts exceeded, cannot perform " + + "updates on this repo.\n") + else: + self.logger.info(f"Data enrichment successful, length: {len(source_pk)}\n") + + # all_primary_keys_df.to_json(path_or_buf='all_primary_keys_df.json', orient='records') + + # all_primary_keys_dask_df = dd.from_pandas(all_primary_keys_df, chunksize=1000) + # source_dask_df = dd.from_pandas(source_df, chunksize=1000) + # result = json.loads(source_dask_df.merge(all_primary_keys_dask_df, suffixes=('','_table'), + # how='inner', left_on=gh_merge_fields, right_on=augur_merge_fields).compute( + # ).to_json(default_handler=str, orient='records')) + return source_pk.to_dict(orient='records') + + # if len(primary_keys) > 0: + # primary_keys_df = pd.DataFrame(primary_keys, + # columns=augur_merge_fields + [list(table.primary_key)[0].name]) + # else: + # self.logger.info("There are no inserted primary keys to enrich the source data with.\n") + # return [] + + # source_df, primary_keys_df = self.sync_df_types(source_df, primary_keys_df, + # gh_merge_fields, augur_merge_fields) + + # source_df = dd.from_pandas(source_df, chunksize=1000) + # primary_keys_df = dd.from_pandas(primary_keys_df, chunksize=1000) + + # result = json.loads(source_df.merge(primary_keys_df, suffixes=('','_table'), + # how='inner', left_on=gh_merge_fields, right_on=augur_merge_fields).compute().to_json( + # default_handler=str, orient='records')) + + # self.logger.info("Data enrichment successful.\n") + # return result + + def _eval_json_columns(self, df): + if not len(df): + return df + for column in df.columns: + first_valid_value = df.fillna(method='bfill').iloc[0][column] + if isinstance(first_valid_value, str): + if ( + first_valid_value[0] == '{' and first_valid_value[-1] == '}' + or first_valid_value[0] == '[' and first_valid_value[-1] == ']' + ): + df[column] = df[column].fillna("'null_placeholder'").apply(eval).replace( + "null_placeholder", numpy.nan + ).where(df[column].notna(), lambda x: [{}]) + return df + + def new_organize_needed_data( + self, new_data, augur_table=None, where_clause=True, action_map={} + ): + + self.logger.info(f"Beginning to organize needed data from {len(new_data)} data points...") + + if len(new_data) == 0: + return [], [] + + new_data_columns = pd.DataFrame(new_data).columns + + # # new_data_columns = copy.deepcopy(action_map['insert']['source']) + # table_value_columns = copy.deepcopy(action_map['insert']['augur']) + # + # if 'update' in action_map: + # # new_data_columns += action_map['update']['source'] + # table_value_columns += action_map['update']['augur'] + + (new_data_table, ), metadata, session = self._setup_postgres_merge( + [ + new_data + # self._get_data_set_columns(new_data, new_data_columns) + ] + ) + + need_insertion = pd.DataFrame( + session.query(new_data_table).join( + augur_table, + eval( + ' and '.join( + [ + f"augur_table.c['{table_column}'] == new_data_table.c['{source_column}']" + for table_column, source_column in zip( + action_map['insert']['augur'], action_map['insert']['source'] + ) + ] + ) + ), isouter=True + ).filter( + augur_table.c[action_map['insert']['augur'][0]] == None + ).all(), columns=new_data_columns # table_value_columns + ) + + need_insertion = self._eval_json_columns(need_insertion) + + # new_data_df = pd.DataFrame(new_data) + + # need_insertion, new_data_df = self.sync_df_types( + # need_insertion, new_data_df, table_value_columns, new_data_columns + # ) + # need_insertion = need_insertion.merge( + # new_data_df, how='inner', left_on=table_value_columns, right_on=new_data_columns + # ) + + self.logger.info("need_insertion calculated successfully") + + need_updates = pd.DataFrame(columns=new_data_columns) + if 'update' in action_map: + need_updates = pd.DataFrame( + session.query(new_data_table).join( + augur_table, + s.and_( + eval( + ' and '.join( + [ + ( + f"augur_table.c.{table_column} " + f"== new_data_table.c.{source_column}" + ) for table_column, source_column in zip( + action_map['insert']['augur'], + action_map['insert']['source'] + ) + ] + ) + ), + + eval( + ' and '.join( + [ + ( + f"augur_table.c.{table_column} " + f"!= new_data_table.c.{source_column}" + ) for table_column, source_column in zip( + action_map['update']['augur'], + action_map['update']['source'] + ) + ] + ) + ) + ) + ).all(), columns=new_data_columns + ) + self.logger.info("need_updates calculated successfully") + + self._close_postgres_merge(metadata, session) + + self.logger.info( + f"Table needs {len(need_insertion)} insertions and " + f"{len(need_updates)} updates.\n" + ) + + return need_insertion.to_dict('records'), need_updates.to_dict('records') + + def get_relevant_columns(self, table, action_map={}): + columns = copy.deepcopy(action_map['update']['augur']) if 'update' in action_map else [] + columns += action_map['value_update']['augur'] if 'value_update' in action_map else [] + columns += action_map['insert']['augur'] if 'insert' in action_map else [] + return [table.c[column] for column in + columns + [list(table.primary_key)[0].name]] + + def retrieve_tuple(self, key_values, tables): + table_str = tables[0] + del tables[0] + + key_values_items = list(key_values.items()) + for col, value in [key_values_items[0]]: + where_str = col + " = '" + value + "'" + del key_values_items[0] + + for col, value in key_values_items: + where_str += ' AND ' + col + " = '" + value + "'" + for table in tables: + table_str += ", " + table + + retrieveTupleSQL = s.sql.text(""" + SELECT * FROM {} WHERE {} + """.format(table_str, where_str)) + values = json.loads( + pd.read_sql(retrieveTupleSQL, self.db, params={}).to_json(orient="records") + ) + return values From 8001d00a27946d85625236983e4d9ffa2c98c322 Mon Sep 17 00:00:00 2001 From: IsaacMilarky Date: Wed, 30 Jun 2021 15:43:46 -0500 Subject: [PATCH 014/201] Rough refactor has been tested a little bit. The pull_request_worker starts like normal Signed-off-by: IsaacMilarky --- workers/worker_base.py | 18 ++++++++++++++++-- workers/worker_persistance.py | 14 -------------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/workers/worker_base.py b/workers/worker_base.py index a742afc53a..83d1679540 100644 --- a/workers/worker_base.py +++ b/workers/worker_base.py @@ -10,7 +10,7 @@ # Might be good to seperate the machine learning functionality into its own class too. -class Worker(): +class Worker(Persistant): ## Set Thread Safety for OSX # os.system("./osx-thread.sh") @@ -46,6 +46,20 @@ def __init__(self, worker_type, config={}, given=[], models=[], data_tables=[], self.given = given self.models = models + #back to base, might be overwritten by git integration subclass? + self.debug_data = [] if 'debug_data' not in self.config else self.config['debug_data'] + self.specs = { + 'id': self.config['id'], # what the broker knows this worker as + 'location': self.config['location'], # host + port worker is running on (so broker can send tasks here) + 'qualifications': [ + { + 'given': self.given, # type of repo this worker can be given as a task + 'models': self.models # models this worker can fill for a repo as a task + } + ], + 'config': self.config + } + # Send broker hello message if self.config['offline_mode'] is False: self.connect_to_broker() @@ -58,7 +72,7 @@ def __init__(self, worker_type, config={}, given=[], models=[], data_tables=[], self.tool_source = 'Augur Worker Testing' self.tool_version = '0.0.0' self.data_source = 'Augur Worker Testing' - + def write_debug_data(self, data, name): if name in self.debug_data: with open(f'{name}.json', 'w') as f: diff --git a/workers/worker_persistance.py b/workers/worker_persistance.py index 954e5b4314..67ca1af525 100644 --- a/workers/worker_persistance.py +++ b/workers/worker_persistance.py @@ -104,20 +104,6 @@ def __init__(self, worker_type, data_tables=[],operations_tables=[]): self.logger = logging.getLogger(self.config["id"]) self.logger.info('Worker (PID: {}) initializing...'.format(str(os.getpid()))) - #back to base, might be overwritten by git integration subclass? - self.debug_data = [] if 'debug_data' not in self.config else self.config['debug_data'] - self.specs = { - 'id': self.config['id'], # what the broker knows this worker as - 'location': self.config['location'], # host + port worker is running on (so broker can send tasks here) - 'qualifications': [ - { - 'given': self.given, # type of repo this worker can be given as a task - 'models': self.models # models this worker can fill for a repo as a task - } - ], - 'config': self.config - } - #Return string representation of an object with all information needed to recreate the object (Think of it like a pickle made out of text) #Called using repr(*object*). eval(repr(*object*)) == *object* def __repr__(self): From db3d14b5acb485d96db0fa9ed5d8ea45db75eb1e Mon Sep 17 00:00:00 2001 From: isaacmilarky Date: Thu, 1 Jul 2021 10:45:10 -0500 Subject: [PATCH 015/201] Small commit before merge Signed-off-by: isaacmilarky --- workers/pull_request_worker/pull_request_worker.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/workers/pull_request_worker/pull_request_worker.py b/workers/pull_request_worker/pull_request_worker.py index 38da4bd1d8..b44003fc07 100644 --- a/workers/pull_request_worker/pull_request_worker.py +++ b/workers/pull_request_worker/pull_request_worker.py @@ -127,7 +127,7 @@ def find_root_of_subject(data, key_subject): if data['errors'][0]['type'] == 'NOT_FOUND': self.logger.warning( "Github repo was not found or does not exist for " - f"endpoint: {url}\n" + f"endpoint: {base_url}\n" ) break if data['errors'][0]['type'] == 'RATE_LIMITED': @@ -681,7 +681,7 @@ def pull_request_reviews_model(self, pk_source_prs=[]): ))).fetchall() source_reviews_insert, source_reviews_update = self.organize_needed_data( - pr_pk_source_reviews, augur_table=self.pull_request_reviews_table, + pr_pk_source_reviews, table_values=self.pull_request_reviews_table, action_map=review_action_map ) @@ -748,7 +748,7 @@ def pull_request_reviews_model(self, pk_source_prs=[]): set(pd.DataFrame(both_pr_review_pk_source_reviews)['pr_review_id']) review_msgs = self.paginate_endpoint( - review_new_msg_url, action_map=review_msg_action_map, table=self.message_table, + review_msg_url, action_map=review_msg_action_map, table=self.message_table, where_clause=self.message_table.c.msg_id.in_( [ msg_row[0] for msg_row in self.db.execute( From 5230fa89fc544491a8823678825f6b31c3d8fcd1 Mon Sep 17 00:00:00 2001 From: isaacmilarky Date: Thu, 1 Jul 2021 10:48:58 -0500 Subject: [PATCH 016/201] Trying to fix function calls in pull request worker Signed-off-by: isaacmilarky --- workers/pull_request_worker/pull_request_worker.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/workers/pull_request_worker/pull_request_worker.py b/workers/pull_request_worker/pull_request_worker.py index b44003fc07..2d47f2d085 100644 --- a/workers/pull_request_worker/pull_request_worker.py +++ b/workers/pull_request_worker/pull_request_worker.py @@ -880,7 +880,7 @@ def pull_request_nested_data_model(self, pk_source_prs=[]): } } source_labels_insert, _ = self.organize_needed_data( - labels_all, augur_table=self.pull_request_labels_table, action_map=label_action_map + labels_all, table_values=self.pull_request_labels_table, action_map=label_action_map ) labels_insert = [ { @@ -906,7 +906,7 @@ def pull_request_nested_data_model(self, pk_source_prs=[]): } } source_reviewers_insert, _ = self.organize_needed_data( - reviewers_all, augur_table=self.pull_request_reviewers_table, + reviewers_all, table_values=self.pull_request_reviewers_table, action_map=reviewer_action_map ) source_reviewers_insert = self.enrich_cntrb_id( @@ -937,7 +937,7 @@ def pull_request_nested_data_model(self, pk_source_prs=[]): } } source_assignees_insert, _ = self.organize_needed_data( - assignees_all, augur_table=self.pull_request_assignees_table, + assignees_all, table_values=self.pull_request_assignees_table, action_map=assignee_action_map ) source_assignees_insert = self.enrich_cntrb_id( @@ -969,7 +969,7 @@ def pull_request_nested_data_model(self, pk_source_prs=[]): } source_meta_insert, _ = self.organize_needed_data( - meta_all, augur_table=self.pull_request_meta_table, action_map=meta_action_map + meta_all, table_values=self.pull_request_meta_table, action_map=meta_action_map ) source_meta_insert = self.enrich_cntrb_id( source_meta_insert, 'user.login', action_map_additions={ From 6e3d0c95b0780fe8de6bc039937ce0f2dbf17423 Mon Sep 17 00:00:00 2001 From: isaacmilarky Date: Thu, 1 Jul 2021 14:43:08 -0500 Subject: [PATCH 017/201] Trying to fix the organize_needed_data method signature calls Signed-off-by: isaacmilarky --- workers/github_worker/github_worker.py | 4 ++-- workers/worker_git_integration.py | 6 +++--- workers/worker_persistance.py | 3 ++- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/workers/github_worker/github_worker.py b/workers/github_worker/github_worker.py index fc1001bd79..dbddb63af7 100644 --- a/workers/github_worker/github_worker.py +++ b/workers/github_worker/github_worker.py @@ -424,7 +424,7 @@ def is_nan(value): } source_assignees_insert, _ = self.organize_needed_data( - assignees_all, augur_table=self.issue_assignees_table, + assignees_all, table_values=self.issue_assignees_table, action_map=assignee_action_map ) @@ -461,7 +461,7 @@ def is_nan(value): } } source_labels_insert, _ = self.organize_needed_data( - labels_all, augur_table=self.issue_labels_table, + labels_all, table_values=self.issue_labels_table, action_map=label_action_map ) labels_insert = [ diff --git a/workers/worker_git_integration.py b/workers/worker_git_integration.py index 7afc203d7f..7693823f9e 100644 --- a/workers/worker_git_integration.py +++ b/workers/worker_git_integration.py @@ -263,7 +263,7 @@ def enrich_cntrb_id( } } source_cntrb_insert, _ = self.organize_needed_data( - expanded_source_df.to_dict(orient='records'), augur_table=self.contributors_table, + expanded_source_df.to_dict(orient='records'), table_values=self.contributors_table, action_map=cntrb_action_map ) @@ -1531,7 +1531,7 @@ def new_paginate_endpoint( # Checking contents of requests with what we already have in the db page_insertions, page_updates = self.organize_needed_data( - page_data, augur_table=table, action_map=action_map + page_data, table_values=table, action_map=action_map ) # Reached a page where we already have all tuples @@ -1568,7 +1568,7 @@ def new_paginate_endpoint( if forward_pagination: need_insertion, need_update = self.organize_needed_data( - all_data, augur_table=table, action_map=action_map + all_data, table_values=table, action_map=action_map ) return { diff --git a/workers/worker_persistance.py b/workers/worker_persistance.py index 67ca1af525..64874701f8 100644 --- a/workers/worker_persistance.py +++ b/workers/worker_persistance.py @@ -348,8 +348,9 @@ def _get_data_set_columns(self, data, columns): return df[list(set(final_columns))].to_dict(orient='records') + #table_pkey isn't used in this function don't know why it is here. def organize_needed_data( - self, new_data, table_values, table_pkey, action_map={}, in_memory=True + self, new_data, table_values, table_pkey=None, action_map={}, in_memory=True ): if len(table_values) == 0: From 4d46c18e6430257b762387629bfa8870552f5510 Mon Sep 17 00:00:00 2001 From: Dhruv-Sachdev1313 Date: Fri, 2 Jul 2021 12:08:01 +0530 Subject: [PATCH 018/201] Changes in the setting of env variable for Scorecard Signed-off-by: Dhruv-Sachdev1313 --- workers/deps_worker/deps_worker.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/workers/deps_worker/deps_worker.py b/workers/deps_worker/deps_worker.py index 66e6f62f96..b3eb820b76 100644 --- a/workers/deps_worker/deps_worker.py +++ b/workers/deps_worker/deps_worker.py @@ -104,8 +104,8 @@ def generate_scorecard(self, repo_id, path): path_to_scorecard = os.environ['HOME'] + '/scorecard' #setting the environment variable for scorecard if it does not exsists already - if 'GITHUB_AUTH_TOKEN' not in os.environ: - os.environ['GITHUB_AUTH_TOKEN'] = self.config['gh_api_key'] + + os.environ['GITHUB_AUTH_TOKEN'] = self.config['gh_api_key'] p= subprocess.run(['./scorecard', command], cwd= path_to_scorecard ,capture_output=True, text=True) output = p.stdout.split('\n') From b3b9c039dfb4fbc802af152d607839cc8fabff5e Mon Sep 17 00:00:00 2001 From: "Sean P. Goggins" Date: Fri, 2 Jul 2021 10:07:35 -0500 Subject: [PATCH 019/201] Doc updates --- docs/source/docker/getting-started.rst | 21 +++++++++++++++++++++ docs/source/docker/toc.rst | 26 ++++++++++++++++---------- 2 files changed, 37 insertions(+), 10 deletions(-) diff --git a/docs/source/docker/getting-started.rst b/docs/source/docker/getting-started.rst index ca77e0f055..494928bd20 100644 --- a/docs/source/docker/getting-started.rst +++ b/docs/source/docker/getting-started.rst @@ -1,6 +1,26 @@ Getting Started ================ +For the Docker Saavy Who Want to Understand How the Sausage is Made: +-------------------------------------------------------------------- + +Augur provides several Docker images designed to get you started with our software as quickly as possible. They are: + +- ``augurlabs/augur:backend``, our backend data collection and metrics API +- ``augurlabs/augur:frontend``, our metrics visualization frontend + +.. warning:: + The frontend is very out of date and will likely not work with the backend very well. It is still available however. + +- ``augurlabs/augur:database``, an empty PostgreSQL database with the Augur schema installed +- ``augurlabs/augur:test_data``, a PostgreSQL database loaded with the data used in our testing environment + +If you're not familiar with Docker, their `starting guide `_ is a great resource. + +The rest of this section of the documentation assumes you have a working installation of Docker as well as some familiarity with basic Docker concepts and a few basic Docker and Docker Compose commands. + +If you are less familiar with Docker, or experience issues you cannot resolve attempting our "quick start", please follow the instructions in this section, and the next few pages, to set up your environment. + Credentials ------------ Before you get started with Docker, you'll need to set up a PostgreSQL instance either locally or using a remote host. Alternatively, you can also set up the databse within a docker container either manually or through the script but this is not recommended. @@ -8,6 +28,7 @@ Before you get started with Docker, you'll need to set up a PostgreSQL instance .. note:: Make sure your database is configured to listen on all addresses in order to work with the containers. These settings can be edited in your ``postgresql.conf``. Additionally edit the bottom section of your ``pg_hba.conf`` file with: + .. code-block:: # TYPE DATABASE USER ADDRESS METHOD diff --git a/docs/source/docker/toc.rst b/docs/source/docker/toc.rst index 69023f1307..c604ecee8a 100644 --- a/docs/source/docker/toc.rst +++ b/docs/source/docker/toc.rst @@ -1,22 +1,28 @@ Docker ===================== -Augur provides several Docker images designed to get you started with our software as quickly as possible. They are: +.. note:: -- ``augurlabs/augur:backend``, our backend data collection and metrics API -- ``augurlabs/augur:frontend``, our metrics visualization frontend + **Quick Start**: -.. warning:: - The frontend is very out of date and will likely not work with the backend very well. It is still available however. + If you want to start running docker against an external database right away: -- ``augurlabs/augur:database``, an empty PostgreSQL database with the Augur schema installed -- ``augurlabs/augur:test_data``, a PostgreSQL database loaded with the data used in our testing environment + 1. Follow the instructions to create a database, and database user (if you have just installed Postgresql locally, you may need to follow instructions for allow access to Postgresql from Docker in the next page. tl;dr, there are edits to the Postgresql `pg_hba.conf` and `postgresql.conf` files): -If you're not familiar with Docker, their `starting guide `_ is a great resource. + .. code-block:: postgresql + + CREATE DATABASE augur; + CREATE USER augur WITH ENCRYPTED PASSWORD 'password'; + GRANT ALL PRIVILEGES ON DATABASE augur TO augur; -The rest of this section of the documentation assumes you have a working installation of Docker as well as some familiarity with basic Docker concepts and a few basic Docker and Docker Compose commands. + 2. Install Docker. If you're not familiar with Docker, their `starting guide `_ is a great resource. + 3. Execute the following script from the base directory of the Augur repository: -If this is your first time using Docker with Augur, please follow the instructions in "Getting Started" to set up your environment. + .. code-block:: bash + + sudo ./docker-setup.sh + +**Detailed Instructions that explain each step, and alternative, are available on the next page** .. toctree:: :maxdepth: 1 From 3f6b0e661368b1842299717b040c6666971b4fe7 Mon Sep 17 00:00:00 2001 From: "Sean P. Goggins" Date: Fri, 2 Jul 2021 10:12:39 -0500 Subject: [PATCH 020/201] docker quick start doc update --- docs/source/docker/quick-start.rst | 25 +++++++++++++++++++++++++ docs/source/docker/toc.rst | 24 +----------------------- 2 files changed, 26 insertions(+), 23 deletions(-) create mode 100644 docs/source/docker/quick-start.rst diff --git a/docs/source/docker/quick-start.rst b/docs/source/docker/quick-start.rst new file mode 100644 index 0000000000..dc0301c6f2 --- /dev/null +++ b/docs/source/docker/quick-start.rst @@ -0,0 +1,25 @@ +Docker Quick Start +================================== + +.. note:: + + **Quick Start**: + + If you want to start running docker against an external database right away: + + 1. Follow the instructions to create a database, and database user (if you have just installed Postgresql locally, you may need to follow instructions for allow access to Postgresql from Docker in the next page. tl;dr, there are edits to the Postgresql `pg_hba.conf` and `postgresql.conf` files): + + .. code-block:: postgresql + + CREATE DATABASE augur; + CREATE USER augur WITH ENCRYPTED PASSWORD 'password'; + GRANT ALL PRIVILEGES ON DATABASE augur TO augur; + + 2. Install Docker. If you're not familiar with Docker, their `starting guide `_ is a great resource. + 3. Execute the following script from the base directory of the Augur repository: + + .. code-block:: bash + + sudo ./docker-setup.sh + +**Detailed Instructions that explain each step, and alternative, are available on the next page** \ No newline at end of file diff --git a/docs/source/docker/toc.rst b/docs/source/docker/toc.rst index c604ecee8a..ac9629913f 100644 --- a/docs/source/docker/toc.rst +++ b/docs/source/docker/toc.rst @@ -1,32 +1,10 @@ Docker ===================== -.. note:: - - **Quick Start**: - - If you want to start running docker against an external database right away: - - 1. Follow the instructions to create a database, and database user (if you have just installed Postgresql locally, you may need to follow instructions for allow access to Postgresql from Docker in the next page. tl;dr, there are edits to the Postgresql `pg_hba.conf` and `postgresql.conf` files): - - .. code-block:: postgresql - - CREATE DATABASE augur; - CREATE USER augur WITH ENCRYPTED PASSWORD 'password'; - GRANT ALL PRIVILEGES ON DATABASE augur TO augur; - - 2. Install Docker. If you're not familiar with Docker, their `starting guide `_ is a great resource. - 3. Execute the following script from the base directory of the Augur repository: - - .. code-block:: bash - - sudo ./docker-setup.sh - -**Detailed Instructions that explain each step, and alternative, are available on the next page** - .. toctree:: :maxdepth: 1 + quick-start getting-started docker docker-compose From 1bc5a2077e1362b46f5b0c421a3084af9a218b1f Mon Sep 17 00:00:00 2001 From: isaacmilarky Date: Fri, 2 Jul 2021 10:38:47 -0500 Subject: [PATCH 021/201] Quick fix Signed-off-by: isaacmilarky --- workers/github_worker/github_worker.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/workers/github_worker/github_worker.py b/workers/github_worker/github_worker.py index dbddb63af7..8e1c55edff 100644 --- a/workers/github_worker/github_worker.py +++ b/workers/github_worker/github_worker.py @@ -1,6 +1,7 @@ #SPDX-License-Identifier: MIT from multiprocessing import Process, Queue from urllib.parse import urlparse +from workers.worker_git_integration import WorkerGitInterfaceable import pandas as pd import sqlalchemy as s import requests @@ -12,7 +13,7 @@ from datetime import datetime from workers.worker_base import Worker -class GitHubWorker(Worker): +class GitHubWorker(WorkerGitInterfaceable): """ Worker that collects data from the Github API and stores it in our database task: most recent task the broker added to the worker's queue child: current process of the queue being ran From 1afa4126866d2409d09eeca897b97c8c167d4946 Mon Sep 17 00:00:00 2001 From: isaacmilarky Date: Fri, 2 Jul 2021 11:04:33 -0500 Subject: [PATCH 022/201] Trying to figure out method Signed-off-by: isaacmilarky --- workers/worker_persistance.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/workers/worker_persistance.py b/workers/worker_persistance.py index 64874701f8..c7b3570a67 100644 --- a/workers/worker_persistance.py +++ b/workers/worker_persistance.py @@ -349,6 +349,7 @@ def _get_data_set_columns(self, data, columns): #table_pkey isn't used in this function don't know why it is here. + #TODO: Figure out what types this expects and what types it returns def organize_needed_data( self, new_data, table_values, table_pkey=None, action_map={}, in_memory=True ): @@ -418,7 +419,7 @@ def organize_needed_data( f"{len(need_updates)} updates.\n") else: - + #create panda tabluar data from the keys of the passed table values table_values_df = pd.DataFrame(table_values, columns=table_values[0].keys()) new_data_df = pd.DataFrame(new_data).dropna(subset=action_map['insert']['source']) From cdfa8cccb5ee983365f7221e1808718246f97a80 Mon Sep 17 00:00:00 2001 From: isaacmilarky Date: Fri, 2 Jul 2021 11:46:27 -0500 Subject: [PATCH 023/201] Migrating back to the old method Signed-off-by: isaacmilarky --- workers/github_worker/github_worker.py | 14 ++++++-- .../pull_request_worker.py | 32 ++++++++++++++++--- workers/worker_git_integration.py | 17 ++++++---- 3 files changed, 50 insertions(+), 13 deletions(-) diff --git a/workers/github_worker/github_worker.py b/workers/github_worker/github_worker.py index 8e1c55edff..6b355bb4cc 100644 --- a/workers/github_worker/github_worker.py +++ b/workers/github_worker/github_worker.py @@ -423,9 +423,13 @@ def is_nan(value): 'augur': ['issue_assignee_src_id'] } } + + table_values_issue_assignees = self.db.execute( + s.sql.select(self.get_relevant_columns(self.issue_assignees_table,assignee_action_map)) + ).fetchall() source_assignees_insert, _ = self.organize_needed_data( - assignees_all, table_values=self.issue_assignees_table, + assignees_all, table_values=table_values_issue_assignees, action_map=assignee_action_map ) @@ -461,8 +465,14 @@ def is_nan(value): 'augur': ['label_src_id'] } } + + table_values_issue_labels = self.db.execute( + s.sql.select(self.get_relevant_columns(self.issue_labels_table,label_action_map)) + ).fetchall() + + source_labels_insert, _ = self.organize_needed_data( - labels_all, table_values=self.issue_labels_table, + labels_all, table_values=table_values_issue_labels, action_map=label_action_map ) labels_insert = [ diff --git a/workers/pull_request_worker/pull_request_worker.py b/workers/pull_request_worker/pull_request_worker.py index 2d47f2d085..6df6539aa6 100644 --- a/workers/pull_request_worker/pull_request_worker.py +++ b/workers/pull_request_worker/pull_request_worker.py @@ -675,13 +675,14 @@ def pull_request_reviews_model(self, pk_source_prs=[]): self.pull_request_reviews_table, review_action_map ) + #I don't know what else this could be used for so I'm using it for the function call table_values = self.db.execute(s.sql.select(cols_to_query).where( self.pull_request_reviews_table.c.pull_request_id.in_( set(pd.DataFrame(pk_source_prs)['pull_request_id']) ))).fetchall() source_reviews_insert, source_reviews_update = self.organize_needed_data( - pr_pk_source_reviews, table_values=self.pull_request_reviews_table, + pr_pk_source_reviews, table_values=table_values, action_map=review_action_map ) @@ -879,8 +880,14 @@ def pull_request_nested_data_model(self, pk_source_prs=[]): 'augur': ['pull_request_id', 'pr_src_id'] } } + + + table_values_pr_labels = self.db.execute( + s.sql.select(self.get_relevant_columns(self.pull_request_labels_table,label_action_map)) + ).fetchall() + source_labels_insert, _ = self.organize_needed_data( - labels_all, table_values=self.pull_request_labels_table, action_map=label_action_map + labels_all, table_values=table_values_pr_labels, action_map=label_action_map ) labels_insert = [ { @@ -905,8 +912,13 @@ def pull_request_nested_data_model(self, pk_source_prs=[]): 'augur': ['pull_request_id', 'pr_reviewer_src_id'] } } + + table_values_issue_labels = self.db.execute( + s.sql.select(self.get_relevant_columns(self.pull_request_reviewers_table,reviewer_action_map)) + ).fetchall() + source_reviewers_insert, _ = self.organize_needed_data( - reviewers_all, table_values=self.pull_request_reviewers_table, + reviewers_all, table_values=table_values_issue_labels, action_map=reviewer_action_map ) source_reviewers_insert = self.enrich_cntrb_id( @@ -936,8 +948,14 @@ def pull_request_nested_data_model(self, pk_source_prs=[]): 'augur': ['pull_request_id', 'pr_assignee_src_id'] } } + + + table_values_assignees_labels = self.db.execute( + s.sql.select(self.get_relevant_columns(self.pull_request_assignees_table,assignee_action_map)) + ).fetchall() + source_assignees_insert, _ = self.organize_needed_data( - assignees_all, table_values=self.pull_request_assignees_table, + assignees_all, table_values=table_values_assignees_labels, action_map=assignee_action_map ) source_assignees_insert = self.enrich_cntrb_id( @@ -968,8 +986,12 @@ def pull_request_nested_data_model(self, pk_source_prs=[]): } } + table_values_pull_request_meta = self.db.execute( + s.sql.select(self.get_relevant_columns(self.pull_request_meta_table,meta_action_map)) + ).fetchall() + source_meta_insert, _ = self.organize_needed_data( - meta_all, table_values=self.pull_request_meta_table, action_map=meta_action_map + meta_all, table_values=table_values_pull_request_meta, action_map=meta_action_map ) source_meta_insert = self.enrich_cntrb_id( source_meta_insert, 'user.login', action_map_additions={ diff --git a/workers/worker_git_integration.py b/workers/worker_git_integration.py index 7693823f9e..8b065744ef 100644 --- a/workers/worker_git_integration.py +++ b/workers/worker_git_integration.py @@ -262,8 +262,13 @@ def enrich_cntrb_id( 'augur': ['cntrb_login'] + action_map_additions['insert']['augur'] } } + + table_values_cntrb = self.db.execute( + s.sql.select(self.get_relevant_columns(self.contributors_table,cntrb_action_map)) + ).fetchall() + source_cntrb_insert, _ = self.organize_needed_data( - expanded_source_df.to_dict(orient='records'), table_values=self.contributors_table, + expanded_source_df.to_dict(orient='records'), table_values=table_values_cntrb, action_map=cntrb_action_map ) @@ -1244,7 +1249,7 @@ def paginate_endpoint( all_data += page_data if not forward_pagination: - + # Checking contents of requests with what we already have in the db page_insertions, page_updates = self.organize_needed_data( page_data, table_values, list(table.primary_key)[0].name, @@ -1530,8 +1535,8 @@ def new_paginate_endpoint( if not forward_pagination: # Checking contents of requests with what we already have in the db - page_insertions, page_updates = self.organize_needed_data( - page_data, table_values=table, action_map=action_map + page_insertions, page_updates = self.new_organize_needed_data( + page_data, augur_table=table, action_map=action_map ) # Reached a page where we already have all tuples @@ -1567,8 +1572,8 @@ def new_paginate_endpoint( page_number = page_number + 1 if forward_pagination else page_number - 1 if forward_pagination: - need_insertion, need_update = self.organize_needed_data( - all_data, table_values=table, action_map=action_map + need_insertion, need_update = self.new_organize_needed_data( + all_data, augur_table=table, action_map=action_map ) return { From 2efa3b0546e95fd4d5382e8c0c002535ac6bedff Mon Sep 17 00:00:00 2001 From: isaacmilarky Date: Fri, 2 Jul 2021 14:09:59 -0500 Subject: [PATCH 024/201] Kind of a head scratching value error having to do with db Signed-off-by: isaacmilarky --- workers/pull_request_worker/pull_request_worker.py | 1 + workers/worker_persistance.py | 1 + 2 files changed, 2 insertions(+) diff --git a/workers/pull_request_worker/pull_request_worker.py b/workers/pull_request_worker/pull_request_worker.py index 6df6539aa6..1beb7aa882 100644 --- a/workers/pull_request_worker/pull_request_worker.py +++ b/workers/pull_request_worker/pull_request_worker.py @@ -764,6 +764,7 @@ def pull_request_reviews_model(self, pk_source_prs=[]): ) self.write_debug_data(review_msgs, 'review_msgs') + #Throwing value errors. 'cannot use name of an existing column for indicator column' review_msgs['insert'] = self.enrich_cntrb_id( review_msgs['insert'], 'user.login', action_map_additions={ 'insert': { diff --git a/workers/worker_persistance.py b/workers/worker_persistance.py index c7b3570a67..c880509bd9 100644 --- a/workers/worker_persistance.py +++ b/workers/worker_persistance.py @@ -426,6 +426,7 @@ def organize_needed_data( new_data_df, table_values_df = self.sync_df_types(new_data_df, table_values_df, action_map['insert']['source'], action_map['insert']['augur']) + #Throwing value errors. 'cannot use name of an existing column for indicator column' need_insertion = new_data_df.merge(table_values_df, suffixes=('','_table'), how='outer', indicator=True, left_on=action_map['insert']['source'], right_on=action_map['insert']['augur']).loc[lambda x : x['_merge']=='left_only'] From 0b6049ec796bd5d5228183d8284e5de050f32f9e Mon Sep 17 00:00:00 2001 From: isaacmilarky Date: Fri, 2 Jul 2021 14:59:15 -0500 Subject: [PATCH 025/201] Added some error handling to try to avoid table collision during merge. Wanted to try least intrusive attempt first Signed-off-by: isaacmilarky --- workers/worker_persistance.py | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/workers/worker_persistance.py b/workers/worker_persistance.py index c880509bd9..1b73c93546 100644 --- a/workers/worker_persistance.py +++ b/workers/worker_persistance.py @@ -17,7 +17,7 @@ import csv import io from logging import FileHandler, Formatter, StreamHandler -from multiprocessing import Process, Queue, Pool +from multiprocessing import Process, Queue, Pool, Value from os import getpid import sqlalchemy as s import pandas as pd @@ -427,9 +427,20 @@ def organize_needed_data( action_map['insert']['source'], action_map['insert']['augur']) #Throwing value errors. 'cannot use name of an existing column for indicator column' - need_insertion = new_data_df.merge(table_values_df, suffixes=('','_table'), - how='outer', indicator=True, left_on=action_map['insert']['source'], - right_on=action_map['insert']['augur']).loc[lambda x : x['_merge']=='left_only'] + + try: + need_insertion = new_data_df.merge(table_values_df, suffixes=('','_table'), + how='outer', indicator=True, left_on=action_map['insert']['source'], + right_on=action_map['insert']['augur']).loc[lambda x : x['_merge']=='left_only'] + except ValueError as e: + + #Log the error, try to merge again without label to avoid ValueError + self.logger.warning(f"Error thrown during pandas merge: {e}") + need_insertion = new_data_df.merge(table_values_df, suffixes=('','_table'), + how='outer', indicator=False, left_on=action_map['insert']['source'], + right_on=action_map['insert']['augur']).loc[lambda x : x['_merge']=='left_only'] + + if 'update' in action_map: new_data_df, table_values_df = self.sync_df_types(new_data_df, table_values_df, From 94fe20781e05152d6646bdb61cae1e54ff71faf4 Mon Sep 17 00:00:00 2001 From: "Sean P. Goggins" Date: Fri, 2 Jul 2021 15:05:38 -0500 Subject: [PATCH 026/201] dev fix for pr worker. --- workers/github_worker/github_worker.py | 17 +++++++-- .../pull_request_worker.py | 37 +++++++++++++++---- workers/worker_git_integration.py | 13 +++++-- workers/worker_persistance.py | 26 ++++++++++--- 4 files changed, 73 insertions(+), 20 deletions(-) diff --git a/workers/github_worker/github_worker.py b/workers/github_worker/github_worker.py index fc1001bd79..6b355bb4cc 100644 --- a/workers/github_worker/github_worker.py +++ b/workers/github_worker/github_worker.py @@ -1,6 +1,7 @@ #SPDX-License-Identifier: MIT from multiprocessing import Process, Queue from urllib.parse import urlparse +from workers.worker_git_integration import WorkerGitInterfaceable import pandas as pd import sqlalchemy as s import requests @@ -12,7 +13,7 @@ from datetime import datetime from workers.worker_base import Worker -class GitHubWorker(Worker): +class GitHubWorker(WorkerGitInterfaceable): """ Worker that collects data from the Github API and stores it in our database task: most recent task the broker added to the worker's queue child: current process of the queue being ran @@ -422,9 +423,13 @@ def is_nan(value): 'augur': ['issue_assignee_src_id'] } } + + table_values_issue_assignees = self.db.execute( + s.sql.select(self.get_relevant_columns(self.issue_assignees_table,assignee_action_map)) + ).fetchall() source_assignees_insert, _ = self.organize_needed_data( - assignees_all, augur_table=self.issue_assignees_table, + assignees_all, table_values=table_values_issue_assignees, action_map=assignee_action_map ) @@ -460,8 +465,14 @@ def is_nan(value): 'augur': ['label_src_id'] } } + + table_values_issue_labels = self.db.execute( + s.sql.select(self.get_relevant_columns(self.issue_labels_table,label_action_map)) + ).fetchall() + + source_labels_insert, _ = self.organize_needed_data( - labels_all, augur_table=self.issue_labels_table, + labels_all, table_values=table_values_issue_labels, action_map=label_action_map ) labels_insert = [ diff --git a/workers/pull_request_worker/pull_request_worker.py b/workers/pull_request_worker/pull_request_worker.py index 38da4bd1d8..1beb7aa882 100644 --- a/workers/pull_request_worker/pull_request_worker.py +++ b/workers/pull_request_worker/pull_request_worker.py @@ -127,7 +127,7 @@ def find_root_of_subject(data, key_subject): if data['errors'][0]['type'] == 'NOT_FOUND': self.logger.warning( "Github repo was not found or does not exist for " - f"endpoint: {url}\n" + f"endpoint: {base_url}\n" ) break if data['errors'][0]['type'] == 'RATE_LIMITED': @@ -675,13 +675,14 @@ def pull_request_reviews_model(self, pk_source_prs=[]): self.pull_request_reviews_table, review_action_map ) + #I don't know what else this could be used for so I'm using it for the function call table_values = self.db.execute(s.sql.select(cols_to_query).where( self.pull_request_reviews_table.c.pull_request_id.in_( set(pd.DataFrame(pk_source_prs)['pull_request_id']) ))).fetchall() source_reviews_insert, source_reviews_update = self.organize_needed_data( - pr_pk_source_reviews, augur_table=self.pull_request_reviews_table, + pr_pk_source_reviews, table_values=table_values, action_map=review_action_map ) @@ -748,7 +749,7 @@ def pull_request_reviews_model(self, pk_source_prs=[]): set(pd.DataFrame(both_pr_review_pk_source_reviews)['pr_review_id']) review_msgs = self.paginate_endpoint( - review_new_msg_url, action_map=review_msg_action_map, table=self.message_table, + review_msg_url, action_map=review_msg_action_map, table=self.message_table, where_clause=self.message_table.c.msg_id.in_( [ msg_row[0] for msg_row in self.db.execute( @@ -763,6 +764,7 @@ def pull_request_reviews_model(self, pk_source_prs=[]): ) self.write_debug_data(review_msgs, 'review_msgs') + #Throwing value errors. 'cannot use name of an existing column for indicator column' review_msgs['insert'] = self.enrich_cntrb_id( review_msgs['insert'], 'user.login', action_map_additions={ 'insert': { @@ -879,8 +881,14 @@ def pull_request_nested_data_model(self, pk_source_prs=[]): 'augur': ['pull_request_id', 'pr_src_id'] } } + + + table_values_pr_labels = self.db.execute( + s.sql.select(self.get_relevant_columns(self.pull_request_labels_table,label_action_map)) + ).fetchall() + source_labels_insert, _ = self.organize_needed_data( - labels_all, augur_table=self.pull_request_labels_table, action_map=label_action_map + labels_all, table_values=table_values_pr_labels, action_map=label_action_map ) labels_insert = [ { @@ -905,8 +913,13 @@ def pull_request_nested_data_model(self, pk_source_prs=[]): 'augur': ['pull_request_id', 'pr_reviewer_src_id'] } } + + table_values_issue_labels = self.db.execute( + s.sql.select(self.get_relevant_columns(self.pull_request_reviewers_table,reviewer_action_map)) + ).fetchall() + source_reviewers_insert, _ = self.organize_needed_data( - reviewers_all, augur_table=self.pull_request_reviewers_table, + reviewers_all, table_values=table_values_issue_labels, action_map=reviewer_action_map ) source_reviewers_insert = self.enrich_cntrb_id( @@ -936,8 +949,14 @@ def pull_request_nested_data_model(self, pk_source_prs=[]): 'augur': ['pull_request_id', 'pr_assignee_src_id'] } } + + + table_values_assignees_labels = self.db.execute( + s.sql.select(self.get_relevant_columns(self.pull_request_assignees_table,assignee_action_map)) + ).fetchall() + source_assignees_insert, _ = self.organize_needed_data( - assignees_all, augur_table=self.pull_request_assignees_table, + assignees_all, table_values=table_values_assignees_labels, action_map=assignee_action_map ) source_assignees_insert = self.enrich_cntrb_id( @@ -968,8 +987,12 @@ def pull_request_nested_data_model(self, pk_source_prs=[]): } } + table_values_pull_request_meta = self.db.execute( + s.sql.select(self.get_relevant_columns(self.pull_request_meta_table,meta_action_map)) + ).fetchall() + source_meta_insert, _ = self.organize_needed_data( - meta_all, augur_table=self.pull_request_meta_table, action_map=meta_action_map + meta_all, table_values=table_values_pull_request_meta, action_map=meta_action_map ) source_meta_insert = self.enrich_cntrb_id( source_meta_insert, 'user.login', action_map_additions={ diff --git a/workers/worker_git_integration.py b/workers/worker_git_integration.py index 7afc203d7f..8b065744ef 100644 --- a/workers/worker_git_integration.py +++ b/workers/worker_git_integration.py @@ -262,8 +262,13 @@ def enrich_cntrb_id( 'augur': ['cntrb_login'] + action_map_additions['insert']['augur'] } } + + table_values_cntrb = self.db.execute( + s.sql.select(self.get_relevant_columns(self.contributors_table,cntrb_action_map)) + ).fetchall() + source_cntrb_insert, _ = self.organize_needed_data( - expanded_source_df.to_dict(orient='records'), augur_table=self.contributors_table, + expanded_source_df.to_dict(orient='records'), table_values=table_values_cntrb, action_map=cntrb_action_map ) @@ -1244,7 +1249,7 @@ def paginate_endpoint( all_data += page_data if not forward_pagination: - + # Checking contents of requests with what we already have in the db page_insertions, page_updates = self.organize_needed_data( page_data, table_values, list(table.primary_key)[0].name, @@ -1530,7 +1535,7 @@ def new_paginate_endpoint( if not forward_pagination: # Checking contents of requests with what we already have in the db - page_insertions, page_updates = self.organize_needed_data( + page_insertions, page_updates = self.new_organize_needed_data( page_data, augur_table=table, action_map=action_map ) @@ -1567,7 +1572,7 @@ def new_paginate_endpoint( page_number = page_number + 1 if forward_pagination else page_number - 1 if forward_pagination: - need_insertion, need_update = self.organize_needed_data( + need_insertion, need_update = self.new_organize_needed_data( all_data, augur_table=table, action_map=action_map ) diff --git a/workers/worker_persistance.py b/workers/worker_persistance.py index 67ca1af525..1b73c93546 100644 --- a/workers/worker_persistance.py +++ b/workers/worker_persistance.py @@ -17,7 +17,7 @@ import csv import io from logging import FileHandler, Formatter, StreamHandler -from multiprocessing import Process, Queue, Pool +from multiprocessing import Process, Queue, Pool, Value from os import getpid import sqlalchemy as s import pandas as pd @@ -348,8 +348,10 @@ def _get_data_set_columns(self, data, columns): return df[list(set(final_columns))].to_dict(orient='records') + #table_pkey isn't used in this function don't know why it is here. + #TODO: Figure out what types this expects and what types it returns def organize_needed_data( - self, new_data, table_values, table_pkey, action_map={}, in_memory=True + self, new_data, table_values, table_pkey=None, action_map={}, in_memory=True ): if len(table_values) == 0: @@ -417,16 +419,28 @@ def organize_needed_data( f"{len(need_updates)} updates.\n") else: - + #create panda tabluar data from the keys of the passed table values table_values_df = pd.DataFrame(table_values, columns=table_values[0].keys()) new_data_df = pd.DataFrame(new_data).dropna(subset=action_map['insert']['source']) new_data_df, table_values_df = self.sync_df_types(new_data_df, table_values_df, action_map['insert']['source'], action_map['insert']['augur']) - need_insertion = new_data_df.merge(table_values_df, suffixes=('','_table'), - how='outer', indicator=True, left_on=action_map['insert']['source'], - right_on=action_map['insert']['augur']).loc[lambda x : x['_merge']=='left_only'] + #Throwing value errors. 'cannot use name of an existing column for indicator column' + + try: + need_insertion = new_data_df.merge(table_values_df, suffixes=('','_table'), + how='outer', indicator=True, left_on=action_map['insert']['source'], + right_on=action_map['insert']['augur']).loc[lambda x : x['_merge']=='left_only'] + except ValueError as e: + + #Log the error, try to merge again without label to avoid ValueError + self.logger.warning(f"Error thrown during pandas merge: {e}") + need_insertion = new_data_df.merge(table_values_df, suffixes=('','_table'), + how='outer', indicator=False, left_on=action_map['insert']['source'], + right_on=action_map['insert']['augur']).loc[lambda x : x['_merge']=='left_only'] + + if 'update' in action_map: new_data_df, table_values_df = self.sync_df_types(new_data_df, table_values_df, From 4ad34e4078edf6dd6ac792c7d6e4aaa0e6831659 Mon Sep 17 00:00:00 2001 From: "Sean P. Goggins" Date: Fri, 2 Jul 2021 15:06:33 -0500 Subject: [PATCH 027/201] docs update --- docs/source/docker/getting-started.rst | 21 +++++++++++++++++++++ docs/source/docker/quick-start.rst | 25 +++++++++++++++++++++++++ docs/source/docker/toc.rst | 18 +----------------- 3 files changed, 47 insertions(+), 17 deletions(-) create mode 100644 docs/source/docker/quick-start.rst diff --git a/docs/source/docker/getting-started.rst b/docs/source/docker/getting-started.rst index ca77e0f055..494928bd20 100644 --- a/docs/source/docker/getting-started.rst +++ b/docs/source/docker/getting-started.rst @@ -1,6 +1,26 @@ Getting Started ================ +For the Docker Saavy Who Want to Understand How the Sausage is Made: +-------------------------------------------------------------------- + +Augur provides several Docker images designed to get you started with our software as quickly as possible. They are: + +- ``augurlabs/augur:backend``, our backend data collection and metrics API +- ``augurlabs/augur:frontend``, our metrics visualization frontend + +.. warning:: + The frontend is very out of date and will likely not work with the backend very well. It is still available however. + +- ``augurlabs/augur:database``, an empty PostgreSQL database with the Augur schema installed +- ``augurlabs/augur:test_data``, a PostgreSQL database loaded with the data used in our testing environment + +If you're not familiar with Docker, their `starting guide `_ is a great resource. + +The rest of this section of the documentation assumes you have a working installation of Docker as well as some familiarity with basic Docker concepts and a few basic Docker and Docker Compose commands. + +If you are less familiar with Docker, or experience issues you cannot resolve attempting our "quick start", please follow the instructions in this section, and the next few pages, to set up your environment. + Credentials ------------ Before you get started with Docker, you'll need to set up a PostgreSQL instance either locally or using a remote host. Alternatively, you can also set up the databse within a docker container either manually or through the script but this is not recommended. @@ -8,6 +28,7 @@ Before you get started with Docker, you'll need to set up a PostgreSQL instance .. note:: Make sure your database is configured to listen on all addresses in order to work with the containers. These settings can be edited in your ``postgresql.conf``. Additionally edit the bottom section of your ``pg_hba.conf`` file with: + .. code-block:: # TYPE DATABASE USER ADDRESS METHOD diff --git a/docs/source/docker/quick-start.rst b/docs/source/docker/quick-start.rst new file mode 100644 index 0000000000..dc0301c6f2 --- /dev/null +++ b/docs/source/docker/quick-start.rst @@ -0,0 +1,25 @@ +Docker Quick Start +================================== + +.. note:: + + **Quick Start**: + + If you want to start running docker against an external database right away: + + 1. Follow the instructions to create a database, and database user (if you have just installed Postgresql locally, you may need to follow instructions for allow access to Postgresql from Docker in the next page. tl;dr, there are edits to the Postgresql `pg_hba.conf` and `postgresql.conf` files): + + .. code-block:: postgresql + + CREATE DATABASE augur; + CREATE USER augur WITH ENCRYPTED PASSWORD 'password'; + GRANT ALL PRIVILEGES ON DATABASE augur TO augur; + + 2. Install Docker. If you're not familiar with Docker, their `starting guide `_ is a great resource. + 3. Execute the following script from the base directory of the Augur repository: + + .. code-block:: bash + + sudo ./docker-setup.sh + +**Detailed Instructions that explain each step, and alternative, are available on the next page** \ No newline at end of file diff --git a/docs/source/docker/toc.rst b/docs/source/docker/toc.rst index 69023f1307..ac9629913f 100644 --- a/docs/source/docker/toc.rst +++ b/docs/source/docker/toc.rst @@ -1,26 +1,10 @@ Docker ===================== -Augur provides several Docker images designed to get you started with our software as quickly as possible. They are: - -- ``augurlabs/augur:backend``, our backend data collection and metrics API -- ``augurlabs/augur:frontend``, our metrics visualization frontend - -.. warning:: - The frontend is very out of date and will likely not work with the backend very well. It is still available however. - -- ``augurlabs/augur:database``, an empty PostgreSQL database with the Augur schema installed -- ``augurlabs/augur:test_data``, a PostgreSQL database loaded with the data used in our testing environment - -If you're not familiar with Docker, their `starting guide `_ is a great resource. - -The rest of this section of the documentation assumes you have a working installation of Docker as well as some familiarity with basic Docker concepts and a few basic Docker and Docker Compose commands. - -If this is your first time using Docker with Augur, please follow the instructions in "Getting Started" to set up your environment. - .. toctree:: :maxdepth: 1 + quick-start getting-started docker docker-compose From 57ba289993f5fbbe2307eca5d60d1be8b20becbc Mon Sep 17 00:00:00 2001 From: "Sean P. Goggins" Date: Fri, 2 Jul 2021 15:20:50 -0500 Subject: [PATCH 028/201] dev version update --- metadata.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/metadata.py b/metadata.py index 8393077681..74ded242ec 100644 --- a/metadata.py +++ b/metadata.py @@ -5,8 +5,8 @@ __short_description__ = "Python 3 package for free/libre and open-source software community metrics & data collection" -__version__ = "0.16.2" -__release__ = "v0.16.2" +__version__ = "0.2.0" +__release__ = "v0.2.0" __license__ = "MIT" __copyright__ = "CHAOSS & Augurlabs 2021" From d83c0a9650eec402194399aff27bc63c2b2b9044 Mon Sep 17 00:00:00 2001 From: isaacmilarky Date: Fri, 2 Jul 2021 16:58:37 -0500 Subject: [PATCH 029/201] Added to gitignore Signed-off-by: isaacmilarky --- .gitignore | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitignore b/.gitignore index 95b4a2a891..07f4f68187 100644 --- a/.gitignore +++ b/.gitignore @@ -170,3 +170,6 @@ workers/clustering_worker/vocabulary_count #nohup logs nohup.out + +#vscode +.vscode From eb5eba0752f6e683ebd13555157c4827df110ee6 Mon Sep 17 00:00:00 2001 From: Dhruv-Sachdev1313 Date: Mon, 5 Jul 2021 16:33:30 +0530 Subject: [PATCH 030/201] added additional logging and corrected table name Signed-off-by: Dhruv-Sachdev1313 --- workers/deps_worker/deps_worker.py | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/workers/deps_worker/deps_worker.py b/workers/deps_worker/deps_worker.py index b3eb820b76..e7ea17f229 100644 --- a/workers/deps_worker/deps_worker.py +++ b/workers/deps_worker/deps_worker.py @@ -65,6 +65,7 @@ def deps_model(self, entry_info, repo_id): def ossf_scorecard_model(self, entry_info, repo_id): """ Data collection and storage method """ + self.logger.info('Scorecard Model called...') self.logger.info(entry_info) self.logger.info(repo_id) @@ -92,30 +93,34 @@ def generate_scorecard(self, repo_id, path): :param repo_id: Repository ID :param path: relative path of the Repostiory """ - self.logger.info('Generating scorecard data for repo') + self.logger.info('Generating scorecard data for repo...') self.logger.info(f'Repo ID: {repo_id}, Path: {path}') # we convert relative path in the format required by scorecard like github.com/chaoss/augur raw_path,_ = path.split('-') scorecard_repo_path = raw_path[2:] command = '--repo='+ scorecard_repo_path - + self.logger.info('command generated..') #this is path where our scorecard project is located path_to_scorecard = os.environ['HOME'] + '/scorecard' - #setting the environment variable for scorecard if it does not exsists already + #setting the enviror scorecard if it does not exsists alreadyonment variable f os.environ['GITHUB_AUTH_TOKEN'] = self.config['gh_api_key'] p= subprocess.run(['./scorecard', command], cwd= path_to_scorecard ,capture_output=True, text=True) + self.logger.info('subprocess completed successfully... ') output = p.stdout.split('\n') required_output = output[4:20] + self.logger.info('required output generated..') # here scorecard becomes a list of lists where it has list of 16 list in which each list is a test and has name, status and score. scorecard = list() + self.logger.info('adding to list...') for test in required_output: scorecard.append(test.split()) - repo_deps = { + self.logger.info('adding to database') + repo_deps_scorecard = { 'repo_id': repo_id, "ossf_active_status": scorecard[0][1], 'ossf_automated_dendency_update_status': scorecard[1][1], @@ -155,7 +160,7 @@ def generate_scorecard(self, repo_id, path): 'data_collection_date': datetime.now().strftime('%Y-%m-%dT%H:%M:%SZ') } - result = self.db.execute(self._dev1_repo_deps_scorecard.insert().values(repo_deps)) + result = self.db.execute(self._dev1_repo_deps_scorecard_table.insert().values(repo_deps_scorecard)) self.logger.info(f"Added OSSF scorecard data : {result.inserted_primary_key}") From 12fbbbc5c840957e6e15c038e2efcf426a6c7430 Mon Sep 17 00:00:00 2001 From: Dhruv-Sachdev1313 Date: Mon, 5 Jul 2021 17:04:43 +0530 Subject: [PATCH 031/201] refactored scorecard model to pass URL instead of relative path Signed-off-by: Dhruv-Sachdev1313 --- workers/deps_worker/deps_worker.py | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/workers/deps_worker/deps_worker.py b/workers/deps_worker/deps_worker.py index e7ea17f229..2e5a847b97 100644 --- a/workers/deps_worker/deps_worker.py +++ b/workers/deps_worker/deps_worker.py @@ -70,18 +70,18 @@ def ossf_scorecard_model(self, entry_info, repo_id): self.logger.info(repo_id) repo_path_sql = s.sql.text(""" - SELECT repo_id, CONCAT(repo_group_id || chr(47) || repo_path || repo_name) AS path + SELECT repo_id, repo_git AS path FROM repo WHERE repo_id = :repo_id """) - relative_repo_path = self.db.execute(repo_path_sql, {'repo_id': repo_id}).fetchone()[1] - absolute_repo_path = self.config['repo_directory'] + relative_repo_path + scorecard_repo_path = self.db.execute(repo_path_sql, {'repo_id': repo_id}).fetchone()[1] + # absolute_repo_path = self.config['repo_directory'] + relative_repo_path ## TODO: Flesh out generate_scorecard ## You can look at the Value worker to see how Go Programs are already called in Augur. # try: - self.generate_scorecard(repo_id, relative_repo_path) + self.generate_scorecard(repo_id, scorecard_repo_path) except Exception as e: self.logger.error(e) @@ -91,15 +91,15 @@ def ossf_scorecard_model(self, entry_info, repo_id): def generate_scorecard(self, repo_id, path): """Runs scorecard on repo and stores data in database :param repo_id: Repository ID - :param path: relative path of the Repostiory + :param path: URL path of the Repostiory """ self.logger.info('Generating scorecard data for repo...') self.logger.info(f'Repo ID: {repo_id}, Path: {path}') # we convert relative path in the format required by scorecard like github.com/chaoss/augur - raw_path,_ = path.split('-') - scorecard_repo_path = raw_path[2:] - command = '--repo='+ scorecard_repo_path + # raw_path,_ = path.split('-') + # scorecard_repo_path = raw_path[2:] + command = '--repo='+ path self.logger.info('command generated..') #this is path where our scorecard project is located path_to_scorecard = os.environ['HOME'] + '/scorecard' From 190e1f600e7a35963d2c64c92078903d666f3e66 Mon Sep 17 00:00:00 2001 From: Dhruv-Sachdev1313 Date: Mon, 5 Jul 2021 19:36:40 +0530 Subject: [PATCH 032/201] refactored complete Scorecard model and function Signed-off-by: Dhruv-Sachdev1313 --- workers/deps_worker/deps_worker.py | 71 ++++++++++++++++-------------- 1 file changed, 37 insertions(+), 34 deletions(-) diff --git a/workers/deps_worker/deps_worker.py b/workers/deps_worker/deps_worker.py index 2e5a847b97..d18aaa4342 100644 --- a/workers/deps_worker/deps_worker.py +++ b/workers/deps_worker/deps_worker.py @@ -114,46 +114,49 @@ def generate_scorecard(self, repo_id, path): required_output = output[4:20] self.logger.info('required output generated..') # here scorecard becomes a list of lists where it has list of 16 list in which each list is a test and has name, status and score. - scorecard = list() + scorecard_score = dict() + scorecard_status = dict() self.logger.info('adding to list...') for test in required_output: - scorecard.append(test.split()) + temp = test.split() + scorecard_status[temp[0]] = temp[1] + scorecard_score[temp[0]] = temp[2] self.logger.info('adding to database') repo_deps_scorecard = { 'repo_id': repo_id, - "ossf_active_status": scorecard[0][1], - 'ossf_automated_dendency_update_status': scorecard[1][1], - "ossf_branch_protection_status": scorecard[2][1], - "ossf_ci_tests_status": scorecard[3][1], - "ossf_cii_best_practices_status": scorecard[4][1], - "ossf_code_review_status": scorecard[5][1], - "ossf_contributors_status":scorecard[6][1], - "ossf_frozen_deps_status": scorecard[7][1], - "ossf_fuzzing_status": scorecard[8][1], - "ossf_packaging_status": scorecard[9][1], - "ossf_pull_request_status": scorecard[10][1], - "ossf_sast_status": scorecard[11][1], - "ossf_security_policy_status": scorecard[12][1], - "ossf_signed_releases_status":scorecard[13][1], - "ossf_signed_tags_status":scorecard[14][1], - 'ossf_token_permissions_status': scorecard[15][1], - "ossf_active_score": scorecard[0][2], - 'ossf_automated_dendency_update_score': scorecard[1][2], - "ossf_branch_protection_score":scorecard[2][2], - "ossf_ci_tests_score": scorecard[3][2], - "ossf_cii_best_practices_score": scorecard[4][2], - "ossf_code_review_score": scorecard[5][2], - "ossf_contributors_score":scorecard[6][2], - "ossf_frozen_deps_score": scorecard[7][2], - "ossf_fuzzing_score": scorecard[8][2], - "ossf_packaging_score": scorecard[9][2], - "ossf_pull_request_score": scorecard[10][2], - "ossf_sast_score": scorecard[11][2], - "ossf_security_policy_score": scorecard[12][2], - "ossf_signed_releases_score": scorecard[13][2], - "ossf_signed_tags_score": scorecard[14][2], - 'ossf_token_permissions_score': scorecard[15][2], + "ossf_active_status": scorecard_status.get('Active:'), + "ossf_automated_dendency_update_status": scorecard_status.get('Automatic-Dependency-Update:'), + "ossf_branch_protection_status": scorecard_status.get('Branch-Protection:'), + "ossf_ci_tests_status": scorecard_status.get('CI-Tests:'), + "ossf_cii_best_practices_status": scorecard_status.get('CII-Best-Practices:'), + "ossf_code_review_status": scorecard_status.get('Code-Review:'), + "ossf_contributors_status":scorecard_status.get('Contributors:'), + "ossf_frozen_deps_status": scorecard_status.get('Frozen-Deps:'), + "ossf_fuzzing_status": scorecard_status.get('Fuzzing:'), + "ossf_packaging_status": scorecard_status.get('Packaging:'), + "ossf_pull_request_status": scorecard_status.get('Pull-Requests:'), + "ossf_sast_status": scorecard_status.get('SAST:'), + "ossf_security_policy_status": scorecard_status.get('Security-Policy:'), + "ossf_signed_releases_status":scorecard_status.get('Signed-Releases:'), + "ossf_signed_tags_status":scorecard_status.get('Signed-Tags:'), + "ossf_token_permissions_status": scorecard_status.get('Token-Permissions:'), + "ossf_active_score": scorecard_score.get('Active:'), + "ossf_automated_dendency_update_score": scorecard_score.get('Automatic-Dependency-Update:'), + "ossf_branch_protection_score":scorecard_score.get('Branch-Protection:'), + "ossf_ci_tests_score": scorecard_score.get('CI-Tests:'), + "ossf_cii_best_practices_score": scorecard_score.get('CII-Best-Practices:'), + "ossf_code_review_score": scorecard_score.get('Code-Review:'), + "ossf_contributors_score":scorecard_score.get('Contributors:'), + "ossf_frozen_deps_score": scorecard_score.get('Frozen-Deps:'), + "ossf_fuzzing_score": scorecard_score.get('Fuzzing:'), + "ossf_packaging_score": scorecard_score.get('Packaging:'), + "ossf_pull_request_score": scorecard_score.get('Pull-Requests:'), + "ossf_sast_score": scorecard_score.get('SAST:'), + "ossf_security_policy_score": scorecard_score.get('Security-Policy:'), + "ossf_signed_releases_score": scorecard_score.get('Signed-Releases:'), + "ossf_signed_tags_score": scorecard_score.get('Signed-Tags:'), + "ossf_token_permissions_score": scorecard_score.get('Token-Permissions:'), 'tool_source': self.tool_source, 'tool_version': self.tool_version, 'data_source': self.data_source, From 8201179f93ef0de76a127bac200a9c1c1357e070 Mon Sep 17 00:00:00 2001 From: Dhruv-Sachdev1313 Date: Wed, 7 Jul 2021 12:57:24 +0530 Subject: [PATCH 033/201] added check logging Signed-off-by: Dhruv-Sachdev1313 --- workers/deps_worker/deps_worker.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/workers/deps_worker/deps_worker.py b/workers/deps_worker/deps_worker.py index d18aaa4342..2b86dc1cb4 100644 --- a/workers/deps_worker/deps_worker.py +++ b/workers/deps_worker/deps_worker.py @@ -108,11 +108,11 @@ def generate_scorecard(self, repo_id, path): os.environ['GITHUB_AUTH_TOKEN'] = self.config['gh_api_key'] - p= subprocess.run(['./scorecard', command], cwd= path_to_scorecard ,capture_output=True, text=True) + p= subprocess.run(['./scorecard', command], cwd= path_to_scorecard ,capture_output=True, text=True, timeout=None) self.logger.info('subprocess completed successfully... ') output = p.stdout.split('\n') required_output = output[4:20] - self.logger.info('required output generated..') + self.logger.info('required output generated.. {}'.format(required_output)) # here scorecard becomes a list of lists where it has list of 16 list in which each list is a test and has name, status and score. scorecard_score = dict() scorecard_status = dict() @@ -122,7 +122,8 @@ def generate_scorecard(self, repo_id, path): scorecard_status[temp[0]] = temp[1] scorecard_score[temp[0]] = temp[2] - self.logger.info('adding to database') + self.logger.info('adding to database...') + self.logger.info('checking values {} is {} and {} is {} and {} is {} and {} and {}'.format(scorecard_status.get('CII-Best-Practices:'),scorecard_score.get('CII-Best-Practices:'),scorecard_status.get('Automatic-Dependency-Update:'),scorecard_score.get('Automatic-Dependency-Update:'),scorecard_status.get('Token-Permissions:'),scorecard_score.get('Token-Permissions:'),scorecard_status.get('Active:'),scorecard_status.get('Fuzzing:'))) repo_deps_scorecard = { 'repo_id': repo_id, "ossf_active_status": scorecard_status.get('Active:'), From 8b8a0745b0eb64d48e567ee83f559422b486d377 Mon Sep 17 00:00:00 2001 From: isaacmilarky Date: Wed, 7 Jul 2021 10:44:32 -0500 Subject: [PATCH 034/201] Started commenting the pr worker, going to try to insert into the databse at around 500 at a time. Signed-off-by: isaacmilarky --- workers/pull_request_worker/pull_request_worker.py | 6 +++++- workers/worker_git_integration.py | 8 +++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/workers/pull_request_worker/pull_request_worker.py b/workers/pull_request_worker/pull_request_worker.py index 1beb7aa882..f64277963c 100644 --- a/workers/pull_request_worker/pull_request_worker.py +++ b/workers/pull_request_worker/pull_request_worker.py @@ -371,12 +371,14 @@ def pull_request_commits_model(self, task_info, repo_id): self.register_task_completion(self.task_info, self.repo_id, 'pull_request_commits') def _get_pk_source_prs(self): - + + #self.owner and self.repo are both defined in the worker base's collect method using the url of the github repo. pr_url = ( f"https://api.github.com/repos/{self.owner}/{self.repo}/pulls?state=all&" "direction=asc&per_page=100&page={}" ) + #Database action map is essential in order to avoid duplicates messing up the data pr_action_map = { 'insert': { 'source': ['id'], @@ -388,6 +390,8 @@ def _get_pk_source_prs(self): } } + #Use a parent method in order to iterate through pull request pages + #TODO: Make it do a db insert every ~500 records or so. source_prs = self.paginate_endpoint( pr_url, action_map=pr_action_map, table=self.pull_requests_table, where_clause=self.pull_requests_table.c.repo_id == self.repo_id diff --git a/workers/worker_git_integration.py b/workers/worker_git_integration.py index 8b065744ef..ea627fb070 100644 --- a/workers/worker_git_integration.py +++ b/workers/worker_git_integration.py @@ -1172,6 +1172,7 @@ def paginate_endpoint( self, url, action_map={}, table=None, where_clause=True, platform='github', in_memory=True ): + #Get augur columns using the action map along with the primary key table_values = self.db.execute( s.sql.select(self.get_relevant_columns(table, action_map)).where(where_clause) ).fetchall() @@ -1180,10 +1181,14 @@ def paginate_endpoint( multiple_pages = False need_insertion = [] need_update = [] + + #Stores sum of page data all_data = [] forward_pagination = True backwards_activation = False last_page_number = -1 + + #Block to handle page queries and retry at least 10 times while True: # Multiple attempts to hit endpoint @@ -1285,7 +1290,8 @@ def paginate_endpoint( (page_number >= last_page_number and forward_pagination): self.logger.info("No more pages to check, breaking from pagination.\n") break - + + #This is probably where we should insert at around ~500 at a time page_number = page_number + 1 if forward_pagination else page_number - 1 if forward_pagination: From 5429a34b922c7b79b1fc34dbeccd9aa0ad7c6876 Mon Sep 17 00:00:00 2001 From: isaacmilarky Date: Wed, 7 Jul 2021 12:17:49 -0500 Subject: [PATCH 035/201] Starting to try to implement a stagger insert for the pull request worker. Not finished at all atm Signed-off-by: isaacmilarky --- .../pull_request_worker.py | 86 ++++++++++++++++++- workers/worker_git_integration.py | 11 ++- 2 files changed, 95 insertions(+), 2 deletions(-) diff --git a/workers/pull_request_worker/pull_request_worker.py b/workers/pull_request_worker/pull_request_worker.py index f64277963c..2025a4d77d 100644 --- a/workers/pull_request_worker/pull_request_worker.py +++ b/workers/pull_request_worker/pull_request_worker.py @@ -54,6 +54,9 @@ def __init__(self, config={}): self.tool_version = '1.0.0' self.data_source = 'GitHub API' + #Needs to be an attribute of the class for incremental database insert using paginate_endpoint + self.pk_source_prs = None + def graphql_paginate(self, query, data_subjects, before_parameters=None): """ Paginate a GitHub GraphQL query backwards @@ -392,6 +395,87 @@ def _get_pk_source_prs(self): #Use a parent method in order to iterate through pull request pages #TODO: Make it do a db insert every ~500 records or so. + + #Define a method to pass paginate_endpoint so that prs can be inserted incrementally + + def pk_source_increment_insert(inc_source_prs, action_map): + + + prs_insert = [ + { + 'repo_id': self.repo_id, + 'pr_url': pr['url'], + 'pr_src_id': pr['id'], + 'pr_src_node_id': None, + 'pr_html_url': pr['html_url'], + 'pr_diff_url': pr['diff_url'], + 'pr_patch_url': pr['patch_url'], + 'pr_issue_url': pr['issue_url'], + 'pr_augur_issue_id': None, + 'pr_src_number': pr['number'], + 'pr_src_state': pr['state'], + 'pr_src_locked': pr['locked'], + 'pr_src_title': pr['title'], + 'pr_augur_contributor_id': pr['cntrb_id'], + 'pr_body': pr['body'], + 'pr_created_at': pr['created_at'], + 'pr_updated_at': pr['updated_at'], + 'pr_closed_at': pr['closed_at'], + 'pr_merged_at': pr['merged_at'], + 'pr_merge_commit_sha': pr['merge_commit_sha'], + 'pr_teams': None, + 'pr_milestone': None if not ( + pr['milestone'] and 'title' in pr['milestone'] + ) else pr['milestone']['title'], + 'pr_commits_url': pr['commits_url'], + 'pr_review_comments_url': pr['review_comments_url'], + 'pr_review_comment_url': pr['review_comment_url'], + 'pr_comments_url': pr['comments_url'], + 'pr_statuses_url': pr['statuses_url'], + 'pr_meta_head_id': None, + 'pr_meta_base_id': None, + 'pr_src_issue_url': pr['issue_url'], + 'pr_src_comments_url': pr['comments_url'], # NOTE: this seems redundant + 'pr_src_review_comments_url': pr['review_comments_url'], # this too + 'pr_src_commits_url': pr['commits_url'], # this one also seems redundant + 'pr_src_statuses_url': pr['statuses_url'], + 'pr_src_author_association': pr['author_association'], + 'tool_source': self.tool_source, + 'tool_version': self.tool_version, + 'data_source': 'GitHub API' + } for pr in inc_source_prs['insert'] + ] + + #The b_pr_src_id bug comes from here + if len(inc_source_prs['insert']) > 0 or len(inc_source_prs['update']) > 0: + self.bulk_insert( + self.pull_requests_table, + update=inc_source_prs['update'], unique_columns=action_map['insert']['augur'], + insert=prs_insert, update_columns=action_map['update']['augur'] + ) + + source_data = inc_source_prs['insert'] + inc_source_prs['update'] + + elif not self.deep_collection: + self.logger.info( + "There are no prs to update, insert, or collect nested information for.\n" + ) + self.register_task_completion(self.task_info, self.repo_id, 'pull_requests') + return + + if self.deep_collection: + source_data = source_prs['all'] + + # Merge source data to inserted data to have access to inserted primary keys + + gh_merge_fields = ['id'] + augur_merge_fields = ['pr_src_id'] + + pk_source_prs = self.enrich_data_primary_keys(source_data, self.pull_requests_table, + gh_merge_fields, augur_merge_fields) + + + source_prs = self.paginate_endpoint( pr_url, action_map=pr_action_map, table=self.pull_requests_table, where_clause=self.pull_requests_table.c.repo_id == self.repo_id @@ -465,7 +549,7 @@ def _get_pk_source_prs(self): update=source_prs['update'], unique_columns=pr_action_map['insert']['augur'], insert=prs_insert, update_columns=pr_action_map['update']['augur'] ) - + #TODO: figure out what source_data is source_data = source_prs['insert'] + source_prs['update'] elif not self.deep_collection: diff --git a/workers/worker_git_integration.py b/workers/worker_git_integration.py index ea627fb070..09f7243752 100644 --- a/workers/worker_git_integration.py +++ b/workers/worker_git_integration.py @@ -1168,8 +1168,9 @@ def load_url(url, extra_data={}): return all_data + #insertion_method and stagger are arguments that allow paginate_endpoint to insert at around ~500 pages at a time. def paginate_endpoint( - self, url, action_map={}, table=None, where_clause=True, platform='github', in_memory=True + self, url, action_map={}, table=None, where_clause=True, platform='github', in_memory=True, stagger=False, insertion_method=None ): #Get augur columns using the action map along with the primary key @@ -1292,6 +1293,14 @@ def paginate_endpoint( break #This is probably where we should insert at around ~500 at a time + #makes sure that stagger is enabled, we have an insertion method, and the insertion happens every 500 pages or so. + if stagger and insertion_method != None and page_number % 500 == 0: + #call insertion method passed as argument. + #clear the data from memory and avoid duplicate insertions. + need_insertion = [] + need_update = [] + all_data = [] + page_number = page_number + 1 if forward_pagination else page_number - 1 if forward_pagination: From b6902419ab662dabb2f9f523142a313869c27d54 Mon Sep 17 00:00:00 2001 From: isaacmilarky Date: Wed, 7 Jul 2021 12:32:41 -0500 Subject: [PATCH 036/201] Starting to bang out a rough draft Signed-off-by: isaacmilarky --- .../pull_request_worker.py | 25 ++++++++++++++++--- workers/worker_git_integration.py | 13 ++++++++-- 2 files changed, 32 insertions(+), 6 deletions(-) diff --git a/workers/pull_request_worker/pull_request_worker.py b/workers/pull_request_worker/pull_request_worker.py index 2025a4d77d..c966dff706 100644 --- a/workers/pull_request_worker/pull_request_worker.py +++ b/workers/pull_request_worker/pull_request_worker.py @@ -55,7 +55,7 @@ def __init__(self, config={}): self.data_source = 'GitHub API' #Needs to be an attribute of the class for incremental database insert using paginate_endpoint - self.pk_source_prs = None + self.pk_source_prs = [] def graphql_paginate(self, query, data_subjects, before_parameters=None): """ Paginate a GitHub GraphQL query backwards @@ -400,6 +400,22 @@ def _get_pk_source_prs(self): def pk_source_increment_insert(inc_source_prs, action_map): + self.write_debug_data(inc_source_prs, 'source_prs') + + if len(inc_source_prs['all']) == 0: + self.logger.info("There are no prs for this repository.\n") + self.register_task_completion(self.task_info, self.repo_id, 'pull_requests') + return + + inc_source_prs['insert'] = self.enrich_cntrb_id( + inc_source_prs['insert'], 'user.login', action_map_additions={ + 'insert': { + 'source': ['user.node_id'], + 'augur': ['gh_node_id'] + } + }, prefix='user.' + ) + prs_insert = [ { @@ -471,14 +487,15 @@ def pk_source_increment_insert(inc_source_prs, action_map): gh_merge_fields = ['id'] augur_merge_fields = ['pr_src_id'] - pk_source_prs = self.enrich_data_primary_keys(source_data, self.pull_requests_table, + self.pk_source_prs += self.enrich_data_primary_keys(source_data, self.pull_requests_table, gh_merge_fields, augur_merge_fields) + return - + #paginate endpoint with stagger enabled so that the above method can insert every 500 source_prs = self.paginate_endpoint( pr_url, action_map=pr_action_map, table=self.pull_requests_table, - where_clause=self.pull_requests_table.c.repo_id == self.repo_id + where_clause=self.pull_requests_table.c.repo_id == self.repo_id, stagger=True, insertion_method=pk_source_increment_insert ) self.write_debug_data(source_prs, 'source_prs') diff --git a/workers/worker_git_integration.py b/workers/worker_git_integration.py index 09f7243752..7d9be12725 100644 --- a/workers/worker_git_integration.py +++ b/workers/worker_git_integration.py @@ -1170,7 +1170,7 @@ def load_url(url, extra_data={}): #insertion_method and stagger are arguments that allow paginate_endpoint to insert at around ~500 pages at a time. def paginate_endpoint( - self, url, action_map={}, table=None, where_clause=True, platform='github', in_memory=True, stagger=False, insertion_method=None + self, url, action_map={}, table=None, where_clause=True, platform='github', in_memory=True, stagger=False, insertion_method=None, insertion_threshold=500 ): #Get augur columns using the action map along with the primary key @@ -1294,9 +1294,18 @@ def paginate_endpoint( #This is probably where we should insert at around ~500 at a time #makes sure that stagger is enabled, we have an insertion method, and the insertion happens every 500 pages or so. - if stagger and insertion_method != None and page_number % 500 == 0: + if stagger and insertion_method != None and page_number % insertion_threshold == 0: #call insertion method passed as argument. #clear the data from memory and avoid duplicate insertions. + staggered_source_prs = { + 'insert' : need_insertion, + 'update' : need_update, + 'all' : all_data + } + + #Use the method the subclass needs in order to insert the data. + insertion_method(staggered_source_prs,action_map) + need_insertion = [] need_update = [] all_data = [] From 221b9f7c1ea5d5062e159052a03cb57c3897be4e Mon Sep 17 00:00:00 2001 From: isaacmilarky Date: Wed, 7 Jul 2021 12:37:15 -0500 Subject: [PATCH 037/201] Go back to this commit if the next change doesn't work out Signed-off-by: isaacmilarky --- workers/pull_request_worker/pull_request_worker.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/workers/pull_request_worker/pull_request_worker.py b/workers/pull_request_worker/pull_request_worker.py index c966dff706..2b1373194a 100644 --- a/workers/pull_request_worker/pull_request_worker.py +++ b/workers/pull_request_worker/pull_request_worker.py @@ -480,7 +480,7 @@ def pk_source_increment_insert(inc_source_prs, action_map): return if self.deep_collection: - source_data = source_prs['all'] + source_data = inc_source_prs['all'] # Merge source data to inserted data to have access to inserted primary keys @@ -586,6 +586,10 @@ def pk_source_increment_insert(inc_source_prs, action_map): pk_source_prs = self.enrich_data_primary_keys(source_data, self.pull_requests_table, gh_merge_fields, augur_merge_fields) + + pk_source_prs += self.pk_source_prs + + self.pk_source_prs = [] return pk_source_prs From aa1fc8e97f3199402ef6697cb1e26d419cab9ee6 Mon Sep 17 00:00:00 2001 From: isaacmilarky Date: Wed, 7 Jul 2021 12:43:36 -0500 Subject: [PATCH 038/201] Fresh and untested code to stagger pull request insertion Signed-off-by: isaacmilarky --- .../pull_request_worker.py | 95 ++----------------- 1 file changed, 6 insertions(+), 89 deletions(-) diff --git a/workers/pull_request_worker/pull_request_worker.py b/workers/pull_request_worker/pull_request_worker.py index 2b1373194a..815d787c1b 100644 --- a/workers/pull_request_worker/pull_request_worker.py +++ b/workers/pull_request_worker/pull_request_worker.py @@ -498,97 +498,14 @@ def pk_source_increment_insert(inc_source_prs, action_map): where_clause=self.pull_requests_table.c.repo_id == self.repo_id, stagger=True, insertion_method=pk_source_increment_insert ) - self.write_debug_data(source_prs, 'source_prs') - - if len(source_prs['all']) == 0: - self.logger.info("There are no prs for this repository.\n") - self.register_task_completion(self.task_info, self.repo_id, 'pull_requests') - return - - source_prs['insert'] = self.enrich_cntrb_id( - source_prs['insert'], 'user.login', action_map_additions={ - 'insert': { - 'source': ['user.node_id'], - 'augur': ['gh_node_id'] - } - }, prefix='user.' - ) - - prs_insert = [ - { - 'repo_id': self.repo_id, - 'pr_url': pr['url'], - 'pr_src_id': pr['id'], - 'pr_src_node_id': None, - 'pr_html_url': pr['html_url'], - 'pr_diff_url': pr['diff_url'], - 'pr_patch_url': pr['patch_url'], - 'pr_issue_url': pr['issue_url'], - 'pr_augur_issue_id': None, - 'pr_src_number': pr['number'], - 'pr_src_state': pr['state'], - 'pr_src_locked': pr['locked'], - 'pr_src_title': pr['title'], - 'pr_augur_contributor_id': pr['cntrb_id'], - 'pr_body': pr['body'], - 'pr_created_at': pr['created_at'], - 'pr_updated_at': pr['updated_at'], - 'pr_closed_at': pr['closed_at'], - 'pr_merged_at': pr['merged_at'], - 'pr_merge_commit_sha': pr['merge_commit_sha'], - 'pr_teams': None, - 'pr_milestone': None if not ( - pr['milestone'] and 'title' in pr['milestone'] - ) else pr['milestone']['title'], - 'pr_commits_url': pr['commits_url'], - 'pr_review_comments_url': pr['review_comments_url'], - 'pr_review_comment_url': pr['review_comment_url'], - 'pr_comments_url': pr['comments_url'], - 'pr_statuses_url': pr['statuses_url'], - 'pr_meta_head_id': None, - 'pr_meta_base_id': None, - 'pr_src_issue_url': pr['issue_url'], - 'pr_src_comments_url': pr['comments_url'], # NOTE: this seems redundant - 'pr_src_review_comments_url': pr['review_comments_url'], # this too - 'pr_src_commits_url': pr['commits_url'], # this one also seems redundant - 'pr_src_statuses_url': pr['statuses_url'], - 'pr_src_author_association': pr['author_association'], - 'tool_source': self.tool_source, - 'tool_version': self.tool_version, - 'data_source': 'GitHub API' - } for pr in source_prs['insert'] - ] - - #The b_pr_src_id bug comes from here - if len(source_prs['insert']) > 0 or len(source_prs['update']) > 0: - pr_insert_result, pr_update_result = self.bulk_insert( - self.pull_requests_table, - update=source_prs['update'], unique_columns=pr_action_map['insert']['augur'], - insert=prs_insert, update_columns=pr_action_map['update']['augur'] - ) - #TODO: figure out what source_data is - source_data = source_prs['insert'] + source_prs['update'] - - elif not self.deep_collection: - self.logger.info( - "There are no prs to update, insert, or collect nested information for.\n" - ) - self.register_task_completion(self.task_info, self.repo_id, 'pull_requests') - return - - if self.deep_collection: - source_data = source_prs['all'] - - # Merge source data to inserted data to have access to inserted primary keys - - gh_merge_fields = ['id'] - augur_merge_fields = ['pr_src_id'] - - pk_source_prs = self.enrich_data_primary_keys(source_data, self.pull_requests_table, - gh_merge_fields, augur_merge_fields) + #Use the increment insert method in order to do the + #remaining pages of the paginated endpoint that weren't inserted inside the paginate_endpoint method + pk_source_increment_insert(source_prs,pr_action_map) - pk_source_prs += self.pk_source_prs + pk_source_prs = self.pk_source_prs + #This attribute is only needed because paginate endpoint needs to + #send this data to the child class and this is the easiset way to do that. self.pk_source_prs = [] return pk_source_prs From 0983f7a326fbfb1d37a62c080a78144578bd99d7 Mon Sep 17 00:00:00 2001 From: isaacmilarky Date: Wed, 7 Jul 2021 13:19:30 -0500 Subject: [PATCH 039/201] Commenting Signed-off-by: isaacmilarky --- workers/pull_request_worker/pull_request_worker.py | 2 -- workers/worker_git_integration.py | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/workers/pull_request_worker/pull_request_worker.py b/workers/pull_request_worker/pull_request_worker.py index 815d787c1b..535b3c0d19 100644 --- a/workers/pull_request_worker/pull_request_worker.py +++ b/workers/pull_request_worker/pull_request_worker.py @@ -394,8 +394,6 @@ def _get_pk_source_prs(self): } #Use a parent method in order to iterate through pull request pages - #TODO: Make it do a db insert every ~500 records or so. - #Define a method to pass paginate_endpoint so that prs can be inserted incrementally def pk_source_increment_insert(inc_source_prs, action_map): diff --git a/workers/worker_git_integration.py b/workers/worker_git_integration.py index 7d9be12725..3e3906f437 100644 --- a/workers/worker_git_integration.py +++ b/workers/worker_git_integration.py @@ -1296,7 +1296,6 @@ def paginate_endpoint( #makes sure that stagger is enabled, we have an insertion method, and the insertion happens every 500 pages or so. if stagger and insertion_method != None and page_number % insertion_threshold == 0: #call insertion method passed as argument. - #clear the data from memory and avoid duplicate insertions. staggered_source_prs = { 'insert' : need_insertion, 'update' : need_update, @@ -1306,6 +1305,7 @@ def paginate_endpoint( #Use the method the subclass needs in order to insert the data. insertion_method(staggered_source_prs,action_map) + #clear the data from memory and avoid duplicate insertions. need_insertion = [] need_update = [] all_data = [] From 6381bef4798e6e98926641244b33a0eb617b2646 Mon Sep 17 00:00:00 2001 From: Dhruv-Sachdev1313 Date: Thu, 8 Jul 2021 00:14:04 +0530 Subject: [PATCH 040/201] Added new schema table v54 Signed-off-by: Dhruv-Sachdev1313 --- schema/generate/52-schema_update_54.sql | 31 +++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 schema/generate/52-schema_update_54.sql diff --git a/schema/generate/52-schema_update_54.sql b/schema/generate/52-schema_update_54.sql new file mode 100644 index 0000000000..418727d8ac --- /dev/null +++ b/schema/generate/52-schema_update_54.sql @@ -0,0 +1,31 @@ +BEGIN; +DROP TABLE IF EXISTS "augur_data"."repo_deps_scorecard"; +CREATE TABLE "augur_data"."repo_deps_scorecard" ( + "repo_deps_scorecard_id" serial8 NOT NULL, + "repo_id" int8, + "name" varchar COLLATE "pg_catalog"."default", + "status" varchar COLLATE "pg_catalog"."default", + "score" varchar COLLATE "pg_catalog"."default", + "tool_source" varchar COLLATE "pg_catalog"."default", + "tool_version" varchar COLLATE "pg_catalog"."default", + "data_source" varchar COLLATE "pg_catalog"."default", + "data_collection_date" timestamp(0) DEFAULT CURRENT_TIMESTAMP +) +; +ALTER TABLE "augur_data"."repo_deps_scorecard" OWNER TO "augur"; + +-- ---------------------------- +-- Primary Key structure for table repo_deps_scorecard +-- ---------------------------- +ALTER TABLE "augur_data"."repo_deps_scorecard" ADD CONSTRAINT "repo_deps_scorecard_pkey1" PRIMARY KEY ("repo_deps_scorecard_id"); + +-- ---------------------------- +-- Foreign Keys structure for table repo_deps_scorecard +-- ---------------------------- +ALTER TABLE "augur_data"."repo_deps_scorecard" ADD CONSTRAINT "repo_id" FOREIGN KEY ("repo_id") REFERENCES "augur_data"."repo" ("repo_id") ON DELETE NO ACTION ON UPDATE NO ACTION; + + +update "augur_operations"."augur_settings" set value = 54 + where setting = 'augur_data_version'; + +COMMIT; \ No newline at end of file From 48c958c23778bf39ad8725f147133d15a3b61aba Mon Sep 17 00:00:00 2001 From: Dhruv-Sachdev1313 Date: Thu, 8 Jul 2021 00:14:50 +0530 Subject: [PATCH 041/201] added schema v54 to create_schema.sql Signed-off-by: Dhruv-Sachdev1313 --- schema/create_schema.sql | 1 + 1 file changed, 1 insertion(+) diff --git a/schema/create_schema.sql b/schema/create_schema.sql index d3868c5983..0597c57cdb 100644 --- a/schema/create_schema.sql +++ b/schema/create_schema.sql @@ -54,4 +54,5 @@ \i schema/generate/49-schema_update_51.sql \i schema/generate/50-schema_update_52.sql \i schema/generate/51-schema_update_53.sql +\i schema/generate/52-schema_update_54.sql From 6eeca7ab1c00da698cfa110e4c572473aa6cee95 Mon Sep 17 00:00:00 2001 From: Dhruv-Sachdev1313 Date: Thu, 8 Jul 2021 00:15:46 +0530 Subject: [PATCH 042/201] refactored scorecard according to new table Signed-off-by: Dhruv-Sachdev1313 --- workers/deps_worker/deps_worker.py | 81 +++++++++++------------------- 1 file changed, 29 insertions(+), 52 deletions(-) diff --git a/workers/deps_worker/deps_worker.py b/workers/deps_worker/deps_worker.py index 2b86dc1cb4..6ff270e048 100644 --- a/workers/deps_worker/deps_worker.py +++ b/workers/deps_worker/deps_worker.py @@ -25,7 +25,7 @@ def __init__(self, config={}): models = ['deps', 'ossf_scorecard'] # Define the tables needed to insert, update, or delete on - data_tables = ['repo_dependencies', '_dev1_repo_deps_scorecard'] + data_tables = ['repo_dependencies', 'repo_deps_scorecard'] operations_tables = ['worker_history', 'worker_job'] @@ -99,14 +99,18 @@ def generate_scorecard(self, repo_id, path): # we convert relative path in the format required by scorecard like github.com/chaoss/augur # raw_path,_ = path.split('-') # scorecard_repo_path = raw_path[2:] + path = path[8:] + if path[-4:] == '.git': + path = path.replace(".git", "") command = '--repo='+ path - self.logger.info('command generated..') + self.logger.info('command generated..{}'.format(command)) #this is path where our scorecard project is located path_to_scorecard = os.environ['HOME'] + '/scorecard' #setting the enviror scorecard if it does not exsists alreadyonment variable f os.environ['GITHUB_AUTH_TOKEN'] = self.config['gh_api_key'] + self.logger.info("setting variables done {}".format(os.environ.get('GITHUB_AUTH_TOKEN'))) p= subprocess.run(['./scorecard', command], cwd= path_to_scorecard ,capture_output=True, text=True, timeout=None) self.logger.info('subprocess completed successfully... ') @@ -114,58 +118,31 @@ def generate_scorecard(self, repo_id, path): required_output = output[4:20] self.logger.info('required output generated.. {}'.format(required_output)) # here scorecard becomes a list of lists where it has list of 16 list in which each list is a test and has name, status and score. - scorecard_score = dict() - scorecard_status = dict() - self.logger.info('adding to list...') - for test in required_output: - temp = test.split() - scorecard_status[temp[0]] = temp[1] - scorecard_score[temp[0]] = temp[2] + # scorecard_score = dict() + # scorecard_status = dict() + # self.logger.info('adding to list...') + # for test in required_output: + # temp = test.split() + # scorecard_status[temp[0]] = temp[1] + # scorecard_score[temp[0]] = temp[2] self.logger.info('adding to database...') - self.logger.info('checking values {} is {} and {} is {} and {} is {} and {} and {}'.format(scorecard_status.get('CII-Best-Practices:'),scorecard_score.get('CII-Best-Practices:'),scorecard_status.get('Automatic-Dependency-Update:'),scorecard_score.get('Automatic-Dependency-Update:'),scorecard_status.get('Token-Permissions:'),scorecard_score.get('Token-Permissions:'),scorecard_status.get('Active:'),scorecard_status.get('Fuzzing:'))) - repo_deps_scorecard = { - 'repo_id': repo_id, - "ossf_active_status": scorecard_status.get('Active:'), - "ossf_automated_dendency_update_status": scorecard_status.get('Automatic-Dependency-Update:'), - "ossf_branch_protection_status": scorecard_status.get('Branch-Protection:'), - "ossf_ci_tests_status": scorecard_status.get('CI-Tests:'), - "ossf_cii_best_practices_status": scorecard_status.get('CII-Best-Practices:'), - "ossf_code_review_status": scorecard_status.get('Code-Review:'), - "ossf_contributors_status":scorecard_status.get('Contributors:'), - "ossf_frozen_deps_status": scorecard_status.get('Frozen-Deps:'), - "ossf_fuzzing_status": scorecard_status.get('Fuzzing:'), - "ossf_packaging_status": scorecard_status.get('Packaging:'), - "ossf_pull_request_status": scorecard_status.get('Pull-Requests:'), - "ossf_sast_status": scorecard_status.get('SAST:'), - "ossf_security_policy_status": scorecard_status.get('Security-Policy:'), - "ossf_signed_releases_status":scorecard_status.get('Signed-Releases:'), - "ossf_signed_tags_status":scorecard_status.get('Signed-Tags:'), - "ossf_token_permissions_status": scorecard_status.get('Token-Permissions:'), - "ossf_active_score": scorecard_score.get('Active:'), - "ossf_automated_dendency_update_score": scorecard_score.get('Automatic-Dependency-Update:'), - "ossf_branch_protection_score":scorecard_score.get('Branch-Protection:'), - "ossf_ci_tests_score": scorecard_score.get('CI-Tests:'), - "ossf_cii_best_practices_score": scorecard_score.get('CII-Best-Practices:'), - "ossf_code_review_score": scorecard_score.get('Code-Review:'), - "ossf_contributors_score":scorecard_score.get('Contributors:'), - "ossf_frozen_deps_score": scorecard_score.get('Frozen-Deps:'), - "ossf_fuzzing_score": scorecard_score.get('Fuzzing:'), - "ossf_packaging_score": scorecard_score.get('Packaging:'), - "ossf_pull_request_score": scorecard_score.get('Pull-Requests:'), - "ossf_sast_score": scorecard_score.get('SAST:'), - "ossf_security_policy_score": scorecard_score.get('Security-Policy:'), - "ossf_signed_releases_score": scorecard_score.get('Signed-Releases:'), - "ossf_signed_tags_score": scorecard_score.get('Signed-Tags:'), - "ossf_token_permissions_score": scorecard_score.get('Token-Permissions:'), - 'tool_source': self.tool_source, - 'tool_version': self.tool_version, - 'data_source': self.data_source, - 'data_collection_date': datetime.now().strftime('%Y-%m-%dT%H:%M:%SZ') - - } - result = self.db.execute(self._dev1_repo_deps_scorecard_table.insert().values(repo_deps_scorecard)) - self.logger.info(f"Added OSSF scorecard data : {result.inserted_primary_key}") + # self.logger.info('checking values {} is {} and {} is {} and {} is {} and {} and {}'.format(scorecard_status.get('CII-Best-Practices:'),scorecard_score.get('CII-Best-Practices:'),scorecard_status.get('Automatic-Dependency-Update:'),scorecard_score.get('Automatic-Dependency-Update:'),scorecard_status.get('Token-Permissions:'),scorecard_score.get('Token-Permissions:'),scorecard_status.get('Active:'),scorecard_status.get('Fuzzing:'))) + for test in required_output: + temp = test.split() + repo_deps_scorecard = { + 'repo_id': repo_id, + 'name': temp[0], + 'status': temp[1], + 'score': temp[2], + 'tool_source': self.tool_source, + 'tool_version': self.tool_version, + 'data_source': self.data_source, + 'data_collection_date': datetime.now().strftime('%Y-%m-%dT%H:%M:%SZ') + + } + result = self.db.execute(self.repo_deps_scorecard_table.insert().values(repo_deps_scorecard)) + self.logger.info(f"Added OSSF scorecard data : {result.inserted_primary_key}") From 9338da4c7859abdb932a74153c99b45f83078005 Mon Sep 17 00:00:00 2001 From: Dhruv-Sachdev1313 Date: Fri, 9 Jul 2021 20:27:39 +0530 Subject: [PATCH 043/201] removed unwanted logging Signed-off-by: Dhruv-Sachdev1313 --- workers/deps_worker/deps_worker.py | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) diff --git a/workers/deps_worker/deps_worker.py b/workers/deps_worker/deps_worker.py index 6ff270e048..d277ff1012 100644 --- a/workers/deps_worker/deps_worker.py +++ b/workers/deps_worker/deps_worker.py @@ -103,31 +103,24 @@ def generate_scorecard(self, repo_id, path): if path[-4:] == '.git': path = path.replace(".git", "") command = '--repo='+ path - self.logger.info('command generated..{}'.format(command)) + #this is path where our scorecard project is located path_to_scorecard = os.environ['HOME'] + '/scorecard' - #setting the enviror scorecard if it does not exsists alreadyonment variable f + #setting the environmental variable which is required by scorecard os.environ['GITHUB_AUTH_TOKEN'] = self.config['gh_api_key'] - self.logger.info("setting variables done {}".format(os.environ.get('GITHUB_AUTH_TOKEN'))) + p= subprocess.run(['./scorecard', command], cwd= path_to_scorecard ,capture_output=True, text=True, timeout=None) self.logger.info('subprocess completed successfully... ') output = p.stdout.split('\n') required_output = output[4:20] - self.logger.info('required output generated.. {}'.format(required_output)) - # here scorecard becomes a list of lists where it has list of 16 list in which each list is a test and has name, status and score. - # scorecard_score = dict() - # scorecard_status = dict() - # self.logger.info('adding to list...') - # for test in required_output: - # temp = test.split() - # scorecard_status[temp[0]] = temp[1] - # scorecard_score[temp[0]] = temp[2] + + self.logger.info('adding to database...') - # self.logger.info('checking values {} is {} and {} is {} and {} is {} and {} and {}'.format(scorecard_status.get('CII-Best-Practices:'),scorecard_score.get('CII-Best-Practices:'),scorecard_status.get('Automatic-Dependency-Update:'),scorecard_score.get('Automatic-Dependency-Update:'),scorecard_status.get('Token-Permissions:'),scorecard_score.get('Token-Permissions:'),scorecard_status.get('Active:'),scorecard_status.get('Fuzzing:'))) + for test in required_output: temp = test.split() repo_deps_scorecard = { From 1b6234d6e46bfdb5eef55ab8988a4071542e0fee Mon Sep 17 00:00:00 2001 From: isaacmilarky Date: Fri, 9 Jul 2021 11:35:00 -0500 Subject: [PATCH 044/201] Starting to try to debug github worker Signed-off-by: isaacmilarky --- workers/worker_persistance.py | 1 + 1 file changed, 1 insertion(+) diff --git a/workers/worker_persistance.py b/workers/worker_persistance.py index 1b73c93546..3f1a502a9c 100644 --- a/workers/worker_persistance.py +++ b/workers/worker_persistance.py @@ -761,6 +761,7 @@ def psql_insert_copy(table, conn, keys, data_iter): sql = 'COPY {} ({}) FROM STDIN WITH CSV'.format( table_name, columns) + #This causes the github worker to throw an error with pandas cur.copy_expert(sql=sql, file=s_buf) df = pd.DataFrame(insert) From 60ae2b3149c1d13a347d1d969ad5b604052c7572 Mon Sep 17 00:00:00 2001 From: isaacmilarky Date: Fri, 9 Jul 2021 12:57:15 -0500 Subject: [PATCH 045/201] Trying to handle type errors during psycopg2 insertion Signed-off-by: isaacmilarky --- workers/github_worker/github_worker.py | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/workers/github_worker/github_worker.py b/workers/github_worker/github_worker.py index 6b355bb4cc..9dea529ba1 100644 --- a/workers/github_worker/github_worker.py +++ b/workers/github_worker/github_worker.py @@ -9,6 +9,7 @@ import logging import json import os +import psycopg2 #really only to catch type errors for database methods import math from datetime import datetime from workers.worker_base import Worker @@ -488,7 +489,17 @@ def is_nan(value): 'label_src_node_id': label['node_id'] } for label in source_labels_insert ] - self.bulk_insert( - self.issue_labels_table, insert=labels_insert, - unique_columns=label_action_map['insert']['augur'] - ) + + #Trying to fix an error with creating bigInts using pandas + try: + self.bulk_insert( + self.issue_labels_table, insert=labels_insert, + unique_columns=label_action_map['insert']['augur'] + ) + except psycopg2.errors.InvalidTextRepresentation: + #If there was an error constructing a type try to redo the insert with a conversion. + self.bulk_insert( + self.issue_labels_table, insert=labels_insert, + unique_columns=label_action_map['insert']['augur'], + convert_float_int=True + ) From c2fe6f5f00b6994d946661f3ae832aa96a6a26f5 Mon Sep 17 00:00:00 2001 From: "Sean P. Goggins" Date: Sat, 10 Jul 2021 17:05:17 -0500 Subject: [PATCH 046/201] Schema Updates --- schema/create_schema.sql | 1 + schema/generate/53-schema_update_55.sql | 17 +++++++++++++++++ 2 files changed, 18 insertions(+) create mode 100644 schema/generate/53-schema_update_55.sql diff --git a/schema/create_schema.sql b/schema/create_schema.sql index 0597c57cdb..7ce7ce4885 100644 --- a/schema/create_schema.sql +++ b/schema/create_schema.sql @@ -55,4 +55,5 @@ \i schema/generate/50-schema_update_52.sql \i schema/generate/51-schema_update_53.sql \i schema/generate/52-schema_update_54.sql +\i schema/generate/53-schema_update_55.sql diff --git a/schema/generate/53-schema_update_55.sql b/schema/generate/53-schema_update_55.sql new file mode 100644 index 0000000000..b30109aa7e --- /dev/null +++ b/schema/generate/53-schema_update_55.sql @@ -0,0 +1,17 @@ +BEGIN; + + +ALTER TABLE "augur_operations"."worker_history" ALTER COLUMN "oauth_id" DROP NOT NULL; + +ALTER TABLE "augur_data"."pull_requests" DROP CONSTRAINT if exists "fk_pull_requests_pull_request_meta_2"; + +ALTER TABLE "augur_data"."pull_requests" DROP CONSTRAINT if exists "fk_pull_requests_pull_request_meta_1"; + +CREATE INDEX CONCURRENTLY IF NOT EXISTS "cntrb_canonica-idx11" ON "augur_data"."contributors" USING btree ( + "cntrb_canonical" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST +); + +update "augur_operations"."augur_settings" set value = 55 where setting = 'augur_data_version'; + +COMMIT; + From 2791813d508669e9985dd1c9f20c631041bba069 Mon Sep 17 00:00:00 2001 From: Sean Goggins Date: Sat, 10 Jul 2021 17:21:44 -0500 Subject: [PATCH 047/201] schema update correction --- schema/generate/53-schema_update_55.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/schema/generate/53-schema_update_55.sql b/schema/generate/53-schema_update_55.sql index b30109aa7e..f91b484666 100644 --- a/schema/generate/53-schema_update_55.sql +++ b/schema/generate/53-schema_update_55.sql @@ -7,7 +7,7 @@ ALTER TABLE "augur_data"."pull_requests" DROP CONSTRAINT if exists "fk_pull_requ ALTER TABLE "augur_data"."pull_requests" DROP CONSTRAINT if exists "fk_pull_requests_pull_request_meta_1"; -CREATE INDEX CONCURRENTLY IF NOT EXISTS "cntrb_canonica-idx11" ON "augur_data"."contributors" USING btree ( +CREATE INDEX IF NOT EXISTS "cntrb_canonica-idx11" ON "augur_data"."contributors" USING btree ( "cntrb_canonical" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST ); From ecbc180ec93f1a760077c4f9fcc7a9b052928150 Mon Sep 17 00:00:00 2001 From: "Sean P. Goggins" Date: Sat, 10 Jul 2021 17:54:54 -0500 Subject: [PATCH 048/201] Schema BRIN index autoupdate turned on. --- schema/create_schema.sql | 1 + schema/generate/54-schema_update_56.sql | 12 ++++++++++++ 2 files changed, 13 insertions(+) create mode 100644 schema/generate/54-schema_update_56.sql diff --git a/schema/create_schema.sql b/schema/create_schema.sql index 7ce7ce4885..43e847ad16 100644 --- a/schema/create_schema.sql +++ b/schema/create_schema.sql @@ -56,4 +56,5 @@ \i schema/generate/51-schema_update_53.sql \i schema/generate/52-schema_update_54.sql \i schema/generate/53-schema_update_55.sql +\i schema/generate/54-schema_update_56.sql diff --git a/schema/generate/54-schema_update_56.sql b/schema/generate/54-schema_update_56.sql new file mode 100644 index 0000000000..fa2676e53c --- /dev/null +++ b/schema/generate/54-schema_update_56.sql @@ -0,0 +1,12 @@ +BEGIN; + +alter index if exists cmt_author_contrib_worker set (pages_per_range = 64,autosummarize = on); +alter index if exists cmt_commiter_contrib_worker set (pages_per_range = 64,autosummarize = on); +alter index if exists contributor_delete_finder set (pages_per_range = 64,autosummarize = on); +alter index if exists contributor_worker_finder set (pages_per_range = 64,autosummarize = on); +alter index if exists contributor_worker_fullname_finder set (pages_per_range = 64,autosummarize = on); +alter index if exists contributor_worker_email_finder set (pages_per_range = 64,autosummarize = on); + +update "augur_operations"."augur_settings" set value = 56 where setting = 'augur_data_version'; + +COMMIT; From f3c1eb6910331ce0f5c99ad5389c93c9b7aaebf8 Mon Sep 17 00:00:00 2001 From: "Sean P. Goggins" Date: Sat, 10 Jul 2021 18:24:51 -0500 Subject: [PATCH 049/201] foreign key model update. --- schema/20210711-Augur-Model.ndm2 | 50904 +++++++++++++++++++++++++++++ 1 file changed, 50904 insertions(+) create mode 100644 schema/20210711-Augur-Model.ndm2 diff --git a/schema/20210711-Augur-Model.ndm2 b/schema/20210711-Augur-Model.ndm2 new file mode 100644 index 0000000000..a2222177d7 --- /dev/null +++ b/schema/20210711-Augur-Model.ndm2 @@ -0,0 +1,50904 @@ +{ + "paper": { + "name": "A4", + "leftMargin": 0.5, + "rightMargin": 0.5, + "topMargin": 0.5, + "bottomMargin": 0.5, + "isPortriat": true + }, + "modelVersion": 2.01, + "defaultSchema": "Default", + "server": { + "objectType": "Server_PGSQL", + "name": "Default", + "serverVersion": 130000, + "edition": "Default", + "catalogs": [ + { + "objectType": "Catalog_PGSQL", + "name": "Default", + "schemas": [ + { + "objectType": "Schema_PGSQL", + "name": "Default", + "comment": "", + "tables": [], + "views": [] + }, + { + "objectType": "Schema_PGSQL", + "name": "augur_data", + "comment": "", + "tables": [ + { + "objectType": "TableNormal_PGSQL", + "name": "analysis_log", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "analysis_log", + "oid": 185889, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "repos_id", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "repos_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "status", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "status", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "date_attempted", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", + "comment": "", + "oldName": "date_attempted", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [ + { + "objectType": "Index_PGSQL", + "name": "repos_id", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "repos_id", + "oid": 203939, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "analysis_log", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "repos_id", + "collation": "", + "opClass": "int4_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "repos_id", + "collationSchema": "" + } + ] + } + ], + "rules": [], + "foreignKeys": [], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "chaoss_metric_status", + "comment": "This table used to track CHAOSS Metric implementations in Augur, but due to the constantly changing location of that information, it is for the moment not actively populated. ", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "chaoss_metric_status", + "oid": 186416, + "rows": 80, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "cms_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_data.chaoss_metric_status_cms_id_seq'::regclass)", + "comment": "", + "oldName": "cms_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "cm_group", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "cm_group", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "cm_source", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "cm_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "cm_type", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "cm_type", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 4, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "cm_backend_status", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "cm_backend_status", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 5, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "cm_frontend_status", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "cm_frontend_status", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 6, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "cm_defined", + "type": "bool", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "cm_defined", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 7, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "cm_api_endpoint_repo", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "cm_api_endpoint_repo", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 8, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "cm_api_endpoint_rg", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "cm_api_endpoint_rg", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 9, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "cm_name", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "cm_name", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 10, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "cm_working_group", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "cm_working_group", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 11, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "cm_info", + "type": "json", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "cm_info", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 12, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_source", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 13, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_version", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_version", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 14, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_source", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "data_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 15, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_collection_date", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", + "comment": "", + "oldName": "data_collection_date", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 16, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "cm_working_group_focus_area", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "cm_working_group_focus_area", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 17, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "chaoss_metric_status_pkey", + "fields": [ + "cms_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "chaoss_metric_status_pkey" + }, + "foreignKeys": [], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "commit_comment_ref", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "commit_comment_ref", + "oid": 186432, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "cmt_comment_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_data.commit_comment_ref_cmt_comment_id_seq'::regclass)", + "comment": "", + "oldName": "cmt_comment_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "cmt_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "cmt_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "msg_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "msg_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "user_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "user_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 4, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "body", + "type": "text", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "body", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 5, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "line", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "line", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 6, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "position", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "position", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 7, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "created_at", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", + "comment": "", + "oldName": "created_at", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 8, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_source", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 9, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_version", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_version", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 10, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_source", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "data_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 11, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_collection_date", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", + "comment": "", + "oldName": "data_collection_date", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 12, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "cmt_comment_src_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "For data provenance, we store the source ID if it exists. ", + "oldName": "cmt_comment_src_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 13, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "commit_comment_src_node_id", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "For data provenance, we store the source node ID if it exists. ", + "oldName": "commit_comment_src_node_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 14, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [ + { + "objectType": "Index_PGSQL", + "name": "comment_id", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "comment_id", + "oid": 203609, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "commit_comment_ref", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "cmt_comment_src_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_comment_src_id", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "cmt_comment_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_comment_id", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "msg_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "msg_id", + "collationSchema": "" + } + ] + } + ], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "commit_comment_ref_pkey", + "fields": [ + "cmt_comment_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "commit_comment_ref_pkey" + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_commit_comment_ref_commits_1", + "fields": [ + "cmt_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "commits", + "referenceFields": [ + "cmt_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "OneAndOnlyOneRelationship", + "oldName": "fk_commit_comment_ref_commits_1" + }, + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_commit_comment_ref_message_1", + "fields": [ + "msg_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "message", + "referenceFields": [ + "msg_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "OneAndOnlyOneRelationship", + "oldName": "fk_commit_comment_ref_message_1" + } + ], + "uniques": [ + { + "objectType": "Unique_PGSQL", + "name": "commitcomment", + "fields": [ + "cmt_id", + "msg_id", + "cmt_comment_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "commitcomment" + } + ], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "commit_parents", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "commit_parents", + "oid": 186443, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "cmt_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "cmt_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "parent_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_data.commit_parents_parent_id_seq'::regclass)", + "comment": "", + "oldName": "parent_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_source", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_version", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_version", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 4, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_source", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "data_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 5, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_collection_date", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", + "comment": "", + "oldName": "data_collection_date", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 6, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [ + { + "objectType": "Index_PGSQL", + "name": "commit_parents_ibfk_1", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "commit_parents_ibfk_1", + "oid": 203610, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "commit_parents", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "cmt_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_id", + "collationSchema": "" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "commit_parents_ibfk_2", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "commit_parents_ibfk_2", + "oid": 203618, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "commit_parents", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "parent_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "parent_id", + "collationSchema": "" + } + ] + } + ], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "commit_parents_pkey", + "fields": [ + "cmt_id", + "parent_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "commit_parents_pkey" + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_commit_parents_commits_1", + "fields": [ + "cmt_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "commits", + "referenceFields": [ + "cmt_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "OneAndOnlyOneRelationship", + "oldName": "fk_commit_parents_commits_1" + }, + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_commit_parents_commits_2", + "fields": [ + "parent_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "commits", + "referenceFields": [ + "cmt_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "OneAndOnlyOneRelationship", + "oldName": "fk_commit_parents_commits_2" + } + ], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "contributor_affiliations", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "contributor_affiliations", + "oid": 186765, + "rows": 1, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "ca_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_data.contributor_affiliations_ca_id_seq'::regclass)", + "comment": "", + "oldName": "ca_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "ca_domain", + "type": "varchar", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "ca_domain", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "ca_start_date", + "type": "date", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "'1970-01-01'::date", + "comment": "", + "oldName": "ca_start_date", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_source", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 4, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_version", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_version", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 5, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_source", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "data_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 6, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_collection_date", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", + "comment": "", + "oldName": "data_collection_date", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 7, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "ca_last_used", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", + "comment": "", + "oldName": "ca_last_used", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 8, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "ca_affiliation", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "ca_affiliation", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 9, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "ca_active", + "type": "int2", + "length": 16, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "1", + "comment": "", + "oldName": "ca_active", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 10, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "contributor_affiliations_pkey", + "fields": [ + "ca_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "contributor_affiliations_pkey" + }, + "foreignKeys": [], + "uniques": [ + { + "objectType": "Unique_PGSQL", + "name": "unique_domain", + "fields": [ + "ca_domain" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "Only one row should exist for any given top level domain or subdomain. ", + "isDeferrable": false, + "isDeferred": false, + "oldName": "unique_domain" + } + ], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "contributors", + "comment": "For GitHub, this should be repeated from gh_login. for other systems, it should be that systems login. ", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "contributors", + "oid": 187051, + "rows": 1, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "cntrb_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_data.contributors_cntrb_id_seq'::regclass)", + "comment": "", + "oldName": "cntrb_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "cntrb_login", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "Will be a double population with the same value as gh_login for github, but the local value for other systems. ", + "oldName": "cntrb_login", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "cntrb_email", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "This needs to be here for matching contributor ids, which are augur, to the commit information. ", + "oldName": "cntrb_email", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "cntrb_company", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "NULL::character varying", + "comment": "", + "oldName": "cntrb_company", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 4, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "cntrb_created_at", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "cntrb_created_at", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 5, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "cntrb_type", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "Present in another models. It is not currently used in Augur. ", + "oldName": "cntrb_type", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 6, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "cntrb_fake", + "type": "int2", + "length": 16, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "0", + "comment": "", + "oldName": "cntrb_fake", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 7, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "cntrb_deleted", + "type": "int2", + "length": 16, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "0", + "comment": "", + "oldName": "cntrb_deleted", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 8, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "cntrb_long", + "type": "numeric", + "length": 11, + "decimals": 8, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "NULL::numeric", + "comment": "", + "oldName": "cntrb_long", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 9, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "cntrb_lat", + "type": "numeric", + "length": 10, + "decimals": 8, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "NULL::numeric", + "comment": "", + "oldName": "cntrb_lat", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 10, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "cntrb_country_code", + "type": "char", + "length": 3, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "NULL::bpchar", + "comment": "", + "oldName": "cntrb_country_code", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 11, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "cntrb_state", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "NULL::character varying", + "comment": "", + "oldName": "cntrb_state", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 12, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "cntrb_city", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "NULL::character varying", + "comment": "", + "oldName": "cntrb_city", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 13, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "cntrb_location", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "NULL::character varying", + "comment": "", + "oldName": "cntrb_location", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 14, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "cntrb_canonical", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "cntrb_canonical", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 15, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "gh_user_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "gh_user_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 16, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "gh_login", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "populated with the github user name for github originated data. ", + "oldName": "gh_login", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 17, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "gh_url", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "gh_url", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 18, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "gh_html_url", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "gh_html_url", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 19, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "gh_node_id", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "gh_node_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 20, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "gh_avatar_url", + "type": "varchar", + "length": 4000, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "gh_avatar_url", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 21, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "gh_gravatar_id", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "gh_gravatar_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 22, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "gh_followers_url", + "type": "varchar", + "length": 4000, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "gh_followers_url", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 23, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "gh_following_url", + "type": "varchar", + "length": 4000, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "gh_following_url", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 24, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "gh_gists_url", + "type": "varchar", + "length": 4000, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "gh_gists_url", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 25, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "gh_starred_url", + "type": "varchar", + "length": 4000, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "gh_starred_url", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 26, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "gh_subscriptions_url", + "type": "varchar", + "length": 4000, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "gh_subscriptions_url", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 27, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "gh_organizations_url", + "type": "varchar", + "length": 4000, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "gh_organizations_url", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 28, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "gh_repos_url", + "type": "varchar", + "length": 4000, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "gh_repos_url", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 29, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "gh_events_url", + "type": "varchar", + "length": 4000, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "gh_events_url", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 30, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "gh_received_events_url", + "type": "varchar", + "length": 4000, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "gh_received_events_url", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 31, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "gh_type", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "gh_type", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 32, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "gh_site_admin", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "gh_site_admin", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 33, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_source", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 34, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_version", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_version", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 35, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_source", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "data_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 36, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_collection_date", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", + "comment": "", + "oldName": "data_collection_date", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 37, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "cntrb_full_name", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "cntrb_full_name", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 38, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "cntrb_last_used", + "type": "timestamptz", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "NULL::timestamp with time zone", + "comment": "", + "oldName": "cntrb_last_used", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 39, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [ + { + "objectType": "Index_PGSQL", + "name": "cnt-fullname", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "Hash", + "tableSpaceName": "", + "constraint": "", + "oldName": "cnt-fullname", + "oid": 203586, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "contributors", + "size": "32", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "cntrb_full_name", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cntrb_full_name", + "collationSchema": "pg_catalog" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "cntrb-theemail", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "Hash", + "tableSpaceName": "", + "constraint": "", + "oldName": "cntrb-theemail", + "oid": 203595, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "contributors", + "size": "32", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "cntrb_email", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cntrb_email", + "collationSchema": "pg_catalog" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "cntrb_canonica-idx11", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "cntrb_canonica-idx11", + "oid": 28216395, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "contributors", + "size": "16", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "cntrb_canonical", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cntrb_canonical", + "collationSchema": "pg_catalog" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "cntrb_login_platform_index", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "cntrb_login_platform_index", + "oid": 203596, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "contributors", + "size": "16", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "cntrb_login", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cntrb_login", + "collationSchema": "pg_catalog" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "contributor_delete_finder", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BRIN", + "tableSpaceName": "", + "constraint": "", + "oldName": "contributor_delete_finder", + "oid": 203698, + "owner": "augur", + "brinPagesPerRange": 64, + "ginPendingListLimit": -1, + "tableName": "contributors", + "size": "24", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "cntrb_id", + "collation": "", + "opClass": "int8_minmax_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cntrb_id", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "cntrb_email", + "collation": "default", + "opClass": "text_minmax_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cntrb_email", + "collationSchema": "pg_catalog" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "contributor_worker_email_finder", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BRIN", + "tableSpaceName": "", + "constraint": "", + "oldName": "contributor_worker_email_finder", + "oid": 203699, + "owner": "augur", + "brinPagesPerRange": 64, + "ginPendingListLimit": -1, + "tableName": "contributors", + "size": "24", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "cntrb_email", + "collation": "default", + "opClass": "text_minmax_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cntrb_email", + "collationSchema": "pg_catalog" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "contributor_worker_finder", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BRIN", + "tableSpaceName": "", + "constraint": "", + "oldName": "contributor_worker_finder", + "oid": 203700, + "owner": "augur", + "brinPagesPerRange": 64, + "ginPendingListLimit": -1, + "tableName": "contributors", + "size": "24", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "cntrb_login", + "collation": "default", + "opClass": "text_minmax_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cntrb_login", + "collationSchema": "pg_catalog" + }, + { + "objectType": "IndexField_PGSQL", + "name": "cntrb_email", + "collation": "default", + "opClass": "text_minmax_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cntrb_email", + "collationSchema": "pg_catalog" + }, + { + "objectType": "IndexField_PGSQL", + "name": "cntrb_id", + "collation": "", + "opClass": "int8_minmax_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cntrb_id", + "collationSchema": "" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "contributor_worker_fullname_finder", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BRIN", + "tableSpaceName": "", + "constraint": "", + "oldName": "contributor_worker_fullname_finder", + "oid": 203712, + "owner": "augur", + "brinPagesPerRange": 64, + "ginPendingListLimit": -1, + "tableName": "contributors", + "size": "24", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "cntrb_full_name", + "collation": "default", + "opClass": "text_minmax_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cntrb_full_name", + "collationSchema": "pg_catalog" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "contributors_idx_cntrb_email3", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "contributors_idx_cntrb_email3", + "oid": 203713, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "contributors", + "size": "16", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "cntrb_email", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cntrb_email", + "collationSchema": "pg_catalog" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "login", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "login", + "oid": 203766, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "contributors", + "size": "16", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "cntrb_login", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cntrb_login", + "collationSchema": "pg_catalog" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "login-contributor-idx", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "login-contributor-idx", + "oid": 203767, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "contributors", + "size": "16", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "cntrb_login", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cntrb_login", + "collationSchema": "pg_catalog" + } + ] + } + ], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "contributors_pkey", + "fields": [ + "cntrb_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "contributors_pkey" + }, + "foreignKeys": [], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "contributors_history", + "comment": "For GitHub, this should be repeated from gh_login. for other systems, it should be that systems login. \n\nAt this time the table is not populated. ", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "contributors_history", + "oid": 187380, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "cntrb_history_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_data.contributors_history_cntrb_history_id_seq'::regclass)", + "comment": "", + "oldName": "cntrb_history_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "cntrb_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "cntrb_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "cntrb_history_timestamp", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", + "comment": "", + "oldName": "cntrb_history_timestamp", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "cntrb_history_current_bool", + "type": "bool", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "At some point it would be great to have a boolean updated by a contributor worker that set the most recent contributor data to true. ", + "oldName": "cntrb_history_current_bool", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 4, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "cntrb_organizations_list", + "type": "json", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "cntrb_organizations_list", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 5, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "cntrb_gists_count", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "cntrb_gists_count", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 6, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "cntrb_starred_count", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "cntrb_starred_count", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 7, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "cntrb_following_count", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "cntrb_following_count", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 8, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "cntrb_follower_count", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "cntrb_follower_count", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 9, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "cntrb_login", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "Will be a double population with the same value as gh_login for github, but the local value for other systems. ", + "oldName": "cntrb_login", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 10, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "cntrb_email", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "This needs to be here for matching contributor ids, which are augur, to the commit information. ", + "oldName": "cntrb_email", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 11, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "cntrb_company", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "NULL::character varying", + "comment": "", + "oldName": "cntrb_company", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 12, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "cntrb_created_at", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "cntrb_created_at", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 13, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "cntrb_type", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "Present in another models. It is not currently used in Augur. ", + "oldName": "cntrb_type", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 14, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "cntrb_fake", + "type": "int2", + "length": 16, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "0", + "comment": "", + "oldName": "cntrb_fake", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 15, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "cntrb_deleted", + "type": "int2", + "length": 16, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "0", + "comment": "", + "oldName": "cntrb_deleted", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 16, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "cntrb_long", + "type": "numeric", + "length": 11, + "decimals": 8, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "NULL::numeric", + "comment": "", + "oldName": "cntrb_long", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 17, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "cntrb_lat", + "type": "numeric", + "length": 10, + "decimals": 8, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "NULL::numeric", + "comment": "", + "oldName": "cntrb_lat", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 18, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "cntrb_country_code", + "type": "char", + "length": 3, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "NULL::bpchar", + "comment": "", + "oldName": "cntrb_country_code", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 19, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "cntrb_state", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "NULL::character varying", + "comment": "", + "oldName": "cntrb_state", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 20, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "cntrb_city", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "NULL::character varying", + "comment": "", + "oldName": "cntrb_city", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 21, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "cntrb_location", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "NULL::character varying", + "comment": "", + "oldName": "cntrb_location", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 22, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "cntrb_canonical", + "type": "varchar", + "length": 128, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "cntrb_canonical", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 23, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "gh_user_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "gh_user_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 24, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "gh_login", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "populated with the github user name for github originated data. ", + "oldName": "gh_login", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 25, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "gh_url", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "gh_url", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 26, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "gh_html_url", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "gh_html_url", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 27, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "gh_node_id", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "gh_node_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 28, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "gh_avatar_url", + "type": "varchar", + "length": 4000, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "gh_avatar_url", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 29, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "gh_gravatar_id", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "gh_gravatar_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 30, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "gh_followers_url", + "type": "varchar", + "length": 4000, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "gh_followers_url", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 31, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "gh_following_url", + "type": "varchar", + "length": 4000, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "gh_following_url", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 32, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "gh_gists_url", + "type": "varchar", + "length": 4000, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "gh_gists_url", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 33, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "gh_starred_url", + "type": "varchar", + "length": 4000, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "gh_starred_url", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 34, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "gh_subscriptions_url", + "type": "varchar", + "length": 4000, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "gh_subscriptions_url", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 35, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "gh_organizations_url", + "type": "varchar", + "length": 4000, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "gh_organizations_url", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 36, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "gh_repos_url", + "type": "varchar", + "length": 4000, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "gh_repos_url", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 37, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "gh_events_url", + "type": "varchar", + "length": 4000, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "gh_events_url", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 38, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "gh_received_events_url", + "type": "varchar", + "length": 4000, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "gh_received_events_url", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 39, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "gh_type", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "gh_type", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 40, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "gh_site_admin", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "gh_site_admin", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 41, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_source", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 42, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_version", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_version", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 43, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_source", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "data_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 44, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_collection_date", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", + "comment": "", + "oldName": "data_collection_date", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 45, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [ + { + "objectType": "Index_PGSQL", + "name": "contrb-history-dix1", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "contrb-history-dix1", + "oid": 203687, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "contributors_history", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "cntrb_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cntrb_id", + "collationSchema": "" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "login_index_2", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "login_index_2", + "oid": 203775, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "contributors_history", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "cntrb_login", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cntrb_login", + "collationSchema": "pg_catalog" + } + ] + } + ], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "contributors_history_pkey", + "fields": [ + "cntrb_history_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "contributors_history_pkey" + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_contributors_history_contributors_1", + "fields": [ + "cntrb_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "contributors", + "referenceFields": [ + "cntrb_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "OneAndOnlyOneRelationship", + "oldName": "fk_contributors_history_contributors_1" + } + ], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "discourse_insights", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "discourse_insights", + "oid": 187584, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "msg_discourse_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_data.discourse_insights_msg_discourse_id_seq1'::regclass)", + "comment": "", + "oldName": "msg_discourse_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "msg_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "msg_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "discourse_act", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "discourse_act", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_source", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 4, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_version", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_version", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 5, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_source", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "data_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 6, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_collection_date", + "type": "timestamptz", + "length": 6, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", + "comment": "", + "oldName": "data_collection_date", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 7, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "discourse_insights_pkey", + "fields": [ + "msg_discourse_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "discourse_insights_pkey" + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_discourse_insights_message_1", + "fields": [ + "msg_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "message", + "referenceFields": [ + "msg_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_discourse_insights_message_1" + } + ], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "dm_repo_annual", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "dm_repo_annual", + "oid": 187737, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "repo_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "repo_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "email", + "type": "varchar", + "length": 128, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "email", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "affiliation", + "type": "varchar", + "length": 128, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "'NULL'::character varying", + "comment": "", + "oldName": "affiliation", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "year", + "type": "int2", + "length": 16, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "year", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 4, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "added", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "added", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 5, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "removed", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "removed", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 6, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "whitespace", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "whitespace", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 7, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "files", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "files", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 8, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "patches", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "patches", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 9, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_source", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 10, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_version", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_version", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 11, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_source", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "data_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 12, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_collection_date", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", + "comment": "", + "oldName": "data_collection_date", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 13, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [ + { + "objectType": "Index_PGSQL", + "name": "repo_id,affiliation_copy_1", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "repo_id,affiliation_copy_1", + "oid": 203876, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "dm_repo_annual", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "repo_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "repo_id", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "affiliation", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "affiliation", + "collationSchema": "pg_catalog" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "repo_id,email_copy_1", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "repo_id,email_copy_1", + "oid": 203894, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "dm_repo_annual", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "repo_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "repo_id", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "email", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "email", + "collationSchema": "pg_catalog" + } + ] + } + ], + "rules": [], + "foreignKeys": [], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "dm_repo_group_annual", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "dm_repo_group_annual", + "oid": 187850, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "repo_group_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "repo_group_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "email", + "type": "varchar", + "length": 128, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "email", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "affiliation", + "type": "varchar", + "length": 128, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "'NULL'::character varying", + "comment": "", + "oldName": "affiliation", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "year", + "type": "int2", + "length": 16, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "year", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 4, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "added", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "added", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 5, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "removed", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "removed", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 6, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "whitespace", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "whitespace", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 7, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "files", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "files", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 8, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "patches", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "patches", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 9, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_source", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 10, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_version", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_version", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 11, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_source", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "data_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 12, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_collection_date", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", + "comment": "", + "oldName": "data_collection_date", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 13, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [ + { + "objectType": "Index_PGSQL", + "name": "projects_id,affiliation_copy_1", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "projects_id,affiliation_copy_1", + "oid": 203832, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "dm_repo_group_annual", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "repo_group_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "repo_group_id", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "affiliation", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "affiliation", + "collationSchema": "pg_catalog" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "projects_id,email_copy_1", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "projects_id,email_copy_1", + "oid": 203839, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "dm_repo_group_annual", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "repo_group_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "repo_group_id", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "email", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "email", + "collationSchema": "pg_catalog" + } + ] + } + ], + "rules": [], + "foreignKeys": [], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "dm_repo_group_monthly", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "dm_repo_group_monthly", + "oid": 187903, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "repo_group_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "repo_group_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "email", + "type": "varchar", + "length": 128, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "email", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "affiliation", + "type": "varchar", + "length": 128, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "'NULL'::character varying", + "comment": "", + "oldName": "affiliation", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "month", + "type": "int2", + "length": 16, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "month", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 4, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "year", + "type": "int2", + "length": 16, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "year", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 5, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "added", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "added", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 6, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "removed", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "removed", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 7, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "whitespace", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "whitespace", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 8, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "files", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "files", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 9, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "patches", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "patches", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 10, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_source", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 11, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_version", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_version", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 12, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_source", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "data_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 13, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_collection_date", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", + "comment": "", + "oldName": "data_collection_date", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 14, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [ + { + "objectType": "Index_PGSQL", + "name": "projects_id,affiliation_copy_2", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "projects_id,affiliation_copy_2", + "oid": 203835, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "dm_repo_group_monthly", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "repo_group_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "repo_group_id", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "affiliation", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "affiliation", + "collationSchema": "pg_catalog" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "projects_id,email_copy_2", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "projects_id,email_copy_2", + "oid": 203853, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "dm_repo_group_monthly", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "repo_group_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "repo_group_id", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "email", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "email", + "collationSchema": "pg_catalog" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "projects_id,year,affiliation_copy_1", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "projects_id,year,affiliation_copy_1", + "oid": 203865, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "dm_repo_group_monthly", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "repo_group_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "repo_group_id", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "year", + "collation": "", + "opClass": "int2_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "year", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "affiliation", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "affiliation", + "collationSchema": "pg_catalog" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "projects_id,year,email_copy_1", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "projects_id,year,email_copy_1", + "oid": 203869, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "dm_repo_group_monthly", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "repo_group_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "repo_group_id", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "year", + "collation": "", + "opClass": "int2_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "year", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "email", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "email", + "collationSchema": "pg_catalog" + } + ] + } + ], + "rules": [], + "foreignKeys": [], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "dm_repo_group_weekly", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "dm_repo_group_weekly", + "oid": 187957, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "repo_group_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "repo_group_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "email", + "type": "varchar", + "length": 128, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "email", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "affiliation", + "type": "varchar", + "length": 128, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "'NULL'::character varying", + "comment": "", + "oldName": "affiliation", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "week", + "type": "int2", + "length": 16, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "week", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 4, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "year", + "type": "int2", + "length": 16, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "year", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 5, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "added", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "added", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 6, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "removed", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "removed", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 7, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "whitespace", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "whitespace", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 8, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "files", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "files", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 9, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "patches", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "patches", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 10, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_source", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 11, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_version", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_version", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 12, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_source", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "data_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 13, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_collection_date", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", + "comment": "", + "oldName": "data_collection_date", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 14, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [ + { + "objectType": "Index_PGSQL", + "name": "projects_id,affiliation", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "projects_id,affiliation", + "oid": 203831, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "dm_repo_group_weekly", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "repo_group_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "repo_group_id", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "affiliation", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "affiliation", + "collationSchema": "pg_catalog" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "projects_id,email", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "projects_id,email", + "oid": 203838, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "dm_repo_group_weekly", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "repo_group_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "repo_group_id", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "email", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "email", + "collationSchema": "pg_catalog" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "projects_id,year,affiliation", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "projects_id,year,affiliation", + "oid": 203864, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "dm_repo_group_weekly", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "repo_group_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "repo_group_id", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "year", + "collation": "", + "opClass": "int2_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "year", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "affiliation", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "affiliation", + "collationSchema": "pg_catalog" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "projects_id,year,email", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "projects_id,year,email", + "oid": 203868, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "dm_repo_group_weekly", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "repo_group_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "repo_group_id", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "year", + "collation": "", + "opClass": "int2_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "year", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "email", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "email", + "collationSchema": "pg_catalog" + } + ] + } + ], + "rules": [], + "foreignKeys": [], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "dm_repo_monthly", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "dm_repo_monthly", + "oid": 188031, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "repo_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "repo_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "email", + "type": "varchar", + "length": 128, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "email", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "affiliation", + "type": "varchar", + "length": 128, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "'NULL'::character varying", + "comment": "", + "oldName": "affiliation", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "month", + "type": "int2", + "length": 16, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "month", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 4, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "year", + "type": "int2", + "length": 16, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "year", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 5, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "added", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "added", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 6, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "removed", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "removed", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 7, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "whitespace", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "whitespace", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 8, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "files", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "files", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 9, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "patches", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "patches", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 10, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_source", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 11, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_version", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_version", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 12, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_source", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "data_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 13, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_collection_date", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", + "comment": "", + "oldName": "data_collection_date", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 14, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [ + { + "objectType": "Index_PGSQL", + "name": "repo_id,affiliation_copy_2", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "repo_id,affiliation_copy_2", + "oid": 203886, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "dm_repo_monthly", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "repo_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "repo_id", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "affiliation", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "affiliation", + "collationSchema": "pg_catalog" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "repo_id,email_copy_2", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "repo_id,email_copy_2", + "oid": 203897, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "dm_repo_monthly", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "repo_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "repo_id", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "email", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "email", + "collationSchema": "pg_catalog" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "repo_id,year,affiliation_copy_1", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "repo_id,year,affiliation_copy_1", + "oid": 203908, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "dm_repo_monthly", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "repo_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "repo_id", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "year", + "collation": "", + "opClass": "int2_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "year", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "affiliation", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "affiliation", + "collationSchema": "pg_catalog" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "repo_id,year,email_copy_1", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "repo_id,year,email_copy_1", + "oid": 203914, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "dm_repo_monthly", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "repo_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "repo_id", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "year", + "collation": "", + "opClass": "int2_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "year", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "email", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "email", + "collationSchema": "pg_catalog" + } + ] + } + ], + "rules": [], + "foreignKeys": [], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "dm_repo_weekly", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "dm_repo_weekly", + "oid": 188098, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "repo_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "repo_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "email", + "type": "varchar", + "length": 128, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "email", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "affiliation", + "type": "varchar", + "length": 128, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "'NULL'::character varying", + "comment": "", + "oldName": "affiliation", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "week", + "type": "int2", + "length": 16, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "week", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 4, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "year", + "type": "int2", + "length": 16, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "year", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 5, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "added", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "added", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 6, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "removed", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "removed", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 7, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "whitespace", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "whitespace", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 8, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "files", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "files", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 9, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "patches", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "patches", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 10, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_source", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 11, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_version", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_version", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 12, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_source", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "data_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 13, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_collection_date", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", + "comment": "", + "oldName": "data_collection_date", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 14, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [ + { + "objectType": "Index_PGSQL", + "name": "repo_id,affiliation", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "repo_id,affiliation", + "oid": 203874, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "dm_repo_weekly", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "repo_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "repo_id", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "affiliation", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "affiliation", + "collationSchema": "pg_catalog" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "repo_id,email", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "repo_id,email", + "oid": 203892, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "dm_repo_weekly", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "repo_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "repo_id", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "email", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "email", + "collationSchema": "pg_catalog" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "repo_id,year,affiliation", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "repo_id,year,affiliation", + "oid": 203906, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "dm_repo_weekly", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "repo_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "repo_id", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "year", + "collation": "", + "opClass": "int2_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "year", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "affiliation", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "affiliation", + "collationSchema": "pg_catalog" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "repo_id,year,email", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "repo_id,year,email", + "oid": 203910, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "dm_repo_weekly", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "repo_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "repo_id", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "year", + "collation": "", + "opClass": "int2_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "year", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "email", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "email", + "collationSchema": "pg_catalog" + } + ] + } + ], + "rules": [], + "foreignKeys": [], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "exclude", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "exclude", + "oid": 188171, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "id", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "projects_id", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "projects_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "email", + "type": "varchar", + "length": 128, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "'NULL'::character varying", + "comment": "", + "oldName": "email", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "domain", + "type": "varchar", + "length": 128, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "'NULL'::character varying", + "comment": "", + "oldName": "domain", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 4, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "exclude_pkey", + "fields": [ + "id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "exclude_pkey" + }, + "foreignKeys": [], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "issue_labels", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "issue_labels", + "oid": 188655, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "issue_label_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_data.issue_labels_issue_label_id_seq'::regclass)", + "comment": "", + "oldName": "issue_label_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "issue_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "issue_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "label_text", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "label_text", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "label_description", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "label_description", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 4, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "label_color", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "label_color", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 5, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_source", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 6, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_version", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_version", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 7, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_source", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "data_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 8, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_collection_date", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", + "comment": "", + "oldName": "data_collection_date", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 9, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "label_src_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "This character based identifier (node) comes from the source. In the case of GitHub, it is the id that is the second field returned from the issue events API JSON subsection for issues.", + "oldName": "label_src_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 10, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "label_src_node_id", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "label_src_node_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 11, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "issue_labels_pkey", + "fields": [ + "issue_label_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "issue_labels_pkey" + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_issue_labels_issues_1", + "fields": [ + "issue_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "issues", + "referenceFields": [ + "issue_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_issue_labels_issues_1" + } + ], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "issue_message_ref", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "issue_message_ref", + "oid": 188824, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "issue_msg_ref_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_data.issue_message_ref_issue_msg_ref_id_seq'::regclass)", + "comment": "", + "oldName": "issue_msg_ref_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "issue_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "issue_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "msg_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "msg_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_source", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 4, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_version", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_version", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 5, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_source", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "data_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 6, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_collection_date", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", + "comment": "", + "oldName": "data_collection_date", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 7, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "issue_msg_ref_src_comment_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "This ID comes from the source. In the case of GitHub, it is the id that is the first field returned from the issue comments API", + "oldName": "issue_msg_ref_src_comment_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 8, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "issue_msg_ref_src_node_id", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "This character based identifier comes from the source. In the case of GitHub, it is the id that is the first field returned from the issue comments API", + "oldName": "issue_msg_ref_src_node_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 9, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "issue_message_ref_pkey", + "fields": [ + "issue_msg_ref_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "issue_message_ref_pkey" + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_issue_message_ref_issues_1", + "fields": [ + "issue_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "issues", + "referenceFields": [ + "issue_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_issue_message_ref_issues_1" + }, + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_issue_message_ref_message_1", + "fields": [ + "msg_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "message", + "referenceFields": [ + "msg_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_issue_message_ref_message_1" + } + ], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "libraries", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "libraries", + "oid": 189116, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "library_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_data.libraries_library_id_seq'::regclass)", + "comment": "", + "oldName": "library_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "repo_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "repo_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "platform", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "NULL::character varying", + "comment": "", + "oldName": "platform", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "name", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "NULL::character varying", + "comment": "", + "oldName": "name", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 4, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "created_timestamp", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "NULL::timestamp without time zone", + "comment": "", + "oldName": "created_timestamp", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 5, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "updated_timestamp", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "NULL::timestamp without time zone", + "comment": "", + "oldName": "updated_timestamp", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 6, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "library_description", + "type": "varchar", + "length": 2000, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "NULL::character varying", + "comment": "", + "oldName": "library_description", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 7, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "keywords", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "NULL::character varying", + "comment": "", + "oldName": "keywords", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 8, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "library_homepage", + "type": "varchar", + "length": 1000, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "NULL::character varying", + "comment": "", + "oldName": "library_homepage", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 9, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "license", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "NULL::character varying", + "comment": "", + "oldName": "license", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 10, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "version_count", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "version_count", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 11, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "latest_release_timestamp", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "NULL::character varying", + "comment": "", + "oldName": "latest_release_timestamp", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 12, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "latest_release_number", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "NULL::character varying", + "comment": "", + "oldName": "latest_release_number", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 13, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "package_manager_id", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "NULL::character varying", + "comment": "", + "oldName": "package_manager_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 14, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "dependency_count", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "dependency_count", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 15, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "dependent_library_count", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "dependent_library_count", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 16, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "primary_language", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "NULL::character varying", + "comment": "", + "oldName": "primary_language", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 17, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_source", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 18, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_version", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_version", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 19, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_source", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "data_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 20, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_collection_date", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "data_collection_date", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 21, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "libraries_pkey", + "fields": [ + "library_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "libraries_pkey" + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_libraries_repo_1", + "fields": [ + "repo_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "repo", + "referenceFields": [ + "repo_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_libraries_repo_1" + } + ], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "library_dependencies", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "library_dependencies", + "oid": 189219, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "lib_dependency_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_data.library_dependencies_lib_dependency_id_seq'::regclass)", + "comment": "", + "oldName": "lib_dependency_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "library_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "library_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "manifest_platform", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "NULL::character varying", + "comment": "", + "oldName": "manifest_platform", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "manifest_filepath", + "type": "varchar", + "length": 1000, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "NULL::character varying", + "comment": "", + "oldName": "manifest_filepath", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 4, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "manifest_kind", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "NULL::character varying", + "comment": "", + "oldName": "manifest_kind", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 5, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "repo_id_branch", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "repo_id_branch", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 6, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_source", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 7, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_version", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_version", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 8, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_source", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "data_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 9, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_collection_date", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "data_collection_date", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 10, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [ + { + "objectType": "Index_PGSQL", + "name": "REPO_DEP", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "REPO_DEP", + "oid": 203515, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "library_dependencies", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "library_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "library_id", + "collationSchema": "" + } + ] + } + ], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "library_dependencies_pkey", + "fields": [ + "lib_dependency_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "library_dependencies_pkey" + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_library_dependencies_libraries_1", + "fields": [ + "library_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "libraries", + "referenceFields": [ + "library_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_library_dependencies_libraries_1" + } + ], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "library_version", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "library_version", + "oid": 189326, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "library_version_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_data.library_version_library_version_id_seq'::regclass)", + "comment": "", + "oldName": "library_version_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "library_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "library_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "library_platform", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "NULL::character varying", + "comment": "", + "oldName": "library_platform", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "version_number", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "NULL::character varying", + "comment": "", + "oldName": "version_number", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 4, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "version_release_date", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "NULL::timestamp without time zone", + "comment": "", + "oldName": "version_release_date", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 5, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_source", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 6, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_version", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_version", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 7, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_source", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "data_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 8, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_collection_date", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "data_collection_date", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 9, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "library_version_pkey", + "fields": [ + "library_version_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "library_version_pkey" + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_library_version_libraries_1", + "fields": [ + "library_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "libraries", + "referenceFields": [ + "library_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_library_version_libraries_1" + } + ], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "lstm_anomaly_models", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "lstm_anomaly_models", + "oid": 189442, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "model_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_data.lstm_anomaly_models_model_id_seq'::regclass)", + "comment": "", + "oldName": "model_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "model_name", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "model_name", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "model_description", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "model_description", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "look_back_days", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "look_back_days", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 4, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "training_days", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "training_days", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 5, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "batch_size", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "batch_size", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 6, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "metric", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "metric", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 7, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_source", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 8, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_version", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_version", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 9, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_source", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "data_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 10, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_collection_date", + "type": "timestamp", + "length": 6, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", + "comment": "", + "oldName": "data_collection_date", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 11, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "lstm_anomaly_models_pkey", + "fields": [ + "model_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "lstm_anomaly_models_pkey" + }, + "foreignKeys": [], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "lstm_anomaly_results", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "lstm_anomaly_results", + "oid": 189543, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "result_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_data.lstm_anomaly_results_result_id_seq'::regclass)", + "comment": "", + "oldName": "result_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "repo_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "repo_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "repo_category", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "repo_category", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "model_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "model_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 4, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "metric", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "metric", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 5, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "contamination_factor", + "type": "float8", + "length": 53, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "contamination_factor", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 6, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "mean_absolute_error", + "type": "float8", + "length": 53, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "mean_absolute_error", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 7, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "remarks", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "remarks", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 8, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "metric_field", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "This is a listing of all of the endpoint fields included in the generation of the metric. Sometimes there is one, sometimes there is more than one. This will list them all. ", + "oldName": "metric_field", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 9, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "mean_absolute_actual_value", + "type": "float8", + "length": 53, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "mean_absolute_actual_value", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 10, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "mean_absolute_prediction_value", + "type": "float8", + "length": 53, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "mean_absolute_prediction_value", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 11, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_source", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 12, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_version", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_version", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 13, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_source", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "data_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 14, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_collection_date", + "type": "timestamp", + "length": 6, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", + "comment": "", + "oldName": "data_collection_date", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 15, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "lstm_anomaly_results_pkey", + "fields": [ + "result_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "lstm_anomaly_results_pkey" + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_lstm_anomaly_results_lstm_anomaly_models_1", + "fields": [ + "model_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "lstm_anomaly_models", + "referenceFields": [ + "model_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_lstm_anomaly_results_lstm_anomaly_models_1" + }, + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_lstm_anomaly_results_repo_1", + "fields": [ + "repo_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "repo", + "referenceFields": [ + "repo_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_lstm_anomaly_results_repo_1" + } + ], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "message_analysis", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "message_analysis", + "oid": 189840, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "msg_analysis_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_data.message_analysis_msg_analysis_id_seq'::regclass)", + "comment": "", + "oldName": "msg_analysis_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "msg_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "msg_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "worker_run_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "This column is used to indicate analyses run by a worker during the same execution period, and is useful for grouping, and time series analysis. ", + "oldName": "worker_run_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "sentiment_score", + "type": "float8", + "length": 53, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "A sentiment analysis score. Zero is neutral, negative numbers are negative sentiment, and positive numbers are positive sentiment. ", + "oldName": "sentiment_score", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 4, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "reconstruction_error", + "type": "float8", + "length": 53, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "Each message is converted to a 250 dimensin doc2vec vector, so the reconstruction error is the difference between what the predicted vector and the actual vector.", + "oldName": "reconstruction_error", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 5, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "novelty_flag", + "type": "bool", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "This is an analysis of the degree to which the message is novel when compared to other messages in a repository. For example when bots are producing numerous identical messages, the novelty score is low. It would also be a low novelty score when several people are making the same coment. ", + "oldName": "novelty_flag", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 6, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "feedback_flag", + "type": "bool", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "This exists to provide the user with an opportunity provide feedback on the resulting the sentiment scores. ", + "oldName": "feedback_flag", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 7, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_source", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 8, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_version", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_version", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 9, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_source", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "data_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 10, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_collection_date", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", + "comment": "", + "oldName": "data_collection_date", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 11, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "message_analysis_pkey", + "fields": [ + "msg_analysis_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "message_analysis_pkey" + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_message_analysis_message_1", + "fields": [ + "msg_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "message", + "referenceFields": [ + "msg_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_message_analysis_message_1" + } + ], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "message_analysis_summary", + "comment": "In a relationally perfect world, we would have a table called “message_analysis_run” the incremented the “worker_run_id” for both message_analysis and message_analysis_summary. For now, we decided this was overkill. ", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "message_analysis_summary", + "oid": 189994, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "msg_summary_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_data.message_analysis_summary_msg_summary_id_seq'::regclass)", + "comment": "", + "oldName": "msg_summary_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "repo_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "repo_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "worker_run_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "This value should reflect the worker_run_id for the messages summarized in the table. There is not a relation between these two tables for that purpose because its not *really*, relationaly a concept unless we create a third table for \"worker_run_id\", which we determined was unnecessarily complex. ", + "oldName": "worker_run_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "positive_ratio", + "type": "float8", + "length": 53, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "positive_ratio", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 4, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "negative_ratio", + "type": "float8", + "length": 53, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "negative_ratio", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 5, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "novel_count", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "The number of messages identified as novel during the analyzed period", + "oldName": "novel_count", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 6, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "period", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "The whole timeline is divided into periods based on the definition of time period for analysis, which is user specified. Timestamp of the first period to look at, until the end of messages at the data of execution. ", + "oldName": "period", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 7, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_source", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 8, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_version", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_version", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 9, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_source", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "data_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 10, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_collection_date", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", + "comment": "", + "oldName": "data_collection_date", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 11, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "message_analysis_summary_pkey", + "fields": [ + "msg_summary_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "message_analysis_summary_pkey" + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_message_analysis_summary_repo_1", + "fields": [ + "repo_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "repo", + "referenceFields": [ + "repo_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_message_analysis_summary_repo_1" + } + ], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "message_sentiment", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "message_sentiment", + "oid": 190022, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "msg_analysis_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_data.message_sentiment_msg_analysis_id_seq'::regclass)", + "comment": "", + "oldName": "msg_analysis_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "msg_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "msg_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "worker_run_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "This column is used to indicate analyses run by a worker during the same execution period, and is useful for grouping, and time series analysis. ", + "oldName": "worker_run_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "sentiment_score", + "type": "float8", + "length": 53, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "A sentiment analysis score. Zero is neutral, negative numbers are negative sentiment, and positive numbers are positive sentiment. ", + "oldName": "sentiment_score", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 4, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "reconstruction_error", + "type": "float8", + "length": 53, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "Each message is converted to a 250 dimensin doc2vec vector, so the reconstruction error is the difference between what the predicted vector and the actual vector.", + "oldName": "reconstruction_error", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 5, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "novelty_flag", + "type": "bool", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "This is an analysis of the degree to which the message is novel when compared to other messages in a repository. For example when bots are producing numerous identical messages, the novelty score is low. It would also be a low novelty score when several people are making the same coment. ", + "oldName": "novelty_flag", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 6, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "feedback_flag", + "type": "bool", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "This exists to provide the user with an opportunity provide feedback on the resulting the sentiment scores. ", + "oldName": "feedback_flag", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 7, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_source", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 8, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_version", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_version", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 9, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_source", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "data_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 10, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_collection_date", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", + "comment": "", + "oldName": "data_collection_date", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 11, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "message_sentiment_pkey", + "fields": [ + "msg_analysis_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "message_sentiment_pkey" + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_message_sentiment_message_1", + "fields": [ + "msg_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "message", + "referenceFields": [ + "msg_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_message_sentiment_message_1" + } + ], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "message_sentiment_summary", + "comment": "In a relationally perfect world, we would have a table called “message_sentiment_run” the incremented the “worker_run_id” for both message_sentiment and message_sentiment_summary. For now, we decided this was overkill. ", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "message_sentiment_summary", + "oid": 190146, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "msg_summary_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_data.message_sentiment_summary_msg_summary_id_seq'::regclass)", + "comment": "", + "oldName": "msg_summary_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "repo_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "repo_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "worker_run_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "This value should reflect the worker_run_id for the messages summarized in the table. There is not a relation between these two tables for that purpose because its not *really*, relationaly a concept unless we create a third table for \"worker_run_id\", which we determined was unnecessarily complex. ", + "oldName": "worker_run_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "positive_ratio", + "type": "float8", + "length": 53, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "positive_ratio", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 4, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "negative_ratio", + "type": "float8", + "length": 53, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "negative_ratio", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 5, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "novel_count", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "The number of messages identified as novel during the analyzed period", + "oldName": "novel_count", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 6, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "period", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "The whole timeline is divided into periods based on the definition of time period for analysis, which is user specified. Timestamp of the first period to look at, until the end of messages at the data of execution. ", + "oldName": "period", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 7, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_source", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 8, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_version", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_version", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 9, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_source", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "data_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 10, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_collection_date", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", + "comment": "", + "oldName": "data_collection_date", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 11, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "message_sentiment_summary_pkey", + "fields": [ + "msg_summary_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "message_sentiment_summary_pkey" + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_message_sentiment_summary_repo_1", + "fields": [ + "repo_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "repo", + "referenceFields": [ + "repo_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_message_sentiment_summary_repo_1" + } + ], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "platform", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "platform", + "oid": 190264, + "rows": 1, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "pltfrm_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_data.platform_pltfrm_id_seq'::regclass)", + "comment": "", + "oldName": "pltfrm_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pltfrm_name", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pltfrm_name", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pltfrm_version", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pltfrm_version", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pltfrm_release_date", + "type": "date", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pltfrm_release_date", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 4, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_source", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 5, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_version", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_version", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 6, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_source", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "data_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 7, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_collection_date", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "data_collection_date", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 8, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [ + { + "objectType": "Index_PGSQL", + "name": "plat", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": true, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "plat", + "oid": 203791, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "platform", + "size": "16", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "pltfrm_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "pltfrm_id", + "collationSchema": "" + } + ] + } + ], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "theplat", + "fields": [ + "pltfrm_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "theplat" + }, + "foreignKeys": [], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "pull_request_analysis", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "pull_request_analysis", + "oid": 190293, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "pull_request_analysis_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_data.pull_request_analysis_pull_request_analysis_id_seq'::regclass)", + "comment": "", + "oldName": "pull_request_analysis_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pull_request_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "It would be better if the pull request worker is run first to fetch the latest PRs before analyzing", + "oldName": "pull_request_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "merge_probability", + "type": "numeric", + "length": 256, + "decimals": 250, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "Indicates the probability of the PR being merged", + "oldName": "merge_probability", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "mechanism", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "the ML model used for prediction (It is XGBoost Classifier at present)", + "oldName": "mechanism", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 4, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_source", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 5, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_version", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_version", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 6, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_source", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "data_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 7, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_collection_date", + "type": "timestamptz", + "length": 6, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", + "comment": "", + "oldName": "data_collection_date", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 8, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [ + { + "objectType": "Index_PGSQL", + "name": "pr_anal_idx", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "pr_anal_idx", + "oid": 203805, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "pull_request_analysis", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "pull_request_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "pull_request_id", + "collationSchema": "" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "probability_idx", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "probability_idx", + "oid": 203822, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "pull_request_analysis", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "merge_probability", + "collation": "", + "opClass": "numeric_ops", + "opClassSchema": "pg_catalog", + "order": "DESC", + "nullSort": "NULLS LAST", + "oldName": "merge_probability", + "collationSchema": "" + } + ] + } + ], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "pull_request_analysis_pkey", + "fields": [ + "pull_request_analysis_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "pull_request_analysis_pkey" + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_pull_request_analysis_pull_requests_1", + "fields": [ + "pull_request_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "pull_requests", + "referenceFields": [ + "pull_request_id" + ], + "onDelete": "CASCADE", + "onUpdate": "CASCADE", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_pull_request_analysis_pull_requests_1" + } + ], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "pull_request_files", + "comment": "Pull request commits are an enumeration of each commit associated with a pull request. \nNot all pull requests are from a branch or fork into master. \nThe commits table intends to count only commits that end up in the master branch (i.e., part of the deployed code base for a project).\nTherefore, there will be commit “SHA”’s in this table that are no associated with a commit SHA in the commits table. \nIn cases where the PR is to the master branch of a project, you will find a match. In cases where the PR does not involve the master branch, you will not find a corresponding commit SHA in the commits table. This is expected. ", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "pull_request_files", + "oid": 190683, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "pull_request_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pull_request_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_file_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_data.pull_request_files_pr_file_id_seq'::regclass)", + "comment": "", + "oldName": "pr_file_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_file_additions", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_file_additions", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_file_deletions", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_file_deletions", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 4, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_file_path", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_file_path", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 5, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_source", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 6, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_version", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_version", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 7, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_source", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "data_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 8, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_collection_date", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", + "comment": "", + "oldName": "data_collection_date", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 9, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "pull_request_files_pkey", + "fields": [ + "pr_file_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "pull_request_files_pkey" + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_pull_request_commits_pull_requests_1", + "fields": [ + "pull_request_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "pull_requests", + "referenceFields": [ + "pull_request_id" + ], + "onDelete": "CASCADE", + "onUpdate": "CASCADE", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_pull_request_commits_pull_requests_1" + } + ], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "pull_request_labels", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "pull_request_labels", + "oid": 190754, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "pr_label_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_data.pull_request_labels_pr_label_id_seq'::regclass)", + "comment": "", + "oldName": "pr_label_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pull_request_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pull_request_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_src_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_src_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_src_node_id", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_src_node_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 4, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_src_url", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_src_url", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 5, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_src_description", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_src_description", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 6, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_src_color", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_src_color", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 7, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_src_default_bool", + "type": "bool", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_src_default_bool", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 8, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_source", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 9, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_version", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_version", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 10, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_source", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "data_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 11, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_collection_date", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", + "comment": "", + "oldName": "data_collection_date", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 12, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "pull_request_labels_pkey", + "fields": [ + "pr_label_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "pull_request_labels_pkey" + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_pull_request_labels_pull_requests_1", + "fields": [ + "pull_request_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "pull_requests", + "referenceFields": [ + "pull_request_id" + ], + "onDelete": "CASCADE", + "onUpdate": "CASCADE", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_pull_request_labels_pull_requests_1" + } + ], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "pull_request_message_ref", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "pull_request_message_ref", + "oid": 190820, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "pr_msg_ref_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_data.pull_request_message_ref_pr_msg_ref_id_seq'::regclass)", + "comment": "", + "oldName": "pr_msg_ref_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pull_request_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pull_request_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "msg_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "msg_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_message_ref_src_comment_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_message_ref_src_comment_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 4, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_message_ref_src_node_id", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_message_ref_src_node_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 5, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_source", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 6, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_version", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_version", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 7, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_source", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "data_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 8, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_collection_date", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", + "comment": "", + "oldName": "data_collection_date", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 9, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "pull_request_message_ref_pkey", + "fields": [ + "pr_msg_ref_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "pull_request_message_ref_pkey" + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_pull_request_message_ref_message_1", + "fields": [ + "msg_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "message", + "referenceFields": [ + "msg_id" + ], + "onDelete": "CASCADE", + "onUpdate": "CASCADE", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_pull_request_message_ref_message_1" + }, + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_pull_request_message_ref_pull_requests_1", + "fields": [ + "pull_request_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "pull_requests", + "referenceFields": [ + "pull_request_id" + ], + "onDelete": "CASCADE", + "onUpdate": "CASCADE", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_pull_request_message_ref_pull_requests_1" + } + ], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "pull_request_review_message_ref", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "pull_request_review_message_ref", + "oid": 191077, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "pr_review_msg_ref_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_data.pull_request_review_message_ref_pr_review_msg_ref_id_seq'::regclass)", + "comment": "", + "oldName": "pr_review_msg_ref_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_review_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_review_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "msg_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "msg_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_review_msg_url", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_review_msg_url", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 4, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_review_src_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_review_src_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 5, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_review_msg_src_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_review_msg_src_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 6, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_review_msg_node_id", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_review_msg_node_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 7, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_review_msg_diff_hunk", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_review_msg_diff_hunk", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 8, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_review_msg_path", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_review_msg_path", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 9, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_review_msg_position", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_review_msg_position", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 10, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_review_msg_original_position", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_review_msg_original_position", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 11, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_review_msg_commit_id", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_review_msg_commit_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 12, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_review_msg_original_commit_id", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_review_msg_original_commit_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 13, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_review_msg_updated_at", + "type": "timestamp", + "length": 6, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_review_msg_updated_at", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 14, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_review_msg_html_url", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_review_msg_html_url", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 15, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_url", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_url", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 16, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_review_msg_author_association", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_review_msg_author_association", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 17, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_review_msg_start_line", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_review_msg_start_line", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 18, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_review_msg_original_start_line", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_review_msg_original_start_line", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 19, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_review_msg_start_side", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_review_msg_start_side", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 20, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_review_msg_line", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_review_msg_line", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 21, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_review_msg_original_line", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_review_msg_original_line", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 22, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_review_msg_side", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_review_msg_side", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 23, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_source", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 24, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_version", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_version", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 25, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_source", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "data_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 26, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_collection_date", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", + "comment": "", + "oldName": "data_collection_date", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 27, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "pr_review_msg_ref_id", + "fields": [ + "pr_review_msg_ref_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "pr_review_msg_ref_id" + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_pull_request_review_message_ref_message_1", + "fields": [ + "msg_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "message", + "referenceFields": [ + "msg_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "OneAndOnlyOneRelationship", + "oldName": "fk_pull_request_review_message_ref_message_1" + }, + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_pull_request_review_message_ref_pull_request_reviews_1", + "fields": [ + "pr_review_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "pull_request_reviews", + "referenceFields": [ + "pr_review_id" + ], + "onDelete": "CASCADE", + "onUpdate": "CASCADE", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "OneAndOnlyOneRelationship", + "oldName": "fk_pull_request_review_message_ref_pull_request_reviews_1" + } + ], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "pull_request_teams", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "pull_request_teams", + "oid": 191424, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "pr_team_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_data.pull_request_teams_pr_team_id_seq'::regclass)", + "comment": "", + "oldName": "pr_team_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pull_request_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pull_request_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_src_team_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_src_team_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_src_team_node", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_src_team_node", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 4, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_src_team_url", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_src_team_url", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 5, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_team_name", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_team_name", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 6, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_team_slug", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_team_slug", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 7, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_team_description", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_team_description", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 8, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_team_privacy", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_team_privacy", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 9, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_team_permission", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_team_permission", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 10, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_team_src_members_url", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_team_src_members_url", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 11, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_team_src_repositories_url", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_team_src_repositories_url", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 12, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_team_parent_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_team_parent_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 13, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_source", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 14, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_version", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_version", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 15, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_source", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "data_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 16, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_collection_date", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", + "comment": "", + "oldName": "data_collection_date", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 17, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "pull_request_teams_pkey", + "fields": [ + "pr_team_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "pull_request_teams_pkey" + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_pull_request_teams_pull_requests_1", + "fields": [ + "pull_request_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "pull_requests", + "referenceFields": [ + "pull_request_id" + ], + "onDelete": "CASCADE", + "onUpdate": "CASCADE", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_pull_request_teams_pull_requests_1" + } + ], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "releases", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "releases", + "oid": 191770, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "release_id", + "type": "char", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_data.releases_release_id_seq'::regclass)", + "comment": "", + "oldName": "release_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "repo_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "repo_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "release_name", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "release_name", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "release_description", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "release_description", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 4, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "release_author", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "release_author", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 5, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "release_created_at", + "type": "timestamp", + "length": 6, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "release_created_at", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 6, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "release_published_at", + "type": "timestamp", + "length": 6, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "release_published_at", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 7, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "release_updated_at", + "type": "timestamp", + "length": 6, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "release_updated_at", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 8, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "release_is_draft", + "type": "bool", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "release_is_draft", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 9, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "release_is_prerelease", + "type": "bool", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "release_is_prerelease", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 10, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "release_tag_name", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "release_tag_name", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 11, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "release_url", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "release_url", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 12, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_source", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 13, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_version", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_version", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 14, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_source", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "data_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 15, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_collection_date", + "type": "timestamp", + "length": 6, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", + "comment": "", + "oldName": "data_collection_date", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 16, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tag_only", + "type": "bool", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tag_only", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 17, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "releases_pkey", + "fields": [ + "release_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "releases_pkey" + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_releases_repo_1", + "fields": [ + "repo_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "repo", + "referenceFields": [ + "repo_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "OneAndOnlyOneRelationship", + "oldName": "fk_releases_repo_1" + } + ], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "repo", + "comment": "This table is a combination of the columns in Facade’s repo table and GHTorrent’s projects table. ", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "repo", + "oid": 191871, + "rows": 1, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "repo_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_data.repo_repo_id_seq'::regclass)", + "comment": "", + "oldName": "repo_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "repo_group_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "repo_group_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "repo_git", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "repo_git", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "repo_path", + "type": "varchar", + "length": 256, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "'NULL'::character varying", + "comment": "", + "oldName": "repo_path", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 4, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "repo_name", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "'NULL'::character varying", + "comment": "", + "oldName": "repo_name", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 5, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "repo_added", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", + "comment": "", + "oldName": "repo_added", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 6, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "repo_status", + "type": "varchar", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "'New'::character varying", + "comment": "", + "oldName": "repo_status", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 7, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "repo_type", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "''::character varying", + "comment": "This field is intended to indicate if the repository is the \"main instance\" of a repository in cases where implementations choose to add the same repository to more than one repository group. In cases where the repository group is of rg_type Github Organization then this repo_type should be \"primary\". In other cases the repo_type should probably be \"user created\". We made this a varchar in order to hold open the possibility that there are additional repo_types we have not thought about. ", + "oldName": "repo_type", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 8, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "url", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "url", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 9, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": 0, + "identityMaximum": 0, + "hasNoIdentityMaxValue": 0, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "owner_id", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "owner_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 10, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": 0, + "identityMaximum": 0, + "hasNoIdentityMaxValue": true, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "description", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "description", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 11, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "primary_language", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "primary_language", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 12, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "created_at", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "created_at", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 13, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "forked_from", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "forked_from", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 14, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "updated_at", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "updated_at", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 15, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_source", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 16, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_version", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_version", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 17, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_source", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "data_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 18, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_collection_date", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "data_collection_date", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 19, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "repo_archived", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "repo_archived", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 20, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "repo_archived_date_collected", + "type": "timestamptz", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "repo_archived_date_collected", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 21, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [ + { + "objectType": "Index_PGSQL", + "name": "forked", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "forked", + "oid": 203717, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "repo", + "size": "16", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "forked_from", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "forked_from", + "collationSchema": "pg_catalog" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "repo_idx_repo_id_repo_namex", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "repo_idx_repo_id_repo_namex", + "oid": 203917, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "repo", + "size": "16", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "repo_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "repo_id", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "repo_name", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "repo_name", + "collationSchema": "pg_catalog" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "repogitindexrep", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "repogitindexrep", + "oid": 203931, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "repo", + "size": "16", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "repo_git", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "repo_git", + "collationSchema": "pg_catalog" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "reponameindex", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "Hash", + "tableSpaceName": "", + "constraint": "", + "oldName": "reponameindex", + "oid": 203933, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "repo", + "size": "32", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "repo_name", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "repo_name", + "collationSchema": "pg_catalog" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "reponameindexbtree", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "reponameindexbtree", + "oid": 203937, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "repo", + "size": "16", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "repo_name", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "repo_name", + "collationSchema": "pg_catalog" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "rggrouponrepoindex", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "rggrouponrepoindex", + "oid": 203948, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "repo", + "size": "16", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "repo_group_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "repo_group_id", + "collationSchema": "" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "therepo", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": true, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "therepo", + "oid": 203962, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "repo", + "size": "16", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "repo_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "repo_id", + "collationSchema": "" + } + ] + } + ], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "repounique", + "fields": [ + "repo_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "repounique" + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_repo_repo_groups_1", + "fields": [ + "repo_group_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "repo_groups", + "referenceFields": [ + "repo_group_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "Repo_groups cardinality set to one and only one because, although in theory there could be more than one repo group for a repo, this might create dependencies in hosted situation that we do not want to live with. ", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "OneAndOnlyOneRelationship", + "oldName": "fk_repo_repo_groups_1" + } + ], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "repo_badging", + "comment": "This will be collected from the LF’s Badging API\nhttps://bestpractices.coreinfrastructure.org/projects.json?pq=https%3A%2F%2Fgithub.com%2Fchaoss%2Faugur\n", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "repo_badging", + "oid": 192004, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "badge_collection_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_data.repo_badging_badge_collection_id_seq'::regclass)", + "comment": "", + "oldName": "badge_collection_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "repo_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "repo_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "created_at", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", + "comment": "", + "oldName": "created_at", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_source", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 4, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_version", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_version", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 5, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_source", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "data_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 6, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_collection_date", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", + "comment": "", + "oldName": "data_collection_date", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 7, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data", + "type": "jsonb", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "data", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 8, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "repo_badging_pkey", + "fields": [ + "badge_collection_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "repo_badging_pkey" + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_repo_badging_repo_1", + "fields": [ + "repo_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "repo", + "referenceFields": [ + "repo_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_repo_badging_repo_1" + } + ], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "repo_cluster_messages", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "repo_cluster_messages", + "oid": 192186, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "msg_cluster_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_data.repo_cluster_messages_msg_cluster_id_seq'::regclass)", + "comment": "", + "oldName": "msg_cluster_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "repo_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "repo_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "cluster_content", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "cluster_content", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "cluster_mechanism", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "cluster_mechanism", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 4, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_source", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 5, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_version", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_version", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 6, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_source", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "data_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 7, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_collection_date", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", + "comment": "", + "oldName": "data_collection_date", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 8, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "repo_cluster_messages_pkey", + "fields": [ + "msg_cluster_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "repo_cluster_messages_pkey" + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_repo_cluster_messages_repo_1", + "fields": [ + "repo_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "repo", + "referenceFields": [ + "repo_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_repo_cluster_messages_repo_1" + } + ], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "repo_dependencies", + "comment": "Contains the dependencies for a repo.", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "repo_dependencies", + "oid": 19043821, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "repo_dependencies_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_data.repo_dependencies_repo_dependencies_id_seq'::regclass)", + "comment": "", + "oldName": "repo_dependencies_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "repo_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "Forign key for repo id. ", + "oldName": "repo_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "dep_name", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "Name of the dependancy found in project. ", + "oldName": "dep_name", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "dep_count", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "Number of times the dependancy was found. ", + "oldName": "dep_count", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 4, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "dep_language", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "Language of the dependancy. ", + "oldName": "dep_language", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 5, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_source", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 6, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_version", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_version", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 7, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_source", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "data_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 8, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_collection_date", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", + "comment": "", + "oldName": "data_collection_date", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 9, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "repo_dependencies_pkey", + "fields": [ + "repo_dependencies_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "repo_dependencies_pkey" + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "repo_id", + "fields": [ + "repo_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "repo", + "referenceFields": [ + "repo_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "repo_id" + } + ], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "repo_deps_scorecard", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "repo_deps_scorecard", + "oid": 19043831, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "repo_deps_scorecard_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_data.repo_deps_scorecard_repo_deps_scorecard_id_seq1'::regclass)", + "comment": "", + "oldName": "repo_deps_scorecard_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "repo_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "repo_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_source", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 35, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_version", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_version", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 36, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_source", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "data_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 37, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_collection_date", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", + "comment": "", + "oldName": "data_collection_date", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 38, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "name", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "name", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 39, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "status", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "status", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 40, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "score", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "score", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 41, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "repo_deps_scorecard_pkey1", + "fields": [ + "repo_deps_scorecard_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "repo_deps_scorecard_pkey1" + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "repo_id", + "fields": [ + "repo_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "repo", + "referenceFields": [ + "repo_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "repo_id" + } + ], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "repo_group_insights", + "comment": "This table is output from an analytical worker inside of Augur. It runs through the different metrics on a REPOSITORY_GROUP and identifies the five to ten most “interesting” metrics as defined by some kind of delta or other factor. The algorithm is going to evolve. \n\nWorker Design Notes: The idea is that the \"insight worker\" will scan through a bunch of active metrics or \"synthetic metrics\" to list the most important insights. ", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "repo_group_insights", + "oid": 192348, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "rgi_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_data.repo_group_insights_rgi_id_seq'::regclass)", + "comment": "", + "oldName": "rgi_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "repo_group_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "repo_group_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "rgi_metric", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "rgi_metric", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "rgi_value", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "rgi_value", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 4, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "cms_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "cms_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 5, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "rgi_fresh", + "type": "bool", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "false if the date is before the statistic that triggered the insight, true if after. This allows us to automatically display only \"fresh insights\" and avoid displaying \"stale insights\". The insight worker will populate this table. ", + "oldName": "rgi_fresh", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 6, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_source", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 7, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_version", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_version", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 8, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_source", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "data_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 9, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_collection_date", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", + "comment": "", + "oldName": "data_collection_date", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 10, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "repo_group_insights_pkey", + "fields": [ + "rgi_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "repo_group_insights_pkey" + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_repo_group_insights_repo_groups_1", + "fields": [ + "repo_group_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "repo_groups", + "referenceFields": [ + "repo_group_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_repo_group_insights_repo_groups_1" + } + ], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "repo_groups", + "comment": "rg_type is intended to be either a GitHub Organization or a User Created Repo Group. ", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "repo_groups", + "oid": 192466, + "rows": 1, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "repo_group_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_data.repo_groups_repo_group_id_seq'::regclass)", + "comment": "", + "oldName": "repo_group_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "rg_name", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "rg_name", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "rg_description", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "'NULL'::character varying", + "comment": "", + "oldName": "rg_description", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "rg_website", + "type": "varchar", + "length": 128, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "'NULL'::character varying", + "comment": "", + "oldName": "rg_website", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 4, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "rg_recache", + "type": "int2", + "length": 16, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "1", + "comment": "", + "oldName": "rg_recache", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 5, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "rg_last_modified", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", + "comment": "", + "oldName": "rg_last_modified", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 6, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "rg_type", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "rg_type", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 7, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_source", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 8, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_version", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_version", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 9, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_source", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "data_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 10, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_collection_date", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "data_collection_date", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 11, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [ + { + "objectType": "Index_PGSQL", + "name": "rgidm", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": true, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "rgidm", + "oid": 203958, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "repo_groups", + "size": "16", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "repo_group_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "repo_group_id", + "collationSchema": "" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "rgnameindex", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "rgnameindex", + "oid": 203960, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "repo_groups", + "size": "16", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "rg_name", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "rg_name", + "collationSchema": "pg_catalog" + } + ] + } + ], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "rgid", + "fields": [ + "repo_group_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "rgid" + }, + "foreignKeys": [], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "repo_groups_list_serve", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "repo_groups_list_serve", + "oid": 192557, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "rgls_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_data.repo_groups_list_serve_rgls_id_seq'::regclass)", + "comment": "", + "oldName": "rgls_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "repo_group_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "repo_group_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "rgls_name", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "rgls_name", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "rgls_description", + "type": "varchar", + "length": 3000, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "rgls_description", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 4, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "rgls_sponsor", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "rgls_sponsor", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 5, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "rgls_email", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "rgls_email", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 6, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_source", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 7, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_version", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_version", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 8, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_source", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "data_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 9, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_collection_date", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "data_collection_date", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 10, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [ + { + "objectType": "Index_PGSQL", + "name": "lister", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": true, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "lister", + "oid": 203763, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "repo_groups_list_serve", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "rgls_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "rgls_id", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "repo_group_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "repo_group_id", + "collationSchema": "" + } + ] + } + ], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "repo_groups_list_serve_pkey", + "fields": [ + "rgls_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "repo_groups_list_serve_pkey" + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_repo_groups_list_serve_repo_groups_1", + "fields": [ + "repo_group_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "repo_groups", + "referenceFields": [ + "repo_group_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "OneAndOnlyOneRelationship", + "oldName": "fk_repo_groups_list_serve_repo_groups_1" + } + ], + "uniques": [ + { + "objectType": "Unique_PGSQL", + "name": "rglistserve", + "fields": [ + "rgls_id", + "repo_group_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "rglistserve" + } + ], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "repo_info", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "repo_info", + "oid": 192746, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "repo_info_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_data.repo_info_repo_info_id_seq'::regclass)", + "comment": "", + "oldName": "repo_info_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "repo_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "repo_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "last_updated", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "NULL::timestamp without time zone", + "comment": "", + "oldName": "last_updated", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "issues_enabled", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "NULL::character varying", + "comment": "", + "oldName": "issues_enabled", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 4, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "open_issues", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "open_issues", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 5, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pull_requests_enabled", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "NULL::character varying", + "comment": "", + "oldName": "pull_requests_enabled", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 6, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "wiki_enabled", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "NULL::character varying", + "comment": "", + "oldName": "wiki_enabled", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 7, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pages_enabled", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "NULL::character varying", + "comment": "", + "oldName": "pages_enabled", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 8, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "fork_count", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "fork_count", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 9, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "default_branch", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "NULL::character varying", + "comment": "", + "oldName": "default_branch", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 10, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "watchers_count", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "watchers_count", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 11, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "UUID", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "UUID", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 12, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "license", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "NULL::character varying", + "comment": "", + "oldName": "license", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 13, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "stars_count", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "stars_count", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 14, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "committers_count", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "committers_count", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 15, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "issue_contributors_count", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "issue_contributors_count", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 16, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "changelog_file", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "NULL::character varying", + "comment": "", + "oldName": "changelog_file", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 17, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "contributing_file", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "NULL::character varying", + "comment": "", + "oldName": "contributing_file", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 18, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "license_file", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "NULL::character varying", + "comment": "", + "oldName": "license_file", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 19, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "code_of_conduct_file", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "NULL::character varying", + "comment": "", + "oldName": "code_of_conduct_file", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 20, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "security_issue_file", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "NULL::character varying", + "comment": "", + "oldName": "security_issue_file", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 21, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "security_audit_file", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "NULL::character varying", + "comment": "", + "oldName": "security_audit_file", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 22, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "status", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "NULL::character varying", + "comment": "", + "oldName": "status", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 23, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "keywords", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "NULL::character varying", + "comment": "", + "oldName": "keywords", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 24, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_source", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 25, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_version", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_version", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 26, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_source", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "data_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 27, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_collection_date", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", + "comment": "", + "oldName": "data_collection_date", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 28, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "commit_count", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "commit_count", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 29, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "issues_count", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "issues_count", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 30, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "issues_closed", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "issues_closed", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 31, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pull_request_count", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pull_request_count", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 32, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pull_requests_open", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pull_requests_open", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 33, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pull_requests_closed", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pull_requests_closed", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 34, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pull_requests_merged", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pull_requests_merged", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 35, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [ + { + "objectType": "Index_PGSQL", + "name": "repo_info_idx_repo_id_data_date_1x", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "repo_info_idx_repo_id_data_date_1x", + "oid": 203927, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "repo_info", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "repo_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "repo_id", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "data_collection_date", + "collation": "", + "opClass": "timestamp_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "data_collection_date", + "collationSchema": "" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "repo_info_idx_repo_id_data_datex", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "repo_info_idx_repo_id_data_datex", + "oid": 203929, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "repo_info", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "repo_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "repo_id", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "data_collection_date", + "collation": "", + "opClass": "timestamp_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "data_collection_date", + "collationSchema": "" + } + ] + } + ], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "repo_info_pkey", + "fields": [ + "repo_info_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "repo_info_pkey" + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_repo_info_repo_1", + "fields": [ + "repo_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "repo", + "referenceFields": [ + "repo_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "OneAndOnlyOneRelationship", + "oldName": "fk_repo_info_repo_1" + } + ], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "repo_insights", + "comment": "This table is output from an analytical worker inside of Augur. It runs through the different metrics on a repository and identifies the five to ten most “interesting” metrics as defined by some kind of delta or other factor. The algorithm is going to evolve. \n\nWorker Design Notes: The idea is that the \"insight worker\" will scan through a bunch of active metrics or \"synthetic metrics\" to list the most important insights. ", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "repo_insights", + "oid": 192905, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "ri_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_data.repo_insights_ri_id_seq'::regclass)", + "comment": "", + "oldName": "ri_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "repo_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "repo_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "ri_metric", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "ri_metric", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "ri_value", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "ri_value", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 4, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "ri_date", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "ri_date", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 5, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "ri_fresh", + "type": "bool", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "false if the date is before the statistic that triggered the insight, true if after. This allows us to automatically display only \"fresh insights\" and avoid displaying \"stale insights\". The insight worker will populate this table. ", + "oldName": "ri_fresh", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 6, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_source", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 7, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_version", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_version", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 8, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_source", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "data_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 9, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_collection_date", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", + "comment": "", + "oldName": "data_collection_date", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 10, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "ri_score", + "type": "numeric", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "ri_score", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 11, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "ri_field", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "ri_field", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 12, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "ri_detection_method", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "ri_detection_method", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 13, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "repo_insights_pkey", + "fields": [ + "ri_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "repo_insights_pkey" + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_repo_insights_repo_1", + "fields": [ + "repo_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "repo", + "referenceFields": [ + "repo_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_repo_insights_repo_1" + } + ], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "repo_insights_records", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "repo_insights_records", + "oid": 193096, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "ri_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_data.repo_insights_records_ri_id_seq'::regclass)", + "comment": "Primary key. ", + "oldName": "ri_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "repo_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "Refers to repo table primary key. Will have a foreign key", + "oldName": "repo_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "ri_metric", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "The metric endpoint", + "oldName": "ri_metric", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "ri_field", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "The field in the metric endpoint", + "oldName": "ri_field", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 4, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "ri_value", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "The value of the endpoint in ri_field", + "oldName": "ri_value", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 5, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "ri_date", + "type": "timestamp", + "length": 6, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "The date the insight is for; in other words, some anomaly occurred on this date. ", + "oldName": "ri_date", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 6, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "ri_score", + "type": "float8", + "length": 53, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "A Score, derived from the algorithm used. ", + "oldName": "ri_score", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 7, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "ri_detection_method", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "A confidence interval or other expression of the type of threshold and the value of a threshold met in order for it to be \"an insight\". Example. \"95% confidence interval\". ", + "oldName": "ri_detection_method", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 8, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_source", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "Standard Augur Metadata", + "oldName": "tool_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 9, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_version", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "Standard Augur Metadata", + "oldName": "tool_version", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 10, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_source", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "Standard Augur Metadata", + "oldName": "data_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 11, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_collection_date", + "type": "timestamp", + "length": 6, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", + "comment": "Standard Augur Metadata", + "oldName": "data_collection_date", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 12, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [ + { + "objectType": "Index_PGSQL", + "name": "dater", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "dater", + "oid": 203716, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "repo_insights_records", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "ri_date", + "collation": "", + "opClass": "timestamp_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "ri_date", + "collationSchema": "" + } + ] + } + ], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "repo_insights_records_pkey", + "fields": [ + "ri_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "repo_insights_records_pkey" + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "repo_id_ref", + "fields": [ + "repo_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "repo", + "referenceFields": [ + "repo_id" + ], + "onDelete": "SET NULL", + "onUpdate": "CASCADE", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "repo_id_ref" + } + ], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "repo_labor", + "comment": "repo_labor is a derivative of tables used to store scc code and complexity counting statistics that are inputs to labor analysis, which are components of CHAOSS value metric calculations. ", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "repo_labor", + "oid": 193547, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "repo_labor_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_data.repo_labor_repo_labor_id_seq'::regclass)", + "comment": "", + "oldName": "repo_labor_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "repo_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "repo_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "repo_clone_date", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "repo_clone_date", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "rl_analysis_date", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "rl_analysis_date", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 4, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "programming_language", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "NULL::character varying", + "comment": "", + "oldName": "programming_language", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 5, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "file_path", + "type": "varchar", + "length": 500, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "NULL::character varying", + "comment": "", + "oldName": "file_path", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 6, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "file_name", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "NULL::character varying", + "comment": "", + "oldName": "file_name", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 7, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "total_lines", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "total_lines", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 8, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "code_lines", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "code_lines", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 9, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "comment_lines", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "comment_lines", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 10, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "blank_lines", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "blank_lines", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 11, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "code_complexity", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "code_complexity", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 12, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "repo_url", + "type": "varchar", + "length": 500, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "NULL::character varying", + "comment": "This is a convenience column to simplify analysis against external datasets", + "oldName": "repo_url", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 13, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_source", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 14, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_version", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_version", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 15, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_source", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "data_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 16, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_collection_date", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "data_collection_date", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 17, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "repo_labor_pkey", + "fields": [ + "repo_labor_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "repo_labor_pkey" + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_repo_labor_repo_1", + "fields": [ + "repo_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "repo", + "referenceFields": [ + "repo_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_repo_labor_repo_1" + } + ], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "repo_meta", + "comment": "Project Languages", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "repo_meta", + "oid": 193738, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "repo_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "repo_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "rmeta_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_data.repo_meta_rmeta_id_seq'::regclass)", + "comment": "", + "oldName": "rmeta_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "rmeta_name", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "rmeta_name", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "rmeta_value", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "0", + "comment": "", + "oldName": "rmeta_value", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 4, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_source", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 5, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_version", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_version", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 6, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_source", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "data_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 7, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_collection_date", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "data_collection_date", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 8, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "repo_meta_pkey", + "fields": [ + "rmeta_id", + "repo_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "repo_meta_pkey" + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_repo_meta_repo_1", + "fields": [ + "repo_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "repo", + "referenceFields": [ + "repo_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "OneAndOnlyOneRelationship", + "oldName": "fk_repo_meta_repo_1" + } + ], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "repo_sbom_scans", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "repo_sbom_scans", + "oid": 193871, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "rsb_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_data.repo_sbom_scans_rsb_id_seq'::regclass)", + "comment": "", + "oldName": "rsb_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "repo_id", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "repo_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "sbom_scan", + "type": "json", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "sbom_scan", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "repo_sbom_scans_pkey", + "fields": [ + "rsb_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "repo_sbom_scans_pkey" + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "repo_linker_sbom", + "fields": [ + "repo_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "repo", + "referenceFields": [ + "repo_id" + ], + "onDelete": "CASCADE", + "onUpdate": "CASCADE", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "repo_linker_sbom" + } + ], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "repo_stats", + "comment": "Project Watchers", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "repo_stats", + "oid": 193992, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "repo_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "repo_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "rstat_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_data.repo_stats_rstat_id_seq'::regclass)", + "comment": "", + "oldName": "rstat_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "rstat_name", + "type": "varchar", + "length": 400, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "rstat_name", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "rstat_value", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "rstat_value", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 4, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_source", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 5, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_version", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_version", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 6, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_source", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "data_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 7, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_collection_date", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "data_collection_date", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 8, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "repo_stats_pkey", + "fields": [ + "rstat_id", + "repo_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "repo_stats_pkey" + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_repo_stats_repo_1", + "fields": [ + "repo_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "repo", + "referenceFields": [ + "repo_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "OneAndOnlyOneRelationship", + "oldName": "fk_repo_stats_repo_1" + } + ], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "repo_test_coverage", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "repo_test_coverage", + "oid": 194167, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "repo_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_data.repo_test_coverage_repo_id_seq'::regclass)", + "comment": "", + "oldName": "repo_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "repo_clone_date", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "repo_clone_date", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "rtc_analysis_date", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "rtc_analysis_date", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "programming_language", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "programming_language", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 4, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "file_path", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "file_path", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 5, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "file_name", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "file_name", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 6, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "testing_tool", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "testing_tool", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 7, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "file_statement_count", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "file_statement_count", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 8, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "file_subroutine_count", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "file_subroutine_count", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 9, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "file_statements_tested", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "file_statements_tested", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 10, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "file_subroutines_tested", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "file_subroutines_tested", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 11, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_source", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 12, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_version", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_version", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 13, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_source", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "data_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 14, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_collection_date", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", + "comment": "", + "oldName": "data_collection_date", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 15, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "repo_test_coverage_pkey", + "fields": [ + "repo_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "repo_test_coverage_pkey" + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_repo_test_coverage_repo_1", + "fields": [ + "repo_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "repo", + "referenceFields": [ + "repo_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrOneRelationship", + "targetCardinality": "OneAndOnlyOneRelationship", + "oldName": "fk_repo_test_coverage_repo_1" + } + ], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "repo_topic", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "repo_topic", + "oid": 194262, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "repo_topic_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_data.repo_topic_repo_topic_id_seq'::regclass)", + "comment": "", + "oldName": "repo_topic_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "repo_id", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "repo_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "topic_id", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "topic_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "topic_prob", + "type": "float8", + "length": 53, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "topic_prob", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 4, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_source", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 5, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_version", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_version", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 6, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_source", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "data_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 7, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_collection_date", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", + "comment": "", + "oldName": "data_collection_date", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 8, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "repo_topic_pkey", + "fields": [ + "repo_topic_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "repo_topic_pkey" + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_repo_topic_repo_1", + "fields": [ + "repo_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "repo", + "referenceFields": [ + "repo_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_repo_topic_repo_1" + } + ], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "repos_fetch_log", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "repos_fetch_log", + "oid": 194327, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "repos_id", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "repos_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "status", + "type": "varchar", + "length": 128, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "status", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "date", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", + "comment": "", + "oldName": "date", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [ + { + "objectType": "Index_PGSQL", + "name": "repos_id,status", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "repos_id,status", + "oid": 203942, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "repos_fetch_log", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "repos_id", + "collation": "", + "opClass": "int4_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "repos_id", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "status", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "status", + "collationSchema": "pg_catalog" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "repos_id,statusops", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "repos_id,statusops", + "oid": 203946, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "repos_fetch_log", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "repos_id", + "collation": "", + "opClass": "int4_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "repos_id", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "status", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "status", + "collationSchema": "pg_catalog" + } + ] + } + ], + "rules": [], + "foreignKeys": [], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "settings", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "settings", + "oid": 194386, + "rows": 13, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "id", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "setting", + "type": "varchar", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "setting", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "value", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "value", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "last_modified", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", + "comment": "", + "oldName": "last_modified", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 4, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "settings_pkey", + "fields": [ + "id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "settings_pkey" + }, + "foreignKeys": [], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "topic_words", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "topic_words", + "oid": 194532, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "topic_words_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_data.topic_words_topic_words_id_seq'::regclass)", + "comment": "", + "oldName": "topic_words_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "topic_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "topic_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "word", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "word", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "word_prob", + "type": "float8", + "length": 53, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "word_prob", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 4, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_source", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 5, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_version", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_version", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 6, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_source", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "data_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 7, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_collection_date", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", + "comment": "", + "oldName": "data_collection_date", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 8, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "topic_words_pkey", + "fields": [ + "topic_words_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "topic_words_pkey" + }, + "foreignKeys": [], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "unknown_cache", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "unknown_cache", + "oid": 194612, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "type", + "type": "varchar", + "length": 10, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "type", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "repo_group_id", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "repo_group_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "email", + "type": "varchar", + "length": 128, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "email", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "domain", + "type": "varchar", + "length": 128, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "'NULL'::character varying", + "comment": "", + "oldName": "domain", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 4, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "added", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "added", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 5, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_source", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 6, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_version", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_version", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 7, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_source", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "data_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 8, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_collection_date", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", + "comment": "", + "oldName": "data_collection_date", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 9, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [ + { + "objectType": "Index_PGSQL", + "name": "type,projects_id", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "type,projects_id", + "oid": 203971, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "unknown_cache", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "type", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "type", + "collationSchema": "pg_catalog" + }, + { + "objectType": "IndexField_PGSQL", + "name": "repo_group_id", + "collation": "", + "opClass": "int4_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "repo_group_id", + "collationSchema": "" + } + ] + } + ], + "rules": [], + "foreignKeys": [], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "utility_log", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "utility_log", + "oid": 194757, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_data.utility_log_id_seq1'::regclass)", + "comment": "", + "oldName": "id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "level", + "type": "varchar", + "length": 8, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "level", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "status", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "status", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "attempted", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", + "comment": "", + "oldName": "attempted", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 4, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "utility_log_pkey", + "fields": [ + "id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "utility_log_pkey" + }, + "foreignKeys": [], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "working_commits", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "working_commits", + "oid": 194888, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "repos_id", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "repos_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "working_commit", + "type": "varchar", + "length": 40, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "'NULL'::character varying", + "comment": "", + "oldName": "working_commit", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [], + "rules": [], + "foreignKeys": [], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "pull_request_reviews", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "pull_request_reviews", + "oid": 191281, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "pr_review_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_data.pull_request_reviews_pr_review_id_seq'::regclass)", + "comment": "", + "oldName": "pr_review_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pull_request_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pull_request_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "cntrb_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "cntrb_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_review_author_association", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_review_author_association", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 4, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_review_state", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_review_state", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 5, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_review_body", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_review_body", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 6, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_review_submitted_at", + "type": "timestamp", + "length": 6, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_review_submitted_at", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 7, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_review_src_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_review_src_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 8, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_review_node_id", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_review_node_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 9, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_review_html_url", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_review_html_url", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 10, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_review_pull_request_url", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_review_pull_request_url", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 11, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_review_commit_id", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_review_commit_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 12, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_source", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 13, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_version", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_version", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 14, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_source", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "data_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 15, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_collection_date", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", + "comment": "", + "oldName": "data_collection_date", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 16, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "pull_request_review_id", + "fields": [ + "pr_review_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "pull_request_review_id" + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_pull_request_reviews_contributors_1", + "fields": [ + "cntrb_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "contributors", + "referenceFields": [ + "cntrb_id" + ], + "onDelete": "RESTRICT", + "onUpdate": "CASCADE", + "comment": "", + "isMatchFull": false, + "isDeferrable": true, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "OneAndOnlyOneRelationship", + "oldName": "fk_pull_request_reviews_contributors_1" + }, + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_pull_request_reviews_pull_requests_1", + "fields": [ + "pull_request_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "pull_requests", + "referenceFields": [ + "pull_request_id" + ], + "onDelete": "RESTRICT", + "onUpdate": "CASCADE", + "comment": "", + "isMatchFull": false, + "isDeferrable": true, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "OneAndOnlyOneRelationship", + "oldName": "fk_pull_request_reviews_pull_requests_1" + } + ], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "pull_request_repo", + "comment": "This table is for storing information about forks that exist as part of a pull request. Generally we do not want to track these like ordinary repositories. ", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "pull_request_repo", + "oid": 190990, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "pr_repo_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_data.pull_request_repo_pr_repo_id_seq'::regclass)", + "comment": "", + "oldName": "pr_repo_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_repo_meta_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_repo_meta_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_repo_head_or_base", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "For ease of validation checking, we should determine if the repository referenced is the head or base of the pull request. Each pull request should have one and only one of these, which is not enforcable easily in the database.", + "oldName": "pr_repo_head_or_base", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_src_repo_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_src_repo_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 4, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_src_node_id", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_src_node_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 5, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_repo_name", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_repo_name", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 6, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_repo_full_name", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_repo_full_name", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 7, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_repo_private_bool", + "type": "bool", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_repo_private_bool", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 8, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_cntrb_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_cntrb_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 9, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_source", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 10, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_version", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_version", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 11, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_source", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "data_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 12, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_collection_date", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", + "comment": "", + "oldName": "data_collection_date", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 13, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [ + { + "objectType": "Index_PGSQL", + "name": "pr-cntrb-idx-repo", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "pr-cntrb-idx-repo", + "oid": 203793, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "pull_request_repo", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "pr_cntrb_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "pr_cntrb_id", + "collationSchema": "" + } + ] + } + ], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "pull_request_repo_pkey", + "fields": [ + "pr_repo_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "pull_request_repo_pkey" + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_pull_request_repo_contributors_1", + "fields": [ + "pr_cntrb_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "contributors", + "referenceFields": [ + "cntrb_id" + ], + "onDelete": "RESTRICT", + "onUpdate": "CASCADE", + "comment": "", + "isMatchFull": false, + "isDeferrable": true, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_pull_request_repo_contributors_1" + }, + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_pull_request_repo_pull_request_meta_1", + "fields": [ + "pr_repo_meta_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "pull_request_meta", + "referenceFields": [ + "pr_repo_meta_id" + ], + "onDelete": "RESTRICT", + "onUpdate": "CASCADE", + "comment": "", + "isMatchFull": false, + "isDeferrable": true, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_pull_request_repo_pull_request_meta_1" + } + ], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "pull_request_meta", + "comment": "Pull requests contain referencing metadata. There are a few columns that are discrete. There are also head and base designations for the repo on each side of the pull request. Similar functions exist in GitLab, though the language here is based on GitHub. The JSON Being adapted to as of the development of this schema is here: \"base\": { \"label\": \"chaoss:dev\", \"ref\": \"dev\", \"sha\": \"dc6c6f3947f7dc84ecba3d8bda641ef786e7027d\", \"user\": { \"login\": \"chaoss\", \"id\": 29740296, \"node_id\": \"MDEyOk9yZ2FuaXphdGlvbjI5NzQwMjk2\", \"avatar_url\": \"https://avatars2.githubusercontent.com/u/29740296?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/chaoss\", \"html_url\": \"https://github.com/chaoss\", \"followers_url\": \"https://api.github.com/users/chaoss/followers\", \"following_url\": \"https://api.github.com/users/chaoss/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/chaoss/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/chaoss/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/chaoss/subscriptions\", \"organizations_url\": \"https://api.github.com/users/chaoss/orgs\", \"repos_url\": \"https://api.github.com/users/chaoss/repos\", \"events_url\": \"https://api.github.com/users/chaoss/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/chaoss/received_events\", \"type\": \"Organization\", \"site_admin\": false }, \"repo\": { \"id\": 78134122, \"node_id\": \"MDEwOlJlcG9zaXRvcnk3ODEzNDEyMg==\", \"name\": \"augur\", \"full_name\": \"chaoss/augur\", \"private\": false, \"owner\": { \"login\": \"chaoss\", \"id\": 29740296, \"node_id\": \"MDEyOk9yZ2FuaXphdGlvbjI5NzQwMjk2\", \"avatar_url\": \"https://avatars2.githubusercontent.com/u/29740296?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/chaoss\", \"html_url\": \"https://github.com/chaoss\", \"followers_url\": \"https://api.github.com/users/chaoss/followers\", \"following_url\": \"https://api.github.com/users/chaoss/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/chaoss/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/chaoss/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/chaoss/subscriptions\", \"organizations_url\": \"https://api.github.com/users/chaoss/orgs\", \"repos_url\": \"https://api.github.com/users/chaoss/repos\", \"events_url\": \"https://api.github.com/users/chaoss/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/chaoss/received_events\", \"type\": \"Organization\", \"site_admin\": false }, ", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "pull_request_meta", + "oid": 190880, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "pr_repo_meta_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_data.pull_request_meta_pr_repo_meta_id_seq'::regclass)", + "comment": "", + "oldName": "pr_repo_meta_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pull_request_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pull_request_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_head_or_base", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "Each pull request should have one and only one head record; and one and only one base record. ", + "oldName": "pr_head_or_base", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_src_meta_label", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "This is a representation of the repo:branch information in the pull request. Head is issueing the pull request and base is taking the pull request. For example: (We do not store all of this)\n\n \"head\": {\n \"label\": \"chaoss:pull-request-worker\",\n \"ref\": \"pull-request-worker\",\n \"sha\": \"6b380c3d6d625616f79d702612ebab6d204614f2\",\n \"user\": {\n \"login\": \"chaoss\",\n \"id\": 29740296,\n \"node_id\": \"MDEyOk9yZ2FuaXphdGlvbjI5NzQwMjk2\",\n \"avatar_url\": \"https://avatars2.githubusercontent.com/u/29740296?v=4\",\n \"gravatar_id\": \"\",\n \"url\": \"https://api.github.com/users/chaoss\",\n \"html_url\": \"https://github.com/chaoss\",\n \"followers_url\": \"https://api.github.com/users/chaoss/followers\",\n \"following_url\": \"https://api.github.com/users/chaoss/following{/other_user}\",\n \"gists_url\": \"https://api.github.com/users/chaoss/gists{/gist_id}\",\n \"starred_url\": \"https://api.github.com/users/chaoss/starred{/owner}{/repo}\",\n \"subscriptions_url\": \"https://api.github.com/users/chaoss/subscriptions\",\n \"organizations_url\": \"https://api.github.com/users/chaoss/orgs\",\n \"repos_url\": \"https://api.github.com/users/chaoss/repos\",\n \"events_url\": \"https://api.github.com/users/chaoss/events{/privacy}\",\n \"received_events_url\": \"https://api.github.com/users/chaoss/received_events\",\n \"type\": \"Organization\",\n \"site_admin\": false\n },\n \"repo\": {\n \"id\": 78134122,\n \"node_id\": \"MDEwOlJlcG9zaXRvcnk3ODEzNDEyMg==\",\n \"name\": \"augur\",\n \"full_name\": \"chaoss/augur\",\n \"private\": false,\n \"owner\": {\n \"login\": \"chaoss\",\n \"id\": 29740296,\n \"node_id\": \"MDEyOk9yZ2FuaXphdGlvbjI5NzQwMjk2\",\n \"avatar_url\": \"https://avatars2.githubusercontent.com/u/29740296?v=4\",\n \"gravatar_id\": \"\",\n \"url\": \"https://api.github.com/users/chaoss\",\n \"html_url\": \"https://github.com/chaoss\",\n \"followers_url\": \"https://api.github.com/users/chaoss/followers\",\n \"following_url\": \"https://api.github.com/users/chaoss/following{/other_user}\",\n \"gists_url\": \"https://api.github.com/users/chaoss/gists{/gist_id}\",\n \"starred_url\": \"https://api.github.com/users/chaoss/starred{/owner}{/repo}\",\n \"subscriptions_url\": \"https://api.github.com/users/chaoss/subscriptions\",\n \"organizations_url\": \"https://api.github.com/users/chaoss/orgs\",\n \"repos_url\": \"https://api.github.com/users/chaoss/repos\",\n \"events_url\": \"https://api.github.com/users/chaoss/events{/privacy}\",\n \"received_events_url\": \"https://api.github.com/users/chaoss/received_events\",\n \"type\": \"Organization\",\n \"site_admin\": false\n },\n \"html_url\": \"https://github.com/chaoss/augur\",\n \"description\": \"Python library and web service for Open Source Software Health and Sustainability metrics & data collection.\",\n \"fork\": false,\n \"url\": \"https://api.github.com/repos/chaoss/augur\",\n \"forks_url\": \"https://api.github.com/repos/chaoss/augur/forks\",\n \"keys_url\": \"https://api.github.com/repos/chaoss/augur/keys{/key_id}\",\n \"collaborators_url\": \"https://api.github.com/repos/chaoss/augur/collaborators{/collaborator}\",\n \"teams_url\": \"https://api.github.com/repos/chaoss/augur/teams\",\n \"hooks_url\": \"https://api.github.com/repos/chaoss/augur/hooks\",\n \"issue_events_url\": \"https://api.github.com/repos/chaoss/augur/issues/events{/number}\",\n \"events_url\": \"https://api.github.com/repos/chaoss/augur/events\",\n \"assignees_url\": \"https://api.github.com/repos/chaoss/augur/assignees{/user}\",\n \"branches_url\": \"https://api.github.com/repos/chaoss/augur/branches{/branch}\",\n \"tags_url\": \"https://api.github.com/repos/chaoss/augur/tags\",\n \"blobs_url\": \"https://api.github.com/repos/chaoss/augur/git/blobs{/sha}\",\n \"git_tags_url\": \"https://api.github.com/repos/chaoss/augur/git/tags{/sha}\",\n \"git_refs_url\": \"https://api.github.com/repos/chaoss/augur/git/refs{/sha}\",\n \"trees_url\": \"https://api.github.com/repos/chaoss/augur/git/trees{/sha}\",\n \"statuses_url\": \"https://api.github.com/repos/chaoss/augur/statuses/{sha}\",\n \"languages_url\": \"https://api.github.com/repos/chaoss/augur/languages\",\n \"stargazers_url\": \"https://api.github.com/repos/chaoss/augur/stargazers\",\n \"contributors_url\": \"https://api.github.com/repos/chaoss/augur/contributors\",\n \"subscribers_url\": \"https://api.github.com/repos/chaoss/augur/subscribers\",\n \"subscription_url\": \"https://api.github.com/repos/chaoss/augur/subscription\",\n \"commits_url\": \"https://api.github.com/repos/chaoss/augur/commits{/sha}\",\n \"git_commits_url\": \"https://api.github.com/repos/chaoss/augur/git/commits{/sha}\",\n \"comments_url\": \"https://api.github.com/repos/chaoss/augur/comments{/number}\",\n \"issue_comment_url\": \"https://api.github.com/repos/chaoss/augur/issues/comments{/number}\",\n \"contents_url\": \"https://api.github.com/repos/chaoss/augur/contents/{+path}\",\n \"compare_url\": \"https://api.github.com/repos/chaoss/augur/compare/{base}...{head}\",\n \"merges_url\": \"https://api.github.com/repos/chaoss/augur/merges\",\n \"archive_url\": \"https://api.github.com/repos/chaoss/augur/{archive_format}{/ref}\",\n \"downloads_url\": \"https://api.github.com/repos/chaoss/augur/downloads\",\n \"issues_url\": \"https://api.github.com/repos/chaoss/augur/issues{/number}\",\n \"pulls_url\": \"https://api.github.com/repos/chaoss/augur/pulls{/number}\",\n \"milestones_url\": \"https://api.github.com/repos/chaoss/augur/milestones{/number}\",\n \"notifications_url\": \"https://api.github.com/repos/chaoss/augur/notifications{?since,all,participating}\",\n \"labels_url\": \"https://api.github.com/repos/chaoss/augur/labels{/name}\",\n \"releases_url\": \"https://api.github.com/repos/chaoss/augur/releases{/id}\",\n \"deployments_url\": \"https://api.github.com/repos/chaoss/augur/deployments\",\n \"created_at\": \"2017-01-05T17:34:54Z\",\n \"updated_at\": \"2019-11-15T00:56:12Z\",\n \"pushed_at\": \"2019-12-02T06:27:26Z\",\n \"git_url\": \"git://github.com/chaoss/augur.git\",\n \"ssh_url\": \"git@github.com:chaoss/augur.git\",\n \"clone_url\": \"https://github.com/chaoss/augur.git\",\n \"svn_url\": \"https://github.com/chaoss/augur\",\n \"homepage\": \"http://augur.osshealth.io/\",\n \"size\": 82004,\n \"stargazers_count\": 153,\n \"watchers_count\": 153,\n \"language\": \"Python\",\n \"has_issues\": true,\n \"has_projects\": false,\n \"has_downloads\": true,\n \"has_wiki\": false,\n \"has_pages\": true,\n \"forks_count\": 205,\n \"mirror_url\": null,\n \"archived\": false,\n \"disabled\": false,\n \"open_issues_count\": 14,\n \"license\": {\n \"key\": \"mit\",\n \"name\": \"MIT License\",\n \"spdx_id\": \"MIT\",\n \"url\": \"https://api.github.com/licenses/mit\",\n \"node_id\": \"MDc6TGljZW5zZTEz\"\n },\n \"forks\": 205,\n \"open_issues\": 14,\n \"watchers\": 153,\n \"default_branch\": \"master\"\n }\n },\n \"base\": {\n \"label\": \"chaoss:dev\",\n \"ref\": \"dev\",\n \"sha\": \"bfd2d34b51659613dd842cf83c3873f7699c2a0e\",\n \"user\": {\n \"login\": \"chaoss\",\n \"id\": 29740296,\n \"node_id\": \"MDEyOk9yZ2FuaXphdGlvbjI5NzQwMjk2\",\n \"avatar_url\": \"https://avatars2.githubusercontent.com/u/29740296?v=4\",\n \"gravatar_id\": \"\",\n \"url\": \"https://api.github.com/users/chaoss\",\n \"html_url\": \"https://github.com/chaoss\",\n \"followers_url\": \"https://api.github.com/users/chaoss/followers\",\n \"following_url\": \"https://api.github.com/users/chaoss/following{/other_user}\",\n \"gists_url\": \"https://api.github.com/users/chaoss/gists{/gist_id}\",\n \"starred_url\": \"https://api.github.com/users/chaoss/starred{/owner}{/repo}\",\n \"subscriptions_url\": \"https://api.github.com/users/chaoss/subscriptions\",\n \"organizations_url\": \"https://api.github.com/users/chaoss/orgs\",\n \"repos_url\": \"https://api.github.com/users/chaoss/repos\",\n \"events_url\": \"https://api.github.com/users/chaoss/events{/privacy}\",\n \"received_events_url\": \"https://api.github.com/users/chaoss/received_events\",\n \"type\": \"Organization\",\n \"site_admin\": false\n },\n \"repo\": {\n \"id\": 78134122,\n \"node_id\": \"MDEwOlJlcG9zaXRvcnk3ODEzNDEyMg==\",\n \"name\": \"augur\",\n \"full_name\": \"chaoss/augur\",\n \"private\": false,\n \"owner\": {\n \"login\": \"chaoss\",\n \"id\": 29740296,\n \"node_id\": \"MDEyOk9yZ2FuaXphdGlvbjI5NzQwMjk2\",\n \"avatar_url\": \"https://avatars2.githubusercontent.com/u/29740296?v=4\",\n \"gravatar_id\": \"\",\n \"url\": \"https://api.github.com/users/chaoss\",\n \"html_url\": \"https://github.com/chaoss\",\n \"followers_url\": \"https://api.github.com/users/chaoss/followers\",\n \"following_url\": \"https://api.github.com/users/chaoss/following{/other_user}\",\n \"gists_url\": \"https://api.github.com/users/chaoss/gists{/gist_id}\",\n \"starred_url\": \"https://api.github.com/users/chaoss/starred{/owner}{/repo}\",\n \"subscriptions_url\": \"https://api.github.com/users/chaoss/subscriptions\",\n \"organizations_url\": \"https://api.github.com/users/chaoss/orgs\",\n \"repos_url\": \"https://api.github.com/users/chaoss/repos\",\n \"events_url\": \"https://api.github.com/users/chaoss/events{/privacy}\",\n \"received_events_url\": \"https://api.github.com/users/chaoss/received_events\",\n \"type\": \"Organization\",\n \"site_admin\": false\n },\n", + "oldName": "pr_src_meta_label", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 4, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_src_meta_ref", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_src_meta_ref", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 5, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_sha", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_sha", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 6, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "cntrb_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "cntrb_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 7, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_source", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 8, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_version", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_version", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 9, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_source", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "data_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 10, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_collection_date", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", + "comment": "", + "oldName": "data_collection_date", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 11, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [ + { + "objectType": "Index_PGSQL", + "name": "pr_meta-cntrbid-idx", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "pr_meta-cntrbid-idx", + "oid": 203818, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "pull_request_meta", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "cntrb_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cntrb_id", + "collationSchema": "" + } + ] + } + ], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "pull_request_meta_pkey", + "fields": [ + "pr_repo_meta_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "pull_request_meta_pkey" + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_pull_request_meta_contributors_2", + "fields": [ + "cntrb_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "contributors", + "referenceFields": [ + "cntrb_id" + ], + "onDelete": "RESTRICT", + "onUpdate": "CASCADE", + "comment": "", + "isMatchFull": false, + "isDeferrable": true, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_pull_request_meta_contributors_2" + }, + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_pull_request_meta_pull_requests_1", + "fields": [ + "pull_request_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "pull_requests", + "referenceFields": [ + "pull_request_id" + ], + "onDelete": "RESTRICT", + "onUpdate": "CASCADE", + "comment": "", + "isMatchFull": false, + "isDeferrable": true, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_pull_request_meta_pull_requests_1" + } + ], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "pull_request_assignees", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "pull_request_assignees", + "oid": 190434, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "pr_assignee_map_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_data.pull_request_assignees_pr_assignee_map_id_seq'::regclass)", + "comment": "", + "oldName": "pr_assignee_map_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pull_request_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pull_request_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "contrib_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "contrib_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_source", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 4, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_version", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_version", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 5, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_source", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "data_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 6, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_collection_date", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", + "comment": "", + "oldName": "data_collection_date", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 7, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_assignee_src_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_assignee_src_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 8, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [ + { + "objectType": "Index_PGSQL", + "name": "pr_meta_cntrb-idx", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "pr_meta_cntrb-idx", + "oid": 203821, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "pull_request_assignees", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "contrib_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "contrib_id", + "collationSchema": "" + } + ] + } + ], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "pull_request_assignees_pkey", + "fields": [ + "pr_assignee_map_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "pull_request_assignees_pkey" + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_pull_request_assignees_contributors_1", + "fields": [ + "contrib_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "contributors", + "referenceFields": [ + "cntrb_id" + ], + "onDelete": "RESTRICT", + "onUpdate": "CASCADE", + "comment": "", + "isMatchFull": false, + "isDeferrable": true, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_pull_request_assignees_contributors_1" + }, + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_pull_request_assignees_pull_requests_1", + "fields": [ + "pull_request_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "pull_requests", + "referenceFields": [ + "pull_request_id" + ], + "onDelete": "RESTRICT", + "onUpdate": "CASCADE", + "comment": "", + "isMatchFull": false, + "isDeferrable": true, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_pull_request_assignees_pull_requests_1" + } + ], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "pull_request_events", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "pull_request_events", + "oid": 190583, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "pr_event_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_data.pull_request_events_pr_event_id_seq'::regclass)", + "comment": "", + "oldName": "pr_event_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pull_request_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pull_request_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "cntrb_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "cntrb_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "action", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "action", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 4, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "action_commit_hash", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "action_commit_hash", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 5, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "created_at", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", + "comment": "", + "oldName": "created_at", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 6, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "issue_event_src_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "This ID comes from the source. In the case of GitHub, it is the id that is the first field returned from the issue events API", + "oldName": "issue_event_src_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 7, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "node_id", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "This should be renamed to issue_event_src_node_id, as its the varchar identifier in GitHub and likely common in other sources as well. However, since it was created before we came to this naming standard and workers are built around it, we have it simply named as node_id. Anywhere you see node_id in the schema, it comes from GitHubs terminology.", + "oldName": "node_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 8, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "node_url", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "node_url", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 9, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": 0, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_source", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 10, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_version", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_version", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 11, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_source", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "data_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 12, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_collection_date", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", + "comment": "", + "oldName": "data_collection_date", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 13, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [ + { + "objectType": "Index_PGSQL", + "name": "pr_events_ibfk_1", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "pr_events_ibfk_1", + "oid": 203813, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "pull_request_events", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "pull_request_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "pull_request_id", + "collationSchema": "" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "pr_events_ibfk_2", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "pr_events_ibfk_2", + "oid": 203817, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "pull_request_events", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "cntrb_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cntrb_id", + "collationSchema": "" + } + ] + } + ], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "pr_events_pkey", + "fields": [ + "pr_event_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "pr_events_pkey" + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_pull_request_events_contributors_1", + "fields": [ + "cntrb_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "contributors", + "referenceFields": [ + "cntrb_id" + ], + "onDelete": "RESTRICT", + "onUpdate": "CASCADE", + "comment": "", + "isMatchFull": false, + "isDeferrable": true, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "OneAndOnlyOneRelationship", + "oldName": "fk_pull_request_events_contributors_1" + }, + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_pull_request_events_pull_requests_1", + "fields": [ + "pull_request_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "pull_requests", + "referenceFields": [ + "pull_request_id" + ], + "onDelete": "RESTRICT", + "onUpdate": "CASCADE", + "comment": "", + "isMatchFull": false, + "isDeferrable": true, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "OneAndOnlyOneRelationship", + "oldName": "fk_pull_request_events_pull_requests_1" + } + ], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "pull_requests", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "pull_requests", + "oid": 191527, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "pull_request_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_data.pull_requests_pull_request_id_seq'::regclass)", + "comment": "", + "oldName": "pull_request_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_url", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_url", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_src_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "The pr_src_id is unique across all of github.", + "oldName": "pr_src_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_src_node_id", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_src_node_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 4, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_html_url", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_html_url", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 5, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_diff_url", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_diff_url", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 6, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_patch_url", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_patch_url", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 7, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_issue_url", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_issue_url", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 8, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_augur_issue_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "This is to link to the augur stored related issue", + "oldName": "pr_augur_issue_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 9, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_src_number", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "The pr_src_number is unique within a repository.", + "oldName": "pr_src_number", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 10, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_src_state", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_src_state", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 11, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_src_locked", + "type": "bool", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_src_locked", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 12, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_src_title", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_src_title", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 13, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_augur_contributor_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "This is to link to the augur contributor record. ", + "oldName": "pr_augur_contributor_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 14, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_body", + "type": "text", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_body", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 15, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_created_at", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_created_at", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 16, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_updated_at", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_updated_at", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 17, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_closed_at", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_closed_at", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 18, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_merged_at", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_merged_at", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 19, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_merge_commit_sha", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_merge_commit_sha", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 20, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_teams", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "One to many with pull request teams. ", + "oldName": "pr_teams", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 21, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_milestone", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_milestone", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 22, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_commits_url", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_commits_url", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 23, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_review_comments_url", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_review_comments_url", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 24, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_review_comment_url", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "This is a field with limited utility. It does expose how to access a specific comment if needed with parameters. If the source changes URL structure, it may be useful", + "oldName": "pr_review_comment_url", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 25, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_comments_url", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_comments_url", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 26, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_statuses_url", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_statuses_url", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 27, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_meta_head_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "The metadata for the head repo that links to the pull_request_meta table. ", + "oldName": "pr_meta_head_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 28, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_meta_base_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "The metadata for the base repo that links to the pull_request_meta table. ", + "oldName": "pr_meta_base_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 29, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_src_issue_url", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_src_issue_url", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 30, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_src_comments_url", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_src_comments_url", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 31, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_src_review_comments_url", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_src_review_comments_url", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 32, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_src_commits_url", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_src_commits_url", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 33, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_src_statuses_url", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_src_statuses_url", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 34, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_src_author_association", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_src_author_association", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 35, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_source", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 36, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_version", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_version", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 37, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_source", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "data_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 38, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_collection_date", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", + "comment": "", + "oldName": "data_collection_date", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 39, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "repo_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "0", + "comment": "", + "oldName": "repo_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 40, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [ + { + "objectType": "Index_PGSQL", + "name": "id_node", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "id_node", + "oid": 203718, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "pull_requests", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "pr_src_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "DESC", + "nullSort": "NULLS FIRST", + "oldName": "pr_src_id", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "pr_src_node_id", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "DESC", + "nullSort": "NULLS LAST", + "oldName": "pr_src_node_id", + "collationSchema": "pg_catalog" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "pull_requests_idx_repo_id_data_datex", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "pull_requests_idx_repo_id_data_datex", + "oid": 203870, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "pull_requests", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "repo_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "repo_id", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "data_collection_date", + "collation": "", + "opClass": "timestamp_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "data_collection_date", + "collationSchema": "" + } + ] + } + ], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "pull_requests_pkey", + "fields": [ + "pull_request_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "pull_requests_pkey" + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_pr_contribs", + "fields": [ + "pr_augur_contributor_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "contributors", + "referenceFields": [ + "cntrb_id" + ], + "onDelete": "RESTRICT", + "onUpdate": "CASCADE", + "comment": "", + "isMatchFull": false, + "isDeferrable": true, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_pr_contribs" + }, + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_pull_requests_repo_1", + "fields": [ + "repo_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "repo", + "referenceFields": [ + "repo_id" + ], + "onDelete": "RESTRICT", + "onUpdate": "CASCADE", + "comment": "", + "isMatchFull": false, + "isDeferrable": true, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_pull_requests_repo_1" + } + ], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "pull_request_commits", + "comment": "Pull request commits are an enumeration of each commit associated with a pull request. \nNot all pull requests are from a branch or fork into master. \nThe commits table intends to count only commits that end up in the master branch (i.e., part of the deployed code base for a project).\nTherefore, there will be commit “SHA”’s in this table that are no associated with a commit SHA in the commits table. \nIn cases where the PR is to the master branch of a project, you will find a match. In cases where the PR does not involve the master branch, you will not find a corresponding commit SHA in the commits table. This is expected. ", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "pull_request_commits", + "oid": 190491, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "pr_cmt_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_data.pull_request_commits_pr_cmt_id_seq'::regclass)", + "comment": "", + "oldName": "pr_cmt_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pull_request_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pull_request_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_cmt_sha", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "This is the commit SHA for a pull request commit. If the PR is not to the master branch of the main repository (or, in rare cases, from it), then you will NOT find a corresponding commit SHA in the commit table. (see table comment for further explanation). ", + "oldName": "pr_cmt_sha", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_cmt_node_id", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_cmt_node_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 4, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_cmt_message", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_cmt_message", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 5, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_cmt_comments_url", + "type": "varbit", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_cmt_comments_url", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 6, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_source", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 7, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_version", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_version", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 8, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_source", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "data_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 9, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_collection_date", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", + "comment": "", + "oldName": "data_collection_date", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 10, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_cmt_author_cntrb_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_cmt_author_cntrb_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 11, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_cmt_timestamp", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_cmt_timestamp", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 12, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_cmt_author_email", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_cmt_author_email", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 13, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "pull_request_commits_pkey", + "fields": [ + "pr_cmt_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "pull_request_commits_pkey" + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_pr_commit_cntrb_id", + "fields": [ + "pr_cmt_author_cntrb_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "contributors", + "referenceFields": [ + "cntrb_id" + ], + "onDelete": "RESTRICT", + "onUpdate": "CASCADE", + "comment": "", + "isMatchFull": false, + "isDeferrable": true, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_pr_commit_cntrb_id" + }, + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_pull_request_commits_pull_requests_1", + "fields": [ + "pull_request_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "pull_requests", + "referenceFields": [ + "pull_request_id" + ], + "onDelete": "RESTRICT", + "onUpdate": "CASCADE", + "comment": "", + "isMatchFull": false, + "isDeferrable": true, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_pull_request_commits_pull_requests_1" + } + ], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "issue_events", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "issue_events", + "oid": 188512, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "event_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_data.issue_events_event_id_seq'::regclass)", + "comment": "", + "oldName": "event_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": [], + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "issue_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "issue_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "cntrb_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "cntrb_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "action", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "action", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 4, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "action_commit_hash", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "action_commit_hash", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 5, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "created_at", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", + "comment": "", + "oldName": "created_at", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 6, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "node_id", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "This should be renamed to issue_event_src_node_id, as its the varchar identifier in GitHub and likely common in other sources as well. However, since it was created before we came to this naming standard and workers are built around it, we have it simply named as node_id. Anywhere you see node_id in the schema, it comes from GitHubs terminology.", + "oldName": "node_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 7, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "node_url", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "node_url", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 8, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": 0, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_source", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 9, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_version", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_version", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 10, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_source", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "data_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 11, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_collection_date", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", + "comment": "", + "oldName": "data_collection_date", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 12, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "issue_event_src_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "This ID comes from the source. In the case of GitHub, it is the id that is the first field returned from the issue events API", + "oldName": "issue_event_src_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 13, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [ + { + "objectType": "Index_PGSQL", + "name": "issue-cntrb-idx2", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "issue-cntrb-idx2", + "oid": 203747, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "issue_events", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "issue_event_src_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "issue_event_src_id", + "collationSchema": "" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "issue_events_ibfk_1", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "issue_events_ibfk_1", + "oid": 203748, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "issue_events", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "issue_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "issue_id", + "collationSchema": "" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "issue_events_ibfk_2", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "issue_events_ibfk_2", + "oid": 203755, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "issue_events", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "cntrb_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cntrb_id", + "collationSchema": "" + } + ] + } + ], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "issue_events_pkey", + "fields": [ + "event_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "issue_events_pkey" + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_issue_events_contributors_1", + "fields": [ + "cntrb_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "contributors", + "referenceFields": [ + "cntrb_id" + ], + "onDelete": "RESTRICT", + "onUpdate": "CASCADE", + "comment": "", + "isMatchFull": false, + "isDeferrable": true, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "OneAndOnlyOneRelationship", + "oldName": "fk_issue_events_contributors_1" + }, + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_issue_events_issues_1", + "fields": [ + "issue_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "issues", + "referenceFields": [ + "issue_id" + ], + "onDelete": "RESTRICT", + "onUpdate": "CASCADE", + "comment": "", + "isMatchFull": false, + "isDeferrable": true, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "OneAndOnlyOneRelationship", + "oldName": "fk_issue_events_issues_1" + } + ], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "issue_assignees", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "issue_assignees", + "oid": 188311, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "issue_assignee_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_data.issue_assignees_issue_assignee_id_seq'::regclass)", + "comment": "", + "oldName": "issue_assignee_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "issue_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "issue_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "cntrb_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "cntrb_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_source", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 4, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_version", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_version", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 5, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_source", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "data_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 6, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_collection_date", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", + "comment": "", + "oldName": "data_collection_date", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 7, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "issue_assignee_src_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "This ID comes from the source. In the case of GitHub, it is the id that is the first field returned from the issue events API in the issue_assignees embedded JSON object. We may discover it is an ID for the person themselves; but my hypothesis is that its not.", + "oldName": "issue_assignee_src_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 8, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "issue_assignee_src_node", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "This character based identifier comes from the source. In the case of GitHub, it is the id that is the second field returned from the issue events API in the issue_assignees embedded JSON object. We may discover it is an ID for the person themselves; but my hypothesis is that its not.", + "oldName": "issue_assignee_src_node", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 9, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": true, + "identityMaximum": 0, + "hasNoIdentityMaxValue": 0, + "isIdentityCycle": false + } + ], + "indexes": [ + { + "objectType": "Index_PGSQL", + "name": "issue-cntrb-assign-idx-1", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "issue-cntrb-assign-idx-1", + "oid": 203731, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "issue_assignees", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "cntrb_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cntrb_id", + "collationSchema": "" + } + ] + } + ], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "issue_assignees_pkey", + "fields": [ + "issue_assignee_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "issue_assignees_pkey" + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_issue_assignees_contributors_1", + "fields": [ + "cntrb_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "contributors", + "referenceFields": [ + "cntrb_id" + ], + "onDelete": "RESTRICT", + "onUpdate": "CASCADE", + "comment": "", + "isMatchFull": false, + "isDeferrable": true, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_issue_assignees_contributors_1" + }, + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_issue_assignees_issues_1", + "fields": [ + "issue_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "issues", + "referenceFields": [ + "issue_id" + ], + "onDelete": "RESTRICT", + "onUpdate": "CASCADE", + "comment": "", + "isMatchFull": false, + "isDeferrable": true, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_issue_assignees_issues_1" + } + ], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "issues", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "issues", + "oid": 188973, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "issue_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_data.issue_seq'::regclass)", + "comment": "", + "oldName": "issue_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "repo_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "repo_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "reporter_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "The ID of the person who opened the issue. ", + "oldName": "reporter_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pull_request", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pull_request", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 4, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pull_request_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pull_request_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 5, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "created_at", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "created_at", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 6, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "issue_title", + "type": "varchar", + "length": 500, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "issue_title", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 7, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "issue_body", + "type": "text", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "issue_body", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 8, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "cntrb_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "The ID of the person who closed the issue. ", + "oldName": "cntrb_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 9, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "comment_count", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "comment_count", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 10, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "updated_at", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "updated_at", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 11, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "closed_at", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "closed_at", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 12, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "due_on", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "due_on", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 13, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "repository_url", + "type": "varchar", + "length": 4000, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "repository_url", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 14, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "issue_url", + "type": "varchar", + "length": 4000, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "issue_url", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 15, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "labels_url", + "type": "varchar", + "length": 4000, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "labels_url", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 16, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "comments_url", + "type": "varchar", + "length": 4000, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "comments_url", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 17, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "events_url", + "type": "varchar", + "length": 4000, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "events_url", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 18, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "html_url", + "type": "varchar", + "length": 4000, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "html_url", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 19, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "issue_state", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "issue_state", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 20, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "issue_node_id", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "issue_node_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 21, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "gh_issue_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "gh_issue_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 22, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "gh_user_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "gh_user_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 23, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_source", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 24, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_version", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_version", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 25, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_source", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "data_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 26, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_collection_date", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", + "comment": "", + "oldName": "data_collection_date", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 27, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "gh_issue_number", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "gh_issue_number", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 28, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [ + { + "objectType": "Index_PGSQL", + "name": "issue-cntrb-dix2", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "issue-cntrb-dix2", + "oid": 203732, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "issues", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "cntrb_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cntrb_id", + "collationSchema": "" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "issues_ibfk_1", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "issues_ibfk_1", + "oid": 203756, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "issues", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "repo_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "repo_id", + "collationSchema": "" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "issues_ibfk_2", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "issues_ibfk_2", + "oid": 203759, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "issues", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "reporter_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "reporter_id", + "collationSchema": "" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "issues_ibfk_4", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "issues_ibfk_4", + "oid": 203760, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "issues", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "pull_request_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "pull_request_id", + "collationSchema": "" + } + ] + } + ], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "issues_pkey", + "fields": [ + "issue_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "issues_pkey" + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_issues_contributors_1", + "fields": [ + "cntrb_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "contributors", + "referenceFields": [ + "cntrb_id" + ], + "onDelete": "RESTRICT", + "onUpdate": "CASCADE", + "comment": "", + "isMatchFull": false, + "isDeferrable": true, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_issues_contributors_1" + }, + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_issues_contributors_2", + "fields": [ + "reporter_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "contributors", + "referenceFields": [ + "cntrb_id" + ], + "onDelete": "RESTRICT", + "onUpdate": "CASCADE", + "comment": "", + "isMatchFull": false, + "isDeferrable": true, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_issues_contributors_2" + }, + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_issues_repo", + "fields": [ + "repo_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "repo", + "referenceFields": [ + "repo_id" + ], + "onDelete": "RESTRICT", + "onUpdate": "CASCADE", + "comment": "", + "isMatchFull": false, + "isDeferrable": true, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_issues_repo" + } + ], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "message", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "message", + "oid": 189724, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "msg_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_data.message_msg_id_seq'::regclass)", + "comment": "", + "oldName": "msg_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "rgls_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "rgls_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "msg_text", + "type": "text", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "msg_text", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "msg_timestamp", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "msg_timestamp", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 4, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "msg_sender_email", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "msg_sender_email", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 5, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "msg_header", + "type": "varchar", + "length": 4000, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "msg_header", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 6, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pltfrm_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pltfrm_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 7, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_source", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 8, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_version", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_version", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 9, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_source", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "data_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 10, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_collection_date", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", + "comment": "", + "oldName": "data_collection_date", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 11, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "cntrb_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "Not populated for mailing lists. Populated for GitHub issues. ", + "oldName": "cntrb_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 12, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [ + { + "objectType": "Index_PGSQL", + "name": "messagegrouper", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": true, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "messagegrouper", + "oid": 203787, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "message", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "msg_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "msg_id", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "rgls_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "rgls_id", + "collationSchema": "" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "msg-cntrb-id-idx", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "msg-cntrb-id-idx", + "oid": 203788, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "message", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "cntrb_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cntrb_id", + "collationSchema": "" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "platformgrouper", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "platformgrouper", + "oid": 203792, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "message", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "msg_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "msg_id", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "pltfrm_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "pltfrm_id", + "collationSchema": "" + } + ] + } + ], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "message_pkey", + "fields": [ + "msg_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "message_pkey" + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_message_contributors_1", + "fields": [ + "cntrb_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "contributors", + "referenceFields": [ + "cntrb_id" + ], + "onDelete": "RESTRICT", + "onUpdate": "CASCADE", + "comment": "", + "isMatchFull": false, + "isDeferrable": true, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_message_contributors_1" + }, + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_message_platform_1", + "fields": [ + "pltfrm_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "platform", + "referenceFields": [ + "pltfrm_id" + ], + "onDelete": "RESTRICT", + "onUpdate": "CASCADE", + "comment": "", + "isMatchFull": false, + "isDeferrable": true, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "OneAndOnlyOneRelationship", + "oldName": "fk_message_platform_1" + }, + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_message_repo_groups_list_serve_1", + "fields": [ + "rgls_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "repo_groups_list_serve", + "referenceFields": [ + "rgls_id" + ], + "onDelete": "RESTRICT", + "onUpdate": "CASCADE", + "comment": "", + "isMatchFull": false, + "isDeferrable": true, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_message_repo_groups_list_serve_1" + } + ], + "uniques": [ + { + "objectType": "Unique_PGSQL", + "name": "REPOGROUPLISTER", + "fields": [ + "msg_id", + "rgls_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "REPOGROUPLISTER" + }, + { + "objectType": "Unique_PGSQL", + "name": "platformer", + "fields": [ + "msg_id", + "pltfrm_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "platformer" + } + ], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "contributors_aliases", + "comment": "An alias will need to be created for every contributor in this model, otherwise we will have to look in 2 places. ", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "contributors_aliases", + "oid": 187257, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "cntrb_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "cntrb_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "cntrb_a_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_data.contributors_aliases_cntrb_a_id_seq'::regclass)", + "comment": "", + "oldName": "cntrb_a_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "canonical_email", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "canonical_email", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "alias_email", + "type": "varchar", + "length": 128, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "alias_email", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 4, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "cntrb_active", + "type": "int2", + "length": 16, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "1", + "comment": "", + "oldName": "cntrb_active", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 5, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "cntrb_last_modified", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", + "comment": "", + "oldName": "cntrb_last_modified", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 6, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_source", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 7, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_version", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_version", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 8, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_source", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "data_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 9, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_collection_date", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", + "comment": "", + "oldName": "data_collection_date", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 10, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [ + { + "objectType": "Index_PGSQL", + "name": "alias,active", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "alias,active", + "oid": 203516, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "contributors_aliases", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "alias_email", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "alias_email", + "collationSchema": "pg_catalog" + }, + { + "objectType": "IndexField_PGSQL", + "name": "cntrb_active", + "collation": "", + "opClass": "int2_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cntrb_active", + "collationSchema": "" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "canonical,alias", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": true, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "canonical,alias", + "oid": 203538, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "contributors_aliases", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "canonical_email", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "canonical_email", + "collationSchema": "pg_catalog" + }, + { + "objectType": "IndexField_PGSQL", + "name": "alias_email", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "alias_email", + "collationSchema": "pg_catalog" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "issue-alias-cntrb-idx1", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "issue-alias-cntrb-idx1", + "oid": 203725, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "contributors_aliases", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "cntrb_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cntrb_id", + "collationSchema": "" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "issue-alias-cntrb-idx2", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "issue-alias-cntrb-idx2", + "oid": 203728, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "contributors_aliases", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "cntrb_a_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cntrb_a_id", + "collationSchema": "" + } + ] + } + ], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "contributors_aliases_pkey", + "fields": [ + "cntrb_id", + "cntrb_a_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "contributors_aliases_pkey" + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_alias_id", + "fields": [ + "cntrb_a_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "contributors", + "referenceFields": [ + "cntrb_id" + ], + "onDelete": "CASCADE", + "onUpdate": "CASCADE", + "comment": "", + "isMatchFull": false, + "isDeferrable": true, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "OneAndOnlyOneRelationship", + "oldName": "fk_alias_id" + }, + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_contributors_aliases_contributors_1", + "fields": [ + "cntrb_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "contributors", + "referenceFields": [ + "cntrb_id" + ], + "onDelete": "CASCADE", + "onUpdate": "CASCADE", + "comment": "", + "isMatchFull": false, + "isDeferrable": true, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "OneAndOnlyOneRelationship", + "oldName": "fk_contributors_aliases_contributors_1" + } + ], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "contributor_repo", + "comment": "Developed in Partnership with Andrew Brain. \nFrom: [\n {\n \"login\": \"octocat\",\n \"id\": 1,\n \"node_id\": \"MDQ6VXNlcjE=\",\n \"avatar_url\": \"https://github.com/images/error/octocat_happy.gif\",\n \"gravatar_id\": \"\",\n \"url\": \"https://api.github.com/users/octocat\",\n \"html_url\": \"https://github.com/octocat\",\n \"followers_url\": \"https://api.github.com/users/octocat/followers\",\n \"following_url\": \"https://api.github.com/users/octocat/following{/other_user}\",\n \"gists_url\": \"https://api.github.com/users/octocat/gists{/gist_id}\",\n \"starred_url\": \"https://api.github.com/users/octocat/starred{/owner}{/repo}\",\n \"subscriptions_url\": \"https://api.github.com/users/octocat/subscriptions\",\n \"organizations_url\": \"https://api.github.com/users/octocat/orgs\",\n \"repos_url\": \"https://api.github.com/users/octocat/repos\",\n \"events_url\": \"https://api.github.com/users/octocat/events{/privacy}\",\n \"received_events_url\": \"https://api.github.com/users/octocat/received_events\",\n \"type\": \"User\",\n \"site_admin\": false\n }\n]\n", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "contributor_repo", + "oid": 186822, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "cntrb_repo_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_data.contributor_repo_cntrb_repo_id_seq'::regclass)", + "comment": "", + "oldName": "cntrb_repo_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "cntrb_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "This is not null because what is the point without the contributor in this table? ", + "oldName": "cntrb_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "repo_git", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "Similar to cntrb_id, we need this data for the table to have meaningful data. ", + "oldName": "repo_git", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "cntrb_category", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "cntrb_category", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 4, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_source", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 5, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_version", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_version", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 6, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_source", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "data_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 7, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_collection_date", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", + "comment": "", + "oldName": "data_collection_date", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 8, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "repo_name", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "repo_name", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 9, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "event_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "event_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 10, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "gh_repo_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "gh_repo_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 11, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "created_at", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "created_at", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 12, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "cntrb_repo_id_key", + "fields": [ + "cntrb_repo_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "cntrb_repo_id_key" + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_contributor_repo_contributors_1", + "fields": [ + "cntrb_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "contributors", + "referenceFields": [ + "cntrb_id" + ], + "onDelete": "RESTRICT", + "onUpdate": "CASCADE", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "OneAndOnlyOneRelationship", + "oldName": "fk_contributor_repo_contributors_1" + } + ], + "uniques": [ + { + "objectType": "Unique_PGSQL", + "name": "eventer", + "fields": [ + "event_id", + "tool_version" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "eventer" + } + ], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "commits", + "comment": "Starts with augur.analysis_data table and incorporates GHTorrent commit table attributes if different. \nCmt_id is from get\nThe author and committer ID’s are at the bottom of the table and not required for now because we want to focus on the facade schema’s properties over the ghtorrent properties when they are in conflict. ", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "commits", + "oid": 186548, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "cmt_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_data.commits_cmt_id_seq'::regclass)", + "comment": "", + "oldName": "cmt_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "repo_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "repo_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "cmt_commit_hash", + "type": "varchar", + "length": 80, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "cmt_commit_hash", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "cmt_author_name", + "type": "varchar", + "length": 128, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "cmt_author_name", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 4, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "cmt_author_raw_email", + "type": "varchar", + "length": 128, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "cmt_author_raw_email", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 5, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "cmt_author_email", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "cmt_author_email", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 6, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "cmt_author_date", + "type": "varchar", + "length": 10, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "cmt_author_date", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 7, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "cmt_author_affiliation", + "type": "varchar", + "length": 128, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "'NULL'::character varying", + "comment": "", + "oldName": "cmt_author_affiliation", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 8, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "cmt_committer_name", + "type": "varchar", + "length": 128, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "cmt_committer_name", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 9, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "cmt_committer_raw_email", + "type": "varchar", + "length": 128, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "cmt_committer_raw_email", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 10, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "cmt_committer_email", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "cmt_committer_email", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 11, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "cmt_committer_date", + "type": "varchar", + "length": 10, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "cmt_committer_date", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 12, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "cmt_committer_affiliation", + "type": "varchar", + "length": 128, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "'NULL'::character varying", + "comment": "", + "oldName": "cmt_committer_affiliation", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 13, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "cmt_added", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "cmt_added", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 14, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "cmt_removed", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "cmt_removed", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 15, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "cmt_whitespace", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "cmt_whitespace", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 16, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "cmt_filename", + "type": "varchar", + "length": 4096, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "cmt_filename", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 17, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "cmt_date_attempted", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "cmt_date_attempted", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 18, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "cmt_ght_author_id", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "cmt_ght_author_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 19, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "cmt_ght_committer_id", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "cmt_ght_committer_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 20, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "cmt_ght_committed_at", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "cmt_ght_committed_at", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 21, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_source", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 22, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_version", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_version", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 23, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_source", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "data_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 24, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_collection_date", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", + "comment": "", + "oldName": "data_collection_date", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 25, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "cmt_author_timestamp", + "type": "timestamptz", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "cmt_author_timestamp", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 26, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "cmt_committer_timestamp", + "type": "timestamptz", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "cmt_committer_timestamp", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 27, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [ + { + "objectType": "Index_PGSQL", + "name": "author_affiliation", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "Hash", + "tableSpaceName": "", + "constraint": "", + "oldName": "author_affiliation", + "oid": 203520, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "commits", + "size": "32", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "cmt_author_affiliation", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_author_affiliation", + "collationSchema": "pg_catalog" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "author_cntrb_id", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "author_cntrb_id", + "oid": 203523, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "commits", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "cmt_ght_author_id", + "collation": "", + "opClass": "int4_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_ght_author_id", + "collationSchema": "" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "author_email,author_affiliation,author_date", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "author_email,author_affiliation,author_date", + "oid": 203526, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "commits", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "cmt_author_email", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_author_email", + "collationSchema": "pg_catalog" + }, + { + "objectType": "IndexField_PGSQL", + "name": "cmt_author_affiliation", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_author_affiliation", + "collationSchema": "pg_catalog" + }, + { + "objectType": "IndexField_PGSQL", + "name": "cmt_author_date", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_author_date", + "collationSchema": "pg_catalog" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "author_raw_email", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "author_raw_email", + "oid": 203527, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "commits", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "cmt_author_raw_email", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_author_raw_email", + "collationSchema": "pg_catalog" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "cmt-author-date-idx2", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "cmt-author-date-idx2", + "oid": 203543, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "commits", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "cmt_author_date", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_author_date", + "collationSchema": "pg_catalog" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "cmt-committer-date-idx3", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "cmt-committer-date-idx3", + "oid": 203544, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "commits", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "cmt_committer_date", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_committer_date", + "collationSchema": "pg_catalog" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "cmt_author-name-idx5", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "cmt_author-name-idx5", + "oid": 203548, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "commits", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "cmt_committer_name", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_committer_name", + "collationSchema": "pg_catalog" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "cmt_author_contrib_worker", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BRIN", + "tableSpaceName": "", + "constraint": "", + "oldName": "cmt_author_contrib_worker", + "oid": 203554, + "owner": "augur", + "brinPagesPerRange": 64, + "ginPendingListLimit": -1, + "tableName": "commits", + "size": "24", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "cmt_author_name", + "collation": "default", + "opClass": "text_minmax_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_author_name", + "collationSchema": "pg_catalog" + }, + { + "objectType": "IndexField_PGSQL", + "name": "cmt_author_email", + "collation": "default", + "opClass": "text_minmax_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_author_email", + "collationSchema": "pg_catalog" + }, + { + "objectType": "IndexField_PGSQL", + "name": "cmt_author_date", + "collation": "default", + "opClass": "text_minmax_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_author_date", + "collationSchema": "pg_catalog" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "cmt_cmmter-name-idx4", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "cmt_cmmter-name-idx4", + "oid": 203565, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "commits", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "cmt_author_name", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_author_name", + "collationSchema": "pg_catalog" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "cmt_commiter_contrib_worker", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BRIN", + "tableSpaceName": "", + "constraint": "", + "oldName": "cmt_commiter_contrib_worker", + "oid": 203585, + "owner": "augur", + "brinPagesPerRange": 64, + "ginPendingListLimit": -1, + "tableName": "commits", + "size": "24", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "cmt_committer_name", + "collation": "default", + "opClass": "text_minmax_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_committer_name", + "collationSchema": "pg_catalog" + }, + { + "objectType": "IndexField_PGSQL", + "name": "cmt_committer_email", + "collation": "default", + "opClass": "text_minmax_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_committer_email", + "collationSchema": "pg_catalog" + }, + { + "objectType": "IndexField_PGSQL", + "name": "cmt_committer_date", + "collation": "default", + "opClass": "text_minmax_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_committer_date", + "collationSchema": "pg_catalog" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "commited", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "commited", + "oid": 203623, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "commits", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "cmt_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_id", + "collationSchema": "" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "commits_idx_cmt_email_cmt_date_cmt_name", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "commits_idx_cmt_email_cmt_date_cmt_name", + "oid": 203636, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "commits", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "cmt_author_email", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_author_email", + "collationSchema": "pg_catalog" + }, + { + "objectType": "IndexField_PGSQL", + "name": "cmt_author_date", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_author_date", + "collationSchema": "pg_catalog" + }, + { + "objectType": "IndexField_PGSQL", + "name": "cmt_author_name", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_author_name", + "collationSchema": "pg_catalog" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "commits_idx_cmt_email_cmt_date_cmt_name2", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "commits_idx_cmt_email_cmt_date_cmt_name2", + "oid": 203644, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "commits", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "cmt_committer_email", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_committer_email", + "collationSchema": "pg_catalog" + }, + { + "objectType": "IndexField_PGSQL", + "name": "cmt_committer_date", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_committer_date", + "collationSchema": "pg_catalog" + }, + { + "objectType": "IndexField_PGSQL", + "name": "cmt_committer_name", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_committer_name", + "collationSchema": "pg_catalog" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "commits_idx_cmt_name_cmt_date2", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "commits_idx_cmt_name_cmt_date2", + "oid": 203645, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "commits", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "cmt_author_name", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_author_name", + "collationSchema": "pg_catalog" + }, + { + "objectType": "IndexField_PGSQL", + "name": "cmt_author_date", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_author_date", + "collationSchema": "pg_catalog" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "commits_idx_cmt_name_cmt_date_cmt_date3", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "commits_idx_cmt_name_cmt_date_cmt_date3", + "oid": 203654, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "commits", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "cmt_committer_name", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_committer_name", + "collationSchema": "pg_catalog" + }, + { + "objectType": "IndexField_PGSQL", + "name": "cmt_author_date", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_author_date", + "collationSchema": "pg_catalog" + }, + { + "objectType": "IndexField_PGSQL", + "name": "cmt_committer_date", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_committer_date", + "collationSchema": "pg_catalog" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "commits_idx_repo_id_cmt_ema_cmt_dat_cmt_nam", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "commits_idx_repo_id_cmt_ema_cmt_dat_cmt_nam", + "oid": 203655, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "commits", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "repo_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "repo_id", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "cmt_author_email", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_author_email", + "collationSchema": "pg_catalog" + }, + { + "objectType": "IndexField_PGSQL", + "name": "cmt_author_date", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_author_date", + "collationSchema": "pg_catalog" + }, + { + "objectType": "IndexField_PGSQL", + "name": "cmt_author_name", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_author_name", + "collationSchema": "pg_catalog" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "commits_idx_repo_id_cmt_ema_cmt_dat_cmt_nam2", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "commits_idx_repo_id_cmt_ema_cmt_dat_cmt_nam2", + "oid": 203658, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "commits", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "repo_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "repo_id", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "cmt_committer_email", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_committer_email", + "collationSchema": "pg_catalog" + }, + { + "objectType": "IndexField_PGSQL", + "name": "cmt_committer_date", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_committer_date", + "collationSchema": "pg_catalog" + }, + { + "objectType": "IndexField_PGSQL", + "name": "cmt_committer_name", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_committer_name", + "collationSchema": "pg_catalog" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "commits_idx_repo_id_cmt_ema_cmt_nam_cmt_dat2", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "commits_idx_repo_id_cmt_ema_cmt_nam_cmt_dat2", + "oid": 203666, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "commits", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "repo_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "repo_id", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "cmt_author_email", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_author_email", + "collationSchema": "pg_catalog" + }, + { + "objectType": "IndexField_PGSQL", + "name": "cmt_author_name", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_author_name", + "collationSchema": "pg_catalog" + }, + { + "objectType": "IndexField_PGSQL", + "name": "cmt_author_date", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_author_date", + "collationSchema": "pg_catalog" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "commits_idx_repo_id_cmt_ema_cmt_nam_cmt_dat3", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "commits_idx_repo_id_cmt_ema_cmt_nam_cmt_dat3", + "oid": 203673, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "commits", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "repo_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "repo_id", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "cmt_committer_email", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_committer_email", + "collationSchema": "pg_catalog" + }, + { + "objectType": "IndexField_PGSQL", + "name": "cmt_committer_name", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_committer_name", + "collationSchema": "pg_catalog" + }, + { + "objectType": "IndexField_PGSQL", + "name": "cmt_author_date", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_author_date", + "collationSchema": "pg_catalog" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "committer_affiliation", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "committer_affiliation", + "oid": 203676, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "commits", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "cmt_committer_affiliation", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_committer_affiliation", + "collationSchema": "pg_catalog" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "committer_cntrb_id", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "committer_cntrb_id", + "oid": 203679, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "commits", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "cmt_ght_committer_id", + "collation": "", + "opClass": "int4_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_ght_committer_id", + "collationSchema": "" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "committer_email,committer_affiliation,committer_date", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "committer_email,committer_affiliation,committer_date", + "oid": 203680, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "commits", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "cmt_committer_email", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_committer_email", + "collationSchema": "pg_catalog" + }, + { + "objectType": "IndexField_PGSQL", + "name": "cmt_committer_affiliation", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_committer_affiliation", + "collationSchema": "pg_catalog" + }, + { + "objectType": "IndexField_PGSQL", + "name": "cmt_committer_date", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_committer_date", + "collationSchema": "pg_catalog" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "committer_raw_email", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "committer_raw_email", + "oid": 203686, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "commits", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "cmt_committer_raw_email", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_committer_raw_email", + "collationSchema": "pg_catalog" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "repo_id,commit", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "repo_id,commit", + "oid": 203888, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "commits", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "repo_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "repo_id", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "cmt_commit_hash", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_commit_hash", + "collationSchema": "pg_catalog" + } + ] + } + ], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "commits_pkey", + "fields": [ + "cmt_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "commits_pkey" + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_commits_contributors_1", + "fields": [ + "cmt_ght_author_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "contributors", + "referenceFields": [ + "cntrb_id" + ], + "onDelete": "RESTRICT", + "onUpdate": "CASCADE", + "comment": "", + "isMatchFull": false, + "isDeferrable": true, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_commits_contributors_1" + }, + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_commits_contributors_2", + "fields": [ + "cmt_ght_committer_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "contributors", + "referenceFields": [ + "cntrb_id" + ], + "onDelete": "RESTRICT", + "onUpdate": "CASCADE", + "comment": "", + "isMatchFull": false, + "isDeferrable": true, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_commits_contributors_2" + }, + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_commits_repo_1", + "fields": [ + "repo_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "repo", + "referenceFields": [ + "repo_id" + ], + "onDelete": "RESTRICT", + "onUpdate": "CASCADE", + "comment": "", + "isMatchFull": false, + "isDeferrable": true, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "OneAndOnlyOneRelationship", + "oldName": "fk_commits_repo_1" + } + ], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "pull_request_reviewers", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "pull_request_reviewers", + "oid": 191237, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "pr_reviewer_map_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_data.pull_request_reviewers_pr_reviewer_map_id_seq'::regclass)", + "comment": "", + "oldName": "pr_reviewer_map_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pull_request_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pull_request_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "cntrb_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "cntrb_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_reviewer_src_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_reviewer_src_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 8, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_source", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 4, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_version", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_version", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 5, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_source", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "data_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 6, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_collection_date", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", + "comment": "", + "oldName": "data_collection_date", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 7, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [ + { + "objectType": "Index_PGSQL", + "name": "pr-reviewers-cntrb-idx1", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "pr-reviewers-cntrb-idx1", + "oid": 203802, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "pull_request_reviewers", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "cntrb_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cntrb_id", + "collationSchema": "" + } + ] + } + ], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "pull_request_reviewers_pkey", + "fields": [ + "pr_reviewer_map_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "pull_request_reviewers_pkey" + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_pull_request_reviewers_contributors_1", + "fields": [ + "cntrb_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "contributors", + "referenceFields": [ + "cntrb_id" + ], + "onDelete": "RESTRICT", + "onUpdate": "CASCADE", + "comment": "", + "isMatchFull": false, + "isDeferrable": true, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_pull_request_reviewers_contributors_1" + }, + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_pull_request_reviewers_pull_requests_1", + "fields": [ + "pull_request_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "pull_requests", + "referenceFields": [ + "pull_request_id" + ], + "onDelete": "RESTRICT", + "onUpdate": "CASCADE", + "comment": "", + "isMatchFull": false, + "isDeferrable": true, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_pull_request_reviewers_pull_requests_1" + } + ], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + } + ], + "views": [] + }, + { + "objectType": "Schema_PGSQL", + "name": "augur_operations", + "comment": "", + "tables": [ + { + "objectType": "TableNormal_PGSQL", + "name": "all", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "all", + "oid": 194951, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "Name", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "Name", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "Bytes", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "Bytes", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": "", + "identityMaximum": 0, + "hasNoIdentityMaxValue": [], + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "Lines", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "Lines", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "Code", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "Code", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 4, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "Comment", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "Comment", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 5, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "Blank", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "Blank", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 6, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "Complexity", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "Complexity", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 7, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "Count", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "Count", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 8, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "WeightedComplexity", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "WeightedComplexity", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 9, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "Files", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "Files", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 10, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [], + "rules": [], + "foreignKeys": [], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "augur_settings", + "comment": "Augur settings include the schema version, and the Augur API Key as of 10/25/2020. Future augur settings may be stored in this table, which has the basic structure of a name-value pair. ", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "augur_settings", + "oid": 195080, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_operations.augur_settings_id_seq'::regclass)", + "comment": "", + "oldName": "id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "setting", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "setting", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "value", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "value", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "last_modified", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "CURRENT_DATE", + "comment": "", + "oldName": "last_modified", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 4, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "augur_settings_pkey", + "fields": [ + "id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "augur_settings_pkey" + }, + "foreignKeys": [], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "repos_fetch_log", + "comment": "For future use when we move all working tables to the augur_operations schema. ", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "repos_fetch_log", + "oid": 195243, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "repos_id", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "repos_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "status", + "type": "varchar", + "length": 128, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "status", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "date", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", + "comment": "", + "oldName": "date", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [ + { + "objectType": "Index_PGSQL", + "name": "repos_id,statusops", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "repos_id,statusops", + "oid": 203975, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "repos_fetch_log", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "repos_id", + "collation": "", + "opClass": "int4_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "repos_id", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "status", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "status", + "collationSchema": "pg_catalog" + } + ] + } + ], + "rules": [], + "foreignKeys": [], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "worker_history", + "comment": "This table stores the complete history of job execution, including success and failure. It is useful for troubleshooting. ", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "worker_history", + "oid": 195335, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "history_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_operations.gh_worker_history_history_id_seq'::regclass)", + "comment": "", + "oldName": "history_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "repo_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "repo_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "worker", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "worker", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "job_model", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "job_model", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 4, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "oauth_id", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "oauth_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 5, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "timestamp", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "timestamp", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 6, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "status", + "type": "varchar", + "length": 7, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "status", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 7, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "total_results", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "total_results", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 8, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "history_pkey", + "fields": [ + "history_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "history_pkey" + }, + "foreignKeys": [], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "worker_job", + "comment": "This table stores the jobs workers collect data for. A job is found in the code, and in the augur.config.json under the construct of a “model”. ", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "worker_job", + "oid": 195432, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "job_model", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "job_model", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "state", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "0", + "comment": "", + "oldName": "state", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "zombie_head", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "zombie_head", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "since_id_str", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "'0'::character varying", + "comment": "", + "oldName": "since_id_str", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 4, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "description", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "'None'::character varying", + "comment": "", + "oldName": "description", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 5, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "last_count", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "last_count", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 6, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "last_run", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "NULL::timestamp without time zone", + "comment": "", + "oldName": "last_run", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 7, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "analysis_state", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "0", + "comment": "", + "oldName": "analysis_state", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 8, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "oauth_id", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "oauth_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 9, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "job_pkey", + "fields": [ + "job_model" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "job_pkey" + }, + "foreignKeys": [], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "worker_oauth", + "comment": "This table stores credentials for retrieving data from platform API’s. Entries in this table must comply with the terms of service for each platform. ", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "worker_oauth", + "oid": 195620, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "oauth_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_operations.worker_oauth_oauth_id_seq'::regclass)", + "comment": "", + "oldName": "oauth_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "name", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "name", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "consumer_key", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "consumer_key", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "consumer_secret", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "consumer_secret", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 4, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "access_token", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "access_token", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 5, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "access_token_secret", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "access_token_secret", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 6, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "repo_directory", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "repo_directory", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 7, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "platform", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "'github'::character varying", + "comment": "", + "oldName": "platform", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 8, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "worker_oauth_pkey", + "fields": [ + "oauth_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "worker_oauth_pkey" + }, + "foreignKeys": [], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "worker_settings_facade", + "comment": "For future use when we move all working tables to the augur_operations schema. ", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "worker_settings_facade", + "oid": 195709, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "id", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "setting", + "type": "varchar", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "setting", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "value", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "value", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "last_modified", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", + "comment": "", + "oldName": "last_modified", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 4, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "settings_pkey", + "fields": [ + "id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "settings_pkey" + }, + "foreignKeys": [], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "working_commits", + "comment": "For future use when we move all working tables to the augur_operations schema. ", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "working_commits", + "oid": 195817, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "repos_id", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "repos_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "working_commit", + "type": "varchar", + "length": 40, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "'NULL'::character varying", + "comment": "", + "oldName": "working_commit", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [], + "rules": [], + "foreignKeys": [], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + } + ], + "views": [] + }, + { + "objectType": "Schema_PGSQL", + "name": "spdx", + "comment": "", + "tables": [ + { + "objectType": "TableNormal_PGSQL", + "name": "annotation_types", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "annotation_types", + "oid": 195957, + "rows": 2, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "annotation_type_id", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('spdx.annotation_types_annotation_type_id_seq'::regclass)", + "comment": "", + "oldName": "annotation_type_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "name", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "name", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "annotation_types_pkey", + "fields": [ + "annotation_type_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "annotation_types_pkey" + }, + "foreignKeys": [], + "uniques": [ + { + "objectType": "Unique_PGSQL", + "name": "uc_annotation_type_name", + "fields": [ + "name" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "uc_annotation_type_name" + } + ], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "annotations", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "annotations", + "oid": 196093, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "annotation_id", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('spdx.annotations_annotation_id_seq'::regclass)", + "comment": "", + "oldName": "annotation_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "document_id", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "document_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "annotation_type_id", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "annotation_type_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "identifier_id", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "identifier_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 4, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "creator_id", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "creator_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 5, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "created_ts", + "type": "timestamptz", + "length": 6, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "created_ts", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 6, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "comment", + "type": "text", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "comment", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 7, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "annotations_pkey", + "fields": [ + "annotation_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "annotations_pkey" + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "annotations_annotation_type_id_fkey", + "fields": [ + "annotation_type_id" + ], + "referenceSchema": "spdx", + "referenceTable": "annotation_types", + "referenceFields": [ + "annotation_type_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "OneAndOnlyOneRelationship", + "oldName": "annotations_annotation_type_id_fkey" + }, + { + "objectType": "ForeignKey_PGSQL", + "name": "annotations_creator_id_fkey", + "fields": [ + "creator_id" + ], + "referenceSchema": "spdx", + "referenceTable": "creators", + "referenceFields": [ + "creator_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "OneAndOnlyOneRelationship", + "oldName": "annotations_creator_id_fkey" + }, + { + "objectType": "ForeignKey_PGSQL", + "name": "annotations_document_id_fkey", + "fields": [ + "document_id" + ], + "referenceSchema": "spdx", + "referenceTable": "documents", + "referenceFields": [ + "document_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "OneAndOnlyOneRelationship", + "oldName": "annotations_document_id_fkey" + }, + { + "objectType": "ForeignKey_PGSQL", + "name": "annotations_identifier_id_fkey", + "fields": [ + "identifier_id" + ], + "referenceSchema": "spdx", + "referenceTable": "identifiers", + "referenceFields": [ + "identifier_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "OneAndOnlyOneRelationship", + "oldName": "annotations_identifier_id_fkey" + } + ], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "augur_repo_map", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "augur_repo_map", + "oid": 196221, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "map_id", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('spdx.augur_repo_map_map_id_seq'::regclass)", + "comment": "", + "oldName": "map_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "dosocs_pkg_id", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "dosocs_pkg_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "dosocs_pkg_name", + "type": "text", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "dosocs_pkg_name", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "repo_id", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "repo_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 4, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "repo_path", + "type": "text", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "repo_path", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 5, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "augur_repo_map_pkey", + "fields": [ + "map_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "augur_repo_map_pkey" + }, + "foreignKeys": [], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "creator_types", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "creator_types", + "oid": 196379, + "rows": 3, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "creator_type_id", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('spdx.creator_types_creator_type_id_seq'::regclass)", + "comment": "", + "oldName": "creator_type_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "name", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "name", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "creator_types_pkey", + "fields": [ + "creator_type_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "creator_types_pkey" + }, + "foreignKeys": [], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "creators", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "creators", + "oid": 196524, + "rows": 1, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "creator_id", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('spdx.creators_creator_id_seq'::regclass)", + "comment": "", + "oldName": "creator_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "creator_type_id", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "creator_type_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "name", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "name", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "email", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "email", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 4, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "creators_pkey", + "fields": [ + "creator_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "creators_pkey" + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "creators_creator_type_id_fkey", + "fields": [ + "creator_type_id" + ], + "referenceSchema": "spdx", + "referenceTable": "creator_types", + "referenceFields": [ + "creator_type_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "OneAndOnlyOneRelationship", + "oldName": "creators_creator_type_id_fkey" + } + ], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "document_namespaces", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "document_namespaces", + "oid": 196668, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "document_namespace_id", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('spdx.document_namespaces_document_namespace_id_seq'::regclass)", + "comment": "", + "oldName": "document_namespace_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "uri", + "type": "varchar", + "length": 500, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "uri", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "document_namespaces_pkey", + "fields": [ + "document_namespace_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "document_namespaces_pkey" + }, + "foreignKeys": [], + "uniques": [ + { + "objectType": "Unique_PGSQL", + "name": "uc_document_namespace_uri", + "fields": [ + "uri" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "uc_document_namespace_uri" + } + ], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "documents", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "documents", + "oid": 196842, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "document_id", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('spdx.documents_document_id_seq'::regclass)", + "comment": "", + "oldName": "document_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "document_namespace_id", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "document_namespace_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_license_id", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "data_license_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "spdx_version", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "spdx_version", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 4, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "name", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "name", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 5, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "license_list_version", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "license_list_version", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 6, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "created_ts", + "type": "timestamptz", + "length": 6, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "created_ts", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 7, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "creator_comment", + "type": "text", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "creator_comment", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 8, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "document_comment", + "type": "text", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "document_comment", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 9, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "package_id", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "package_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 10, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "documents_pkey", + "fields": [ + "document_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "documents_pkey" + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "documents_data_license_id_fkey", + "fields": [ + "data_license_id" + ], + "referenceSchema": "spdx", + "referenceTable": "licenses", + "referenceFields": [ + "license_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "OneAndOnlyOneRelationship", + "oldName": "documents_data_license_id_fkey" + }, + { + "objectType": "ForeignKey_PGSQL", + "name": "documents_document_namespace_id_fkey", + "fields": [ + "document_namespace_id" + ], + "referenceSchema": "spdx", + "referenceTable": "document_namespaces", + "referenceFields": [ + "document_namespace_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrOneRelationship", + "targetCardinality": "OneAndOnlyOneRelationship", + "oldName": "documents_document_namespace_id_fkey" + }, + { + "objectType": "ForeignKey_PGSQL", + "name": "documents_package_id_fkey", + "fields": [ + "package_id" + ], + "referenceSchema": "spdx", + "referenceTable": "packages", + "referenceFields": [ + "package_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "OneAndOnlyOneRelationship", + "oldName": "documents_package_id_fkey" + } + ], + "uniques": [ + { + "objectType": "Unique_PGSQL", + "name": "uc_document_document_namespace_id", + "fields": [ + "document_namespace_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "uc_document_document_namespace_id" + } + ], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "documents_creators", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "documents_creators", + "oid": 197043, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "document_creator_id", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('spdx.documents_creators_document_creator_id_seq'::regclass)", + "comment": "", + "oldName": "document_creator_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "document_id", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "document_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "creator_id", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "creator_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "documents_creators_pkey", + "fields": [ + "document_creator_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "documents_creators_pkey" + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "documents_creators_creator_id_fkey", + "fields": [ + "creator_id" + ], + "referenceSchema": "spdx", + "referenceTable": "creators", + "referenceFields": [ + "creator_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "OneAndOnlyOneRelationship", + "oldName": "documents_creators_creator_id_fkey" + }, + { + "objectType": "ForeignKey_PGSQL", + "name": "documents_creators_document_id_fkey", + "fields": [ + "document_id" + ], + "referenceSchema": "spdx", + "referenceTable": "documents", + "referenceFields": [ + "document_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "OneAndOnlyOneRelationship", + "oldName": "documents_creators_document_id_fkey" + } + ], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "external_refs", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "external_refs", + "oid": 197079, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "external_ref_id", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('spdx.external_refs_external_ref_id_seq'::regclass)", + "comment": "", + "oldName": "external_ref_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "document_id", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "document_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "document_namespace_id", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "document_namespace_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "id_string", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "id_string", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 4, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "sha256", + "type": "varchar", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "sha256", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 5, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "external_refs_pkey", + "fields": [ + "external_ref_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "external_refs_pkey" + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "external_refs_document_id_fkey", + "fields": [ + "document_id" + ], + "referenceSchema": "spdx", + "referenceTable": "documents", + "referenceFields": [ + "document_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "OneAndOnlyOneRelationship", + "oldName": "external_refs_document_id_fkey" + }, + { + "objectType": "ForeignKey_PGSQL", + "name": "external_refs_document_namespace_id_fkey", + "fields": [ + "document_namespace_id" + ], + "referenceSchema": "spdx", + "referenceTable": "document_namespaces", + "referenceFields": [ + "document_namespace_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "OneAndOnlyOneRelationship", + "oldName": "external_refs_document_namespace_id_fkey" + } + ], + "uniques": [ + { + "objectType": "Unique_PGSQL", + "name": "uc_external_ref_document_id_string", + "fields": [ + "document_id", + "id_string" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "uc_external_ref_document_id_string" + } + ], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "file_contributors", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "file_contributors", + "oid": 197101, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "file_contributor_id", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('spdx.file_contributors_file_contributor_id_seq'::regclass)", + "comment": "", + "oldName": "file_contributor_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "file_id", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "file_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "contributor", + "type": "text", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "contributor", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "file_contributors_pkey", + "fields": [ + "file_contributor_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "file_contributors_pkey" + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "file_contributors_file_id_fkey", + "fields": [ + "file_id" + ], + "referenceSchema": "spdx", + "referenceTable": "files", + "referenceFields": [ + "file_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "OneAndOnlyOneRelationship", + "oldName": "file_contributors_file_id_fkey" + } + ], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "file_types", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "file_types", + "oid": 197108, + "rows": 11, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "file_type_id", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "file_type_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "name", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "name", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "uc_file_type_name", + "fields": [ + "name" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "uc_file_type_name" + }, + "foreignKeys": [], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "files", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "files", + "oid": 197113, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "file_id", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('spdx.files_file_id_seq'::regclass)", + "comment": "", + "oldName": "file_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "file_type_id", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "file_type_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "sha256", + "type": "varchar", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "sha256", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "copyright_text", + "type": "text", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "copyright_text", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 4, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "package_id", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "package_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 5, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "comment", + "type": "text", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "comment", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 6, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "notice", + "type": "text", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "notice", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 7, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "files_pkey", + "fields": [ + "file_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "files_pkey" + }, + "foreignKeys": [], + "uniques": [ + { + "objectType": "Unique_PGSQL", + "name": "uc_file_sha256", + "fields": [ + "sha256" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "uc_file_sha256" + } + ], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "files_licenses", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "files_licenses", + "oid": 197131, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "file_license_id", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('spdx.files_licenses_file_license_id_seq'::regclass)", + "comment": "", + "oldName": "file_license_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "file_id", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "file_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "license_id", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "license_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "extracted_text", + "type": "text", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "extracted_text", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 4, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "files_licenses_pkey", + "fields": [ + "file_license_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "files_licenses_pkey" + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "files_licenses_file_id_fkey", + "fields": [ + "file_id" + ], + "referenceSchema": "spdx", + "referenceTable": "files", + "referenceFields": [ + "file_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "OneAndOnlyOneRelationship", + "oldName": "files_licenses_file_id_fkey" + }, + { + "objectType": "ForeignKey_PGSQL", + "name": "files_licenses_license_id_fkey", + "fields": [ + "license_id" + ], + "referenceSchema": "spdx", + "referenceTable": "licenses", + "referenceFields": [ + "license_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "OneAndOnlyOneRelationship", + "oldName": "files_licenses_license_id_fkey" + } + ], + "uniques": [ + { + "objectType": "Unique_PGSQL", + "name": "uc_file_license", + "fields": [ + "file_id", + "license_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "uc_file_license" + } + ], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "files_scans", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "files_scans", + "oid": 197140, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "file_scan_id", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('spdx.files_scans_file_scan_id_seq'::regclass)", + "comment": "", + "oldName": "file_scan_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "file_id", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "file_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "scanner_id", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "scanner_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "files_scans_pkey", + "fields": [ + "file_scan_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "files_scans_pkey" + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "files_scans_file_id_fkey", + "fields": [ + "file_id" + ], + "referenceSchema": "spdx", + "referenceTable": "files", + "referenceFields": [ + "file_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "OneAndOnlyOneRelationship", + "oldName": "files_scans_file_id_fkey" + }, + { + "objectType": "ForeignKey_PGSQL", + "name": "files_scans_scanner_id_fkey", + "fields": [ + "scanner_id" + ], + "referenceSchema": "spdx", + "referenceTable": "scanners", + "referenceFields": [ + "scanner_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "OneAndOnlyOneRelationship", + "oldName": "files_scans_scanner_id_fkey" + } + ], + "uniques": [ + { + "objectType": "Unique_PGSQL", + "name": "uc_file_scanner_id", + "fields": [ + "file_id", + "scanner_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "uc_file_scanner_id" + } + ], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "identifiers", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "identifiers", + "oid": 197156, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "identifier_id", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('spdx.identifiers_identifier_id_seq'::regclass)", + "comment": "", + "oldName": "identifier_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "document_namespace_id", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "document_namespace_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "id_string", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "id_string", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "document_id", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "document_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 4, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "package_id", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "package_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 5, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "package_file_id", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "package_file_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 6, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "identifiers_pkey", + "fields": [ + "identifier_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "identifiers_pkey" + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "identifiers_document_id_fkey", + "fields": [ + "document_id" + ], + "referenceSchema": "spdx", + "referenceTable": "documents", + "referenceFields": [ + "document_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "identifiers_document_id_fkey" + }, + { + "objectType": "ForeignKey_PGSQL", + "name": "identifiers_document_namespace_id_fkey", + "fields": [ + "document_namespace_id" + ], + "referenceSchema": "spdx", + "referenceTable": "document_namespaces", + "referenceFields": [ + "document_namespace_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "OneAndOnlyOneRelationship", + "oldName": "identifiers_document_namespace_id_fkey" + }, + { + "objectType": "ForeignKey_PGSQL", + "name": "identifiers_package_file_id_fkey", + "fields": [ + "package_file_id" + ], + "referenceSchema": "spdx", + "referenceTable": "packages_files", + "referenceFields": [ + "package_file_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "identifiers_package_file_id_fkey" + }, + { + "objectType": "ForeignKey_PGSQL", + "name": "identifiers_package_id_fkey", + "fields": [ + "package_id" + ], + "referenceSchema": "spdx", + "referenceTable": "packages", + "referenceFields": [ + "package_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "identifiers_package_id_fkey" + } + ], + "uniques": [ + { + "objectType": "Unique_PGSQL", + "name": "uc_identifier_document_namespace_id", + "fields": [ + "document_namespace_id", + "id_string" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "uc_identifier_document_namespace_id" + }, + { + "objectType": "Unique_PGSQL", + "name": "uc_identifier_namespace_document_id", + "fields": [ + "document_namespace_id", + "document_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "uc_identifier_namespace_document_id" + }, + { + "objectType": "Unique_PGSQL", + "name": "uc_identifier_namespace_package_file_id", + "fields": [ + "document_namespace_id", + "package_file_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "uc_identifier_namespace_package_file_id" + }, + { + "objectType": "Unique_PGSQL", + "name": "uc_identifier_namespace_package_id", + "fields": [ + "document_namespace_id", + "package_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "uc_identifier_namespace_package_id" + } + ], + "checks": [ + { + "objectType": "Check_PGSQL", + "name": "ck_identifier_exactly_one", + "expression": "((document_id IS NOT NULL)::integer + (package_id IS NOT NULL)::integer + (package_file_id IS NOT NULL)::integer) = 1", + "comment": "", + "isNoInherit": false, + "oldName": "ck_identifier_exactly_one" + } + ], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "licenses", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "licenses", + "oid": 197165, + "rows": 322, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "license_id", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('spdx.licenses_license_id_seq'::regclass)", + "comment": "", + "oldName": "license_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "name", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "name", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "short_name", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "short_name", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "cross_reference", + "type": "text", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "cross_reference", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 4, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "comment", + "type": "text", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "comment", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 5, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "is_spdx_official", + "type": "bool", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "is_spdx_official", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 6, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "licenses_pkey", + "fields": [ + "license_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "licenses_pkey" + }, + "foreignKeys": [], + "uniques": [ + { + "objectType": "Unique_PGSQL", + "name": "uc_license_short_name", + "fields": [ + "short_name" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "uc_license_short_name" + } + ], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "packages", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "packages", + "oid": 197174, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "package_id", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('spdx.packages_package_id_seq'::regclass)", + "comment": "", + "oldName": "package_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "name", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "name", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "version", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "version", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "file_name", + "type": "text", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "file_name", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 4, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "supplier_id", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "supplier_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 5, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "originator_id", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "originator_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 6, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "download_location", + "type": "text", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "download_location", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 7, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "verification_code", + "type": "varchar", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "verification_code", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 8, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "ver_code_excluded_file_id", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "ver_code_excluded_file_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 9, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "sha256", + "type": "varchar", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "sha256", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 10, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "home_page", + "type": "text", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "home_page", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 11, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "source_info", + "type": "text", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "source_info", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 12, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "concluded_license_id", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "concluded_license_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 13, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "declared_license_id", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "declared_license_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 14, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "license_comment", + "type": "text", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "license_comment", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 15, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "copyright_text", + "type": "text", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "copyright_text", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 16, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "summary", + "type": "text", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "summary", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 17, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "description", + "type": "text", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "description", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 18, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "comment", + "type": "text", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "comment", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 19, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "dosocs2_dir_code", + "type": "varchar", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "dosocs2_dir_code", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 20, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "packages_pkey", + "fields": [ + "package_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "packages_pkey" + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_package_packages_files", + "fields": [ + "ver_code_excluded_file_id" + ], + "referenceSchema": "spdx", + "referenceTable": "packages_files", + "referenceFields": [ + "package_file_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_package_packages_files" + }, + { + "objectType": "ForeignKey_PGSQL", + "name": "packages_concluded_license_id_fkey", + "fields": [ + "concluded_license_id" + ], + "referenceSchema": "spdx", + "referenceTable": "licenses", + "referenceFields": [ + "license_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "packages_concluded_license_id_fkey" + }, + { + "objectType": "ForeignKey_PGSQL", + "name": "packages_declared_license_id_fkey", + "fields": [ + "declared_license_id" + ], + "referenceSchema": "spdx", + "referenceTable": "licenses", + "referenceFields": [ + "license_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "packages_declared_license_id_fkey" + }, + { + "objectType": "ForeignKey_PGSQL", + "name": "packages_originator_id_fkey", + "fields": [ + "originator_id" + ], + "referenceSchema": "spdx", + "referenceTable": "creators", + "referenceFields": [ + "creator_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "packages_originator_id_fkey" + }, + { + "objectType": "ForeignKey_PGSQL", + "name": "packages_supplier_id_fkey", + "fields": [ + "supplier_id" + ], + "referenceSchema": "spdx", + "referenceTable": "creators", + "referenceFields": [ + "creator_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "packages_supplier_id_fkey" + } + ], + "uniques": [ + { + "objectType": "Unique_PGSQL", + "name": "uc_dir_code_ver_code", + "fields": [ + "verification_code", + "dosocs2_dir_code" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "uc_dir_code_ver_code" + }, + { + "objectType": "Unique_PGSQL", + "name": "uc_package_sha256", + "fields": [ + "sha256" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "uc_package_sha256" + } + ], + "checks": [ + { + "objectType": "Check_PGSQL", + "name": "uc_sha256_ds2_dir_code_exactly_one", + "expression": "((sha256 IS NOT NULL)::integer + (dosocs2_dir_code IS NOT NULL)::integer) = 1", + "comment": "", + "isNoInherit": false, + "oldName": "uc_sha256_ds2_dir_code_exactly_one" + } + ], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "packages_files", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "packages_files", + "oid": 197193, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "package_file_id", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('spdx.packages_files_package_file_id_seq'::regclass)", + "comment": "", + "oldName": "package_file_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "package_id", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "package_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "file_id", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "file_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "concluded_license_id", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "concluded_license_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 4, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "license_comment", + "type": "text", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "license_comment", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 5, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "file_name", + "type": "text", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "file_name", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 6, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "packages_files_pkey", + "fields": [ + "package_file_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "packages_files_pkey" + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_package_files_packages", + "fields": [ + "package_id" + ], + "referenceSchema": "spdx", + "referenceTable": "packages", + "referenceFields": [ + "package_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "OneAndOnlyOneRelationship", + "oldName": "fk_package_files_packages" + }, + { + "objectType": "ForeignKey_PGSQL", + "name": "packages_files_concluded_license_id_fkey", + "fields": [ + "concluded_license_id" + ], + "referenceSchema": "spdx", + "referenceTable": "licenses", + "referenceFields": [ + "license_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "packages_files_concluded_license_id_fkey" + }, + { + "objectType": "ForeignKey_PGSQL", + "name": "packages_files_file_id_fkey", + "fields": [ + "file_id" + ], + "referenceSchema": "spdx", + "referenceTable": "files", + "referenceFields": [ + "file_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "OneAndOnlyOneRelationship", + "oldName": "packages_files_file_id_fkey" + } + ], + "uniques": [ + { + "objectType": "Unique_PGSQL", + "name": "uc_package_id_file_name", + "fields": [ + "package_id", + "file_name" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "uc_package_id_file_name" + } + ], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "packages_scans", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "packages_scans", + "oid": 197207, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "package_scan_id", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('spdx.packages_scans_package_scan_id_seq'::regclass)", + "comment": "", + "oldName": "package_scan_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "package_id", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "package_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "scanner_id", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "scanner_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "packages_scans_pkey", + "fields": [ + "package_scan_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "packages_scans_pkey" + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "packages_scans_package_id_fkey", + "fields": [ + "package_id" + ], + "referenceSchema": "spdx", + "referenceTable": "packages", + "referenceFields": [ + "package_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "OneAndOnlyOneRelationship", + "oldName": "packages_scans_package_id_fkey" + }, + { + "objectType": "ForeignKey_PGSQL", + "name": "packages_scans_scanner_id_fkey", + "fields": [ + "scanner_id" + ], + "referenceSchema": "spdx", + "referenceTable": "scanners", + "referenceFields": [ + "scanner_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "OneAndOnlyOneRelationship", + "oldName": "packages_scans_scanner_id_fkey" + } + ], + "uniques": [ + { + "objectType": "Unique_PGSQL", + "name": "uc_package_scanner_id", + "fields": [ + "package_id", + "scanner_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "uc_package_scanner_id" + } + ], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "projects", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "projects", + "oid": 197256, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "package_id", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('spdx.projects_package_id_seq'::regclass)", + "comment": "", + "oldName": "package_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "name", + "type": "text", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "name", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "homepage", + "type": "text", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "homepage", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "uri", + "type": "text", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "uri", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 4, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "projects_pkey", + "fields": [ + "package_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "projects_pkey" + }, + "foreignKeys": [], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "relationship_types", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "relationship_types", + "oid": 197287, + "rows": 30, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "relationship_type_id", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('spdx.relationship_types_relationship_type_id_seq'::regclass)", + "comment": "", + "oldName": "relationship_type_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "name", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "name", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "relationship_types_pkey", + "fields": [ + "relationship_type_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "relationship_types_pkey" + }, + "foreignKeys": [], + "uniques": [ + { + "objectType": "Unique_PGSQL", + "name": "uc_relationship_type_name", + "fields": [ + "name" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "uc_relationship_type_name" + } + ], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "relationships", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "relationships", + "oid": 197312, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "relationship_id", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('spdx.relationships_relationship_id_seq'::regclass)", + "comment": "", + "oldName": "relationship_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "left_identifier_id", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "left_identifier_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "right_identifier_id", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "right_identifier_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "relationship_type_id", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "relationship_type_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 4, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "relationship_comment", + "type": "text", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "relationship_comment", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 5, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "relationships_pkey", + "fields": [ + "relationship_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "relationships_pkey" + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "relationships_left_identifier_id_fkey", + "fields": [ + "left_identifier_id" + ], + "referenceSchema": "spdx", + "referenceTable": "identifiers", + "referenceFields": [ + "identifier_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "OneAndOnlyOneRelationship", + "oldName": "relationships_left_identifier_id_fkey" + }, + { + "objectType": "ForeignKey_PGSQL", + "name": "relationships_relationship_type_id_fkey", + "fields": [ + "relationship_type_id" + ], + "referenceSchema": "spdx", + "referenceTable": "relationship_types", + "referenceFields": [ + "relationship_type_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "OneAndOnlyOneRelationship", + "oldName": "relationships_relationship_type_id_fkey" + }, + { + "objectType": "ForeignKey_PGSQL", + "name": "relationships_right_identifier_id_fkey", + "fields": [ + "right_identifier_id" + ], + "referenceSchema": "spdx", + "referenceTable": "identifiers", + "referenceFields": [ + "identifier_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "OneAndOnlyOneRelationship", + "oldName": "relationships_right_identifier_id_fkey" + } + ], + "uniques": [ + { + "objectType": "Unique_PGSQL", + "name": "uc_left_right_relationship_type", + "fields": [ + "left_identifier_id", + "right_identifier_id", + "relationship_type_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "uc_left_right_relationship_type" + } + ], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "sbom_scans", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "sbom_scans", + "oid": 197324, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "repo_id", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "repo_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "sbom_scan", + "type": "json", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "sbom_scan", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [], + "rules": [], + "foreignKeys": [], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "scanners", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "scanners", + "oid": 197349, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "scanner_id", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('spdx.scanners_scanner_id_seq'::regclass)", + "comment": "", + "oldName": "scanner_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "name", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "name", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "scanners_pkey", + "fields": [ + "scanner_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "scanners_pkey" + }, + "foreignKeys": [], + "uniques": [ + { + "objectType": "Unique_PGSQL", + "name": "uc_scanner_name", + "fields": [ + "name" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "uc_scanner_name" + } + ], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + } + ], + "views": [] + } + ] + } + ] + }, + "diagrams": [ + { + "name": "Diagram 1", + "paperWidth": 8, + "paperHeight": 5, + "tableFont": "Arial Unicode MS", + "tableFontSize": 14, + "isBalckWhite": false, + "showDBSchemaName": true, + "showViewRelations": true, + "notation": "default", + "showFieldComment": false, + "showTableComment": false, + "shapes": [ + { + "type": "table", + "schemaName": "augur_data", + "tableName": "analysis_log", + "x": 250, + "y": 7680, + "width": 204, + "height": 114, + "isBold": false, + "titleColor": { + "r": 55, + "g": 131, + "b": 192, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "augur_data", + "tableName": "chaoss_metric_status", + "x": 2740, + "y": 6130, + "width": 256, + "height": 408, + "isBold": false, + "titleColor": { + "r": 55, + "g": 131, + "b": 192, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "augur_data", + "tableName": "commit_comment_ref", + "x": 7380, + "y": 1440, + "width": 255, + "height": 345, + "isBold": false, + "titleColor": { + "r": 55, + "g": 131, + "b": 192, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "augur_data", + "tableName": "commit_parents", + "x": 8010, + "y": 1390, + "width": 230, + "height": 177, + "isBold": false, + "titleColor": { + "r": 55, + "g": 131, + "b": 192, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "augur_data", + "tableName": "commits", + "x": 7690, + "y": 1170, + "width": 270, + "height": 618, + "isBold": false, + "titleColor": { + "r": 55, + "g": 131, + "b": 192, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "augur_data", + "tableName": "contributor_affiliations", + "x": 4930, + "y": 6130, + "width": 236, + "height": 261, + "isBold": false, + "titleColor": { + "r": 55, + "g": 131, + "b": 192, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "augur_data", + "tableName": "contributor_repo", + "x": 8270, + "y": 4620, + "width": 230, + "height": 303, + "isBold": false, + "titleColor": { + "r": 55, + "g": 131, + "b": 192, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "augur_data", + "tableName": "contributors", + "x": 8100, + "y": 3640, + "width": 251, + "height": 870, + "isBold": false, + "titleColor": { + "r": 55, + "g": 131, + "b": 192, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "augur_data", + "tableName": "contributors_aliases", + "x": 8400, + "y": 3950, + "width": 230, + "height": 261, + "isBold": false, + "titleColor": { + "r": 55, + "g": 131, + "b": 192, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "augur_data", + "tableName": "contributors_history", + "x": 8290, + "y": 790, + "width": 251, + "height": 996, + "isBold": false, + "titleColor": { + "r": 55, + "g": 131, + "b": 192, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "augur_data", + "tableName": "discourse_insights", + "x": 530, + "y": 4930, + "width": 239, + "height": 198, + "isBold": false, + "titleColor": { + "r": 55, + "g": 131, + "b": 192, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "augur_data", + "tableName": "dm_repo_annual", + "x": 4310, + "y": 6130, + "width": 230, + "height": 324, + "isBold": false, + "titleColor": { + "r": 55, + "g": 131, + "b": 192, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "augur_data", + "tableName": "dm_repo_group_annual", + "x": 4610, + "y": 6130, + "width": 247, + "height": 324, + "isBold": false, + "titleColor": { + "r": 55, + "g": 131, + "b": 192, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "augur_data", + "tableName": "dm_repo_group_monthly", + "x": 3070, + "y": 6130, + "width": 254, + "height": 345, + "isBold": false, + "titleColor": { + "r": 55, + "g": 131, + "b": 192, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "augur_data", + "tableName": "dm_repo_group_weekly", + "x": 3390, + "y": 6130, + "width": 248, + "height": 345, + "isBold": false, + "titleColor": { + "r": 55, + "g": 131, + "b": 192, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "augur_data", + "tableName": "dm_repo_monthly", + "x": 3710, + "y": 6130, + "width": 230, + "height": 345, + "isBold": false, + "titleColor": { + "r": 55, + "g": 131, + "b": 192, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "augur_data", + "tableName": "dm_repo_weekly", + "x": 4010, + "y": 6130, + "width": 230, + "height": 345, + "isBold": false, + "titleColor": { + "r": 55, + "g": 131, + "b": 192, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "augur_data", + "tableName": "exclude", + "x": 7220, + "y": 6130, + "width": 159, + "height": 135, + "isBold": false, + "titleColor": { + "r": 55, + "g": 131, + "b": 192, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "augur_data", + "tableName": "issue_assignees", + "x": 7990, + "y": 4690, + "width": 230, + "height": 240, + "isBold": false, + "titleColor": { + "r": 55, + "g": 131, + "b": 192, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "augur_data", + "tableName": "issue_events", + "x": 7620, + "y": 5200, + "width": 230, + "height": 324, + "isBold": false, + "titleColor": { + "r": 55, + "g": 131, + "b": 192, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "augur_data", + "tableName": "issue_labels", + "x": 8180, + "y": 5220, + "width": 230, + "height": 282, + "isBold": false, + "titleColor": { + "r": 55, + "g": 131, + "b": 192, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "augur_data", + "tableName": "issue_message_ref", + "x": 7890, + "y": 5730, + "width": 240, + "height": 240, + "isBold": false, + "titleColor": { + "r": 55, + "g": 131, + "b": 192, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "augur_data", + "tableName": "issues", + "x": 7900, + "y": 5040, + "width": 230, + "height": 639, + "isBold": false, + "titleColor": { + "r": 55, + "g": 131, + "b": 192, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "augur_data", + "tableName": "libraries", + "x": 1380, + "y": 630, + "width": 255, + "height": 492, + "isBold": false, + "titleColor": { + "r": 55, + "g": 131, + "b": 192, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "augur_data", + "tableName": "library_dependencies", + "x": 1090, + "y": 740, + "width": 233, + "height": 261, + "isBold": false, + "titleColor": { + "r": 55, + "g": 131, + "b": 192, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "augur_data", + "tableName": "library_version", + "x": 1390, + "y": 340, + "width": 235, + "height": 240, + "isBold": false, + "titleColor": { + "r": 55, + "g": 131, + "b": 192, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "augur_data", + "tableName": "lstm_anomaly_models", + "x": 1740, + "y": 770, + "width": 238, + "height": 282, + "isBold": false, + "titleColor": { + "r": 55, + "g": 131, + "b": 192, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "augur_data", + "tableName": "lstm_anomaly_results", + "x": 2030, + "y": 730, + "width": 255, + "height": 366, + "isBold": false, + "titleColor": { + "r": 55, + "g": 131, + "b": 192, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "augur_data", + "tableName": "message", + "x": 370, + "y": 5490, + "width": 230, + "height": 303, + "isBold": false, + "titleColor": { + "r": 55, + "g": 131, + "b": 192, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "augur_data", + "tableName": "message_analysis", + "x": 290, + "y": 4600, + "width": 230, + "height": 282, + "isBold": false, + "titleColor": { + "r": 55, + "g": 131, + "b": 192, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "augur_data", + "tableName": "message_analysis_summary", + "x": 7430, + "y": 370, + "width": 279, + "height": 282, + "isBold": false, + "titleColor": { + "r": 55, + "g": 131, + "b": 192, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "augur_data", + "tableName": "message_sentiment", + "x": 30, + "y": 5500, + "width": 230, + "height": 282, + "isBold": false, + "titleColor": { + "r": 55, + "g": 131, + "b": 192, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "augur_data", + "tableName": "message_sentiment_summary", + "x": 7160, + "y": 30, + "width": 290, + "height": 282, + "isBold": false, + "titleColor": { + "r": 55, + "g": 131, + "b": 192, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "augur_data", + "tableName": "platform", + "x": 370, + "y": 5840, + "width": 230, + "height": 219, + "isBold": false, + "titleColor": { + "r": 55, + "g": 131, + "b": 192, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "augur_data", + "tableName": "pull_request_analysis", + "x": 6970, + "y": 1800, + "width": 243, + "height": 219, + "isBold": false, + "titleColor": { + "r": 55, + "g": 131, + "b": 192, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "augur_data", + "tableName": "pull_request_assignees", + "x": 7440, + "y": 2820, + "width": 246, + "height": 219, + "isBold": false, + "titleColor": { + "r": 55, + "g": 131, + "b": 192, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "augur_data", + "tableName": "pull_request_commits", + "x": 7290, + "y": 3210, + "width": 235, + "height": 324, + "isBold": false, + "titleColor": { + "r": 55, + "g": 131, + "b": 192, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "augur_data", + "tableName": "pull_request_events", + "x": 7740, + "y": 2650, + "width": 230, + "height": 324, + "isBold": false, + "titleColor": { + "r": 55, + "g": 131, + "b": 192, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "augur_data", + "tableName": "pull_request_files", + "x": 6680, + "y": 1780, + "width": 230, + "height": 240, + "isBold": false, + "titleColor": { + "r": 55, + "g": 131, + "b": 192, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "augur_data", + "tableName": "pull_request_labels", + "x": 6400, + "y": 1950, + "width": 230, + "height": 303, + "isBold": false, + "titleColor": { + "r": 55, + "g": 131, + "b": 192, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "augur_data", + "tableName": "pull_request_message_ref", + "x": 1300, + "y": 2880, + "width": 263, + "height": 240, + "isBold": false, + "titleColor": { + "r": 55, + "g": 131, + "b": 192, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "augur_data", + "tableName": "pull_request_meta", + "x": 7740, + "y": 1990, + "width": 230, + "height": 282, + "isBold": false, + "titleColor": { + "r": 55, + "g": 131, + "b": 192, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "augur_data", + "tableName": "pull_request_repo", + "x": 8020, + "y": 1890, + "width": 230, + "height": 324, + "isBold": false, + "titleColor": { + "r": 55, + "g": 131, + "b": 192, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "augur_data", + "tableName": "pull_request_review_message_ref", + "x": 6300, + "y": 4480, + "width": 311, + "height": 618, + "isBold": false, + "titleColor": { + "r": 55, + "g": 131, + "b": 192, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "augur_data", + "tableName": "pull_request_reviewers", + "x": 7830, + "y": 2373, + "width": 243, + "height": 219, + "isBold": false, + "titleColor": { + "r": 55, + "g": 131, + "b": 192, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "augur_data", + "tableName": "pull_request_reviews", + "x": 6660, + "y": 4170, + "width": 249, + "height": 387, + "isBold": false, + "titleColor": { + "r": 55, + "g": 131, + "b": 192, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "augur_data", + "tableName": "pull_request_teams", + "x": 6410, + "y": 2460, + "width": 244, + "height": 408, + "isBold": false, + "titleColor": { + "r": 55, + "g": 131, + "b": 192, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "augur_data", + "tableName": "pull_requests", + "x": 6760, + "y": 2070, + "width": 245, + "height": 891, + "isBold": false, + "titleColor": { + "r": 55, + "g": 131, + "b": 192, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "augur_data", + "tableName": "releases", + "x": 6880, + "y": 280, + "width": 234, + "height": 408, + "isBold": false, + "titleColor": { + "r": 55, + "g": 131, + "b": 192, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "augur_data", + "tableName": "repo", + "x": 7230, + "y": 700, + "width": 289, + "height": 492, + "isBold": false, + "titleColor": { + "r": 55, + "g": 131, + "b": 192, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "augur_data", + "tableName": "repo_badging", + "x": 6540, + "y": 500, + "width": 230, + "height": 219, + "isBold": false, + "titleColor": { + "r": 55, + "g": 131, + "b": 192, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "augur_data", + "tableName": "repo_cluster_messages", + "x": 6180, + "y": 530, + "width": 248, + "height": 219, + "isBold": false, + "titleColor": { + "r": 55, + "g": 131, + "b": 192, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "augur_data", + "tableName": "repo_dependencies", + "x": 5830, + "y": 530, + "width": 230, + "height": 240, + "isBold": false, + "titleColor": { + "r": 55, + "g": 131, + "b": 192, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "augur_data", + "tableName": "repo_deps_scorecard", + "x": 5490, + "y": 560, + "width": 234, + "height": 240, + "isBold": false, + "titleColor": { + "r": 55, + "g": 131, + "b": 192, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "augur_data", + "tableName": "repo_group_insights", + "x": 810, + "y": 860, + "width": 230, + "height": 261, + "isBold": false, + "titleColor": { + "r": 55, + "g": 131, + "b": 192, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "augur_data", + "tableName": "repo_groups", + "x": 890, + "y": 5170, + "width": 230, + "height": 282, + "isBold": false, + "titleColor": { + "r": 55, + "g": 131, + "b": 192, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "augur_data", + "tableName": "repo_groups_list_serve", + "x": 600, + "y": 5180, + "width": 244, + "height": 261, + "isBold": false, + "titleColor": { + "r": 55, + "g": 131, + "b": 192, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "augur_data", + "tableName": "repo_info", + "x": 5130, + "y": 40, + "width": 251, + "height": 786, + "isBold": false, + "titleColor": { + "r": 55, + "g": 131, + "b": 192, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "augur_data", + "tableName": "repo_insights", + "x": 4790, + "y": 530, + "width": 230, + "height": 324, + "isBold": false, + "titleColor": { + "r": 55, + "g": 131, + "b": 192, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "augur_data", + "tableName": "repo_insights_records", + "x": 4440, + "y": 570, + "width": 237, + "height": 303, + "isBold": false, + "titleColor": { + "r": 55, + "g": 131, + "b": 192, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "augur_data", + "tableName": "repo_labor", + "x": 4090, + "y": 500, + "width": 245, + "height": 408, + "isBold": false, + "titleColor": { + "r": 55, + "g": 131, + "b": 192, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "augur_data", + "tableName": "repo_meta", + "x": 3750, + "y": 710, + "width": 230, + "height": 219, + "isBold": false, + "titleColor": { + "r": 55, + "g": 131, + "b": 192, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "augur_data", + "tableName": "repo_sbom_scans", + "x": 3420, + "y": 840, + "width": 213, + "height": 114, + "isBold": false, + "titleColor": { + "r": 55, + "g": 131, + "b": 192, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "augur_data", + "tableName": "repo_stats", + "x": 3080, + "y": 790, + "width": 230, + "height": 219, + "isBold": false, + "titleColor": { + "r": 55, + "g": 131, + "b": 192, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "augur_data", + "tableName": "repo_test_coverage", + "x": 2740, + "y": 670, + "width": 230, + "height": 366, + "isBold": false, + "titleColor": { + "r": 55, + "g": 131, + "b": 192, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "augur_data", + "tableName": "repo_topic", + "x": 2400, + "y": 850, + "width": 230, + "height": 219, + "isBold": false, + "titleColor": { + "r": 55, + "g": 131, + "b": 192, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "augur_data", + "tableName": "repos_fetch_log", + "x": 520, + "y": 7680, + "width": 198, + "height": 114, + "isBold": false, + "titleColor": { + "r": 55, + "g": 131, + "b": 192, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "augur_data", + "tableName": "settings", + "x": 7450, + "y": 6130, + "width": 191, + "height": 135, + "isBold": false, + "titleColor": { + "r": 55, + "g": 131, + "b": 192, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "augur_data", + "tableName": "topic_words", + "x": 6080, + "y": 6130, + "width": 230, + "height": 219, + "isBold": false, + "titleColor": { + "r": 55, + "g": 131, + "b": 192, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "augur_data", + "tableName": "unknown_cache", + "x": 5500, + "y": 6130, + "width": 230, + "height": 240, + "isBold": false, + "titleColor": { + "r": 55, + "g": 131, + "b": 192, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "augur_data", + "tableName": "utility_log", + "x": 7710, + "y": 6130, + "width": 175, + "height": 135, + "isBold": false, + "titleColor": { + "r": 55, + "g": 131, + "b": 192, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "augur_data", + "tableName": "working_commits", + "x": 1100, + "y": 7680, + "width": 208, + "height": 93, + "isBold": false, + "titleColor": { + "r": 55, + "g": 131, + "b": 192, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "augur_operations", + "tableName": "all", + "x": 5230, + "y": 6130, + "width": 201, + "height": 261, + "isBold": false, + "titleColor": { + "r": 200, + "g": 255, + "b": 160, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "augur_operations", + "tableName": "augur_settings", + "x": 7950, + "y": 6130, + "width": 230, + "height": 135, + "isBold": false, + "titleColor": { + "r": 200, + "g": 255, + "b": 160, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "augur_operations", + "tableName": "repos_fetch_log", + "x": 790, + "y": 7680, + "width": 237, + "height": 114, + "isBold": false, + "titleColor": { + "r": 200, + "g": 255, + "b": 160, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "augur_operations", + "tableName": "worker_history", + "x": 6380, + "y": 6130, + "width": 229, + "height": 219, + "isBold": false, + "titleColor": { + "r": 200, + "g": 255, + "b": 160, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "augur_operations", + "tableName": "worker_job", + "x": 5800, + "y": 6130, + "width": 206, + "height": 240, + "isBold": false, + "titleColor": { + "r": 200, + "g": 255, + "b": 160, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "augur_operations", + "tableName": "worker_oauth", + "x": 6680, + "y": 6130, + "width": 231, + "height": 219, + "isBold": false, + "titleColor": { + "r": 200, + "g": 255, + "b": 160, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "augur_operations", + "tableName": "worker_settings_facade", + "x": 8250, + "y": 6130, + "width": 285, + "height": 135, + "isBold": false, + "titleColor": { + "r": 200, + "g": 255, + "b": 160, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "augur_operations", + "tableName": "working_commits", + "x": 1380, + "y": 7680, + "width": 246, + "height": 93, + "isBold": false, + "titleColor": { + "r": 200, + "g": 255, + "b": 160, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "spdx", + "tableName": "annotation_types", + "x": 2500, + "y": 6450, + "width": 171, + "height": 93, + "isBold": false, + "titleColor": { + "r": 255, + "g": 214, + "b": 147, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "spdx", + "tableName": "annotations", + "x": 2260, + "y": 6400, + "width": 186, + "height": 198, + "isBold": false, + "titleColor": { + "r": 255, + "g": 214, + "b": 147, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "spdx", + "tableName": "augur_repo_map", + "x": 6980, + "y": 6130, + "width": 170, + "height": 156, + "isBold": false, + "titleColor": { + "r": 255, + "g": 214, + "b": 147, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "spdx", + "tableName": "creator_types", + "x": 2470, + "y": 6670, + "width": 152, + "height": 93, + "isBold": false, + "titleColor": { + "r": 255, + "g": 214, + "b": 147, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "spdx", + "tableName": "creators", + "x": 2280, + "y": 6640, + "width": 152, + "height": 135, + "isBold": false, + "titleColor": { + "r": 255, + "g": 214, + "b": 147, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "spdx", + "tableName": "document_namespaces", + "x": 1170, + "y": 6230, + "width": 208, + "height": 93, + "isBold": false, + "titleColor": { + "r": 255, + "g": 214, + "b": 147, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "spdx", + "tableName": "documents", + "x": 1250, + "y": 6430, + "width": 222, + "height": 261, + "isBold": false, + "titleColor": { + "r": 255, + "g": 214, + "b": 147, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "spdx", + "tableName": "documents_creators", + "x": 2050, + "y": 6650, + "width": 186, + "height": 114, + "isBold": false, + "titleColor": { + "r": 255, + "g": 214, + "b": 147, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "spdx", + "tableName": "external_refs", + "x": 1420, + "y": 6180, + "width": 207, + "height": 156, + "isBold": false, + "titleColor": { + "r": 255, + "g": 214, + "b": 147, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "spdx", + "tableName": "file_contributors", + "x": 1130, + "y": 7390, + "width": 164, + "height": 114, + "isBold": false, + "titleColor": { + "r": 255, + "g": 214, + "b": 147, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "spdx", + "tableName": "file_types", + "x": 1690, + "y": 7680, + "width": 150, + "height": 93, + "isBold": false, + "titleColor": { + "r": 255, + "g": 214, + "b": 147, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "spdx", + "tableName": "files", + "x": 1140, + "y": 7150, + "width": 152, + "height": 198, + "isBold": false, + "titleColor": { + "r": 255, + "g": 214, + "b": 147, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "spdx", + "tableName": "files_licenses", + "x": 1170, + "y": 6960, + "width": 150, + "height": 135, + "isBold": false, + "titleColor": { + "r": 255, + "g": 214, + "b": 147, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "spdx", + "tableName": "files_scans", + "x": 1340, + "y": 7180, + "width": 150, + "height": 114, + "isBold": false, + "titleColor": { + "r": 255, + "g": 214, + "b": 147, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "spdx", + "tableName": "identifiers", + "x": 540, + "y": 7010, + "width": 207, + "height": 177, + "isBold": false, + "titleColor": { + "r": 255, + "g": 214, + "b": 147, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "spdx", + "tableName": "licenses", + "x": 1200, + "y": 6740, + "width": 182, + "height": 177, + "isBold": false, + "titleColor": { + "r": 255, + "g": 214, + "b": 147, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "spdx", + "tableName": "packages", + "x": 1930, + "y": 6950, + "width": 210, + "height": 471, + "isBold": false, + "titleColor": { + "r": 255, + "g": 214, + "b": 147, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "spdx", + "tableName": "packages_files", + "x": 910, + "y": 7090, + "width": 184, + "height": 177, + "isBold": false, + "titleColor": { + "r": 255, + "g": 214, + "b": 147, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "spdx", + "tableName": "packages_scans", + "x": 1730, + "y": 7180, + "width": 163, + "height": 114, + "isBold": false, + "titleColor": { + "r": 255, + "g": 214, + "b": 147, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "spdx", + "tableName": "projects", + "x": 30, + "y": 7680, + "width": 150, + "height": 135, + "isBold": false, + "titleColor": { + "r": 255, + "g": 214, + "b": 147, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "spdx", + "tableName": "relationship_types", + "x": 30, + "y": 7050, + "width": 176, + "height": 93, + "isBold": false, + "titleColor": { + "r": 255, + "g": 214, + "b": 147, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "spdx", + "tableName": "relationships", + "x": 260, + "y": 7020, + "width": 187, + "height": 156, + "isBold": false, + "titleColor": { + "r": 255, + "g": 214, + "b": 147, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "spdx", + "tableName": "sbom_scans", + "x": 1910, + "y": 7680, + "width": 150, + "height": 93, + "isBold": false, + "titleColor": { + "r": 255, + "g": 214, + "b": 147, + "a": 1 + } + }, + { + "type": "table", + "schemaName": "spdx", + "tableName": "scanners", + "x": 1530, + "y": 7200, + "width": 150, + "height": 93, + "isBold": false, + "titleColor": { + "r": 255, + "g": 214, + "b": 147, + "a": 1 + } + } + ], + "layers": [], + "relations": [ + { + "name": "fk_commit_comment_ref_commits_1", + "sourceTableName": "commit_comment_ref", + "sourceSchemaName": "augur_data", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 7650, + "y": 1470 + }, + { + "x": 7675, + "y": 1470 + } + ], + "label": { + "x": 7646, + "y": 1472, + "width": 233, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "fk_commit_parents_commits_1", + "sourceTableName": "commit_parents", + "sourceSchemaName": "augur_data", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 7995, + "y": 1485 + }, + { + "x": 7975, + "y": 1485 + } + ], + "label": { + "x": 8011, + "y": 1487, + "width": 199, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "fk_commit_parents_commits_2", + "sourceTableName": "commit_parents", + "sourceSchemaName": "augur_data", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 7995, + "y": 1455 + }, + { + "x": 7975, + "y": 1455 + } + ], + "label": { + "x": 8011, + "y": 1457, + "width": 199, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "fk_commits_contributors_1", + "sourceTableName": "commits", + "sourceSchemaName": "augur_data", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 7935, + "y": 1803 + }, + { + "x": 7935, + "y": 1825 + }, + { + "x": 8315, + "y": 1825 + }, + { + "x": 8315, + "y": 3625 + } + ], + "label": { + "x": 7943, + "y": 1798, + "width": 173, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "fk_commits_contributors_2", + "sourceTableName": "commits", + "sourceSchemaName": "augur_data", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 7905, + "y": 1803 + }, + { + "x": 7905, + "y": 1855 + }, + { + "x": 8285, + "y": 1855 + }, + { + "x": 8285, + "y": 3625 + } + ], + "label": { + "x": 7913, + "y": 1798, + "width": 173, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "fk_contributor_repo_contributors_1", + "sourceTableName": "contributor_repo", + "sourceSchemaName": "augur_data", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 8310, + "y": 4605 + }, + { + "x": 8310, + "y": 4525 + } + ], + "label": { + "x": 8318, + "y": 4615, + "width": 222, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "fk_alias_id", + "sourceTableName": "contributors_aliases", + "sourceSchemaName": "augur_data", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 8385, + "y": 4095 + }, + { + "x": 8366, + "y": 4095 + } + ], + "label": { + "x": 8401, + "y": 4097, + "width": 73, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "fk_contributors_aliases_contributors_1", + "sourceTableName": "contributors_aliases", + "sourceSchemaName": "augur_data", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 8385, + "y": 4065 + }, + { + "x": 8366, + "y": 4065 + } + ], + "label": { + "x": 8401, + "y": 4067, + "width": 245, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "fk_contributors_history_contributors_1", + "sourceTableName": "contributors_history", + "sourceSchemaName": "augur_data", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 8330, + "y": 1801 + }, + { + "x": 8330, + "y": 3625 + } + ], + "label": { + "x": 8338, + "y": 1791, + "width": 243, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "fk_issue_assignees_contributors_1", + "sourceTableName": "issue_assignees", + "sourceSchemaName": "augur_data", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 8040, + "y": 4675 + }, + { + "x": 8040, + "y": 4470 + }, + { + "x": 8085, + "y": 4470 + } + ], + "label": { + "x": 8048, + "y": 4685, + "width": 224, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "fk_issue_events_contributors_1", + "sourceTableName": "issue_events", + "sourceSchemaName": "augur_data", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 7730, + "y": 5185 + }, + { + "x": 7730, + "y": 4340 + }, + { + "x": 8085, + "y": 4340 + } + ], + "label": { + "x": 7738, + "y": 5195, + "width": 202, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "fk_issue_assignees_issues_1", + "sourceTableName": "issue_assignees", + "sourceSchemaName": "augur_data", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 8030, + "y": 4945 + }, + { + "x": 8030, + "y": 4980 + }, + { + "x": 8020, + "y": 4980 + }, + { + "x": 8020, + "y": 5025 + } + ], + "label": { + "x": 8038, + "y": 4935, + "width": 191, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "fk_issue_events_issues_1", + "sourceTableName": "issue_events", + "sourceSchemaName": "augur_data", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 7865, + "y": 5360 + }, + { + "x": 7885, + "y": 5360 + } + ], + "label": { + "x": 7861, + "y": 5362, + "width": 169, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "fk_issue_labels_issues_1", + "sourceTableName": "issue_labels", + "sourceSchemaName": "augur_data", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 8165, + "y": 5360 + }, + { + "x": 8145, + "y": 5360 + } + ], + "label": { + "x": 8181, + "y": 5362, + "width": 164, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "fk_issue_message_ref_issues_1", + "sourceTableName": "issue_message_ref", + "sourceSchemaName": "augur_data", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 8010, + "y": 5715 + }, + { + "x": 8010, + "y": 5694 + } + ], + "label": { + "x": 8018, + "y": 5725, + "width": 208, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "fk_issues_contributors_1", + "sourceTableName": "issues", + "sourceSchemaName": "augur_data", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 7945, + "y": 5025 + }, + { + "x": 7945, + "y": 4425 + }, + { + "x": 8085, + "y": 4425 + } + ], + "label": { + "x": 7953, + "y": 5035, + "width": 161, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "fk_issues_contributors_2", + "sourceTableName": "issues", + "sourceSchemaName": "augur_data", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 7915, + "y": 5025 + }, + { + "x": 7915, + "y": 4395 + }, + { + "x": 8085, + "y": 4395 + } + ], + "label": { + "x": 7923, + "y": 5035, + "width": 161, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "fk_library_dependencies_libraries_1", + "sourceTableName": "library_dependencies", + "sourceSchemaName": "augur_data", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 1338, + "y": 870 + }, + { + "x": 1365, + "y": 870 + } + ], + "label": { + "x": 1334, + "y": 872, + "width": 229, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "fk_library_version_libraries_1", + "sourceTableName": "library_version", + "sourceSchemaName": "augur_data", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 1510, + "y": 595 + }, + { + "x": 1510, + "y": 615 + } + ], + "label": { + "x": 1518, + "y": 585, + "width": 187, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "fk_lstm_anomaly_results_lstm_anomaly_models_1", + "sourceTableName": "lstm_anomaly_results", + "sourceSchemaName": "augur_data", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 2015, + "y": 910 + }, + { + "x": 1993, + "y": 910 + } + ], + "label": { + "x": 2031, + "y": 912, + "width": 320, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "fk_commit_comment_ref_message_1", + "sourceTableName": "commit_comment_ref", + "sourceSchemaName": "augur_data", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 7365, + "y": 1720 + }, + { + "x": 1180, + "y": 1720 + }, + { + "x": 1180, + "y": 5510 + }, + { + "x": 615, + "y": 5510 + } + ], + "label": { + "x": 7381, + "y": 1722, + "width": 238, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "fk_discourse_insights_message_1", + "sourceTableName": "discourse_insights", + "sourceSchemaName": "augur_data", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 515, + "y": 5030 + }, + { + "x": 480, + "y": 5030 + }, + { + "x": 480, + "y": 5475 + } + ], + "label": { + "x": 531, + "y": 5032, + "width": 219, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "fk_issue_message_ref_message_1", + "sourceTableName": "issue_message_ref", + "sourceSchemaName": "augur_data", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 7875, + "y": 5770 + }, + { + "x": 615, + "y": 5770 + } + ], + "label": { + "x": 7891, + "y": 5772, + "width": 225, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "fk_message_contributors_1", + "sourceTableName": "message", + "sourceSchemaName": "augur_data", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 615, + "y": 5630 + }, + { + "x": 6960, + "y": 5630 + }, + { + "x": 6960, + "y": 4270 + }, + { + "x": 8085, + "y": 4270 + } + ], + "label": { + "x": 611, + "y": 5632, + "width": 178, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "fk_message_analysis_message_1", + "sourceTableName": "message_analysis", + "sourceSchemaName": "augur_data", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 410, + "y": 4897 + }, + { + "x": 410, + "y": 5475 + } + ], + "label": { + "x": 418, + "y": 4887, + "width": 219, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "fk_message_sentiment_message_1", + "sourceTableName": "message_sentiment", + "sourceSchemaName": "augur_data", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 275, + "y": 5640 + }, + { + "x": 355, + "y": 5640 + } + ], + "label": { + "x": 271, + "y": 5642, + "width": 229, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "fk_message_platform_1", + "sourceTableName": "message", + "sourceSchemaName": "augur_data", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 480, + "y": 5808 + }, + { + "x": 480, + "y": 5825 + } + ], + "label": { + "x": 488, + "y": 5798, + "width": 156, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "fk_pull_request_assignees_contributors_1", + "sourceTableName": "pull_request_assignees", + "sourceSchemaName": "augur_data", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 7650, + "y": 3054 + }, + { + "x": 7650, + "y": 3090 + }, + { + "x": 8170, + "y": 3090 + }, + { + "x": 8170, + "y": 3625 + } + ], + "label": { + "x": 7658, + "y": 3044, + "width": 267, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "fk_pr_commit_cntrb_id", + "sourceTableName": "pull_request_commits", + "sourceSchemaName": "augur_data", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 7490, + "y": 3549 + }, + { + "x": 7490, + "y": 3590 + }, + { + "x": 8120, + "y": 3590 + }, + { + "x": 8120, + "y": 3625 + } + ], + "label": { + "x": 7498, + "y": 3539, + "width": 147, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "fk_pull_request_events_contributors_1", + "sourceTableName": "pull_request_events", + "sourceSchemaName": "augur_data", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 7930, + "y": 2989 + }, + { + "x": 7930, + "y": 3030 + }, + { + "x": 8200, + "y": 3030 + }, + { + "x": 8200, + "y": 3625 + } + ], + "label": { + "x": 7938, + "y": 2979, + "width": 245, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "fk_pull_request_message_ref_message_1", + "sourceTableName": "pull_request_message_ref", + "sourceSchemaName": "augur_data", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 1285, + "y": 3080 + }, + { + "x": 1240, + "y": 3080 + }, + { + "x": 1240, + "y": 5550 + }, + { + "x": 615, + "y": 5550 + } + ], + "label": { + "x": 1301, + "y": 3082, + "width": 268, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "fk_pull_request_meta_contributors_2", + "sourceTableName": "pull_request_meta", + "sourceSchemaName": "augur_data", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 7930, + "y": 2287 + }, + { + "x": 7930, + "y": 2330 + }, + { + "x": 8250, + "y": 2330 + }, + { + "x": 8250, + "y": 3625 + } + ], + "label": { + "x": 7938, + "y": 2277, + "width": 235, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "fk_pull_request_repo_contributors_1", + "sourceTableName": "pull_request_repo", + "sourceSchemaName": "augur_data", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 8210, + "y": 2229 + }, + { + "x": 8210, + "y": 2270 + }, + { + "x": 8280, + "y": 2270 + }, + { + "x": 8280, + "y": 3625 + } + ], + "label": { + "x": 8218, + "y": 2219, + "width": 232, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "fk_pull_request_repo_pull_request_meta_1", + "sourceTableName": "pull_request_repo", + "sourceSchemaName": "augur_data", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 8005, + "y": 2140 + }, + { + "x": 7985, + "y": 2140 + } + ], + "label": { + "x": 8021, + "y": 2142, + "width": 272, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "fk_pull_request_review_message_ref_message_1", + "sourceTableName": "pull_request_review_message_ref", + "sourceSchemaName": "augur_data", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 6285, + "y": 5060 + }, + { + "x": 6240, + "y": 5060 + }, + { + "x": 6240, + "y": 5590 + }, + { + "x": 615, + "y": 5590 + } + ], + "label": { + "x": 6301, + "y": 5062, + "width": 315, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "fk_pull_request_reviewers_contributors_1", + "sourceTableName": "pull_request_reviewers", + "sourceSchemaName": "augur_data", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 8030, + "y": 2607 + }, + { + "x": 8030, + "y": 2970 + }, + { + "x": 8220, + "y": 2970 + }, + { + "x": 8220, + "y": 3625 + } + ], + "label": { + "x": 8038, + "y": 2597, + "width": 264, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "fk_pull_request_review_message_ref_pull_request_reviews_1", + "sourceTableName": "pull_request_review_message_ref", + "sourceSchemaName": "augur_data", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 6626, + "y": 4510 + }, + { + "x": 6645, + "y": 4510 + } + ], + "label": { + "x": 6622, + "y": 4517, + "width": 388, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "fk_pull_request_reviews_contributors_1", + "sourceTableName": "pull_request_reviews", + "sourceSchemaName": "augur_data", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 6924, + "y": 4210 + }, + { + "x": 8085, + "y": 4210 + } + ], + "label": { + "x": 6920, + "y": 4212, + "width": 251, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "fk_pull_request_analysis_pull_requests_1", + "sourceTableName": "pull_request_analysis", + "sourceSchemaName": "augur_data", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 7090, + "y": 2034 + }, + { + "x": 7090, + "y": 2100 + }, + { + "x": 7020, + "y": 2100 + } + ], + "label": { + "x": 7098, + "y": 2024, + "width": 264, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "fk_pull_request_assignees_pull_requests_1", + "sourceTableName": "pull_request_assignees", + "sourceSchemaName": "augur_data", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 7570, + "y": 2805 + }, + { + "x": 7570, + "y": 2770 + }, + { + "x": 7020, + "y": 2770 + } + ], + "label": { + "x": 7578, + "y": 2815, + "width": 276, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "fk_pull_request_commits_pull_requests_1", + "sourceTableName": "pull_request_commits", + "sourceSchemaName": "augur_data", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 7330, + "y": 3195 + }, + { + "x": 7330, + "y": 2920 + }, + { + "x": 7020, + "y": 2920 + } + ], + "label": { + "x": 7338, + "y": 3205, + "width": 265, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "fk_pull_request_events_pull_requests_1", + "sourceTableName": "pull_request_events", + "sourceSchemaName": "augur_data", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 7770, + "y": 2635 + }, + { + "x": 7770, + "y": 2600 + }, + { + "x": 7020, + "y": 2600 + } + ], + "label": { + "x": 7778, + "y": 2645, + "width": 254, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "fk_pull_request_commits_pull_requests_1", + "sourceTableName": "pull_request_files", + "sourceSchemaName": "augur_data", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 6800, + "y": 2035 + }, + { + "x": 6800, + "y": 2055 + } + ], + "label": { + "x": 6808, + "y": 2025, + "width": 265, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "fk_pull_request_labels_pull_requests_1", + "sourceTableName": "pull_request_labels", + "sourceSchemaName": "augur_data", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 6645, + "y": 2100 + }, + { + "x": 6745, + "y": 2100 + } + ], + "label": { + "x": 6641, + "y": 2102, + "width": 250, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "fk_pull_request_message_ref_pull_requests_1", + "sourceTableName": "pull_request_message_ref", + "sourceSchemaName": "augur_data", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 1578, + "y": 2920 + }, + { + "x": 6745, + "y": 2920 + } + ], + "label": { + "x": 1574, + "y": 2922, + "width": 293, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "fk_pull_request_meta_pull_requests_1", + "sourceTableName": "pull_request_meta", + "sourceSchemaName": "augur_data", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 7725, + "y": 2240 + }, + { + "x": 7020, + "y": 2240 + } + ], + "label": { + "x": 7741, + "y": 2242, + "width": 244, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "fk_pull_request_reviewers_pull_requests_1", + "sourceTableName": "pull_request_reviewers", + "sourceSchemaName": "augur_data", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 7870, + "y": 2358 + }, + { + "x": 7870, + "y": 2330 + }, + { + "x": 7020, + "y": 2330 + } + ], + "label": { + "x": 7878, + "y": 2368, + "width": 273, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "fk_pull_request_reviews_pull_requests_1", + "sourceTableName": "pull_request_reviews", + "sourceSchemaName": "augur_data", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 6780, + "y": 4155 + }, + { + "x": 6780, + "y": 2976 + } + ], + "label": { + "x": 6788, + "y": 4165, + "width": 261, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "fk_pull_request_teams_pull_requests_1", + "sourceTableName": "pull_request_teams", + "sourceSchemaName": "augur_data", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 6669, + "y": 2670 + }, + { + "x": 6745, + "y": 2670 + } + ], + "label": { + "x": 6665, + "y": 2677, + "width": 251, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "fk_pr_contribs", + "sourceTableName": "pull_requests", + "sourceSchemaName": "augur_data", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 7020, + "y": 2850 + }, + { + "x": 7390, + "y": 2850 + }, + { + "x": 7390, + "y": 3150 + }, + { + "x": 8140, + "y": 3150 + }, + { + "x": 8140, + "y": 3625 + } + ], + "label": { + "x": 7016, + "y": 2852, + "width": 95, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "fk_commits_repo_1", + "sourceTableName": "commits", + "sourceSchemaName": "augur_data", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 7820, + "y": 1155 + }, + { + "x": 7820, + "y": 950 + }, + { + "x": 7534, + "y": 950 + } + ], + "label": { + "x": 7828, + "y": 1170, + "width": 128, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "fk_issues_repo", + "sourceTableName": "issues", + "sourceSchemaName": "augur_data", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 8090, + "y": 5025 + }, + { + "x": 8090, + "y": 4980 + }, + { + "x": 8680, + "y": 4980 + }, + { + "x": 8680, + "y": 740 + }, + { + "x": 7534, + "y": 740 + } + ], + "label": { + "x": 8098, + "y": 5040, + "width": 101, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "fk_libraries_repo_1", + "sourceTableName": "libraries", + "sourceSchemaName": "augur_data", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 1650, + "y": 1080 + }, + { + "x": 1690, + "y": 1080 + }, + { + "x": 1690, + "y": 1150 + }, + { + "x": 7215, + "y": 1150 + } + ], + "label": { + "x": 1646, + "y": 1087, + "width": 125, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "fk_lstm_anomaly_results_repo_1", + "sourceTableName": "lstm_anomaly_results", + "sourceSchemaName": "augur_data", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 2300, + "y": 1050 + }, + { + "x": 2340, + "y": 1050 + }, + { + "x": 2340, + "y": 1120 + }, + { + "x": 7215, + "y": 1120 + } + ], + "label": { + "x": 2296, + "y": 1052, + "width": 210, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "fk_message_analysis_summary_repo_1", + "sourceTableName": "message_analysis_summary", + "sourceSchemaName": "augur_data", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 7415, + "y": 500 + }, + { + "x": 7370, + "y": 500 + }, + { + "x": 7370, + "y": 685 + } + ], + "label": { + "x": 7431, + "y": 502, + "width": 255, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "fk_message_sentiment_summary_repo_1", + "sourceTableName": "message_sentiment_summary", + "sourceSchemaName": "augur_data", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 7310, + "y": 327 + }, + { + "x": 7310, + "y": 685 + } + ], + "label": { + "x": 7318, + "y": 317, + "width": 265, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "fk_pull_requests_repo_1", + "sourceTableName": "pull_requests", + "sourceSchemaName": "augur_data", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 7020, + "y": 2170 + }, + { + "x": 7270, + "y": 2170 + }, + { + "x": 7270, + "y": 1207 + } + ], + "label": { + "x": 7016, + "y": 2177, + "width": 159, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "fk_releases_repo_1", + "sourceTableName": "releases", + "sourceSchemaName": "augur_data", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 7129, + "y": 650 + }, + { + "x": 7170, + "y": 650 + }, + { + "x": 7170, + "y": 720 + }, + { + "x": 7215, + "y": 720 + } + ], + "label": { + "x": 7125, + "y": 657, + "width": 129, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "fk_repo_badging_repo_1", + "sourceTableName": "repo_badging", + "sourceSchemaName": "augur_data", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 6785, + "y": 680 + }, + { + "x": 6820, + "y": 680 + }, + { + "x": 6820, + "y": 740 + }, + { + "x": 7215, + "y": 740 + } + ], + "label": { + "x": 6781, + "y": 682, + "width": 161, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "fk_repo_cluster_messages_repo_1", + "sourceTableName": "repo_cluster_messages", + "sourceSchemaName": "augur_data", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 6443, + "y": 700 + }, + { + "x": 6480, + "y": 700 + }, + { + "x": 6480, + "y": 770 + }, + { + "x": 7215, + "y": 770 + } + ], + "label": { + "x": 6439, + "y": 702, + "width": 223, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "repo_id", + "sourceTableName": "repo_dependencies", + "sourceSchemaName": "augur_data", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 6075, + "y": 730 + }, + { + "x": 6120, + "y": 730 + }, + { + "x": 6120, + "y": 800 + }, + { + "x": 7215, + "y": 800 + } + ], + "label": { + "x": 6071, + "y": 732, + "width": 54, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "repo_id", + "sourceTableName": "repo_deps_scorecard", + "sourceSchemaName": "augur_data", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 5739, + "y": 760 + }, + { + "x": 5780, + "y": 760 + }, + { + "x": 5780, + "y": 820 + }, + { + "x": 7215, + "y": 820 + } + ], + "label": { + "x": 5735, + "y": 762, + "width": 54, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "fk_repo_repo_groups_1", + "sourceTableName": "repo", + "sourceSchemaName": "augur_data", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 7215, + "y": 1170 + }, + { + "x": 1010, + "y": 1170 + }, + { + "x": 1010, + "y": 5155 + } + ], + "label": { + "x": 7231, + "y": 1177, + "width": 154, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "fk_repo_group_insights_repo_groups_1", + "sourceTableName": "repo_group_insights", + "sourceSchemaName": "augur_data", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 930, + "y": 1136 + }, + { + "x": 930, + "y": 5155 + } + ], + "label": { + "x": 938, + "y": 1126, + "width": 251, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "fk_message_repo_groups_list_serve_1", + "sourceTableName": "message", + "sourceSchemaName": "augur_data", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 540, + "y": 5475 + }, + { + "x": 540, + "y": 5310 + }, + { + "x": 585, + "y": 5310 + } + ], + "label": { + "x": 548, + "y": 5485, + "width": 248, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "fk_repo_groups_list_serve_repo_groups_1", + "sourceTableName": "repo_groups_list_serve", + "sourceSchemaName": "augur_data", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 859, + "y": 5310 + }, + { + "x": 875, + "y": 5310 + } + ], + "label": { + "x": 855, + "y": 5312, + "width": 269, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "fk_repo_info_repo_1", + "sourceTableName": "repo_info", + "sourceSchemaName": "augur_data", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 5396, + "y": 780 + }, + { + "x": 5440, + "y": 780 + }, + { + "x": 5440, + "y": 850 + }, + { + "x": 7215, + "y": 850 + } + ], + "label": { + "x": 5392, + "y": 782, + "width": 134, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "fk_repo_insights_repo_1", + "sourceTableName": "repo_insights", + "sourceSchemaName": "augur_data", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 5035, + "y": 810 + }, + { + "x": 5080, + "y": 810 + }, + { + "x": 5080, + "y": 880 + }, + { + "x": 7215, + "y": 880 + } + ], + "label": { + "x": 5031, + "y": 812, + "width": 159, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "repo_id_ref", + "sourceTableName": "repo_insights_records", + "sourceSchemaName": "augur_data", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 4692, + "y": 840 + }, + { + "x": 4730, + "y": 840 + }, + { + "x": 4730, + "y": 910 + }, + { + "x": 7215, + "y": 910 + } + ], + "label": { + "x": 4688, + "y": 842, + "width": 78, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "fk_repo_labor_repo_1", + "sourceTableName": "repo_labor", + "sourceSchemaName": "augur_data", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 4350, + "y": 870 + }, + { + "x": 4390, + "y": 870 + }, + { + "x": 4390, + "y": 930 + }, + { + "x": 7215, + "y": 930 + } + ], + "label": { + "x": 4346, + "y": 872, + "width": 142, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "fk_repo_meta_repo_1", + "sourceTableName": "repo_meta", + "sourceSchemaName": "augur_data", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 3995, + "y": 890 + }, + { + "x": 4030, + "y": 890 + }, + { + "x": 4030, + "y": 960 + }, + { + "x": 7215, + "y": 960 + } + ], + "label": { + "x": 3991, + "y": 892, + "width": 142, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "repo_linker_sbom", + "sourceTableName": "repo_sbom_scans", + "sourceSchemaName": "augur_data", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 3648, + "y": 920 + }, + { + "x": 3690, + "y": 920 + }, + { + "x": 3690, + "y": 990 + }, + { + "x": 7215, + "y": 990 + } + ], + "label": { + "x": 3644, + "y": 922, + "width": 118, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "fk_repo_stats_repo_1", + "sourceTableName": "repo_stats", + "sourceSchemaName": "augur_data", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 3325, + "y": 970 + }, + { + "x": 3370, + "y": 970 + }, + { + "x": 3370, + "y": 1010 + }, + { + "x": 7215, + "y": 1010 + } + ], + "label": { + "x": 3321, + "y": 972, + "width": 141, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "fk_repo_test_coverage_repo_1", + "sourceTableName": "repo_test_coverage", + "sourceSchemaName": "augur_data", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 2985, + "y": 1000 + }, + { + "x": 3030, + "y": 1000 + }, + { + "x": 3030, + "y": 1070 + }, + { + "x": 7215, + "y": 1070 + } + ], + "label": { + "x": 2981, + "y": 1002, + "width": 198, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "fk_repo_topic_repo_1", + "sourceTableName": "repo_topic", + "sourceSchemaName": "augur_data", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 2645, + "y": 1030 + }, + { + "x": 2690, + "y": 1030 + }, + { + "x": 2690, + "y": 1090 + }, + { + "x": 7215, + "y": 1090 + } + ], + "label": { + "x": 2641, + "y": 1032, + "width": 141, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "annotations_annotation_type_id_fkey", + "sourceTableName": "annotations", + "sourceSchemaName": "spdx", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 2461, + "y": 6500 + }, + { + "x": 2485, + "y": 6500 + } + ], + "label": { + "x": 2457, + "y": 6471, + "width": 237, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "annotations_creator_id_fkey", + "sourceTableName": "annotations", + "sourceSchemaName": "spdx", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 2360, + "y": 6613 + }, + { + "x": 2360, + "y": 6625 + } + ], + "label": { + "x": 2368, + "y": 6603, + "width": 182, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "creators_creator_type_id_fkey", + "sourceTableName": "creators", + "sourceSchemaName": "spdx", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 2447, + "y": 6720 + }, + { + "x": 2455, + "y": 6720 + } + ], + "label": { + "x": 2443, + "y": 6691, + "width": 194, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "annotations_document_id_fkey", + "sourceTableName": "annotations", + "sourceSchemaName": "spdx", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 2245, + "y": 6500 + }, + { + "x": 1487, + "y": 6500 + } + ], + "label": { + "x": 2261, + "y": 6502, + "width": 200, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "documents_document_namespace_id_fkey", + "sourceTableName": "documents", + "sourceSchemaName": "spdx", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 1320, + "y": 6415 + }, + { + "x": 1320, + "y": 6338 + } + ], + "label": { + "x": 1328, + "y": 6394, + "width": 275, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "documents_creators_creator_id_fkey", + "sourceTableName": "documents_creators", + "sourceSchemaName": "spdx", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 2251, + "y": 6720 + }, + { + "x": 2265, + "y": 6720 + } + ], + "label": { + "x": 2247, + "y": 6722, + "width": 236, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "documents_creators_document_id_fkey", + "sourceTableName": "documents_creators", + "sourceSchemaName": "spdx", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 2110, + "y": 6635 + }, + { + "x": 2110, + "y": 6610 + }, + { + "x": 1487, + "y": 6610 + } + ], + "label": { + "x": 2118, + "y": 6645, + "width": 254, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "external_refs_document_id_fkey", + "sourceTableName": "external_refs", + "sourceSchemaName": "spdx", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 1480, + "y": 6351 + }, + { + "x": 1480, + "y": 6380 + }, + { + "x": 1430, + "y": 6380 + }, + { + "x": 1430, + "y": 6415 + } + ], + "label": { + "x": 1488, + "y": 6341, + "width": 208, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "external_refs_document_namespace_id_fkey", + "sourceTableName": "external_refs", + "sourceSchemaName": "spdx", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 1405, + "y": 6270 + }, + { + "x": 1393, + "y": 6270 + } + ], + "label": { + "x": 1421, + "y": 6241, + "width": 287, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "file_contributors_file_id_fkey", + "sourceTableName": "file_contributors", + "sourceSchemaName": "spdx", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 1220, + "y": 7375 + }, + { + "x": 1220, + "y": 7363 + } + ], + "label": { + "x": 1228, + "y": 7385, + "width": 182, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "files_licenses_file_id_fkey", + "sourceTableName": "files_licenses", + "sourceSchemaName": "spdx", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 1230, + "y": 7110 + }, + { + "x": 1230, + "y": 7135 + } + ], + "label": { + "x": 1238, + "y": 7100, + "width": 166, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "files_scans_file_id_fkey", + "sourceTableName": "files_scans", + "sourceSchemaName": "spdx", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 1325, + "y": 7250 + }, + { + "x": 1307, + "y": 7250 + } + ], + "label": { + "x": 1341, + "y": 7252, + "width": 152, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "annotations_identifier_id_fkey", + "sourceTableName": "annotations", + "sourceSchemaName": "spdx", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 2360, + "y": 6385 + }, + { + "x": 2360, + "y": 6130 + }, + { + "x": 650, + "y": 6130 + }, + { + "x": 650, + "y": 6995 + } + ], + "label": { + "x": 2368, + "y": 6395, + "width": 191, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "identifiers_document_id_fkey", + "sourceTableName": "identifiers", + "sourceSchemaName": "spdx", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 762, + "y": 7090 + }, + { + "x": 860, + "y": 7090 + }, + { + "x": 860, + "y": 6630 + }, + { + "x": 1235, + "y": 6630 + } + ], + "label": { + "x": 758, + "y": 7092, + "width": 187, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "identifiers_document_namespace_id_fkey", + "sourceTableName": "identifiers", + "sourceSchemaName": "spdx", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 762, + "y": 7040 + }, + { + "x": 800, + "y": 7040 + }, + { + "x": 800, + "y": 6300 + }, + { + "x": 1155, + "y": 6300 + } + ], + "label": { + "x": 758, + "y": 7011, + "width": 267, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "documents_data_license_id_fkey", + "sourceTableName": "documents", + "sourceSchemaName": "spdx", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 1320, + "y": 6706 + }, + { + "x": 1320, + "y": 6725 + } + ], + "label": { + "x": 1328, + "y": 6696, + "width": 212, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "files_licenses_license_id_fkey", + "sourceTableName": "files_licenses", + "sourceSchemaName": "spdx", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 1260, + "y": 6945 + }, + { + "x": 1260, + "y": 6932 + } + ], + "label": { + "x": 1268, + "y": 6955, + "width": 192, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "documents_package_id_fkey", + "sourceTableName": "documents", + "sourceSchemaName": "spdx", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 1430, + "y": 6706 + }, + { + "x": 1430, + "y": 6800 + }, + { + "x": 2000, + "y": 6800 + }, + { + "x": 2000, + "y": 6935 + } + ], + "label": { + "x": 1438, + "y": 6696, + "width": 187, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "identifiers_package_id_fkey", + "sourceTableName": "identifiers", + "sourceSchemaName": "spdx", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 650, + "y": 7202 + }, + { + "x": 650, + "y": 7610 + }, + { + "x": 2040, + "y": 7610 + }, + { + "x": 2040, + "y": 7436 + } + ], + "label": { + "x": 658, + "y": 7192, + "width": 179, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "packages_concluded_license_id_fkey", + "sourceTableName": "packages", + "sourceSchemaName": "spdx", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 1915, + "y": 7025 + }, + { + "x": 1875, + "y": 7025 + }, + { + "x": 1875, + "y": 6875 + }, + { + "x": 1397, + "y": 6875 + } + ], + "label": { + "x": 1931, + "y": 7027, + "width": 240, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "packages_declared_license_id_fkey", + "sourceTableName": "packages", + "sourceSchemaName": "spdx", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 1915, + "y": 6995 + }, + { + "x": 1905, + "y": 6995 + }, + { + "x": 1905, + "y": 6845 + }, + { + "x": 1397, + "y": 6845 + } + ], + "label": { + "x": 1931, + "y": 6997, + "width": 230, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "packages_originator_id_fkey", + "sourceTableName": "packages", + "sourceSchemaName": "spdx", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 2155, + "y": 7205 + }, + { + "x": 2375, + "y": 7205 + }, + { + "x": 2375, + "y": 6790 + } + ], + "label": { + "x": 2151, + "y": 7207, + "width": 184, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "packages_supplier_id_fkey", + "sourceTableName": "packages", + "sourceSchemaName": "spdx", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 2155, + "y": 7175 + }, + { + "x": 2345, + "y": 7175 + }, + { + "x": 2345, + "y": 6790 + } + ], + "label": { + "x": 2151, + "y": 7177, + "width": 175, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "identifiers_package_file_id_fkey", + "sourceTableName": "identifiers", + "sourceSchemaName": "spdx", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 762, + "y": 7150 + }, + { + "x": 895, + "y": 7150 + } + ], + "label": { + "x": 758, + "y": 7152, + "width": 204, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "fk_package_packages_files", + "sourceTableName": "packages", + "sourceSchemaName": "spdx", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 1915, + "y": 7375 + }, + { + "x": 1905, + "y": 7375 + }, + { + "x": 1905, + "y": 7565 + }, + { + "x": 985, + "y": 7565 + }, + { + "x": 985, + "y": 7282 + } + ], + "label": { + "x": 1931, + "y": 7346, + "width": 178, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "fk_package_files_packages", + "sourceTableName": "packages_files", + "sourceSchemaName": "spdx", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 1015, + "y": 7282 + }, + { + "x": 1015, + "y": 7535 + }, + { + "x": 1875, + "y": 7535 + }, + { + "x": 1875, + "y": 7345 + }, + { + "x": 1915, + "y": 7345 + } + ], + "label": { + "x": 1023, + "y": 7272, + "width": 178, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "packages_files_concluded_license_id_fkey", + "sourceTableName": "packages_files", + "sourceSchemaName": "spdx", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 1000, + "y": 7075 + }, + { + "x": 1000, + "y": 6830 + }, + { + "x": 1185, + "y": 6830 + } + ], + "label": { + "x": 1008, + "y": 7085, + "width": 272, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "packages_files_file_id_fkey", + "sourceTableName": "packages_files", + "sourceSchemaName": "spdx", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 1109, + "y": 7200 + }, + { + "x": 1125, + "y": 7200 + } + ], + "label": { + "x": 1105, + "y": 7202, + "width": 176, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "packages_scans_package_id_fkey", + "sourceTableName": "packages_scans", + "sourceSchemaName": "spdx", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 1908, + "y": 7250 + }, + { + "x": 1915, + "y": 7250 + } + ], + "label": { + "x": 1904, + "y": 7252, + "width": 223, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "relationships_left_identifier_id_fkey", + "sourceTableName": "relationships", + "sourceSchemaName": "spdx", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 462, + "y": 7105 + }, + { + "x": 525, + "y": 7105 + } + ], + "label": { + "x": 458, + "y": 7107, + "width": 223, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "relationships_relationship_type_id_fkey", + "sourceTableName": "relationships", + "sourceSchemaName": "spdx", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 245, + "y": 7090 + }, + { + "x": 221, + "y": 7090 + } + ], + "label": { + "x": 261, + "y": 7061, + "width": 250, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "relationships_right_identifier_id_fkey", + "sourceTableName": "relationships", + "sourceSchemaName": "spdx", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 462, + "y": 7075 + }, + { + "x": 525, + "y": 7075 + } + ], + "label": { + "x": 458, + "y": 7077, + "width": 232, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "files_scans_scanner_id_fkey", + "sourceTableName": "files_scans", + "sourceSchemaName": "spdx", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 1505, + "y": 7250 + }, + { + "x": 1515, + "y": 7250 + } + ], + "label": { + "x": 1501, + "y": 7252, + "width": 184, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + }, + { + "name": "packages_scans_scanner_id_fkey", + "sourceTableName": "packages_scans", + "sourceSchemaName": "spdx", + "lineWidth": 1, + "visible": true, + "vertices": [ + { + "x": 1715, + "y": 7250 + }, + { + "x": 1695, + "y": 7250 + } + ], + "label": { + "x": 1731, + "y": 7252, + "width": 219, + "height": 31, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + }, + "isFontBold": false, + "isFontItalic": false, + "isVisible": false + } + } + ], + "viewRelations": [] + } + ] +} \ No newline at end of file From 3d78ec452f1685c0ab306e15f408d9d693477ee0 Mon Sep 17 00:00:00 2001 From: "Sean P. Goggins" Date: Mon, 12 Jul 2021 15:31:59 -0500 Subject: [PATCH 050/201] Data model update. --- schema/20210711-Augur-Model.ndm2 | 24506 ++++++++++++++--------------- 1 file changed, 12253 insertions(+), 12253 deletions(-) diff --git a/schema/20210711-Augur-Model.ndm2 b/schema/20210711-Augur-Model.ndm2 index a2222177d7..d73fdf01ce 100644 --- a/schema/20210711-Augur-Model.ndm2 +++ b/schema/20210711-Augur-Model.ndm2 @@ -755,7 +755,7 @@ }, { "objectType": "TableNormal_PGSQL", - "name": "commit_comment_ref", + "name": "commit_parents", "comment": "", "tablespace": "", "isUnlogged": false, @@ -763,8 +763,8 @@ "inheritFromTables": [], "hasOIDs": false, "fillFactor": -1, - "oldName": "commit_comment_ref", - "oid": 186432, + "oldName": "commit_parents", + "oid": 186443, "rows": 0, "isInheritTables": false, "cluster": "", @@ -781,17 +781,17 @@ "fields": [ { "objectType": "TableField_PGSQL", - "name": "cmt_comment_id", + "name": "cmt_id", "type": "int8", "length": 64, "decimals": 0, "dimensions": 0, "collation": "", "isNullable": false, - "defaultType": "Others", - "defaultValue": "nextval('augur_data.commit_comment_ref_cmt_comment_id_seq'::regclass)", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "cmt_comment_id", + "oldName": "cmt_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -811,17 +811,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "cmt_id", + "name": "parent_id", "type": "int8", "length": 64, "decimals": 0, "dimensions": 0, "collation": "", "isNullable": false, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "nextval('augur_data.commit_parents_parent_id_seq'::regclass)", "comment": "", - "oldName": "cmt_id", + "oldName": "parent_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -841,22 +841,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "msg_id", - "type": "int8", - "length": 64, + "name": "tool_source", + "type": "varchar", + "length": 255, "decimals": 0, "dimensions": 0, - "collation": "", - "isNullable": false, + "collation": "default", + "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "msg_id", + "oldName": "tool_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 3, "foreignOptions": [], "isIdentity": false, @@ -871,22 +871,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "user_id", - "type": "int8", - "length": 64, + "name": "tool_version", + "type": "varchar", + "length": 255, "decimals": 0, "dimensions": 0, - "collation": "", - "isNullable": false, + "collation": "default", + "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "user_id", + "oldName": "tool_version", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 4, "foreignOptions": [], "isIdentity": false, @@ -901,9 +901,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "body", - "type": "text", - "length": 0, + "name": "data_source", + "type": "varchar", + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", @@ -911,7 +911,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "body", + "oldName": "data_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -931,17 +931,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "line", - "type": "int8", - "length": 64, + "name": "data_collection_date", + "type": "timestamp", + "length": 0, "decimals": 0, "dimensions": 0, "collation": "", "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", "comment": "", - "oldName": "line", + "oldName": "data_collection_date", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -958,26 +958,219 @@ "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false + } + ], + "indexes": [ + { + "objectType": "Index_PGSQL", + "name": "commit_parents_ibfk_1", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "commit_parents_ibfk_1", + "oid": 203610, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "commit_parents", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "cmt_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_id", + "collationSchema": "" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "commit_parents_ibfk_2", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "commit_parents_ibfk_2", + "oid": 203618, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "commit_parents", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "parent_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "parent_id", + "collationSchema": "" + } + ] + } + ], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "commit_parents_pkey", + "fields": [ + "cmt_id", + "parent_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "commit_parents_pkey" + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_commit_parents_commits_1", + "fields": [ + "cmt_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "commits", + "referenceFields": [ + "cmt_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "OneAndOnlyOneRelationship", + "oldName": "fk_commit_parents_commits_1" }, + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_commit_parents_commits_2", + "fields": [ + "parent_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "commits", + "referenceFields": [ + "cmt_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "OneAndOnlyOneRelationship", + "oldName": "fk_commit_parents_commits_2" + } + ], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "contributor_affiliations", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "contributor_affiliations", + "oid": 186765, + "rows": 1, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ { "objectType": "TableField_PGSQL", - "name": "position", + "name": "ca_id", "type": "int8", "length": 64, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": true, + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_data.contributor_affiliations_ca_id_seq'::regclass)", + "comment": "", + "oldName": "ca_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "ca_domain", + "type": "varchar", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "position", + "oldName": "ca_domain", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 7, + "collationSchema": "pg_catalog", + "ordinalPosition": 2, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -991,23 +1184,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "created_at", - "type": "timestamp", + "name": "ca_start_date", + "type": "date", "length": 0, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": false, + "isNullable": true, "defaultType": "Others", - "defaultValue": "CURRENT_TIMESTAMP", + "defaultValue": "'1970-01-01'::date", "comment": "", - "oldName": "created_at", + "oldName": "ca_start_date", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 8, + "ordinalPosition": 3, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -1037,7 +1230,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 9, + "ordinalPosition": 4, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -1067,7 +1260,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 10, + "ordinalPosition": 5, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -1097,7 +1290,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 11, + "ordinalPosition": 6, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -1127,7 +1320,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 12, + "ordinalPosition": 7, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -1141,23 +1334,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "cmt_comment_src_id", - "type": "int8", - "length": 64, + "name": "ca_last_used", + "type": "timestamp", + "length": 0, "decimals": 0, "dimensions": 0, "collation": "", "isNullable": false, - "defaultType": "None", - "defaultValue": "", - "comment": "For data provenance, we store the source ID if it exists. ", - "oldName": "cmt_comment_src_id", + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", + "comment": "", + "oldName": "ca_last_used", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 13, + "ordinalPosition": 8, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -1171,7 +1364,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "commit_comment_src_node_id", + "name": "ca_affiliation", "type": "varchar", "length": 0, "decimals": 0, @@ -1180,14 +1373,14 @@ "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "For data provenance, we store the source node ID if it exists. ", - "oldName": "commit_comment_src_node_id", + "comment": "", + "oldName": "ca_affiliation", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 14, + "ordinalPosition": 9, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -1198,139 +1391,67 @@ "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false - } - ], - "indexes": [ + }, { - "objectType": "Index_PGSQL", - "name": "comment_id", + "objectType": "TableField_PGSQL", + "name": "ca_active", + "type": "int2", + "length": 16, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "1", "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "comment_id", - "oid": 203609, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "commit_comment_ref", - "size": "8", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "cmt_comment_src_id", - "collation": "", - "opClass": "int8_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cmt_comment_src_id", - "collationSchema": "" - }, - { - "objectType": "IndexField_PGSQL", - "name": "cmt_comment_id", - "collation": "", - "opClass": "int8_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cmt_comment_id", - "collationSchema": "" - }, - { - "objectType": "IndexField_PGSQL", - "name": "msg_id", - "collation": "", - "opClass": "int8_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "msg_id", - "collationSchema": "" - } - ] + "oldName": "ca_active", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 10, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false } ], + "indexes": [], "rules": [], "primaryKey": { "objectType": "PrimaryKey_PGSQL", - "name": "commit_comment_ref_pkey", + "name": "contributor_affiliations_pkey", "fields": [ - "cmt_comment_id" + "ca_id" ], "fillFactor": -1, "indexTablespace": "", "comment": "", "isDeferrable": false, "isDeferred": false, - "oldName": "commit_comment_ref_pkey" + "oldName": "contributor_affiliations_pkey" }, - "foreignKeys": [ - { - "objectType": "ForeignKey_PGSQL", - "name": "fk_commit_comment_ref_commits_1", - "fields": [ - "cmt_id" - ], - "referenceSchema": "augur_data", - "referenceTable": "commits", - "referenceFields": [ - "cmt_id" - ], - "onDelete": "NO ACTION", - "onUpdate": "NO ACTION", - "comment": "", - "isMatchFull": false, - "isDeferrable": false, - "isDeferred": false, - "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "OneAndOnlyOneRelationship", - "oldName": "fk_commit_comment_ref_commits_1" - }, - { - "objectType": "ForeignKey_PGSQL", - "name": "fk_commit_comment_ref_message_1", - "fields": [ - "msg_id" - ], - "referenceSchema": "augur_data", - "referenceTable": "message", - "referenceFields": [ - "msg_id" - ], - "onDelete": "NO ACTION", - "onUpdate": "NO ACTION", - "comment": "", - "isMatchFull": false, - "isDeferrable": false, - "isDeferred": false, - "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "OneAndOnlyOneRelationship", - "oldName": "fk_commit_comment_ref_message_1" - } - ], + "foreignKeys": [], "uniques": [ { "objectType": "Unique_PGSQL", - "name": "commitcomment", + "name": "unique_domain", "fields": [ - "cmt_id", - "msg_id", - "cmt_comment_id" + "ca_domain" ], "fillFactor": -1, "indexTablespace": "", - "comment": "", + "comment": "Only one row should exist for any given top level domain or subdomain. ", "isDeferrable": false, "isDeferred": false, - "oldName": "commitcomment" + "oldName": "unique_domain" } ], "checks": [], @@ -1341,16 +1462,16 @@ }, { "objectType": "TableNormal_PGSQL", - "name": "commit_parents", - "comment": "", + "name": "contributors_history", + "comment": "For GitHub, this should be repeated from gh_login. for other systems, it should be that systems login. \n\nAt this time the table is not populated. ", "tablespace": "", "isUnlogged": false, "owner": "augur", "inheritFromTables": [], "hasOIDs": false, "fillFactor": -1, - "oldName": "commit_parents", - "oid": 186443, + "oldName": "contributors_history", + "oid": 187380, "rows": 0, "isInheritTables": false, "cluster": "", @@ -1367,17 +1488,17 @@ "fields": [ { "objectType": "TableField_PGSQL", - "name": "cmt_id", + "name": "cntrb_history_id", "type": "int8", "length": 64, "decimals": 0, "dimensions": 0, "collation": "", "isNullable": false, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "nextval('augur_data.contributors_history_cntrb_history_id_seq'::regclass)", "comment": "", - "oldName": "cmt_id", + "oldName": "cntrb_history_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -1397,17 +1518,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "parent_id", + "name": "cntrb_id", "type": "int8", "length": 64, "decimals": 0, "dimensions": 0, "collation": "", "isNullable": false, - "defaultType": "Others", - "defaultValue": "nextval('augur_data.commit_parents_parent_id_seq'::regclass)", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "parent_id", + "oldName": "cntrb_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -1427,22 +1548,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_source", - "type": "varchar", - "length": 255, + "name": "cntrb_history_timestamp", + "type": "timestamp", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", "comment": "", - "oldName": "tool_source", + "oldName": "cntrb_history_timestamp", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 3, "foreignOptions": [], "isIdentity": false, @@ -1457,22 +1578,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_version", - "type": "varchar", - "length": 255, + "name": "cntrb_history_current_bool", + "type": "bool", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "", - "oldName": "tool_version", + "comment": "At some point it would be great to have a boolean updated by a contributor worker that set the most recent contributor data to true. ", + "oldName": "cntrb_history_current_bool", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 4, "foreignOptions": [], "isIdentity": false, @@ -1487,22 +1608,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_source", - "type": "varchar", - "length": 255, + "name": "cntrb_organizations_list", + "type": "json", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "data_source", + "oldName": "cntrb_organizations_list", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 5, "foreignOptions": [], "isIdentity": false, @@ -1517,17 +1638,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_collection_date", - "type": "timestamp", - "length": 0, + "name": "cntrb_gists_count", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, "collation": "", "isNullable": true, - "defaultType": "Others", - "defaultValue": "CURRENT_TIMESTAMP", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "data_collection_date", + "oldName": "cntrb_gists_count", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -1544,189 +1665,26 @@ "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false - } - ], - "indexes": [ - { - "objectType": "Index_PGSQL", - "name": "commit_parents_ibfk_1", - "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "commit_parents_ibfk_1", - "oid": 203610, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "commit_parents", - "size": "8", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "cmt_id", - "collation": "", - "opClass": "int8_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cmt_id", - "collationSchema": "" - } - ] - }, - { - "objectType": "Index_PGSQL", - "name": "commit_parents_ibfk_2", - "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "commit_parents_ibfk_2", - "oid": 203618, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "commit_parents", - "size": "8", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "parent_id", - "collation": "", - "opClass": "int8_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "parent_id", - "collationSchema": "" - } - ] - } - ], - "rules": [], - "primaryKey": { - "objectType": "PrimaryKey_PGSQL", - "name": "commit_parents_pkey", - "fields": [ - "cmt_id", - "parent_id" - ], - "fillFactor": -1, - "indexTablespace": "", - "comment": "", - "isDeferrable": false, - "isDeferred": false, - "oldName": "commit_parents_pkey" - }, - "foreignKeys": [ - { - "objectType": "ForeignKey_PGSQL", - "name": "fk_commit_parents_commits_1", - "fields": [ - "cmt_id" - ], - "referenceSchema": "augur_data", - "referenceTable": "commits", - "referenceFields": [ - "cmt_id" - ], - "onDelete": "NO ACTION", - "onUpdate": "NO ACTION", - "comment": "", - "isMatchFull": false, - "isDeferrable": false, - "isDeferred": false, - "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "OneAndOnlyOneRelationship", - "oldName": "fk_commit_parents_commits_1" }, - { - "objectType": "ForeignKey_PGSQL", - "name": "fk_commit_parents_commits_2", - "fields": [ - "parent_id" - ], - "referenceSchema": "augur_data", - "referenceTable": "commits", - "referenceFields": [ - "cmt_id" - ], - "onDelete": "NO ACTION", - "onUpdate": "NO ACTION", - "comment": "", - "isMatchFull": false, - "isDeferrable": false, - "isDeferred": false, - "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "OneAndOnlyOneRelationship", - "oldName": "fk_commit_parents_commits_2" - } - ], - "uniques": [], - "checks": [], - "excludes": [], - "triggers": [], - "partitionKeys": [], - "partitions": [] - }, - { - "objectType": "TableNormal_PGSQL", - "name": "contributor_affiliations", - "comment": "", - "tablespace": "", - "isUnlogged": false, - "owner": "augur", - "inheritFromTables": [], - "hasOIDs": false, - "fillFactor": -1, - "oldName": "contributor_affiliations", - "oid": 186765, - "rows": 1, - "isInheritTables": false, - "cluster": "", - "ACL": "", - "isPartition": false, - "partitioningStrategy": "None", - "partitionOfSchema": "", - "partitionOfTable": "", - "partitionListValues": [], - "partitionRangeFromValues": [], - "partitionRangeToValues": [], - "foreignServer": "", - "foreignOptionDisplay": "", - "fields": [ { "objectType": "TableField_PGSQL", - "name": "ca_id", + "name": "cntrb_starred_count", "type": "int8", "length": 64, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": false, - "defaultType": "Others", - "defaultValue": "nextval('augur_data.contributor_affiliations_ca_id_seq'::regclass)", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "ca_id", + "oldName": "cntrb_starred_count", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 1, + "ordinalPosition": 7, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -1740,23 +1698,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "ca_domain", - "type": "varchar", + "name": "cntrb_following_count", + "type": "int8", "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", - "isNullable": false, + "collation": "", + "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "ca_domain", + "oldName": "cntrb_following_count", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 2, + "collationSchema": "", + "ordinalPosition": 8, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -1770,23 +1728,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "ca_start_date", - "type": "date", - "length": 0, + "name": "cntrb_follower_count", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, "collation": "", "isNullable": true, - "defaultType": "Others", - "defaultValue": "'1970-01-01'::date", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "ca_start_date", + "oldName": "cntrb_follower_count", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 3, + "ordinalPosition": 9, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -1800,23 +1758,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_source", + "name": "cntrb_login", "type": "varchar", "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", - "isNullable": true, + "isNullable": false, "defaultType": "None", "defaultValue": "", - "comment": "", - "oldName": "tool_source", + "comment": "Will be a double population with the same value as gh_login for github, but the local value for other systems. ", + "oldName": "cntrb_login", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 4, + "ordinalPosition": 10, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -1830,7 +1788,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_version", + "name": "cntrb_email", "type": "varchar", "length": 255, "decimals": 0, @@ -1839,14 +1797,14 @@ "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "", - "oldName": "tool_version", + "comment": "This needs to be here for matching contributor ids, which are augur, to the commit information. ", + "oldName": "cntrb_email", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 5, + "ordinalPosition": 11, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -1860,23 +1818,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_source", + "name": "cntrb_company", "type": "varchar", "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "NULL::character varying", "comment": "", - "oldName": "data_source", + "oldName": "cntrb_company", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 6, + "ordinalPosition": 12, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -1890,23 +1848,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_collection_date", + "name": "cntrb_created_at", "type": "timestamp", "length": 0, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": true, - "defaultType": "Others", - "defaultValue": "CURRENT_TIMESTAMP", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "data_collection_date", + "oldName": "cntrb_created_at", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 7, + "ordinalPosition": 13, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -1920,23 +1878,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "ca_last_used", - "type": "timestamp", - "length": 0, + "name": "cntrb_type", + "type": "varchar", + "length": 255, "decimals": 0, "dimensions": 0, - "collation": "", - "isNullable": false, - "defaultType": "Others", - "defaultValue": "CURRENT_TIMESTAMP", - "comment": "", - "oldName": "ca_last_used", + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "Present in another models. It is not currently used in Augur. ", + "oldName": "cntrb_type", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 8, + "collationSchema": "pg_catalog", + "ordinalPosition": 14, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -1950,23 +1908,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "ca_affiliation", - "type": "varchar", - "length": 0, + "name": "cntrb_fake", + "type": "int2", + "length": 16, "decimals": 0, "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "0", "comment": "", - "oldName": "ca_affiliation", + "oldName": "cntrb_fake", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 9, + "collationSchema": "", + "ordinalPosition": 15, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -1980,23 +1938,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "ca_active", + "name": "cntrb_deleted", "type": "int2", "length": 16, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": true, + "isNullable": false, "defaultType": "Others", - "defaultValue": "1", + "defaultValue": "0", "comment": "", - "oldName": "ca_active", + "oldName": "cntrb_deleted", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 10, + "ordinalPosition": 16, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -2007,90 +1965,26 @@ "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false - } - ], - "indexes": [], - "rules": [], - "primaryKey": { - "objectType": "PrimaryKey_PGSQL", - "name": "contributor_affiliations_pkey", - "fields": [ - "ca_id" - ], - "fillFactor": -1, - "indexTablespace": "", - "comment": "", - "isDeferrable": false, - "isDeferred": false, - "oldName": "contributor_affiliations_pkey" - }, - "foreignKeys": [], - "uniques": [ - { - "objectType": "Unique_PGSQL", - "name": "unique_domain", - "fields": [ - "ca_domain" - ], - "fillFactor": -1, - "indexTablespace": "", - "comment": "Only one row should exist for any given top level domain or subdomain. ", - "isDeferrable": false, - "isDeferred": false, - "oldName": "unique_domain" - } - ], - "checks": [], - "excludes": [], - "triggers": [], - "partitionKeys": [], - "partitions": [] - }, - { - "objectType": "TableNormal_PGSQL", - "name": "contributors", - "comment": "For GitHub, this should be repeated from gh_login. for other systems, it should be that systems login. ", - "tablespace": "", - "isUnlogged": false, - "owner": "augur", - "inheritFromTables": [], - "hasOIDs": false, - "fillFactor": -1, - "oldName": "contributors", - "oid": 187051, - "rows": 1, - "isInheritTables": false, - "cluster": "", - "ACL": "", - "isPartition": false, - "partitioningStrategy": "None", - "partitionOfSchema": "", - "partitionOfTable": "", - "partitionListValues": [], - "partitionRangeFromValues": [], - "partitionRangeToValues": [], - "foreignServer": "", - "foreignOptionDisplay": "", - "fields": [ + }, { "objectType": "TableField_PGSQL", - "name": "cntrb_id", - "type": "int8", - "length": 64, - "decimals": 0, + "name": "cntrb_long", + "type": "numeric", + "length": 11, + "decimals": 8, "dimensions": 0, "collation": "", - "isNullable": false, + "isNullable": true, "defaultType": "Others", - "defaultValue": "nextval('augur_data.contributors_cntrb_id_seq'::regclass)", + "defaultValue": "NULL::numeric", "comment": "", - "oldName": "cntrb_id", + "oldName": "cntrb_long", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 1, + "ordinalPosition": 17, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -2104,23 +1998,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "cntrb_login", - "type": "varchar", - "length": 255, - "decimals": 0, + "name": "cntrb_lat", + "type": "numeric", + "length": 10, + "decimals": 8, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "Will be a double population with the same value as gh_login for github, but the local value for other systems. ", - "oldName": "cntrb_login", + "defaultType": "Others", + "defaultValue": "NULL::numeric", + "comment": "", + "oldName": "cntrb_lat", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 2, + "collationSchema": "", + "ordinalPosition": 18, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -2134,23 +2028,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "cntrb_email", - "type": "varchar", - "length": 0, + "name": "cntrb_country_code", + "type": "char", + "length": 3, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "This needs to be here for matching contributor ids, which are augur, to the commit information. ", - "oldName": "cntrb_email", + "defaultType": "Others", + "defaultValue": "NULL::bpchar", + "comment": "", + "oldName": "cntrb_country_code", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 3, + "ordinalPosition": 19, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -2164,7 +2058,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "cntrb_company", + "name": "cntrb_state", "type": "varchar", "length": 255, "decimals": 0, @@ -2174,13 +2068,13 @@ "defaultType": "Others", "defaultValue": "NULL::character varying", "comment": "", - "oldName": "cntrb_company", + "oldName": "cntrb_state", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 4, + "ordinalPosition": 20, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -2194,23 +2088,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "cntrb_created_at", - "type": "timestamp", - "length": 0, + "name": "cntrb_city", + "type": "varchar", + "length": 255, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "NULL::character varying", "comment": "", - "oldName": "cntrb_created_at", + "oldName": "cntrb_city", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 5, + "collationSchema": "pg_catalog", + "ordinalPosition": 21, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -2224,23 +2118,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "cntrb_type", + "name": "cntrb_location", "type": "varchar", "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "Present in another models. It is not currently used in Augur. ", - "oldName": "cntrb_type", + "defaultType": "Others", + "defaultValue": "NULL::character varying", + "comment": "", + "oldName": "cntrb_location", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 6, + "ordinalPosition": 22, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -2254,23 +2148,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "cntrb_fake", - "type": "int2", - "length": 16, + "name": "cntrb_canonical", + "type": "varchar", + "length": 128, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, - "defaultType": "Others", - "defaultValue": "0", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "cntrb_fake", + "oldName": "cntrb_canonical", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 7, + "collationSchema": "pg_catalog", + "ordinalPosition": 23, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -2284,263 +2178,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "cntrb_deleted", - "type": "int2", - "length": 16, + "name": "gh_user_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, "collation": "", "isNullable": true, - "defaultType": "Others", - "defaultValue": "0", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "cntrb_deleted", + "oldName": "gh_user_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 8, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "cntrb_long", - "type": "numeric", - "length": 11, - "decimals": 8, - "dimensions": 0, - "collation": "", - "isNullable": true, - "defaultType": "Others", - "defaultValue": "NULL::numeric", - "comment": "", - "oldName": "cntrb_long", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 9, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "cntrb_lat", - "type": "numeric", - "length": 10, - "decimals": 8, - "dimensions": 0, - "collation": "", - "isNullable": true, - "defaultType": "Others", - "defaultValue": "NULL::numeric", - "comment": "", - "oldName": "cntrb_lat", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 10, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "cntrb_country_code", - "type": "char", - "length": 3, - "decimals": 0, - "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "Others", - "defaultValue": "NULL::bpchar", - "comment": "", - "oldName": "cntrb_country_code", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 11, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "cntrb_state", - "type": "varchar", - "length": 255, - "decimals": 0, - "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "Others", - "defaultValue": "NULL::character varying", - "comment": "", - "oldName": "cntrb_state", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 12, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "cntrb_city", - "type": "varchar", - "length": 255, - "decimals": 0, - "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "Others", - "defaultValue": "NULL::character varying", - "comment": "", - "oldName": "cntrb_city", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 13, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "cntrb_location", - "type": "varchar", - "length": 255, - "decimals": 0, - "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "Others", - "defaultValue": "NULL::character varying", - "comment": "", - "oldName": "cntrb_location", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 14, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "cntrb_canonical", - "type": "varchar", - "length": 0, - "decimals": 0, - "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "cntrb_canonical", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 15, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "gh_user_id", - "type": "int8", - "length": 64, - "decimals": 0, - "dimensions": 0, - "collation": "", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "gh_user_id", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 16, + "ordinalPosition": 24, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -2570,7 +2224,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 17, + "ordinalPosition": 25, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -2600,7 +2254,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 18, + "ordinalPosition": 26, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -2630,7 +2284,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 19, + "ordinalPosition": 27, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -2660,7 +2314,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 20, + "ordinalPosition": 28, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -2690,7 +2344,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 21, + "ordinalPosition": 29, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -2720,7 +2374,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 22, + "ordinalPosition": 30, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -2750,7 +2404,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 23, + "ordinalPosition": 31, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -2780,7 +2434,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 24, + "ordinalPosition": 32, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -2810,7 +2464,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 25, + "ordinalPosition": 33, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -2840,7 +2494,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 26, + "ordinalPosition": 34, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -2870,7 +2524,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 27, + "ordinalPosition": 35, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -2900,7 +2554,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 28, + "ordinalPosition": 36, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -2930,7 +2584,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 29, + "ordinalPosition": 37, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -2960,7 +2614,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 30, + "ordinalPosition": 38, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -2990,7 +2644,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 31, + "ordinalPosition": 39, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -3020,7 +2674,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 32, + "ordinalPosition": 40, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -3050,7 +2704,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 33, + "ordinalPosition": 41, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -3080,7 +2734,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 34, + "ordinalPosition": 42, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -3110,7 +2764,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 35, + "ordinalPosition": 43, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -3140,7 +2794,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 36, + "ordinalPosition": 44, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -3170,67 +2824,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 37, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "cntrb_full_name", - "type": "varchar", - "length": 0, - "decimals": 0, - "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "cntrb_full_name", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 38, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "cntrb_last_used", - "type": "timestamptz", - "length": 0, - "decimals": 0, - "dimensions": 0, - "collation": "", - "isNullable": true, - "defaultType": "Others", - "defaultValue": "NULL::timestamp with time zone", - "comment": "", - "oldName": "cntrb_last_used", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 39, + "ordinalPosition": 45, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -3246,109 +2840,7 @@ "indexes": [ { "objectType": "Index_PGSQL", - "name": "cnt-fullname", - "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "Hash", - "tableSpaceName": "", - "constraint": "", - "oldName": "cnt-fullname", - "oid": 203586, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "contributors", - "size": "32", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "cntrb_full_name", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cntrb_full_name", - "collationSchema": "pg_catalog" - } - ] - }, - { - "objectType": "Index_PGSQL", - "name": "cntrb-theemail", - "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "Hash", - "tableSpaceName": "", - "constraint": "", - "oldName": "cntrb-theemail", - "oid": 203595, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "contributors", - "size": "32", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "cntrb_email", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cntrb_email", - "collationSchema": "pg_catalog" - } - ] - }, - { - "objectType": "Index_PGSQL", - "name": "cntrb_canonica-idx11", - "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "cntrb_canonica-idx11", - "oid": 28216395, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "contributors", - "size": "16", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "cntrb_canonical", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cntrb_canonical", - "collationSchema": "pg_catalog" - } - ] - }, - { - "objectType": "Index_PGSQL", - "name": "cntrb_login_platform_index", + "name": "contrb-history-dix1", "comment": "", "isClustered": false, "isConcurrently": false, @@ -3359,154 +2851,19 @@ "method": "BTree", "tableSpaceName": "", "constraint": "", - "oldName": "cntrb_login_platform_index", - "oid": 203596, + "oldName": "contrb-history-dix1", + "oid": 203687, "owner": "augur", "brinPagesPerRange": -1, "ginPendingListLimit": -1, - "tableName": "contributors", - "size": "16", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "cntrb_login", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cntrb_login", - "collationSchema": "pg_catalog" - } - ] - }, - { - "objectType": "Index_PGSQL", - "name": "contributor_delete_finder", - "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BRIN", - "tableSpaceName": "", - "constraint": "", - "oldName": "contributor_delete_finder", - "oid": 203698, - "owner": "augur", - "brinPagesPerRange": 64, - "ginPendingListLimit": -1, - "tableName": "contributors", - "size": "24", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "cntrb_id", - "collation": "", - "opClass": "int8_minmax_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cntrb_id", - "collationSchema": "" - }, - { - "objectType": "IndexField_PGSQL", - "name": "cntrb_email", - "collation": "default", - "opClass": "text_minmax_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cntrb_email", - "collationSchema": "pg_catalog" - } - ] - }, - { - "objectType": "Index_PGSQL", - "name": "contributor_worker_email_finder", - "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BRIN", - "tableSpaceName": "", - "constraint": "", - "oldName": "contributor_worker_email_finder", - "oid": 203699, - "owner": "augur", - "brinPagesPerRange": 64, - "ginPendingListLimit": -1, - "tableName": "contributors", - "size": "24", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "cntrb_email", - "collation": "default", - "opClass": "text_minmax_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cntrb_email", - "collationSchema": "pg_catalog" - } - ] - }, - { - "objectType": "Index_PGSQL", - "name": "contributor_worker_finder", - "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BRIN", - "tableSpaceName": "", - "constraint": "", - "oldName": "contributor_worker_finder", - "oid": 203700, - "owner": "augur", - "brinPagesPerRange": 64, - "ginPendingListLimit": -1, - "tableName": "contributors", - "size": "24", + "tableName": "contributors_history", + "size": "8", "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "cntrb_login", - "collation": "default", - "opClass": "text_minmax_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cntrb_login", - "collationSchema": "pg_catalog" - }, - { - "objectType": "IndexField_PGSQL", - "name": "cntrb_email", - "collation": "default", - "opClass": "text_minmax_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cntrb_email", - "collationSchema": "pg_catalog" - }, { "objectType": "IndexField_PGSQL", "name": "cntrb_id", "collation": "", - "opClass": "int8_minmax_ops", + "opClass": "int8_ops", "opClassSchema": "pg_catalog", "order": "ASC", "nullSort": "NULLS LAST", @@ -3517,109 +2874,7 @@ }, { "objectType": "Index_PGSQL", - "name": "contributor_worker_fullname_finder", - "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BRIN", - "tableSpaceName": "", - "constraint": "", - "oldName": "contributor_worker_fullname_finder", - "oid": 203712, - "owner": "augur", - "brinPagesPerRange": 64, - "ginPendingListLimit": -1, - "tableName": "contributors", - "size": "24", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "cntrb_full_name", - "collation": "default", - "opClass": "text_minmax_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cntrb_full_name", - "collationSchema": "pg_catalog" - } - ] - }, - { - "objectType": "Index_PGSQL", - "name": "contributors_idx_cntrb_email3", - "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "contributors_idx_cntrb_email3", - "oid": 203713, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "contributors", - "size": "16", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "cntrb_email", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cntrb_email", - "collationSchema": "pg_catalog" - } - ] - }, - { - "objectType": "Index_PGSQL", - "name": "login", - "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "login", - "oid": 203766, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "contributors", - "size": "16", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "cntrb_login", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cntrb_login", - "collationSchema": "pg_catalog" - } - ] - }, - { - "objectType": "Index_PGSQL", - "name": "login-contributor-idx", + "name": "login_index_2", "comment": "", "isClustered": false, "isConcurrently": false, @@ -3630,13 +2885,13 @@ "method": "BTree", "tableSpaceName": "", "constraint": "", - "oldName": "login-contributor-idx", - "oid": 203767, + "oldName": "login_index_2", + "oid": 203775, "owner": "augur", "brinPagesPerRange": -1, "ginPendingListLimit": -1, - "tableName": "contributors", - "size": "16", + "tableName": "contributors_history", + "size": "8", "fields": [ { "objectType": "IndexField_PGSQL", @@ -3655,18 +2910,40 @@ "rules": [], "primaryKey": { "objectType": "PrimaryKey_PGSQL", - "name": "contributors_pkey", + "name": "contributors_history_pkey", "fields": [ - "cntrb_id" + "cntrb_history_id" ], "fillFactor": -1, "indexTablespace": "", "comment": "", "isDeferrable": false, "isDeferred": false, - "oldName": "contributors_pkey" + "oldName": "contributors_history_pkey" }, - "foreignKeys": [], + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_contributors_history_contributors_1", + "fields": [ + "cntrb_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "contributors", + "referenceFields": [ + "cntrb_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "OneAndOnlyOneRelationship", + "oldName": "fk_contributors_history_contributors_1" + } + ], "uniques": [], "checks": [], "excludes": [], @@ -3676,16 +2953,16 @@ }, { "objectType": "TableNormal_PGSQL", - "name": "contributors_history", - "comment": "For GitHub, this should be repeated from gh_login. for other systems, it should be that systems login. \n\nAt this time the table is not populated. ", + "name": "discourse_insights", + "comment": "", "tablespace": "", "isUnlogged": false, "owner": "augur", "inheritFromTables": [], "hasOIDs": false, "fillFactor": -1, - "oldName": "contributors_history", - "oid": 187380, + "oldName": "discourse_insights", + "oid": 187584, "rows": 0, "isInheritTables": false, "cluster": "", @@ -3702,7 +2979,7 @@ "fields": [ { "objectType": "TableField_PGSQL", - "name": "cntrb_history_id", + "name": "msg_discourse_id", "type": "int8", "length": 64, "decimals": 0, @@ -3710,9 +2987,9 @@ "collation": "", "isNullable": false, "defaultType": "Others", - "defaultValue": "nextval('augur_data.contributors_history_cntrb_history_id_seq'::regclass)", + "defaultValue": "nextval('augur_data.discourse_insights_msg_discourse_id_seq1'::regclass)", "comment": "", - "oldName": "cntrb_history_id", + "oldName": "msg_discourse_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -3732,17 +3009,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "cntrb_id", + "name": "msg_id", "type": "int8", "length": 64, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": false, + "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "cntrb_id", + "oldName": "msg_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -3762,22 +3039,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "cntrb_history_timestamp", - "type": "timestamp", + "name": "discourse_act", + "type": "varchar", "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", - "isNullable": false, - "defaultType": "Others", - "defaultValue": "CURRENT_TIMESTAMP", + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "cntrb_history_timestamp", + "oldName": "discourse_act", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 3, "foreignOptions": [], "isIdentity": false, @@ -3792,22 +3069,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "cntrb_history_current_bool", - "type": "bool", + "name": "tool_source", + "type": "varchar", "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "At some point it would be great to have a boolean updated by a contributor worker that set the most recent contributor data to true. ", - "oldName": "cntrb_history_current_bool", + "comment": "", + "oldName": "tool_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 4, "foreignOptions": [], "isIdentity": false, @@ -3822,22 +3099,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "cntrb_organizations_list", - "type": "json", + "name": "tool_version", + "type": "varchar", "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "cntrb_organizations_list", + "oldName": "tool_version", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 5, "foreignOptions": [], "isIdentity": false, @@ -3852,22 +3129,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "cntrb_gists_count", - "type": "int8", - "length": 64, + "name": "data_source", + "type": "varchar", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "cntrb_gists_count", + "oldName": "data_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 6, "foreignOptions": [], "isIdentity": false, @@ -3882,17 +3159,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "cntrb_starred_count", - "type": "int8", - "length": 64, + "name": "data_collection_date", + "type": "timestamptz", + "length": 6, "decimals": 0, "dimensions": 0, "collation": "", "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", "comment": "", - "oldName": "cntrb_starred_count", + "oldName": "data_collection_date", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -3909,26 +3186,98 @@ "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false - }, + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "discourse_insights_pkey", + "fields": [ + "msg_discourse_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "discourse_insights_pkey" + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_discourse_insights_message_1", + "fields": [ + "msg_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "message", + "referenceFields": [ + "msg_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_discourse_insights_message_1" + } + ], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "dm_repo_annual", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "dm_repo_annual", + "oid": 187737, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ { "objectType": "TableField_PGSQL", - "name": "cntrb_following_count", + "name": "repo_id", "type": "int8", "length": 64, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": true, + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "cntrb_following_count", + "oldName": "repo_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 8, + "ordinalPosition": 1, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -3942,23 +3291,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "cntrb_follower_count", - "type": "int8", - "length": 64, + "name": "email", + "type": "varchar", + "length": 128, "decimals": 0, "dimensions": 0, - "collation": "", - "isNullable": true, + "collation": "default", + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "cntrb_follower_count", + "oldName": "email", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 9, + "collationSchema": "pg_catalog", + "ordinalPosition": 2, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -3972,23 +3321,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "cntrb_login", + "name": "affiliation", "type": "varchar", - "length": 255, + "length": 128, "decimals": 0, "dimensions": 0, "collation": "default", - "isNullable": false, - "defaultType": "None", - "defaultValue": "", - "comment": "Will be a double population with the same value as gh_login for github, but the local value for other systems. ", - "oldName": "cntrb_login", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "'NULL'::character varying", + "comment": "", + "oldName": "affiliation", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 10, + "ordinalPosition": 3, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -4002,23 +3351,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "cntrb_email", - "type": "varchar", - "length": 255, + "name": "year", + "type": "int2", + "length": 16, "decimals": 0, "dimensions": 0, - "collation": "default", - "isNullable": true, + "collation": "", + "isNullable": false, "defaultType": "None", "defaultValue": "", - "comment": "This needs to be here for matching contributor ids, which are augur, to the commit information. ", - "oldName": "cntrb_email", + "comment": "", + "oldName": "year", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 11, + "collationSchema": "", + "ordinalPosition": 4, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -4032,23 +3381,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "cntrb_company", - "type": "varchar", - "length": 255, + "name": "added", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "Others", - "defaultValue": "NULL::character varying", + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "cntrb_company", + "oldName": "added", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 12, + "collationSchema": "", + "ordinalPosition": 5, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -4062,9 +3411,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "cntrb_created_at", - "type": "timestamp", - "length": 0, + "name": "removed", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, "collation": "", @@ -4072,13 +3421,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "cntrb_created_at", + "oldName": "removed", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 13, + "ordinalPosition": 6, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -4092,23 +3441,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "cntrb_type", - "type": "varchar", - "length": 255, + "name": "whitespace", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", - "isNullable": true, + "collation": "", + "isNullable": false, "defaultType": "None", "defaultValue": "", - "comment": "Present in another models. It is not currently used in Augur. ", - "oldName": "cntrb_type", + "comment": "", + "oldName": "whitespace", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 14, + "collationSchema": "", + "ordinalPosition": 7, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -4122,23 +3471,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "cntrb_fake", - "type": "int2", - "length": 16, + "name": "files", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, "collation": "", "isNullable": false, - "defaultType": "Others", - "defaultValue": "0", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "cntrb_fake", + "oldName": "files", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 15, + "ordinalPosition": 8, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -4152,23 +3501,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "cntrb_deleted", - "type": "int2", - "length": 16, + "name": "patches", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, "collation": "", "isNullable": false, - "defaultType": "Others", - "defaultValue": "0", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "cntrb_deleted", + "oldName": "patches", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 16, + "ordinalPosition": 9, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -4182,23 +3531,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "cntrb_long", - "type": "numeric", - "length": 11, - "decimals": 8, + "name": "tool_source", + "type": "varchar", + "length": 255, + "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, - "defaultType": "Others", - "defaultValue": "NULL::numeric", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "cntrb_long", + "oldName": "tool_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 17, + "collationSchema": "pg_catalog", + "ordinalPosition": 10, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -4212,23 +3561,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "cntrb_lat", - "type": "numeric", - "length": 10, - "decimals": 8, + "name": "tool_version", + "type": "varchar", + "length": 255, + "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, - "defaultType": "Others", - "defaultValue": "NULL::numeric", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "cntrb_lat", + "oldName": "tool_version", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 18, + "collationSchema": "pg_catalog", + "ordinalPosition": 11, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -4242,23 +3591,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "cntrb_country_code", - "type": "char", - "length": 3, + "name": "data_source", + "type": "varchar", + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, - "defaultType": "Others", - "defaultValue": "NULL::bpchar", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "cntrb_country_code", + "oldName": "data_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 19, + "ordinalPosition": 12, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -4272,23 +3621,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "cntrb_state", - "type": "varchar", - "length": 255, + "name": "data_collection_date", + "type": "timestamp", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "Others", - "defaultValue": "NULL::character varying", + "defaultValue": "CURRENT_TIMESTAMP", "comment": "", - "oldName": "cntrb_state", + "oldName": "data_collection_date", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 20, + "collationSchema": "", + "ordinalPosition": 13, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -4299,26 +3648,154 @@ "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false + } + ], + "indexes": [ + { + "objectType": "Index_PGSQL", + "name": "repo_id,affiliation_copy_1", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "repo_id,affiliation_copy_1", + "oid": 203876, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "dm_repo_annual", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "repo_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "repo_id", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "affiliation", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "affiliation", + "collationSchema": "pg_catalog" + } + ] }, + { + "objectType": "Index_PGSQL", + "name": "repo_id,email_copy_1", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "repo_id,email_copy_1", + "oid": 203894, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "dm_repo_annual", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "repo_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "repo_id", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "email", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "email", + "collationSchema": "pg_catalog" + } + ] + } + ], + "rules": [], + "foreignKeys": [], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "dm_repo_group_annual", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "dm_repo_group_annual", + "oid": 187850, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ { "objectType": "TableField_PGSQL", - "name": "cntrb_city", - "type": "varchar", - "length": 255, + "name": "repo_group_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "Others", - "defaultValue": "NULL::character varying", + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "cntrb_city", + "oldName": "repo_group_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 21, + "collationSchema": "", + "ordinalPosition": 1, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -4332,23 +3809,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "cntrb_location", + "name": "email", "type": "varchar", - "length": 255, + "length": 128, "decimals": 0, "dimensions": 0, "collation": "default", - "isNullable": true, - "defaultType": "Others", - "defaultValue": "NULL::character varying", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "cntrb_location", + "oldName": "email", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 22, + "ordinalPosition": 2, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -4362,23 +3839,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "cntrb_canonical", + "name": "affiliation", "type": "varchar", "length": 128, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "'NULL'::character varying", "comment": "", - "oldName": "cntrb_canonical", + "oldName": "affiliation", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 23, + "ordinalPosition": 3, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -4392,23 +3869,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "gh_user_id", - "type": "int8", - "length": 64, + "name": "year", + "type": "int2", + "length": 16, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": true, + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "gh_user_id", + "oldName": "year", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 24, + "ordinalPosition": 4, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -4422,23 +3899,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "gh_login", - "type": "varchar", - "length": 255, + "name": "added", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", - "isNullable": true, + "collation": "", + "isNullable": false, "defaultType": "None", "defaultValue": "", - "comment": "populated with the github user name for github originated data. ", - "oldName": "gh_login", + "comment": "", + "oldName": "added", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 25, + "collationSchema": "", + "ordinalPosition": 5, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -4452,23 +3929,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "gh_url", - "type": "varchar", - "length": 255, - "decimals": 0, - "dimensions": 0, - "collation": "default", - "isNullable": true, + "name": "removed", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "gh_url", + "oldName": "removed", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 26, + "collationSchema": "", + "ordinalPosition": 6, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -4482,23 +3959,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "gh_html_url", - "type": "varchar", - "length": 255, + "name": "whitespace", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", - "isNullable": true, + "collation": "", + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "gh_html_url", + "oldName": "whitespace", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 27, + "collationSchema": "", + "ordinalPosition": 7, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -4512,23 +3989,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "gh_node_id", - "type": "varchar", - "length": 255, + "name": "files", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", - "isNullable": true, + "collation": "", + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "gh_node_id", + "oldName": "files", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 28, + "collationSchema": "", + "ordinalPosition": 8, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -4542,23 +4019,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "gh_avatar_url", - "type": "varchar", - "length": 4000, + "name": "patches", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", - "isNullable": true, + "collation": "", + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "gh_avatar_url", + "oldName": "patches", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 29, + "collationSchema": "", + "ordinalPosition": 9, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -4572,7 +4049,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "gh_gravatar_id", + "name": "tool_source", "type": "varchar", "length": 255, "decimals": 0, @@ -4582,13 +4059,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "gh_gravatar_id", + "oldName": "tool_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 30, + "ordinalPosition": 10, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -4602,9 +4079,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "gh_followers_url", + "name": "tool_version", "type": "varchar", - "length": 4000, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", @@ -4612,13 +4089,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "gh_followers_url", + "oldName": "tool_version", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 31, + "ordinalPosition": 11, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -4632,9 +4109,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "gh_following_url", + "name": "data_source", "type": "varchar", - "length": 4000, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", @@ -4642,13 +4119,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "gh_following_url", + "oldName": "data_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 32, + "ordinalPosition": 12, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -4662,23 +4139,181 @@ }, { "objectType": "TableField_PGSQL", - "name": "gh_gists_url", - "type": "varchar", - "length": 4000, + "name": "data_collection_date", + "type": "timestamp", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", + "comment": "", + "oldName": "data_collection_date", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 13, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [ + { + "objectType": "Index_PGSQL", + "name": "projects_id,affiliation_copy_1", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "projects_id,affiliation_copy_1", + "oid": 203832, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "dm_repo_group_annual", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "repo_group_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "repo_group_id", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "affiliation", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "affiliation", + "collationSchema": "pg_catalog" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "projects_id,email_copy_1", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "projects_id,email_copy_1", + "oid": 203839, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "dm_repo_group_annual", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "repo_group_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "repo_group_id", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "email", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "email", + "collationSchema": "pg_catalog" + } + ] + } + ], + "rules": [], + "foreignKeys": [], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "dm_repo_group_monthly", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "dm_repo_group_monthly", + "oid": 187903, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "repo_group_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "gh_gists_url", + "oldName": "repo_group_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 33, + "collationSchema": "", + "ordinalPosition": 1, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -4692,23 +4327,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "gh_starred_url", + "name": "email", "type": "varchar", - "length": 4000, + "length": 128, "decimals": 0, "dimensions": 0, "collation": "default", - "isNullable": true, + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "gh_starred_url", + "oldName": "email", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 34, + "ordinalPosition": 2, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -4722,23 +4357,53 @@ }, { "objectType": "TableField_PGSQL", - "name": "gh_subscriptions_url", + "name": "affiliation", "type": "varchar", - "length": 4000, + "length": 128, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, + "defaultType": "Others", + "defaultValue": "'NULL'::character varying", + "comment": "", + "oldName": "affiliation", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "month", + "type": "int2", + "length": 16, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "gh_subscriptions_url", + "oldName": "month", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 35, + "collationSchema": "", + "ordinalPosition": 4, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -4752,23 +4417,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "gh_organizations_url", - "type": "varchar", - "length": 4000, + "name": "year", + "type": "int2", + "length": 16, "decimals": 0, "dimensions": 0, - "collation": "default", - "isNullable": true, + "collation": "", + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "gh_organizations_url", + "oldName": "year", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 36, + "collationSchema": "", + "ordinalPosition": 5, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -4782,23 +4447,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "gh_repos_url", - "type": "varchar", - "length": 4000, + "name": "added", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", - "isNullable": true, + "collation": "", + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "gh_repos_url", + "oldName": "added", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 37, + "collationSchema": "", + "ordinalPosition": 6, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -4812,23 +4477,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "gh_events_url", - "type": "varchar", - "length": 4000, + "name": "removed", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", - "isNullable": true, + "collation": "", + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "gh_events_url", + "oldName": "removed", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 38, + "collationSchema": "", + "ordinalPosition": 7, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -4842,23 +4507,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "gh_received_events_url", - "type": "varchar", - "length": 4000, + "name": "whitespace", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", - "isNullable": true, + "collation": "", + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "gh_received_events_url", + "oldName": "whitespace", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 39, + "collationSchema": "", + "ordinalPosition": 8, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -4872,23 +4537,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "gh_type", - "type": "varchar", - "length": 255, + "name": "files", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", - "isNullable": true, + "collation": "", + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "gh_type", + "oldName": "files", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 40, + "collationSchema": "", + "ordinalPosition": 9, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -4902,23 +4567,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "gh_site_admin", - "type": "varchar", - "length": 255, + "name": "patches", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", - "isNullable": true, + "collation": "", + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "gh_site_admin", + "oldName": "patches", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 41, + "collationSchema": "", + "ordinalPosition": 10, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -4948,7 +4613,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 42, + "ordinalPosition": 11, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -4978,7 +4643,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 43, + "ordinalPosition": 12, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -5008,7 +4673,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 44, + "ordinalPosition": 13, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -5038,7 +4703,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 45, + "ordinalPosition": 14, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -5054,7 +4719,7 @@ "indexes": [ { "objectType": "Index_PGSQL", - "name": "contrb-history-dix1", + "name": "projects_id,affiliation_copy_2", "comment": "", "isClustered": false, "isConcurrently": false, @@ -5065,30 +4730,41 @@ "method": "BTree", "tableSpaceName": "", "constraint": "", - "oldName": "contrb-history-dix1", - "oid": 203687, + "oldName": "projects_id,affiliation_copy_2", + "oid": 203835, "owner": "augur", "brinPagesPerRange": -1, "ginPendingListLimit": -1, - "tableName": "contributors_history", + "tableName": "dm_repo_group_monthly", "size": "8", "fields": [ { "objectType": "IndexField_PGSQL", - "name": "cntrb_id", + "name": "repo_group_id", "collation": "", "opClass": "int8_ops", "opClassSchema": "pg_catalog", "order": "ASC", "nullSort": "NULLS LAST", - "oldName": "cntrb_id", + "oldName": "repo_group_id", "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "affiliation", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "affiliation", + "collationSchema": "pg_catalog" } ] }, { "objectType": "Index_PGSQL", - "name": "login_index_2", + "name": "projects_id,email_copy_2", "comment": "", "isClustered": false, "isConcurrently": false, @@ -5099,347 +4775,153 @@ "method": "BTree", "tableSpaceName": "", "constraint": "", - "oldName": "login_index_2", - "oid": 203775, + "oldName": "projects_id,email_copy_2", + "oid": 203853, "owner": "augur", "brinPagesPerRange": -1, "ginPendingListLimit": -1, - "tableName": "contributors_history", + "tableName": "dm_repo_group_monthly", "size": "8", "fields": [ { "objectType": "IndexField_PGSQL", - "name": "cntrb_login", + "name": "repo_group_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "repo_group_id", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "email", "collation": "default", "opClass": "text_ops", "opClassSchema": "pg_catalog", "order": "ASC", "nullSort": "NULLS LAST", - "oldName": "cntrb_login", + "oldName": "email", "collationSchema": "pg_catalog" } ] - } - ], - "rules": [], - "primaryKey": { - "objectType": "PrimaryKey_PGSQL", - "name": "contributors_history_pkey", - "fields": [ - "cntrb_history_id" - ], - "fillFactor": -1, - "indexTablespace": "", - "comment": "", - "isDeferrable": false, - "isDeferred": false, - "oldName": "contributors_history_pkey" - }, - "foreignKeys": [ + }, { - "objectType": "ForeignKey_PGSQL", - "name": "fk_contributors_history_contributors_1", - "fields": [ - "cntrb_id" - ], - "referenceSchema": "augur_data", - "referenceTable": "contributors", - "referenceFields": [ - "cntrb_id" - ], - "onDelete": "NO ACTION", - "onUpdate": "NO ACTION", + "objectType": "Index_PGSQL", + "name": "projects_id,year,affiliation_copy_1", "comment": "", - "isMatchFull": false, - "isDeferrable": false, - "isDeferred": false, - "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "OneAndOnlyOneRelationship", - "oldName": "fk_contributors_history_contributors_1" - } - ], - "uniques": [], - "checks": [], - "excludes": [], - "triggers": [], - "partitionKeys": [], - "partitions": [] - }, - { - "objectType": "TableNormal_PGSQL", - "name": "discourse_insights", - "comment": "", - "tablespace": "", - "isUnlogged": false, - "owner": "augur", - "inheritFromTables": [], - "hasOIDs": false, - "fillFactor": -1, - "oldName": "discourse_insights", - "oid": 187584, - "rows": 0, - "isInheritTables": false, - "cluster": "", - "ACL": "", - "isPartition": false, - "partitioningStrategy": "None", - "partitionOfSchema": "", - "partitionOfTable": "", - "partitionListValues": [], - "partitionRangeFromValues": [], - "partitionRangeToValues": [], - "foreignServer": "", - "foreignOptionDisplay": "", - "fields": [ - { - "objectType": "TableField_PGSQL", - "name": "msg_discourse_id", - "type": "int8", - "length": 64, - "decimals": 0, - "dimensions": 0, - "collation": "", - "isNullable": false, - "defaultType": "Others", - "defaultValue": "nextval('augur_data.discourse_insights_msg_discourse_id_seq1'::regclass)", - "comment": "", - "oldName": "msg_discourse_id", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 1, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "msg_id", - "type": "int8", - "length": 64, - "decimals": 0, - "dimensions": 0, - "collation": "", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "msg_id", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 2, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "discourse_act", - "type": "varchar", - "length": 0, - "decimals": 0, - "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "discourse_act", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 3, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "tool_source", - "type": "varchar", - "length": 0, - "decimals": 0, - "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "tool_source", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 4, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "tool_version", - "type": "varchar", - "length": 0, - "decimals": 0, - "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "tool_version", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 5, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "data_source", - "type": "varchar", - "length": 0, - "decimals": 0, - "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "data_source", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 6, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "projects_id,year,affiliation_copy_1", + "oid": 203865, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "dm_repo_group_monthly", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "repo_group_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "repo_group_id", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "year", + "collation": "", + "opClass": "int2_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "year", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "affiliation", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "affiliation", + "collationSchema": "pg_catalog" + } + ] }, { - "objectType": "TableField_PGSQL", - "name": "data_collection_date", - "type": "timestamptz", - "length": 6, - "decimals": 0, - "dimensions": 0, - "collation": "", - "isNullable": true, - "defaultType": "Others", - "defaultValue": "CURRENT_TIMESTAMP", + "objectType": "Index_PGSQL", + "name": "projects_id,year,email_copy_1", "comment": "", - "oldName": "data_collection_date", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 7, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - } - ], - "indexes": [], - "rules": [], - "primaryKey": { - "objectType": "PrimaryKey_PGSQL", - "name": "discourse_insights_pkey", - "fields": [ - "msg_discourse_id" - ], - "fillFactor": -1, - "indexTablespace": "", - "comment": "", - "isDeferrable": false, - "isDeferred": false, - "oldName": "discourse_insights_pkey" - }, - "foreignKeys": [ - { - "objectType": "ForeignKey_PGSQL", - "name": "fk_discourse_insights_message_1", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "projects_id,year,email_copy_1", + "oid": 203869, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "dm_repo_group_monthly", + "size": "8", "fields": [ - "msg_id" - ], - "referenceSchema": "augur_data", - "referenceTable": "message", - "referenceFields": [ - "msg_id" - ], - "onDelete": "NO ACTION", - "onUpdate": "NO ACTION", - "comment": "", - "isMatchFull": false, - "isDeferrable": false, - "isDeferred": false, - "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "ZeroOrOneRelationship", - "oldName": "fk_discourse_insights_message_1" + { + "objectType": "IndexField_PGSQL", + "name": "repo_group_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "repo_group_id", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "year", + "collation": "", + "opClass": "int2_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "year", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "email", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "email", + "collationSchema": "pg_catalog" + } + ] } ], + "rules": [], + "foreignKeys": [], "uniques": [], "checks": [], "excludes": [], @@ -5449,7 +4931,7 @@ }, { "objectType": "TableNormal_PGSQL", - "name": "dm_repo_annual", + "name": "dm_repo_group_weekly", "comment": "", "tablespace": "", "isUnlogged": false, @@ -5457,8 +4939,8 @@ "inheritFromTables": [], "hasOIDs": false, "fillFactor": -1, - "oldName": "dm_repo_annual", - "oid": 187737, + "oldName": "dm_repo_group_weekly", + "oid": 187957, "rows": 0, "isInheritTables": false, "cluster": "", @@ -5475,7 +4957,7 @@ "fields": [ { "objectType": "TableField_PGSQL", - "name": "repo_id", + "name": "repo_group_id", "type": "int8", "length": 64, "decimals": 0, @@ -5485,7 +4967,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "repo_id", + "oldName": "repo_group_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -5563,6 +5045,36 @@ "hasNoIdentityMaxValue": false, "isIdentityCycle": false }, + { + "objectType": "TableField_PGSQL", + "name": "week", + "type": "int2", + "length": 16, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "week", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 4, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, { "objectType": "TableField_PGSQL", "name": "year", @@ -5581,7 +5093,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 4, + "ordinalPosition": 5, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -5611,7 +5123,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 5, + "ordinalPosition": 6, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -5641,7 +5153,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 6, + "ordinalPosition": 7, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -5671,7 +5183,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 7, + "ordinalPosition": 8, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -5701,7 +5213,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 8, + "ordinalPosition": 9, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -5731,7 +5243,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 9, + "ordinalPosition": 10, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -5761,7 +5273,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 10, + "ordinalPosition": 11, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -5791,7 +5303,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 11, + "ordinalPosition": 12, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -5821,7 +5333,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 12, + "ordinalPosition": 13, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -5851,7 +5363,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 13, + "ordinalPosition": 14, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -5867,7 +5379,7 @@ "indexes": [ { "objectType": "Index_PGSQL", - "name": "repo_id,affiliation_copy_1", + "name": "projects_id,affiliation", "comment": "", "isClustered": false, "isConcurrently": false, @@ -5878,23 +5390,23 @@ "method": "BTree", "tableSpaceName": "", "constraint": "", - "oldName": "repo_id,affiliation_copy_1", - "oid": 203876, + "oldName": "projects_id,affiliation", + "oid": 203831, "owner": "augur", "brinPagesPerRange": -1, "ginPendingListLimit": -1, - "tableName": "dm_repo_annual", + "tableName": "dm_repo_group_weekly", "size": "8", "fields": [ { "objectType": "IndexField_PGSQL", - "name": "repo_id", + "name": "repo_group_id", "collation": "", "opClass": "int8_ops", "opClassSchema": "pg_catalog", "order": "ASC", "nullSort": "NULLS LAST", - "oldName": "repo_id", + "oldName": "repo_group_id", "collationSchema": "" }, { @@ -5912,7 +5424,7 @@ }, { "objectType": "Index_PGSQL", - "name": "repo_id,email_copy_1", + "name": "projects_id,email", "comment": "", "isClustered": false, "isConcurrently": false, @@ -5923,23 +5435,23 @@ "method": "BTree", "tableSpaceName": "", "constraint": "", - "oldName": "repo_id,email_copy_1", - "oid": 203894, + "oldName": "projects_id,email", + "oid": 203838, "owner": "augur", "brinPagesPerRange": -1, "ginPendingListLimit": -1, - "tableName": "dm_repo_annual", + "tableName": "dm_repo_group_weekly", "size": "8", "fields": [ { "objectType": "IndexField_PGSQL", - "name": "repo_id", + "name": "repo_group_id", "collation": "", "opClass": "int8_ops", "opClassSchema": "pg_catalog", "order": "ASC", "nullSort": "NULLS LAST", - "oldName": "repo_id", + "oldName": "repo_group_id", "collationSchema": "" }, { @@ -5954,67 +5466,179 @@ "collationSchema": "pg_catalog" } ] - } - ], - "rules": [], - "foreignKeys": [], - "uniques": [], - "checks": [], - "excludes": [], - "triggers": [], - "partitionKeys": [], - "partitions": [] - }, - { - "objectType": "TableNormal_PGSQL", - "name": "dm_repo_group_annual", - "comment": "", - "tablespace": "", - "isUnlogged": false, - "owner": "augur", - "inheritFromTables": [], - "hasOIDs": false, - "fillFactor": -1, - "oldName": "dm_repo_group_annual", - "oid": 187850, - "rows": 0, - "isInheritTables": false, - "cluster": "", - "ACL": "", - "isPartition": false, - "partitioningStrategy": "None", - "partitionOfSchema": "", - "partitionOfTable": "", - "partitionListValues": [], - "partitionRangeFromValues": [], - "partitionRangeToValues": [], - "foreignServer": "", - "foreignOptionDisplay": "", - "fields": [ + }, { - "objectType": "TableField_PGSQL", - "name": "repo_group_id", - "type": "int8", - "length": 64, - "decimals": 0, - "dimensions": 0, - "collation": "", - "isNullable": false, - "defaultType": "None", - "defaultValue": "", + "objectType": "Index_PGSQL", + "name": "projects_id,year,affiliation", "comment": "", - "oldName": "repo_group_id", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 1, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "projects_id,year,affiliation", + "oid": 203864, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "dm_repo_group_weekly", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "repo_group_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "repo_group_id", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "year", + "collation": "", + "opClass": "int2_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "year", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "affiliation", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "affiliation", + "collationSchema": "pg_catalog" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "projects_id,year,email", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "projects_id,year,email", + "oid": 203868, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "dm_repo_group_weekly", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "repo_group_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "repo_group_id", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "year", + "collation": "", + "opClass": "int2_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "year", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "email", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "email", + "collationSchema": "pg_catalog" + } + ] + } + ], + "rules": [], + "foreignKeys": [], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "dm_repo_monthly", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "dm_repo_monthly", + "oid": 188031, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "repo_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "repo_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, "identityMinimum": 0, "hasNoIdentityMinValue": false, "identityMaximum": 0, @@ -6081,6 +5705,36 @@ "hasNoIdentityMaxValue": false, "isIdentityCycle": false }, + { + "objectType": "TableField_PGSQL", + "name": "month", + "type": "int2", + "length": 16, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "month", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 4, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, { "objectType": "TableField_PGSQL", "name": "year", @@ -6099,7 +5753,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 4, + "ordinalPosition": 5, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -6129,7 +5783,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 5, + "ordinalPosition": 6, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -6159,7 +5813,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 6, + "ordinalPosition": 7, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -6189,7 +5843,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 7, + "ordinalPosition": 8, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -6219,7 +5873,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 8, + "ordinalPosition": 9, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -6249,7 +5903,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 9, + "ordinalPosition": 10, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -6279,7 +5933,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 10, + "ordinalPosition": 11, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -6309,7 +5963,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 11, + "ordinalPosition": 12, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -6339,7 +5993,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 12, + "ordinalPosition": 13, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -6369,7 +6023,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 13, + "ordinalPosition": 14, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -6385,7 +6039,7 @@ "indexes": [ { "objectType": "Index_PGSQL", - "name": "projects_id,affiliation_copy_1", + "name": "repo_id,affiliation_copy_2", "comment": "", "isClustered": false, "isConcurrently": false, @@ -6396,23 +6050,23 @@ "method": "BTree", "tableSpaceName": "", "constraint": "", - "oldName": "projects_id,affiliation_copy_1", - "oid": 203832, + "oldName": "repo_id,affiliation_copy_2", + "oid": 203886, "owner": "augur", "brinPagesPerRange": -1, "ginPendingListLimit": -1, - "tableName": "dm_repo_group_annual", + "tableName": "dm_repo_monthly", "size": "8", "fields": [ { "objectType": "IndexField_PGSQL", - "name": "repo_group_id", + "name": "repo_id", "collation": "", "opClass": "int8_ops", "opClassSchema": "pg_catalog", "order": "ASC", "nullSort": "NULLS LAST", - "oldName": "repo_group_id", + "oldName": "repo_id", "collationSchema": "" }, { @@ -6430,7 +6084,7 @@ }, { "objectType": "Index_PGSQL", - "name": "projects_id,email_copy_1", + "name": "repo_id,email_copy_2", "comment": "", "isClustered": false, "isConcurrently": false, @@ -6441,23 +6095,135 @@ "method": "BTree", "tableSpaceName": "", "constraint": "", - "oldName": "projects_id,email_copy_1", - "oid": 203839, + "oldName": "repo_id,email_copy_2", + "oid": 203897, "owner": "augur", "brinPagesPerRange": -1, "ginPendingListLimit": -1, - "tableName": "dm_repo_group_annual", + "tableName": "dm_repo_monthly", "size": "8", "fields": [ { "objectType": "IndexField_PGSQL", - "name": "repo_group_id", + "name": "repo_id", "collation": "", "opClass": "int8_ops", "opClassSchema": "pg_catalog", "order": "ASC", "nullSort": "NULLS LAST", - "oldName": "repo_group_id", + "oldName": "repo_id", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "email", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "email", + "collationSchema": "pg_catalog" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "repo_id,year,affiliation_copy_1", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "repo_id,year,affiliation_copy_1", + "oid": 203908, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "dm_repo_monthly", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "repo_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "repo_id", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "year", + "collation": "", + "opClass": "int2_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "year", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "affiliation", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "affiliation", + "collationSchema": "pg_catalog" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "repo_id,year,email_copy_1", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "repo_id,year,email_copy_1", + "oid": 203914, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "dm_repo_monthly", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "repo_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "repo_id", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "year", + "collation": "", + "opClass": "int2_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "year", "collationSchema": "" }, { @@ -6485,7 +6251,7 @@ }, { "objectType": "TableNormal_PGSQL", - "name": "dm_repo_group_monthly", + "name": "dm_repo_weekly", "comment": "", "tablespace": "", "isUnlogged": false, @@ -6493,8 +6259,8 @@ "inheritFromTables": [], "hasOIDs": false, "fillFactor": -1, - "oldName": "dm_repo_group_monthly", - "oid": 187903, + "oldName": "dm_repo_weekly", + "oid": 188098, "rows": 0, "isInheritTables": false, "cluster": "", @@ -6511,7 +6277,7 @@ "fields": [ { "objectType": "TableField_PGSQL", - "name": "repo_group_id", + "name": "repo_id", "type": "int8", "length": 64, "decimals": 0, @@ -6521,7 +6287,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "repo_group_id", + "oldName": "repo_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -6601,7 +6367,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "month", + "name": "week", "type": "int2", "length": 16, "decimals": 0, @@ -6611,7 +6377,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "month", + "oldName": "week", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -6933,7 +6699,7 @@ "indexes": [ { "objectType": "Index_PGSQL", - "name": "projects_id,affiliation_copy_2", + "name": "repo_id,affiliation", "comment": "", "isClustered": false, "isConcurrently": false, @@ -6944,23 +6710,23 @@ "method": "BTree", "tableSpaceName": "", "constraint": "", - "oldName": "projects_id,affiliation_copy_2", - "oid": 203835, + "oldName": "repo_id,affiliation", + "oid": 203874, "owner": "augur", "brinPagesPerRange": -1, "ginPendingListLimit": -1, - "tableName": "dm_repo_group_monthly", + "tableName": "dm_repo_weekly", "size": "8", "fields": [ { "objectType": "IndexField_PGSQL", - "name": "repo_group_id", + "name": "repo_id", "collation": "", "opClass": "int8_ops", "opClassSchema": "pg_catalog", "order": "ASC", "nullSort": "NULLS LAST", - "oldName": "repo_group_id", + "oldName": "repo_id", "collationSchema": "" }, { @@ -6978,7 +6744,7 @@ }, { "objectType": "Index_PGSQL", - "name": "projects_id,email_copy_2", + "name": "repo_id,email", "comment": "", "isClustered": false, "isConcurrently": false, @@ -6989,23 +6755,23 @@ "method": "BTree", "tableSpaceName": "", "constraint": "", - "oldName": "projects_id,email_copy_2", - "oid": 203853, + "oldName": "repo_id,email", + "oid": 203892, "owner": "augur", "brinPagesPerRange": -1, "ginPendingListLimit": -1, - "tableName": "dm_repo_group_monthly", + "tableName": "dm_repo_weekly", "size": "8", "fields": [ { "objectType": "IndexField_PGSQL", - "name": "repo_group_id", + "name": "repo_id", "collation": "", "opClass": "int8_ops", "opClassSchema": "pg_catalog", "order": "ASC", "nullSort": "NULLS LAST", - "oldName": "repo_group_id", + "oldName": "repo_id", "collationSchema": "" }, { @@ -7023,7 +6789,7 @@ }, { "objectType": "Index_PGSQL", - "name": "projects_id,year,affiliation_copy_1", + "name": "repo_id,year,affiliation", "comment": "", "isClustered": false, "isConcurrently": false, @@ -7034,23 +6800,23 @@ "method": "BTree", "tableSpaceName": "", "constraint": "", - "oldName": "projects_id,year,affiliation_copy_1", - "oid": 203865, + "oldName": "repo_id,year,affiliation", + "oid": 203906, "owner": "augur", "brinPagesPerRange": -1, "ginPendingListLimit": -1, - "tableName": "dm_repo_group_monthly", + "tableName": "dm_repo_weekly", "size": "8", "fields": [ { "objectType": "IndexField_PGSQL", - "name": "repo_group_id", + "name": "repo_id", "collation": "", "opClass": "int8_ops", "opClassSchema": "pg_catalog", "order": "ASC", "nullSort": "NULLS LAST", - "oldName": "repo_group_id", + "oldName": "repo_id", "collationSchema": "" }, { @@ -7079,7 +6845,7 @@ }, { "objectType": "Index_PGSQL", - "name": "projects_id,year,email_copy_1", + "name": "repo_id,year,email", "comment": "", "isClustered": false, "isConcurrently": false, @@ -7090,23 +6856,23 @@ "method": "BTree", "tableSpaceName": "", "constraint": "", - "oldName": "projects_id,year,email_copy_1", - "oid": 203869, + "oldName": "repo_id,year,email", + "oid": 203910, "owner": "augur", "brinPagesPerRange": -1, "ginPendingListLimit": -1, - "tableName": "dm_repo_group_monthly", + "tableName": "dm_repo_weekly", "size": "8", "fields": [ { "objectType": "IndexField_PGSQL", - "name": "repo_group_id", + "name": "repo_id", "collation": "", "opClass": "int8_ops", "opClassSchema": "pg_catalog", "order": "ASC", "nullSort": "NULLS LAST", - "oldName": "repo_group_id", + "oldName": "repo_id", "collationSchema": "" }, { @@ -7145,7 +6911,7 @@ }, { "objectType": "TableNormal_PGSQL", - "name": "dm_repo_group_weekly", + "name": "exclude", "comment": "", "tablespace": "", "isUnlogged": false, @@ -7153,8 +6919,8 @@ "inheritFromTables": [], "hasOIDs": false, "fillFactor": -1, - "oldName": "dm_repo_group_weekly", - "oid": 187957, + "oldName": "exclude", + "oid": 188171, "rows": 0, "isInheritTables": false, "cluster": "", @@ -7171,9 +6937,9 @@ "fields": [ { "objectType": "TableField_PGSQL", - "name": "repo_group_id", - "type": "int8", - "length": 64, + "name": "id", + "type": "int4", + "length": 32, "decimals": 0, "dimensions": 0, "collation": "", @@ -7181,7 +6947,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "repo_group_id", + "oldName": "id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -7201,22 +6967,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "email", - "type": "varchar", - "length": 128, + "name": "projects_id", + "type": "int4", + "length": 32, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "email", + "oldName": "projects_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 2, "foreignOptions": [], "isIdentity": false, @@ -7231,7 +6997,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "affiliation", + "name": "email", "type": "varchar", "length": 128, "decimals": 0, @@ -7241,7 +7007,7 @@ "defaultType": "Others", "defaultValue": "'NULL'::character varying", "comment": "", - "oldName": "affiliation", + "oldName": "email", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -7261,22 +7027,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "week", - "type": "int2", - "length": 16, + "name": "domain", + "type": "varchar", + "length": 128, "decimals": 0, "dimensions": 0, - "collation": "", - "isNullable": false, - "defaultType": "None", - "defaultValue": "", + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "'NULL'::character varying", "comment": "", - "oldName": "week", + "oldName": "domain", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 4, "foreignOptions": [], "isIdentity": false, @@ -7288,56 +7054,76 @@ "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "year", - "type": "int2", - "length": 16, - "decimals": 0, - "dimensions": 0, - "collation": "", - "isNullable": false, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "year", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 5, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "exclude_pkey", + "fields": [ + "id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "exclude_pkey" + }, + "foreignKeys": [], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "issue_labels", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "issue_labels", + "oid": 188655, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ { "objectType": "TableField_PGSQL", - "name": "added", + "name": "issue_label_id", "type": "int8", "length": 64, "decimals": 0, "dimensions": 0, "collation": "", "isNullable": false, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "nextval('augur_data.issue_labels_issue_label_id_seq'::regclass)", "comment": "", - "oldName": "added", + "oldName": "issue_label_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 6, + "ordinalPosition": 1, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -7351,23 +7137,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "removed", + "name": "issue_id", "type": "int8", "length": 64, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": false, + "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "removed", + "oldName": "issue_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 7, + "ordinalPosition": 2, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -7381,23 +7167,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "whitespace", - "type": "int8", - "length": 64, + "name": "label_text", + "type": "varchar", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", - "isNullable": false, + "collation": "default", + "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "whitespace", + "oldName": "label_text", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 8, + "collationSchema": "pg_catalog", + "ordinalPosition": 3, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -7411,23 +7197,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "files", - "type": "int8", - "length": 64, + "name": "label_description", + "type": "varchar", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", - "isNullable": false, + "collation": "default", + "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "files", + "oldName": "label_description", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 9, + "collationSchema": "pg_catalog", + "ordinalPosition": 4, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -7441,23 +7227,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "patches", - "type": "int8", - "length": 64, + "name": "label_color", + "type": "varchar", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", - "isNullable": false, + "collation": "default", + "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "patches", + "oldName": "label_color", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 10, + "collationSchema": "pg_catalog", + "ordinalPosition": 5, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -7487,7 +7273,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 11, + "ordinalPosition": 6, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -7517,7 +7303,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 12, + "ordinalPosition": 7, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -7547,7 +7333,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 13, + "ordinalPosition": 8, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -7577,7 +7363,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 14, + "ordinalPosition": 9, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -7588,266 +7374,26 @@ "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false - } - ], - "indexes": [ - { - "objectType": "Index_PGSQL", - "name": "projects_id,affiliation", - "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "projects_id,affiliation", - "oid": 203831, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "dm_repo_group_weekly", - "size": "8", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "repo_group_id", - "collation": "", - "opClass": "int8_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "repo_group_id", - "collationSchema": "" - }, - { - "objectType": "IndexField_PGSQL", - "name": "affiliation", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "affiliation", - "collationSchema": "pg_catalog" - } - ] - }, - { - "objectType": "Index_PGSQL", - "name": "projects_id,email", - "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "projects_id,email", - "oid": 203838, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "dm_repo_group_weekly", - "size": "8", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "repo_group_id", - "collation": "", - "opClass": "int8_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "repo_group_id", - "collationSchema": "" - }, - { - "objectType": "IndexField_PGSQL", - "name": "email", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "email", - "collationSchema": "pg_catalog" - } - ] - }, - { - "objectType": "Index_PGSQL", - "name": "projects_id,year,affiliation", - "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "projects_id,year,affiliation", - "oid": 203864, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "dm_repo_group_weekly", - "size": "8", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "repo_group_id", - "collation": "", - "opClass": "int8_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "repo_group_id", - "collationSchema": "" - }, - { - "objectType": "IndexField_PGSQL", - "name": "year", - "collation": "", - "opClass": "int2_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "year", - "collationSchema": "" - }, - { - "objectType": "IndexField_PGSQL", - "name": "affiliation", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "affiliation", - "collationSchema": "pg_catalog" - } - ] }, - { - "objectType": "Index_PGSQL", - "name": "projects_id,year,email", - "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "projects_id,year,email", - "oid": 203868, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "dm_repo_group_weekly", - "size": "8", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "repo_group_id", - "collation": "", - "opClass": "int8_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "repo_group_id", - "collationSchema": "" - }, - { - "objectType": "IndexField_PGSQL", - "name": "year", - "collation": "", - "opClass": "int2_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "year", - "collationSchema": "" - }, - { - "objectType": "IndexField_PGSQL", - "name": "email", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "email", - "collationSchema": "pg_catalog" - } - ] - } - ], - "rules": [], - "foreignKeys": [], - "uniques": [], - "checks": [], - "excludes": [], - "triggers": [], - "partitionKeys": [], - "partitions": [] - }, - { - "objectType": "TableNormal_PGSQL", - "name": "dm_repo_monthly", - "comment": "", - "tablespace": "", - "isUnlogged": false, - "owner": "augur", - "inheritFromTables": [], - "hasOIDs": false, - "fillFactor": -1, - "oldName": "dm_repo_monthly", - "oid": 188031, - "rows": 0, - "isInheritTables": false, - "cluster": "", - "ACL": "", - "isPartition": false, - "partitioningStrategy": "None", - "partitionOfSchema": "", - "partitionOfTable": "", - "partitionListValues": [], - "partitionRangeFromValues": [], - "partitionRangeToValues": [], - "foreignServer": "", - "foreignOptionDisplay": "", - "fields": [ { "objectType": "TableField_PGSQL", - "name": "repo_id", + "name": "label_src_id", "type": "int8", "length": 64, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": false, + "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "", - "oldName": "repo_id", + "comment": "This character based identifier (node) comes from the source. In the case of GitHub, it is the id that is the second field returned from the issue events API JSON subsection for issues.", + "oldName": "label_src_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 1, + "ordinalPosition": 10, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -7861,23 +7407,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "email", + "name": "label_src_node_id", "type": "varchar", - "length": 128, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", - "isNullable": false, + "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "email", + "oldName": "label_src_node_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 2, + "ordinalPosition": 11, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -7888,26 +7434,98 @@ "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false - }, + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "issue_labels_pkey", + "fields": [ + "issue_label_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "issue_labels_pkey" + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_issue_labels_issues_1", + "fields": [ + "issue_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "issues", + "referenceFields": [ + "issue_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_issue_labels_issues_1" + } + ], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "issue_message_ref", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "issue_message_ref", + "oid": 188824, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ { "objectType": "TableField_PGSQL", - "name": "affiliation", - "type": "varchar", - "length": 128, + "name": "issue_msg_ref_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", - "isNullable": true, + "collation": "", + "isNullable": false, "defaultType": "Others", - "defaultValue": "'NULL'::character varying", + "defaultValue": "nextval('augur_data.issue_message_ref_issue_msg_ref_id_seq'::regclass)", "comment": "", - "oldName": "affiliation", + "oldName": "issue_msg_ref_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 3, + "collationSchema": "", + "ordinalPosition": 1, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -7921,23 +7539,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "month", - "type": "int2", - "length": 16, + "name": "issue_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": false, + "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "month", + "oldName": "issue_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 4, + "ordinalPosition": 2, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -7951,22 +7569,82 @@ }, { "objectType": "TableField_PGSQL", - "name": "year", - "type": "int2", - "length": 16, + "name": "msg_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": false, + "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "year", + "oldName": "msg_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_source", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 4, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_version", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_version", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", "ordinalPosition": 5, "foreignOptions": [], "isIdentity": false, @@ -7981,22 +7659,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "added", - "type": "int8", - "length": 64, + "name": "data_source", + "type": "varchar", + "length": 255, "decimals": 0, "dimensions": 0, - "collation": "", - "isNullable": false, + "collation": "default", + "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "added", + "oldName": "data_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 6, "foreignOptions": [], "isIdentity": false, @@ -8011,17 +7689,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "removed", - "type": "int8", - "length": 64, + "name": "data_collection_date", + "type": "timestamp", + "length": 0, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": false, - "defaultType": "None", - "defaultValue": "", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", "comment": "", - "oldName": "removed", + "oldName": "data_collection_date", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -8041,17 +7719,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "whitespace", + "name": "issue_msg_ref_src_comment_id", "type": "int8", "length": 64, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": false, + "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "", - "oldName": "whitespace", + "comment": "This ID comes from the source. In the case of GitHub, it is the id that is the first field returned from the issue comments API", + "oldName": "issue_msg_ref_src_comment_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -8071,23 +7749,146 @@ }, { "objectType": "TableField_PGSQL", - "name": "files", + "name": "issue_msg_ref_src_node_id", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "This character based identifier comes from the source. In the case of GitHub, it is the id that is the first field returned from the issue comments API", + "oldName": "issue_msg_ref_src_node_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 9, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "issue_message_ref_pkey", + "fields": [ + "issue_msg_ref_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "issue_message_ref_pkey" + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_issue_message_ref_issues_1", + "fields": [ + "issue_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "issues", + "referenceFields": [ + "issue_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_issue_message_ref_issues_1" + }, + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_issue_message_ref_message_1", + "fields": [ + "msg_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "message", + "referenceFields": [ + "msg_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_issue_message_ref_message_1" + } + ], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "libraries", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "libraries", + "oid": 189116, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "library_id", "type": "int8", "length": 64, "decimals": 0, "dimensions": 0, "collation": "", "isNullable": false, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "nextval('augur_data.libraries_library_id_seq'::regclass)", "comment": "", - "oldName": "files", + "oldName": "library_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 9, + "ordinalPosition": 1, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -8101,23 +7902,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "patches", + "name": "repo_id", "type": "int8", "length": 64, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": false, + "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "patches", + "oldName": "repo_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 10, + "ordinalPosition": 2, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -8131,23 +7932,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_source", + "name": "platform", "type": "varchar", "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "NULL::character varying", "comment": "", - "oldName": "tool_source", + "oldName": "platform", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 11, + "ordinalPosition": 3, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -8161,23 +7962,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_version", + "name": "name", "type": "varchar", "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "NULL::character varying", "comment": "", - "oldName": "tool_version", + "oldName": "name", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 12, + "ordinalPosition": 4, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -8191,23 +7992,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_source", - "type": "varchar", - "length": 255, + "name": "created_timestamp", + "type": "timestamp", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "NULL::timestamp without time zone", "comment": "", - "oldName": "data_source", + "oldName": "created_timestamp", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 13, + "collationSchema": "", + "ordinalPosition": 5, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -8221,7 +8022,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_collection_date", + "name": "updated_timestamp", "type": "timestamp", "length": 0, "decimals": 0, @@ -8229,15 +8030,15 @@ "collation": "", "isNullable": true, "defaultType": "Others", - "defaultValue": "CURRENT_TIMESTAMP", + "defaultValue": "NULL::timestamp without time zone", "comment": "", - "oldName": "data_collection_date", + "oldName": "updated_timestamp", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 14, + "ordinalPosition": 6, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -8248,266 +8049,56 @@ "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false - } - ], - "indexes": [ + }, { - "objectType": "Index_PGSQL", - "name": "repo_id,affiliation_copy_2", + "objectType": "TableField_PGSQL", + "name": "library_description", + "type": "varchar", + "length": 2000, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "NULL::character varying", "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "repo_id,affiliation_copy_2", - "oid": 203886, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "dm_repo_monthly", - "size": "8", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "repo_id", - "collation": "", - "opClass": "int8_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "repo_id", - "collationSchema": "" - }, - { - "objectType": "IndexField_PGSQL", - "name": "affiliation", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "affiliation", - "collationSchema": "pg_catalog" - } - ] + "oldName": "library_description", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 7, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false }, { - "objectType": "Index_PGSQL", - "name": "repo_id,email_copy_2", + "objectType": "TableField_PGSQL", + "name": "keywords", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "NULL::character varying", "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "repo_id,email_copy_2", - "oid": 203897, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "dm_repo_monthly", - "size": "8", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "repo_id", - "collation": "", - "opClass": "int8_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "repo_id", - "collationSchema": "" - }, - { - "objectType": "IndexField_PGSQL", - "name": "email", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "email", - "collationSchema": "pg_catalog" - } - ] - }, - { - "objectType": "Index_PGSQL", - "name": "repo_id,year,affiliation_copy_1", - "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "repo_id,year,affiliation_copy_1", - "oid": 203908, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "dm_repo_monthly", - "size": "8", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "repo_id", - "collation": "", - "opClass": "int8_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "repo_id", - "collationSchema": "" - }, - { - "objectType": "IndexField_PGSQL", - "name": "year", - "collation": "", - "opClass": "int2_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "year", - "collationSchema": "" - }, - { - "objectType": "IndexField_PGSQL", - "name": "affiliation", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "affiliation", - "collationSchema": "pg_catalog" - } - ] - }, - { - "objectType": "Index_PGSQL", - "name": "repo_id,year,email_copy_1", - "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "repo_id,year,email_copy_1", - "oid": 203914, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "dm_repo_monthly", - "size": "8", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "repo_id", - "collation": "", - "opClass": "int8_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "repo_id", - "collationSchema": "" - }, - { - "objectType": "IndexField_PGSQL", - "name": "year", - "collation": "", - "opClass": "int2_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "year", - "collationSchema": "" - }, - { - "objectType": "IndexField_PGSQL", - "name": "email", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "email", - "collationSchema": "pg_catalog" - } - ] - } - ], - "rules": [], - "foreignKeys": [], - "uniques": [], - "checks": [], - "excludes": [], - "triggers": [], - "partitionKeys": [], - "partitions": [] - }, - { - "objectType": "TableNormal_PGSQL", - "name": "dm_repo_weekly", - "comment": "", - "tablespace": "", - "isUnlogged": false, - "owner": "augur", - "inheritFromTables": [], - "hasOIDs": false, - "fillFactor": -1, - "oldName": "dm_repo_weekly", - "oid": 188098, - "rows": 0, - "isInheritTables": false, - "cluster": "", - "ACL": "", - "isPartition": false, - "partitioningStrategy": "None", - "partitionOfSchema": "", - "partitionOfTable": "", - "partitionListValues": [], - "partitionRangeFromValues": [], - "partitionRangeToValues": [], - "foreignServer": "", - "foreignOptionDisplay": "", - "fields": [ - { - "objectType": "TableField_PGSQL", - "name": "repo_id", - "type": "int8", - "length": 64, - "decimals": 0, - "dimensions": 0, - "collation": "", - "isNullable": false, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "repo_id", + "oldName": "keywords", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 1, + "collationSchema": "pg_catalog", + "ordinalPosition": 8, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -8521,23 +8112,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "email", + "name": "library_homepage", "type": "varchar", - "length": 128, + "length": 1000, "decimals": 0, "dimensions": 0, "collation": "default", - "isNullable": false, - "defaultType": "None", - "defaultValue": "", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "NULL::character varying", "comment": "", - "oldName": "email", + "oldName": "library_homepage", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 2, + "ordinalPosition": 9, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -8551,23 +8142,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "affiliation", + "name": "license", "type": "varchar", - "length": 128, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, "defaultType": "Others", - "defaultValue": "'NULL'::character varying", + "defaultValue": "NULL::character varying", "comment": "", - "oldName": "affiliation", + "oldName": "license", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 3, + "ordinalPosition": 10, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -8581,23 +8172,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "week", - "type": "int2", - "length": 16, + "name": "version_count", + "type": "int4", + "length": 32, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": false, + "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "week", + "oldName": "version_count", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 4, + "ordinalPosition": 11, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -8611,23 +8202,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "year", - "type": "int2", - "length": 16, + "name": "latest_release_timestamp", + "type": "varchar", + "length": 255, "decimals": 0, "dimensions": 0, - "collation": "", - "isNullable": false, - "defaultType": "None", - "defaultValue": "", + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "NULL::character varying", "comment": "", - "oldName": "year", + "oldName": "latest_release_timestamp", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 5, + "collationSchema": "pg_catalog", + "ordinalPosition": 12, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -8641,23 +8232,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "added", - "type": "int8", - "length": 64, + "name": "latest_release_number", + "type": "varchar", + "length": 255, "decimals": 0, "dimensions": 0, - "collation": "", - "isNullable": false, - "defaultType": "None", - "defaultValue": "", + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "NULL::character varying", "comment": "", - "oldName": "added", + "oldName": "latest_release_number", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 6, + "collationSchema": "pg_catalog", + "ordinalPosition": 13, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -8671,23 +8262,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "removed", - "type": "int8", - "length": 64, + "name": "package_manager_id", + "type": "varchar", + "length": 255, "decimals": 0, "dimensions": 0, - "collation": "", - "isNullable": false, - "defaultType": "None", - "defaultValue": "", + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "NULL::character varying", "comment": "", - "oldName": "removed", + "oldName": "package_manager_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 7, + "collationSchema": "pg_catalog", + "ordinalPosition": 14, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -8701,23 +8292,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "whitespace", - "type": "int8", - "length": 64, + "name": "dependency_count", + "type": "int4", + "length": 32, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": false, + "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "whitespace", + "oldName": "dependency_count", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 8, + "ordinalPosition": 15, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -8731,23 +8322,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "files", - "type": "int8", - "length": 64, + "name": "dependent_library_count", + "type": "int4", + "length": 32, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": false, + "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "files", + "oldName": "dependent_library_count", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 9, + "ordinalPosition": 16, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -8761,23 +8352,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "patches", - "type": "int8", - "length": 64, + "name": "primary_language", + "type": "varchar", + "length": 255, "decimals": 0, "dimensions": 0, - "collation": "", - "isNullable": false, - "defaultType": "None", - "defaultValue": "", + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "NULL::character varying", "comment": "", - "oldName": "patches", + "oldName": "primary_language", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 10, + "collationSchema": "pg_catalog", + "ordinalPosition": 17, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -8807,7 +8398,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 11, + "ordinalPosition": 18, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -8837,7 +8428,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 12, + "ordinalPosition": 19, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -8867,7 +8458,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 13, + "ordinalPosition": 20, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -8888,8 +8479,8 @@ "dimensions": 0, "collation": "", "isNullable": true, - "defaultType": "Others", - "defaultValue": "CURRENT_TIMESTAMP", + "defaultType": "None", + "defaultValue": "", "comment": "", "oldName": "data_collection_date", "typeOID": 1, @@ -8897,7 +8488,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 14, + "ordinalPosition": 21, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -8910,264 +8501,246 @@ "isIdentityCycle": false } ], - "indexes": [ + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "libraries_pkey", + "fields": [ + "library_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "libraries_pkey" + }, + "foreignKeys": [ { - "objectType": "Index_PGSQL", - "name": "repo_id,affiliation", - "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "repo_id,affiliation", - "oid": 203874, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "dm_repo_weekly", - "size": "8", + "objectType": "ForeignKey_PGSQL", + "name": "fk_libraries_repo_1", "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "repo_id", - "collation": "", - "opClass": "int8_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "repo_id", - "collationSchema": "" - }, - { - "objectType": "IndexField_PGSQL", - "name": "affiliation", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "affiliation", - "collationSchema": "pg_catalog" - } - ] - }, + "repo_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "repo", + "referenceFields": [ + "repo_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_libraries_repo_1" + } + ], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "library_dependencies", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "library_dependencies", + "oid": 189219, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ { - "objectType": "Index_PGSQL", - "name": "repo_id,email", + "objectType": "TableField_PGSQL", + "name": "lib_dependency_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_data.library_dependencies_lib_dependency_id_seq'::regclass)", "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "repo_id,email", - "oid": 203892, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "dm_repo_weekly", - "size": "8", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "repo_id", - "collation": "", - "opClass": "int8_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "repo_id", - "collationSchema": "" - }, - { - "objectType": "IndexField_PGSQL", - "name": "email", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "email", - "collationSchema": "pg_catalog" - } - ] + "oldName": "lib_dependency_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false }, { - "objectType": "Index_PGSQL", - "name": "repo_id,year,affiliation", + "objectType": "TableField_PGSQL", + "name": "library_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "repo_id,year,affiliation", - "oid": 203906, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "dm_repo_weekly", - "size": "8", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "repo_id", - "collation": "", - "opClass": "int8_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "repo_id", - "collationSchema": "" - }, - { - "objectType": "IndexField_PGSQL", - "name": "year", - "collation": "", - "opClass": "int2_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "year", - "collationSchema": "" - }, - { - "objectType": "IndexField_PGSQL", - "name": "affiliation", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "affiliation", - "collationSchema": "pg_catalog" - } - ] + "oldName": "library_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false }, { - "objectType": "Index_PGSQL", - "name": "repo_id,year,email", + "objectType": "TableField_PGSQL", + "name": "manifest_platform", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "NULL::character varying", "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "repo_id,year,email", - "oid": 203910, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "dm_repo_weekly", - "size": "8", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "repo_id", - "collation": "", - "opClass": "int8_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "repo_id", - "collationSchema": "" - }, - { - "objectType": "IndexField_PGSQL", - "name": "year", - "collation": "", - "opClass": "int2_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "year", - "collationSchema": "" - }, - { - "objectType": "IndexField_PGSQL", - "name": "email", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "email", - "collationSchema": "pg_catalog" - } - ] - } - ], - "rules": [], - "foreignKeys": [], - "uniques": [], - "checks": [], - "excludes": [], - "triggers": [], - "partitionKeys": [], - "partitions": [] - }, - { - "objectType": "TableNormal_PGSQL", - "name": "exclude", - "comment": "", - "tablespace": "", - "isUnlogged": false, - "owner": "augur", - "inheritFromTables": [], - "hasOIDs": false, - "fillFactor": -1, - "oldName": "exclude", - "oid": 188171, - "rows": 0, - "isInheritTables": false, - "cluster": "", - "ACL": "", - "isPartition": false, - "partitioningStrategy": "None", - "partitionOfSchema": "", - "partitionOfTable": "", - "partitionListValues": [], - "partitionRangeFromValues": [], - "partitionRangeToValues": [], - "foreignServer": "", - "foreignOptionDisplay": "", - "fields": [ + "oldName": "manifest_platform", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, { "objectType": "TableField_PGSQL", - "name": "id", - "type": "int4", - "length": 32, + "name": "manifest_filepath", + "type": "varchar", + "length": 1000, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "NULL::character varying", + "comment": "", + "oldName": "manifest_filepath", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 4, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "manifest_kind", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "NULL::character varying", + "comment": "", + "oldName": "manifest_kind", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 5, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "repo_id_branch", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "id", + "oldName": "repo_id_branch", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 1, + "collationSchema": "pg_catalog", + "ordinalPosition": 6, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -9181,23 +8754,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "projects_id", - "type": "int4", - "length": 32, + "name": "tool_source", + "type": "varchar", + "length": 255, "decimals": 0, "dimensions": 0, - "collation": "", - "isNullable": false, + "collation": "default", + "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "projects_id", + "oldName": "tool_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 2, + "collationSchema": "pg_catalog", + "ordinalPosition": 7, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -9211,23 +8784,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "email", + "name": "tool_version", "type": "varchar", - "length": 128, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, - "defaultType": "Others", - "defaultValue": "'NULL'::character varying", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "email", + "oldName": "tool_version", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 3, + "ordinalPosition": 8, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -9241,23 +8814,53 @@ }, { "objectType": "TableField_PGSQL", - "name": "domain", + "name": "data_source", "type": "varchar", - "length": 128, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, - "defaultType": "Others", - "defaultValue": "'NULL'::character varying", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "domain", + "oldName": "data_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 4, + "ordinalPosition": 9, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_collection_date", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "data_collection_date", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 10, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -9270,22 +8873,79 @@ "isIdentityCycle": false } ], - "indexes": [], + "indexes": [ + { + "objectType": "Index_PGSQL", + "name": "REPO_DEP", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "REPO_DEP", + "oid": 203515, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "library_dependencies", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "library_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "library_id", + "collationSchema": "" + } + ] + } + ], "rules": [], "primaryKey": { "objectType": "PrimaryKey_PGSQL", - "name": "exclude_pkey", + "name": "library_dependencies_pkey", "fields": [ - "id" + "lib_dependency_id" ], "fillFactor": -1, "indexTablespace": "", "comment": "", "isDeferrable": false, "isDeferred": false, - "oldName": "exclude_pkey" + "oldName": "library_dependencies_pkey" }, - "foreignKeys": [], + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_library_dependencies_libraries_1", + "fields": [ + "library_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "libraries", + "referenceFields": [ + "library_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_library_dependencies_libraries_1" + } + ], "uniques": [], "checks": [], "excludes": [], @@ -9295,7 +8955,7 @@ }, { "objectType": "TableNormal_PGSQL", - "name": "issue_labels", + "name": "library_version", "comment": "", "tablespace": "", "isUnlogged": false, @@ -9303,8 +8963,8 @@ "inheritFromTables": [], "hasOIDs": false, "fillFactor": -1, - "oldName": "issue_labels", - "oid": 188655, + "oldName": "library_version", + "oid": 189326, "rows": 0, "isInheritTables": false, "cluster": "", @@ -9321,7 +8981,7 @@ "fields": [ { "objectType": "TableField_PGSQL", - "name": "issue_label_id", + "name": "library_version_id", "type": "int8", "length": 64, "decimals": 0, @@ -9329,9 +8989,9 @@ "collation": "", "isNullable": false, "defaultType": "Others", - "defaultValue": "nextval('augur_data.issue_labels_issue_label_id_seq'::regclass)", + "defaultValue": "nextval('augur_data.library_version_library_version_id_seq'::regclass)", "comment": "", - "oldName": "issue_label_id", + "oldName": "library_version_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -9351,7 +9011,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "issue_id", + "name": "library_id", "type": "int8", "length": 64, "decimals": 0, @@ -9361,7 +9021,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "issue_id", + "oldName": "library_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -9381,17 +9041,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "label_text", + "name": "library_platform", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "NULL::character varying", "comment": "", - "oldName": "label_text", + "oldName": "library_platform", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -9411,17 +9071,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "label_description", + "name": "version_number", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "NULL::character varying", "comment": "", - "oldName": "label_description", + "oldName": "version_number", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -9441,22 +9101,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "label_color", - "type": "varchar", + "name": "version_release_date", + "type": "timestamp", "length": 0, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "NULL::timestamp without time zone", "comment": "", - "oldName": "label_color", + "oldName": "version_release_date", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 5, "foreignOptions": [], "isIdentity": false, @@ -9568,8 +9228,8 @@ "dimensions": 0, "collation": "", "isNullable": true, - "defaultType": "Others", - "defaultValue": "CURRENT_TIMESTAMP", + "defaultType": "None", + "defaultValue": "", "comment": "", "oldName": "data_collection_date", "typeOID": 1, @@ -9588,94 +9248,34 @@ "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "label_src_id", - "type": "int8", - "length": 64, - "decimals": 0, - "dimensions": 0, - "collation": "", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "This character based identifier (node) comes from the source. In the case of GitHub, it is the id that is the second field returned from the issue events API JSON subsection for issues.", - "oldName": "label_src_id", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 10, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "label_src_node_id", - "type": "varchar", - "length": 0, - "decimals": 0, - "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "label_src_node_id", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 11, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - } - ], - "indexes": [], - "rules": [], - "primaryKey": { - "objectType": "PrimaryKey_PGSQL", - "name": "issue_labels_pkey", - "fields": [ - "issue_label_id" - ], - "fillFactor": -1, - "indexTablespace": "", - "comment": "", - "isDeferrable": false, - "isDeferred": false, - "oldName": "issue_labels_pkey" - }, - "foreignKeys": [ + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "library_version_pkey", + "fields": [ + "library_version_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "library_version_pkey" + }, + "foreignKeys": [ { "objectType": "ForeignKey_PGSQL", - "name": "fk_issue_labels_issues_1", + "name": "fk_library_version_libraries_1", "fields": [ - "issue_id" + "library_id" ], "referenceSchema": "augur_data", - "referenceTable": "issues", + "referenceTable": "libraries", "referenceFields": [ - "issue_id" + "library_id" ], "onDelete": "NO ACTION", "onUpdate": "NO ACTION", @@ -9685,7 +9285,7 @@ "isDeferred": false, "sourceCardinality": "ZeroOrManyRelationship", "targetCardinality": "ZeroOrOneRelationship", - "oldName": "fk_issue_labels_issues_1" + "oldName": "fk_library_version_libraries_1" } ], "uniques": [], @@ -9697,7 +9297,7 @@ }, { "objectType": "TableNormal_PGSQL", - "name": "issue_message_ref", + "name": "lstm_anomaly_models", "comment": "", "tablespace": "", "isUnlogged": false, @@ -9705,8 +9305,8 @@ "inheritFromTables": [], "hasOIDs": false, "fillFactor": -1, - "oldName": "issue_message_ref", - "oid": 188824, + "oldName": "lstm_anomaly_models", + "oid": 189442, "rows": 0, "isInheritTables": false, "cluster": "", @@ -9723,7 +9323,7 @@ "fields": [ { "objectType": "TableField_PGSQL", - "name": "issue_msg_ref_id", + "name": "model_id", "type": "int8", "length": 64, "decimals": 0, @@ -9731,9 +9331,9 @@ "collation": "", "isNullable": false, "defaultType": "Others", - "defaultValue": "nextval('augur_data.issue_message_ref_issue_msg_ref_id_seq'::regclass)", + "defaultValue": "nextval('augur_data.lstm_anomaly_models_model_id_seq'::regclass)", "comment": "", - "oldName": "issue_msg_ref_id", + "oldName": "model_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -9753,22 +9353,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "issue_id", - "type": "int8", - "length": 64, + "name": "model_name", + "type": "varchar", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "issue_id", + "oldName": "model_name", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 2, "foreignOptions": [], "isIdentity": false, @@ -9783,22 +9383,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "msg_id", - "type": "int8", - "length": 64, + "name": "model_description", + "type": "varchar", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "msg_id", + "oldName": "model_description", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 3, "foreignOptions": [], "isIdentity": false, @@ -9813,22 +9413,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_source", - "type": "varchar", - "length": 255, + "name": "look_back_days", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "tool_source", + "oldName": "look_back_days", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 4, "foreignOptions": [], "isIdentity": false, @@ -9843,22 +9443,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_version", - "type": "varchar", - "length": 255, + "name": "training_days", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "tool_version", + "oldName": "training_days", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 5, "foreignOptions": [], "isIdentity": false, @@ -9873,22 +9473,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_source", - "type": "varchar", - "length": 255, + "name": "batch_size", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "data_source", + "oldName": "batch_size", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 6, "foreignOptions": [], "isIdentity": false, @@ -9903,22 +9503,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_collection_date", - "type": "timestamp", + "name": "metric", + "type": "varchar", "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, - "defaultType": "Others", - "defaultValue": "CURRENT_TIMESTAMP", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "data_collection_date", + "oldName": "metric", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 7, "foreignOptions": [], "isIdentity": false, @@ -9933,22 +9533,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "issue_msg_ref_src_comment_id", - "type": "int8", - "length": 64, + "name": "tool_source", + "type": "varchar", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "This ID comes from the source. In the case of GitHub, it is the id that is the first field returned from the issue comments API", - "oldName": "issue_msg_ref_src_comment_id", + "comment": "", + "oldName": "tool_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 8, "foreignOptions": [], "isIdentity": false, @@ -9963,7 +9563,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "issue_msg_ref_src_node_id", + "name": "tool_version", "type": "varchar", "length": 0, "decimals": 0, @@ -9972,8 +9572,8 @@ "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "This character based identifier comes from the source. In the case of GitHub, it is the id that is the first field returned from the issue comments API", - "oldName": "issue_msg_ref_src_node_id", + "comment": "", + "oldName": "tool_version", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -9990,67 +9590,84 @@ "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_source", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "data_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 10, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_collection_date", + "type": "timestamp", + "length": 6, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", + "comment": "", + "oldName": "data_collection_date", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 11, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false } ], "indexes": [], "rules": [], "primaryKey": { "objectType": "PrimaryKey_PGSQL", - "name": "issue_message_ref_pkey", + "name": "lstm_anomaly_models_pkey", "fields": [ - "issue_msg_ref_id" + "model_id" ], "fillFactor": -1, "indexTablespace": "", "comment": "", "isDeferrable": false, "isDeferred": false, - "oldName": "issue_message_ref_pkey" + "oldName": "lstm_anomaly_models_pkey" }, - "foreignKeys": [ - { - "objectType": "ForeignKey_PGSQL", - "name": "fk_issue_message_ref_issues_1", - "fields": [ - "issue_id" - ], - "referenceSchema": "augur_data", - "referenceTable": "issues", - "referenceFields": [ - "issue_id" - ], - "onDelete": "NO ACTION", - "onUpdate": "NO ACTION", - "comment": "", - "isMatchFull": false, - "isDeferrable": false, - "isDeferred": false, - "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "ZeroOrOneRelationship", - "oldName": "fk_issue_message_ref_issues_1" - }, - { - "objectType": "ForeignKey_PGSQL", - "name": "fk_issue_message_ref_message_1", - "fields": [ - "msg_id" - ], - "referenceSchema": "augur_data", - "referenceTable": "message", - "referenceFields": [ - "msg_id" - ], - "onDelete": "NO ACTION", - "onUpdate": "NO ACTION", - "comment": "", - "isMatchFull": false, - "isDeferrable": false, - "isDeferred": false, - "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "ZeroOrOneRelationship", - "oldName": "fk_issue_message_ref_message_1" - } - ], + "foreignKeys": [], "uniques": [], "checks": [], "excludes": [], @@ -10060,7 +9677,7 @@ }, { "objectType": "TableNormal_PGSQL", - "name": "libraries", + "name": "lstm_anomaly_results", "comment": "", "tablespace": "", "isUnlogged": false, @@ -10068,8 +9685,8 @@ "inheritFromTables": [], "hasOIDs": false, "fillFactor": -1, - "oldName": "libraries", - "oid": 189116, + "oldName": "lstm_anomaly_results", + "oid": 189543, "rows": 0, "isInheritTables": false, "cluster": "", @@ -10086,7 +9703,7 @@ "fields": [ { "objectType": "TableField_PGSQL", - "name": "library_id", + "name": "result_id", "type": "int8", "length": 64, "decimals": 0, @@ -10094,9 +9711,9 @@ "collation": "", "isNullable": false, "defaultType": "Others", - "defaultValue": "nextval('augur_data.libraries_library_id_seq'::regclass)", + "defaultValue": "nextval('augur_data.lstm_anomaly_results_result_id_seq'::regclass)", "comment": "", - "oldName": "library_id", + "oldName": "result_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -10146,17 +9763,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "platform", + "name": "repo_category", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, - "defaultType": "Others", - "defaultValue": "NULL::character varying", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "platform", + "oldName": "repo_category", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -10176,22 +9793,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "name", - "type": "varchar", - "length": 255, + "name": "model_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, - "defaultType": "Others", - "defaultValue": "NULL::character varying", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "name", + "oldName": "model_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 4, "foreignOptions": [], "isIdentity": false, @@ -10206,22 +9823,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "created_timestamp", - "type": "timestamp", + "name": "metric", + "type": "varchar", "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, - "defaultType": "Others", - "defaultValue": "NULL::timestamp without time zone", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "created_timestamp", + "oldName": "metric", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 5, "foreignOptions": [], "isIdentity": false, @@ -10236,17 +9853,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "updated_timestamp", - "type": "timestamp", - "length": 0, + "name": "contamination_factor", + "type": "float8", + "length": 53, "decimals": 0, "dimensions": 0, "collation": "", "isNullable": true, - "defaultType": "Others", - "defaultValue": "NULL::timestamp without time zone", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "updated_timestamp", + "oldName": "contamination_factor", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -10266,22 +9883,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "library_description", - "type": "varchar", - "length": 2000, + "name": "mean_absolute_error", + "type": "float8", + "length": 53, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, - "defaultType": "Others", - "defaultValue": "NULL::character varying", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "library_description", + "oldName": "mean_absolute_error", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 7, "foreignOptions": [], "isIdentity": false, @@ -10296,17 +9913,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "keywords", + "name": "remarks", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, - "defaultType": "Others", - "defaultValue": "NULL::character varying", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "keywords", + "oldName": "remarks", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -10326,17 +9943,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "library_homepage", + "name": "metric_field", "type": "varchar", - "length": 1000, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, - "defaultType": "Others", - "defaultValue": "NULL::character varying", - "comment": "", - "oldName": "library_homepage", + "defaultType": "None", + "defaultValue": "", + "comment": "This is a listing of all of the endpoint fields included in the generation of the metric. Sometimes there is one, sometimes there is more than one. This will list them all. ", + "oldName": "metric_field", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -10356,22 +9973,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "license", - "type": "varchar", - "length": 255, + "name": "mean_absolute_actual_value", + "type": "float8", + "length": 53, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, - "defaultType": "Others", - "defaultValue": "NULL::character varying", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "license", + "oldName": "mean_absolute_actual_value", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 10, "foreignOptions": [], "isIdentity": false, @@ -10386,9 +10003,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "version_count", - "type": "int4", - "length": 32, + "name": "mean_absolute_prediction_value", + "type": "float8", + "length": 53, "decimals": 0, "dimensions": 0, "collation": "", @@ -10396,7 +10013,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "version_count", + "oldName": "mean_absolute_prediction_value", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -10416,17 +10033,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "latest_release_timestamp", + "name": "tool_source", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, - "defaultType": "Others", - "defaultValue": "NULL::character varying", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "latest_release_timestamp", + "oldName": "tool_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -10446,17 +10063,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "latest_release_number", + "name": "tool_version", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, - "defaultType": "Others", - "defaultValue": "NULL::character varying", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "latest_release_number", + "oldName": "tool_version", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -10476,17 +10093,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "package_manager_id", + "name": "data_source", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, - "defaultType": "Others", - "defaultValue": "NULL::character varying", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "package_manager_id", + "oldName": "data_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -10506,17 +10123,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "dependency_count", - "type": "int4", - "length": 32, + "name": "data_collection_date", + "type": "timestamp", + "length": 6, "decimals": 0, "dimensions": 0, "collation": "", "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", "comment": "", - "oldName": "dependency_count", + "oldName": "data_collection_date", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -10533,207 +10150,48 @@ "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false - }, + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "lstm_anomaly_results_pkey", + "fields": [ + "result_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "lstm_anomaly_results_pkey" + }, + "foreignKeys": [ { - "objectType": "TableField_PGSQL", - "name": "dependent_library_count", - "type": "int4", - "length": 32, - "decimals": 0, - "dimensions": 0, - "collation": "", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "objectType": "ForeignKey_PGSQL", + "name": "fk_lstm_anomaly_results_lstm_anomaly_models_1", + "fields": [ + "model_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "lstm_anomaly_models", + "referenceFields": [ + "model_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", "comment": "", - "oldName": "dependent_library_count", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 16, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_lstm_anomaly_results_lstm_anomaly_models_1" }, - { - "objectType": "TableField_PGSQL", - "name": "primary_language", - "type": "varchar", - "length": 255, - "decimals": 0, - "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "Others", - "defaultValue": "NULL::character varying", - "comment": "", - "oldName": "primary_language", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 17, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "tool_source", - "type": "varchar", - "length": 255, - "decimals": 0, - "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "tool_source", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 18, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "tool_version", - "type": "varchar", - "length": 255, - "decimals": 0, - "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "tool_version", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 19, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "data_source", - "type": "varchar", - "length": 255, - "decimals": 0, - "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "data_source", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 20, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "data_collection_date", - "type": "timestamp", - "length": 0, - "decimals": 0, - "dimensions": 0, - "collation": "", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "data_collection_date", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 21, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - } - ], - "indexes": [], - "rules": [], - "primaryKey": { - "objectType": "PrimaryKey_PGSQL", - "name": "libraries_pkey", - "fields": [ - "library_id" - ], - "fillFactor": -1, - "indexTablespace": "", - "comment": "", - "isDeferrable": false, - "isDeferred": false, - "oldName": "libraries_pkey" - }, - "foreignKeys": [ { "objectType": "ForeignKey_PGSQL", - "name": "fk_libraries_repo_1", + "name": "fk_lstm_anomaly_results_repo_1", "fields": [ "repo_id" ], @@ -10750,7 +10208,7 @@ "isDeferred": false, "sourceCardinality": "ZeroOrManyRelationship", "targetCardinality": "ZeroOrOneRelationship", - "oldName": "fk_libraries_repo_1" + "oldName": "fk_lstm_anomaly_results_repo_1" } ], "uniques": [], @@ -10762,7 +10220,7 @@ }, { "objectType": "TableNormal_PGSQL", - "name": "library_dependencies", + "name": "message_analysis", "comment": "", "tablespace": "", "isUnlogged": false, @@ -10770,8 +10228,8 @@ "inheritFromTables": [], "hasOIDs": false, "fillFactor": -1, - "oldName": "library_dependencies", - "oid": 189219, + "oldName": "message_analysis", + "oid": 189840, "rows": 0, "isInheritTables": false, "cluster": "", @@ -10788,7 +10246,7 @@ "fields": [ { "objectType": "TableField_PGSQL", - "name": "lib_dependency_id", + "name": "msg_analysis_id", "type": "int8", "length": 64, "decimals": 0, @@ -10796,9 +10254,9 @@ "collation": "", "isNullable": false, "defaultType": "Others", - "defaultValue": "nextval('augur_data.library_dependencies_lib_dependency_id_seq'::regclass)", + "defaultValue": "nextval('augur_data.message_analysis_msg_analysis_id_seq'::regclass)", "comment": "", - "oldName": "lib_dependency_id", + "oldName": "msg_analysis_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -10818,7 +10276,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "library_id", + "name": "msg_id", "type": "int8", "length": 64, "decimals": 0, @@ -10828,7 +10286,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "library_id", + "oldName": "msg_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -10848,22 +10306,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "manifest_platform", - "type": "varchar", - "length": 255, + "name": "worker_run_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, - "defaultType": "Others", - "defaultValue": "NULL::character varying", - "comment": "", - "oldName": "manifest_platform", + "defaultType": "None", + "defaultValue": "", + "comment": "This column is used to indicate analyses run by a worker during the same execution period, and is useful for grouping, and time series analysis. ", + "oldName": "worker_run_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 3, "foreignOptions": [], "isIdentity": false, @@ -10878,22 +10336,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "manifest_filepath", - "type": "varchar", - "length": 1000, + "name": "sentiment_score", + "type": "float8", + "length": 53, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, - "defaultType": "Others", - "defaultValue": "NULL::character varying", - "comment": "", - "oldName": "manifest_filepath", + "defaultType": "None", + "defaultValue": "", + "comment": "A sentiment analysis score. Zero is neutral, negative numbers are negative sentiment, and positive numbers are positive sentiment. ", + "oldName": "sentiment_score", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 4, "foreignOptions": [], "isIdentity": false, @@ -10908,22 +10366,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "manifest_kind", - "type": "varchar", - "length": 255, + "name": "reconstruction_error", + "type": "float8", + "length": 53, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, - "defaultType": "Others", - "defaultValue": "NULL::character varying", - "comment": "", - "oldName": "manifest_kind", + "defaultType": "None", + "defaultValue": "", + "comment": "Each message is converted to a 250 dimensin doc2vec vector, so the reconstruction error is the difference between what the predicted vector and the actual vector.", + "oldName": "reconstruction_error", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 5, "foreignOptions": [], "isIdentity": false, @@ -10938,22 +10396,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "repo_id_branch", - "type": "varchar", - "length": 255, + "name": "novelty_flag", + "type": "bool", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "default", - "isNullable": false, + "collation": "", + "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "", - "oldName": "repo_id_branch", + "comment": "This is an analysis of the degree to which the message is novel when compared to other messages in a repository. For example when bots are producing numerous identical messages, the novelty score is low. It would also be a low novelty score when several people are making the same coment. ", + "oldName": "novelty_flag", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 6, "foreignOptions": [], "isIdentity": false, @@ -10966,11 +10424,41 @@ "hasNoIdentityMaxValue": false, "isIdentityCycle": false }, + { + "objectType": "TableField_PGSQL", + "name": "feedback_flag", + "type": "bool", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "This exists to provide the user with an opportunity provide feedback on the resulting the sentiment scores. ", + "oldName": "feedback_flag", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 7, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, { "objectType": "TableField_PGSQL", "name": "tool_source", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", @@ -10984,7 +10472,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 7, + "ordinalPosition": 8, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -11000,7 +10488,7 @@ "objectType": "TableField_PGSQL", "name": "tool_version", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", @@ -11014,7 +10502,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 8, + "ordinalPosition": 9, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -11030,7 +10518,7 @@ "objectType": "TableField_PGSQL", "name": "data_source", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", @@ -11044,7 +10532,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 9, + "ordinalPosition": 10, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -11065,8 +10553,8 @@ "dimensions": 0, "collation": "", "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", "comment": "", "oldName": "data_collection_date", "typeOID": 1, @@ -11074,7 +10562,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 10, + "ordinalPosition": 11, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -11087,67 +10575,32 @@ "isIdentityCycle": false } ], - "indexes": [ - { - "objectType": "Index_PGSQL", - "name": "REPO_DEP", - "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "REPO_DEP", - "oid": 203515, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "library_dependencies", - "size": "8", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "library_id", - "collation": "", - "opClass": "int8_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "library_id", - "collationSchema": "" - } - ] - } - ], + "indexes": [], "rules": [], "primaryKey": { "objectType": "PrimaryKey_PGSQL", - "name": "library_dependencies_pkey", + "name": "message_analysis_pkey", "fields": [ - "lib_dependency_id" + "msg_analysis_id" ], "fillFactor": -1, "indexTablespace": "", "comment": "", "isDeferrable": false, "isDeferred": false, - "oldName": "library_dependencies_pkey" + "oldName": "message_analysis_pkey" }, "foreignKeys": [ { "objectType": "ForeignKey_PGSQL", - "name": "fk_library_dependencies_libraries_1", + "name": "fk_message_analysis_message_1", "fields": [ - "library_id" + "msg_id" ], "referenceSchema": "augur_data", - "referenceTable": "libraries", + "referenceTable": "message", "referenceFields": [ - "library_id" + "msg_id" ], "onDelete": "NO ACTION", "onUpdate": "NO ACTION", @@ -11157,7 +10610,7 @@ "isDeferred": false, "sourceCardinality": "ZeroOrManyRelationship", "targetCardinality": "ZeroOrOneRelationship", - "oldName": "fk_library_dependencies_libraries_1" + "oldName": "fk_message_analysis_message_1" } ], "uniques": [], @@ -11169,16 +10622,16 @@ }, { "objectType": "TableNormal_PGSQL", - "name": "library_version", - "comment": "", + "name": "message_analysis_summary", + "comment": "In a relationally perfect world, we would have a table called “message_analysis_run” the incremented the “worker_run_id” for both message_analysis and message_analysis_summary. For now, we decided this was overkill. ", "tablespace": "", "isUnlogged": false, "owner": "augur", "inheritFromTables": [], "hasOIDs": false, "fillFactor": -1, - "oldName": "library_version", - "oid": 189326, + "oldName": "message_analysis_summary", + "oid": 189994, "rows": 0, "isInheritTables": false, "cluster": "", @@ -11195,7 +10648,7 @@ "fields": [ { "objectType": "TableField_PGSQL", - "name": "library_version_id", + "name": "msg_summary_id", "type": "int8", "length": 64, "decimals": 0, @@ -11203,9 +10656,9 @@ "collation": "", "isNullable": false, "defaultType": "Others", - "defaultValue": "nextval('augur_data.library_version_library_version_id_seq'::regclass)", + "defaultValue": "nextval('augur_data.message_analysis_summary_msg_summary_id_seq'::regclass)", "comment": "", - "oldName": "library_version_id", + "oldName": "msg_summary_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -11225,7 +10678,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "library_id", + "name": "repo_id", "type": "int8", "length": 64, "decimals": 0, @@ -11235,7 +10688,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "library_id", + "oldName": "repo_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -11255,22 +10708,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "library_platform", - "type": "varchar", - "length": 255, + "name": "worker_run_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, - "defaultType": "Others", - "defaultValue": "NULL::character varying", - "comment": "", - "oldName": "library_platform", + "defaultType": "None", + "defaultValue": "", + "comment": "This value should reflect the worker_run_id for the messages summarized in the table. There is not a relation between these two tables for that purpose because its not *really*, relationaly a concept unless we create a third table for \"worker_run_id\", which we determined was unnecessarily complex. ", + "oldName": "worker_run_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 3, "foreignOptions": [], "isIdentity": false, @@ -11285,22 +10738,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "version_number", - "type": "varchar", - "length": 255, + "name": "positive_ratio", + "type": "float8", + "length": 53, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, - "defaultType": "Others", - "defaultValue": "NULL::character varying", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "version_number", + "oldName": "positive_ratio", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 4, "foreignOptions": [], "isIdentity": false, @@ -11315,17 +10768,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "version_release_date", - "type": "timestamp", - "length": 0, + "name": "negative_ratio", + "type": "float8", + "length": 53, "decimals": 0, "dimensions": 0, "collation": "", "isNullable": true, - "defaultType": "Others", - "defaultValue": "NULL::timestamp without time zone", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "version_release_date", + "oldName": "negative_ratio", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -11343,11 +10796,71 @@ "hasNoIdentityMaxValue": false, "isIdentityCycle": false }, + { + "objectType": "TableField_PGSQL", + "name": "novel_count", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "The number of messages identified as novel during the analyzed period", + "oldName": "novel_count", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 6, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "period", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "The whole timeline is divided into periods based on the definition of time period for analysis, which is user specified. Timestamp of the first period to look at, until the end of messages at the data of execution. ", + "oldName": "period", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 7, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, { "objectType": "TableField_PGSQL", "name": "tool_source", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", @@ -11361,7 +10874,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 6, + "ordinalPosition": 8, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -11377,7 +10890,7 @@ "objectType": "TableField_PGSQL", "name": "tool_version", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", @@ -11391,7 +10904,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 7, + "ordinalPosition": 9, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -11407,7 +10920,7 @@ "objectType": "TableField_PGSQL", "name": "data_source", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", @@ -11421,7 +10934,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 8, + "ordinalPosition": 10, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -11442,8 +10955,8 @@ "dimensions": 0, "collation": "", "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", "comment": "", "oldName": "data_collection_date", "typeOID": 1, @@ -11451,7 +10964,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 9, + "ordinalPosition": 11, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -11468,28 +10981,28 @@ "rules": [], "primaryKey": { "objectType": "PrimaryKey_PGSQL", - "name": "library_version_pkey", + "name": "message_analysis_summary_pkey", "fields": [ - "library_version_id" + "msg_summary_id" ], "fillFactor": -1, "indexTablespace": "", "comment": "", "isDeferrable": false, "isDeferred": false, - "oldName": "library_version_pkey" + "oldName": "message_analysis_summary_pkey" }, "foreignKeys": [ { "objectType": "ForeignKey_PGSQL", - "name": "fk_library_version_libraries_1", + "name": "fk_message_analysis_summary_repo_1", "fields": [ - "library_id" + "repo_id" ], "referenceSchema": "augur_data", - "referenceTable": "libraries", + "referenceTable": "repo", "referenceFields": [ - "library_id" + "repo_id" ], "onDelete": "NO ACTION", "onUpdate": "NO ACTION", @@ -11499,7 +11012,7 @@ "isDeferred": false, "sourceCardinality": "ZeroOrManyRelationship", "targetCardinality": "ZeroOrOneRelationship", - "oldName": "fk_library_version_libraries_1" + "oldName": "fk_message_analysis_summary_repo_1" } ], "uniques": [], @@ -11511,7 +11024,7 @@ }, { "objectType": "TableNormal_PGSQL", - "name": "lstm_anomaly_models", + "name": "message_sentiment", "comment": "", "tablespace": "", "isUnlogged": false, @@ -11519,8 +11032,8 @@ "inheritFromTables": [], "hasOIDs": false, "fillFactor": -1, - "oldName": "lstm_anomaly_models", - "oid": 189442, + "oldName": "message_sentiment", + "oid": 190022, "rows": 0, "isInheritTables": false, "cluster": "", @@ -11537,7 +11050,7 @@ "fields": [ { "objectType": "TableField_PGSQL", - "name": "model_id", + "name": "msg_analysis_id", "type": "int8", "length": 64, "decimals": 0, @@ -11545,9 +11058,9 @@ "collation": "", "isNullable": false, "defaultType": "Others", - "defaultValue": "nextval('augur_data.lstm_anomaly_models_model_id_seq'::regclass)", + "defaultValue": "nextval('augur_data.message_sentiment_msg_analysis_id_seq'::regclass)", "comment": "", - "oldName": "model_id", + "oldName": "msg_analysis_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -11567,22 +11080,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "model_name", - "type": "varchar", - "length": 0, + "name": "msg_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "model_name", + "oldName": "msg_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 2, "foreignOptions": [], "isIdentity": false, @@ -11597,22 +11110,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "model_description", - "type": "varchar", - "length": 0, + "name": "worker_run_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "", - "oldName": "model_description", + "comment": "This column is used to indicate analyses run by a worker during the same execution period, and is useful for grouping, and time series analysis. ", + "oldName": "worker_run_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 3, "foreignOptions": [], "isIdentity": false, @@ -11627,17 +11140,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "look_back_days", - "type": "int8", - "length": 64, + "name": "sentiment_score", + "type": "float8", + "length": 53, "decimals": 0, "dimensions": 0, "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "", - "oldName": "look_back_days", + "comment": "A sentiment analysis score. Zero is neutral, negative numbers are negative sentiment, and positive numbers are positive sentiment. ", + "oldName": "sentiment_score", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -11657,17 +11170,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "training_days", - "type": "int8", - "length": 64, + "name": "reconstruction_error", + "type": "float8", + "length": 53, "decimals": 0, "dimensions": 0, "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "", - "oldName": "training_days", + "comment": "Each message is converted to a 250 dimensin doc2vec vector, so the reconstruction error is the difference between what the predicted vector and the actual vector.", + "oldName": "reconstruction_error", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -11687,17 +11200,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "batch_size", - "type": "int8", - "length": 64, + "name": "novelty_flag", + "type": "bool", + "length": 0, "decimals": 0, "dimensions": 0, "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "", - "oldName": "batch_size", + "comment": "This is an analysis of the degree to which the message is novel when compared to other messages in a repository. For example when bots are producing numerous identical messages, the novelty score is low. It would also be a low novelty score when several people are making the same coment. ", + "oldName": "novelty_flag", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -11717,22 +11230,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "metric", - "type": "varchar", + "name": "feedback_flag", + "type": "bool", "length": 0, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "", - "oldName": "metric", + "comment": "This exists to provide the user with an opportunity provide feedback on the resulting the sentiment scores. ", + "oldName": "feedback_flag", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 7, "foreignOptions": [], "isIdentity": false, @@ -11839,7 +11352,7 @@ "objectType": "TableField_PGSQL", "name": "data_collection_date", "type": "timestamp", - "length": 6, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "", @@ -11870,18 +11383,40 @@ "rules": [], "primaryKey": { "objectType": "PrimaryKey_PGSQL", - "name": "lstm_anomaly_models_pkey", + "name": "message_sentiment_pkey", "fields": [ - "model_id" + "msg_analysis_id" ], "fillFactor": -1, "indexTablespace": "", "comment": "", "isDeferrable": false, "isDeferred": false, - "oldName": "lstm_anomaly_models_pkey" + "oldName": "message_sentiment_pkey" }, - "foreignKeys": [], + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_message_sentiment_message_1", + "fields": [ + "msg_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "message", + "referenceFields": [ + "msg_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_message_sentiment_message_1" + } + ], "uniques": [], "checks": [], "excludes": [], @@ -11891,16 +11426,16 @@ }, { "objectType": "TableNormal_PGSQL", - "name": "lstm_anomaly_results", - "comment": "", + "name": "message_sentiment_summary", + "comment": "In a relationally perfect world, we would have a table called “message_sentiment_run” the incremented the “worker_run_id” for both message_sentiment and message_sentiment_summary. For now, we decided this was overkill. ", "tablespace": "", "isUnlogged": false, "owner": "augur", "inheritFromTables": [], "hasOIDs": false, "fillFactor": -1, - "oldName": "lstm_anomaly_results", - "oid": 189543, + "oldName": "message_sentiment_summary", + "oid": 190146, "rows": 0, "isInheritTables": false, "cluster": "", @@ -11917,7 +11452,7 @@ "fields": [ { "objectType": "TableField_PGSQL", - "name": "result_id", + "name": "msg_summary_id", "type": "int8", "length": 64, "decimals": 0, @@ -11925,9 +11460,9 @@ "collation": "", "isNullable": false, "defaultType": "Others", - "defaultValue": "nextval('augur_data.lstm_anomaly_results_result_id_seq'::regclass)", + "defaultValue": "nextval('augur_data.message_sentiment_summary_msg_summary_id_seq'::regclass)", "comment": "", - "oldName": "result_id", + "oldName": "msg_summary_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -11977,37 +11512,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "repo_category", - "type": "varchar", - "length": 0, - "decimals": 0, - "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "repo_category", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 3, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "model_id", + "name": "worker_run_id", "type": "int8", "length": 64, "decimals": 0, @@ -12016,44 +11521,14 @@ "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "", - "oldName": "model_id", + "comment": "This value should reflect the worker_run_id for the messages summarized in the table. There is not a relation between these two tables for that purpose because its not *really*, relationaly a concept unless we create a third table for \"worker_run_id\", which we determined was unnecessarily complex. ", + "oldName": "worker_run_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 4, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "metric", - "type": "varchar", - "length": 0, - "decimals": 0, - "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "metric", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 5, + "ordinalPosition": 3, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -12067,7 +11542,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "contamination_factor", + "name": "positive_ratio", "type": "float8", "length": 53, "decimals": 0, @@ -12077,13 +11552,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "contamination_factor", + "oldName": "positive_ratio", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 6, + "ordinalPosition": 4, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -12097,7 +11572,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "mean_absolute_error", + "name": "negative_ratio", "type": "float8", "length": 53, "decimals": 0, @@ -12107,73 +11582,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "mean_absolute_error", + "oldName": "negative_ratio", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 7, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "remarks", - "type": "varchar", - "length": 0, - "decimals": 0, - "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "remarks", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 8, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "metric_field", - "type": "varchar", - "length": 0, - "decimals": 0, - "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "This is a listing of all of the endpoint fields included in the generation of the metric. Sometimes there is one, sometimes there is more than one. This will list them all. ", - "oldName": "metric_field", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 9, + "ordinalPosition": 5, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -12187,23 +11602,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "mean_absolute_actual_value", - "type": "float8", - "length": 53, + "name": "novel_count", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "", - "oldName": "mean_absolute_actual_value", + "comment": "The number of messages identified as novel during the analyzed period", + "oldName": "novel_count", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 10, + "ordinalPosition": 6, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -12217,23 +11632,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "mean_absolute_prediction_value", - "type": "float8", - "length": 53, + "name": "period", + "type": "timestamp", + "length": 0, "decimals": 0, "dimensions": 0, "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "", - "oldName": "mean_absolute_prediction_value", + "comment": "The whole timeline is divided into periods based on the definition of time period for analysis, which is user specified. Timestamp of the first period to look at, until the end of messages at the data of execution. ", + "oldName": "period", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 11, + "ordinalPosition": 7, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -12263,7 +11678,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 12, + "ordinalPosition": 8, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -12293,7 +11708,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 13, + "ordinalPosition": 9, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -12323,7 +11738,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 14, + "ordinalPosition": 10, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -12339,7 +11754,7 @@ "objectType": "TableField_PGSQL", "name": "data_collection_date", "type": "timestamp", - "length": 6, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "", @@ -12353,7 +11768,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 15, + "ordinalPosition": 11, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -12370,42 +11785,21 @@ "rules": [], "primaryKey": { "objectType": "PrimaryKey_PGSQL", - "name": "lstm_anomaly_results_pkey", + "name": "message_sentiment_summary_pkey", "fields": [ - "result_id" + "msg_summary_id" ], "fillFactor": -1, "indexTablespace": "", "comment": "", "isDeferrable": false, "isDeferred": false, - "oldName": "lstm_anomaly_results_pkey" + "oldName": "message_sentiment_summary_pkey" }, "foreignKeys": [ { "objectType": "ForeignKey_PGSQL", - "name": "fk_lstm_anomaly_results_lstm_anomaly_models_1", - "fields": [ - "model_id" - ], - "referenceSchema": "augur_data", - "referenceTable": "lstm_anomaly_models", - "referenceFields": [ - "model_id" - ], - "onDelete": "NO ACTION", - "onUpdate": "NO ACTION", - "comment": "", - "isMatchFull": false, - "isDeferrable": false, - "isDeferred": false, - "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "ZeroOrOneRelationship", - "oldName": "fk_lstm_anomaly_results_lstm_anomaly_models_1" - }, - { - "objectType": "ForeignKey_PGSQL", - "name": "fk_lstm_anomaly_results_repo_1", + "name": "fk_message_sentiment_summary_repo_1", "fields": [ "repo_id" ], @@ -12422,7 +11816,7 @@ "isDeferred": false, "sourceCardinality": "ZeroOrManyRelationship", "targetCardinality": "ZeroOrOneRelationship", - "oldName": "fk_lstm_anomaly_results_repo_1" + "oldName": "fk_message_sentiment_summary_repo_1" } ], "uniques": [], @@ -12434,7 +11828,7 @@ }, { "objectType": "TableNormal_PGSQL", - "name": "message_analysis", + "name": "platform", "comment": "", "tablespace": "", "isUnlogged": false, @@ -12442,9 +11836,9 @@ "inheritFromTables": [], "hasOIDs": false, "fillFactor": -1, - "oldName": "message_analysis", - "oid": 189840, - "rows": 0, + "oldName": "platform", + "oid": 190264, + "rows": 1, "isInheritTables": false, "cluster": "", "ACL": "", @@ -12460,7 +11854,7 @@ "fields": [ { "objectType": "TableField_PGSQL", - "name": "msg_analysis_id", + "name": "pltfrm_id", "type": "int8", "length": 64, "decimals": 0, @@ -12468,9 +11862,9 @@ "collation": "", "isNullable": false, "defaultType": "Others", - "defaultValue": "nextval('augur_data.message_analysis_msg_analysis_id_seq'::regclass)", + "defaultValue": "nextval('augur_data.platform_pltfrm_id_seq'::regclass)", "comment": "", - "oldName": "msg_analysis_id", + "oldName": "pltfrm_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -12490,22 +11884,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "msg_id", - "type": "int8", - "length": 64, + "name": "pltfrm_name", + "type": "varchar", + "length": 255, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "msg_id", + "oldName": "pltfrm_name", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 2, "foreignOptions": [], "isIdentity": false, @@ -12520,22 +11914,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "worker_run_id", - "type": "int8", - "length": 64, + "name": "pltfrm_version", + "type": "varchar", + "length": 255, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "This column is used to indicate analyses run by a worker during the same execution period, and is useful for grouping, and time series analysis. ", - "oldName": "worker_run_id", + "comment": "", + "oldName": "pltfrm_version", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 3, "foreignOptions": [], "isIdentity": false, @@ -12550,98 +11944,8 @@ }, { "objectType": "TableField_PGSQL", - "name": "sentiment_score", - "type": "float8", - "length": 53, - "decimals": 0, - "dimensions": 0, - "collation": "", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "A sentiment analysis score. Zero is neutral, negative numbers are negative sentiment, and positive numbers are positive sentiment. ", - "oldName": "sentiment_score", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 4, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "reconstruction_error", - "type": "float8", - "length": 53, - "decimals": 0, - "dimensions": 0, - "collation": "", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "Each message is converted to a 250 dimensin doc2vec vector, so the reconstruction error is the difference between what the predicted vector and the actual vector.", - "oldName": "reconstruction_error", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 5, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "novelty_flag", - "type": "bool", - "length": 0, - "decimals": 0, - "dimensions": 0, - "collation": "", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "This is an analysis of the degree to which the message is novel when compared to other messages in a repository. For example when bots are producing numerous identical messages, the novelty score is low. It would also be a low novelty score when several people are making the same coment. ", - "oldName": "novelty_flag", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 6, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "feedback_flag", - "type": "bool", + "name": "pltfrm_release_date", + "type": "date", "length": 0, "decimals": 0, "dimensions": 0, @@ -12649,14 +11953,14 @@ "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "This exists to provide the user with an opportunity provide feedback on the resulting the sentiment scores. ", - "oldName": "feedback_flag", + "comment": "", + "oldName": "pltfrm_release_date", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 7, + "ordinalPosition": 4, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -12672,7 +11976,7 @@ "objectType": "TableField_PGSQL", "name": "tool_source", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", @@ -12686,7 +11990,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 8, + "ordinalPosition": 5, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -12702,7 +12006,7 @@ "objectType": "TableField_PGSQL", "name": "tool_version", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", @@ -12716,7 +12020,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 9, + "ordinalPosition": 6, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -12732,7 +12036,7 @@ "objectType": "TableField_PGSQL", "name": "data_source", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", @@ -12746,7 +12050,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 10, + "ordinalPosition": 7, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -12767,8 +12071,8 @@ "dimensions": 0, "collation": "", "isNullable": true, - "defaultType": "Others", - "defaultValue": "CURRENT_TIMESTAMP", + "defaultType": "None", + "defaultValue": "", "comment": "", "oldName": "data_collection_date", "typeOID": 1, @@ -12776,7 +12080,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 11, + "ordinalPosition": 8, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -12789,44 +12093,57 @@ "isIdentityCycle": false } ], - "indexes": [], + "indexes": [ + { + "objectType": "Index_PGSQL", + "name": "plat", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": true, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "plat", + "oid": 203791, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "platform", + "size": "16", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "pltfrm_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "pltfrm_id", + "collationSchema": "" + } + ] + } + ], "rules": [], "primaryKey": { "objectType": "PrimaryKey_PGSQL", - "name": "message_analysis_pkey", + "name": "theplat", "fields": [ - "msg_analysis_id" + "pltfrm_id" ], "fillFactor": -1, "indexTablespace": "", "comment": "", "isDeferrable": false, "isDeferred": false, - "oldName": "message_analysis_pkey" + "oldName": "theplat" }, - "foreignKeys": [ - { - "objectType": "ForeignKey_PGSQL", - "name": "fk_message_analysis_message_1", - "fields": [ - "msg_id" - ], - "referenceSchema": "augur_data", - "referenceTable": "message", - "referenceFields": [ - "msg_id" - ], - "onDelete": "NO ACTION", - "onUpdate": "NO ACTION", - "comment": "", - "isMatchFull": false, - "isDeferrable": false, - "isDeferred": false, - "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "ZeroOrOneRelationship", - "oldName": "fk_message_analysis_message_1" - } - ], + "foreignKeys": [], "uniques": [], "checks": [], "excludes": [], @@ -12836,16 +12153,16 @@ }, { "objectType": "TableNormal_PGSQL", - "name": "message_analysis_summary", - "comment": "In a relationally perfect world, we would have a table called “message_analysis_run” the incremented the “worker_run_id” for both message_analysis and message_analysis_summary. For now, we decided this was overkill. ", + "name": "pull_request_analysis", + "comment": "", "tablespace": "", "isUnlogged": false, "owner": "augur", "inheritFromTables": [], "hasOIDs": false, "fillFactor": -1, - "oldName": "message_analysis_summary", - "oid": 189994, + "oldName": "pull_request_analysis", + "oid": 190293, "rows": 0, "isInheritTables": false, "cluster": "", @@ -12862,7 +12179,7 @@ "fields": [ { "objectType": "TableField_PGSQL", - "name": "msg_summary_id", + "name": "pull_request_analysis_id", "type": "int8", "length": 64, "decimals": 0, @@ -12870,9 +12187,9 @@ "collation": "", "isNullable": false, "defaultType": "Others", - "defaultValue": "nextval('augur_data.message_analysis_summary_msg_summary_id_seq'::regclass)", + "defaultValue": "nextval('augur_data.pull_request_analysis_pull_request_analysis_id_seq'::regclass)", "comment": "", - "oldName": "msg_summary_id", + "oldName": "pull_request_analysis_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -12892,7 +12209,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "repo_id", + "name": "pull_request_id", "type": "int8", "length": 64, "decimals": 0, @@ -12901,8 +12218,8 @@ "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "", - "oldName": "repo_id", + "comment": "It would be better if the pull request worker is run first to fetch the latest PRs before analyzing", + "oldName": "pull_request_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -12922,17 +12239,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "worker_run_id", - "type": "int8", - "length": 64, - "decimals": 0, + "name": "merge_probability", + "type": "numeric", + "length": 256, + "decimals": 250, "dimensions": 0, "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "This value should reflect the worker_run_id for the messages summarized in the table. There is not a relation between these two tables for that purpose because its not *really*, relationaly a concept unless we create a third table for \"worker_run_id\", which we determined was unnecessarily complex. ", - "oldName": "worker_run_id", + "comment": "Indicates the probability of the PR being merged", + "oldName": "merge_probability", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -12952,113 +12269,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "positive_ratio", - "type": "float8", - "length": 53, - "decimals": 0, - "dimensions": 0, - "collation": "", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "positive_ratio", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 4, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "negative_ratio", - "type": "float8", - "length": 53, - "decimals": 0, - "dimensions": 0, - "collation": "", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "negative_ratio", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 5, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "novel_count", - "type": "int8", - "length": 64, - "decimals": 0, - "dimensions": 0, - "collation": "", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "The number of messages identified as novel during the analyzed period", - "oldName": "novel_count", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 6, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "period", - "type": "timestamp", + "name": "mechanism", + "type": "varchar", "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "The whole timeline is divided into periods based on the definition of time period for analysis, which is user specified. Timestamp of the first period to look at, until the end of messages at the data of execution. ", - "oldName": "period", + "comment": "the ML model used for prediction (It is XGBoost Classifier at present)", + "oldName": "mechanism", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 7, + "collationSchema": "pg_catalog", + "ordinalPosition": 4, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -13088,7 +12315,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 8, + "ordinalPosition": 5, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -13118,7 +12345,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 9, + "ordinalPosition": 6, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -13148,7 +12375,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 10, + "ordinalPosition": 7, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -13163,12 +12390,12 @@ { "objectType": "TableField_PGSQL", "name": "data_collection_date", - "type": "timestamp", - "length": 0, + "type": "timestamptz", + "length": 6, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": true, + "isNullable": false, "defaultType": "Others", "defaultValue": "CURRENT_TIMESTAMP", "comment": "", @@ -13178,7 +12405,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 11, + "ordinalPosition": 8, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -13191,42 +12418,111 @@ "isIdentityCycle": false } ], - "indexes": [], + "indexes": [ + { + "objectType": "Index_PGSQL", + "name": "pr_anal_idx", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "pr_anal_idx", + "oid": 203805, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "pull_request_analysis", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "pull_request_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "pull_request_id", + "collationSchema": "" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "probability_idx", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "probability_idx", + "oid": 203822, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "pull_request_analysis", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "merge_probability", + "collation": "", + "opClass": "numeric_ops", + "opClassSchema": "pg_catalog", + "order": "DESC", + "nullSort": "NULLS LAST", + "oldName": "merge_probability", + "collationSchema": "" + } + ] + } + ], "rules": [], "primaryKey": { "objectType": "PrimaryKey_PGSQL", - "name": "message_analysis_summary_pkey", + "name": "pull_request_analysis_pkey", "fields": [ - "msg_summary_id" + "pull_request_analysis_id" ], "fillFactor": -1, "indexTablespace": "", "comment": "", "isDeferrable": false, "isDeferred": false, - "oldName": "message_analysis_summary_pkey" + "oldName": "pull_request_analysis_pkey" }, "foreignKeys": [ { "objectType": "ForeignKey_PGSQL", - "name": "fk_message_analysis_summary_repo_1", + "name": "fk_pull_request_analysis_pull_requests_1", "fields": [ - "repo_id" + "pull_request_id" ], "referenceSchema": "augur_data", - "referenceTable": "repo", + "referenceTable": "pull_requests", "referenceFields": [ - "repo_id" + "pull_request_id" ], - "onDelete": "NO ACTION", - "onUpdate": "NO ACTION", + "onDelete": "CASCADE", + "onUpdate": "CASCADE", "comment": "", "isMatchFull": false, "isDeferrable": false, "isDeferred": false, "sourceCardinality": "ZeroOrManyRelationship", "targetCardinality": "ZeroOrOneRelationship", - "oldName": "fk_message_analysis_summary_repo_1" + "oldName": "fk_pull_request_analysis_pull_requests_1" } ], "uniques": [], @@ -13238,16 +12534,16 @@ }, { "objectType": "TableNormal_PGSQL", - "name": "message_sentiment", - "comment": "", + "name": "pull_request_files", + "comment": "Pull request commits are an enumeration of each commit associated with a pull request. \nNot all pull requests are from a branch or fork into master. \nThe commits table intends to count only commits that end up in the master branch (i.e., part of the deployed code base for a project).\nTherefore, there will be commit “SHA”’s in this table that are no associated with a commit SHA in the commits table. \nIn cases where the PR is to the master branch of a project, you will find a match. In cases where the PR does not involve the master branch, you will not find a corresponding commit SHA in the commits table. This is expected. ", "tablespace": "", "isUnlogged": false, "owner": "augur", "inheritFromTables": [], "hasOIDs": false, "fillFactor": -1, - "oldName": "message_sentiment", - "oid": 190022, + "oldName": "pull_request_files", + "oid": 190683, "rows": 0, "isInheritTables": false, "cluster": "", @@ -13264,17 +12560,17 @@ "fields": [ { "objectType": "TableField_PGSQL", - "name": "msg_analysis_id", + "name": "pull_request_id", "type": "int8", "length": 64, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": false, - "defaultType": "Others", - "defaultValue": "nextval('augur_data.message_sentiment_msg_analysis_id_seq'::regclass)", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "msg_analysis_id", + "oldName": "pull_request_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -13294,17 +12590,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "msg_id", + "name": "pr_file_id", "type": "int8", "length": 64, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_data.pull_request_files_pr_file_id_seq'::regclass)", "comment": "", - "oldName": "msg_id", + "oldName": "pr_file_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -13324,7 +12620,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "worker_run_id", + "name": "pr_file_additions", "type": "int8", "length": 64, "decimals": 0, @@ -13333,8 +12629,8 @@ "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "This column is used to indicate analyses run by a worker during the same execution period, and is useful for grouping, and time series analysis. ", - "oldName": "worker_run_id", + "comment": "", + "oldName": "pr_file_additions", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -13354,17 +12650,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "sentiment_score", - "type": "float8", - "length": 53, + "name": "pr_file_deletions", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "A sentiment analysis score. Zero is neutral, negative numbers are negative sentiment, and positive numbers are positive sentiment. ", - "oldName": "sentiment_score", + "comment": "", + "oldName": "pr_file_deletions", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -13384,83 +12680,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "reconstruction_error", - "type": "float8", - "length": 53, - "decimals": 0, - "dimensions": 0, - "collation": "", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "Each message is converted to a 250 dimensin doc2vec vector, so the reconstruction error is the difference between what the predicted vector and the actual vector.", - "oldName": "reconstruction_error", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 5, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "novelty_flag", - "type": "bool", - "length": 0, - "decimals": 0, - "dimensions": 0, - "collation": "", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "This is an analysis of the degree to which the message is novel when compared to other messages in a repository. For example when bots are producing numerous identical messages, the novelty score is low. It would also be a low novelty score when several people are making the same coment. ", - "oldName": "novelty_flag", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 6, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "feedback_flag", - "type": "bool", + "name": "pr_file_path", + "type": "varchar", "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "This exists to provide the user with an opportunity provide feedback on the resulting the sentiment scores. ", - "oldName": "feedback_flag", + "comment": "", + "oldName": "pr_file_path", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 7, + "collationSchema": "pg_catalog", + "ordinalPosition": 5, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -13490,7 +12726,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 8, + "ordinalPosition": 6, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -13520,7 +12756,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 9, + "ordinalPosition": 7, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -13550,7 +12786,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 10, + "ordinalPosition": 8, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -13580,7 +12816,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 11, + "ordinalPosition": 9, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -13597,38 +12833,38 @@ "rules": [], "primaryKey": { "objectType": "PrimaryKey_PGSQL", - "name": "message_sentiment_pkey", + "name": "pull_request_files_pkey", "fields": [ - "msg_analysis_id" + "pr_file_id" ], "fillFactor": -1, "indexTablespace": "", "comment": "", "isDeferrable": false, "isDeferred": false, - "oldName": "message_sentiment_pkey" + "oldName": "pull_request_files_pkey" }, "foreignKeys": [ { "objectType": "ForeignKey_PGSQL", - "name": "fk_message_sentiment_message_1", + "name": "fk_pull_request_commits_pull_requests_1", "fields": [ - "msg_id" + "pull_request_id" ], "referenceSchema": "augur_data", - "referenceTable": "message", + "referenceTable": "pull_requests", "referenceFields": [ - "msg_id" + "pull_request_id" ], - "onDelete": "NO ACTION", - "onUpdate": "NO ACTION", + "onDelete": "CASCADE", + "onUpdate": "CASCADE", "comment": "", "isMatchFull": false, "isDeferrable": false, "isDeferred": false, "sourceCardinality": "ZeroOrManyRelationship", "targetCardinality": "ZeroOrOneRelationship", - "oldName": "fk_message_sentiment_message_1" + "oldName": "fk_pull_request_commits_pull_requests_1" } ], "uniques": [], @@ -13640,16 +12876,16 @@ }, { "objectType": "TableNormal_PGSQL", - "name": "message_sentiment_summary", - "comment": "In a relationally perfect world, we would have a table called “message_sentiment_run” the incremented the “worker_run_id” for both message_sentiment and message_sentiment_summary. For now, we decided this was overkill. ", + "name": "pull_request_labels", + "comment": "", "tablespace": "", "isUnlogged": false, "owner": "augur", "inheritFromTables": [], "hasOIDs": false, "fillFactor": -1, - "oldName": "message_sentiment_summary", - "oid": 190146, + "oldName": "pull_request_labels", + "oid": 190754, "rows": 0, "isInheritTables": false, "cluster": "", @@ -13666,7 +12902,7 @@ "fields": [ { "objectType": "TableField_PGSQL", - "name": "msg_summary_id", + "name": "pr_label_id", "type": "int8", "length": 64, "decimals": 0, @@ -13674,9 +12910,9 @@ "collation": "", "isNullable": false, "defaultType": "Others", - "defaultValue": "nextval('augur_data.message_sentiment_summary_msg_summary_id_seq'::regclass)", + "defaultValue": "nextval('augur_data.pull_request_labels_pr_label_id_seq'::regclass)", "comment": "", - "oldName": "msg_summary_id", + "oldName": "pr_label_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -13696,7 +12932,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "repo_id", + "name": "pull_request_id", "type": "int8", "length": 64, "decimals": 0, @@ -13706,7 +12942,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "repo_id", + "oldName": "pull_request_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -13726,7 +12962,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "worker_run_id", + "name": "pr_src_id", "type": "int8", "length": 64, "decimals": 0, @@ -13735,8 +12971,8 @@ "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "This value should reflect the worker_run_id for the messages summarized in the table. There is not a relation between these two tables for that purpose because its not *really*, relationaly a concept unless we create a third table for \"worker_run_id\", which we determined was unnecessarily complex. ", - "oldName": "worker_run_id", + "comment": "", + "oldName": "pr_src_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -13756,22 +12992,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "positive_ratio", - "type": "float8", - "length": 53, + "name": "pr_src_node_id", + "type": "varchar", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "positive_ratio", + "oldName": "pr_src_node_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 4, "foreignOptions": [], "isIdentity": false, @@ -13786,22 +13022,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "negative_ratio", - "type": "float8", - "length": 53, + "name": "pr_src_url", + "type": "varchar", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "negative_ratio", + "oldName": "pr_src_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 5, "foreignOptions": [], "isIdentity": false, @@ -13816,22 +13052,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "novel_count", - "type": "int8", - "length": 64, + "name": "pr_src_description", + "type": "varchar", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "The number of messages identified as novel during the analyzed period", - "oldName": "novel_count", + "comment": "", + "oldName": "pr_src_description", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 6, "foreignOptions": [], "isIdentity": false, @@ -13846,8 +13082,38 @@ }, { "objectType": "TableField_PGSQL", - "name": "period", - "type": "timestamp", + "name": "pr_src_color", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_src_color", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 7, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_src_default_bool", + "type": "bool", "length": 0, "decimals": 0, "dimensions": 0, @@ -13855,14 +13121,14 @@ "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "The whole timeline is divided into periods based on the definition of time period for analysis, which is user specified. Timestamp of the first period to look at, until the end of messages at the data of execution. ", - "oldName": "period", + "comment": "", + "oldName": "pr_src_default_bool", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 7, + "ordinalPosition": 8, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -13878,7 +13144,7 @@ "objectType": "TableField_PGSQL", "name": "tool_source", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", @@ -13892,7 +13158,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 8, + "ordinalPosition": 9, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -13908,7 +13174,7 @@ "objectType": "TableField_PGSQL", "name": "tool_version", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", @@ -13922,7 +13188,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 9, + "ordinalPosition": 10, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -13938,7 +13204,7 @@ "objectType": "TableField_PGSQL", "name": "data_source", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", @@ -13952,7 +13218,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 10, + "ordinalPosition": 11, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -13982,7 +13248,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 11, + "ordinalPosition": 12, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -13999,38 +13265,38 @@ "rules": [], "primaryKey": { "objectType": "PrimaryKey_PGSQL", - "name": "message_sentiment_summary_pkey", + "name": "pull_request_labels_pkey", "fields": [ - "msg_summary_id" + "pr_label_id" ], "fillFactor": -1, "indexTablespace": "", "comment": "", "isDeferrable": false, "isDeferred": false, - "oldName": "message_sentiment_summary_pkey" + "oldName": "pull_request_labels_pkey" }, "foreignKeys": [ { "objectType": "ForeignKey_PGSQL", - "name": "fk_message_sentiment_summary_repo_1", + "name": "fk_pull_request_labels_pull_requests_1", "fields": [ - "repo_id" + "pull_request_id" ], "referenceSchema": "augur_data", - "referenceTable": "repo", + "referenceTable": "pull_requests", "referenceFields": [ - "repo_id" + "pull_request_id" ], - "onDelete": "NO ACTION", - "onUpdate": "NO ACTION", + "onDelete": "CASCADE", + "onUpdate": "CASCADE", "comment": "", "isMatchFull": false, "isDeferrable": false, "isDeferred": false, "sourceCardinality": "ZeroOrManyRelationship", "targetCardinality": "ZeroOrOneRelationship", - "oldName": "fk_message_sentiment_summary_repo_1" + "oldName": "fk_pull_request_labels_pull_requests_1" } ], "uniques": [], @@ -14042,7 +13308,7 @@ }, { "objectType": "TableNormal_PGSQL", - "name": "platform", + "name": "pull_request_message_ref", "comment": "", "tablespace": "", "isUnlogged": false, @@ -14050,9 +13316,9 @@ "inheritFromTables": [], "hasOIDs": false, "fillFactor": -1, - "oldName": "platform", - "oid": 190264, - "rows": 1, + "oldName": "pull_request_message_ref", + "oid": 190820, + "rows": 0, "isInheritTables": false, "cluster": "", "ACL": "", @@ -14068,7 +13334,7 @@ "fields": [ { "objectType": "TableField_PGSQL", - "name": "pltfrm_id", + "name": "pr_msg_ref_id", "type": "int8", "length": 64, "decimals": 0, @@ -14076,9 +13342,9 @@ "collation": "", "isNullable": false, "defaultType": "Others", - "defaultValue": "nextval('augur_data.platform_pltfrm_id_seq'::regclass)", + "defaultValue": "nextval('augur_data.pull_request_message_ref_pr_msg_ref_id_seq'::regclass)", "comment": "", - "oldName": "pltfrm_id", + "oldName": "pr_msg_ref_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -14098,22 +13364,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "pltfrm_name", - "type": "varchar", - "length": 255, + "name": "pull_request_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pltfrm_name", + "oldName": "pull_request_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 2, "foreignOptions": [], "isIdentity": false, @@ -14128,22 +13394,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "pltfrm_version", - "type": "varchar", - "length": 255, + "name": "msg_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pltfrm_version", + "oldName": "msg_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 3, "foreignOptions": [], "isIdentity": false, @@ -14158,9 +13424,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "pltfrm_release_date", - "type": "date", - "length": 0, + "name": "pr_message_ref_src_comment_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, "collation": "", @@ -14168,7 +13434,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pltfrm_release_date", + "oldName": "pr_message_ref_src_comment_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -14186,6 +13452,36 @@ "hasNoIdentityMaxValue": false, "isIdentityCycle": false }, + { + "objectType": "TableField_PGSQL", + "name": "pr_message_ref_src_node_id", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_message_ref_src_node_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 5, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, { "objectType": "TableField_PGSQL", "name": "tool_source", @@ -14204,7 +13500,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 5, + "ordinalPosition": 6, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -14234,7 +13530,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 6, + "ordinalPosition": 7, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -14264,7 +13560,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 7, + "ordinalPosition": 8, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -14285,8 +13581,8 @@ "dimensions": 0, "collation": "", "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", "comment": "", "oldName": "data_collection_date", "typeOID": 1, @@ -14294,7 +13590,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 8, + "ordinalPosition": 9, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -14307,57 +13603,65 @@ "isIdentityCycle": false } ], - "indexes": [ - { - "objectType": "Index_PGSQL", - "name": "plat", - "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": true, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "plat", - "oid": 203791, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "platform", - "size": "16", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "pltfrm_id", - "collation": "", - "opClass": "int8_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "pltfrm_id", - "collationSchema": "" - } - ] - } - ], + "indexes": [], "rules": [], "primaryKey": { "objectType": "PrimaryKey_PGSQL", - "name": "theplat", + "name": "pull_request_message_ref_pkey", "fields": [ - "pltfrm_id" + "pr_msg_ref_id" ], "fillFactor": -1, "indexTablespace": "", "comment": "", "isDeferrable": false, "isDeferred": false, - "oldName": "theplat" + "oldName": "pull_request_message_ref_pkey" }, - "foreignKeys": [], + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_pull_request_message_ref_message_1", + "fields": [ + "msg_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "message", + "referenceFields": [ + "msg_id" + ], + "onDelete": "CASCADE", + "onUpdate": "CASCADE", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_pull_request_message_ref_message_1" + }, + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_pull_request_message_ref_pull_requests_1", + "fields": [ + "pull_request_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "pull_requests", + "referenceFields": [ + "pull_request_id" + ], + "onDelete": "CASCADE", + "onUpdate": "CASCADE", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_pull_request_message_ref_pull_requests_1" + } + ], "uniques": [], "checks": [], "excludes": [], @@ -14367,7 +13671,7 @@ }, { "objectType": "TableNormal_PGSQL", - "name": "pull_request_analysis", + "name": "pull_request_review_message_ref", "comment": "", "tablespace": "", "isUnlogged": false, @@ -14375,8 +13679,8 @@ "inheritFromTables": [], "hasOIDs": false, "fillFactor": -1, - "oldName": "pull_request_analysis", - "oid": 190293, + "oldName": "pull_request_review_message_ref", + "oid": 191077, "rows": 0, "isInheritTables": false, "cluster": "", @@ -14393,7 +13697,7 @@ "fields": [ { "objectType": "TableField_PGSQL", - "name": "pull_request_analysis_id", + "name": "pr_review_msg_ref_id", "type": "int8", "length": 64, "decimals": 0, @@ -14401,9 +13705,9 @@ "collation": "", "isNullable": false, "defaultType": "Others", - "defaultValue": "nextval('augur_data.pull_request_analysis_pull_request_analysis_id_seq'::regclass)", + "defaultValue": "nextval('augur_data.pull_request_review_message_ref_pr_review_msg_ref_id_seq'::regclass)", "comment": "", - "oldName": "pull_request_analysis_id", + "oldName": "pr_review_msg_ref_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -14423,17 +13727,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "pull_request_id", + "name": "pr_review_id", "type": "int8", "length": 64, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": true, + "isNullable": false, "defaultType": "None", "defaultValue": "", - "comment": "It would be better if the pull request worker is run first to fetch the latest PRs before analyzing", - "oldName": "pull_request_id", + "comment": "", + "oldName": "pr_review_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -14453,17 +13757,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "merge_probability", - "type": "numeric", - "length": 256, - "decimals": 250, + "name": "msg_id", + "type": "int8", + "length": 64, + "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": true, + "isNullable": false, "defaultType": "None", "defaultValue": "", - "comment": "Indicates the probability of the PR being merged", - "oldName": "merge_probability", + "comment": "", + "oldName": "msg_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -14483,7 +13787,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "mechanism", + "name": "pr_review_msg_url", "type": "varchar", "length": 0, "decimals": 0, @@ -14492,8 +13796,8 @@ "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "the ML model used for prediction (It is XGBoost Classifier at present)", - "oldName": "mechanism", + "comment": "", + "oldName": "pr_review_msg_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -14513,22 +13817,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_source", - "type": "varchar", - "length": 0, + "name": "pr_review_src_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "tool_source", + "oldName": "pr_review_src_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 5, "foreignOptions": [], "isIdentity": false, @@ -14543,22 +13847,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_version", - "type": "varchar", - "length": 0, + "name": "pr_review_msg_src_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "tool_version", + "oldName": "pr_review_msg_src_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 6, "foreignOptions": [], "isIdentity": false, @@ -14573,7 +13877,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_source", + "name": "pr_review_msg_node_id", "type": "varchar", "length": 0, "decimals": 0, @@ -14583,7 +13887,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "data_source", + "oldName": "pr_review_msg_node_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -14603,22 +13907,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_collection_date", - "type": "timestamptz", - "length": 6, + "name": "pr_review_msg_diff_hunk", + "type": "varchar", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", - "isNullable": false, - "defaultType": "Others", - "defaultValue": "CURRENT_TIMESTAMP", + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "data_collection_date", + "oldName": "pr_review_msg_diff_hunk", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 8, "foreignOptions": [], "isIdentity": false, @@ -14630,167 +13934,116 @@ "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false - } - ], - "indexes": [ + }, { - "objectType": "Index_PGSQL", - "name": "pr_anal_idx", + "objectType": "TableField_PGSQL", + "name": "pr_review_msg_path", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "pr_anal_idx", - "oid": 203805, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "pull_request_analysis", - "size": "8", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "pull_request_id", - "collation": "", - "opClass": "int8_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "pull_request_id", - "collationSchema": "" - } - ] + "oldName": "pr_review_msg_path", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 9, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false }, { - "objectType": "Index_PGSQL", - "name": "probability_idx", + "objectType": "TableField_PGSQL", + "name": "pr_review_msg_position", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "probability_idx", - "oid": 203822, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "pull_request_analysis", - "size": "8", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "merge_probability", - "collation": "", - "opClass": "numeric_ops", - "opClassSchema": "pg_catalog", - "order": "DESC", - "nullSort": "NULLS LAST", - "oldName": "merge_probability", - "collationSchema": "" - } - ] - } - ], - "rules": [], - "primaryKey": { - "objectType": "PrimaryKey_PGSQL", - "name": "pull_request_analysis_pkey", - "fields": [ - "pull_request_analysis_id" - ], - "fillFactor": -1, - "indexTablespace": "", - "comment": "", - "isDeferrable": false, - "isDeferred": false, - "oldName": "pull_request_analysis_pkey" - }, - "foreignKeys": [ + "oldName": "pr_review_msg_position", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 10, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, { - "objectType": "ForeignKey_PGSQL", - "name": "fk_pull_request_analysis_pull_requests_1", - "fields": [ - "pull_request_id" - ], - "referenceSchema": "augur_data", - "referenceTable": "pull_requests", - "referenceFields": [ - "pull_request_id" - ], - "onDelete": "CASCADE", - "onUpdate": "CASCADE", + "objectType": "TableField_PGSQL", + "name": "pr_review_msg_original_position", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", "comment": "", - "isMatchFull": false, - "isDeferrable": false, - "isDeferred": false, - "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "ZeroOrOneRelationship", - "oldName": "fk_pull_request_analysis_pull_requests_1" - } - ], - "uniques": [], - "checks": [], - "excludes": [], - "triggers": [], - "partitionKeys": [], - "partitions": [] - }, - { - "objectType": "TableNormal_PGSQL", - "name": "pull_request_files", - "comment": "Pull request commits are an enumeration of each commit associated with a pull request. \nNot all pull requests are from a branch or fork into master. \nThe commits table intends to count only commits that end up in the master branch (i.e., part of the deployed code base for a project).\nTherefore, there will be commit “SHA”’s in this table that are no associated with a commit SHA in the commits table. \nIn cases where the PR is to the master branch of a project, you will find a match. In cases where the PR does not involve the master branch, you will not find a corresponding commit SHA in the commits table. This is expected. ", - "tablespace": "", - "isUnlogged": false, - "owner": "augur", - "inheritFromTables": [], - "hasOIDs": false, - "fillFactor": -1, - "oldName": "pull_request_files", - "oid": 190683, - "rows": 0, - "isInheritTables": false, - "cluster": "", - "ACL": "", - "isPartition": false, - "partitioningStrategy": "None", - "partitionOfSchema": "", - "partitionOfTable": "", - "partitionListValues": [], - "partitionRangeFromValues": [], - "partitionRangeToValues": [], - "foreignServer": "", - "foreignOptionDisplay": "", - "fields": [ + "oldName": "pr_review_msg_original_position", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 11, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, { "objectType": "TableField_PGSQL", - "name": "pull_request_id", - "type": "int8", - "length": 64, + "name": "pr_review_msg_commit_id", + "type": "varchar", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pull_request_id", + "oldName": "pr_review_msg_commit_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 1, + "collationSchema": "pg_catalog", + "ordinalPosition": 12, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -14804,23 +14057,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_file_id", - "type": "int8", - "length": 64, + "name": "pr_review_msg_original_commit_id", + "type": "varchar", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", - "isNullable": false, - "defaultType": "Others", - "defaultValue": "nextval('augur_data.pull_request_files_pr_file_id_seq'::regclass)", + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "pr_file_id", + "oldName": "pr_review_msg_original_commit_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 2, + "collationSchema": "pg_catalog", + "ordinalPosition": 13, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -14834,9 +14087,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_file_additions", - "type": "int8", - "length": 64, + "name": "pr_review_msg_updated_at", + "type": "timestamp", + "length": 6, "decimals": 0, "dimensions": 0, "collation": "", @@ -14844,13 +14097,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_file_additions", + "oldName": "pr_review_msg_updated_at", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 3, + "ordinalPosition": 14, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -14864,23 +14117,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_file_deletions", - "type": "int8", - "length": 64, + "name": "pr_review_msg_html_url", + "type": "varchar", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_file_deletions", + "oldName": "pr_review_msg_html_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 4, + "collationSchema": "pg_catalog", + "ordinalPosition": 15, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -14894,7 +14147,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_file_path", + "name": "pr_url", "type": "varchar", "length": 0, "decimals": 0, @@ -14904,13 +14157,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_file_path", + "oldName": "pr_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 5, + "ordinalPosition": 16, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -14924,7 +14177,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_source", + "name": "pr_review_msg_author_association", "type": "varchar", "length": 0, "decimals": 0, @@ -14934,13 +14187,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "tool_source", + "oldName": "pr_review_msg_author_association", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 6, + "ordinalPosition": 17, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -14954,7 +14207,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_version", + "name": "pr_review_msg_start_line", "type": "varchar", "length": 0, "decimals": 0, @@ -14964,13 +14217,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "tool_version", + "oldName": "pr_review_msg_start_line", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 7, + "ordinalPosition": 18, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -14984,7 +14237,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_source", + "name": "pr_review_msg_original_start_line", "type": "varchar", "length": 0, "decimals": 0, @@ -14994,13 +14247,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "data_source", + "oldName": "pr_review_msg_original_start_line", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 8, + "ordinalPosition": 19, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -15014,23 +14267,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_collection_date", - "type": "timestamp", + "name": "pr_review_msg_start_side", + "type": "varchar", "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, - "defaultType": "Others", - "defaultValue": "CURRENT_TIMESTAMP", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "data_collection_date", + "oldName": "pr_review_msg_start_side", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 9, + "collationSchema": "pg_catalog", + "ordinalPosition": 20, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -15041,34 +14294,265 @@ "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false - } - ], - "indexes": [], - "rules": [], - "primaryKey": { - "objectType": "PrimaryKey_PGSQL", - "name": "pull_request_files_pkey", - "fields": [ - "pr_file_id" - ], - "fillFactor": -1, + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_review_msg_line", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_review_msg_line", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 21, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_review_msg_original_line", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_review_msg_original_line", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 22, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_review_msg_side", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_review_msg_side", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 23, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_source", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 24, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_version", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_version", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 25, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_source", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "data_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 26, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_collection_date", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", + "comment": "", + "oldName": "data_collection_date", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 27, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "pr_review_msg_ref_id", + "fields": [ + "pr_review_msg_ref_id" + ], + "fillFactor": -1, "indexTablespace": "", "comment": "", "isDeferrable": false, "isDeferred": false, - "oldName": "pull_request_files_pkey" + "oldName": "pr_review_msg_ref_id" }, "foreignKeys": [ { "objectType": "ForeignKey_PGSQL", - "name": "fk_pull_request_commits_pull_requests_1", + "name": "fk_pull_request_review_message_ref_message_1", "fields": [ - "pull_request_id" + "msg_id" ], "referenceSchema": "augur_data", - "referenceTable": "pull_requests", + "referenceTable": "message", "referenceFields": [ - "pull_request_id" + "msg_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "OneAndOnlyOneRelationship", + "oldName": "fk_pull_request_review_message_ref_message_1" + }, + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_pull_request_review_message_ref_pull_request_reviews_1", + "fields": [ + "pr_review_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "pull_request_reviews", + "referenceFields": [ + "pr_review_id" ], "onDelete": "CASCADE", "onUpdate": "CASCADE", @@ -15077,8 +14561,8 @@ "isDeferrable": false, "isDeferred": false, "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "ZeroOrOneRelationship", - "oldName": "fk_pull_request_commits_pull_requests_1" + "targetCardinality": "OneAndOnlyOneRelationship", + "oldName": "fk_pull_request_review_message_ref_pull_request_reviews_1" } ], "uniques": [], @@ -15090,7 +14574,7 @@ }, { "objectType": "TableNormal_PGSQL", - "name": "pull_request_labels", + "name": "pull_request_teams", "comment": "", "tablespace": "", "isUnlogged": false, @@ -15098,8 +14582,8 @@ "inheritFromTables": [], "hasOIDs": false, "fillFactor": -1, - "oldName": "pull_request_labels", - "oid": 190754, + "oldName": "pull_request_teams", + "oid": 191424, "rows": 0, "isInheritTables": false, "cluster": "", @@ -15116,7 +14600,7 @@ "fields": [ { "objectType": "TableField_PGSQL", - "name": "pr_label_id", + "name": "pr_team_id", "type": "int8", "length": 64, "decimals": 0, @@ -15124,9 +14608,9 @@ "collation": "", "isNullable": false, "defaultType": "Others", - "defaultValue": "nextval('augur_data.pull_request_labels_pr_label_id_seq'::regclass)", + "defaultValue": "nextval('augur_data.pull_request_teams_pr_team_id_seq'::regclass)", "comment": "", - "oldName": "pr_label_id", + "oldName": "pr_team_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -15176,7 +14660,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_src_id", + "name": "pr_src_team_id", "type": "int8", "length": 64, "decimals": 0, @@ -15186,7 +14670,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_src_id", + "oldName": "pr_src_team_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -15206,7 +14690,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_src_node_id", + "name": "pr_src_team_node", "type": "varchar", "length": 0, "decimals": 0, @@ -15216,7 +14700,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_src_node_id", + "oldName": "pr_src_team_node", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -15236,7 +14720,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_src_url", + "name": "pr_src_team_url", "type": "varchar", "length": 0, "decimals": 0, @@ -15246,7 +14730,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_src_url", + "oldName": "pr_src_team_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -15266,7 +14750,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_src_description", + "name": "pr_team_name", "type": "varchar", "length": 0, "decimals": 0, @@ -15276,7 +14760,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_src_description", + "oldName": "pr_team_name", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -15296,7 +14780,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_src_color", + "name": "pr_team_slug", "type": "varchar", "length": 0, "decimals": 0, @@ -15306,7 +14790,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_src_color", + "oldName": "pr_team_slug", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -15326,23 +14810,173 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_src_default_bool", - "type": "bool", + "name": "pr_team_description", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_team_description", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 8, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_team_privacy", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_team_privacy", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 9, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_team_permission", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_team_permission", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 10, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_team_src_members_url", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_team_src_members_url", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 11, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_team_src_repositories_url", + "type": "varchar", "length": 0, "decimals": 0, "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_team_src_repositories_url", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 12, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_team_parent_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_src_default_bool", + "oldName": "pr_team_parent_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 8, + "ordinalPosition": 13, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -15372,7 +15006,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 9, + "ordinalPosition": 14, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -15402,7 +15036,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 10, + "ordinalPosition": 15, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -15432,7 +15066,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 11, + "ordinalPosition": 16, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -15462,7 +15096,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 12, + "ordinalPosition": 17, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -15479,21 +15113,21 @@ "rules": [], "primaryKey": { "objectType": "PrimaryKey_PGSQL", - "name": "pull_request_labels_pkey", + "name": "pull_request_teams_pkey", "fields": [ - "pr_label_id" + "pr_team_id" ], "fillFactor": -1, "indexTablespace": "", "comment": "", "isDeferrable": false, "isDeferred": false, - "oldName": "pull_request_labels_pkey" + "oldName": "pull_request_teams_pkey" }, "foreignKeys": [ { "objectType": "ForeignKey_PGSQL", - "name": "fk_pull_request_labels_pull_requests_1", + "name": "fk_pull_request_teams_pull_requests_1", "fields": [ "pull_request_id" ], @@ -15510,7 +15144,7 @@ "isDeferred": false, "sourceCardinality": "ZeroOrManyRelationship", "targetCardinality": "ZeroOrOneRelationship", - "oldName": "fk_pull_request_labels_pull_requests_1" + "oldName": "fk_pull_request_teams_pull_requests_1" } ], "uniques": [], @@ -15522,7 +15156,7 @@ }, { "objectType": "TableNormal_PGSQL", - "name": "pull_request_message_ref", + "name": "repo_cluster_messages", "comment": "", "tablespace": "", "isUnlogged": false, @@ -15530,8 +15164,8 @@ "inheritFromTables": [], "hasOIDs": false, "fillFactor": -1, - "oldName": "pull_request_message_ref", - "oid": 190820, + "oldName": "repo_cluster_messages", + "oid": 192186, "rows": 0, "isInheritTables": false, "cluster": "", @@ -15548,7 +15182,7 @@ "fields": [ { "objectType": "TableField_PGSQL", - "name": "pr_msg_ref_id", + "name": "msg_cluster_id", "type": "int8", "length": 64, "decimals": 0, @@ -15556,9 +15190,9 @@ "collation": "", "isNullable": false, "defaultType": "Others", - "defaultValue": "nextval('augur_data.pull_request_message_ref_pr_msg_ref_id_seq'::regclass)", + "defaultValue": "nextval('augur_data.repo_cluster_messages_msg_cluster_id_seq'::regclass)", "comment": "", - "oldName": "pr_msg_ref_id", + "oldName": "msg_cluster_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -15578,7 +15212,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "pull_request_id", + "name": "repo_id", "type": "int8", "length": 64, "decimals": 0, @@ -15588,7 +15222,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pull_request_id", + "oldName": "repo_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -15608,9 +15242,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "msg_id", - "type": "int8", - "length": 64, + "name": "cluster_content", + "type": "int4", + "length": 32, "decimals": 0, "dimensions": 0, "collation": "", @@ -15618,7 +15252,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "msg_id", + "oldName": "cluster_content", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -15638,9 +15272,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_message_ref_src_comment_id", - "type": "int8", - "length": 64, + "name": "cluster_mechanism", + "type": "int4", + "length": 32, "decimals": 0, "dimensions": 0, "collation": "", @@ -15648,7 +15282,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_message_ref_src_comment_id", + "oldName": "cluster_mechanism", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -15668,7 +15302,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_message_ref_src_node_id", + "name": "tool_source", "type": "varchar", "length": 0, "decimals": 0, @@ -15678,7 +15312,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_message_ref_src_node_id", + "oldName": "tool_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -15698,9 +15332,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_source", + "name": "tool_version", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", @@ -15708,7 +15342,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "tool_source", + "oldName": "tool_version", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -15728,9 +15362,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_version", + "name": "data_source", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", @@ -15738,7 +15372,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "tool_version", + "oldName": "data_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -15756,36 +15390,6 @@ "hasNoIdentityMaxValue": false, "isIdentityCycle": false }, - { - "objectType": "TableField_PGSQL", - "name": "data_source", - "type": "varchar", - "length": 255, - "decimals": 0, - "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "data_source", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 8, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, { "objectType": "TableField_PGSQL", "name": "data_collection_date", @@ -15804,7 +15408,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 9, + "ordinalPosition": 8, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -15821,59 +15425,38 @@ "rules": [], "primaryKey": { "objectType": "PrimaryKey_PGSQL", - "name": "pull_request_message_ref_pkey", + "name": "repo_cluster_messages_pkey", "fields": [ - "pr_msg_ref_id" + "msg_cluster_id" ], "fillFactor": -1, "indexTablespace": "", "comment": "", "isDeferrable": false, "isDeferred": false, - "oldName": "pull_request_message_ref_pkey" + "oldName": "repo_cluster_messages_pkey" }, "foreignKeys": [ { "objectType": "ForeignKey_PGSQL", - "name": "fk_pull_request_message_ref_message_1", - "fields": [ - "msg_id" - ], - "referenceSchema": "augur_data", - "referenceTable": "message", - "referenceFields": [ - "msg_id" - ], - "onDelete": "CASCADE", - "onUpdate": "CASCADE", - "comment": "", - "isMatchFull": false, - "isDeferrable": false, - "isDeferred": false, - "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "ZeroOrOneRelationship", - "oldName": "fk_pull_request_message_ref_message_1" - }, - { - "objectType": "ForeignKey_PGSQL", - "name": "fk_pull_request_message_ref_pull_requests_1", + "name": "fk_repo_cluster_messages_repo_1", "fields": [ - "pull_request_id" + "repo_id" ], "referenceSchema": "augur_data", - "referenceTable": "pull_requests", + "referenceTable": "repo", "referenceFields": [ - "pull_request_id" + "repo_id" ], - "onDelete": "CASCADE", - "onUpdate": "CASCADE", + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", "comment": "", "isMatchFull": false, "isDeferrable": false, "isDeferred": false, "sourceCardinality": "ZeroOrManyRelationship", "targetCardinality": "ZeroOrOneRelationship", - "oldName": "fk_pull_request_message_ref_pull_requests_1" + "oldName": "fk_repo_cluster_messages_repo_1" } ], "uniques": [], @@ -15885,16 +15468,16 @@ }, { "objectType": "TableNormal_PGSQL", - "name": "pull_request_review_message_ref", - "comment": "", + "name": "repo_dependencies", + "comment": "Contains the dependencies for a repo.", "tablespace": "", "isUnlogged": false, "owner": "augur", "inheritFromTables": [], "hasOIDs": false, "fillFactor": -1, - "oldName": "pull_request_review_message_ref", - "oid": 191077, + "oldName": "repo_dependencies", + "oid": 19043821, "rows": 0, "isInheritTables": false, "cluster": "", @@ -15911,7 +15494,7 @@ "fields": [ { "objectType": "TableField_PGSQL", - "name": "pr_review_msg_ref_id", + "name": "repo_dependencies_id", "type": "int8", "length": 64, "decimals": 0, @@ -15919,9 +15502,9 @@ "collation": "", "isNullable": false, "defaultType": "Others", - "defaultValue": "nextval('augur_data.pull_request_review_message_ref_pr_review_msg_ref_id_seq'::regclass)", + "defaultValue": "nextval('augur_data.repo_dependencies_repo_dependencies_id_seq'::regclass)", "comment": "", - "oldName": "pr_review_msg_ref_id", + "oldName": "repo_dependencies_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -15941,17 +15524,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_review_id", + "name": "repo_id", "type": "int8", "length": 64, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": false, + "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "", - "oldName": "pr_review_id", + "comment": "Forign key for repo id. ", + "oldName": "repo_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -15971,22 +15554,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "msg_id", - "type": "int8", - "length": 64, + "name": "dep_name", + "type": "varchar", + "length": 255, "decimals": 0, "dimensions": 0, - "collation": "", - "isNullable": false, + "collation": "default", + "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "", - "oldName": "msg_id", + "comment": "Name of the dependancy found in project. ", + "oldName": "dep_name", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 3, "foreignOptions": [], "isIdentity": false, @@ -16001,22 +15584,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_review_msg_url", - "type": "varchar", - "length": 0, + "name": "dep_count", + "type": "int4", + "length": 32, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "", - "oldName": "pr_review_msg_url", + "comment": "Number of times the dependancy was found. ", + "oldName": "dep_count", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 4, "foreignOptions": [], "isIdentity": false, @@ -16031,22 +15614,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_review_src_id", - "type": "int8", - "length": 64, + "name": "dep_language", + "type": "varchar", + "length": 255, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "", - "oldName": "pr_review_src_id", + "comment": "Language of the dependancy. ", + "oldName": "dep_language", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 5, "foreignOptions": [], "isIdentity": false, @@ -16061,22 +15644,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_review_msg_src_id", - "type": "int8", - "length": 64, + "name": "tool_source", + "type": "varchar", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_review_msg_src_id", + "oldName": "tool_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 6, "foreignOptions": [], "isIdentity": false, @@ -16091,7 +15674,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_review_msg_node_id", + "name": "tool_version", "type": "varchar", "length": 0, "decimals": 0, @@ -16101,7 +15684,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_review_msg_node_id", + "oldName": "tool_version", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -16121,7 +15704,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_review_msg_diff_hunk", + "name": "data_source", "type": "varchar", "length": 0, "decimals": 0, @@ -16131,7 +15714,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_review_msg_diff_hunk", + "oldName": "data_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -16151,22 +15734,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_review_msg_path", - "type": "varchar", + "name": "data_collection_date", + "type": "timestamp", "length": 0, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", "comment": "", - "oldName": "pr_review_msg_path", + "oldName": "data_collection_date", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 9, "foreignOptions": [], "isIdentity": false, @@ -16178,26 +15761,98 @@ "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false - }, + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "repo_dependencies_pkey", + "fields": [ + "repo_dependencies_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "repo_dependencies_pkey" + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "repo_id", + "fields": [ + "repo_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "repo", + "referenceFields": [ + "repo_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "repo_id" + } + ], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "repo_group_insights", + "comment": "This table is output from an analytical worker inside of Augur. It runs through the different metrics on a REPOSITORY_GROUP and identifies the five to ten most “interesting” metrics as defined by some kind of delta or other factor. The algorithm is going to evolve. \n\nWorker Design Notes: The idea is that the \"insight worker\" will scan through a bunch of active metrics or \"synthetic metrics\" to list the most important insights. ", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "repo_group_insights", + "oid": 192348, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ { "objectType": "TableField_PGSQL", - "name": "pr_review_msg_position", - "type": "varchar", - "length": 0, + "name": "rgi_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_data.repo_group_insights_rgi_id_seq'::regclass)", "comment": "", - "oldName": "pr_review_msg_position", + "oldName": "rgi_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 10, + "collationSchema": "", + "ordinalPosition": 1, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -16211,23 +15866,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_review_msg_original_position", - "type": "varchar", - "length": 0, + "name": "repo_group_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_review_msg_original_position", + "oldName": "repo_group_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 11, + "collationSchema": "", + "ordinalPosition": 2, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -16241,7 +15896,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_review_msg_commit_id", + "name": "rgi_metric", "type": "varchar", "length": 0, "decimals": 0, @@ -16251,13 +15906,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_review_msg_commit_id", + "oldName": "rgi_metric", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 12, + "ordinalPosition": 3, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -16271,7 +15926,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_review_msg_original_commit_id", + "name": "rgi_value", "type": "varchar", "length": 0, "decimals": 0, @@ -16281,13 +15936,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_review_msg_original_commit_id", + "oldName": "rgi_value", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 13, + "ordinalPosition": 4, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -16301,9 +15956,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_review_msg_updated_at", - "type": "timestamp", - "length": 6, + "name": "cms_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, "collation": "", @@ -16311,13 +15966,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_review_msg_updated_at", + "oldName": "cms_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 14, + "ordinalPosition": 5, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -16331,23 +15986,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_review_msg_html_url", - "type": "varchar", + "name": "rgi_fresh", + "type": "bool", "length": 0, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "", - "oldName": "pr_review_msg_html_url", + "comment": "false if the date is before the statistic that triggered the insight, true if after. This allows us to automatically display only \"fresh insights\" and avoid displaying \"stale insights\". The insight worker will populate this table. ", + "oldName": "rgi_fresh", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 15, + "collationSchema": "", + "ordinalPosition": 6, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -16361,7 +16016,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_url", + "name": "tool_source", "type": "varchar", "length": 0, "decimals": 0, @@ -16371,13 +16026,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_url", + "oldName": "tool_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 16, + "ordinalPosition": 7, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -16391,7 +16046,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_review_msg_author_association", + "name": "tool_version", "type": "varchar", "length": 0, "decimals": 0, @@ -16401,13 +16056,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_review_msg_author_association", + "oldName": "tool_version", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 17, + "ordinalPosition": 8, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -16421,7 +16076,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_review_msg_start_line", + "name": "data_source", "type": "varchar", "length": 0, "decimals": 0, @@ -16431,13 +16086,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_review_msg_start_line", + "oldName": "data_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 18, + "ordinalPosition": 9, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -16451,23 +16106,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_review_msg_original_start_line", - "type": "varchar", + "name": "data_collection_date", + "type": "timestamp", "length": 0, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", "comment": "", - "oldName": "pr_review_msg_original_start_line", + "oldName": "data_collection_date", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 19, + "collationSchema": "", + "ordinalPosition": 10, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -16478,26 +16133,98 @@ "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false - }, + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "repo_group_insights_pkey", + "fields": [ + "rgi_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "repo_group_insights_pkey" + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_repo_group_insights_repo_groups_1", + "fields": [ + "repo_group_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "repo_groups", + "referenceFields": [ + "repo_group_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_repo_group_insights_repo_groups_1" + } + ], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "repo_groups", + "comment": "rg_type is intended to be either a GitHub Organization or a User Created Repo Group. ", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "repo_groups", + "oid": 192466, + "rows": 1, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ { "objectType": "TableField_PGSQL", - "name": "pr_review_msg_start_side", - "type": "varchar", - "length": 0, + "name": "repo_group_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_data.repo_groups_repo_group_id_seq'::regclass)", "comment": "", - "oldName": "pr_review_msg_start_side", + "oldName": "repo_group_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 20, + "collationSchema": "", + "ordinalPosition": 1, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -16511,23 +16238,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_review_msg_line", + "name": "rg_name", "type": "varchar", "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", - "isNullable": true, + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_review_msg_line", + "oldName": "rg_name", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 21, + "ordinalPosition": 2, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -16541,23 +16268,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_review_msg_original_line", + "name": "rg_description", "type": "varchar", "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "'NULL'::character varying", "comment": "", - "oldName": "pr_review_msg_original_line", + "oldName": "rg_description", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 22, + "ordinalPosition": 3, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -16571,23 +16298,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_review_msg_side", + "name": "rg_website", "type": "varchar", - "length": 0, + "length": 128, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "'NULL'::character varying", "comment": "", - "oldName": "pr_review_msg_side", + "oldName": "rg_website", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 23, + "ordinalPosition": 4, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -16601,23 +16328,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_source", - "type": "varchar", - "length": 0, + "name": "rg_recache", + "type": "int2", + "length": 16, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "1", "comment": "", - "oldName": "tool_source", + "oldName": "rg_recache", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 24, + "collationSchema": "", + "ordinalPosition": 5, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -16631,23 +16358,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_version", - "type": "varchar", + "name": "rg_last_modified", + "type": "timestamp", "length": 0, "decimals": 0, "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", "comment": "", - "oldName": "tool_version", + "oldName": "rg_last_modified", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 25, + "collationSchema": "", + "ordinalPosition": 6, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -16661,7 +16388,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_source", + "name": "rg_type", "type": "varchar", "length": 0, "decimals": 0, @@ -16671,13 +16398,103 @@ "defaultType": "None", "defaultValue": "", "comment": "", + "oldName": "rg_type", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 7, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_source", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 8, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_version", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_version", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 9, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_source", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", "oldName": "data_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 26, + "ordinalPosition": 10, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -16698,8 +16515,8 @@ "dimensions": 0, "collation": "", "isNullable": true, - "defaultType": "Others", - "defaultValue": "CURRENT_TIMESTAMP", + "defaultType": "None", + "defaultValue": "", "comment": "", "oldName": "data_collection_date", "typeOID": 1, @@ -16707,7 +16524,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 27, + "ordinalPosition": 11, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -16720,65 +16537,91 @@ "isIdentityCycle": false } ], - "indexes": [], + "indexes": [ + { + "objectType": "Index_PGSQL", + "name": "rgidm", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": true, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "rgidm", + "oid": 203958, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "repo_groups", + "size": "16", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "repo_group_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "repo_group_id", + "collationSchema": "" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "rgnameindex", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "rgnameindex", + "oid": 203960, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "repo_groups", + "size": "16", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "rg_name", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "rg_name", + "collationSchema": "pg_catalog" + } + ] + } + ], "rules": [], "primaryKey": { "objectType": "PrimaryKey_PGSQL", - "name": "pr_review_msg_ref_id", + "name": "rgid", "fields": [ - "pr_review_msg_ref_id" + "repo_group_id" ], "fillFactor": -1, "indexTablespace": "", "comment": "", "isDeferrable": false, "isDeferred": false, - "oldName": "pr_review_msg_ref_id" + "oldName": "rgid" }, - "foreignKeys": [ - { - "objectType": "ForeignKey_PGSQL", - "name": "fk_pull_request_review_message_ref_message_1", - "fields": [ - "msg_id" - ], - "referenceSchema": "augur_data", - "referenceTable": "message", - "referenceFields": [ - "msg_id" - ], - "onDelete": "NO ACTION", - "onUpdate": "NO ACTION", - "comment": "", - "isMatchFull": false, - "isDeferrable": false, - "isDeferred": false, - "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "OneAndOnlyOneRelationship", - "oldName": "fk_pull_request_review_message_ref_message_1" - }, - { - "objectType": "ForeignKey_PGSQL", - "name": "fk_pull_request_review_message_ref_pull_request_reviews_1", - "fields": [ - "pr_review_id" - ], - "referenceSchema": "augur_data", - "referenceTable": "pull_request_reviews", - "referenceFields": [ - "pr_review_id" - ], - "onDelete": "CASCADE", - "onUpdate": "CASCADE", - "comment": "", - "isMatchFull": false, - "isDeferrable": false, - "isDeferred": false, - "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "OneAndOnlyOneRelationship", - "oldName": "fk_pull_request_review_message_ref_pull_request_reviews_1" - } - ], + "foreignKeys": [], "uniques": [], "checks": [], "excludes": [], @@ -16788,7 +16631,7 @@ }, { "objectType": "TableNormal_PGSQL", - "name": "pull_request_teams", + "name": "repo_groups_list_serve", "comment": "", "tablespace": "", "isUnlogged": false, @@ -16796,8 +16639,8 @@ "inheritFromTables": [], "hasOIDs": false, "fillFactor": -1, - "oldName": "pull_request_teams", - "oid": 191424, + "oldName": "repo_groups_list_serve", + "oid": 192557, "rows": 0, "isInheritTables": false, "cluster": "", @@ -16814,7 +16657,7 @@ "fields": [ { "objectType": "TableField_PGSQL", - "name": "pr_team_id", + "name": "rgls_id", "type": "int8", "length": 64, "decimals": 0, @@ -16822,9 +16665,9 @@ "collation": "", "isNullable": false, "defaultType": "Others", - "defaultValue": "nextval('augur_data.pull_request_teams_pr_team_id_seq'::regclass)", + "defaultValue": "nextval('augur_data.repo_groups_list_serve_rgls_id_seq'::regclass)", "comment": "", - "oldName": "pr_team_id", + "oldName": "rgls_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -16844,17 +16687,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "pull_request_id", + "name": "repo_group_id", "type": "int8", "length": 64, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": true, + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pull_request_id", + "oldName": "repo_group_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -16874,22 +16717,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_src_team_id", - "type": "int8", - "length": 64, + "name": "rgls_name", + "type": "varchar", + "length": 255, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_src_team_id", + "oldName": "rgls_name", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 3, "foreignOptions": [], "isIdentity": false, @@ -16904,9 +16747,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_src_team_node", + "name": "rgls_description", "type": "varchar", - "length": 0, + "length": 3000, "decimals": 0, "dimensions": 0, "collation": "default", @@ -16914,7 +16757,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_src_team_node", + "oldName": "rgls_description", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -16934,9 +16777,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_src_team_url", + "name": "rgls_sponsor", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", @@ -16944,7 +16787,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_src_team_url", + "oldName": "rgls_sponsor", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -16964,9 +16807,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_team_name", + "name": "rgls_email", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", @@ -16974,7 +16817,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_team_name", + "oldName": "rgls_email", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -16994,9 +16837,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_team_slug", + "name": "tool_source", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", @@ -17004,7 +16847,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_team_slug", + "oldName": "tool_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -17024,9 +16867,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_team_description", + "name": "tool_version", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", @@ -17034,7 +16877,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_team_description", + "oldName": "tool_version", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -17054,9 +16897,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_team_privacy", + "name": "data_source", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", @@ -17064,7 +16907,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_team_privacy", + "oldName": "data_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -17084,22 +16927,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_team_permission", - "type": "varchar", + "name": "data_collection_date", + "type": "timestamp", "length": 0, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_team_permission", + "oldName": "data_collection_date", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 10, "foreignOptions": [], "isIdentity": false, @@ -17111,26 +16954,159 @@ "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false - }, + } + ], + "indexes": [ + { + "objectType": "Index_PGSQL", + "name": "lister", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": true, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "lister", + "oid": 203763, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "repo_groups_list_serve", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "rgls_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "rgls_id", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "repo_group_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "repo_group_id", + "collationSchema": "" + } + ] + } + ], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "repo_groups_list_serve_pkey", + "fields": [ + "rgls_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "repo_groups_list_serve_pkey" + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_repo_groups_list_serve_repo_groups_1", + "fields": [ + "repo_group_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "repo_groups", + "referenceFields": [ + "repo_group_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "OneAndOnlyOneRelationship", + "oldName": "fk_repo_groups_list_serve_repo_groups_1" + } + ], + "uniques": [ + { + "objectType": "Unique_PGSQL", + "name": "rglistserve", + "fields": [ + "rgls_id", + "repo_group_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "rglistserve" + } + ], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "repo_insights_records", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "repo_insights_records", + "oid": 193096, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ { "objectType": "TableField_PGSQL", - "name": "pr_team_src_members_url", - "type": "varchar", - "length": 0, + "name": "ri_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "pr_team_src_members_url", + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_data.repo_insights_records_ri_id_seq'::regclass)", + "comment": "Primary key. ", + "oldName": "ri_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 11, + "collationSchema": "", + "ordinalPosition": 1, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -17144,23 +17120,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_team_src_repositories_url", - "type": "varchar", - "length": 0, + "name": "repo_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "", - "oldName": "pr_team_src_repositories_url", + "comment": "Refers to repo table primary key. Will have a foreign key", + "oldName": "repo_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 12, + "collationSchema": "", + "ordinalPosition": 2, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -17174,23 +17150,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_team_parent_id", - "type": "int8", - "length": 64, + "name": "ri_metric", + "type": "varchar", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "", - "oldName": "pr_team_parent_id", + "comment": "The metric endpoint", + "oldName": "ri_metric", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 13, + "collationSchema": "pg_catalog", + "ordinalPosition": 3, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -17204,23 +17180,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_source", + "name": "ri_field", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "", - "oldName": "tool_source", + "comment": "The field in the metric endpoint", + "oldName": "ri_field", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 14, + "ordinalPosition": 4, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -17234,23 +17210,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_version", + "name": "ri_value", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "", - "oldName": "tool_version", + "comment": "The value of the endpoint in ri_field", + "oldName": "ri_value", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 15, + "ordinalPosition": 5, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -17264,23 +17240,173 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_source", - "type": "varchar", - "length": 255, + "name": "ri_date", + "type": "timestamp", + "length": 6, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "The date the insight is for; in other words, some anomaly occurred on this date. ", + "oldName": "ri_date", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 6, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "ri_score", + "type": "float8", + "length": 53, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "A Score, derived from the algorithm used. ", + "oldName": "ri_score", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 7, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "ri_detection_method", + "type": "varchar", + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "", + "comment": "A confidence interval or other expression of the type of threshold and the value of a threshold met in order for it to be \"an insight\". Example. \"95% confidence interval\". ", + "oldName": "ri_detection_method", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 8, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_source", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "Standard Augur Metadata", + "oldName": "tool_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 9, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_version", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "Standard Augur Metadata", + "oldName": "tool_version", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 10, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_source", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "Standard Augur Metadata", "oldName": "data_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 16, + "ordinalPosition": 11, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -17296,21 +17422,21 @@ "objectType": "TableField_PGSQL", "name": "data_collection_date", "type": "timestamp", - "length": 0, + "length": 6, "decimals": 0, "dimensions": 0, "collation": "", "isNullable": true, "defaultType": "Others", "defaultValue": "CURRENT_TIMESTAMP", - "comment": "", + "comment": "Standard Augur Metadata", "oldName": "data_collection_date", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 17, + "ordinalPosition": 12, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -17323,34 +17449,69 @@ "isIdentityCycle": false } ], - "indexes": [], + "indexes": [ + { + "objectType": "Index_PGSQL", + "name": "dater", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "dater", + "oid": 203716, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "repo_insights_records", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "ri_date", + "collation": "", + "opClass": "timestamp_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "ri_date", + "collationSchema": "" + } + ] + } + ], "rules": [], "primaryKey": { "objectType": "PrimaryKey_PGSQL", - "name": "pull_request_teams_pkey", + "name": "repo_insights_records_pkey", "fields": [ - "pr_team_id" + "ri_id" ], "fillFactor": -1, "indexTablespace": "", "comment": "", "isDeferrable": false, "isDeferred": false, - "oldName": "pull_request_teams_pkey" + "oldName": "repo_insights_records_pkey" }, "foreignKeys": [ { "objectType": "ForeignKey_PGSQL", - "name": "fk_pull_request_teams_pull_requests_1", + "name": "repo_id_ref", "fields": [ - "pull_request_id" + "repo_id" ], "referenceSchema": "augur_data", - "referenceTable": "pull_requests", + "referenceTable": "repo", "referenceFields": [ - "pull_request_id" + "repo_id" ], - "onDelete": "CASCADE", + "onDelete": "SET NULL", "onUpdate": "CASCADE", "comment": "", "isMatchFull": false, @@ -17358,7 +17519,7 @@ "isDeferred": false, "sourceCardinality": "ZeroOrManyRelationship", "targetCardinality": "ZeroOrOneRelationship", - "oldName": "fk_pull_request_teams_pull_requests_1" + "oldName": "repo_id_ref" } ], "uniques": [], @@ -17370,16 +17531,16 @@ }, { "objectType": "TableNormal_PGSQL", - "name": "releases", - "comment": "", + "name": "repo_labor", + "comment": "repo_labor is a derivative of tables used to store scc code and complexity counting statistics that are inputs to labor analysis, which are components of CHAOSS value metric calculations. ", "tablespace": "", "isUnlogged": false, "owner": "augur", "inheritFromTables": [], "hasOIDs": false, "fillFactor": -1, - "oldName": "releases", - "oid": 191770, + "oldName": "repo_labor", + "oid": 193547, "rows": 0, "isInheritTables": false, "cluster": "", @@ -17396,22 +17557,22 @@ "fields": [ { "objectType": "TableField_PGSQL", - "name": "release_id", - "type": "char", + "name": "repo_labor_id", + "type": "int8", "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": false, "defaultType": "Others", - "defaultValue": "nextval('augur_data.releases_release_id_seq'::regclass)", + "defaultValue": "nextval('augur_data.repo_labor_repo_labor_id_seq'::regclass)", "comment": "", - "oldName": "release_id", + "oldName": "repo_labor_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 1, "foreignOptions": [], "isIdentity": false, @@ -17432,7 +17593,7 @@ "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": false, + "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", @@ -17456,22 +17617,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "release_name", - "type": "varchar", - "length": 255, + "name": "repo_clone_date", + "type": "timestamp", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "release_name", + "oldName": "repo_clone_date", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 3, "foreignOptions": [], "isIdentity": false, @@ -17486,22 +17647,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "release_description", - "type": "varchar", + "name": "rl_analysis_date", + "type": "timestamp", "length": 0, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "release_description", + "oldName": "rl_analysis_date", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 4, "foreignOptions": [], "isIdentity": false, @@ -17516,17 +17677,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "release_author", + "name": "programming_language", "type": "varchar", "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "NULL::character varying", "comment": "", - "oldName": "release_author", + "oldName": "programming_language", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -17546,22 +17707,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "release_created_at", - "type": "timestamp", - "length": 6, + "name": "file_path", + "type": "varchar", + "length": 500, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "NULL::character varying", "comment": "", - "oldName": "release_created_at", + "oldName": "file_path", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 6, "foreignOptions": [], "isIdentity": false, @@ -17576,22 +17737,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "release_published_at", - "type": "timestamp", - "length": 6, + "name": "file_name", + "type": "varchar", + "length": 255, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "NULL::character varying", "comment": "", - "oldName": "release_published_at", + "oldName": "file_name", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 7, "foreignOptions": [], "isIdentity": false, @@ -17606,9 +17767,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "release_updated_at", - "type": "timestamp", - "length": 6, + "name": "total_lines", + "type": "int4", + "length": 32, "decimals": 0, "dimensions": 0, "collation": "", @@ -17616,7 +17777,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "release_updated_at", + "oldName": "total_lines", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -17636,9 +17797,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "release_is_draft", - "type": "bool", - "length": 0, + "name": "code_lines", + "type": "int4", + "length": 32, "decimals": 0, "dimensions": 0, "collation": "", @@ -17646,7 +17807,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "release_is_draft", + "oldName": "code_lines", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -17666,9 +17827,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "release_is_prerelease", - "type": "bool", - "length": 0, + "name": "comment_lines", + "type": "int4", + "length": 32, "decimals": 0, "dimensions": 0, "collation": "", @@ -17676,7 +17837,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "release_is_prerelease", + "oldName": "comment_lines", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -17696,22 +17857,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "release_tag_name", - "type": "varchar", - "length": 255, + "name": "blank_lines", + "type": "int4", + "length": 32, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "release_tag_name", + "oldName": "blank_lines", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 11, "foreignOptions": [], "isIdentity": false, @@ -17726,22 +17887,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "release_url", - "type": "varchar", - "length": 255, + "name": "code_complexity", + "type": "int4", + "length": 32, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "release_url", + "oldName": "code_complexity", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 12, "foreignOptions": [], "isIdentity": false, @@ -17756,17 +17917,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_source", + "name": "repo_url", "type": "varchar", - "length": 255, + "length": 500, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "tool_source", + "defaultType": "Others", + "defaultValue": "NULL::character varying", + "comment": "This is a convenience column to simplify analysis against external datasets", + "oldName": "repo_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -17786,7 +17947,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_version", + "name": "tool_source", "type": "varchar", "length": 255, "decimals": 0, @@ -17796,7 +17957,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "tool_version", + "oldName": "tool_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -17816,7 +17977,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_source", + "name": "tool_version", "type": "varchar", "length": 255, "decimals": 0, @@ -17826,7 +17987,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "data_source", + "oldName": "tool_version", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -17846,22 +18007,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_collection_date", - "type": "timestamp", - "length": 6, + "name": "data_source", + "type": "varchar", + "length": 255, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, - "defaultType": "Others", - "defaultValue": "CURRENT_TIMESTAMP", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "data_collection_date", + "oldName": "data_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 16, "foreignOptions": [], "isIdentity": false, @@ -17876,8 +18037,8 @@ }, { "objectType": "TableField_PGSQL", - "name": "tag_only", - "type": "bool", + "name": "data_collection_date", + "type": "timestamp", "length": 0, "decimals": 0, "dimensions": 0, @@ -17886,7 +18047,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "tag_only", + "oldName": "data_collection_date", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -17909,21 +18070,21 @@ "rules": [], "primaryKey": { "objectType": "PrimaryKey_PGSQL", - "name": "releases_pkey", + "name": "repo_labor_pkey", "fields": [ - "release_id" + "repo_labor_id" ], "fillFactor": -1, "indexTablespace": "", "comment": "", "isDeferrable": false, "isDeferred": false, - "oldName": "releases_pkey" + "oldName": "repo_labor_pkey" }, "foreignKeys": [ { "objectType": "ForeignKey_PGSQL", - "name": "fk_releases_repo_1", + "name": "fk_repo_labor_repo_1", "fields": [ "repo_id" ], @@ -17939,8 +18100,8 @@ "isDeferrable": false, "isDeferred": false, "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "OneAndOnlyOneRelationship", - "oldName": "fk_releases_repo_1" + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_repo_labor_repo_1" } ], "uniques": [], @@ -17952,17 +18113,17 @@ }, { "objectType": "TableNormal_PGSQL", - "name": "repo", - "comment": "This table is a combination of the columns in Facade’s repo table and GHTorrent’s projects table. ", + "name": "repo_meta", + "comment": "Project Languages", "tablespace": "", "isUnlogged": false, "owner": "augur", "inheritFromTables": [], "hasOIDs": false, "fillFactor": -1, - "oldName": "repo", - "oid": 191871, - "rows": 1, + "oldName": "repo_meta", + "oid": 193738, + "rows": 0, "isInheritTables": false, "cluster": "", "ACL": "", @@ -17985,8 +18146,8 @@ "dimensions": 0, "collation": "", "isNullable": false, - "defaultType": "Others", - "defaultValue": "nextval('augur_data.repo_repo_id_seq'::regclass)", + "defaultType": "None", + "defaultValue": "", "comment": "", "oldName": "repo_id", "typeOID": 1, @@ -18008,17 +18169,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "repo_group_id", + "name": "rmeta_id", "type": "int8", "length": 64, "decimals": 0, "dimensions": 0, "collation": "", "isNullable": false, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "nextval('augur_data.repo_meta_rmeta_id_seq'::regclass)", "comment": "", - "oldName": "repo_group_id", + "oldName": "rmeta_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -18038,17 +18199,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "repo_git", + "name": "rmeta_name", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", - "isNullable": false, + "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "repo_git", + "oldName": "rmeta_name", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -18068,17 +18229,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "repo_path", + "name": "rmeta_value", "type": "varchar", - "length": 256, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, "defaultType": "Others", - "defaultValue": "'NULL'::character varying", + "defaultValue": "0", "comment": "", - "oldName": "repo_path", + "oldName": "rmeta_value", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -18098,17 +18259,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "repo_name", + "name": "tool_source", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, - "defaultType": "Others", - "defaultValue": "'NULL'::character varying", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "repo_name", + "oldName": "tool_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -18128,22 +18289,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "repo_added", - "type": "timestamp", - "length": 0, + "name": "tool_version", + "type": "varchar", + "length": 255, "decimals": 0, "dimensions": 0, - "collation": "", - "isNullable": false, - "defaultType": "Others", - "defaultValue": "CURRENT_TIMESTAMP", + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "repo_added", + "oldName": "tool_version", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 6, "foreignOptions": [], "isIdentity": false, @@ -18158,17 +18319,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "repo_status", + "name": "data_source", "type": "varchar", - "length": 32, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", - "isNullable": false, - "defaultType": "Others", - "defaultValue": "'New'::character varying", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "repo_status", + "oldName": "data_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -18188,22 +18349,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "repo_type", - "type": "varchar", + "name": "data_collection_date", + "type": "timestamp", "length": 0, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, - "defaultType": "Others", - "defaultValue": "''::character varying", - "comment": "This field is intended to indicate if the repository is the \"main instance\" of a repository in cases where implementations choose to add the same repository to more than one repository group. In cases where the repository group is of rg_type Github Organization then this repo_type should be \"primary\". In other cases the repo_type should probably be \"user created\". We made this a varchar in order to hold open the possibility that there are additional repo_types we have not thought about. ", - "oldName": "repo_type", + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "data_collection_date", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 8, "foreignOptions": [], "isIdentity": false, @@ -18215,40 +18376,113 @@ "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "url", - "type": "varchar", - "length": 255, - "decimals": 0, - "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "url", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "repo_meta_pkey", + "fields": [ + "rmeta_id", + "repo_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "repo_meta_pkey" + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_repo_meta_repo_1", + "fields": [ + "repo_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "repo", + "referenceFields": [ + "repo_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "OneAndOnlyOneRelationship", + "oldName": "fk_repo_meta_repo_1" + } + ], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "repo_sbom_scans", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "repo_sbom_scans", + "oid": 193871, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "rsb_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_data.repo_sbom_scans_rsb_id_seq'::regclass)", + "comment": "", + "oldName": "rsb_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 9, + "collationSchema": "", + "ordinalPosition": 1, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", "identityStart": 0, "identityIncrement": 0, "identityMinimum": 0, - "hasNoIdentityMinValue": 0, + "hasNoIdentityMinValue": false, "identityMaximum": 0, - "hasNoIdentityMaxValue": 0, + "hasNoIdentityMaxValue": false, "isIdentityCycle": false }, { "objectType": "TableField_PGSQL", - "name": "owner_id", + "name": "repo_id", "type": "int4", "length": 32, "decimals": 0, @@ -18258,43 +18492,43 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "owner_id", + "oldName": "repo_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 10, + "ordinalPosition": 2, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", "identityStart": 0, "identityIncrement": 0, "identityMinimum": 0, - "hasNoIdentityMinValue": 0, + "hasNoIdentityMinValue": false, "identityMaximum": 0, - "hasNoIdentityMaxValue": true, + "hasNoIdentityMaxValue": false, "isIdentityCycle": false }, { "objectType": "TableField_PGSQL", - "name": "description", - "type": "varchar", + "name": "sbom_scan", + "type": "json", "length": 0, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "description", + "oldName": "sbom_scan", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 11, + "collationSchema": "", + "ordinalPosition": 3, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -18305,26 +18539,98 @@ "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false - }, + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "repo_sbom_scans_pkey", + "fields": [ + "rsb_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "repo_sbom_scans_pkey" + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "repo_linker_sbom", + "fields": [ + "repo_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "repo", + "referenceFields": [ + "repo_id" + ], + "onDelete": "CASCADE", + "onUpdate": "CASCADE", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "repo_linker_sbom" + } + ], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "repo_stats", + "comment": "Project Watchers", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "repo_stats", + "oid": 193992, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ { "objectType": "TableField_PGSQL", - "name": "primary_language", - "type": "varchar", - "length": 255, + "name": "repo_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", - "isNullable": true, + "collation": "", + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "primary_language", + "oldName": "repo_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 12, + "collationSchema": "", + "ordinalPosition": 1, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -18338,23 +18644,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "created_at", - "type": "varchar", - "length": 255, + "name": "rstat_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_data.repo_stats_rstat_id_seq'::regclass)", "comment": "", - "oldName": "created_at", + "oldName": "rstat_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 13, + "collationSchema": "", + "ordinalPosition": 2, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -18368,9 +18674,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "forked_from", + "name": "rstat_name", "type": "varchar", - "length": 0, + "length": 400, "decimals": 0, "dimensions": 0, "collation": "default", @@ -18378,13 +18684,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "forked_from", + "oldName": "rstat_name", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 14, + "ordinalPosition": 3, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -18398,9 +18704,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "updated_at", - "type": "timestamp", - "length": 0, + "name": "rstat_value", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, "collation": "", @@ -18408,13 +18714,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "updated_at", + "oldName": "rstat_value", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 15, + "ordinalPosition": 4, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -18444,7 +18750,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 16, + "ordinalPosition": 5, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -18474,7 +18780,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 17, + "ordinalPosition": 6, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -18504,7 +18810,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 18, + "ordinalPosition": 7, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -18534,7 +18840,110 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 19, + "ordinalPosition": 8, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "repo_stats_pkey", + "fields": [ + "rstat_id", + "repo_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "repo_stats_pkey" + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_repo_stats_repo_1", + "fields": [ + "repo_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "repo", + "referenceFields": [ + "repo_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "OneAndOnlyOneRelationship", + "oldName": "fk_repo_stats_repo_1" + } + ], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "repo_test_coverage", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "repo_test_coverage", + "oid": 194167, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "repo_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_data.repo_test_coverage_repo_id_seq'::regclass)", + "comment": "", + "oldName": "repo_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -18548,9 +18957,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "repo_archived", - "type": "int4", - "length": 32, + "name": "repo_clone_date", + "type": "timestamp", + "length": 0, "decimals": 0, "dimensions": 0, "collation": "", @@ -18558,13 +18967,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "repo_archived", + "oldName": "repo_clone_date", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 20, + "ordinalPosition": 2, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -18578,8 +18987,8 @@ }, { "objectType": "TableField_PGSQL", - "name": "repo_archived_date_collected", - "type": "timestamptz", + "name": "rtc_analysis_date", + "type": "timestamp", "length": 0, "decimals": 0, "dimensions": 0, @@ -18588,13 +18997,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "repo_archived_date_collected", + "oldName": "rtc_analysis_date", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 21, + "ordinalPosition": 3, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -18605,348 +19014,146 @@ "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false - } - ], - "indexes": [ + }, { - "objectType": "Index_PGSQL", - "name": "forked", + "objectType": "TableField_PGSQL", + "name": "programming_language", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "forked", - "oid": 203717, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "repo", - "size": "16", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "forked_from", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "forked_from", - "collationSchema": "pg_catalog" - } - ] + "oldName": "programming_language", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 4, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false }, { - "objectType": "Index_PGSQL", - "name": "repo_idx_repo_id_repo_namex", + "objectType": "TableField_PGSQL", + "name": "file_path", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "repo_idx_repo_id_repo_namex", - "oid": 203917, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "repo", - "size": "16", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "repo_id", - "collation": "", - "opClass": "int8_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "repo_id", - "collationSchema": "" - }, - { - "objectType": "IndexField_PGSQL", - "name": "repo_name", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "repo_name", - "collationSchema": "pg_catalog" - } - ] + "oldName": "file_path", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 5, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false }, { - "objectType": "Index_PGSQL", - "name": "repogitindexrep", - "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "repogitindexrep", - "oid": 203931, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "repo", - "size": "16", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "repo_git", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "repo_git", - "collationSchema": "pg_catalog" - } - ] - }, - { - "objectType": "Index_PGSQL", - "name": "reponameindex", - "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "Hash", - "tableSpaceName": "", - "constraint": "", - "oldName": "reponameindex", - "oid": 203933, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "repo", - "size": "32", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "repo_name", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "repo_name", - "collationSchema": "pg_catalog" - } - ] - }, - { - "objectType": "Index_PGSQL", - "name": "reponameindexbtree", + "objectType": "TableField_PGSQL", + "name": "file_name", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "reponameindexbtree", - "oid": 203937, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "repo", - "size": "16", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "repo_name", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "repo_name", - "collationSchema": "pg_catalog" - } - ] + "oldName": "file_name", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 6, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false }, { - "objectType": "Index_PGSQL", - "name": "rggrouponrepoindex", + "objectType": "TableField_PGSQL", + "name": "testing_tool", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "rggrouponrepoindex", - "oid": 203948, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "repo", - "size": "16", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "repo_group_id", - "collation": "", - "opClass": "int8_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "repo_group_id", - "collationSchema": "" - } - ] + "oldName": "testing_tool", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 7, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false }, - { - "objectType": "Index_PGSQL", - "name": "therepo", - "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": true, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "therepo", - "oid": 203962, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "repo", - "size": "16", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "repo_id", - "collation": "", - "opClass": "int8_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "repo_id", - "collationSchema": "" - } - ] - } - ], - "rules": [], - "primaryKey": { - "objectType": "PrimaryKey_PGSQL", - "name": "repounique", - "fields": [ - "repo_id" - ], - "fillFactor": -1, - "indexTablespace": "", - "comment": "", - "isDeferrable": false, - "isDeferred": false, - "oldName": "repounique" - }, - "foreignKeys": [ - { - "objectType": "ForeignKey_PGSQL", - "name": "fk_repo_repo_groups_1", - "fields": [ - "repo_group_id" - ], - "referenceSchema": "augur_data", - "referenceTable": "repo_groups", - "referenceFields": [ - "repo_group_id" - ], - "onDelete": "NO ACTION", - "onUpdate": "NO ACTION", - "comment": "Repo_groups cardinality set to one and only one because, although in theory there could be more than one repo group for a repo, this might create dependencies in hosted situation that we do not want to live with. ", - "isMatchFull": false, - "isDeferrable": false, - "isDeferred": false, - "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "OneAndOnlyOneRelationship", - "oldName": "fk_repo_repo_groups_1" - } - ], - "uniques": [], - "checks": [], - "excludes": [], - "triggers": [], - "partitionKeys": [], - "partitions": [] - }, - { - "objectType": "TableNormal_PGSQL", - "name": "repo_badging", - "comment": "This will be collected from the LF’s Badging API\nhttps://bestpractices.coreinfrastructure.org/projects.json?pq=https%3A%2F%2Fgithub.com%2Fchaoss%2Faugur\n", - "tablespace": "", - "isUnlogged": false, - "owner": "augur", - "inheritFromTables": [], - "hasOIDs": false, - "fillFactor": -1, - "oldName": "repo_badging", - "oid": 192004, - "rows": 0, - "isInheritTables": false, - "cluster": "", - "ACL": "", - "isPartition": false, - "partitioningStrategy": "None", - "partitionOfSchema": "", - "partitionOfTable": "", - "partitionListValues": [], - "partitionRangeFromValues": [], - "partitionRangeToValues": [], - "foreignServer": "", - "foreignOptionDisplay": "", - "fields": [ { "objectType": "TableField_PGSQL", - "name": "badge_collection_id", + "name": "file_statement_count", "type": "int8", "length": 64, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": false, - "defaultType": "Others", - "defaultValue": "nextval('augur_data.repo_badging_badge_collection_id_seq'::regclass)", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "badge_collection_id", + "oldName": "file_statement_count", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 1, + "ordinalPosition": 8, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -18960,7 +19167,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "repo_id", + "name": "file_subroutine_count", "type": "int8", "length": 64, "decimals": 0, @@ -18970,13 +19177,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "repo_id", + "oldName": "file_subroutine_count", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 2, + "ordinalPosition": 9, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -18990,23 +19197,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "created_at", - "type": "timestamp", - "length": 0, + "name": "file_statements_tested", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, "collation": "", "isNullable": true, - "defaultType": "Others", - "defaultValue": "CURRENT_TIMESTAMP", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "created_at", + "oldName": "file_statements_tested", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 3, + "ordinalPosition": 10, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -19020,23 +19227,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_source", - "type": "varchar", - "length": 255, + "name": "file_subroutines_tested", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "tool_source", + "oldName": "file_subroutines_tested", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 4, + "collationSchema": "", + "ordinalPosition": 11, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -19050,9 +19257,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_version", + "name": "tool_source", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", @@ -19060,13 +19267,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "tool_version", + "oldName": "tool_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 5, + "ordinalPosition": 12, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -19080,9 +19287,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_source", + "name": "tool_version", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", @@ -19090,13 +19297,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "data_source", + "oldName": "tool_version", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 6, + "ordinalPosition": 13, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -19110,23 +19317,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_collection_date", - "type": "timestamp", + "name": "data_source", + "type": "varchar", "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, - "defaultType": "Others", - "defaultValue": "CURRENT_TIMESTAMP", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "data_collection_date", + "oldName": "data_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 7, + "collationSchema": "pg_catalog", + "ordinalPosition": 14, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -19140,23 +19347,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "data", - "type": "jsonb", + "name": "data_collection_date", + "type": "timestamp", "length": 0, "decimals": 0, "dimensions": 0, "collation": "", "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", "comment": "", - "oldName": "data", + "oldName": "data_collection_date", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 8, + "ordinalPosition": 15, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -19173,21 +19380,21 @@ "rules": [], "primaryKey": { "objectType": "PrimaryKey_PGSQL", - "name": "repo_badging_pkey", + "name": "repo_test_coverage_pkey", "fields": [ - "badge_collection_id" + "repo_id" ], "fillFactor": -1, "indexTablespace": "", "comment": "", "isDeferrable": false, "isDeferred": false, - "oldName": "repo_badging_pkey" + "oldName": "repo_test_coverage_pkey" }, "foreignKeys": [ { "objectType": "ForeignKey_PGSQL", - "name": "fk_repo_badging_repo_1", + "name": "fk_repo_test_coverage_repo_1", "fields": [ "repo_id" ], @@ -19202,9 +19409,9 @@ "isMatchFull": false, "isDeferrable": false, "isDeferred": false, - "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "ZeroOrOneRelationship", - "oldName": "fk_repo_badging_repo_1" + "sourceCardinality": "ZeroOrOneRelationship", + "targetCardinality": "OneAndOnlyOneRelationship", + "oldName": "fk_repo_test_coverage_repo_1" } ], "uniques": [], @@ -19216,7 +19423,7 @@ }, { "objectType": "TableNormal_PGSQL", - "name": "repo_cluster_messages", + "name": "repo_topic", "comment": "", "tablespace": "", "isUnlogged": false, @@ -19224,8 +19431,8 @@ "inheritFromTables": [], "hasOIDs": false, "fillFactor": -1, - "oldName": "repo_cluster_messages", - "oid": 192186, + "oldName": "repo_topic", + "oid": 194262, "rows": 0, "isInheritTables": false, "cluster": "", @@ -19242,7 +19449,7 @@ "fields": [ { "objectType": "TableField_PGSQL", - "name": "msg_cluster_id", + "name": "repo_topic_id", "type": "int8", "length": 64, "decimals": 0, @@ -19250,9 +19457,9 @@ "collation": "", "isNullable": false, "defaultType": "Others", - "defaultValue": "nextval('augur_data.repo_cluster_messages_msg_cluster_id_seq'::regclass)", + "defaultValue": "nextval('augur_data.repo_topic_repo_topic_id_seq'::regclass)", "comment": "", - "oldName": "msg_cluster_id", + "oldName": "repo_topic_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -19273,8 +19480,8 @@ { "objectType": "TableField_PGSQL", "name": "repo_id", - "type": "int8", - "length": 64, + "type": "int4", + "length": 32, "decimals": 0, "dimensions": 0, "collation": "", @@ -19302,7 +19509,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "cluster_content", + "name": "topic_id", "type": "int4", "length": 32, "decimals": 0, @@ -19312,7 +19519,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "cluster_content", + "oldName": "topic_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -19332,9 +19539,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "cluster_mechanism", - "type": "int4", - "length": 32, + "name": "topic_prob", + "type": "float8", + "length": 53, "decimals": 0, "dimensions": 0, "collation": "", @@ -19342,7 +19549,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "cluster_mechanism", + "oldName": "topic_prob", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -19485,21 +19692,21 @@ "rules": [], "primaryKey": { "objectType": "PrimaryKey_PGSQL", - "name": "repo_cluster_messages_pkey", + "name": "repo_topic_pkey", "fields": [ - "msg_cluster_id" + "repo_topic_id" ], "fillFactor": -1, "indexTablespace": "", "comment": "", "isDeferrable": false, "isDeferred": false, - "oldName": "repo_cluster_messages_pkey" + "oldName": "repo_topic_pkey" }, "foreignKeys": [ { "objectType": "ForeignKey_PGSQL", - "name": "fk_repo_cluster_messages_repo_1", + "name": "fk_repo_topic_repo_1", "fields": [ "repo_id" ], @@ -19516,7 +19723,7 @@ "isDeferred": false, "sourceCardinality": "ZeroOrManyRelationship", "targetCardinality": "ZeroOrOneRelationship", - "oldName": "fk_repo_cluster_messages_repo_1" + "oldName": "fk_repo_topic_repo_1" } ], "uniques": [], @@ -19528,16 +19735,16 @@ }, { "objectType": "TableNormal_PGSQL", - "name": "repo_dependencies", - "comment": "Contains the dependencies for a repo.", + "name": "repos_fetch_log", + "comment": "", "tablespace": "", "isUnlogged": false, "owner": "augur", "inheritFromTables": [], "hasOIDs": false, "fillFactor": -1, - "oldName": "repo_dependencies", - "oid": 19043821, + "oldName": "repos_fetch_log", + "oid": 194327, "rows": 0, "isInheritTables": false, "cluster": "", @@ -19554,53 +19761,23 @@ "fields": [ { "objectType": "TableField_PGSQL", - "name": "repo_dependencies_id", - "type": "int8", - "length": 64, + "name": "repos_id", + "type": "int4", + "length": 32, "decimals": 0, "dimensions": 0, "collation": "", "isNullable": false, - "defaultType": "Others", - "defaultValue": "nextval('augur_data.repo_dependencies_repo_dependencies_id_seq'::regclass)", - "comment": "", - "oldName": "repo_dependencies_id", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 1, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "repo_id", - "type": "int8", - "length": 64, - "decimals": 0, - "dimensions": 0, - "collation": "", - "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "Forign key for repo id. ", - "oldName": "repo_id", + "comment": "", + "oldName": "repos_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 2, + "ordinalPosition": 1, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -19614,23 +19791,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "dep_name", + "name": "status", "type": "varchar", - "length": 255, + "length": 128, "decimals": 0, "dimensions": 0, "collation": "default", - "isNullable": true, + "isNullable": false, "defaultType": "None", "defaultValue": "", - "comment": "Name of the dependancy found in project. ", - "oldName": "dep_name", + "comment": "", + "oldName": "status", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 3, + "ordinalPosition": 2, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -19644,23 +19821,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "dep_count", - "type": "int4", - "length": 32, + "name": "date", + "type": "timestamp", + "length": 0, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "Number of times the dependancy was found. ", - "oldName": "dep_count", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", + "comment": "", + "oldName": "date", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 4, + "ordinalPosition": 3, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -19671,56 +19848,154 @@ "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false - }, + } + ], + "indexes": [ { - "objectType": "TableField_PGSQL", - "name": "dep_language", - "type": "varchar", - "length": 255, - "decimals": 0, - "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "Language of the dependancy. ", - "oldName": "dep_language", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 5, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false + "objectType": "Index_PGSQL", + "name": "repos_id,status", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "repos_id,status", + "oid": 203942, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "repos_fetch_log", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "repos_id", + "collation": "", + "opClass": "int4_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "repos_id", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "status", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "status", + "collationSchema": "pg_catalog" + } + ] }, + { + "objectType": "Index_PGSQL", + "name": "repos_id,statusops", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "repos_id,statusops", + "oid": 203946, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "repos_fetch_log", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "repos_id", + "collation": "", + "opClass": "int4_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "repos_id", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "status", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "status", + "collationSchema": "pg_catalog" + } + ] + } + ], + "rules": [], + "foreignKeys": [], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "settings", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "settings", + "oid": 194386, + "rows": 13, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ { "objectType": "TableField_PGSQL", - "name": "tool_source", - "type": "varchar", - "length": 0, + "name": "id", + "type": "int4", + "length": 32, "decimals": 0, "dimensions": 0, - "collation": "default", - "isNullable": true, + "collation": "", + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "tool_source", + "oldName": "id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 6, + "collationSchema": "", + "ordinalPosition": 1, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -19734,23 +20009,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_version", + "name": "setting", "type": "varchar", - "length": 0, + "length": 32, "decimals": 0, "dimensions": 0, "collation": "default", - "isNullable": true, + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "tool_version", + "oldName": "setting", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 7, + "ordinalPosition": 2, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -19764,23 +20039,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_source", + "name": "value", "type": "varchar", "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", - "isNullable": true, + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "data_source", + "oldName": "value", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 8, + "ordinalPosition": 3, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -19794,23 +20069,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_collection_date", + "name": "last_modified", "type": "timestamp", "length": 0, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": true, + "isNullable": false, "defaultType": "Others", "defaultValue": "CURRENT_TIMESTAMP", "comment": "", - "oldName": "data_collection_date", + "oldName": "last_modified", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 9, + "ordinalPosition": 4, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -19827,40 +20102,18 @@ "rules": [], "primaryKey": { "objectType": "PrimaryKey_PGSQL", - "name": "repo_dependencies_pkey", + "name": "settings_pkey", "fields": [ - "repo_dependencies_id" + "id" ], "fillFactor": -1, "indexTablespace": "", "comment": "", "isDeferrable": false, "isDeferred": false, - "oldName": "repo_dependencies_pkey" + "oldName": "settings_pkey" }, - "foreignKeys": [ - { - "objectType": "ForeignKey_PGSQL", - "name": "repo_id", - "fields": [ - "repo_id" - ], - "referenceSchema": "augur_data", - "referenceTable": "repo", - "referenceFields": [ - "repo_id" - ], - "onDelete": "NO ACTION", - "onUpdate": "NO ACTION", - "comment": "", - "isMatchFull": false, - "isDeferrable": false, - "isDeferred": false, - "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "ZeroOrOneRelationship", - "oldName": "repo_id" - } - ], + "foreignKeys": [], "uniques": [], "checks": [], "excludes": [], @@ -19870,7 +20123,7 @@ }, { "objectType": "TableNormal_PGSQL", - "name": "repo_deps_scorecard", + "name": "topic_words", "comment": "", "tablespace": "", "isUnlogged": false, @@ -19878,8 +20131,8 @@ "inheritFromTables": [], "hasOIDs": false, "fillFactor": -1, - "oldName": "repo_deps_scorecard", - "oid": 19043831, + "oldName": "topic_words", + "oid": 194532, "rows": 0, "isInheritTables": false, "cluster": "", @@ -19896,7 +20149,7 @@ "fields": [ { "objectType": "TableField_PGSQL", - "name": "repo_deps_scorecard_id", + "name": "topic_words_id", "type": "int8", "length": 64, "decimals": 0, @@ -19904,9 +20157,9 @@ "collation": "", "isNullable": false, "defaultType": "Others", - "defaultValue": "nextval('augur_data.repo_deps_scorecard_repo_deps_scorecard_id_seq1'::regclass)", + "defaultValue": "nextval('augur_data.topic_words_topic_words_id_seq'::regclass)", "comment": "", - "oldName": "repo_deps_scorecard_id", + "oldName": "topic_words_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -19926,7 +20179,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "repo_id", + "name": "topic_id", "type": "int8", "length": 64, "decimals": 0, @@ -19936,7 +20189,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "repo_id", + "oldName": "topic_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -19956,7 +20209,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_source", + "name": "word", "type": "varchar", "length": 0, "decimals": 0, @@ -19966,13 +20219,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "tool_source", + "oldName": "word", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 35, + "ordinalPosition": 3, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -19986,23 +20239,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_version", - "type": "varchar", - "length": 0, + "name": "word_prob", + "type": "float8", + "length": 53, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "tool_version", + "oldName": "word_prob", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 36, + "collationSchema": "", + "ordinalPosition": 4, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -20016,7 +20269,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_source", + "name": "tool_source", "type": "varchar", "length": 0, "decimals": 0, @@ -20026,43 +20279,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "data_source", + "oldName": "tool_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 37, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "data_collection_date", - "type": "timestamp", - "length": 0, - "decimals": 0, - "dimensions": 0, - "collation": "", - "isNullable": true, - "defaultType": "Others", - "defaultValue": "CURRENT_TIMESTAMP", - "comment": "", - "oldName": "data_collection_date", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 38, + "ordinalPosition": 5, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -20076,7 +20299,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "name", + "name": "tool_version", "type": "varchar", "length": 0, "decimals": 0, @@ -20086,13 +20309,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "name", + "oldName": "tool_version", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 39, + "ordinalPosition": 6, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -20106,7 +20329,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "status", + "name": "data_source", "type": "varchar", "length": 0, "decimals": 0, @@ -20116,13 +20339,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "status", + "oldName": "data_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 40, + "ordinalPosition": 7, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -20136,23 +20359,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "score", - "type": "varchar", + "name": "data_collection_date", + "type": "timestamp", "length": 0, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", "comment": "", - "oldName": "score", + "oldName": "data_collection_date", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 41, + "collationSchema": "", + "ordinalPosition": 8, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -20169,40 +20392,18 @@ "rules": [], "primaryKey": { "objectType": "PrimaryKey_PGSQL", - "name": "repo_deps_scorecard_pkey1", + "name": "topic_words_pkey", "fields": [ - "repo_deps_scorecard_id" + "topic_words_id" ], "fillFactor": -1, "indexTablespace": "", "comment": "", "isDeferrable": false, "isDeferred": false, - "oldName": "repo_deps_scorecard_pkey1" + "oldName": "topic_words_pkey" }, - "foreignKeys": [ - { - "objectType": "ForeignKey_PGSQL", - "name": "repo_id", - "fields": [ - "repo_id" - ], - "referenceSchema": "augur_data", - "referenceTable": "repo", - "referenceFields": [ - "repo_id" - ], - "onDelete": "NO ACTION", - "onUpdate": "NO ACTION", - "comment": "", - "isMatchFull": false, - "isDeferrable": false, - "isDeferred": false, - "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "ZeroOrOneRelationship", - "oldName": "repo_id" - } - ], + "foreignKeys": [], "uniques": [], "checks": [], "excludes": [], @@ -20212,16 +20413,16 @@ }, { "objectType": "TableNormal_PGSQL", - "name": "repo_group_insights", - "comment": "This table is output from an analytical worker inside of Augur. It runs through the different metrics on a REPOSITORY_GROUP and identifies the five to ten most “interesting” metrics as defined by some kind of delta or other factor. The algorithm is going to evolve. \n\nWorker Design Notes: The idea is that the \"insight worker\" will scan through a bunch of active metrics or \"synthetic metrics\" to list the most important insights. ", + "name": "unknown_cache", + "comment": "", "tablespace": "", "isUnlogged": false, "owner": "augur", "inheritFromTables": [], "hasOIDs": false, "fillFactor": -1, - "oldName": "repo_group_insights", - "oid": 192348, + "oldName": "unknown_cache", + "oid": 194612, "rows": 0, "isInheritTables": false, "cluster": "", @@ -20238,22 +20439,22 @@ "fields": [ { "objectType": "TableField_PGSQL", - "name": "rgi_id", - "type": "int8", - "length": 64, + "name": "type", + "type": "varchar", + "length": 10, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": false, - "defaultType": "Others", - "defaultValue": "nextval('augur_data.repo_group_insights_rgi_id_seq'::regclass)", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "rgi_id", + "oldName": "type", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 1, "foreignOptions": [], "isIdentity": false, @@ -20269,12 +20470,12 @@ { "objectType": "TableField_PGSQL", "name": "repo_group_id", - "type": "int8", - "length": 64, + "type": "int4", + "length": 32, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": true, + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", @@ -20298,17 +20499,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "rgi_metric", + "name": "email", "type": "varchar", - "length": 0, + "length": 128, "decimals": 0, "dimensions": 0, "collation": "default", - "isNullable": true, + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "rgi_metric", + "oldName": "email", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -20328,17 +20529,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "rgi_value", + "name": "domain", "type": "varchar", - "length": 0, + "length": 128, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "'NULL'::character varying", "comment": "", - "oldName": "rgi_value", + "oldName": "domain", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -20358,17 +20559,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "cms_id", + "name": "added", "type": "int8", "length": 64, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": true, + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "cms_id", + "oldName": "added", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -20386,41 +20587,11 @@ "hasNoIdentityMaxValue": false, "isIdentityCycle": false }, - { - "objectType": "TableField_PGSQL", - "name": "rgi_fresh", - "type": "bool", - "length": 0, - "decimals": 0, - "dimensions": 0, - "collation": "", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "false if the date is before the statistic that triggered the insight, true if after. This allows us to automatically display only \"fresh insights\" and avoid displaying \"stale insights\". The insight worker will populate this table. ", - "oldName": "rgi_fresh", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 6, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, { "objectType": "TableField_PGSQL", "name": "tool_source", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", @@ -20434,7 +20605,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 7, + "ordinalPosition": 6, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -20450,7 +20621,7 @@ "objectType": "TableField_PGSQL", "name": "tool_version", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", @@ -20464,7 +20635,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 8, + "ordinalPosition": 7, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -20480,7 +20651,7 @@ "objectType": "TableField_PGSQL", "name": "data_source", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", @@ -20494,7 +20665,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 9, + "ordinalPosition": 8, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -20524,7 +20695,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 10, + "ordinalPosition": 9, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -20537,66 +20708,77 @@ "isIdentityCycle": false } ], - "indexes": [], - "rules": [], - "primaryKey": { - "objectType": "PrimaryKey_PGSQL", - "name": "repo_group_insights_pkey", - "fields": [ - "rgi_id" - ], - "fillFactor": -1, - "indexTablespace": "", - "comment": "", - "isDeferrable": false, - "isDeferred": false, - "oldName": "repo_group_insights_pkey" - }, - "foreignKeys": [ + "indexes": [ { - "objectType": "ForeignKey_PGSQL", - "name": "fk_repo_group_insights_repo_groups_1", - "fields": [ - "repo_group_id" - ], - "referenceSchema": "augur_data", - "referenceTable": "repo_groups", - "referenceFields": [ - "repo_group_id" - ], - "onDelete": "NO ACTION", - "onUpdate": "NO ACTION", + "objectType": "Index_PGSQL", + "name": "type,projects_id", "comment": "", - "isMatchFull": false, - "isDeferrable": false, - "isDeferred": false, - "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "ZeroOrOneRelationship", - "oldName": "fk_repo_group_insights_repo_groups_1" - } - ], - "uniques": [], - "checks": [], - "excludes": [], - "triggers": [], - "partitionKeys": [], - "partitions": [] - }, - { - "objectType": "TableNormal_PGSQL", - "name": "repo_groups", - "comment": "rg_type is intended to be either a GitHub Organization or a User Created Repo Group. ", - "tablespace": "", - "isUnlogged": false, - "owner": "augur", - "inheritFromTables": [], - "hasOIDs": false, - "fillFactor": -1, - "oldName": "repo_groups", - "oid": 192466, - "rows": 1, - "isInheritTables": false, - "cluster": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "type,projects_id", + "oid": 203971, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "unknown_cache", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "type", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "type", + "collationSchema": "pg_catalog" + }, + { + "objectType": "IndexField_PGSQL", + "name": "repo_group_id", + "collation": "", + "opClass": "int4_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "repo_group_id", + "collationSchema": "" + } + ] + } + ], + "rules": [], + "foreignKeys": [], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "utility_log", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "utility_log", + "oid": 194757, + "rows": 0, + "isInheritTables": false, + "cluster": "", "ACL": "", "isPartition": false, "partitioningStrategy": "None", @@ -20610,7 +20792,7 @@ "fields": [ { "objectType": "TableField_PGSQL", - "name": "repo_group_id", + "name": "id", "type": "int8", "length": 64, "decimals": 0, @@ -20618,9 +20800,9 @@ "collation": "", "isNullable": false, "defaultType": "Others", - "defaultValue": "nextval('augur_data.repo_groups_repo_group_id_seq'::regclass)", + "defaultValue": "nextval('augur_data.utility_log_id_seq1'::regclass)", "comment": "", - "oldName": "repo_group_id", + "oldName": "id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -20640,9 +20822,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "rg_name", + "name": "level", "type": "varchar", - "length": 0, + "length": 8, "decimals": 0, "dimensions": 0, "collation": "default", @@ -20650,7 +20832,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "rg_name", + "oldName": "level", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -20670,17 +20852,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "rg_description", + "name": "status", "type": "varchar", "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", - "isNullable": true, - "defaultType": "Others", - "defaultValue": "'NULL'::character varying", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "rg_description", + "oldName": "status", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -20700,22 +20882,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "rg_website", - "type": "varchar", - "length": 128, + "name": "attempted", + "type": "timestamp", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "default", - "isNullable": true, + "collation": "", + "isNullable": false, "defaultType": "Others", - "defaultValue": "'NULL'::character varying", + "defaultValue": "CURRENT_TIMESTAMP", "comment": "", - "oldName": "rg_website", + "oldName": "attempted", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 4, "foreignOptions": [], "isIdentity": false, @@ -20727,26 +20909,76 @@ "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false - }, + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "utility_log_pkey", + "fields": [ + "id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "utility_log_pkey" + }, + "foreignKeys": [], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "working_commits", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "working_commits", + "oid": 194888, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ { "objectType": "TableField_PGSQL", - "name": "rg_recache", - "type": "int2", - "length": 16, + "name": "repos_id", + "type": "int4", + "length": 32, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": true, - "defaultType": "Others", - "defaultValue": "1", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "rg_recache", + "oldName": "repos_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 5, + "ordinalPosition": 1, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -20760,23 +20992,90 @@ }, { "objectType": "TableField_PGSQL", - "name": "rg_last_modified", - "type": "timestamp", - "length": 0, + "name": "working_commit", + "type": "varchar", + "length": 40, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "'NULL'::character varying", + "comment": "", + "oldName": "working_commit", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [], + "rules": [], + "foreignKeys": [], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "pull_request_reviews", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "pull_request_reviews", + "oid": 191281, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "pr_review_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, "collation": "", "isNullable": false, "defaultType": "Others", - "defaultValue": "CURRENT_TIMESTAMP", + "defaultValue": "nextval('augur_data.pull_request_reviews_pr_review_id_seq'::regclass)", "comment": "", - "oldName": "rg_last_modified", + "oldName": "pr_review_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 6, + "ordinalPosition": 1, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -20790,23 +21089,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "rg_type", - "type": "varchar", - "length": 0, + "name": "pull_request_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", - "isNullable": true, + "collation": "", + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "rg_type", + "oldName": "pull_request_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 7, + "collationSchema": "", + "ordinalPosition": 2, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -20820,23 +21119,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_source", - "type": "varchar", - "length": 255, + "name": "cntrb_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", - "isNullable": true, + "collation": "", + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "tool_source", + "oldName": "cntrb_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 8, + "collationSchema": "", + "ordinalPosition": 3, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -20850,9 +21149,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_version", + "name": "pr_review_author_association", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", @@ -20860,13 +21159,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "tool_version", + "oldName": "pr_review_author_association", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 9, + "ordinalPosition": 4, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -20880,9 +21179,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_source", + "name": "pr_review_state", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", @@ -20890,13 +21189,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "data_source", + "oldName": "pr_review_state", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 10, + "ordinalPosition": 5, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -20910,23 +21209,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_collection_date", - "type": "timestamp", + "name": "pr_review_body", + "type": "varchar", "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "data_collection_date", + "oldName": "pr_review_body", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 11, + "collationSchema": "pg_catalog", + "ordinalPosition": 6, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -20937,145 +21236,26 @@ "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false - } - ], - "indexes": [ - { - "objectType": "Index_PGSQL", - "name": "rgidm", - "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": true, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "rgidm", - "oid": 203958, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "repo_groups", - "size": "16", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "repo_group_id", - "collation": "", - "opClass": "int8_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "repo_group_id", - "collationSchema": "" - } - ] }, - { - "objectType": "Index_PGSQL", - "name": "rgnameindex", - "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "rgnameindex", - "oid": 203960, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "repo_groups", - "size": "16", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "rg_name", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "rg_name", - "collationSchema": "pg_catalog" - } - ] - } - ], - "rules": [], - "primaryKey": { - "objectType": "PrimaryKey_PGSQL", - "name": "rgid", - "fields": [ - "repo_group_id" - ], - "fillFactor": -1, - "indexTablespace": "", - "comment": "", - "isDeferrable": false, - "isDeferred": false, - "oldName": "rgid" - }, - "foreignKeys": [], - "uniques": [], - "checks": [], - "excludes": [], - "triggers": [], - "partitionKeys": [], - "partitions": [] - }, - { - "objectType": "TableNormal_PGSQL", - "name": "repo_groups_list_serve", - "comment": "", - "tablespace": "", - "isUnlogged": false, - "owner": "augur", - "inheritFromTables": [], - "hasOIDs": false, - "fillFactor": -1, - "oldName": "repo_groups_list_serve", - "oid": 192557, - "rows": 0, - "isInheritTables": false, - "cluster": "", - "ACL": "", - "isPartition": false, - "partitioningStrategy": "None", - "partitionOfSchema": "", - "partitionOfTable": "", - "partitionListValues": [], - "partitionRangeFromValues": [], - "partitionRangeToValues": [], - "foreignServer": "", - "foreignOptionDisplay": "", - "fields": [ { "objectType": "TableField_PGSQL", - "name": "rgls_id", - "type": "int8", - "length": 64, + "name": "pr_review_submitted_at", + "type": "timestamp", + "length": 6, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": false, - "defaultType": "Others", - "defaultValue": "nextval('augur_data.repo_groups_list_serve_rgls_id_seq'::regclass)", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "rgls_id", + "oldName": "pr_review_submitted_at", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 1, + "ordinalPosition": 7, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -21089,23 +21269,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "repo_group_id", + "name": "pr_review_src_id", "type": "int8", "length": 64, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": false, + "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "repo_group_id", + "oldName": "pr_review_src_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 2, + "ordinalPosition": 8, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -21119,9 +21299,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "rgls_name", + "name": "pr_review_node_id", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", @@ -21129,13 +21309,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "rgls_name", + "oldName": "pr_review_node_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 3, + "ordinalPosition": 9, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -21149,9 +21329,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "rgls_description", + "name": "pr_review_html_url", "type": "varchar", - "length": 3000, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", @@ -21159,13 +21339,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "rgls_description", + "oldName": "pr_review_html_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 4, + "ordinalPosition": 10, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -21179,9 +21359,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "rgls_sponsor", + "name": "pr_review_pull_request_url", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", @@ -21189,13 +21369,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "rgls_sponsor", + "oldName": "pr_review_pull_request_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 5, + "ordinalPosition": 11, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -21209,9 +21389,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "rgls_email", + "name": "pr_review_commit_id", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", @@ -21219,13 +21399,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "rgls_email", + "oldName": "pr_review_commit_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 6, + "ordinalPosition": 12, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -21241,7 +21421,7 @@ "objectType": "TableField_PGSQL", "name": "tool_source", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", @@ -21255,7 +21435,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 7, + "ordinalPosition": 13, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -21271,7 +21451,7 @@ "objectType": "TableField_PGSQL", "name": "tool_version", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", @@ -21285,7 +21465,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 8, + "ordinalPosition": 14, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -21301,7 +21481,7 @@ "objectType": "TableField_PGSQL", "name": "data_source", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", @@ -21315,7 +21495,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 9, + "ordinalPosition": 15, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -21336,8 +21516,8 @@ "dimensions": 0, "collation": "", "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", "comment": "", "oldName": "data_collection_date", "typeOID": 1, @@ -21345,7 +21525,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 10, + "ordinalPosition": 16, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -21358,106 +21538,66 @@ "isIdentityCycle": false } ], - "indexes": [ - { - "objectType": "Index_PGSQL", - "name": "lister", - "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": true, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "lister", - "oid": 203763, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "repo_groups_list_serve", - "size": "8", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "rgls_id", - "collation": "", - "opClass": "int8_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "rgls_id", - "collationSchema": "" - }, - { - "objectType": "IndexField_PGSQL", - "name": "repo_group_id", - "collation": "", - "opClass": "int8_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "repo_group_id", - "collationSchema": "" - } - ] - } - ], + "indexes": [], "rules": [], "primaryKey": { "objectType": "PrimaryKey_PGSQL", - "name": "repo_groups_list_serve_pkey", + "name": "pull_request_review_id", "fields": [ - "rgls_id" + "pr_review_id" ], "fillFactor": -1, "indexTablespace": "", "comment": "", "isDeferrable": false, "isDeferred": false, - "oldName": "repo_groups_list_serve_pkey" + "oldName": "pull_request_review_id" }, "foreignKeys": [ { "objectType": "ForeignKey_PGSQL", - "name": "fk_repo_groups_list_serve_repo_groups_1", + "name": "fk_pull_request_reviews_contributors_1", "fields": [ - "repo_group_id" + "cntrb_id" ], "referenceSchema": "augur_data", - "referenceTable": "repo_groups", + "referenceTable": "contributors", "referenceFields": [ - "repo_group_id" + "cntrb_id" ], - "onDelete": "NO ACTION", - "onUpdate": "NO ACTION", + "onDelete": "RESTRICT", + "onUpdate": "CASCADE", "comment": "", "isMatchFull": false, - "isDeferrable": false, + "isDeferrable": true, "isDeferred": false, "sourceCardinality": "ZeroOrManyRelationship", "targetCardinality": "OneAndOnlyOneRelationship", - "oldName": "fk_repo_groups_list_serve_repo_groups_1" - } - ], - "uniques": [ + "oldName": "fk_pull_request_reviews_contributors_1" + }, { - "objectType": "Unique_PGSQL", - "name": "rglistserve", + "objectType": "ForeignKey_PGSQL", + "name": "fk_pull_request_reviews_pull_requests_1", "fields": [ - "rgls_id", - "repo_group_id" + "pull_request_id" ], - "fillFactor": -1, - "indexTablespace": "", + "referenceSchema": "augur_data", + "referenceTable": "pull_requests", + "referenceFields": [ + "pull_request_id" + ], + "onDelete": "RESTRICT", + "onUpdate": "CASCADE", "comment": "", - "isDeferrable": false, + "isMatchFull": false, + "isDeferrable": true, "isDeferred": false, - "oldName": "rglistserve" + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "OneAndOnlyOneRelationship", + "oldName": "fk_pull_request_reviews_pull_requests_1" } ], + "uniques": [], "checks": [], "excludes": [], "triggers": [], @@ -21466,16 +21606,16 @@ }, { "objectType": "TableNormal_PGSQL", - "name": "repo_info", - "comment": "", + "name": "pull_request_repo", + "comment": "This table is for storing information about forks that exist as part of a pull request. Generally we do not want to track these like ordinary repositories. ", "tablespace": "", "isUnlogged": false, "owner": "augur", "inheritFromTables": [], "hasOIDs": false, "fillFactor": -1, - "oldName": "repo_info", - "oid": 192746, + "oldName": "pull_request_repo", + "oid": 190990, "rows": 0, "isInheritTables": false, "cluster": "", @@ -21492,7 +21632,7 @@ "fields": [ { "objectType": "TableField_PGSQL", - "name": "repo_info_id", + "name": "pr_repo_id", "type": "int8", "length": 64, "decimals": 0, @@ -21500,9 +21640,9 @@ "collation": "", "isNullable": false, "defaultType": "Others", - "defaultValue": "nextval('augur_data.repo_info_repo_info_id_seq'::regclass)", + "defaultValue": "nextval('augur_data.pull_request_repo_pr_repo_id_seq'::regclass)", "comment": "", - "oldName": "repo_info_id", + "oldName": "pr_repo_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -21522,17 +21662,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "repo_id", + "name": "pr_repo_meta_id", "type": "int8", "length": 64, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": false, + "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "repo_id", + "oldName": "pr_repo_meta_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -21552,22 +21692,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "last_updated", - "type": "timestamp", + "name": "pr_repo_head_or_base", + "type": "varchar", "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, - "defaultType": "Others", - "defaultValue": "NULL::timestamp without time zone", - "comment": "", - "oldName": "last_updated", + "defaultType": "None", + "defaultValue": "", + "comment": "For ease of validation checking, we should determine if the repository referenced is the head or base of the pull request. Each pull request should have one and only one of these, which is not enforcable easily in the database.", + "oldName": "pr_repo_head_or_base", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 3, "foreignOptions": [], "isIdentity": false, @@ -21582,22 +21722,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "issues_enabled", - "type": "varchar", - "length": 255, + "name": "pr_src_repo_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, - "defaultType": "Others", - "defaultValue": "NULL::character varying", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "issues_enabled", + "oldName": "pr_src_repo_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 4, "foreignOptions": [], "isIdentity": false, @@ -21612,22 +21752,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "open_issues", - "type": "int4", - "length": 32, + "name": "pr_src_node_id", + "type": "varchar", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "open_issues", + "oldName": "pr_src_node_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 5, "foreignOptions": [], "isIdentity": false, @@ -21642,17 +21782,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "pull_requests_enabled", + "name": "pr_repo_name", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, - "defaultType": "Others", - "defaultValue": "NULL::character varying", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "pull_requests_enabled", + "oldName": "pr_repo_name", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -21672,17 +21812,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "wiki_enabled", + "name": "pr_repo_full_name", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, - "defaultType": "Others", - "defaultValue": "NULL::character varying", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "wiki_enabled", + "oldName": "pr_repo_full_name", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -21702,22 +21842,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "pages_enabled", - "type": "varchar", - "length": 255, + "name": "pr_repo_private_bool", + "type": "bool", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, - "defaultType": "Others", - "defaultValue": "NULL::character varying", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "pages_enabled", + "oldName": "pr_repo_private_bool", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 8, "foreignOptions": [], "isIdentity": false, @@ -21732,9 +21872,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "fork_count", - "type": "int4", - "length": 32, + "name": "pr_cntrb_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, "collation": "", @@ -21742,7 +21882,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "fork_count", + "oldName": "pr_cntrb_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -21762,17 +21902,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "default_branch", + "name": "tool_source", "type": "varchar", "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, - "defaultType": "Others", - "defaultValue": "NULL::character varying", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "default_branch", + "oldName": "tool_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -21792,22 +21932,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "watchers_count", - "type": "int4", - "length": 32, + "name": "tool_version", + "type": "varchar", + "length": 255, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "watchers_count", + "oldName": "tool_version", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 11, "foreignOptions": [], "isIdentity": false, @@ -21822,22 +21962,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "UUID", - "type": "int4", - "length": 32, + "name": "data_source", + "type": "varchar", + "length": 255, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "UUID", + "oldName": "data_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 12, "foreignOptions": [], "isIdentity": false, @@ -21852,22 +21992,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "license", - "type": "varchar", - "length": 255, + "name": "data_collection_date", + "type": "timestamp", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "Others", - "defaultValue": "NULL::character varying", + "defaultValue": "CURRENT_TIMESTAMP", "comment": "", - "oldName": "license", + "oldName": "data_collection_date", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 13, "foreignOptions": [], "isIdentity": false, @@ -21879,26 +22019,154 @@ "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false + } + ], + "indexes": [ + { + "objectType": "Index_PGSQL", + "name": "pr-cntrb-idx-repo", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "pr-cntrb-idx-repo", + "oid": 203793, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "pull_request_repo", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "pr_cntrb_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "pr_cntrb_id", + "collationSchema": "" + } + ] + } + ], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "pull_request_repo_pkey", + "fields": [ + "pr_repo_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "pull_request_repo_pkey" + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_pull_request_repo_contributors_1", + "fields": [ + "pr_cntrb_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "contributors", + "referenceFields": [ + "cntrb_id" + ], + "onDelete": "RESTRICT", + "onUpdate": "CASCADE", + "comment": "", + "isMatchFull": false, + "isDeferrable": true, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_pull_request_repo_contributors_1" }, + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_pull_request_repo_pull_request_meta_1", + "fields": [ + "pr_repo_meta_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "pull_request_meta", + "referenceFields": [ + "pr_repo_meta_id" + ], + "onDelete": "RESTRICT", + "onUpdate": "CASCADE", + "comment": "", + "isMatchFull": false, + "isDeferrable": true, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_pull_request_repo_pull_request_meta_1" + } + ], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "pull_request_meta", + "comment": "Pull requests contain referencing metadata. There are a few columns that are discrete. There are also head and base designations for the repo on each side of the pull request. Similar functions exist in GitLab, though the language here is based on GitHub. The JSON Being adapted to as of the development of this schema is here: \"base\": { \"label\": \"chaoss:dev\", \"ref\": \"dev\", \"sha\": \"dc6c6f3947f7dc84ecba3d8bda641ef786e7027d\", \"user\": { \"login\": \"chaoss\", \"id\": 29740296, \"node_id\": \"MDEyOk9yZ2FuaXphdGlvbjI5NzQwMjk2\", \"avatar_url\": \"https://avatars2.githubusercontent.com/u/29740296?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/chaoss\", \"html_url\": \"https://github.com/chaoss\", \"followers_url\": \"https://api.github.com/users/chaoss/followers\", \"following_url\": \"https://api.github.com/users/chaoss/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/chaoss/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/chaoss/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/chaoss/subscriptions\", \"organizations_url\": \"https://api.github.com/users/chaoss/orgs\", \"repos_url\": \"https://api.github.com/users/chaoss/repos\", \"events_url\": \"https://api.github.com/users/chaoss/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/chaoss/received_events\", \"type\": \"Organization\", \"site_admin\": false }, \"repo\": { \"id\": 78134122, \"node_id\": \"MDEwOlJlcG9zaXRvcnk3ODEzNDEyMg==\", \"name\": \"augur\", \"full_name\": \"chaoss/augur\", \"private\": false, \"owner\": { \"login\": \"chaoss\", \"id\": 29740296, \"node_id\": \"MDEyOk9yZ2FuaXphdGlvbjI5NzQwMjk2\", \"avatar_url\": \"https://avatars2.githubusercontent.com/u/29740296?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/chaoss\", \"html_url\": \"https://github.com/chaoss\", \"followers_url\": \"https://api.github.com/users/chaoss/followers\", \"following_url\": \"https://api.github.com/users/chaoss/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/chaoss/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/chaoss/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/chaoss/subscriptions\", \"organizations_url\": \"https://api.github.com/users/chaoss/orgs\", \"repos_url\": \"https://api.github.com/users/chaoss/repos\", \"events_url\": \"https://api.github.com/users/chaoss/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/chaoss/received_events\", \"type\": \"Organization\", \"site_admin\": false }, ", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "pull_request_meta", + "oid": 190880, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ { "objectType": "TableField_PGSQL", - "name": "stars_count", - "type": "int4", - "length": 32, + "name": "pr_repo_meta_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_data.pull_request_meta_pr_repo_meta_id_seq'::regclass)", "comment": "", - "oldName": "stars_count", + "oldName": "pr_repo_meta_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 14, + "ordinalPosition": 1, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -21912,9 +22180,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "committers_count", - "type": "int4", - "length": 32, + "name": "pull_request_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, "collation": "", @@ -21922,13 +22190,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "committers_count", + "oldName": "pull_request_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 15, + "ordinalPosition": 2, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -21942,23 +22210,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "issue_contributors_count", + "name": "pr_head_or_base", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "", - "oldName": "issue_contributors_count", + "comment": "Each pull request should have one and only one head record; and one and only one base record. ", + "oldName": "pr_head_or_base", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 16, + "ordinalPosition": 3, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -21972,23 +22240,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "changelog_file", + "name": "pr_src_meta_label", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, - "defaultType": "Others", - "defaultValue": "NULL::character varying", - "comment": "", - "oldName": "changelog_file", + "defaultType": "None", + "defaultValue": "", + "comment": "This is a representation of the repo:branch information in the pull request. Head is issueing the pull request and base is taking the pull request. For example: (We do not store all of this)\n\n \"head\": {\n \"label\": \"chaoss:pull-request-worker\",\n \"ref\": \"pull-request-worker\",\n \"sha\": \"6b380c3d6d625616f79d702612ebab6d204614f2\",\n \"user\": {\n \"login\": \"chaoss\",\n \"id\": 29740296,\n \"node_id\": \"MDEyOk9yZ2FuaXphdGlvbjI5NzQwMjk2\",\n \"avatar_url\": \"https://avatars2.githubusercontent.com/u/29740296?v=4\",\n \"gravatar_id\": \"\",\n \"url\": \"https://api.github.com/users/chaoss\",\n \"html_url\": \"https://github.com/chaoss\",\n \"followers_url\": \"https://api.github.com/users/chaoss/followers\",\n \"following_url\": \"https://api.github.com/users/chaoss/following{/other_user}\",\n \"gists_url\": \"https://api.github.com/users/chaoss/gists{/gist_id}\",\n \"starred_url\": \"https://api.github.com/users/chaoss/starred{/owner}{/repo}\",\n \"subscriptions_url\": \"https://api.github.com/users/chaoss/subscriptions\",\n \"organizations_url\": \"https://api.github.com/users/chaoss/orgs\",\n \"repos_url\": \"https://api.github.com/users/chaoss/repos\",\n \"events_url\": \"https://api.github.com/users/chaoss/events{/privacy}\",\n \"received_events_url\": \"https://api.github.com/users/chaoss/received_events\",\n \"type\": \"Organization\",\n \"site_admin\": false\n },\n \"repo\": {\n \"id\": 78134122,\n \"node_id\": \"MDEwOlJlcG9zaXRvcnk3ODEzNDEyMg==\",\n \"name\": \"augur\",\n \"full_name\": \"chaoss/augur\",\n \"private\": false,\n \"owner\": {\n \"login\": \"chaoss\",\n \"id\": 29740296,\n \"node_id\": \"MDEyOk9yZ2FuaXphdGlvbjI5NzQwMjk2\",\n \"avatar_url\": \"https://avatars2.githubusercontent.com/u/29740296?v=4\",\n \"gravatar_id\": \"\",\n \"url\": \"https://api.github.com/users/chaoss\",\n \"html_url\": \"https://github.com/chaoss\",\n \"followers_url\": \"https://api.github.com/users/chaoss/followers\",\n \"following_url\": \"https://api.github.com/users/chaoss/following{/other_user}\",\n \"gists_url\": \"https://api.github.com/users/chaoss/gists{/gist_id}\",\n \"starred_url\": \"https://api.github.com/users/chaoss/starred{/owner}{/repo}\",\n \"subscriptions_url\": \"https://api.github.com/users/chaoss/subscriptions\",\n \"organizations_url\": \"https://api.github.com/users/chaoss/orgs\",\n \"repos_url\": \"https://api.github.com/users/chaoss/repos\",\n \"events_url\": \"https://api.github.com/users/chaoss/events{/privacy}\",\n \"received_events_url\": \"https://api.github.com/users/chaoss/received_events\",\n \"type\": \"Organization\",\n \"site_admin\": false\n },\n \"html_url\": \"https://github.com/chaoss/augur\",\n \"description\": \"Python library and web service for Open Source Software Health and Sustainability metrics & data collection.\",\n \"fork\": false,\n \"url\": \"https://api.github.com/repos/chaoss/augur\",\n \"forks_url\": \"https://api.github.com/repos/chaoss/augur/forks\",\n \"keys_url\": \"https://api.github.com/repos/chaoss/augur/keys{/key_id}\",\n \"collaborators_url\": \"https://api.github.com/repos/chaoss/augur/collaborators{/collaborator}\",\n \"teams_url\": \"https://api.github.com/repos/chaoss/augur/teams\",\n \"hooks_url\": \"https://api.github.com/repos/chaoss/augur/hooks\",\n \"issue_events_url\": \"https://api.github.com/repos/chaoss/augur/issues/events{/number}\",\n \"events_url\": \"https://api.github.com/repos/chaoss/augur/events\",\n \"assignees_url\": \"https://api.github.com/repos/chaoss/augur/assignees{/user}\",\n \"branches_url\": \"https://api.github.com/repos/chaoss/augur/branches{/branch}\",\n \"tags_url\": \"https://api.github.com/repos/chaoss/augur/tags\",\n \"blobs_url\": \"https://api.github.com/repos/chaoss/augur/git/blobs{/sha}\",\n \"git_tags_url\": \"https://api.github.com/repos/chaoss/augur/git/tags{/sha}\",\n \"git_refs_url\": \"https://api.github.com/repos/chaoss/augur/git/refs{/sha}\",\n \"trees_url\": \"https://api.github.com/repos/chaoss/augur/git/trees{/sha}\",\n \"statuses_url\": \"https://api.github.com/repos/chaoss/augur/statuses/{sha}\",\n \"languages_url\": \"https://api.github.com/repos/chaoss/augur/languages\",\n \"stargazers_url\": \"https://api.github.com/repos/chaoss/augur/stargazers\",\n \"contributors_url\": \"https://api.github.com/repos/chaoss/augur/contributors\",\n \"subscribers_url\": \"https://api.github.com/repos/chaoss/augur/subscribers\",\n \"subscription_url\": \"https://api.github.com/repos/chaoss/augur/subscription\",\n \"commits_url\": \"https://api.github.com/repos/chaoss/augur/commits{/sha}\",\n \"git_commits_url\": \"https://api.github.com/repos/chaoss/augur/git/commits{/sha}\",\n \"comments_url\": \"https://api.github.com/repos/chaoss/augur/comments{/number}\",\n \"issue_comment_url\": \"https://api.github.com/repos/chaoss/augur/issues/comments{/number}\",\n \"contents_url\": \"https://api.github.com/repos/chaoss/augur/contents/{+path}\",\n \"compare_url\": \"https://api.github.com/repos/chaoss/augur/compare/{base}...{head}\",\n \"merges_url\": \"https://api.github.com/repos/chaoss/augur/merges\",\n \"archive_url\": \"https://api.github.com/repos/chaoss/augur/{archive_format}{/ref}\",\n \"downloads_url\": \"https://api.github.com/repos/chaoss/augur/downloads\",\n \"issues_url\": \"https://api.github.com/repos/chaoss/augur/issues{/number}\",\n \"pulls_url\": \"https://api.github.com/repos/chaoss/augur/pulls{/number}\",\n \"milestones_url\": \"https://api.github.com/repos/chaoss/augur/milestones{/number}\",\n \"notifications_url\": \"https://api.github.com/repos/chaoss/augur/notifications{?since,all,participating}\",\n \"labels_url\": \"https://api.github.com/repos/chaoss/augur/labels{/name}\",\n \"releases_url\": \"https://api.github.com/repos/chaoss/augur/releases{/id}\",\n \"deployments_url\": \"https://api.github.com/repos/chaoss/augur/deployments\",\n \"created_at\": \"2017-01-05T17:34:54Z\",\n \"updated_at\": \"2019-11-15T00:56:12Z\",\n \"pushed_at\": \"2019-12-02T06:27:26Z\",\n \"git_url\": \"git://github.com/chaoss/augur.git\",\n \"ssh_url\": \"git@github.com:chaoss/augur.git\",\n \"clone_url\": \"https://github.com/chaoss/augur.git\",\n \"svn_url\": \"https://github.com/chaoss/augur\",\n \"homepage\": \"http://augur.osshealth.io/\",\n \"size\": 82004,\n \"stargazers_count\": 153,\n \"watchers_count\": 153,\n \"language\": \"Python\",\n \"has_issues\": true,\n \"has_projects\": false,\n \"has_downloads\": true,\n \"has_wiki\": false,\n \"has_pages\": true,\n \"forks_count\": 205,\n \"mirror_url\": null,\n \"archived\": false,\n \"disabled\": false,\n \"open_issues_count\": 14,\n \"license\": {\n \"key\": \"mit\",\n \"name\": \"MIT License\",\n \"spdx_id\": \"MIT\",\n \"url\": \"https://api.github.com/licenses/mit\",\n \"node_id\": \"MDc6TGljZW5zZTEz\"\n },\n \"forks\": 205,\n \"open_issues\": 14,\n \"watchers\": 153,\n \"default_branch\": \"master\"\n }\n },\n \"base\": {\n \"label\": \"chaoss:dev\",\n \"ref\": \"dev\",\n \"sha\": \"bfd2d34b51659613dd842cf83c3873f7699c2a0e\",\n \"user\": {\n \"login\": \"chaoss\",\n \"id\": 29740296,\n \"node_id\": \"MDEyOk9yZ2FuaXphdGlvbjI5NzQwMjk2\",\n \"avatar_url\": \"https://avatars2.githubusercontent.com/u/29740296?v=4\",\n \"gravatar_id\": \"\",\n \"url\": \"https://api.github.com/users/chaoss\",\n \"html_url\": \"https://github.com/chaoss\",\n \"followers_url\": \"https://api.github.com/users/chaoss/followers\",\n \"following_url\": \"https://api.github.com/users/chaoss/following{/other_user}\",\n \"gists_url\": \"https://api.github.com/users/chaoss/gists{/gist_id}\",\n \"starred_url\": \"https://api.github.com/users/chaoss/starred{/owner}{/repo}\",\n \"subscriptions_url\": \"https://api.github.com/users/chaoss/subscriptions\",\n \"organizations_url\": \"https://api.github.com/users/chaoss/orgs\",\n \"repos_url\": \"https://api.github.com/users/chaoss/repos\",\n \"events_url\": \"https://api.github.com/users/chaoss/events{/privacy}\",\n \"received_events_url\": \"https://api.github.com/users/chaoss/received_events\",\n \"type\": \"Organization\",\n \"site_admin\": false\n },\n \"repo\": {\n \"id\": 78134122,\n \"node_id\": \"MDEwOlJlcG9zaXRvcnk3ODEzNDEyMg==\",\n \"name\": \"augur\",\n \"full_name\": \"chaoss/augur\",\n \"private\": false,\n \"owner\": {\n \"login\": \"chaoss\",\n \"id\": 29740296,\n \"node_id\": \"MDEyOk9yZ2FuaXphdGlvbjI5NzQwMjk2\",\n \"avatar_url\": \"https://avatars2.githubusercontent.com/u/29740296?v=4\",\n \"gravatar_id\": \"\",\n \"url\": \"https://api.github.com/users/chaoss\",\n \"html_url\": \"https://github.com/chaoss\",\n \"followers_url\": \"https://api.github.com/users/chaoss/followers\",\n \"following_url\": \"https://api.github.com/users/chaoss/following{/other_user}\",\n \"gists_url\": \"https://api.github.com/users/chaoss/gists{/gist_id}\",\n \"starred_url\": \"https://api.github.com/users/chaoss/starred{/owner}{/repo}\",\n \"subscriptions_url\": \"https://api.github.com/users/chaoss/subscriptions\",\n \"organizations_url\": \"https://api.github.com/users/chaoss/orgs\",\n \"repos_url\": \"https://api.github.com/users/chaoss/repos\",\n \"events_url\": \"https://api.github.com/users/chaoss/events{/privacy}\",\n \"received_events_url\": \"https://api.github.com/users/chaoss/received_events\",\n \"type\": \"Organization\",\n \"site_admin\": false\n },\n", + "oldName": "pr_src_meta_label", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 17, + "ordinalPosition": 4, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -22002,23 +22270,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "contributing_file", + "name": "pr_src_meta_ref", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, - "defaultType": "Others", - "defaultValue": "NULL::character varying", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "contributing_file", + "oldName": "pr_src_meta_ref", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 18, + "ordinalPosition": 5, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -22032,23 +22300,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "license_file", + "name": "pr_sha", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, - "defaultType": "Others", - "defaultValue": "NULL::character varying", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "license_file", + "oldName": "pr_sha", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 19, + "ordinalPosition": 6, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -22062,23 +22330,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "code_of_conduct_file", - "type": "varchar", - "length": 255, + "name": "cntrb_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, - "defaultType": "Others", - "defaultValue": "NULL::character varying", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "code_of_conduct_file", + "oldName": "cntrb_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 20, + "collationSchema": "", + "ordinalPosition": 7, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -22092,23 +22360,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "security_issue_file", + "name": "tool_source", "type": "varchar", "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, - "defaultType": "Others", - "defaultValue": "NULL::character varying", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "security_issue_file", + "oldName": "tool_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 21, + "ordinalPosition": 8, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -22122,23 +22390,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "security_audit_file", + "name": "tool_version", "type": "varchar", "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, - "defaultType": "Others", - "defaultValue": "NULL::character varying", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "security_audit_file", + "oldName": "tool_version", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 22, + "ordinalPosition": 9, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -22152,23 +22420,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "status", + "name": "data_source", "type": "varchar", "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, - "defaultType": "Others", - "defaultValue": "NULL::character varying", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "status", + "oldName": "data_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 23, + "ordinalPosition": 10, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -22182,23 +22450,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "keywords", - "type": "varchar", - "length": 255, + "name": "data_collection_date", + "type": "timestamp", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "Others", - "defaultValue": "NULL::character varying", + "defaultValue": "CURRENT_TIMESTAMP", "comment": "", - "oldName": "keywords", + "oldName": "data_collection_date", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 24, + "collationSchema": "", + "ordinalPosition": 11, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -22209,26 +22477,184 @@ "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false - }, - { + } + ], + "indexes": [ + { + "objectType": "Index_PGSQL", + "name": "pr_meta-cntrbid-idx", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "pr_meta-cntrbid-idx", + "oid": 203818, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "pull_request_meta", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "cntrb_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cntrb_id", + "collationSchema": "" + } + ] + } + ], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "pull_request_meta_pkey", + "fields": [ + "pr_repo_meta_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "pull_request_meta_pkey" + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_pull_request_meta_contributors_2", + "fields": [ + "cntrb_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "contributors", + "referenceFields": [ + "cntrb_id" + ], + "onDelete": "RESTRICT", + "onUpdate": "CASCADE", + "comment": "", + "isMatchFull": false, + "isDeferrable": true, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_pull_request_meta_contributors_2" + }, + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_pull_request_meta_pull_requests_1", + "fields": [ + "pull_request_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "pull_requests", + "referenceFields": [ + "pull_request_id" + ], + "onDelete": "RESTRICT", + "onUpdate": "CASCADE", + "comment": "", + "isMatchFull": false, + "isDeferrable": true, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_pull_request_meta_pull_requests_1" + } + ], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "pull_request_events", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "pull_request_events", + "oid": 190583, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { "objectType": "TableField_PGSQL", - "name": "tool_source", - "type": "varchar", - "length": 255, + "name": "pr_event_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", - "isNullable": true, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_data.pull_request_events_pr_event_id_seq'::regclass)", + "comment": "", + "oldName": "pr_event_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pull_request_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "tool_source", + "oldName": "pull_request_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 25, + "collationSchema": "", + "ordinalPosition": 2, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -22242,23 +22668,53 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_version", + "name": "cntrb_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "cntrb_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "action", "type": "varchar", "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", - "isNullable": true, + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "tool_version", + "oldName": "action", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 26, + "ordinalPosition": 4, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -22272,9 +22728,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_source", + "name": "action_commit_hash", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", @@ -22282,13 +22738,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "data_source", + "oldName": "action_commit_hash", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 27, + "ordinalPosition": 5, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -22302,23 +22758,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_collection_date", + "name": "created_at", "type": "timestamp", "length": 0, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": true, + "isNullable": false, "defaultType": "Others", "defaultValue": "CURRENT_TIMESTAMP", "comment": "", - "oldName": "data_collection_date", + "oldName": "created_at", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 28, + "ordinalPosition": 6, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -22332,7 +22788,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "commit_count", + "name": "issue_event_src_id", "type": "int8", "length": 64, "decimals": 0, @@ -22341,14 +22797,14 @@ "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "", - "oldName": "commit_count", + "comment": "This ID comes from the source. In the case of GitHub, it is the id that is the first field returned from the issue events API", + "oldName": "issue_event_src_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 29, + "ordinalPosition": 7, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -22362,23 +22818,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "issues_count", - "type": "int8", - "length": 64, + "name": "node_id", + "type": "varchar", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "", - "oldName": "issues_count", + "comment": "This should be renamed to issue_event_src_node_id, as its the varchar identifier in GitHub and likely common in other sources as well. However, since it was created before we came to this naming standard and workers are built around it, we have it simply named as node_id. Anywhere you see node_id in the schema, it comes from GitHubs terminology.", + "oldName": "node_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 30, + "collationSchema": "pg_catalog", + "ordinalPosition": 8, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -22392,23 +22848,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "issues_closed", - "type": "int8", - "length": 64, + "name": "node_url", + "type": "varchar", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "issues_closed", + "oldName": "node_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 31, + "collationSchema": "pg_catalog", + "ordinalPosition": 9, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -22422,23 +22878,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "pull_request_count", - "type": "int8", - "length": 64, + "name": "tool_source", + "type": "varchar", + "length": 255, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pull_request_count", + "oldName": "tool_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 32, + "collationSchema": "pg_catalog", + "ordinalPosition": 10, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -22452,23 +22908,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "pull_requests_open", - "type": "int8", - "length": 64, + "name": "tool_version", + "type": "varchar", + "length": 255, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pull_requests_open", + "oldName": "tool_version", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 33, + "collationSchema": "pg_catalog", + "ordinalPosition": 11, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -22482,23 +22938,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "pull_requests_closed", - "type": "int8", - "length": 64, + "name": "data_source", + "type": "varchar", + "length": 255, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pull_requests_closed", + "oldName": "data_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 34, + "collationSchema": "pg_catalog", + "ordinalPosition": 12, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -22512,23 +22968,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "pull_requests_merged", - "type": "int8", - "length": 64, + "name": "data_collection_date", + "type": "timestamp", + "length": 0, "decimals": 0, "dimensions": 0, "collation": "", "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", "comment": "", - "oldName": "pull_requests_merged", + "oldName": "data_collection_date", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 35, + "ordinalPosition": 13, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -22544,7 +23000,7 @@ "indexes": [ { "objectType": "Index_PGSQL", - "name": "repo_info_idx_repo_id_data_date_1x", + "name": "pr_events_ibfk_1", "comment": "", "isClustered": false, "isConcurrently": false, @@ -22555,41 +23011,30 @@ "method": "BTree", "tableSpaceName": "", "constraint": "", - "oldName": "repo_info_idx_repo_id_data_date_1x", - "oid": 203927, + "oldName": "pr_events_ibfk_1", + "oid": 203813, "owner": "augur", "brinPagesPerRange": -1, "ginPendingListLimit": -1, - "tableName": "repo_info", + "tableName": "pull_request_events", "size": "8", "fields": [ { "objectType": "IndexField_PGSQL", - "name": "repo_id", + "name": "pull_request_id", "collation": "", "opClass": "int8_ops", "opClassSchema": "pg_catalog", "order": "ASC", "nullSort": "NULLS LAST", - "oldName": "repo_id", - "collationSchema": "" - }, - { - "objectType": "IndexField_PGSQL", - "name": "data_collection_date", - "collation": "", - "opClass": "timestamp_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "data_collection_date", + "oldName": "pull_request_id", "collationSchema": "" } ] }, { "objectType": "Index_PGSQL", - "name": "repo_info_idx_repo_id_data_datex", + "name": "pr_events_ibfk_2", "comment": "", "isClustered": false, "isConcurrently": false, @@ -22600,34 +23045,23 @@ "method": "BTree", "tableSpaceName": "", "constraint": "", - "oldName": "repo_info_idx_repo_id_data_datex", - "oid": 203929, + "oldName": "pr_events_ibfk_2", + "oid": 203817, "owner": "augur", "brinPagesPerRange": -1, "ginPendingListLimit": -1, - "tableName": "repo_info", + "tableName": "pull_request_events", "size": "8", "fields": [ { "objectType": "IndexField_PGSQL", - "name": "repo_id", + "name": "cntrb_id", "collation": "", "opClass": "int8_ops", "opClassSchema": "pg_catalog", "order": "ASC", "nullSort": "NULLS LAST", - "oldName": "repo_id", - "collationSchema": "" - }, - { - "objectType": "IndexField_PGSQL", - "name": "data_collection_date", - "collation": "", - "opClass": "timestamp_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "data_collection_date", + "oldName": "cntrb_id", "collationSchema": "" } ] @@ -22636,38 +23070,59 @@ "rules": [], "primaryKey": { "objectType": "PrimaryKey_PGSQL", - "name": "repo_info_pkey", + "name": "pr_events_pkey", "fields": [ - "repo_info_id" + "pr_event_id" ], "fillFactor": -1, "indexTablespace": "", "comment": "", "isDeferrable": false, "isDeferred": false, - "oldName": "repo_info_pkey" + "oldName": "pr_events_pkey" }, "foreignKeys": [ { "objectType": "ForeignKey_PGSQL", - "name": "fk_repo_info_repo_1", + "name": "fk_pull_request_events_contributors_1", "fields": [ - "repo_id" + "cntrb_id" ], "referenceSchema": "augur_data", - "referenceTable": "repo", + "referenceTable": "contributors", "referenceFields": [ - "repo_id" + "cntrb_id" ], - "onDelete": "NO ACTION", - "onUpdate": "NO ACTION", + "onDelete": "RESTRICT", + "onUpdate": "CASCADE", "comment": "", "isMatchFull": false, - "isDeferrable": false, + "isDeferrable": true, "isDeferred": false, "sourceCardinality": "ZeroOrManyRelationship", "targetCardinality": "OneAndOnlyOneRelationship", - "oldName": "fk_repo_info_repo_1" + "oldName": "fk_pull_request_events_contributors_1" + }, + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_pull_request_events_pull_requests_1", + "fields": [ + "pull_request_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "pull_requests", + "referenceFields": [ + "pull_request_id" + ], + "onDelete": "RESTRICT", + "onUpdate": "CASCADE", + "comment": "", + "isMatchFull": false, + "isDeferrable": true, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "OneAndOnlyOneRelationship", + "oldName": "fk_pull_request_events_pull_requests_1" } ], "uniques": [], @@ -22679,16 +23134,16 @@ }, { "objectType": "TableNormal_PGSQL", - "name": "repo_insights", - "comment": "This table is output from an analytical worker inside of Augur. It runs through the different metrics on a repository and identifies the five to ten most “interesting” metrics as defined by some kind of delta or other factor. The algorithm is going to evolve. \n\nWorker Design Notes: The idea is that the \"insight worker\" will scan through a bunch of active metrics or \"synthetic metrics\" to list the most important insights. ", + "name": "pull_requests", + "comment": "", "tablespace": "", "isUnlogged": false, "owner": "augur", "inheritFromTables": [], "hasOIDs": false, "fillFactor": -1, - "oldName": "repo_insights", - "oid": 192905, + "oldName": "pull_requests", + "oid": 191527, "rows": 0, "isInheritTables": false, "cluster": "", @@ -22705,7 +23160,7 @@ "fields": [ { "objectType": "TableField_PGSQL", - "name": "ri_id", + "name": "pull_request_id", "type": "int8", "length": 64, "decimals": 0, @@ -22713,9 +23168,9 @@ "collation": "", "isNullable": false, "defaultType": "Others", - "defaultValue": "nextval('augur_data.repo_insights_ri_id_seq'::regclass)", + "defaultValue": "nextval('augur_data.pull_requests_pull_request_id_seq'::regclass)", "comment": "", - "oldName": "ri_id", + "oldName": "pull_request_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -22735,22 +23190,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "repo_id", - "type": "int8", - "length": 64, + "name": "pr_url", + "type": "varchar", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "repo_id", + "oldName": "pr_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 2, "foreignOptions": [], "isIdentity": false, @@ -22765,22 +23220,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "ri_metric", - "type": "varchar", - "length": 0, + "name": "pr_src_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "", - "oldName": "ri_metric", + "comment": "The pr_src_id is unique across all of github.", + "oldName": "pr_src_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 3, "foreignOptions": [], "isIdentity": false, @@ -22795,9 +23250,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "ri_value", + "name": "pr_src_node_id", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", @@ -22805,7 +23260,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "ri_value", + "oldName": "pr_src_node_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -22825,22 +23280,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "ri_date", - "type": "timestamp", + "name": "pr_html_url", + "type": "varchar", "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "ri_date", + "oldName": "pr_html_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 5, "foreignOptions": [], "isIdentity": false, @@ -22855,22 +23310,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "ri_fresh", - "type": "bool", + "name": "pr_diff_url", + "type": "varchar", "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "false if the date is before the statistic that triggered the insight, true if after. This allows us to automatically display only \"fresh insights\" and avoid displaying \"stale insights\". The insight worker will populate this table. ", - "oldName": "ri_fresh", + "comment": "", + "oldName": "pr_diff_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 6, "foreignOptions": [], "isIdentity": false, @@ -22885,7 +23340,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_source", + "name": "pr_patch_url", "type": "varchar", "length": 0, "decimals": 0, @@ -22895,7 +23350,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "tool_source", + "oldName": "pr_patch_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -22915,7 +23370,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_version", + "name": "pr_issue_url", "type": "varchar", "length": 0, "decimals": 0, @@ -22925,7 +23380,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "tool_version", + "oldName": "pr_issue_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -22945,22 +23400,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_source", - "type": "varchar", - "length": 0, + "name": "pr_augur_issue_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "", - "oldName": "data_source", + "comment": "This is to link to the augur stored related issue", + "oldName": "pr_augur_issue_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 9, "foreignOptions": [], "isIdentity": false, @@ -22975,17 +23430,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_collection_date", - "type": "timestamp", - "length": 0, + "name": "pr_src_number", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, "collation": "", "isNullable": true, - "defaultType": "Others", - "defaultValue": "CURRENT_TIMESTAMP", - "comment": "", - "oldName": "data_collection_date", + "defaultType": "None", + "defaultValue": "", + "comment": "The pr_src_number is unique within a repository.", + "oldName": "pr_src_number", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -23005,22 +23460,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "ri_score", - "type": "numeric", + "name": "pr_src_state", + "type": "varchar", "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "ri_score", + "oldName": "pr_src_state", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 11, "foreignOptions": [], "isIdentity": false, @@ -23035,22 +23490,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "ri_field", - "type": "varchar", - "length": 255, + "name": "pr_src_locked", + "type": "bool", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "ri_field", + "oldName": "pr_src_locked", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 12, "foreignOptions": [], "isIdentity": false, @@ -23065,9 +23520,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "ri_detection_method", + "name": "pr_src_title", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", @@ -23075,7 +23530,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "ri_detection_method", + "oldName": "pr_src_title", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -23092,98 +23547,26 @@ "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false - } - ], - "indexes": [], - "rules": [], - "primaryKey": { - "objectType": "PrimaryKey_PGSQL", - "name": "repo_insights_pkey", - "fields": [ - "ri_id" - ], - "fillFactor": -1, - "indexTablespace": "", - "comment": "", - "isDeferrable": false, - "isDeferred": false, - "oldName": "repo_insights_pkey" - }, - "foreignKeys": [ - { - "objectType": "ForeignKey_PGSQL", - "name": "fk_repo_insights_repo_1", - "fields": [ - "repo_id" - ], - "referenceSchema": "augur_data", - "referenceTable": "repo", - "referenceFields": [ - "repo_id" - ], - "onDelete": "NO ACTION", - "onUpdate": "NO ACTION", - "comment": "", - "isMatchFull": false, - "isDeferrable": false, - "isDeferred": false, - "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "ZeroOrOneRelationship", - "oldName": "fk_repo_insights_repo_1" - } - ], - "uniques": [], - "checks": [], - "excludes": [], - "triggers": [], - "partitionKeys": [], - "partitions": [] - }, - { - "objectType": "TableNormal_PGSQL", - "name": "repo_insights_records", - "comment": "", - "tablespace": "", - "isUnlogged": false, - "owner": "augur", - "inheritFromTables": [], - "hasOIDs": false, - "fillFactor": -1, - "oldName": "repo_insights_records", - "oid": 193096, - "rows": 0, - "isInheritTables": false, - "cluster": "", - "ACL": "", - "isPartition": false, - "partitioningStrategy": "None", - "partitionOfSchema": "", - "partitionOfTable": "", - "partitionListValues": [], - "partitionRangeFromValues": [], - "partitionRangeToValues": [], - "foreignServer": "", - "foreignOptionDisplay": "", - "fields": [ + }, { "objectType": "TableField_PGSQL", - "name": "ri_id", + "name": "pr_augur_contributor_id", "type": "int8", "length": 64, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": false, - "defaultType": "Others", - "defaultValue": "nextval('augur_data.repo_insights_records_ri_id_seq'::regclass)", - "comment": "Primary key. ", - "oldName": "ri_id", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "This is to link to the augur contributor record. ", + "oldName": "pr_augur_contributor_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 1, + "ordinalPosition": 14, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -23197,23 +23580,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "repo_id", - "type": "int8", - "length": 64, + "name": "pr_body", + "type": "text", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "Refers to repo table primary key. Will have a foreign key", - "oldName": "repo_id", + "comment": "", + "oldName": "pr_body", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 2, + "collationSchema": "pg_catalog", + "ordinalPosition": 15, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -23227,23 +23610,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "ri_metric", - "type": "varchar", + "name": "pr_created_at", + "type": "timestamp", "length": 0, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "The metric endpoint", - "oldName": "ri_metric", + "comment": "", + "oldName": "pr_created_at", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 3, + "collationSchema": "", + "ordinalPosition": 16, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -23257,23 +23640,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "ri_field", - "type": "varchar", + "name": "pr_updated_at", + "type": "timestamp", "length": 0, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "The field in the metric endpoint", - "oldName": "ri_field", + "comment": "", + "oldName": "pr_updated_at", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 4, + "collationSchema": "", + "ordinalPosition": 17, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -23287,23 +23670,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "ri_value", - "type": "varchar", + "name": "pr_closed_at", + "type": "timestamp", "length": 0, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "The value of the endpoint in ri_field", - "oldName": "ri_value", + "comment": "", + "oldName": "pr_closed_at", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 5, + "collationSchema": "", + "ordinalPosition": 18, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -23317,23 +23700,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "ri_date", + "name": "pr_merged_at", "type": "timestamp", - "length": 6, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "The date the insight is for; in other words, some anomaly occurred on this date. ", - "oldName": "ri_date", + "comment": "", + "oldName": "pr_merged_at", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 6, + "ordinalPosition": 19, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -23347,23 +23730,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "ri_score", - "type": "float8", - "length": 53, + "name": "pr_merge_commit_sha", + "type": "varchar", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "A Score, derived from the algorithm used. ", - "oldName": "ri_score", + "comment": "", + "oldName": "pr_merge_commit_sha", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 7, + "collationSchema": "pg_catalog", + "ordinalPosition": 20, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -23377,23 +23760,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "ri_detection_method", - "type": "varchar", - "length": 0, + "name": "pr_teams", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "A confidence interval or other expression of the type of threshold and the value of a threshold met in order for it to be \"an insight\". Example. \"95% confidence interval\". ", - "oldName": "ri_detection_method", + "comment": "One to many with pull request teams. ", + "oldName": "pr_teams", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 8, + "collationSchema": "", + "ordinalPosition": 21, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -23407,7 +23790,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_source", + "name": "pr_milestone", "type": "varchar", "length": 0, "decimals": 0, @@ -23416,14 +23799,14 @@ "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "Standard Augur Metadata", - "oldName": "tool_source", + "comment": "", + "oldName": "pr_milestone", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 9, + "ordinalPosition": 22, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -23437,7 +23820,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_version", + "name": "pr_commits_url", "type": "varchar", "length": 0, "decimals": 0, @@ -23446,14 +23829,14 @@ "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "Standard Augur Metadata", - "oldName": "tool_version", + "comment": "", + "oldName": "pr_commits_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 10, + "ordinalPosition": 23, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -23467,7 +23850,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_source", + "name": "pr_review_comments_url", "type": "varchar", "length": 0, "decimals": 0, @@ -23476,14 +23859,14 @@ "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "Standard Augur Metadata", - "oldName": "data_source", + "comment": "", + "oldName": "pr_review_comments_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 11, + "ordinalPosition": 24, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -23497,23 +23880,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_collection_date", - "type": "timestamp", - "length": 6, + "name": "pr_review_comment_url", + "type": "varchar", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, - "defaultType": "Others", - "defaultValue": "CURRENT_TIMESTAMP", - "comment": "Standard Augur Metadata", - "oldName": "data_collection_date", + "defaultType": "None", + "defaultValue": "", + "comment": "This is a field with limited utility. It does expose how to access a specific comment if needed with parameters. If the source changes URL structure, it may be useful", + "oldName": "pr_review_comment_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 12, + "collationSchema": "pg_catalog", + "ordinalPosition": 25, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -23524,133 +23907,26 @@ "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false - } - ], - "indexes": [ - { - "objectType": "Index_PGSQL", - "name": "dater", - "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "dater", - "oid": 203716, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "repo_insights_records", - "size": "8", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "ri_date", - "collation": "", - "opClass": "timestamp_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "ri_date", - "collationSchema": "" - } - ] - } - ], - "rules": [], - "primaryKey": { - "objectType": "PrimaryKey_PGSQL", - "name": "repo_insights_records_pkey", - "fields": [ - "ri_id" - ], - "fillFactor": -1, - "indexTablespace": "", - "comment": "", - "isDeferrable": false, - "isDeferred": false, - "oldName": "repo_insights_records_pkey" - }, - "foreignKeys": [ - { - "objectType": "ForeignKey_PGSQL", - "name": "repo_id_ref", - "fields": [ - "repo_id" - ], - "referenceSchema": "augur_data", - "referenceTable": "repo", - "referenceFields": [ - "repo_id" - ], - "onDelete": "SET NULL", - "onUpdate": "CASCADE", - "comment": "", - "isMatchFull": false, - "isDeferrable": false, - "isDeferred": false, - "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "ZeroOrOneRelationship", - "oldName": "repo_id_ref" - } - ], - "uniques": [], - "checks": [], - "excludes": [], - "triggers": [], - "partitionKeys": [], - "partitions": [] - }, - { - "objectType": "TableNormal_PGSQL", - "name": "repo_labor", - "comment": "repo_labor is a derivative of tables used to store scc code and complexity counting statistics that are inputs to labor analysis, which are components of CHAOSS value metric calculations. ", - "tablespace": "", - "isUnlogged": false, - "owner": "augur", - "inheritFromTables": [], - "hasOIDs": false, - "fillFactor": -1, - "oldName": "repo_labor", - "oid": 193547, - "rows": 0, - "isInheritTables": false, - "cluster": "", - "ACL": "", - "isPartition": false, - "partitioningStrategy": "None", - "partitionOfSchema": "", - "partitionOfTable": "", - "partitionListValues": [], - "partitionRangeFromValues": [], - "partitionRangeToValues": [], - "foreignServer": "", - "foreignOptionDisplay": "", - "fields": [ + }, { "objectType": "TableField_PGSQL", - "name": "repo_labor_id", - "type": "int8", - "length": 64, + "name": "pr_comments_url", + "type": "varchar", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", - "isNullable": false, - "defaultType": "Others", - "defaultValue": "nextval('augur_data.repo_labor_repo_labor_id_seq'::regclass)", + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "repo_labor_id", + "oldName": "pr_comments_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 1, + "collationSchema": "pg_catalog", + "ordinalPosition": 26, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -23664,23 +23940,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "repo_id", - "type": "int8", - "length": 64, + "name": "pr_statuses_url", + "type": "varchar", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "repo_id", + "oldName": "pr_statuses_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 2, + "collationSchema": "pg_catalog", + "ordinalPosition": 27, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -23694,23 +23970,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "repo_clone_date", - "type": "timestamp", - "length": 0, + "name": "pr_meta_head_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "", - "oldName": "repo_clone_date", + "comment": "The metadata for the head repo that links to the pull_request_meta table. ", + "oldName": "pr_meta_head_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 3, + "ordinalPosition": 28, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -23724,23 +24000,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "rl_analysis_date", - "type": "timestamp", - "length": 0, + "name": "pr_meta_base_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "", - "oldName": "rl_analysis_date", + "comment": "The metadata for the base repo that links to the pull_request_meta table. ", + "oldName": "pr_meta_base_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 4, + "ordinalPosition": 29, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -23754,23 +24030,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "programming_language", + "name": "pr_src_issue_url", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, - "defaultType": "Others", - "defaultValue": "NULL::character varying", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "programming_language", + "oldName": "pr_src_issue_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 5, + "ordinalPosition": 30, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -23784,23 +24060,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "file_path", + "name": "pr_src_comments_url", "type": "varchar", - "length": 500, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, - "defaultType": "Others", - "defaultValue": "NULL::character varying", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "file_path", + "oldName": "pr_src_comments_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 6, + "ordinalPosition": 31, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -23814,23 +24090,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "file_name", + "name": "pr_src_review_comments_url", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, - "defaultType": "Others", - "defaultValue": "NULL::character varying", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "file_name", + "oldName": "pr_src_review_comments_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 7, + "ordinalPosition": 32, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -23844,23 +24120,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "total_lines", - "type": "int4", - "length": 32, + "name": "pr_src_commits_url", + "type": "varchar", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "total_lines", + "oldName": "pr_src_commits_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 8, + "collationSchema": "pg_catalog", + "ordinalPosition": 33, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -23874,23 +24150,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "code_lines", - "type": "int4", - "length": 32, + "name": "pr_src_statuses_url", + "type": "varchar", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "code_lines", + "oldName": "pr_src_statuses_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 9, + "collationSchema": "pg_catalog", + "ordinalPosition": 34, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -23904,23 +24180,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "comment_lines", - "type": "int4", - "length": 32, + "name": "pr_src_author_association", + "type": "varchar", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "comment_lines", + "oldName": "pr_src_author_association", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 10, + "collationSchema": "pg_catalog", + "ordinalPosition": 35, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -23934,83 +24210,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "blank_lines", - "type": "int4", - "length": 32, - "decimals": 0, - "dimensions": 0, - "collation": "", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "blank_lines", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 11, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "code_complexity", - "type": "int4", - "length": 32, + "name": "tool_source", + "type": "varchar", + "length": 255, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "code_complexity", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 12, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "repo_url", - "type": "varchar", - "length": 500, - "decimals": 0, - "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "Others", - "defaultValue": "NULL::character varying", - "comment": "This is a convenience column to simplify analysis against external datasets", - "oldName": "repo_url", + "oldName": "tool_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 13, + "ordinalPosition": 36, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -24024,7 +24240,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_source", + "name": "tool_version", "type": "varchar", "length": 255, "decimals": 0, @@ -24034,13 +24250,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "tool_source", + "oldName": "tool_version", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 14, + "ordinalPosition": 37, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -24054,7 +24270,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_version", + "name": "data_source", "type": "varchar", "length": 255, "decimals": 0, @@ -24064,13 +24280,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "tool_version", + "oldName": "data_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 15, + "ordinalPosition": 38, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -24084,23 +24300,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_source", - "type": "varchar", - "length": 255, + "name": "data_collection_date", + "type": "timestamp", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", "comment": "", - "oldName": "data_source", + "oldName": "data_collection_date", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 16, + "collationSchema": "", + "ordinalPosition": 39, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -24114,23 +24330,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_collection_date", - "type": "timestamp", - "length": 0, + "name": "repo_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, "collation": "", "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "0", "comment": "", - "oldName": "data_collection_date", + "oldName": "repo_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 17, + "ordinalPosition": 40, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -24143,25 +24359,137 @@ "isIdentityCycle": false } ], - "indexes": [], + "indexes": [ + { + "objectType": "Index_PGSQL", + "name": "id_node", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "id_node", + "oid": 203718, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "pull_requests", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "pr_src_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "DESC", + "nullSort": "NULLS FIRST", + "oldName": "pr_src_id", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "pr_src_node_id", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "DESC", + "nullSort": "NULLS LAST", + "oldName": "pr_src_node_id", + "collationSchema": "pg_catalog" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "pull_requests_idx_repo_id_data_datex", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "pull_requests_idx_repo_id_data_datex", + "oid": 203870, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "pull_requests", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "repo_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "repo_id", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "data_collection_date", + "collation": "", + "opClass": "timestamp_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "data_collection_date", + "collationSchema": "" + } + ] + } + ], "rules": [], "primaryKey": { "objectType": "PrimaryKey_PGSQL", - "name": "repo_labor_pkey", + "name": "pull_requests_pkey", "fields": [ - "repo_labor_id" + "pull_request_id" ], "fillFactor": -1, "indexTablespace": "", "comment": "", "isDeferrable": false, "isDeferred": false, - "oldName": "repo_labor_pkey" + "oldName": "pull_requests_pkey" }, "foreignKeys": [ { "objectType": "ForeignKey_PGSQL", - "name": "fk_repo_labor_repo_1", + "name": "fk_pr_contribs", + "fields": [ + "pr_augur_contributor_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "contributors", + "referenceFields": [ + "cntrb_id" + ], + "onDelete": "RESTRICT", + "onUpdate": "CASCADE", + "comment": "", + "isMatchFull": false, + "isDeferrable": true, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_pr_contribs" + }, + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_pull_requests_repo_1", "fields": [ "repo_id" ], @@ -24170,15 +24498,15 @@ "referenceFields": [ "repo_id" ], - "onDelete": "NO ACTION", - "onUpdate": "NO ACTION", + "onDelete": "RESTRICT", + "onUpdate": "CASCADE", "comment": "", "isMatchFull": false, - "isDeferrable": false, + "isDeferrable": true, "isDeferred": false, "sourceCardinality": "ZeroOrManyRelationship", "targetCardinality": "ZeroOrOneRelationship", - "oldName": "fk_repo_labor_repo_1" + "oldName": "fk_pull_requests_repo_1" } ], "uniques": [], @@ -24190,16 +24518,16 @@ }, { "objectType": "TableNormal_PGSQL", - "name": "repo_meta", - "comment": "Project Languages", + "name": "issue_events", + "comment": "", "tablespace": "", "isUnlogged": false, "owner": "augur", "inheritFromTables": [], "hasOIDs": false, "fillFactor": -1, - "oldName": "repo_meta", - "oid": 193738, + "oldName": "issue_events", + "oid": 188512, "rows": 0, "isInheritTables": false, "cluster": "", @@ -24216,17 +24544,17 @@ "fields": [ { "objectType": "TableField_PGSQL", - "name": "repo_id", + "name": "event_id", "type": "int8", "length": 64, "decimals": 0, "dimensions": 0, "collation": "", "isNullable": false, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "nextval('augur_data.issue_events_event_id_seq'::regclass)", "comment": "", - "oldName": "repo_id", + "oldName": "event_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -24246,17 +24574,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "rmeta_id", + "name": "issue_id", "type": "int8", "length": 64, "decimals": 0, "dimensions": 0, "collation": "", "isNullable": false, - "defaultType": "Others", - "defaultValue": "nextval('augur_data.repo_meta_rmeta_id_seq'::regclass)", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "rmeta_id", + "oldName": "issue_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -24276,22 +24604,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "rmeta_name", - "type": "varchar", - "length": 255, + "name": "cntrb_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", - "isNullable": true, + "collation": "", + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "rmeta_name", + "oldName": "cntrb_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 3, "foreignOptions": [], "isIdentity": false, @@ -24306,17 +24634,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "rmeta_value", + "name": "action", "type": "varchar", "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", - "isNullable": true, - "defaultType": "Others", - "defaultValue": "0", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "rmeta_value", + "oldName": "action", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -24336,9 +24664,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_source", + "name": "action_commit_hash", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", @@ -24346,7 +24674,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "tool_source", + "oldName": "action_commit_hash", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -24366,23 +24694,53 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_version", + "name": "created_at", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", + "comment": "", + "oldName": "created_at", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 6, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "node_id", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "", - "oldName": "tool_version", + "comment": "This should be renamed to issue_event_src_node_id, as its the varchar identifier in GitHub and likely common in other sources as well. However, since it was created before we came to this naming standard and workers are built around it, we have it simply named as node_id. Anywhere you see node_id in the schema, it comes from GitHubs terminology.", + "oldName": "node_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 6, + "ordinalPosition": 7, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -24396,9 +24754,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_source", + "name": "node_url", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", @@ -24406,13 +24764,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "data_source", + "oldName": "node_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 7, + "ordinalPosition": 8, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -24426,23 +24784,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_collection_date", - "type": "timestamp", - "length": 0, + "name": "tool_source", + "type": "varchar", + "length": 255, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "data_collection_date", + "oldName": "tool_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 8, + "collationSchema": "pg_catalog", + "ordinalPosition": 9, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -24453,99 +24811,56 @@ "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false - } - ], - "indexes": [], - "rules": [], - "primaryKey": { - "objectType": "PrimaryKey_PGSQL", - "name": "repo_meta_pkey", - "fields": [ - "rmeta_id", - "repo_id" - ], - "fillFactor": -1, - "indexTablespace": "", - "comment": "", - "isDeferrable": false, - "isDeferred": false, - "oldName": "repo_meta_pkey" - }, - "foreignKeys": [ + }, { - "objectType": "ForeignKey_PGSQL", - "name": "fk_repo_meta_repo_1", - "fields": [ - "repo_id" - ], - "referenceSchema": "augur_data", - "referenceTable": "repo", - "referenceFields": [ - "repo_id" - ], - "onDelete": "NO ACTION", - "onUpdate": "NO ACTION", + "objectType": "TableField_PGSQL", + "name": "tool_version", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", "comment": "", - "isMatchFull": false, - "isDeferrable": false, - "isDeferred": false, - "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "OneAndOnlyOneRelationship", - "oldName": "fk_repo_meta_repo_1" - } - ], - "uniques": [], - "checks": [], - "excludes": [], - "triggers": [], - "partitionKeys": [], - "partitions": [] - }, - { - "objectType": "TableNormal_PGSQL", - "name": "repo_sbom_scans", - "comment": "", - "tablespace": "", - "isUnlogged": false, - "owner": "augur", - "inheritFromTables": [], - "hasOIDs": false, - "fillFactor": -1, - "oldName": "repo_sbom_scans", - "oid": 193871, - "rows": 0, - "isInheritTables": false, - "cluster": "", - "ACL": "", - "isPartition": false, - "partitioningStrategy": "None", - "partitionOfSchema": "", - "partitionOfTable": "", - "partitionListValues": [], - "partitionRangeFromValues": [], - "partitionRangeToValues": [], - "foreignServer": "", - "foreignOptionDisplay": "", - "fields": [ + "oldName": "tool_version", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 10, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, { "objectType": "TableField_PGSQL", - "name": "rsb_id", - "type": "int8", - "length": 64, + "name": "data_source", + "type": "varchar", + "length": 255, "decimals": 0, "dimensions": 0, - "collation": "", - "isNullable": false, - "defaultType": "Others", - "defaultValue": "nextval('augur_data.repo_sbom_scans_rsb_id_seq'::regclass)", + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "rsb_id", + "oldName": "data_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 1, + "collationSchema": "pg_catalog", + "ordinalPosition": 11, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -24559,23 +24874,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "repo_id", - "type": "int4", - "length": 32, + "name": "data_collection_date", + "type": "timestamp", + "length": 0, "decimals": 0, "dimensions": 0, "collation": "", "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", "comment": "", - "oldName": "repo_id", + "oldName": "data_collection_date", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 2, + "ordinalPosition": 12, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -24589,23 +24904,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "sbom_scan", - "type": "json", - "length": 0, + "name": "issue_event_src_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "", - "oldName": "sbom_scan", + "comment": "This ID comes from the source. In the case of GitHub, it is the id that is the first field returned from the issue events API", + "oldName": "issue_event_src_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 3, + "ordinalPosition": 13, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -24618,42 +24933,166 @@ "isIdentityCycle": false } ], - "indexes": [], - "rules": [], - "primaryKey": { - "objectType": "PrimaryKey_PGSQL", - "name": "repo_sbom_scans_pkey", + "indexes": [ + { + "objectType": "Index_PGSQL", + "name": "issue-cntrb-idx2", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "issue-cntrb-idx2", + "oid": 203747, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "issue_events", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "issue_event_src_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "issue_event_src_id", + "collationSchema": "" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "issue_events_ibfk_1", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "issue_events_ibfk_1", + "oid": 203748, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "issue_events", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "issue_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "issue_id", + "collationSchema": "" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "issue_events_ibfk_2", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "issue_events_ibfk_2", + "oid": 203755, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "issue_events", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "cntrb_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cntrb_id", + "collationSchema": "" + } + ] + } + ], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "issue_events_pkey", "fields": [ - "rsb_id" + "event_id" ], "fillFactor": -1, "indexTablespace": "", "comment": "", "isDeferrable": false, "isDeferred": false, - "oldName": "repo_sbom_scans_pkey" + "oldName": "issue_events_pkey" }, "foreignKeys": [ { "objectType": "ForeignKey_PGSQL", - "name": "repo_linker_sbom", + "name": "fk_issue_events_contributors_1", "fields": [ - "repo_id" + "cntrb_id" ], "referenceSchema": "augur_data", - "referenceTable": "repo", + "referenceTable": "contributors", "referenceFields": [ - "repo_id" + "cntrb_id" ], - "onDelete": "CASCADE", + "onDelete": "RESTRICT", "onUpdate": "CASCADE", "comment": "", "isMatchFull": false, - "isDeferrable": false, + "isDeferrable": true, "isDeferred": false, "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "ZeroOrOneRelationship", - "oldName": "repo_linker_sbom" + "targetCardinality": "OneAndOnlyOneRelationship", + "oldName": "fk_issue_events_contributors_1" + }, + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_issue_events_issues_1", + "fields": [ + "issue_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "issues", + "referenceFields": [ + "issue_id" + ], + "onDelete": "RESTRICT", + "onUpdate": "CASCADE", + "comment": "", + "isMatchFull": false, + "isDeferrable": true, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "OneAndOnlyOneRelationship", + "oldName": "fk_issue_events_issues_1" } ], "uniques": [], @@ -24665,16 +25104,16 @@ }, { "objectType": "TableNormal_PGSQL", - "name": "repo_stats", - "comment": "Project Watchers", + "name": "issues", + "comment": "", "tablespace": "", "isUnlogged": false, "owner": "augur", "inheritFromTables": [], "hasOIDs": false, "fillFactor": -1, - "oldName": "repo_stats", - "oid": 193992, + "oldName": "issues", + "oid": 188973, "rows": 0, "isInheritTables": false, "cluster": "", @@ -24691,17 +25130,17 @@ "fields": [ { "objectType": "TableField_PGSQL", - "name": "repo_id", + "name": "issue_id", "type": "int8", "length": 64, "decimals": 0, "dimensions": 0, "collation": "", "isNullable": false, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "nextval('augur_data.issue_seq'::regclass)", "comment": "", - "oldName": "repo_id", + "oldName": "issue_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -24721,17 +25160,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "rstat_id", + "name": "repo_id", "type": "int8", "length": 64, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": false, - "defaultType": "Others", - "defaultValue": "nextval('augur_data.repo_stats_rstat_id_seq'::regclass)", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "rstat_id", + "oldName": "repo_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -24751,22 +25190,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "rstat_name", - "type": "varchar", - "length": 400, + "name": "reporter_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "", - "oldName": "rstat_name", + "comment": "The ID of the person who opened the issue. ", + "oldName": "reporter_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 3, "foreignOptions": [], "isIdentity": false, @@ -24781,7 +25220,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "rstat_value", + "name": "pull_request", "type": "int8", "length": 64, "decimals": 0, @@ -24791,7 +25230,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "rstat_value", + "oldName": "pull_request", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -24811,22 +25250,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_source", - "type": "varchar", - "length": 255, + "name": "pull_request_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "tool_source", + "oldName": "pull_request_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 5, "foreignOptions": [], "isIdentity": false, @@ -24841,22 +25280,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_version", - "type": "varchar", - "length": 255, + "name": "created_at", + "type": "timestamp", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "tool_version", + "oldName": "created_at", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 6, "foreignOptions": [], "isIdentity": false, @@ -24871,9 +25310,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_source", + "name": "issue_title", "type": "varchar", - "length": 255, + "length": 500, "decimals": 0, "dimensions": 0, "collation": "default", @@ -24881,7 +25320,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "data_source", + "oldName": "issue_title", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -24901,22 +25340,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_collection_date", - "type": "timestamp", + "name": "issue_body", + "type": "text", "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "data_collection_date", + "oldName": "issue_body", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 8, "foreignOptions": [], "isIdentity": false, @@ -24928,99 +25367,26 @@ "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false - } - ], - "indexes": [], - "rules": [], - "primaryKey": { - "objectType": "PrimaryKey_PGSQL", - "name": "repo_stats_pkey", - "fields": [ - "rstat_id", - "repo_id" - ], - "fillFactor": -1, - "indexTablespace": "", - "comment": "", - "isDeferrable": false, - "isDeferred": false, - "oldName": "repo_stats_pkey" - }, - "foreignKeys": [ - { - "objectType": "ForeignKey_PGSQL", - "name": "fk_repo_stats_repo_1", - "fields": [ - "repo_id" - ], - "referenceSchema": "augur_data", - "referenceTable": "repo", - "referenceFields": [ - "repo_id" - ], - "onDelete": "NO ACTION", - "onUpdate": "NO ACTION", - "comment": "", - "isMatchFull": false, - "isDeferrable": false, - "isDeferred": false, - "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "OneAndOnlyOneRelationship", - "oldName": "fk_repo_stats_repo_1" - } - ], - "uniques": [], - "checks": [], - "excludes": [], - "triggers": [], - "partitionKeys": [], - "partitions": [] - }, - { - "objectType": "TableNormal_PGSQL", - "name": "repo_test_coverage", - "comment": "", - "tablespace": "", - "isUnlogged": false, - "owner": "augur", - "inheritFromTables": [], - "hasOIDs": false, - "fillFactor": -1, - "oldName": "repo_test_coverage", - "oid": 194167, - "rows": 0, - "isInheritTables": false, - "cluster": "", - "ACL": "", - "isPartition": false, - "partitioningStrategy": "None", - "partitionOfSchema": "", - "partitionOfTable": "", - "partitionListValues": [], - "partitionRangeFromValues": [], - "partitionRangeToValues": [], - "foreignServer": "", - "foreignOptionDisplay": "", - "fields": [ + }, { "objectType": "TableField_PGSQL", - "name": "repo_id", + "name": "cntrb_id", "type": "int8", "length": 64, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": false, - "defaultType": "Others", - "defaultValue": "nextval('augur_data.repo_test_coverage_repo_id_seq'::regclass)", - "comment": "", - "oldName": "repo_id", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "The ID of the person who closed the issue. ", + "oldName": "cntrb_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 1, + "ordinalPosition": 9, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -25034,9 +25400,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "repo_clone_date", - "type": "timestamp", - "length": 0, + "name": "comment_count", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, "collation": "", @@ -25044,13 +25410,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "repo_clone_date", + "oldName": "comment_count", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 2, + "ordinalPosition": 10, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -25064,7 +25430,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "rtc_analysis_date", + "name": "updated_at", "type": "timestamp", "length": 0, "decimals": 0, @@ -25074,13 +25440,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "rtc_analysis_date", + "oldName": "updated_at", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 3, + "ordinalPosition": 11, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -25094,23 +25460,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "programming_language", - "type": "varchar", + "name": "closed_at", + "type": "timestamp", "length": 0, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "programming_language", + "oldName": "closed_at", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 4, + "collationSchema": "", + "ordinalPosition": 12, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -25124,23 +25490,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "file_path", - "type": "varchar", + "name": "due_on", + "type": "timestamp", "length": 0, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "file_path", + "oldName": "due_on", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 5, + "collationSchema": "", + "ordinalPosition": 13, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -25154,9 +25520,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "file_name", + "name": "repository_url", "type": "varchar", - "length": 0, + "length": 4000, "decimals": 0, "dimensions": 0, "collation": "default", @@ -25164,13 +25530,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "file_name", + "oldName": "repository_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 6, + "ordinalPosition": 14, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -25184,9 +25550,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "testing_tool", + "name": "issue_url", "type": "varchar", - "length": 0, + "length": 4000, "decimals": 0, "dimensions": 0, "collation": "default", @@ -25194,13 +25560,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "testing_tool", + "oldName": "issue_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 7, + "ordinalPosition": 15, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -25214,23 +25580,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "file_statement_count", - "type": "int8", - "length": 64, + "name": "labels_url", + "type": "varchar", + "length": 4000, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "file_statement_count", + "oldName": "labels_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 8, + "collationSchema": "pg_catalog", + "ordinalPosition": 16, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -25244,23 +25610,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "file_subroutine_count", - "type": "int8", - "length": 64, + "name": "comments_url", + "type": "varchar", + "length": 4000, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "file_subroutine_count", + "oldName": "comments_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 9, + "collationSchema": "pg_catalog", + "ordinalPosition": 17, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -25274,23 +25640,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "file_statements_tested", - "type": "int8", - "length": 64, + "name": "events_url", + "type": "varchar", + "length": 4000, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "file_statements_tested", + "oldName": "events_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 10, + "collationSchema": "pg_catalog", + "ordinalPosition": 18, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -25304,23 +25670,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "file_subroutines_tested", - "type": "int8", - "length": 64, + "name": "html_url", + "type": "varchar", + "length": 4000, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "file_subroutines_tested", + "oldName": "html_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 11, + "collationSchema": "pg_catalog", + "ordinalPosition": 19, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -25334,9 +25700,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_source", + "name": "issue_state", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", @@ -25344,13 +25710,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "tool_source", + "oldName": "issue_state", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 12, + "ordinalPosition": 20, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -25364,7 +25730,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_version", + "name": "issue_node_id", "type": "varchar", "length": 0, "decimals": 0, @@ -25374,13 +25740,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "tool_version", + "oldName": "issue_node_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 13, + "ordinalPosition": 21, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -25394,23 +25760,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_source", - "type": "varchar", - "length": 0, + "name": "gh_issue_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "data_source", + "oldName": "gh_issue_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 14, + "collationSchema": "", + "ordinalPosition": 22, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -25424,23 +25790,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_collection_date", - "type": "timestamp", - "length": 0, + "name": "gh_user_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, "collation": "", "isNullable": true, - "defaultType": "Others", - "defaultValue": "CURRENT_TIMESTAMP", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "data_collection_date", + "oldName": "gh_user_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 15, + "ordinalPosition": 23, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -25451,98 +25817,26 @@ "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false - } - ], - "indexes": [], - "rules": [], - "primaryKey": { - "objectType": "PrimaryKey_PGSQL", - "name": "repo_test_coverage_pkey", - "fields": [ - "repo_id" - ], - "fillFactor": -1, - "indexTablespace": "", - "comment": "", - "isDeferrable": false, - "isDeferred": false, - "oldName": "repo_test_coverage_pkey" - }, - "foreignKeys": [ - { - "objectType": "ForeignKey_PGSQL", - "name": "fk_repo_test_coverage_repo_1", - "fields": [ - "repo_id" - ], - "referenceSchema": "augur_data", - "referenceTable": "repo", - "referenceFields": [ - "repo_id" - ], - "onDelete": "NO ACTION", - "onUpdate": "NO ACTION", - "comment": "", - "isMatchFull": false, - "isDeferrable": false, - "isDeferred": false, - "sourceCardinality": "ZeroOrOneRelationship", - "targetCardinality": "OneAndOnlyOneRelationship", - "oldName": "fk_repo_test_coverage_repo_1" - } - ], - "uniques": [], - "checks": [], - "excludes": [], - "triggers": [], - "partitionKeys": [], - "partitions": [] - }, - { - "objectType": "TableNormal_PGSQL", - "name": "repo_topic", - "comment": "", - "tablespace": "", - "isUnlogged": false, - "owner": "augur", - "inheritFromTables": [], - "hasOIDs": false, - "fillFactor": -1, - "oldName": "repo_topic", - "oid": 194262, - "rows": 0, - "isInheritTables": false, - "cluster": "", - "ACL": "", - "isPartition": false, - "partitioningStrategy": "None", - "partitionOfSchema": "", - "partitionOfTable": "", - "partitionListValues": [], - "partitionRangeFromValues": [], - "partitionRangeToValues": [], - "foreignServer": "", - "foreignOptionDisplay": "", - "fields": [ + }, { "objectType": "TableField_PGSQL", - "name": "repo_topic_id", - "type": "int8", - "length": 64, + "name": "tool_source", + "type": "varchar", + "length": 255, "decimals": 0, "dimensions": 0, - "collation": "", - "isNullable": false, - "defaultType": "Others", - "defaultValue": "nextval('augur_data.repo_topic_repo_topic_id_seq'::regclass)", + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "repo_topic_id", + "oldName": "tool_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 1, + "collationSchema": "pg_catalog", + "ordinalPosition": 24, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -25556,23 +25850,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "repo_id", - "type": "int4", - "length": 32, + "name": "tool_version", + "type": "varchar", + "length": 255, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "repo_id", + "oldName": "tool_version", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 2, + "collationSchema": "pg_catalog", + "ordinalPosition": 25, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -25586,23 +25880,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "topic_id", - "type": "int4", - "length": 32, + "name": "data_source", + "type": "varchar", + "length": 255, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "topic_id", + "oldName": "data_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 3, + "collationSchema": "pg_catalog", + "ordinalPosition": 26, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -25616,23 +25910,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "topic_prob", - "type": "float8", - "length": 53, + "name": "data_collection_date", + "type": "timestamp", + "length": 0, "decimals": 0, "dimensions": 0, "collation": "", "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", "comment": "", - "oldName": "topic_prob", + "oldName": "data_collection_date", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 4, + "ordinalPosition": 27, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -25646,23 +25940,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_source", - "type": "varchar", - "length": 0, + "name": "gh_issue_number", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "tool_source", + "oldName": "gh_issue_number", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 5, + "collationSchema": "", + "ordinalPosition": 28, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -25673,117 +25967,206 @@ "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false + } + ], + "indexes": [ + { + "objectType": "Index_PGSQL", + "name": "issue-cntrb-dix2", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "issue-cntrb-dix2", + "oid": 203732, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "issues", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "cntrb_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cntrb_id", + "collationSchema": "" + } + ] }, { - "objectType": "TableField_PGSQL", - "name": "tool_version", - "type": "varchar", - "length": 0, - "decimals": 0, - "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "objectType": "Index_PGSQL", + "name": "issues_ibfk_1", "comment": "", - "oldName": "tool_version", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 6, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "issues_ibfk_1", + "oid": 203756, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "issues", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "repo_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "repo_id", + "collationSchema": "" + } + ] }, { - "objectType": "TableField_PGSQL", - "name": "data_source", - "type": "varchar", - "length": 0, - "decimals": 0, - "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "objectType": "Index_PGSQL", + "name": "issues_ibfk_2", "comment": "", - "oldName": "data_source", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 7, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "issues_ibfk_2", + "oid": 203759, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "issues", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "reporter_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "reporter_id", + "collationSchema": "" + } + ] }, { - "objectType": "TableField_PGSQL", - "name": "data_collection_date", - "type": "timestamp", - "length": 0, - "decimals": 0, - "dimensions": 0, - "collation": "", - "isNullable": true, - "defaultType": "Others", - "defaultValue": "CURRENT_TIMESTAMP", + "objectType": "Index_PGSQL", + "name": "issues_ibfk_4", "comment": "", - "oldName": "data_collection_date", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 8, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "issues_ibfk_4", + "oid": 203760, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "issues", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "pull_request_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "pull_request_id", + "collationSchema": "" + } + ] } ], - "indexes": [], "rules": [], "primaryKey": { "objectType": "PrimaryKey_PGSQL", - "name": "repo_topic_pkey", + "name": "issues_pkey", "fields": [ - "repo_topic_id" + "issue_id" ], "fillFactor": -1, "indexTablespace": "", "comment": "", "isDeferrable": false, "isDeferred": false, - "oldName": "repo_topic_pkey" + "oldName": "issues_pkey" }, "foreignKeys": [ { "objectType": "ForeignKey_PGSQL", - "name": "fk_repo_topic_repo_1", + "name": "fk_issues_contributors_1", + "fields": [ + "cntrb_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "contributors", + "referenceFields": [ + "cntrb_id" + ], + "onDelete": "RESTRICT", + "onUpdate": "CASCADE", + "comment": "", + "isMatchFull": false, + "isDeferrable": true, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_issues_contributors_1" + }, + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_issues_contributors_2", + "fields": [ + "reporter_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "contributors", + "referenceFields": [ + "cntrb_id" + ], + "onDelete": "RESTRICT", + "onUpdate": "CASCADE", + "comment": "", + "isMatchFull": false, + "isDeferrable": true, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_issues_contributors_2" + }, + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_issues_repo", "fields": [ "repo_id" ], @@ -25792,15 +26175,15 @@ "referenceFields": [ "repo_id" ], - "onDelete": "NO ACTION", - "onUpdate": "NO ACTION", + "onDelete": "RESTRICT", + "onUpdate": "CASCADE", "comment": "", "isMatchFull": false, - "isDeferrable": false, + "isDeferrable": true, "isDeferred": false, "sourceCardinality": "ZeroOrManyRelationship", "targetCardinality": "ZeroOrOneRelationship", - "oldName": "fk_repo_topic_repo_1" + "oldName": "fk_issues_repo" } ], "uniques": [], @@ -25812,7 +26195,7 @@ }, { "objectType": "TableNormal_PGSQL", - "name": "repos_fetch_log", + "name": "message", "comment": "", "tablespace": "", "isUnlogged": false, @@ -25820,8 +26203,8 @@ "inheritFromTables": [], "hasOIDs": false, "fillFactor": -1, - "oldName": "repos_fetch_log", - "oid": 194327, + "oldName": "message", + "oid": 189724, "rows": 0, "isInheritTables": false, "cluster": "", @@ -25838,23 +26221,53 @@ "fields": [ { "objectType": "TableField_PGSQL", - "name": "repos_id", - "type": "int4", - "length": 32, + "name": "msg_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, "collation": "", "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_data.message_msg_id_seq'::regclass)", + "comment": "", + "oldName": "msg_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "rgls_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "repos_id", + "oldName": "rgls_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 1, + "ordinalPosition": 2, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -25868,23 +26281,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "status", - "type": "varchar", - "length": 128, + "name": "msg_text", + "type": "text", + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", - "isNullable": false, + "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "status", + "oldName": "msg_text", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 2, + "ordinalPosition": 3, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -25898,23 +26311,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "date", + "name": "msg_timestamp", "type": "timestamp", "length": 0, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": false, - "defaultType": "Others", - "defaultValue": "CURRENT_TIMESTAMP", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "date", + "oldName": "msg_timestamp", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 3, + "ordinalPosition": 4, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -25925,140 +26338,72 @@ "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false - } - ], - "indexes": [ - { - "objectType": "Index_PGSQL", - "name": "repos_id,status", - "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "repos_id,status", - "oid": 203942, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "repos_fetch_log", - "size": "8", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "repos_id", - "collation": "", - "opClass": "int4_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "repos_id", - "collationSchema": "" - }, - { - "objectType": "IndexField_PGSQL", - "name": "status", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "status", - "collationSchema": "pg_catalog" - } - ] }, { - "objectType": "Index_PGSQL", - "name": "repos_id,statusops", + "objectType": "TableField_PGSQL", + "name": "msg_sender_email", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "repos_id,statusops", - "oid": 203946, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "repos_fetch_log", - "size": "8", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "repos_id", - "collation": "", - "opClass": "int4_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "repos_id", - "collationSchema": "" - }, - { - "objectType": "IndexField_PGSQL", - "name": "status", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "status", - "collationSchema": "pg_catalog" - } - ] - } - ], - "rules": [], - "foreignKeys": [], - "uniques": [], - "checks": [], - "excludes": [], - "triggers": [], - "partitionKeys": [], - "partitions": [] - }, - { - "objectType": "TableNormal_PGSQL", - "name": "settings", - "comment": "", - "tablespace": "", - "isUnlogged": false, - "owner": "augur", - "inheritFromTables": [], - "hasOIDs": false, - "fillFactor": -1, - "oldName": "settings", - "oid": 194386, - "rows": 13, - "isInheritTables": false, - "cluster": "", - "ACL": "", - "isPartition": false, - "partitioningStrategy": "None", - "partitionOfSchema": "", - "partitionOfTable": "", - "partitionListValues": [], - "partitionRangeFromValues": [], - "partitionRangeToValues": [], - "foreignServer": "", - "foreignOptionDisplay": "", - "fields": [ + "oldName": "msg_sender_email", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 5, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, { "objectType": "TableField_PGSQL", - "name": "id", - "type": "int4", - "length": 32, + "name": "msg_header", + "type": "varchar", + "length": 4000, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "msg_header", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 6, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pltfrm_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, "collation": "", @@ -26066,13 +26411,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "id", + "oldName": "pltfrm_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 1, + "ordinalPosition": 7, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -26086,23 +26431,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "setting", + "name": "tool_source", "type": "varchar", - "length": 32, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", - "isNullable": false, + "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "setting", + "oldName": "tool_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 2, + "ordinalPosition": 8, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -26116,23 +26461,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "value", + "name": "tool_version", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", - "isNullable": false, + "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "value", + "oldName": "tool_version", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 3, + "ordinalPosition": 9, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -26146,23 +26491,83 @@ }, { "objectType": "TableField_PGSQL", - "name": "last_modified", + "name": "data_source", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "data_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 10, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_collection_date", "type": "timestamp", "length": 0, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": false, + "isNullable": true, "defaultType": "Others", "defaultValue": "CURRENT_TIMESTAMP", "comment": "", - "oldName": "last_modified", + "oldName": "data_collection_date", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 4, + "ordinalPosition": 11, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "cntrb_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "Not populated for mailing lists. Populated for GitHub issues. ", + "oldName": "cntrb_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 12, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -26175,23 +26580,241 @@ "isIdentityCycle": false } ], - "indexes": [], + "indexes": [ + { + "objectType": "Index_PGSQL", + "name": "messagegrouper", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": true, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "messagegrouper", + "oid": 203787, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "message", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "msg_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "msg_id", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "rgls_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "rgls_id", + "collationSchema": "" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "msg-cntrb-id-idx", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "msg-cntrb-id-idx", + "oid": 203788, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "message", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "cntrb_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cntrb_id", + "collationSchema": "" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "platformgrouper", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "platformgrouper", + "oid": 203792, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "message", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "msg_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "msg_id", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "pltfrm_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "pltfrm_id", + "collationSchema": "" + } + ] + } + ], "rules": [], "primaryKey": { "objectType": "PrimaryKey_PGSQL", - "name": "settings_pkey", + "name": "message_pkey", "fields": [ - "id" + "msg_id" ], "fillFactor": -1, "indexTablespace": "", "comment": "", "isDeferrable": false, "isDeferred": false, - "oldName": "settings_pkey" + "oldName": "message_pkey" }, - "foreignKeys": [], - "uniques": [], + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_message_contributors_1", + "fields": [ + "cntrb_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "contributors", + "referenceFields": [ + "cntrb_id" + ], + "onDelete": "RESTRICT", + "onUpdate": "CASCADE", + "comment": "", + "isMatchFull": false, + "isDeferrable": true, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_message_contributors_1" + }, + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_message_platform_1", + "fields": [ + "pltfrm_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "platform", + "referenceFields": [ + "pltfrm_id" + ], + "onDelete": "RESTRICT", + "onUpdate": "CASCADE", + "comment": "", + "isMatchFull": false, + "isDeferrable": true, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "OneAndOnlyOneRelationship", + "oldName": "fk_message_platform_1" + }, + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_message_repo_groups_list_serve_1", + "fields": [ + "rgls_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "repo_groups_list_serve", + "referenceFields": [ + "rgls_id" + ], + "onDelete": "RESTRICT", + "onUpdate": "CASCADE", + "comment": "", + "isMatchFull": false, + "isDeferrable": true, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_message_repo_groups_list_serve_1" + } + ], + "uniques": [ + { + "objectType": "Unique_PGSQL", + "name": "REPOGROUPLISTER", + "fields": [ + "msg_id", + "rgls_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "REPOGROUPLISTER" + }, + { + "objectType": "Unique_PGSQL", + "name": "platformer", + "fields": [ + "msg_id", + "pltfrm_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "platformer" + } + ], "checks": [], "excludes": [], "triggers": [], @@ -26200,16 +26823,16 @@ }, { "objectType": "TableNormal_PGSQL", - "name": "topic_words", - "comment": "", + "name": "contributors_aliases", + "comment": "An alias will need to be created for every contributor in this model, otherwise we will have to look in 2 places. ", "tablespace": "", "isUnlogged": false, "owner": "augur", "inheritFromTables": [], "hasOIDs": false, "fillFactor": -1, - "oldName": "topic_words", - "oid": 194532, + "oldName": "contributors_aliases", + "oid": 187257, "rows": 0, "isInheritTables": false, "cluster": "", @@ -26226,17 +26849,17 @@ "fields": [ { "objectType": "TableField_PGSQL", - "name": "topic_words_id", + "name": "cntrb_id", "type": "int8", "length": 64, "decimals": 0, "dimensions": 0, "collation": "", "isNullable": false, - "defaultType": "Others", - "defaultValue": "nextval('augur_data.topic_words_topic_words_id_seq'::regclass)", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "topic_words_id", + "oldName": "cntrb_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -26256,17 +26879,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "topic_id", + "name": "cntrb_a_id", "type": "int8", "length": 64, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_data.contributors_aliases_cntrb_a_id_seq'::regclass)", "comment": "", - "oldName": "topic_id", + "oldName": "cntrb_a_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -26286,17 +26909,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "word", + "name": "canonical_email", "type": "varchar", "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", - "isNullable": true, + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "word", + "oldName": "canonical_email", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -26316,22 +26939,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "word_prob", - "type": "float8", - "length": 53, + "name": "alias_email", + "type": "varchar", + "length": 128, "decimals": 0, "dimensions": 0, - "collation": "", - "isNullable": true, + "collation": "default", + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "word_prob", + "oldName": "alias_email", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 4, "foreignOptions": [], "isIdentity": false, @@ -26346,22 +26969,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_source", - "type": "varchar", - "length": 0, + "name": "cntrb_active", + "type": "int2", + "length": 16, "decimals": 0, "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "tool_source", - "typeOID": 1, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "1", + "comment": "", + "oldName": "cntrb_active", + "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 5, "foreignOptions": [], "isIdentity": false, @@ -26374,11 +26997,71 @@ "hasNoIdentityMaxValue": false, "isIdentityCycle": false }, + { + "objectType": "TableField_PGSQL", + "name": "cntrb_last_modified", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", + "comment": "", + "oldName": "cntrb_last_modified", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 6, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_source", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 7, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, { "objectType": "TableField_PGSQL", "name": "tool_version", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", @@ -26392,7 +27075,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 6, + "ordinalPosition": 8, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -26408,7 +27091,7 @@ "objectType": "TableField_PGSQL", "name": "data_source", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", @@ -26422,7 +27105,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 7, + "ordinalPosition": 9, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -26452,7 +27135,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 8, + "ordinalPosition": 10, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -26465,22 +27148,225 @@ "isIdentityCycle": false } ], - "indexes": [], + "indexes": [ + { + "objectType": "Index_PGSQL", + "name": "alias,active", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "alias,active", + "oid": 203516, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "contributors_aliases", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "alias_email", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "alias_email", + "collationSchema": "pg_catalog" + }, + { + "objectType": "IndexField_PGSQL", + "name": "cntrb_active", + "collation": "", + "opClass": "int2_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cntrb_active", + "collationSchema": "" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "canonical,alias", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": true, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "canonical,alias", + "oid": 203538, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "contributors_aliases", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "canonical_email", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "canonical_email", + "collationSchema": "pg_catalog" + }, + { + "objectType": "IndexField_PGSQL", + "name": "alias_email", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "alias_email", + "collationSchema": "pg_catalog" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "issue-alias-cntrb-idx1", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "issue-alias-cntrb-idx1", + "oid": 203725, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "contributors_aliases", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "cntrb_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cntrb_id", + "collationSchema": "" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "issue-alias-cntrb-idx2", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "issue-alias-cntrb-idx2", + "oid": 203728, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "contributors_aliases", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "cntrb_a_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cntrb_a_id", + "collationSchema": "" + } + ] + } + ], "rules": [], "primaryKey": { "objectType": "PrimaryKey_PGSQL", - "name": "topic_words_pkey", + "name": "contributors_aliases_pkey", "fields": [ - "topic_words_id" + "cntrb_id", + "cntrb_a_id" ], "fillFactor": -1, "indexTablespace": "", "comment": "", "isDeferrable": false, "isDeferred": false, - "oldName": "topic_words_pkey" + "oldName": "contributors_aliases_pkey" }, - "foreignKeys": [], + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_alias_id", + "fields": [ + "cntrb_a_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "contributors", + "referenceFields": [ + "cntrb_id" + ], + "onDelete": "CASCADE", + "onUpdate": "CASCADE", + "comment": "", + "isMatchFull": false, + "isDeferrable": true, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "OneAndOnlyOneRelationship", + "oldName": "fk_alias_id" + }, + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_contributors_aliases_contributors_1", + "fields": [ + "cntrb_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "contributors", + "referenceFields": [ + "cntrb_id" + ], + "onDelete": "CASCADE", + "onUpdate": "CASCADE", + "comment": "", + "isMatchFull": false, + "isDeferrable": true, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "OneAndOnlyOneRelationship", + "oldName": "fk_contributors_aliases_contributors_1" + } + ], "uniques": [], "checks": [], "excludes": [], @@ -26490,7 +27376,7 @@ }, { "objectType": "TableNormal_PGSQL", - "name": "unknown_cache", + "name": "pull_request_reviewers", "comment": "", "tablespace": "", "isUnlogged": false, @@ -26498,8 +27384,8 @@ "inheritFromTables": [], "hasOIDs": false, "fillFactor": -1, - "oldName": "unknown_cache", - "oid": 194612, + "oldName": "pull_request_reviewers", + "oid": 191237, "rows": 0, "isInheritTables": false, "cluster": "", @@ -26516,22 +27402,22 @@ "fields": [ { "objectType": "TableField_PGSQL", - "name": "type", - "type": "varchar", - "length": 10, + "name": "pr_reviewer_map_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": false, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "nextval('augur_data.pull_request_reviewers_pr_reviewer_map_id_seq'::regclass)", "comment": "", - "oldName": "type", + "oldName": "pr_reviewer_map_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 1, "foreignOptions": [], "isIdentity": false, @@ -26546,17 +27432,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "repo_group_id", - "type": "int4", - "length": 32, + "name": "pull_request_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": false, + "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "repo_group_id", + "oldName": "pull_request_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -26576,22 +27462,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "email", - "type": "varchar", - "length": 128, + "name": "cntrb_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", - "isNullable": false, + "collation": "", + "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "email", + "oldName": "cntrb_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 3, "foreignOptions": [], "isIdentity": false, @@ -26606,53 +27492,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "domain", - "type": "varchar", - "length": 128, - "decimals": 0, - "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "Others", - "defaultValue": "'NULL'::character varying", - "comment": "", - "oldName": "domain", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 4, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "added", + "name": "pr_reviewer_src_id", "type": "int8", "length": 64, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": false, + "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "added", + "oldName": "pr_reviewer_src_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 5, + "ordinalPosition": 8, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -26682,7 +27538,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 6, + "ordinalPosition": 4, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -26712,7 +27568,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 7, + "ordinalPosition": 5, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -26742,7 +27598,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 8, + "ordinalPosition": 6, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -26772,7 +27628,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 9, + "ordinalPosition": 7, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -26788,7 +27644,7 @@ "indexes": [ { "objectType": "Index_PGSQL", - "name": "type,projects_id", + "name": "pr-reviewers-cntrb-idx1", "comment": "", "isClustered": false, "isConcurrently": false, @@ -26799,41 +27655,86 @@ "method": "BTree", "tableSpaceName": "", "constraint": "", - "oldName": "type,projects_id", - "oid": 203971, + "oldName": "pr-reviewers-cntrb-idx1", + "oid": 203802, "owner": "augur", "brinPagesPerRange": -1, "ginPendingListLimit": -1, - "tableName": "unknown_cache", + "tableName": "pull_request_reviewers", "size": "8", "fields": [ { "objectType": "IndexField_PGSQL", - "name": "type", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "type", - "collationSchema": "pg_catalog" - }, - { - "objectType": "IndexField_PGSQL", - "name": "repo_group_id", + "name": "cntrb_id", "collation": "", - "opClass": "int4_ops", + "opClass": "int8_ops", "opClassSchema": "pg_catalog", "order": "ASC", "nullSort": "NULLS LAST", - "oldName": "repo_group_id", + "oldName": "cntrb_id", "collationSchema": "" } ] } ], "rules": [], - "foreignKeys": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "pull_request_reviewers_pkey", + "fields": [ + "pr_reviewer_map_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "pull_request_reviewers_pkey" + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_pull_request_reviewers_contributors_1", + "fields": [ + "cntrb_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "contributors", + "referenceFields": [ + "cntrb_id" + ], + "onDelete": "RESTRICT", + "onUpdate": "CASCADE", + "comment": "", + "isMatchFull": false, + "isDeferrable": true, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_pull_request_reviewers_contributors_1" + }, + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_pull_request_reviewers_pull_requests_1", + "fields": [ + "pull_request_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "pull_requests", + "referenceFields": [ + "pull_request_id" + ], + "onDelete": "RESTRICT", + "onUpdate": "CASCADE", + "comment": "", + "isMatchFull": false, + "isDeferrable": true, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_pull_request_reviewers_pull_requests_1" + } + ], "uniques": [], "checks": [], "excludes": [], @@ -26843,7 +27744,7 @@ }, { "objectType": "TableNormal_PGSQL", - "name": "utility_log", + "name": "repo_info", "comment": "", "tablespace": "", "isUnlogged": false, @@ -26851,8 +27752,8 @@ "inheritFromTables": [], "hasOIDs": false, "fillFactor": -1, - "oldName": "utility_log", - "oid": 194757, + "oldName": "repo_info", + "oid": 192746, "rows": 0, "isInheritTables": false, "cluster": "", @@ -26869,7 +27770,7 @@ "fields": [ { "objectType": "TableField_PGSQL", - "name": "id", + "name": "repo_info_id", "type": "int8", "length": 64, "decimals": 0, @@ -26877,9 +27778,9 @@ "collation": "", "isNullable": false, "defaultType": "Others", - "defaultValue": "nextval('augur_data.utility_log_id_seq1'::regclass)", + "defaultValue": "nextval('augur_data.repo_info_repo_info_id_seq'::regclass)", "comment": "", - "oldName": "id", + "oldName": "repo_info_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -26899,22 +27800,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "level", - "type": "varchar", - "length": 8, + "name": "repo_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "level", + "oldName": "repo_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 2, "foreignOptions": [], "isIdentity": false, @@ -26929,22 +27830,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "status", - "type": "varchar", + "name": "last_updated", + "type": "timestamp", "length": 0, "decimals": 0, "dimensions": 0, - "collation": "default", - "isNullable": false, - "defaultType": "None", - "defaultValue": "", + "collation": "", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "NULL::timestamp without time zone", "comment": "", - "oldName": "status", + "oldName": "last_updated", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 3, "foreignOptions": [], "isIdentity": false, @@ -26959,22 +27860,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "attempted", - "type": "timestamp", - "length": 0, - "decimals": 0, - "dimensions": 0, - "collation": "", - "isNullable": false, + "name": "issues_enabled", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, "defaultType": "Others", - "defaultValue": "CURRENT_TIMESTAMP", + "defaultValue": "NULL::character varying", "comment": "", - "oldName": "attempted", + "oldName": "issues_enabled", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 4, "foreignOptions": [], "isIdentity": false, @@ -26986,76 +27887,26 @@ "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false - } - ], - "indexes": [], - "rules": [], - "primaryKey": { - "objectType": "PrimaryKey_PGSQL", - "name": "utility_log_pkey", - "fields": [ - "id" - ], - "fillFactor": -1, - "indexTablespace": "", - "comment": "", - "isDeferrable": false, - "isDeferred": false, - "oldName": "utility_log_pkey" - }, - "foreignKeys": [], - "uniques": [], - "checks": [], - "excludes": [], - "triggers": [], - "partitionKeys": [], - "partitions": [] - }, - { - "objectType": "TableNormal_PGSQL", - "name": "working_commits", - "comment": "", - "tablespace": "", - "isUnlogged": false, - "owner": "augur", - "inheritFromTables": [], - "hasOIDs": false, - "fillFactor": -1, - "oldName": "working_commits", - "oid": 194888, - "rows": 0, - "isInheritTables": false, - "cluster": "", - "ACL": "", - "isPartition": false, - "partitioningStrategy": "None", - "partitionOfSchema": "", - "partitionOfTable": "", - "partitionListValues": [], - "partitionRangeFromValues": [], - "partitionRangeToValues": [], - "foreignServer": "", - "foreignOptionDisplay": "", - "fields": [ + }, { "objectType": "TableField_PGSQL", - "name": "repos_id", + "name": "open_issues", "type": "int4", "length": 32, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": false, + "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "repos_id", + "oldName": "open_issues", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 1, + "ordinalPosition": 5, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -27069,23 +27920,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "working_commit", + "name": "pull_requests_enabled", "type": "varchar", - "length": 40, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, "defaultType": "Others", - "defaultValue": "'NULL'::character varying", + "defaultValue": "NULL::character varying", "comment": "", - "oldName": "working_commit", + "oldName": "pull_requests_enabled", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 2, + "ordinalPosition": 6, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -27096,63 +27947,26 @@ "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false - } - ], - "indexes": [], - "rules": [], - "foreignKeys": [], - "uniques": [], - "checks": [], - "excludes": [], - "triggers": [], - "partitionKeys": [], - "partitions": [] - }, - { - "objectType": "TableNormal_PGSQL", - "name": "pull_request_reviews", - "comment": "", - "tablespace": "", - "isUnlogged": false, - "owner": "augur", - "inheritFromTables": [], - "hasOIDs": false, - "fillFactor": -1, - "oldName": "pull_request_reviews", - "oid": 191281, - "rows": 0, - "isInheritTables": false, - "cluster": "", - "ACL": "", - "isPartition": false, - "partitioningStrategy": "None", - "partitionOfSchema": "", - "partitionOfTable": "", - "partitionListValues": [], - "partitionRangeFromValues": [], - "partitionRangeToValues": [], - "foreignServer": "", - "foreignOptionDisplay": "", - "fields": [ + }, { "objectType": "TableField_PGSQL", - "name": "pr_review_id", - "type": "int8", - "length": 64, + "name": "wiki_enabled", + "type": "varchar", + "length": 255, "decimals": 0, "dimensions": 0, - "collation": "", - "isNullable": false, + "collation": "default", + "isNullable": true, "defaultType": "Others", - "defaultValue": "nextval('augur_data.pull_request_reviews_pr_review_id_seq'::regclass)", + "defaultValue": "NULL::character varying", "comment": "", - "oldName": "pr_review_id", + "oldName": "wiki_enabled", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 1, + "collationSchema": "pg_catalog", + "ordinalPosition": 7, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -27166,23 +27980,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "pull_request_id", - "type": "int8", - "length": 64, + "name": "pages_enabled", + "type": "varchar", + "length": 255, "decimals": 0, "dimensions": 0, - "collation": "", - "isNullable": false, - "defaultType": "None", - "defaultValue": "", + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "NULL::character varying", "comment": "", - "oldName": "pull_request_id", + "oldName": "pages_enabled", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 2, + "collationSchema": "pg_catalog", + "ordinalPosition": 8, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -27196,23 +28010,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "cntrb_id", - "type": "int8", - "length": 64, + "name": "fork_count", + "type": "int4", + "length": 32, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": false, + "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "cntrb_id", + "oldName": "fork_count", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 3, + "ordinalPosition": 9, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -27226,23 +28040,53 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_review_author_association", + "name": "default_branch", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, + "defaultType": "Others", + "defaultValue": "NULL::character varying", + "comment": "", + "oldName": "default_branch", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 10, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "watchers_count", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_review_author_association", + "oldName": "watchers_count", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 4, + "collationSchema": "", + "ordinalPosition": 11, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -27256,23 +28100,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_review_state", - "type": "varchar", - "length": 0, + "name": "UUID", + "type": "int4", + "length": 32, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_review_state", + "oldName": "UUID", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 5, + "collationSchema": "", + "ordinalPosition": 12, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -27286,23 +28130,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_review_body", + "name": "license", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "NULL::character varying", "comment": "", - "oldName": "pr_review_body", + "oldName": "license", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 6, + "ordinalPosition": 13, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -27316,9 +28160,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_review_submitted_at", - "type": "timestamp", - "length": 6, + "name": "stars_count", + "type": "int4", + "length": 32, "decimals": 0, "dimensions": 0, "collation": "", @@ -27326,13 +28170,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_review_submitted_at", + "oldName": "stars_count", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 7, + "ordinalPosition": 14, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -27346,9 +28190,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_review_src_id", - "type": "int8", - "length": 64, + "name": "committers_count", + "type": "int4", + "length": 32, "decimals": 0, "dimensions": 0, "collation": "", @@ -27356,13 +28200,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_review_src_id", + "oldName": "committers_count", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 8, + "ordinalPosition": 15, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -27376,9 +28220,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_review_node_id", + "name": "issue_contributors_count", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", @@ -27386,13 +28230,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_review_node_id", + "oldName": "issue_contributors_count", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 9, + "ordinalPosition": 16, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -27406,23 +28250,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_review_html_url", + "name": "changelog_file", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "NULL::character varying", "comment": "", - "oldName": "pr_review_html_url", + "oldName": "changelog_file", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 10, + "ordinalPosition": 17, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -27436,23 +28280,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_review_pull_request_url", + "name": "contributing_file", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "NULL::character varying", "comment": "", - "oldName": "pr_review_pull_request_url", + "oldName": "contributing_file", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 11, + "ordinalPosition": 18, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -27466,23 +28310,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_review_commit_id", + "name": "license_file", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "NULL::character varying", "comment": "", - "oldName": "pr_review_commit_id", + "oldName": "license_file", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 12, + "ordinalPosition": 19, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -27496,23 +28340,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_source", + "name": "code_of_conduct_file", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "NULL::character varying", "comment": "", - "oldName": "tool_source", + "oldName": "code_of_conduct_file", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 13, + "ordinalPosition": 20, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -27526,23 +28370,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_version", + "name": "security_issue_file", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "NULL::character varying", "comment": "", - "oldName": "tool_version", + "oldName": "security_issue_file", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 14, + "ordinalPosition": 21, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -27556,23 +28400,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_source", + "name": "security_audit_file", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "NULL::character varying", "comment": "", - "oldName": "data_source", + "oldName": "security_audit_file", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 15, + "ordinalPosition": 22, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -27586,23 +28430,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_collection_date", - "type": "timestamp", - "length": 0, + "name": "status", + "type": "varchar", + "length": 255, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "Others", - "defaultValue": "CURRENT_TIMESTAMP", + "defaultValue": "NULL::character varying", "comment": "", - "oldName": "data_collection_date", + "oldName": "status", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 16, + "collationSchema": "pg_catalog", + "ordinalPosition": 23, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -27613,119 +28457,26 @@ "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false - } - ], - "indexes": [], - "rules": [], - "primaryKey": { - "objectType": "PrimaryKey_PGSQL", - "name": "pull_request_review_id", - "fields": [ - "pr_review_id" - ], - "fillFactor": -1, - "indexTablespace": "", - "comment": "", - "isDeferrable": false, - "isDeferred": false, - "oldName": "pull_request_review_id" - }, - "foreignKeys": [ - { - "objectType": "ForeignKey_PGSQL", - "name": "fk_pull_request_reviews_contributors_1", - "fields": [ - "cntrb_id" - ], - "referenceSchema": "augur_data", - "referenceTable": "contributors", - "referenceFields": [ - "cntrb_id" - ], - "onDelete": "RESTRICT", - "onUpdate": "CASCADE", - "comment": "", - "isMatchFull": false, - "isDeferrable": true, - "isDeferred": false, - "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "OneAndOnlyOneRelationship", - "oldName": "fk_pull_request_reviews_contributors_1" }, - { - "objectType": "ForeignKey_PGSQL", - "name": "fk_pull_request_reviews_pull_requests_1", - "fields": [ - "pull_request_id" - ], - "referenceSchema": "augur_data", - "referenceTable": "pull_requests", - "referenceFields": [ - "pull_request_id" - ], - "onDelete": "RESTRICT", - "onUpdate": "CASCADE", - "comment": "", - "isMatchFull": false, - "isDeferrable": true, - "isDeferred": false, - "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "OneAndOnlyOneRelationship", - "oldName": "fk_pull_request_reviews_pull_requests_1" - } - ], - "uniques": [], - "checks": [], - "excludes": [], - "triggers": [], - "partitionKeys": [], - "partitions": [] - }, - { - "objectType": "TableNormal_PGSQL", - "name": "pull_request_repo", - "comment": "This table is for storing information about forks that exist as part of a pull request. Generally we do not want to track these like ordinary repositories. ", - "tablespace": "", - "isUnlogged": false, - "owner": "augur", - "inheritFromTables": [], - "hasOIDs": false, - "fillFactor": -1, - "oldName": "pull_request_repo", - "oid": 190990, - "rows": 0, - "isInheritTables": false, - "cluster": "", - "ACL": "", - "isPartition": false, - "partitioningStrategy": "None", - "partitionOfSchema": "", - "partitionOfTable": "", - "partitionListValues": [], - "partitionRangeFromValues": [], - "partitionRangeToValues": [], - "foreignServer": "", - "foreignOptionDisplay": "", - "fields": [ { "objectType": "TableField_PGSQL", - "name": "pr_repo_id", - "type": "int8", - "length": 64, + "name": "keywords", + "type": "varchar", + "length": 255, "decimals": 0, "dimensions": 0, - "collation": "", - "isNullable": false, + "collation": "default", + "isNullable": true, "defaultType": "Others", - "defaultValue": "nextval('augur_data.pull_request_repo_pr_repo_id_seq'::regclass)", + "defaultValue": "NULL::character varying", "comment": "", - "oldName": "pr_repo_id", + "oldName": "keywords", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 1, + "collationSchema": "pg_catalog", + "ordinalPosition": 24, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -27739,7 +28490,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_repo_meta_id", + "name": "commit_count", "type": "int8", "length": 64, "decimals": 0, @@ -27749,13 +28500,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_repo_meta_id", + "oldName": "commit_count", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 2, + "ordinalPosition": 29, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -27769,23 +28520,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_repo_head_or_base", - "type": "varchar", - "length": 0, + "name": "issues_count", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "For ease of validation checking, we should determine if the repository referenced is the head or base of the pull request. Each pull request should have one and only one of these, which is not enforcable easily in the database.", - "oldName": "pr_repo_head_or_base", + "comment": "", + "oldName": "issues_count", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 3, + "collationSchema": "", + "ordinalPosition": 30, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -27799,7 +28550,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_src_repo_id", + "name": "issues_closed", "type": "int8", "length": 64, "decimals": 0, @@ -27809,13 +28560,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_src_repo_id", + "oldName": "issues_closed", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 4, + "ordinalPosition": 31, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -27829,23 +28580,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_src_node_id", - "type": "varchar", - "length": 0, + "name": "pull_request_count", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_src_node_id", + "oldName": "pull_request_count", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 5, + "collationSchema": "", + "ordinalPosition": 32, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -27859,53 +28610,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_repo_name", - "type": "varchar", - "length": 0, - "decimals": 0, - "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "pr_repo_name", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 6, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "pr_repo_full_name", - "type": "varchar", - "length": 0, + "name": "pull_requests_open", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_repo_full_name", + "oldName": "pull_requests_open", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 7, + "collationSchema": "", + "ordinalPosition": 33, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -27919,9 +28640,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_repo_private_bool", - "type": "bool", - "length": 0, + "name": "pull_requests_closed", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, "collation": "", @@ -27929,13 +28650,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_repo_private_bool", + "oldName": "pull_requests_closed", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 8, + "ordinalPosition": 34, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -27949,7 +28670,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_cntrb_id", + "name": "pull_requests_merged", "type": "int8", "length": 64, "decimals": 0, @@ -27959,13 +28680,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_cntrb_id", + "oldName": "pull_requests_merged", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 9, + "ordinalPosition": 35, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -27995,7 +28716,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 10, + "ordinalPosition": 25, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -28025,7 +28746,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 11, + "ordinalPosition": 26, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -28055,7 +28776,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 12, + "ordinalPosition": 27, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -28085,7 +28806,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 13, + "ordinalPosition": 28, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -28101,7 +28822,7 @@ "indexes": [ { "objectType": "Index_PGSQL", - "name": "pr-cntrb-idx-repo", + "name": "repo_info_idx_repo_id_data_date_1x", "comment": "", "isClustered": false, "isConcurrently": false, @@ -28112,23 +28833,79 @@ "method": "BTree", "tableSpaceName": "", "constraint": "", - "oldName": "pr-cntrb-idx-repo", - "oid": 203793, + "oldName": "repo_info_idx_repo_id_data_date_1x", + "oid": 203927, "owner": "augur", "brinPagesPerRange": -1, "ginPendingListLimit": -1, - "tableName": "pull_request_repo", + "tableName": "repo_info", "size": "8", "fields": [ { "objectType": "IndexField_PGSQL", - "name": "pr_cntrb_id", + "name": "repo_id", "collation": "", "opClass": "int8_ops", "opClassSchema": "pg_catalog", "order": "ASC", "nullSort": "NULLS LAST", - "oldName": "pr_cntrb_id", + "oldName": "repo_id", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "data_collection_date", + "collation": "", + "opClass": "timestamp_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "data_collection_date", + "collationSchema": "" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "repo_info_idx_repo_id_data_datex", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "repo_info_idx_repo_id_data_datex", + "oid": 203929, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "repo_info", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "repo_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "repo_id", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "data_collection_date", + "collation": "", + "opClass": "timestamp_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "data_collection_date", "collationSchema": "" } ] @@ -28137,59 +28914,38 @@ "rules": [], "primaryKey": { "objectType": "PrimaryKey_PGSQL", - "name": "pull_request_repo_pkey", + "name": "repo_info_pkey", "fields": [ - "pr_repo_id" + "repo_info_id" ], "fillFactor": -1, "indexTablespace": "", "comment": "", "isDeferrable": false, "isDeferred": false, - "oldName": "pull_request_repo_pkey" + "oldName": "repo_info_pkey" }, "foreignKeys": [ { "objectType": "ForeignKey_PGSQL", - "name": "fk_pull_request_repo_contributors_1", - "fields": [ - "pr_cntrb_id" - ], - "referenceSchema": "augur_data", - "referenceTable": "contributors", - "referenceFields": [ - "cntrb_id" - ], - "onDelete": "RESTRICT", - "onUpdate": "CASCADE", - "comment": "", - "isMatchFull": false, - "isDeferrable": true, - "isDeferred": false, - "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "ZeroOrOneRelationship", - "oldName": "fk_pull_request_repo_contributors_1" - }, - { - "objectType": "ForeignKey_PGSQL", - "name": "fk_pull_request_repo_pull_request_meta_1", + "name": "fk_repo_info_repo_1", "fields": [ - "pr_repo_meta_id" + "repo_id" ], "referenceSchema": "augur_data", - "referenceTable": "pull_request_meta", + "referenceTable": "repo", "referenceFields": [ - "pr_repo_meta_id" + "repo_id" ], - "onDelete": "RESTRICT", - "onUpdate": "CASCADE", + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", "comment": "", "isMatchFull": false, - "isDeferrable": true, + "isDeferrable": false, "isDeferred": false, "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "ZeroOrOneRelationship", - "oldName": "fk_pull_request_repo_pull_request_meta_1" + "targetCardinality": "OneAndOnlyOneRelationship", + "oldName": "fk_repo_info_repo_1" } ], "uniques": [], @@ -28201,16 +28957,16 @@ }, { "objectType": "TableNormal_PGSQL", - "name": "pull_request_meta", - "comment": "Pull requests contain referencing metadata. There are a few columns that are discrete. There are also head and base designations for the repo on each side of the pull request. Similar functions exist in GitLab, though the language here is based on GitHub. The JSON Being adapted to as of the development of this schema is here: \"base\": { \"label\": \"chaoss:dev\", \"ref\": \"dev\", \"sha\": \"dc6c6f3947f7dc84ecba3d8bda641ef786e7027d\", \"user\": { \"login\": \"chaoss\", \"id\": 29740296, \"node_id\": \"MDEyOk9yZ2FuaXphdGlvbjI5NzQwMjk2\", \"avatar_url\": \"https://avatars2.githubusercontent.com/u/29740296?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/chaoss\", \"html_url\": \"https://github.com/chaoss\", \"followers_url\": \"https://api.github.com/users/chaoss/followers\", \"following_url\": \"https://api.github.com/users/chaoss/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/chaoss/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/chaoss/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/chaoss/subscriptions\", \"organizations_url\": \"https://api.github.com/users/chaoss/orgs\", \"repos_url\": \"https://api.github.com/users/chaoss/repos\", \"events_url\": \"https://api.github.com/users/chaoss/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/chaoss/received_events\", \"type\": \"Organization\", \"site_admin\": false }, \"repo\": { \"id\": 78134122, \"node_id\": \"MDEwOlJlcG9zaXRvcnk3ODEzNDEyMg==\", \"name\": \"augur\", \"full_name\": \"chaoss/augur\", \"private\": false, \"owner\": { \"login\": \"chaoss\", \"id\": 29740296, \"node_id\": \"MDEyOk9yZ2FuaXphdGlvbjI5NzQwMjk2\", \"avatar_url\": \"https://avatars2.githubusercontent.com/u/29740296?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/chaoss\", \"html_url\": \"https://github.com/chaoss\", \"followers_url\": \"https://api.github.com/users/chaoss/followers\", \"following_url\": \"https://api.github.com/users/chaoss/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/chaoss/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/chaoss/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/chaoss/subscriptions\", \"organizations_url\": \"https://api.github.com/users/chaoss/orgs\", \"repos_url\": \"https://api.github.com/users/chaoss/repos\", \"events_url\": \"https://api.github.com/users/chaoss/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/chaoss/received_events\", \"type\": \"Organization\", \"site_admin\": false }, ", + "name": "repo_insights", + "comment": "This table is output from an analytical worker inside of Augur. It runs through the different metrics on a repository and identifies the five to ten most “interesting” metrics as defined by some kind of delta or other factor. The algorithm is going to evolve. \n\nWorker Design Notes: The idea is that the \"insight worker\" will scan through a bunch of active metrics or \"synthetic metrics\" to list the most important insights. ", "tablespace": "", "isUnlogged": false, "owner": "augur", "inheritFromTables": [], "hasOIDs": false, "fillFactor": -1, - "oldName": "pull_request_meta", - "oid": 190880, + "oldName": "repo_insights", + "oid": 192905, "rows": 0, "isInheritTables": false, "cluster": "", @@ -28227,7 +28983,7 @@ "fields": [ { "objectType": "TableField_PGSQL", - "name": "pr_repo_meta_id", + "name": "ri_id", "type": "int8", "length": 64, "decimals": 0, @@ -28235,9 +28991,9 @@ "collation": "", "isNullable": false, "defaultType": "Others", - "defaultValue": "nextval('augur_data.pull_request_meta_pr_repo_meta_id_seq'::regclass)", + "defaultValue": "nextval('augur_data.repo_insights_ri_id_seq'::regclass)", "comment": "", - "oldName": "pr_repo_meta_id", + "oldName": "ri_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -28257,7 +29013,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "pull_request_id", + "name": "repo_id", "type": "int8", "length": 64, "decimals": 0, @@ -28267,7 +29023,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pull_request_id", + "oldName": "repo_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -28287,7 +29043,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_head_or_base", + "name": "ri_metric", "type": "varchar", "length": 0, "decimals": 0, @@ -28296,8 +29052,8 @@ "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "Each pull request should have one and only one head record; and one and only one base record. ", - "oldName": "pr_head_or_base", + "comment": "", + "oldName": "ri_metric", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -28317,17 +29073,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_src_meta_label", + "name": "ri_value", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "This is a representation of the repo:branch information in the pull request. Head is issueing the pull request and base is taking the pull request. For example: (We do not store all of this)\n\n \"head\": {\n \"label\": \"chaoss:pull-request-worker\",\n \"ref\": \"pull-request-worker\",\n \"sha\": \"6b380c3d6d625616f79d702612ebab6d204614f2\",\n \"user\": {\n \"login\": \"chaoss\",\n \"id\": 29740296,\n \"node_id\": \"MDEyOk9yZ2FuaXphdGlvbjI5NzQwMjk2\",\n \"avatar_url\": \"https://avatars2.githubusercontent.com/u/29740296?v=4\",\n \"gravatar_id\": \"\",\n \"url\": \"https://api.github.com/users/chaoss\",\n \"html_url\": \"https://github.com/chaoss\",\n \"followers_url\": \"https://api.github.com/users/chaoss/followers\",\n \"following_url\": \"https://api.github.com/users/chaoss/following{/other_user}\",\n \"gists_url\": \"https://api.github.com/users/chaoss/gists{/gist_id}\",\n \"starred_url\": \"https://api.github.com/users/chaoss/starred{/owner}{/repo}\",\n \"subscriptions_url\": \"https://api.github.com/users/chaoss/subscriptions\",\n \"organizations_url\": \"https://api.github.com/users/chaoss/orgs\",\n \"repos_url\": \"https://api.github.com/users/chaoss/repos\",\n \"events_url\": \"https://api.github.com/users/chaoss/events{/privacy}\",\n \"received_events_url\": \"https://api.github.com/users/chaoss/received_events\",\n \"type\": \"Organization\",\n \"site_admin\": false\n },\n \"repo\": {\n \"id\": 78134122,\n \"node_id\": \"MDEwOlJlcG9zaXRvcnk3ODEzNDEyMg==\",\n \"name\": \"augur\",\n \"full_name\": \"chaoss/augur\",\n \"private\": false,\n \"owner\": {\n \"login\": \"chaoss\",\n \"id\": 29740296,\n \"node_id\": \"MDEyOk9yZ2FuaXphdGlvbjI5NzQwMjk2\",\n \"avatar_url\": \"https://avatars2.githubusercontent.com/u/29740296?v=4\",\n \"gravatar_id\": \"\",\n \"url\": \"https://api.github.com/users/chaoss\",\n \"html_url\": \"https://github.com/chaoss\",\n \"followers_url\": \"https://api.github.com/users/chaoss/followers\",\n \"following_url\": \"https://api.github.com/users/chaoss/following{/other_user}\",\n \"gists_url\": \"https://api.github.com/users/chaoss/gists{/gist_id}\",\n \"starred_url\": \"https://api.github.com/users/chaoss/starred{/owner}{/repo}\",\n \"subscriptions_url\": \"https://api.github.com/users/chaoss/subscriptions\",\n \"organizations_url\": \"https://api.github.com/users/chaoss/orgs\",\n \"repos_url\": \"https://api.github.com/users/chaoss/repos\",\n \"events_url\": \"https://api.github.com/users/chaoss/events{/privacy}\",\n \"received_events_url\": \"https://api.github.com/users/chaoss/received_events\",\n \"type\": \"Organization\",\n \"site_admin\": false\n },\n \"html_url\": \"https://github.com/chaoss/augur\",\n \"description\": \"Python library and web service for Open Source Software Health and Sustainability metrics & data collection.\",\n \"fork\": false,\n \"url\": \"https://api.github.com/repos/chaoss/augur\",\n \"forks_url\": \"https://api.github.com/repos/chaoss/augur/forks\",\n \"keys_url\": \"https://api.github.com/repos/chaoss/augur/keys{/key_id}\",\n \"collaborators_url\": \"https://api.github.com/repos/chaoss/augur/collaborators{/collaborator}\",\n \"teams_url\": \"https://api.github.com/repos/chaoss/augur/teams\",\n \"hooks_url\": \"https://api.github.com/repos/chaoss/augur/hooks\",\n \"issue_events_url\": \"https://api.github.com/repos/chaoss/augur/issues/events{/number}\",\n \"events_url\": \"https://api.github.com/repos/chaoss/augur/events\",\n \"assignees_url\": \"https://api.github.com/repos/chaoss/augur/assignees{/user}\",\n \"branches_url\": \"https://api.github.com/repos/chaoss/augur/branches{/branch}\",\n \"tags_url\": \"https://api.github.com/repos/chaoss/augur/tags\",\n \"blobs_url\": \"https://api.github.com/repos/chaoss/augur/git/blobs{/sha}\",\n \"git_tags_url\": \"https://api.github.com/repos/chaoss/augur/git/tags{/sha}\",\n \"git_refs_url\": \"https://api.github.com/repos/chaoss/augur/git/refs{/sha}\",\n \"trees_url\": \"https://api.github.com/repos/chaoss/augur/git/trees{/sha}\",\n \"statuses_url\": \"https://api.github.com/repos/chaoss/augur/statuses/{sha}\",\n \"languages_url\": \"https://api.github.com/repos/chaoss/augur/languages\",\n \"stargazers_url\": \"https://api.github.com/repos/chaoss/augur/stargazers\",\n \"contributors_url\": \"https://api.github.com/repos/chaoss/augur/contributors\",\n \"subscribers_url\": \"https://api.github.com/repos/chaoss/augur/subscribers\",\n \"subscription_url\": \"https://api.github.com/repos/chaoss/augur/subscription\",\n \"commits_url\": \"https://api.github.com/repos/chaoss/augur/commits{/sha}\",\n \"git_commits_url\": \"https://api.github.com/repos/chaoss/augur/git/commits{/sha}\",\n \"comments_url\": \"https://api.github.com/repos/chaoss/augur/comments{/number}\",\n \"issue_comment_url\": \"https://api.github.com/repos/chaoss/augur/issues/comments{/number}\",\n \"contents_url\": \"https://api.github.com/repos/chaoss/augur/contents/{+path}\",\n \"compare_url\": \"https://api.github.com/repos/chaoss/augur/compare/{base}...{head}\",\n \"merges_url\": \"https://api.github.com/repos/chaoss/augur/merges\",\n \"archive_url\": \"https://api.github.com/repos/chaoss/augur/{archive_format}{/ref}\",\n \"downloads_url\": \"https://api.github.com/repos/chaoss/augur/downloads\",\n \"issues_url\": \"https://api.github.com/repos/chaoss/augur/issues{/number}\",\n \"pulls_url\": \"https://api.github.com/repos/chaoss/augur/pulls{/number}\",\n \"milestones_url\": \"https://api.github.com/repos/chaoss/augur/milestones{/number}\",\n \"notifications_url\": \"https://api.github.com/repos/chaoss/augur/notifications{?since,all,participating}\",\n \"labels_url\": \"https://api.github.com/repos/chaoss/augur/labels{/name}\",\n \"releases_url\": \"https://api.github.com/repos/chaoss/augur/releases{/id}\",\n \"deployments_url\": \"https://api.github.com/repos/chaoss/augur/deployments\",\n \"created_at\": \"2017-01-05T17:34:54Z\",\n \"updated_at\": \"2019-11-15T00:56:12Z\",\n \"pushed_at\": \"2019-12-02T06:27:26Z\",\n \"git_url\": \"git://github.com/chaoss/augur.git\",\n \"ssh_url\": \"git@github.com:chaoss/augur.git\",\n \"clone_url\": \"https://github.com/chaoss/augur.git\",\n \"svn_url\": \"https://github.com/chaoss/augur\",\n \"homepage\": \"http://augur.osshealth.io/\",\n \"size\": 82004,\n \"stargazers_count\": 153,\n \"watchers_count\": 153,\n \"language\": \"Python\",\n \"has_issues\": true,\n \"has_projects\": false,\n \"has_downloads\": true,\n \"has_wiki\": false,\n \"has_pages\": true,\n \"forks_count\": 205,\n \"mirror_url\": null,\n \"archived\": false,\n \"disabled\": false,\n \"open_issues_count\": 14,\n \"license\": {\n \"key\": \"mit\",\n \"name\": \"MIT License\",\n \"spdx_id\": \"MIT\",\n \"url\": \"https://api.github.com/licenses/mit\",\n \"node_id\": \"MDc6TGljZW5zZTEz\"\n },\n \"forks\": 205,\n \"open_issues\": 14,\n \"watchers\": 153,\n \"default_branch\": \"master\"\n }\n },\n \"base\": {\n \"label\": \"chaoss:dev\",\n \"ref\": \"dev\",\n \"sha\": \"bfd2d34b51659613dd842cf83c3873f7699c2a0e\",\n \"user\": {\n \"login\": \"chaoss\",\n \"id\": 29740296,\n \"node_id\": \"MDEyOk9yZ2FuaXphdGlvbjI5NzQwMjk2\",\n \"avatar_url\": \"https://avatars2.githubusercontent.com/u/29740296?v=4\",\n \"gravatar_id\": \"\",\n \"url\": \"https://api.github.com/users/chaoss\",\n \"html_url\": \"https://github.com/chaoss\",\n \"followers_url\": \"https://api.github.com/users/chaoss/followers\",\n \"following_url\": \"https://api.github.com/users/chaoss/following{/other_user}\",\n \"gists_url\": \"https://api.github.com/users/chaoss/gists{/gist_id}\",\n \"starred_url\": \"https://api.github.com/users/chaoss/starred{/owner}{/repo}\",\n \"subscriptions_url\": \"https://api.github.com/users/chaoss/subscriptions\",\n \"organizations_url\": \"https://api.github.com/users/chaoss/orgs\",\n \"repos_url\": \"https://api.github.com/users/chaoss/repos\",\n \"events_url\": \"https://api.github.com/users/chaoss/events{/privacy}\",\n \"received_events_url\": \"https://api.github.com/users/chaoss/received_events\",\n \"type\": \"Organization\",\n \"site_admin\": false\n },\n \"repo\": {\n \"id\": 78134122,\n \"node_id\": \"MDEwOlJlcG9zaXRvcnk3ODEzNDEyMg==\",\n \"name\": \"augur\",\n \"full_name\": \"chaoss/augur\",\n \"private\": false,\n \"owner\": {\n \"login\": \"chaoss\",\n \"id\": 29740296,\n \"node_id\": \"MDEyOk9yZ2FuaXphdGlvbjI5NzQwMjk2\",\n \"avatar_url\": \"https://avatars2.githubusercontent.com/u/29740296?v=4\",\n \"gravatar_id\": \"\",\n \"url\": \"https://api.github.com/users/chaoss\",\n \"html_url\": \"https://github.com/chaoss\",\n \"followers_url\": \"https://api.github.com/users/chaoss/followers\",\n \"following_url\": \"https://api.github.com/users/chaoss/following{/other_user}\",\n \"gists_url\": \"https://api.github.com/users/chaoss/gists{/gist_id}\",\n \"starred_url\": \"https://api.github.com/users/chaoss/starred{/owner}{/repo}\",\n \"subscriptions_url\": \"https://api.github.com/users/chaoss/subscriptions\",\n \"organizations_url\": \"https://api.github.com/users/chaoss/orgs\",\n \"repos_url\": \"https://api.github.com/users/chaoss/repos\",\n \"events_url\": \"https://api.github.com/users/chaoss/events{/privacy}\",\n \"received_events_url\": \"https://api.github.com/users/chaoss/received_events\",\n \"type\": \"Organization\",\n \"site_admin\": false\n },\n", - "oldName": "pr_src_meta_label", + "comment": "", + "oldName": "ri_value", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -28347,22 +29103,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_src_meta_ref", - "type": "varchar", + "name": "ri_date", + "type": "timestamp", "length": 0, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_src_meta_ref", + "oldName": "ri_date", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 5, "foreignOptions": [], "isIdentity": false, @@ -28377,22 +29133,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_sha", - "type": "varchar", + "name": "ri_fresh", + "type": "bool", "length": 0, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "", - "oldName": "pr_sha", + "comment": "false if the date is before the statistic that triggered the insight, true if after. This allows us to automatically display only \"fresh insights\" and avoid displaying \"stale insights\". The insight worker will populate this table. ", + "oldName": "ri_fresh", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 6, "foreignOptions": [], "isIdentity": false, @@ -28407,9 +29163,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "cntrb_id", - "type": "int8", - "length": 64, + "name": "ri_score", + "type": "numeric", + "length": 0, "decimals": 0, "dimensions": 0, "collation": "", @@ -28417,13 +29173,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "cntrb_id", + "oldName": "ri_score", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 7, + "ordinalPosition": 11, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -28437,7 +29193,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_source", + "name": "ri_field", "type": "varchar", "length": 255, "decimals": 0, @@ -28447,13 +29203,73 @@ "defaultType": "None", "defaultValue": "", "comment": "", + "oldName": "ri_field", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 12, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "ri_detection_method", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "ri_detection_method", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 13, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_source", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", "oldName": "tool_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 8, + "ordinalPosition": 7, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -28469,7 +29285,7 @@ "objectType": "TableField_PGSQL", "name": "tool_version", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", @@ -28483,7 +29299,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 9, + "ordinalPosition": 8, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -28499,7 +29315,7 @@ "objectType": "TableField_PGSQL", "name": "data_source", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", @@ -28513,7 +29329,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 10, + "ordinalPosition": 9, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -28543,7 +29359,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 11, + "ordinalPosition": 10, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -28556,98 +29372,42 @@ "isIdentityCycle": false } ], - "indexes": [ - { - "objectType": "Index_PGSQL", - "name": "pr_meta-cntrbid-idx", - "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "pr_meta-cntrbid-idx", - "oid": 203818, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "pull_request_meta", - "size": "8", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "cntrb_id", - "collation": "", - "opClass": "int8_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cntrb_id", - "collationSchema": "" - } - ] - } - ], + "indexes": [], "rules": [], "primaryKey": { "objectType": "PrimaryKey_PGSQL", - "name": "pull_request_meta_pkey", + "name": "repo_insights_pkey", "fields": [ - "pr_repo_meta_id" + "ri_id" ], "fillFactor": -1, "indexTablespace": "", "comment": "", "isDeferrable": false, "isDeferred": false, - "oldName": "pull_request_meta_pkey" + "oldName": "repo_insights_pkey" }, "foreignKeys": [ { "objectType": "ForeignKey_PGSQL", - "name": "fk_pull_request_meta_contributors_2", - "fields": [ - "cntrb_id" - ], - "referenceSchema": "augur_data", - "referenceTable": "contributors", - "referenceFields": [ - "cntrb_id" - ], - "onDelete": "RESTRICT", - "onUpdate": "CASCADE", - "comment": "", - "isMatchFull": false, - "isDeferrable": true, - "isDeferred": false, - "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "ZeroOrOneRelationship", - "oldName": "fk_pull_request_meta_contributors_2" - }, - { - "objectType": "ForeignKey_PGSQL", - "name": "fk_pull_request_meta_pull_requests_1", + "name": "fk_repo_insights_repo_1", "fields": [ - "pull_request_id" + "repo_id" ], "referenceSchema": "augur_data", - "referenceTable": "pull_requests", + "referenceTable": "repo", "referenceFields": [ - "pull_request_id" + "repo_id" ], - "onDelete": "RESTRICT", - "onUpdate": "CASCADE", + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", "comment": "", "isMatchFull": false, - "isDeferrable": true, + "isDeferrable": false, "isDeferred": false, "sourceCardinality": "ZeroOrManyRelationship", "targetCardinality": "ZeroOrOneRelationship", - "oldName": "fk_pull_request_meta_pull_requests_1" + "oldName": "fk_repo_insights_repo_1" } ], "uniques": [], @@ -28659,7 +29419,7 @@ }, { "objectType": "TableNormal_PGSQL", - "name": "pull_request_assignees", + "name": "repo_deps_scorecard", "comment": "", "tablespace": "", "isUnlogged": false, @@ -28667,8 +29427,8 @@ "inheritFromTables": [], "hasOIDs": false, "fillFactor": -1, - "oldName": "pull_request_assignees", - "oid": 190434, + "oldName": "repo_deps_scorecard", + "oid": 19043831, "rows": 0, "isInheritTables": false, "cluster": "", @@ -28685,7 +29445,7 @@ "fields": [ { "objectType": "TableField_PGSQL", - "name": "pr_assignee_map_id", + "name": "repo_deps_scorecard_id", "type": "int8", "length": 64, "decimals": 0, @@ -28693,9 +29453,9 @@ "collation": "", "isNullable": false, "defaultType": "Others", - "defaultValue": "nextval('augur_data.pull_request_assignees_pr_assignee_map_id_seq'::regclass)", + "defaultValue": "nextval('augur_data.repo_deps_scorecard_repo_deps_scorecard_id_seq1'::regclass)", "comment": "", - "oldName": "pr_assignee_map_id", + "oldName": "repo_deps_scorecard_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -28715,7 +29475,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "pull_request_id", + "name": "repo_id", "type": "int8", "length": 64, "decimals": 0, @@ -28725,7 +29485,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pull_request_id", + "oldName": "repo_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -28745,23 +29505,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "contrib_id", - "type": "int8", - "length": 64, + "name": "name", + "type": "varchar", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "contrib_id", + "oldName": "name", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 3, + "collationSchema": "pg_catalog", + "ordinalPosition": 39, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -28775,9 +29535,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_source", + "name": "status", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", @@ -28785,13 +29545,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "tool_source", + "oldName": "status", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 4, + "ordinalPosition": 40, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -28805,9 +29565,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_version", + "name": "score", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", @@ -28815,13 +29575,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "tool_version", + "oldName": "score", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 5, + "ordinalPosition": 41, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -28835,9 +29595,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_source", + "name": "tool_source", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", @@ -28845,13 +29605,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "data_source", + "oldName": "tool_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 6, + "ordinalPosition": 35, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -28865,23 +29625,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_collection_date", - "type": "timestamp", + "name": "tool_version", + "type": "varchar", "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, - "defaultType": "Others", - "defaultValue": "CURRENT_TIMESTAMP", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "data_collection_date", + "oldName": "tool_version", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 7, + "collationSchema": "pg_catalog", + "ordinalPosition": 36, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -28895,23 +29655,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_assignee_src_id", - "type": "int8", - "length": 64, + "name": "data_source", + "type": "varchar", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_assignee_src_id", + "oldName": "data_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 8, + "collationSchema": "pg_catalog", + "ordinalPosition": 37, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -28922,100 +29682,74 @@ "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false - } - ], - "indexes": [ + }, { - "objectType": "Index_PGSQL", - "name": "pr_meta_cntrb-idx", + "objectType": "TableField_PGSQL", + "name": "data_collection_date", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "pr_meta_cntrb-idx", - "oid": 203821, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "pull_request_assignees", - "size": "8", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "contrib_id", - "collation": "", - "opClass": "int8_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "contrib_id", - "collationSchema": "" - } - ] + "oldName": "data_collection_date", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 38, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false } ], + "indexes": [], "rules": [], "primaryKey": { "objectType": "PrimaryKey_PGSQL", - "name": "pull_request_assignees_pkey", + "name": "repo_deps_scorecard_pkey1", "fields": [ - "pr_assignee_map_id" + "repo_deps_scorecard_id" ], "fillFactor": -1, "indexTablespace": "", "comment": "", "isDeferrable": false, "isDeferred": false, - "oldName": "pull_request_assignees_pkey" + "oldName": "repo_deps_scorecard_pkey1" }, "foreignKeys": [ { "objectType": "ForeignKey_PGSQL", - "name": "fk_pull_request_assignees_contributors_1", - "fields": [ - "contrib_id" - ], - "referenceSchema": "augur_data", - "referenceTable": "contributors", - "referenceFields": [ - "cntrb_id" - ], - "onDelete": "RESTRICT", - "onUpdate": "CASCADE", - "comment": "", - "isMatchFull": false, - "isDeferrable": true, - "isDeferred": false, - "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "ZeroOrOneRelationship", - "oldName": "fk_pull_request_assignees_contributors_1" - }, - { - "objectType": "ForeignKey_PGSQL", - "name": "fk_pull_request_assignees_pull_requests_1", + "name": "repo_id", "fields": [ - "pull_request_id" + "repo_id" ], "referenceSchema": "augur_data", - "referenceTable": "pull_requests", + "referenceTable": "repo", "referenceFields": [ - "pull_request_id" + "repo_id" ], - "onDelete": "RESTRICT", - "onUpdate": "CASCADE", + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", "comment": "", "isMatchFull": false, - "isDeferrable": true, + "isDeferrable": false, "isDeferred": false, "sourceCardinality": "ZeroOrManyRelationship", "targetCardinality": "ZeroOrOneRelationship", - "oldName": "fk_pull_request_assignees_pull_requests_1" + "oldName": "repo_id" } ], "uniques": [], @@ -29027,16 +29761,16 @@ }, { "objectType": "TableNormal_PGSQL", - "name": "pull_request_events", - "comment": "", + "name": "repo_badging", + "comment": "This will be collected from the LF’s Badging API\nhttps://bestpractices.coreinfrastructure.org/projects.json?pq=https%3A%2F%2Fgithub.com%2Fchaoss%2Faugur\n", "tablespace": "", "isUnlogged": false, "owner": "augur", "inheritFromTables": [], "hasOIDs": false, "fillFactor": -1, - "oldName": "pull_request_events", - "oid": 190583, + "oldName": "repo_badging", + "oid": 192004, "rows": 0, "isInheritTables": false, "cluster": "", @@ -29053,7 +29787,7 @@ "fields": [ { "objectType": "TableField_PGSQL", - "name": "pr_event_id", + "name": "badge_collection_id", "type": "int8", "length": 64, "decimals": 0, @@ -29061,9 +29795,9 @@ "collation": "", "isNullable": false, "defaultType": "Others", - "defaultValue": "nextval('augur_data.pull_request_events_pr_event_id_seq'::regclass)", + "defaultValue": "nextval('augur_data.repo_badging_badge_collection_id_seq'::regclass)", "comment": "", - "oldName": "pr_event_id", + "oldName": "badge_collection_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -29083,17 +29817,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "pull_request_id", + "name": "repo_id", "type": "int8", "length": 64, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": false, + "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pull_request_id", + "oldName": "repo_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -29113,23 +29847,53 @@ }, { "objectType": "TableField_PGSQL", - "name": "cntrb_id", - "type": "int8", - "length": 64, + "name": "created_at", + "type": "timestamp", + "length": 0, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": false, + "isNullable": true, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", + "comment": "", + "oldName": "created_at", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data", + "type": "jsonb", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "cntrb_id", + "oldName": "data", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 3, + "ordinalPosition": 8, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -29143,17 +29907,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "action", + "name": "tool_source", "type": "varchar", "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", - "isNullable": false, + "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "action", + "oldName": "tool_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -29173,9 +29937,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "action_commit_hash", + "name": "tool_version", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", @@ -29183,7 +29947,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "action_commit_hash", + "oldName": "tool_version", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -29203,22 +29967,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "created_at", - "type": "timestamp", - "length": 0, + "name": "data_source", + "type": "varchar", + "length": 255, "decimals": 0, "dimensions": 0, - "collation": "", - "isNullable": false, - "defaultType": "Others", - "defaultValue": "CURRENT_TIMESTAMP", + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "created_at", + "oldName": "data_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 6, "foreignOptions": [], "isIdentity": false, @@ -29233,17 +29997,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "issue_event_src_id", - "type": "int8", - "length": 64, + "name": "data_collection_date", + "type": "timestamp", + "length": 0, "decimals": 0, "dimensions": 0, "collation": "", "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "This ID comes from the source. In the case of GitHub, it is the id that is the first field returned from the issue events API", - "oldName": "issue_event_src_id", + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", + "comment": "", + "oldName": "data_collection_date", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -29260,26 +30024,98 @@ "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false - }, + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "repo_badging_pkey", + "fields": [ + "badge_collection_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "repo_badging_pkey" + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_repo_badging_repo_1", + "fields": [ + "repo_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "repo", + "referenceFields": [ + "repo_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_repo_badging_repo_1" + } + ], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "releases", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "releases", + "oid": 191770, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ { "objectType": "TableField_PGSQL", - "name": "node_id", - "type": "varchar", - "length": 0, + "name": "release_id", + "type": "char", + "length": 64, "decimals": 0, "dimensions": 0, "collation": "default", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "This should be renamed to issue_event_src_node_id, as its the varchar identifier in GitHub and likely common in other sources as well. However, since it was created before we came to this naming standard and workers are built around it, we have it simply named as node_id. Anywhere you see node_id in the schema, it comes from GitHubs terminology.", - "oldName": "node_id", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_data.releases_release_id_seq'::regclass)", + "comment": "", + "oldName": "release_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 8, + "ordinalPosition": 1, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -29293,23 +30129,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "node_url", - "type": "varchar", - "length": 0, + "name": "repo_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", - "isNullable": true, + "collation": "", + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "node_url", + "oldName": "repo_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 9, + "collationSchema": "", + "ordinalPosition": 2, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -29318,12 +30154,12 @@ "identityMinimum": 0, "hasNoIdentityMinValue": false, "identityMaximum": 0, - "hasNoIdentityMaxValue": 0, + "hasNoIdentityMaxValue": false, "isIdentityCycle": false }, { "objectType": "TableField_PGSQL", - "name": "tool_source", + "name": "release_name", "type": "varchar", "length": 255, "decimals": 0, @@ -29333,13 +30169,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "tool_source", + "oldName": "release_name", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 10, + "ordinalPosition": 3, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -29353,9 +30189,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_version", + "name": "release_description", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", @@ -29363,13 +30199,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "tool_version", + "oldName": "release_description", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 11, + "ordinalPosition": 4, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -29383,7 +30219,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_source", + "name": "release_author", "type": "varchar", "length": 255, "decimals": 0, @@ -29393,13 +30229,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "data_source", + "oldName": "release_author", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 12, + "ordinalPosition": 5, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -29413,23 +30249,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_collection_date", + "name": "release_created_at", "type": "timestamp", - "length": 0, + "length": 6, "decimals": 0, "dimensions": 0, "collation": "", "isNullable": true, - "defaultType": "Others", - "defaultValue": "CURRENT_TIMESTAMP", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "data_collection_date", + "oldName": "release_created_at", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 13, + "ordinalPosition": 6, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -29440,188 +30276,26 @@ "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false - } - ], - "indexes": [ - { - "objectType": "Index_PGSQL", - "name": "pr_events_ibfk_1", - "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "pr_events_ibfk_1", - "oid": 203813, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "pull_request_events", - "size": "8", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "pull_request_id", - "collation": "", - "opClass": "int8_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "pull_request_id", - "collationSchema": "" - } - ] - }, - { - "objectType": "Index_PGSQL", - "name": "pr_events_ibfk_2", - "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "pr_events_ibfk_2", - "oid": 203817, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "pull_request_events", - "size": "8", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "cntrb_id", - "collation": "", - "opClass": "int8_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cntrb_id", - "collationSchema": "" - } - ] - } - ], - "rules": [], - "primaryKey": { - "objectType": "PrimaryKey_PGSQL", - "name": "pr_events_pkey", - "fields": [ - "pr_event_id" - ], - "fillFactor": -1, - "indexTablespace": "", - "comment": "", - "isDeferrable": false, - "isDeferred": false, - "oldName": "pr_events_pkey" - }, - "foreignKeys": [ - { - "objectType": "ForeignKey_PGSQL", - "name": "fk_pull_request_events_contributors_1", - "fields": [ - "cntrb_id" - ], - "referenceSchema": "augur_data", - "referenceTable": "contributors", - "referenceFields": [ - "cntrb_id" - ], - "onDelete": "RESTRICT", - "onUpdate": "CASCADE", - "comment": "", - "isMatchFull": false, - "isDeferrable": true, - "isDeferred": false, - "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "OneAndOnlyOneRelationship", - "oldName": "fk_pull_request_events_contributors_1" }, - { - "objectType": "ForeignKey_PGSQL", - "name": "fk_pull_request_events_pull_requests_1", - "fields": [ - "pull_request_id" - ], - "referenceSchema": "augur_data", - "referenceTable": "pull_requests", - "referenceFields": [ - "pull_request_id" - ], - "onDelete": "RESTRICT", - "onUpdate": "CASCADE", - "comment": "", - "isMatchFull": false, - "isDeferrable": true, - "isDeferred": false, - "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "OneAndOnlyOneRelationship", - "oldName": "fk_pull_request_events_pull_requests_1" - } - ], - "uniques": [], - "checks": [], - "excludes": [], - "triggers": [], - "partitionKeys": [], - "partitions": [] - }, - { - "objectType": "TableNormal_PGSQL", - "name": "pull_requests", - "comment": "", - "tablespace": "", - "isUnlogged": false, - "owner": "augur", - "inheritFromTables": [], - "hasOIDs": false, - "fillFactor": -1, - "oldName": "pull_requests", - "oid": 191527, - "rows": 0, - "isInheritTables": false, - "cluster": "", - "ACL": "", - "isPartition": false, - "partitioningStrategy": "None", - "partitionOfSchema": "", - "partitionOfTable": "", - "partitionListValues": [], - "partitionRangeFromValues": [], - "partitionRangeToValues": [], - "foreignServer": "", - "foreignOptionDisplay": "", - "fields": [ { "objectType": "TableField_PGSQL", - "name": "pull_request_id", - "type": "int8", - "length": 64, + "name": "release_published_at", + "type": "timestamp", + "length": 6, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": false, - "defaultType": "Others", - "defaultValue": "nextval('augur_data.pull_requests_pull_request_id_seq'::regclass)", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "pull_request_id", + "oldName": "release_published_at", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 1, + "ordinalPosition": 7, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -29635,23 +30309,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_url", - "type": "varchar", - "length": 0, + "name": "release_updated_at", + "type": "timestamp", + "length": 6, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_url", + "oldName": "release_updated_at", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 2, + "collationSchema": "", + "ordinalPosition": 8, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -29665,23 +30339,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_src_id", - "type": "int8", - "length": 64, + "name": "release_is_draft", + "type": "bool", + "length": 0, "decimals": 0, "dimensions": 0, "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "The pr_src_id is unique across all of github.", - "oldName": "pr_src_id", + "comment": "", + "oldName": "release_is_draft", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 3, + "ordinalPosition": 9, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -29695,23 +30369,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_src_node_id", - "type": "varchar", + "name": "release_is_prerelease", + "type": "bool", "length": 0, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_src_node_id", + "oldName": "release_is_prerelease", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 4, + "collationSchema": "", + "ordinalPosition": 10, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -29725,9 +30399,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_html_url", + "name": "release_tag_name", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", @@ -29735,13 +30409,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_html_url", + "oldName": "release_tag_name", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 5, + "ordinalPosition": 11, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -29755,9 +30429,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_diff_url", + "name": "release_url", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", @@ -29765,13 +30439,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_diff_url", + "oldName": "release_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 6, + "ordinalPosition": 12, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -29785,23 +30459,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_patch_url", - "type": "varchar", + "name": "tag_only", + "type": "bool", "length": 0, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_patch_url", + "oldName": "tag_only", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 7, + "collationSchema": "", + "ordinalPosition": 17, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -29815,9 +30489,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_issue_url", + "name": "tool_source", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", @@ -29825,43 +30499,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_issue_url", + "oldName": "tool_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 8, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "pr_augur_issue_id", - "type": "int8", - "length": 64, - "decimals": 0, - "dimensions": 0, - "collation": "", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "This is to link to the augur stored related issue", - "oldName": "pr_augur_issue_id", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 9, + "ordinalPosition": 13, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -29875,23 +30519,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_src_number", - "type": "int8", - "length": 64, + "name": "tool_version", + "type": "varchar", + "length": 255, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "The pr_src_number is unique within a repository.", - "oldName": "pr_src_number", + "comment": "", + "oldName": "tool_version", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 10, + "collationSchema": "pg_catalog", + "ordinalPosition": 14, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -29905,9 +30549,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_src_state", + "name": "data_source", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", @@ -29915,13 +30559,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_src_state", + "oldName": "data_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 11, + "ordinalPosition": 15, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -29935,23 +30579,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_src_locked", - "type": "bool", - "length": 0, + "name": "data_collection_date", + "type": "timestamp", + "length": 6, "decimals": 0, "dimensions": 0, "collation": "", "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", "comment": "", - "oldName": "pr_src_locked", + "oldName": "data_collection_date", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 12, + "ordinalPosition": 16, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -29962,26 +30606,98 @@ "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false - }, + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "releases_pkey", + "fields": [ + "release_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "releases_pkey" + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_releases_repo_1", + "fields": [ + "repo_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "repo", + "referenceFields": [ + "repo_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "OneAndOnlyOneRelationship", + "oldName": "fk_releases_repo_1" + } + ], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "repo", + "comment": "This table is a combination of the columns in Facade’s repo table and GHTorrent’s projects table. ", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "repo", + "oid": 191871, + "rows": 1, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ { "objectType": "TableField_PGSQL", - "name": "pr_src_title", - "type": "varchar", - "length": 0, + "name": "repo_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_data.repo_repo_id_seq'::regclass)", "comment": "", - "oldName": "pr_src_title", + "oldName": "repo_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 13, + "collationSchema": "", + "ordinalPosition": 1, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -29995,23 +30711,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_augur_contributor_id", + "name": "repo_group_id", "type": "int8", "length": 64, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": true, + "isNullable": false, "defaultType": "None", "defaultValue": "", - "comment": "This is to link to the augur contributor record. ", - "oldName": "pr_augur_contributor_id", + "comment": "", + "oldName": "repo_group_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 14, + "ordinalPosition": 2, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -30025,23 +30741,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_body", - "type": "text", + "name": "repo_git", + "type": "varchar", "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", - "isNullable": true, + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_body", + "oldName": "repo_git", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 15, + "ordinalPosition": 3, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -30055,23 +30771,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_created_at", - "type": "timestamp", - "length": 0, + "name": "repo_path", + "type": "varchar", + "length": 256, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "'NULL'::character varying", "comment": "", - "oldName": "pr_created_at", + "oldName": "repo_path", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 16, + "collationSchema": "pg_catalog", + "ordinalPosition": 4, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -30085,23 +30801,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_updated_at", - "type": "timestamp", + "name": "repo_name", + "type": "varchar", "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "'NULL'::character varying", "comment": "", - "oldName": "pr_updated_at", + "oldName": "repo_name", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 17, + "collationSchema": "pg_catalog", + "ordinalPosition": 5, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -30115,23 +30831,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_closed_at", + "name": "repo_added", "type": "timestamp", "length": 0, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", "comment": "", - "oldName": "pr_closed_at", + "oldName": "repo_added", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 18, + "ordinalPosition": 6, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -30145,23 +30861,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_merged_at", - "type": "timestamp", - "length": 0, + "name": "repo_status", + "type": "varchar", + "length": 32, "decimals": 0, "dimensions": 0, - "collation": "", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "collation": "default", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "'New'::character varying", "comment": "", - "oldName": "pr_merged_at", + "oldName": "repo_status", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 19, + "collationSchema": "pg_catalog", + "ordinalPosition": 7, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -30175,113 +30891,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_merge_commit_sha", + "name": "repo_type", "type": "varchar", "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "pr_merge_commit_sha", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 20, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "pr_teams", - "type": "int8", - "length": 64, - "decimals": 0, - "dimensions": 0, - "collation": "", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "One to many with pull request teams. ", - "oldName": "pr_teams", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 21, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "pr_milestone", - "type": "varchar", - "length": 0, - "decimals": 0, - "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "pr_milestone", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 22, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "pr_commits_url", - "type": "varchar", - "length": 0, - "decimals": 0, - "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "pr_commits_url", + "defaultType": "Others", + "defaultValue": "''::character varying", + "comment": "This field is intended to indicate if the repository is the \"main instance\" of a repository in cases where implementations choose to add the same repository to more than one repository group. In cases where the repository group is of rg_type Github Organization then this repo_type should be \"primary\". In other cases the repo_type should probably be \"user created\". We made this a varchar in order to hold open the possibility that there are additional repo_types we have not thought about. ", + "oldName": "repo_type", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 23, + "ordinalPosition": 8, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -30295,9 +30921,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_review_comments_url", + "name": "url", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", @@ -30305,73 +30931,43 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_review_comments_url", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 24, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "pr_review_comment_url", - "type": "varchar", - "length": 0, - "decimals": 0, - "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "This is a field with limited utility. It does expose how to access a specific comment if needed with parameters. If the source changes URL structure, it may be useful", - "oldName": "pr_review_comment_url", + "oldName": "url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 25, + "ordinalPosition": 9, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", "identityStart": 0, "identityIncrement": 0, "identityMinimum": 0, - "hasNoIdentityMinValue": false, + "hasNoIdentityMinValue": 0, "identityMaximum": 0, - "hasNoIdentityMaxValue": false, + "hasNoIdentityMaxValue": 0, "isIdentityCycle": false }, { "objectType": "TableField_PGSQL", - "name": "pr_comments_url", - "type": "varchar", - "length": 0, + "name": "owner_id", + "type": "int4", + "length": 32, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_comments_url", + "oldName": "owner_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 26, + "collationSchema": "", + "ordinalPosition": 10, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -30380,12 +30976,12 @@ "identityMinimum": 0, "hasNoIdentityMinValue": false, "identityMaximum": 0, - "hasNoIdentityMaxValue": false, + "hasNoIdentityMaxValue": true, "isIdentityCycle": false }, { "objectType": "TableField_PGSQL", - "name": "pr_statuses_url", + "name": "description", "type": "varchar", "length": 0, "decimals": 0, @@ -30395,73 +30991,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_statuses_url", + "oldName": "description", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 27, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "pr_meta_head_id", - "type": "int8", - "length": 64, - "decimals": 0, - "dimensions": 0, - "collation": "", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "The metadata for the head repo that links to the pull_request_meta table. ", - "oldName": "pr_meta_head_id", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 28, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "pr_meta_base_id", - "type": "int8", - "length": 64, - "decimals": 0, - "dimensions": 0, - "collation": "", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "The metadata for the base repo that links to the pull_request_meta table. ", - "oldName": "pr_meta_base_id", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 29, + "ordinalPosition": 11, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -30475,9 +31011,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_src_issue_url", + "name": "primary_language", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", @@ -30485,13 +31021,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_src_issue_url", + "oldName": "primary_language", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 30, + "ordinalPosition": 12, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -30505,9 +31041,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_src_comments_url", + "name": "created_at", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", @@ -30515,13 +31051,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_src_comments_url", + "oldName": "created_at", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 31, + "ordinalPosition": 13, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -30535,7 +31071,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_src_review_comments_url", + "name": "forked_from", "type": "varchar", "length": 0, "decimals": 0, @@ -30545,13 +31081,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_src_review_comments_url", + "oldName": "forked_from", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 32, + "ordinalPosition": 14, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -30565,23 +31101,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_src_commits_url", - "type": "varchar", + "name": "updated_at", + "type": "timestamp", "length": 0, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_src_commits_url", + "oldName": "updated_at", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 33, + "collationSchema": "", + "ordinalPosition": 15, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -30595,23 +31131,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_src_statuses_url", - "type": "varchar", - "length": 0, + "name": "repo_archived", + "type": "int4", + "length": 32, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_src_statuses_url", + "oldName": "repo_archived", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 34, + "collationSchema": "", + "ordinalPosition": 20, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -30625,23 +31161,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_src_author_association", - "type": "varchar", + "name": "repo_archived_date_collected", + "type": "timestamptz", "length": 0, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_src_author_association", + "oldName": "repo_archived_date_collected", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 35, + "collationSchema": "", + "ordinalPosition": 21, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -30671,7 +31207,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 36, + "ordinalPosition": 16, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -30701,7 +31237,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 37, + "ordinalPosition": 17, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -30731,7 +31267,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 38, + "ordinalPosition": 18, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -30752,8 +31288,8 @@ "dimensions": 0, "collation": "", "isNullable": true, - "defaultType": "Others", - "defaultValue": "CURRENT_TIMESTAMP", + "defaultType": "None", + "defaultValue": "", "comment": "", "oldName": "data_collection_date", "typeOID": 1, @@ -30761,37 +31297,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 39, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "repo_id", - "type": "int8", - "length": 64, - "decimals": 0, - "dimensions": 0, - "collation": "", - "isNullable": true, - "defaultType": "Others", - "defaultValue": "0", - "comment": "", - "oldName": "repo_id", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 40, + "ordinalPosition": 19, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -30807,7 +31313,7 @@ "indexes": [ { "objectType": "Index_PGSQL", - "name": "id_node", + "name": "forked", "comment": "", "isClustered": false, "isConcurrently": false, @@ -30818,41 +31324,30 @@ "method": "BTree", "tableSpaceName": "", "constraint": "", - "oldName": "id_node", - "oid": 203718, + "oldName": "forked", + "oid": 203717, "owner": "augur", "brinPagesPerRange": -1, "ginPendingListLimit": -1, - "tableName": "pull_requests", - "size": "8", + "tableName": "repo", + "size": "16", "fields": [ { "objectType": "IndexField_PGSQL", - "name": "pr_src_id", - "collation": "", - "opClass": "int8_ops", - "opClassSchema": "pg_catalog", - "order": "DESC", - "nullSort": "NULLS FIRST", - "oldName": "pr_src_id", - "collationSchema": "" - }, - { - "objectType": "IndexField_PGSQL", - "name": "pr_src_node_id", + "name": "forked_from", "collation": "default", "opClass": "text_ops", "opClassSchema": "pg_catalog", - "order": "DESC", + "order": "ASC", "nullSort": "NULLS LAST", - "oldName": "pr_src_node_id", + "oldName": "forked_from", "collationSchema": "pg_catalog" } ] }, { "objectType": "Index_PGSQL", - "name": "pull_requests_idx_repo_id_data_datex", + "name": "repo_idx_repo_id_repo_namex", "comment": "", "isClustered": false, "isConcurrently": false, @@ -30863,13 +31358,13 @@ "method": "BTree", "tableSpaceName": "", "constraint": "", - "oldName": "pull_requests_idx_repo_id_data_datex", - "oid": 203870, + "oldName": "repo_idx_repo_id_repo_namex", + "oid": 203917, "owner": "augur", "brinPagesPerRange": -1, "ginPendingListLimit": -1, - "tableName": "pull_requests", - "size": "8", + "tableName": "repo", + "size": "16", "fields": [ { "objectType": "IndexField_PGSQL", @@ -30884,96 +31379,245 @@ }, { "objectType": "IndexField_PGSQL", - "name": "data_collection_date", - "collation": "", - "opClass": "timestamp_ops", + "name": "repo_name", + "collation": "default", + "opClass": "text_ops", "opClassSchema": "pg_catalog", "order": "ASC", "nullSort": "NULLS LAST", - "oldName": "data_collection_date", - "collationSchema": "" + "oldName": "repo_name", + "collationSchema": "pg_catalog" } ] - } - ], - "rules": [], - "primaryKey": { - "objectType": "PrimaryKey_PGSQL", - "name": "pull_requests_pkey", - "fields": [ - "pull_request_id" - ], - "fillFactor": -1, - "indexTablespace": "", - "comment": "", - "isDeferrable": false, - "isDeferred": false, - "oldName": "pull_requests_pkey" - }, - "foreignKeys": [ + }, { - "objectType": "ForeignKey_PGSQL", - "name": "fk_pr_contribs", - "fields": [ - "pr_augur_contributor_id" - ], - "referenceSchema": "augur_data", - "referenceTable": "contributors", - "referenceFields": [ - "cntrb_id" - ], - "onDelete": "RESTRICT", - "onUpdate": "CASCADE", + "objectType": "Index_PGSQL", + "name": "repogitindexrep", "comment": "", - "isMatchFull": false, - "isDeferrable": true, - "isDeferred": false, - "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "ZeroOrOneRelationship", - "oldName": "fk_pr_contribs" + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "repogitindexrep", + "oid": 203931, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "repo", + "size": "16", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "repo_git", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "repo_git", + "collationSchema": "pg_catalog" + } + ] }, { - "objectType": "ForeignKey_PGSQL", - "name": "fk_pull_requests_repo_1", + "objectType": "Index_PGSQL", + "name": "reponameindex", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "Hash", + "tableSpaceName": "", + "constraint": "", + "oldName": "reponameindex", + "oid": 203933, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "repo", + "size": "32", "fields": [ - "repo_id" - ], - "referenceSchema": "augur_data", - "referenceTable": "repo", - "referenceFields": [ - "repo_id" - ], - "onDelete": "RESTRICT", - "onUpdate": "CASCADE", + { + "objectType": "IndexField_PGSQL", + "name": "repo_name", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "repo_name", + "collationSchema": "pg_catalog" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "reponameindexbtree", "comment": "", - "isMatchFull": false, - "isDeferrable": true, - "isDeferred": false, - "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "ZeroOrOneRelationship", - "oldName": "fk_pull_requests_repo_1" - } - ], - "uniques": [], - "checks": [], - "excludes": [], - "triggers": [], - "partitionKeys": [], - "partitions": [] - }, - { - "objectType": "TableNormal_PGSQL", - "name": "pull_request_commits", - "comment": "Pull request commits are an enumeration of each commit associated with a pull request. \nNot all pull requests are from a branch or fork into master. \nThe commits table intends to count only commits that end up in the master branch (i.e., part of the deployed code base for a project).\nTherefore, there will be commit “SHA”’s in this table that are no associated with a commit SHA in the commits table. \nIn cases where the PR is to the master branch of a project, you will find a match. In cases where the PR does not involve the master branch, you will not find a corresponding commit SHA in the commits table. This is expected. ", - "tablespace": "", - "isUnlogged": false, - "owner": "augur", - "inheritFromTables": [], - "hasOIDs": false, - "fillFactor": -1, - "oldName": "pull_request_commits", - "oid": 190491, - "rows": 0, + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "reponameindexbtree", + "oid": 203937, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "repo", + "size": "16", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "repo_name", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "repo_name", + "collationSchema": "pg_catalog" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "rggrouponrepoindex", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "rggrouponrepoindex", + "oid": 203948, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "repo", + "size": "16", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "repo_group_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "repo_group_id", + "collationSchema": "" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "therepo", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": true, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "therepo", + "oid": 203962, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "repo", + "size": "16", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "repo_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "repo_id", + "collationSchema": "" + } + ] + } + ], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "repounique", + "fields": [ + "repo_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "repounique" + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_repo_repo_groups_1", + "fields": [ + "repo_group_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "repo_groups", + "referenceFields": [ + "repo_group_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "Repo_groups cardinality set to one and only one because, although in theory there could be more than one repo group for a repo, this might create dependencies in hosted situation that we do not want to live with. ", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "OneAndOnlyOneRelationship", + "oldName": "fk_repo_repo_groups_1" + } + ], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "commits", + "comment": "Starts with augur.analysis_data table and incorporates GHTorrent commit table attributes if different. \nCmt_id is from get\nThe author and committer ID’s are at the bottom of the table and not required for now because we want to focus on the facade schema’s properties over the ghtorrent properties when they are in conflict. ", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "commits", + "oid": 186548, + "rows": 0, "isInheritTables": false, "cluster": "", "ACL": "", @@ -30989,7 +31633,7 @@ "fields": [ { "objectType": "TableField_PGSQL", - "name": "pr_cmt_id", + "name": "cmt_id", "type": "int8", "length": 64, "decimals": 0, @@ -30997,9 +31641,9 @@ "collation": "", "isNullable": false, "defaultType": "Others", - "defaultValue": "nextval('augur_data.pull_request_commits_pr_cmt_id_seq'::regclass)", + "defaultValue": "nextval('augur_data.commits_cmt_id_seq'::regclass)", "comment": "", - "oldName": "pr_cmt_id", + "oldName": "cmt_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -31019,17 +31663,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "pull_request_id", + "name": "repo_id", "type": "int8", "length": 64, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": true, + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pull_request_id", + "oldName": "repo_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -31049,17 +31693,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_cmt_sha", + "name": "cmt_commit_hash", "type": "varchar", - "length": 0, + "length": 80, "decimals": 0, "dimensions": 0, "collation": "default", - "isNullable": true, + "isNullable": false, "defaultType": "None", "defaultValue": "", - "comment": "This is the commit SHA for a pull request commit. If the PR is not to the master branch of the main repository (or, in rare cases, from it), then you will NOT find a corresponding commit SHA in the commit table. (see table comment for further explanation). ", - "oldName": "pr_cmt_sha", + "comment": "", + "oldName": "cmt_commit_hash", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -31079,17 +31723,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_cmt_node_id", + "name": "cmt_author_name", "type": "varchar", - "length": 0, + "length": 128, "decimals": 0, "dimensions": 0, "collation": "default", - "isNullable": true, + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_cmt_node_id", + "oldName": "cmt_author_name", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -31109,17 +31753,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_cmt_message", + "name": "cmt_author_raw_email", "type": "varchar", - "length": 0, + "length": 128, "decimals": 0, "dimensions": 0, "collation": "default", - "isNullable": true, + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_cmt_message", + "oldName": "cmt_author_raw_email", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -31139,22 +31783,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_cmt_comments_url", - "type": "varbit", + "name": "cmt_author_email", + "type": "varchar", "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", - "isNullable": true, + "collation": "default", + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_cmt_comments_url", + "oldName": "cmt_author_email", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 6, "foreignOptions": [], "isIdentity": false, @@ -31169,17 +31813,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_source", + "name": "cmt_author_date", "type": "varchar", - "length": 0, + "length": 10, "decimals": 0, "dimensions": 0, "collation": "default", - "isNullable": true, + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "tool_source", + "oldName": "cmt_author_date", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -31199,17 +31843,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_version", + "name": "cmt_author_affiliation", "type": "varchar", "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "'NULL'::character varying", "comment": "", - "oldName": "tool_version", + "oldName": "cmt_author_affiliation", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -31229,17 +31873,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_source", + "name": "cmt_committer_name", "type": "varchar", "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", - "isNullable": true, + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "data_source", + "oldName": "cmt_committer_name", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -31259,22 +31903,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_collection_date", - "type": "timestamp", + "name": "cmt_committer_raw_email", + "type": "varchar", "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", - "isNullable": true, - "defaultType": "Others", - "defaultValue": "CURRENT_TIMESTAMP", + "collation": "default", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "data_collection_date", + "oldName": "cmt_committer_raw_email", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 10, "foreignOptions": [], "isIdentity": false, @@ -31289,22 +31933,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_cmt_author_cntrb_id", - "type": "int8", - "length": 64, + "name": "cmt_committer_email", + "type": "varchar", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", - "isNullable": true, + "collation": "default", + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_cmt_author_cntrb_id", + "oldName": "cmt_committer_email", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 11, "foreignOptions": [], "isIdentity": false, @@ -31319,22 +31963,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_cmt_timestamp", - "type": "timestamp", - "length": 0, + "name": "cmt_committer_date", + "type": "varchar", + "length": 10, "decimals": 0, "dimensions": 0, - "collation": "", - "isNullable": true, + "collation": "default", + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_cmt_timestamp", + "oldName": "cmt_committer_date", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 12, "foreignOptions": [], "isIdentity": false, @@ -31349,17 +31993,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_cmt_author_email", + "name": "cmt_committer_affiliation", "type": "varchar", - "length": 0, + "length": 128, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "'NULL'::character varying", "comment": "", - "oldName": "pr_cmt_author_email", + "oldName": "cmt_committer_affiliation", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -31376,135 +32020,42 @@ "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false - } - ], - "indexes": [], - "rules": [], - "primaryKey": { - "objectType": "PrimaryKey_PGSQL", - "name": "pull_request_commits_pkey", - "fields": [ - "pr_cmt_id" - ], - "fillFactor": -1, - "indexTablespace": "", - "comment": "", - "isDeferrable": false, - "isDeferred": false, - "oldName": "pull_request_commits_pkey" - }, - "foreignKeys": [ - { - "objectType": "ForeignKey_PGSQL", - "name": "fk_pr_commit_cntrb_id", - "fields": [ - "pr_cmt_author_cntrb_id" - ], - "referenceSchema": "augur_data", - "referenceTable": "contributors", - "referenceFields": [ - "cntrb_id" - ], - "onDelete": "RESTRICT", - "onUpdate": "CASCADE", - "comment": "", - "isMatchFull": false, - "isDeferrable": true, - "isDeferred": false, - "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "ZeroOrOneRelationship", - "oldName": "fk_pr_commit_cntrb_id" }, - { - "objectType": "ForeignKey_PGSQL", - "name": "fk_pull_request_commits_pull_requests_1", - "fields": [ - "pull_request_id" - ], - "referenceSchema": "augur_data", - "referenceTable": "pull_requests", - "referenceFields": [ - "pull_request_id" - ], - "onDelete": "RESTRICT", - "onUpdate": "CASCADE", - "comment": "", - "isMatchFull": false, - "isDeferrable": true, - "isDeferred": false, - "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "ZeroOrOneRelationship", - "oldName": "fk_pull_request_commits_pull_requests_1" - } - ], - "uniques": [], - "checks": [], - "excludes": [], - "triggers": [], - "partitionKeys": [], - "partitions": [] - }, - { - "objectType": "TableNormal_PGSQL", - "name": "issue_events", - "comment": "", - "tablespace": "", - "isUnlogged": false, - "owner": "augur", - "inheritFromTables": [], - "hasOIDs": false, - "fillFactor": -1, - "oldName": "issue_events", - "oid": 188512, - "rows": 0, - "isInheritTables": false, - "cluster": "", - "ACL": "", - "isPartition": false, - "partitioningStrategy": "None", - "partitionOfSchema": "", - "partitionOfTable": "", - "partitionListValues": [], - "partitionRangeFromValues": [], - "partitionRangeToValues": [], - "foreignServer": "", - "foreignOptionDisplay": "", - "fields": [ { "objectType": "TableField_PGSQL", - "name": "event_id", - "type": "int8", - "length": 64, + "name": "cmt_added", + "type": "int4", + "length": 32, "decimals": 0, "dimensions": 0, "collation": "", "isNullable": false, - "defaultType": "Others", - "defaultValue": "nextval('augur_data.issue_events_event_id_seq'::regclass)", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "event_id", + "oldName": "cmt_added", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 1, + "ordinalPosition": 14, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", "identityStart": 0, "identityIncrement": 0, "identityMinimum": 0, - "hasNoIdentityMinValue": [], + "hasNoIdentityMinValue": false, "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false }, { "objectType": "TableField_PGSQL", - "name": "issue_id", - "type": "int8", - "length": 64, + "name": "cmt_removed", + "type": "int4", + "length": 32, "decimals": 0, "dimensions": 0, "collation": "", @@ -31512,13 +32063,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "issue_id", + "oldName": "cmt_removed", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 2, + "ordinalPosition": 15, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -31532,9 +32083,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "cntrb_id", - "type": "int8", - "length": 64, + "name": "cmt_whitespace", + "type": "int4", + "length": 32, "decimals": 0, "dimensions": 0, "collation": "", @@ -31542,13 +32093,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "cntrb_id", + "oldName": "cmt_whitespace", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 3, + "ordinalPosition": 16, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -31562,9 +32113,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "action", + "name": "cmt_filename", "type": "varchar", - "length": 255, + "length": 4096, "decimals": 0, "dimensions": 0, "collation": "default", @@ -31572,13 +32123,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "action", + "oldName": "cmt_filename", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 4, + "ordinalPosition": 17, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -31592,23 +32143,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "action_commit_hash", - "type": "varchar", + "name": "cmt_date_attempted", + "type": "timestamp", "length": 0, "decimals": 0, "dimensions": 0, - "collation": "default", - "isNullable": true, + "collation": "", + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "action_commit_hash", + "oldName": "cmt_date_attempted", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 5, + "collationSchema": "", + "ordinalPosition": 18, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -31622,23 +32173,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "created_at", - "type": "timestamp", - "length": 0, + "name": "cmt_ght_author_id", + "type": "int4", + "length": 32, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": false, - "defaultType": "Others", - "defaultValue": "CURRENT_TIMESTAMP", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "created_at", + "oldName": "cmt_ght_author_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 6, + "ordinalPosition": 19, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -31652,23 +32203,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "node_id", - "type": "varchar", - "length": 0, + "name": "cmt_ght_committer_id", + "type": "int4", + "length": 32, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "This should be renamed to issue_event_src_node_id, as its the varchar identifier in GitHub and likely common in other sources as well. However, since it was created before we came to this naming standard and workers are built around it, we have it simply named as node_id. Anywhere you see node_id in the schema, it comes from GitHubs terminology.", - "oldName": "node_id", + "comment": "", + "oldName": "cmt_ght_committer_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 7, + "collationSchema": "", + "ordinalPosition": 20, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -31682,23 +32233,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "node_url", - "type": "varchar", + "name": "cmt_ght_committed_at", + "type": "timestamp", "length": 0, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "node_url", + "oldName": "cmt_ght_committed_at", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 8, + "collationSchema": "", + "ordinalPosition": 21, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -31707,28 +32258,28 @@ "identityMinimum": 0, "hasNoIdentityMinValue": false, "identityMaximum": 0, - "hasNoIdentityMaxValue": 0, + "hasNoIdentityMaxValue": false, "isIdentityCycle": false }, { "objectType": "TableField_PGSQL", - "name": "tool_source", - "type": "varchar", - "length": 255, + "name": "cmt_author_timestamp", + "type": "timestamptz", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "tool_source", + "oldName": "cmt_author_timestamp", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 9, + "collationSchema": "", + "ordinalPosition": 26, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -31742,23 +32293,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_version", - "type": "varchar", - "length": 255, + "name": "cmt_committer_timestamp", + "type": "timestamptz", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "tool_version", + "oldName": "cmt_committer_timestamp", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 10, + "collationSchema": "", + "ordinalPosition": 27, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -31772,7 +32323,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_source", + "name": "tool_source", "type": "varchar", "length": 255, "decimals": 0, @@ -31782,13 +32333,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "data_source", + "oldName": "tool_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 11, + "ordinalPosition": 22, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -31802,23 +32353,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_collection_date", - "type": "timestamp", - "length": 0, + "name": "tool_version", + "type": "varchar", + "length": 255, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, - "defaultType": "Others", - "defaultValue": "CURRENT_TIMESTAMP", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "data_collection_date", + "oldName": "tool_version", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 12, + "collationSchema": "pg_catalog", + "ordinalPosition": 23, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -31832,23 +32383,53 @@ }, { "objectType": "TableField_PGSQL", - "name": "issue_event_src_id", - "type": "int8", - "length": 64, + "name": "data_source", + "type": "varchar", + "length": 255, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "This ID comes from the source. In the case of GitHub, it is the id that is the first field returned from the issue events API", - "oldName": "issue_event_src_id", + "comment": "", + "oldName": "data_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 24, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_collection_date", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", + "comment": "", + "oldName": "data_collection_date", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 13, + "ordinalPosition": 25, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -31864,7 +32445,7 @@ "indexes": [ { "objectType": "Index_PGSQL", - "name": "issue-cntrb-idx2", + "name": "author_affiliation", "comment": "", "isClustered": false, "isConcurrently": false, @@ -31872,33 +32453,33 @@ "fastUpdate": "", "buffering": "", "fillFactor": -1, - "method": "BTree", + "method": "Hash", "tableSpaceName": "", "constraint": "", - "oldName": "issue-cntrb-idx2", - "oid": 203747, + "oldName": "author_affiliation", + "oid": 203520, "owner": "augur", "brinPagesPerRange": -1, "ginPendingListLimit": -1, - "tableName": "issue_events", - "size": "8", + "tableName": "commits", + "size": "32", "fields": [ { "objectType": "IndexField_PGSQL", - "name": "issue_event_src_id", - "collation": "", - "opClass": "int8_ops", + "name": "cmt_author_affiliation", + "collation": "default", + "opClass": "text_ops", "opClassSchema": "pg_catalog", "order": "ASC", "nullSort": "NULLS LAST", - "oldName": "issue_event_src_id", - "collationSchema": "" + "oldName": "cmt_author_affiliation", + "collationSchema": "pg_catalog" } ] }, { "objectType": "Index_PGSQL", - "name": "issue_events_ibfk_1", + "name": "author_cntrb_id", "comment": "", "isClustered": false, "isConcurrently": false, @@ -31909,30 +32490,30 @@ "method": "BTree", "tableSpaceName": "", "constraint": "", - "oldName": "issue_events_ibfk_1", - "oid": 203748, + "oldName": "author_cntrb_id", + "oid": 203523, "owner": "augur", "brinPagesPerRange": -1, "ginPendingListLimit": -1, - "tableName": "issue_events", + "tableName": "commits", "size": "8", "fields": [ { "objectType": "IndexField_PGSQL", - "name": "issue_id", + "name": "cmt_ght_author_id", "collation": "", - "opClass": "int8_ops", + "opClass": "int4_ops", "opClassSchema": "pg_catalog", "order": "ASC", "nullSort": "NULLS LAST", - "oldName": "issue_id", + "oldName": "cmt_ght_author_id", "collationSchema": "" } ] }, { "objectType": "Index_PGSQL", - "name": "issue_events_ibfk_2", + "name": "author_email,author_affiliation,author_date", "comment": "", "isClustered": false, "isConcurrently": false, @@ -31943,394 +32524,1007 @@ "method": "BTree", "tableSpaceName": "", "constraint": "", - "oldName": "issue_events_ibfk_2", - "oid": 203755, + "oldName": "author_email,author_affiliation,author_date", + "oid": 203526, "owner": "augur", "brinPagesPerRange": -1, "ginPendingListLimit": -1, - "tableName": "issue_events", + "tableName": "commits", "size": "8", "fields": [ { "objectType": "IndexField_PGSQL", - "name": "cntrb_id", - "collation": "", - "opClass": "int8_ops", + "name": "cmt_author_email", + "collation": "default", + "opClass": "text_ops", "opClassSchema": "pg_catalog", "order": "ASC", "nullSort": "NULLS LAST", - "oldName": "cntrb_id", - "collationSchema": "" + "oldName": "cmt_author_email", + "collationSchema": "pg_catalog" + }, + { + "objectType": "IndexField_PGSQL", + "name": "cmt_author_affiliation", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_author_affiliation", + "collationSchema": "pg_catalog" + }, + { + "objectType": "IndexField_PGSQL", + "name": "cmt_author_date", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_author_date", + "collationSchema": "pg_catalog" } ] - } - ], - "rules": [], - "primaryKey": { - "objectType": "PrimaryKey_PGSQL", - "name": "issue_events_pkey", - "fields": [ - "event_id" - ], - "fillFactor": -1, - "indexTablespace": "", - "comment": "", - "isDeferrable": false, - "isDeferred": false, - "oldName": "issue_events_pkey" - }, - "foreignKeys": [ + }, { - "objectType": "ForeignKey_PGSQL", - "name": "fk_issue_events_contributors_1", - "fields": [ - "cntrb_id" - ], - "referenceSchema": "augur_data", - "referenceTable": "contributors", - "referenceFields": [ - "cntrb_id" - ], - "onDelete": "RESTRICT", - "onUpdate": "CASCADE", + "objectType": "Index_PGSQL", + "name": "author_raw_email", "comment": "", - "isMatchFull": false, - "isDeferrable": true, - "isDeferred": false, - "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "OneAndOnlyOneRelationship", - "oldName": "fk_issue_events_contributors_1" + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "author_raw_email", + "oid": 203527, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "commits", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "cmt_author_raw_email", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_author_raw_email", + "collationSchema": "pg_catalog" + } + ] }, { - "objectType": "ForeignKey_PGSQL", - "name": "fk_issue_events_issues_1", - "fields": [ - "issue_id" - ], - "referenceSchema": "augur_data", - "referenceTable": "issues", - "referenceFields": [ - "issue_id" - ], - "onDelete": "RESTRICT", - "onUpdate": "CASCADE", + "objectType": "Index_PGSQL", + "name": "cmt-author-date-idx2", "comment": "", - "isMatchFull": false, - "isDeferrable": true, - "isDeferred": false, - "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "OneAndOnlyOneRelationship", - "oldName": "fk_issue_events_issues_1" - } - ], - "uniques": [], - "checks": [], - "excludes": [], - "triggers": [], - "partitionKeys": [], - "partitions": [] - }, - { - "objectType": "TableNormal_PGSQL", - "name": "issue_assignees", - "comment": "", - "tablespace": "", - "isUnlogged": false, - "owner": "augur", - "inheritFromTables": [], - "hasOIDs": false, - "fillFactor": -1, - "oldName": "issue_assignees", - "oid": 188311, - "rows": 0, - "isInheritTables": false, - "cluster": "", - "ACL": "", - "isPartition": false, - "partitioningStrategy": "None", - "partitionOfSchema": "", - "partitionOfTable": "", - "partitionListValues": [], - "partitionRangeFromValues": [], - "partitionRangeToValues": [], - "foreignServer": "", - "foreignOptionDisplay": "", - "fields": [ + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "cmt-author-date-idx2", + "oid": 203543, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "commits", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "cmt_author_date", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_author_date", + "collationSchema": "pg_catalog" + } + ] + }, { - "objectType": "TableField_PGSQL", - "name": "issue_assignee_id", - "type": "int8", - "length": 64, - "decimals": 0, - "dimensions": 0, - "collation": "", - "isNullable": false, - "defaultType": "Others", - "defaultValue": "nextval('augur_data.issue_assignees_issue_assignee_id_seq'::regclass)", + "objectType": "Index_PGSQL", + "name": "cmt-committer-date-idx3", "comment": "", - "oldName": "issue_assignee_id", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 1, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "cmt-committer-date-idx3", + "oid": 203544, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "commits", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "cmt_committer_date", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_committer_date", + "collationSchema": "pg_catalog" + } + ] }, { - "objectType": "TableField_PGSQL", - "name": "issue_id", - "type": "int8", - "length": 64, - "decimals": 0, - "dimensions": 0, - "collation": "", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "objectType": "Index_PGSQL", + "name": "cmt_author-name-idx5", "comment": "", - "oldName": "issue_id", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 2, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "cmt_author-name-idx5", + "oid": 203548, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "commits", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "cmt_committer_name", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_committer_name", + "collationSchema": "pg_catalog" + } + ] }, { - "objectType": "TableField_PGSQL", - "name": "cntrb_id", - "type": "int8", - "length": 64, - "decimals": 0, - "dimensions": 0, - "collation": "", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "objectType": "Index_PGSQL", + "name": "cmt_author_contrib_worker", "comment": "", - "oldName": "cntrb_id", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 3, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BRIN", + "tableSpaceName": "", + "constraint": "", + "oldName": "cmt_author_contrib_worker", + "oid": 203554, + "owner": "augur", + "brinPagesPerRange": 64, + "ginPendingListLimit": -1, + "tableName": "commits", + "size": "24", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "cmt_author_name", + "collation": "default", + "opClass": "text_minmax_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_author_name", + "collationSchema": "pg_catalog" + }, + { + "objectType": "IndexField_PGSQL", + "name": "cmt_author_email", + "collation": "default", + "opClass": "text_minmax_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_author_email", + "collationSchema": "pg_catalog" + }, + { + "objectType": "IndexField_PGSQL", + "name": "cmt_author_date", + "collation": "default", + "opClass": "text_minmax_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_author_date", + "collationSchema": "pg_catalog" + } + ] }, { - "objectType": "TableField_PGSQL", - "name": "tool_source", - "type": "varchar", - "length": 0, - "decimals": 0, - "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "objectType": "Index_PGSQL", + "name": "cmt_cmmter-name-idx4", "comment": "", - "oldName": "tool_source", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 4, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "cmt_cmmter-name-idx4", + "oid": 203565, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "commits", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "cmt_author_name", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_author_name", + "collationSchema": "pg_catalog" + } + ] }, { - "objectType": "TableField_PGSQL", - "name": "tool_version", - "type": "varchar", - "length": 0, - "decimals": 0, - "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "objectType": "Index_PGSQL", + "name": "cmt_commiter_contrib_worker", "comment": "", - "oldName": "tool_version", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 5, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BRIN", + "tableSpaceName": "", + "constraint": "", + "oldName": "cmt_commiter_contrib_worker", + "oid": 203585, + "owner": "augur", + "brinPagesPerRange": 64, + "ginPendingListLimit": -1, + "tableName": "commits", + "size": "24", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "cmt_committer_name", + "collation": "default", + "opClass": "text_minmax_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_committer_name", + "collationSchema": "pg_catalog" + }, + { + "objectType": "IndexField_PGSQL", + "name": "cmt_committer_email", + "collation": "default", + "opClass": "text_minmax_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_committer_email", + "collationSchema": "pg_catalog" + }, + { + "objectType": "IndexField_PGSQL", + "name": "cmt_committer_date", + "collation": "default", + "opClass": "text_minmax_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_committer_date", + "collationSchema": "pg_catalog" + } + ] }, { - "objectType": "TableField_PGSQL", - "name": "data_source", - "type": "varchar", - "length": 0, - "decimals": 0, - "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "objectType": "Index_PGSQL", + "name": "commited", "comment": "", - "oldName": "data_source", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 6, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "commited", + "oid": 203623, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "commits", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "cmt_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_id", + "collationSchema": "" + } + ] }, { - "objectType": "TableField_PGSQL", - "name": "data_collection_date", - "type": "timestamp", - "length": 0, - "decimals": 0, - "dimensions": 0, - "collation": "", - "isNullable": true, - "defaultType": "Others", - "defaultValue": "CURRENT_TIMESTAMP", + "objectType": "Index_PGSQL", + "name": "commits_idx_cmt_email_cmt_date_cmt_name", "comment": "", - "oldName": "data_collection_date", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 7, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "commits_idx_cmt_email_cmt_date_cmt_name", + "oid": 203636, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "commits", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "cmt_author_email", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_author_email", + "collationSchema": "pg_catalog" + }, + { + "objectType": "IndexField_PGSQL", + "name": "cmt_author_date", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_author_date", + "collationSchema": "pg_catalog" + }, + { + "objectType": "IndexField_PGSQL", + "name": "cmt_author_name", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_author_name", + "collationSchema": "pg_catalog" + } + ] }, { - "objectType": "TableField_PGSQL", - "name": "issue_assignee_src_id", - "type": "int8", - "length": 64, - "decimals": 0, - "dimensions": 0, - "collation": "", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "This ID comes from the source. In the case of GitHub, it is the id that is the first field returned from the issue events API in the issue_assignees embedded JSON object. We may discover it is an ID for the person themselves; but my hypothesis is that its not.", - "oldName": "issue_assignee_src_id", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 8, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false + "objectType": "Index_PGSQL", + "name": "commits_idx_cmt_email_cmt_date_cmt_name2", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "commits_idx_cmt_email_cmt_date_cmt_name2", + "oid": 203644, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "commits", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "cmt_committer_email", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_committer_email", + "collationSchema": "pg_catalog" + }, + { + "objectType": "IndexField_PGSQL", + "name": "cmt_committer_date", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_committer_date", + "collationSchema": "pg_catalog" + }, + { + "objectType": "IndexField_PGSQL", + "name": "cmt_committer_name", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_committer_name", + "collationSchema": "pg_catalog" + } + ] }, { - "objectType": "TableField_PGSQL", - "name": "issue_assignee_src_node", - "type": "varchar", - "length": 0, - "decimals": 0, - "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "This character based identifier comes from the source. In the case of GitHub, it is the id that is the second field returned from the issue events API in the issue_assignees embedded JSON object. We may discover it is an ID for the person themselves; but my hypothesis is that its not.", - "oldName": "issue_assignee_src_node", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 9, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": true, - "identityMaximum": 0, - "hasNoIdentityMaxValue": 0, - "isIdentityCycle": false - } - ], - "indexes": [ + "objectType": "Index_PGSQL", + "name": "commits_idx_cmt_name_cmt_date2", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "commits_idx_cmt_name_cmt_date2", + "oid": 203645, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "commits", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "cmt_author_name", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_author_name", + "collationSchema": "pg_catalog" + }, + { + "objectType": "IndexField_PGSQL", + "name": "cmt_author_date", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_author_date", + "collationSchema": "pg_catalog" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "commits_idx_cmt_name_cmt_date_cmt_date3", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "commits_idx_cmt_name_cmt_date_cmt_date3", + "oid": 203654, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "commits", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "cmt_committer_name", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_committer_name", + "collationSchema": "pg_catalog" + }, + { + "objectType": "IndexField_PGSQL", + "name": "cmt_author_date", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_author_date", + "collationSchema": "pg_catalog" + }, + { + "objectType": "IndexField_PGSQL", + "name": "cmt_committer_date", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_committer_date", + "collationSchema": "pg_catalog" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "commits_idx_repo_id_cmt_ema_cmt_dat_cmt_nam", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "commits_idx_repo_id_cmt_ema_cmt_dat_cmt_nam", + "oid": 203655, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "commits", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "repo_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "repo_id", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "cmt_author_email", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_author_email", + "collationSchema": "pg_catalog" + }, + { + "objectType": "IndexField_PGSQL", + "name": "cmt_author_date", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_author_date", + "collationSchema": "pg_catalog" + }, + { + "objectType": "IndexField_PGSQL", + "name": "cmt_author_name", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_author_name", + "collationSchema": "pg_catalog" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "commits_idx_repo_id_cmt_ema_cmt_dat_cmt_nam2", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "commits_idx_repo_id_cmt_ema_cmt_dat_cmt_nam2", + "oid": 203658, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "commits", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "repo_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "repo_id", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "cmt_committer_email", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_committer_email", + "collationSchema": "pg_catalog" + }, + { + "objectType": "IndexField_PGSQL", + "name": "cmt_committer_date", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_committer_date", + "collationSchema": "pg_catalog" + }, + { + "objectType": "IndexField_PGSQL", + "name": "cmt_committer_name", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_committer_name", + "collationSchema": "pg_catalog" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "commits_idx_repo_id_cmt_ema_cmt_nam_cmt_dat2", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "commits_idx_repo_id_cmt_ema_cmt_nam_cmt_dat2", + "oid": 203666, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "commits", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "repo_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "repo_id", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "cmt_author_email", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_author_email", + "collationSchema": "pg_catalog" + }, + { + "objectType": "IndexField_PGSQL", + "name": "cmt_author_name", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_author_name", + "collationSchema": "pg_catalog" + }, + { + "objectType": "IndexField_PGSQL", + "name": "cmt_author_date", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_author_date", + "collationSchema": "pg_catalog" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "commits_idx_repo_id_cmt_ema_cmt_nam_cmt_dat3", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "commits_idx_repo_id_cmt_ema_cmt_nam_cmt_dat3", + "oid": 203673, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "commits", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "repo_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "repo_id", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "cmt_committer_email", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_committer_email", + "collationSchema": "pg_catalog" + }, + { + "objectType": "IndexField_PGSQL", + "name": "cmt_committer_name", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_committer_name", + "collationSchema": "pg_catalog" + }, + { + "objectType": "IndexField_PGSQL", + "name": "cmt_author_date", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_author_date", + "collationSchema": "pg_catalog" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "committer_affiliation", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "committer_affiliation", + "oid": 203676, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "commits", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "cmt_committer_affiliation", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_committer_affiliation", + "collationSchema": "pg_catalog" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "committer_cntrb_id", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "committer_cntrb_id", + "oid": 203679, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "commits", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "cmt_ght_committer_id", + "collation": "", + "opClass": "int4_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_ght_committer_id", + "collationSchema": "" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "committer_email,committer_affiliation,committer_date", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "committer_email,committer_affiliation,committer_date", + "oid": 203680, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "commits", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "cmt_committer_email", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_committer_email", + "collationSchema": "pg_catalog" + }, + { + "objectType": "IndexField_PGSQL", + "name": "cmt_committer_affiliation", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_committer_affiliation", + "collationSchema": "pg_catalog" + }, + { + "objectType": "IndexField_PGSQL", + "name": "cmt_committer_date", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_committer_date", + "collationSchema": "pg_catalog" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "committer_raw_email", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "committer_raw_email", + "oid": 203686, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "commits", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "cmt_committer_raw_email", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_committer_raw_email", + "collationSchema": "pg_catalog" + } + ] + }, { "objectType": "Index_PGSQL", - "name": "issue-cntrb-assign-idx-1", + "name": "repo_id,commit", "comment": "", "isClustered": false, "isConcurrently": false, @@ -32341,24 +33535,35 @@ "method": "BTree", "tableSpaceName": "", "constraint": "", - "oldName": "issue-cntrb-assign-idx-1", - "oid": 203731, + "oldName": "repo_id,commit", + "oid": 203888, "owner": "augur", "brinPagesPerRange": -1, "ginPendingListLimit": -1, - "tableName": "issue_assignees", + "tableName": "commits", "size": "8", "fields": [ { "objectType": "IndexField_PGSQL", - "name": "cntrb_id", + "name": "repo_id", "collation": "", "opClass": "int8_ops", "opClassSchema": "pg_catalog", "order": "ASC", "nullSort": "NULLS LAST", - "oldName": "cntrb_id", + "oldName": "repo_id", "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "cmt_commit_hash", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_commit_hash", + "collationSchema": "pg_catalog" } ] } @@ -32366,23 +33571,23 @@ "rules": [], "primaryKey": { "objectType": "PrimaryKey_PGSQL", - "name": "issue_assignees_pkey", + "name": "commits_pkey", "fields": [ - "issue_assignee_id" + "cmt_id" ], "fillFactor": -1, "indexTablespace": "", "comment": "", "isDeferrable": false, "isDeferred": false, - "oldName": "issue_assignees_pkey" + "oldName": "commits_pkey" }, "foreignKeys": [ { "objectType": "ForeignKey_PGSQL", - "name": "fk_issue_assignees_contributors_1", + "name": "fk_commits_contributors_1", "fields": [ - "cntrb_id" + "cmt_ght_author_id" ], "referenceSchema": "augur_data", "referenceTable": "contributors", @@ -32397,18 +33602,18 @@ "isDeferred": false, "sourceCardinality": "ZeroOrManyRelationship", "targetCardinality": "ZeroOrOneRelationship", - "oldName": "fk_issue_assignees_contributors_1" + "oldName": "fk_commits_contributors_1" }, { "objectType": "ForeignKey_PGSQL", - "name": "fk_issue_assignees_issues_1", + "name": "fk_commits_contributors_2", "fields": [ - "issue_id" + "cmt_ght_committer_id" ], "referenceSchema": "augur_data", - "referenceTable": "issues", + "referenceTable": "contributors", "referenceFields": [ - "issue_id" + "cntrb_id" ], "onDelete": "RESTRICT", "onUpdate": "CASCADE", @@ -32418,7 +33623,28 @@ "isDeferred": false, "sourceCardinality": "ZeroOrManyRelationship", "targetCardinality": "ZeroOrOneRelationship", - "oldName": "fk_issue_assignees_issues_1" + "oldName": "fk_commits_contributors_2" + }, + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_commits_repo_1", + "fields": [ + "repo_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "repo", + "referenceFields": [ + "repo_id" + ], + "onDelete": "RESTRICT", + "onUpdate": "CASCADE", + "comment": "", + "isMatchFull": false, + "isDeferrable": true, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "OneAndOnlyOneRelationship", + "oldName": "fk_commits_repo_1" } ], "uniques": [], @@ -32430,7 +33656,7 @@ }, { "objectType": "TableNormal_PGSQL", - "name": "issues", + "name": "commit_comment_ref", "comment": "", "tablespace": "", "isUnlogged": false, @@ -32438,8 +33664,8 @@ "inheritFromTables": [], "hasOIDs": false, "fillFactor": -1, - "oldName": "issues", - "oid": 188973, + "oldName": "commit_comment_ref", + "oid": 186432, "rows": 0, "isInheritTables": false, "cluster": "", @@ -32456,7 +33682,7 @@ "fields": [ { "objectType": "TableField_PGSQL", - "name": "issue_id", + "name": "cmt_comment_id", "type": "int8", "length": 64, "decimals": 0, @@ -32464,9 +33690,9 @@ "collation": "", "isNullable": false, "defaultType": "Others", - "defaultValue": "nextval('augur_data.issue_seq'::regclass)", + "defaultValue": "nextval('augur_data.commit_comment_ref_cmt_comment_id_seq'::regclass)", "comment": "", - "oldName": "issue_id", + "oldName": "cmt_comment_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -32486,17 +33712,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "repo_id", + "name": "cmt_id", "type": "int8", "length": 64, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": true, + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "repo_id", + "oldName": "cmt_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -32516,17 +33742,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "reporter_id", + "name": "msg_id", "type": "int8", "length": 64, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": true, + "isNullable": false, "defaultType": "None", "defaultValue": "", - "comment": "The ID of the person who opened the issue. ", - "oldName": "reporter_id", + "comment": "", + "oldName": "msg_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -32546,17 +33772,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "pull_request", + "name": "user_id", "type": "int8", "length": 64, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": true, + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pull_request", + "oldName": "user_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -32576,97 +33802,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "pull_request_id", - "type": "int8", - "length": 64, - "decimals": 0, - "dimensions": 0, - "collation": "", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "pull_request_id", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 5, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "created_at", - "type": "timestamp", - "length": 0, - "decimals": 0, - "dimensions": 0, - "collation": "", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "created_at", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 6, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "issue_title", - "type": "varchar", - "length": 500, - "decimals": 0, - "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "issue_title", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 7, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "issue_body", + "name": "body", "type": "text", "length": 0, "decimals": 0, @@ -32676,13 +33812,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "issue_body", + "oldName": "body", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 8, + "ordinalPosition": 5, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -32696,7 +33832,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "cntrb_id", + "name": "line", "type": "int8", "length": 64, "decimals": 0, @@ -32705,14 +33841,14 @@ "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "The ID of the person who closed the issue. ", - "oldName": "cntrb_id", + "comment": "", + "oldName": "line", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 9, + "ordinalPosition": 6, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -32726,7 +33862,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "comment_count", + "name": "position", "type": "int8", "length": 64, "decimals": 0, @@ -32736,313 +33872,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "comment_count", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 10, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "updated_at", - "type": "timestamp", - "length": 0, - "decimals": 0, - "dimensions": 0, - "collation": "", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "updated_at", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 11, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "closed_at", - "type": "timestamp", - "length": 0, - "decimals": 0, - "dimensions": 0, - "collation": "", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "closed_at", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 12, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "due_on", - "type": "timestamp", - "length": 0, - "decimals": 0, - "dimensions": 0, - "collation": "", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "due_on", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 13, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "repository_url", - "type": "varchar", - "length": 4000, - "decimals": 0, - "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "repository_url", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 14, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "issue_url", - "type": "varchar", - "length": 4000, - "decimals": 0, - "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "issue_url", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 15, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "labels_url", - "type": "varchar", - "length": 4000, - "decimals": 0, - "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "labels_url", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 16, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "comments_url", - "type": "varchar", - "length": 4000, - "decimals": 0, - "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "comments_url", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 17, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "events_url", - "type": "varchar", - "length": 4000, - "decimals": 0, - "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "events_url", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 18, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "html_url", - "type": "varchar", - "length": 4000, - "decimals": 0, - "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "html_url", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 19, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "issue_state", - "type": "varchar", - "length": 255, - "decimals": 0, - "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "issue_state", + "oldName": "position", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 20, + "collationSchema": "", + "ordinalPosition": 7, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -33056,23 +33892,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "issue_node_id", - "type": "varchar", + "name": "created_at", + "type": "timestamp", "length": 0, "decimals": 0, "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", "comment": "", - "oldName": "issue_node_id", + "oldName": "created_at", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 21, + "collationSchema": "", + "ordinalPosition": 8, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -33086,23 +33922,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "gh_issue_id", - "type": "int8", - "length": 64, + "name": "commit_comment_src_node_id", + "type": "varchar", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "", - "oldName": "gh_issue_id", + "comment": "For data provenance, we store the source node ID if it exists. ", + "oldName": "commit_comment_src_node_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 22, + "collationSchema": "pg_catalog", + "ordinalPosition": 14, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -33116,23 +33952,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "gh_user_id", + "name": "cmt_comment_src_id", "type": "int8", "length": 64, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": true, + "isNullable": false, "defaultType": "None", "defaultValue": "", - "comment": "", - "oldName": "gh_user_id", + "comment": "For data provenance, we store the source ID if it exists. ", + "oldName": "cmt_comment_src_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 23, + "ordinalPosition": 13, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -33162,7 +33998,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 24, + "ordinalPosition": 9, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -33192,7 +34028,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 25, + "ordinalPosition": 10, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -33222,7 +34058,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 26, + "ordinalPosition": 11, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -33252,37 +34088,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 27, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "gh_issue_number", - "type": "int8", - "length": 64, - "decimals": 0, - "dimensions": 0, - "collation": "", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "gh_issue_number", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 28, + "ordinalPosition": 12, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -33298,41 +34104,7 @@ "indexes": [ { "objectType": "Index_PGSQL", - "name": "issue-cntrb-dix2", - "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "issue-cntrb-dix2", - "oid": 203732, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "issues", - "size": "8", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "cntrb_id", - "collation": "", - "opClass": "int8_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cntrb_id", - "collationSchema": "" - } - ] - }, - { - "objectType": "Index_PGSQL", - "name": "issues_ibfk_1", + "name": "comment_id", "comment": "", "isClustered": false, "isConcurrently": false, @@ -33343,91 +34115,45 @@ "method": "BTree", "tableSpaceName": "", "constraint": "", - "oldName": "issues_ibfk_1", - "oid": 203756, + "oldName": "comment_id", + "oid": 203609, "owner": "augur", "brinPagesPerRange": -1, "ginPendingListLimit": -1, - "tableName": "issues", + "tableName": "commit_comment_ref", "size": "8", "fields": [ { "objectType": "IndexField_PGSQL", - "name": "repo_id", + "name": "cmt_comment_src_id", "collation": "", "opClass": "int8_ops", "opClassSchema": "pg_catalog", "order": "ASC", "nullSort": "NULLS LAST", - "oldName": "repo_id", + "oldName": "cmt_comment_src_id", "collationSchema": "" - } - ] - }, - { - "objectType": "Index_PGSQL", - "name": "issues_ibfk_2", - "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "issues_ibfk_2", - "oid": 203759, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "issues", - "size": "8", - "fields": [ + }, { "objectType": "IndexField_PGSQL", - "name": "reporter_id", + "name": "cmt_comment_id", "collation": "", "opClass": "int8_ops", "opClassSchema": "pg_catalog", "order": "ASC", "nullSort": "NULLS LAST", - "oldName": "reporter_id", + "oldName": "cmt_comment_id", "collationSchema": "" - } - ] - }, - { - "objectType": "Index_PGSQL", - "name": "issues_ibfk_4", - "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "issues_ibfk_4", - "oid": 203760, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "issues", - "size": "8", - "fields": [ + }, { "objectType": "IndexField_PGSQL", - "name": "pull_request_id", + "name": "msg_id", "collation": "", "opClass": "int8_ops", "opClassSchema": "pg_catalog", "order": "ASC", "nullSort": "NULLS LAST", - "oldName": "pull_request_id", + "oldName": "msg_id", "collationSchema": "" } ] @@ -33436,83 +34162,78 @@ "rules": [], "primaryKey": { "objectType": "PrimaryKey_PGSQL", - "name": "issues_pkey", + "name": "commit_comment_ref_pkey", "fields": [ - "issue_id" + "cmt_comment_id" ], "fillFactor": -1, "indexTablespace": "", "comment": "", "isDeferrable": false, "isDeferred": false, - "oldName": "issues_pkey" + "oldName": "commit_comment_ref_pkey" }, "foreignKeys": [ { "objectType": "ForeignKey_PGSQL", - "name": "fk_issues_contributors_1", + "name": "fk_commit_comment_ref_commits_1", "fields": [ - "cntrb_id" + "cmt_id" ], "referenceSchema": "augur_data", - "referenceTable": "contributors", + "referenceTable": "commits", "referenceFields": [ - "cntrb_id" + "cmt_id" ], - "onDelete": "RESTRICT", - "onUpdate": "CASCADE", + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", "comment": "", "isMatchFull": false, - "isDeferrable": true, + "isDeferrable": false, "isDeferred": false, "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "ZeroOrOneRelationship", - "oldName": "fk_issues_contributors_1" + "targetCardinality": "OneAndOnlyOneRelationship", + "oldName": "fk_commit_comment_ref_commits_1" }, { "objectType": "ForeignKey_PGSQL", - "name": "fk_issues_contributors_2", + "name": "fk_commit_comment_ref_message_1", "fields": [ - "reporter_id" + "msg_id" ], "referenceSchema": "augur_data", - "referenceTable": "contributors", + "referenceTable": "message", "referenceFields": [ - "cntrb_id" + "msg_id" ], - "onDelete": "RESTRICT", - "onUpdate": "CASCADE", + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", "comment": "", "isMatchFull": false, - "isDeferrable": true, + "isDeferrable": false, "isDeferred": false, "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "ZeroOrOneRelationship", - "oldName": "fk_issues_contributors_2" - }, + "targetCardinality": "OneAndOnlyOneRelationship", + "oldName": "fk_commit_comment_ref_message_1" + } + ], + "uniques": [ { - "objectType": "ForeignKey_PGSQL", - "name": "fk_issues_repo", + "objectType": "Unique_PGSQL", + "name": "commitcomment", "fields": [ - "repo_id" - ], - "referenceSchema": "augur_data", - "referenceTable": "repo", - "referenceFields": [ - "repo_id" + "cmt_id", + "msg_id", + "cmt_comment_id" ], - "onDelete": "RESTRICT", - "onUpdate": "CASCADE", + "fillFactor": -1, + "indexTablespace": "", "comment": "", - "isMatchFull": false, - "isDeferrable": true, + "isDeferrable": false, "isDeferred": false, - "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "ZeroOrOneRelationship", - "oldName": "fk_issues_repo" + "oldName": "commitcomment" } ], - "uniques": [], "checks": [], "excludes": [], "triggers": [], @@ -33521,7 +34242,7 @@ }, { "objectType": "TableNormal_PGSQL", - "name": "message", + "name": "pull_request_assignees", "comment": "", "tablespace": "", "isUnlogged": false, @@ -33529,8 +34250,8 @@ "inheritFromTables": [], "hasOIDs": false, "fillFactor": -1, - "oldName": "message", - "oid": 189724, + "oldName": "pull_request_assignees", + "oid": 190434, "rows": 0, "isInheritTables": false, "cluster": "", @@ -33547,7 +34268,7 @@ "fields": [ { "objectType": "TableField_PGSQL", - "name": "msg_id", + "name": "pr_assignee_map_id", "type": "int8", "length": 64, "decimals": 0, @@ -33555,9 +34276,9 @@ "collation": "", "isNullable": false, "defaultType": "Others", - "defaultValue": "nextval('augur_data.message_msg_id_seq'::regclass)", + "defaultValue": "nextval('augur_data.pull_request_assignees_pr_assignee_map_id_seq'::regclass)", "comment": "", - "oldName": "msg_id", + "oldName": "pr_assignee_map_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -33577,7 +34298,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "rgls_id", + "name": "pull_request_id", "type": "int8", "length": 64, "decimals": 0, @@ -33587,7 +34308,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "rgls_id", + "oldName": "pull_request_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -33607,39 +34328,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "msg_text", - "type": "text", - "length": 0, - "decimals": 0, - "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "msg_text", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 3, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "msg_timestamp", - "type": "timestamp", - "length": 0, + "name": "contrib_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, "collation": "", @@ -33647,73 +34338,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "msg_timestamp", + "oldName": "contrib_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 4, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "msg_sender_email", - "type": "varchar", - "length": 255, - "decimals": 0, - "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "msg_sender_email", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 5, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "msg_header", - "type": "varchar", - "length": 4000, - "decimals": 0, - "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "msg_header", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 6, + "ordinalPosition": 3, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -33727,23 +34358,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "pltfrm_id", + "name": "pr_assignee_src_id", "type": "int8", "length": 64, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": false, + "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pltfrm_id", + "oldName": "pr_assignee_src_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 7, + "ordinalPosition": 8, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -33773,7 +34404,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 8, + "ordinalPosition": 4, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -33803,7 +34434,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 9, + "ordinalPosition": 5, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -33833,7 +34464,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 10, + "ordinalPosition": 6, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -33863,132 +34494,23 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 11, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "cntrb_id", - "type": "int8", - "length": 64, - "decimals": 0, - "dimensions": 0, - "collation": "", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "Not populated for mailing lists. Populated for GitHub issues. ", - "oldName": "cntrb_id", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 12, + "ordinalPosition": 7, "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - } - ], - "indexes": [ - { - "objectType": "Index_PGSQL", - "name": "messagegrouper", - "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": true, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "messagegrouper", - "oid": 203787, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "message", - "size": "8", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "msg_id", - "collation": "", - "opClass": "int8_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "msg_id", - "collationSchema": "" - }, - { - "objectType": "IndexField_PGSQL", - "name": "rgls_id", - "collation": "", - "opClass": "int8_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "rgls_id", - "collationSchema": "" - } - ] - }, - { - "objectType": "Index_PGSQL", - "name": "msg-cntrb-id-idx", - "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "msg-cntrb-id-idx", - "oid": 203788, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "message", - "size": "8", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "cntrb_id", - "collation": "", - "opClass": "int8_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cntrb_id", - "collationSchema": "" - } - ] - }, + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [ { "objectType": "Index_PGSQL", - "name": "platformgrouper", + "name": "pr_meta_cntrb-idx", "comment": "", "isClustered": false, "isConcurrently": false, @@ -33999,34 +34521,23 @@ "method": "BTree", "tableSpaceName": "", "constraint": "", - "oldName": "platformgrouper", - "oid": 203792, + "oldName": "pr_meta_cntrb-idx", + "oid": 203821, "owner": "augur", "brinPagesPerRange": -1, "ginPendingListLimit": -1, - "tableName": "message", + "tableName": "pull_request_assignees", "size": "8", "fields": [ { "objectType": "IndexField_PGSQL", - "name": "msg_id", - "collation": "", - "opClass": "int8_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "msg_id", - "collationSchema": "" - }, - { - "objectType": "IndexField_PGSQL", - "name": "pltfrm_id", + "name": "contrib_id", "collation": "", "opClass": "int8_ops", "opClassSchema": "pg_catalog", "order": "ASC", "nullSort": "NULLS LAST", - "oldName": "pltfrm_id", + "oldName": "contrib_id", "collationSchema": "" } ] @@ -34035,23 +34546,23 @@ "rules": [], "primaryKey": { "objectType": "PrimaryKey_PGSQL", - "name": "message_pkey", + "name": "pull_request_assignees_pkey", "fields": [ - "msg_id" + "pr_assignee_map_id" ], "fillFactor": -1, "indexTablespace": "", "comment": "", "isDeferrable": false, "isDeferred": false, - "oldName": "message_pkey" + "oldName": "pull_request_assignees_pkey" }, "foreignKeys": [ { "objectType": "ForeignKey_PGSQL", - "name": "fk_message_contributors_1", + "name": "fk_pull_request_assignees_contributors_1", "fields": [ - "cntrb_id" + "contrib_id" ], "referenceSchema": "augur_data", "referenceTable": "contributors", @@ -34066,39 +34577,18 @@ "isDeferred": false, "sourceCardinality": "ZeroOrManyRelationship", "targetCardinality": "ZeroOrOneRelationship", - "oldName": "fk_message_contributors_1" - }, - { - "objectType": "ForeignKey_PGSQL", - "name": "fk_message_platform_1", - "fields": [ - "pltfrm_id" - ], - "referenceSchema": "augur_data", - "referenceTable": "platform", - "referenceFields": [ - "pltfrm_id" - ], - "onDelete": "RESTRICT", - "onUpdate": "CASCADE", - "comment": "", - "isMatchFull": false, - "isDeferrable": true, - "isDeferred": false, - "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "OneAndOnlyOneRelationship", - "oldName": "fk_message_platform_1" + "oldName": "fk_pull_request_assignees_contributors_1" }, { "objectType": "ForeignKey_PGSQL", - "name": "fk_message_repo_groups_list_serve_1", + "name": "fk_pull_request_assignees_pull_requests_1", "fields": [ - "rgls_id" + "pull_request_id" ], "referenceSchema": "augur_data", - "referenceTable": "repo_groups_list_serve", + "referenceTable": "pull_requests", "referenceFields": [ - "rgls_id" + "pull_request_id" ], "onDelete": "RESTRICT", "onUpdate": "CASCADE", @@ -34108,39 +34598,10 @@ "isDeferred": false, "sourceCardinality": "ZeroOrManyRelationship", "targetCardinality": "ZeroOrOneRelationship", - "oldName": "fk_message_repo_groups_list_serve_1" - } - ], - "uniques": [ - { - "objectType": "Unique_PGSQL", - "name": "REPOGROUPLISTER", - "fields": [ - "msg_id", - "rgls_id" - ], - "fillFactor": -1, - "indexTablespace": "", - "comment": "", - "isDeferrable": false, - "isDeferred": false, - "oldName": "REPOGROUPLISTER" - }, - { - "objectType": "Unique_PGSQL", - "name": "platformer", - "fields": [ - "msg_id", - "pltfrm_id" - ], - "fillFactor": -1, - "indexTablespace": "", - "comment": "", - "isDeferrable": false, - "isDeferred": false, - "oldName": "platformer" + "oldName": "fk_pull_request_assignees_pull_requests_1" } ], + "uniques": [], "checks": [], "excludes": [], "triggers": [], @@ -34149,16 +34610,16 @@ }, { "objectType": "TableNormal_PGSQL", - "name": "contributors_aliases", - "comment": "An alias will need to be created for every contributor in this model, otherwise we will have to look in 2 places. ", + "name": "pull_request_commits", + "comment": "Pull request commits are an enumeration of each commit associated with a pull request. \nNot all pull requests are from a branch or fork into master. \nThe commits table intends to count only commits that end up in the master branch (i.e., part of the deployed code base for a project).\nTherefore, there will be commit “SHA”’s in this table that are no associated with a commit SHA in the commits table. \nIn cases where the PR is to the master branch of a project, you will find a match. In cases where the PR does not involve the master branch, you will not find a corresponding commit SHA in the commits table. This is expected. ", "tablespace": "", "isUnlogged": false, "owner": "augur", "inheritFromTables": [], "hasOIDs": false, "fillFactor": -1, - "oldName": "contributors_aliases", - "oid": 187257, + "oldName": "pull_request_commits", + "oid": 190491, "rows": 0, "isInheritTables": false, "cluster": "", @@ -34175,17 +34636,17 @@ "fields": [ { "objectType": "TableField_PGSQL", - "name": "cntrb_id", + "name": "pr_cmt_id", "type": "int8", "length": 64, "decimals": 0, "dimensions": 0, "collation": "", "isNullable": false, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "nextval('augur_data.pull_request_commits_pr_cmt_id_seq'::regclass)", "comment": "", - "oldName": "cntrb_id", + "oldName": "pr_cmt_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -34205,17 +34666,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "cntrb_a_id", + "name": "pull_request_id", "type": "int8", "length": 64, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": false, - "defaultType": "Others", - "defaultValue": "nextval('augur_data.contributors_aliases_cntrb_a_id_seq'::regclass)", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "cntrb_a_id", + "oldName": "pull_request_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -34235,17 +34696,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "canonical_email", + "name": "pr_cmt_sha", "type": "varchar", "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", - "isNullable": false, + "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "", - "oldName": "canonical_email", + "comment": "This is the commit SHA for a pull request commit. If the PR is not to the master branch of the main repository (or, in rare cases, from it), then you will NOT find a corresponding commit SHA in the commit table. (see table comment for further explanation). ", + "oldName": "pr_cmt_sha", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -34265,17 +34726,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "alias_email", + "name": "pr_cmt_node_id", "type": "varchar", - "length": 128, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", - "isNullable": false, + "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "alias_email", + "oldName": "pr_cmt_node_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -34295,23 +34756,53 @@ }, { "objectType": "TableField_PGSQL", - "name": "cntrb_active", - "type": "int2", - "length": 16, + "name": "pr_cmt_message", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_cmt_message", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 5, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_cmt_comments_url", + "type": "varbit", + "length": 0, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": false, - "defaultType": "Others", - "defaultValue": "1", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "cntrb_active", + "oldName": "pr_cmt_comments_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 5, + "ordinalPosition": 6, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -34325,23 +34816,83 @@ }, { "objectType": "TableField_PGSQL", - "name": "cntrb_last_modified", + "name": "pr_cmt_author_cntrb_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_cmt_author_cntrb_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 11, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_cmt_timestamp", "type": "timestamp", "length": 0, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": false, - "defaultType": "Others", - "defaultValue": "CURRENT_TIMESTAMP", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "cntrb_last_modified", + "oldName": "pr_cmt_timestamp", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 6, + "ordinalPosition": 12, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_cmt_author_email", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_cmt_author_email", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 13, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -34357,7 +34908,7 @@ "objectType": "TableField_PGSQL", "name": "tool_source", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", @@ -34387,7 +34938,7 @@ "objectType": "TableField_PGSQL", "name": "tool_version", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", @@ -34417,7 +34968,7 @@ "objectType": "TableField_PGSQL", "name": "data_source", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", @@ -34474,223 +35025,63 @@ "isIdentityCycle": false } ], - "indexes": [ - { - "objectType": "Index_PGSQL", - "name": "alias,active", - "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "alias,active", - "oid": 203516, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "contributors_aliases", - "size": "8", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "alias_email", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "alias_email", - "collationSchema": "pg_catalog" - }, - { - "objectType": "IndexField_PGSQL", - "name": "cntrb_active", - "collation": "", - "opClass": "int2_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cntrb_active", - "collationSchema": "" - } - ] - }, - { - "objectType": "Index_PGSQL", - "name": "canonical,alias", - "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": true, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "canonical,alias", - "oid": 203538, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "contributors_aliases", - "size": "8", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "canonical_email", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "canonical_email", - "collationSchema": "pg_catalog" - }, - { - "objectType": "IndexField_PGSQL", - "name": "alias_email", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "alias_email", - "collationSchema": "pg_catalog" - } - ] - }, - { - "objectType": "Index_PGSQL", - "name": "issue-alias-cntrb-idx1", - "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "issue-alias-cntrb-idx1", - "oid": 203725, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "contributors_aliases", - "size": "8", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "cntrb_id", - "collation": "", - "opClass": "int8_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cntrb_id", - "collationSchema": "" - } - ] - }, - { - "objectType": "Index_PGSQL", - "name": "issue-alias-cntrb-idx2", - "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "issue-alias-cntrb-idx2", - "oid": 203728, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "contributors_aliases", - "size": "8", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "cntrb_a_id", - "collation": "", - "opClass": "int8_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cntrb_a_id", - "collationSchema": "" - } - ] - } - ], + "indexes": [], "rules": [], "primaryKey": { "objectType": "PrimaryKey_PGSQL", - "name": "contributors_aliases_pkey", + "name": "pull_request_commits_pkey", "fields": [ - "cntrb_id", - "cntrb_a_id" + "pr_cmt_id" ], "fillFactor": -1, "indexTablespace": "", "comment": "", "isDeferrable": false, "isDeferred": false, - "oldName": "contributors_aliases_pkey" + "oldName": "pull_request_commits_pkey" }, "foreignKeys": [ { "objectType": "ForeignKey_PGSQL", - "name": "fk_alias_id", + "name": "fk_pr_commit_cntrb_id", "fields": [ - "cntrb_a_id" + "pr_cmt_author_cntrb_id" ], "referenceSchema": "augur_data", "referenceTable": "contributors", "referenceFields": [ "cntrb_id" ], - "onDelete": "CASCADE", + "onDelete": "RESTRICT", "onUpdate": "CASCADE", "comment": "", "isMatchFull": false, "isDeferrable": true, "isDeferred": false, "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "OneAndOnlyOneRelationship", - "oldName": "fk_alias_id" + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_pr_commit_cntrb_id" }, { "objectType": "ForeignKey_PGSQL", - "name": "fk_contributors_aliases_contributors_1", + "name": "fk_pull_request_commits_pull_requests_1", "fields": [ - "cntrb_id" + "pull_request_id" ], "referenceSchema": "augur_data", - "referenceTable": "contributors", + "referenceTable": "pull_requests", "referenceFields": [ - "cntrb_id" + "pull_request_id" ], - "onDelete": "CASCADE", + "onDelete": "RESTRICT", "onUpdate": "CASCADE", "comment": "", "isMatchFull": false, "isDeferrable": true, "isDeferred": false, "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "OneAndOnlyOneRelationship", - "oldName": "fk_contributors_aliases_contributors_1" + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_pull_request_commits_pull_requests_1" } ], "uniques": [], @@ -34702,17 +35093,17 @@ }, { "objectType": "TableNormal_PGSQL", - "name": "contributor_repo", - "comment": "Developed in Partnership with Andrew Brain. \nFrom: [\n {\n \"login\": \"octocat\",\n \"id\": 1,\n \"node_id\": \"MDQ6VXNlcjE=\",\n \"avatar_url\": \"https://github.com/images/error/octocat_happy.gif\",\n \"gravatar_id\": \"\",\n \"url\": \"https://api.github.com/users/octocat\",\n \"html_url\": \"https://github.com/octocat\",\n \"followers_url\": \"https://api.github.com/users/octocat/followers\",\n \"following_url\": \"https://api.github.com/users/octocat/following{/other_user}\",\n \"gists_url\": \"https://api.github.com/users/octocat/gists{/gist_id}\",\n \"starred_url\": \"https://api.github.com/users/octocat/starred{/owner}{/repo}\",\n \"subscriptions_url\": \"https://api.github.com/users/octocat/subscriptions\",\n \"organizations_url\": \"https://api.github.com/users/octocat/orgs\",\n \"repos_url\": \"https://api.github.com/users/octocat/repos\",\n \"events_url\": \"https://api.github.com/users/octocat/events{/privacy}\",\n \"received_events_url\": \"https://api.github.com/users/octocat/received_events\",\n \"type\": \"User\",\n \"site_admin\": false\n }\n]\n", + "name": "contributors", + "comment": "For GitHub, this should be repeated from gh_login. for other systems, it should be that systems login. ", "tablespace": "", "isUnlogged": false, "owner": "augur", "inheritFromTables": [], "hasOIDs": false, "fillFactor": -1, - "oldName": "contributor_repo", - "oid": 186822, - "rows": 0, + "oldName": "contributors", + "oid": 187051, + "rows": 1, "isInheritTables": false, "cluster": "", "ACL": "", @@ -34728,7 +35119,7 @@ "fields": [ { "objectType": "TableField_PGSQL", - "name": "cntrb_repo_id", + "name": "cntrb_id", "type": "int8", "length": 64, "decimals": 0, @@ -34736,9 +35127,9 @@ "collation": "", "isNullable": false, "defaultType": "Others", - "defaultValue": "nextval('augur_data.contributor_repo_cntrb_repo_id_seq'::regclass)", + "defaultValue": "nextval('augur_data.contributors_cntrb_id_seq'::regclass)", "comment": "", - "oldName": "cntrb_repo_id", + "oldName": "cntrb_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -34758,22 +35149,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "cntrb_id", - "type": "int8", - "length": 64, + "name": "cntrb_login", + "type": "varchar", + "length": 255, "decimals": 0, "dimensions": 0, - "collation": "", - "isNullable": false, + "collation": "default", + "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "This is not null because what is the point without the contributor in this table? ", - "oldName": "cntrb_id", + "comment": "Will be a double population with the same value as gh_login for github, but the local value for other systems. ", + "oldName": "cntrb_login", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 2, "foreignOptions": [], "isIdentity": false, @@ -34788,17 +35179,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "repo_git", + "name": "cntrb_email", "type": "varchar", "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", - "isNullable": false, + "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "Similar to cntrb_id, we need this data for the table to have meaningful data. ", - "oldName": "repo_git", + "comment": "This needs to be here for matching contributor ids, which are augur, to the commit information. ", + "oldName": "cntrb_email", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -34818,17 +35209,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "cntrb_category", + "name": "cntrb_company", "type": "varchar", "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "NULL::character varying", "comment": "", - "oldName": "cntrb_category", + "oldName": "cntrb_company", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -34848,22 +35239,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_source", - "type": "varchar", + "name": "cntrb_created_at", + "type": "timestamp", "length": 0, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "tool_source", + "oldName": "cntrb_created_at", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 5, "foreignOptions": [], "isIdentity": false, @@ -34878,17 +35269,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_version", + "name": "cntrb_type", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "", - "oldName": "tool_version", + "comment": "Present in another models. It is not currently used in Augur. ", + "oldName": "cntrb_type", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -34908,22 +35299,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_source", - "type": "varchar", - "length": 0, + "name": "cntrb_fake", + "type": "int2", + "length": 16, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "0", "comment": "", - "oldName": "data_source", + "oldName": "cntrb_fake", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 7, "foreignOptions": [], "isIdentity": false, @@ -34938,17 +35329,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_collection_date", - "type": "timestamp", - "length": 0, + "name": "cntrb_deleted", + "type": "int2", + "length": 16, "decimals": 0, "dimensions": 0, "collation": "", "isNullable": true, "defaultType": "Others", - "defaultValue": "CURRENT_TIMESTAMP", + "defaultValue": "0", "comment": "", - "oldName": "data_collection_date", + "oldName": "cntrb_deleted", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -34968,22 +35359,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "repo_name", - "type": "varchar", - "length": 255, - "decimals": 0, + "name": "cntrb_long", + "type": "numeric", + "length": 11, + "decimals": 8, "dimensions": 0, - "collation": "default", - "isNullable": false, - "defaultType": "None", - "defaultValue": "", + "collation": "", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "NULL::numeric", "comment": "", - "oldName": "repo_name", + "oldName": "cntrb_long", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 9, "foreignOptions": [], "isIdentity": false, @@ -34998,17 +35389,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "event_id", - "type": "int8", - "length": 64, - "decimals": 0, + "name": "cntrb_lat", + "type": "numeric", + "length": 10, + "decimals": 8, "dimensions": 0, "collation": "", "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "NULL::numeric", "comment": "", - "oldName": "event_id", + "oldName": "cntrb_lat", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -35028,22 +35419,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "gh_repo_id", - "type": "int8", - "length": 64, + "name": "cntrb_country_code", + "type": "char", + "length": 3, "decimals": 0, "dimensions": 0, - "collation": "", - "isNullable": false, - "defaultType": "None", - "defaultValue": "", + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "NULL::bpchar", "comment": "", - "oldName": "gh_repo_id", + "oldName": "cntrb_country_code", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 11, "foreignOptions": [], "isIdentity": false, @@ -35058,22 +35449,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "created_at", - "type": "timestamp", - "length": 0, + "name": "cntrb_state", + "type": "varchar", + "length": 255, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "NULL::character varying", "comment": "", - "oldName": "created_at", + "oldName": "cntrb_state", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 12, "foreignOptions": [], "isIdentity": false, @@ -35085,113 +35476,26 @@ "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false - } - ], - "indexes": [], - "rules": [], - "primaryKey": { - "objectType": "PrimaryKey_PGSQL", - "name": "cntrb_repo_id_key", - "fields": [ - "cntrb_repo_id" - ], - "fillFactor": -1, - "indexTablespace": "", - "comment": "", - "isDeferrable": false, - "isDeferred": false, - "oldName": "cntrb_repo_id_key" - }, - "foreignKeys": [ - { - "objectType": "ForeignKey_PGSQL", - "name": "fk_contributor_repo_contributors_1", - "fields": [ - "cntrb_id" - ], - "referenceSchema": "augur_data", - "referenceTable": "contributors", - "referenceFields": [ - "cntrb_id" - ], - "onDelete": "RESTRICT", - "onUpdate": "CASCADE", - "comment": "", - "isMatchFull": false, - "isDeferrable": false, - "isDeferred": false, - "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "OneAndOnlyOneRelationship", - "oldName": "fk_contributor_repo_contributors_1" - } - ], - "uniques": [ - { - "objectType": "Unique_PGSQL", - "name": "eventer", - "fields": [ - "event_id", - "tool_version" - ], - "fillFactor": -1, - "indexTablespace": "", - "comment": "", - "isDeferrable": false, - "isDeferred": false, - "oldName": "eventer" - } - ], - "checks": [], - "excludes": [], - "triggers": [], - "partitionKeys": [], - "partitions": [] - }, - { - "objectType": "TableNormal_PGSQL", - "name": "commits", - "comment": "Starts with augur.analysis_data table and incorporates GHTorrent commit table attributes if different. \nCmt_id is from get\nThe author and committer ID’s are at the bottom of the table and not required for now because we want to focus on the facade schema’s properties over the ghtorrent properties when they are in conflict. ", - "tablespace": "", - "isUnlogged": false, - "owner": "augur", - "inheritFromTables": [], - "hasOIDs": false, - "fillFactor": -1, - "oldName": "commits", - "oid": 186548, - "rows": 0, - "isInheritTables": false, - "cluster": "", - "ACL": "", - "isPartition": false, - "partitioningStrategy": "None", - "partitionOfSchema": "", - "partitionOfTable": "", - "partitionListValues": [], - "partitionRangeFromValues": [], - "partitionRangeToValues": [], - "foreignServer": "", - "foreignOptionDisplay": "", - "fields": [ + }, { "objectType": "TableField_PGSQL", - "name": "cmt_id", - "type": "int8", - "length": 64, + "name": "cntrb_city", + "type": "varchar", + "length": 255, "decimals": 0, "dimensions": 0, - "collation": "", - "isNullable": false, + "collation": "default", + "isNullable": true, "defaultType": "Others", - "defaultValue": "nextval('augur_data.commits_cmt_id_seq'::regclass)", + "defaultValue": "NULL::character varying", "comment": "", - "oldName": "cmt_id", + "oldName": "cntrb_city", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 1, + "collationSchema": "pg_catalog", + "ordinalPosition": 13, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -35205,23 +35509,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "repo_id", - "type": "int8", - "length": 64, + "name": "cntrb_location", + "type": "varchar", + "length": 255, "decimals": 0, "dimensions": 0, - "collation": "", - "isNullable": false, - "defaultType": "None", - "defaultValue": "", + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "NULL::character varying", "comment": "", - "oldName": "repo_id", + "oldName": "cntrb_location", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 2, + "collationSchema": "pg_catalog", + "ordinalPosition": 14, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -35235,23 +35539,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "cmt_commit_hash", + "name": "cntrb_canonical", "type": "varchar", - "length": 80, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", - "isNullable": false, + "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "cmt_commit_hash", + "oldName": "cntrb_canonical", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 3, + "ordinalPosition": 15, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -35265,23 +35569,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "cmt_author_name", - "type": "varchar", - "length": 128, + "name": "gh_user_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", - "isNullable": false, + "collation": "", + "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "cmt_author_name", + "oldName": "gh_user_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 4, + "collationSchema": "", + "ordinalPosition": 16, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -35295,23 +35599,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "cmt_author_raw_email", + "name": "gh_login", "type": "varchar", - "length": 128, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", - "isNullable": false, + "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "", - "oldName": "cmt_author_raw_email", + "comment": "populated with the github user name for github originated data. ", + "oldName": "gh_login", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 5, + "ordinalPosition": 17, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -35325,23 +35629,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "cmt_author_email", + "name": "gh_url", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", - "isNullable": false, + "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "cmt_author_email", + "oldName": "gh_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 6, + "ordinalPosition": 18, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -35355,23 +35659,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "cmt_author_date", + "name": "gh_html_url", "type": "varchar", - "length": 10, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", - "isNullable": false, + "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "cmt_author_date", + "oldName": "gh_html_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 7, + "ordinalPosition": 19, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -35385,23 +35689,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "cmt_author_affiliation", + "name": "gh_node_id", "type": "varchar", - "length": 128, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, - "defaultType": "Others", - "defaultValue": "'NULL'::character varying", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "cmt_author_affiliation", + "oldName": "gh_node_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 8, + "ordinalPosition": 20, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -35415,23 +35719,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "cmt_committer_name", + "name": "gh_avatar_url", "type": "varchar", - "length": 128, + "length": 4000, "decimals": 0, "dimensions": 0, "collation": "default", - "isNullable": false, + "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "cmt_committer_name", + "oldName": "gh_avatar_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 9, + "ordinalPosition": 21, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -35445,23 +35749,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "cmt_committer_raw_email", + "name": "gh_gravatar_id", "type": "varchar", - "length": 128, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", - "isNullable": false, + "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "cmt_committer_raw_email", + "oldName": "gh_gravatar_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 10, + "ordinalPosition": 22, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -35475,23 +35779,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "cmt_committer_email", + "name": "gh_followers_url", "type": "varchar", - "length": 0, + "length": 4000, "decimals": 0, "dimensions": 0, "collation": "default", - "isNullable": false, + "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "cmt_committer_email", + "oldName": "gh_followers_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 11, + "ordinalPosition": 23, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -35505,23 +35809,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "cmt_committer_date", + "name": "gh_following_url", "type": "varchar", - "length": 10, + "length": 4000, "decimals": 0, "dimensions": 0, "collation": "default", - "isNullable": false, + "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "cmt_committer_date", + "oldName": "gh_following_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 12, + "ordinalPosition": 24, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -35535,23 +35839,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "cmt_committer_affiliation", + "name": "gh_gists_url", "type": "varchar", - "length": 128, + "length": 4000, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, - "defaultType": "Others", - "defaultValue": "'NULL'::character varying", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "cmt_committer_affiliation", + "oldName": "gh_gists_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 13, + "ordinalPosition": 25, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -35565,23 +35869,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "cmt_added", - "type": "int4", - "length": 32, + "name": "gh_starred_url", + "type": "varchar", + "length": 4000, "decimals": 0, "dimensions": 0, - "collation": "", - "isNullable": false, + "collation": "default", + "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "cmt_added", + "oldName": "gh_starred_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 14, + "collationSchema": "pg_catalog", + "ordinalPosition": 26, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -35595,23 +35899,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "cmt_removed", - "type": "int4", - "length": 32, + "name": "gh_subscriptions_url", + "type": "varchar", + "length": 4000, "decimals": 0, "dimensions": 0, - "collation": "", - "isNullable": false, + "collation": "default", + "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "cmt_removed", + "oldName": "gh_subscriptions_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 15, + "collationSchema": "pg_catalog", + "ordinalPosition": 27, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -35625,23 +35929,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "cmt_whitespace", - "type": "int4", - "length": 32, + "name": "gh_organizations_url", + "type": "varchar", + "length": 4000, "decimals": 0, "dimensions": 0, - "collation": "", - "isNullable": false, + "collation": "default", + "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "cmt_whitespace", + "oldName": "gh_organizations_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 16, + "collationSchema": "pg_catalog", + "ordinalPosition": 28, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -35655,23 +35959,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "cmt_filename", + "name": "gh_repos_url", "type": "varchar", - "length": 4096, + "length": 4000, "decimals": 0, "dimensions": 0, "collation": "default", - "isNullable": false, + "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "cmt_filename", + "oldName": "gh_repos_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 17, + "ordinalPosition": 29, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -35685,23 +35989,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "cmt_date_attempted", - "type": "timestamp", - "length": 0, + "name": "gh_events_url", + "type": "varchar", + "length": 4000, "decimals": 0, "dimensions": 0, - "collation": "", - "isNullable": false, + "collation": "default", + "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "cmt_date_attempted", + "oldName": "gh_events_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 18, + "collationSchema": "pg_catalog", + "ordinalPosition": 30, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -35715,23 +36019,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "cmt_ght_author_id", - "type": "int4", - "length": 32, + "name": "gh_received_events_url", + "type": "varchar", + "length": 4000, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "cmt_ght_author_id", + "oldName": "gh_received_events_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 19, + "collationSchema": "pg_catalog", + "ordinalPosition": 31, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -35745,23 +36049,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "cmt_ght_committer_id", - "type": "int4", - "length": 32, + "name": "gh_type", + "type": "varchar", + "length": 255, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "cmt_ght_committer_id", + "oldName": "gh_type", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 20, + "collationSchema": "pg_catalog", + "ordinalPosition": 32, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -35775,23 +36079,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "cmt_ght_committed_at", - "type": "timestamp", - "length": 0, + "name": "gh_site_admin", + "type": "varchar", + "length": 255, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "cmt_ght_committed_at", + "oldName": "gh_site_admin", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 21, + "collationSchema": "pg_catalog", + "ordinalPosition": 33, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -35805,9 +36109,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_source", + "name": "cntrb_full_name", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", @@ -35815,13 +36119,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "tool_source", + "oldName": "cntrb_full_name", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 22, + "ordinalPosition": 38, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -35835,23 +36139,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_version", - "type": "varchar", - "length": 255, + "name": "cntrb_last_used", + "type": "timestamptz", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "NULL::timestamp with time zone", "comment": "", - "oldName": "tool_version", + "oldName": "cntrb_last_used", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 23, + "collationSchema": "", + "ordinalPosition": 39, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -35865,7 +36169,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_source", + "name": "tool_source", "type": "varchar", "length": 255, "decimals": 0, @@ -35875,13 +36179,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "data_source", + "oldName": "tool_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 24, + "ordinalPosition": 34, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -35895,23 +36199,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_collection_date", - "type": "timestamp", - "length": 0, + "name": "tool_version", + "type": "varchar", + "length": 255, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, - "defaultType": "Others", - "defaultValue": "CURRENT_TIMESTAMP", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "data_collection_date", + "oldName": "tool_version", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 25, + "collationSchema": "pg_catalog", + "ordinalPosition": 35, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -35925,23 +36229,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "cmt_author_timestamp", - "type": "timestamptz", - "length": 0, + "name": "data_source", + "type": "varchar", + "length": 255, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "cmt_author_timestamp", + "oldName": "data_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 26, + "collationSchema": "pg_catalog", + "ordinalPosition": 36, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -35955,23 +36259,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "cmt_committer_timestamp", - "type": "timestamptz", + "name": "data_collection_date", + "type": "timestamp", "length": 0, "decimals": 0, "dimensions": 0, "collation": "", "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", "comment": "", - "oldName": "cmt_committer_timestamp", + "oldName": "data_collection_date", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 27, + "ordinalPosition": 37, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -35987,7 +36291,7 @@ "indexes": [ { "objectType": "Index_PGSQL", - "name": "author_affiliation", + "name": "cnt-fullname", "comment": "", "isClustered": false, "isConcurrently": false, @@ -35998,312 +36302,30 @@ "method": "Hash", "tableSpaceName": "", "constraint": "", - "oldName": "author_affiliation", - "oid": 203520, + "oldName": "cnt-fullname", + "oid": 203586, "owner": "augur", "brinPagesPerRange": -1, "ginPendingListLimit": -1, - "tableName": "commits", + "tableName": "contributors", "size": "32", "fields": [ { "objectType": "IndexField_PGSQL", - "name": "cmt_author_affiliation", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cmt_author_affiliation", - "collationSchema": "pg_catalog" - } - ] - }, - { - "objectType": "Index_PGSQL", - "name": "author_cntrb_id", - "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "author_cntrb_id", - "oid": 203523, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "commits", - "size": "8", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "cmt_ght_author_id", - "collation": "", - "opClass": "int4_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cmt_ght_author_id", - "collationSchema": "" - } - ] - }, - { - "objectType": "Index_PGSQL", - "name": "author_email,author_affiliation,author_date", - "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "author_email,author_affiliation,author_date", - "oid": 203526, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "commits", - "size": "8", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "cmt_author_email", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cmt_author_email", - "collationSchema": "pg_catalog" - }, - { - "objectType": "IndexField_PGSQL", - "name": "cmt_author_affiliation", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cmt_author_affiliation", - "collationSchema": "pg_catalog" - }, - { - "objectType": "IndexField_PGSQL", - "name": "cmt_author_date", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cmt_author_date", - "collationSchema": "pg_catalog" - } - ] - }, - { - "objectType": "Index_PGSQL", - "name": "author_raw_email", - "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "author_raw_email", - "oid": 203527, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "commits", - "size": "8", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "cmt_author_raw_email", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cmt_author_raw_email", - "collationSchema": "pg_catalog" - } - ] - }, - { - "objectType": "Index_PGSQL", - "name": "cmt-author-date-idx2", - "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "cmt-author-date-idx2", - "oid": 203543, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "commits", - "size": "8", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "cmt_author_date", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cmt_author_date", - "collationSchema": "pg_catalog" - } - ] - }, - { - "objectType": "Index_PGSQL", - "name": "cmt-committer-date-idx3", - "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "cmt-committer-date-idx3", - "oid": 203544, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "commits", - "size": "8", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "cmt_committer_date", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cmt_committer_date", - "collationSchema": "pg_catalog" - } - ] - }, - { - "objectType": "Index_PGSQL", - "name": "cmt_author-name-idx5", - "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "cmt_author-name-idx5", - "oid": 203548, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "commits", - "size": "8", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "cmt_committer_name", + "name": "cntrb_full_name", "collation": "default", "opClass": "text_ops", "opClassSchema": "pg_catalog", "order": "ASC", "nullSort": "NULLS LAST", - "oldName": "cmt_committer_name", - "collationSchema": "pg_catalog" - } - ] - }, - { - "objectType": "Index_PGSQL", - "name": "cmt_author_contrib_worker", - "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BRIN", - "tableSpaceName": "", - "constraint": "", - "oldName": "cmt_author_contrib_worker", - "oid": 203554, - "owner": "augur", - "brinPagesPerRange": 64, - "ginPendingListLimit": -1, - "tableName": "commits", - "size": "24", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "cmt_author_name", - "collation": "default", - "opClass": "text_minmax_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cmt_author_name", - "collationSchema": "pg_catalog" - }, - { - "objectType": "IndexField_PGSQL", - "name": "cmt_author_email", - "collation": "default", - "opClass": "text_minmax_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cmt_author_email", - "collationSchema": "pg_catalog" - }, - { - "objectType": "IndexField_PGSQL", - "name": "cmt_author_date", - "collation": "default", - "opClass": "text_minmax_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cmt_author_date", + "oldName": "cntrb_full_name", "collationSchema": "pg_catalog" } ] }, { "objectType": "Index_PGSQL", - "name": "cmt_cmmter-name-idx4", + "name": "cntrb-theemail", "comment": "", "isClustered": false, "isConcurrently": false, @@ -36311,123 +36333,33 @@ "fastUpdate": "", "buffering": "", "fillFactor": -1, - "method": "BTree", + "method": "Hash", "tableSpaceName": "", "constraint": "", - "oldName": "cmt_cmmter-name-idx4", - "oid": 203565, + "oldName": "cntrb-theemail", + "oid": 203595, "owner": "augur", "brinPagesPerRange": -1, "ginPendingListLimit": -1, - "tableName": "commits", - "size": "8", + "tableName": "contributors", + "size": "32", "fields": [ { "objectType": "IndexField_PGSQL", - "name": "cmt_author_name", + "name": "cntrb_email", "collation": "default", "opClass": "text_ops", "opClassSchema": "pg_catalog", "order": "ASC", "nullSort": "NULLS LAST", - "oldName": "cmt_author_name", - "collationSchema": "pg_catalog" - } - ] - }, - { - "objectType": "Index_PGSQL", - "name": "cmt_commiter_contrib_worker", - "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BRIN", - "tableSpaceName": "", - "constraint": "", - "oldName": "cmt_commiter_contrib_worker", - "oid": 203585, - "owner": "augur", - "brinPagesPerRange": 64, - "ginPendingListLimit": -1, - "tableName": "commits", - "size": "24", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "cmt_committer_name", - "collation": "default", - "opClass": "text_minmax_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cmt_committer_name", - "collationSchema": "pg_catalog" - }, - { - "objectType": "IndexField_PGSQL", - "name": "cmt_committer_email", - "collation": "default", - "opClass": "text_minmax_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cmt_committer_email", - "collationSchema": "pg_catalog" - }, - { - "objectType": "IndexField_PGSQL", - "name": "cmt_committer_date", - "collation": "default", - "opClass": "text_minmax_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cmt_committer_date", + "oldName": "cntrb_email", "collationSchema": "pg_catalog" } ] }, { "objectType": "Index_PGSQL", - "name": "commited", - "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "commited", - "oid": 203623, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "commits", - "size": "8", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "cmt_id", - "collation": "", - "opClass": "int8_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cmt_id", - "collationSchema": "" - } - ] - }, - { - "objectType": "Index_PGSQL", - "name": "commits_idx_cmt_email_cmt_date_cmt_name", + "name": "cntrb_canonica-idx11", "comment": "", "isClustered": false, "isConcurrently": false, @@ -36438,52 +36370,30 @@ "method": "BTree", "tableSpaceName": "", "constraint": "", - "oldName": "commits_idx_cmt_email_cmt_date_cmt_name", - "oid": 203636, + "oldName": "cntrb_canonica-idx11", + "oid": 28216395, "owner": "augur", "brinPagesPerRange": -1, "ginPendingListLimit": -1, - "tableName": "commits", - "size": "8", + "tableName": "contributors", + "size": "16", "fields": [ { "objectType": "IndexField_PGSQL", - "name": "cmt_author_email", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cmt_author_email", - "collationSchema": "pg_catalog" - }, - { - "objectType": "IndexField_PGSQL", - "name": "cmt_author_date", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cmt_author_date", - "collationSchema": "pg_catalog" - }, - { - "objectType": "IndexField_PGSQL", - "name": "cmt_author_name", + "name": "cntrb_canonical", "collation": "default", "opClass": "text_ops", "opClassSchema": "pg_catalog", "order": "ASC", "nullSort": "NULLS LAST", - "oldName": "cmt_author_name", + "oldName": "cntrb_canonical", "collationSchema": "pg_catalog" } ] }, { "objectType": "Index_PGSQL", - "name": "commits_idx_cmt_email_cmt_date_cmt_name2", + "name": "cntrb_login_platform_index", "comment": "", "isClustered": false, "isConcurrently": false, @@ -36494,52 +36404,30 @@ "method": "BTree", "tableSpaceName": "", "constraint": "", - "oldName": "commits_idx_cmt_email_cmt_date_cmt_name2", - "oid": 203644, + "oldName": "cntrb_login_platform_index", + "oid": 203596, "owner": "augur", "brinPagesPerRange": -1, "ginPendingListLimit": -1, - "tableName": "commits", - "size": "8", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "cmt_committer_email", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cmt_committer_email", - "collationSchema": "pg_catalog" - }, - { - "objectType": "IndexField_PGSQL", - "name": "cmt_committer_date", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cmt_committer_date", - "collationSchema": "pg_catalog" - }, + "tableName": "contributors", + "size": "16", + "fields": [ { "objectType": "IndexField_PGSQL", - "name": "cmt_committer_name", + "name": "cntrb_login", "collation": "default", "opClass": "text_ops", "opClassSchema": "pg_catalog", "order": "ASC", "nullSort": "NULLS LAST", - "oldName": "cmt_committer_name", + "oldName": "cntrb_login", "collationSchema": "pg_catalog" } ] }, { "objectType": "Index_PGSQL", - "name": "commits_idx_cmt_name_cmt_date2", + "name": "contributor_delete_finder", "comment": "", "isClustered": false, "isConcurrently": false, @@ -36547,44 +36435,44 @@ "fastUpdate": "", "buffering": "", "fillFactor": -1, - "method": "BTree", + "method": "BRIN", "tableSpaceName": "", "constraint": "", - "oldName": "commits_idx_cmt_name_cmt_date2", - "oid": 203645, + "oldName": "contributor_delete_finder", + "oid": 203698, "owner": "augur", - "brinPagesPerRange": -1, + "brinPagesPerRange": 64, "ginPendingListLimit": -1, - "tableName": "commits", - "size": "8", + "tableName": "contributors", + "size": "24", "fields": [ { "objectType": "IndexField_PGSQL", - "name": "cmt_author_name", - "collation": "default", - "opClass": "text_ops", + "name": "cntrb_id", + "collation": "", + "opClass": "int8_minmax_ops", "opClassSchema": "pg_catalog", "order": "ASC", "nullSort": "NULLS LAST", - "oldName": "cmt_author_name", - "collationSchema": "pg_catalog" + "oldName": "cntrb_id", + "collationSchema": "" }, { "objectType": "IndexField_PGSQL", - "name": "cmt_author_date", + "name": "cntrb_email", "collation": "default", - "opClass": "text_ops", + "opClass": "text_minmax_ops", "opClassSchema": "pg_catalog", "order": "ASC", "nullSort": "NULLS LAST", - "oldName": "cmt_author_date", + "oldName": "cntrb_email", "collationSchema": "pg_catalog" } ] }, { "objectType": "Index_PGSQL", - "name": "commits_idx_cmt_name_cmt_date_cmt_date3", + "name": "contributor_worker_email_finder", "comment": "", "isClustered": false, "isConcurrently": false, @@ -36592,55 +36480,33 @@ "fastUpdate": "", "buffering": "", "fillFactor": -1, - "method": "BTree", + "method": "BRIN", "tableSpaceName": "", "constraint": "", - "oldName": "commits_idx_cmt_name_cmt_date_cmt_date3", - "oid": 203654, + "oldName": "contributor_worker_email_finder", + "oid": 203699, "owner": "augur", - "brinPagesPerRange": -1, + "brinPagesPerRange": 64, "ginPendingListLimit": -1, - "tableName": "commits", - "size": "8", + "tableName": "contributors", + "size": "24", "fields": [ { "objectType": "IndexField_PGSQL", - "name": "cmt_committer_name", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cmt_committer_name", - "collationSchema": "pg_catalog" - }, - { - "objectType": "IndexField_PGSQL", - "name": "cmt_author_date", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cmt_author_date", - "collationSchema": "pg_catalog" - }, - { - "objectType": "IndexField_PGSQL", - "name": "cmt_committer_date", + "name": "cntrb_email", "collation": "default", - "opClass": "text_ops", + "opClass": "text_minmax_ops", "opClassSchema": "pg_catalog", "order": "ASC", "nullSort": "NULLS LAST", - "oldName": "cmt_committer_date", + "oldName": "cntrb_email", "collationSchema": "pg_catalog" } ] }, { "objectType": "Index_PGSQL", - "name": "commits_idx_repo_id_cmt_ema_cmt_dat_cmt_nam", + "name": "contributor_worker_finder", "comment": "", "isClustered": false, "isConcurrently": false, @@ -36648,66 +36514,55 @@ "fastUpdate": "", "buffering": "", "fillFactor": -1, - "method": "BTree", + "method": "BRIN", "tableSpaceName": "", "constraint": "", - "oldName": "commits_idx_repo_id_cmt_ema_cmt_dat_cmt_nam", - "oid": 203655, + "oldName": "contributor_worker_finder", + "oid": 203700, "owner": "augur", - "brinPagesPerRange": -1, + "brinPagesPerRange": 64, "ginPendingListLimit": -1, - "tableName": "commits", - "size": "8", + "tableName": "contributors", + "size": "24", "fields": [ { "objectType": "IndexField_PGSQL", - "name": "repo_id", - "collation": "", - "opClass": "int8_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "repo_id", - "collationSchema": "" - }, - { - "objectType": "IndexField_PGSQL", - "name": "cmt_author_email", + "name": "cntrb_login", "collation": "default", - "opClass": "text_ops", + "opClass": "text_minmax_ops", "opClassSchema": "pg_catalog", "order": "ASC", "nullSort": "NULLS LAST", - "oldName": "cmt_author_email", + "oldName": "cntrb_login", "collationSchema": "pg_catalog" }, { "objectType": "IndexField_PGSQL", - "name": "cmt_author_date", + "name": "cntrb_email", "collation": "default", - "opClass": "text_ops", + "opClass": "text_minmax_ops", "opClassSchema": "pg_catalog", "order": "ASC", "nullSort": "NULLS LAST", - "oldName": "cmt_author_date", + "oldName": "cntrb_email", "collationSchema": "pg_catalog" }, { "objectType": "IndexField_PGSQL", - "name": "cmt_author_name", - "collation": "default", - "opClass": "text_ops", + "name": "cntrb_id", + "collation": "", + "opClass": "int8_minmax_ops", "opClassSchema": "pg_catalog", "order": "ASC", "nullSort": "NULLS LAST", - "oldName": "cmt_author_name", - "collationSchema": "pg_catalog" + "oldName": "cntrb_id", + "collationSchema": "" } ] }, { "objectType": "Index_PGSQL", - "name": "commits_idx_repo_id_cmt_ema_cmt_dat_cmt_nam2", + "name": "contributor_worker_fullname_finder", "comment": "", "isClustered": false, "isConcurrently": false, @@ -36715,66 +36570,33 @@ "fastUpdate": "", "buffering": "", "fillFactor": -1, - "method": "BTree", + "method": "BRIN", "tableSpaceName": "", "constraint": "", - "oldName": "commits_idx_repo_id_cmt_ema_cmt_dat_cmt_nam2", - "oid": 203658, + "oldName": "contributor_worker_fullname_finder", + "oid": 203712, "owner": "augur", - "brinPagesPerRange": -1, + "brinPagesPerRange": 64, "ginPendingListLimit": -1, - "tableName": "commits", - "size": "8", + "tableName": "contributors", + "size": "24", "fields": [ { "objectType": "IndexField_PGSQL", - "name": "repo_id", - "collation": "", - "opClass": "int8_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "repo_id", - "collationSchema": "" - }, - { - "objectType": "IndexField_PGSQL", - "name": "cmt_committer_email", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cmt_committer_email", - "collationSchema": "pg_catalog" - }, - { - "objectType": "IndexField_PGSQL", - "name": "cmt_committer_date", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cmt_committer_date", - "collationSchema": "pg_catalog" - }, - { - "objectType": "IndexField_PGSQL", - "name": "cmt_committer_name", + "name": "cntrb_full_name", "collation": "default", - "opClass": "text_ops", + "opClass": "text_minmax_ops", "opClassSchema": "pg_catalog", "order": "ASC", "nullSort": "NULLS LAST", - "oldName": "cmt_committer_name", + "oldName": "cntrb_full_name", "collationSchema": "pg_catalog" } ] }, { "objectType": "Index_PGSQL", - "name": "commits_idx_repo_id_cmt_ema_cmt_nam_cmt_dat2", + "name": "contributors_idx_cntrb_email3", "comment": "", "isClustered": false, "isConcurrently": false, @@ -36785,63 +36607,30 @@ "method": "BTree", "tableSpaceName": "", "constraint": "", - "oldName": "commits_idx_repo_id_cmt_ema_cmt_nam_cmt_dat2", - "oid": 203666, + "oldName": "contributors_idx_cntrb_email3", + "oid": 203713, "owner": "augur", "brinPagesPerRange": -1, "ginPendingListLimit": -1, - "tableName": "commits", - "size": "8", + "tableName": "contributors", + "size": "16", "fields": [ { "objectType": "IndexField_PGSQL", - "name": "repo_id", - "collation": "", - "opClass": "int8_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "repo_id", - "collationSchema": "" - }, - { - "objectType": "IndexField_PGSQL", - "name": "cmt_author_email", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cmt_author_email", - "collationSchema": "pg_catalog" - }, - { - "objectType": "IndexField_PGSQL", - "name": "cmt_author_name", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cmt_author_name", - "collationSchema": "pg_catalog" - }, - { - "objectType": "IndexField_PGSQL", - "name": "cmt_author_date", + "name": "cntrb_email", "collation": "default", "opClass": "text_ops", "opClassSchema": "pg_catalog", "order": "ASC", "nullSort": "NULLS LAST", - "oldName": "cmt_author_date", + "oldName": "cntrb_email", "collationSchema": "pg_catalog" } ] }, { "objectType": "Index_PGSQL", - "name": "commits_idx_repo_id_cmt_ema_cmt_nam_cmt_dat3", + "name": "login", "comment": "", "isClustered": false, "isConcurrently": false, @@ -36852,306 +36641,493 @@ "method": "BTree", "tableSpaceName": "", "constraint": "", - "oldName": "commits_idx_repo_id_cmt_ema_cmt_nam_cmt_dat3", - "oid": 203673, + "oldName": "login", + "oid": 203766, "owner": "augur", "brinPagesPerRange": -1, "ginPendingListLimit": -1, - "tableName": "commits", - "size": "8", + "tableName": "contributors", + "size": "16", "fields": [ { "objectType": "IndexField_PGSQL", - "name": "repo_id", - "collation": "", - "opClass": "int8_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "repo_id", - "collationSchema": "" - }, - { - "objectType": "IndexField_PGSQL", - "name": "cmt_committer_email", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cmt_committer_email", - "collationSchema": "pg_catalog" - }, - { - "objectType": "IndexField_PGSQL", - "name": "cmt_committer_name", + "name": "cntrb_login", "collation": "default", "opClass": "text_ops", "opClassSchema": "pg_catalog", "order": "ASC", "nullSort": "NULLS LAST", - "oldName": "cmt_committer_name", + "oldName": "cntrb_login", "collationSchema": "pg_catalog" - }, + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "login-contributor-idx", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "login-contributor-idx", + "oid": 203767, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "contributors", + "size": "16", + "fields": [ { "objectType": "IndexField_PGSQL", - "name": "cmt_author_date", + "name": "cntrb_login", "collation": "default", "opClass": "text_ops", "opClassSchema": "pg_catalog", "order": "ASC", "nullSort": "NULLS LAST", - "oldName": "cmt_author_date", + "oldName": "cntrb_login", "collationSchema": "pg_catalog" } ] + } + ], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "contributors_pkey", + "fields": [ + "cntrb_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "contributors_pkey" + }, + "foreignKeys": [], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "contributor_repo", + "comment": "Developed in Partnership with Andrew Brain. \nFrom: [\n {\n \"login\": \"octocat\",\n \"id\": 1,\n \"node_id\": \"MDQ6VXNlcjE=\",\n \"avatar_url\": \"https://github.com/images/error/octocat_happy.gif\",\n \"gravatar_id\": \"\",\n \"url\": \"https://api.github.com/users/octocat\",\n \"html_url\": \"https://github.com/octocat\",\n \"followers_url\": \"https://api.github.com/users/octocat/followers\",\n \"following_url\": \"https://api.github.com/users/octocat/following{/other_user}\",\n \"gists_url\": \"https://api.github.com/users/octocat/gists{/gist_id}\",\n \"starred_url\": \"https://api.github.com/users/octocat/starred{/owner}{/repo}\",\n \"subscriptions_url\": \"https://api.github.com/users/octocat/subscriptions\",\n \"organizations_url\": \"https://api.github.com/users/octocat/orgs\",\n \"repos_url\": \"https://api.github.com/users/octocat/repos\",\n \"events_url\": \"https://api.github.com/users/octocat/events{/privacy}\",\n \"received_events_url\": \"https://api.github.com/users/octocat/received_events\",\n \"type\": \"User\",\n \"site_admin\": false\n }\n]\n", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "contributor_repo", + "oid": 186822, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "cntrb_repo_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_data.contributor_repo_cntrb_repo_id_seq'::regclass)", + "comment": "", + "oldName": "cntrb_repo_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "cntrb_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "This is not null because what is the point without the contributor in this table? ", + "oldName": "cntrb_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "repo_git", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "Similar to cntrb_id, we need this data for the table to have meaningful data. ", + "oldName": "repo_git", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "cntrb_category", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "cntrb_category", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 4, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "event_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "event_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 10, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "gh_repo_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "gh_repo_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 11, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false }, { - "objectType": "Index_PGSQL", - "name": "committer_affiliation", + "objectType": "TableField_PGSQL", + "name": "repo_name", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "committer_affiliation", - "oid": 203676, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "commits", - "size": "8", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "cmt_committer_affiliation", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cmt_committer_affiliation", - "collationSchema": "pg_catalog" - } - ] + "oldName": "repo_name", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 9, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false }, { - "objectType": "Index_PGSQL", - "name": "committer_cntrb_id", + "objectType": "TableField_PGSQL", + "name": "created_at", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "committer_cntrb_id", - "oid": 203679, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "commits", - "size": "8", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "cmt_ght_committer_id", - "collation": "", - "opClass": "int4_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cmt_ght_committer_id", - "collationSchema": "" - } - ] + "oldName": "created_at", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 12, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false }, { - "objectType": "Index_PGSQL", - "name": "committer_email,committer_affiliation,committer_date", + "objectType": "TableField_PGSQL", + "name": "tool_source", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "committer_email,committer_affiliation,committer_date", - "oid": 203680, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "commits", - "size": "8", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "cmt_committer_email", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cmt_committer_email", - "collationSchema": "pg_catalog" - }, - { - "objectType": "IndexField_PGSQL", - "name": "cmt_committer_affiliation", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cmt_committer_affiliation", - "collationSchema": "pg_catalog" - }, - { - "objectType": "IndexField_PGSQL", - "name": "cmt_committer_date", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cmt_committer_date", - "collationSchema": "pg_catalog" - } - ] + "oldName": "tool_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 5, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false }, { - "objectType": "Index_PGSQL", - "name": "committer_raw_email", + "objectType": "TableField_PGSQL", + "name": "tool_version", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "committer_raw_email", - "oid": 203686, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "commits", - "size": "8", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "cmt_committer_raw_email", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cmt_committer_raw_email", - "collationSchema": "pg_catalog" - } - ] + "oldName": "tool_version", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 6, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false }, { - "objectType": "Index_PGSQL", - "name": "repo_id,commit", + "objectType": "TableField_PGSQL", + "name": "data_source", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "repo_id,commit", - "oid": 203888, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "commits", - "size": "8", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "repo_id", - "collation": "", - "opClass": "int8_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "repo_id", - "collationSchema": "" - }, - { - "objectType": "IndexField_PGSQL", - "name": "cmt_commit_hash", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cmt_commit_hash", - "collationSchema": "pg_catalog" - } - ] + "oldName": "data_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 7, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_collection_date", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", + "comment": "", + "oldName": "data_collection_date", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 8, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false } ], + "indexes": [], "rules": [], "primaryKey": { "objectType": "PrimaryKey_PGSQL", - "name": "commits_pkey", + "name": "cntrb_repo_id_key", "fields": [ - "cmt_id" + "cntrb_repo_id" ], "fillFactor": -1, "indexTablespace": "", "comment": "", "isDeferrable": false, "isDeferred": false, - "oldName": "commits_pkey" + "oldName": "cntrb_repo_id_key" }, "foreignKeys": [ { "objectType": "ForeignKey_PGSQL", - "name": "fk_commits_contributors_1", + "name": "fk_contributor_repo_contributors_1", "fields": [ - "cmt_ght_author_id" - ], - "referenceSchema": "augur_data", - "referenceTable": "contributors", - "referenceFields": [ "cntrb_id" ], - "onDelete": "RESTRICT", - "onUpdate": "CASCADE", - "comment": "", - "isMatchFull": false, - "isDeferrable": true, - "isDeferred": false, - "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "ZeroOrOneRelationship", - "oldName": "fk_commits_contributors_1" - }, - { - "objectType": "ForeignKey_PGSQL", - "name": "fk_commits_contributors_2", - "fields": [ - "cmt_ght_committer_id" - ], "referenceSchema": "augur_data", "referenceTable": "contributors", "referenceFields": [ @@ -37161,35 +37137,29 @@ "onUpdate": "CASCADE", "comment": "", "isMatchFull": false, - "isDeferrable": true, + "isDeferrable": false, "isDeferred": false, "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "ZeroOrOneRelationship", - "oldName": "fk_commits_contributors_2" - }, + "targetCardinality": "OneAndOnlyOneRelationship", + "oldName": "fk_contributor_repo_contributors_1" + } + ], + "uniques": [ { - "objectType": "ForeignKey_PGSQL", - "name": "fk_commits_repo_1", + "objectType": "Unique_PGSQL", + "name": "eventer", "fields": [ - "repo_id" - ], - "referenceSchema": "augur_data", - "referenceTable": "repo", - "referenceFields": [ - "repo_id" + "event_id", + "tool_version" ], - "onDelete": "RESTRICT", - "onUpdate": "CASCADE", + "fillFactor": -1, + "indexTablespace": "", "comment": "", - "isMatchFull": false, - "isDeferrable": true, + "isDeferrable": false, "isDeferred": false, - "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "OneAndOnlyOneRelationship", - "oldName": "fk_commits_repo_1" + "oldName": "eventer" } ], - "uniques": [], "checks": [], "excludes": [], "triggers": [], @@ -37198,7 +37168,7 @@ }, { "objectType": "TableNormal_PGSQL", - "name": "pull_request_reviewers", + "name": "issue_assignees", "comment": "", "tablespace": "", "isUnlogged": false, @@ -37206,8 +37176,8 @@ "inheritFromTables": [], "hasOIDs": false, "fillFactor": -1, - "oldName": "pull_request_reviewers", - "oid": 191237, + "oldName": "issue_assignees", + "oid": 188311, "rows": 0, "isInheritTables": false, "cluster": "", @@ -37224,7 +37194,7 @@ "fields": [ { "objectType": "TableField_PGSQL", - "name": "pr_reviewer_map_id", + "name": "issue_assignee_id", "type": "int8", "length": 64, "decimals": 0, @@ -37232,9 +37202,9 @@ "collation": "", "isNullable": false, "defaultType": "Others", - "defaultValue": "nextval('augur_data.pull_request_reviewers_pr_reviewer_map_id_seq'::regclass)", + "defaultValue": "nextval('augur_data.issue_assignees_issue_assignee_id_seq'::regclass)", "comment": "", - "oldName": "pr_reviewer_map_id", + "oldName": "issue_assignee_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -37254,7 +37224,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "pull_request_id", + "name": "issue_id", "type": "int8", "length": 64, "decimals": 0, @@ -37264,7 +37234,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pull_request_id", + "oldName": "issue_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -37314,7 +37284,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_reviewer_src_id", + "name": "issue_assignee_src_id", "type": "int8", "length": 64, "decimals": 0, @@ -37323,8 +37293,8 @@ "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "", - "oldName": "pr_reviewer_src_id", + "comment": "This ID comes from the source. In the case of GitHub, it is the id that is the first field returned from the issue events API in the issue_assignees embedded JSON object. We may discover it is an ID for the person themselves; but my hypothesis is that its not.", + "oldName": "issue_assignee_src_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -37342,11 +37312,41 @@ "hasNoIdentityMaxValue": false, "isIdentityCycle": false }, + { + "objectType": "TableField_PGSQL", + "name": "issue_assignee_src_node", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "This character based identifier comes from the source. In the case of GitHub, it is the id that is the second field returned from the issue events API in the issue_assignees embedded JSON object. We may discover it is an ID for the person themselves; but my hypothesis is that its not.", + "oldName": "issue_assignee_src_node", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 9, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": true, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, { "objectType": "TableField_PGSQL", "name": "tool_source", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", @@ -37376,7 +37376,7 @@ "objectType": "TableField_PGSQL", "name": "tool_version", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", @@ -37406,7 +37406,7 @@ "objectType": "TableField_PGSQL", "name": "data_source", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", @@ -37466,7 +37466,7 @@ "indexes": [ { "objectType": "Index_PGSQL", - "name": "pr-reviewers-cntrb-idx1", + "name": "issue-cntrb-assign-idx-1", "comment": "", "isClustered": false, "isConcurrently": false, @@ -37477,12 +37477,12 @@ "method": "BTree", "tableSpaceName": "", "constraint": "", - "oldName": "pr-reviewers-cntrb-idx1", - "oid": 203802, + "oldName": "issue-cntrb-assign-idx-1", + "oid": 203731, "owner": "augur", "brinPagesPerRange": -1, "ginPendingListLimit": -1, - "tableName": "pull_request_reviewers", + "tableName": "issue_assignees", "size": "8", "fields": [ { @@ -37502,21 +37502,21 @@ "rules": [], "primaryKey": { "objectType": "PrimaryKey_PGSQL", - "name": "pull_request_reviewers_pkey", + "name": "issue_assignees_pkey", "fields": [ - "pr_reviewer_map_id" + "issue_assignee_id" ], "fillFactor": -1, "indexTablespace": "", "comment": "", "isDeferrable": false, "isDeferred": false, - "oldName": "pull_request_reviewers_pkey" + "oldName": "issue_assignees_pkey" }, "foreignKeys": [ { "objectType": "ForeignKey_PGSQL", - "name": "fk_pull_request_reviewers_contributors_1", + "name": "fk_issue_assignees_contributors_1", "fields": [ "cntrb_id" ], @@ -37533,18 +37533,18 @@ "isDeferred": false, "sourceCardinality": "ZeroOrManyRelationship", "targetCardinality": "ZeroOrOneRelationship", - "oldName": "fk_pull_request_reviewers_contributors_1" + "oldName": "fk_issue_assignees_contributors_1" }, { "objectType": "ForeignKey_PGSQL", - "name": "fk_pull_request_reviewers_pull_requests_1", + "name": "fk_issue_assignees_issues_1", "fields": [ - "pull_request_id" + "issue_id" ], "referenceSchema": "augur_data", - "referenceTable": "pull_requests", + "referenceTable": "issues", "referenceFields": [ - "pull_request_id" + "issue_id" ], "onDelete": "RESTRICT", "onUpdate": "CASCADE", @@ -37554,7 +37554,7 @@ "isDeferred": false, "sourceCardinality": "ZeroOrManyRelationship", "targetCardinality": "ZeroOrOneRelationship", - "oldName": "fk_pull_request_reviewers_pull_requests_1" + "oldName": "fk_issue_assignees_issues_1" } ], "uniques": [], @@ -37653,9 +37653,9 @@ "identityStart": 0, "identityIncrement": 0, "identityMinimum": 0, - "hasNoIdentityMinValue": "", + "hasNoIdentityMinValue": false, "identityMaximum": 0, - "hasNoIdentityMaxValue": [], + "hasNoIdentityMaxValue": false, "isIdentityCycle": false }, { From 4bbb17dd3b05de35bf302e604709bf8fac9addbf Mon Sep 17 00:00:00 2001 From: Isaac Milarsky Date: Tue, 13 Jul 2021 16:08:41 -0500 Subject: [PATCH 051/201] Implemented stagger insert for the github issues Signed-off-by: Isaac Milarsky --- workers/github_worker/github_worker.py | 172 ++++++++++-------- .../pull_request_worker.py | 3 +- 2 files changed, 94 insertions(+), 81 deletions(-) diff --git a/workers/github_worker/github_worker.py b/workers/github_worker/github_worker.py index 9dea529ba1..a6efff9715 100644 --- a/workers/github_worker/github_worker.py +++ b/workers/github_worker/github_worker.py @@ -48,6 +48,9 @@ def __init__(self, config={}): self.process_count = 1 self.deep_collection = True + #Needs to be an attribute of the class for incremental database insert using paginate_endpoint + self.pk_source_issues = [] + # Run the general worker initialization super().__init__(worker_type, config, given, models, data_tables, operations_tables) @@ -69,95 +72,104 @@ def _get_pk_source_issues(self): } } - source_issues = self.paginate_endpoint( - issues_url, action_map=action_map, - table=self.issues_table, where_clause=self.issues_table.c.repo_id == self.repo_id - ) - - if len(source_issues['all']) == 0: - self.logger.info("There are no issues for this repository.\n") - self.register_task_completion(self.task_info, self.repo_id, 'issues') - return False - - def is_valid_pr_block(issue): - return ( - 'pull_request' in issue and issue['pull_request'] - and isinstance(issue['pull_request'], dict) and 'url' in issue['pull_request'] + def pk_source_issues_increment_insert(inc_source_issues,action_map): + if len(inc_source_issues['all']) == 0: + self.logger.info("There are no issues for this repository.\n") + self.register_task_completion(self.task_info, self.repo_id, 'issues') + return False + + def is_valid_pr_block(issue): + return ( + 'pull_request' in issue and issue['pull_request'] + and isinstance(issue['pull_request'], dict) and 'url' in issue['pull_request'] + ) + + inc_source_issues['insert'] = self.enrich_cntrb_id( + inc_source_issues['insert'], 'user.login', action_map_additions={ + 'insert': { + 'source': ['user.node_id'], + 'augur': ['gh_node_id'] + } + }, prefix='user.' ) + + issues_insert = [ + { + 'repo_id': self.repo_id, + 'reporter_id': issue['cntrb_id'], + 'pull_request': ( + issue['pull_request']['url'].split('/')[-1] + if is_valid_pr_block(issue) else None + ), + 'pull_request_id': ( + issue['pull_request']['url'].split('/')[-1] + if is_valid_pr_block(issue) else None + ), + 'created_at': issue['created_at'], + 'issue_title': issue['title'], + 'issue_body': issue['body'].replace('0x00', '____') if issue['body'] else None, + 'comment_count': issue['comments'], + 'updated_at': issue['updated_at'], + 'closed_at': issue['closed_at'], + 'repository_url': issue['repository_url'], + 'issue_url': issue['url'], + 'labels_url': issue['labels_url'], + 'comments_url': issue['comments_url'], + 'events_url': issue['events_url'], + 'html_url': issue['html_url'], + 'issue_state': issue['state'], + 'issue_node_id': issue['node_id'], + 'gh_issue_id': issue['id'], + 'gh_issue_number': issue['number'], + 'gh_user_id': issue['user']['id'], + 'tool_source': self.tool_source, + 'tool_version': self.tool_version, + 'data_source': self.data_source + } for issue in inc_source_issues['insert'] + ] - source_issues['insert'] = self.enrich_cntrb_id( - source_issues['insert'], 'user.login', action_map_additions={ - 'insert': { - 'source': ['user.node_id'], - 'augur': ['gh_node_id'] - } - }, prefix='user.' - ) - - issues_insert = [ - { - 'repo_id': self.repo_id, - 'reporter_id': issue['cntrb_id'], - 'pull_request': ( - issue['pull_request']['url'].split('/')[-1] - if is_valid_pr_block(issue) else None - ), - 'pull_request_id': ( - issue['pull_request']['url'].split('/')[-1] - if is_valid_pr_block(issue) else None - ), - 'created_at': issue['created_at'], - 'issue_title': issue['title'], - 'issue_body': issue['body'].replace('0x00', '____') if issue['body'] else None, - 'comment_count': issue['comments'], - 'updated_at': issue['updated_at'], - 'closed_at': issue['closed_at'], - 'repository_url': issue['repository_url'], - 'issue_url': issue['url'], - 'labels_url': issue['labels_url'], - 'comments_url': issue['comments_url'], - 'events_url': issue['events_url'], - 'html_url': issue['html_url'], - 'issue_state': issue['state'], - 'issue_node_id': issue['node_id'], - 'gh_issue_id': issue['id'], - 'gh_issue_number': issue['number'], - 'gh_user_id': issue['user']['id'], - 'tool_source': self.tool_source, - 'tool_version': self.tool_version, - 'data_source': self.data_source - } for issue in source_issues['insert'] - ] - - if len(source_issues['insert']) > 0 or len(source_issues['update']) > 0: + if len(inc_source_issues['insert']) > 0 or len(inc_source_issues['update']) > 0: + issues_insert_result, issues_update_result = self.bulk_insert( + self.issues_table, update=inc_source_issues['update'], + unique_columns=action_map['insert']['augur'], + insert=issues_insert, update_columns=action_map['update']['augur'] + ) - issues_insert_result, issues_update_result = self.bulk_insert( - self.issues_table, update=source_issues['update'], - unique_columns=action_map['insert']['augur'], - insert=issues_insert, update_columns=action_map['update']['augur'] + source_data = inc_source_issues['insert'] + inc_source_issues['update'] + + elif not self.deep_collection: + self.logger.info( + "There are not issues to update, insert, or collect nested information for.\n" + ) + #This might cause problems if staggered. + #self.register_task_completion(entry_info, self.repo_id, 'issues') + return + + if self.deep_collection: + source_data = inc_source_issues['all'] + + gh_merge_fields = ['id'] + augur_merge_fields = ['gh_issue_id'] + + self.pk_source_issues += self.enrich_data_primary_keys( + source_data, self.issues_table, gh_merge_fields, augur_merge_fields ) - source_data = source_issues['insert'] + source_issues['update'] - - elif not self.deep_collection: - self.logger.info( - "There are not issues to update, insert, or collect nested information for.\n" - ) - self.register_task_completion(entry_info, self.repo_id, 'issues') return - if self.deep_collection: - source_data = source_issues['all'] - - # Merge source data to inserted data to have access to inserted primary keys - - gh_merge_fields = ['id'] - augur_merge_fields = ['gh_issue_id'] - - pk_source_issues = self.enrich_data_primary_keys( - source_data, self.issues_table, gh_merge_fields, augur_merge_fields + source_issues = self.paginate_endpoint( + issues_url, action_map=action_map, + table=self.issues_table, where_clause=self.issues_table.c.repo_id == self.repo_id, + stagger=True,insertion_method=pk_source_issues_increment_insert ) + #Use the increment insert method in order to do the + #remaining pages of the paginated endpoint that weren't inserted inside the paginate_endpoint method + pk_source_issues_increment_insert(source_issues,action_map) + + pk_source_issues = self.pk_source_issues + self.pk_source_issues = [] + return pk_source_issues def issues_model(self, entry_info, repo_id): diff --git a/workers/pull_request_worker/pull_request_worker.py b/workers/pull_request_worker/pull_request_worker.py index 535b3c0d19..afd3ea9440 100644 --- a/workers/pull_request_worker/pull_request_worker.py +++ b/workers/pull_request_worker/pull_request_worker.py @@ -493,7 +493,8 @@ def pk_source_increment_insert(inc_source_prs, action_map): #paginate endpoint with stagger enabled so that the above method can insert every 500 source_prs = self.paginate_endpoint( pr_url, action_map=pr_action_map, table=self.pull_requests_table, - where_clause=self.pull_requests_table.c.repo_id == self.repo_id, stagger=True, insertion_method=pk_source_increment_insert + where_clause=self.pull_requests_table.c.repo_id == self.repo_id, + stagger=True, insertion_method=pk_source_increment_insert ) #Use the increment insert method in order to do the From 02a65d5a178356d81d65240ca26052dae4528b89 Mon Sep 17 00:00:00 2001 From: Ulincsys <> Date: Tue, 13 Jul 2021 21:13:09 +0000 Subject: [PATCH 052/201] Began refactoring and clarifying code to be more concise and understandable Signed-off-by: Ulincsys <> --- workers/worker_git_integration.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/workers/worker_git_integration.py b/workers/worker_git_integration.py index 3e3906f437..ce36fd3081 100644 --- a/workers/worker_git_integration.py +++ b/workers/worker_git_integration.py @@ -36,11 +36,13 @@ def __init__(self, worker_type, config={}, given=[], models=[], data_tables=[], if self.config['offline_mode'] is False: self.connect_to_broker() + # Attempts to determine if these attributes exist + # If not, it creates them with default values try: self.tool_source self.tool_version self.data_source - except: + except AttributeError: self.tool_source = 'Augur Worker Testing' self.tool_version = '0.0.0' self.data_source = 'Augur Worker Testing' @@ -84,7 +86,7 @@ def find_id_from_login(self, login, platform='github'): cntrb_url = ("https://gitlab.com/api/v4/users?username=" + login ) self.logger.info("Hitting endpoint: {} ...\n".format(cntrb_url)) - + # Possible infinite loop if this request never succeeds? while True: try: r = requests.get(url=cntrb_url, headers=self.headers) @@ -96,7 +98,7 @@ def find_id_from_login(self, login, platform='github'): self.update_rate_limit(r) contributor = r.json() - + # Used primarily for the Gitlab block below company = None location = None email = None @@ -245,7 +247,7 @@ def enrich_cntrb_id( ): if not len(data): - return data + raise ValueError self.logger.info(f"Enriching contributor ids for {len(data)} data points...") From 3862b7cfdd9fba5e46700b7e53f98160310d4443 Mon Sep 17 00:00:00 2001 From: Andrew Brain <61482022+ABrain7710@users.noreply.github.com> Date: Wed, 14 Jul 2021 09:01:46 -0500 Subject: [PATCH 053/201] Fix error caused by 'query_gitlab_contributors' being spelt wrong Signed-off-by: Andrew Brain <61482022+ABrain7710@users.noreply.github.com> --- docs/source/development-guide/workers/toc.rst | 2 +- workers/worker_git_integration.py | 13 ++++++------- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/docs/source/development-guide/workers/toc.rst b/docs/source/development-guide/workers/toc.rst index 33ded8fd46..6993c15fe9 100644 --- a/docs/source/development-guide/workers/toc.rst +++ b/docs/source/development-guide/workers/toc.rst @@ -43,7 +43,7 @@ Models & Tables they populate- 1.9. message: Stores the messages on the MR thread. - 1.10: contributors: Stores the information related to each contributor of the project. It's implementation is in the base worker class. `query_gitlab_contribtutors` + 1.10: contributors: Stores the information related to each contributor of the project. It's implementation is in the base worker class. `query_gitlab_contributors` 2. merge_request_commits: This model deals with the commit data of each MR- diff --git a/workers/worker_git_integration.py b/workers/worker_git_integration.py index 3e3906f437..12425386b6 100644 --- a/workers/worker_git_integration.py +++ b/workers/worker_git_integration.py @@ -54,7 +54,7 @@ def initialize_database_connections(self): try: self.init_oauths(self.platform) except AttributeError: - self.logger.error("Worker not configured to use API key!") + self.logger.error("Worker not configured to use API key!") else: self.oauths = [{'oauth_id': 0}] @@ -786,7 +786,7 @@ def update_gh_rate_limit(self, response, bad_credentials=False, temporarily_disa self.headers = {'Authorization': 'token %s' % self.oauths[0]['access_token']} #TODO: figure out if changing this typo breaks anything - def query_gitlab_contribtutors(self, entry_info, repo_id): + def query_gitlab_contributors(self, entry_info, repo_id): gitlab_url = ( entry_info['given']['gitlab_url'] if 'gitlab_url' in entry_info['given'] @@ -1069,7 +1069,7 @@ def update_rate_limit( ) - #Indexerror somewhere + #Indexerror somewhere def multi_thread_urls(self, all_urls, max_attempts=5, platform='github'): """ :param all_urls: list of tuples @@ -1170,7 +1170,7 @@ def load_url(url, extra_data={}): #insertion_method and stagger are arguments that allow paginate_endpoint to insert at around ~500 pages at a time. def paginate_endpoint( - self, url, action_map={}, table=None, where_clause=True, platform='github', in_memory=True, stagger=False, insertion_method=None, insertion_threshold=500 + self, url, action_map={}, table=None, where_clause=True, platform='github', in_memory=True, stagger=False, insertion_method=None, insertion_threshold=500 ): #Get augur columns using the action map along with the primary key @@ -1255,7 +1255,7 @@ def paginate_endpoint( all_data += page_data if not forward_pagination: - + # Checking contents of requests with what we already have in the db page_insertions, page_updates = self.organize_needed_data( page_data, table_values, list(table.primary_key)[0].name, @@ -1291,7 +1291,7 @@ def paginate_endpoint( (page_number >= last_page_number and forward_pagination): self.logger.info("No more pages to check, breaking from pagination.\n") break - + #This is probably where we should insert at around ~500 at a time #makes sure that stagger is enabled, we have an insertion method, and the insertion happens every 500 pages or so. if stagger and insertion_method != None and page_number % insertion_threshold == 0: @@ -1605,4 +1605,3 @@ def new_paginate_endpoint( 'update': need_update, 'all': all_data } - From c13d04023f7345328e2419497ca972baefa89ce0 Mon Sep 17 00:00:00 2001 From: "Sean P. Goggins" Date: Tue, 20 Jul 2021 04:29:07 -0500 Subject: [PATCH 054/201] Test merge of `master` parts into `dev` --- CONTRIBUTING.md | 27 ++-- README.md | 10 +- Vagrantfile | 108 ++++++++++++++ database-compose.yml | 6 +- docker-compose.yml | 21 +-- docker-setup.sh | 1 + docs/source/auggie/auggie-diagram-v2.png | Bin 0 -> 108598 bytes docs/source/auggie/auggie-diagram-v2.pptx | Bin 0 -> 93018 bytes .../source/development-guide/installation.rst | 4 +- .../development-guide/make/development.rst | 2 + docs/source/docker/docker.rst | 4 + docs/source/docker/quick-start.rst | 14 +- frontend-compose.yml | 8 + metadata.py | 4 +- scripts/docker/cleanup.sh | 1 + scripts/docker/docker-setup-external.sh | 22 ++- setup.py | 4 +- util/docker/backend/Dockerfile | 43 +++--- util/docker/backend/entrypoint.sh | 25 ++++ util/docker/backend/install_packages.sh | 39 ----- util/docker/database/Dockerfile | 12 +- util/docker/frontend/Dockerfile | 12 +- workers/contributor_worker/setup.py | 2 +- workers/deps_worker/deps_worker-model2.py | 141 ------------------ workers/discourse_analysis_worker/setup.py | 2 +- workers/insight_worker/setup.py | 4 +- workers/message_insights_worker/setup.py | 2 +- workers/pull_request_analysis_worker/setup.py | 2 +- 28 files changed, 256 insertions(+), 264 deletions(-) create mode 100644 Vagrantfile mode change 100755 => 100644 database-compose.yml mode change 100755 => 100644 docker-compose.yml create mode 100644 docs/source/auggie/auggie-diagram-v2.png create mode 100644 docs/source/auggie/auggie-diagram-v2.pptx create mode 100644 frontend-compose.yml create mode 100644 util/docker/backend/entrypoint.sh delete mode 100755 util/docker/backend/install_packages.sh delete mode 100644 workers/deps_worker/deps_worker-model2.py diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 4ad5c3a35c..d16c016cbd 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,13 +1,13 @@ # How to Contribute -We love pull requests from everyone! We follow the standard Git workflow of `fork -> change -> pull request -> merge -> update fork -> change ... (repeat forever)`. If you are new to open source, we recommend GitHub's excellent guide on "[How to Contribute to Open Source](https://opensource.guide/how-to-contribute/)". In addition, please feel free to reach out to any of the maintainers or other community members if you are struggling; we are here to help you learn! +We love to pull requests from everyone! We follow the standard Git workflow of `fork -> change -> pull request -> merge -> update fork -> change ... (repeat forever)`. If you are new to open source, we recommend GitHub's excellent guide on "[How to Contribute to Open Source](https://opensource.guide/how-to-contribute/)". In addition, please feel free to reach out to any of the maintainers or other community members if you are struggling; we are here to help you learn! Before getting started, please make sure you've read the [README](README.md) to get a primer on our project. Augur's documentation can be found at: https://oss-augur.readthedocs.io/en/master ## Opening an issue -If you're experience an issue with Augur or have a question you'd like help answering, please feel free to open an [issue](https://github.com/chaoss/augur/issues). To help us prevent duplicates, we kindly ask that you briefly search for your problem or question in our issues before opening a new one. +If you're experiencing an issue with Augur or have a question you'd like help answering, please feel free to open an [issue](https://github.com/chaoss/augur/issues). To help us prevent duplicates, we kindly ask that you briefly search for your problem or question in our issues before opening a new one. -Please note that if you open a bug report and your issue does not follow our template, we cannot help you until you have provided us all the relevant information in that format. Respectfully, we do not have the time to try and recreate an error given with on minimal or no context, so by providing this information you are helping us help you! You will see this template when you open an issue; click on "Bug Report" and it will be populated with descriptions of what to put in each section. Replace the descriptions with your comments to the best of your ability, and please include screenshots and error logs if applicable. +Please note that if you open a bug report and your issue does not follow our template, we cannot help you until you have provided us all the relevant information in that format. Respectfully, we do not have the time to try and recreate an error given with minimal or no context, so by providing this information you are helping us help you! You will see this template when you open an issue; click on "Bug Report" and it will be populated with descriptions of what to put in each section. Replace the descriptions with your comments to the best of your ability, and please include screenshots and error logs if applicable. ## Contributing to the source code @@ -15,20 +15,29 @@ Please note that if you open a bug report and your issue does not follow our tem ```bash $ git clone github.com:your-username/augur.git $ cd augur/ +$ git remote add upstream https://github.com//augur.git ``` 1. Follow the [development installation instructions](https://oss-augur.readthedocs.io/en/master/development-guide/installation.html). -2. Make your change(s). - -3. Push to your fork. +2. Create a new branch +```bash +$ git checkout -b my-new-branch +``` +3. Make your change(s). -4. Then, [submit a pull request](https://github.com/chaoss/augur/compare). +4. Commit the change(s) and push to your fork +```bash +$ git add . +$ git commit -s -m "This is my first commit" +$ git push -u origin my-new-branch +``` +5. Then, [submit a pull request](https://github.com/chaoss/augur/compare). -At this point you're waiting on us. We like to at least comment on pull requests +At this point, you're waiting on us. We like to at least comment on pull requests within three business days (and, typically, one business day). Once one of our maintainers has had a chance to review your PR, we will either mark it as "needs review" and provide specific feedback on your changes, or we will go ahead and complete the pull request. -We require all commits to be signed off with a [Developer Certificate of Origin](https://developercertificate.org/) in accordance with the [CHAOSS charter](https://chaoss.community/about/charter/#user-content-8-intellectual-property-policy). This can be easily done by using the `-s` flag when using `git commit`. For example: `git commit -s -m "Update README.md"`. **Any pull requests containing commits that are not signed off will not be eligible for merge until the commits have been signed off.** +We require all commits to be signed off with a [Developer Certificate of Origin](https://developercertificate.org/) by the [CHAOSS charter](https://chaoss.community/about/charter/#user-content-8-intellectual-property-policy). This can be easily done by using the `-s` flag when using `git commit`. For example: `git commit -s -m "Update README.md"`. **Any pull requests containing commits that are not signed off will not be eligible for merge until the commits have been signed off.** ## Community Resources diff --git a/README.md b/README.md index 379aaed966..d4c29d0a8f 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ master | [![Build Status](https://travis-ci.com/chaoss/augur.svg?branch=master)] ## What is Augur? Augur is a software suite for collecting and measuring structured data -about [free](https://www.fsf.org/about/) and [open source](https://opensource.org/docs/osd) software (FOSS) communities. +about [free](https://www.fsf.org/about/) and [open-source](https://opensource.org/docs/osd) software (FOSS) communities. We gather trace data for a group of repositories, normalize it into our data model, and provide a variety of metrics about said @@ -35,7 +35,7 @@ One of Augur's core tenets is a desire to openly gather data that people can tru 3. The Linux Foundation's [Core Infrastructure Initiative](https://www.coreinfrastructure.org/) API (repository metadata) 4. [Succinct Code Counter](https://github.com/boyter/scc), a blazingly fast Sloc, Cloc, and Code tool that also performs COCOMO calculations -This data is collected by dedicated data collection workers controlled by Augur, each of which is responsible for some querying some subset of these data sources. We are also hard at work building workers for new data sources. If you have an idea for a new one, [please tell us](https://github.com/chaoss/augur/issues/new?template=feature_request.md) - we'd love your input! +This data is collected by dedicated data collection workers controlled by Augur, each of which is responsible for querying some subset of these data sources. We are also hard at work building workers for new data sources. If you have an idea for a new one, [please tell us](https://github.com/chaoss/augur/issues/new?template=feature_request.md) - we'd love your input! ## Getting Started @@ -47,12 +47,12 @@ but we are actively adding to it all the time. If you get stuck, please feel fre ## Contributing -To contribute to Augur, please follow the guidelines found in our [CONTRIBUTING.md](CONTRIBUTING.md) and our [Code of Conduct](CODE_OF_CONDUCT.md). Augur is a welcoming community that is open to all, regardless if you're working on your 1000th contribution to open source or your 1st. We strongly believe that much of what makes open source so great is the incredible communitites it brings together, so we invite you to join ours! +To contribute to Augur, please follow the guidelines found in our [CONTRIBUTING.md](CONTRIBUTING.md) and our [Code of Conduct](CODE_OF_CONDUCT.md). Augur is a welcoming community that is open to all, regardless if you're working on your 1000th contribution to open source or your 1st. We strongly believe that much of what makes open source so great is the incredible communities it brings together, so we invite you to join us! ## License, Copyright, and Funding -Copyright © 2020 University of Nebraska at Omaha, University of Missouri and CHAOSS Project at the Linux Foundation +Copyright © 2021 University of Nebraska at Omaha, University of Missouri and the CHAOSS Project. Augur is free software: you can redistribute it and/or modify it under the terms of the MIT License as published by the Open Source Initiative. See the [LICENSE](LICENSE) file for more details. -This work has been funded through the Alfred P. Sloan Foundation, Mozilla, The Reynolds Journalism Institute, and 9 Google Summer of Code Students. +This work has been funded through the Alfred P. Sloan Foundation, Mozilla, The Reynolds Journalism Institute, contributions from VMWare, Red Hat Software, Grace Hopper's Open Source Day, GitHub, Microsoft, Twitter, Adobe, the Gluster Project, Open Source Summit (NA/Europe), and the Linux Foundation Compliance Summit. Significant design contributors include Kate Stewart, Dawn Foster, Duane O'Brien, Remy Decausemaker, others omitted due to the memory limitations of project maintainers, and 12 Google Summer of Code Students. diff --git a/Vagrantfile b/Vagrantfile new file mode 100644 index 0000000000..95de27ce02 --- /dev/null +++ b/Vagrantfile @@ -0,0 +1,108 @@ +$script = <<-'SCRIPT' +set -euxo pipefail + +sudo apt-get -y update +sudo apt-get -y install --no-install-recommends \ + build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libsqlite3-dev libreadline-dev libffi-dev curl libbz2-dev \ + git gcc gfortran \ + python3 python3-pip python3.8-venv \ + postgresql postgresql-contrib \ + libomp-dev \ + golang libgomp1 +sudo pg_ctlcluster 12 main start + +go get -u github.com/boyter/scc/ + +# # install Go +# installGo() ( +# cd "$(mktemp -d)" +# wget https://golang.org/dl/go1.16.5.linux-amd64.tar.gz +# rm -rf /usr/local/go && tar -C /usr/local -xzf go1.16.5.linux-amd64.tar.gz +# ) +# sudo installGo +# export PATH=$PATH:/usr/local/go/bin + + +########################################################################################## +# see: https://oss-augur.readthedocs.io/en/master/getting-started/database.html +cat < /tmp/init.psql +CREATE DATABASE augur; +CREATE USER augur WITH ENCRYPTED PASSWORD 'password'; +GRANT ALL PRIVILEGES ON DATABASE augur TO augur; +EOF +sudo -u postgres psql -U postgres -f /tmp/init.psql + + +########################################################################################## +# see: https://oss-augur.readthedocs.io/en/master/getting-started/installation.html + +mkdir -p "$HOME/augur/" "$HOME/augur/logs/" "$HOME/augur/repos/" +cat < "$HOME/augur/config.json" +{ + "Database": { + "host": "localhost", + "password": "password" + }, + "Server": { + "host": "0.0.0.0" + }, + "Logging": { + "logs_directory": "$HOME/augur/logs/", + "log_level": "INFO", + "verbose": 0, + "quiet": 0, + "debug": 1 + }, + "Workers": { + "facade_worker": { + "repo_directory": "$HOME/augur/repos/", + "switch": 1 + }, + "github_worker": { + "switch": 1 + }, + "insight_worker": { + "switch": 1 + }, + "linux_badge_worker": { + "switch": 1 + }, + "pull_request_worker": { + "switch": 1 + }, + "repo_info_worker": { + "switch": 1 + }, + "release_worker": { + "switch": 1 + } + } +} +EOF + + +python3 -m venv $HOME/.virtualenvs/augur_env +source $HOME/.virtualenvs/augur_env/bin/activate +pip install wheel + +cd /vagrant +python setup.py bdist_wheel +make clean +make install-dev + +augur config init --rc-config-file "$HOME/config.json" +augur db create-schema +augur backend start" + +SCRIPT + +Vagrant.configure("2") do |config| + config.vm.box = "ubuntu/focal64" + + config.vm.provider "virtualbox" do |v| + v.memory = 20480 + v.cpus = 4 + end + + config.vm.provision "shell", privileged: false, inline: $script +end diff --git a/database-compose.yml b/database-compose.yml old mode 100755 new mode 100644 index 1f2ddb32ec..2b5371a65a --- a/database-compose.yml +++ b/database-compose.yml @@ -1,9 +1,11 @@ #SPDX-License-Identifier: MIT -#Format for ports: : version: '3' services: database: image: augurlabs/augur:${AUGUR_DB_TYPE} + build: + context: . + dockerfile: ./util/docker/database/Dockerfile restart: unless-stopped ports: - - 5434:5432 \ No newline at end of file + - 5434:5432 diff --git a/docker-compose.yml b/docker-compose.yml old mode 100755 new mode 100644 index 116d0ca3c5..6582d1fafe --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,24 +1,15 @@ #SPDX-License-Identifier: MIT -#Something having to do with the workers is preventing it from working. version: '3' services: backend: - image: isaacmilarky/augur_backend - build: + image: augurlabs/augur:backend + build: context: . dockerfile: ./util/docker/backend/Dockerfile - restart: always - #DO NOT declare ports here in the range that the workers use for API calls. It breaks the docker compose + # volumes: + # - ./path/to/your/repo_groups.csv:/repo_groups.csv + # - ./path/to/your/repos.csv:/repos.csv + restart: unless-stopped ports: - 5000:5000 - extra_hosts: - - "database:${AUGUR_DB_HOST}" env_file: docker_env.txt -# frontend: -# image: augurlabs/augur:frontend -# restart: unless-stopped -# ports: -# - 8080:8080 -# extra_hosts: -# - "localhost:127.0.0.1" - diff --git a/docker-setup.sh b/docker-setup.sh index 59a1ce6b16..d9c9e7f8ce 100755 --- a/docker-setup.sh +++ b/docker-setup.sh @@ -32,6 +32,7 @@ type -P "watch" &>/dev/null && echo "watch found..." || missingModules="${missin if [ ! -z "$missingModules" ] then echo "One or more modules required to run this script is missing or not in your \$PATH:" + echo "Note: OSX users will need to install watch with \"brew install watch\"" echo "Including:$missingModules" exit 1 fi diff --git a/docs/source/auggie/auggie-diagram-v2.png b/docs/source/auggie/auggie-diagram-v2.png new file mode 100644 index 0000000000000000000000000000000000000000..510661a760d6b0f34dd5ad896d679a094384da99 GIT binary patch literal 108598 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

yL1jKStaobm9qrIn}7IZPWHe%d+!G+Ss_ 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

-zf3EOsBQy+3~Wi&vz7@Jbutl~Fj(*ihrd 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 <_GuKW!ue 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 t++}9%%TF77)uVh*s zK;3g3Jwe=gVjm=?Mz>#6u$LRy;oSy^_JW+~H{XonRQ0p2ymz)=AL*&}u9ejB;RQ6_IdQ=o%!{S}WJbf-?g!469) zXDHg`uWEma-O8?DV+yqUyfViskiV4HdSoL)7(-IMp;N`IdzZc44Rs|sPn)Wbh>}B& z_6*~)x}Q&6tiekCnqIAQVjCh;Csxkt^mR_WDEpR%gtln~5Yb$3HpefOt8Il7 zLRKN^ShC?OkyQ$HEMpTeDz0z$)vuCxPd3wx#A?;Ha`+6peVWUT?CFBMG!eFhGi6V6 zu$A8B)>3TVilcnE%vVzZ#IdOb@O%E`m-ZnkA?~iK(~QAykz1ixa%pGZ&~#+==iW3r za4C2*IO(7%CVGNjb@(GUkR-HsbOe#Fa^KhlFHe#cp@eJ|iKh(qZk3FY(-o^JkbPRm zN^Zg<2AVu))Dxna$EH9OrbY{b30|OMCrvPEM7t(A6b)yXq#Y2S@Ruqm|Jo8F9%7*0 ztz_7J!+4+bTcEx@?*uV`B<>?~b3R$w6Apj%)xzATVU`Sxp_~8F!Vs_=pEW6Bv`%2k zSpO3C_0=i=l&kF6W06{KHCYp=n9VXonBseq5| znie&I0Smhu=A>AIg}C6##h1|B#_v@hEqY1v(Ou{lQ>B9(xLi1{$7m%Ed^}0?Ujr|~ z!*ZJ;YJqD%oiSXLfD-48f#G0E*S6<~yep|-7ctf^TeMjj<(YwHfDy!oo0*-Fw3&CqH`O?T{9X8ydL`LiUy3w#Gx?plJ{kT6W>h$UwMlz=7xPIB zkbb7o(&7CI|%mwoXC@&sJ5w6vN0wDO!@>(b39 zZ@o%91Y!I7!=+aLcYy1YaA^iBJD+D$s5YRg`+JUKOnHfgkfovTI>N9{pyM9%=Tkx_ zJr#RH1}EdUOQ%3sB+T8s9!s@9m{f~C0$;qGfMwDo1t@TR*Vo?&1w4K z4O$C{H9FMPa2=vWD7jq+T5|EkZ3Vzzp+0V*$GQxaims<+rUK}QI~OeZL7nSZ9nC0@ zp;@(@$(Urq$T#DgFLLqkUC%p7cC(d&j5e+^EXTa}$9H!Vo1DR~jR=A$12L9qA6M|! zan-%^-Gwo12pYUbkc_*O+x(G*;%9^sH%qey`UH&ZBf267r0>fikm z%ZFQR^{oi7oVEd2=dfZ8Mwx2@GcOp#z#H!CpP+}wtA5D)=9#4Q%{ zAiA7#7AOXo)5COJJPiJ5w$X}IeEcna+0`bhm)6kb2=E@q%2l#l7B&lAl4Z0CLN4_9>ypg3}mJMdPFQMPbGkA6@g>_!b?FsM-$)m z7&rfoSF-iYob}wj*M5lY+PryqO2epl^>5IhEnfQ(D()v%!}~uUsO`nXXR7`Sh{r1K z(%saCeU2;a)Fa>F&+7FLF#*n&=Zq8JX6hwDJQ(e9=>1&pbp8ekIul`)wku7?ZP2VV zLY+Cn;ocVSoK}f%|EjzXklJ9X+aQE}_51c0$PO#;X`>-*+5(a;xRLhyY_PJu>qVf% zEp-p0GZ6r#XXYR5Bux1cs|=Q+6?jwb^?Wv4rz)f2Jr62h3yZ|Jn$@l>K z_rb|wy+?aKd0+Q&kUQf2#p1rSRC)gme{}Z!sFSK0rw5tWx&ML;d$HqVf{>lp&2&?L zW^k_`48P&YjML2rzm~rn(T-+B zC}paFBL~M9+P^#P+3)+C$tR@)U)Aq6P>-l%0XJm0tzeyz_Ux{Zh~Husg+Dc+N(=?X zl#Tj?$o}`gQ)ntw{Z_^4$&i#6z=U;Yik7gHHSEKkZI`VV-O2oE30`wkU&T+_;qX|i zKGzx}{i~{&0L9(OAL7QBy=CWRQqNBP7eEujg_Gkir;&M63Ks>gAaQ1jX}?ts;v%BN6FG0&_Q5m> zoQuJ(I+NF?sNBqOEu1X$kpWn&1CX?mJ6h*(&S5t4T_3#3tA;$L?S*&zUDZ`LiYP38$Fd+cRgx zOL@Vvf2u3csx)HPe8GX84qURdfI9muqb*M(bUB~*L4Rd|7&0xqp-cDGnNL!x68T;D z`VUoSVmU`4i|dL8Hwv-gJsmLyViI&y&H7=J`VYKail%sI$y$ev4ah_0sL~rrXq|AI zTEFbSS~UXNN~Fc5O?oMvS%l(Hy1$-0jV2^??Uon%%%0L3n`qN3ga6*#WaEp^w3BiQ zBR&)1MQ`SJ-p0OnHwWLRgB)vqWAymM(ahcau%)9Q9(1JmXUMa5OK-q>!e!DD_FP$z zU(sM`{`ClCaq|89Z;q!1PfZ&asq8tE- zKsGl;`~cwVfDl<9TPpxSSsB2FNQ(hL0a5|}AZH??03?7<{t3$gSpmp@eUAhHMB4rf zdlT`jg1G*WDdPH*=3jT@eBi%hBfiT=`a3odkdOR#81NAh8vs872&>sRdpNt>IJ-RM z=i&hfzfx32`Gf32WW_E6VVR3z9bL-dk&hFm+>Dl?k<<<4g@7q6e z{gLx;`j=$?n_PqlxsXs$kWtY8$OT05{v$Xc3MxG>8j-X*x|u6610M*3;NiY7h83_kSbCy*g4K7*YBhe`jijg!IhfXo^(8ksAA|!=QjEY3bdB*R<|5Ny zE@&?vVMTtyK00H$vUB%m!FOA8i2>?in^H3YFIl>Gy&-kHor-TUu@R74L&Tpy4gJb! zKfOy_MQ8Q1YNgdrU!>PQlh|6#TP1NuFuXsSXqUcwr&O+|T6079Hne|#WAgdBQoUu< zhauK)SuROok0(Qx>dAO=cpL9(Yq*b;xuY(1FOFy@X=v@Q6P1&g!*kh%&Ndafw578P zV)XRPmwQzzfvjF*)8xUBpt&Cp)c>&R{F-^L*mMd!4?BkE}qyhp7 z<`~kKTXgJiUES#y&>aY-`6kg2;KDu4Gn*xWOj>FoyY@5OR# zy3g`R$q=rSV>lp`cKU(xA3lf91dr3FtKT6ou5`}gh5;feZmDF}G~1bNKIb0is8C=x+}j& zXNY)R()ICwRsPuhIim6>wv2+uSm1yTWs|G-k7oYP&vuR5W7zR~%+h5Va4_ga(Cah| zQh$xUaD2i{Z%Ivr%8baOj`1{rzvJ68xwxM9Zop?HJ}153SvKS^xqcU?v*(YN9P?IUBjvrxeMmQw8BEpAh2nv5{RydD&*!xj3BC(tc z4hZo#d3GU*XjkgrCEMB0Hx0&vZC^^#*z4zoIe82v;;#(>TOzfReW_N3kFrI3NZ4Wu zb}$sJtbZlwqN;mssyvkDcO)pVjB`K5`5~X;4&Y6q)M3+m47{6OuP6S9O^yDL+xAEY zlUd9Q{L}E%q<7s-*l$Fa2Iye1wt28zd8dF^W@vYZ*iV~?skda?(-zUtRE@zj=;O3_ z^2&r{Qko}0_~W0h(vLtH2e_!bE@xOW#GIsB>jZWS%{x*AW zi%>cgyORn-{Q z{X3XbQfYPFuf?I#7dTbV`X%R9I{EGLYWq^a$yr0Wj`}pO zPZHP>U*i+}=5#fw$UYJ0>dT0DH*X{OY3WrQ4^xrIOE(F#P+31+LtMY3N|NQ81)<+q zJkA#0QwI|CqTwsKSw*o?j+DfsX$L>>^hihh&hnl*Evop1K9_8~H-iJDge75!+amks z2}*N(zE7g+sbqAA=)wWN{*X2G?8e1_y{n_Og`-lt@-v{=*Y`RDL&%7VSFjB{^}FuGRvm(Yhkp*RU+XXl2{BF-Y1 zuo+7d`&fqFgAowfbf0J$8F3d5r7vrEK6_NjIlEzupKL zyTbunQGPFVkMCbr`Rv*>hf3lt@f|^P8&cxh<$ovugn45SzEb$XLbSpb7v9_x1G&e`+ zswAgJc&U7hrr10$^=E?x;($g8|0992>SGW+95B$?-BA|h6B_ZN+LdItKgMqP%aZp3 z)9jK%>hbZa;MAwu)CAg?-$hrcr{sOXk;ZJ37Z3Eu9&iBO^4=U@%|rO-cH1UdJkBE% z-Zv!tA1Jzyaa@+)cck2yt*_DC#I9d~YJFx`IoS=rH!5-+eb%EA!LKwuVl+*CBywGB z8Ro-W|9UGDw=dgWJNUArt;*Nl>d4dIh?qm*lV)48x)B7%T$1ZVKX8wI&wk$7y(;=p zAV?QCyGk_8c^ovy+{9FKoUmxC^iuh$OG~V83umr^Rd;eh9gkT=NYsr*#!1v=0e@e?@QJ^NinTLfI~?E=%xg>y z2e@`bmg!&95eNT3JAdf9?+c*c45qu+hYcihaR!J(f43{H5BUpQ_7dyMoMmc|oijwi)AGgsawQM=loxPSUK=fQ$EYL-vz9af*{ z2|WLxV9b80*3F|~>YSRY{=+;m=j%u^uxbsz(;A=l#(z_cjL z)I;N2S8@*!zR_U+xTrP=M}o z?)lYsA#$>`W@8eZj{?#B55)%Q{?S^5F25F%QRB1RDwF5ODC?ZcVknC%G>eW)gu!jH zCTRv$7lLVgMaqWP4?4<<=^h=16^y6NgJz1a8c5?(SMl(c&l4`UThrqL2#fZ;Gp!0x zzKmHN5cAodw$coj7x^U87?hb})}AQB0UvV3(O#TpH^)~5)^Rw@Ork~}Nq$2fwtBy6 zJh>yhtb)d?+uBiZ%Eze!wMp8Y+S}0mfTm}m7iVGh>gJ`i2BhCjWWes!&9`Dt!}*l; zYJcjnY1i!S`cVg$kM^kN*9mAVB)S-^kV2uk+r1+f_4 z3x9qjR}`5!E({HfA>>M1uIJ-;ZBAqs0^OlpbdPBmT zWr{>lOoY;7!<6ws4`fXLC^k^sQj6;3yOr8C?Ij`i?dkPNlqMp!_E#4Xp@;W`6N4jn)pGVyq8@z zrB{OMG!rq`&Ky>+4wB6sR$=zM6h=vxc>ncbGbyHOBN5F`f2WsI`=q;dYn5`2X_Dik z$pF;~X_TRA#(nfT!c`}%<>^*pyZdovWeg!eOFaY~05nwYy#Evn2i&172JgxC*``l_ zGB-$FJbh5x2&h~YYi{}ip7E57^*emG?^ctOAB>-xxv1n|__lEMrCY5YOFVX?1u%pn zdzLF~V@0FiSfUYjm35k~4^D7{_1E77EN#GwUdr>g(~|}yQ}X2_6{n$;J9l_hm~P=h z2=HC-)o-zoDw8zo}Hf(uR&tD~uL?yWq)s7b9Va3*slHcv`Dr7faFYh}tL=cr)#BGVM|6nfcpA-K6p`j97qd&8pHINQ#< z9>sBjn1xvm&z#d_$QL%#Sev71LKahm>D2rxllF$zk5CyiwWb_fmPOL!&OW9mb(~Wt zlzlsyt0C-E^AddW(?z|xUOWLq(5SFpCQ?BYCW0k;QBEv3v1z(z=2Trw@LB=m8CbYh zs4ovQ=!wsc`s3WGbL3GI`^odC=UdBPebqZND!x&wAQQRXcvNjC&*Ocayq4+=J9_bM zNg2cU*=iea2RZK#Nhnu|D!Ar#4C~o@*|(RAfJd#(PS}_vs?f+&SbVivZ+iA9 z;Jb5zahZpga4@1v4h%$e9&+P9#-z38yxUe%7Tw;bc8;b@7mEWKw!{Z-ZuXd5kw?M- zvPwp@V6WZl4{;mJo3Psb%8T7Pli>=70G7?fMf-Ktm{~ZW$M08<33o)3ISr&470cK* zWf9FVnlwkri0vbPJ4aFFIp5=o1eU#SZJZn1AW1`Oift?FBt3_8NUKP)=Q9hXR_Ubg zY6Pm4dDuPzW4IHr<7}(uB&+C=ug(dY99lD9QZ2c9dA6K{_wCAIl0BEYnB*xFyCNh-Dn-QvM<5`fk}f$bndy6!SzET6uhkjK(>U+8>6zZsn{a+r9eEtl3SR74Cv9$B?7U|pi|~&X)ML^uwK0z% zrjDV*K5GlC!9Y*RHfOVMjO@A-<8o{r%>l22|WY`xdASNQn@Z7LEaV9nJJ4)E~9%9!}2GH6FTH9Q==c(QJx-6B-C zNy8y+rTg|K#g4=yZYSY{fh{*~06Q5^q8PSa!c|u+Q~p-7@tcTxh@8(eSY1{L%ml;? zP+kw@k^)lLD~zF3h|9ah1XbdjnY{K<46||h*cN0BwSWT%FKam*NhyrDN~Tg*ca&sF zbdsI^UX1;@2g9fSUpl+VtK}tWZ{#Jz+M8vw$hu#;Z~!dUhVFd3Gb=dWPgu;*wy)wD z)u$!vXm#TyH~^y=1P4gi|8BXN`0s}~ldBww;Y8ChqQdVjkA#lMj{$S%&ZkBH6}(f) zv!d!GzGqlOzyDpgy|yX;U%@{)h=+;2iMd+4k!{5PeQq++*`N4d!6VVY41YAA zRMMl){}d6ixBa`cbc-H$JXbj0|LGTM1_m;=NCpPAKQ<}UcO|KE+wGFuvqXu;|Mxj- zx9Q|J(kdJ<$MUEJm85>;^3j1TjztKxJ=pym-ClgezT4eV{AC{~xf8W4^s$=IyI##= zu{gJ#>Xy*B$8d7iz&35;=k3!$#C*HjB zkW`dBX;mLyC--S_PZrRE1AIxDX2dfOkF2e?CQj+%#mG-}Z{!sxAF1qRR6CldH*!6} zS?>iu;xK}8%#(g_cn1^{`3zEOoWlW;LAZ}|#*|Y6M`%6$&6{th9L$=}%sL1$pT+3| zahML7?0uyYpik0ly?tW>ng-~q@?al!gOY>SJc7H43vLnXrocHe+8Q>OIFaI`nUix8 z8`fG~S*8ij^kfOb8+zFF#vG_!aicAd_JC*KPol|{>F5*Bs8LN>=BugC?kL9ggJ(%k z=PQBg6r=VhCg^a$4>bJiJUHN$Ao@MMC|z;h^@@jRV0cHCU9;E1*?2Oao3BVoOmDZ^ zujmqCf#ab@by?s3uK%HrnEtCx0}vWMAfKpJT8Gt54=nw4$DC6KOI=(kOseIbjlh`dUw~h!O^QR`*LqTSskIh8-tV1cmDUq6M~^ zTA=J~Ulug3TCub*RJf?jH+DEBIJ0t99J(GOBOE~K#QWTk@0ckg|LoxKBzzUS(mMdKnzqL1x;RF ziUyzGN+M?A-$WdqesPIpdF~w6_QfjFG*KEcztcBZ`f`-k=fVW(DAxo>?nPZ9c?^!u zEo@5_v~-?PE^ppioEi@WuAdOgTDmfJuzmYX^nxQ|aT*QaRvZPQ+#3+wR!REVW+8R( z(WU3v(=C@ke1@ zFCA$-dHubetx?<6AjbBw>Am(@5eZB?jExETep?~lSN224eA^Q0H-nV{45!Bhksd4SC>X(ET%r|_7f@GkMv8G(>|4x^CvdmDGHjFL=C`PuVL?LrseiG z;#X;mS)KB1nsSPul=uNM82ml|BV1166rEaI<;$JSJzo6`J?z&?U*nax5VPFxy2ffRARxvL_W@=9Km zpl-X2@KgZb(>u$F=1;F_{XaXB3H%n~k1nuaBYzh5L!`R&p}vE-(pf^lftc0g!XUfl zQ$d!^nOjdblCag!xTF}T@Kcj@x|nt)a!@1o(97!?hwb)PNp%ayL@NW?MQ$P6;&;o? z%4BK!GxkxBwMBbq?ziBQ#a+>W)@=Pyr4QL-3@>#;HrJqMNeBt3oe5$n*Xk><@Y z@7Z14@n|<3a5a5ni(4#2r5d$8y_GWL75+30lL+mj++<506|nxJS29H?26X#79l~de z`@k%UtHRRdZ45Hx5v z5Fofia0%`Kg3CK_@7%d}<~wiw-f!Oez4yngMOSf7?b=nl^i#Wb)wvirFOWaUtC;{M zZrE+cOvJzaM6X8v8t~BY40cC@7Lpkcb_lduKk2k`d0@tT-ino&j2`}tllPJQvT`MB z4zEe-E3d*_Dx>^>7j2k2StM+$jpK*UE{2hQgA~ZiFS1GWm9}{f?w7n{QN^mpYRrde zf?A_e1RZztgV98pTOQy^WQ6{{&6oiR{o{wpmT{(0H2Q68|5>cC(^nJjCSXheQ=MOd zcrVVVe(Hxv*(nh4SrIE{rmdtPTe`e7O{;yzVDp(!GiC86VR2BTWRLprC9&20k?>mc zvH@#i7X`FEz#g+Gc`k^(g0H_Y?N7=s*GCk73)go+Cj{^6CQ40+T zp$2+|v%BJ(13%qoq4gAIyb~;&w#7>=Y{#2M(k;1dWFT@*-@Fk|A&oa8c%J6NidCiB z&1^W*PZOdUUBKw9Kib^!Z(D3fafJTvWIWx{2k^EJm)FWUjN=N_w;wS3<&rDlpQRvL zqOo&=Q66dZsg6MHb3ewCa%Siv3u9&|=h9`mws-uOH>E*B8+M<^HUnig>R0Rq71 zWd~d!^xEgSac^SYgaUD{`DrV00Uo>LV@@`JF*}SC_~T*Yy74&`fhQnoz~$lu-rdk} z@xXu>fXnk3cm?>pz>Dipz<rEQk|4}OLKc(Wnk&63Iskm>X z;{Ho2?i;DD-Rpb7KVsg5-bls!hg7_ON(IneOYo;uJU3DSNdxcr{*sFCMk>I) z$uZyqoNq#}Q@D|e=SHdKcs>K&Got`i2SqLRpc#nY_ots*S~+!?KuAR z_fx?L!2SVo^ZnH9_DbZnt%QrJj0EU&FZmkq;Ay5MXa3(c47pC@+A!o#|GzQ}LHxU6 z$PFcEFS|koh>7JW`@#hT62!g!fxD|d27y2v?&@N6}Qxh>` z*6vmo(o#?$MqtloGtN=q3$`vC+7`2YA;tLI)c`k-5wF6!jXj?n84W#+oi!K#-)Z~q zV{X;c?3iL82tEP?g@M5T^Y8y|If%JHFQr_ho)JRtQ}2S~%M8TNtY@^Tw}dmx%x26# zRD@Jmc11^gAoKlN&#+?GIv)5ATnP%8^3Nr4dl}#}z@3JUuE8B6G4h ziw9ko-W(2C6o~|mE$tn=;aS^{{g5_vpobMCMhGSpBdluT=T{c`MD?)vk)kkCe$VKE z?IqNg&nmWpW9aAWe4=(y1yX1mAq*TY_4voVko+YE1qRu63jyV!MyjM|L_TIB!w2sV zEOTYJ{ItBEH^X)*!GtJBw5GEeJ6>brMnFZ-gsyF#z{m2mjSa zGAu(rpD6|{Q6@h{ZD!#9sYMoaaJsGk(^{3&O4rCmq7kh=tSHcFU65v>m4$_X+7RCF z>ih~@bm*nN*$nFi(-6_)W86?(b|Ar*9%4ZT0i~S+DyN!*-W?2f9GF~ED28~4MEj14 zocx!MES#XSpfD4v3-j5jMM(h?`73P!xn>wU9z?{TRQyzDO}Zl_+!u{vlmjSr`>oOj zbv?Yp0Jc=PQ}c8D($_@0ZN@XO%<2?Tu$3^gwX}$NpI+rFHV6puVTZD8Ilb?4PI|-@p4k z^f-Y2PL9ct@}XNQspG68RTHeA8Pe!~g_IY}7NB@(H_u%`>PY2e;FR8Et_XZY#~eqi zHJw%O5ryzs$-)Cz{{zTXM#A~)gTk4LPp|L%`Ux!^$KO3OM?Tb}c52_YB~`Nyz&egu zy<%jI-Htm~!L)e~d~f2i2F62fxPes^sI7-UX-AURK9Au(aH#6@ysfn?E0x zSGxH2%_JF~L`co91!;`#R;l&#E`^%+I}(bOKgH8@@{pC`)nUmI2SI4&_8}WN7PLiR zppwvG=2FM0HAk`xT$;3WKZc z7d%`1RX8~we-8gCR$Nk;NX{17xs8O03nmonYhTUIzs3BW=}8a=jG46f89Q`h%(YRV zP~gaYpQ1|(HUuA&Fk|Ny*clgw`E!B4A=Q22}8ugfLJb z6mrl2wUi=JhLBig_XxgqeyDX{upSmAkHQNUlwOc7Re!nnlS&Mvzq}4Qx2`9Z2Szq) z{Nto5v)vMKk*yk`7+L&j*STU0GJhu+0}6{0L;1a10ns5IxXt7DGe#fuHBx?P7th;o zA%bXN?((fN#WC5ph$2EWm~59HH1{U@+7bfUPhyyBToPGs4CWR?K>I=8BnbS~2KZwP z3_^e^>LGAUcb;9aGwk75qIC>n+0Q)hRYiVT9rXpPVFHaG<=5dCdISz(XLFk|S))nd z5}Ug!2&YoG45?IJ&<%qb;(wAuX`cA1oT>~abNh|gL%`^{x1(Mrr?6fz)9K%(g1$Y= zz&!T6GLS{yS1(+d(z*n9Qy!c9wO&Pad)x7hK!F^}W7g-GT`8R&4bCPOSr9-46i_9l z`@g%c!VSf6Sl)t-|KpNo;OU6fhS9kAp{3YE8G! ziODldoZF9Q2ZvPk;kl)jH0b1N5v=V$ng%nw{kr{F9fmU32f}uiUWomgUKQ)M3p4MH z_HAv+w5w!tbf>?P7xW&uw{RvXHAkgBSw|}x*6uB#T|tp|dy4HI5x$9*VF?Hhg1fNN zgW%4D$FCNV-|fnR)X79u$F!MG5{IeeNuif=n3QqbvFFbPH>C2F+{>8uvGe(k>-@uw za-%F!3Q$eQ2TCCQC1z@ohtqR-tlT?iCfP$dL$n_384!0C{y>#=Cu}pf>1l z%KvGavlxJrP}0;}DZft@ReD17<73GbtsTpE!ao?|`gOWzMa}69%`A6%qZg#;@cj zXP$0bbAMl{19^H>)X&~ldONDk4pQ%AS^zJJ0qqT@jdb&7+hjMoP1V0MQ%kpXkJ-&B z2r=KQS5c&TzlN}#IFeMF9PUlbE(TzR$o%Qc17G?+AIGDP@sIBVWOZpyq9XAmpL4gB z7G%p;q3K@_k?XXGdP}OXiwM_-xP|n@q4s<{hAqwh#_@U;kO04@fU^FMK~z_^FzwaL zZjE!@lrj3chSarGj(z^H_!)XlFv&f6f+@OUjfKlTW4yPNNW^;bvO2UxMdVWT^rfp| zqWH5TaeT*cf#($E5z|Z@l;hF{f#QZvP?{#4u`$i8DJH*X0>(~C%gNNcB9I8F_H2_O z4sG7g4<|P^O4T8{67ll(iRnQe&z6y+ymGt>NAlag0I*X+C61<1r^5AMskE$}q%Dxe z!0Tqo#tFV_vr{MS5NqF&8+lKY6E6@37R6iFU8}d9NT{nLYk>$7dxAYb*ys?VEERk` z)=~#42K5FX#zb})fW`H68~UEVWYZqCzC+ZI?IA;`zsA+ zjsq8i2?Otrg=8TZg(G?updplM+zcLj`;t)-b`r-sGRVHD~r&PZ?xZ93X|Aipe8;QoblW&15u9?T9Gw z_7!Kaot6MwBd9{FwY48osJ*8w zJoz~FxS2FJHPsrWKv&)6z=&n28J5_~&oA_dpUgHUEykDe(O6ef`#RAN12z%U*bU5{ zk{BW24$eDfQJQM)_f39iaSdsL90angbfQ4H1QREiOXn|+PKNvHkK`<=w4EUxzmt~F zZ2d`-Ft&9?)PKg7wtCPl?kMhN6@Te~lD5$AfA~u5N%TuyTMqK+RsNoIzolU>k*HVgWF0$z)@D9%xDpOlJW>KCg6>_^WLQJTp07s8qM`R2rHvSFtPx! zImds44+B40oyP{2ZW%2A=B1eNQl|ixb7HSRSTG4ZgXpnR{$o8R4i~83|0DpU7l;WEy`pTqjw_%D%<=Q7 zG9%Og?0EvfVw!{9*Vhon2!JrSJ36A-ktU; zWM}1^oAIR`ah9|QJV7Kr`sP6lfA#ip_NzmpA4N?1EYrL>1vZtJ+H2n*O>$Qzaj=LH zUN<*pELd+8;e-+@=t?G=g!%c<4xfAGdl^DQoWieaojgDBpOW26004&+0GHUSrF?4nffgVE3KnmhBCn{YHUF} z9w=9)M^!;6cC2%O{>?WIb2d)J@(3bE4Y_x-5wWPBV#=Bej^*NmwZ zN06fUz6KXd5fd#C=PqQI6X=2|)N~ceD07XH-YgjI;2|>F^X`+nqYZmrZ>JN z7>u__*?&>!pX8P7b?0(uz4`PJ^caKv*3;J`=V+fmZ4rCFHBv4rhCM52x@1Jzd{MX>ti(z0^&Sr4x7XWYxF>T}e zLUKHae4RQlcky79w{cPM_OOpopjo4XkNDBA?xQ++rn79RyR3;kbt$Q0lnb`rq5+US z5f!<(dr_-wi;M$>AQCv`^vV*+cVd*4SV5wgVunnC7?rI8Yd!foWlic3a!69>r#*Ds z@4%NnH4Y6W0q(fqBi17h^ecg3dRqm^dk}-s2=PhEL*bOUFl;D{Jq>Xdcb0HQI*Jc; z14$TmE1%c}$?xE1PIGEdpetlsVOtI7at%j8m>)|wl&;<}ME>jZz2fx^IzDU&dSDWC zX7JD;v5~e$#pn*v9Ia!Em_n$aQrG7gWtJE1G(hqxD0J3FMeht>ZiQqR3O+>7sLb}$ ztGH3ZTT(zxo8AcMjr`#Bxr>AY{98{I`r}`DR$9O5IoI6zk zHJzvRt|h}O;)tp{4p#y<6KL+{VD9Zqa?EVPW3PgrcSQ|&fOYv}LNt1uS^zccweJ?O z1umN_G_?{dpfus#dnKQCMlaRYLI%TBNiZPmLMa!^q;5t2y3T(`vl!J6R@BjEtDQa{ zj18K<4ZMeL_XgaaX)^eQzr-gD0KM)w5Nx_A4^$sp265xd1$YiJ)_2lZpCq^Ry%`SQ zD7i~S!*>lKXBEzCBrA7ot|Ar``SOj-OSFMyLDDffywetlEtOwhKwxU3QlyR;#c}5) z;cnLZo4K_F{wd#oHh8w~i{{})xKSVlxE@$6a;tzYSM%{_e7DSP_nP8`DI(7z+mdgkFYgI(-|X`|XP$)II7XYj2^b~b({?$lfv zS4K`5y)gSBEtPy{C35-8DO5ip3~zkVTYf*87VlI=UXN;V9736z5So~zwLht;OPUxju2nm!U4;+()*>-ytif;qfgT}07&cl4@evE`$Xtf zrGt_G>*b?_z5JChCN_gyHy_!5o80S<__nLL{VckD8|_0zeV!hEOtb?KwA50U@b6#l z8zas2UCr(UyQHqs2XU+h#cbSAObof{^&kU&Kzp82r z>ZVlG=RwJbBJA3aEvIBej_#85tltil-BsSZCQ4Ay0^6u-V7pg&ND7@0Lw#9&?`kU`z0u}o z>f=X|AdgV^q}s8y=d#Pzc|LYZzh>Tnx97al0%NyxxdE^0rBe@%JWG4s8 zV*Ry0xf8b?wH-ql?W;%}gyMoUN?$>(QY-WY6!y;OCMrvt}T9+0uR((Do`P{sIa zE)Nlo8bFvwxI~@j?{=t69Q@xv+}4#22iD2=X2o=l2sh+#DOMFo>>kQ&#p1^ zowpq52O7Q+mppzmY)fi=B=PX0{nLvne}ldCGUt1uBrBC2!yf3zZ43tYPrw~PWq1w8 zOk^rD0NHT+WU(LiJ{z`81js}SLHF-422h0nZ5u9+@ROVSWm~ z-38!k8t~O#iNNusLzpR5(Gq~@S!c!7@gUgrb3adqaL?j221HVb7#|L0n$aSNw{Qv| zfy9Jg*`DV88>EFkjlVl7ZulPRPhsi)ClEzp#T8_?Ikd~o{j${>@`E%E@4x$I&XPEL z_++-gKHNw{F5b3X6hX+y0^qg#)Tp^B%(n4+5|H;4I`Y9{RKOj+mapI#t=iXXgoRYe z5m-M2LWMm{{U@Y_fz|0+-SJ831644RD1P1XW&NyylQ;&XS;_(tDAJ=ZR%%Wy(pLQ?kpM4mc*_czBCcDdPp z5_|A1S+r}V({ygWLqZc!yeEXaO6JVVXYm)OJhl*fzAQ{^Rsr$cl^T2( z(7Dd0E(enU3nyB!S!@U`7z*yZu=pq4Jh@o3^hAB^>P|Md)wU;qps}DlohvPaby$sG zO#vK^k9P}WF7apUHHdy1gg7G)3ba@EefyCxtl~=VO08 zhAIPjgru0lhitZSg$NJ1yj)@g6@XLYQ9%>NsRzr$tmB4EU|g`0l)4uh#v(&bJCjc- zHNZUtaSdaG0w}DBs_4Lqh}cr=FyG#2O6A?wTM&Fw6_j76UzZ<_%^P5uLLK$mm^|Y$ z%v;iktQtXWSe=z97{pBF zl?G!u5`HzxpleOdHPe)1NGLKP0FqZW3?eq57k=89l%s?{muN+Fmm%?2{c{8A2I|yD ztg*l*WJU@?W!GQf6u2Psgr4QK7%vuiuC)Pc!^0DfK}_^-s9sXX^sm~^*E<X!YgG2yT>eQF*_mSE}esFD!a}4FVLG($au9=^Ht>*eZOl&f^ zI)LJOLiJR0w^F

T`3buKjG6q*iyaKXGr_7+Tpt``oz(b^`8xs>P38Hdr$6_S{r zXbyYWT;(4~u1V#Gp@H211+fdDC=zAkcegOxcG>p1R>q=&CIPK&;LaqU=BbTU`8O1x z-2H~Q(b=YqHAro{*bAZuz9#%GIA=lf6x%@jSK{ETT%(;x3AUP6Hzzu|O$2|t{vs1) z4a0{s?U}}Gh~tDDLPq@C!=^yXeTwjnY>W#da8+dE5E9kfmD|pmf$M7q?A<);zL{mm zNQTvs4lO&=KbX(_+e%RppzDb#i2)RFFm$^wdg=wS9Y#LHLT-bOA(trI>q2-;(};q8 z&SWD}meO)3YCF!?Heg_xio03?gM_J>^f}_02eGHyTh{5u_n`Vwxj7=$$r-Ft2{&zK zKXm~~0X-&nTEB1T@+b};t?4xsRE5MHM-_%PRmXKXzkF-8nJEY>4 z!g4bA=(qUWXfZ|8uR2WwSuY0oHD_H>*%;Q+Nl?iT_!kE z_cVAh)?Dw)h59oFh(Vp7uQ-M!Si? z{e8Hc9?uo1Mt%=DB-cjD^R_q64V4UxJ?mCjD5+yA6khg@yo0>oV}_6{T81EvL4p`O zx}^z&eJwu-ysI_D)>$~`L@5U2f+6QK-kxMv8PFaN8rYwhPS^3<2I zd7_#fDY5UPZ~_3>dx`L&T4CD6_`>5Fz7nMwAM&Hgq{heQA_mox8^Vld{asbI>nE9e zOKGQ`b-%5RX3UK0FgF)_Rhqr;OWg$6%CaqRr? zppxAZJ#2xMJ_R(dJ$}6Tw+y0B{f|vP3WmZRZe6cG{mSFo1577ErJuc>C;UT!O9v=$ zDcF>?XVf4OR_#?LzFgZ6(|tn2%-voCYG8(w%jcj*`VoHW(R=2@E~HTMx(K88y=<+> zq6g@5+T+?lO2rEsM6t-YMi|8p?c3@&5J4;8+B`8=a-!<9B2D7Yv zd?VwDwhs=(4mPLdswluik>&PNpsb-0SAh;ir=Gv)e!}lbVs>fc7wcNSh~ZVUZ-oDz z8*HGxfpI$x(BHByq=HT-jsRrI5Y2u|A5uY(C`FGj*3cgdnatKHTQg~m@0Ntg&hee3 zGXo3JBdmn6I6(j$(cY}ss%Q}d3CAZ}9`YWt9&(YgBJ^S6hWEh+SphFAl(pfhbSD>t zc3eQm)d$}o%26o$1n2CB^_BWFuN@IxVEbJL-w>Zq3sX7KSF3#|Y?m&%vAh=hTJfuJ zqxh|h0d;Dhh7$`A9KX%MlWSz&x4K?T##<**)i{POGT3>~iR!KwaQwA~WMe>-jUqE& zD?=Y-FYGT?Cje#)qlA27+{}%AO_7?1D5QanP0DkQwo)$p9WU_p#JZ&eA(dIAE8cZk z4(m&u{nV!-J4pxF9h|e*j||>_6d)Ru=kL(+beqfwXQ)@1doCwta)~z%T3Xnuu#!Ta z7MFsKB#2-w7+pjR5u|zF6j#fM#5!hpJ#; z#fKI91f5xZwMY9qeuNVt2`OUE4Y?;G$yCA1fr5#6BgeEwvytqly-=hKI9U%GpzGp`GOdnDY;?L|#!df5Ji>AE1A z@6TBHyK}^%_;`rEZ+v)OR%fEm`p>P=#@AknueoIq94x56=`eu}THsB5%DFq<@xtvJ zgPZ?9sAvBl17>WPV^-rn;hN>60J4achVG40T!J~X+rLs$x} zuWJ`0p9?s5x+@i%0~$r>bu*QRya9B+?nJwDR|IRVp(6)^5vh#J(STl^X*;g0hYzYQ z{n`uw9?^(^6HSWqt!k+5_a>`%k)6nGC2j}y8ad@>z0c>mbd0yfUE?h*rd?H#_M zqdoNJ=51==lR&I=k{NhVTr95U#2{ljzy`)Ry|+248{|!RkibS0E-a z`9-|Vm04-NBn8R8>QzF5cf<@fe4 zI{p2CBo@y0YyOo*!;bRbEE-}!FF{L}<^QB}#LbX>Xg4Ew;4zrQ{x4`1z@cb6#VZJ z9Jo)fq#8b!hQ9zb)~SfIn6tY<0RkSytQ@^kz zY9^{TE&(vv0-!L8!4pa6r|ezjOOzmykqpIEt1L;Fi9RQ_f}$B4THt(D(PgcP1PlU$8#j%w!8<7O`uP#z_rqOC8M z1`7#;sBuoo(EvSBtqCPy1aTXhU~{=Y*r1w@0iNKgzu0*1ZY$XKB>{hqvp-?;O^o$% z*?>a!70k)F2#O!3t%B10b*@z_y=RuH)dlSHXje(f7yPWN?2A8d-U`b`qXT9`y4@Hi z_lCs>)DDTBrsc4T5m}Jk^y8)9dwvfr6av`v7%8ZY@U^%C^V9<$&>8gXGj}Aq8dJc4 zttgao(o-n|ai>7nM%UnqyjS9eqfp;lk&$b&EYq|X&zl8gfx2l*<;m?lv#i0pcdea$ zP)-p>9VLN^G;UO?1*WhxRZNjB8lVS`U0Rm$VC0vUXa61)ScATm3BZK##3S(Lg=kK0 z$pCYvJX~I@4-mn-N|J%g;`L~8ya>~YG<+|T2$wLU6^R{k}ek}>HOYk^l}SPx);4I0SfG>(2J?>C@A#hd?! z3U$xznDW>l8n`%81_2d=sngA!;Y9$7($TxQh1|&M>#fYcD@px?MbHD^0%;TdDlMY{ z|A`S}c2sshX6v5WPy!qLW;NG}ojfk2++N02_BR+DQ%eBYj}QnU@AH`0D#%^dv^}Zz!+Y!G3QkGA*KaCH+EQ8?RI3V4=`dh(e=rN{z~)TA#JM zjs-BN0`>*}$8r?(-z|rO2-Fn@dKX^=TS*xXU@!cSJM!*=(19E6Kp<+6k7T{xH*^rF z5BBf&(XN(ec4ojOd4S8o1{^)ue9;s3fcGwv&;Q{ES4$#LYB zRYF<7M^9tw9}q$4_Lj=)-|A<*W zO7r*LSz9Y!ZqD)HaEss|c|}K2?frQ{fRF48hg@@n&xWIxbxlMRBiX}F!YL;bt*?n} z{+HvoT=k{-+Hk)!EC{WCjgBkdUn(PQVkcbrfy1zC+w2)m>*}RN>Ea6UHqrj9!Sv2K zTy{YKD^z^zUB|2NQkPHawIrII7&)!;Qx#u=?AwnAK2b-R$OAA-YH&vhnrK>3Sc^=IO*i)ozPX z)HpkaeDWpn%uc0`pBfT9r>Bj$@x|I*4dj)?B4XFg*9eXm z@GTTosjiS2@CtVxTahh zd08m|G~hwic-__kX=VP-PZJ_6AGBx5@``sJ>r1=5HD)%sJ0#>x((zq-&#*}*xal=i zCFDJ)1$&#s4^#Wy*WyR_v&rfvk5*}TqIF~P@6?2mc0D|^z5j$U?FD}SB;eV56@R(Jj{ z(lQQ|_dhm-aY!*(hJSI{2))y19^CVIQ1jt;Ccz)($%Ws;HAYlQ5!!P1c!}Eyjb3en zabJMb8(O6oUS!Zp*URqz&L`tU<6AejsUI8|md$xpsAR+7B>AoF^mgU8%y&%Y5t2hs zJ;#;+hq89DKoJDY@oj z{j-B_v|e_%DxRGkQ{^3=7;5ybjR{IUGAr+V)ND7(1O92Ux0cA`$E9+}kwR|~-}Az3 zKcL7q^l<-$u*>tll#$0&#c3V#q<#bywc7*Q3(a-uSRW6>*cfN-)gBX+9<@u74pXpJ zG+HM~_3J8I%t=JJPR=X(i<`RQe8+rW7IA7pyZ#WiX`a!8iH5+pI7v+PztdaF~ zcOqz1ciYEv?RS!2=!XWRAJ?_%6pl4KHK_iK$v9q39i7}w`>Z<3@-w=Dq(sT4x>f}% zi?+NUHTFgM!EJJ7Tvd{vjftEu9fP7MnMHHZ+kb)Gkm z`Tp7n8q&VJ`{=ATwPrXYPw|UV*7zxY<8wLFhrIpYHu)J!SJp*7k$rs8o{ADx?hm)f zQ2C_z+VZ{YRJ88>Q$5bEaO`mz8hNABXSJ8_WxFZljo-(UMszkLCft2xh&O_pF}HfdQX&~!F$OXW+)B1`ZQDUgZ?QwO{Fb}ACpY@b~twCja4BL*j=Ox;c z)TG1nU-P&pk;sm0%kXdjo&Vxc zY|W#M@sApo=-}12WoTHd2W2dBGllvW>REeNYLD5t>!6jK8CuzBoveG9>Gy0bT%X;! zx;k+Z3}fa(+JKS_WmVTS*Fc<|;-AUh|Vlam#o zV0H1bcQx{4wRd?4aJUV-;qk=G#l+dl(bdYq9(K*s$k@TnRhWU{HtbK<;;ydFR>psE zw|8MPx_RSv9fb`L8g69j0_R|3zs?p6CiDlrfVip4_2VCjsF^w4JpA!wYju;7qmi?V znYx#wnJ|N@nTvy)vx(UahwDgxGLgKwPS{k0lbw@;m7SNBgIfsxAA+va`1c4>p00AH zBE~!%M&?E)=B)fiMkcIW+-AnC#yn(aHg`lC>89{wzqzheAR zWPcF;ty=!qtIE{muWE91bGE%XKWb_MH?swBp1tdJC2{;&Nv0+Ou2!zLX8&GA;3sL@zEd>7?q#~05tQP!v5bXP@o_FRigjMho_O_ z-V_^Rz2Bw0$X8#WC<$aj@Hxt1~|*L12ZvkU8y4#x1cn=XPFU z>}lT4iq|rkoJQXIaK74#Fw%Cs$_^U@Dzf@KG6NiGEcJu}SwV;OgF)0k5n>o16kr7UKcxRt0{>G2{~wn?+Q>{`CCh4}MAOI&HV8p$ zwj`fWIpOog8}mTwc(6Ul`><|)WabVCk&P6I&M8V6nF$+_j2HYrm}`^Ph7(?4fkW>j z>m9%xwY7Xg5aFXBop4ZKuxnX5Ir?_zb>i;^mPFGR9qA@Aw3GU;k1Dfv8m9KbatZ_z zM>VxOd*jRYSY}=Id zAKm^YnPDPD;S;1&^IFyZW6l@)r`5VkR2Q{C9wNON9U+Uy|nkF>LX&REH z*#_%&VV|-(o)3+`vDbaWSYJU!_J+FuOD1K&O0nAZ2y%6xa!7&7`sjXF%%Sk+VBzf6 zK!oJyxJtCQo}Ah51X=B-)>eE4d+x}RB4J{n9GV@=0ybqA15u|CVRm@u(SDNW4hL> zX>?44LU&Y~X-a4HZpgj;*h1)e|gD$WTG*%q3n^a_(9%TE^OXa}U- zP(h~UQ-o+T7UrB5D%{iMBeqwBfF zqZ~n_7lV_civwqub((1!jEpMp6iCvtygm7CC(PDbt_0O;ZWT5#0BUVlmbxO{wI*JA z+^xyN1%g>0(S;G40I%N>Bl+pC);>0b7gTAV_NbVCUnmIYa#}YW7d|(yE^{Ul)&DX+ zIAf9$+EEWQaPL*6LY>%O%}4q62KIFkwFm14i|8b4^Gu;;W-kU!c4Ykmy;H)pB-&@@ zMjr&&xkdJ^B3ywB=eL;Wdys2#`~eVrJk4h;g%^=u)wNS=NeDX7RYZ>PkwW)65CRS~EW+SX*c2jKE=VIn>iur`D4ulj_1mR#RV|`|w%Jh~Lgj%=Jn(w2CXB;OxFi+W|H2LxNSONA zKE=eQ5O8*Srdv>q^njb6Q8|rn;@_4vIO7`GwCP#RC}%oywf^ep0Cb1N1moO7A1{F) z7kGjjK8`?hxbwRo+q>B5{_y46(lp-t5V7`{iL&;=goZG<-t3k3k#ODVa1~mwe?s3S zv&NRqvsQYG*%F78WNsFmzzDjf?2Eb$>2>UQ21)M&yCeNa!bq(Md(&Ko9Gko~%xdB- zpC999)g?h^QkJ_w-sXGWL(|%MWlGy*yj@DRR+m60isq`O(tq z&-%+V$Kc{|i93axdj|zof;OAWQ1I)T>dy&UJV!`2H-@UmDpFj7Bp3S%qPQD+REJE} zuoIr-BdvnT71f~{pNFUvwr`vwDKi@+pA-G(Jq8UL>^@)ZTZo_dDeS4XF%?%0?`9~7 z?i&bUCou+Bu0-QPC={AI*vlCj-3teJNu$!P^tB=z9=pY#{@ih%6%0)KxtU3Ikf-V0 z)lq(c+DObL`iewF@ou>Ixz)lAoj1EA{f zGIXUj9tV}?5<*8hsDde8YuSHvwS7C`zhkb3Yk^UizmjK@v=hMbZ8JdY?&sUGI_6ae zyUFCP!DrqJOy5uy2j>BNb#JDz3rpYO@L?a+q9?N4UTZr(T#-<(G#S8j&E9HCcVQM3 zJ#k5bPdsWL>WxrR$+0fXNtNjqF`K-fddqv>+v-fbJhHXHFx%j!yN%)(VtJJj{T-{pEC|$3|W&@w~n9bp@#hGP`J9_$c2RTz^NyF*9&(a}C_{15qmhHC< z`2|_^<<^cw1aaMmrQ|ZV<&H&gS!GksOTu=z7e?L%DB<)+;+TM7U&{8Zyyql_u)vwR z)=(@kjj@9RBPxnURnckoS-7V-D?=9`kjwV%yVspxY@ofI}@u z^ziNM&Qkg-4ZXzEV{NvzhO3^!NF*<8(umq2Tjg|fhZdgczgkWfp$QGMa8@jPC_nzf zd4(WRNPmUyRQ-_BW7Nvo*wkufXLE=^Ply0{)t>C%QdplkT=M1f)ZnDZ>PVt!;}Z<< z5!e0sQp0#1mMwq7-^!^W{=Hk4kObury0M&key?-AUWuHnM@|srvE+(y>c(NsLDg(y z-FDZ*`PC;9`HRG|?E&sq(rljfgIS_GyFUyJl9;xWNoY>{N`il09z_Oh3uRFGCF{7I z)!a4t#TQm;sGRGir~IO3;HgT^NlZER(ZE(`Jp0l;dcGJ3I z@0x4^#e%h>=EDWNW`T=W+(=U;1qM zqjGpJlgb|?F*7`jNM<13P@uxLbRHgeVXoFX9XDvGv+pcD1o~N&%*^_W;Z~3QxDl<1 zqo;dA9;K7x!)2-m(o07oi67qyl2ESSOJ?yq4zT$2wR?PD<&wR~G4z@IO8Q%tuX3beB5oBld9h#?vq?OfUDiCf>CGkfV8{FA#)<@~Jk4&DQb zxWwDZ>HKOpVh9>)Bx~Fu^kSJ#OxH`HQ|8O5e$*k`QyhCcjPV7wa2NA`vTyb z$HLQ;YkpL}IF0ZJr77^p>vrPV;?-%96VTk85`Ruc*31ukyEao3UVOh_`;9$I1Yn(< zATss%s8s(-Br=QIUA4kxM9{x4OJ;U?GA>|uWWo<=(_wAccy!v{vKTa8Q@t_4H@{o3u-1t;94u8`s^@pJXov zm#5h%yt|7rW>Hl{jR6)#f~ z)8DLqL*@l=^nH(!XJWY*pF_1Ab1&2@d2^K*W`^SM?6d>A{%o`rO|c9%TEoY!DU9xuQPF|wBySg;xHeHwpknhPo` z!G{9$A@N--p0(L~0fp4_kLJw7w-M<@6oxw{9kw?c?6#i;**Nm#oM#VI=yVZp_yGcb!AqvUtO)lU<5kh5F8J;O5~TTf~$lotusoVt)4kVyfLc;0pfr!uaZ`-Nv%rW>1MJ zx-c-qGG|B^_a0QK@|an>@CM0dnnM1ILZ6$5A@sZFoSTqEi_g}&y|lMgChBGw1JXZ$ zgi+vHlpj3`*7eI~*#X4frZ?@JVGBdO^J-kCD5A)4Wb5s-cmjCQLdk~KZbx5Q7ZW41BL zkt4f%T^HO5{*93~o5lmQ!ES}#jk;~Z3%6aU=jY&0*HN27Lh={9!lVp8G0spoQG1>2 zD@m?(1E-e>ZzvS?A-S#Z1x8R??T$8IirThysZQ*7kgVzQ^5o56sbuJTq*=T+AS8^j zjbX$-aoK24@7qUEWvw5*2r~|#rC8ZiGvRpV-)^U3^ z>ecWXU36&FaDsV5MK(e(rSrf{wx}>O;>+_(yC0iDv$CbGM^ZzW%~!g2$&+jgVW|_P znf8iL*H_LM73vv8UCU(zZ+%&CS5mCRrz`r%kcCS}VkQ|EQbRi+Ac_(e4=@yg*Q({A=olhMYSW0(O>oy zA8!xv-K0khH;hbmJ{LWjzSV``Dw1s;AxNY`Xa=F;>t!8eQQ^Z`>(8rWe2CeYe@vL%O6H|!HK&dXW{^6+xWzr@nc z74>=w#|2gP4r5cgEM$8fQU1-GrZYNCEdi)`#2IwGZ$cK`DaWFLbiu6i&dESLD@?&e z7Y3XbJlQb&mPgQK6J0Avb^M;?DUEny{nBlrMP7kv1}&I_Kk@$=ar|S(26=|55JlPK zde(*k5fM|PeIUylQ!KgyBLw9BvrpMJDK7_oupk`#gX(mwhd1vcL-t!~eAiSnM%j=X z?q9k-jXHbSJ9c1%Q`W8w*VNXeVWb>umzN)6J%Yuicjhj;ewlVE3w<4w`uMR26(wcD zmrD;1dEZ&z*noQ2i3f)wU#G^!U8bU@V#aYjz|Ip0{T&@SNxR*4+FVo9(4ll{be5Lgm=W-9u;GHa0Ivx5$TO_$?CQ!!MqM*B?Mhc$PhS|g_HN*pRuAqsX$B?s4EBqP3IzxW|cZ$GDr-|T`%WW&dlJ1CV#S~=H}Ul8`VzIZv@|qwTekxnGC3pQ^x1YwVi0b2wlqKK5A-eDS4D5y%kTy6l(~Z z>G|opB_$=R3fnF^I#?cI;i!+xaW&$w5wtur^TN2uFt$ItEi3B@*38rtx`1j;%S^RJ zuNKWM&UYm?Yf_RwCAe@13F($OEj`<*on2VyPh{5|_e3wq^Qq-oM{O+O;ukYAiV4`E zuC(%@@+UDugL_Vnn?t8&Qv+5rT3TL&K3ZCpU#M@52-rwY%Ny5toBS#3Au=qip@xG+ zNOy)?FO-tZ`)R<15G+1=^D}zGNgr+zOi6|rBz5g3GusJABIh_d8XAma%92Xipl{nn z;E2Z3tw+)I*QE=iuy_qzAE&LCrTwPBx$OS36fro=QWfPb7AR?@U+i)RO;0vw^0->b zYJ~Lo%FGcr|Mn@TGId?m_|nqMl_94}rkgxGi?c4KCMGRH!}(R&X-!QDkA??(6Jy7W zGTFJJsb{P2cPzux;vPtFbeN3@J-}ir?9G~By1Kf&_|0@Q+E*;bTTC%7vqB#Y19qw( z!3PUA)n+YPF2*&rw1hJGFrM1l^&CWJ26ZY&-FB4GEwbv{fMHKt!?iUsc;Hxc(yr&- z%ctZO6&Jdu*yr*1?rP#4!clJ%U*D(3M&ouR1)d1Ma)azEEXh1KZd{IOr!InyVb+se zMcZ0hPE1WtvYjWld|;p?4epN8XD@LXdcMgMwEe!dPy3Kyd4J|yMpOoZL z>agW+XK#N-qyg{5f~b(Z#2eO(SLutS3zFu~5W9920%jb!iO|*ftfHdvnC={;DbhZd zjf+bICjSzH!A`AiIpEzwoR(4og&9uxf}eR>?CtUjGqbohv=p2+%F{*%>1eb2g$TE8 zR$hmBcN@PlFB_a-Ab;BHf-e=1%|XM{Ws7n6kygEP&u0?_`FRrj{Eo@X$(h?($dm{O zuoek8@0FWi(=sxoKPU8rkwH4?EW=D2QItmy0kZ~{*gMn}7d>o1FX9jrj|gVU?!QTJ zKh}2M5W2UCT-?#lz_zzz>(X7#EiJ?7a|_KjvnIKhMs+;6FL#{DfeC5Q3keHnR#tif z<4YXMDlgX~bKiWww?DsbYDZc=XhWPuAdN(jAwM9OEJaRz^xc;pnC%)m~&QqkTi;Eoi z;Szg;RAx%@^vq28{wzLLniKPDuk+nL4iK-(*cJ`fW)6`QPLSf!8H-F*`sts!ff z&UPy_-8`veLZ{pDu$lFhjm2SM!h_8ZwG?%G=Z})C$0*)Dhp50~)l~KIpLWA)#RKoe z;p^)g9JgDvw>(5}R@PvX9c$=(js!6Hxkq#MEfP#N+RK~-)Axj(#~xosXU?ZJ6$c8v zjE;Xw(Ym8IapsJLwY9RDW|)Ua43N`hC>Y$|b-rA#$6#FL^~19Cly!B>Zrr@tymol4Y!&u78)6&!1ua)%C24XXX z%dFK|qN`jWLDJyntTPtCbePmN)$20nuIbsnRpsR({3#J6|yS=XU52dyqFUd6m;AhuX_@xDi#D!PB6ch8pu(iy!PrH>=U4Cit1F5=FV3BjEQUdyUvL|Ir_ z4RwO^m0>T{s|oOdhyqF6;rt;YB3jY?djWE?iuwB<3f#DnRvjDrq`ksp%0J1Y@<|{C z8QI))>vZT&5enp^dW;?m3rnxVL=u-_$z|4U;nqyws{R)I{c}eTX|7f1npvl;ti-k6 zjBDWS}u1iC5>y=U#g-kujH|ws~L1r0pL+0lfZ+K3&E-o)FE_RiWQd4@F@cJ=O zJYr~=9SFa7Pl_3GgkmwQpAPmqT$ed4pr+=r7JPm9aA=NM32sS?s_)(C+lkZft&$U@ znc`*)U6kedtn1U9C+6@Afq1x)e}Jhl<>@v`%ti65rglc_jjL68ZR6=i6x6!ZXwngdd;~?VnMP<&}43HKQXKn3NU_NT< z+Nr3%Tl5&j%SgG%6}HHI)^_xq5_xlM@;^%)NW}944ma zdto?1!ZK+X7ZgL#ym!wR#Acq`w}aP&h001#Z=kX=Gi`fRopOQIt?ypgySilT>RJNA z`EqffsY?Z>(7vIZE_@{~PiXsk#*^e|*IP!~4UNn^IAa?j;1cOCU*=YYg@!VDEGfo# zUKumacAJVPU83pl#l_#hmU1FnbBeBM%C4+O^x9kCRb(f~EfB$opoGt#J?Mq)B)Kcs zf)76WgG;|8?itLoyME2rvK|pAP_^oiO;6eh66Dg-`@&}m^$Ui@F3QxW)gmqoRB?}O zEiJn^Onx+q5?s&omAco1!!csfg;lYaG;H2_FkE0>!ybBEJ>XZKdu7`@67ND;5u(_k zFx|1(Dt3)VW+AIvXy)MqYdSAB_szvVkOz&Km%!e(wQ+&tEBsu0pV+6bp0%5}QD!(M z{aMGGY|1qEdfC1yS%@W=vxE;1o9~#`M&p`3d~o<&Y1xYx_E=q29SP?=f<;q7K91O- z{6BkEDU^SV+kZxTPHPLVx8&zWRKJf%eZVBhjY6!@3t>hkKgRA9SSN`>6cs_J7V=t% zWa^xVd*T_fvEg*rN_TK@P^U`7%`7@BEE&+&r(q_FWy;5=zGBGQen^w4-`Fg zU7Phf@K$n*5VZj#*5 z9+2+t?o!OaRct^?n%$Ui1-vMH1R)r_TbVHXo=a7=(eij&I-7Akzjc_Ec-kQLa1l1M zc9XuRIl0~ZzKv4F&3L5^!U)T0VUdG~fD(z`n%Gxh?;b4X4jRmf#3+LF2bF(#GP-+D z{Z&lN_~3FY8m^1t%}(>Ube!~fftR6oQ&&}`Z~qc^W@3r zS4DVuDA{?Lwhzd5l6LMP$lS*2KpikWF)`sUdAX^z(Qn<(=`tUSS?^OT5XTBO#w;dy zw{|-x3ZWDC3JcIpXc*v_$`nIh4yn#JQ~k;4PW$$DbSO26DQ?mfgTVK)bzmU8zCJ#` zL0w%vDe@fWpa^%5)!dM&HsBC_S6?b!o;}^Q;Zkm~5 zA3C3qqgG$CU)xx(dn|PFgoT3x&qmCM*Mih*>zQIYz6fJ#e=_o<7v(q*lu68dS3{8~ zE_1urE^O><52))?Q*{%U(_UXN0(HiE5*@^_7JSGGCw-N*D~xl8=z{&9`xj(#VLbOa za_+LNHYyRZLwk1DweNB4*qGLl3=D=AKcswtF6q_{!8FvMg-$J~b?~@+-F=rvY|_6# zW^fynmOrQ{-rf7d%`Gm9pYbLyN&Xl4wz;?c!=0}^44z=q-sb1!IeZCX%=HV3bjp%7 z0pYQ^g_nhqkx_#TmVvcc)8`5!XBZGQ8?dhO5SgjTU{W3>bO+nqt!dt$Ekb15MhnWyGu;$ zP0QftkIU{-blz!wEd4)kXy1j*@$gJI3cy-Ypn3F}hr@rZwDeKH0A4KC} z()_}L#b_8Md(7PW@L0vh^lJtX)UnRlary_+dB``GZ>0=pOQ03 zYh}`qKQ+cmVRMsvL4NQPp!TV7cM`H@AwT5pwpSO@)Yzs0gT3qvlT1cLg@<<(F39Hw zOSukaYJcQt?s`PLvp(cELv@105!4H%?rz{5fz8X)D8JWpr**zOh%BDu&^ky{K2khN_>H{JO92sf)f^| zJ@-Ul&^9}W@ z?Cj4ulPDGC9Se1I;@e^1XgIpr)O)sf8`Lj!rK)lZ4U1;?r!OvAA(2^{j_SR6E&5*l zcGuXfH?#EZN{0M91gsgFA0Cf(m$`US=^ABl{{%$azeN8kWw7YUXSkH`Vbl?hL>qpN zs*xDG&I|l}w?ry0SM2p4|9WHXH7l}zc6)8JRiXw(Z501TaoDwWb`3Rq+2@a|buHy} zQIqQ~$e5UH#|8h1HW9uu`F)AW45jqK48&JBJR2As)p6g+R&!-<|&2^}qV&H=4m{c`&jiKXfm3sr*hZ;k} z!rDpKf`XKRvI9%Eue_bjBrm5h-_%<#grZkKU$8FHb<{v{;8Ak%d5&f?BF- zY8Ih;dztlcHs=xHnvTafI1o6ct>-PKD`F-)F94t^61sme&!fLf3sQJ z?1$K$@oWn!DgN_)vfNb}V`IAP*`}tZtb8m|)k@NUs^r0RtM6YOySwW|&8;8cvo$SG zr(V=Mn3uC$(2_CUkHI9x`Bsn)4^KG(!IXVt^PASgT58ii6kK3h_r=4$s7n7~!F_Q^#yf3O0V8(?A?dff2gR#+n1!SQmTNz{O2_$)))K-(DP_(+cg6PAMs0$PEL2J zmFMSWitVEM7hXGiJg&ZP1sN;(!a(4MthP_MoGlGMokJ4|)1snlYVOT(R$L^2rOj0; zcEgtjFlz~}I%#Izs;{}t!XoAFOnBpb^W;$yU|@hEn!c`6W=!+1UmKCIDG=_+jD>+5UNy}sOq zWCzJ#^Wnp!_z9;S*Ap361nb7KlngY^>XteIKIL>>;h}?r9LOgdQ$s^~^j@QTLNXiY z46^5o;PwS-mfbHSETDc|NNrFQx;qhcW*fqj9g`fm?xrteF<9z#H}=Mv)wz`^cGeia zYu9LW4ID15tgaN~dp-r%TM7s1ViLRhoE8QG73Iv${R}S@)18_vwxpyS(jmFdubLUz zVg=C&-oWF^QcfFK>PBSo@j`-|WMm8Bgqrk*nd2l9x#$Vtb&yU4V@s%QZCe)C`r6tR zkJ~4Y&H_OYTD3Ps5E>obak997UkOkEAl&CVzMmP^JCJm_!?r&>Jp9@2Af(sf%ez0A zQgd>|e0&Z=tKgc>fj~fDgRp5ADID1#=&tDy=%eVr@#M~7;WB23r`JWO*zij(gUSSG zmFSZ347Y*W#go!Ig$*+vBd^cRISRf=PUO@vR?=2JmA(#YfBPOkGOcEFi3WWm8=I?r zk1~o=J}4hS50W|aH9?LCCIY%s~9X-1}b6L;PUp2eQCVnlcl9)f%{Aw zGeY#@IpC*p*;R%t1}@4f1@nC~t919V-=+vmv}(z3(iZX!*!fm2d*8FT?mi-nH5vLw1Q-(JqPNjf$-zUyRwzFjsc5JOU>F>+^)LQbbu{yZs@-iR*h-G2Ti9kSsA|Q|^JkGjk$hxRz>|%f_5WAuHBp< zm;BDzGdkd`_QA8TY z9|fofg@nXA*41^j$k~>Z2w;>9q8;Q2c;Goapw<9ve-ItzRJK`zbZ%_ym{zKqiq)6WGWPYs+%SPk&No-A;5h_;J0lBL7eFR_#p@AK>Na+ z|MTbcy=Pl`1c=640|@ z&u;Qsy+=<)yiu{XULgY1Zf6tUo!=g%1gd}%`x(d2pRPA_R|2)n(czwuGz_CfSCl`z zPRGZ?%bN(U&AG~!{%pM z-S+{rHFdJVajG>-EFDG{57JwL?ESUOUY?W%fkV)KBeE}>TNx~CQ(Id=Ar|fIz{bc} z+qq~zsI6@=P$re!9;tqjre`pJW}li%RbvMSQvp8$vMnBquEWnxQ5R-#-unvpqVE?Ic&Jn*KJRMrvy))y#?5z-YnnWok2R0D49BCcC%c&CaA z#QXw56R0+y*F8;>1Vq2+fq)3vye`D9yU@>_fjS~h{V0Gp6I`g1qPWmCmp=opMeu-- z?YzzbG`7y%>r{fX`UVCXNiPcvEr3q;@x!xy?ijHBp53YSP3B5wMw;A!Wm#I93UG=> zGz^p*obGRrc;C@4cMuqx;A#eUW`feqt5yUs2oA_e!61u~BCFvHprFpScD4-d*bCL- zvH(p6CH_r`0YOy4&EXFpo&m!-EmB#T@I<*U-|g>17U~H;b^PD^AYE)P|Z^+ zbKC2J4kLG@j6^IO0=5S_^1!vz^$q3=DBf!{QBiU#HK*e!@!BFnWcZGcAIlrnmz)5D zW@G2n$K#467UZ~hUc7jbp!ykw$^v=Nfqz^lqL9L-CQl&UDE$7l1hIGAVc1MyPz}Pl z2kvt+e*Hq2`qF>D`}N-y`0on*A76owUx=eZDGUQ=h=}*Utq!@XAekk8|MC78>A$y+ z*}CBuj0U%W1cTR{0L?lhrOs*35sfoi&tc;A|akpc0 zuJ%(VF|l5P(Rj;C^lL}6T&8di!7`6GXlTd%^IVU zD>O;2A+LPfNg;~Qw3#Vtd@NZeH@EaXl@W~P^9*?;9RXYT zKiv|(Z?dozdABFnmy#}vzj$z6c zA32Hb5(IqYe zxT%b|v}}$8m9Pkhqs>X1&({te=px}r5Snoqbp;*!%$!nqq+c*MO}4~BRk&|0J{!Hg z8tvgVKP4xP>5FimR}Vf)&h1aIf0gx!=0mu|vJ*>zaQB)p5A5CLq^u=~zYV`O^Fzbd zXT=vbTUto$Z4Z~cx=hXTY(eq~zv)E-iScK`J`OixUZnPu!H`*u&zG$P)5Hy845u)1 z?`?Rut~|$1Yuu<%hu?dDscwM>e8rl=#%%dP;nCp(wx~M=CXYC!9XkaWPO?i?8am!{ zcCE$h&pW(*A??F-SNaI4mmI{eCK;xZtXL{lZMlGXcNb2)pvZ_MF7v5zB>8M;%b1b8 zF<+Y5lWiI;Rg$wH`~?~{&c^q~_Oss;1{-_hn!P*hVyX zp81zYfEUe;GY+x|A1}aD*h#-P>5K&lYD3Ex4a^oYWOPl6c!z(bYbk zQgfjr$vnb_B;MX${25Ftwpch^dltX`PCp_m-*^Z~k6&~(U)tk~ zaRu*^o2Q;ZrHS?2c@Gydn_2}0NSXB|rq9EhU1wC;I+aeNEc z@CSc;;b@aN%@HY^YGL;;0oIwU@7#_BynW&{adEYh#wS+x#)p!H``X6Lytif;B+4k{ z-!vV1cx5Zdd&8&-OYi$}@eb)p=ez7QJ^u0DUo@4Cg7ZW-PlA5##yq#8)3v7Gx$QEL zDPBVGXz<_qBvwn?2~ocK+9uF92Pv0fdu83E?o4WhEodPYbH9j$kv7`C^OViN9jexJ zlEHY&(bJ@Fp)T=qMMEnUQ+KDey#5GPm1b1;Y|a^^mh7*eNSCdp?eL*IxF$>0O?_QI zGfC#Gdh8<}nc~N+w6!W(=ifR+yd@o->L}9FF=6;TOXSCg;@=`|5IOPTjI$C(fSi0t zCJUj|J^!{Q&1N{Sq;ohZiug|LE$wRiB>@!it(2oj4Ve3Mu16ns@pdARVUP$Wl)!55l0AwBX|3Td^Q5YzA*mDX|XtK62S z<@-);6==78C~CFHt8B!nZ3gI(#otYSF5cF@hfIGd>cxM9*R^{66e*{U%q|Y^KhRSA zbozwh6=B0Ux?)BJ1`fnpNke{LT>kN{$C0wDFqp=3hGx!!AmQ%CbL)Z!S`Pl>T z-#S-j%pq3?;5tLV!A||?T*h#_{jN3t^{#&fl^4OCGPTzzeF=w0Vkax*Rp)v-9OK53 zHShe!U%sETBE1EH1oUmKB{`=18!X<4BzWxZu=FnCcpB+Gy^V@GjhbRQz#i4*#LMjb zJbmp6(*Ym#INP&HCd7|g=4-uW(0YOt_5_`eDVLZ!O^Czrp&6%i6`-#yuU$3?%CRkW z7(V(!swyt?759U~1s_(A@%|xxjIw|_32)A%n;0CQhgfgDs1z(tOu|9ZbmLx?_91vp z6>06{5h#zf&L?UdnbfxM?5V|4u7v;+o@ukSvFUB6PrYi`O7>$3S)r3DxsTkI1V7p* zb6&BhxOC+#O>@?)^jgN+#g46QB$B(m?hvl~wZUEfxoy6p}CRU-U@;IBH{>SWTr;wfa=goCgsn5&rLp>w& z?35=XqgL`f7Ky)LzMOpndo29&FgFc1i|7lXJHkwRy9^8aN1cCTBnJ+1f?iGk)3@;Q z$i{GSKyYATQ?;Ed@?9Tw^pB!R|0l+x0cF?-yhsQdg zIfizoR`%Rn`~UtrP@%;jVHvz!6};@?55tIvSdV-o!1h*96H|NcZx~)a85Ip2#UBBJ^UO$#(=+^5t3Li>*M>xAgIc#oU_pQHm!=)zABM`^!7e4EKWF9&O4 z^tCe+Sdrh(N2WIs9s!m_9$ZG+?~L{Rp?&^4z5fyB*Xi_j1}~R`VSHdp9N&k7pRRz} z{reNi8M%U1Qa`QIw_geD@78bUR(JRS;vmTU9;b9zoG<(dfLlBED;!4T@8S4<2S<@|LmUmZ!jbw{xG3?zhvWYpoarIq;imwO`A=}c z(ti*4)s}y?yN_Y6C2+8_mB8*U|76Bm3V#oG{o3!QcQ8EHHxb}Pp8OT>i0c1>_glaC zYX@G`{0-g@VeXr=eKnZhI`Cg3uW0=fIfne!(LJFfpvkiXg4e+YdFd@<-xj{hg)xc=9v@UN|d#_*p&e~rrj>!g29 zNeuV@3G&yd@LObPoZ%&^14Kj(Aoc%@%w+Tfvb>SKgQ?w5$?n^){(3c*dhRcs0u;dF z)~_+l`@wIJzed;}FnerL^ZbNh~`_ section. If you are completely new to Augur, we recommend following the aforementioned getting started section first; once you feel more comfortable with Augur and how to use it, come back to this document. +Installing Augur for local development is pretty similar to the normal installation process. This guide will primarily detail the differences between the two instead of regurgitating all the information in the `Getting Started <../getting-started/toc.html>`_ section. If you are completely new to Augur, we recommend following the aforementioned getting started section first; once you feel more comfortable with Augur and how to use it, come back to this document. Setting up the database ------------------------ @@ -37,4 +37,4 @@ Conclusion All in all, it's pretty similar. For further reading, the `Makefile `_ documentation and the `Creating a Metric guide `_ are good places to start. -Happy hacking! \ No newline at end of file +Happy hacking! diff --git a/docs/source/development-guide/make/development.rst b/docs/source/development-guide/make/development.rst index 30d23aebed..3ad719b4b1 100644 --- a/docs/source/development-guide/make/development.rst +++ b/docs/source/development-guide/make/development.rst @@ -13,6 +13,8 @@ These commands are used to control Augur's backend and frontend servers simultan ``make dev`` ------------- +Note: If the above command doesn't work, try running ``make dev-start`` instead. + Starts the frontend and backend servers together in the background. The output of the backend are in ``logs/augur.log``, and the logs for the frontend are in ``logs/frontend.log``. The backend output should like something like this (note that your process IDs and hostname will be different):: diff --git a/docs/source/docker/docker.rst b/docs/source/docker/docker.rst index a09d08b169..88fec96ec2 100644 --- a/docs/source/docker/docker.rst +++ b/docs/source/docker/docker.rst @@ -26,6 +26,10 @@ Running containers To start a container, use the command below. ```` can be whatever you like, but ```` should be the same as in the previous step, or the tag of one of the official images. +.. code-block:: bash + + $ docker run -p :5432 --name -t + .. note:: If you are running the ``backend`` service, then ```` needs to be ``5000``; for ``frontend`` and ``database`` the ports are ``8080`` and ``5434``. You can set the ```` to any **available** port on your machine for any of the services. diff --git a/docs/source/docker/quick-start.rst b/docs/source/docker/quick-start.rst index dc0301c6f2..a077e41f56 100644 --- a/docs/source/docker/quick-start.rst +++ b/docs/source/docker/quick-start.rst @@ -1,5 +1,17 @@ Docker Quick Start ================================== +Before you get off to such a quick start, go ahead and + 1. create a fork from augur starting at https://github.com/chaoss/augur + 2. clone that fork locally + 3. Checkout the appropriate branch to work on (see notes below). For right now, to checkout the ``test`` branch.: + + .. code-block:: python + + git checkout test + + 4. Usually, we'll have you checkout the `dev` branch, but through August 9, 2021, that branch is undergoing refactoring, to be be maintable, and is not reliable for new development + 5. Make sure to install all the pre-requisites here: https://oss-augur.readthedocs.io/en/master/getting-started/installation.html#dependencies + .. note:: @@ -22,4 +34,4 @@ Docker Quick Start sudo ./docker-setup.sh -**Detailed Instructions that explain each step, and alternative, are available on the next page** \ No newline at end of file + diff --git a/frontend-compose.yml b/frontend-compose.yml new file mode 100644 index 0000000000..806999481e --- /dev/null +++ b/frontend-compose.yml @@ -0,0 +1,8 @@ +#SPDX-License-Identifier: MIT +version: '3' +services: + frontend: + image: augurlabs/augur:frontend + restart: unless-stopped + ports: + - 8080:8080 diff --git a/metadata.py b/metadata.py index 74ded242ec..9465e4347b 100644 --- a/metadata.py +++ b/metadata.py @@ -5,8 +5,8 @@ __short_description__ = "Python 3 package for free/libre and open-source software community metrics & data collection" -__version__ = "0.2.0" -__release__ = "v0.2.0" +__version__ = "0.17.0" +__release__ = "v0.17.0" __license__ = "MIT" __copyright__ = "CHAOSS & Augurlabs 2021" diff --git a/scripts/docker/cleanup.sh b/scripts/docker/cleanup.sh index 8a556107f1..7d935bbdb7 100644 --- a/scripts/docker/cleanup.sh +++ b/scripts/docker/cleanup.sh @@ -32,3 +32,4 @@ else rm /tmp/dockerComposeLog fi +echo "Your configuration file, docker_env.txt is now in the base directory of your augur clone" diff --git a/scripts/docker/docker-setup-external.sh b/scripts/docker/docker-setup-external.sh index cec825ba9d..db6c910c6f 100755 --- a/scripts/docker/docker-setup-external.sh +++ b/scripts/docker/docker-setup-external.sh @@ -1,3 +1,4 @@ +#!/bin/bash #Ask the user if they want to be prompted or use an existing config file (docker_env.txt) read -p "Would you like to be prompted for database credentials? [y/N] " -n 1 -r echo @@ -16,7 +17,7 @@ then echo "AUGUR_GITHUB_API_KEY=$githubAPIKey" >> docker_env.txt echo - echo "Please choose which database hostname to use in the form of an ip or \'localhost\'" + echo "Please choose which database hostname to use in the form of an ip or 'localhost'" read -p "Plase input database hostname: " dbHostname #Do a quick translate from 'localhost' to the network alias on lo:0 @@ -29,14 +30,19 @@ then else echo "AUGUR_DB_SCHEMA_BUILD=0" >> docker_env.txt fi + + echo "What port is Postgresql running on?" + read -p "Please input the database port: " dbPort #docker_env.txt is differant than '.env', '.env' is for the enviroment variables used in the docker-compose.yml file echo "AUGUR_DB_HOST=$dbHostname" >> docker_env.txt echo "AUGUR_DB_HOST=$dbHostname" >> .env + echo "AUGUR_DB_PORT=$dbPort" >> docker_env.txt + read -p "Plase input database name: " dbName #Pretty sure these stay constant among augur databases - echo "AUGUR_DB_NAME=augur" >> docker_env.txt - echo "AUGUR_DB_PORT=5432" >> docker_env.txt + echo "AUGUR_DB_NAME=$dbName" >> docker_env.txt + #echo "AUGUR_DB_PORT=5432" >> docker_env.txt echo "AUGUR_DB_USER=augur" >> docker_env.txt #Password is blurred out because thats the standard @@ -87,10 +93,10 @@ fi unset missingEnv unset testGithubKey unset testSchemaBuild -unset testPort +#unset testPort #Test connection using quick bash database request. $? now holds the exit code. -psql -d "postgresql://$testUser:$testPassword@$testHost/$testName" -c "select now()" &>/dev/null +psql -d "postgresql://$testUser:$testPassword@$testHost/$testName" -p $testPort -c "select now()" # &>/dev/null if [[ ! "$?" -eq 0 ]] then echo "Database could not be reached!" @@ -102,14 +108,14 @@ fi #Ask the user if they need augur to build schema or use an existing schema #This is important because if it builds schema when it already exists it can cause probems. #Its also important because if there is no schema augur throws an error (obviously). -read -p "Is there no existing schema on the database specified? [y/N] " -n 1 -r +read -p "Do you want to build schema on the database? WARNING: ONLY ANSWER YES IF THE DATABASE IS WITHOUT SCHEMA [y/N] " -n 1 -r echo if [[ $REPLY =~ ^[Yy]$ ]] then #use some regex to set the schema build in docker_env.txt - sed -i -r '/AUGUR_DB_SCHEMA_BUILD/ s/(^.*)(=.*)/\1=1/g' docker_env.txt + sed -i -r -E '/AUGUR_DB_SCHEMA_BUILD/ s/(^.*)(=.*)/\1=1/g' docker_env.txt else - sed -i -r '/AUGUR_DB_SCHEMA_BUILD/ s/(^.*)(=.*)/\1=0/g' docker_env.txt + sed -i -r -E '/AUGUR_DB_SCHEMA_BUILD/ s/(^.*)(=.*)/\1=0/g' docker_env.txt fi echo "Tearing down old docker stack..." diff --git a/setup.py b/setup.py index 7b0825c7c1..59d8653709 100644 --- a/setup.py +++ b/setup.py @@ -53,7 +53,7 @@ "six==1.15.0", "bokeh==2.0.2", "selenium==3.141.0", - "dask>=2021.6.0", + "dask>=2021.6.2", "cloudpickle >= 0.2.2", "fsspec >= 0.6.0", "toolz >= 0.8.2", @@ -61,7 +61,7 @@ "distributed >= 2021.03.0", "nltk==3.5", "h5py~=3.1.0", - "scipy==1.7.0", + "scipy==1.6.3", "blinker==1.4", "protobuf > 3.6.0", "slack==0.0.2", diff --git a/util/docker/backend/Dockerfile b/util/docker/backend/Dockerfile index 4ee6d4f6c7..c5b40329b4 100644 --- a/util/docker/backend/Dockerfile +++ b/util/docker/backend/Dockerfile @@ -1,31 +1,38 @@ #SPDX-License-Identifier: MIT -FROM python:3.8.9-slim-buster as build-stage - -COPY ./util/docker/backend/install_packages.sh . -RUN ./install_packages.sh +FROM python:3.8.11-slim-buster LABEL maintainer="outdoors@acm.org" -LABEL version="0.2.0" +LABEL version="0.17.0" -WORKDIR /augur +ENV DEBIAN_FRONTEND=noninteractive + +RUN set -x \ + && apt-get update \ + && apt-get -y install --no-install-recommends \ + git \ + gcc \ + python3-pip \ + postgresql-client + && rm -rf /var/lib/apt/lists/* +EXPOSE 5000 + +WORKDIR /augur COPY ./README.md . COPY ./augur/ augur/ COPY ./metadata.py . COPY ./setup.py . COPY ./scripts/ scripts/ COPY ./workers/ workers/ - -COPY ./schema/ schema/ - -RUN pip install . -RUN ./scripts/install/workers.sh +COPY ./schema/ schema/ COPY ./util/docker/backend/backend.docker.config.json . - -#Needs to be hardcoded or the API doesn't work. -EXPOSE 5000 -RUN augur config init --rc-config-file backend.docker.config.json; mkdir repos/; - -#Load environment variables at runtime. -CMD bash -c "if [ \"$AUGUR_DB_SCHEMA_BUILD\" == \"1\" ]; then augur db create-schema; fi; augur config init --db_name \"$AUGUR_DB_NAME\" --db_port \"$AUGUR_DB_PORT\" --db_user \"$AUGUR_DB_DB_USER\" --db_password \"$AUGUR_DB_PASSWORD\" --github_api_key \"$AUGUR_GITHUB_API_KEY\"; augur backend start" +RUN set -x \ + && pip install . \ + && ./scripts/install/workers.sh \ + && augur config init --rc-config-file /augur/backend.docker.config.json \ + && mkdir -p repos/ logs/ + +COPY ./util/docker/backend/entrypoint.sh / +RUN chmod +x /entrypoint.sh +ENTRYPOINT /entrypoint.sh diff --git a/util/docker/backend/entrypoint.sh b/util/docker/backend/entrypoint.sh new file mode 100644 index 0000000000..b3ca86a580 --- /dev/null +++ b/util/docker/backend/entrypoint.sh @@ -0,0 +1,25 @@ +#!/usr/bin/env bash +#SPDX-License-Identifier: MIT +set -e + +if [[ "$AUGUR_DB_SCHEMA_BUILD" == "1" ]]; then + augur db create-schema +fi + +augur config init \ + --db_name "${AUGUR_DB_NAME:-augur}" \ + --db_host "${AUGUR_DB_HOST:-database}" \ + --db_port "${AUGUR_DB_PORT:-5432}" \ + --db_user "${AUGUR_DB_DB_USER:-augur}" \ + --db_password "$AUGUR_DB_PASSWORD" \ + --github_api_key "$AUGUR_GITHUB_API_KEY" + +if [[ -f /repo_groups.csv ]]; then + augur db add-repo-groups /repo_groups.csv +fi + +if [[ -f /repos.csv ]]; then + augur db add-repos /repos.csv +fi + +exec augur backend start diff --git a/util/docker/backend/install_packages.sh b/util/docker/backend/install_packages.sh deleted file mode 100755 index b9e8678fd4..0000000000 --- a/util/docker/backend/install_packages.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/bin/bash -set -euo pipefail - -# Tell apt-get we're never going to be able to give manual -# feedback: -export DEBIAN_FRONTEND=noninteractive -uname -a -apt-get update -apt-get -y upgrade -#Net tools is for testing purposes -apt-get -y install --no-install-recommends procps iputils-ping telnet postgresql-client - -#Debian requires python3.8 to be built from source so these are needed -apt-get -y install --no-install-recommends build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libsqlite3-dev libreadline-dev libffi-dev curl libbz2-dev -curl -O https://www.python.org/ftp/python/3.8.2/Python-3.8.2.tar.xz -tar -xf Python-3.8.2.tar.xz -cd Python-3.8.2 -./configure --enable-optimizations -make -j 4 -#This overwrites any other python binaries it finds so keep that in mind. -make install -cd .. -#Delete build files -rm *.tar.xz -rm -r Python-3.8.2 - -#facade -apt-get -y install --no-install-recommends git - -# https://github.com/giampaolo/psutil/issues/1714 -apt-get -y install --no-install-recommends gcc -uname -a -apt-get -y install --no-install-recommends python3-pip -#maybe this will fix it? -#apt-get -y install --no-install-recommends python3.7 python3-pip -# python3.8-dev - -apt-get clean -rm -rf /var/lib/apt/lists/* diff --git a/util/docker/database/Dockerfile b/util/docker/database/Dockerfile index 838ed8ce2e..47cde65274 100644 --- a/util/docker/database/Dockerfile +++ b/util/docker/database/Dockerfile @@ -1,15 +1,13 @@ #SPDX-License-Identifier: MIT -FROM postgres:12 as setup-stage +FROM postgres:12 LABEL maintainer="outdoors@acm.org" -LABEL version="0.15.4" +LABEL version="0.17.0" -ENV POSTGRES_PASSWORD "augur" -ENV POSTGRES_USER "augur" ENV POSTGRES_DB "augur" +ENV POSTGRES_USER "augur" +ENV POSTGRES_PASSWORD "augur" -FROM setup-stage as generate-schema +EXPOSE 5432 COPY ./schema/generate/ /docker-entrypoint-initdb.d/ - -EXPOSE 5432 diff --git a/util/docker/frontend/Dockerfile b/util/docker/frontend/Dockerfile index 54148d8054..19ba0abc5d 100644 --- a/util/docker/frontend/Dockerfile +++ b/util/docker/frontend/Dockerfile @@ -1,8 +1,8 @@ #SPDX-License-Identifier: MIT -FROM node:14 as build-stage +FROM node:16 as build-stage LABEL maintainer="outdoors@acm.org" -LABEL version="0.15.4" +LABEL version="0.17.0" WORKDIR /augur/frontend/ COPY ./util/docker/frontend/frontend.docker.config.json frontend.config.json @@ -10,12 +10,10 @@ COPY ./util/docker/frontend/frontend.docker.config.json frontend.config.json FROM build-stage as core-ui COPY frontend/package.json . -# RUN npm install -# RUN npm install @vue/cli +RUN npm install +RUN npm install @vue/cli COPY frontend/ . -# RUN npm run build -RUN npm ci --only=production - +RUN npm run build # FROM build-stage as augurface # WORKDIR /augur/augurface/ diff --git a/workers/contributor_worker/setup.py b/workers/contributor_worker/setup.py index 63945d2658..5e5bd0e4c2 100644 --- a/workers/contributor_worker/setup.py +++ b/workers/contributor_worker/setup.py @@ -29,7 +29,7 @@ def read(filename): 'requests==2.22.0', 'psycopg2-binary==2.8.6', 'click==7.1.2', - 'scipy==1.7.0', + 'scipy==1.6.3', 'sklearn==0.0' ], entry_points={ diff --git a/workers/deps_worker/deps_worker-model2.py b/workers/deps_worker/deps_worker-model2.py deleted file mode 100644 index a78d289bc9..0000000000 --- a/workers/deps_worker/deps_worker-model2.py +++ /dev/null @@ -1,141 +0,0 @@ -#SPDX-License-Identifier: MIT -import os, subprocess -from datetime import datetime -import logging -import requests -import json -from urllib.parse import quote -from multiprocessing import Process, Queue - -import pandas as pd -import sqlalchemy as s -from sqlalchemy.ext.automap import automap_base -from sqlalchemy import MetaData -from workers.worker_base import Worker - -from workers.deps_worker import dependancy_calculator as dep_calc - -class DepsWorker(Worker): - def __init__(self, config={}): - - worker_type = "deps_worker" - - # Define what this worker can be given and know how to interpret - given = [['git_url']] - #models = ['deps'] - models = ['deps', 'ossf_scorecard'] - - # Define the tables needed to insert, update, or delete on - #data_tables = ['repo_dependencies'] #TODO -- Add any new tables you put data into - data_tables = ['repo_dependencies', 'repo_deps_scorecard'] - operations_tables = ['worker_history', 'worker_job'] - - - # Run the general worker initialization - super().__init__(worker_type, config, given, models, data_tables, operations_tables) - - self.config.update({ - 'repo_directory': self.augur_config.get_value('Workers', 'facade_worker')['repo_directory'] - }) - - self.tool_source = 'Deps Worker' - self.tool_version = '2.0.0' - self.data_source = 'Augur Repository Data' - - def deps_model(self, entry_info, repo_id): - """ Data collection and storage method - """ - self.logger.info(entry_info) - self.logger.info(repo_id) - - repo_path_sql = s.sql.text(""" - SELECT repo_id, CONCAT(repo_group_id || chr(47) || repo_path || repo_name) AS path - FROM repo - WHERE repo_id = :repo_id - """) - - relative_repo_path = self.db.execute(repo_path_sql, {'repo_id': repo_id}).fetchone()[1] - absolute_repo_path = self.config['repo_directory'] + relative_repo_path - - try: - self.generate_deps_data(repo_id, absolute_repo_path) - except Exception as e: - self.logger.error(e) - - self.register_task_completion(entry_info, repo_id, "deps") - - def ossf_scorecard_model(self, entry_info, repo_id): - """ Data collection and storage method - """ - self.logger.info(entry_info) - self.logger.info(repo_id) - - repo_path_sql = s.sql.text(""" - SELECT repo_id, CONCAT(repo_group_id || chr(47) || repo_path || repo_name) AS path - FROM repo - WHERE repo_id = :repo_id - """) - - relative_repo_path = self.db.execute(repo_path_sql, {'repo_id': repo_id}).fetchone()[1] - absolute_repo_path = self.config['repo_directory'] + relative_repo_path - -## TODO: Flesh out generate_scorecard -## You can look at the Value worker to see how Go Programs are already called in Augur. - try: - self.generate_scorecard(repo_id, absolute_repo_path) - except Exception as e: - self.logger.error(e) - - self.register_task_completion(entry_info, repo_id, "deps") - - def generate_scorecard(self, repo_id, path): - """Runs scc on repo and stores data in database - - :param repo_id: Repository ID - :param path: Absolute path of the Repostiory - """ - self.logger.info('Searching for deps in repo') - self.logger.info(f'Repo ID: {repo_id}, Path: {path}') - - - # for dep in deps: - # repo_deps = { - # 'repo_id': repo_id, - # 'dep_name' : dep.name, - # 'dep_count' : dep.count, - # 'dep_language' : dep.language, - # 'tool_source': self.tool_source, - # 'tool_version': self.tool_version, - # 'data_source': self.data_source, - # 'data_collection_date': datetime.now().strftime('%Y-%m-%dT%H:%M:%SZ') - # } - - # result = self.db.execute(self.repo_dependencies_table.insert().values(repo_deps)) - # self.logger.info(f"Added dep: {result.inserted_primary_key}") - - - def generate_deps_data(self, repo_id, path): - """Runs scc on repo and stores data in database - - :param repo_id: Repository ID - :param path: Absolute path of the Repostiory - """ - self.logger.info('Searching for deps in repo') - self.logger.info(f'Repo ID: {repo_id}, Path: {path}') - - deps = dep_calc.get_deps(path) - - for dep in deps: - repo_deps = { - 'repo_id': repo_id, - 'dep_name' : dep.name, - 'dep_count' : dep.count, - 'dep_language' : dep.language, - 'tool_source': self.tool_source, - 'tool_version': self.tool_version, - 'data_source': self.data_source, - 'data_collection_date': datetime.now().strftime('%Y-%m-%dT%H:%M:%SZ') - } - - result = self.db.execute(self.repo_dependencies_table.insert().values(repo_deps)) - self.logger.info(f"Added dep: {result.inserted_primary_key}") diff --git a/workers/discourse_analysis_worker/setup.py b/workers/discourse_analysis_worker/setup.py index 254acb8e50..3b614d8d59 100644 --- a/workers/discourse_analysis_worker/setup.py +++ b/workers/discourse_analysis_worker/setup.py @@ -28,7 +28,7 @@ def read(filename): 'requests==2.22.0', 'psycopg2-binary==2.8.6', 'click==7.1.2', - 'scipy==1.7.0', + 'scipy==1.6.3', 'nltk==3.5', 'pandas==1.1.3', 'scikit-learn==0.24.1', diff --git a/workers/insight_worker/setup.py b/workers/insight_worker/setup.py index 63413ab747..af1313c92a 100644 --- a/workers/insight_worker/setup.py +++ b/workers/insight_worker/setup.py @@ -29,9 +29,9 @@ def read(filename): 'requests==2.22.0', 'psycopg2-binary==2.8.6', 'click==7.1.2', - 'scipy==1.7.0', + 'scipy>=1.6.3', 'sklearn==0.0', - 'numpy==1.19.5', + 'numpy>=1.19.5', ], entry_points={ 'console_scripts': [ diff --git a/workers/message_insights_worker/setup.py b/workers/message_insights_worker/setup.py index c4175c1b78..e7634919c5 100644 --- a/workers/message_insights_worker/setup.py +++ b/workers/message_insights_worker/setup.py @@ -28,7 +28,7 @@ def read(filename): 'requests==2.22.0', 'psycopg2-binary==2.8.6', 'click==7.1.2', - 'scipy==1.7.0', + 'scipy==1.6.3', 'sklearn==0.0', 'numpy==1.19.5', 'nltk==3.5', diff --git a/workers/pull_request_analysis_worker/setup.py b/workers/pull_request_analysis_worker/setup.py index a3c4e8e08e..73ebc3ed69 100644 --- a/workers/pull_request_analysis_worker/setup.py +++ b/workers/pull_request_analysis_worker/setup.py @@ -35,7 +35,7 @@ def read(filename): 'emoji==1.2.0', 'joblib==1.0.1', 'xgboost==0.90', - 'scipy==1.7.0' + 'scipy==1.6.3' ], entry_points={ 'console_scripts': [ From d394e0a9b8d681a28c30eedacef563ab2524ac57 Mon Sep 17 00:00:00 2001 From: "Sean P. Goggins" Date: Tue, 20 Jul 2021 04:32:08 -0500 Subject: [PATCH 055/201] minor new updates of things to keep. --- workers/worker_base.py | 37 ++++--------------------------------- 1 file changed, 4 insertions(+), 33 deletions(-) diff --git a/workers/worker_base.py b/workers/worker_base.py index 83d1679540..78f7828d93 100644 --- a/workers/worker_base.py +++ b/workers/worker_base.py @@ -36,17 +36,12 @@ def __init__(self, worker_type, config={}, given=[], models=[], data_tables=[], self.config.update(config) - #base self.task_info = None self.repo_id = None - #not sure self.owner = None - #git interface overrides these self.repo = None self.given = given self.models = models - - #back to base, might be overwritten by git integration subclass? self.debug_data = [] if 'debug_data' not in self.config else self.config['debug_data'] self.specs = { 'id': self.config['id'], # what the broker knows this worker as @@ -95,6 +90,7 @@ def results_counter(self, value): """ self._results_counter = value + @property def task(self): """ Property that is returned when the worker's current task is referenced @@ -156,8 +152,6 @@ def collect(self): raise ValueError('{} is not a recognized task type'.format(message['job_type'])) pass - ##base, doesn't use keys - # Query repo_id corresponding to repo url of given task repoUrlSQL = s.sql.text(""" SELECT min(repo_id) as repo_id FROM repo WHERE repo_git = '{}' @@ -247,18 +241,11 @@ def record_model_process(self, repo_id, model): "repo_id": repo_id, "worker": self.config['id'], "job_model": model, - #"oauth_id": self.oauths[0]['oauth_id'], + "oauth_id": self.oauths[0]['oauth_id'], "timestamp": datetime.datetime.now(), "status": "Stopped", "total_results": self.results_counter } - #log oauth if it applies to worker. - try: - self.oauths - task_history['oauth_id'] = self.oauths[0]['oauth_id'] - except AttributeError: - pass - if self.finishing_task: result = self.helper_db.execute(self.worker_history_table.update().where( self.worker_history_table.c.history_id==self.history_id).values(task_history)) @@ -294,19 +281,11 @@ def register_task_completion(self, task, repo_id, model): 'repo_id': repo_id, 'worker': self.config['id'], 'job_model': model, - #'oauth_id': self.oauths[0]['oauth_id'], #messes up with workers that don't have this attribute + 'oauth_id': self.oauths[0]['oauth_id'], 'timestamp': datetime.datetime.now(), 'status': "Success", 'total_results': self.results_counter } - - #log oauth if it applies to worker. - try: - self.oauths - task_history['oauth_id'] = self.oauths[0]['oauth_id'] - except AttributeError: - pass - self.helper_db.execute(self.worker_history_table.update().where( self.worker_history_table.c.history_id==self.history_id).values(task_history)) @@ -381,19 +360,11 @@ def register_task_failure(self, task, repo_id, e): "repo_id": repo_id, "worker": self.config['id'], "job_model": task['models'][0], - #"oauth_id": self.oauths[0]['oauth_id'], + "oauth_id": self.oauths[0]['oauth_id'], "timestamp": datetime.datetime.now(), "status": "Error", "total_results": self.results_counter } - - #log oauth if it applies to worker. - try: - self.oauths - task_history['oauth_id'] = self.oauths[0]['oauth_id'] - except AttributeError: - pass - self.helper_db.execute( self.worker_history_table.update().where( self.worker_history_table.c.history_id==self.history_id From 08bbbbe1932f613fd0ffa4bb36fbe18dd6a768b1 Mon Sep 17 00:00:00 2001 From: "Sean P. Goggins" Date: Tue, 20 Jul 2021 14:29:13 -0500 Subject: [PATCH 056/201] keeping oauth error checking. --- workers/worker_base.py | 37 +++++++++++++++++++++++++++++++++---- 1 file changed, 33 insertions(+), 4 deletions(-) diff --git a/workers/worker_base.py b/workers/worker_base.py index 78f7828d93..83d1679540 100644 --- a/workers/worker_base.py +++ b/workers/worker_base.py @@ -36,12 +36,17 @@ def __init__(self, worker_type, config={}, given=[], models=[], data_tables=[], self.config.update(config) + #base self.task_info = None self.repo_id = None + #not sure self.owner = None + #git interface overrides these self.repo = None self.given = given self.models = models + + #back to base, might be overwritten by git integration subclass? self.debug_data = [] if 'debug_data' not in self.config else self.config['debug_data'] self.specs = { 'id': self.config['id'], # what the broker knows this worker as @@ -90,7 +95,6 @@ def results_counter(self, value): """ self._results_counter = value - @property def task(self): """ Property that is returned when the worker's current task is referenced @@ -152,6 +156,8 @@ def collect(self): raise ValueError('{} is not a recognized task type'.format(message['job_type'])) pass + ##base, doesn't use keys + # Query repo_id corresponding to repo url of given task repoUrlSQL = s.sql.text(""" SELECT min(repo_id) as repo_id FROM repo WHERE repo_git = '{}' @@ -241,11 +247,18 @@ def record_model_process(self, repo_id, model): "repo_id": repo_id, "worker": self.config['id'], "job_model": model, - "oauth_id": self.oauths[0]['oauth_id'], + #"oauth_id": self.oauths[0]['oauth_id'], "timestamp": datetime.datetime.now(), "status": "Stopped", "total_results": self.results_counter } + #log oauth if it applies to worker. + try: + self.oauths + task_history['oauth_id'] = self.oauths[0]['oauth_id'] + except AttributeError: + pass + if self.finishing_task: result = self.helper_db.execute(self.worker_history_table.update().where( self.worker_history_table.c.history_id==self.history_id).values(task_history)) @@ -281,11 +294,19 @@ def register_task_completion(self, task, repo_id, model): 'repo_id': repo_id, 'worker': self.config['id'], 'job_model': model, - 'oauth_id': self.oauths[0]['oauth_id'], + #'oauth_id': self.oauths[0]['oauth_id'], #messes up with workers that don't have this attribute 'timestamp': datetime.datetime.now(), 'status': "Success", 'total_results': self.results_counter } + + #log oauth if it applies to worker. + try: + self.oauths + task_history['oauth_id'] = self.oauths[0]['oauth_id'] + except AttributeError: + pass + self.helper_db.execute(self.worker_history_table.update().where( self.worker_history_table.c.history_id==self.history_id).values(task_history)) @@ -360,11 +381,19 @@ def register_task_failure(self, task, repo_id, e): "repo_id": repo_id, "worker": self.config['id'], "job_model": task['models'][0], - "oauth_id": self.oauths[0]['oauth_id'], + #"oauth_id": self.oauths[0]['oauth_id'], "timestamp": datetime.datetime.now(), "status": "Error", "total_results": self.results_counter } + + #log oauth if it applies to worker. + try: + self.oauths + task_history['oauth_id'] = self.oauths[0]['oauth_id'] + except AttributeError: + pass + self.helper_db.execute( self.worker_history_table.update().where( self.worker_history_table.c.history_id==self.history_id From 690f8ed7a946e4d298c05480ba2b83d105ccfd5c Mon Sep 17 00:00:00 2001 From: "Sean P. Goggins" Date: Tue, 20 Jul 2021 14:34:07 -0500 Subject: [PATCH 057/201] Metadata.py should be 0.2.0 in `dev` --- metadata.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/metadata.py b/metadata.py index 9465e4347b..74ded242ec 100644 --- a/metadata.py +++ b/metadata.py @@ -5,8 +5,8 @@ __short_description__ = "Python 3 package for free/libre and open-source software community metrics & data collection" -__version__ = "0.17.0" -__release__ = "v0.17.0" +__version__ = "0.2.0" +__release__ = "v0.2.0" __license__ = "MIT" __copyright__ = "CHAOSS & Augurlabs 2021" From 4ae235d84df58ded9ccae0ab264bc1f3f3743a8e Mon Sep 17 00:00:00 2001 From: Isaac Milarsky Date: Tue, 20 Jul 2021 15:09:51 -0500 Subject: [PATCH 058/201] added logging to github_worker Signed-off-by: Isaac Milarsky --- workers/github_worker/github_worker.py | 3 ++- workers/worker_git_integration.py | 2 -- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/workers/github_worker/github_worker.py b/workers/github_worker/github_worker.py index a6efff9715..0985e3509d 100644 --- a/workers/github_worker/github_worker.py +++ b/workers/github_worker/github_worker.py @@ -508,8 +508,9 @@ def is_nan(value): self.issue_labels_table, insert=labels_insert, unique_columns=label_action_map['insert']['augur'] ) - except psycopg2.errors.InvalidTextRepresentation: + except psycopg2.errors.InvalidTextRepresentation as e: #If there was an error constructing a type try to redo the insert with a conversion. + self.logger.warning(f"Type error when attempting to insert data in issue_nested_data_model with the github worker. ERROR: {e} \n") self.bulk_insert( self.issue_labels_table, insert=labels_insert, unique_columns=label_action_map['insert']['augur'], diff --git a/workers/worker_git_integration.py b/workers/worker_git_integration.py index 12425386b6..aa3084f6a6 100644 --- a/workers/worker_git_integration.py +++ b/workers/worker_git_integration.py @@ -1,5 +1,3 @@ -#WORK IN PROGRESS NOT TO BE USED AT ALL IN PRESENT STATE - #Get everything that the base depends on. from workers.worker_base import * From b65f9e8c1ceb16e48711abf8a08bf9d5b4cfde77 Mon Sep 17 00:00:00 2001 From: Isaac Milarsky Date: Tue, 20 Jul 2021 15:11:33 -0500 Subject: [PATCH 059/201] minor Signed-off-by: Isaac Milarsky --- workers/github_worker/github_worker.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workers/github_worker/github_worker.py b/workers/github_worker/github_worker.py index 0985e3509d..3257a302bf 100644 --- a/workers/github_worker/github_worker.py +++ b/workers/github_worker/github_worker.py @@ -510,7 +510,7 @@ def is_nan(value): ) except psycopg2.errors.InvalidTextRepresentation as e: #If there was an error constructing a type try to redo the insert with a conversion. - self.logger.warning(f"Type error when attempting to insert data in issue_nested_data_model with the github worker. ERROR: {e} \n") + self.logger.warning(f"Type error when attempting to insert data in issue_nested_data_model with the github worker. Trying again with type conversion on. ERROR: {e} \n") self.bulk_insert( self.issue_labels_table, insert=labels_insert, unique_columns=label_action_map['insert']['augur'], From a38649082bec51f3d9c108b70742e3b12aafb3d9 Mon Sep 17 00:00:00 2001 From: "Sean P. Goggins" Date: Wed, 21 Jul 2021 13:54:20 -0500 Subject: [PATCH 060/201] code owners changed. --- .github/CODEOWNERS | 50 +++++++++---------- .../facade_worker/facade01config.py | 2 +- 2 files changed, 26 insertions(+), 26 deletions(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index e77e750547..e2ca0093dc 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1,32 +1,32 @@ -/augur/cli/ @ccarterlandis -/augur/metrics/ @ccarterlandis @sgoggins -/augur/housekeeper/ @gabe-heim -/augur/server.py @ccarterlandis @gabe-heim -/augur/application.py @ccarterlandis @sgoggins @gabe-heim -/augur/routes/ @ccarterlandis @gabe-heim @sgoggins +/augur/cli/ @sgoggins +/augur/metrics/ @sgoggins @sgoggins +/augur/housekeeper/ @sgoggins +/augur/server.py @sgoggins @sgoggins +/augur/application.py @sgoggins @sgoggins @sgoggins +/augur/routes/ @sgoggins @sgoggins @sgoggins -/frontend/ @gabe-heim @sgoggins +/frontend/ @sgoggins @sgoggins -/schema/ @sgoggins @ccarterlandis +/schema/ @sgoggins @sgoggins /schema/generate @sgoggins -/workers/ @ccarterlandis @gabe-heim @sgoggins +/workers/ @sgoggins @sgoggins @sgoggins -/README.md @sgoggins @ccarterlandis -/CONTRIBUTING.md @sgoggins @ccarterlandis -/LICENSE @sgoggins @ccarterlandis -/CODE_OF_CONDUCT.md @sgoggins @ccarterlandis +/README.md @sgoggins @sgoggins +/CONTRIBUTING.md @sgoggins @sgoggins +/LICENSE @sgoggins @sgoggins +/CODE_OF_CONDUCT.md @sgoggins @sgoggins -/tests/ @ccarterlandis -/util/docker @ccarterlandis -/scripts/ @ccarterlandis -/docs/ @ccarterlandis -/.dockerignore @ccarterlandis -/.travis.yml @ccarterlandis -*compose.yml @ccarterlandis -/readthedocs.yml @ccarterlandis -/Makefile @ccarterlandis -/tox.ini @ccarterlandis -*requirements.txt @ccarterlandis -/setup.py @ccarterlandis @sgoggins +/tests/ @sgoggins +/util/docker @sgoggins +/scripts/ @sgoggins +/docs/ @sgoggins +/.dockerignore @sgoggins +/.travis.yml @sgoggins +*compose.yml @sgoggins +/readthedocs.yml @sgoggins +/Makefile @sgoggins +/tox.ini @sgoggins +*requirements.txt @sgoggins +/setup.py @sgoggins @sgoggins diff --git a/workers/facade_worker/facade_worker/facade01config.py b/workers/facade_worker/facade_worker/facade01config.py index 06f8e831d4..c8e8a2c013 100644 --- a/workers/facade_worker/facade_worker/facade01config.py +++ b/workers/facade_worker/facade_worker/facade01config.py @@ -165,7 +165,7 @@ def database_connection(self, db_host,db_user,db_pass,db_name, db_port, people, cursor = db.cursor()#pymysql.cursors.DictCursor) -## TODO: Does this need a block for if the database connection IS multithreaded? I think so, @gabe-heim +## TODO: Does this need a block for if the database connection IS multithreaded? I think so, @sgoggins if people and not multi_threaded_connection: self.cursor_people = cursor From 5a9c5359aa524041619816cd661f6e87c51b0af2 Mon Sep 17 00:00:00 2001 From: Isaac Milarsky Date: Thu, 22 Jul 2021 16:16:05 -0500 Subject: [PATCH 061/201] Still a hairy problem Signed-off-by: Isaac Milarsky --- util/docker/backend/Dockerfile | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/util/docker/backend/Dockerfile b/util/docker/backend/Dockerfile index c5b40329b4..d0217a5ade 100644 --- a/util/docker/backend/Dockerfile +++ b/util/docker/backend/Dockerfile @@ -12,7 +12,8 @@ RUN set -x \ git \ gcc \ python3-pip \ - postgresql-client + golang \ + postgresql-client \ && rm -rf /var/lib/apt/lists/* EXPOSE 5000 @@ -27,6 +28,11 @@ COPY ./workers/ workers/ COPY ./schema/ schema/ COPY ./util/docker/backend/backend.docker.config.json . + +# TODO: fix install script because currently the go module reqs fail and in turn make the build fail? +# Could be something else but I don't know what else? + +#Might want to set these up in differant RUN statements. RUN set -x \ && pip install . \ && ./scripts/install/workers.sh \ From 5dfea8573aa809bbadb5b3228cfbeb4231ec5755 Mon Sep 17 00:00:00 2001 From: "Sean P. Goggins" Date: Fri, 23 Jul 2021 09:50:38 -0500 Subject: [PATCH 062/201] index out of bounds on error. --- workers/worker_git_integration.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/workers/worker_git_integration.py b/workers/worker_git_integration.py index 7d6bb17592..1907c50cf7 100644 --- a/workers/worker_git_integration.py +++ b/workers/worker_git_integration.py @@ -1144,7 +1144,13 @@ def load_url(url, extra_data={}): 2, int(response.links['last']['url'].split('=')[-1]) + 1 ) ] - urls = numpy.delete(urls, numpy.where(urls == url), axis=0) + try: + self.logger.info(f"urls boundry issue? for {urls} where they are equal to {url}.") + + urls = numpy.delete(urls, numpy.where(urls == url), axis=0) + except: + self.logger.info(f"ERROR with axis = 0 - Now attempting without setting axis for numpy.delete for {urls} where they are equal to {url}.") + urls = numpy.delete(urls, numpy.where(urls == url)) elif response.status_code == 404: urls = numpy.delete(urls, numpy.where(urls == url), axis=0) From 3286a0c7cf38abed73e448d9fa64ac751348824b Mon Sep 17 00:00:00 2001 From: "Sean P. Goggins" Date: Fri, 23 Jul 2021 10:06:50 -0500 Subject: [PATCH 063/201] pr debug --- .../pull_request_worker/pull_request_worker.py | 17 +++++++++++++++-- workers/worker_git_integration.py | 2 ++ 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/workers/pull_request_worker/pull_request_worker.py b/workers/pull_request_worker/pull_request_worker.py index afd3ea9440..6206a4283c 100644 --- a/workers/pull_request_worker/pull_request_worker.py +++ b/workers/pull_request_worker/pull_request_worker.py @@ -405,6 +405,10 @@ def pk_source_increment_insert(inc_source_prs, action_map): self.register_task_completion(self.task_info, self.repo_id, 'pull_requests') return + + self.logger.info(f"inc_source_prs is: {inc_source_prs} and the action map is {action_map}...") + + inc_source_prs['insert'] = self.enrich_cntrb_id( inc_source_prs['insert'], 'user.login', action_map_additions={ 'insert': { @@ -491,10 +495,19 @@ def pk_source_increment_insert(inc_source_prs, action_map): #paginate endpoint with stagger enabled so that the above method can insert every 500 + + self.logger.info( + f"PR Action map is {pr_action_map}" + ) + source_prs = self.paginate_endpoint( pr_url, action_map=pr_action_map, table=self.pull_requests_table, where_clause=self.pull_requests_table.c.repo_id == self.repo_id, - stagger=True, insertion_method=pk_source_increment_insert + insertion_method=pk_source_increment_insert + ) + + self.logger.info( + f"PR Action map is {pr_action_map} after source_prs. The source_prs are {source_prs}." ) #Use the increment insert method in order to do the @@ -551,7 +564,7 @@ def pull_request_comments_model(self): # TODO: add relational table so we can include a where_clause here pr_comments = self.paginate_endpoint( - comments_url, action_map=comment_action_map, table=self.message_table + comments_url, action_map=comment_action_map, table=self.message_table, stagger=True ) self.write_debug_data(pr_comments, 'pr_comments') diff --git a/workers/worker_git_integration.py b/workers/worker_git_integration.py index 1907c50cf7..8745a52fc6 100644 --- a/workers/worker_git_integration.py +++ b/workers/worker_git_integration.py @@ -245,6 +245,8 @@ def enrich_cntrb_id( ): if not len(data): + self.logger.info(f"Enrich contrib data is empty for {len(data)}, for the key {key}.") + raise ValueError self.logger.info(f"Enriching contributor ids for {len(data)} data points...") From e46a210e0c80223d31f39d35561c8fd82eaaf4cd Mon Sep 17 00:00:00 2001 From: "Sean P. Goggins" Date: Fri, 23 Jul 2021 10:08:45 -0500 Subject: [PATCH 064/201] test --- workers/pull_request_worker/pull_request_worker.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/workers/pull_request_worker/pull_request_worker.py b/workers/pull_request_worker/pull_request_worker.py index 6206a4283c..a54b916e23 100644 --- a/workers/pull_request_worker/pull_request_worker.py +++ b/workers/pull_request_worker/pull_request_worker.py @@ -503,6 +503,7 @@ def pk_source_increment_insert(inc_source_prs, action_map): source_prs = self.paginate_endpoint( pr_url, action_map=pr_action_map, table=self.pull_requests_table, where_clause=self.pull_requests_table.c.repo_id == self.repo_id, + stagger=True, insertion_method=pk_source_increment_insert ) @@ -564,7 +565,7 @@ def pull_request_comments_model(self): # TODO: add relational table so we can include a where_clause here pr_comments = self.paginate_endpoint( - comments_url, action_map=comment_action_map, table=self.message_table, stagger=True + comments_url, action_map=comment_action_map, table=self.message_table ) self.write_debug_data(pr_comments, 'pr_comments') From 5f98a757fab5b724e2d0f470b4b3c34ea225f518 Mon Sep 17 00:00:00 2001 From: Isaac Milarsky Date: Fri, 23 Jul 2021 14:19:13 -0500 Subject: [PATCH 065/201] Isolating the part of the docker build that fails Signed-off-by: Isaac Milarsky --- util/docker/backend/Dockerfile | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/util/docker/backend/Dockerfile b/util/docker/backend/Dockerfile index d0217a5ade..ed8037a74d 100644 --- a/util/docker/backend/Dockerfile +++ b/util/docker/backend/Dockerfile @@ -34,9 +34,10 @@ COPY ./util/docker/backend/backend.docker.config.json . #Might want to set these up in differant RUN statements. RUN set -x \ - && pip install . \ - && ./scripts/install/workers.sh \ - && augur config init --rc-config-file /augur/backend.docker.config.json \ + && pip install . + +RUN ./scripts/install/workers.sh +RUN augur config init --rc-config-file /augur/backend.docker.config.json \ && mkdir -p repos/ logs/ COPY ./util/docker/backend/entrypoint.sh / From 65e99d8b15e5d1d3ce8d566a37d746512a1a2312 Mon Sep 17 00:00:00 2001 From: Isaac Milarsky Date: Fri, 23 Jul 2021 14:19:56 -0500 Subject: [PATCH 066/201] Isolating go as the build problem Signed-off-by: Isaac Milarsky --- scripts/install/workers.sh | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/scripts/install/workers.sh b/scripts/install/workers.sh index 9a8d56169b..6f548acc43 100755 --- a/scripts/install/workers.sh +++ b/scripts/install/workers.sh @@ -43,16 +43,3 @@ do done - - -if [ -d "$HOME/scorecard" ]; then - echo " Scorecard already exists, skipping cloning ..." -else - echo "Cloning OSSF Scorecard to generate scorecard data ..." - git clone https://github.com/ossf/scorecard $HOME/scorecard - CURRENT_DIR=$PWD; - cd $HOME/scorecard; - go build; - echo "scorecard build done" - cd $CURRENT_DIR -fi From 926c6252990dc188a3f91d933330b43cc651f834 Mon Sep 17 00:00:00 2001 From: Isaac Milarsky Date: Fri, 23 Jul 2021 15:34:58 -0500 Subject: [PATCH 067/201] Still trying to get all go modules built Signed-off-by: Isaac Milarsky --- scripts/install/workers.sh | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/scripts/install/workers.sh b/scripts/install/workers.sh index 6f548acc43..fe3eaf1d5b 100755 --- a/scripts/install/workers.sh +++ b/scripts/install/workers.sh @@ -43,3 +43,16 @@ do done +go env -w GO111MODULE=auto + +if [ -d "$HOME/scorecard" ]; then + echo " Scorecard already exists, skipping cloning ..." +else + echo "Cloning OSSF Scorecard to generate scorecard data ..." + git clone https://github.com/ossf/scorecard $HOME/scorecard + CURRENT_DIR=$PWD; + cd $HOME/scorecard; + go build; + echo "scorecard build done" + cd $CURRENT_DIR +fi From 4e85eec9b1aeba9424d00d52e7253cd72b00f5fb Mon Sep 17 00:00:00 2001 From: Isaac Milarsky Date: Fri, 23 Jul 2021 17:17:20 -0500 Subject: [PATCH 068/201] Docker build has been successfully unborked Signed-off-by: Isaac Milarsky --- scripts/docker/install-go.sh | 9 +++++++++ scripts/install/workers.sh | 2 +- util/docker/backend/Dockerfile | 7 ++----- 3 files changed, 12 insertions(+), 6 deletions(-) create mode 100755 scripts/docker/install-go.sh diff --git a/scripts/docker/install-go.sh b/scripts/docker/install-go.sh new file mode 100755 index 0000000000..41cfc6b2c7 --- /dev/null +++ b/scripts/docker/install-go.sh @@ -0,0 +1,9 @@ +#!/bin/bash +# install Go +installGo() ( + cd "$(mktemp -d)" + wget https://golang.org/dl/go1.16.5.linux-amd64.tar.gz + rm -rf /usr/local/go && tar -C /usr/local -xzf go1.16.5.linux-amd64.tar.gz +) +installGo +export PATH=$PATH:/usr/local/go/bin \ No newline at end of file diff --git a/scripts/install/workers.sh b/scripts/install/workers.sh index fe3eaf1d5b..0031317127 100755 --- a/scripts/install/workers.sh +++ b/scripts/install/workers.sh @@ -43,7 +43,7 @@ do done -go env -w GO111MODULE=auto +export PATH=$PATH:/usr/local/go/bin if [ -d "$HOME/scorecard" ]; then echo " Scorecard already exists, skipping cloning ..." diff --git a/util/docker/backend/Dockerfile b/util/docker/backend/Dockerfile index ed8037a74d..237c0a0e2f 100644 --- a/util/docker/backend/Dockerfile +++ b/util/docker/backend/Dockerfile @@ -12,7 +12,7 @@ RUN set -x \ git \ gcc \ python3-pip \ - golang \ + wget \ postgresql-client \ && rm -rf /var/lib/apt/lists/* @@ -29,13 +29,10 @@ COPY ./schema/ schema/ COPY ./util/docker/backend/backend.docker.config.json . -# TODO: fix install script because currently the go module reqs fail and in turn make the build fail? -# Could be something else but I don't know what else? - -#Might want to set these up in differant RUN statements. RUN set -x \ && pip install . +RUN ./scripts/docker/install-go.sh RUN ./scripts/install/workers.sh RUN augur config init --rc-config-file /augur/backend.docker.config.json \ && mkdir -p repos/ logs/ From 296d2b467f30883a4cce0d9a266bee7fabada87e Mon Sep 17 00:00:00 2001 From: "Sean P. Goggins" Date: Sat, 24 Jul 2021 14:27:17 -0500 Subject: [PATCH 069/201] commenting out the use of enrich_cntrb_id as its exponentially increasing the number of contributor duplicates added. --- schema/create_schema.sql | 1 + schema/generate/55-schema_update_57.sql | 119 ++++++++++++++++ .../contributor_worker/contributor_worker.py | 112 +++++++++++---- workers/github_worker/github_worker.py | 84 ++++++------ .../pull_request_worker.py | 129 +++++++++--------- workers/worker_git_integration.py | 56 ++++---- 6 files changed, 341 insertions(+), 160 deletions(-) create mode 100644 schema/generate/55-schema_update_57.sql diff --git a/schema/create_schema.sql b/schema/create_schema.sql index 43e847ad16..fc51c1f139 100644 --- a/schema/create_schema.sql +++ b/schema/create_schema.sql @@ -57,4 +57,5 @@ \i schema/generate/52-schema_update_54.sql \i schema/generate/53-schema_update_55.sql \i schema/generate/54-schema_update_56.sql +\i schema/generate/55-schema_update_57.sql diff --git a/schema/generate/55-schema_update_57.sql b/schema/generate/55-schema_update_57.sql new file mode 100644 index 0000000000..607abc866c --- /dev/null +++ b/schema/generate/55-schema_update_57.sql @@ -0,0 +1,119 @@ +BEGIN; + +ALTER TABLE "augur_data"."contributors" ADD COLUMN "gl_id" int8; + +ALTER TABLE "augur_data"."contributors" ADD COLUMN "gl_full_name" varchar COLLATE "pg_catalog"."default"; + +ALTER TABLE "augur_data"."contributors" ADD COLUMN "gl_username" varchar COLLATE "pg_catalog"."default"; + +ALTER TABLE "augur_data"."contributors" ADD COLUMN "gl_state" varchar COLLATE "pg_catalog"."default"; + +ALTER TABLE "augur_data"."contributors" ADD COLUMN "gl_avatar_url" varchar COLLATE "pg_catalog"."default"; + +ALTER TABLE "augur_data"."contributors" ADD COLUMN "gl_web_url" varchar COLLATE "pg_catalog"."default"; + +COMMENT ON COLUMN "augur_data"."contributors"."gl_id" IS '"id" value from these API calls to GitLab, all for the same user + +https://gitlab.com/api/v4/users?username=computationalmystic +https://gitlab.com/api/v4/users?search=s@goggins.com +https://gitlab.com/api/v4/users?search=outdoors@acm.org + +[ + { + "id": 5481034, + "name": "sean goggins", + "username": "computationalmystic", + "state": "active", + "avatar_url": "https://secure.gravatar.com/avatar/fb1fb43953a6059df2fe8d94b21d575c?s=80&d=identicon", + "web_url": "https://gitlab.com/computationalmystic" + } +]'; + +COMMENT ON COLUMN "augur_data"."contributors"."gl_full_name" IS '“name” value from these API calls to GitLab, all for the same user + +https://gitlab.com/api/v4/users?username=computationalmystic +https://gitlab.com/api/v4/users?search=s@goggins.com +https://gitlab.com/api/v4/users?search=outdoors@acm.org + +[ + { + "id": 5481034, + "name": "sean goggins", + "username": "computationalmystic", + "state": "active", + "avatar_url": "https://secure.gravatar.com/avatar/fb1fb43953a6059df2fe8d94b21d575c?s=80&d=identicon", + "web_url": "https://gitlab.com/computationalmystic" + } +]'; + +COMMENT ON COLUMN "augur_data"."contributors"."gl_username" IS '“username” value from these API calls to GitLab, all for the same user + +https://gitlab.com/api/v4/users?username=computationalmystic +https://gitlab.com/api/v4/users?search=s@goggins.com +https://gitlab.com/api/v4/users?search=outdoors@acm.org + +[ + { + "id": 5481034, + "name": "sean goggins", + "username": "computationalmystic", + "state": "active", + "avatar_url": "https://secure.gravatar.com/avatar/fb1fb43953a6059df2fe8d94b21d575c?s=80&d=identicon", + "web_url": "https://gitlab.com/computationalmystic" + } +]'; + +COMMENT ON COLUMN "augur_data"."contributors"."gl_state" IS '“state” value from these API calls to GitLab, all for the same user + +https://gitlab.com/api/v4/users?username=computationalmystic +https://gitlab.com/api/v4/users?search=s@goggins.com +https://gitlab.com/api/v4/users?search=outdoors@acm.org + +[ + { + "id": 5481034, + "name": "sean goggins", + "username": "computationalmystic", + "state": "active", + "avatar_url": "https://secure.gravatar.com/avatar/fb1fb43953a6059df2fe8d94b21d575c?s=80&d=identicon", + "web_url": "https://gitlab.com/computationalmystic" + } +]'; + +COMMENT ON COLUMN "augur_data"."contributors"."gl_avatar_url" IS '“avatar_url” value from these API calls to GitLab, all for the same user + +https://gitlab.com/api/v4/users?username=computationalmystic +https://gitlab.com/api/v4/users?search=s@goggins.com +https://gitlab.com/api/v4/users?search=outdoors@acm.org + +[ + { + "id": 5481034, + "name": "sean goggins", + "username": "computationalmystic", + "state": "active", + "avatar_url": "https://secure.gravatar.com/avatar/fb1fb43953a6059df2fe8d94b21d575c?s=80&d=identicon", + "web_url": "https://gitlab.com/computationalmystic" + } +]'; + +COMMENT ON COLUMN "augur_data"."contributors"."gl_web_url" IS '“web_url” value from these API calls to GitLab, all for the same user + +https://gitlab.com/api/v4/users?username=computationalmystic +https://gitlab.com/api/v4/users?search=s@goggins.com +https://gitlab.com/api/v4/users?search=outdoors@acm.org + +[ + { + "id": 5481034, + "name": "sean goggins", + "username": "computationalmystic", + "state": "active", + "avatar_url": "https://secure.gravatar.com/avatar/fb1fb43953a6059df2fe8d94b21d575c?s=80&d=identicon", + "web_url": "https://gitlab.com/computationalmystic" + } +]'; + +update "augur_operations"."augur_settings" set value = 57 where setting = 'augur_data_version'; + +COMMIT; diff --git a/workers/contributor_worker/contributor_worker.py b/workers/contributor_worker/contributor_worker.py index 62109332f1..2cada412ff 100644 --- a/workers/contributor_worker/contributor_worker.py +++ b/workers/contributor_worker/contributor_worker.py @@ -11,8 +11,10 @@ import datetime from workers.worker_base import Worker +## Gitlab email api: https://gitlab.com/api/v4/users?search=s@goggins.com +from workers.worker_git_integration import WorkerGitInterfaceable -class ContributorWorker(Worker): +class ContributorWorker(WorkerGitInterfaceable): """ Worker that detects anomalies on a select few of our metrics task: most recent task the broker added to the worker's queue child: current process of the queue being ran @@ -49,7 +51,7 @@ def contributors_model(self, entry_info, repo_id): # Get and insert all users (emails) found by the facade worker self.insert_facade_contributors(entry_info, repo_id) - # Get and insert all users github considers to be contributors for this repo + # Get and insert all users github considered to be contributors for this repo self.query_github_contributors(entry_info, repo_id) self.logger.info("Searching users for commits from the facade worker for repo with entry info: {}\n".format(entry_info)) @@ -553,33 +555,6 @@ def handle_alias(self, tuple): self.map_new_id(dupe_ids, self.cntrb_id_inc) - ### Commented out due to cascade delete database issue - ### Sean Goggins, February 5, 2021 - - # deleteSQL = """ - # DELETE - # FROM - # contributors c - # USING - # contributors_aliases - # WHERE - # c.cntrb_email = '{0}' - # AND - # c.cntrb_id NOT IN (SELECT cntrb_id FROM contributors_aliases) - # AND - # c.cntrb_id <> {1}; - # """.format(commit_email, self.cntrb_id_inc) - - # try: - # # Delete all dupes - # result = self.db.execute(deleteSQL) - # self.logger.info("Deleted all non-canonical contributors with the email: {}\n".format(commit_email)) - # except Exception as e: - # self.logger.info("When trying to delete a duplicate contributor, worker ran into error: {}".format(e)) - - # else: #then there would be exactly 1 existing tuple, so that id is the one we want - # alias_id = existing_tuples[0]['cntrb_id'] - self.logger.info('Checking canonicals match.\n') alias_sql = s.sql.text(""" SELECT * @@ -704,4 +679,83 @@ def map_new_id(self, dupe_ids, new_id): self.pull_request_repo_table.c.pr_cntrb_id.in_(dupe_ids)).values(pr_repo_col)) self.logger.info("Updated cntrb_id column for tuple in the pull_request_repo table with value: {} replaced with new cntrb id: {}".format(new_id, self.cntrb_id_inc)) + + ## July 12, 2021: Note there are 17 foreign keys for contributors in the Augur database, and ten updates above. Addressing the other 3 of 5 that need to be updated. Specifying 2 to continue to ignore. + ## TODO: Update PR table FK's to RESTRICT on delete and CASCADE on update within PR table ecosystem + ## TODO: Update pull_request_commits and commits FK's to have no cascading effects for now, as thier cntrb_id columns are not currently populated. Instead, these tables rely on emails. + ## Missing Tables: + # pull_request_reviews + # pull_requests + # pull_request_commits + # contributor_repo + # commits + + ## can use update_col when the column name is cntrb_id; otherwise column_name_col for .values(update_col) in row two of each block. + + # column is cntrb_id + pr_reviews_result = self.db.execute(self.pull_request_reviews_table.update().where( + self.pull_request_reviews_table.c.cntrb_id.in_(dupe_ids)).values(update_col)) + self.logger.info("Updated cntrb_id column for tuple in the pull_request_reviews table with value: {} replaced with new cntrb id: {}".format(new_id, self.cntrb_id_inc)) + + # pr_augur_contributor_id + pr_result = self.db.execute(self.pull_requests_table.update().where( + self.pull_requests_table.c.pr_augur_contributor_id.in_(dupe_ids)).values(pr_augur_contributor_id_col)) + self.logger.info("Updated cntrb_id column for tuple in the pull_requests table with value: {} replaced with new cntrb id: {}".format(new_id, self.cntrb_id_inc)) + + # # pr_cmt_author_cntrb_id is not currently populated. Do later + # pr_commits_result = self.db.execute(self.commits_table.update().where( + # self.commits_table.c.cntrb_id.in_(dupe_ids)).values(update_col)) + # self.logger.info("Updated cntrb_id column for tuple in the pull_request_reviewers table with value: {} replaced with new cntrb id: {}".format(new_id, self.cntrb_id_inc)) + + # column is cntrb_id + contributor_repo_result = self.db.execute(self.contributor_repo_table.update().where( + self.contributor_repo_table.c.cntrb_id.in_(dupe_ids)).values(update_col)) + self.logger.info("Updated cntrb_id column for tuple in the contributor_repo table with value: {} replaced with new cntrb id: {}".format(new_id, self.cntrb_id_inc)) + + # # # commits is harder. The cmt_ght_author_id, and cmt_ght_committer_id are all NULL right now. So this will need to be addressed in the future. + # commits_result = self.db.execute(self.pull_request_repo_table.update().where( + # self.pull_request_repo_table.c.pr_cntrb_id.in_(dupe_ids)).values(pr_repo_col)) + # self.logger.info("Updated cntrb_id column for tuple in the pull_request_repo table with value: {} replaced with new cntrb id: {}".format(new_id, self.cntrb_id_inc)) + + # # TABLES not requiring updates + # contributors_history + # contributor_aliases + + + pr_repo_result = self.db.execute(self.pull_request_repo_table.update().where( + self.pull_request_repo_table.c.pr_cntrb_id.in_(dupe_ids)).values(pr_repo_col)) + self.logger.info("Updated cntrb_id column for tuple in the pull_request_repo table with value: {} replaced with new cntrb id: {}".format(new_id, self.cntrb_id_inc)) + + self.logger.info('Done mapping new id.\n') + + + + ### Moved this down to the bottom. This is literally the last thing one would do. + + ### Commented out due to cascade delete database issue + ### Sean Goggins, February 5, 2021 + + # deleteSQL = """ + # DELETE + # FROM + # contributors c + # USING + # contributors_aliases + # WHERE + # c.cntrb_email = '{0}' + # AND + # c.cntrb_id NOT IN (SELECT cntrb_id FROM contributors_aliases) + # AND + # c.cntrb_id <> {1}; + # """.format(commit_email, self.cntrb_id_inc) + + # try: + # # Delete all dupes + # result = self.db.execute(deleteSQL) + # self.logger.info("Deleted all non-canonical contributors with the email: {}\n".format(commit_email)) + # except Exception as e: + # self.logger.info("When trying to delete a duplicate contributor, worker ran into error: {}".format(e)) + + # else: #then there would be exactly 1 existing tuple, so that id is the one we want + # alias_id = existing_tuples[0]['cntrb_id'] \ No newline at end of file diff --git a/workers/github_worker/github_worker.py b/workers/github_worker/github_worker.py index 3257a302bf..28501863c1 100644 --- a/workers/github_worker/github_worker.py +++ b/workers/github_worker/github_worker.py @@ -84,14 +84,14 @@ def is_valid_pr_block(issue): and isinstance(issue['pull_request'], dict) and 'url' in issue['pull_request'] ) - inc_source_issues['insert'] = self.enrich_cntrb_id( - inc_source_issues['insert'], 'user.login', action_map_additions={ - 'insert': { - 'source': ['user.node_id'], - 'augur': ['gh_node_id'] - } - }, prefix='user.' - ) + # inc_source_issues['insert'] = self.enrich_cntrb_id( + # inc_source_issues['insert'], 'user.login', action_map_additions={ + # 'insert': { + # 'source': ['user.node_id'], + # 'augur': ['gh_node_id'] + # } + # }, prefix='user.' + # ) issues_insert = [ { @@ -227,14 +227,14 @@ def issue_comments_model(self, pk_source_issues): ) ) - issue_comments['insert'] = self.enrich_cntrb_id( - issue_comments['insert'], 'user.login', action_map_additions={ - 'insert': { - 'source': ['user.node_id'], - 'augur': ['gh_node_id'] - } - }, prefix='user.' - ) + # issue_comments['insert'] = self.enrich_cntrb_id( + # issue_comments['insert'], 'user.login', action_map_additions={ + # 'insert': { + # 'source': ['user.node_id'], + # 'augur': ['gh_node_id'] + # } + # }, prefix='user.' + # ) issue_comments_insert = [ { @@ -316,14 +316,14 @@ def issue_events_model(self, pk_source_issues): ['id', 'issue_id', 'node_id', 'url', 'actor', 'created_at', 'event', 'commit_id'] ].to_dict(orient='records') - pk_issue_events = self.enrich_cntrb_id( - pk_issue_events, 'actor.login', action_map_additions={ - 'insert': { - 'source': ['actor.node_id'], - 'augur': ['gh_node_id'] - } - }, prefix='actor.' - ) + # pk_issue_events = self.enrich_cntrb_id( + # pk_issue_events, 'actor.login', action_map_additions={ + # 'insert': { + # 'source': ['actor.node_id'], + # 'augur': ['gh_node_id'] + # } + # }, prefix='actor.' + # ) issue_events_insert = [ { @@ -364,16 +364,16 @@ def issue_nested_data_model(self, pk_source_issues, issue_events_all): events_df = events_df.loc[events_df.event == 'closed'] if len(events_df): - events_df = pd.DataFrame( - self.enrich_cntrb_id( - events_df.to_dict(orient='records'), 'actor.login', action_map_additions={ - 'insert': { - 'source': ['actor.node_id'], - 'augur': ['gh_node_id'] - } - }, prefix='actor.' - ) - ) + # events_df = pd.DataFrame( + # self.enrich_cntrb_id( + # events_df.to_dict(orient='records'), 'actor.login', action_map_additions={ + # 'insert': { + # 'source': ['actor.node_id'], + # 'augur': ['gh_node_id'] + # } + # }, prefix='actor.' + # ) + # ) if not len(events_df): # no cntrb ids were available skip_closed_issue_update = True else: @@ -446,14 +446,14 @@ def is_nan(value): action_map=assignee_action_map ) - source_assignees_insert = self.enrich_cntrb_id( - source_assignees_insert, 'login', action_map_additions={ - 'insert': { - 'source': ['node_id'], - 'augur': ['gh_node_id'] - } - } - ) + # source_assignees_insert = self.enrich_cntrb_id( + # source_assignees_insert, 'login', action_map_additions={ + # 'insert': { + # 'source': ['node_id'], + # 'augur': ['gh_node_id'] + # } + # } + # ) assignees_insert = [ { diff --git a/workers/pull_request_worker/pull_request_worker.py b/workers/pull_request_worker/pull_request_worker.py index a54b916e23..420becb1fb 100644 --- a/workers/pull_request_worker/pull_request_worker.py +++ b/workers/pull_request_worker/pull_request_worker.py @@ -409,14 +409,15 @@ def pk_source_increment_insert(inc_source_prs, action_map): self.logger.info(f"inc_source_prs is: {inc_source_prs} and the action map is {action_map}...") - inc_source_prs['insert'] = self.enrich_cntrb_id( - inc_source_prs['insert'], 'user.login', action_map_additions={ - 'insert': { - 'source': ['user.node_id'], - 'augur': ['gh_node_id'] - } - }, prefix='user.' - ) + # inc_source_prs['insert'] = self.enrich_cntrb_id( + # inc_source_prs['insert'], 'user.login', action_map_additions={ + # 'insert': { + # 'source': ['user.node_id'], + # 'augur': ['gh_node_id'] + # } + # }, prefix='user.' + # ) + prs_insert = [ @@ -572,14 +573,14 @@ def pull_request_comments_model(self): pr_comments['insert'] = self.text_clean(pr_comments['insert'], 'body') - pr_comments['insert'] = self.enrich_cntrb_id( - pr_comments['insert'], 'user.login', action_map_additions={ - 'insert': { - 'source': ['user.node_id'], - 'augur': ['gh_node_id'] - } - }, prefix='user.' - ) + # pr_comments['insert'] = self.enrich_cntrb_id( + # pr_comments['insert'], 'user.login', action_map_additions={ + # 'insert': { + # 'source': ['user.node_id'], + # 'augur': ['gh_node_id'] + # } + # }, prefix='user.' + # ) pr_comments_insert = [ { @@ -656,14 +657,14 @@ def pull_request_events_model(self, pk_source_prs=[]): self.write_debug_data(pk_pr_events, 'pk_pr_events') - pk_pr_events = self.enrich_cntrb_id( - pk_pr_events, 'actor.login', action_map_additions={ - 'insert': { - 'source': ['actor.node_id'], - 'augur': ['gh_node_id'] - } - }, prefix='actor.' - ) + # pk_pr_events = self.enrich_cntrb_id( + # pk_pr_events, 'actor.login', action_map_additions={ + # 'insert': { + # 'source': ['actor.node_id'], + # 'augur': ['gh_node_id'] + # } + # }, prefix='actor.' + # ) pr_events_insert = [ { @@ -725,14 +726,14 @@ def pull_request_reviews_model(self, pk_source_prs=[]): action_map=review_action_map ) - source_reviews_insert = self.enrich_cntrb_id( - source_reviews_insert, 'user.login', action_map_additions={ - 'insert': { - 'source': ['user.node_id'], - 'augur': ['gh_node_id'] - } - }, prefix='user.' - ) + # source_reviews_insert = self.enrich_cntrb_id( + # source_reviews_insert, 'user.login', action_map_additions={ + # 'insert': { + # 'source': ['user.node_id'], + # 'augur': ['gh_node_id'] + # } + # }, prefix='user.' + # ) reviews_insert = [ { @@ -804,14 +805,14 @@ def pull_request_reviews_model(self, pk_source_prs=[]): self.write_debug_data(review_msgs, 'review_msgs') #Throwing value errors. 'cannot use name of an existing column for indicator column' - review_msgs['insert'] = self.enrich_cntrb_id( - review_msgs['insert'], 'user.login', action_map_additions={ - 'insert': { - 'source': ['user.node_id'], - 'augur': ['gh_node_id'] - } - }, prefix='user.' - ) + # review_msgs['insert'] = self.enrich_cntrb_id( + # review_msgs['insert'], 'user.login', action_map_additions={ + # 'insert': { + # 'source': ['user.node_id'], + # 'augur': ['gh_node_id'] + # } + # }, prefix='user.' + # ) review_msg_insert = [ { @@ -961,14 +962,14 @@ def pull_request_nested_data_model(self, pk_source_prs=[]): reviewers_all, table_values=table_values_issue_labels, action_map=reviewer_action_map ) - source_reviewers_insert = self.enrich_cntrb_id( - source_reviewers_insert, 'login', action_map_additions={ - 'insert': { - 'source': ['node_id'], - 'augur': ['gh_node_id'] - } - } - ) + # source_reviewers_insert = self.enrich_cntrb_id( + # source_reviewers_insert, 'login', action_map_additions={ + # 'insert': { + # 'source': ['node_id'], + # 'augur': ['gh_node_id'] + # } + # } + # ) reviewers_insert = [ { 'pull_request_id': reviewer['pull_request_id'], @@ -998,14 +999,14 @@ def pull_request_nested_data_model(self, pk_source_prs=[]): assignees_all, table_values=table_values_assignees_labels, action_map=assignee_action_map ) - source_assignees_insert = self.enrich_cntrb_id( - source_assignees_insert, 'login', action_map_additions={ - 'insert': { - 'source': ['node_id'], - 'augur': ['gh_node_id'] - } - } - ) + # source_assignees_insert = self.enrich_cntrb_id( + # source_assignees_insert, 'login', action_map_additions={ + # 'insert': { + # 'source': ['node_id'], + # 'augur': ['gh_node_id'] + # } + # } + # ) assignees_insert = [ { 'pull_request_id': assignee['pull_request_id'], @@ -1033,14 +1034,14 @@ def pull_request_nested_data_model(self, pk_source_prs=[]): source_meta_insert, _ = self.organize_needed_data( meta_all, table_values=table_values_pull_request_meta, action_map=meta_action_map ) - source_meta_insert = self.enrich_cntrb_id( - source_meta_insert, 'user.login', action_map_additions={ - 'insert': { - 'source': ['user.node_id'], - 'augur': ['gh_node_id'] - } - }, prefix='user.' - ) + # source_meta_insert = self.enrich_cntrb_id( + # source_meta_insert, 'user.login', action_map_additions={ + # 'insert': { + # 'source': ['user.node_id'], + # 'augur': ['gh_node_id'] + # } + # }, prefix='user.' + # ) meta_insert = [ { 'pull_request_id': meta['pull_request_id'], diff --git a/workers/worker_git_integration.py b/workers/worker_git_integration.py index 8745a52fc6..449d7b3d58 100644 --- a/workers/worker_git_integration.py +++ b/workers/worker_git_integration.py @@ -811,10 +811,10 @@ def query_gitlab_contributors(self, entry_info, repo_id): table = 'contributors' table_pkey = 'cntrb_id' - ### %TODO Remap this to a GitLab Contributor ID like the GitHub Worker. + ### Here we are adding gitlab user information from the API ### Following Gabe's rework of the contributor worker. update_col_map = {'cntrb_email': 'email'} - duplicate_col_map = {'cntrb_login': 'email'} + duplicate_col_map = {'gl_username': 'username'} # list to hold contributors needing insertion or update contributors = self.paginate("https://gitlab.com/api/v4/projects/" + url_encoded_format + "/repository/contributors?per_page=100&page={}", duplicate_col_map, update_col_map, table, table_pkey, platform='gitlab') @@ -839,31 +839,37 @@ def query_gitlab_contributors(self, entry_info, repo_id): contributor = r.json() cntrb = { - "cntrb_login": contributor.get('username', None), - "cntrb_created_at": contributor.get('created_at', None), + "gl_id": contributor.get('gl_id', None), + "gl_full_name": contributor.get('full_name', None), + "gl_username": contributor.get('username', None), + "gl_state": contributor.get('state', None), + "gl_avatar_url": contributor.get('avatar_url', None), + "gl_web_url": contributor.get('web_url', None) + #"cntrb_login": contributor.get('username', None), + #"cntrb_created_at": contributor.get('created_at', None), "cntrb_email": email, - "cntrb_company": contributor.get('organization', None), - "cntrb_location": contributor.get('location', None), + #"cntrb_company": contributor.get('organization', None), + #"cntrb_location": contributor.get('location', None), # "cntrb_type": , dont have a use for this as of now ... let it default to null - "cntrb_canonical": contributor.get('public_email', None), - "gh_user_id": contributor.get('id', None), - "gh_login": contributor.get('username', None), - "gh_url": contributor.get('web_url', None), - "gh_html_url": contributor.get('web_url', None), - "gh_node_id": None, - "gh_avatar_url": contributor.get('avatar_url', None), - "gh_gravatar_id": None, - "gh_followers_url": None, - "gh_following_url": None, - "gh_gists_url": None, - "gh_starred_url": None, - "gh_subscriptions_url": None, - "gh_organizations_url": None, - "gh_repos_url": None, - "gh_events_url": None, - "gh_received_events_url": None, - "gh_type": None, - "gh_site_admin": None, + #"cntrb_canonical": contributor.get('public_email', None), + #"gh_user_id": contributor.get('id', None), + #"gh_login": contributor.get('username', None), + #"gh_url": contributor.get('web_url', None), + #"gh_html_url": contributor.get('web_url', None), + #"gh_node_id": None, + #"gh_avatar_url": contributor.get('avatar_url', None), + #"gh_gravatar_id": None, + #"gh_followers_url": None, + #"gh_following_url": None, + #"gh_gists_url": None, + #"gh_starred_url": None, + #"gh_subscriptions_url": None, + #"gh_organizations_url": None, + #"gh_repos_url": None, + #"gh_events_url": None, + #"gh_received_events_url": None, + #"gh_type": None, + #"gh_site_admin": None, "tool_source": self.tool_source, "tool_version": self.tool_version, "data_source": self.data_source From 01cc98f206b17db00853aa3483be03bfc8573d12 Mon Sep 17 00:00:00 2001 From: "Sean P. Goggins" Date: Sat, 24 Jul 2021 14:38:28 -0500 Subject: [PATCH 070/201] gitlab user update error. --- workers/worker_git_integration.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workers/worker_git_integration.py b/workers/worker_git_integration.py index 449d7b3d58..6210fb16fb 100644 --- a/workers/worker_git_integration.py +++ b/workers/worker_git_integration.py @@ -847,7 +847,7 @@ def query_gitlab_contributors(self, entry_info, repo_id): "gl_web_url": contributor.get('web_url', None) #"cntrb_login": contributor.get('username', None), #"cntrb_created_at": contributor.get('created_at', None), - "cntrb_email": email, + "cntrb_email": contributor.get('email', None) #"cntrb_company": contributor.get('organization', None), #"cntrb_location": contributor.get('location', None), # "cntrb_type": , dont have a use for this as of now ... let it default to null From e28aded00e0e51e15ffb8876ae12a4f4f641ebf1 Mon Sep 17 00:00:00 2001 From: "Sean P. Goggins" Date: Sat, 24 Jul 2021 14:41:03 -0500 Subject: [PATCH 071/201] missing comma maybe the issue. --- workers/worker_git_integration.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workers/worker_git_integration.py b/workers/worker_git_integration.py index 6210fb16fb..449d7b3d58 100644 --- a/workers/worker_git_integration.py +++ b/workers/worker_git_integration.py @@ -847,7 +847,7 @@ def query_gitlab_contributors(self, entry_info, repo_id): "gl_web_url": contributor.get('web_url', None) #"cntrb_login": contributor.get('username', None), #"cntrb_created_at": contributor.get('created_at', None), - "cntrb_email": contributor.get('email', None) + "cntrb_email": email, #"cntrb_company": contributor.get('organization', None), #"cntrb_location": contributor.get('location', None), # "cntrb_type": , dont have a use for this as of now ... let it default to null From 9786a48591375db8eb9839297c80734b2efe5991 Mon Sep 17 00:00:00 2001 From: Sean Goggins Date: Sat, 24 Jul 2021 14:43:35 -0500 Subject: [PATCH 072/201] another missing comma --- workers/worker_git_integration.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workers/worker_git_integration.py b/workers/worker_git_integration.py index 449d7b3d58..729e24490f 100644 --- a/workers/worker_git_integration.py +++ b/workers/worker_git_integration.py @@ -844,7 +844,7 @@ def query_gitlab_contributors(self, entry_info, repo_id): "gl_username": contributor.get('username', None), "gl_state": contributor.get('state', None), "gl_avatar_url": contributor.get('avatar_url', None), - "gl_web_url": contributor.get('web_url', None) + "gl_web_url": contributor.get('web_url', None), #"cntrb_login": contributor.get('username', None), #"cntrb_created_at": contributor.get('created_at', None), "cntrb_email": email, From 132891b0d67a5b3e7b59c711d1e35968b38f983f Mon Sep 17 00:00:00 2001 From: "Sean P. Goggins" Date: Sat, 24 Jul 2021 15:03:46 -0500 Subject: [PATCH 073/201] enrich_cntrb_id returns --- workers/github_worker/github_worker.py | 84 ++++++------ .../pull_request_worker.py | 128 +++++++++--------- 2 files changed, 106 insertions(+), 106 deletions(-) diff --git a/workers/github_worker/github_worker.py b/workers/github_worker/github_worker.py index 28501863c1..3257a302bf 100644 --- a/workers/github_worker/github_worker.py +++ b/workers/github_worker/github_worker.py @@ -84,14 +84,14 @@ def is_valid_pr_block(issue): and isinstance(issue['pull_request'], dict) and 'url' in issue['pull_request'] ) - # inc_source_issues['insert'] = self.enrich_cntrb_id( - # inc_source_issues['insert'], 'user.login', action_map_additions={ - # 'insert': { - # 'source': ['user.node_id'], - # 'augur': ['gh_node_id'] - # } - # }, prefix='user.' - # ) + inc_source_issues['insert'] = self.enrich_cntrb_id( + inc_source_issues['insert'], 'user.login', action_map_additions={ + 'insert': { + 'source': ['user.node_id'], + 'augur': ['gh_node_id'] + } + }, prefix='user.' + ) issues_insert = [ { @@ -227,14 +227,14 @@ def issue_comments_model(self, pk_source_issues): ) ) - # issue_comments['insert'] = self.enrich_cntrb_id( - # issue_comments['insert'], 'user.login', action_map_additions={ - # 'insert': { - # 'source': ['user.node_id'], - # 'augur': ['gh_node_id'] - # } - # }, prefix='user.' - # ) + issue_comments['insert'] = self.enrich_cntrb_id( + issue_comments['insert'], 'user.login', action_map_additions={ + 'insert': { + 'source': ['user.node_id'], + 'augur': ['gh_node_id'] + } + }, prefix='user.' + ) issue_comments_insert = [ { @@ -316,14 +316,14 @@ def issue_events_model(self, pk_source_issues): ['id', 'issue_id', 'node_id', 'url', 'actor', 'created_at', 'event', 'commit_id'] ].to_dict(orient='records') - # pk_issue_events = self.enrich_cntrb_id( - # pk_issue_events, 'actor.login', action_map_additions={ - # 'insert': { - # 'source': ['actor.node_id'], - # 'augur': ['gh_node_id'] - # } - # }, prefix='actor.' - # ) + pk_issue_events = self.enrich_cntrb_id( + pk_issue_events, 'actor.login', action_map_additions={ + 'insert': { + 'source': ['actor.node_id'], + 'augur': ['gh_node_id'] + } + }, prefix='actor.' + ) issue_events_insert = [ { @@ -364,16 +364,16 @@ def issue_nested_data_model(self, pk_source_issues, issue_events_all): events_df = events_df.loc[events_df.event == 'closed'] if len(events_df): - # events_df = pd.DataFrame( - # self.enrich_cntrb_id( - # events_df.to_dict(orient='records'), 'actor.login', action_map_additions={ - # 'insert': { - # 'source': ['actor.node_id'], - # 'augur': ['gh_node_id'] - # } - # }, prefix='actor.' - # ) - # ) + events_df = pd.DataFrame( + self.enrich_cntrb_id( + events_df.to_dict(orient='records'), 'actor.login', action_map_additions={ + 'insert': { + 'source': ['actor.node_id'], + 'augur': ['gh_node_id'] + } + }, prefix='actor.' + ) + ) if not len(events_df): # no cntrb ids were available skip_closed_issue_update = True else: @@ -446,14 +446,14 @@ def is_nan(value): action_map=assignee_action_map ) - # source_assignees_insert = self.enrich_cntrb_id( - # source_assignees_insert, 'login', action_map_additions={ - # 'insert': { - # 'source': ['node_id'], - # 'augur': ['gh_node_id'] - # } - # } - # ) + source_assignees_insert = self.enrich_cntrb_id( + source_assignees_insert, 'login', action_map_additions={ + 'insert': { + 'source': ['node_id'], + 'augur': ['gh_node_id'] + } + } + ) assignees_insert = [ { diff --git a/workers/pull_request_worker/pull_request_worker.py b/workers/pull_request_worker/pull_request_worker.py index 420becb1fb..69497e0aed 100644 --- a/workers/pull_request_worker/pull_request_worker.py +++ b/workers/pull_request_worker/pull_request_worker.py @@ -409,14 +409,14 @@ def pk_source_increment_insert(inc_source_prs, action_map): self.logger.info(f"inc_source_prs is: {inc_source_prs} and the action map is {action_map}...") - # inc_source_prs['insert'] = self.enrich_cntrb_id( - # inc_source_prs['insert'], 'user.login', action_map_additions={ - # 'insert': { - # 'source': ['user.node_id'], - # 'augur': ['gh_node_id'] - # } - # }, prefix='user.' - # ) + inc_source_prs['insert'] = self.enrich_cntrb_id( + inc_source_prs['insert'], 'user.login', action_map_additions={ + 'insert': { + 'source': ['user.node_id'], + 'augur': ['gh_node_id'] + } + }, prefix='user.' + ) @@ -573,14 +573,14 @@ def pull_request_comments_model(self): pr_comments['insert'] = self.text_clean(pr_comments['insert'], 'body') - # pr_comments['insert'] = self.enrich_cntrb_id( - # pr_comments['insert'], 'user.login', action_map_additions={ - # 'insert': { - # 'source': ['user.node_id'], - # 'augur': ['gh_node_id'] - # } - # }, prefix='user.' - # ) + pr_comments['insert'] = self.enrich_cntrb_id( + pr_comments['insert'], 'user.login', action_map_additions={ + 'insert': { + 'source': ['user.node_id'], + 'augur': ['gh_node_id'] + } + }, prefix='user.' + ) pr_comments_insert = [ { @@ -657,14 +657,14 @@ def pull_request_events_model(self, pk_source_prs=[]): self.write_debug_data(pk_pr_events, 'pk_pr_events') - # pk_pr_events = self.enrich_cntrb_id( - # pk_pr_events, 'actor.login', action_map_additions={ - # 'insert': { - # 'source': ['actor.node_id'], - # 'augur': ['gh_node_id'] - # } - # }, prefix='actor.' - # ) + pk_pr_events = self.enrich_cntrb_id( + pk_pr_events, 'actor.login', action_map_additions={ + 'insert': { + 'source': ['actor.node_id'], + 'augur': ['gh_node_id'] + } + }, prefix='actor.' + ) pr_events_insert = [ { @@ -726,14 +726,14 @@ def pull_request_reviews_model(self, pk_source_prs=[]): action_map=review_action_map ) - # source_reviews_insert = self.enrich_cntrb_id( - # source_reviews_insert, 'user.login', action_map_additions={ - # 'insert': { - # 'source': ['user.node_id'], - # 'augur': ['gh_node_id'] - # } - # }, prefix='user.' - # ) + source_reviews_insert = self.enrich_cntrb_id( + source_reviews_insert, 'user.login', action_map_additions={ + 'insert': { + 'source': ['user.node_id'], + 'augur': ['gh_node_id'] + } + }, prefix='user.' + ) reviews_insert = [ { @@ -805,14 +805,14 @@ def pull_request_reviews_model(self, pk_source_prs=[]): self.write_debug_data(review_msgs, 'review_msgs') #Throwing value errors. 'cannot use name of an existing column for indicator column' - # review_msgs['insert'] = self.enrich_cntrb_id( - # review_msgs['insert'], 'user.login', action_map_additions={ - # 'insert': { - # 'source': ['user.node_id'], - # 'augur': ['gh_node_id'] - # } - # }, prefix='user.' - # ) + review_msgs['insert'] = self.enrich_cntrb_id( + review_msgs['insert'], 'user.login', action_map_additions={ + 'insert': { + 'source': ['user.node_id'], + 'augur': ['gh_node_id'] + } + }, prefix='user.' + ) review_msg_insert = [ { @@ -962,14 +962,14 @@ def pull_request_nested_data_model(self, pk_source_prs=[]): reviewers_all, table_values=table_values_issue_labels, action_map=reviewer_action_map ) - # source_reviewers_insert = self.enrich_cntrb_id( - # source_reviewers_insert, 'login', action_map_additions={ - # 'insert': { - # 'source': ['node_id'], - # 'augur': ['gh_node_id'] - # } - # } - # ) + source_reviewers_insert = self.enrich_cntrb_id( + source_reviewers_insert, 'login', action_map_additions={ + 'insert': { + 'source': ['node_id'], + 'augur': ['gh_node_id'] + } + } + ) reviewers_insert = [ { 'pull_request_id': reviewer['pull_request_id'], @@ -999,14 +999,14 @@ def pull_request_nested_data_model(self, pk_source_prs=[]): assignees_all, table_values=table_values_assignees_labels, action_map=assignee_action_map ) - # source_assignees_insert = self.enrich_cntrb_id( - # source_assignees_insert, 'login', action_map_additions={ - # 'insert': { - # 'source': ['node_id'], - # 'augur': ['gh_node_id'] - # } - # } - # ) + source_assignees_insert = self.enrich_cntrb_id( + source_assignees_insert, 'login', action_map_additions={ + 'insert': { + 'source': ['node_id'], + 'augur': ['gh_node_id'] + } + } + ) assignees_insert = [ { 'pull_request_id': assignee['pull_request_id'], @@ -1034,14 +1034,14 @@ def pull_request_nested_data_model(self, pk_source_prs=[]): source_meta_insert, _ = self.organize_needed_data( meta_all, table_values=table_values_pull_request_meta, action_map=meta_action_map ) - # source_meta_insert = self.enrich_cntrb_id( - # source_meta_insert, 'user.login', action_map_additions={ - # 'insert': { - # 'source': ['user.node_id'], - # 'augur': ['gh_node_id'] - # } - # }, prefix='user.' - # ) + source_meta_insert = self.enrich_cntrb_id( + source_meta_insert, 'user.login', action_map_additions={ + 'insert': { + 'source': ['user.node_id'], + 'augur': ['gh_node_id'] + } + }, prefix='user.' + ) meta_insert = [ { 'pull_request_id': meta['pull_request_id'], From 1de1d8be3c035886a584afcdb9bb47bd8679ab64 Mon Sep 17 00:00:00 2001 From: Ulincsys <> Date: Mon, 26 Jul 2021 15:53:04 +0000 Subject: [PATCH 074/201] Discord meeting --- workers/pull_request_worker/pull_request_worker.py | 6 ++++++ workers/worker_git_integration.py | 4 +++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/workers/pull_request_worker/pull_request_worker.py b/workers/pull_request_worker/pull_request_worker.py index 69497e0aed..a97d801446 100644 --- a/workers/pull_request_worker/pull_request_worker.py +++ b/workers/pull_request_worker/pull_request_worker.py @@ -557,6 +557,12 @@ def pull_request_comments_model(self): "&page={}" ) + # We should be capturing the following additional data here: + # 1. The Platform message ID : Most efficient way to dup check + # 2. The plaform issue ID and/or PR ID so queries are easier + # 3. The REPO_ID so queries are easier. + ## ALL THIS INFO IS IN THE PLATFOMR JSON AND WE ARe ignoring IT. + comment_action_map = { 'insert': { 'source': ['created_at', 'body'], diff --git a/workers/worker_git_integration.py b/workers/worker_git_integration.py index 729e24490f..b9ee0ad78d 100644 --- a/workers/worker_git_integration.py +++ b/workers/worker_git_integration.py @@ -291,7 +291,7 @@ def enrich_cntrb_id( 'gh_login': contributor[f'{prefix}login'], 'gh_url': contributor[f'{prefix}url'], 'gh_html_url': contributor[f'{prefix}html_url'], - 'gh_node_id': contributor[f'{prefix}node_id'], + 'gh_node_id': contributor[f'{prefix}node_id'], #valid for dup check 'gh_avatar_url': contributor[f'{prefix}avatar_url'], 'gh_gravatar_id': contributor[f'{prefix}gravatar_id'], 'gh_followers_url': contributor[f'{prefix}followers_url'], @@ -379,6 +379,8 @@ def query_github_contributors(self, entry_info, repo_id): """ self.logger.info(f"Querying contributors with given entry info: {entry_info}\n") + ## It absolutely doesn't matter if the contributor has already contributoed to a repo. it only matters that they exist in our table, and + ## if the DO, then we DO NOT want to insert them again in any GitHub Method. github_url = entry_info['given']['github_url'] if 'github_url' in entry_info['given'] else entry_info['given']['git_url'] # Extract owner/repo from the url for the endpoint From acec250e93fefbaa05b7aee9176afe5f85f47da0 Mon Sep 17 00:00:00 2001 From: Isaac Milarsky Date: Mon, 26 Jul 2021 12:35:40 -0500 Subject: [PATCH 075/201] Untested code for dup prevent implemented. Will probably add more fields to check Signed-off-by: Isaac Milarsky --- workers/worker_git_integration.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/workers/worker_git_integration.py b/workers/worker_git_integration.py index b9ee0ad78d..1ec9b82637 100644 --- a/workers/worker_git_integration.py +++ b/workers/worker_git_integration.py @@ -439,7 +439,7 @@ def query_github_contributors(self, entry_info, repo_id): "gh_login": contributor['login'], "gh_url": contributor['url'], "gh_html_url": contributor['html_url'], - "gh_node_id": contributor['node_id'], + "gh_node_id": contributor['node_id'], #This is what we are dup checking "gh_avatar_url": contributor['avatar_url'], "gh_gravatar_id": contributor['gravatar_id'], "gh_followers_url": contributor['followers_url'], @@ -457,6 +457,18 @@ def query_github_contributors(self, entry_info, repo_id): "tool_version": self.tool_version, "data_source": self.data_source } + #dup check + existingMatchingContributors = self.db.execute( + self.sql.select( + [self.contributors_table.c.gh_node_id] + ).where( + self.contributors_table.c.gh_node_id==cntrb["gh_node_id"] + ).fetchall() + ) + + if len(existingMatchingContributors) > 0: + break #if contributor already exists in table + # Commit insertion to table if repo_contributor['flag'] == 'need_update': From 4c680e7fe2f475646ea926f92a90e35bb15bf8d5 Mon Sep 17 00:00:00 2001 From: Isaac Milarsky Date: Mon, 26 Jul 2021 13:57:55 -0500 Subject: [PATCH 076/201] Comment Signed-off-by: Isaac Milarsky --- workers/worker_git_integration.py | 1 + 1 file changed, 1 insertion(+) diff --git a/workers/worker_git_integration.py b/workers/worker_git_integration.py index 1ec9b82637..c2cd7129e3 100644 --- a/workers/worker_git_integration.py +++ b/workers/worker_git_integration.py @@ -458,6 +458,7 @@ def query_github_contributors(self, entry_info, repo_id): "data_source": self.data_source } #dup check + #TODO: add additional fields to check if needed. existingMatchingContributors = self.db.execute( self.sql.select( [self.contributors_table.c.gh_node_id] From 0792e9469b9ac14a63315fc03df6030941f4b043 Mon Sep 17 00:00:00 2001 From: Sean Goggins Date: Mon, 26 Jul 2021 15:01:06 -0500 Subject: [PATCH 077/201] gitlab people getting update. --- workers/worker_git_integration.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/workers/worker_git_integration.py b/workers/worker_git_integration.py index c2cd7129e3..e370c7b43e 100644 --- a/workers/worker_git_integration.py +++ b/workers/worker_git_integration.py @@ -828,7 +828,14 @@ def query_gitlab_contributors(self, entry_info, repo_id): table_pkey = 'cntrb_id' ### Here we are adding gitlab user information from the API ### Following Gabe's rework of the contributor worker. - update_col_map = {'cntrb_email': 'email'} + + ### The GitLab API will NEVER give you an email. It will let you + ### Query an email, but never give you one. + ### ## Gitlab email api: https://gitlab.com/api/v4/users?search=s@goggins.com + ### We don't need to update right now, so commenting out. + ### TODO: SOLVE LOGIC. + # update_col_map = {'cntrb_email': 'email'} + update_col_map = {} duplicate_col_map = {'gl_username': 'username'} # list to hold contributors needing insertion or update @@ -862,7 +869,7 @@ def query_gitlab_contributors(self, entry_info, repo_id): "gl_web_url": contributor.get('web_url', None), #"cntrb_login": contributor.get('username', None), #"cntrb_created_at": contributor.get('created_at', None), - "cntrb_email": email, + "cntrb_email": ('email', None), #"cntrb_company": contributor.get('organization', None), #"cntrb_location": contributor.get('location', None), # "cntrb_type": , dont have a use for this as of now ... let it default to null From 690b883a2fe8feb4c7b604eef04aaea435bcfbfa Mon Sep 17 00:00:00 2001 From: Sean Goggins Date: Mon, 26 Jul 2021 15:44:14 -0500 Subject: [PATCH 078/201] update schema for platform message ids, and adding repos to bridge tables, --- schema/create_schema.sql | 2 ++ schema/generate/56-schema_update_58.sql | 19 +++++++++++++++++++ workers/github_worker/github_worker.py | 2 +- .../pull_request_worker.py | 2 ++ 4 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 schema/generate/56-schema_update_58.sql diff --git a/schema/create_schema.sql b/schema/create_schema.sql index fc51c1f139..70ce8d50f0 100644 --- a/schema/create_schema.sql +++ b/schema/create_schema.sql @@ -58,4 +58,6 @@ \i schema/generate/53-schema_update_55.sql \i schema/generate/54-schema_update_56.sql \i schema/generate/55-schema_update_57.sql +\i schema/generate/56-schema_update_58.sql + diff --git a/schema/generate/56-schema_update_58.sql b/schema/generate/56-schema_update_58.sql new file mode 100644 index 0000000000..8dd38a1785 --- /dev/null +++ b/schema/generate/56-schema_update_58.sql @@ -0,0 +1,19 @@ +BEGIN; + + + +ALTER TABLE "augur_data"."message" + ADD COLUMN "platform_msg_id" int8, + ADD COLUMN "platform_node_id" varchar; + +ALTER TABLE "augur_data"."pull_request_review_message_ref" + ADD COLUMN "repo_id" int8; + +ALTER TABLE "augur_data"."issue_message_ref" + ADD COLUMN "repo_id" int8; + +update "augur_operations"."augur_settings" set value = 56 where setting = 'augur_data_version'; + + +COMMIT; + diff --git a/workers/github_worker/github_worker.py b/workers/github_worker/github_worker.py index 3257a302bf..cfd6608e52 100644 --- a/workers/github_worker/github_worker.py +++ b/workers/github_worker/github_worker.py @@ -193,7 +193,7 @@ def issues_model(self, entry_info, repo_id): self.register_task_completion(entry_info, self.repo_id, 'issues') def issue_comments_model(self, pk_source_issues): - + # https://api.github.com/repos/chaoss/augur/issues/comments comments_url = ( f"https://api.github.com/repos/{self.owner}/{self.repo}" "/issues/comments?per_page=100&page={}" diff --git a/workers/pull_request_worker/pull_request_worker.py b/workers/pull_request_worker/pull_request_worker.py index a97d801446..3b9859c3f3 100644 --- a/workers/pull_request_worker/pull_request_worker.py +++ b/workers/pull_request_worker/pull_request_worker.py @@ -781,6 +781,8 @@ def pull_request_reviews_model(self, pk_source_prs=[]): # Review Comments + # https://api.github.com/repos/chaoss/augur/pulls + review_msg_url = (f'https://api.github.com/repos/{self.owner}/{self.repo}/pulls' + '/comments?per_page=100&page={}') From 455c8db524a82022456de82978f23419ed65a248 Mon Sep 17 00:00:00 2001 From: Isaac Milarsky Date: Mon, 26 Jul 2021 15:56:51 -0500 Subject: [PATCH 079/201] Started stagger Signed-off-by: Isaac Milarsky --- workers/github_worker/github_worker.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/workers/github_worker/github_worker.py b/workers/github_worker/github_worker.py index 3257a302bf..f62d1dda8f 100644 --- a/workers/github_worker/github_worker.py +++ b/workers/github_worker/github_worker.py @@ -192,6 +192,7 @@ def issues_model(self, entry_info, repo_id): # Register this task as completed self.register_task_completion(entry_info, self.repo_id, 'issues') + #TODO: stagger def issue_comments_model(self, pk_source_issues): comments_url = ( @@ -209,6 +210,9 @@ def issue_comments_model(self, pk_source_issues): } } + def issue_comments_insert(inc_issue_comments, action_map): + return + # list to hold contributors needing insertion or update issue_comments = self.paginate_endpoint( comments_url, action_map=comment_action_map, table=self.message_table, From 93e639e500dfcf0e1e44c745188e483a2fae2282 Mon Sep 17 00:00:00 2001 From: Sean Goggins Date: Mon, 26 Jul 2021 16:23:48 -0500 Subject: [PATCH 080/201] CONTRIBUTOR RELATED updates. --- schema/generate/56-schema_update_58.sql | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/schema/generate/56-schema_update_58.sql b/schema/generate/56-schema_update_58.sql index 8dd38a1785..8f9f8c33ae 100644 --- a/schema/generate/56-schema_update_58.sql +++ b/schema/generate/56-schema_update_58.sql @@ -1,17 +1,36 @@ BEGIN; +ALTER TABLE "augur_data"."contributors" + ADD CONSTRAINT "GH-UNIQUE-A" UNIQUE ("cntrb_login") DEFERRABLE INITIALLY DEFERRED, + ADD CONSTRAINT "GH-UNIQUE-B" UNIQUE ("gh_user_id") DEFERRABLE INITIALLY DEFERRED, + ADD CONSTRAINT "GH-UNIQUE-C" UNIQUE ("gh_login") DEFERRABLE INITIALLY DEFERRED; -ALTER TABLE "augur_data"."message" +ALTER TABLE IF EXISTS "augur_data"."message" ADD COLUMN "platform_msg_id" int8, ADD COLUMN "platform_node_id" varchar; -ALTER TABLE "augur_data"."pull_request_review_message_ref" +ALTER TABLE IF EXISTS "augur_data"."pull_request_review_message_ref" ADD COLUMN "repo_id" int8; -ALTER TABLE "augur_data"."issue_message_ref" +ALTER TABLE IF EXISTS "augur_data"."issue_message_ref" ADD COLUMN "repo_id" int8; +ALTER TABLE IF EXISTS "augur_data"."pull_request_message_ref" + ADD COLUMN "repo_id" int8; + +ALTER TABLE "augur_data"."issue_message_ref" + DROP CONSTRAINT "fk_issue_message_ref_issues_1"; + +ALTER TABLE "augur_data"."issue_message_ref" + DROP CONSTRAINT "fk_issue_message_ref_message_1"; + +ALTER TABLE "augur_data"."issue_message_ref" + ADD CONSTRAINT "fk_issue_message_ref_issues_1" FOREIGN KEY ("issue_id") REFERENCES "augur_data"."issues" ("issue_id") ON DELETE RESTRICT ON UPDATE CASCADE, + ADD CONSTRAINT "fk_issue_message_ref_message_1" FOREIGN KEY ("msg_id") REFERENCES "augur_data"."message" ("msg_id") ON DELETE RESTRICT ON UPDATE CASCADE; + + + update "augur_operations"."augur_settings" set value = 56 where setting = 'augur_data_version'; From 5ecffc8ebcdf1dc95b5f94b3e9388478fd31a08e Mon Sep 17 00:00:00 2001 From: Isaac Milarsky Date: Mon, 26 Jul 2021 16:46:55 -0500 Subject: [PATCH 081/201] Implemented Signed-off-by: Isaac Milarsky --- workers/github_worker/github_worker.py | 110 +++++++++++++------------ 1 file changed, 57 insertions(+), 53 deletions(-) diff --git a/workers/github_worker/github_worker.py b/workers/github_worker/github_worker.py index f62d1dda8f..a219b8afbc 100644 --- a/workers/github_worker/github_worker.py +++ b/workers/github_worker/github_worker.py @@ -192,7 +192,6 @@ def issues_model(self, entry_info, repo_id): # Register this task as completed self.register_task_completion(entry_info, self.repo_id, 'issues') - #TODO: stagger def issue_comments_model(self, pk_source_issues): comments_url = ( @@ -210,8 +209,58 @@ def issue_comments_model(self, pk_source_issues): } } - def issue_comments_insert(inc_issue_comments, action_map): - return + def issue_comments_insert(inc_issue_comments, comment_action_map): + + inc_issue_comments['insert'] = self.enrich_cntrb_id( + inc_issue_comments['insert'], 'user.login', action_map_additions={ + 'insert': { + 'source': ['user.node_id'], + 'augur': ['gh_node_id'] + } + }, prefix='user.' + ) + + issue_comments_insert = [ + { + 'pltfrm_id': self.platform_id, + 'msg_text': comment['body'], + 'msg_timestamp': comment['created_at'], + 'cntrb_id': comment['cntrb_id'], + 'tool_source': self.tool_source, + 'tool_version': self.tool_version, + 'data_source': self.data_source + } for comment in inc_issue_comments['insert'] + ] + + self.bulk_insert(self.message_table, insert=issue_comments_insert, + unique_columns=comment_action_map['insert']['augur']) + + """ ISSUE MESSAGE REF TABLE """ + + c_pk_source_comments = self.enrich_data_primary_keys( + inc_issue_comments['insert'], self.message_table, + comment_action_map['insert']['source'], comment_action_map['insert']['augur'] + ) + both_pk_source_comments = self.enrich_data_primary_keys( + c_pk_source_comments, self.issues_table, ['issue_url'], ['issue_url'] + ) + + issue_message_ref_insert = [ + { + 'issue_id': comment['issue_id'], + 'msg_id': comment['msg_id'], + 'tool_source': self.tool_source, + 'tool_version': self.tool_version, + 'data_source': self.data_source, + 'issue_msg_ref_src_comment_id': comment['id'], + 'issue_msg_ref_src_node_id': comment['node_id'] + } for comment in both_pk_source_comments + ] + + self.bulk_insert( + self.issue_message_ref_table, insert=issue_message_ref_insert, + unique_columns=['issue_msg_ref_src_comment_id'] + ) # list to hold contributors needing insertion or update issue_comments = self.paginate_endpoint( @@ -228,59 +277,14 @@ def issue_comments_insert(inc_issue_comments, action_map): ) ).fetchall() ] - ) - ) - - issue_comments['insert'] = self.enrich_cntrb_id( - issue_comments['insert'], 'user.login', action_map_additions={ - 'insert': { - 'source': ['user.node_id'], - 'augur': ['gh_node_id'] - } - }, prefix='user.' + ), + stagger=True, + insertion_method=issue_comments_insert ) - issue_comments_insert = [ - { - 'pltfrm_id': self.platform_id, - 'msg_text': comment['body'], - 'msg_timestamp': comment['created_at'], - 'cntrb_id': comment['cntrb_id'], - 'tool_source': self.tool_source, - 'tool_version': self.tool_version, - 'data_source': self.data_source - } for comment in issue_comments['insert'] - ] - - self.bulk_insert(self.message_table, insert=issue_comments_insert, - unique_columns=comment_action_map['insert']['augur']) - """ ISSUE MESSAGE REF TABLE """ - - c_pk_source_comments = self.enrich_data_primary_keys( - issue_comments['insert'], self.message_table, - comment_action_map['insert']['source'], comment_action_map['insert']['augur'] - ) - both_pk_source_comments = self.enrich_data_primary_keys( - c_pk_source_comments, self.issues_table, ['issue_url'], ['issue_url'] - ) - - issue_message_ref_insert = [ - { - 'issue_id': comment['issue_id'], - 'msg_id': comment['msg_id'], - 'tool_source': self.tool_source, - 'tool_version': self.tool_version, - 'data_source': self.data_source, - 'issue_msg_ref_src_comment_id': comment['id'], - 'issue_msg_ref_src_node_id': comment['node_id'] - } for comment in both_pk_source_comments - ] - - self.bulk_insert( - self.issue_message_ref_table, insert=issue_message_ref_insert, - unique_columns=['issue_msg_ref_src_comment_id'] - ) + issue_comments_insert(issue_comments,comment_action_map) + return def issue_events_model(self, pk_source_issues): From 4509aca392ac967248e87e82026c7350293939fc Mon Sep 17 00:00:00 2001 From: Isaac Milarsky Date: Mon, 26 Jul 2021 16:58:36 -0500 Subject: [PATCH 082/201] Added error handling for when there is not a contributor to enrich. I think the error is raised by expected behavior so I added exceptions and logging Signed-off-by: Isaac Milarsky --- workers/github_worker/github_worker.py | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/workers/github_worker/github_worker.py b/workers/github_worker/github_worker.py index a219b8afbc..7e2fa34123 100644 --- a/workers/github_worker/github_worker.py +++ b/workers/github_worker/github_worker.py @@ -84,15 +84,18 @@ def is_valid_pr_block(issue): and isinstance(issue['pull_request'], dict) and 'url' in issue['pull_request'] ) - inc_source_issues['insert'] = self.enrich_cntrb_id( - inc_source_issues['insert'], 'user.login', action_map_additions={ - 'insert': { - 'source': ['user.node_id'], - 'augur': ['gh_node_id'] - } - }, prefix='user.' - ) - + try: + inc_source_issues['insert'] = self.enrich_cntrb_id( + inc_source_issues['insert'], 'user.login', action_map_additions={ + 'insert': { + 'source': ['user.node_id'], + 'augur': ['gh_node_id'] + } + }, prefix='user.' + ) + except ValueError: + self.logger.info(f"Enrich contrib data is empty for {inc_source_issues['insert']}, the empty field is the user login.") + issues_insert = [ { 'repo_id': self.repo_id, From e5288cedf6bcf25b63c90095bee6e47cf7e3cb26 Mon Sep 17 00:00:00 2001 From: Isaac Milarsky Date: Mon, 26 Jul 2021 17:20:32 -0500 Subject: [PATCH 083/201] Minor fix to make error handling consistant. Signed-off-by: Isaac Milarsky --- workers/github_worker/github_worker.py | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/workers/github_worker/github_worker.py b/workers/github_worker/github_worker.py index 7e2fa34123..7934bc669f 100644 --- a/workers/github_worker/github_worker.py +++ b/workers/github_worker/github_worker.py @@ -214,14 +214,17 @@ def issue_comments_model(self, pk_source_issues): def issue_comments_insert(inc_issue_comments, comment_action_map): - inc_issue_comments['insert'] = self.enrich_cntrb_id( - inc_issue_comments['insert'], 'user.login', action_map_additions={ - 'insert': { - 'source': ['user.node_id'], - 'augur': ['gh_node_id'] - } - }, prefix='user.' - ) + try: + inc_issue_comments['insert'] = self.enrich_cntrb_id( + inc_issue_comments['insert'], 'user.login', action_map_additions={ + 'insert': { + 'source': ['user.node_id'], + 'augur': ['gh_node_id'] + } + }, prefix='user.' + ) + except ValueError: + self.logger.info(f"Enrich contrib data is empty for {inc_issue_comments['insert']}, the empty field is the user login.") issue_comments_insert = [ { From b921eab52a196bca4cb3f1bbd763719b19514a9c Mon Sep 17 00:00:00 2001 From: Isaac Milarsky Date: Tue, 27 Jul 2021 08:47:29 -0500 Subject: [PATCH 084/201] Contrib changes cause valuerrors Signed-off-by: Isaac Milarsky --- workers/github_worker/github_worker.py | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/workers/github_worker/github_worker.py b/workers/github_worker/github_worker.py index f6082713c0..c86e4d6ce0 100644 --- a/workers/github_worker/github_worker.py +++ b/workers/github_worker/github_worker.py @@ -330,14 +330,17 @@ def issue_events_model(self, pk_source_issues): ['id', 'issue_id', 'node_id', 'url', 'actor', 'created_at', 'event', 'commit_id'] ].to_dict(orient='records') - pk_issue_events = self.enrich_cntrb_id( - pk_issue_events, 'actor.login', action_map_additions={ - 'insert': { - 'source': ['actor.node_id'], - 'augur': ['gh_node_id'] - } - }, prefix='actor.' - ) + try: + pk_issue_events = self.enrich_cntrb_id( + pk_issue_events, 'actor.login', action_map_additions={ + 'insert': { + 'source': ['actor.node_id'], + 'augur': ['gh_node_id'] + } + }, prefix='actor.' + ) + except ValueError: + self.logger.info(f"Enrich contrib data is empty for {pk_issue_events}, the empty field is the user login.") issue_events_insert = [ { From 6ab0bd672fdbd540475a46f8129084ef5b2ce0f0 Mon Sep 17 00:00:00 2001 From: "Sean P. Goggins" Date: Tue, 27 Jul 2021 09:25:21 -0500 Subject: [PATCH 085/201] schema update. --- schema/create_schema.sql | 1 + schema/generate/56-schema_update_58.sql | 2 +- schema/generate/57-schema_update_59.sql | 10 ++++++++++ 3 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 schema/generate/57-schema_update_59.sql diff --git a/schema/create_schema.sql b/schema/create_schema.sql index 70ce8d50f0..4508649a97 100644 --- a/schema/create_schema.sql +++ b/schema/create_schema.sql @@ -59,5 +59,6 @@ \i schema/generate/54-schema_update_56.sql \i schema/generate/55-schema_update_57.sql \i schema/generate/56-schema_update_58.sql +\i schema/generate/57-schema_update_59.sql diff --git a/schema/generate/56-schema_update_58.sql b/schema/generate/56-schema_update_58.sql index 8f9f8c33ae..80aa5ffa11 100644 --- a/schema/generate/56-schema_update_58.sql +++ b/schema/generate/56-schema_update_58.sql @@ -31,7 +31,7 @@ ALTER TABLE "augur_data"."issue_message_ref" -update "augur_operations"."augur_settings" set value = 56 where setting = 'augur_data_version'; +update "augur_operations"."augur_settings" set value = 58 where setting = 'augur_data_version'; COMMIT; diff --git a/schema/generate/57-schema_update_59.sql b/schema/generate/57-schema_update_59.sql new file mode 100644 index 0000000000..3e05c7dca7 --- /dev/null +++ b/schema/generate/57-schema_update_59.sql @@ -0,0 +1,10 @@ +BEGIN; + +ALTER TABLE "augur_data"."contributors" + DROP CONSTRAINT "GH-UNIQUE-A"; + +update "augur_operations"."augur_settings" set value = 59 where setting = 'augur_data_version'; + + +COMMIT; + From e1c51fff5cb23bec5097256110f16e1f837477f5 Mon Sep 17 00:00:00 2001 From: Andrew Brain <61482022+ABrain7710@users.noreply.github.com> Date: Tue, 27 Jul 2021 09:46:45 -0500 Subject: [PATCH 086/201] Add text clean to issue comments Signed-off-by: Andrew Brain <61482022+ABrain7710@users.noreply.github.com> --- workers/github_worker/github_worker.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/workers/github_worker/github_worker.py b/workers/github_worker/github_worker.py index c86e4d6ce0..b0452d6409 100644 --- a/workers/github_worker/github_worker.py +++ b/workers/github_worker/github_worker.py @@ -213,7 +213,9 @@ def issue_comments_model(self, pk_source_issues): } def issue_comments_insert(inc_issue_comments, comment_action_map): - + + inc_issue_comments['insert'] = self.text_clean(inc_issue_comments['insert'], 'body') + try: inc_issue_comments['insert'] = self.enrich_cntrb_id( inc_issue_comments['insert'], 'user.login', action_map_additions={ From a6791198a60e5d6036776f4170c22ecab9b1d04a Mon Sep 17 00:00:00 2001 From: Isaac Milarsky Date: Tue, 27 Jul 2021 10:15:43 -0500 Subject: [PATCH 087/201] More exception handling Signed-off-by: Isaac Milarsky --- workers/worker_git_integration.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/workers/worker_git_integration.py b/workers/worker_git_integration.py index e370c7b43e..0f33a7edd4 100644 --- a/workers/worker_git_integration.py +++ b/workers/worker_git_integration.py @@ -311,7 +311,10 @@ def enrich_cntrb_id( } for contributor in source_cntrb_insert if contributor[f'{prefix}login'] ] - self.bulk_insert(self.contributors_table, cntrb_insert) + try: + self.bulk_insert(self.contributors_table, cntrb_insert) + except psycopg2.errors.UniqueViolation: + self.logger.info("Unique Violation in contributors table! ") # Query db for inserted cntrb pkeys and add to shallow level of data From d0ed06c8d2624cdd23a52d092f556b7d1c23ba17 Mon Sep 17 00:00:00 2001 From: Isaac Milarsky Date: Tue, 27 Jul 2021 11:31:25 -0500 Subject: [PATCH 088/201] Exceptions Signed-off-by: Isaac Milarsky --- workers/worker_git_integration.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/workers/worker_git_integration.py b/workers/worker_git_integration.py index 0f33a7edd4..e8a53c2420 100644 --- a/workers/worker_git_integration.py +++ b/workers/worker_git_integration.py @@ -1,6 +1,6 @@ #Get everything that the base depends on. from workers.worker_base import * - +import sqlalchemy as s #This is a worker base subclass that adds the ability to query github/gitlab with the api key class WorkerGitInterfaceable(Worker): @@ -313,7 +313,7 @@ def enrich_cntrb_id( try: self.bulk_insert(self.contributors_table, cntrb_insert) - except psycopg2.errors.UniqueViolation: + except (psycopg2.errors.UniqueViolation, s.exec.IntegrityError): self.logger.info("Unique Violation in contributors table! ") # Query db for inserted cntrb pkeys and add to shallow level of data From 90cb6d4388f32887b8ff43e0c3b6f6184e5b54e2 Mon Sep 17 00:00:00 2001 From: Isaac Milarsky Date: Tue, 27 Jul 2021 11:40:21 -0500 Subject: [PATCH 089/201] Typo Signed-off-by: Isaac Milarsky --- workers/worker_git_integration.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workers/worker_git_integration.py b/workers/worker_git_integration.py index e8a53c2420..8293c4921d 100644 --- a/workers/worker_git_integration.py +++ b/workers/worker_git_integration.py @@ -313,7 +313,7 @@ def enrich_cntrb_id( try: self.bulk_insert(self.contributors_table, cntrb_insert) - except (psycopg2.errors.UniqueViolation, s.exec.IntegrityError): + except s.exc.IntegrityError: self.logger.info("Unique Violation in contributors table! ") # Query db for inserted cntrb pkeys and add to shallow level of data From 0e0b8d3ea882c98aa64ff10e16de4b350a735d97 Mon Sep 17 00:00:00 2001 From: Isaac Milarsky Date: Wed, 28 Jul 2021 11:54:54 -0500 Subject: [PATCH 090/201] Rewrite Signed-off-by: Isaac Milarsky --- workers/worker_git_integration.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/workers/worker_git_integration.py b/workers/worker_git_integration.py index 8293c4921d..bb35e4b3b3 100644 --- a/workers/worker_git_integration.py +++ b/workers/worker_git_integration.py @@ -269,11 +269,15 @@ def enrich_cntrb_id( s.sql.select(self.get_relevant_columns(self.contributors_table,cntrb_action_map)) ).fetchall() + self.logger.info(f"table_values_cntrb len: {len(table_values_cntrb)}") + source_cntrb_insert, _ = self.organize_needed_data( expanded_source_df.to_dict(orient='records'), table_values=table_values_cntrb, action_map=cntrb_action_map ) + self.logger.info(f"source_cntrb_insert: {source_cntrb_insert['insert'][0]}") + cntrb_insert = [ { 'cntrb_login': contributor[f'{prefix}login'], From b0730d038f945c8332c77c0c5b5de28290c00a8d Mon Sep 17 00:00:00 2001 From: Isaac Milarsky Date: Wed, 28 Jul 2021 14:31:11 -0500 Subject: [PATCH 091/201] syntax Signed-off-by: Isaac Milarsky --- workers/worker_git_integration.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workers/worker_git_integration.py b/workers/worker_git_integration.py index bb35e4b3b3..1e012a8486 100644 --- a/workers/worker_git_integration.py +++ b/workers/worker_git_integration.py @@ -276,7 +276,7 @@ def enrich_cntrb_id( action_map=cntrb_action_map ) - self.logger.info(f"source_cntrb_insert: {source_cntrb_insert['insert'][0]}") + self.logger.info(f"source_cntrb_insert: {source_cntrb_insert[0]}") cntrb_insert = [ { From 664c8e9c027423a90731f29768b85eb3afd529a5 Mon Sep 17 00:00:00 2001 From: Isaac Milarsky Date: Wed, 28 Jul 2021 14:59:20 -0500 Subject: [PATCH 092/201] comment out unneeded logs Signed-off-by: Isaac Milarsky --- workers/pull_request_worker/pull_request_worker.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workers/pull_request_worker/pull_request_worker.py b/workers/pull_request_worker/pull_request_worker.py index 3b9859c3f3..65720e4ebc 100644 --- a/workers/pull_request_worker/pull_request_worker.py +++ b/workers/pull_request_worker/pull_request_worker.py @@ -406,7 +406,7 @@ def pk_source_increment_insert(inc_source_prs, action_map): return - self.logger.info(f"inc_source_prs is: {inc_source_prs} and the action map is {action_map}...") + #self.logger.info(f"inc_source_prs is: {inc_source_prs} and the action map is {action_map}...") inc_source_prs['insert'] = self.enrich_cntrb_id( From 6662f5e73ecc5170ec72e9ad892b919e65698a6d Mon Sep 17 00:00:00 2001 From: Isaac Milarsky Date: Wed, 28 Jul 2021 16:22:40 -0500 Subject: [PATCH 093/201] test Signed-off-by: Isaac Milarsky --- workers/worker_git_integration.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/workers/worker_git_integration.py b/workers/worker_git_integration.py index 1e012a8486..916d3d562d 100644 --- a/workers/worker_git_integration.py +++ b/workers/worker_git_integration.py @@ -337,6 +337,8 @@ def enrich_cntrb_id( # Prepare for merge source_columns = sorted(list(source_df.columns)) + self.logger.info(f"source_columns: {source_columns}") + self.logger.info(f"source column contents: {source_columns[0]}") necessary_columns = sorted(list(set(source_columns + cntrb_action_map['insert']['source']))) (source_table, inserted_pks_table), metadata, session = self._setup_postgres_merge( [ From 20830cc20101b2b89a9cf8b1bf09db205361227e Mon Sep 17 00:00:00 2001 From: Isaac Milarsky Date: Thu, 29 Jul 2021 09:44:46 -0500 Subject: [PATCH 094/201] It's real hard to get logs Signed-off-by: Isaac Milarsky --- workers/worker_git_integration.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/workers/worker_git_integration.py b/workers/worker_git_integration.py index 916d3d562d..1d9248efc9 100644 --- a/workers/worker_git_integration.py +++ b/workers/worker_git_integration.py @@ -315,10 +315,10 @@ def enrich_cntrb_id( } for contributor in source_cntrb_insert if contributor[f'{prefix}login'] ] - try: - self.bulk_insert(self.contributors_table, cntrb_insert) - except s.exc.IntegrityError: - self.logger.info("Unique Violation in contributors table! ") + #try: + self.bulk_insert(self.contributors_table, cntrb_insert) + #except s.exc.IntegrityError: + # self.logger.info("Unique Violation in contributors table! ") # Query db for inserted cntrb pkeys and add to shallow level of data @@ -348,6 +348,7 @@ def enrich_cntrb_id( ) final_columns = [cntrb_pk_name] + sorted(list(set(necessary_columns))) + # Merge source_pk = pd.DataFrame( session.query( From 92a6015dd2b79f240adfb3b08242d663f3a763c9 Mon Sep 17 00:00:00 2001 From: Isaac Milarsky Date: Thu, 29 Jul 2021 10:33:30 -0500 Subject: [PATCH 095/201] minor Signed-off-by: Isaac Milarsky --- workers/worker_git_integration.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/workers/worker_git_integration.py b/workers/worker_git_integration.py index 1d9248efc9..3bd04b077e 100644 --- a/workers/worker_git_integration.py +++ b/workers/worker_git_integration.py @@ -315,10 +315,10 @@ def enrich_cntrb_id( } for contributor in source_cntrb_insert if contributor[f'{prefix}login'] ] - #try: - self.bulk_insert(self.contributors_table, cntrb_insert) - #except s.exc.IntegrityError: - # self.logger.info("Unique Violation in contributors table! ") + try: + self.bulk_insert(self.contributors_table, cntrb_insert) + except s.exc.IntegrityError: + self.logger.info("Unique Violation in contributors table! ") # Query db for inserted cntrb pkeys and add to shallow level of data From e76e7d72c5a8f6552ba92e8fd9ccf0b553fe1ddf Mon Sep 17 00:00:00 2001 From: Isaac Milarsky Date: Thu, 29 Jul 2021 11:30:26 -0500 Subject: [PATCH 096/201] debug Signed-off-by: Isaac Milarsky --- workers/worker_git_integration.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workers/worker_git_integration.py b/workers/worker_git_integration.py index 3bd04b077e..7500f6d778 100644 --- a/workers/worker_git_integration.py +++ b/workers/worker_git_integration.py @@ -276,7 +276,7 @@ def enrich_cntrb_id( action_map=cntrb_action_map ) - self.logger.info(f"source_cntrb_insert: {source_cntrb_insert[0]}") + self.logger.info(f"source_cntrb_insert: {source_cntrb_insert}") cntrb_insert = [ { From dce2871e5d8e756420fb58f8eba15500bfac28a5 Mon Sep 17 00:00:00 2001 From: Isaac Milarsky Date: Thu, 29 Jul 2021 14:55:56 -0500 Subject: [PATCH 097/201] rewrite with credit to andrew Signed-off-by: Isaac Milarsky --- workers/worker_git_integration.py | 321 ++++++++++++++++++++---------- 1 file changed, 213 insertions(+), 108 deletions(-) diff --git a/workers/worker_git_integration.py b/workers/worker_git_integration.py index 7500f6d778..854e747b62 100644 --- a/workers/worker_git_integration.py +++ b/workers/worker_git_integration.py @@ -269,111 +269,216 @@ def enrich_cntrb_id( s.sql.select(self.get_relevant_columns(self.contributors_table,cntrb_action_map)) ).fetchall() - self.logger.info(f"table_values_cntrb len: {len(table_values_cntrb)}") + self.logger.info(f"table_values_cntrb type: {type(table_values_cntrb)}") + self.logger.info(f"table_values_cntrb keys: {table_values_cntrb[0].keys()}") - source_cntrb_insert, _ = self.organize_needed_data( - expanded_source_df.to_dict(orient='records'), table_values=table_values_cntrb, - action_map=cntrb_action_map - ) + source_data = expanded_source_df.to_dict(orient='records') - self.logger.info(f"source_cntrb_insert: {source_cntrb_insert}") + self.logger.info(f"source_data type: {type(source_data)}") + self.logger.info(f"source_data keys: {source_data[0].keys()}") - cntrb_insert = [ - { - 'cntrb_login': contributor[f'{prefix}login'], - 'cntrb_created_at': None if ( - f'{prefix}created_at' not in contributor - ) else contributor[f'{prefix}created_at'], - 'cntrb_email': None if f'{prefix}email' not in contributor else contributor[f'{prefix}email'], - 'cntrb_company': None if f'{prefix}company' not in contributor else contributor[f'{prefix}company'], - 'cntrb_location': None if ( - f'{prefix}location' not in contributor - ) else contributor[f'{prefix}location'], - 'gh_user_id': None if ( - not contributor[f'{prefix}id'] - ) else int(float(contributor[f'{prefix}id'])), - 'gh_login': contributor[f'{prefix}login'], - 'gh_url': contributor[f'{prefix}url'], - 'gh_html_url': contributor[f'{prefix}html_url'], - 'gh_node_id': contributor[f'{prefix}node_id'], #valid for dup check - 'gh_avatar_url': contributor[f'{prefix}avatar_url'], - 'gh_gravatar_id': contributor[f'{prefix}gravatar_id'], - 'gh_followers_url': contributor[f'{prefix}followers_url'], - 'gh_following_url': contributor[f'{prefix}following_url'], - 'gh_gists_url': contributor[f'{prefix}gists_url'], - 'gh_starred_url': contributor[f'{prefix}starred_url'], - 'gh_subscriptions_url': contributor[f'{prefix}subscriptions_url'], - 'gh_organizations_url': contributor[f'{prefix}organizations_url'], - 'gh_repos_url': contributor[f'{prefix}repos_url'], - 'gh_events_url': contributor[f'{prefix}events_url'], - 'gh_received_events_url': contributor[f'{prefix}received_events_url'], - 'gh_type': contributor[f'{prefix}type'], - 'gh_site_admin': contributor[f'{prefix}site_admin'], - 'tool_source': self.tool_source, - 'tool_version': self.tool_version, - 'data_source': self.data_source - } for contributor in source_cntrb_insert if contributor[f'{prefix}login'] - ] + cntrb_id_offset = self.get_max_id(self.contributors_table, 'cntrb_id') + # loop through data to test if it is already in the database + for data in source_data: - try: - self.bulk_insert(self.contributors_table, cntrb_insert) - except s.exc.IntegrityError: - self.logger.info("Unique Violation in contributors table! ") - - # Query db for inserted cntrb pkeys and add to shallow level of data - - # Query - cntrb_pk_name = list(self.contributors_table.primary_key)[0].name - session = s.orm.Session(self.db) - inserted_pks = pd.DataFrame( - session.query( - self.contributors_table.c[cntrb_pk_name], self.contributors_table.c.cntrb_login, - self.contributors_table.c.gh_node_id - ).distinct(self.contributors_table.c.cntrb_login).order_by( - self.contributors_table.c.cntrb_login, self.contributors_table.c[cntrb_pk_name] - ).all(), columns=[cntrb_pk_name, 'cntrb_login', 'gh_node_id'] - ).to_dict(orient='records') - session.close() - - # Prepare for merge - source_columns = sorted(list(source_df.columns)) - self.logger.info(f"source_columns: {source_columns}") - self.logger.info(f"source column contents: {source_columns[0]}") - necessary_columns = sorted(list(set(source_columns + cntrb_action_map['insert']['source']))) - (source_table, inserted_pks_table), metadata, session = self._setup_postgres_merge( - [ - expanded_source_df[necessary_columns].to_dict(orient='records'), - inserted_pks - ], sort=True - ) - final_columns = [cntrb_pk_name] + sorted(list(set(necessary_columns))) - - - # Merge - source_pk = pd.DataFrame( - session.query( - inserted_pks_table.c.cntrb_id, source_table - ).join( - source_table, - eval( - ' and '.join( - [ - ( - f"inserted_pks_table.c['{table_column}'] " - f"== source_table.c['{source_column}']" - ) for table_column, source_column in zip( - cntrb_action_map['insert']['augur'], - cntrb_action_map['insert']['source'] - ) - ] - ) - ) - ).all(), columns=final_columns - ) + # may need to use this if there is a possibility the login is not populated + # cntrb_logins = [row['cntrb_login'] for row in table_values_cntrb if 'cntrb_login' in row] + cntrb_logins = [row['cntrb_login'] for row in table_values_cntrb] + + #if user.login is in the database then there is no need to add the contributor + if data['user.login'] in cntrb_logins: - # Cleanup merge - source_pk = self._eval_json_columns(source_pk) - self._close_postgres_merge(metadata, session) + #gets the dict from the table_values_cntrb that contains data['user.login'] + user_login_row = list(filter(lambda x: x['cntrb_login'] == data['user.login'], table_values_cntrb))[0] + + #assigns the cntrb_id to the source data to be returned to the workers + data['cntrb_id'] = user_login_row['cntrb_id'] + + # for row in table_values_cntrb: + # if row['cntrb_login'] == data['user.login']: + # cntrb_id = row['cntrb_id'] + + #contributor is not in the database + else: + + url = ("https://api.github.com/users/" + data['user.login']) + + attempts = 0 + + while attempts < 10: + try: + attempts += 1 + self.logger.info("Hitting endpoint: " + url + " ...\n") + response = requests.get(url=url , headers=self.headers) + break + except TimeoutError: + self.logger.info(f"User data request for enriching contributor data failed with {attempts} attempts! Trying again...") + time.sleep(10) + continue + self.update_gh_rate_limit(response) + + try: + contributor = response.json() + except: + contributor = json.loads(json.dumps(response.text)) + + cntrb = { + "cntrb_login": contributor['login'], + "cntrb_created_at": contributor['created_at'], + "cntrb_email": contributor['email'] if 'email' in contributor else None, + "cntrb_company": contributor['company'] if 'company' in contributor else None, + "cntrb_location": contributor['location'] if 'location' in contributor else None, + # "cntrb_type": , dont have a use for this as of now ... let it default to null + "cntrb_canonical": contributor['email'] if 'email' in contributor else None, + "gh_user_id": contributor['id'], + "gh_login": contributor['login'], + "gh_url": contributor['url'], + "gh_html_url": contributor['html_url'], + "gh_node_id": contributor['node_id'], + "gh_avatar_url": contributor['avatar_url'], + "gh_gravatar_id": contributor['gravatar_id'], + "gh_followers_url": contributor['followers_url'], + "gh_following_url": contributor['following_url'], + "gh_gists_url": contributor['gists_url'], + "gh_starred_url": contributor['starred_url'], + "gh_subscriptions_url": contributor['subscriptions_url'], + "gh_organizations_url": contributor['organizations_url'], + "gh_repos_url": contributor['repos_url'], + "gh_events_url": contributor['events_url'], + "gh_received_events_url": contributor['received_events_url'], + "gh_type": contributor['type'], + "gh_site_admin": contributor['site_admin'], + "tool_source": self.tool_source, + "tool_version": self.tool_version, + "data_source": self.data_source + } + + #insert new contributor into database + self.db.execute(self.contributors_table.insert().values(cntrb)) + + # increment cntrb_id offset + # keeps track of the next cntrb_id primary key without making extra db queries + cntrb_id_offset += 1 + + #assigns the cntrb_id to the source data to be returned to the workers + data['cntrb_id'] = cntrb_id_offset + + # add cntrb_id to data and append it to table_values_cntrb + # so duplicate cntrbs within the same data set aren't added + cntrb['cntrb_id'] = cntrb_id_offset + table_values_cntrb = table_values_cntrb.append(cntrb) + + + self.logger.info( + "Contributor id enrichment successful, result has " + f"{len(source_data)} data points.\n" + ) + return source_data + + + + + + + + # source_cntrb_insert, _ = self.organize_needed_data( + # expanded_source_df.to_dict(orient='records'), table_values=table_values_cntrb, + # action_map=cntrb_action_map + # ) + + # cntrb_insert = [ + # { + # 'cntrb_login': contributor[f'{prefix}login'], + # 'cntrb_created_at': None if ( + # f'{prefix}created_at' not in contributor + # ) else contributor[f'{prefix}created_at'], + # 'cntrb_email': None if f'{prefix}email' not in contributor else contributor[f'{prefix}email'], + # 'cntrb_company': None if f'{prefix}company' not in contributor else contributor[f'{prefix}company'], + # 'cntrb_location': None if ( + # f'{prefix}location' not in contributor + # ) else contributor[f'{prefix}location'], + # 'gh_user_id': None if ( + # not contributor[f'{prefix}id'] + # ) else int(float(contributor[f'{prefix}id'])), + # 'gh_login': contributor[f'{prefix}login'], + # 'gh_url': contributor[f'{prefix}url'], + # 'gh_html_url': contributor[f'{prefix}html_url'], + # 'gh_node_id': contributor[f'{prefix}node_id'], #valid for dup check + # 'gh_avatar_url': contributor[f'{prefix}avatar_url'], + # 'gh_gravatar_id': contributor[f'{prefix}gravatar_id'], + # 'gh_followers_url': contributor[f'{prefix}followers_url'], + # 'gh_following_url': contributor[f'{prefix}following_url'], + # 'gh_gists_url': contributor[f'{prefix}gists_url'], + # 'gh_starred_url': contributor[f'{prefix}starred_url'], + # 'gh_subscriptions_url': contributor[f'{prefix}subscriptions_url'], + # 'gh_organizations_url': contributor[f'{prefix}organizations_url'], + # 'gh_repos_url': contributor[f'{prefix}repos_url'], + # 'gh_events_url': contributor[f'{prefix}events_url'], + # 'gh_received_events_url': contributor[f'{prefix}received_events_url'], + # 'gh_type': contributor[f'{prefix}type'], + # 'gh_site_admin': contributor[f'{prefix}site_admin'], + # 'tool_source': self.tool_source, + # 'tool_version': self.tool_version, + # 'data_source': self.data_source + # } for contributor in source_cntrb_insert if contributor[f'{prefix}login'] + # ] + # + # try: + # self.bulk_insert(self.contributors_table, cntrb_insert) + # except s.exc.IntegrityError: + # self.logger.info("Unique Violation in contributors table! ") + # + # # Query db for inserted cntrb pkeys and add to shallow level of data + # + # # Query + # cntrb_pk_name = list(self.contributors_table.primary_key)[0].name + # session = s.orm.Session(self.db) + # inserted_pks = pd.DataFrame( + # session.query( + # self.contributors_table.c[cntrb_pk_name], self.contributors_table.c.cntrb_login, + # self.contributors_table.c.gh_node_id + # ).distinct(self.contributors_table.c.cntrb_login).order_by( + # self.contributors_table.c.cntrb_login, self.contributors_table.c[cntrb_pk_name] + # ).all(), columns=[cntrb_pk_name, 'cntrb_login', 'gh_node_id'] + # ).to_dict(orient='records') + # session.close() + # + # # Prepare for merge + # source_columns = sorted(list(source_df.columns)) + # necessary_columns = sorted(list(set(source_columns + cntrb_action_map['insert']['source']))) + # (source_table, inserted_pks_table), metadata, session = self._setup_postgres_merge( + # [ + # expanded_source_df[necessary_columns].to_dict(orient='records'), + # inserted_pks + # ], sort=True + # ) + # final_columns = [cntrb_pk_name] + sorted(list(set(necessary_columns))) + # + # # Merge + # source_pk = pd.DataFrame( + # session.query( + # inserted_pks_table.c.cntrb_id, source_table + # ).join( + # source_table, + # eval( + # ' and '.join( + # [ + # ( + # f"inserted_pks_table.c['{table_column}'] " + # f"== source_table.c['{source_column}']" + # ) for table_column, source_column in zip( + # cntrb_action_map['insert']['augur'], + # cntrb_action_map['insert']['source'] + # ) + # ] + # ) + # ) + # ).all(), columns=final_columns + # ) + # + # # Cleanup merge + # source_pk = self._eval_json_columns(source_pk) + # self._close_postgres_merge(metadata, session) self.logger.info( "Contributor id enrichment successful, result has " @@ -389,7 +494,7 @@ def query_github_contributors(self, entry_info, repo_id): """ self.logger.info(f"Querying contributors with given entry info: {entry_info}\n") - ## It absolutely doesn't matter if the contributor has already contributoed to a repo. it only matters that they exist in our table, and + ## It absolutely doesn't matter if the contributor has already contributoed to a repo. it only matters that they exist in our table, and ## if the DO, then we DO NOT want to insert them again in any GitHub Method. github_url = entry_info['given']['github_url'] if 'github_url' in entry_info['given'] else entry_info['given']['git_url'] @@ -839,11 +944,11 @@ def query_gitlab_contributors(self, entry_info, repo_id): ### Here we are adding gitlab user information from the API ### Following Gabe's rework of the contributor worker. - ### The GitLab API will NEVER give you an email. It will let you - ### Query an email, but never give you one. + ### The GitLab API will NEVER give you an email. It will let you + ### Query an email, but never give you one. ### ## Gitlab email api: https://gitlab.com/api/v4/users?search=s@goggins.com - ### We don't need to update right now, so commenting out. - ### TODO: SOLVE LOGIC. + ### We don't need to update right now, so commenting out. + ### TODO: SOLVE LOGIC. # update_col_map = {'cntrb_email': 'email'} update_col_map = {} duplicate_col_map = {'gl_username': 'username'} @@ -1184,12 +1289,12 @@ def load_url(url, extra_data={}): 2, int(response.links['last']['url'].split('=')[-1]) + 1 ) ] - try: + try: self.logger.info(f"urls boundry issue? for {urls} where they are equal to {url}.") urls = numpy.delete(urls, numpy.where(urls == url), axis=0) - except: - self.logger.info(f"ERROR with axis = 0 - Now attempting without setting axis for numpy.delete for {urls} where they are equal to {url}.") + except: + self.logger.info(f"ERROR with axis = 0 - Now attempting without setting axis for numpy.delete for {urls} where they are equal to {url}.") urls = numpy.delete(urls, numpy.where(urls == url)) elif response.status_code == 404: From 353e8b546efffb274815dcad14fac7cfd548ffcd Mon Sep 17 00:00:00 2001 From: Isaac Milarsky Date: Thu, 29 Jul 2021 15:09:41 -0500 Subject: [PATCH 098/201] logging Signed-off-by: Isaac Milarsky --- workers/worker_git_integration.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/workers/worker_git_integration.py b/workers/worker_git_integration.py index 854e747b62..f5625b4fbd 100644 --- a/workers/worker_git_integration.py +++ b/workers/worker_git_integration.py @@ -284,7 +284,7 @@ def enrich_cntrb_id( # may need to use this if there is a possibility the login is not populated # cntrb_logins = [row['cntrb_login'] for row in table_values_cntrb if 'cntrb_login' in row] cntrb_logins = [row['cntrb_login'] for row in table_values_cntrb] - + self.logger.info(f"cntrb data keys: {cntrb_logins[0].keys()}") #if user.login is in the database then there is no need to add the contributor if data['user.login'] in cntrb_logins: @@ -293,6 +293,7 @@ def enrich_cntrb_id( #assigns the cntrb_id to the source data to be returned to the workers data['cntrb_id'] = user_login_row['cntrb_id'] + self.logger.info(f"cntrb_id {data['cntrb_id']} found in database and assigned to enriched data") # for row in table_values_cntrb: # if row['cntrb_login'] == data['user.login']: @@ -362,7 +363,7 @@ def enrich_cntrb_id( #assigns the cntrb_id to the source data to be returned to the workers data['cntrb_id'] = cntrb_id_offset - + self.logger.info(f"cntrb_id {data['cntrb_id']} found with api call and assigned to enriched data") # add cntrb_id to data and append it to table_values_cntrb # so duplicate cntrbs within the same data set aren't added cntrb['cntrb_id'] = cntrb_id_offset From 2a0081480a6514dd86f4c791c5e53509c2f0e95a Mon Sep 17 00:00:00 2001 From: Isaac Milarsky Date: Thu, 29 Jul 2021 15:20:17 -0500 Subject: [PATCH 099/201] logging-more Signed-off-by: Isaac Milarsky --- workers/worker_git_integration.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workers/worker_git_integration.py b/workers/worker_git_integration.py index f5625b4fbd..a291befc77 100644 --- a/workers/worker_git_integration.py +++ b/workers/worker_git_integration.py @@ -284,7 +284,7 @@ def enrich_cntrb_id( # may need to use this if there is a possibility the login is not populated # cntrb_logins = [row['cntrb_login'] for row in table_values_cntrb if 'cntrb_login' in row] cntrb_logins = [row['cntrb_login'] for row in table_values_cntrb] - self.logger.info(f"cntrb data keys: {cntrb_logins[0].keys()}") + self.logger.info(f"cntrb logins length: {len(cntrb_logins)}") #if user.login is in the database then there is no need to add the contributor if data['user.login'] in cntrb_logins: From 7db63358d2521cf469c0767ce11d34adc3392ef5 Mon Sep 17 00:00:00 2001 From: Isaac Milarsky Date: Thu, 29 Jul 2021 15:33:16 -0500 Subject: [PATCH 100/201] Typo Signed-off-by: Isaac Milarsky --- workers/worker_git_integration.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/workers/worker_git_integration.py b/workers/worker_git_integration.py index a291befc77..5fae9f28d6 100644 --- a/workers/worker_git_integration.py +++ b/workers/worker_git_integration.py @@ -282,8 +282,8 @@ def enrich_cntrb_id( for data in source_data: # may need to use this if there is a possibility the login is not populated - # cntrb_logins = [row['cntrb_login'] for row in table_values_cntrb if 'cntrb_login' in row] - cntrb_logins = [row['cntrb_login'] for row in table_values_cntrb] + cntrb_logins = [row['cntrb_login'] for row in table_values_cntrb if 'cntrb_login' in row] + # cntrb_logins = [row['cntrb_login'] for row in table_values_cntrb] self.logger.info(f"cntrb logins length: {len(cntrb_logins)}") #if user.login is in the database then there is no need to add the contributor if data['user.login'] in cntrb_logins: @@ -323,6 +323,8 @@ def enrich_cntrb_id( except: contributor = json.loads(json.dumps(response.text)) + self.logger.info(f"Organize needed data contributor: {contributor}") + cntrb = { "cntrb_login": contributor['login'], "cntrb_created_at": contributor['created_at'], From 593968f4fc97a47f599490c1e1f6e80aaae3379b Mon Sep 17 00:00:00 2001 From: Isaac Milarsky Date: Thu, 29 Jul 2021 15:52:36 -0500 Subject: [PATCH 101/201] more Signed-off-by: Isaac Milarsky --- workers/worker_git_integration.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/workers/worker_git_integration.py b/workers/worker_git_integration.py index 5fae9f28d6..812e510e01 100644 --- a/workers/worker_git_integration.py +++ b/workers/worker_git_integration.py @@ -279,10 +279,19 @@ def enrich_cntrb_id( cntrb_id_offset = self.get_max_id(self.contributors_table, 'cntrb_id') # loop through data to test if it is already in the database - for data in source_data: + + for index, data in enumerate(source_data): + + self.logger.info(f"Enriching {index} of {len(source_data)}") # may need to use this if there is a possibility the login is not populated - cntrb_logins = [row['cntrb_login'] for row in table_values_cntrb if 'cntrb_login' in row] + cntrb_logins = [] + for row in table_values_cntrb: + if row: + cntrb_logins.append(row['cntrb_login']) + + + # cntrb_logins = [row['cntrb_login'] for row in table_values_cntrb] self.logger.info(f"cntrb logins length: {len(cntrb_logins)}") #if user.login is in the database then there is no need to add the contributor From c3a96998366b75c1f94fc74404015cc9c22ac630 Mon Sep 17 00:00:00 2001 From: Isaac Milarsky Date: Thu, 29 Jul 2021 15:58:52 -0500 Subject: [PATCH 102/201] more2 Signed-off-by: Isaac Milarsky --- workers/worker_git_integration.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/workers/worker_git_integration.py b/workers/worker_git_integration.py index 812e510e01..ecc4f1a98f 100644 --- a/workers/worker_git_integration.py +++ b/workers/worker_git_integration.py @@ -283,7 +283,7 @@ def enrich_cntrb_id( for index, data in enumerate(source_data): self.logger.info(f"Enriching {index} of {len(source_data)}") - + self.logger.info(f"source_data type: {type(source_data)}") # may need to use this if there is a possibility the login is not populated cntrb_logins = [] for row in table_values_cntrb: @@ -378,6 +378,7 @@ def enrich_cntrb_id( # add cntrb_id to data and append it to table_values_cntrb # so duplicate cntrbs within the same data set aren't added cntrb['cntrb_id'] = cntrb_id_offset + s table_values_cntrb = table_values_cntrb.append(cntrb) From f5b44318d0cb8b651366e4332a0654eb1bdc21ac Mon Sep 17 00:00:00 2001 From: Isaac Milarsky Date: Thu, 29 Jul 2021 16:00:16 -0500 Subject: [PATCH 103/201] more2 Signed-off-by: Isaac Milarsky --- workers/worker_git_integration.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/workers/worker_git_integration.py b/workers/worker_git_integration.py index ecc4f1a98f..725eb54c4a 100644 --- a/workers/worker_git_integration.py +++ b/workers/worker_git_integration.py @@ -269,13 +269,13 @@ def enrich_cntrb_id( s.sql.select(self.get_relevant_columns(self.contributors_table,cntrb_action_map)) ).fetchall() - self.logger.info(f"table_values_cntrb type: {type(table_values_cntrb)}") - self.logger.info(f"table_values_cntrb keys: {table_values_cntrb[0].keys()}") + # self.logger.info(f"table_values_cntrb type: {type(table_values_cntrb)}") + # self.logger.info(f"table_values_cntrb keys: {table_values_cntrb[0].keys()}") source_data = expanded_source_df.to_dict(orient='records') - self.logger.info(f"source_data type: {type(source_data)}") - self.logger.info(f"source_data keys: {source_data[0].keys()}") + # self.logger.info(f"source_data type: {type(source_data)}") + # self.logger.info(f"source_data keys: {source_data[0].keys()}") cntrb_id_offset = self.get_max_id(self.contributors_table, 'cntrb_id') # loop through data to test if it is already in the database @@ -378,8 +378,11 @@ def enrich_cntrb_id( # add cntrb_id to data and append it to table_values_cntrb # so duplicate cntrbs within the same data set aren't added cntrb['cntrb_id'] = cntrb_id_offset - s + self.logger.info(f"table_values_cntrb type before: {type(table_values_cntrb)}") + self.logger.info(f"table_values_cntrb keys before: {table_values_cntrb[0].keys()}") table_values_cntrb = table_values_cntrb.append(cntrb) + self.logger.info(f"table_values_cntrb type after: {type(table_values_cntrb)}") + self.logger.info(f"table_values_cntrb keysafter: {table_values_cntrb[0].keys()}") self.logger.info( From c8d177b13f44311af02c88e999ad94f85edea24e Mon Sep 17 00:00:00 2001 From: Isaac Milarsky Date: Thu, 29 Jul 2021 16:11:51 -0500 Subject: [PATCH 104/201] more3 Signed-off-by: Isaac Milarsky --- workers/worker_git_integration.py | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/workers/worker_git_integration.py b/workers/worker_git_integration.py index 725eb54c4a..096abd7b13 100644 --- a/workers/worker_git_integration.py +++ b/workers/worker_git_integration.py @@ -377,12 +377,23 @@ def enrich_cntrb_id( self.logger.info(f"cntrb_id {data['cntrb_id']} found with api call and assigned to enriched data") # add cntrb_id to data and append it to table_values_cntrb # so duplicate cntrbs within the same data set aren't added - cntrb['cntrb_id'] = cntrb_id_offset - self.logger.info(f"table_values_cntrb type before: {type(table_values_cntrb)}") - self.logger.info(f"table_values_cntrb keys before: {table_values_cntrb[0].keys()}") - table_values_cntrb = table_values_cntrb.append(cntrb) - self.logger.info(f"table_values_cntrb type after: {type(table_values_cntrb)}") - self.logger.info(f"table_values_cntrb keysafter: {table_values_cntrb[0].keys()}") + #cntrb['cntrb_id'] = cntrb_id_offset + + self.logger.info("Before append") + for index, row in enumerate(table_values_cntrb): + self.logger.info("Row {}: {}\n".format(index, row)) + + cntrb_data = { + 'cntrb_id': cntrb_id_offset, + 'gh_node_id': cntrb['node_id'], + 'cntrb_login': cntrb['login'], + } + table_values_cntrb = table_values_cntrb.append(cntrb_data) + + self.logger.info("After append") + for index, row in enumerate(table_values_cntrb): + self.logger.info("Row {}: {}\n".format(index, row)) + self.logger.info( From 75dd3d7e197bd5ce8a755d455a00a19b78c895f3 Mon Sep 17 00:00:00 2001 From: Isaac Milarsky Date: Thu, 29 Jul 2021 16:16:42 -0500 Subject: [PATCH 105/201] more3 Signed-off-by: Isaac Milarsky --- workers/worker_git_integration.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/workers/worker_git_integration.py b/workers/worker_git_integration.py index 096abd7b13..2264749c31 100644 --- a/workers/worker_git_integration.py +++ b/workers/worker_git_integration.py @@ -385,8 +385,8 @@ def enrich_cntrb_id( cntrb_data = { 'cntrb_id': cntrb_id_offset, - 'gh_node_id': cntrb['node_id'], - 'cntrb_login': cntrb['login'], + 'gh_node_id': cntrb['gh_node_id'], + 'cntrb_login': cntrb['cntrb_login'], } table_values_cntrb = table_values_cntrb.append(cntrb_data) From cb2eb50a68fdeb8d5b39a36983d9e3611ed6bf7d Mon Sep 17 00:00:00 2001 From: Isaac Milarsky Date: Thu, 29 Jul 2021 16:21:49 -0500 Subject: [PATCH 106/201] more3 Signed-off-by: Isaac Milarsky --- workers/worker_git_integration.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workers/worker_git_integration.py b/workers/worker_git_integration.py index 2264749c31..fc33be83d8 100644 --- a/workers/worker_git_integration.py +++ b/workers/worker_git_integration.py @@ -388,7 +388,7 @@ def enrich_cntrb_id( 'gh_node_id': cntrb['gh_node_id'], 'cntrb_login': cntrb['cntrb_login'], } - table_values_cntrb = table_values_cntrb.append(cntrb_data) + table_values_cntrb.append(cntrb_data) self.logger.info("After append") for index, row in enumerate(table_values_cntrb): From ae28eb2df388dca47574d0238597d3a2cb041b20 Mon Sep 17 00:00:00 2001 From: Isaac Milarsky Date: Thu, 29 Jul 2021 16:27:16 -0500 Subject: [PATCH 107/201] more3 Signed-off-by: Isaac Milarsky --- workers/worker_git_integration.py | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/workers/worker_git_integration.py b/workers/worker_git_integration.py index fc33be83d8..ef1fa76707 100644 --- a/workers/worker_git_integration.py +++ b/workers/worker_git_integration.py @@ -283,7 +283,7 @@ def enrich_cntrb_id( for index, data in enumerate(source_data): self.logger.info(f"Enriching {index} of {len(source_data)}") - self.logger.info(f"source_data type: {type(source_data)}") + #self.logger.info(f"source_data type: {type(source_data)}") # may need to use this if there is a possibility the login is not populated cntrb_logins = [] for row in table_values_cntrb: @@ -293,7 +293,7 @@ def enrich_cntrb_id( # cntrb_logins = [row['cntrb_login'] for row in table_values_cntrb] - self.logger.info(f"cntrb logins length: {len(cntrb_logins)}") + #self.logger.info(f"cntrb logins length: {len(cntrb_logins)}") #if user.login is in the database then there is no need to add the contributor if data['user.login'] in cntrb_logins: @@ -379,9 +379,6 @@ def enrich_cntrb_id( # so duplicate cntrbs within the same data set aren't added #cntrb['cntrb_id'] = cntrb_id_offset - self.logger.info("Before append") - for index, row in enumerate(table_values_cntrb): - self.logger.info("Row {}: {}\n".format(index, row)) cntrb_data = { 'cntrb_id': cntrb_id_offset, @@ -389,10 +386,6 @@ def enrich_cntrb_id( 'cntrb_login': cntrb['cntrb_login'], } table_values_cntrb.append(cntrb_data) - - self.logger.info("After append") - for index, row in enumerate(table_values_cntrb): - self.logger.info("Row {}: {}\n".format(index, row)) From 2eeebba370f8f7ffdac50b2c62ba535d8ab3a75d Mon Sep 17 00:00:00 2001 From: Isaac Milarsky Date: Thu, 29 Jul 2021 16:56:01 -0500 Subject: [PATCH 108/201] more3 Signed-off-by: Isaac Milarsky --- workers/worker_git_integration.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/workers/worker_git_integration.py b/workers/worker_git_integration.py index ef1fa76707..8918a3dc5b 100644 --- a/workers/worker_git_integration.py +++ b/workers/worker_git_integration.py @@ -277,7 +277,8 @@ def enrich_cntrb_id( # self.logger.info(f"source_data type: {type(source_data)}") # self.logger.info(f"source_data keys: {source_data[0].keys()}") - cntrb_id_offset = self.get_max_id(self.contributors_table, 'cntrb_id') + #This returns the max id + 1 so we undo that here. + cntrb_id_offset = self.get_max_id(self.contributors_table, 'cntrb_id') - 1 # loop through data to test if it is already in the database for index, data in enumerate(source_data): From 45bff950ab8081a0755056e525584d868595e71c Mon Sep 17 00:00:00 2001 From: Isaac Milarsky Date: Fri, 30 Jul 2021 09:59:21 -0500 Subject: [PATCH 109/201] stuff Signed-off-by: Isaac Milarsky --- workers/worker_git_integration.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/workers/worker_git_integration.py b/workers/worker_git_integration.py index 8918a3dc5b..1da7253c93 100644 --- a/workers/worker_git_integration.py +++ b/workers/worker_git_integration.py @@ -260,8 +260,8 @@ def enrich_cntrb_id( cntrb_action_map = { 'insert': { - 'source': [key] + action_map_additions['insert']['source'], - 'augur': ['cntrb_login'] + action_map_additions['insert']['augur'] + 'source': [key] + action_map_additions['insert']['source'] + ['user.id'], + 'augur': ['cntrb_login'] + action_map_additions['insert']['augur'] + ['gh_user_id'] } } @@ -292,6 +292,10 @@ def enrich_cntrb_id( cntrb_logins.append(row['cntrb_login']) + try: + data['user.login'] + except Exception as e: + self.logger.info(f"Input data: {data} caused this: {e}") # cntrb_logins = [row['cntrb_login'] for row in table_values_cntrb] #self.logger.info(f"cntrb logins length: {len(cntrb_logins)}") From 0ff9e75b8bde79c633ee2d4ee615903d755ff785 Mon Sep 17 00:00:00 2001 From: Isaac Milarsky Date: Fri, 30 Jul 2021 10:10:50 -0500 Subject: [PATCH 110/201] Using differant field to dup check Signed-off-by: Isaac Milarsky --- workers/worker_git_integration.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/workers/worker_git_integration.py b/workers/worker_git_integration.py index 1da7253c93..46239cba3c 100644 --- a/workers/worker_git_integration.py +++ b/workers/worker_git_integration.py @@ -289,18 +289,18 @@ def enrich_cntrb_id( cntrb_logins = [] for row in table_values_cntrb: if row: - cntrb_logins.append(row['cntrb_login']) + cntrb_logins.append(row['gh_node_id']) try: - data['user.login'] + data['node_id'] except Exception as e: self.logger.info(f"Input data: {data} caused this: {e}") # cntrb_logins = [row['cntrb_login'] for row in table_values_cntrb] #self.logger.info(f"cntrb logins length: {len(cntrb_logins)}") #if user.login is in the database then there is no need to add the contributor - if data['user.login'] in cntrb_logins: + if data['node_id'] in cntrb_logins: #gets the dict from the table_values_cntrb that contains data['user.login'] user_login_row = list(filter(lambda x: x['cntrb_login'] == data['user.login'], table_values_cntrb))[0] From 568952f6d62cd81b38d5fc0b0d9bf29e9361d578 Mon Sep 17 00:00:00 2001 From: Isaac Milarsky Date: Fri, 30 Jul 2021 10:55:37 -0500 Subject: [PATCH 111/201] added prefix stuff Signed-off-by: Isaac Milarsky --- workers/github_worker/github_worker.py | 2135 +++++++++++++++++++----- 1 file changed, 1694 insertions(+), 441 deletions(-) diff --git a/workers/github_worker/github_worker.py b/workers/github_worker/github_worker.py index b0452d6409..fe93808084 100644 --- a/workers/github_worker/github_worker.py +++ b/workers/github_worker/github_worker.py @@ -1,537 +1,1790 @@ -#SPDX-License-Identifier: MIT -from multiprocessing import Process, Queue -from urllib.parse import urlparse -from workers.worker_git_integration import WorkerGitInterfaceable -import pandas as pd +#Get everything that the base depends on. +from workers.worker_base import * import sqlalchemy as s -import requests -import time -import logging -import json -import os -import psycopg2 #really only to catch type errors for database methods -import math -from datetime import datetime -from workers.worker_base import Worker - -class GitHubWorker(WorkerGitInterfaceable): - """ Worker that collects data from the Github API and stores it in our database - task: most recent task the broker added to the worker's queue - child: current process of the queue being ran - queue: queue of tasks to be fulfilled - config: holds info like api keys, descriptions, and database connection strings - """ - def __init__(self, config={}): - - worker_type = 'github_worker' - - given = [['github_url']] - models = ['issues'] - - data_tables = [ - 'contributors', 'issues', 'issue_labels', 'message', - 'issue_message_ref', 'issue_events','issue_assignees','contributors_aliases', - 'pull_request_assignees', 'pull_request_events', 'pull_request_reviewers', - 'pull_request_meta', 'pull_request_repo' - ] - operations_tables = ['worker_history', 'worker_job'] - # These 3 are included in every tuple the worker inserts (data collection info) - self.tool_source = 'GitHub API Worker' - self.tool_version = '1.0.0' - self.data_source = 'GitHub API' +#This is a worker base subclass that adds the ability to query github/gitlab with the api key +class WorkerGitInterfaceable(Worker): + def __init__(self, worker_type, config={}, given=[], models=[], data_tables=[], operations_tables=[], platform="github"): + super().__init__(worker_type, config, given, models, data_tables, operations_tables) + + self.config.update({ + 'gh_api_key': self.augur_config.get_value('Database', 'key'), + 'gitlab_api_key': self.augur_config.get_value('Database', 'gitlab_api_key') + }) + + #Fix loose attribute definition + self.headers = None + self.platform = platform + self.given = given + self.models = models + + self.specs = { + 'id': self.config['id'], # what the broker knows this worker as + 'location': self.config['location'], # host + port worker is running on (so broker can send tasks here) + 'qualifications': [ + { + 'given': self.given, # type of repo this worker can be given as a task + 'models': self.models # models this worker can fill for a repo as a task + } + ], + 'config': self.config + } + + # Send broker hello message + if self.config['offline_mode'] is False: + self.connect_to_broker() - # if we are finishing a previous task, pagination works differenty (deprecated) - self.finishing_task = True + # Attempts to determine if these attributes exist + # If not, it creates them with default values + try: + self.tool_source + self.tool_version + self.data_source + except AttributeError: + self.tool_source = 'Augur Worker Testing' + self.tool_version = '0.0.0' + self.data_source = 'Augur Worker Testing' + + #database interface, additional functionality with github interface. + def initialize_database_connections(self): + super().initialize_database_connections() + # Organize different api keys/oauths available + self.logger.info("Initializing API key.") + if 'gh_api_key' in self.config or 'gitlab_api_key' in self.config: + try: + self.init_oauths(self.platform) + except AttributeError: + self.logger.error("Worker not configured to use API key!") + else: + self.oauths = [{'oauth_id': 0}] - self.platform_id = 25150 # GitHub - self.process_count = 1 - self.deep_collection = True + def find_id_from_login(self, login, platform='github'): + """ Retrieves our contributor table primary key value for the contributor with + the given GitHub login credentials, if this contributor is not there, then + they get inserted. - #Needs to be an attribute of the class for incremental database insert using paginate_endpoint - self.pk_source_issues = [] + :param login: String, the GitHub login username to find the primary key id for + :return: Integer, the id of the row in our database with the matching GitHub login + """ + idSQL = s.sql.text(""" + SELECT cntrb_id FROM contributors WHERE cntrb_login = '{}' \ + AND LOWER(data_source) = '{} api' + """.format(login, platform)) - # Run the general worker initialization - super().__init__(worker_type, config, given, models, data_tables, operations_tables) + rs = pd.read_sql(idSQL, self.db, params={}) + data_list = [list(row) for row in rs.itertuples(index=False)] + try: + return data_list[0][0] + except: + self.logger.info('contributor needs to be added...') + + if platform == 'github': + cntrb_url = ("https://api.github.com/users/" + login) + elif platform == 'gitlab': + cntrb_url = ("https://gitlab.com/api/v4/users?username=" + login ) + self.logger.info("Hitting endpoint: {} ...\n".format(cntrb_url)) + + # Possible infinite loop if this request never succeeds? + while True: + try: + r = requests.get(url=cntrb_url, headers=self.headers) + break + except TimeoutError as e: + self.logger.info("Request timed out. Sleeping 10 seconds and trying again...\n") + time.sleep(30) + + self.update_rate_limit(r) + contributor = r.json() + + # Used primarily for the Gitlab block below + company = None + location = None + email = None + if 'company' in contributor: + company = contributor['company'] + if 'location' in contributor: + location = contributor['location'] + if 'email' in contributor: + email = contributor['email'] + + + if platform == 'github': + cntrb = { + 'cntrb_login': contributor['login'] if 'login' in contributor else None, + 'cntrb_email': contributor['email'] if 'email' in contributor else None, + 'cntrb_company': contributor['company'] if 'company' in contributor else None, + 'cntrb_location': contributor['location'] if 'location' in contributor else None, + 'cntrb_created_at': contributor['created_at'] if 'created_at' in contributor else None, + 'cntrb_canonical': None, + 'gh_user_id': contributor['id'] if 'id' in contributor else None, + 'gh_login': contributor['login'] if 'login' in contributor else None, + 'gh_url': contributor['url'] if 'url' in contributor else None, + 'gh_html_url': contributor['html_url'] if 'html_url' in contributor else None, + 'gh_node_id': contributor['node_id'] if 'node_id' in contributor else None, + 'gh_avatar_url': contributor['avatar_url'] if 'avatar_url' in contributor else None, + 'gh_gravatar_id': contributor['gravatar_id'] if 'gravatar_id' in contributor else None, + 'gh_followers_url': contributor['followers_url'] if 'followers_url' in contributor else None, + 'gh_following_url': contributor['following_url'] if 'following_url' in contributor else None, + 'gh_gists_url': contributor['gists_url'] if 'gists_url' in contributor else None, + 'gh_starred_url': contributor['starred_url'] if 'starred_url' in contributor else None, + 'gh_subscriptions_url': contributor['subscriptions_url'] if 'subscriptions_url' in contributor else None, + 'gh_organizations_url': contributor['organizations_url'] if 'organizations_url' in contributor else None, + 'gh_repos_url': contributor['repos_url'] if 'repos_url' in contributor else None, + 'gh_events_url': contributor['events_url'] if 'events_url' in contributor else None, + 'gh_received_events_url': contributor['received_events_url'] if 'received_events_url' in contributor else None, + 'gh_type': contributor['type'] if 'type' in contributor else None, + 'gh_site_admin': contributor['site_admin'] if 'site_admin' in contributor else None, + 'tool_source': self.tool_source, + 'tool_version': self.tool_version, + 'data_source': self.data_source + } + + elif platform == 'gitlab': + cntrb = { + 'cntrb_login': contributor[0]['username'] if 'username' in contributor[0] else None, + 'cntrb_email': email, + 'cntrb_company': company, + 'cntrb_location': location, + 'cntrb_created_at': contributor[0]['created_at'] if 'created_at' in contributor[0] else None, + 'cntrb_canonical': None, + 'gh_user_id': contributor[0]['id'], + 'gh_login': contributor[0]['username'], + 'gh_url': contributor[0]['web_url'], + 'gh_html_url': None, + 'gh_node_id': None, + 'gh_avatar_url': contributor[0]['avatar_url'], + 'gh_gravatar_id': None, + 'gh_followers_url': None, + 'gh_following_url': None, + 'gh_gists_url': None, + 'gh_starred_url': None, + 'gh_subscriptions_url': None, + 'gh_organizations_url': None, + 'gh_repos_url': None, + 'gh_events_url': None, + 'gh_received_events_url': None, + 'gh_type': None, + 'gh_site_admin': None, + 'tool_source': self.tool_source, + 'tool_version': self.tool_version, + 'data_source': self.data_source + } + result = self.db.execute(self.contributors_table.insert().values(cntrb)) + self.logger.info("Primary key inserted into the contributors table: " + str(result.inserted_primary_key)) + self.results_counter += 1 + self.cntrb_id_inc = int(result.inserted_primary_key[0]) + self.logger.info(f"Inserted contributor: {cntrb['cntrb_login']}\n") + + return self.find_id_from_login(login, platform) + + #Blatently only for api key usage + def init_oauths(self, platform='github'): + + self.oauths = [] + self.headers = None + self.logger.info("Trying initialization.") + # Make a list of api key in the config combined w keys stored in the database + # Select endpoint to hit solely to retrieve rate limit + # information from headers of the response + # Adjust header keys needed to fetch rate limit information from the API responses + if platform == 'github': + url = "https://api.github.com/users/gabe-heim" + oauthSQL = s.sql.text(""" + SELECT * FROM worker_oauth WHERE access_token <> '{}' and platform = 'github' + """.format(self.config['gh_api_key'])) + key_name = 'gh_api_key' + rate_limit_header_key = "X-RateLimit-Remaining" + rate_limit_reset_header_key = "X-RateLimit-Reset" + elif platform == 'gitlab': + url = "https://gitlab.com/api/v4/version" + oauthSQL = s.sql.text(""" + SELECT * FROM worker_oauth WHERE access_token <> '{}' and platform = 'gitlab' + """.format(self.config['gitlab_api_key'])) + key_name = 'gitlab_api_key' + rate_limit_header_key = 'ratelimit-remaining' + rate_limit_reset_header_key = 'ratelimit-reset' + + for oauth in [{'oauth_id': 0, 'access_token': self.config[key_name]}] + json.loads( + pd.read_sql(oauthSQL, self.helper_db, params={}).to_json(orient="records") + ): + if platform == 'github': + self.headers = {'Authorization': 'token %s' % oauth['access_token']} + elif platform == 'gitlab': + self.headers = {'Authorization': 'Bearer %s' % oauth['access_token']} + response = requests.get(url=url, headers=self.headers) + self.oauths.append({ + 'oauth_id': oauth['oauth_id'], + 'access_token': oauth['access_token'], + 'rate_limit': int(response.headers[rate_limit_header_key]), + 'seconds_to_reset': ( + datetime.datetime.fromtimestamp( + int(response.headers[rate_limit_reset_header_key]) + ) - datetime.datetime.now() + ).total_seconds() + }) + self.logger.debug("Found OAuth available for use: {}".format(self.oauths[-1])) - def _get_pk_source_issues(self): + if len(self.oauths) == 0: + self.logger.info( + "No API keys detected, please include one in your config or in the " + "worker_oauths table in the augur_operations schema of your database." + ) + + # First key to be used will be the one specified in the config (first element in + # self.oauths array will always be the key in use) + if platform == 'github': + self.headers = {'Authorization': 'token %s' % self.oauths[0]['access_token']} + elif platform == 'gitlab': + self.headers = {'Authorization': 'Bearer %s' % self.oauths[0]['access_token']} + + self.logger.info("OAuth initialized\n") + + def enrich_cntrb_id( + self, data, key, action_map_additions={'insert': {'source': [], 'augur': []}}, + platform='github', prefix='' + ): - issues_url = ( - f"https://api.github.com/repos/{self.owner}/{self.repo}" - "/issues?per_page=100&state=all&page={}" + if not len(data): + self.logger.info(f"Enrich contrib data is empty for {len(data)}, for the key {key}.") + + raise ValueError + + self.logger.info(f"Enriching contributor ids for {len(data)} data points...") + + source_df = pd.DataFrame(data) + expanded_source_df = self._add_nested_columns( + source_df.copy(), [key] + action_map_additions['insert']['source'] ) - action_map = { + # Insert cntrbs that are not in db + + cntrb_action_map = { 'insert': { - 'source': ['id'], - 'augur': ['gh_issue_id'] - }, - 'update': { - 'source': ['comments', 'state'], - 'augur': ['comment_count', 'issue_state'] + 'source': [key] + action_map_additions['insert']['source'] + [f'{prefix}.id'], + 'augur': ['cntrb_login'] + action_map_additions['insert']['augur'] + ['gh_user_id'] } } - def pk_source_issues_increment_insert(inc_source_issues,action_map): - if len(inc_source_issues['all']) == 0: - self.logger.info("There are no issues for this repository.\n") - self.register_task_completion(self.task_info, self.repo_id, 'issues') - return False - - def is_valid_pr_block(issue): - return ( - 'pull_request' in issue and issue['pull_request'] - and isinstance(issue['pull_request'], dict) and 'url' in issue['pull_request'] - ) - - try: - inc_source_issues['insert'] = self.enrich_cntrb_id( - inc_source_issues['insert'], 'user.login', action_map_additions={ - 'insert': { - 'source': ['user.node_id'], - 'augur': ['gh_node_id'] - } - }, prefix='user.' - ) - except ValueError: - self.logger.info(f"Enrich contrib data is empty for {inc_source_issues['insert']}, the empty field is the user login.") + table_values_cntrb = self.db.execute( + s.sql.select(self.get_relevant_columns(self.contributors_table,cntrb_action_map)) + ).fetchall() - issues_insert = [ - { - 'repo_id': self.repo_id, - 'reporter_id': issue['cntrb_id'], - 'pull_request': ( - issue['pull_request']['url'].split('/')[-1] - if is_valid_pr_block(issue) else None - ), - 'pull_request_id': ( - issue['pull_request']['url'].split('/')[-1] - if is_valid_pr_block(issue) else None - ), - 'created_at': issue['created_at'], - 'issue_title': issue['title'], - 'issue_body': issue['body'].replace('0x00', '____') if issue['body'] else None, - 'comment_count': issue['comments'], - 'updated_at': issue['updated_at'], - 'closed_at': issue['closed_at'], - 'repository_url': issue['repository_url'], - 'issue_url': issue['url'], - 'labels_url': issue['labels_url'], - 'comments_url': issue['comments_url'], - 'events_url': issue['events_url'], - 'html_url': issue['html_url'], - 'issue_state': issue['state'], - 'issue_node_id': issue['node_id'], - 'gh_issue_id': issue['id'], - 'gh_issue_number': issue['number'], - 'gh_user_id': issue['user']['id'], - 'tool_source': self.tool_source, - 'tool_version': self.tool_version, - 'data_source': self.data_source - } for issue in inc_source_issues['insert'] - ] - - if len(inc_source_issues['insert']) > 0 or len(inc_source_issues['update']) > 0: - issues_insert_result, issues_update_result = self.bulk_insert( - self.issues_table, update=inc_source_issues['update'], - unique_columns=action_map['insert']['augur'], - insert=issues_insert, update_columns=action_map['update']['augur'] - ) + self.logger.info(f"table_values_cntrb type: {type(table_values_cntrb)}") + self.logger.info(f"table_values_cntrb keys: {table_values_cntrb[0].keys()}") - source_data = inc_source_issues['insert'] + inc_source_issues['update'] - - elif not self.deep_collection: - self.logger.info( - "There are not issues to update, insert, or collect nested information for.\n" - ) - #This might cause problems if staggered. - #self.register_task_completion(entry_info, self.repo_id, 'issues') - return - - if self.deep_collection: - source_data = inc_source_issues['all'] - - gh_merge_fields = ['id'] - augur_merge_fields = ['gh_issue_id'] - - self.pk_source_issues += self.enrich_data_primary_keys( - source_data, self.issues_table, gh_merge_fields, augur_merge_fields - ) + source_data = expanded_source_df.to_dict(orient='records') + + self.logger.info(f"source_data type: {type(source_data)}") + self.logger.info(f"source_data keys: {source_data[0].keys()}") + + #This returns the max id + 1 so we undo that here. + cntrb_id_offset = self.get_max_id(self.contributors_table, 'cntrb_id') - 1 + + # loop through data to test if it is already in the database + for index, data in enumerate(source_data): + + self.logger.info(f"Enriching {index} of {len(source_data)}") + + # create an array of gh_user_ids that are in the database + gh_user_ids = [] + for row in table_values_cntrb: + if row: + gh_user_ids.append(row['gh_user_id']) + + # self.logger.info(f"Users gh_user_id: {data['user.id']}") + # in_user_ids = False + # if data['user.id'] in gh_user_ids: + # in_user_ids = True + # self.logger.info(f"{data['user.id']} is in gh_user_ids") + + # self.logger.info(f"gh_user_ids len: {len(gh_user_ids)}") + # self.logger.info(f"table_values_cntrb len: {len(table_values_cntrb)}") + + #self.logger.info(f"cntrb logins length: {len(cntrb_logins)}") + #if user.id is in the database then there is no need to add the contributor + if data[f'{prefix}.id'] in gh_user_ids: + + self.logger.info("{} found in database".format(data[f'{prefix}.id'])) + + #gets the dict from the table_values_cntrb that contains data['user.id'] + user_id_row = list(filter(lambda x: x['gh_user_id'] == data[f'{prefix}.id'], table_values_cntrb))[0] + + #assigns the cntrb_id to the source data to be returned to the workers + data['cntrb_id'] = user_id_row['cntrb_id'] + self.logger.info(f"cntrb_id {data['cntrb_id']} found in database and assigned to enriched data") + + #contributor is not in the database + else: + + self.logger.info("{} not in database, making api call".format(data[f'{prefix}.id'])) + + url = ("https://api.github.com/users/" + data[f'{prefix}.login']) + + attempts = 0 + + while attempts < 10: + try: + attempts += 1 + self.logger.info("Hitting endpoint: " + url + " ...\n") + response = requests.get(url=url , headers=self.headers) + break + except TimeoutError: + self.logger.info(f"User data request for enriching contributor data failed with {attempts} attempts! Trying again...") + time.sleep(10) + continue + + try: + self.logger.info("Hitting endpoint: " + url + " ...\n") + response = requests.get(url=url , headers=self.headers) + except Exception as e: + self.logger.error(f"Unable to hit the endpoint {url}") + raise e + + try: + contributor = response.json() + except: + contributor = json.loads(json.dumps(response.text)) + + self.logger.info(f"Contributor data: {contributor}") + + cntrb = { + "cntrb_login": contributor['login'], + "cntrb_created_at": contributor['created_at'], + "cntrb_email": contributor['email'] if 'email' in contributor else None, + "cntrb_company": contributor['company'] if 'company' in contributor else None, + "cntrb_location": contributor['location'] if 'location' in contributor else None, + # "cntrb_type": , dont have a use for this as of now ... let it default to null + "cntrb_canonical": contributor['email'] if 'email' in contributor else None, + "gh_user_id": contributor['id'], + "gh_login": contributor['login'], + "gh_url": contributor['url'], + "gh_html_url": contributor['html_url'], + "gh_node_id": contributor['node_id'], + "gh_avatar_url": contributor['avatar_url'], + "gh_gravatar_id": contributor['gravatar_id'], + "gh_followers_url": contributor['followers_url'], + "gh_following_url": contributor['following_url'], + "gh_gists_url": contributor['gists_url'], + "gh_starred_url": contributor['starred_url'], + "gh_subscriptions_url": contributor['subscriptions_url'], + "gh_organizations_url": contributor['organizations_url'], + "gh_repos_url": contributor['repos_url'], + "gh_events_url": contributor['events_url'], + "gh_received_events_url": contributor['received_events_url'], + "gh_type": contributor['type'], + "gh_site_admin": contributor['site_admin'], + "tool_source": self.tool_source, + "tool_version": self.tool_version, + "data_source": self.data_source + } + + #insert new contributor into database + self.db.execute(self.contributors_table.insert().values(cntrb)) + + # increment cntrb_id offset + # keeps track of the next cntrb_id primary key without making extra db queries + cntrb_id_offset += 1 - return + #assigns the cntrb_id to the source data to be returned to the workers + data['cntrb_id'] = cntrb_id_offset + self.logger.info(f"cntrb_id {data['cntrb_id']} found with api call and assigned to enriched data") + # add cntrb_id to data and append it to table_values_cntrb + # so duplicate cntrbs within the same data set aren't added + #cntrb['cntrb_id'] = cntrb_id_offset - source_issues = self.paginate_endpoint( - issues_url, action_map=action_map, - table=self.issues_table, where_clause=self.issues_table.c.repo_id == self.repo_id, - stagger=True,insertion_method=pk_source_issues_increment_insert + + cntrb_data = { + 'cntrb_id': cntrb_id_offset, + 'gh_node_id': cntrb['gh_node_id'], + 'cntrb_login': cntrb['cntrb_login'], + 'gh_user_id': cntrb['gh_user_id'] + } + table_values_cntrb.append(cntrb_data) + + self.logger.info( + "Contributor id enrichment successful, result has " + f"{len(source_data)} data points.\n" + ) + return source_data + + + + + + + + # source_cntrb_insert, _ = self.organize_needed_data( + # expanded_source_df.to_dict(orient='records'), table_values=table_values_cntrb, + # action_map=cntrb_action_map + # ) + + # cntrb_insert = [ + # { + # 'cntrb_login': contributor[f'{prefix}login'], + # 'cntrb_created_at': None if ( + # f'{prefix}created_at' not in contributor + # ) else contributor[f'{prefix}created_at'], + # 'cntrb_email': None if f'{prefix}email' not in contributor else contributor[f'{prefix}email'], + # 'cntrb_company': None if f'{prefix}company' not in contributor else contributor[f'{prefix}company'], + # 'cntrb_location': None if ( + # f'{prefix}location' not in contributor + # ) else contributor[f'{prefix}location'], + # 'gh_user_id': None if ( + # not contributor[f'{prefix}id'] + # ) else int(float(contributor[f'{prefix}id'])), + # 'gh_login': contributor[f'{prefix}login'], + # 'gh_url': contributor[f'{prefix}url'], + # 'gh_html_url': contributor[f'{prefix}html_url'], + # 'gh_node_id': contributor[f'{prefix}node_id'], #valid for dup check + # 'gh_avatar_url': contributor[f'{prefix}avatar_url'], + # 'gh_gravatar_id': contributor[f'{prefix}gravatar_id'], + # 'gh_followers_url': contributor[f'{prefix}followers_url'], + # 'gh_following_url': contributor[f'{prefix}following_url'], + # 'gh_gists_url': contributor[f'{prefix}gists_url'], + # 'gh_starred_url': contributor[f'{prefix}starred_url'], + # 'gh_subscriptions_url': contributor[f'{prefix}subscriptions_url'], + # 'gh_organizations_url': contributor[f'{prefix}organizations_url'], + # 'gh_repos_url': contributor[f'{prefix}repos_url'], + # 'gh_events_url': contributor[f'{prefix}events_url'], + # 'gh_received_events_url': contributor[f'{prefix}received_events_url'], + # 'gh_type': contributor[f'{prefix}type'], + # 'gh_site_admin': contributor[f'{prefix}site_admin'], + # 'tool_source': self.tool_source, + # 'tool_version': self.tool_version, + # 'data_source': self.data_source + # } for contributor in source_cntrb_insert if contributor[f'{prefix}login'] + # ] + # + # try: + # self.bulk_insert(self.contributors_table, cntrb_insert) + # except s.exc.IntegrityError: + # self.logger.info("Unique Violation in contributors table! ") + # + # # Query db for inserted cntrb pkeys and add to shallow level of data + # + # # Query + # cntrb_pk_name = list(self.contributors_table.primary_key)[0].name + # session = s.orm.Session(self.db) + # inserted_pks = pd.DataFrame( + # session.query( + # self.contributors_table.c[cntrb_pk_name], self.contributors_table.c.cntrb_login, + # self.contributors_table.c.gh_node_id + # ).distinct(self.contributors_table.c.cntrb_login).order_by( + # self.contributors_table.c.cntrb_login, self.contributors_table.c[cntrb_pk_name] + # ).all(), columns=[cntrb_pk_name, 'cntrb_login', 'gh_node_id'] + # ).to_dict(orient='records') + # session.close() + # + # # Prepare for merge + # source_columns = sorted(list(source_df.columns)) + # necessary_columns = sorted(list(set(source_columns + cntrb_action_map['insert']['source']))) + # (source_table, inserted_pks_table), metadata, session = self._setup_postgres_merge( + # [ + # expanded_source_df[necessary_columns].to_dict(orient='records'), + # inserted_pks + # ], sort=True + # ) + # final_columns = [cntrb_pk_name] + sorted(list(set(necessary_columns))) + # + # # Merge + # source_pk = pd.DataFrame( + # session.query( + # inserted_pks_table.c.cntrb_id, source_table + # ).join( + # source_table, + # eval( + # ' and '.join( + # [ + # ( + # f"inserted_pks_table.c['{table_column}'] " + # f"== source_table.c['{source_column}']" + # ) for table_column, source_column in zip( + # cntrb_action_map['insert']['augur'], + # cntrb_action_map['insert']['source'] + # ) + # ] + # ) + # ) + # ).all(), columns=final_columns + # ) + # + # # Cleanup merge + # source_pk = self._eval_json_columns(source_pk) + # self._close_postgres_merge(metadata, session) + + self.logger.info( + "Contributor id enrichment successful, result has " + f"{len(source_pk)} data points.\n" ) - #Use the increment insert method in order to do the - #remaining pages of the paginated endpoint that weren't inserted inside the paginate_endpoint method - pk_source_issues_increment_insert(source_issues,action_map) + return source_pk.to_dict(orient='records') - pk_source_issues = self.pk_source_issues - self.pk_source_issues = [] - - return pk_source_issues + def query_github_contributors(self, entry_info, repo_id): - def issues_model(self, entry_info, repo_id): """ Data collection function - Query the GitHub API for issues + Query the GitHub API for contributors """ + self.logger.info(f"Querying contributors with given entry info: {entry_info}\n") - github_url = entry_info['given']['github_url'] + ## It absolutely doesn't matter if the contributor has already contributoed to a repo. it only matters that they exist in our table, and + ## if the DO, then we DO NOT want to insert them again in any GitHub Method. + github_url = entry_info['given']['github_url'] if 'github_url' in entry_info['given'] else entry_info['given']['git_url'] - # Contributors are part of this model, and finding all for the repo saves us - # from having to add them as we discover committers in the issue process - # self.query_github_contributors(entry_info, self.repo_id) + # Extract owner/repo from the url for the endpoint + owner, name = self.get_owner_repo(github_url) - pk_source_issues = self._get_pk_source_issues() - if pk_source_issues: - self.issue_comments_model(pk_source_issues) - issue_events_all = self.issue_events_model(pk_source_issues) - self.issue_nested_data_model(pk_source_issues, issue_events_all) - - # Register this task as completed - self.register_task_completion(entry_info, self.repo_id, 'issues') - - def issue_comments_model(self, pk_source_issues): - # https://api.github.com/repos/chaoss/augur/issues/comments - comments_url = ( - f"https://api.github.com/repos/{self.owner}/{self.repo}" - "/issues/comments?per_page=100&page={}" + # Set the base of the url and place to hold contributors to insert + contributors_url = ( + f"https://api.github.com/repos/{owner}/{name}/" + + "contributors?per_page=100&page={}" ) # Get contributors that we already have stored # Set our duplicate and update column map keys (something other than PK) to # check dupicates/needed column updates with - comment_action_map = { - 'insert': { - 'source': ['created_at', 'body'], - 'augur': ['msg_timestamp', 'msg_text'] - } - } + table = 'contributors' + table_pkey = 'cntrb_id' + update_col_map = {'cntrb_email': 'email'} + duplicate_col_map = {'cntrb_login': 'login'} - def issue_comments_insert(inc_issue_comments, comment_action_map): + #list to hold contributors needing insertion or update + contributors = self.paginate(contributors_url, duplicate_col_map, update_col_map, table, table_pkey) - inc_issue_comments['insert'] = self.text_clean(inc_issue_comments['insert'], 'body') + self.logger.info("Count of contributors needing insertion: " + str(len(contributors)) + "\n") + for repo_contributor in contributors: try: - inc_issue_comments['insert'] = self.enrich_cntrb_id( - inc_issue_comments['insert'], 'user.login', action_map_additions={ - 'insert': { - 'source': ['user.node_id'], - 'augur': ['gh_node_id'] - } - }, prefix='user.' + # Need to hit this single contributor endpoint to get extra data including... + # `created at` + # i think that's it + cntrb_url = ("https://api.github.com/users/" + repo_contributor['login']) + self.logger.info("Hitting endpoint: " + cntrb_url + " ...\n") + r = requests.get(url=cntrb_url, headers=self.headers) + self.update_gh_rate_limit(r) + contributor = r.json() + + company = None + location = None + email = None + if 'company' in contributor: + company = contributor['company'] + if 'location' in contributor: + location = contributor['location'] + if 'email' in contributor: + email = contributor['email'] + canonical_email = contributor['email'] + + cntrb = { + "cntrb_login": contributor['login'], + "cntrb_created_at": contributor['created_at'], + "cntrb_email": email, + "cntrb_company": company, + "cntrb_location": location, + # "cntrb_type": , dont have a use for this as of now ... let it default to null + "cntrb_canonical": canonical_email, + "gh_user_id": contributor['id'], + "gh_login": contributor['login'], + "gh_url": contributor['url'], + "gh_html_url": contributor['html_url'], + "gh_node_id": contributor['node_id'], #This is what we are dup checking + "gh_avatar_url": contributor['avatar_url'], + "gh_gravatar_id": contributor['gravatar_id'], + "gh_followers_url": contributor['followers_url'], + "gh_following_url": contributor['following_url'], + "gh_gists_url": contributor['gists_url'], + "gh_starred_url": contributor['starred_url'], + "gh_subscriptions_url": contributor['subscriptions_url'], + "gh_organizations_url": contributor['organizations_url'], + "gh_repos_url": contributor['repos_url'], + "gh_events_url": contributor['events_url'], + "gh_received_events_url": contributor['received_events_url'], + "gh_type": contributor['type'], + "gh_site_admin": contributor['site_admin'], + "tool_source": self.tool_source, + "tool_version": self.tool_version, + "data_source": self.data_source + } + #dup check + #TODO: add additional fields to check if needed. + existingMatchingContributors = self.db.execute( + self.sql.select( + [self.contributors_table.c.gh_node_id] + ).where( + self.contributors_table.c.gh_node_id==cntrb["gh_node_id"] + ).fetchall() ) - except ValueError: - self.logger.info(f"Enrich contrib data is empty for {inc_issue_comments['insert']}, the empty field is the user login.") - issue_comments_insert = [ - { - 'pltfrm_id': self.platform_id, - 'msg_text': comment['body'], - 'msg_timestamp': comment['created_at'], - 'cntrb_id': comment['cntrb_id'], - 'tool_source': self.tool_source, - 'tool_version': self.tool_version, - 'data_source': self.data_source - } for comment in inc_issue_comments['insert'] - ] - - self.bulk_insert(self.message_table, insert=issue_comments_insert, - unique_columns=comment_action_map['insert']['augur']) - - """ ISSUE MESSAGE REF TABLE """ - - c_pk_source_comments = self.enrich_data_primary_keys( - inc_issue_comments['insert'], self.message_table, - comment_action_map['insert']['source'], comment_action_map['insert']['augur'] - ) - both_pk_source_comments = self.enrich_data_primary_keys( - c_pk_source_comments, self.issues_table, ['issue_url'], ['issue_url'] - ) + if len(existingMatchingContributors) > 0: + break #if contributor already exists in table - issue_message_ref_insert = [ - { - 'issue_id': comment['issue_id'], - 'msg_id': comment['msg_id'], - 'tool_source': self.tool_source, - 'tool_version': self.tool_version, - 'data_source': self.data_source, - 'issue_msg_ref_src_comment_id': comment['id'], - 'issue_msg_ref_src_node_id': comment['node_id'] - } for comment in both_pk_source_comments - ] - - self.bulk_insert( - self.issue_message_ref_table, insert=issue_message_ref_insert, - unique_columns=['issue_msg_ref_src_comment_id'] - ) - # list to hold contributors needing insertion or update - issue_comments = self.paginate_endpoint( - comments_url, action_map=comment_action_map, table=self.message_table, - where_clause=self.message_table.c.msg_id.in_( - [ - msg_row[0] for msg_row in self.db.execute( - s.sql.select( - [self.issue_message_ref_table.c.msg_id] - ).where( - self.issue_message_ref_table.c.issue_id.in_( - set(pd.DataFrame(pk_source_issues)['issue_id']) - ) - ) - ).fetchall() - ] - ), - stagger=True, - insertion_method=issue_comments_insert - ) + # Commit insertion to table + if repo_contributor['flag'] == 'need_update': + result = self.db.execute(self.contributors_table.update().where( + self.worker_history_table.c.cntrb_email==email).values(cntrb)) + self.logger.info("Updated tuple in the contributors table with existing email: {}".format(email)) + self.cntrb_id_inc = repo_contributor['pkey'] + elif repo_contributor['flag'] == 'need_insertion': + result = self.db.execute(self.contributors_table.insert().values(cntrb)) + self.logger.info("Primary key inserted into the contributors table: {}".format(result.inserted_primary_key)) + self.results_counter += 1 + self.logger.info("Inserted contributor: " + contributor['login'] + "\n") - issue_comments_insert(issue_comments,comment_action_map) - return + # Increment our global track of the cntrb id for the possibility of it being used as a FK + self.cntrb_id_inc = int(result.inserted_primary_key[0]) - def issue_events_model(self, pk_source_issues): + except Exception as e: + self.logger.error("Caught exception: {}".format(e)) + self.logger.error("Cascading Contributor Anomalie from missing repo contributor data: {} ...\n".format(cntrb_url)) + continue - # Get events ready in case the issue is closed and we need to insert the closer's id - events_url = ( - f"https://api.github.com/repos/{self.owner}/{self.repo}" - "/issues/events?per_page=100&page={}" - ) - # Get events that we already have stored - # Set pseudo key (something other than PK) to - # check dupicates with - event_action_map = { + def query_github_contributors_bulk(self, entry_info, repo_id): + + """ Data collection function + Query the GitHub API for contributors + """ + self.logger.info(f"Querying contributors with given entry info: {entry_info}\n") + + github_url = entry_info['given']['github_url'] if 'github_url' in entry_info['given'] else entry_info['given']['git_url'] + + owner, name = self.get_owner_repo(github_url) + + contributors_url = (f"https://api.github.com/repos/{owner}/{name}/" + + "contributors?per_page=100&page={}") + + action_map = { 'insert': { - 'source': ['url'], - 'augur': ['node_url'] + 'source': ['login'], + 'augur': ['cntrb_login'] + }, + 'update': { + 'source': ['email'], + 'augur': ['cntrb_email'] } } - self.logger.info(pk_source_issues[0]) - self.logger.info(pd.DataFrame(pk_source_issues).columns) - self.logger.info(pd.DataFrame(pk_source_issues)) - #list to hold contributors needing insertion or update - issue_events = self.paginate_endpoint( - events_url, table=self.issue_events_table, action_map=event_action_map, - where_clause=self.issue_events_table.c.issue_id.in_( - set(pd.DataFrame(pk_source_issues)['issue_id']) - ) + source_contributors = self.paginate_endpoint(contributors_url, action_map=action_map, + table=self.contributors_table) + + contributors_insert = [] + + for repo_contributor in source_contributors['insert']: + # Need to hit this single contributor endpoint to get extra data + cntrb_url = (f"https://api.github.com/users/{repo_contributor['login']}") + self.logger.info(f"Hitting endpoint: {cntrb_url} ...\n") + r = requests.get(url=cntrb_url, headers=self.headers) + self.update_gh_rate_limit(r) + contributor = r.json() + + contributors_insert.append({ + 'cntrb_login': contributor['login'], + 'cntrb_created_at': contributor['created_at'], + 'cntrb_email': contributor['email'] if 'email' in contributor else None, + 'cntrb_company': contributor['company'] if 'company' in contributor else None, + 'cntrb_location': contributor['location'] if 'location' in contributor else None, + 'cntrb_canonical': contributor['email'] if 'email' in contributor else None, + 'gh_user_id': contributor['id'], + 'gh_login': contributor['login'], + 'gh_url': contributor['url'], + 'gh_html_url': contributor['html_url'], + 'gh_node_id': contributor['node_id'], + 'gh_avatar_url': contributor['avatar_url'], + 'gh_gravatar_id': contributor['gravatar_id'], + 'gh_followers_url': contributor['followers_url'], + 'gh_following_url': contributor['following_url'], + 'gh_gists_url': contributor['gists_url'], + 'gh_starred_url': contributor['starred_url'], + 'gh_subscriptions_url': contributor['subscriptions_url'], + 'gh_organizations_url': contributor['organizations_url'], + 'gh_repos_url': contributor['repos_url'], + 'gh_events_url': contributor['events_url'], + 'gh_received_events_url': contributor['received_events_url'], + 'gh_type': contributor['type'], + 'gh_site_admin': contributor['site_admin'], + 'tool_source': self.tool_source, + 'tool_version': self.tool_version, + 'data_source': self.data_source + }) + + contributors_insert_result, contributors_update_result = self.bulk_insert(self.contributors_table, + update=source_contributors['update'], unique_columns=action_map['insert']['augur'], + insert=contributors_insert, update_columns=action_map['update']['augur']) + + def query_github_contributors_fast(self, entry_info, repo_id): + """ Data collection function + Query the GitHub API for contributors + """ + self.logger.info(f"Querying contributors with given entry info: {entry_info}") + + github_url = ( + entry_info['given']['github_url'] if 'github_url' in entry_info['given'] + else entry_info['given']['git_url'] ) - pk_issue_events = self.enrich_data_primary_keys( - issue_events['insert'], self.issues_table, ['issue.id'], ['gh_issue_id'] + contributors_url = ( + f"https://api.github.com/repos/{self.owner}/{self.name}/" + "contributors?per_page=100&page={}" ) - if len(pk_issue_events): - pk_issue_events = pd.DataFrame(pk_issue_events)[ - ['id', 'issue_id', 'node_id', 'url', 'actor', 'created_at', 'event', 'commit_id'] - ].to_dict(orient='records') + action_map = { + 'insert': { + 'source': ['login'], + 'augur': ['cntrb_login'] + }, + 'update': { + 'source': ['email'], + 'augur': ['cntrb_email'] + } + } - try: - pk_issue_events = self.enrich_cntrb_id( - pk_issue_events, 'actor.login', action_map_additions={ - 'insert': { - 'source': ['actor.node_id'], - 'augur': ['gh_node_id'] - } - }, prefix='actor.' - ) - except ValueError: - self.logger.info(f"Enrich contrib data is empty for {pk_issue_events}, the empty field is the user login.") + source_contributors = self.paginate_endpoint( + contributors_url, action_map=action_map, table=self.contributors_table + ) - issue_events_insert = [ + contributors_insert = [ { - 'issue_event_src_id': event['id'], - 'issue_id': event['issue_id'], - 'node_id': event['node_id'], - 'node_url': event['url'], - 'cntrb_id': event['cntrb_id'], - 'created_at': event['created_at'], - 'action': event['event'], - 'action_commit_hash': event['commit_id'], + 'cntrb_login': contributor['login'], + 'cntrb_created_at': ( + contributor['created_at'] if 'created_at' in contributor else None + ), + 'cntrb_email': contributor['email'] if 'email' in contributor else None, + 'cntrb_company': contributor['company'] if 'company' in contributor else None, + 'cntrb_location': contributor['location'] if 'location' in contributor else None, + 'cntrb_canonical': contributor['email'] if 'email' in contributor else None, + 'gh_user_id': contributor['id'], + 'gh_login': contributor['login'], + 'gh_url': contributor['url'], + 'gh_html_url': contributor['html_url'], + 'gh_node_id': contributor['node_id'], + 'gh_avatar_url': contributor['avatar_url'], + 'gh_gravatar_id': contributor['gravatar_id'], + 'gh_followers_url': contributor['followers_url'], + 'gh_following_url': contributor['following_url'], + 'gh_gists_url': contributor['gists_url'], + 'gh_starred_url': contributor['starred_url'], + 'gh_subscriptions_url': contributor['subscriptions_url'], + 'gh_organizations_url': contributor['organizations_url'], + 'gh_repos_url': contributor['repos_url'], + 'gh_events_url': contributor['events_url'], + 'gh_received_events_url': contributor['received_events_url'], + 'gh_type': contributor['type'], + 'gh_site_admin': contributor['site_admin'], 'tool_source': self.tool_source, 'tool_version': self.tool_version, 'data_source': self.data_source - } for event in pk_issue_events if event['actor'] is not None + } for contributor in source_contributors['insert'] ] self.bulk_insert( - self.issue_events_table, insert=issue_events_insert, - unique_columns=event_action_map['insert']['augur'] + self.contributors_table, update=source_contributors['update'], + unique_columns=action_map['insert']['augur'], + insert=contributors_insert, update_columns=action_map['update']['augur'] ) - return issue_events['all'] - - def issue_nested_data_model(self, pk_source_issues, issue_events_all): + def update_gitlab_rate_limit(self, response, bad_credentials=False, temporarily_disable=False): + # Try to get rate limit from request headers, sometimes it does not work (GH's issue) + # In that case we just decrement from last recieved header count + if bad_credentials and len(self.oauths) > 1: + self.logger.info( + f"Removing oauth with bad credentials from consideration: {self.oauths[0]}" + ) + del self.oauths[0] - closed_issue_updates = [] + if temporarily_disable: + self.logger.info("Gitlab rate limit reached. Temp. disabling...") + self.oauths[0]['rate_limit'] = 0 + else: + try: + self.oauths[0]['rate_limit'] = int(response.headers['RateLimit-Remaining']) + except: + self.oauths[0]['rate_limit'] -= 1 + self.logger.info("Updated rate limit, you have: " + + str(self.oauths[0]['rate_limit']) + " requests remaining.") + if self.oauths[0]['rate_limit'] <= 0: + try: + reset_time = response.headers['RateLimit-Reset'] + except Exception as e: + self.logger.info(f"Could not get reset time from headers because of error: {e}") + reset_time = 3600 + time_diff = datetime.datetime.fromtimestamp(int(reset_time)) - datetime.datetime.now() + self.logger.info("Rate limit exceeded, checking for other available keys to use.") + + # We will be finding oauth with the highest rate limit left out of our list of oauths + new_oauth = self.oauths[0] + # Endpoint to hit solely to retrieve rate limit information from headers of the response + url = "https://gitlab.com/api/v4/version" + + other_oauths = self.oauths[0:] if len(self.oauths) > 1 else [] + for oauth in other_oauths: + # self.logger.info("Inspecting rate limit info for oauth: {}\n".format(oauth)) + self.headers = {"PRIVATE-TOKEN" : oauth['access_token']} + response = requests.get(url=url, headers=self.headers) + oauth['rate_limit'] = int(response.headers['RateLimit-Remaining']) + oauth['seconds_to_reset'] = ( + datetime.datetime.fromtimestamp( + int(response.headers['RateLimit-Reset']) + ) - datetime.datetime.now() + ).total_seconds() + + # Update oauth to switch to if a higher limit is found + if oauth['rate_limit'] > new_oauth['rate_limit']: + self.logger.info(f"Higher rate limit found in oauth: {oauth}") + new_oauth = oauth + elif ( + oauth['rate_limit'] == new_oauth['rate_limit'] + and oauth['seconds_to_reset'] < new_oauth['seconds_to_reset'] + ): + self.logger.info( + f"Lower wait time found in oauth with same rate limit: {oauth}" + ) + new_oauth = oauth - skip_closed_issue_update = False - if len(issue_events_all): - events_df = pd.DataFrame( - self._get_data_set_columns( - issue_events_all, [ - 'event', 'issue.number', 'actor.login', 'actor.node_id', 'actor' - ] + if new_oauth['rate_limit'] <= 0 and new_oauth['seconds_to_reset'] > 0: + self.logger.info( + "No oauths with >0 rate limit were found, waiting for oauth with " + f"smallest wait time: {new_oauth}\n" ) + time.sleep(new_oauth['seconds_to_reset']) + + # Make new oauth the 0th element in self.oauths so we know which one is in use + index = self.oauths.index(new_oauth) + self.oauths[0], self.oauths[index] = self.oauths[index], self.oauths[0] + self.logger.info("Using oauth: {}\n".format(self.oauths[0])) + + # Change headers to be using the new oauth's key + self.headers = {"PRIVATE-TOKEN" : self.oauths[0]['access_token']} + + def update_gh_rate_limit(self, response, bad_credentials=False, temporarily_disable=False): + # Try to get rate limit from request headers, sometimes it does not work (GH's issue) + # In that case we just decrement from last recieved header count + if bad_credentials and len(self.oauths) > 1: + self.logger.warning( + f"Removing oauth with bad credentials from consideration: {self.oauths[0]}" + ) + del self.oauths[0] + + if temporarily_disable: + self.logger.debug( + "Github thinks we are abusing their api. Preventing use " + "of this key until its rate limit resets..." ) - events_df = events_df.loc[events_df.event == 'closed'] - - if len(events_df): - events_df = pd.DataFrame( - self.enrich_cntrb_id( - events_df.to_dict(orient='records'), 'actor.login', action_map_additions={ - 'insert': { - 'source': ['actor.node_id'], - 'augur': ['gh_node_id'] - } - }, prefix='actor.' + self.oauths[0]['rate_limit'] = 0 + else: + try: + self.oauths[0]['rate_limit'] = int(response.headers['X-RateLimit-Remaining']) + # self.logger.info("Recieved rate limit from headers\n") + except: + self.oauths[0]['rate_limit'] -= 1 + self.logger.info("Headers did not work, had to decrement") + self.logger.info( + f"Updated rate limit, you have: {self.oauths[0]['rate_limit']} requests remaining." + ) + if self.oauths[0]['rate_limit'] <= 0: + try: + reset_time = response.headers['X-RateLimit-Reset'] + except Exception as e: + self.logger.error(f"Could not get reset time from headers because of error: {e}") + reset_time = 3600 + time_diff = datetime.datetime.fromtimestamp(int(reset_time)) - datetime.datetime.now() + self.logger.info("Rate limit exceeded, checking for other available keys to use.") + + # We will be finding oauth with the highest rate limit left out of our list of oauths + new_oauth = self.oauths[0] + # Endpoint to hit solely to retrieve rate limit information from headers of the response + url = "https://api.github.com/users/gabe-heim" + + other_oauths = self.oauths[0:] if len(self.oauths) > 1 else [] + for oauth in other_oauths: + # self.logger.info("Inspecting rate limit info for oauth: {}\n".format(oauth)) + self.headers = {'Authorization': 'token %s' % oauth['access_token']} + + attempts = 3 + success = False + while attempts > 0 and not success: + response = requests.get(url=url, headers=self.headers) + try: + oauth['rate_limit'] = int(response.headers['X-RateLimit-Remaining']) + oauth['seconds_to_reset'] = ( + datetime.datetime.fromtimestamp( + int(response.headers['X-RateLimit-Reset']) + ) - datetime.datetime.now() + ).total_seconds() + success = True + except Exception as e: + self.logger.info( + f"oath method ran into error getting info from headers: {e}\n" + ) + self.logger.info(f"{self.headers}\n{url}\n") + attempts -= 1 + if not success: + continue + + # Update oauth to switch to if a higher limit is found + if oauth['rate_limit'] > new_oauth['rate_limit']: + self.logger.info("Higher rate limit found in oauth: {}\n".format(oauth)) + new_oauth = oauth + elif ( + oauth['rate_limit'] == new_oauth['rate_limit'] + and oauth['seconds_to_reset'] < new_oauth['seconds_to_reset'] + ): + self.logger.info( + f"Lower wait time found in oauth with same rate limit: {oauth}\n" ) + new_oauth = oauth + + if new_oauth['rate_limit'] <= 0 and new_oauth['seconds_to_reset'] > 0: + self.logger.info( + "No oauths with >0 rate limit were found, waiting for oauth with " + f"smallest wait time: {new_oauth}\n" ) - if not len(events_df): # no cntrb ids were available - skip_closed_issue_update = True - else: - skip_closed_issue_update = True - else: - skip_closed_issue_update = True + time.sleep(new_oauth['seconds_to_reset']) + + # Make new oauth the 0th element in self.oauths so we know which one is in use + index = self.oauths.index(new_oauth) + self.oauths[0], self.oauths[index] = self.oauths[index], self.oauths[0] + self.logger.info("Using oauth: {}\n".format(self.oauths[0])) - assignees_all = [] - labels_all = [] + # Change headers to be using the new oauth's key + self.headers = {'Authorization': 'token %s' % self.oauths[0]['access_token']} - def is_nan(value): - return type(value) == float and math.isnan(value) + #TODO: figure out if changing this typo breaks anything + def query_gitlab_contributors(self, entry_info, repo_id): - for issue in pk_source_issues: + gitlab_url = ( + entry_info['given']['gitlab_url'] if 'gitlab_url' in entry_info['given'] + else entry_info['given']['git_url'] + ) - # Issue Assignees - source_assignees = [ - assignee for assignee in issue['assignees'] if assignee - and not is_nan(assignee) - ] - if ( - issue['assignee'] not in source_assignees and issue['assignee'] - and not is_nan(issue['assignee']) - ): - source_assignees.append(issue['assignee']) - assignees_all += source_assignees + self.logger.info("Querying contributors with given entry info: " + str(entry_info) + "\n") - # Issue Labels - labels_all += issue['labels'] + path = urlparse(gitlab_url) + split = path[2].split('/') - # If the issue is closed, then we search for the closing event and store the user's id - if 'closed_at' in issue and not skip_closed_issue_update: + owner = split[1] + name = split[2] - try: - closed_event = events_df.loc[ - events_df['issue.number'] == issue['number'] - ].iloc[-1] - except IndexError: + # Handles git url case by removing the extension + if ".git" in name: + name = name[:-4] + + url_encoded_format = quote(owner + '/' + name, safe='') + + table = 'contributors' + table_pkey = 'cntrb_id' + ### Here we are adding gitlab user information from the API + ### Following Gabe's rework of the contributor worker. + + ### The GitLab API will NEVER give you an email. It will let you + ### Query an email, but never give you one. + ### ## Gitlab email api: https://gitlab.com/api/v4/users?search=s@goggins.com + ### We don't need to update right now, so commenting out. + ### TODO: SOLVE LOGIC. + # update_col_map = {'cntrb_email': 'email'} + update_col_map = {} + duplicate_col_map = {'gl_username': 'username'} + + # list to hold contributors needing insertion or update + contributors = self.paginate("https://gitlab.com/api/v4/projects/" + url_encoded_format + "/repository/contributors?per_page=100&page={}", duplicate_col_map, update_col_map, table, table_pkey, platform='gitlab') + + for repo_contributor in contributors: + try: + cntrb_compressed_url = ("https://gitlab.com/api/v4/users?search=" + repo_contributor['email']) + self.logger.info("Hitting endpoint: " + cntrb_compressed_url + " ...\n") + r = requests.get(url=cntrb_compressed_url, headers=self.headers) + contributor_compressed = r.json() + + email = repo_contributor['email'] + self.logger.info(contributor_compressed) + if len(contributor_compressed) == 0 or type(contributor_compressed) is dict or "id" not in contributor_compressed[0]: + continue + + self.logger.info("Fetching for user: " + str(contributor_compressed[0]["id"])) + + cntrb_url = ("https://gitlab.com/api/v4/users/" + str(contributor_compressed[0]["id"])) + self.logger.info("Hitting end point to get complete contributor info now: " + cntrb_url + "...\n") + r = requests.get(url=cntrb_url, headers=self.headers) + contributor = r.json() + + cntrb = { + "gl_id": contributor.get('gl_id', None), + "gl_full_name": contributor.get('full_name', None), + "gl_username": contributor.get('username', None), + "gl_state": contributor.get('state', None), + "gl_avatar_url": contributor.get('avatar_url', None), + "gl_web_url": contributor.get('web_url', None), + #"cntrb_login": contributor.get('username', None), + #"cntrb_created_at": contributor.get('created_at', None), + "cntrb_email": ('email', None), + #"cntrb_company": contributor.get('organization', None), + #"cntrb_location": contributor.get('location', None), + # "cntrb_type": , dont have a use for this as of now ... let it default to null + #"cntrb_canonical": contributor.get('public_email', None), + #"gh_user_id": contributor.get('id', None), + #"gh_login": contributor.get('username', None), + #"gh_url": contributor.get('web_url', None), + #"gh_html_url": contributor.get('web_url', None), + #"gh_node_id": None, + #"gh_avatar_url": contributor.get('avatar_url', None), + #"gh_gravatar_id": None, + #"gh_followers_url": None, + #"gh_following_url": None, + #"gh_gists_url": None, + #"gh_starred_url": None, + #"gh_subscriptions_url": None, + #"gh_organizations_url": None, + #"gh_repos_url": None, + #"gh_events_url": None, + #"gh_received_events_url": None, + #"gh_type": None, + #"gh_site_admin": None, + "tool_source": self.tool_source, + "tool_version": self.tool_version, + "data_source": self.data_source + } + + # Commit insertion to table + if repo_contributor['flag'] == 'need_update': + result = self.db.execute(self.contributors_table.update().where( + self.worker_history_table.c.cntrb_email == email).values(cntrb)) + self.logger.info("Updated tuple in the contributors table with existing email: {}".format(email)) + self.cntrb_id_inc = repo_contributor['pkey'] + elif repo_contributor['flag'] == 'need_insertion': + result = self.db.execute(self.contributors_table.insert().values(cntrb)) + self.logger.info("Primary key inserted into the contributors table: {}".format(result.inserted_primary_key)) + self.results_counter += 1 + + self.logger.info("Inserted contributor: " + contributor['username'] + "\n") + + # Increment our global track of the cntrb id for the possibility of it being used as a FK + self.cntrb_id_inc = int(result.inserted_primary_key[0]) + + except Exception as e: + self.logger.info("Caught exception: {}".format(e)) + self.logger.info("Cascading Contributor Anomalie from missing repo contributor data: {} ...\n".format(cntrb_url)) + continue + + + def update_gitlab_rate_limit(self, response, bad_credentials=False, temporarily_disable=False): + # Try to get rate limit from request headers, sometimes it does not work (GH's issue) + # In that case we just decrement from last recieved header count + if bad_credentials and len(self.oauths) > 1: + self.logger.info( + f"Removing oauth with bad credentials from consideration: {self.oauths[0]}" + ) + del self.oauths[0] + + if temporarily_disable: + self.logger.info("Gitlab rate limit reached. Temp. disabling...") + self.oauths[0]['rate_limit'] = 0 + else: + try: + self.oauths[0]['rate_limit'] = int(response.headers['RateLimit-Remaining']) + except: + self.oauths[0]['rate_limit'] -= 1 + self.logger.info("Updated rate limit, you have: " + + str(self.oauths[0]['rate_limit']) + " requests remaining.") + if self.oauths[0]['rate_limit'] <= 0: + try: + reset_time = response.headers['RateLimit-Reset'] + except Exception as e: + self.logger.info(f"Could not get reset time from headers because of error: {e}") + reset_time = 3600 + time_diff = datetime.datetime.fromtimestamp(int(reset_time)) - datetime.datetime.now() + self.logger.info("Rate limit exceeded, checking for other available keys to use.") + + # We will be finding oauth with the highest rate limit left out of our list of oauths + new_oauth = self.oauths[0] + # Endpoint to hit solely to retrieve rate limit information from headers of the response + url = "https://gitlab.com/api/v4/version" + + other_oauths = self.oauths[0:] if len(self.oauths) > 1 else [] + for oauth in other_oauths: + # self.logger.info("Inspecting rate limit info for oauth: {}\n".format(oauth)) + self.headers = {"PRIVATE-TOKEN" : oauth['access_token']} + response = requests.get(url=url, headers=self.headers) + oauth['rate_limit'] = int(response.headers['RateLimit-Remaining']) + oauth['seconds_to_reset'] = ( + datetime.datetime.fromtimestamp( + int(response.headers['RateLimit-Reset']) + ) - datetime.datetime.now() + ).total_seconds() + + # Update oauth to switch to if a higher limit is found + if oauth['rate_limit'] > new_oauth['rate_limit']: + self.logger.info(f"Higher rate limit found in oauth: {oauth}") + new_oauth = oauth + elif ( + oauth['rate_limit'] == new_oauth['rate_limit'] + and oauth['seconds_to_reset'] < new_oauth['seconds_to_reset'] + ): self.logger.info( - "Warning! We do not have the closing event of this issue stored. " - f"Pk: {issue['issue_id']}" + f"Lower wait time found in oauth with same rate limit: {oauth}" ) + new_oauth = oauth + + if new_oauth['rate_limit'] <= 0 and new_oauth['seconds_to_reset'] > 0: + self.logger.info( + "No oauths with >0 rate limit were found, waiting for oauth with " + f"smallest wait time: {new_oauth}\n" + ) + time.sleep(new_oauth['seconds_to_reset']) + + # Make new oauth the 0th element in self.oauths so we know which one is in use + index = self.oauths.index(new_oauth) + self.oauths[0], self.oauths[index] = self.oauths[index], self.oauths[0] + self.logger.info("Using oauth: {}\n".format(self.oauths[0])) + + # Change headers to be using the new oauth's key + self.headers = {"PRIVATE-TOKEN" : self.oauths[0]['access_token']} + + + def update_gh_rate_limit(self, response, bad_credentials=False, temporarily_disable=False): + # Try to get rate limit from request headers, sometimes it does not work (GH's issue) + # In that case we just decrement from last recieved header count + if bad_credentials and len(self.oauths) > 1: + self.logger.warning( + f"Removing oauth with bad credentials from consideration: {self.oauths[0]}" + ) + del self.oauths[0] + + if temporarily_disable: + self.logger.debug( + "Github thinks we are abusing their api. Preventing use " + "of this key until its rate limit resets..." + ) + self.oauths[0]['rate_limit'] = 0 + else: + try: + self.oauths[0]['rate_limit'] = int(response.headers['X-RateLimit-Remaining']) + # self.logger.info("Recieved rate limit from headers\n") + except: + self.oauths[0]['rate_limit'] -= 1 + self.logger.info("Headers did not work, had to decrement") + self.logger.info( + f"Updated rate limit, you have: {self.oauths[0]['rate_limit']} requests remaining." + ) + if self.oauths[0]['rate_limit'] <= 0: + try: + reset_time = response.headers['X-RateLimit-Reset'] + except Exception as e: + self.logger.error(f"Could not get reset time from headers because of error: {e}") + reset_time = 3600 + time_diff = datetime.datetime.fromtimestamp(int(reset_time)) - datetime.datetime.now() + self.logger.info("Rate limit exceeded, checking for other available keys to use.") + + # We will be finding oauth with the highest rate limit left out of our list of oauths + new_oauth = self.oauths[0] + # Endpoint to hit solely to retrieve rate limit information from headers of the response + url = "https://api.github.com/users/gabe-heim" + + other_oauths = self.oauths[0:] if len(self.oauths) > 1 else [] + for oauth in other_oauths: + # self.logger.info("Inspecting rate limit info for oauth: {}\n".format(oauth)) + self.headers = {'Authorization': 'token %s' % oauth['access_token']} + + attempts = 3 + success = False + while attempts > 0 and not success: + response = requests.get(url=url, headers=self.headers) + try: + oauth['rate_limit'] = int(response.headers['X-RateLimit-Remaining']) + oauth['seconds_to_reset'] = ( + datetime.datetime.fromtimestamp( + int(response.headers['X-RateLimit-Reset']) + ) - datetime.datetime.now() + ).total_seconds() + success = True + except Exception as e: + self.logger.info( + f"oath method ran into error getting info from headers: {e}\n" + ) + self.logger.info(f"{self.headers}\n{url}\n") + attempts -= 1 + if not success: continue - closed_issue_updates.append({ - 'b_issue_id': issue['issue_id'], - 'cntrb_id': closed_event['cntrb_id'] - }) + # Update oauth to switch to if a higher limit is found + if oauth['rate_limit'] > new_oauth['rate_limit']: + self.logger.info("Higher rate limit found in oauth: {}\n".format(oauth)) + new_oauth = oauth + elif ( + oauth['rate_limit'] == new_oauth['rate_limit'] + and oauth['seconds_to_reset'] < new_oauth['seconds_to_reset'] + ): + self.logger.info( + f"Lower wait time found in oauth with same rate limit: {oauth}\n" + ) + new_oauth = oauth - # Closed issues, update with closer id - self.bulk_insert( - self.issues_table, update=closed_issue_updates, unique_columns=['issue_id'], - update_columns=['cntrb_id'] + if new_oauth['rate_limit'] <= 0 and new_oauth['seconds_to_reset'] > 0: + self.logger.info( + "No oauths with >0 rate limit were found, waiting for oauth with " + f"smallest wait time: {new_oauth}\n" + ) + time.sleep(new_oauth['seconds_to_reset']) + + # Make new oauth the 0th element in self.oauths so we know which one is in use + index = self.oauths.index(new_oauth) + self.oauths[0], self.oauths[index] = self.oauths[index], self.oauths[0] + self.logger.info("Using oauth: {}\n".format(self.oauths[0])) + + # Change headers to be using the new oauth's key + self.headers = {'Authorization': 'token %s' % self.oauths[0]['access_token']} + + def update_rate_limit( + self, response, bad_credentials=False, temporarily_disable=False, platform="gitlab" + ): + if platform == 'gitlab': + return self.update_gitlab_rate_limit( + response, bad_credentials=bad_credentials, temporarily_disable=temporarily_disable + ) + elif platform == 'github': + return self.update_gh_rate_limit( + response, bad_credentials=bad_credentials, temporarily_disable=temporarily_disable + ) + + + #Indexerror somewhere + def multi_thread_urls(self, all_urls, max_attempts=5, platform='github'): + """ + :param all_urls: list of tuples + """ + + if not len(all_urls): + self.logger.info("No urls to multithread, returning blank list.\n") + return [] + + def load_url(url, extra_data={}): + try: + html = requests.get(url, stream=True, headers=self.headers) + return html, extra_data + except requests.exceptions.RequestException as e: + self.logger.info(e, url) + + self.logger.info("Beginning to multithread API endpoints.") + + start = time.time() + + all_data = [] + valid_url_count = len(all_urls) + + partitions = math.ceil(len(all_urls) / 600) + self.logger.info(f"{len(all_urls)} urls to process. Trying {partitions} partitions. " + + f"Using {max(multiprocessing.cpu_count()//8, 1)} threads.") + for urls in numpy.array_split(all_urls, partitions): + attempts = 0 + self.logger.info(f"Total data points collected so far: {len(all_data)}") + while len(urls) > 0 and attempts < max_attempts: + with concurrent.futures.ThreadPoolExecutor( + max_workers=max(multiprocessing.cpu_count()//8, 1) + ) as executor: + # Start the load operations and mark each future with its URL + future_to_url = {executor.submit(load_url, *url): url for url in urls} + self.logger.info("Multithreaded urls and returned status codes:") + count = 0 + for future in concurrent.futures.as_completed(future_to_url): + + if count % 100 == 0: + self.logger.info( + f"Processed {len(all_data)} / {valid_url_count} urls. " + f"{len(urls)} remaining in this partition." + ) + count += 1 + + url = future_to_url[future] + try: + response, extra_data = future.result() + + if response.status_code != 200: + self.logger.info( + f"Url: {url[0]} ; Status code: {response.status_code}" + ) + + if response.status_code == 403 or response.status_code == 401: # 403 is rate limit, 404 is not found, 401 is bad credentials + self.update_rate_limit(response, platform=platform) + continue + + elif response.status_code == 200: + try: + page_data = response.json() + except: + page_data = json.loads(json.dumps(response.text)) + + page_data = [{**data, **extra_data} for data in page_data] + all_data += page_data + + if 'last' in response.links and "&page=" not in url[0]: + urls += [ + (url[0] + f"&page={page}", extra_data) for page in range( + 2, int(response.links['last']['url'].split('=')[-1]) + 1 + ) + ] + try: + self.logger.info(f"urls boundry issue? for {urls} where they are equal to {url}.") + + urls = numpy.delete(urls, numpy.where(urls == url), axis=0) + except: + self.logger.info(f"ERROR with axis = 0 - Now attempting without setting axis for numpy.delete for {urls} where they are equal to {url}.") + urls = numpy.delete(urls, numpy.where(urls == url)) + + elif response.status_code == 404: + urls = numpy.delete(urls, numpy.where(urls == url), axis=0) + self.logger.info(f"Not found url: {url}\n") + else: + self.logger.info( + f"Unhandled response code: {response.status_code} {url}\n" + ) + + except Exception as e: + self.logger.info( + f"{url} generated an exception: {traceback.format_exc()}\n" + ) + + attempts += 1 + + self.logger.info( + f"Processed {valid_url_count} urls and got {len(all_data)} data points " + f"in {time.time() - start} seconds thanks to multithreading!\n" ) + return all_data - # Issue assignees insertion - assignee_action_map = { - 'insert': { - 'source': ['id'], - 'augur': ['issue_assignee_src_id'] - } - } - - table_values_issue_assignees = self.db.execute( - s.sql.select(self.get_relevant_columns(self.issue_assignees_table,assignee_action_map)) + + #insertion_method and stagger are arguments that allow paginate_endpoint to insert at around ~500 pages at a time. + def paginate_endpoint( + self, url, action_map={}, table=None, where_clause=True, platform='github', in_memory=True, stagger=False, insertion_method=None, insertion_threshold=500 + ): + + #Get augur columns using the action map along with the primary key + table_values = self.db.execute( + s.sql.select(self.get_relevant_columns(table, action_map)).where(where_clause) ).fetchall() - source_assignees_insert, _ = self.organize_needed_data( - assignees_all, table_values=table_values_issue_assignees, - action_map=assignee_action_map - ) + page_number = 1 + multiple_pages = False + need_insertion = [] + need_update = [] + + #Stores sum of page data + all_data = [] + forward_pagination = True + backwards_activation = False + last_page_number = -1 + + #Block to handle page queries and retry at least 10 times + while True: + + # Multiple attempts to hit endpoint + num_attempts = 0 + success = False + while num_attempts < 10: + self.logger.info(f"Hitting endpoint: {url.format(page_number)}...\n") + try: + response = requests.get(url=url.format(page_number), headers=self.headers) + except TimeoutError as e: + self.logger.info("Request timed out. Sleeping 10 seconds and trying again...\n") + time.sleep(10) + continue + + self.update_rate_limit(response, platform=platform) - source_assignees_insert = self.enrich_cntrb_id( - source_assignees_insert, 'login', action_map_additions={ - 'insert': { - 'source': ['node_id'], - 'augur': ['gh_node_id'] + try: + page_data = response.json() + except: + page_data = json.loads(json.dumps(response.text)) + + if type(page_data) == list: + success = True + break + elif type(page_data) == dict: + self.logger.info("Request returned a dict: {}\n".format(page_data)) + if page_data['message'] == "Not Found": + self.logger.warning( + "Github repo was not found or does not exist for endpoint: " + f"{url.format(page_number)}\n" + ) + break + if "You have triggered an abuse detection mechanism." in page_data['message']: + num_attempts -= 1 + self.update_rate_limit(response, temporarily_disable=True,platform=platform) + if page_data['message'] == "Bad credentials": + self.update_rate_limit(response, bad_credentials=True, platform=platform) + elif type(page_data) == str: + self.logger.info(f"Warning! page_data was string: {page_data}\n") + if "" in page_data: + self.logger.info("HTML was returned, trying again...\n") + elif len(page_data) == 0: + self.logger.warning("Empty string, trying again...\n") + else: + try: + page_data = json.loads(page_data) + success = True + break + except: + pass + num_attempts += 1 + if not success: + break + + # Success + + # Determine if continued pagination is needed + + if len(page_data) == 0: + self.logger.info("Response was empty, breaking from pagination.\n") + break + + all_data += page_data + + if not forward_pagination: + + # Checking contents of requests with what we already have in the db + page_insertions, page_updates = self.organize_needed_data( + page_data, table_values, list(table.primary_key)[0].name, + action_map, in_memory=True + ) + + # Reached a page where we already have all tuples + if len(need_insertion) == 0 and len(need_update) == 0 and \ + backwards_activation: + self.logger.info( + "No more pages with unknown tuples, breaking from pagination.\n" + ) + break + + need_insertion += page_insertions + need_update += page_updates + + # Find last page so we can decrement from there + if 'last' in response.links and last_page_number == -1: + if platform == 'github': + last_page_number = int(response.links['last']['url'][-6:].split('=')[1]) + elif platform == 'gitlab': + last_page_number = int(response.links['last']['url'].split('&')[2].split('=')[1]) + + if not forward_pagination and not backwards_activation: + page_number = last_page_number + backwards_activation = True + + self.logger.info("Analyzation of page {} of {} complete\n".format(page_number, + int(last_page_number) if last_page_number != -1 else "*last page not known*")) + + if (page_number <= 1 and not forward_pagination) or \ + (page_number >= last_page_number and forward_pagination): + self.logger.info("No more pages to check, breaking from pagination.\n") + break + + #This is probably where we should insert at around ~500 at a time + #makes sure that stagger is enabled, we have an insertion method, and the insertion happens every 500 pages or so. + if stagger and insertion_method != None and page_number % insertion_threshold == 0: + #call insertion method passed as argument. + staggered_source_prs = { + 'insert' : need_insertion, + 'update' : need_update, + 'all' : all_data } - } - ) - assignees_insert = [ - { - 'issue_id': issue['issue_id'], - 'cntrb_id': assignee['cntrb_id'], - 'tool_source': self.tool_source, - 'tool_version': self.tool_version, - 'data_source': self.data_source, - 'issue_assignee_src_id': assignee['id'], - 'issue_assignee_src_node': assignee['node_id'] - } for assignee in source_assignees_insert - ] - self.bulk_insert( - self.issue_assignees_table, insert=assignees_insert, - unique_columns=assignee_action_map['insert']['augur'] - ) + #Use the method the subclass needs in order to insert the data. + insertion_method(staggered_source_prs,action_map) - # Issue labels insertion - label_action_map = { - 'insert': { - 'source': ['id'], - 'augur': ['label_src_id'] - } + #clear the data from memory and avoid duplicate insertions. + need_insertion = [] + need_update = [] + all_data = [] + + page_number = page_number + 1 if forward_pagination else page_number - 1 + + if forward_pagination: + need_insertion, need_update = self.organize_needed_data( + all_data, table_values, list(table.primary_key)[0].name, action_map, + in_memory=in_memory + ) + + return { + 'insert': need_insertion, + 'update': need_update, + 'all': all_data } - table_values_issue_labels = self.db.execute( - s.sql.select(self.get_relevant_columns(self.issue_labels_table,label_action_map)) - ).fetchall() + #TODO: deprecated but still used by the issues worker. + def paginate(self, url, duplicate_col_map, update_col_map, table, table_pkey, where_clause="", value_update_col_map={}, platform="github"): + """ DEPRECATED + Paginate either backwards or forwards (depending on the value of the worker's + finishing_task attribute) through all the GitHub or GitLab api endpoint pages. + + :param url: String, the url of the API endpoint we are paginating through, expects + a curly brace string formatter within the string to format the Integer + representing the page number that is wanted to be returned + :param duplicate_col_map: Dictionary, maps the column names of the source data + to the field names in our database for columns that should be checked for + duplicates (if source data value == value in existing database row, then this + element is a duplicate and would not need an insertion). Key is source data + column name, value is database field name. Example: {'id': 'gh_issue_id'} + :param update_col_map: Dictionary, maps the column names of the source data + to the field names in our database for columns that should be checked for + updates (if source data value != value in existing database row, then an + update is needed). Key is source data column name, value is database field name. + Example: {'id': 'gh_issue_id'} + :param table: String, the name of the table that holds the values to check for + duplicates/updates against + :param table_pkey: String, the field name of the primary key of the table in + the database that we are getting the values for to cross-reference to check + for duplicates. + :param where_clause: String, optional where clause to filter the values + that are queried when preparing the values that will be cross-referenced + for duplicates/updates + :param value_update_col_map: Dictionary, sometimes we add a new field to a table, + and we want to trigger an update of that row in the database even if all of the + data values are the same and would not need an update ordinarily. Checking for + a specific existing value in the database field allows us to do this. The key is the + name of the field in the database we are checking for a specific value to trigger + an update, the value is the value we are checking for equality to trigger an update. + Example: {'cntrb_id': None} + :return: List of dictionaries, all data points from the pages of the specified API endpoint + each with a 'flag' key-value pair representing the required action to take with that + data point (i.e. 'need_insertion', 'need_update', 'none') + """ + update_keys = list(update_col_map.keys()) if update_col_map else [] + update_keys += list(value_update_col_map.keys()) if value_update_col_map else [] + cols_to_query = list(duplicate_col_map.keys()) + update_keys + [table_pkey] + table_values = self.get_table_values(cols_to_query, [table], where_clause) + + i = 1 + multiple_pages = False + tuples = [] + while True: + num_attempts = 0 + success = False + while num_attempts < 3: + self.logger.info(f'Hitting endpoint: {url.format(i)}...\n') + r = requests.get(url=url.format(i), headers=self.headers) + + self.update_rate_limit(r, platform=platform) + if 'last' not in r.links: + last_page = None + else: + if platform == "github": + last_page = r.links['last']['url'][-6:].split('=')[1] + elif platform == "gitlab": + last_page = r.links['last']['url'].split('&')[2].split("=")[1] + self.logger.info("Analyzing page {} of {}\n".format(i, int(last_page) + 1 if last_page is not None else '*last page not known*')) - source_labels_insert, _ = self.organize_needed_data( - labels_all, table_values=table_values_issue_labels, - action_map=label_action_map - ) - labels_insert = [ - { - 'issue_id': issue['issue_id'], - 'label_text': label['name'], - 'label_description': label['description'] if 'description' in label else None, - 'label_color': label['color'], - 'tool_source': self.tool_source, - 'tool_version': self.tool_version, - 'data_source': self.data_source, - 'label_src_id': label['id'], - 'label_src_node_id': label['node_id'] - } for label in source_labels_insert - ] + try: + j = r.json() + except: + j = json.loads(json.dumps(r.text)) + + if type(j) != dict and type(j) != str: + success = True + break + elif type(j) == dict: + self.logger.info("Request returned a dict: {}\n".format(j)) + if j['message'] == 'Not Found': + self.logger.warning("Github repo was not found or does not exist for endpoint: {}\n".format(url)) + break + if j['message'] == 'You have triggered an abuse detection mechanism. Please wait a few minutes before you try again.': + num_attempts -= 1 + self.logger.info("rate limit update code goes here") + self.update_rate_limit(r, temporarily_disable=True,platform=platform) + if j['message'] == 'Bad credentials': + self.logger.info("rate limit update code goes here") + self.update_rate_limit(r, bad_credentials=True, platform=platform) + elif type(j) == str: + self.logger.info(f'J was string: {j}\n') + if '' in j: + self.logger.info('HTML was returned, trying again...\n') + elif len(j) == 0: + self.logger.warning('Empty string, trying again...\n') + else: + try: + j = json.loads(j) + success = True + break + except: + pass + num_attempts += 1 + if not success: + break + + # Find last page so we can decrement from there + if 'last' in r.links and not multiple_pages and not self.finishing_task: + if platform == "github": + param = r.links['last']['url'][-6:] + i = int(param.split('=')[1]) + 1 + elif platform == "gitlab": + i = int(r.links['last']['url'].split('&')[2].split("=")[1]) + 1 + self.logger.info("Multiple pages of request, last page is " + str(i - 1) + "\n") + multiple_pages = True + elif not multiple_pages and not self.finishing_task: + self.logger.info("Only 1 page of request\n") + elif self.finishing_task: + self.logger.info("Finishing a previous task, paginating forwards ..." + " excess rate limit requests will be made\n") + + if len(j) == 0: + self.logger.info("Response was empty, breaking from pagination.\n") + break + + # Checking contents of requests with what we already have in the db + j = self.assign_tuple_action(j, table_values, update_col_map, duplicate_col_map, table_pkey, value_update_col_map) + + if not j: + self.logger.error("Assigning tuple action failed, moving to next page.\n") + i = i + 1 if self.finishing_task else i - 1 + continue + try: + to_add = [obj for obj in j if obj not in tuples and (obj['flag'] != 'none')] + except Exception as e: + self.logger.error("Failure accessing data of page: {}. Moving to next page.\n".format(e)) + i = i + 1 if self.finishing_task else i - 1 + continue + if len(to_add) == 0 and multiple_pages and 'last' in r.links: + self.logger.info("{}".format(r.links['last'])) + if platform == "github": + page_number = int(r.links['last']['url'][-6:].split('=')[1]) + elif platform == "gitlab": + page_number = int(r.links['last']['url'].split('&')[2].split("=")[1]) + if i - 1 != page_number: + self.logger.info("No more pages with unknown tuples, breaking from pagination.\n") + break + + tuples += to_add + + i = i + 1 if self.finishing_task else i - 1 + + # Since we already wouldve checked the first page... break + if (i == 1 and multiple_pages and not self.finishing_task) or i < 1 or len(j) == 0: + self.logger.info("No more pages to check, breaking from pagination.\n") + break + + return tuples + + def new_paginate_endpoint( + self, url, action_map={}, table=None, where_clause=True, platform='github' + ): + + page_number = 1 + multiple_pages = False + need_insertion = [] + need_update = [] + all_data = [] + forward_pagination = True + backwards_activation = False + last_page_number = -1 + while True: + + # Multiple attempts to hit endpoint + num_attempts = 0 + success = False + while num_attempts < 10: + self.logger.info("hitting an endpiont") + # f"Hitting endpoint: ...\n" + # f"{url.format(page_number)} on page number. \n") + try: + response = requests.get(url=url.format(page_number), headers=self.headers) + except TimeoutError as e: + self.logger.info("Request timed out. Sleeping 10 seconds and trying again...\n") + time.sleep(10) + continue - #Trying to fix an error with creating bigInts using pandas - try: - self.bulk_insert( - self.issue_labels_table, insert=labels_insert, - unique_columns=label_action_map['insert']['augur'] - ) - except psycopg2.errors.InvalidTextRepresentation as e: - #If there was an error constructing a type try to redo the insert with a conversion. - self.logger.warning(f"Type error when attempting to insert data in issue_nested_data_model with the github worker. Trying again with type conversion on. ERROR: {e} \n") - self.bulk_insert( - self.issue_labels_table, insert=labels_insert, - unique_columns=label_action_map['insert']['augur'], - convert_float_int=True + self.update_rate_limit(response, platform=platform) + + try: + page_data = response.json() + except: + page_data = json.loads(json.dumps(response.text)) + + if type(page_data) == list: + success = True + break + elif type(page_data) == dict: + self.logger.info("Request returned a dict: {}\n".format(page_data)) + if page_data['message'] == "Not Found": + self.logger.warning( + "Github repo was not found or does not exist for endpoint: " + f"{url.format(page_number)}\n" + ) + break + if "You have triggered an abuse detection mechanism." in page_data['message']: + num_attempts -= 1 + self.update_rate_limit(response, temporarily_disable=True,platform=platform) + if page_data['message'] == "Bad credentials": + self.update_rate_limit(response, bad_credentials=True, platform=platform) + elif type(page_data) == str: + self.logger.info(f"Warning! page_data was string: {page_data}\n") + if "" in page_data: + self.logger.info("HTML was returned, trying again...\n") + elif len(page_data) == 0: + self.logger.warning("Empty string, trying again...\n") + else: + try: + page_data = json.loads(page_data) + success = True + break + except: + pass + num_attempts += 1 + if not success: + break + + # Success + + # Determine if continued pagination is needed + + if len(page_data) == 0: + self.logger.info("Response was empty, breaking from pagination.\n") + break + + all_data += page_data + + if not forward_pagination: + + # Checking contents of requests with what we already have in the db + page_insertions, page_updates = self.new_organize_needed_data( + page_data, augur_table=table, action_map=action_map + ) + + # Reached a page where we already have all tuples + if len(need_insertion) == 0 and len(need_update) == 0 and \ + backwards_activation: + self.logger.info( + "No more pages with unknown tuples, breaking from pagination.\n" + ) + break + + need_insertion += page_insertions + need_update += page_updates + + # Find last page so we can decrement from there + if 'last' in response.links and last_page_number == -1: + if platform == 'github': + last_page_number = int(response.links['last']['url'][-6:].split('=')[1]) + elif platform == 'gitlab': + last_page_number = int(response.links['last']['url'].split('&')[2].split('=')[1]) + + if not forward_pagination and not backwards_activation: + page_number = last_page_number + backwards_activation = True + + self.logger.info("Analyzation of page {} of {} complete\n".format(page_number, + int(last_page_number) if last_page_number != -1 else "*last page not known*")) + + if (page_number <= 1 and not forward_pagination) or \ + (page_number >= last_page_number and forward_pagination): + self.logger.info("No more pages to check, breaking from pagination.\n") + break + + page_number = page_number + 1 if forward_pagination else page_number - 1 + + if forward_pagination: + need_insertion, need_update = self.new_organize_needed_data( + all_data, augur_table=table, action_map=action_map ) + + return { + 'insert': need_insertion, + 'update': need_update, + 'all': all_data + } \ No newline at end of file From 415f7080cfdca9889842cc65bac453433afff151 Mon Sep 17 00:00:00 2001 From: Isaac Milarsky Date: Fri, 30 Jul 2021 11:15:37 -0500 Subject: [PATCH 112/201] Reverting my mistake Signed-off-by: Isaac Milarsky --- workers/github_worker/github_worker.py | 2135 +++++------------------- workers/worker_git_integration.py | 191 ++- 2 files changed, 540 insertions(+), 1786 deletions(-) diff --git a/workers/github_worker/github_worker.py b/workers/github_worker/github_worker.py index fe93808084..b0452d6409 100644 --- a/workers/github_worker/github_worker.py +++ b/workers/github_worker/github_worker.py @@ -1,1790 +1,537 @@ -#Get everything that the base depends on. -from workers.worker_base import * +#SPDX-License-Identifier: MIT +from multiprocessing import Process, Queue +from urllib.parse import urlparse +from workers.worker_git_integration import WorkerGitInterfaceable +import pandas as pd import sqlalchemy as s +import requests +import time +import logging +import json +import os +import psycopg2 #really only to catch type errors for database methods +import math +from datetime import datetime +from workers.worker_base import Worker + +class GitHubWorker(WorkerGitInterfaceable): + """ Worker that collects data from the Github API and stores it in our database + task: most recent task the broker added to the worker's queue + child: current process of the queue being ran + queue: queue of tasks to be fulfilled + config: holds info like api keys, descriptions, and database connection strings + """ + def __init__(self, config={}): + + worker_type = 'github_worker' + + given = [['github_url']] + models = ['issues'] + + data_tables = [ + 'contributors', 'issues', 'issue_labels', 'message', + 'issue_message_ref', 'issue_events','issue_assignees','contributors_aliases', + 'pull_request_assignees', 'pull_request_events', 'pull_request_reviewers', + 'pull_request_meta', 'pull_request_repo' + ] + operations_tables = ['worker_history', 'worker_job'] -#This is a worker base subclass that adds the ability to query github/gitlab with the api key -class WorkerGitInterfaceable(Worker): - def __init__(self, worker_type, config={}, given=[], models=[], data_tables=[], operations_tables=[], platform="github"): - super().__init__(worker_type, config, given, models, data_tables, operations_tables) - - self.config.update({ - 'gh_api_key': self.augur_config.get_value('Database', 'key'), - 'gitlab_api_key': self.augur_config.get_value('Database', 'gitlab_api_key') - }) - - #Fix loose attribute definition - self.headers = None - self.platform = platform - self.given = given - self.models = models - - self.specs = { - 'id': self.config['id'], # what the broker knows this worker as - 'location': self.config['location'], # host + port worker is running on (so broker can send tasks here) - 'qualifications': [ - { - 'given': self.given, # type of repo this worker can be given as a task - 'models': self.models # models this worker can fill for a repo as a task - } - ], - 'config': self.config - } - - # Send broker hello message - if self.config['offline_mode'] is False: - self.connect_to_broker() - - # Attempts to determine if these attributes exist - # If not, it creates them with default values - try: - self.tool_source - self.tool_version - self.data_source - except AttributeError: - self.tool_source = 'Augur Worker Testing' - self.tool_version = '0.0.0' - self.data_source = 'Augur Worker Testing' - - #database interface, additional functionality with github interface. - def initialize_database_connections(self): - super().initialize_database_connections() - # Organize different api keys/oauths available - self.logger.info("Initializing API key.") - if 'gh_api_key' in self.config or 'gitlab_api_key' in self.config: - try: - self.init_oauths(self.platform) - except AttributeError: - self.logger.error("Worker not configured to use API key!") - else: - self.oauths = [{'oauth_id': 0}] - - def find_id_from_login(self, login, platform='github'): - """ Retrieves our contributor table primary key value for the contributor with - the given GitHub login credentials, if this contributor is not there, then - they get inserted. - - :param login: String, the GitHub login username to find the primary key id for - :return: Integer, the id of the row in our database with the matching GitHub login - """ - idSQL = s.sql.text(""" - SELECT cntrb_id FROM contributors WHERE cntrb_login = '{}' \ - AND LOWER(data_source) = '{} api' - """.format(login, platform)) - - rs = pd.read_sql(idSQL, self.db, params={}) - data_list = [list(row) for row in rs.itertuples(index=False)] - try: - return data_list[0][0] - except: - self.logger.info('contributor needs to be added...') - - if platform == 'github': - cntrb_url = ("https://api.github.com/users/" + login) - elif platform == 'gitlab': - cntrb_url = ("https://gitlab.com/api/v4/users?username=" + login ) - self.logger.info("Hitting endpoint: {} ...\n".format(cntrb_url)) - - # Possible infinite loop if this request never succeeds? - while True: - try: - r = requests.get(url=cntrb_url, headers=self.headers) - break - except TimeoutError as e: - self.logger.info("Request timed out. Sleeping 10 seconds and trying again...\n") - time.sleep(30) - - self.update_rate_limit(r) - contributor = r.json() - - # Used primarily for the Gitlab block below - company = None - location = None - email = None - if 'company' in contributor: - company = contributor['company'] - if 'location' in contributor: - location = contributor['location'] - if 'email' in contributor: - email = contributor['email'] - - - if platform == 'github': - cntrb = { - 'cntrb_login': contributor['login'] if 'login' in contributor else None, - 'cntrb_email': contributor['email'] if 'email' in contributor else None, - 'cntrb_company': contributor['company'] if 'company' in contributor else None, - 'cntrb_location': contributor['location'] if 'location' in contributor else None, - 'cntrb_created_at': contributor['created_at'] if 'created_at' in contributor else None, - 'cntrb_canonical': None, - 'gh_user_id': contributor['id'] if 'id' in contributor else None, - 'gh_login': contributor['login'] if 'login' in contributor else None, - 'gh_url': contributor['url'] if 'url' in contributor else None, - 'gh_html_url': contributor['html_url'] if 'html_url' in contributor else None, - 'gh_node_id': contributor['node_id'] if 'node_id' in contributor else None, - 'gh_avatar_url': contributor['avatar_url'] if 'avatar_url' in contributor else None, - 'gh_gravatar_id': contributor['gravatar_id'] if 'gravatar_id' in contributor else None, - 'gh_followers_url': contributor['followers_url'] if 'followers_url' in contributor else None, - 'gh_following_url': contributor['following_url'] if 'following_url' in contributor else None, - 'gh_gists_url': contributor['gists_url'] if 'gists_url' in contributor else None, - 'gh_starred_url': contributor['starred_url'] if 'starred_url' in contributor else None, - 'gh_subscriptions_url': contributor['subscriptions_url'] if 'subscriptions_url' in contributor else None, - 'gh_organizations_url': contributor['organizations_url'] if 'organizations_url' in contributor else None, - 'gh_repos_url': contributor['repos_url'] if 'repos_url' in contributor else None, - 'gh_events_url': contributor['events_url'] if 'events_url' in contributor else None, - 'gh_received_events_url': contributor['received_events_url'] if 'received_events_url' in contributor else None, - 'gh_type': contributor['type'] if 'type' in contributor else None, - 'gh_site_admin': contributor['site_admin'] if 'site_admin' in contributor else None, - 'tool_source': self.tool_source, - 'tool_version': self.tool_version, - 'data_source': self.data_source - } - - elif platform == 'gitlab': - cntrb = { - 'cntrb_login': contributor[0]['username'] if 'username' in contributor[0] else None, - 'cntrb_email': email, - 'cntrb_company': company, - 'cntrb_location': location, - 'cntrb_created_at': contributor[0]['created_at'] if 'created_at' in contributor[0] else None, - 'cntrb_canonical': None, - 'gh_user_id': contributor[0]['id'], - 'gh_login': contributor[0]['username'], - 'gh_url': contributor[0]['web_url'], - 'gh_html_url': None, - 'gh_node_id': None, - 'gh_avatar_url': contributor[0]['avatar_url'], - 'gh_gravatar_id': None, - 'gh_followers_url': None, - 'gh_following_url': None, - 'gh_gists_url': None, - 'gh_starred_url': None, - 'gh_subscriptions_url': None, - 'gh_organizations_url': None, - 'gh_repos_url': None, - 'gh_events_url': None, - 'gh_received_events_url': None, - 'gh_type': None, - 'gh_site_admin': None, - 'tool_source': self.tool_source, - 'tool_version': self.tool_version, - 'data_source': self.data_source - } - result = self.db.execute(self.contributors_table.insert().values(cntrb)) - self.logger.info("Primary key inserted into the contributors table: " + str(result.inserted_primary_key)) - self.results_counter += 1 - self.cntrb_id_inc = int(result.inserted_primary_key[0]) - self.logger.info(f"Inserted contributor: {cntrb['cntrb_login']}\n") - - return self.find_id_from_login(login, platform) - - #Blatently only for api key usage - def init_oauths(self, platform='github'): - - self.oauths = [] - self.headers = None - self.logger.info("Trying initialization.") - # Make a list of api key in the config combined w keys stored in the database - # Select endpoint to hit solely to retrieve rate limit - # information from headers of the response - # Adjust header keys needed to fetch rate limit information from the API responses - if platform == 'github': - url = "https://api.github.com/users/gabe-heim" - oauthSQL = s.sql.text(""" - SELECT * FROM worker_oauth WHERE access_token <> '{}' and platform = 'github' - """.format(self.config['gh_api_key'])) - key_name = 'gh_api_key' - rate_limit_header_key = "X-RateLimit-Remaining" - rate_limit_reset_header_key = "X-RateLimit-Reset" - elif platform == 'gitlab': - url = "https://gitlab.com/api/v4/version" - oauthSQL = s.sql.text(""" - SELECT * FROM worker_oauth WHERE access_token <> '{}' and platform = 'gitlab' - """.format(self.config['gitlab_api_key'])) - key_name = 'gitlab_api_key' - rate_limit_header_key = 'ratelimit-remaining' - rate_limit_reset_header_key = 'ratelimit-reset' - - for oauth in [{'oauth_id': 0, 'access_token': self.config[key_name]}] + json.loads( - pd.read_sql(oauthSQL, self.helper_db, params={}).to_json(orient="records") - ): - if platform == 'github': - self.headers = {'Authorization': 'token %s' % oauth['access_token']} - elif platform == 'gitlab': - self.headers = {'Authorization': 'Bearer %s' % oauth['access_token']} - response = requests.get(url=url, headers=self.headers) - self.oauths.append({ - 'oauth_id': oauth['oauth_id'], - 'access_token': oauth['access_token'], - 'rate_limit': int(response.headers[rate_limit_header_key]), - 'seconds_to_reset': ( - datetime.datetime.fromtimestamp( - int(response.headers[rate_limit_reset_header_key]) - ) - datetime.datetime.now() - ).total_seconds() - }) - self.logger.debug("Found OAuth available for use: {}".format(self.oauths[-1])) - - if len(self.oauths) == 0: - self.logger.info( - "No API keys detected, please include one in your config or in the " - "worker_oauths table in the augur_operations schema of your database." - ) - - # First key to be used will be the one specified in the config (first element in - # self.oauths array will always be the key in use) - if platform == 'github': - self.headers = {'Authorization': 'token %s' % self.oauths[0]['access_token']} - elif platform == 'gitlab': - self.headers = {'Authorization': 'Bearer %s' % self.oauths[0]['access_token']} + # These 3 are included in every tuple the worker inserts (data collection info) + self.tool_source = 'GitHub API Worker' + self.tool_version = '1.0.0' + self.data_source = 'GitHub API' - self.logger.info("OAuth initialized\n") + # if we are finishing a previous task, pagination works differenty (deprecated) + self.finishing_task = True - def enrich_cntrb_id( - self, data, key, action_map_additions={'insert': {'source': [], 'augur': []}}, - platform='github', prefix='' - ): + self.platform_id = 25150 # GitHub + self.process_count = 1 + self.deep_collection = True - if not len(data): - self.logger.info(f"Enrich contrib data is empty for {len(data)}, for the key {key}.") + #Needs to be an attribute of the class for incremental database insert using paginate_endpoint + self.pk_source_issues = [] - raise ValueError + # Run the general worker initialization + super().__init__(worker_type, config, given, models, data_tables, operations_tables) - self.logger.info(f"Enriching contributor ids for {len(data)} data points...") + def _get_pk_source_issues(self): - source_df = pd.DataFrame(data) - expanded_source_df = self._add_nested_columns( - source_df.copy(), [key] + action_map_additions['insert']['source'] + issues_url = ( + f"https://api.github.com/repos/{self.owner}/{self.repo}" + "/issues?per_page=100&state=all&page={}" ) - # Insert cntrbs that are not in db - - cntrb_action_map = { + action_map = { 'insert': { - 'source': [key] + action_map_additions['insert']['source'] + [f'{prefix}.id'], - 'augur': ['cntrb_login'] + action_map_additions['insert']['augur'] + ['gh_user_id'] + 'source': ['id'], + 'augur': ['gh_issue_id'] + }, + 'update': { + 'source': ['comments', 'state'], + 'augur': ['comment_count', 'issue_state'] } } - table_values_cntrb = self.db.execute( - s.sql.select(self.get_relevant_columns(self.contributors_table,cntrb_action_map)) - ).fetchall() - - self.logger.info(f"table_values_cntrb type: {type(table_values_cntrb)}") - self.logger.info(f"table_values_cntrb keys: {table_values_cntrb[0].keys()}") - - source_data = expanded_source_df.to_dict(orient='records') - - self.logger.info(f"source_data type: {type(source_data)}") - self.logger.info(f"source_data keys: {source_data[0].keys()}") - - #This returns the max id + 1 so we undo that here. - cntrb_id_offset = self.get_max_id(self.contributors_table, 'cntrb_id') - 1 - - # loop through data to test if it is already in the database - for index, data in enumerate(source_data): - - self.logger.info(f"Enriching {index} of {len(source_data)}") - - # create an array of gh_user_ids that are in the database - gh_user_ids = [] - for row in table_values_cntrb: - if row: - gh_user_ids.append(row['gh_user_id']) - - # self.logger.info(f"Users gh_user_id: {data['user.id']}") - # in_user_ids = False - # if data['user.id'] in gh_user_ids: - # in_user_ids = True - # self.logger.info(f"{data['user.id']} is in gh_user_ids") - - # self.logger.info(f"gh_user_ids len: {len(gh_user_ids)}") - # self.logger.info(f"table_values_cntrb len: {len(table_values_cntrb)}") - - #self.logger.info(f"cntrb logins length: {len(cntrb_logins)}") - #if user.id is in the database then there is no need to add the contributor - if data[f'{prefix}.id'] in gh_user_ids: - - self.logger.info("{} found in database".format(data[f'{prefix}.id'])) - - #gets the dict from the table_values_cntrb that contains data['user.id'] - user_id_row = list(filter(lambda x: x['gh_user_id'] == data[f'{prefix}.id'], table_values_cntrb))[0] - - #assigns the cntrb_id to the source data to be returned to the workers - data['cntrb_id'] = user_id_row['cntrb_id'] - self.logger.info(f"cntrb_id {data['cntrb_id']} found in database and assigned to enriched data") - - #contributor is not in the database - else: - - self.logger.info("{} not in database, making api call".format(data[f'{prefix}.id'])) - - url = ("https://api.github.com/users/" + data[f'{prefix}.login']) - - attempts = 0 - - while attempts < 10: - try: - attempts += 1 - self.logger.info("Hitting endpoint: " + url + " ...\n") - response = requests.get(url=url , headers=self.headers) - break - except TimeoutError: - self.logger.info(f"User data request for enriching contributor data failed with {attempts} attempts! Trying again...") - time.sleep(10) - continue - - try: - self.logger.info("Hitting endpoint: " + url + " ...\n") - response = requests.get(url=url , headers=self.headers) - except Exception as e: - self.logger.error(f"Unable to hit the endpoint {url}") - raise e - - try: - contributor = response.json() - except: - contributor = json.loads(json.dumps(response.text)) - - self.logger.info(f"Contributor data: {contributor}") - - cntrb = { - "cntrb_login": contributor['login'], - "cntrb_created_at": contributor['created_at'], - "cntrb_email": contributor['email'] if 'email' in contributor else None, - "cntrb_company": contributor['company'] if 'company' in contributor else None, - "cntrb_location": contributor['location'] if 'location' in contributor else None, - # "cntrb_type": , dont have a use for this as of now ... let it default to null - "cntrb_canonical": contributor['email'] if 'email' in contributor else None, - "gh_user_id": contributor['id'], - "gh_login": contributor['login'], - "gh_url": contributor['url'], - "gh_html_url": contributor['html_url'], - "gh_node_id": contributor['node_id'], - "gh_avatar_url": contributor['avatar_url'], - "gh_gravatar_id": contributor['gravatar_id'], - "gh_followers_url": contributor['followers_url'], - "gh_following_url": contributor['following_url'], - "gh_gists_url": contributor['gists_url'], - "gh_starred_url": contributor['starred_url'], - "gh_subscriptions_url": contributor['subscriptions_url'], - "gh_organizations_url": contributor['organizations_url'], - "gh_repos_url": contributor['repos_url'], - "gh_events_url": contributor['events_url'], - "gh_received_events_url": contributor['received_events_url'], - "gh_type": contributor['type'], - "gh_site_admin": contributor['site_admin'], - "tool_source": self.tool_source, - "tool_version": self.tool_version, - "data_source": self.data_source - } - - #insert new contributor into database - self.db.execute(self.contributors_table.insert().values(cntrb)) - - # increment cntrb_id offset - # keeps track of the next cntrb_id primary key without making extra db queries - cntrb_id_offset += 1 + def pk_source_issues_increment_insert(inc_source_issues,action_map): + if len(inc_source_issues['all']) == 0: + self.logger.info("There are no issues for this repository.\n") + self.register_task_completion(self.task_info, self.repo_id, 'issues') + return False + + def is_valid_pr_block(issue): + return ( + 'pull_request' in issue and issue['pull_request'] + and isinstance(issue['pull_request'], dict) and 'url' in issue['pull_request'] + ) + + try: + inc_source_issues['insert'] = self.enrich_cntrb_id( + inc_source_issues['insert'], 'user.login', action_map_additions={ + 'insert': { + 'source': ['user.node_id'], + 'augur': ['gh_node_id'] + } + }, prefix='user.' + ) + except ValueError: + self.logger.info(f"Enrich contrib data is empty for {inc_source_issues['insert']}, the empty field is the user login.") - #assigns the cntrb_id to the source data to be returned to the workers - data['cntrb_id'] = cntrb_id_offset - self.logger.info(f"cntrb_id {data['cntrb_id']} found with api call and assigned to enriched data") - # add cntrb_id to data and append it to table_values_cntrb - # so duplicate cntrbs within the same data set aren't added - #cntrb['cntrb_id'] = cntrb_id_offset + issues_insert = [ + { + 'repo_id': self.repo_id, + 'reporter_id': issue['cntrb_id'], + 'pull_request': ( + issue['pull_request']['url'].split('/')[-1] + if is_valid_pr_block(issue) else None + ), + 'pull_request_id': ( + issue['pull_request']['url'].split('/')[-1] + if is_valid_pr_block(issue) else None + ), + 'created_at': issue['created_at'], + 'issue_title': issue['title'], + 'issue_body': issue['body'].replace('0x00', '____') if issue['body'] else None, + 'comment_count': issue['comments'], + 'updated_at': issue['updated_at'], + 'closed_at': issue['closed_at'], + 'repository_url': issue['repository_url'], + 'issue_url': issue['url'], + 'labels_url': issue['labels_url'], + 'comments_url': issue['comments_url'], + 'events_url': issue['events_url'], + 'html_url': issue['html_url'], + 'issue_state': issue['state'], + 'issue_node_id': issue['node_id'], + 'gh_issue_id': issue['id'], + 'gh_issue_number': issue['number'], + 'gh_user_id': issue['user']['id'], + 'tool_source': self.tool_source, + 'tool_version': self.tool_version, + 'data_source': self.data_source + } for issue in inc_source_issues['insert'] + ] + + if len(inc_source_issues['insert']) > 0 or len(inc_source_issues['update']) > 0: + issues_insert_result, issues_update_result = self.bulk_insert( + self.issues_table, update=inc_source_issues['update'], + unique_columns=action_map['insert']['augur'], + insert=issues_insert, update_columns=action_map['update']['augur'] + ) + source_data = inc_source_issues['insert'] + inc_source_issues['update'] + + elif not self.deep_collection: + self.logger.info( + "There are not issues to update, insert, or collect nested information for.\n" + ) + #This might cause problems if staggered. + #self.register_task_completion(entry_info, self.repo_id, 'issues') + return + + if self.deep_collection: + source_data = inc_source_issues['all'] + + gh_merge_fields = ['id'] + augur_merge_fields = ['gh_issue_id'] + + self.pk_source_issues += self.enrich_data_primary_keys( + source_data, self.issues_table, gh_merge_fields, augur_merge_fields + ) - cntrb_data = { - 'cntrb_id': cntrb_id_offset, - 'gh_node_id': cntrb['gh_node_id'], - 'cntrb_login': cntrb['cntrb_login'], - 'gh_user_id': cntrb['gh_user_id'] - } - table_values_cntrb.append(cntrb_data) + return - self.logger.info( - "Contributor id enrichment successful, result has " - f"{len(source_data)} data points.\n" - ) - return source_data - - - - - - - - # source_cntrb_insert, _ = self.organize_needed_data( - # expanded_source_df.to_dict(orient='records'), table_values=table_values_cntrb, - # action_map=cntrb_action_map - # ) - - # cntrb_insert = [ - # { - # 'cntrb_login': contributor[f'{prefix}login'], - # 'cntrb_created_at': None if ( - # f'{prefix}created_at' not in contributor - # ) else contributor[f'{prefix}created_at'], - # 'cntrb_email': None if f'{prefix}email' not in contributor else contributor[f'{prefix}email'], - # 'cntrb_company': None if f'{prefix}company' not in contributor else contributor[f'{prefix}company'], - # 'cntrb_location': None if ( - # f'{prefix}location' not in contributor - # ) else contributor[f'{prefix}location'], - # 'gh_user_id': None if ( - # not contributor[f'{prefix}id'] - # ) else int(float(contributor[f'{prefix}id'])), - # 'gh_login': contributor[f'{prefix}login'], - # 'gh_url': contributor[f'{prefix}url'], - # 'gh_html_url': contributor[f'{prefix}html_url'], - # 'gh_node_id': contributor[f'{prefix}node_id'], #valid for dup check - # 'gh_avatar_url': contributor[f'{prefix}avatar_url'], - # 'gh_gravatar_id': contributor[f'{prefix}gravatar_id'], - # 'gh_followers_url': contributor[f'{prefix}followers_url'], - # 'gh_following_url': contributor[f'{prefix}following_url'], - # 'gh_gists_url': contributor[f'{prefix}gists_url'], - # 'gh_starred_url': contributor[f'{prefix}starred_url'], - # 'gh_subscriptions_url': contributor[f'{prefix}subscriptions_url'], - # 'gh_organizations_url': contributor[f'{prefix}organizations_url'], - # 'gh_repos_url': contributor[f'{prefix}repos_url'], - # 'gh_events_url': contributor[f'{prefix}events_url'], - # 'gh_received_events_url': contributor[f'{prefix}received_events_url'], - # 'gh_type': contributor[f'{prefix}type'], - # 'gh_site_admin': contributor[f'{prefix}site_admin'], - # 'tool_source': self.tool_source, - # 'tool_version': self.tool_version, - # 'data_source': self.data_source - # } for contributor in source_cntrb_insert if contributor[f'{prefix}login'] - # ] - # - # try: - # self.bulk_insert(self.contributors_table, cntrb_insert) - # except s.exc.IntegrityError: - # self.logger.info("Unique Violation in contributors table! ") - # - # # Query db for inserted cntrb pkeys and add to shallow level of data - # - # # Query - # cntrb_pk_name = list(self.contributors_table.primary_key)[0].name - # session = s.orm.Session(self.db) - # inserted_pks = pd.DataFrame( - # session.query( - # self.contributors_table.c[cntrb_pk_name], self.contributors_table.c.cntrb_login, - # self.contributors_table.c.gh_node_id - # ).distinct(self.contributors_table.c.cntrb_login).order_by( - # self.contributors_table.c.cntrb_login, self.contributors_table.c[cntrb_pk_name] - # ).all(), columns=[cntrb_pk_name, 'cntrb_login', 'gh_node_id'] - # ).to_dict(orient='records') - # session.close() - # - # # Prepare for merge - # source_columns = sorted(list(source_df.columns)) - # necessary_columns = sorted(list(set(source_columns + cntrb_action_map['insert']['source']))) - # (source_table, inserted_pks_table), metadata, session = self._setup_postgres_merge( - # [ - # expanded_source_df[necessary_columns].to_dict(orient='records'), - # inserted_pks - # ], sort=True - # ) - # final_columns = [cntrb_pk_name] + sorted(list(set(necessary_columns))) - # - # # Merge - # source_pk = pd.DataFrame( - # session.query( - # inserted_pks_table.c.cntrb_id, source_table - # ).join( - # source_table, - # eval( - # ' and '.join( - # [ - # ( - # f"inserted_pks_table.c['{table_column}'] " - # f"== source_table.c['{source_column}']" - # ) for table_column, source_column in zip( - # cntrb_action_map['insert']['augur'], - # cntrb_action_map['insert']['source'] - # ) - # ] - # ) - # ) - # ).all(), columns=final_columns - # ) - # - # # Cleanup merge - # source_pk = self._eval_json_columns(source_pk) - # self._close_postgres_merge(metadata, session) - - self.logger.info( - "Contributor id enrichment successful, result has " - f"{len(source_pk)} data points.\n" + source_issues = self.paginate_endpoint( + issues_url, action_map=action_map, + table=self.issues_table, where_clause=self.issues_table.c.repo_id == self.repo_id, + stagger=True,insertion_method=pk_source_issues_increment_insert ) - return source_pk.to_dict(orient='records') + #Use the increment insert method in order to do the + #remaining pages of the paginated endpoint that weren't inserted inside the paginate_endpoint method + pk_source_issues_increment_insert(source_issues,action_map) - def query_github_contributors(self, entry_info, repo_id): + pk_source_issues = self.pk_source_issues + self.pk_source_issues = [] + + return pk_source_issues + def issues_model(self, entry_info, repo_id): """ Data collection function - Query the GitHub API for contributors + Query the GitHub API for issues """ - self.logger.info(f"Querying contributors with given entry info: {entry_info}\n") - ## It absolutely doesn't matter if the contributor has already contributoed to a repo. it only matters that they exist in our table, and - ## if the DO, then we DO NOT want to insert them again in any GitHub Method. - github_url = entry_info['given']['github_url'] if 'github_url' in entry_info['given'] else entry_info['given']['git_url'] + github_url = entry_info['given']['github_url'] - # Extract owner/repo from the url for the endpoint - owner, name = self.get_owner_repo(github_url) + # Contributors are part of this model, and finding all for the repo saves us + # from having to add them as we discover committers in the issue process + # self.query_github_contributors(entry_info, self.repo_id) - # Set the base of the url and place to hold contributors to insert - contributors_url = ( - f"https://api.github.com/repos/{owner}/{name}/" + - "contributors?per_page=100&page={}" + pk_source_issues = self._get_pk_source_issues() + if pk_source_issues: + self.issue_comments_model(pk_source_issues) + issue_events_all = self.issue_events_model(pk_source_issues) + self.issue_nested_data_model(pk_source_issues, issue_events_all) + + # Register this task as completed + self.register_task_completion(entry_info, self.repo_id, 'issues') + + def issue_comments_model(self, pk_source_issues): + # https://api.github.com/repos/chaoss/augur/issues/comments + comments_url = ( + f"https://api.github.com/repos/{self.owner}/{self.repo}" + "/issues/comments?per_page=100&page={}" ) # Get contributors that we already have stored # Set our duplicate and update column map keys (something other than PK) to # check dupicates/needed column updates with - table = 'contributors' - table_pkey = 'cntrb_id' - update_col_map = {'cntrb_email': 'email'} - duplicate_col_map = {'cntrb_login': 'login'} + comment_action_map = { + 'insert': { + 'source': ['created_at', 'body'], + 'augur': ['msg_timestamp', 'msg_text'] + } + } - #list to hold contributors needing insertion or update - contributors = self.paginate(contributors_url, duplicate_col_map, update_col_map, table, table_pkey) + def issue_comments_insert(inc_issue_comments, comment_action_map): - self.logger.info("Count of contributors needing insertion: " + str(len(contributors)) + "\n") + inc_issue_comments['insert'] = self.text_clean(inc_issue_comments['insert'], 'body') - for repo_contributor in contributors: try: - # Need to hit this single contributor endpoint to get extra data including... - # `created at` - # i think that's it - cntrb_url = ("https://api.github.com/users/" + repo_contributor['login']) - self.logger.info("Hitting endpoint: " + cntrb_url + " ...\n") - r = requests.get(url=cntrb_url, headers=self.headers) - self.update_gh_rate_limit(r) - contributor = r.json() - - company = None - location = None - email = None - if 'company' in contributor: - company = contributor['company'] - if 'location' in contributor: - location = contributor['location'] - if 'email' in contributor: - email = contributor['email'] - canonical_email = contributor['email'] - - cntrb = { - "cntrb_login": contributor['login'], - "cntrb_created_at": contributor['created_at'], - "cntrb_email": email, - "cntrb_company": company, - "cntrb_location": location, - # "cntrb_type": , dont have a use for this as of now ... let it default to null - "cntrb_canonical": canonical_email, - "gh_user_id": contributor['id'], - "gh_login": contributor['login'], - "gh_url": contributor['url'], - "gh_html_url": contributor['html_url'], - "gh_node_id": contributor['node_id'], #This is what we are dup checking - "gh_avatar_url": contributor['avatar_url'], - "gh_gravatar_id": contributor['gravatar_id'], - "gh_followers_url": contributor['followers_url'], - "gh_following_url": contributor['following_url'], - "gh_gists_url": contributor['gists_url'], - "gh_starred_url": contributor['starred_url'], - "gh_subscriptions_url": contributor['subscriptions_url'], - "gh_organizations_url": contributor['organizations_url'], - "gh_repos_url": contributor['repos_url'], - "gh_events_url": contributor['events_url'], - "gh_received_events_url": contributor['received_events_url'], - "gh_type": contributor['type'], - "gh_site_admin": contributor['site_admin'], - "tool_source": self.tool_source, - "tool_version": self.tool_version, - "data_source": self.data_source - } - #dup check - #TODO: add additional fields to check if needed. - existingMatchingContributors = self.db.execute( - self.sql.select( - [self.contributors_table.c.gh_node_id] - ).where( - self.contributors_table.c.gh_node_id==cntrb["gh_node_id"] - ).fetchall() + inc_issue_comments['insert'] = self.enrich_cntrb_id( + inc_issue_comments['insert'], 'user.login', action_map_additions={ + 'insert': { + 'source': ['user.node_id'], + 'augur': ['gh_node_id'] + } + }, prefix='user.' ) + except ValueError: + self.logger.info(f"Enrich contrib data is empty for {inc_issue_comments['insert']}, the empty field is the user login.") - if len(existingMatchingContributors) > 0: - break #if contributor already exists in table - - - # Commit insertion to table - if repo_contributor['flag'] == 'need_update': - result = self.db.execute(self.contributors_table.update().where( - self.worker_history_table.c.cntrb_email==email).values(cntrb)) - self.logger.info("Updated tuple in the contributors table with existing email: {}".format(email)) - self.cntrb_id_inc = repo_contributor['pkey'] - elif repo_contributor['flag'] == 'need_insertion': - result = self.db.execute(self.contributors_table.insert().values(cntrb)) - self.logger.info("Primary key inserted into the contributors table: {}".format(result.inserted_primary_key)) - self.results_counter += 1 - - self.logger.info("Inserted contributor: " + contributor['login'] + "\n") - - # Increment our global track of the cntrb id for the possibility of it being used as a FK - self.cntrb_id_inc = int(result.inserted_primary_key[0]) + issue_comments_insert = [ + { + 'pltfrm_id': self.platform_id, + 'msg_text': comment['body'], + 'msg_timestamp': comment['created_at'], + 'cntrb_id': comment['cntrb_id'], + 'tool_source': self.tool_source, + 'tool_version': self.tool_version, + 'data_source': self.data_source + } for comment in inc_issue_comments['insert'] + ] + + self.bulk_insert(self.message_table, insert=issue_comments_insert, + unique_columns=comment_action_map['insert']['augur']) + + """ ISSUE MESSAGE REF TABLE """ + + c_pk_source_comments = self.enrich_data_primary_keys( + inc_issue_comments['insert'], self.message_table, + comment_action_map['insert']['source'], comment_action_map['insert']['augur'] + ) + both_pk_source_comments = self.enrich_data_primary_keys( + c_pk_source_comments, self.issues_table, ['issue_url'], ['issue_url'] + ) - except Exception as e: - self.logger.error("Caught exception: {}".format(e)) - self.logger.error("Cascading Contributor Anomalie from missing repo contributor data: {} ...\n".format(cntrb_url)) - continue + issue_message_ref_insert = [ + { + 'issue_id': comment['issue_id'], + 'msg_id': comment['msg_id'], + 'tool_source': self.tool_source, + 'tool_version': self.tool_version, + 'data_source': self.data_source, + 'issue_msg_ref_src_comment_id': comment['id'], + 'issue_msg_ref_src_node_id': comment['node_id'] + } for comment in both_pk_source_comments + ] + + self.bulk_insert( + self.issue_message_ref_table, insert=issue_message_ref_insert, + unique_columns=['issue_msg_ref_src_comment_id'] + ) + # list to hold contributors needing insertion or update + issue_comments = self.paginate_endpoint( + comments_url, action_map=comment_action_map, table=self.message_table, + where_clause=self.message_table.c.msg_id.in_( + [ + msg_row[0] for msg_row in self.db.execute( + s.sql.select( + [self.issue_message_ref_table.c.msg_id] + ).where( + self.issue_message_ref_table.c.issue_id.in_( + set(pd.DataFrame(pk_source_issues)['issue_id']) + ) + ) + ).fetchall() + ] + ), + stagger=True, + insertion_method=issue_comments_insert + ) - def query_github_contributors_bulk(self, entry_info, repo_id): - """ Data collection function - Query the GitHub API for contributors - """ - self.logger.info(f"Querying contributors with given entry info: {entry_info}\n") + issue_comments_insert(issue_comments,comment_action_map) + return - github_url = entry_info['given']['github_url'] if 'github_url' in entry_info['given'] else entry_info['given']['git_url'] + def issue_events_model(self, pk_source_issues): - owner, name = self.get_owner_repo(github_url) - - contributors_url = (f"https://api.github.com/repos/{owner}/{name}/" + - "contributors?per_page=100&page={}") + # Get events ready in case the issue is closed and we need to insert the closer's id + events_url = ( + f"https://api.github.com/repos/{self.owner}/{self.repo}" + "/issues/events?per_page=100&page={}" + ) - action_map = { + # Get events that we already have stored + # Set pseudo key (something other than PK) to + # check dupicates with + event_action_map = { 'insert': { - 'source': ['login'], - 'augur': ['cntrb_login'] - }, - 'update': { - 'source': ['email'], - 'augur': ['cntrb_email'] + 'source': ['url'], + 'augur': ['node_url'] } } - source_contributors = self.paginate_endpoint(contributors_url, action_map=action_map, - table=self.contributors_table) - - contributors_insert = [] - - for repo_contributor in source_contributors['insert']: - # Need to hit this single contributor endpoint to get extra data - cntrb_url = (f"https://api.github.com/users/{repo_contributor['login']}") - self.logger.info(f"Hitting endpoint: {cntrb_url} ...\n") - r = requests.get(url=cntrb_url, headers=self.headers) - self.update_gh_rate_limit(r) - contributor = r.json() - - contributors_insert.append({ - 'cntrb_login': contributor['login'], - 'cntrb_created_at': contributor['created_at'], - 'cntrb_email': contributor['email'] if 'email' in contributor else None, - 'cntrb_company': contributor['company'] if 'company' in contributor else None, - 'cntrb_location': contributor['location'] if 'location' in contributor else None, - 'cntrb_canonical': contributor['email'] if 'email' in contributor else None, - 'gh_user_id': contributor['id'], - 'gh_login': contributor['login'], - 'gh_url': contributor['url'], - 'gh_html_url': contributor['html_url'], - 'gh_node_id': contributor['node_id'], - 'gh_avatar_url': contributor['avatar_url'], - 'gh_gravatar_id': contributor['gravatar_id'], - 'gh_followers_url': contributor['followers_url'], - 'gh_following_url': contributor['following_url'], - 'gh_gists_url': contributor['gists_url'], - 'gh_starred_url': contributor['starred_url'], - 'gh_subscriptions_url': contributor['subscriptions_url'], - 'gh_organizations_url': contributor['organizations_url'], - 'gh_repos_url': contributor['repos_url'], - 'gh_events_url': contributor['events_url'], - 'gh_received_events_url': contributor['received_events_url'], - 'gh_type': contributor['type'], - 'gh_site_admin': contributor['site_admin'], - 'tool_source': self.tool_source, - 'tool_version': self.tool_version, - 'data_source': self.data_source - }) - - contributors_insert_result, contributors_update_result = self.bulk_insert(self.contributors_table, - update=source_contributors['update'], unique_columns=action_map['insert']['augur'], - insert=contributors_insert, update_columns=action_map['update']['augur']) - - def query_github_contributors_fast(self, entry_info, repo_id): - """ Data collection function - Query the GitHub API for contributors - """ - self.logger.info(f"Querying contributors with given entry info: {entry_info}") - - github_url = ( - entry_info['given']['github_url'] if 'github_url' in entry_info['given'] - else entry_info['given']['git_url'] + self.logger.info(pk_source_issues[0]) + self.logger.info(pd.DataFrame(pk_source_issues).columns) + self.logger.info(pd.DataFrame(pk_source_issues)) + #list to hold contributors needing insertion or update + issue_events = self.paginate_endpoint( + events_url, table=self.issue_events_table, action_map=event_action_map, + where_clause=self.issue_events_table.c.issue_id.in_( + set(pd.DataFrame(pk_source_issues)['issue_id']) + ) ) - contributors_url = ( - f"https://api.github.com/repos/{self.owner}/{self.name}/" - "contributors?per_page=100&page={}" + pk_issue_events = self.enrich_data_primary_keys( + issue_events['insert'], self.issues_table, ['issue.id'], ['gh_issue_id'] ) - action_map = { - 'insert': { - 'source': ['login'], - 'augur': ['cntrb_login'] - }, - 'update': { - 'source': ['email'], - 'augur': ['cntrb_email'] - } - } + if len(pk_issue_events): + pk_issue_events = pd.DataFrame(pk_issue_events)[ + ['id', 'issue_id', 'node_id', 'url', 'actor', 'created_at', 'event', 'commit_id'] + ].to_dict(orient='records') - source_contributors = self.paginate_endpoint( - contributors_url, action_map=action_map, table=self.contributors_table - ) + try: + pk_issue_events = self.enrich_cntrb_id( + pk_issue_events, 'actor.login', action_map_additions={ + 'insert': { + 'source': ['actor.node_id'], + 'augur': ['gh_node_id'] + } + }, prefix='actor.' + ) + except ValueError: + self.logger.info(f"Enrich contrib data is empty for {pk_issue_events}, the empty field is the user login.") - contributors_insert = [ + issue_events_insert = [ { - 'cntrb_login': contributor['login'], - 'cntrb_created_at': ( - contributor['created_at'] if 'created_at' in contributor else None - ), - 'cntrb_email': contributor['email'] if 'email' in contributor else None, - 'cntrb_company': contributor['company'] if 'company' in contributor else None, - 'cntrb_location': contributor['location'] if 'location' in contributor else None, - 'cntrb_canonical': contributor['email'] if 'email' in contributor else None, - 'gh_user_id': contributor['id'], - 'gh_login': contributor['login'], - 'gh_url': contributor['url'], - 'gh_html_url': contributor['html_url'], - 'gh_node_id': contributor['node_id'], - 'gh_avatar_url': contributor['avatar_url'], - 'gh_gravatar_id': contributor['gravatar_id'], - 'gh_followers_url': contributor['followers_url'], - 'gh_following_url': contributor['following_url'], - 'gh_gists_url': contributor['gists_url'], - 'gh_starred_url': contributor['starred_url'], - 'gh_subscriptions_url': contributor['subscriptions_url'], - 'gh_organizations_url': contributor['organizations_url'], - 'gh_repos_url': contributor['repos_url'], - 'gh_events_url': contributor['events_url'], - 'gh_received_events_url': contributor['received_events_url'], - 'gh_type': contributor['type'], - 'gh_site_admin': contributor['site_admin'], + 'issue_event_src_id': event['id'], + 'issue_id': event['issue_id'], + 'node_id': event['node_id'], + 'node_url': event['url'], + 'cntrb_id': event['cntrb_id'], + 'created_at': event['created_at'], + 'action': event['event'], + 'action_commit_hash': event['commit_id'], 'tool_source': self.tool_source, 'tool_version': self.tool_version, 'data_source': self.data_source - } for contributor in source_contributors['insert'] + } for event in pk_issue_events if event['actor'] is not None ] self.bulk_insert( - self.contributors_table, update=source_contributors['update'], - unique_columns=action_map['insert']['augur'], - insert=contributors_insert, update_columns=action_map['update']['augur'] + self.issue_events_table, insert=issue_events_insert, + unique_columns=event_action_map['insert']['augur'] ) - def update_gitlab_rate_limit(self, response, bad_credentials=False, temporarily_disable=False): - # Try to get rate limit from request headers, sometimes it does not work (GH's issue) - # In that case we just decrement from last recieved header count - if bad_credentials and len(self.oauths) > 1: - self.logger.info( - f"Removing oauth with bad credentials from consideration: {self.oauths[0]}" - ) - del self.oauths[0] + return issue_events['all'] - if temporarily_disable: - self.logger.info("Gitlab rate limit reached. Temp. disabling...") - self.oauths[0]['rate_limit'] = 0 - else: - try: - self.oauths[0]['rate_limit'] = int(response.headers['RateLimit-Remaining']) - except: - self.oauths[0]['rate_limit'] -= 1 - self.logger.info("Updated rate limit, you have: " + - str(self.oauths[0]['rate_limit']) + " requests remaining.") - if self.oauths[0]['rate_limit'] <= 0: - try: - reset_time = response.headers['RateLimit-Reset'] - except Exception as e: - self.logger.info(f"Could not get reset time from headers because of error: {e}") - reset_time = 3600 - time_diff = datetime.datetime.fromtimestamp(int(reset_time)) - datetime.datetime.now() - self.logger.info("Rate limit exceeded, checking for other available keys to use.") - - # We will be finding oauth with the highest rate limit left out of our list of oauths - new_oauth = self.oauths[0] - # Endpoint to hit solely to retrieve rate limit information from headers of the response - url = "https://gitlab.com/api/v4/version" - - other_oauths = self.oauths[0:] if len(self.oauths) > 1 else [] - for oauth in other_oauths: - # self.logger.info("Inspecting rate limit info for oauth: {}\n".format(oauth)) - self.headers = {"PRIVATE-TOKEN" : oauth['access_token']} - response = requests.get(url=url, headers=self.headers) - oauth['rate_limit'] = int(response.headers['RateLimit-Remaining']) - oauth['seconds_to_reset'] = ( - datetime.datetime.fromtimestamp( - int(response.headers['RateLimit-Reset']) - ) - datetime.datetime.now() - ).total_seconds() - - # Update oauth to switch to if a higher limit is found - if oauth['rate_limit'] > new_oauth['rate_limit']: - self.logger.info(f"Higher rate limit found in oauth: {oauth}") - new_oauth = oauth - elif ( - oauth['rate_limit'] == new_oauth['rate_limit'] - and oauth['seconds_to_reset'] < new_oauth['seconds_to_reset'] - ): - self.logger.info( - f"Lower wait time found in oauth with same rate limit: {oauth}" - ) - new_oauth = oauth + def issue_nested_data_model(self, pk_source_issues, issue_events_all): - if new_oauth['rate_limit'] <= 0 and new_oauth['seconds_to_reset'] > 0: - self.logger.info( - "No oauths with >0 rate limit were found, waiting for oauth with " - f"smallest wait time: {new_oauth}\n" - ) - time.sleep(new_oauth['seconds_to_reset']) - - # Make new oauth the 0th element in self.oauths so we know which one is in use - index = self.oauths.index(new_oauth) - self.oauths[0], self.oauths[index] = self.oauths[index], self.oauths[0] - self.logger.info("Using oauth: {}\n".format(self.oauths[0])) - - # Change headers to be using the new oauth's key - self.headers = {"PRIVATE-TOKEN" : self.oauths[0]['access_token']} - - def update_gh_rate_limit(self, response, bad_credentials=False, temporarily_disable=False): - # Try to get rate limit from request headers, sometimes it does not work (GH's issue) - # In that case we just decrement from last recieved header count - if bad_credentials and len(self.oauths) > 1: - self.logger.warning( - f"Removing oauth with bad credentials from consideration: {self.oauths[0]}" - ) - del self.oauths[0] + closed_issue_updates = [] - if temporarily_disable: - self.logger.debug( - "Github thinks we are abusing their api. Preventing use " - "of this key until its rate limit resets..." + skip_closed_issue_update = False + if len(issue_events_all): + events_df = pd.DataFrame( + self._get_data_set_columns( + issue_events_all, [ + 'event', 'issue.number', 'actor.login', 'actor.node_id', 'actor' + ] + ) ) - self.oauths[0]['rate_limit'] = 0 - else: - try: - self.oauths[0]['rate_limit'] = int(response.headers['X-RateLimit-Remaining']) - # self.logger.info("Recieved rate limit from headers\n") - except: - self.oauths[0]['rate_limit'] -= 1 - self.logger.info("Headers did not work, had to decrement") - self.logger.info( - f"Updated rate limit, you have: {self.oauths[0]['rate_limit']} requests remaining." - ) - if self.oauths[0]['rate_limit'] <= 0: - try: - reset_time = response.headers['X-RateLimit-Reset'] - except Exception as e: - self.logger.error(f"Could not get reset time from headers because of error: {e}") - reset_time = 3600 - time_diff = datetime.datetime.fromtimestamp(int(reset_time)) - datetime.datetime.now() - self.logger.info("Rate limit exceeded, checking for other available keys to use.") - - # We will be finding oauth with the highest rate limit left out of our list of oauths - new_oauth = self.oauths[0] - # Endpoint to hit solely to retrieve rate limit information from headers of the response - url = "https://api.github.com/users/gabe-heim" - - other_oauths = self.oauths[0:] if len(self.oauths) > 1 else [] - for oauth in other_oauths: - # self.logger.info("Inspecting rate limit info for oauth: {}\n".format(oauth)) - self.headers = {'Authorization': 'token %s' % oauth['access_token']} - - attempts = 3 - success = False - while attempts > 0 and not success: - response = requests.get(url=url, headers=self.headers) - try: - oauth['rate_limit'] = int(response.headers['X-RateLimit-Remaining']) - oauth['seconds_to_reset'] = ( - datetime.datetime.fromtimestamp( - int(response.headers['X-RateLimit-Reset']) - ) - datetime.datetime.now() - ).total_seconds() - success = True - except Exception as e: - self.logger.info( - f"oath method ran into error getting info from headers: {e}\n" - ) - self.logger.info(f"{self.headers}\n{url}\n") - attempts -= 1 - if not success: - continue - - # Update oauth to switch to if a higher limit is found - if oauth['rate_limit'] > new_oauth['rate_limit']: - self.logger.info("Higher rate limit found in oauth: {}\n".format(oauth)) - new_oauth = oauth - elif ( - oauth['rate_limit'] == new_oauth['rate_limit'] - and oauth['seconds_to_reset'] < new_oauth['seconds_to_reset'] - ): - self.logger.info( - f"Lower wait time found in oauth with same rate limit: {oauth}\n" + events_df = events_df.loc[events_df.event == 'closed'] + + if len(events_df): + events_df = pd.DataFrame( + self.enrich_cntrb_id( + events_df.to_dict(orient='records'), 'actor.login', action_map_additions={ + 'insert': { + 'source': ['actor.node_id'], + 'augur': ['gh_node_id'] + } + }, prefix='actor.' ) - new_oauth = oauth - - if new_oauth['rate_limit'] <= 0 and new_oauth['seconds_to_reset'] > 0: - self.logger.info( - "No oauths with >0 rate limit were found, waiting for oauth with " - f"smallest wait time: {new_oauth}\n" ) - time.sleep(new_oauth['seconds_to_reset']) - - # Make new oauth the 0th element in self.oauths so we know which one is in use - index = self.oauths.index(new_oauth) - self.oauths[0], self.oauths[index] = self.oauths[index], self.oauths[0] - self.logger.info("Using oauth: {}\n".format(self.oauths[0])) - - # Change headers to be using the new oauth's key - self.headers = {'Authorization': 'token %s' % self.oauths[0]['access_token']} - - #TODO: figure out if changing this typo breaks anything - def query_gitlab_contributors(self, entry_info, repo_id): - - gitlab_url = ( - entry_info['given']['gitlab_url'] if 'gitlab_url' in entry_info['given'] - else entry_info['given']['git_url'] - ) - - self.logger.info("Querying contributors with given entry info: " + str(entry_info) + "\n") - - path = urlparse(gitlab_url) - split = path[2].split('/') - - owner = split[1] - name = split[2] - - # Handles git url case by removing the extension - if ".git" in name: - name = name[:-4] - - url_encoded_format = quote(owner + '/' + name, safe='') - - table = 'contributors' - table_pkey = 'cntrb_id' - ### Here we are adding gitlab user information from the API - ### Following Gabe's rework of the contributor worker. - - ### The GitLab API will NEVER give you an email. It will let you - ### Query an email, but never give you one. - ### ## Gitlab email api: https://gitlab.com/api/v4/users?search=s@goggins.com - ### We don't need to update right now, so commenting out. - ### TODO: SOLVE LOGIC. - # update_col_map = {'cntrb_email': 'email'} - update_col_map = {} - duplicate_col_map = {'gl_username': 'username'} - - # list to hold contributors needing insertion or update - contributors = self.paginate("https://gitlab.com/api/v4/projects/" + url_encoded_format + "/repository/contributors?per_page=100&page={}", duplicate_col_map, update_col_map, table, table_pkey, platform='gitlab') - - for repo_contributor in contributors: - try: - cntrb_compressed_url = ("https://gitlab.com/api/v4/users?search=" + repo_contributor['email']) - self.logger.info("Hitting endpoint: " + cntrb_compressed_url + " ...\n") - r = requests.get(url=cntrb_compressed_url, headers=self.headers) - contributor_compressed = r.json() - - email = repo_contributor['email'] - self.logger.info(contributor_compressed) - if len(contributor_compressed) == 0 or type(contributor_compressed) is dict or "id" not in contributor_compressed[0]: - continue - - self.logger.info("Fetching for user: " + str(contributor_compressed[0]["id"])) - - cntrb_url = ("https://gitlab.com/api/v4/users/" + str(contributor_compressed[0]["id"])) - self.logger.info("Hitting end point to get complete contributor info now: " + cntrb_url + "...\n") - r = requests.get(url=cntrb_url, headers=self.headers) - contributor = r.json() - - cntrb = { - "gl_id": contributor.get('gl_id', None), - "gl_full_name": contributor.get('full_name', None), - "gl_username": contributor.get('username', None), - "gl_state": contributor.get('state', None), - "gl_avatar_url": contributor.get('avatar_url', None), - "gl_web_url": contributor.get('web_url', None), - #"cntrb_login": contributor.get('username', None), - #"cntrb_created_at": contributor.get('created_at', None), - "cntrb_email": ('email', None), - #"cntrb_company": contributor.get('organization', None), - #"cntrb_location": contributor.get('location', None), - # "cntrb_type": , dont have a use for this as of now ... let it default to null - #"cntrb_canonical": contributor.get('public_email', None), - #"gh_user_id": contributor.get('id', None), - #"gh_login": contributor.get('username', None), - #"gh_url": contributor.get('web_url', None), - #"gh_html_url": contributor.get('web_url', None), - #"gh_node_id": None, - #"gh_avatar_url": contributor.get('avatar_url', None), - #"gh_gravatar_id": None, - #"gh_followers_url": None, - #"gh_following_url": None, - #"gh_gists_url": None, - #"gh_starred_url": None, - #"gh_subscriptions_url": None, - #"gh_organizations_url": None, - #"gh_repos_url": None, - #"gh_events_url": None, - #"gh_received_events_url": None, - #"gh_type": None, - #"gh_site_admin": None, - "tool_source": self.tool_source, - "tool_version": self.tool_version, - "data_source": self.data_source - } - - # Commit insertion to table - if repo_contributor['flag'] == 'need_update': - result = self.db.execute(self.contributors_table.update().where( - self.worker_history_table.c.cntrb_email == email).values(cntrb)) - self.logger.info("Updated tuple in the contributors table with existing email: {}".format(email)) - self.cntrb_id_inc = repo_contributor['pkey'] - elif repo_contributor['flag'] == 'need_insertion': - result = self.db.execute(self.contributors_table.insert().values(cntrb)) - self.logger.info("Primary key inserted into the contributors table: {}".format(result.inserted_primary_key)) - self.results_counter += 1 - - self.logger.info("Inserted contributor: " + contributor['username'] + "\n") - - # Increment our global track of the cntrb id for the possibility of it being used as a FK - self.cntrb_id_inc = int(result.inserted_primary_key[0]) - - except Exception as e: - self.logger.info("Caught exception: {}".format(e)) - self.logger.info("Cascading Contributor Anomalie from missing repo contributor data: {} ...\n".format(cntrb_url)) - continue - - - def update_gitlab_rate_limit(self, response, bad_credentials=False, temporarily_disable=False): - # Try to get rate limit from request headers, sometimes it does not work (GH's issue) - # In that case we just decrement from last recieved header count - if bad_credentials and len(self.oauths) > 1: - self.logger.info( - f"Removing oauth with bad credentials from consideration: {self.oauths[0]}" - ) - del self.oauths[0] - - if temporarily_disable: - self.logger.info("Gitlab rate limit reached. Temp. disabling...") - self.oauths[0]['rate_limit'] = 0 + if not len(events_df): # no cntrb ids were available + skip_closed_issue_update = True + else: + skip_closed_issue_update = True else: - try: - self.oauths[0]['rate_limit'] = int(response.headers['RateLimit-Remaining']) - except: - self.oauths[0]['rate_limit'] -= 1 - self.logger.info("Updated rate limit, you have: " + - str(self.oauths[0]['rate_limit']) + " requests remaining.") - if self.oauths[0]['rate_limit'] <= 0: - try: - reset_time = response.headers['RateLimit-Reset'] - except Exception as e: - self.logger.info(f"Could not get reset time from headers because of error: {e}") - reset_time = 3600 - time_diff = datetime.datetime.fromtimestamp(int(reset_time)) - datetime.datetime.now() - self.logger.info("Rate limit exceeded, checking for other available keys to use.") - - # We will be finding oauth with the highest rate limit left out of our list of oauths - new_oauth = self.oauths[0] - # Endpoint to hit solely to retrieve rate limit information from headers of the response - url = "https://gitlab.com/api/v4/version" - - other_oauths = self.oauths[0:] if len(self.oauths) > 1 else [] - for oauth in other_oauths: - # self.logger.info("Inspecting rate limit info for oauth: {}\n".format(oauth)) - self.headers = {"PRIVATE-TOKEN" : oauth['access_token']} - response = requests.get(url=url, headers=self.headers) - oauth['rate_limit'] = int(response.headers['RateLimit-Remaining']) - oauth['seconds_to_reset'] = ( - datetime.datetime.fromtimestamp( - int(response.headers['RateLimit-Reset']) - ) - datetime.datetime.now() - ).total_seconds() - - # Update oauth to switch to if a higher limit is found - if oauth['rate_limit'] > new_oauth['rate_limit']: - self.logger.info(f"Higher rate limit found in oauth: {oauth}") - new_oauth = oauth - elif ( - oauth['rate_limit'] == new_oauth['rate_limit'] - and oauth['seconds_to_reset'] < new_oauth['seconds_to_reset'] - ): - self.logger.info( - f"Lower wait time found in oauth with same rate limit: {oauth}" - ) - new_oauth = oauth + skip_closed_issue_update = True - if new_oauth['rate_limit'] <= 0 and new_oauth['seconds_to_reset'] > 0: - self.logger.info( - "No oauths with >0 rate limit were found, waiting for oauth with " - f"smallest wait time: {new_oauth}\n" - ) - time.sleep(new_oauth['seconds_to_reset']) + assignees_all = [] + labels_all = [] - # Make new oauth the 0th element in self.oauths so we know which one is in use - index = self.oauths.index(new_oauth) - self.oauths[0], self.oauths[index] = self.oauths[index], self.oauths[0] - self.logger.info("Using oauth: {}\n".format(self.oauths[0])) + def is_nan(value): + return type(value) == float and math.isnan(value) - # Change headers to be using the new oauth's key - self.headers = {"PRIVATE-TOKEN" : self.oauths[0]['access_token']} + for issue in pk_source_issues: + # Issue Assignees + source_assignees = [ + assignee for assignee in issue['assignees'] if assignee + and not is_nan(assignee) + ] + if ( + issue['assignee'] not in source_assignees and issue['assignee'] + and not is_nan(issue['assignee']) + ): + source_assignees.append(issue['assignee']) + assignees_all += source_assignees - def update_gh_rate_limit(self, response, bad_credentials=False, temporarily_disable=False): - # Try to get rate limit from request headers, sometimes it does not work (GH's issue) - # In that case we just decrement from last recieved header count - if bad_credentials and len(self.oauths) > 1: - self.logger.warning( - f"Removing oauth with bad credentials from consideration: {self.oauths[0]}" - ) - del self.oauths[0] + # Issue Labels + labels_all += issue['labels'] - if temporarily_disable: - self.logger.debug( - "Github thinks we are abusing their api. Preventing use " - "of this key until its rate limit resets..." - ) - self.oauths[0]['rate_limit'] = 0 - else: - try: - self.oauths[0]['rate_limit'] = int(response.headers['X-RateLimit-Remaining']) - # self.logger.info("Recieved rate limit from headers\n") - except: - self.oauths[0]['rate_limit'] -= 1 - self.logger.info("Headers did not work, had to decrement") - self.logger.info( - f"Updated rate limit, you have: {self.oauths[0]['rate_limit']} requests remaining." - ) - if self.oauths[0]['rate_limit'] <= 0: - try: - reset_time = response.headers['X-RateLimit-Reset'] - except Exception as e: - self.logger.error(f"Could not get reset time from headers because of error: {e}") - reset_time = 3600 - time_diff = datetime.datetime.fromtimestamp(int(reset_time)) - datetime.datetime.now() - self.logger.info("Rate limit exceeded, checking for other available keys to use.") - - # We will be finding oauth with the highest rate limit left out of our list of oauths - new_oauth = self.oauths[0] - # Endpoint to hit solely to retrieve rate limit information from headers of the response - url = "https://api.github.com/users/gabe-heim" - - other_oauths = self.oauths[0:] if len(self.oauths) > 1 else [] - for oauth in other_oauths: - # self.logger.info("Inspecting rate limit info for oauth: {}\n".format(oauth)) - self.headers = {'Authorization': 'token %s' % oauth['access_token']} - - attempts = 3 - success = False - while attempts > 0 and not success: - response = requests.get(url=url, headers=self.headers) - try: - oauth['rate_limit'] = int(response.headers['X-RateLimit-Remaining']) - oauth['seconds_to_reset'] = ( - datetime.datetime.fromtimestamp( - int(response.headers['X-RateLimit-Reset']) - ) - datetime.datetime.now() - ).total_seconds() - success = True - except Exception as e: - self.logger.info( - f"oath method ran into error getting info from headers: {e}\n" - ) - self.logger.info(f"{self.headers}\n{url}\n") - attempts -= 1 - if not success: - continue + # If the issue is closed, then we search for the closing event and store the user's id + if 'closed_at' in issue and not skip_closed_issue_update: - # Update oauth to switch to if a higher limit is found - if oauth['rate_limit'] > new_oauth['rate_limit']: - self.logger.info("Higher rate limit found in oauth: {}\n".format(oauth)) - new_oauth = oauth - elif ( - oauth['rate_limit'] == new_oauth['rate_limit'] - and oauth['seconds_to_reset'] < new_oauth['seconds_to_reset'] - ): + try: + closed_event = events_df.loc[ + events_df['issue.number'] == issue['number'] + ].iloc[-1] + except IndexError: self.logger.info( - f"Lower wait time found in oauth with same rate limit: {oauth}\n" + "Warning! We do not have the closing event of this issue stored. " + f"Pk: {issue['issue_id']}" ) - new_oauth = oauth - - if new_oauth['rate_limit'] <= 0 and new_oauth['seconds_to_reset'] > 0: - self.logger.info( - "No oauths with >0 rate limit were found, waiting for oauth with " - f"smallest wait time: {new_oauth}\n" - ) - time.sleep(new_oauth['seconds_to_reset']) - - # Make new oauth the 0th element in self.oauths so we know which one is in use - index = self.oauths.index(new_oauth) - self.oauths[0], self.oauths[index] = self.oauths[index], self.oauths[0] - self.logger.info("Using oauth: {}\n".format(self.oauths[0])) - - # Change headers to be using the new oauth's key - self.headers = {'Authorization': 'token %s' % self.oauths[0]['access_token']} - - def update_rate_limit( - self, response, bad_credentials=False, temporarily_disable=False, platform="gitlab" - ): - if platform == 'gitlab': - return self.update_gitlab_rate_limit( - response, bad_credentials=bad_credentials, temporarily_disable=temporarily_disable - ) - elif platform == 'github': - return self.update_gh_rate_limit( - response, bad_credentials=bad_credentials, temporarily_disable=temporarily_disable - ) - - - #Indexerror somewhere - def multi_thread_urls(self, all_urls, max_attempts=5, platform='github'): - """ - :param all_urls: list of tuples - """ - - if not len(all_urls): - self.logger.info("No urls to multithread, returning blank list.\n") - return [] - - def load_url(url, extra_data={}): - try: - html = requests.get(url, stream=True, headers=self.headers) - return html, extra_data - except requests.exceptions.RequestException as e: - self.logger.info(e, url) - - self.logger.info("Beginning to multithread API endpoints.") - - start = time.time() - - all_data = [] - valid_url_count = len(all_urls) - - partitions = math.ceil(len(all_urls) / 600) - self.logger.info(f"{len(all_urls)} urls to process. Trying {partitions} partitions. " + - f"Using {max(multiprocessing.cpu_count()//8, 1)} threads.") - for urls in numpy.array_split(all_urls, partitions): - attempts = 0 - self.logger.info(f"Total data points collected so far: {len(all_data)}") - while len(urls) > 0 and attempts < max_attempts: - with concurrent.futures.ThreadPoolExecutor( - max_workers=max(multiprocessing.cpu_count()//8, 1) - ) as executor: - # Start the load operations and mark each future with its URL - future_to_url = {executor.submit(load_url, *url): url for url in urls} - self.logger.info("Multithreaded urls and returned status codes:") - count = 0 - for future in concurrent.futures.as_completed(future_to_url): - - if count % 100 == 0: - self.logger.info( - f"Processed {len(all_data)} / {valid_url_count} urls. " - f"{len(urls)} remaining in this partition." - ) - count += 1 - - url = future_to_url[future] - try: - response, extra_data = future.result() - - if response.status_code != 200: - self.logger.info( - f"Url: {url[0]} ; Status code: {response.status_code}" - ) - - if response.status_code == 403 or response.status_code == 401: # 403 is rate limit, 404 is not found, 401 is bad credentials - self.update_rate_limit(response, platform=platform) - continue - - elif response.status_code == 200: - try: - page_data = response.json() - except: - page_data = json.loads(json.dumps(response.text)) - - page_data = [{**data, **extra_data} for data in page_data] - all_data += page_data - - if 'last' in response.links and "&page=" not in url[0]: - urls += [ - (url[0] + f"&page={page}", extra_data) for page in range( - 2, int(response.links['last']['url'].split('=')[-1]) + 1 - ) - ] - try: - self.logger.info(f"urls boundry issue? for {urls} where they are equal to {url}.") - - urls = numpy.delete(urls, numpy.where(urls == url), axis=0) - except: - self.logger.info(f"ERROR with axis = 0 - Now attempting without setting axis for numpy.delete for {urls} where they are equal to {url}.") - urls = numpy.delete(urls, numpy.where(urls == url)) - - elif response.status_code == 404: - urls = numpy.delete(urls, numpy.where(urls == url), axis=0) - self.logger.info(f"Not found url: {url}\n") - else: - self.logger.info( - f"Unhandled response code: {response.status_code} {url}\n" - ) - - except Exception as e: - self.logger.info( - f"{url} generated an exception: {traceback.format_exc()}\n" - ) + continue - attempts += 1 + closed_issue_updates.append({ + 'b_issue_id': issue['issue_id'], + 'cntrb_id': closed_event['cntrb_id'] + }) - self.logger.info( - f"Processed {valid_url_count} urls and got {len(all_data)} data points " - f"in {time.time() - start} seconds thanks to multithreading!\n" + # Closed issues, update with closer id + self.bulk_insert( + self.issues_table, update=closed_issue_updates, unique_columns=['issue_id'], + update_columns=['cntrb_id'] ) - return all_data - - #insertion_method and stagger are arguments that allow paginate_endpoint to insert at around ~500 pages at a time. - def paginate_endpoint( - self, url, action_map={}, table=None, where_clause=True, platform='github', in_memory=True, stagger=False, insertion_method=None, insertion_threshold=500 - ): - - #Get augur columns using the action map along with the primary key - table_values = self.db.execute( - s.sql.select(self.get_relevant_columns(table, action_map)).where(where_clause) + # Issue assignees insertion + assignee_action_map = { + 'insert': { + 'source': ['id'], + 'augur': ['issue_assignee_src_id'] + } + } + + table_values_issue_assignees = self.db.execute( + s.sql.select(self.get_relevant_columns(self.issue_assignees_table,assignee_action_map)) ).fetchall() - page_number = 1 - multiple_pages = False - need_insertion = [] - need_update = [] - - #Stores sum of page data - all_data = [] - forward_pagination = True - backwards_activation = False - last_page_number = -1 - - #Block to handle page queries and retry at least 10 times - while True: - - # Multiple attempts to hit endpoint - num_attempts = 0 - success = False - while num_attempts < 10: - self.logger.info(f"Hitting endpoint: {url.format(page_number)}...\n") - try: - response = requests.get(url=url.format(page_number), headers=self.headers) - except TimeoutError as e: - self.logger.info("Request timed out. Sleeping 10 seconds and trying again...\n") - time.sleep(10) - continue - - self.update_rate_limit(response, platform=platform) - - try: - page_data = response.json() - except: - page_data = json.loads(json.dumps(response.text)) - - if type(page_data) == list: - success = True - break - elif type(page_data) == dict: - self.logger.info("Request returned a dict: {}\n".format(page_data)) - if page_data['message'] == "Not Found": - self.logger.warning( - "Github repo was not found or does not exist for endpoint: " - f"{url.format(page_number)}\n" - ) - break - if "You have triggered an abuse detection mechanism." in page_data['message']: - num_attempts -= 1 - self.update_rate_limit(response, temporarily_disable=True,platform=platform) - if page_data['message'] == "Bad credentials": - self.update_rate_limit(response, bad_credentials=True, platform=platform) - elif type(page_data) == str: - self.logger.info(f"Warning! page_data was string: {page_data}\n") - if "" in page_data: - self.logger.info("HTML was returned, trying again...\n") - elif len(page_data) == 0: - self.logger.warning("Empty string, trying again...\n") - else: - try: - page_data = json.loads(page_data) - success = True - break - except: - pass - num_attempts += 1 - if not success: - break - - # Success - - # Determine if continued pagination is needed - - if len(page_data) == 0: - self.logger.info("Response was empty, breaking from pagination.\n") - break - - all_data += page_data - - if not forward_pagination: - - # Checking contents of requests with what we already have in the db - page_insertions, page_updates = self.organize_needed_data( - page_data, table_values, list(table.primary_key)[0].name, - action_map, in_memory=True - ) + source_assignees_insert, _ = self.organize_needed_data( + assignees_all, table_values=table_values_issue_assignees, + action_map=assignee_action_map + ) - # Reached a page where we already have all tuples - if len(need_insertion) == 0 and len(need_update) == 0 and \ - backwards_activation: - self.logger.info( - "No more pages with unknown tuples, breaking from pagination.\n" - ) - break - - need_insertion += page_insertions - need_update += page_updates - - # Find last page so we can decrement from there - if 'last' in response.links and last_page_number == -1: - if platform == 'github': - last_page_number = int(response.links['last']['url'][-6:].split('=')[1]) - elif platform == 'gitlab': - last_page_number = int(response.links['last']['url'].split('&')[2].split('=')[1]) - - if not forward_pagination and not backwards_activation: - page_number = last_page_number - backwards_activation = True - - self.logger.info("Analyzation of page {} of {} complete\n".format(page_number, - int(last_page_number) if last_page_number != -1 else "*last page not known*")) - - if (page_number <= 1 and not forward_pagination) or \ - (page_number >= last_page_number and forward_pagination): - self.logger.info("No more pages to check, breaking from pagination.\n") - break - - #This is probably where we should insert at around ~500 at a time - #makes sure that stagger is enabled, we have an insertion method, and the insertion happens every 500 pages or so. - if stagger and insertion_method != None and page_number % insertion_threshold == 0: - #call insertion method passed as argument. - staggered_source_prs = { - 'insert' : need_insertion, - 'update' : need_update, - 'all' : all_data + source_assignees_insert = self.enrich_cntrb_id( + source_assignees_insert, 'login', action_map_additions={ + 'insert': { + 'source': ['node_id'], + 'augur': ['gh_node_id'] } + } + ) - #Use the method the subclass needs in order to insert the data. - insertion_method(staggered_source_prs,action_map) - - #clear the data from memory and avoid duplicate insertions. - need_insertion = [] - need_update = [] - all_data = [] - - page_number = page_number + 1 if forward_pagination else page_number - 1 - - if forward_pagination: - need_insertion, need_update = self.organize_needed_data( - all_data, table_values, list(table.primary_key)[0].name, action_map, - in_memory=in_memory - ) + assignees_insert = [ + { + 'issue_id': issue['issue_id'], + 'cntrb_id': assignee['cntrb_id'], + 'tool_source': self.tool_source, + 'tool_version': self.tool_version, + 'data_source': self.data_source, + 'issue_assignee_src_id': assignee['id'], + 'issue_assignee_src_node': assignee['node_id'] + } for assignee in source_assignees_insert + ] + self.bulk_insert( + self.issue_assignees_table, insert=assignees_insert, + unique_columns=assignee_action_map['insert']['augur'] + ) - return { - 'insert': need_insertion, - 'update': need_update, - 'all': all_data + # Issue labels insertion + label_action_map = { + 'insert': { + 'source': ['id'], + 'augur': ['label_src_id'] + } } - #TODO: deprecated but still used by the issues worker. - def paginate(self, url, duplicate_col_map, update_col_map, table, table_pkey, where_clause="", value_update_col_map={}, platform="github"): - """ DEPRECATED - Paginate either backwards or forwards (depending on the value of the worker's - finishing_task attribute) through all the GitHub or GitLab api endpoint pages. - - :param url: String, the url of the API endpoint we are paginating through, expects - a curly brace string formatter within the string to format the Integer - representing the page number that is wanted to be returned - :param duplicate_col_map: Dictionary, maps the column names of the source data - to the field names in our database for columns that should be checked for - duplicates (if source data value == value in existing database row, then this - element is a duplicate and would not need an insertion). Key is source data - column name, value is database field name. Example: {'id': 'gh_issue_id'} - :param update_col_map: Dictionary, maps the column names of the source data - to the field names in our database for columns that should be checked for - updates (if source data value != value in existing database row, then an - update is needed). Key is source data column name, value is database field name. - Example: {'id': 'gh_issue_id'} - :param table: String, the name of the table that holds the values to check for - duplicates/updates against - :param table_pkey: String, the field name of the primary key of the table in - the database that we are getting the values for to cross-reference to check - for duplicates. - :param where_clause: String, optional where clause to filter the values - that are queried when preparing the values that will be cross-referenced - for duplicates/updates - :param value_update_col_map: Dictionary, sometimes we add a new field to a table, - and we want to trigger an update of that row in the database even if all of the - data values are the same and would not need an update ordinarily. Checking for - a specific existing value in the database field allows us to do this. The key is the - name of the field in the database we are checking for a specific value to trigger - an update, the value is the value we are checking for equality to trigger an update. - Example: {'cntrb_id': None} - :return: List of dictionaries, all data points from the pages of the specified API endpoint - each with a 'flag' key-value pair representing the required action to take with that - data point (i.e. 'need_insertion', 'need_update', 'none') - """ - - update_keys = list(update_col_map.keys()) if update_col_map else [] - update_keys += list(value_update_col_map.keys()) if value_update_col_map else [] - cols_to_query = list(duplicate_col_map.keys()) + update_keys + [table_pkey] - table_values = self.get_table_values(cols_to_query, [table], where_clause) - - i = 1 - multiple_pages = False - tuples = [] - while True: - num_attempts = 0 - success = False - while num_attempts < 3: - self.logger.info(f'Hitting endpoint: {url.format(i)}...\n') - r = requests.get(url=url.format(i), headers=self.headers) - - self.update_rate_limit(r, platform=platform) - if 'last' not in r.links: - last_page = None - else: - if platform == "github": - last_page = r.links['last']['url'][-6:].split('=')[1] - elif platform == "gitlab": - last_page = r.links['last']['url'].split('&')[2].split("=")[1] - self.logger.info("Analyzing page {} of {}\n".format(i, int(last_page) + 1 if last_page is not None else '*last page not known*')) - - try: - j = r.json() - except: - j = json.loads(json.dumps(r.text)) - - if type(j) != dict and type(j) != str: - success = True - break - elif type(j) == dict: - self.logger.info("Request returned a dict: {}\n".format(j)) - if j['message'] == 'Not Found': - self.logger.warning("Github repo was not found or does not exist for endpoint: {}\n".format(url)) - break - if j['message'] == 'You have triggered an abuse detection mechanism. Please wait a few minutes before you try again.': - num_attempts -= 1 - self.logger.info("rate limit update code goes here") - self.update_rate_limit(r, temporarily_disable=True,platform=platform) - if j['message'] == 'Bad credentials': - self.logger.info("rate limit update code goes here") - self.update_rate_limit(r, bad_credentials=True, platform=platform) - elif type(j) == str: - self.logger.info(f'J was string: {j}\n') - if '' in j: - self.logger.info('HTML was returned, trying again...\n') - elif len(j) == 0: - self.logger.warning('Empty string, trying again...\n') - else: - try: - j = json.loads(j) - success = True - break - except: - pass - num_attempts += 1 - if not success: - break - - # Find last page so we can decrement from there - if 'last' in r.links and not multiple_pages and not self.finishing_task: - if platform == "github": - param = r.links['last']['url'][-6:] - i = int(param.split('=')[1]) + 1 - elif platform == "gitlab": - i = int(r.links['last']['url'].split('&')[2].split("=")[1]) + 1 - self.logger.info("Multiple pages of request, last page is " + str(i - 1) + "\n") - multiple_pages = True - elif not multiple_pages and not self.finishing_task: - self.logger.info("Only 1 page of request\n") - elif self.finishing_task: - self.logger.info("Finishing a previous task, paginating forwards ..." - " excess rate limit requests will be made\n") - - if len(j) == 0: - self.logger.info("Response was empty, breaking from pagination.\n") - break - - # Checking contents of requests with what we already have in the db - j = self.assign_tuple_action(j, table_values, update_col_map, duplicate_col_map, table_pkey, value_update_col_map) - - if not j: - self.logger.error("Assigning tuple action failed, moving to next page.\n") - i = i + 1 if self.finishing_task else i - 1 - continue - try: - to_add = [obj for obj in j if obj not in tuples and (obj['flag'] != 'none')] - except Exception as e: - self.logger.error("Failure accessing data of page: {}. Moving to next page.\n".format(e)) - i = i + 1 if self.finishing_task else i - 1 - continue - if len(to_add) == 0 and multiple_pages and 'last' in r.links: - self.logger.info("{}".format(r.links['last'])) - if platform == "github": - page_number = int(r.links['last']['url'][-6:].split('=')[1]) - elif platform == "gitlab": - page_number = int(r.links['last']['url'].split('&')[2].split("=")[1]) - if i - 1 != page_number: - self.logger.info("No more pages with unknown tuples, breaking from pagination.\n") - break - - tuples += to_add - - i = i + 1 if self.finishing_task else i - 1 - - # Since we already wouldve checked the first page... break - if (i == 1 and multiple_pages and not self.finishing_task) or i < 1 or len(j) == 0: - self.logger.info("No more pages to check, breaking from pagination.\n") - break - - return tuples - - def new_paginate_endpoint( - self, url, action_map={}, table=None, where_clause=True, platform='github' - ): - - page_number = 1 - multiple_pages = False - need_insertion = [] - need_update = [] - all_data = [] - forward_pagination = True - backwards_activation = False - last_page_number = -1 - while True: - - # Multiple attempts to hit endpoint - num_attempts = 0 - success = False - while num_attempts < 10: - self.logger.info("hitting an endpiont") - # f"Hitting endpoint: ...\n" - # f"{url.format(page_number)} on page number. \n") - try: - response = requests.get(url=url.format(page_number), headers=self.headers) - except TimeoutError as e: - self.logger.info("Request timed out. Sleeping 10 seconds and trying again...\n") - time.sleep(10) - continue - - self.update_rate_limit(response, platform=platform) - - try: - page_data = response.json() - except: - page_data = json.loads(json.dumps(response.text)) - - if type(page_data) == list: - success = True - break - elif type(page_data) == dict: - self.logger.info("Request returned a dict: {}\n".format(page_data)) - if page_data['message'] == "Not Found": - self.logger.warning( - "Github repo was not found or does not exist for endpoint: " - f"{url.format(page_number)}\n" - ) - break - if "You have triggered an abuse detection mechanism." in page_data['message']: - num_attempts -= 1 - self.update_rate_limit(response, temporarily_disable=True,platform=platform) - if page_data['message'] == "Bad credentials": - self.update_rate_limit(response, bad_credentials=True, platform=platform) - elif type(page_data) == str: - self.logger.info(f"Warning! page_data was string: {page_data}\n") - if "" in page_data: - self.logger.info("HTML was returned, trying again...\n") - elif len(page_data) == 0: - self.logger.warning("Empty string, trying again...\n") - else: - try: - page_data = json.loads(page_data) - success = True - break - except: - pass - num_attempts += 1 - if not success: - break - - # Success - - # Determine if continued pagination is needed - - if len(page_data) == 0: - self.logger.info("Response was empty, breaking from pagination.\n") - break - - all_data += page_data - - if not forward_pagination: - - # Checking contents of requests with what we already have in the db - page_insertions, page_updates = self.new_organize_needed_data( - page_data, augur_table=table, action_map=action_map - ) - - # Reached a page where we already have all tuples - if len(need_insertion) == 0 and len(need_update) == 0 and \ - backwards_activation: - self.logger.info( - "No more pages with unknown tuples, breaking from pagination.\n" - ) - break - - need_insertion += page_insertions - need_update += page_updates - - # Find last page so we can decrement from there - if 'last' in response.links and last_page_number == -1: - if platform == 'github': - last_page_number = int(response.links['last']['url'][-6:].split('=')[1]) - elif platform == 'gitlab': - last_page_number = int(response.links['last']['url'].split('&')[2].split('=')[1]) - - if not forward_pagination and not backwards_activation: - page_number = last_page_number - backwards_activation = True - - self.logger.info("Analyzation of page {} of {} complete\n".format(page_number, - int(last_page_number) if last_page_number != -1 else "*last page not known*")) + table_values_issue_labels = self.db.execute( + s.sql.select(self.get_relevant_columns(self.issue_labels_table,label_action_map)) + ).fetchall() - if (page_number <= 1 and not forward_pagination) or \ - (page_number >= last_page_number and forward_pagination): - self.logger.info("No more pages to check, breaking from pagination.\n") - break - page_number = page_number + 1 if forward_pagination else page_number - 1 + source_labels_insert, _ = self.organize_needed_data( + labels_all, table_values=table_values_issue_labels, + action_map=label_action_map + ) + labels_insert = [ + { + 'issue_id': issue['issue_id'], + 'label_text': label['name'], + 'label_description': label['description'] if 'description' in label else None, + 'label_color': label['color'], + 'tool_source': self.tool_source, + 'tool_version': self.tool_version, + 'data_source': self.data_source, + 'label_src_id': label['id'], + 'label_src_node_id': label['node_id'] + } for label in source_labels_insert + ] - if forward_pagination: - need_insertion, need_update = self.new_organize_needed_data( - all_data, augur_table=table, action_map=action_map + #Trying to fix an error with creating bigInts using pandas + try: + self.bulk_insert( + self.issue_labels_table, insert=labels_insert, + unique_columns=label_action_map['insert']['augur'] + ) + except psycopg2.errors.InvalidTextRepresentation as e: + #If there was an error constructing a type try to redo the insert with a conversion. + self.logger.warning(f"Type error when attempting to insert data in issue_nested_data_model with the github worker. Trying again with type conversion on. ERROR: {e} \n") + self.bulk_insert( + self.issue_labels_table, insert=labels_insert, + unique_columns=label_action_map['insert']['augur'], + convert_float_int=True ) - - return { - 'insert': need_insertion, - 'update': need_update, - 'all': all_data - } \ No newline at end of file diff --git a/workers/worker_git_integration.py b/workers/worker_git_integration.py index 46239cba3c..fe93808084 100644 --- a/workers/worker_git_integration.py +++ b/workers/worker_git_integration.py @@ -260,7 +260,7 @@ def enrich_cntrb_id( cntrb_action_map = { 'insert': { - 'source': [key] + action_map_additions['insert']['source'] + ['user.id'], + 'source': [key] + action_map_additions['insert']['source'] + [f'{prefix}.id'], 'augur': ['cntrb_login'] + action_map_additions['insert']['augur'] + ['gh_user_id'] } } @@ -269,54 +269,56 @@ def enrich_cntrb_id( s.sql.select(self.get_relevant_columns(self.contributors_table,cntrb_action_map)) ).fetchall() - # self.logger.info(f"table_values_cntrb type: {type(table_values_cntrb)}") - # self.logger.info(f"table_values_cntrb keys: {table_values_cntrb[0].keys()}") + self.logger.info(f"table_values_cntrb type: {type(table_values_cntrb)}") + self.logger.info(f"table_values_cntrb keys: {table_values_cntrb[0].keys()}") source_data = expanded_source_df.to_dict(orient='records') - # self.logger.info(f"source_data type: {type(source_data)}") - # self.logger.info(f"source_data keys: {source_data[0].keys()}") + self.logger.info(f"source_data type: {type(source_data)}") + self.logger.info(f"source_data keys: {source_data[0].keys()}") #This returns the max id + 1 so we undo that here. cntrb_id_offset = self.get_max_id(self.contributors_table, 'cntrb_id') - 1 + # loop through data to test if it is already in the database - for index, data in enumerate(source_data): self.logger.info(f"Enriching {index} of {len(source_data)}") - #self.logger.info(f"source_data type: {type(source_data)}") - # may need to use this if there is a possibility the login is not populated - cntrb_logins = [] + + # create an array of gh_user_ids that are in the database + gh_user_ids = [] for row in table_values_cntrb: if row: - cntrb_logins.append(row['gh_node_id']) + gh_user_ids.append(row['gh_user_id']) + + # self.logger.info(f"Users gh_user_id: {data['user.id']}") + # in_user_ids = False + # if data['user.id'] in gh_user_ids: + # in_user_ids = True + # self.logger.info(f"{data['user.id']} is in gh_user_ids") + # self.logger.info(f"gh_user_ids len: {len(gh_user_ids)}") + # self.logger.info(f"table_values_cntrb len: {len(table_values_cntrb)}") - try: - data['node_id'] - except Exception as e: - self.logger.info(f"Input data: {data} caused this: {e}") - - # cntrb_logins = [row['cntrb_login'] for row in table_values_cntrb] #self.logger.info(f"cntrb logins length: {len(cntrb_logins)}") - #if user.login is in the database then there is no need to add the contributor - if data['node_id'] in cntrb_logins: + #if user.id is in the database then there is no need to add the contributor + if data[f'{prefix}.id'] in gh_user_ids: - #gets the dict from the table_values_cntrb that contains data['user.login'] - user_login_row = list(filter(lambda x: x['cntrb_login'] == data['user.login'], table_values_cntrb))[0] + self.logger.info("{} found in database".format(data[f'{prefix}.id'])) - #assigns the cntrb_id to the source data to be returned to the workers - data['cntrb_id'] = user_login_row['cntrb_id'] - self.logger.info(f"cntrb_id {data['cntrb_id']} found in database and assigned to enriched data") + #gets the dict from the table_values_cntrb that contains data['user.id'] + user_id_row = list(filter(lambda x: x['gh_user_id'] == data[f'{prefix}.id'], table_values_cntrb))[0] - # for row in table_values_cntrb: - # if row['cntrb_login'] == data['user.login']: - # cntrb_id = row['cntrb_id'] + #assigns the cntrb_id to the source data to be returned to the workers + data['cntrb_id'] = user_id_row['cntrb_id'] + self.logger.info(f"cntrb_id {data['cntrb_id']} found in database and assigned to enriched data") #contributor is not in the database else: - - url = ("https://api.github.com/users/" + data['user.login']) + + self.logger.info("{} not in database, making api call".format(data[f'{prefix}.id'])) + + url = ("https://api.github.com/users/" + data[f'{prefix}.login']) attempts = 0 @@ -330,69 +332,74 @@ def enrich_cntrb_id( self.logger.info(f"User data request for enriching contributor data failed with {attempts} attempts! Trying again...") time.sleep(10) continue - self.update_gh_rate_limit(response) - - try: - contributor = response.json() - except: - contributor = json.loads(json.dumps(response.text)) - - self.logger.info(f"Organize needed data contributor: {contributor}") - - cntrb = { - "cntrb_login": contributor['login'], - "cntrb_created_at": contributor['created_at'], - "cntrb_email": contributor['email'] if 'email' in contributor else None, - "cntrb_company": contributor['company'] if 'company' in contributor else None, - "cntrb_location": contributor['location'] if 'location' in contributor else None, - # "cntrb_type": , dont have a use for this as of now ... let it default to null - "cntrb_canonical": contributor['email'] if 'email' in contributor else None, - "gh_user_id": contributor['id'], - "gh_login": contributor['login'], - "gh_url": contributor['url'], - "gh_html_url": contributor['html_url'], - "gh_node_id": contributor['node_id'], - "gh_avatar_url": contributor['avatar_url'], - "gh_gravatar_id": contributor['gravatar_id'], - "gh_followers_url": contributor['followers_url'], - "gh_following_url": contributor['following_url'], - "gh_gists_url": contributor['gists_url'], - "gh_starred_url": contributor['starred_url'], - "gh_subscriptions_url": contributor['subscriptions_url'], - "gh_organizations_url": contributor['organizations_url'], - "gh_repos_url": contributor['repos_url'], - "gh_events_url": contributor['events_url'], - "gh_received_events_url": contributor['received_events_url'], - "gh_type": contributor['type'], - "gh_site_admin": contributor['site_admin'], - "tool_source": self.tool_source, - "tool_version": self.tool_version, - "data_source": self.data_source - } - - #insert new contributor into database - self.db.execute(self.contributors_table.insert().values(cntrb)) - - # increment cntrb_id offset - # keeps track of the next cntrb_id primary key without making extra db queries - cntrb_id_offset += 1 - - #assigns the cntrb_id to the source data to be returned to the workers - data['cntrb_id'] = cntrb_id_offset - self.logger.info(f"cntrb_id {data['cntrb_id']} found with api call and assigned to enriched data") - # add cntrb_id to data and append it to table_values_cntrb - # so duplicate cntrbs within the same data set aren't added - #cntrb['cntrb_id'] = cntrb_id_offset - - cntrb_data = { + try: + self.logger.info("Hitting endpoint: " + url + " ...\n") + response = requests.get(url=url , headers=self.headers) + except Exception as e: + self.logger.error(f"Unable to hit the endpoint {url}") + raise e + + try: + contributor = response.json() + except: + contributor = json.loads(json.dumps(response.text)) + + self.logger.info(f"Contributor data: {contributor}") + + cntrb = { + "cntrb_login": contributor['login'], + "cntrb_created_at": contributor['created_at'], + "cntrb_email": contributor['email'] if 'email' in contributor else None, + "cntrb_company": contributor['company'] if 'company' in contributor else None, + "cntrb_location": contributor['location'] if 'location' in contributor else None, + # "cntrb_type": , dont have a use for this as of now ... let it default to null + "cntrb_canonical": contributor['email'] if 'email' in contributor else None, + "gh_user_id": contributor['id'], + "gh_login": contributor['login'], + "gh_url": contributor['url'], + "gh_html_url": contributor['html_url'], + "gh_node_id": contributor['node_id'], + "gh_avatar_url": contributor['avatar_url'], + "gh_gravatar_id": contributor['gravatar_id'], + "gh_followers_url": contributor['followers_url'], + "gh_following_url": contributor['following_url'], + "gh_gists_url": contributor['gists_url'], + "gh_starred_url": contributor['starred_url'], + "gh_subscriptions_url": contributor['subscriptions_url'], + "gh_organizations_url": contributor['organizations_url'], + "gh_repos_url": contributor['repos_url'], + "gh_events_url": contributor['events_url'], + "gh_received_events_url": contributor['received_events_url'], + "gh_type": contributor['type'], + "gh_site_admin": contributor['site_admin'], + "tool_source": self.tool_source, + "tool_version": self.tool_version, + "data_source": self.data_source + } + + #insert new contributor into database + self.db.execute(self.contributors_table.insert().values(cntrb)) + + # increment cntrb_id offset + # keeps track of the next cntrb_id primary key without making extra db queries + cntrb_id_offset += 1 + + #assigns the cntrb_id to the source data to be returned to the workers + data['cntrb_id'] = cntrb_id_offset + self.logger.info(f"cntrb_id {data['cntrb_id']} found with api call and assigned to enriched data") + # add cntrb_id to data and append it to table_values_cntrb + # so duplicate cntrbs within the same data set aren't added + #cntrb['cntrb_id'] = cntrb_id_offset + + + cntrb_data = { 'cntrb_id': cntrb_id_offset, 'gh_node_id': cntrb['gh_node_id'], 'cntrb_login': cntrb['cntrb_login'], - } - table_values_cntrb.append(cntrb_data) - - + 'gh_user_id': cntrb['gh_user_id'] + } + table_values_cntrb.append(cntrb_data) self.logger.info( "Contributor id enrichment successful, result has " @@ -400,10 +407,10 @@ def enrich_cntrb_id( ) return source_data - - - - + + + + # source_cntrb_insert, _ = self.organize_needed_data( @@ -1780,4 +1787,4 @@ def new_paginate_endpoint( 'insert': need_insertion, 'update': need_update, 'all': all_data - } + } \ No newline at end of file From 0a05c15a69b41295451466aaf1bd1f02b5dd4d4f Mon Sep 17 00:00:00 2001 From: Isaac Milarsky Date: Fri, 30 Jul 2021 11:20:19 -0500 Subject: [PATCH 113/201] Syntax Signed-off-by: Isaac Milarsky --- workers/worker_git_integration.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/workers/worker_git_integration.py b/workers/worker_git_integration.py index fe93808084..6bfa0932cf 100644 --- a/workers/worker_git_integration.py +++ b/workers/worker_git_integration.py @@ -260,7 +260,7 @@ def enrich_cntrb_id( cntrb_action_map = { 'insert': { - 'source': [key] + action_map_additions['insert']['source'] + [f'{prefix}.id'], + 'source': [key] + action_map_additions['insert']['source'] + [f'{prefix}id'], 'augur': ['cntrb_login'] + action_map_additions['insert']['augur'] + ['gh_user_id'] } } @@ -302,12 +302,12 @@ def enrich_cntrb_id( #self.logger.info(f"cntrb logins length: {len(cntrb_logins)}") #if user.id is in the database then there is no need to add the contributor - if data[f'{prefix}.id'] in gh_user_ids: + if data[f'{prefix}id'] in gh_user_ids: - self.logger.info("{} found in database".format(data[f'{prefix}.id'])) + self.logger.info("{} found in database".format(data[f'{prefix}id'])) #gets the dict from the table_values_cntrb that contains data['user.id'] - user_id_row = list(filter(lambda x: x['gh_user_id'] == data[f'{prefix}.id'], table_values_cntrb))[0] + user_id_row = list(filter(lambda x: x['gh_user_id'] == data[f'{prefix}id'], table_values_cntrb))[0] #assigns the cntrb_id to the source data to be returned to the workers data['cntrb_id'] = user_id_row['cntrb_id'] @@ -316,7 +316,7 @@ def enrich_cntrb_id( #contributor is not in the database else: - self.logger.info("{} not in database, making api call".format(data[f'{prefix}.id'])) + self.logger.info("{} not in database, making api call".format(data[f'{prefix}id'])) url = ("https://api.github.com/users/" + data[f'{prefix}.login']) From cb3025a689b1c8824fb9aae93575a7b5ef8028db Mon Sep 17 00:00:00 2001 From: Isaac Milarsky Date: Fri, 30 Jul 2021 11:24:05 -0500 Subject: [PATCH 114/201] Missed one Signed-off-by: Isaac Milarsky --- workers/worker_git_integration.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workers/worker_git_integration.py b/workers/worker_git_integration.py index 6bfa0932cf..e6d12f4759 100644 --- a/workers/worker_git_integration.py +++ b/workers/worker_git_integration.py @@ -318,7 +318,7 @@ def enrich_cntrb_id( self.logger.info("{} not in database, making api call".format(data[f'{prefix}id'])) - url = ("https://api.github.com/users/" + data[f'{prefix}.login']) + url = ("https://api.github.com/users/" + data[f'{prefix}login']) attempts = 0 From 18c07259a49f17b4c9cb9be56b3a5159b9490143 Mon Sep 17 00:00:00 2001 From: Isaac Milarsky Date: Fri, 30 Jul 2021 11:41:41 -0500 Subject: [PATCH 115/201] Indent Error Signed-off-by: Isaac Milarsky --- workers/worker_git_integration.py | 150 +++++++++++++++--------------- 1 file changed, 73 insertions(+), 77 deletions(-) diff --git a/workers/worker_git_integration.py b/workers/worker_git_integration.py index e6d12f4759..581b66c59d 100644 --- a/workers/worker_git_integration.py +++ b/workers/worker_git_integration.py @@ -322,84 +322,80 @@ def enrich_cntrb_id( attempts = 0 - while attempts < 10: - try: - attempts += 1 - self.logger.info("Hitting endpoint: " + url + " ...\n") - response = requests.get(url=url , headers=self.headers) - break - except TimeoutError: - self.logger.info(f"User data request for enriching contributor data failed with {attempts} attempts! Trying again...") - time.sleep(10) - continue - - try: - self.logger.info("Hitting endpoint: " + url + " ...\n") - response = requests.get(url=url , headers=self.headers) - except Exception as e: - self.logger.error(f"Unable to hit the endpoint {url}") - raise e - - try: - contributor = response.json() - except: - contributor = json.loads(json.dumps(response.text)) - - self.logger.info(f"Contributor data: {contributor}") - - cntrb = { - "cntrb_login": contributor['login'], - "cntrb_created_at": contributor['created_at'], - "cntrb_email": contributor['email'] if 'email' in contributor else None, - "cntrb_company": contributor['company'] if 'company' in contributor else None, - "cntrb_location": contributor['location'] if 'location' in contributor else None, - # "cntrb_type": , dont have a use for this as of now ... let it default to null - "cntrb_canonical": contributor['email'] if 'email' in contributor else None, - "gh_user_id": contributor['id'], - "gh_login": contributor['login'], - "gh_url": contributor['url'], - "gh_html_url": contributor['html_url'], - "gh_node_id": contributor['node_id'], - "gh_avatar_url": contributor['avatar_url'], - "gh_gravatar_id": contributor['gravatar_id'], - "gh_followers_url": contributor['followers_url'], - "gh_following_url": contributor['following_url'], - "gh_gists_url": contributor['gists_url'], - "gh_starred_url": contributor['starred_url'], - "gh_subscriptions_url": contributor['subscriptions_url'], - "gh_organizations_url": contributor['organizations_url'], - "gh_repos_url": contributor['repos_url'], - "gh_events_url": contributor['events_url'], - "gh_received_events_url": contributor['received_events_url'], - "gh_type": contributor['type'], - "gh_site_admin": contributor['site_admin'], - "tool_source": self.tool_source, - "tool_version": self.tool_version, - "data_source": self.data_source - } - - #insert new contributor into database - self.db.execute(self.contributors_table.insert().values(cntrb)) - - # increment cntrb_id offset - # keeps track of the next cntrb_id primary key without making extra db queries - cntrb_id_offset += 1 + try: + while attempts < 10: + try: + self.logger.info("Hitting endpoint: " + url + " ...\n") + response = requests.get(url=url , headers=self.headers) + break + except TimeoutError: + self.logger.info(f"User data request for enriching contributor data failed with {attempts} attempts! Trying again...") + time.sleep(10) - #assigns the cntrb_id to the source data to be returned to the workers - data['cntrb_id'] = cntrb_id_offset - self.logger.info(f"cntrb_id {data['cntrb_id']} found with api call and assigned to enriched data") - # add cntrb_id to data and append it to table_values_cntrb - # so duplicate cntrbs within the same data set aren't added - #cntrb['cntrb_id'] = cntrb_id_offset - - - cntrb_data = { - 'cntrb_id': cntrb_id_offset, - 'gh_node_id': cntrb['gh_node_id'], - 'cntrb_login': cntrb['cntrb_login'], - 'gh_user_id': cntrb['gh_user_id'] - } - table_values_cntrb.append(cntrb_data) + attempts += 1 + except Exception as e: + raise e + + try: + contributor = response.json() + except: + contributor = json.loads(json.dumps(response.text)) + + self.logger.info(f"Contributor data: {contributor}") + + cntrb = { + "cntrb_login": contributor['login'], + "cntrb_created_at": contributor['created_at'], + "cntrb_email": contributor['email'] if 'email' in contributor else None, + "cntrb_company": contributor['company'] if 'company' in contributor else None, + "cntrb_location": contributor['location'] if 'location' in contributor else None, + # "cntrb_type": , dont have a use for this as of now ... let it default to null + "cntrb_canonical": contributor['email'] if 'email' in contributor else None, + "gh_user_id": contributor['id'], + "gh_login": contributor['login'], + "gh_url": contributor['url'], + "gh_html_url": contributor['html_url'], + "gh_node_id": contributor['node_id'], + "gh_avatar_url": contributor['avatar_url'], + "gh_gravatar_id": contributor['gravatar_id'], + "gh_followers_url": contributor['followers_url'], + "gh_following_url": contributor['following_url'], + "gh_gists_url": contributor['gists_url'], + "gh_starred_url": contributor['starred_url'], + "gh_subscriptions_url": contributor['subscriptions_url'], + "gh_organizations_url": contributor['organizations_url'], + "gh_repos_url": contributor['repos_url'], + "gh_events_url": contributor['events_url'], + "gh_received_events_url": contributor['received_events_url'], + "gh_type": contributor['type'], + "gh_site_admin": contributor['site_admin'], + "tool_source": self.tool_source, + "tool_version": self.tool_version, + "data_source": self.data_source + } + + #insert new contributor into database + self.db.execute(self.contributors_table.insert().values(cntrb)) + + # increment cntrb_id offset + # keeps track of the next cntrb_id primary key without making extra db queries + cntrb_id_offset += 1 + + #assigns the cntrb_id to the source data to be returned to the workers + data['cntrb_id'] = cntrb_id_offset + self.logger.info(f"cntrb_id {data['cntrb_id']} found with api call and assigned to enriched data") + # add cntrb_id to data and append it to table_values_cntrb + # so duplicate cntrbs within the same data set aren't added + #cntrb['cntrb_id'] = cntrb_id_offset + + + cntrb_data = { + 'cntrb_id': cntrb_id_offset, + 'gh_node_id': cntrb['gh_node_id'], + 'cntrb_login': cntrb['cntrb_login'], + 'gh_user_id': cntrb['gh_user_id'] + } + table_values_cntrb.append(cntrb_data) self.logger.info( "Contributor id enrichment successful, result has " From b97190fe0edd4c02cc2c9f6436dec2ee0cd6a24d Mon Sep 17 00:00:00 2001 From: Isaac Milarsky Date: Fri, 30 Jul 2021 11:48:52 -0500 Subject: [PATCH 116/201] logging Signed-off-by: Isaac Milarsky --- workers/worker_git_integration.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workers/worker_git_integration.py b/workers/worker_git_integration.py index 581b66c59d..8c95003d51 100644 --- a/workers/worker_git_integration.py +++ b/workers/worker_git_integration.py @@ -297,7 +297,7 @@ def enrich_cntrb_id( # in_user_ids = True # self.logger.info(f"{data['user.id']} is in gh_user_ids") - # self.logger.info(f"gh_user_ids len: {len(gh_user_ids)}") + self.logger.info(f"gh_user_ids: {gh_user_ids}") # self.logger.info(f"table_values_cntrb len: {len(table_values_cntrb)}") #self.logger.info(f"cntrb logins length: {len(cntrb_logins)}") From bf714f7d8d507f85e34c7fad77f36fde7d354f2a Mon Sep 17 00:00:00 2001 From: Isaac Milarsky Date: Fri, 30 Jul 2021 13:24:44 -0500 Subject: [PATCH 117/201] logging Signed-off-by: Isaac Milarsky --- workers/worker_git_integration.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/workers/worker_git_integration.py b/workers/worker_git_integration.py index 8c95003d51..6bed0ea6ae 100644 --- a/workers/worker_git_integration.py +++ b/workers/worker_git_integration.py @@ -291,6 +291,7 @@ def enrich_cntrb_id( if row: gh_user_ids.append(row['gh_user_id']) + self.logger.info(f"gh_user_ids: {gh_user_ids}") # self.logger.info(f"Users gh_user_id: {data['user.id']}") # in_user_ids = False # if data['user.id'] in gh_user_ids: @@ -317,8 +318,12 @@ def enrich_cntrb_id( else: self.logger.info("{} not in database, making api call".format(data[f'{prefix}id'])) + self.logger.info("login: {}".format(data[f'{prefix}login'])) - url = ("https://api.github.com/users/" + data[f'{prefix}login']) + try: + url = ("https://api.github.com/users/" + data[f'{prefix}login']) + except Exception as e: + self.logger.info(f"Error when creating url: {e}. Data: {data}") attempts = 0 From 3476bf787fc2ddda29b8269cbed4d72e1a51183c Mon Sep 17 00:00:00 2001 From: Isaac Milarsky Date: Fri, 30 Jul 2021 13:36:33 -0500 Subject: [PATCH 118/201] minor restructure of a part Signed-off-by: Isaac Milarsky --- workers/worker_git_integration.py | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/workers/worker_git_integration.py b/workers/worker_git_integration.py index 6bed0ea6ae..8f2af85c05 100644 --- a/workers/worker_git_integration.py +++ b/workers/worker_git_integration.py @@ -280,25 +280,25 @@ def enrich_cntrb_id( #This returns the max id + 1 so we undo that here. cntrb_id_offset = self.get_max_id(self.contributors_table, 'cntrb_id') - 1 + # create an array of gh_user_ids that are in the database + gh_user_ids = [] + for row in table_values_cntrb: + if row: + gh_user_ids.append(row['gh_user_id']) + + self.logger.info(f"gh_user_ids: {gh_user_ids}") + # loop through data to test if it is already in the database for index, data in enumerate(source_data): self.logger.info(f"Enriching {index} of {len(source_data)}") - - # create an array of gh_user_ids that are in the database - gh_user_ids = [] - for row in table_values_cntrb: - if row: - gh_user_ids.append(row['gh_user_id']) - - self.logger.info(f"gh_user_ids: {gh_user_ids}") + # self.logger.info(f"Users gh_user_id: {data['user.id']}") # in_user_ids = False # if data['user.id'] in gh_user_ids: # in_user_ids = True # self.logger.info(f"{data['user.id']} is in gh_user_ids") - self.logger.info(f"gh_user_ids: {gh_user_ids}") # self.logger.info(f"table_values_cntrb len: {len(table_values_cntrb)}") #self.logger.info(f"cntrb logins length: {len(cntrb_logins)}") @@ -381,7 +381,8 @@ def enrich_cntrb_id( #insert new contributor into database self.db.execute(self.contributors_table.insert().values(cntrb)) - + gh_user_ids.append(contributor['id']) + self.logger.info(f"gh_user_id {gh_user_ids[-1]} added to gh_user_ids") # increment cntrb_id offset # keeps track of the next cntrb_id primary key without making extra db queries cntrb_id_offset += 1 From ce048b2d7d3dc5fe171fa1a7e9c07efd076d2e1b Mon Sep 17 00:00:00 2001 From: Isaac Milarsky Date: Fri, 30 Jul 2021 13:48:29 -0500 Subject: [PATCH 119/201] edge-case Signed-off-by: Isaac Milarsky --- workers/worker_git_integration.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/workers/worker_git_integration.py b/workers/worker_git_integration.py index 8f2af85c05..59f576a831 100644 --- a/workers/worker_git_integration.py +++ b/workers/worker_git_integration.py @@ -283,8 +283,12 @@ def enrich_cntrb_id( # create an array of gh_user_ids that are in the database gh_user_ids = [] for row in table_values_cntrb: - if row: + try: gh_user_ids.append(row['gh_user_id']) + except Exception as e: + self.logger.info(f"Error adding gh_user_id: {e}. Row: {row}") + + self.logger.info(f"gh_user_ids: {gh_user_ids}") From c88fe218e0c757483984f26e2ccb4ce82df8b2b7 Mon Sep 17 00:00:00 2001 From: Isaac Milarsky Date: Fri, 30 Jul 2021 13:57:02 -0500 Subject: [PATCH 120/201] edge-case Signed-off-by: Isaac Milarsky --- workers/worker_git_integration.py | 1 + 1 file changed, 1 insertion(+) diff --git a/workers/worker_git_integration.py b/workers/worker_git_integration.py index 59f576a831..8d1c52609b 100644 --- a/workers/worker_git_integration.py +++ b/workers/worker_git_integration.py @@ -387,6 +387,7 @@ def enrich_cntrb_id( self.db.execute(self.contributors_table.insert().values(cntrb)) gh_user_ids.append(contributor['id']) self.logger.info(f"gh_user_id {gh_user_ids[-1]} added to gh_user_ids") + self.logger.info(f"gh_user_id {contributor['id']} added to gh_user_ids") # increment cntrb_id offset # keeps track of the next cntrb_id primary key without making extra db queries cntrb_id_offset += 1 From 8c6528698b930f24fd36d28d80d9d02eb33dd05d Mon Sep 17 00:00:00 2001 From: Isaac Milarsky Date: Fri, 30 Jul 2021 14:19:43 -0500 Subject: [PATCH 121/201] edge-case Signed-off-by: Isaac Milarsky --- workers/worker_git_integration.py | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/workers/worker_git_integration.py b/workers/worker_git_integration.py index 8d1c52609b..41a368490c 100644 --- a/workers/worker_git_integration.py +++ b/workers/worker_git_integration.py @@ -280,22 +280,19 @@ def enrich_cntrb_id( #This returns the max id + 1 so we undo that here. cntrb_id_offset = self.get_max_id(self.contributors_table, 'cntrb_id') - 1 - # create an array of gh_user_ids that are in the database - gh_user_ids = [] - for row in table_values_cntrb: - try: - gh_user_ids.append(row['gh_user_id']) - except Exception as e: - self.logger.info(f"Error adding gh_user_id: {e}. Row: {row}") - - - - self.logger.info(f"gh_user_ids: {gh_user_ids}") - # loop through data to test if it is already in the database for index, data in enumerate(source_data): self.logger.info(f"Enriching {index} of {len(source_data)}") + + gh_user_ids = [] + for row in table_values_cntrb: + try: + gh_user_ids.append(row['gh_user_id']) + except Exception as e: + self.logger.info(f"Error adding gh_user_id: {e}. Row: {row}") + + self.logger.info(f"gh_user_ids: {gh_user_ids}") # self.logger.info(f"Users gh_user_id: {data['user.id']}") # in_user_ids = False @@ -385,6 +382,7 @@ def enrich_cntrb_id( #insert new contributor into database self.db.execute(self.contributors_table.insert().values(cntrb)) + gh_user_ids.append(contributor['id']) self.logger.info(f"gh_user_id {gh_user_ids[-1]} added to gh_user_ids") self.logger.info(f"gh_user_id {contributor['id']} added to gh_user_ids") From f7871cf265de63c8cb5c236cf1d0f42efceec796 Mon Sep 17 00:00:00 2001 From: Isaac Milarsky Date: Fri, 30 Jul 2021 14:53:39 -0500 Subject: [PATCH 122/201] edge-case Signed-off-by: Isaac Milarsky --- workers/worker_git_integration.py | 51 ++++++++++++++++++------------- 1 file changed, 30 insertions(+), 21 deletions(-) diff --git a/workers/worker_git_integration.py b/workers/worker_git_integration.py index 41a368490c..5b8ed799a4 100644 --- a/workers/worker_git_integration.py +++ b/workers/worker_git_integration.py @@ -379,32 +379,41 @@ def enrich_cntrb_id( "tool_version": self.tool_version, "data_source": self.data_source } - + #insert new contributor into database - self.db.execute(self.contributors_table.insert().values(cntrb)) + try: + self.db.execute(self.contributors_table.insert().values(cntrb)) + + # increment cntrb_id offset + # keeps track of the next cntrb_id primary key without making extra db queries + cntrb_id_offset += 1 + + #assigns the cntrb_id to the source data to be returned to the workers + data['cntrb_id'] = cntrb_id_offset + self.logger.info(f"cntrb_id {data['cntrb_id']} found with api call and assigned to enriched data") + # add cntrb_id to data and append it to table_values_cntrb + # so duplicate cntrbs within the same data set aren't added + #cntrb['cntrb_id'] = cntrb_id_offset + except s.exc.IntegrityError: + self.logger.info("Contributor was already added to database! Getting cntrb_id") - gh_user_ids.append(contributor['id']) - self.logger.info(f"gh_user_id {gh_user_ids[-1]} added to gh_user_ids") - self.logger.info(f"gh_user_id {contributor['id']} added to gh_user_ids") - # increment cntrb_id offset - # keeps track of the next cntrb_id primary key without making extra db queries - cntrb_id_offset += 1 - - #assigns the cntrb_id to the source data to be returned to the workers - data['cntrb_id'] = cntrb_id_offset - self.logger.info(f"cntrb_id {data['cntrb_id']} found with api call and assigned to enriched data") - # add cntrb_id to data and append it to table_values_cntrb - # so duplicate cntrbs within the same data set aren't added - #cntrb['cntrb_id'] = cntrb_id_offset - - - cntrb_data = { - 'cntrb_id': cntrb_id_offset, + cntrb_id_row = self.db.execute( + s.sql.select(self.get_relevant_columns(self.contributors_table,cntrb_action_map)).where( + self.contributors_table.c.gh_user_id==cntrb["gh_user_id"] + ) + ).fetchall() + + self.logger.info("cntrb_id_row type: {type(cntrb_id_row)}") + self.logger.info("cntrb_id_row : {cntrb_id_row}") + + + cntrb_data = { + 'cntrb_id': data['cntrb_id'], 'gh_node_id': cntrb['gh_node_id'], 'cntrb_login': cntrb['cntrb_login'], 'gh_user_id': cntrb['gh_user_id'] - } - table_values_cntrb.append(cntrb_data) + } + table_values_cntrb.append(cntrb_data) self.logger.info( "Contributor id enrichment successful, result has " From 3332963695f32c893a83e6b89e43666ebc502d61 Mon Sep 17 00:00:00 2001 From: Isaac Milarsky Date: Fri, 30 Jul 2021 15:04:52 -0500 Subject: [PATCH 123/201] edge-case Signed-off-by: Isaac Milarsky --- workers/worker_git_integration.py | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/workers/worker_git_integration.py b/workers/worker_git_integration.py index 5b8ed799a4..7dfa2207fc 100644 --- a/workers/worker_git_integration.py +++ b/workers/worker_git_integration.py @@ -397,23 +397,23 @@ def enrich_cntrb_id( except s.exc.IntegrityError: self.logger.info("Contributor was already added to database! Getting cntrb_id") - cntrb_id_row = self.db.execute( + cntrb_id_row = self.db.execute( s.sql.select(self.get_relevant_columns(self.contributors_table,cntrb_action_map)).where( self.contributors_table.c.gh_user_id==cntrb["gh_user_id"] ) - ).fetchall() + ).fetchall() - self.logger.info("cntrb_id_row type: {type(cntrb_id_row)}") - self.logger.info("cntrb_id_row : {cntrb_id_row}") - + self.logger.info(f"cntrb_id_row type: {type(cntrb_id_row)}") + self.logger.info(f"cntrb_id_row : {cntrb_id_row}") + - cntrb_data = { - 'cntrb_id': data['cntrb_id'], + cntrb_data = { + 'cntrb_id': data['cntrb_id'], 'gh_node_id': cntrb['gh_node_id'], 'cntrb_login': cntrb['cntrb_login'], 'gh_user_id': cntrb['gh_user_id'] - } - table_values_cntrb.append(cntrb_data) + } + table_values_cntrb.append(cntrb_data) self.logger.info( "Contributor id enrichment successful, result has " From 37ee560b794e1bdb8e3bf645673c2731626c5977 Mon Sep 17 00:00:00 2001 From: Isaac Milarsky Date: Fri, 30 Jul 2021 15:14:46 -0500 Subject: [PATCH 124/201] minor Signed-off-by: Isaac Milarsky --- workers/worker_git_integration.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/workers/worker_git_integration.py b/workers/worker_git_integration.py index 7dfa2207fc..5b879c34d0 100644 --- a/workers/worker_git_integration.py +++ b/workers/worker_git_integration.py @@ -394,8 +394,9 @@ def enrich_cntrb_id( # add cntrb_id to data and append it to table_values_cntrb # so duplicate cntrbs within the same data set aren't added #cntrb['cntrb_id'] = cntrb_id_offset - except s.exc.IntegrityError: - self.logger.info("Contributor was already added to database! Getting cntrb_id") + # except s.exc.IntegrityError: + except Exception as e: + self.logger.info(f"Contributor was already added to database! Getting cntrb_id! Error: {e}") cntrb_id_row = self.db.execute( s.sql.select(self.get_relevant_columns(self.contributors_table,cntrb_action_map)).where( From 29480b560f478ac9e83adab68069c0ac81d89a1a Mon Sep 17 00:00:00 2001 From: Isaac Milarsky Date: Fri, 30 Jul 2021 15:25:51 -0500 Subject: [PATCH 125/201] minor Signed-off-by: Isaac Milarsky --- workers/worker_git_integration.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/workers/worker_git_integration.py b/workers/worker_git_integration.py index 5b879c34d0..e6e6c5ef1d 100644 --- a/workers/worker_git_integration.py +++ b/workers/worker_git_integration.py @@ -404,8 +404,10 @@ def enrich_cntrb_id( ) ).fetchall() - self.logger.info(f"cntrb_id_row type: {type(cntrb_id_row)}") - self.logger.info(f"cntrb_id_row : {cntrb_id_row}") + + self.logger.info(f"cntrb_id_row type: {type(cntrb_id_row[0])}") + self.logger.info(f"cntrb_id_row keys: {type(cntrb_id_row[0].keys())}") + self.logger.info(f"cntrb_id_row cntrb_id: {cntrb_id_row[0]['cntrb_id']}") cntrb_data = { From 64c1bb687f146b8fa4b31b32ef3cfd77a235f833 Mon Sep 17 00:00:00 2001 From: Isaac Milarsky Date: Fri, 30 Jul 2021 15:56:29 -0500 Subject: [PATCH 126/201] minor Signed-off-by: Isaac Milarsky --- workers/worker_git_integration.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/workers/worker_git_integration.py b/workers/worker_git_integration.py index e6e6c5ef1d..4dbeb8b325 100644 --- a/workers/worker_git_integration.py +++ b/workers/worker_git_integration.py @@ -404,11 +404,13 @@ def enrich_cntrb_id( ) ).fetchall() - - self.logger.info(f"cntrb_id_row type: {type(cntrb_id_row[0])}") - self.logger.info(f"cntrb_id_row keys: {type(cntrb_id_row[0].keys())}") - self.logger.info(f"cntrb_id_row cntrb_id: {cntrb_id_row[0]['cntrb_id']}") - + if len(cntrb_id_row) == 1: + data['cntrb_id'] = cntrb_id_row[0]['cntrb_id'] + elif len(cntrb_id_row) == 0: + self.logger.info("Couldn't find contributor in database") + else: + self.logger.info(f"There are more than one contributors in the table with gh_user_id={cntrb['gh_user_id']}") + cntrb_data = { 'cntrb_id': data['cntrb_id'], From a453fa8b35c502e011856b3f2398c76852fb9f97 Mon Sep 17 00:00:00 2001 From: Isaac Milarsky Date: Fri, 30 Jul 2021 16:26:49 -0500 Subject: [PATCH 127/201] minor Signed-off-by: Isaac Milarsky --- workers/worker_git_integration.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/workers/worker_git_integration.py b/workers/worker_git_integration.py index 4dbeb8b325..c6e5520d75 100644 --- a/workers/worker_git_integration.py +++ b/workers/worker_git_integration.py @@ -398,6 +398,7 @@ def enrich_cntrb_id( except Exception as e: self.logger.info(f"Contributor was already added to database! Getting cntrb_id! Error: {e}") + cntrb_id_row = self.db.execute( s.sql.select(self.get_relevant_columns(self.contributors_table,cntrb_action_map)).where( self.contributors_table.c.gh_user_id==cntrb["gh_user_id"] @@ -406,6 +407,7 @@ def enrich_cntrb_id( if len(cntrb_id_row) == 1: data['cntrb_id'] = cntrb_id_row[0]['cntrb_id'] + self.logger.info(f"cntrb_id {data['cntrb_id']} found in database and assigned to enriched data") elif len(cntrb_id_row) == 0: self.logger.info("Couldn't find contributor in database") else: From 709101bebbe91869b75788aae454d8a809238901 Mon Sep 17 00:00:00 2001 From: Isaac Milarsky Date: Fri, 30 Jul 2021 16:44:54 -0500 Subject: [PATCH 128/201] minor Signed-off-by: Isaac Milarsky --- workers/worker_git_integration.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/workers/worker_git_integration.py b/workers/worker_git_integration.py index c6e5520d75..9f0c61586b 100644 --- a/workers/worker_git_integration.py +++ b/workers/worker_git_integration.py @@ -318,6 +318,7 @@ def enrich_cntrb_id( #contributor is not in the database else: + self.logger.info("{} not in database, making api call".format(data[f'{prefix}id'])) self.logger.info("login: {}".format(data[f'{prefix}login'])) @@ -384,6 +385,11 @@ def enrich_cntrb_id( try: self.db.execute(self.contributors_table.insert().values(cntrb)) + #We need to get the proper starting value for the cntrb_id if it is the first insertion into the table. + #Otherwise we get nasty foreign key constraints. + if len(table_values_cntrb) == 1: + cntrb_id_offset = self.get_max_id(self.contributors_table, 'cntrb_id') - 1 + # increment cntrb_id offset # keeps track of the next cntrb_id primary key without making extra db queries cntrb_id_offset += 1 From f76e288f437826d49a955c74689d533ec5a5e247 Mon Sep 17 00:00:00 2001 From: Isaac Milarsky Date: Mon, 2 Aug 2021 11:18:38 -0500 Subject: [PATCH 129/201] enrich_cntrb_id now queries the database for the cntrb_id instead of relying on autoincrement being correct. Also this was needed to solve collisions between the github_worker and the pull_request_worker. In the future Andrew and I think we should put the method in its own worker class with its own queue to avoid collisions. Signed-off-by: Isaac Milarsky --- workers/worker_git_integration.py | 74 +++++++++++++------------------ 1 file changed, 32 insertions(+), 42 deletions(-) diff --git a/workers/worker_git_integration.py b/workers/worker_git_integration.py index 9f0c61586b..4f320813a7 100644 --- a/workers/worker_git_integration.py +++ b/workers/worker_git_integration.py @@ -277,8 +277,9 @@ def enrich_cntrb_id( self.logger.info(f"source_data type: {type(source_data)}") self.logger.info(f"source_data keys: {source_data[0].keys()}") - #This returns the max id + 1 so we undo that here. - cntrb_id_offset = self.get_max_id(self.contributors_table, 'cntrb_id') - 1 + #We can't use this because of worker collisions + #TODO: seperate this method into it's own worker. + #cntrb_id_offset = self.get_max_id(self.contributors_table, 'cntrb_id') - 1 # loop through data to test if it is already in the database for index, data in enumerate(source_data): @@ -380,44 +381,32 @@ def enrich_cntrb_id( "tool_version": self.tool_version, "data_source": self.data_source } - + #insert new contributor into database + # TODO: make this method it's own worker. This errors because of collisions between github_worker and pull_request_worker. + #We can solve this by making another worker with a queue. It wouldn't have to be too complicated. try: self.db.execute(self.contributors_table.insert().values(cntrb)) - - #We need to get the proper starting value for the cntrb_id if it is the first insertion into the table. - #Otherwise we get nasty foreign key constraints. - if len(table_values_cntrb) == 1: - cntrb_id_offset = self.get_max_id(self.contributors_table, 'cntrb_id') - 1 - - # increment cntrb_id offset - # keeps track of the next cntrb_id primary key without making extra db queries - cntrb_id_offset += 1 - - #assigns the cntrb_id to the source data to be returned to the workers - data['cntrb_id'] = cntrb_id_offset - self.logger.info(f"cntrb_id {data['cntrb_id']} found with api call and assigned to enriched data") - # add cntrb_id to data and append it to table_values_cntrb - # so duplicate cntrbs within the same data set aren't added - #cntrb['cntrb_id'] = cntrb_id_offset - # except s.exc.IntegrityError: + # except s.exc.IntegrityError: except Exception as e: self.logger.info(f"Contributor was already added to database! Getting cntrb_id! Error: {e}") - - - cntrb_id_row = self.db.execute( - s.sql.select(self.get_relevant_columns(self.contributors_table,cntrb_action_map)).where( - self.contributors_table.c.gh_user_id==cntrb["gh_user_id"] - ) - ).fetchall() - if len(cntrb_id_row) == 1: - data['cntrb_id'] = cntrb_id_row[0]['cntrb_id'] - self.logger.info(f"cntrb_id {data['cntrb_id']} found in database and assigned to enriched data") - elif len(cntrb_id_row) == 0: - self.logger.info("Couldn't find contributor in database") - else: - self.logger.info(f"There are more than one contributors in the table with gh_user_id={cntrb['gh_user_id']}") + + #Get the contributor id from the newly inserted contributor. + cntrb_id_row = self.db.execute( + s.sql.select(self.get_relevant_columns(self.contributors_table,cntrb_action_map)).where( + self.contributors_table.c.gh_user_id==cntrb["gh_user_id"] + ) + ).fetchall() + + #Handle and log rare failure cases. If this part errors something is very wrong. + if len(cntrb_id_row) == 1: + data['cntrb_id'] = cntrb_id_row[0]['cntrb_id'] + self.logger.info(f"cntrb_id {data['cntrb_id']} found in database and assigned to enriched data") + elif len(cntrb_id_row) == 0: + self.logger.error("Couldn't find contributor in database. Something has gone very wrong. Augur ran into a contributor that is unable to be inserted into the contributors table but is also not present in that table.") + else: + self.logger.info(f"There are more than one contributors in the table with gh_user_id={cntrb['gh_user_id']}") cntrb_data = { @@ -426,6 +415,8 @@ def enrich_cntrb_id( 'cntrb_login': cntrb['cntrb_login'], 'gh_user_id': cntrb['gh_user_id'] } + #This updates our list of who is already in the database as we iterate to avoid duplicates. + #People who make changes tend to make more than one in a row. table_values_cntrb.append(cntrb_data) self.logger.info( @@ -437,9 +428,8 @@ def enrich_cntrb_id( - - - + #old method + """ # source_cntrb_insert, _ = self.organize_needed_data( # expanded_source_df.to_dict(orient='records'), table_values=table_values_cntrb, # action_map=cntrb_action_map @@ -539,12 +529,12 @@ def enrich_cntrb_id( # source_pk = self._eval_json_columns(source_pk) # self._close_postgres_merge(metadata, session) - self.logger.info( - "Contributor id enrichment successful, result has " - f"{len(source_pk)} data points.\n" - ) + #self.logger.info( + # "Contributor id enrichment successful, result has " + # f"{len(source_pk)} data points.\n" + #) - return source_pk.to_dict(orient='records') + #return source_pk.to_dict(orient='records')""" def query_github_contributors(self, entry_info, repo_id): From b32321bf0e549910bcfb5f290b948c9d628be0b9 Mon Sep 17 00:00:00 2001 From: Isaac Milarsky Date: Mon, 2 Aug 2021 11:54:39 -0500 Subject: [PATCH 130/201] Polish Signed-off-by: Isaac Milarsky --- workers/pull_request_worker/pull_request_worker.py | 3 ++- workers/worker_git_integration.py | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/workers/pull_request_worker/pull_request_worker.py b/workers/pull_request_worker/pull_request_worker.py index 65720e4ebc..85fe590d18 100644 --- a/workers/pull_request_worker/pull_request_worker.py +++ b/workers/pull_request_worker/pull_request_worker.py @@ -347,6 +347,7 @@ def pull_request_commits_model(self, task_info, repo_id): update_col_map = {} # Use helper paginate function to iterate the commits url and check for dupes + #TODO: figure out why dupes sometimes still happen.q pr_commits = self.paginate( commits_url, duplicate_col_map, update_col_map, table, table_pkey, where_clause="where pull_request_id = {}".format(pull_request.pull_request_id) @@ -408,7 +409,7 @@ def pk_source_increment_insert(inc_source_prs, action_map): #self.logger.info(f"inc_source_prs is: {inc_source_prs} and the action map is {action_map}...") - + #This is sending empty data to enrich_cntrb_id inc_source_prs['insert'] = self.enrich_cntrb_id( inc_source_prs['insert'], 'user.login', action_map_additions={ 'insert': { diff --git a/workers/worker_git_integration.py b/workers/worker_git_integration.py index 4f320813a7..9d686c926e 100644 --- a/workers/worker_git_integration.py +++ b/workers/worker_git_integration.py @@ -389,7 +389,7 @@ def enrich_cntrb_id( self.db.execute(self.contributors_table.insert().values(cntrb)) # except s.exc.IntegrityError: except Exception as e: - self.logger.info(f"Contributor was already added to database! Getting cntrb_id! Error: {e}") + self.logger.info(f"Contributor was unable to be added to table! Attempting to get cntrb_id from table anyway because of possible collision. Error: {e}") #Get the contributor id from the newly inserted contributor. From 0e2c5234f25bea0beb39d31e04c8989a706bb771 Mon Sep 17 00:00:00 2001 From: Isaac Milarsky Date: Mon, 2 Aug 2021 15:31:46 -0500 Subject: [PATCH 131/201] Fixed edge case with bulk insertions. I didn't make the bug happen but my changes made it happen way more often. The insertion method checks to see if source_issues['all'] isn't empty but not if source_issues['insert'] is empty. So when it tried to enrich_cntrb_id source_issues['insert'] was empty causing a ValueError Signed-off-by: Isaac Milarsky --- workers/github_worker/github_worker.py | 9 +++++---- .../pull_request_worker.py | 19 ++++++++++--------- 2 files changed, 15 insertions(+), 13 deletions(-) diff --git a/workers/github_worker/github_worker.py b/workers/github_worker/github_worker.py index b0452d6409..31024376b6 100644 --- a/workers/github_worker/github_worker.py +++ b/workers/github_worker/github_worker.py @@ -84,7 +84,9 @@ def is_valid_pr_block(issue): and isinstance(issue['pull_request'], dict) and 'url' in issue['pull_request'] ) - try: + #This is sending empty data to enrich_cntrb_id, fix with check. + #The problem happens when ['insert'] is empty but ['all'] is not. + if len(inc_source_issues['insert']) > 0: inc_source_issues['insert'] = self.enrich_cntrb_id( inc_source_issues['insert'], 'user.login', action_map_additions={ 'insert': { @@ -93,9 +95,7 @@ def is_valid_pr_block(issue): } }, prefix='user.' ) - except ValueError: - self.logger.info(f"Enrich contrib data is empty for {inc_source_issues['insert']}, the empty field is the user login.") - + issues_insert = [ { 'repo_id': self.repo_id, @@ -168,6 +168,7 @@ def is_valid_pr_block(issue): #Use the increment insert method in order to do the #remaining pages of the paginated endpoint that weren't inserted inside the paginate_endpoint method + #empty data is checked for in the method so it's not needed outside of it. pk_source_issues_increment_insert(source_issues,action_map) pk_source_issues = self.pk_source_issues diff --git a/workers/pull_request_worker/pull_request_worker.py b/workers/pull_request_worker/pull_request_worker.py index 85fe590d18..f4da6fc67d 100644 --- a/workers/pull_request_worker/pull_request_worker.py +++ b/workers/pull_request_worker/pull_request_worker.py @@ -409,15 +409,16 @@ def pk_source_increment_insert(inc_source_prs, action_map): #self.logger.info(f"inc_source_prs is: {inc_source_prs} and the action map is {action_map}...") - #This is sending empty data to enrich_cntrb_id - inc_source_prs['insert'] = self.enrich_cntrb_id( - inc_source_prs['insert'], 'user.login', action_map_additions={ - 'insert': { - 'source': ['user.node_id'], - 'augur': ['gh_node_id'] - } - }, prefix='user.' - ) + #This is sending empty data to enrich_cntrb_id, fix with check + if len(inc_source_prs['insert']) > 0: + inc_source_prs['insert'] = self.enrich_cntrb_id( + inc_source_prs['insert'], 'user.login', action_map_additions={ + 'insert': { + 'source': ['user.node_id'], + 'augur': ['gh_node_id'] + } + }, prefix='user.' + ) From 83c87e559b4f0bc36ee4693a706bee10a8b621ab Mon Sep 17 00:00:00 2001 From: Isaac Milarsky Date: Mon, 2 Aug 2021 15:57:27 -0500 Subject: [PATCH 132/201] Added logging so that it prints something similar to when the whole action map is empty Signed-off-by: Isaac Milarsky --- workers/github_worker/github_worker.py | 2 ++ workers/pull_request_worker/pull_request_worker.py | 4 +++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/workers/github_worker/github_worker.py b/workers/github_worker/github_worker.py index 31024376b6..45adf5c9c1 100644 --- a/workers/github_worker/github_worker.py +++ b/workers/github_worker/github_worker.py @@ -95,6 +95,8 @@ def is_valid_pr_block(issue): } }, prefix='user.' ) + else: + self.logger.info("Contributor enrichment is not needed, no inserts in action map.") issues_insert = [ { diff --git a/workers/pull_request_worker/pull_request_worker.py b/workers/pull_request_worker/pull_request_worker.py index f4da6fc67d..bb09c2e129 100644 --- a/workers/pull_request_worker/pull_request_worker.py +++ b/workers/pull_request_worker/pull_request_worker.py @@ -418,7 +418,9 @@ def pk_source_increment_insert(inc_source_prs, action_map): 'augur': ['gh_node_id'] } }, prefix='user.' - ) + ) + else: + self.logger.info("Contributor enrichment is not needed, no inserts in action map.") From 2ac14c5425a4833e5fcc7a612b4a1c7587fa9027 Mon Sep 17 00:00:00 2001 From: Isaac Milarsky Date: Tue, 3 Aug 2021 11:52:32 -0500 Subject: [PATCH 133/201] Missed some spots where ValueErrors are occuring Signed-off-by: Isaac Milarsky --- workers/github_worker/github_worker.py | 34 +++-- .../pull_request_worker.py | 140 +++++++++++------- 2 files changed, 103 insertions(+), 71 deletions(-) diff --git a/workers/github_worker/github_worker.py b/workers/github_worker/github_worker.py index 45adf5c9c1..961758aa9d 100644 --- a/workers/github_worker/github_worker.py +++ b/workers/github_worker/github_worker.py @@ -219,7 +219,8 @@ def issue_comments_insert(inc_issue_comments, comment_action_map): inc_issue_comments['insert'] = self.text_clean(inc_issue_comments['insert'], 'body') - try: + #This is sending empty data to enrich_cntrb_id, fix with check + if len(inc_issue_comments['insert']) > 0: inc_issue_comments['insert'] = self.enrich_cntrb_id( inc_issue_comments['insert'], 'user.login', action_map_additions={ 'insert': { @@ -228,8 +229,8 @@ def issue_comments_insert(inc_issue_comments, comment_action_map): } }, prefix='user.' ) - except ValueError: - self.logger.info(f"Enrich contrib data is empty for {inc_issue_comments['insert']}, the empty field is the user login.") + else: + self.logger.info("Contributor enrichment is not needed, no inserts in action map.") issue_comments_insert = [ { @@ -335,7 +336,8 @@ def issue_events_model(self, pk_source_issues): ['id', 'issue_id', 'node_id', 'url', 'actor', 'created_at', 'event', 'commit_id'] ].to_dict(orient='records') - try: + #This is sending empty data to enrich_cntrb_id, fix with check + if len(pk_issue_events) > 0: pk_issue_events = self.enrich_cntrb_id( pk_issue_events, 'actor.login', action_map_additions={ 'insert': { @@ -344,9 +346,9 @@ def issue_events_model(self, pk_source_issues): } }, prefix='actor.' ) - except ValueError: - self.logger.info(f"Enrich contrib data is empty for {pk_issue_events}, the empty field is the user login.") - + else: + self.logger.info("Contributor enrichment is not needed, no inserts in action map.") + issue_events_insert = [ { 'issue_event_src_id': event['id'], @@ -467,15 +469,17 @@ def is_nan(value): assignees_all, table_values=table_values_issue_assignees, action_map=assignee_action_map ) - - source_assignees_insert = self.enrich_cntrb_id( - source_assignees_insert, 'login', action_map_additions={ - 'insert': { - 'source': ['node_id'], - 'augur': ['gh_node_id'] + if len(source_assignees_insert) > 0: + source_assignees_insert = self.enrich_cntrb_id( + source_assignees_insert, 'login', action_map_additions={ + 'insert': { + 'source': ['node_id'], + 'augur': ['gh_node_id'] + } } - } - ) + ) + else: + self.logger.info("Contributor enrichment is not needed, no inserts in action map.") assignees_insert = [ { diff --git a/workers/pull_request_worker/pull_request_worker.py b/workers/pull_request_worker/pull_request_worker.py index bb09c2e129..180b54b082 100644 --- a/workers/pull_request_worker/pull_request_worker.py +++ b/workers/pull_request_worker/pull_request_worker.py @@ -7,6 +7,7 @@ import sys import time import traceback +from numpy.lib.utils import source import requests import copy from datetime import datetime @@ -582,15 +583,18 @@ def pull_request_comments_model(self): self.write_debug_data(pr_comments, 'pr_comments') pr_comments['insert'] = self.text_clean(pr_comments['insert'], 'body') - - pr_comments['insert'] = self.enrich_cntrb_id( - pr_comments['insert'], 'user.login', action_map_additions={ - 'insert': { - 'source': ['user.node_id'], - 'augur': ['gh_node_id'] - } - }, prefix='user.' - ) + #This is sending empty data to enrich_cntrb_id, fix with check + if len(pr_comments['insert']) > 0: + pr_comments['insert'] = self.enrich_cntrb_id( + pr_comments['insert'], 'user.login', action_map_additions={ + 'insert': { + 'source': ['user.node_id'], + 'augur': ['gh_node_id'] + } + }, prefix='user.' + ) + else: + self.logger.info("Contributor enrichment is not needed, no inserts in action map.") pr_comments_insert = [ { @@ -667,14 +671,17 @@ def pull_request_events_model(self, pk_source_prs=[]): self.write_debug_data(pk_pr_events, 'pk_pr_events') - pk_pr_events = self.enrich_cntrb_id( - pk_pr_events, 'actor.login', action_map_additions={ - 'insert': { - 'source': ['actor.node_id'], - 'augur': ['gh_node_id'] - } - }, prefix='actor.' - ) + if len(pk_pr_events) > 0: + pk_pr_events = self.enrich_cntrb_id( + pk_pr_events, 'actor.login', action_map_additions={ + 'insert': { + 'source': ['actor.node_id'], + 'augur': ['gh_node_id'] + } + }, prefix='actor.' + ) + else: + self.logger.info("Contributor enrichment is not needed, no data provided.") pr_events_insert = [ { @@ -736,14 +743,17 @@ def pull_request_reviews_model(self, pk_source_prs=[]): action_map=review_action_map ) - source_reviews_insert = self.enrich_cntrb_id( - source_reviews_insert, 'user.login', action_map_additions={ - 'insert': { - 'source': ['user.node_id'], - 'augur': ['gh_node_id'] - } - }, prefix='user.' - ) + if len(source_reviews_insert) > 0: + source_reviews_insert = self.enrich_cntrb_id( + source_reviews_insert, 'user.login', action_map_additions={ + 'insert': { + 'source': ['user.node_id'], + 'augur': ['gh_node_id'] + } + }, prefix='user.' + ) + else: + self.logger.info("Contributor enrichment is not needed, source_reviews_insert is empty.") reviews_insert = [ { @@ -816,15 +826,17 @@ def pull_request_reviews_model(self, pk_source_prs=[]): ) self.write_debug_data(review_msgs, 'review_msgs') - #Throwing value errors. 'cannot use name of an existing column for indicator column' - review_msgs['insert'] = self.enrich_cntrb_id( - review_msgs['insert'], 'user.login', action_map_additions={ - 'insert': { - 'source': ['user.node_id'], - 'augur': ['gh_node_id'] - } - }, prefix='user.' - ) + if len(review_msgs['insert']) > 0: + review_msgs['insert'] = self.enrich_cntrb_id( + review_msgs['insert'], 'user.login', action_map_additions={ + 'insert': { + 'source': ['user.node_id'], + 'augur': ['gh_node_id'] + } + }, prefix='user.' + ) + else: + self.logger.info("Contributor enrichment is not needed, nothing to insert from the action map.") review_msg_insert = [ { @@ -974,14 +986,19 @@ def pull_request_nested_data_model(self, pk_source_prs=[]): reviewers_all, table_values=table_values_issue_labels, action_map=reviewer_action_map ) - source_reviewers_insert = self.enrich_cntrb_id( - source_reviewers_insert, 'login', action_map_additions={ - 'insert': { - 'source': ['node_id'], - 'augur': ['gh_node_id'] + + if len(source_reviewers_insert) > 0: + source_reviewers_insert = self.enrich_cntrb_id( + source_reviewers_insert, 'login', action_map_additions={ + 'insert': { + 'source': ['node_id'], + 'augur': ['gh_node_id'] + } } - } - ) + ) + else: + self.logger.info("Contributor enrichment is not needed, no inserts provided.") + reviewers_insert = [ { 'pull_request_id': reviewer['pull_request_id'], @@ -1011,14 +1028,20 @@ def pull_request_nested_data_model(self, pk_source_prs=[]): assignees_all, table_values=table_values_assignees_labels, action_map=assignee_action_map ) - source_assignees_insert = self.enrich_cntrb_id( - source_assignees_insert, 'login', action_map_additions={ - 'insert': { - 'source': ['node_id'], - 'augur': ['gh_node_id'] + + if len(source_assignees_insert) > 0: + source_assignees_insert = self.enrich_cntrb_id( + source_assignees_insert, 'login', action_map_additions={ + 'insert': { + 'source': ['node_id'], + 'augur': ['gh_node_id'] + } } - } - ) + ) + else: + self.logger.info("Contributor enrichment is not needed, no inserts provided.") + + assignees_insert = [ { 'pull_request_id': assignee['pull_request_id'], @@ -1046,14 +1069,19 @@ def pull_request_nested_data_model(self, pk_source_prs=[]): source_meta_insert, _ = self.organize_needed_data( meta_all, table_values=table_values_pull_request_meta, action_map=meta_action_map ) - source_meta_insert = self.enrich_cntrb_id( - source_meta_insert, 'user.login', action_map_additions={ - 'insert': { - 'source': ['user.node_id'], - 'augur': ['gh_node_id'] - } - }, prefix='user.' - ) + + if len(source_meta_insert) > 0: + source_meta_insert = self.enrich_cntrb_id( + source_meta_insert, 'user.login', action_map_additions={ + 'insert': { + 'source': ['user.node_id'], + 'augur': ['gh_node_id'] + } + }, prefix='user.' + ) + else: + self.logger.info("Contributor enrichment is not needed, nothing in source_meta_insert.") + meta_insert = [ { 'pull_request_id': meta['pull_request_id'], From b4b3cae326b7fe6ea3074e245a7e479e87350c46 Mon Sep 17 00:00:00 2001 From: Isaac Milarsky Date: Tue, 3 Aug 2021 13:19:04 -0500 Subject: [PATCH 134/201] Minor commit Signed-off-by: Isaac Milarsky --- workers/pull_request_worker/pull_request_worker.py | 1 + workers/worker_git_integration.py | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/workers/pull_request_worker/pull_request_worker.py b/workers/pull_request_worker/pull_request_worker.py index 180b54b082..82356eac28 100644 --- a/workers/pull_request_worker/pull_request_worker.py +++ b/workers/pull_request_worker/pull_request_worker.py @@ -1070,6 +1070,7 @@ def pull_request_nested_data_model(self, pk_source_prs=[]): meta_all, table_values=table_values_pull_request_meta, action_map=meta_action_map ) + if len(source_meta_insert) > 0: source_meta_insert = self.enrich_cntrb_id( source_meta_insert, 'user.login', action_map_additions={ diff --git a/workers/worker_git_integration.py b/workers/worker_git_integration.py index 9d686c926e..475b32543f 100644 --- a/workers/worker_git_integration.py +++ b/workers/worker_git_integration.py @@ -293,7 +293,7 @@ def enrich_cntrb_id( except Exception as e: self.logger.info(f"Error adding gh_user_id: {e}. Row: {row}") - self.logger.info(f"gh_user_ids: {gh_user_ids}") + #self.logger.info(f"gh_user_ids: {gh_user_ids}") # self.logger.info(f"Users gh_user_id: {data['user.id']}") # in_user_ids = False @@ -303,6 +303,8 @@ def enrich_cntrb_id( # self.logger.info(f"table_values_cntrb len: {len(table_values_cntrb)}") + #Deal with if data + #self.logger.info(f"cntrb logins length: {len(cntrb_logins)}") #if user.id is in the database then there is no need to add the contributor if data[f'{prefix}id'] in gh_user_ids: From 4f16c9158fbafdb386046ecfd2f1b274a7c5daca Mon Sep 17 00:00:00 2001 From: Isaac Milarsky Date: Tue, 3 Aug 2021 13:33:37 -0500 Subject: [PATCH 135/201] Rename list to make generic to allow for differant identifiers Signed-off-by: Isaac Milarsky --- workers/worker_git_integration.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/workers/worker_git_integration.py b/workers/worker_git_integration.py index 475b32543f..177015e838 100644 --- a/workers/worker_git_integration.py +++ b/workers/worker_git_integration.py @@ -286,10 +286,11 @@ def enrich_cntrb_id( self.logger.info(f"Enriching {index} of {len(source_data)}") - gh_user_ids = [] + + user_unique_ids = [] for row in table_values_cntrb: try: - gh_user_ids.append(row['gh_user_id']) + user_unique_ids.append(row['gh_user_id']) except Exception as e: self.logger.info(f"Error adding gh_user_id: {e}. Row: {row}") @@ -307,7 +308,7 @@ def enrich_cntrb_id( #self.logger.info(f"cntrb logins length: {len(cntrb_logins)}") #if user.id is in the database then there is no need to add the contributor - if data[f'{prefix}id'] in gh_user_ids: + if data[f'{prefix}id'] in user_unique_ids: self.logger.info("{} found in database".format(data[f'{prefix}id'])) From d5b14e2dc44507788a509d7624c14bbb6f86b078 Mon Sep 17 00:00:00 2001 From: Isaac Milarsky Date: Tue, 3 Aug 2021 14:20:32 -0500 Subject: [PATCH 136/201] This should allow the node_id to be used when the user_id is not there Signed-off-by: Isaac Milarsky --- workers/worker_git_integration.py | 50 ++++++++++++++++++++++++------- 1 file changed, 39 insertions(+), 11 deletions(-) diff --git a/workers/worker_git_integration.py b/workers/worker_git_integration.py index 177015e838..f24525c2a5 100644 --- a/workers/worker_git_integration.py +++ b/workers/worker_git_integration.py @@ -1,4 +1,5 @@ #Get everything that the base depends on. +from numpy.lib.utils import source from workers.worker_base import * import sqlalchemy as s @@ -288,11 +289,24 @@ def enrich_cntrb_id( user_unique_ids = [] - for row in table_values_cntrb: - try: - user_unique_ids.append(row['gh_user_id']) - except Exception as e: - self.logger.info(f"Error adding gh_user_id: {e}. Row: {row}") + + #Allow for alt identifiers to be checked if user.id is not present in source_data + try: + #This will trigger a KeyError if data has alt identifier. + data[f'{prefix}id'] + for row in table_values_cntrb: + try: + user_unique_ids.append(row['gh_user_id']) + except Exception as e: + self.logger.info(f"Error adding gh_user_id: {e}. Row: {row}") + except KeyError: + self.logger.info("Source data doesn't have user.id. Using node_id instead.") + for row in table_values_cntrb: + try: + user_unique_ids.append(row['gh_node_id']) + except Exception as e: + self.logger.info(f"Error adding gh_node_id: {e}. Row: {row}") + #self.logger.info(f"gh_user_ids: {gh_user_ids}") @@ -306,14 +320,28 @@ def enrich_cntrb_id( #Deal with if data - #self.logger.info(f"cntrb logins length: {len(cntrb_logins)}") + #See if we can check using the user.id + source_data_id = None + try: + source_data_id = data[f'{prefix}id'] + except KeyError: + source_data_id = data[f'{prefix}node_id'] + + + #if user.id is in the database then there is no need to add the contributor - if data[f'{prefix}id'] in user_unique_ids: + if source_data_id in user_unique_ids: + + self.logger.info("{} found in database".format(source_data_id)) - self.logger.info("{} found in database".format(data[f'{prefix}id'])) + user_id_row = [] + try: + data[f'{prefix}id'] + #gets the dict from the table_values_cntrb that contains data['user.id'] + user_id_row = list(filter(lambda x: x['gh_user_id'] == source_data_id, table_values_cntrb))[0] + except KeyError: + user_id_row = list(filter(lambda x: x['gh_node_id'] == source_data_id, table_values_cntrb))[0] - #gets the dict from the table_values_cntrb that contains data['user.id'] - user_id_row = list(filter(lambda x: x['gh_user_id'] == data[f'{prefix}id'], table_values_cntrb))[0] #assigns the cntrb_id to the source data to be returned to the workers data['cntrb_id'] = user_id_row['cntrb_id'] @@ -323,7 +351,7 @@ def enrich_cntrb_id( else: - self.logger.info("{} not in database, making api call".format(data[f'{prefix}id'])) + self.logger.info("{} not in database, making api call".format(source_data_id)) self.logger.info("login: {}".format(data[f'{prefix}login'])) try: From c7c5299f5a26748840527371d63c59f53588589b Mon Sep 17 00:00:00 2001 From: Isaac Milarsky Date: Tue, 3 Aug 2021 16:41:54 -0500 Subject: [PATCH 137/201] Filter out data without login specified Signed-off-by: Isaac Milarsky --- workers/worker_git_integration.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/workers/worker_git_integration.py b/workers/worker_git_integration.py index f24525c2a5..8ba077fd3f 100644 --- a/workers/worker_git_integration.py +++ b/workers/worker_git_integration.py @@ -274,6 +274,9 @@ def enrich_cntrb_id( self.logger.info(f"table_values_cntrb keys: {table_values_cntrb[0].keys()}") source_data = expanded_source_df.to_dict(orient='records') + + #Filter out bad data where we can't even hit the api. + source_data = [data for data in source_data if f'{prefix}login' in data] self.logger.info(f"source_data type: {type(source_data)}") self.logger.info(f"source_data keys: {source_data[0].keys()}") From e3fb40942721d292e677c50f9f3c24b31858e3b9 Mon Sep 17 00:00:00 2001 From: Andrew Brain <61482022+ABrain7710@users.noreply.github.com> Date: Tue, 3 Aug 2021 16:50:55 -0500 Subject: [PATCH 138/201] Remove some logging Signed-off-by: Andrew Brain <61482022+ABrain7710@users.noreply.github.com> --- workers/worker_git_integration.py | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/workers/worker_git_integration.py b/workers/worker_git_integration.py index f24525c2a5..b3ed86fbf5 100644 --- a/workers/worker_git_integration.py +++ b/workers/worker_git_integration.py @@ -270,12 +270,9 @@ def enrich_cntrb_id( s.sql.select(self.get_relevant_columns(self.contributors_table,cntrb_action_map)) ).fetchall() - self.logger.info(f"table_values_cntrb type: {type(table_values_cntrb)}") - self.logger.info(f"table_values_cntrb keys: {table_values_cntrb[0].keys()}") - source_data = expanded_source_df.to_dict(orient='records') - self.logger.info(f"source_data type: {type(source_data)}") + self.logger.info(f"table_values_cntrb keys: {table_values_cntrb[0].keys()}") self.logger.info(f"source_data keys: {source_data[0].keys()}") #We can't use this because of worker collisions @@ -306,10 +303,10 @@ def enrich_cntrb_id( user_unique_ids.append(row['gh_node_id']) except Exception as e: self.logger.info(f"Error adding gh_node_id: {e}. Row: {row}") - + #self.logger.info(f"gh_user_ids: {gh_user_ids}") - + # self.logger.info(f"Users gh_user_id: {data['user.id']}") # in_user_ids = False # if data['user.id'] in gh_user_ids: @@ -318,7 +315,7 @@ def enrich_cntrb_id( # self.logger.info(f"table_values_cntrb len: {len(table_values_cntrb)}") - #Deal with if data + #Deal with if data #See if we can check using the user.id source_data_id = None @@ -326,7 +323,7 @@ def enrich_cntrb_id( source_data_id = data[f'{prefix}id'] except KeyError: source_data_id = data[f'{prefix}node_id'] - + #if user.id is in the database then there is no need to add the contributor @@ -350,7 +347,7 @@ def enrich_cntrb_id( #contributor is not in the database else: - + self.logger.info("{} not in database, making api call".format(source_data_id)) self.logger.info("login: {}".format(data[f'{prefix}login'])) @@ -422,8 +419,8 @@ def enrich_cntrb_id( except Exception as e: self.logger.info(f"Contributor was unable to be added to table! Attempting to get cntrb_id from table anyway because of possible collision. Error: {e}") - - #Get the contributor id from the newly inserted contributor. + + #Get the contributor id from the newly inserted contributor. cntrb_id_row = self.db.execute( s.sql.select(self.get_relevant_columns(self.contributors_table,cntrb_action_map)).where( self.contributors_table.c.gh_user_id==cntrb["gh_user_id"] @@ -1835,4 +1832,4 @@ def new_paginate_endpoint( 'insert': need_insertion, 'update': need_update, 'all': all_data - } \ No newline at end of file + } From 11721e6079decbd10f137b4821a76a4fbf5b5470 Mon Sep 17 00:00:00 2001 From: Sean Goggins Date: Tue, 3 Aug 2021 12:15:17 -1000 Subject: [PATCH 139/201] Gitlab Schema updates. --- schema/create_schema.sql | 2 +- schema/generate/58-schema_update_60.sql | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 schema/generate/58-schema_update_60.sql diff --git a/schema/create_schema.sql b/schema/create_schema.sql index 4508649a97..f076472cfd 100644 --- a/schema/create_schema.sql +++ b/schema/create_schema.sql @@ -60,5 +60,5 @@ \i schema/generate/55-schema_update_57.sql \i schema/generate/56-schema_update_58.sql \i schema/generate/57-schema_update_59.sql - +\i schema/generate/58-schema_update_60.sql diff --git a/schema/generate/58-schema_update_60.sql b/schema/generate/58-schema_update_60.sql new file mode 100644 index 0000000000..1b8fbb46cf --- /dev/null +++ b/schema/generate/58-schema_update_60.sql @@ -0,0 +1,11 @@ +BEGIN; + +ALTER TABLE "augur_data"."contributors" + ADD CONSTRAINT "GL-UNIQUE-B" UNIQUE ("gl_id"), + ADD CONSTRAINT "GL-UNIQUE-C" UNIQUE ("gl_username"); + +update "augur_operations"."augur_settings" set value = 60 where setting = 'augur_data_version'; + + +COMMIT; + From 90e8b96938be5af6ed095e955ecc2453dee28b9f Mon Sep 17 00:00:00 2001 From: Andrew Brain <61482022+ABrain7710@users.noreply.github.com> Date: Wed, 4 Aug 2021 10:01:05 -0500 Subject: [PATCH 140/201] Comment out logging or all pr_data, action_map, and queries Signed-off-by: Andrew Brain <61482022+ABrain7710@users.noreply.github.com> --- .../pull_request_worker/pull_request_worker.py | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/workers/pull_request_worker/pull_request_worker.py b/workers/pull_request_worker/pull_request_worker.py index 82356eac28..c42cd93bbb 100644 --- a/workers/pull_request_worker/pull_request_worker.py +++ b/workers/pull_request_worker/pull_request_worker.py @@ -243,9 +243,9 @@ def pull_request_files_model(self, task_info, repo_id): WHERE pull_request_files.pull_request_id = pull_requests.pull_request_id AND repo_id = :repo_id """) - self.logger.info( - f'Getting table values with the following PSQL query: \n{table_values_sql}\n' - ) + # self.logger.info( + # f'Getting table values with the following PSQL query: \n{table_values_sql}\n' + # ) table_values = pd.read_sql(table_values_sql, self.db, params={'repo_id': self.repo_id}) # Compare queried values against table values for dupes/updates @@ -502,9 +502,9 @@ def pk_source_increment_insert(inc_source_prs, action_map): #paginate endpoint with stagger enabled so that the above method can insert every 500 - self.logger.info( - f"PR Action map is {pr_action_map}" - ) + # self.logger.info( + # f"PR Action map is {pr_action_map}" + # ) source_prs = self.paginate_endpoint( pr_url, action_map=pr_action_map, table=self.pull_requests_table, @@ -513,9 +513,9 @@ def pk_source_increment_insert(inc_source_prs, action_map): insertion_method=pk_source_increment_insert ) - self.logger.info( - f"PR Action map is {pr_action_map} after source_prs. The source_prs are {source_prs}." - ) + # self.logger.info( + # f"PR Action map is {pr_action_map} after source_prs. The source_prs are {source_prs}." + # ) #Use the increment insert method in order to do the #remaining pages of the paginated endpoint that weren't inserted inside the paginate_endpoint method From be947de52e42c485e4c561714758fd63e0e6d6b9 Mon Sep 17 00:00:00 2001 From: Andrew Brain <61482022+ABrain7710@users.noreply.github.com> Date: Wed, 4 Aug 2021 10:14:10 -0500 Subject: [PATCH 141/201] Comment out log in multi_thread_urls Signed-off-by: Andrew Brain <61482022+ABrain7710@users.noreply.github.com> --- workers/worker_git_integration.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/workers/worker_git_integration.py b/workers/worker_git_integration.py index 475b32543f..8ac4094c5b 100644 --- a/workers/worker_git_integration.py +++ b/workers/worker_git_integration.py @@ -294,7 +294,7 @@ def enrich_cntrb_id( self.logger.info(f"Error adding gh_user_id: {e}. Row: {row}") #self.logger.info(f"gh_user_ids: {gh_user_ids}") - + # self.logger.info(f"Users gh_user_id: {data['user.id']}") # in_user_ids = False # if data['user.id'] in gh_user_ids: @@ -303,7 +303,7 @@ def enrich_cntrb_id( # self.logger.info(f"table_values_cntrb len: {len(table_values_cntrb)}") - #Deal with if data + #Deal with if data #self.logger.info(f"cntrb logins length: {len(cntrb_logins)}") #if user.id is in the database then there is no need to add the contributor @@ -321,7 +321,7 @@ def enrich_cntrb_id( #contributor is not in the database else: - + self.logger.info("{} not in database, making api call".format(data[f'{prefix}id'])) self.logger.info("login: {}".format(data[f'{prefix}login'])) @@ -393,8 +393,8 @@ def enrich_cntrb_id( except Exception as e: self.logger.info(f"Contributor was unable to be added to table! Attempting to get cntrb_id from table anyway because of possible collision. Error: {e}") - - #Get the contributor id from the newly inserted contributor. + + #Get the contributor id from the newly inserted contributor. cntrb_id_row = self.db.execute( s.sql.select(self.get_relevant_columns(self.contributors_table,cntrb_action_map)).where( self.contributors_table.c.gh_user_id==cntrb["gh_user_id"] @@ -1341,7 +1341,7 @@ def load_url(url, extra_data={}): ) ] try: - self.logger.info(f"urls boundry issue? for {urls} where they are equal to {url}.") + # self.logger.info(f"urls boundry issue? for {urls} where they are equal to {url}.") urls = numpy.delete(urls, numpy.where(urls == url), axis=0) except: @@ -1806,4 +1806,4 @@ def new_paginate_endpoint( 'insert': need_insertion, 'update': need_update, 'all': all_data - } \ No newline at end of file + } From 65b5715c6cd412a5b85ad15f3868c8012a259e4f Mon Sep 17 00:00:00 2001 From: Andrew Brain <61482022+ABrain7710@users.noreply.github.com> Date: Wed, 4 Aug 2021 10:48:35 -0500 Subject: [PATCH 142/201] Comment out unneeded logging in pr_graphQL Signed-off-by: Andrew Brain <61482022+ABrain7710@users.noreply.github.com> --- .../pull_request_worker.py | 44 +++++++++---------- workers/worker_persistance.py | 6 +-- 2 files changed, 25 insertions(+), 25 deletions(-) diff --git a/workers/pull_request_worker/pull_request_worker.py b/workers/pull_request_worker/pull_request_worker.py index c42cd93bbb..69820a93d7 100644 --- a/workers/pull_request_worker/pull_request_worker.py +++ b/workers/pull_request_worker/pull_request_worker.py @@ -87,7 +87,7 @@ def all_items(dictionary): tuples = [] def find_root_of_subject(data, key_subject): - self.logger.info(f'Finding {key_subject} root of {data}') + # self.logger.info(f'Finding {key_subject} root of {data}') key_nest = None for subject, nest in data.items(): if key_subject in nest: @@ -101,8 +101,8 @@ def find_root_of_subject(data, key_subject): for data_subject, nest in data_subjects.items(): - self.logger.info(f'Beginning paginate process for field {data_subject} ' - f'for query: {query}') + # self.logger.info(f'Beginning paginate process for field {data_subject} ' + # f'for query: {query}') page_count = 0 while has_previous_page: @@ -376,8 +376,8 @@ def pull_request_commits_model(self, task_info, repo_id): self.register_task_completion(self.task_info, self.repo_id, 'pull_request_commits') def _get_pk_source_prs(self): - - #self.owner and self.repo are both defined in the worker base's collect method using the url of the github repo. + + #self.owner and self.repo are both defined in the worker base's collect method using the url of the github repo. pr_url = ( f"https://api.github.com/repos/{self.owner}/{self.repo}/pulls?state=all&" "direction=asc&per_page=100&page={}" @@ -410,8 +410,8 @@ def pk_source_increment_insert(inc_source_prs, action_map): #self.logger.info(f"inc_source_prs is: {inc_source_prs} and the action map is {action_map}...") - #This is sending empty data to enrich_cntrb_id, fix with check - if len(inc_source_prs['insert']) > 0: + #This is sending empty data to enrich_cntrb_id, fix with check + if len(inc_source_prs['insert']) > 0: inc_source_prs['insert'] = self.enrich_cntrb_id( inc_source_prs['insert'], 'user.login', action_map_additions={ 'insert': { @@ -421,9 +421,9 @@ def pk_source_increment_insert(inc_source_prs, action_map): }, prefix='user.' ) else: - self.logger.info("Contributor enrichment is not needed, no inserts in action map.") - - + self.logger.info("Contributor enrichment is not needed, no inserts in action map.") + + prs_insert = [ { @@ -476,7 +476,7 @@ def pk_source_increment_insert(inc_source_prs, action_map): self.pull_requests_table, update=inc_source_prs['update'], unique_columns=action_map['insert']['augur'], insert=prs_insert, update_columns=action_map['update']['augur'] - ) + ) source_data = inc_source_prs['insert'] + inc_source_prs['update'] @@ -498,7 +498,7 @@ def pk_source_increment_insert(inc_source_prs, action_map): self.pk_source_prs += self.enrich_data_primary_keys(source_data, self.pull_requests_table, gh_merge_fields, augur_merge_fields) return - + #paginate endpoint with stagger enabled so that the above method can insert every 500 @@ -508,8 +508,8 @@ def pk_source_increment_insert(inc_source_prs, action_map): source_prs = self.paginate_endpoint( pr_url, action_map=pr_action_map, table=self.pull_requests_table, - where_clause=self.pull_requests_table.c.repo_id == self.repo_id, - stagger=True, + where_clause=self.pull_requests_table.c.repo_id == self.repo_id, + stagger=True, insertion_method=pk_source_increment_insert ) @@ -517,13 +517,13 @@ def pk_source_increment_insert(inc_source_prs, action_map): # f"PR Action map is {pr_action_map} after source_prs. The source_prs are {source_prs}." # ) - #Use the increment insert method in order to do the + #Use the increment insert method in order to do the #remaining pages of the paginated endpoint that weren't inserted inside the paginate_endpoint method pk_source_increment_insert(source_prs,pr_action_map) - + pk_source_prs = self.pk_source_prs - #This attribute is only needed because paginate endpoint needs to + #This attribute is only needed because paginate endpoint needs to #send this data to the child class and this is the easiset way to do that. self.pk_source_prs = [] @@ -562,11 +562,11 @@ def pull_request_comments_model(self): "&page={}" ) - # We should be capturing the following additional data here: + # We should be capturing the following additional data here: # 1. The Platform message ID : Most efficient way to dup check # 2. The plaform issue ID and/or PR ID so queries are easier # 3. The REPO_ID so queries are easier. - ## ALL THIS INFO IS IN THE PLATFOMR JSON AND WE ARe ignoring IT. + ## ALL THIS INFO IS IN THE PLATFOMR JSON AND WE ARe ignoring IT. comment_action_map = { 'insert': { @@ -583,8 +583,8 @@ def pull_request_comments_model(self): self.write_debug_data(pr_comments, 'pr_comments') pr_comments['insert'] = self.text_clean(pr_comments['insert'], 'body') - #This is sending empty data to enrich_cntrb_id, fix with check - if len(pr_comments['insert']) > 0: + #This is sending empty data to enrich_cntrb_id, fix with check + if len(pr_comments['insert']) > 0: pr_comments['insert'] = self.enrich_cntrb_id( pr_comments['insert'], 'user.login', action_map_additions={ 'insert': { @@ -1070,7 +1070,7 @@ def pull_request_nested_data_model(self, pk_source_prs=[]): meta_all, table_values=table_values_pull_request_meta, action_map=meta_action_map ) - + if len(source_meta_insert) > 0: source_meta_insert = self.enrich_cntrb_id( source_meta_insert, 'user.login', action_map_additions={ diff --git a/workers/worker_persistance.py b/workers/worker_persistance.py index 3f1a502a9c..0c8b6b4e36 100644 --- a/workers/worker_persistance.py +++ b/workers/worker_persistance.py @@ -35,7 +35,7 @@ class Persistant(): ROOT_AUGUR_DIR = os.path.dirname(os.path.dirname(os.path.realpath(__file__))) def __init__(self, worker_type, data_tables=[],operations_tables=[]): - + self.worker_type = worker_type #For database functionality self.data_tables = data_tables @@ -92,7 +92,7 @@ def __init__(self, worker_type, data_tables=[],operations_tables=[]): 'name_database': self.augur_config.get_value('Database', 'name'), 'password_database': self.augur_config.get_value('Database', 'password') }) - + # Initialize logging in the main process self.initialize_logging() @@ -439,7 +439,7 @@ def organize_needed_data( need_insertion = new_data_df.merge(table_values_df, suffixes=('','_table'), how='outer', indicator=False, left_on=action_map['insert']['source'], right_on=action_map['insert']['augur']).loc[lambda x : x['_merge']=='left_only'] - + if 'update' in action_map: From 104a805492aafae994b614c947dd3b6ec9bad0e7 Mon Sep 17 00:00:00 2001 From: Andrew Brain <61482022+ABrain7710@users.noreply.github.com> Date: Wed, 4 Aug 2021 14:41:58 -0500 Subject: [PATCH 143/201] Fix merge conflict Signed-off-by: Andrew Brain <61482022+ABrain7710@users.noreply.github.com> --- workers/worker_git_integration.py | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/workers/worker_git_integration.py b/workers/worker_git_integration.py index f8f71cc5f0..269c4fccf5 100644 --- a/workers/worker_git_integration.py +++ b/workers/worker_git_integration.py @@ -271,7 +271,7 @@ def enrich_cntrb_id( ).fetchall() source_data = expanded_source_df.to_dict(orient='records') - + #Filter out bad data where we can't even hit the api. source_data = [data for data in source_data if f'{prefix}login' in data] @@ -319,9 +319,6 @@ def enrich_cntrb_id( # self.logger.info(f"table_values_cntrb len: {len(table_values_cntrb)}") #Deal with if data -<<<<<<< HEAD -======= - #See if we can check using the user.id source_data_id = None try: @@ -330,8 +327,6 @@ def enrich_cntrb_id( source_data_id = data[f'{prefix}node_id'] ->>>>>>> dev - #if user.id is in the database then there is no need to add the contributor if source_data_id in user_unique_ids: @@ -353,12 +348,8 @@ def enrich_cntrb_id( #contributor is not in the database else: - -<<<<<<< HEAD - self.logger.info("{} not in database, making api call".format(data[f'{prefix}id'])) -======= self.logger.info("{} not in database, making api call".format(source_data_id)) ->>>>>>> dev + self.logger.info("login: {}".format(data[f'{prefix}login'])) try: From 986b40feb455f36997c7a811f274d5110eb0c6cb Mon Sep 17 00:00:00 2001 From: Isaac Milarsky Date: Fri, 6 Aug 2021 10:58:40 -0500 Subject: [PATCH 144/201] git merge mistake reverted Signed-off-by: Isaac Milarsky --- workers/github_worker/github_worker.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workers/github_worker/github_worker.py b/workers/github_worker/github_worker.py index 8b33b459fa..9b20c52fd7 100644 --- a/workers/github_worker/github_worker.py +++ b/workers/github_worker/github_worker.py @@ -275,7 +275,7 @@ def issue_comments_insert(inc_issue_comments, comment_action_map): ) # list to hold contributors needing insertion or update - issue_comments = self.new_paginate_endpoint( + issue_comments = self.paginate_endpoint( comments_url, action_map=comment_action_map, table=self.message_table, where_clause=self.message_table.c.msg_id.in_( [ From f68e66d1f9e2004e80a40f5cf14b0bc3e61ea4a7 Mon Sep 17 00:00:00 2001 From: Isaac Milarsky Date: Fri, 6 Aug 2021 11:27:13 -0500 Subject: [PATCH 145/201] logging Signed-off-by: Isaac Milarsky --- workers/worker_base.py | 1 + 1 file changed, 1 insertion(+) diff --git a/workers/worker_base.py b/workers/worker_base.py index e703e86d77..e26f79465c 100644 --- a/workers/worker_base.py +++ b/workers/worker_base.py @@ -160,6 +160,7 @@ def collect(self): # Call method corresponding to model sent in task try: model_method = getattr(self, '{}_model'.format(message['models'][0])) + self.logger.info("Made it passed getting the attribute!") self.record_model_process(repo_id, 'repo_info') except Exception as e: self.logger.error('Error: {}.\nNo defined method for model: {}, '.format(e, message['models'][0]) + From af74498935418c2e5429c2cf7be7c29f4755228e Mon Sep 17 00:00:00 2001 From: Isaac Milarsky Date: Fri, 6 Aug 2021 11:34:46 -0500 Subject: [PATCH 146/201] Logging Signed-off-by: Isaac Milarsky --- workers/worker_base.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/workers/worker_base.py b/workers/worker_base.py index e26f79465c..3c520ab592 100644 --- a/workers/worker_base.py +++ b/workers/worker_base.py @@ -160,7 +160,7 @@ def collect(self): # Call method corresponding to model sent in task try: model_method = getattr(self, '{}_model'.format(message['models'][0])) - self.logger.info("Made it passed getting the attribute!") + #TODO: set this to record exceptions seperatly. This errored and it took a while to figure that ^ wasn't the line that was erroring. self.record_model_process(repo_id, 'repo_info') except Exception as e: self.logger.error('Error: {}.\nNo defined method for model: {}, '.format(e, message['models'][0]) + @@ -350,6 +350,7 @@ def get_owner_repo(self, git_url): def record_model_process(self, repo_id, model): + self.logger.info(f"This is the oauths 0 index {self.oauths[0]}") task_history = { "repo_id": repo_id, "worker": self.config['id'], From 5a4cb9087c537a89dfd40132b9de2a515bf0fffb Mon Sep 17 00:00:00 2001 From: Isaac Milarsky Date: Fri, 6 Aug 2021 11:38:37 -0500 Subject: [PATCH 147/201] Init_oauth error for some reason Signed-off-by: Isaac Milarsky --- workers/worker_base.py | 1 + 1 file changed, 1 insertion(+) diff --git a/workers/worker_base.py b/workers/worker_base.py index 3c520ab592..75b7c049bc 100644 --- a/workers/worker_base.py +++ b/workers/worker_base.py @@ -135,6 +135,7 @@ def collect(self): self.initialize_logging() # need to initialize logging again in child process cause multiprocessing self.logger.info("Starting data collection process\n") self.initialize_database_connections() + self.logger.info(f"This is the oauths 0 index {self.oauths[0]}") while True: if not self._queue.empty(): message = self._queue.get() # Get the task off our MP queue From b625b6d47dc0f3287fdbd5d73195d13911e90050 Mon Sep 17 00:00:00 2001 From: Isaac Milarsky Date: Fri, 6 Aug 2021 11:50:34 -0500 Subject: [PATCH 148/201] polish Signed-off-by: Isaac Milarsky --- workers/worker_persistance.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/workers/worker_persistance.py b/workers/worker_persistance.py index 0c8b6b4e36..64314b1d98 100644 --- a/workers/worker_persistance.py +++ b/workers/worker_persistance.py @@ -214,7 +214,11 @@ def initialize_database_connections(self): self.logger.error("Error setting attribute for table: {} : {}".format(table, e)) # Increment so we are ready to insert the 'next one' of each of these most recent ids - self.history_id = self.get_max_id('worker_history', 'history_id', operations_table=True) + 1 + self.logger.info("Trying to find max id of table...") + try: + self.history_id = self.get_max_id('worker_history', 'history_id', operations_table=True) + 1 + except Exception as e: + self.logger.info(f"Could not find max id. ERROR: {e}") #Make sure the type used to store date is synced with the worker? def sync_df_types(self, subject, source, subject_columns, source_columns): From 8cbcac5e6b8006d5fafad328d9c512c3ec950372 Mon Sep 17 00:00:00 2001 From: Isaac Milarsky Date: Fri, 6 Aug 2021 11:53:44 -0500 Subject: [PATCH 149/201] more logs Signed-off-by: Isaac Milarsky --- workers/worker_persistance.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/workers/worker_persistance.py b/workers/worker_persistance.py index 64314b1d98..79b35bfd52 100644 --- a/workers/worker_persistance.py +++ b/workers/worker_persistance.py @@ -219,6 +219,8 @@ def initialize_database_connections(self): self.history_id = self.get_max_id('worker_history', 'history_id', operations_table=True) + 1 except Exception as e: self.logger.info(f"Could not find max id. ERROR: {e}") + + self.logger.info("God passed the max id getter.") #Make sure the type used to store date is synced with the worker? def sync_df_types(self, subject, source, subject_columns, source_columns): From 45b51ebcfbeb59c09f9316ec424a9b2be0ec94da Mon Sep 17 00:00:00 2001 From: Isaac Milarsky Date: Fri, 6 Aug 2021 11:57:32 -0500 Subject: [PATCH 150/201] more logs Signed-off-by: Isaac Milarsky --- workers/worker_persistance.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workers/worker_persistance.py b/workers/worker_persistance.py index 79b35bfd52..fb53794384 100644 --- a/workers/worker_persistance.py +++ b/workers/worker_persistance.py @@ -220,7 +220,7 @@ def initialize_database_connections(self): except Exception as e: self.logger.info(f"Could not find max id. ERROR: {e}") - self.logger.info("God passed the max id getter.") + self.logger.info(f"Good, passed the max id getter. Max id: {self.history_id}") #Make sure the type used to store date is synced with the worker? def sync_df_types(self, subject, source, subject_columns, source_columns): From a5a4e179bbac20fdab0e6cd503735f473e923a19 Mon Sep 17 00:00:00 2001 From: Isaac Milarsky Date: Fri, 6 Aug 2021 12:08:16 -0500 Subject: [PATCH 151/201] more logs Signed-off-by: Isaac Milarsky --- workers/worker_base.py | 1 + workers/worker_persistance.py | 1 + 2 files changed, 2 insertions(+) diff --git a/workers/worker_base.py b/workers/worker_base.py index 75b7c049bc..f35bdcc14d 100644 --- a/workers/worker_base.py +++ b/workers/worker_base.py @@ -135,6 +135,7 @@ def collect(self): self.initialize_logging() # need to initialize logging again in child process cause multiprocessing self.logger.info("Starting data collection process\n") self.initialize_database_connections() + self.logger.info("Got to this point.") self.logger.info(f"This is the oauths 0 index {self.oauths[0]}") while True: if not self._queue.empty(): diff --git a/workers/worker_persistance.py b/workers/worker_persistance.py index fb53794384..6e5ab3c3f6 100644 --- a/workers/worker_persistance.py +++ b/workers/worker_persistance.py @@ -220,6 +220,7 @@ def initialize_database_connections(self): except Exception as e: self.logger.info(f"Could not find max id. ERROR: {e}") + #25151 self.logger.info(f"Good, passed the max id getter. Max id: {self.history_id}") #Make sure the type used to store date is synced with the worker? From 9a6b18d7056d90ae63d78b42676935417e689545 Mon Sep 17 00:00:00 2001 From: Isaac Milarsky Date: Fri, 6 Aug 2021 12:11:11 -0500 Subject: [PATCH 152/201] more logs Signed-off-by: Isaac Milarsky --- workers/worker_base.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workers/worker_base.py b/workers/worker_base.py index f35bdcc14d..4f57d3ab08 100644 --- a/workers/worker_base.py +++ b/workers/worker_base.py @@ -136,7 +136,7 @@ def collect(self): self.logger.info("Starting data collection process\n") self.initialize_database_connections() self.logger.info("Got to this point.") - self.logger.info(f"This is the oauths 0 index {self.oauths[0]}") + self.logger.info(f"This is the oauths 0 index {self.oauths}") while True: if not self._queue.empty(): message = self._queue.get() # Get the task off our MP queue From 7f708044113b87ce388b376f82c5d27fd90fa7d2 Mon Sep 17 00:00:00 2001 From: Isaac Milarsky Date: Fri, 6 Aug 2021 12:21:04 -0500 Subject: [PATCH 153/201] Inheritance Signed-off-by: Isaac Milarsky --- workers/pull_request_worker/pull_request_worker.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/workers/pull_request_worker/pull_request_worker.py b/workers/pull_request_worker/pull_request_worker.py index cbf11d544e..5e3a685731 100644 --- a/workers/pull_request_worker/pull_request_worker.py +++ b/workers/pull_request_worker/pull_request_worker.py @@ -7,6 +7,7 @@ import sys import time import traceback +from workers.worker_git_integration import WorkerGitInterfaceable from numpy.lib.utils import source import requests import copy @@ -17,7 +18,7 @@ from sqlalchemy.sql.expression import bindparam from workers.worker_base import Worker -class GitHubPullRequestWorker(Worker): +class GitHubPullRequestWorker(WorkerGitInterfaceable): """ Worker that collects Pull Request related data from the Github API and stores it in our database. From 75b9ab64cf6ba55eeb180c58cbbb284378233dc1 Mon Sep 17 00:00:00 2001 From: Isaac Milarsky Date: Fri, 6 Aug 2021 12:30:29 -0500 Subject: [PATCH 154/201] Inheritance Signed-off-by: Isaac Milarsky --- workers/gitlab_issues_worker/gitlab_issues_worker.py | 3 ++- workers/insight_worker/insight_worker.py | 3 ++- workers/linux_badge_worker/linux_badge_worker.py | 3 ++- workers/release_worker/release_worker.py | 3 ++- workers/repo_info_worker/repo_info_worker.py | 3 ++- 5 files changed, 10 insertions(+), 5 deletions(-) diff --git a/workers/gitlab_issues_worker/gitlab_issues_worker.py b/workers/gitlab_issues_worker/gitlab_issues_worker.py index 37d394d51f..40444b9b79 100644 --- a/workers/gitlab_issues_worker/gitlab_issues_worker.py +++ b/workers/gitlab_issues_worker/gitlab_issues_worker.py @@ -1,5 +1,6 @@ #SPDX-License-Identifier: MIT import logging, os, sys, time, requests, json +from workers.worker_git_integration import WorkerGitInterfaceable from datetime import datetime from multiprocessing import Process, Queue import pandas as pd @@ -8,7 +9,7 @@ from urllib.parse import urlparse, quote -class GitLabIssuesWorker(Worker): +class GitLabIssuesWorker(WorkerGitInterfaceable): def __init__(self, config={}): worker_type = "gitlab_issues_worker" diff --git a/workers/insight_worker/insight_worker.py b/workers/insight_worker/insight_worker.py index f0699a493b..cfdafc0a2a 100644 --- a/workers/insight_worker/insight_worker.py +++ b/workers/insight_worker/insight_worker.py @@ -1,6 +1,7 @@ #SPDX-License-Identifier: MIT from multiprocessing import Process, Queue from urllib.parse import urlparse +from workers.worker_git_integration import WorkerGitInterfaceable import requests, sys import pandas as pd import sqlalchemy as s @@ -15,7 +16,7 @@ import warnings warnings.filterwarnings('ignore') -class InsightWorker(Worker): +class InsightWorker(WorkerGitInterfaceable): """ Worker that detects anomalies on a select few of our metrics task: most recent task the broker added to the worker's queue child: current process of the queue being ran diff --git a/workers/linux_badge_worker/linux_badge_worker.py b/workers/linux_badge_worker/linux_badge_worker.py index fd8731c3d4..0e77cf3511 100644 --- a/workers/linux_badge_worker/linux_badge_worker.py +++ b/workers/linux_badge_worker/linux_badge_worker.py @@ -2,6 +2,7 @@ import os from datetime import datetime import logging +from workers.worker_git_integration import WorkerGitInterfaceable import requests import json from urllib.parse import quote @@ -13,7 +14,7 @@ from sqlalchemy import MetaData from workers.worker_base import Worker -class LinuxBadgeWorker(Worker): +class LinuxBadgeWorker(WorkerGitInterfaceable): """ Worker that collects repo badging data from CII config: database credentials, broker information, and ID """ diff --git a/workers/release_worker/release_worker.py b/workers/release_worker/release_worker.py index 1ea12e803d..b859de1618 100644 --- a/workers/release_worker/release_worker.py +++ b/workers/release_worker/release_worker.py @@ -1,5 +1,6 @@ #SPDX-License-Identifier: MIT import logging, os, sys, time, requests, json +from workers.worker_git_integration import WorkerGitInterfaceable from datetime import datetime from multiprocessing import Process, Queue from urllib.parse import urlparse @@ -10,7 +11,7 @@ from workers.worker_base import Worker #TODO - fully edit to match releases -class ReleaseWorker(Worker): +class ReleaseWorker(WorkerGitInterfaceable): """ Worker that collects Repository Releases data from the Github API and stores it in our database. diff --git a/workers/repo_info_worker/repo_info_worker.py b/workers/repo_info_worker/repo_info_worker.py index a3f41aa510..9dcf5e03ce 100644 --- a/workers/repo_info_worker/repo_info_worker.py +++ b/workers/repo_info_worker/repo_info_worker.py @@ -1,5 +1,6 @@ #SPDX-License-Identifier: MIT import logging, os, sys, time, requests, json +from workers.worker_git_integration import WorkerGitInterfaceable from datetime import datetime from multiprocessing import Process, Queue import pandas as pd @@ -14,7 +15,7 @@ # 1. Recognizing when a repository is a forked repository by updating the "forked_from" field and # 2. Recognizing when a repository is archived, and recording the data we observed the change in status. -class RepoInfoWorker(Worker): +class RepoInfoWorker(WorkerGitInterfaceable): def __init__(self, config={}): worker_type = "repo_info_worker" From 30c69f4ce4c81b6e66c479b041fead9991d3a702 Mon Sep 17 00:00:00 2001 From: Isaac Milarsky Date: Fri, 6 Aug 2021 12:54:38 -0500 Subject: [PATCH 155/201] Edge case where login is present but equal to None Signed-off-by: Isaac Milarsky --- workers/worker_git_integration.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workers/worker_git_integration.py b/workers/worker_git_integration.py index 269c4fccf5..0d66415dea 100644 --- a/workers/worker_git_integration.py +++ b/workers/worker_git_integration.py @@ -273,7 +273,7 @@ def enrich_cntrb_id( source_data = expanded_source_df.to_dict(orient='records') #Filter out bad data where we can't even hit the api. - source_data = [data for data in source_data if f'{prefix}login' in data] + source_data = [data for data in source_data if f'{prefix}login' in data and data[f'{prefix}login'] != None] self.logger.info(f"table_values_cntrb keys: {table_values_cntrb[0].keys()}") self.logger.info(f"source_data keys: {source_data[0].keys()}") From eb732b35863a3c412b5c9fb5dfd6b31a51a8432e Mon Sep 17 00:00:00 2001 From: "Sean P. Goggins" Date: Fri, 6 Aug 2021 13:29:11 -0500 Subject: [PATCH 156/201] Seed data for history in operations schema. --- schema/create_schema.sql | 1 + 1 file changed, 1 insertion(+) diff --git a/schema/create_schema.sql b/schema/create_schema.sql index f076472cfd..08fa0355b6 100644 --- a/schema/create_schema.sql +++ b/schema/create_schema.sql @@ -61,4 +61,5 @@ \i schema/generate/56-schema_update_58.sql \i schema/generate/57-schema_update_59.sql \i schema/generate/58-schema_update_60.sql +\i schema/generate/59-schema_update_61.sql From b9aa9ef92d24d434ebfffc1c837e3f11b1b0e444 Mon Sep 17 00:00:00 2001 From: Isaac Milarsky Date: Fri, 6 Aug 2021 13:31:04 -0500 Subject: [PATCH 157/201] Remove unneeded logs Signed-off-by: Isaac Milarsky --- workers/worker_base.py | 4 ++-- workers/worker_persistance.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/workers/worker_base.py b/workers/worker_base.py index 4f57d3ab08..10879bb07d 100644 --- a/workers/worker_base.py +++ b/workers/worker_base.py @@ -135,8 +135,8 @@ def collect(self): self.initialize_logging() # need to initialize logging again in child process cause multiprocessing self.logger.info("Starting data collection process\n") self.initialize_database_connections() - self.logger.info("Got to this point.") - self.logger.info(f"This is the oauths 0 index {self.oauths}") + #self.logger.info("Got to this point.") + #self.logger.info(f"This is the oauths 0 index {self.oauths}") while True: if not self._queue.empty(): message = self._queue.get() # Get the task off our MP queue diff --git a/workers/worker_persistance.py b/workers/worker_persistance.py index 6e5ab3c3f6..719deb5f75 100644 --- a/workers/worker_persistance.py +++ b/workers/worker_persistance.py @@ -221,7 +221,7 @@ def initialize_database_connections(self): self.logger.info(f"Could not find max id. ERROR: {e}") #25151 - self.logger.info(f"Good, passed the max id getter. Max id: {self.history_id}") + #self.logger.info(f"Good, passed the max id getter. Max id: {self.history_id}") #Make sure the type used to store date is synced with the worker? def sync_df_types(self, subject, source, subject_columns, source_columns): From e5c5d59284124409f97c902fa235ef288572b1ba Mon Sep 17 00:00:00 2001 From: "Sean P. Goggins" Date: Fri, 6 Aug 2021 13:33:56 -0500 Subject: [PATCH 158/201] schema change --- schema/generate/59-schema_update_61.sql | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 schema/generate/59-schema_update_61.sql diff --git a/schema/generate/59-schema_update_61.sql b/schema/generate/59-schema_update_61.sql new file mode 100644 index 0000000000..c3dd8e7b59 --- /dev/null +++ b/schema/generate/59-schema_update_61.sql @@ -0,0 +1,9 @@ +BEGIN; + +INSERT INTO "augur_operations"."worker_history" ("history_id", "repo_id", "worker", "job_model", "oauth_id", "timestamp", "status", "total_results") VALUES (1, 1, 'seed.worker.record', 'seed', NULL, '2021-07-27 09:50:56', 'Success', 0); + +update "augur_operations"."augur_settings" set value = 60 where setting = 'augur_data_version'; + + +COMMIT; + From 6b9e71528f3a12bbe0043ae860fda11e24d02b26 Mon Sep 17 00:00:00 2001 From: "Sean P. Goggins" Date: Fri, 6 Aug 2021 13:35:56 -0500 Subject: [PATCH 159/201] set correct schema version. --- schema/generate/59-schema_update_61.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/schema/generate/59-schema_update_61.sql b/schema/generate/59-schema_update_61.sql index c3dd8e7b59..a20a4d9f05 100644 --- a/schema/generate/59-schema_update_61.sql +++ b/schema/generate/59-schema_update_61.sql @@ -2,7 +2,7 @@ BEGIN; INSERT INTO "augur_operations"."worker_history" ("history_id", "repo_id", "worker", "job_model", "oauth_id", "timestamp", "status", "total_results") VALUES (1, 1, 'seed.worker.record', 'seed', NULL, '2021-07-27 09:50:56', 'Success', 0); -update "augur_operations"."augur_settings" set value = 60 where setting = 'augur_data_version'; +update "augur_operations"."augur_settings" set value = 61 where setting = 'augur_data_version'; COMMIT; From 9d5af99345fbbea8b28d4042a6a2108621bb52e9 Mon Sep 17 00:00:00 2001 From: Isaac Milarsky Date: Fri, 6 Aug 2021 13:57:32 -0500 Subject: [PATCH 160/201] Fixing deps worker inheritace Signed-off-by: Isaac Milarsky --- workers/deps_worker/deps_worker.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/workers/deps_worker/deps_worker.py b/workers/deps_worker/deps_worker.py index d277ff1012..5f9c095f15 100644 --- a/workers/deps_worker/deps_worker.py +++ b/workers/deps_worker/deps_worker.py @@ -2,6 +2,7 @@ import os, subprocess from datetime import datetime import logging +from workers.worker_git_integration import WorkerGitInterfaceable import requests import json from urllib.parse import quote @@ -15,7 +16,7 @@ from workers.deps_worker import dependancy_calculator as dep_calc -class DepsWorker(Worker): +class DepsWorker(WorkerGitInterfaceable): def __init__(self, config={}): worker_type = "deps_worker" From a93ccca07b66fbdcdd9620001575d62633e9ce41 Mon Sep 17 00:00:00 2001 From: Isaac Milarsky Date: Fri, 6 Aug 2021 14:09:32 -0500 Subject: [PATCH 161/201] I fixed all the workers that needed to inherit from WorkerGitInterfacable Signed-off-by: Isaac Milarsky --- workers/clustering_worker/clustering_worker.py | 3 ++- .../contributor_breadth_worker/contributor_breadth_worker.py | 3 ++- workers/discourse_analysis_worker/discourse_analysis_worker.py | 3 ++- .../gitlab_merge_request_worker/gitlab_merge_request_worker.py | 3 ++- workers/message_insights_worker/message_insights_worker.py | 3 ++- .../pull_request_analysis_worker.py | 3 ++- workers/value_worker/value_worker.py | 3 ++- 7 files changed, 14 insertions(+), 7 deletions(-) diff --git a/workers/clustering_worker/clustering_worker.py b/workers/clustering_worker/clustering_worker.py index e2ed8c114a..a6397f8966 100644 --- a/workers/clustering_worker/clustering_worker.py +++ b/workers/clustering_worker/clustering_worker.py @@ -1,4 +1,5 @@ import logging, os, sys, time, requests, json +from workers.worker_git_integration import WorkerGitInterfaceable from datetime import datetime from multiprocessing import Process, Queue import pandas as pd @@ -27,7 +28,7 @@ from os import path -class ClusteringWorker(Worker): +class ClusteringWorker(WorkerGitInterfaceable): def __init__(self, config={}): worker_type = "clustering_worker" diff --git a/workers/contributor_breadth_worker/contributor_breadth_worker.py b/workers/contributor_breadth_worker/contributor_breadth_worker.py index 6a4a3b2b56..f4cd65c30b 100644 --- a/workers/contributor_breadth_worker/contributor_breadth_worker.py +++ b/workers/contributor_breadth_worker/contributor_breadth_worker.py @@ -1,12 +1,13 @@ #SPDX-License-Identifier: MIT import logging, os, sys, time, requests, json +from workers.worker_git_integration import WorkerGitInterfaceable from datetime import datetime from multiprocessing import Process, Queue import pandas as pd import sqlalchemy as s from workers.worker_base import Worker -class ContributorBreadthWorker(Worker): +class ContributorBreadthWorker(WorkerGitInterfaceable): def __init__(self, config={}): diff --git a/workers/discourse_analysis_worker/discourse_analysis_worker.py b/workers/discourse_analysis_worker/discourse_analysis_worker.py index 3601b20318..a7c0a93e85 100644 --- a/workers/discourse_analysis_worker/discourse_analysis_worker.py +++ b/workers/discourse_analysis_worker/discourse_analysis_worker.py @@ -1,4 +1,5 @@ import logging, os, sys, time, requests, json +from workers.worker_git_integration import WorkerGitInterfaceable from datetime import datetime from multiprocessing import Process, Queue import pandas as pd @@ -29,7 +30,7 @@ from os import path -class DiscourseAnalysisWorker(Worker): +class DiscourseAnalysisWorker(WorkerGitInterfaceable): def __init__(self, config={}): worker_type = "discourse_analysis_worker" diff --git a/workers/gitlab_merge_request_worker/gitlab_merge_request_worker.py b/workers/gitlab_merge_request_worker/gitlab_merge_request_worker.py index ae26b3746b..da291ff820 100644 --- a/workers/gitlab_merge_request_worker/gitlab_merge_request_worker.py +++ b/workers/gitlab_merge_request_worker/gitlab_merge_request_worker.py @@ -1,4 +1,5 @@ import logging, os, sys, time, requests, json +from workers.worker_git_integration import WorkerGitInterfaceable from datetime import datetime from multiprocessing import Process, Queue import pandas as pd @@ -7,7 +8,7 @@ from urllib.parse import urlparse, quote -class GitlabMergeRequestWorker(Worker): +class GitlabMergeRequestWorker(WorkerGitInterfaceable): def __init__(self, config={}): # Define what this worker can be given and know how to interpret diff --git a/workers/message_insights_worker/message_insights_worker.py b/workers/message_insights_worker/message_insights_worker.py index 20f86c7246..cc844d12f7 100644 --- a/workers/message_insights_worker/message_insights_worker.py +++ b/workers/message_insights_worker/message_insights_worker.py @@ -5,6 +5,7 @@ import sys import warnings from multiprocessing import Process, Queue +from workers.worker_git_integration import WorkerGitInterfaceable import numpy as np import pandas as pd @@ -20,7 +21,7 @@ warnings.filterwarnings('ignore') -class MessageInsightsWorker(Worker): +class MessageInsightsWorker(WorkerGitInterfaceable): def __init__(self, config={}): # Define the worker's type, which will be used for self identification. diff --git a/workers/pull_request_analysis_worker/pull_request_analysis_worker.py b/workers/pull_request_analysis_worker/pull_request_analysis_worker.py index 999625915d..6f60026dd8 100644 --- a/workers/pull_request_analysis_worker/pull_request_analysis_worker.py +++ b/workers/pull_request_analysis_worker/pull_request_analysis_worker.py @@ -5,6 +5,7 @@ import time import datetime from multiprocessing import Process, Queue +from workers.worker_git_integration import WorkerGitInterfaceable import joblib import numpy as np @@ -22,7 +23,7 @@ from augur import ROOT_AUGUR_DIRECTORY from augur.config import AugurConfig -class PullRequestAnalysisWorker(Worker): +class PullRequestAnalysisWorker(WorkerGitInterfaceable): def __init__(self, config={}): # Define the worker's type, which will be used for self identification. diff --git a/workers/value_worker/value_worker.py b/workers/value_worker/value_worker.py index 304e50ea56..905c6726cb 100644 --- a/workers/value_worker/value_worker.py +++ b/workers/value_worker/value_worker.py @@ -2,6 +2,7 @@ import os, subprocess from datetime import datetime import logging +from workers.worker_git_integration import WorkerGitInterfaceable import requests import json from urllib.parse import quote @@ -13,7 +14,7 @@ from sqlalchemy import MetaData from workers.worker_base import Worker -class ValueWorker(Worker): +class ValueWorker(WorkerGitInterfaceable): def __init__(self, config={}): worker_type = "value_worker" From 0b0747ba304d2708c7a05f59f9f1613e2c0c2c49 Mon Sep 17 00:00:00 2001 From: "Sean P. Goggins" Date: Mon, 9 Aug 2021 15:08:01 -0500 Subject: [PATCH 162/201] contributor_breadth_worker.py update --- .../contributor_breadth_worker.py | 185 +++++++++++------- 1 file changed, 114 insertions(+), 71 deletions(-) diff --git a/workers/contributor_breadth_worker/contributor_breadth_worker.py b/workers/contributor_breadth_worker/contributor_breadth_worker.py index f4cd65c30b..8105a545e4 100644 --- a/workers/contributor_breadth_worker/contributor_breadth_worker.py +++ b/workers/contributor_breadth_worker/contributor_breadth_worker.py @@ -1,12 +1,18 @@ #SPDX-License-Identifier: MIT import logging, os, sys, time, requests, json -from workers.worker_git_integration import WorkerGitInterfaceable from datetime import datetime from multiprocessing import Process, Queue +from workers.worker_git_integration import WorkerGitInterfaceable import pandas as pd import sqlalchemy as s from workers.worker_base import Worker +### This worker scans all the platform users in Augur, and pulls their platform activity +### logs. Those are then used to analyze what repos each is working in (which will include repos not +### tracked in the Augur instance.) +### Logic: For each unique platform contributor, gather non duplicate events, using the GitHub "id" +### for the event API (GitLab coming!) + class ContributorBreadthWorker(WorkerGitInterfaceable): def __init__(self, config={}): @@ -29,14 +35,17 @@ def __init__(self, config={}): # Define data collection info self.tool_source = 'Contributor Breadth Worker' - self.tool_version = '0.0.0' + self.tool_version = '0.0.1' self.data_source = 'GitHub API' # Do any additional configuration after the general initialization has been run self.config.update(config) def contributor_breadth_model(self, task, repo_id): + ## Get all the contributors currently in the database + #!/usr/bin/env python3 + #cntrb_key = gh_login cntrb_login_query = s.sql.text(""" SELECT DISTINCT gh_login, cntrb_id @@ -44,20 +53,26 @@ def contributor_breadth_model(self, task, repo_id): WHERE gh_login IS NOT NULL """) - cntrb_logins = json.loads(pd.read_sql(cntrb_login_query, self.db, \ + current_cntrb_logins = json.loads(pd.read_sql(cntrb_login_query, self.db, \ params={}).to_json(orient="records")) + ## We need a list of all contributors so we can iterate through them to gather events + ## We need a list of event ids to avoid insertion of duplicate events. We ignore the event + ## If it already exists - ### We need this to eliminate duplicates, but is unclear what the most current strategy is ..... + self.logger.info(f"Contributor Logins are: {current_cntrb_logins}") - dup_query = s.sql.text(""" - SELECT DISTINCT event_id - FROM augur_data.contributor_repo - WHERE 1 = 1 - """) + ######################################################## + #### List of existing contributor ids and their corresponding gh_login + #### is contained in the `current_cntrb_logins` variable + ######################################################## - current_ids = json.loads(pd.read_sql(dup_query, self.db, \ - params={}).to_json(orient="records")) + + ######################################################## + #### Define the action map for events to avoid duplicates + #### Query event_ids so a list of existing events are + #### Available for duplicate checking + ######################################################## action_map = { 'insert': { @@ -66,70 +81,98 @@ def contributor_breadth_model(self, task, repo_id): } } - for cntrb in cntrb_logins: + # Eliminate any duplicate event_ids from what will be inserted + # Because of Bulk Insert + # keyVal = event_id - repo_cntrb_url = f"https://api.github.com/users/{cntrb['gh_login']}/events" + ######################################################## + # Query for existing event ids to avoid duplication + ######################################################## + + dup_query = s.sql.text(""" + SELECT DISTINCT event_id + FROM augur_data.contributor_repo + WHERE 1 = 1 + """) + + current_event_ids = json.loads(pd.read_sql(dup_query, self.db, \ + params={}).to_json(orient="records")) + + #Convert list of dictionaries to regular list of 'event_ids'. + #The only values that the sql query returns are event_ids so + #it makes no sense to be a list of many dicts of one key. + current_event_ids = [value for elem in current_event_ids for value in elem.values()] + + self.logger.info(f"current event ids are: {current_event_ids}") - source_cntrb_repos = self.paginate_endpoint(repo_cntrb_url, action_map=action_map, + cntrb_repos_insert = [] + + for cntrb in current_cntrb_logins: + + + repo_cntrb_url = f"https://api.github.com/users/{cntrb['gh_login']}/events" + # source_cntrb_repos seemed like not exactly what the variable is for; its a list of actions for + # each Github gh_login value already in our database + source_cntrb_events = self.paginate_endpoint(repo_cntrb_url, action_map=action_map, table=self.contributor_repo_table) - if len(source_cntrb_repos['all']) == 0: - self.logger.info("There are no issues for this repository.\n") - self.register_task_completion(task, repo_id, 'contributor_breadth') - - # cntrb_repos_insert = [ - # { - # "cntrb_id": cntrb['cntrb_id'], - # "repo_git": cntrb_repo['repo']['url'], - # "tool_source": self.tool_source, - # "tool_version": self.tool_version, - # "data_source": self.data_source, - # "repo_name": cntrb_repo['repo']['name'], - # "gh_repo_id": cntrb_repo['repo']['id'], - # "cntrb_category": cntrb_repo['type'], - # "event_id": cntrb_repo['id'], - # "created_at": cntrb_repo['created_at'] - - # } - # for cntrb_repo in source_cntrb_repos['insert'] - - # ] - - cntrb_repos_insert = [] - #cntrb_ids_idx = pd.Index(cntrb_ids, name=contributors) - - for cntrb_repo in source_cntrb_repos['insert']: - - # repo_it = source_cntrb_repos.index(['id']) - # the_event_id_idx = repo_it.index() - # try: - # the_event_id_idx = source_cntrb_repos(event_id) - # except ValueError: - # continue - #if current_ids['event_id'] == source_cntrb_repos['id']: - #if int(cntrb_repo['id']) in current_ids.loc[~['event_id'].astype.str.isdigit(), 'event_id'].tolist() - # pd.to_numeric(current_ids['event_id']): - #continue - cntrb_repos_insert.append( - { - "cntrb_id": cntrb['cntrb_id'], - "repo_git": cntrb_repo['repo']['url'], - "tool_source": self.tool_source, - "tool_version": self.tool_version, - "data_source": self.data_source, - "repo_name": cntrb_repo['repo']['name'], - "gh_repo_id": cntrb_repo['repo']['id'], - "cntrb_category": cntrb_repo['type'], - "event_id": cntrb_repo['id'], - "created_at": cntrb_repo['created_at'] - }) - - if len(source_cntrb_repos['insert']) > 0: - - - cntrb_repo_insert_result, cntrb_repo_update_result = self.bulk_insert(self.contributor_repo_table, + if len(source_cntrb_events['all']) == 0: + self.logger.info("There are no events, or new events for this user.\n") + continue + else: + ## current_event_ids are the ones ALREADY IN THE AUGUR DB. SKIP THOSE. + ## source_cntrb_events are the ones the API pulls. + for event_id_api in source_cntrb_events['all']: + self.logger.info(f"Keys of event_id_api: {event_id_api.keys()}") + #self.logger.info(f"Keys of current_event_ids: {current_event_ids.keys()}") + if int(event_id_api['id']) in current_event_ids: + continue + else: + #self.register_task_completion(task, repo_id, 'contributor_breadth') + cntrb_repos_insert.append({ + "cntrb_id": cntrb['cntrb_id'], + "repo_git": event_id_api['repo']['url'], + "tool_source": self.tool_source, + "tool_version": self.tool_version, + "data_source": self.data_source, + "repo_name": event_id_api['repo']['name'], + "gh_repo_id": event_id_api['repo']['id'], + "cntrb_category": event_id_api['type'], + "event_id": event_id_api['id'], + "created_at": event_id_api['created_at'] + + }) + + #Use this instead of the bulk insert if that is needed in the future. + # (i.e., if an initial scan uses too much RAM on a large repo.) + """" + self.db.execute(self.contributor_repo_table.insert().values({ + "cntrb_id": cntrb['cntrb_id'], + "repo_git": cntrb_repo['repo']['url'], + "tool_source": self.tool_source, + "tool_version": self.tool_version, + "data_source": self.data_source, + "repo_name": cntrb_repo['repo']['name'], + "gh_repo_id": cntrb_repo['repo']['id'], + "cntrb_category": cntrb_repo['type'], + "event_id": cntrb_repo['id'], + "created_at": cntrb_repo['created_at'] + + }))""" + + # else: + # # Print the message if the value does not exist + # self.logger.info(f"event_id is found in JSON data {current_event_ids[event_id]}.") + + ######################################################## + # Do the Inserts + ######################################################## + + #cntrb_repos_insert = [] + #cntrb_ids_idx = pd.Index(cntrb_ids, name=contributors) + + cntrb_repo_insert_result, cntrb_repo_update_result = self.bulk_insert(self.contributor_repo_table, unique_columns='event_id', insert=cntrb_repos_insert) - - self.register_task_completion(task, None, 'contributor_breadth') + self.register_task_completion(task, '0', 'contributor_breadth') From cbd3af54860b3bef104f4115c865d7a0c486c87a Mon Sep 17 00:00:00 2001 From: "Sean P. Goggins" Date: Mon, 9 Aug 2021 15:20:58 -0500 Subject: [PATCH 163/201] updating seed data. --- schema/generate/05-seed_data.sql | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/schema/generate/05-seed_data.sql b/schema/generate/05-seed_data.sql index 64c731841c..67dd2ff416 100644 --- a/schema/generate/05-seed_data.sql +++ b/schema/generate/05-seed_data.sql @@ -6,7 +6,10 @@ COMMIT; INSERT INTO "augur_data"."contributors"("cntrb_id", "cntrb_login", "cntrb_email", "cntrb_company", "cntrb_created_at", "cntrb_type", "cntrb_fake", "cntrb_deleted", "cntrb_long", "cntrb_lat", "cntrb_country_code", "cntrb_state", "cntrb_city", "cntrb_location", "cntrb_canonical", "gh_user_id", "gh_login", "gh_url", "gh_html_url", "gh_node_id", "gh_avatar_url", "gh_gravatar_id", "gh_followers_url", "gh_following_url", "gh_gists_url", "gh_starred_url", "gh_subscriptions_url", "gh_organizations_url", "gh_repos_url", "gh_events_url", "gh_received_events_url", "gh_type", "gh_site_admin", "tool_source", "tool_version", "data_source", "data_collection_date") VALUES (1, 'not-provided', NULL, NULL, '2019-06-13 11:33:39', NULL, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1, 'nobody', 'http://fake.me', 'http://fake.me', 'x', 'http://fake.me', NULL, 'http://fake.me', 'http://fake.me', 'http://fake.me', 'http://fake.me', 'http://fake.me', 'http://fake.me', 'http://fake.me', 'http://fake.me', NULL, NULL, NULL, NULL, NULL, NULL, '2019-06-13 16:35:25'); INSERT INTO "augur_data"."repo_groups"("repo_group_id", "rg_name", "rg_description", "rg_website", "rg_recache", "rg_last_modified", "rg_type", "tool_source", "tool_version", "data_source", "data_collection_date") VALUES (1, 'Default Repo Group', 'The default repo group created by the schema generation script', '', 0, '2019-06-03 15:55:20', 'GitHub Organization', 'load', 'one', 'git', '2019-06-05 13:36:25'); -INSERT INTO "augur_data"."repo"("repo_id", "repo_group_id", "repo_git", "repo_path", "repo_name", "repo_added", "repo_status", "repo_type", "url", "owner_id", "description", "primary_language", "created_at", "forked_from", "updated_at", "tool_source", "tool_version", "data_source", "data_collection_date") VALUES (1, 1, 'https://github.com/chaoss/augur.git', 'github.com/chaoss/', 'augur', '2019-05-31 14:28:44', 'New', '', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'data load', 'one', 'git', '2019-06-05 18:41:14'); + +INSERT INTO "augur_data"."repo" ("repo_id", "repo_group_id", "repo_git", "repo_path", "repo_name", "repo_added", "repo_status", "repo_type", "url", "owner_id", "description", "primary_language", "created_at", "forked_from", "updated_at", "tool_source", "tool_version", "data_source", "data_collection_date", "repo_archived", "repo_archived_date_collected") VALUES (1, 1, 'https://github.com/chaoss/augur', NULL, NULL, '2021-08-10 14:28:44', 'New', '', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'data load', 'one', 'git', '2019-06-05 18:41:14', NULL, NULL); +INSERT INTO "augur_data"."repo" ("repo_id", "repo_group_id", "repo_git", "repo_path", "repo_name", "repo_added", "repo_status", "repo_type", "url", "owner_id", "description", "primary_language", "created_at", "forked_from", "updated_at", "tool_source", "tool_version", "data_source", "data_collection_date", "repo_archived", "repo_archived_date_collected") VALUES (2, 1, 'https://github.com/saltstack/salt', NULL, NULL, '2021-08-10 17:58:43', 'New', '', NULL, NULL, NULL, NULL, NULL, 'Parent not available', NULL, NULL, NULL, NULL, NULL, 0, NULL); + -- ---------------------------- From d12877fb0bad19bccab7136bdd7206e13317237c Mon Sep 17 00:00:00 2001 From: Sean Goggins Date: Mon, 9 Aug 2021 15:49:07 -0500 Subject: [PATCH 164/201] setup.py update --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 59d8653709..7173c50617 100644 --- a/setup.py +++ b/setup.py @@ -49,7 +49,7 @@ "psycopg2-binary==2.8.6", "click<8.0,>=5.1", "psutil==5.8.0", - "gunicorn==20.0.4", + "gunicorn==20.1.0", "six==1.15.0", "bokeh==2.0.2", "selenium==3.141.0", From cbf9fdcae47e0236ac60444ecd17cfa3eea72c92 Mon Sep 17 00:00:00 2001 From: "Sean P. Goggins" Date: Mon, 9 Aug 2021 16:00:15 -0500 Subject: [PATCH 165/201] seed data update --- schema/generate/05-seed_data.sql | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/schema/generate/05-seed_data.sql b/schema/generate/05-seed_data.sql index 67dd2ff416..c2ecbd9986 100644 --- a/schema/generate/05-seed_data.sql +++ b/schema/generate/05-seed_data.sql @@ -3,14 +3,20 @@ BEGIN; INSERT INTO "augur_data"."platform" VALUES (25150, 'GitHub', '3', '2019-06-05', 'Manual Entry', 'Sean Goggins', 'GitHub', '2019-06-05 17:23:42'); COMMIT; +BEGIN; + INSERT INTO "augur_data"."contributors"("cntrb_id", "cntrb_login", "cntrb_email", "cntrb_company", "cntrb_created_at", "cntrb_type", "cntrb_fake", "cntrb_deleted", "cntrb_long", "cntrb_lat", "cntrb_country_code", "cntrb_state", "cntrb_city", "cntrb_location", "cntrb_canonical", "gh_user_id", "gh_login", "gh_url", "gh_html_url", "gh_node_id", "gh_avatar_url", "gh_gravatar_id", "gh_followers_url", "gh_following_url", "gh_gists_url", "gh_starred_url", "gh_subscriptions_url", "gh_organizations_url", "gh_repos_url", "gh_events_url", "gh_received_events_url", "gh_type", "gh_site_admin", "tool_source", "tool_version", "data_source", "data_collection_date") VALUES (1, 'not-provided', NULL, NULL, '2019-06-13 11:33:39', NULL, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1, 'nobody', 'http://fake.me', 'http://fake.me', 'x', 'http://fake.me', NULL, 'http://fake.me', 'http://fake.me', 'http://fake.me', 'http://fake.me', 'http://fake.me', 'http://fake.me', 'http://fake.me', 'http://fake.me', NULL, NULL, NULL, NULL, NULL, NULL, '2019-06-13 16:35:25'); INSERT INTO "augur_data"."repo_groups"("repo_group_id", "rg_name", "rg_description", "rg_website", "rg_recache", "rg_last_modified", "rg_type", "tool_source", "tool_version", "data_source", "data_collection_date") VALUES (1, 'Default Repo Group', 'The default repo group created by the schema generation script', '', 0, '2019-06-03 15:55:20', 'GitHub Organization', 'load', 'one', 'git', '2019-06-05 13:36:25'); -INSERT INTO "augur_data"."repo" ("repo_id", "repo_group_id", "repo_git", "repo_path", "repo_name", "repo_added", "repo_status", "repo_type", "url", "owner_id", "description", "primary_language", "created_at", "forked_from", "updated_at", "tool_source", "tool_version", "data_source", "data_collection_date", "repo_archived", "repo_archived_date_collected") VALUES (1, 1, 'https://github.com/chaoss/augur', NULL, NULL, '2021-08-10 14:28:44', 'New', '', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'data load', 'one', 'git', '2019-06-05 18:41:14', NULL, NULL); -INSERT INTO "augur_data"."repo" ("repo_id", "repo_group_id", "repo_git", "repo_path", "repo_name", "repo_added", "repo_status", "repo_type", "url", "owner_id", "description", "primary_language", "created_at", "forked_from", "updated_at", "tool_source", "tool_version", "data_source", "data_collection_date", "repo_archived", "repo_archived_date_collected") VALUES (2, 1, 'https://github.com/saltstack/salt', NULL, NULL, '2021-08-10 17:58:43', 'New', '', NULL, NULL, NULL, NULL, NULL, 'Parent not available', NULL, NULL, NULL, NULL, NULL, 0, NULL); +COMMIT; +BEGIN; + +INSERT INTO "augur_data"."repo" ("repo_id", "repo_group_id", "repo_git", "repo_path", "repo_name", "repo_added", "repo_status", "repo_type", "url", "owner_id", "description", "primary_language", "created_at", "forked_from", "updated_at", "tool_source", "tool_version", "data_source", "data_collection_date", "repo_archived", "repo_archived_date_collected") VALUES (1, 1, 'https://github.com/chaoss/augur', NULL, NULL, '2021-08-10 14:28:44', 'New', '', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'data load', 'one', 'git', '2021-06-05 18:41:14', NULL, NULL); +INSERT INTO "augur_data"."repo" ("repo_id", "repo_group_id", "repo_git", "repo_path", "repo_name", "repo_added", "repo_status", "repo_type", "url", "owner_id", "description", "primary_language", "created_at", "forked_from", "updated_at", "tool_source", "tool_version", "data_source", "data_collection_date", "repo_archived", "repo_archived_date_collected") VALUES (2, 1, 'https://github.com/saltstack/salt', NULL, NULL, '2021-08-10 17:58:43', 'New', '', NULL, NULL, NULL, NULL, NULL, 'Parent not available', NULL, NULL, NULL, NULL, NULL, 0, NULL); +COMMIT; -- ---------------------------- -- Records of settings From a5cee70315302def32416e80892f3dd6cf1ba90a Mon Sep 17 00:00:00 2001 From: "Sean P. Goggins" Date: Mon, 9 Aug 2021 16:14:27 -0500 Subject: [PATCH 166/201] repo archive seed data. --- schema/generate/05-seed_data.sql | 3 +-- schema/generate/15-schema_update_17.sql | 5 +++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/schema/generate/05-seed_data.sql b/schema/generate/05-seed_data.sql index c2ecbd9986..7fcaa4f9fd 100644 --- a/schema/generate/05-seed_data.sql +++ b/schema/generate/05-seed_data.sql @@ -13,8 +13,7 @@ COMMIT; BEGIN; -INSERT INTO "augur_data"."repo" ("repo_id", "repo_group_id", "repo_git", "repo_path", "repo_name", "repo_added", "repo_status", "repo_type", "url", "owner_id", "description", "primary_language", "created_at", "forked_from", "updated_at", "tool_source", "tool_version", "data_source", "data_collection_date", "repo_archived", "repo_archived_date_collected") VALUES (1, 1, 'https://github.com/chaoss/augur', NULL, NULL, '2021-08-10 14:28:44', 'New', '', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'data load', 'one', 'git', '2021-06-05 18:41:14', NULL, NULL); -INSERT INTO "augur_data"."repo" ("repo_id", "repo_group_id", "repo_git", "repo_path", "repo_name", "repo_added", "repo_status", "repo_type", "url", "owner_id", "description", "primary_language", "created_at", "forked_from", "updated_at", "tool_source", "tool_version", "data_source", "data_collection_date", "repo_archived", "repo_archived_date_collected") VALUES (2, 1, 'https://github.com/saltstack/salt', NULL, NULL, '2021-08-10 17:58:43', 'New', '', NULL, NULL, NULL, NULL, NULL, 'Parent not available', NULL, NULL, NULL, NULL, NULL, 0, NULL); + COMMIT; diff --git a/schema/generate/15-schema_update_17.sql b/schema/generate/15-schema_update_17.sql index 100a639d30..3308a876b7 100644 --- a/schema/generate/15-schema_update_17.sql +++ b/schema/generate/15-schema_update_17.sql @@ -7,4 +7,9 @@ ALTER TABLE "augur_data"."repo" ADD COLUMN IF NOT EXISTS "repo_archived_date_collected" timestamptz(0), ALTER COLUMN "forked_from" TYPE varchar USING "forked_from"::varchar; + +INSERT INTO "augur_data"."repo" ("repo_id", "repo_group_id", "repo_git", "repo_path", "repo_name", "repo_added", "repo_status", "repo_type", "url", "owner_id", "description", "primary_language", "created_at", "forked_from", "updated_at", "tool_source", "tool_version", "data_source", "data_collection_date", "repo_archived", "repo_archived_date_collected") VALUES (1, 1, 'https://github.com/chaoss/augur', NULL, NULL, '2021-08-10 14:28:44', 'New', '', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'data load', 'one', 'git', '2021-06-05 18:41:14', NULL, NULL); +INSERT INTO "augur_data"."repo" ("repo_id", "repo_group_id", "repo_git", "repo_path", "repo_name", "repo_added", "repo_status", "repo_type", "url", "owner_id", "description", "primary_language", "created_at", "forked_from", "updated_at", "tool_source", "tool_version", "data_source", "data_collection_date", "repo_archived", "repo_archived_date_collected") VALUES (2, 1, 'https://github.com/saltstack/salt', NULL, NULL, '2021-08-10 17:58:43', 'New', '', NULL, NULL, NULL, NULL, NULL, 'Parent not available', NULL, NULL, NULL, NULL, NULL, 0, NULL); + + update "augur_operations"."augur_settings" set value = 17 where setting = 'augur_data_version'; From f11533b3044500b37a996e2c4997e29618da405c Mon Sep 17 00:00:00 2001 From: "Sean P. Goggins" Date: Mon, 9 Aug 2021 16:15:32 -0500 Subject: [PATCH 167/201] seed update --- schema/generate/15-schema_update_17.sql | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/schema/generate/15-schema_update_17.sql b/schema/generate/15-schema_update_17.sql index 3308a876b7..bddd247b52 100644 --- a/schema/generate/15-schema_update_17.sql +++ b/schema/generate/15-schema_update_17.sql @@ -1,4 +1,5 @@ -- #SPDX-License-Identifier: MIT +BEGIN; ALTER TABLE "augur_data"."repo" ALTER COLUMN "forked_from" TYPE varchar USING "forked_from"::varchar; @@ -11,5 +12,10 @@ ALTER TABLE "augur_data"."repo" INSERT INTO "augur_data"."repo" ("repo_id", "repo_group_id", "repo_git", "repo_path", "repo_name", "repo_added", "repo_status", "repo_type", "url", "owner_id", "description", "primary_language", "created_at", "forked_from", "updated_at", "tool_source", "tool_version", "data_source", "data_collection_date", "repo_archived", "repo_archived_date_collected") VALUES (1, 1, 'https://github.com/chaoss/augur', NULL, NULL, '2021-08-10 14:28:44', 'New', '', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'data load', 'one', 'git', '2021-06-05 18:41:14', NULL, NULL); INSERT INTO "augur_data"."repo" ("repo_id", "repo_group_id", "repo_git", "repo_path", "repo_name", "repo_added", "repo_status", "repo_type", "url", "owner_id", "description", "primary_language", "created_at", "forked_from", "updated_at", "tool_source", "tool_version", "data_source", "data_collection_date", "repo_archived", "repo_archived_date_collected") VALUES (2, 1, 'https://github.com/saltstack/salt', NULL, NULL, '2021-08-10 17:58:43', 'New', '', NULL, NULL, NULL, NULL, NULL, 'Parent not available', NULL, NULL, NULL, NULL, NULL, 0, NULL); +COMMIT; + +BEGIN; update "augur_operations"."augur_settings" set value = 17 where setting = 'augur_data_version'; + +COMMIT; \ No newline at end of file From b8120aff8233a96d215e9e2d5e3c0353c232b185 Mon Sep 17 00:00:00 2001 From: "Sean P. Goggins" Date: Mon, 9 Aug 2021 16:49:19 -0500 Subject: [PATCH 168/201] text_clean() method update. --- workers/worker_persistance.py | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/workers/worker_persistance.py b/workers/worker_persistance.py index 719deb5f75..9732bff784 100644 --- a/workers/worker_persistance.py +++ b/workers/worker_persistance.py @@ -801,13 +801,36 @@ def text_clean(self, data, field): :returns: Same data list with each element's field updated with NUL characters removed """ + #self.logger.info(f"Original data point{field:datapoint[field]}") + return [ { **data_point, - field: data_point[field].replace("\x00", "\uFFFD") + #field: data_point[field].replace("\x00", "\uFFFD") + #self.logger.info(f"Null replaced data point{field:datapoint[field]}") + ## trying to use standard python3 method for text cleaning here. + field: bytes(data_point[field], "utf-8").decode("utf-8", "replace") + #0x00 } for data_point in data ] + # def text_clean(self, data, field): + # """ "Cleans" the provided field of each dict in the list of dicts provided + # by removing NUL (C text termination) characters + # Example: "\u0000" + + # :param data: List of dicts + # :param field: String + # :returns: Same data list with each element's field updated with NUL characters + # removed + # """ + # return [ + # { + # **data_point, + # field: data_point[field].replace("\x00", "\uFFFD") + # } for data_point in data + # ] + def _add_nested_columns(self, df, column_names): # todo: support deeper nests (>1) and only expand necessary columns # todo: merge with _get_data_set_columns From 125512387a5e499db9d5358d5d9ffff88a478671 Mon Sep 17 00:00:00 2001 From: "Sean P. Goggins" Date: Tue, 10 Aug 2021 08:52:12 -0500 Subject: [PATCH 169/201] text_clean update. --- workers/worker_persistance.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workers/worker_persistance.py b/workers/worker_persistance.py index 9732bff784..23f0ba7ce6 100644 --- a/workers/worker_persistance.py +++ b/workers/worker_persistance.py @@ -809,7 +809,7 @@ def text_clean(self, data, field): #field: data_point[field].replace("\x00", "\uFFFD") #self.logger.info(f"Null replaced data point{field:datapoint[field]}") ## trying to use standard python3 method for text cleaning here. - field: bytes(data_point[field], "utf-8").decode("utf-8", "replace") + field: bytes(data_point[field], "utf-8").decode("utf-8", "backslashreplace") #0x00 } for data_point in data ] From 641f97a72abdfc6758db07d5f0e93c5cb20e851d Mon Sep 17 00:00:00 2001 From: "Sean P. Goggins" Date: Tue, 10 Aug 2021 09:34:17 -0500 Subject: [PATCH 170/201] decode update to "ignore". --- workers/worker_persistance.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workers/worker_persistance.py b/workers/worker_persistance.py index 23f0ba7ce6..f74ac616e7 100644 --- a/workers/worker_persistance.py +++ b/workers/worker_persistance.py @@ -809,7 +809,7 @@ def text_clean(self, data, field): #field: data_point[field].replace("\x00", "\uFFFD") #self.logger.info(f"Null replaced data point{field:datapoint[field]}") ## trying to use standard python3 method for text cleaning here. - field: bytes(data_point[field], "utf-8").decode("utf-8", "backslashreplace") + field: bytes(data_point[field], "utf-8").decode("utf-8", "ignore") #0x00 } for data_point in data ] From 9ace7a291d80ff787a562218798ad5098a1fe0c7 Mon Sep 17 00:00:00 2001 From: "Sean P. Goggins" Date: Tue, 10 Aug 2021 09:36:37 -0500 Subject: [PATCH 171/201] Trying combo replacement and decoding. --- workers/worker_persistance.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workers/worker_persistance.py b/workers/worker_persistance.py index f74ac616e7..0be48d6aee 100644 --- a/workers/worker_persistance.py +++ b/workers/worker_persistance.py @@ -809,7 +809,7 @@ def text_clean(self, data, field): #field: data_point[field].replace("\x00", "\uFFFD") #self.logger.info(f"Null replaced data point{field:datapoint[field]}") ## trying to use standard python3 method for text cleaning here. - field: bytes(data_point[field], "utf-8").decode("utf-8", "ignore") + field: bytes(data_point[field], "utf-8").decode("utf-8", "ignore").replace("\x00", "\uFFFD") #0x00 } for data_point in data ] From ead5fb16ab68493e54d319b0d7a6d40abde7db39 Mon Sep 17 00:00:00 2001 From: "Sean P. Goggins" Date: Tue, 10 Aug 2021 09:57:46 -0500 Subject: [PATCH 172/201] Adding numpy conversions on issue updates. --- workers/github_worker/github_worker.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/workers/github_worker/github_worker.py b/workers/github_worker/github_worker.py index 9b20c52fd7..c038c81d4b 100644 --- a/workers/github_worker/github_worker.py +++ b/workers/github_worker/github_worker.py @@ -443,8 +443,8 @@ def is_nan(value): continue closed_issue_updates.append({ - 'b_issue_id': issue['issue_id'], - 'cntrb_id': closed_event['cntrb_id'] + 'b_issue_id'.item(): issue['issue_id'], + 'cntrb_id'.item(): closed_event['cntrb_id'] }) # Closed issues, update with closer id From 7ff909e82c6e0426f83d8c3cdef5f6728baf9a97 Mon Sep 17 00:00:00 2001 From: "Sean P. Goggins" Date: Tue, 10 Aug 2021 10:09:31 -0500 Subject: [PATCH 173/201] Adding text_clean to copy_expert re: error. --- workers/worker_persistance.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workers/worker_persistance.py b/workers/worker_persistance.py index 0be48d6aee..27a54737a1 100644 --- a/workers/worker_persistance.py +++ b/workers/worker_persistance.py @@ -769,7 +769,7 @@ def psql_insert_copy(table, conn, keys, data_iter): sql = 'COPY {} ({}) FROM STDIN WITH CSV'.format( table_name, columns) #This causes the github worker to throw an error with pandas - cur.copy_expert(sql=sql, file=s_buf) + cur.copy_expert(sql=sql, file=text_clean(s_buf)) df = pd.DataFrame(insert) if convert_float_int: From 9607b6868f07ca1a883165482f57fb1cc2131cb9 Mon Sep 17 00:00:00 2001 From: "Sean P. Goggins" Date: Tue, 10 Aug 2021 10:19:30 -0500 Subject: [PATCH 174/201] local method designation. --- workers/worker_persistance.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workers/worker_persistance.py b/workers/worker_persistance.py index 27a54737a1..382cccf5d0 100644 --- a/workers/worker_persistance.py +++ b/workers/worker_persistance.py @@ -769,7 +769,7 @@ def psql_insert_copy(table, conn, keys, data_iter): sql = 'COPY {} ({}) FROM STDIN WITH CSV'.format( table_name, columns) #This causes the github worker to throw an error with pandas - cur.copy_expert(sql=sql, file=text_clean(s_buf)) + cur.copy_expert(sql=sql, file=self.text_clean(s_buf)) df = pd.DataFrame(insert) if convert_float_int: From 599229aec7f0bae91373963c203a1e929dffc408 Mon Sep 17 00:00:00 2001 From: "Sean P. Goggins" Date: Tue, 10 Aug 2021 10:31:05 -0500 Subject: [PATCH 175/201] sbuf text_clean() --- workers/worker_persistance.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/workers/worker_persistance.py b/workers/worker_persistance.py index 382cccf5d0..df97fd5706 100644 --- a/workers/worker_persistance.py +++ b/workers/worker_persistance.py @@ -769,7 +769,9 @@ def psql_insert_copy(table, conn, keys, data_iter): sql = 'COPY {} ({}) FROM STDIN WITH CSV'.format( table_name, columns) #This causes the github worker to throw an error with pandas - cur.copy_expert(sql=sql, file=self.text_clean(s_buf)) + + self.logger.info(f"this is the sbuf {s_buf}") + cur.copy_expert(sql=sql, file=self.text_clean(s_buf,)) df = pd.DataFrame(insert) if convert_float_int: From ca3c93c60cfa0ef7ab2212a9385560dea263562b Mon Sep 17 00:00:00 2001 From: "Sean P. Goggins" Date: Tue, 10 Aug 2021 10:41:01 -0500 Subject: [PATCH 176/201] Github issue pushing. --- workers/worker_persistance.py | 1 + 1 file changed, 1 insertion(+) diff --git a/workers/worker_persistance.py b/workers/worker_persistance.py index df97fd5706..c871083be9 100644 --- a/workers/worker_persistance.py +++ b/workers/worker_persistance.py @@ -772,6 +772,7 @@ def psql_insert_copy(table, conn, keys, data_iter): self.logger.info(f"this is the sbuf {s_buf}") cur.copy_expert(sql=sql, file=self.text_clean(s_buf,)) + df = pd.DataFrame(insert) if convert_float_int: From 7d6961b744ee8c6f683b4da4b79f8d710b329293 Mon Sep 17 00:00:00 2001 From: Sean Goggins Date: Tue, 10 Aug 2021 11:44:12 -0500 Subject: [PATCH 177/201] encoding of iostream error fixed --- workers/worker_persistance.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/workers/worker_persistance.py b/workers/worker_persistance.py index 382cccf5d0..3544b02204 100644 --- a/workers/worker_persistance.py +++ b/workers/worker_persistance.py @@ -14,6 +14,7 @@ import concurrent import multiprocessing import psycopg2 +import psycopg2.extensions import csv import io from logging import FileHandler, Formatter, StreamHandler @@ -755,6 +756,7 @@ def psql_insert_copy(table, conn, keys, data_iter): # gets a DBAPI connection that can provide a cursor dbapi_conn = conn.connection with dbapi_conn.cursor() as cur: + psycopg2.extensions.register_type(psycopg2.extensions.UNICODE, cur) s_buf = io.StringIO() writer = csv.writer(s_buf) writer.writerows(data_iter) @@ -769,7 +771,11 @@ def psql_insert_copy(table, conn, keys, data_iter): sql = 'COPY {} ({}) FROM STDIN WITH CSV'.format( table_name, columns) #This causes the github worker to throw an error with pandas - cur.copy_expert(sql=sql, file=self.text_clean(s_buf)) + #cur.copy_expert(sql=sql, file=self.text_clean(s_buf)) + s_buf_encoded = s_buf.read().encode("UTF-8") + self.logger.info(f"this is the sbuf_encdoded {s_buf_encoded}") + cur.copy_expert(sql=sql, file=s_buf) + df = pd.DataFrame(insert) if convert_float_int: From 57a2caf0faca368977df85a9e40e95615268bdcd Mon Sep 17 00:00:00 2001 From: Sean Goggins Date: Tue, 10 Aug 2021 11:56:28 -0500 Subject: [PATCH 178/201] updated spec.yml docs as in PR #1401 --- docs/source/rest-api/spec.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/rest-api/spec.yml b/docs/source/rest-api/spec.yml index 1d26fea87d..2778e9ea78 100644 --- a/docs/source/rest-api/spec.yml +++ b/docs/source/rest-api/spec.yml @@ -74,7 +74,7 @@ paths: type: array tags: - utility - /repo-groups/:repo_group_id/Committers: + /repo-groups/:repo_group_id/committers: get: description: 'Number of persons opening an issue for the first time. ' externalDocs: From 347811262e6e53bf5933b340582415945a61dcbd Mon Sep 17 00:00:00 2001 From: "Sean P. Goggins" Date: Tue, 10 Aug 2021 13:54:55 -0500 Subject: [PATCH 179/201] removed massive log line. --- workers/worker_persistance.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workers/worker_persistance.py b/workers/worker_persistance.py index 3544b02204..1b7d3c089c 100644 --- a/workers/worker_persistance.py +++ b/workers/worker_persistance.py @@ -773,7 +773,7 @@ def psql_insert_copy(table, conn, keys, data_iter): #This causes the github worker to throw an error with pandas #cur.copy_expert(sql=sql, file=self.text_clean(s_buf)) s_buf_encoded = s_buf.read().encode("UTF-8") - self.logger.info(f"this is the sbuf_encdoded {s_buf_encoded}") + #self.logger.info(f"this is the sbuf_encdoded {s_buf_encoded}") cur.copy_expert(sql=sql, file=s_buf) From 072131ec803fd535c618619efc6657c1a7f2d395 Mon Sep 17 00:00:00 2001 From: "Sean P. Goggins" Date: Tue, 10 Aug 2021 14:09:17 -0500 Subject: [PATCH 180/201] fix attempt 1. --- workers/worker_persistance.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/workers/worker_persistance.py b/workers/worker_persistance.py index 1b7d3c089c..3fbd549aa6 100644 --- a/workers/worker_persistance.py +++ b/workers/worker_persistance.py @@ -755,8 +755,10 @@ def psql_insert_copy(table, conn, keys, data_iter): """ # gets a DBAPI connection that can provide a cursor dbapi_conn = conn.connection + psycopg2.extensions.register_type(psycopg2.extensions.UNICODE, dbapi_conn) + with dbapi_conn.cursor() as cur: - psycopg2.extensions.register_type(psycopg2.extensions.UNICODE, cur) +# psycopg2.extensions.register_type(psycopg2.extensions.UNICODE, cur) s_buf = io.StringIO() writer = csv.writer(s_buf) writer.writerows(data_iter) From 65a56cf0d416a4b1a78a56646ce9ba24b2ddf224 Mon Sep 17 00:00:00 2001 From: "Sean P. Goggins" Date: Tue, 10 Aug 2021 14:19:51 -0500 Subject: [PATCH 181/201] fix attempt 2 --- workers/worker_persistance.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workers/worker_persistance.py b/workers/worker_persistance.py index 3fbd549aa6..7f0e523fbf 100644 --- a/workers/worker_persistance.py +++ b/workers/worker_persistance.py @@ -755,7 +755,7 @@ def psql_insert_copy(table, conn, keys, data_iter): """ # gets a DBAPI connection that can provide a cursor dbapi_conn = conn.connection - psycopg2.extensions.register_type(psycopg2.extensions.UNICODE, dbapi_conn) + psycopg2.extensions.register_type(psycopg2.extensions.UNICODE) with dbapi_conn.cursor() as cur: # psycopg2.extensions.register_type(psycopg2.extensions.UNICODE, cur) From 306f6594207fd6cec625137e0dfd0d8f5d7b6a2f Mon Sep 17 00:00:00 2001 From: "Sean P. Goggins" Date: Tue, 10 Aug 2021 14:29:02 -0500 Subject: [PATCH 182/201] fix log attempt 3. --- workers/worker_persistance.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/workers/worker_persistance.py b/workers/worker_persistance.py index 7f0e523fbf..f0c9c119eb 100644 --- a/workers/worker_persistance.py +++ b/workers/worker_persistance.py @@ -776,7 +776,10 @@ def psql_insert_copy(table, conn, keys, data_iter): #cur.copy_expert(sql=sql, file=self.text_clean(s_buf)) s_buf_encoded = s_buf.read().encode("UTF-8") #self.logger.info(f"this is the sbuf_encdoded {s_buf_encoded}") - cur.copy_expert(sql=sql, file=s_buf) + try: + cur.copy_expert(sql=sql, file=s_buf) + except Exception as e: + self.logger.info(f"this is the error: {e}.") df = pd.DataFrame(insert) From d7e5ba36a13ea27b50fbed56e439b89cf7e24a43 Mon Sep 17 00:00:00 2001 From: "Sean P. Goggins" Date: Tue, 10 Aug 2021 14:48:21 -0500 Subject: [PATCH 183/201] fix attempt 5. --- workers/worker_persistance.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/workers/worker_persistance.py b/workers/worker_persistance.py index f0c9c119eb..08eee01705 100644 --- a/workers/worker_persistance.py +++ b/workers/worker_persistance.py @@ -171,7 +171,7 @@ def initialize_logging(self): #database interface, the git interfaceable adds additional function to the super method. def initialize_database_connections(self): - DB_STR = 'postgresql://{}:{}@{}:{}/{}'.format( + DB_STR = 'postgresql://{}:{}@{}:{}/{}?charset=utf8'.format( self.config['user_database'], self.config['password_database'], self.config['host_database'], self.config['port_database'], self.config['name_database'] ) @@ -755,7 +755,7 @@ def psql_insert_copy(table, conn, keys, data_iter): """ # gets a DBAPI connection that can provide a cursor dbapi_conn = conn.connection - psycopg2.extensions.register_type(psycopg2.extensions.UNICODE) + #psycopg2.extensions.register_type(psycopg2.extensions.UNICODE) with dbapi_conn.cursor() as cur: # psycopg2.extensions.register_type(psycopg2.extensions.UNICODE, cur) From 2e9bd0b431da550ab0790fa230ffc98bb263244e Mon Sep 17 00:00:00 2001 From: "Sean P. Goggins" Date: Tue, 10 Aug 2021 14:55:36 -0500 Subject: [PATCH 184/201] 6 --- workers/worker_persistance.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/workers/worker_persistance.py b/workers/worker_persistance.py index 08eee01705..933517c55c 100644 --- a/workers/worker_persistance.py +++ b/workers/worker_persistance.py @@ -171,7 +171,7 @@ def initialize_logging(self): #database interface, the git interfaceable adds additional function to the super method. def initialize_database_connections(self): - DB_STR = 'postgresql://{}:{}@{}:{}/{}?charset=utf8'.format( + DB_STR = 'postgresql://{}:{}@{}:{}/{}'.format( self.config['user_database'], self.config['password_database'], self.config['host_database'], self.config['port_database'], self.config['name_database'] ) @@ -180,11 +180,11 @@ def initialize_database_connections(self): db_schema = 'augur_data' self.db = s.create_engine(DB_STR, poolclass=s.pool.NullPool, - connect_args={'options': '-csearch_path={}'.format(db_schema)}) + connect_args={'options': '-csearch_path={}'.format(db_schema), 'client_encoding': 'utf8'}) helper_schema = 'augur_operations' self.helper_db = s.create_engine(DB_STR, poolclass=s.pool.NullPool, - connect_args={'options': '-csearch_path={}'.format(helper_schema)}) + connect_args={'options': '-csearch_path={}'.format(helper_schema), 'client_encoding': 'utf8'}) metadata = s.MetaData() helper_metadata = s.MetaData() From f70232c22d6afde093cc0464e3e76dce20abdb02 Mon Sep 17 00:00:00 2001 From: "Sean P. Goggins" Date: Tue, 10 Aug 2021 15:07:03 -0500 Subject: [PATCH 185/201] 7 --- workers/worker_persistance.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/workers/worker_persistance.py b/workers/worker_persistance.py index 933517c55c..336bcdf09d 100644 --- a/workers/worker_persistance.py +++ b/workers/worker_persistance.py @@ -755,10 +755,8 @@ def psql_insert_copy(table, conn, keys, data_iter): """ # gets a DBAPI connection that can provide a cursor dbapi_conn = conn.connection - #psycopg2.extensions.register_type(psycopg2.extensions.UNICODE) with dbapi_conn.cursor() as cur: -# psycopg2.extensions.register_type(psycopg2.extensions.UNICODE, cur) s_buf = io.StringIO() writer = csv.writer(s_buf) writer.writerows(data_iter) From 9da9bb09a0cd84bde627b39f128085e76fcc90c9 Mon Sep 17 00:00:00 2001 From: "Sean P. Goggins" Date: Tue, 10 Aug 2021 15:17:20 -0500 Subject: [PATCH 186/201] 8 --- workers/worker_persistance.py | 1 + 1 file changed, 1 insertion(+) diff --git a/workers/worker_persistance.py b/workers/worker_persistance.py index 336bcdf09d..c8818992f5 100644 --- a/workers/worker_persistance.py +++ b/workers/worker_persistance.py @@ -784,6 +784,7 @@ def psql_insert_copy(table, conn, keys, data_iter): if convert_float_int: df = self._convert_float_nan_to_int(df) df.to_sql( + schema = self.db_schema, name=table.name, con=self.db, if_exists="append", From 3e7ac96b59c3a1756cacb9e6272a04b5ed18b3dd Mon Sep 17 00:00:00 2001 From: "Sean P. Goggins" Date: Tue, 10 Aug 2021 15:27:51 -0500 Subject: [PATCH 187/201] 9. --- workers/worker_persistance.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/workers/worker_persistance.py b/workers/worker_persistance.py index c8818992f5..a44f03aacd 100644 --- a/workers/worker_persistance.py +++ b/workers/worker_persistance.py @@ -37,6 +37,8 @@ class Persistant(): def __init__(self, worker_type, data_tables=[],operations_tables=[]): + self.db_schema = None + self.helper_schema = None self.worker_type = worker_type #For database functionality self.data_tables = data_tables @@ -178,13 +180,13 @@ def initialize_database_connections(self): # Create an sqlalchemy engine for both database schemas self.logger.info("Making database connections") - db_schema = 'augur_data' + self.db_schema = 'augur_data' self.db = s.create_engine(DB_STR, poolclass=s.pool.NullPool, - connect_args={'options': '-csearch_path={}'.format(db_schema), 'client_encoding': 'utf8'}) + connect_args={'options': '-csearch_path={}'.format(self.db_schema), 'client_encoding': 'utf8'}) - helper_schema = 'augur_operations' + self.helper_schema = 'augur_operations' self.helper_db = s.create_engine(DB_STR, poolclass=s.pool.NullPool, - connect_args={'options': '-csearch_path={}'.format(helper_schema), 'client_encoding': 'utf8'}) + connect_args={'options': '-csearch_path={}'.format(self.helper_schema), 'client_encoding': 'utf8'}) metadata = s.MetaData() helper_metadata = s.MetaData() From 73fc5246f600afd5c56114a7aade9d2d9100d125 Mon Sep 17 00:00:00 2001 From: Sean Goggins Date: Tue, 10 Aug 2021 16:54:32 -0500 Subject: [PATCH 188/201] rolling back gunicorn version --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 7173c50617..59d8653709 100644 --- a/setup.py +++ b/setup.py @@ -49,7 +49,7 @@ "psycopg2-binary==2.8.6", "click<8.0,>=5.1", "psutil==5.8.0", - "gunicorn==20.1.0", + "gunicorn==20.0.4", "six==1.15.0", "bokeh==2.0.2", "selenium==3.141.0", From 142138eae935ff36fbb9a1cfc9e02f20c97a9471 Mon Sep 17 00:00:00 2001 From: "Sean P. Goggins" Date: Wed, 11 Aug 2021 10:21:37 -0500 Subject: [PATCH 189/201] 10 --- workers/worker_persistance.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/workers/worker_persistance.py b/workers/worker_persistance.py index a44f03aacd..bdf627f2d2 100644 --- a/workers/worker_persistance.py +++ b/workers/worker_persistance.py @@ -182,11 +182,11 @@ def initialize_database_connections(self): self.db_schema = 'augur_data' self.db = s.create_engine(DB_STR, poolclass=s.pool.NullPool, - connect_args={'options': '-csearch_path={}'.format(self.db_schema), 'client_encoding': 'utf8'}) - + connect_args={'options': '-csearch_path={}'.format(self.db_schema)}) + # , 'client_encoding': 'utf8' self.helper_schema = 'augur_operations' self.helper_db = s.create_engine(DB_STR, poolclass=s.pool.NullPool, - connect_args={'options': '-csearch_path={}'.format(self.helper_schema), 'client_encoding': 'utf8'}) + connect_args={'options': '-csearch_path={}'.format(self.helper_schema)}) metadata = s.MetaData() helper_metadata = s.MetaData() From e70dcc87bc12a7308082fb1cd40fd32c7558f68b Mon Sep 17 00:00:00 2001 From: "Sean P. Goggins" Date: Wed, 11 Aug 2021 10:42:58 -0500 Subject: [PATCH 190/201] 12 --- workers/worker_persistance.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workers/worker_persistance.py b/workers/worker_persistance.py index bdf627f2d2..d23bc41dff 100644 --- a/workers/worker_persistance.py +++ b/workers/worker_persistance.py @@ -821,7 +821,7 @@ def text_clean(self, data, field): #field: data_point[field].replace("\x00", "\uFFFD") #self.logger.info(f"Null replaced data point{field:datapoint[field]}") ## trying to use standard python3 method for text cleaning here. - field: bytes(data_point[field], "utf-8").decode("utf-8", "ignore").replace("\x00", "\uFFFD") + field: bytes(data_point[field]).decode("utf-8", "ignore").replace("\x00", "\uFFFD") #0x00 } for data_point in data ] From 3cff39e9bf4b093a4b1863b646810bf1ac4c5bd8 Mon Sep 17 00:00:00 2001 From: "Sean P. Goggins" Date: Wed, 11 Aug 2021 10:54:18 -0500 Subject: [PATCH 191/201] 12 --- workers/worker_persistance.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/workers/worker_persistance.py b/workers/worker_persistance.py index d23bc41dff..29d4c39e3f 100644 --- a/workers/worker_persistance.py +++ b/workers/worker_persistance.py @@ -821,7 +821,9 @@ def text_clean(self, data, field): #field: data_point[field].replace("\x00", "\uFFFD") #self.logger.info(f"Null replaced data point{field:datapoint[field]}") ## trying to use standard python3 method for text cleaning here. - field: bytes(data_point[field]).decode("utf-8", "ignore").replace("\x00", "\uFFFD") + # This was after `data_point[field]` for a while as `, "utf-8"` and did not work + # Nay, it cause silent errors without insert; or was part of that hot mess. + field: bytes(data_point[field]).replace("\x00", "\uFFFD").decode("utf-8", "ignore") #0x00 } for data_point in data ] From 85ced047851abb334abcb12b6a1e7490064b8ce8 Mon Sep 17 00:00:00 2001 From: "Sean P. Goggins" Date: Wed, 11 Aug 2021 11:02:20 -0500 Subject: [PATCH 192/201] 13 --- workers/worker_persistance.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/workers/worker_persistance.py b/workers/worker_persistance.py index 29d4c39e3f..fd93b2f29e 100644 --- a/workers/worker_persistance.py +++ b/workers/worker_persistance.py @@ -823,7 +823,8 @@ def text_clean(self, data, field): ## trying to use standard python3 method for text cleaning here. # This was after `data_point[field]` for a while as `, "utf-8"` and did not work # Nay, it cause silent errors without insert; or was part of that hot mess. - field: bytes(data_point[field]).replace("\x00", "\uFFFD").decode("utf-8", "ignore") + # field: bytes(data_point[field]).decode("utf-8", "ignore").replace("\x00", "\uFFFD") + field: bytes(data_point[field]).decode("utf-8", "ignore") #0x00 } for data_point in data ] From 7d4e74d9cf6f50774c2f5087ae0aa2f3186c11b3 Mon Sep 17 00:00:00 2001 From: "Sean P. Goggins" Date: Wed, 11 Aug 2021 11:11:25 -0500 Subject: [PATCH 193/201] UNICODEBOMBER --- workers/worker_persistance.py | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/workers/worker_persistance.py b/workers/worker_persistance.py index fd93b2f29e..4fe1b7a7f8 100644 --- a/workers/worker_persistance.py +++ b/workers/worker_persistance.py @@ -757,8 +757,7 @@ def psql_insert_copy(table, conn, keys, data_iter): """ # gets a DBAPI connection that can provide a cursor dbapi_conn = conn.connection - - with dbapi_conn.cursor() as cur: + with dbapi_conn.cursor() as curs: s_buf = io.StringIO() writer = csv.writer(s_buf) writer.writerows(data_iter) @@ -774,10 +773,10 @@ def psql_insert_copy(table, conn, keys, data_iter): table_name, columns) #This causes the github worker to throw an error with pandas #cur.copy_expert(sql=sql, file=self.text_clean(s_buf)) - s_buf_encoded = s_buf.read().encode("UTF-8") + # s_buf_encoded = s_buf.read().encode("UTF-8") #self.logger.info(f"this is the sbuf_encdoded {s_buf_encoded}") try: - cur.copy_expert(sql=sql, file=s_buf) + curs.copy_expert(sql=sql, file=s_buf) except Exception as e: self.logger.info(f"this is the error: {e}.") @@ -823,8 +822,8 @@ def text_clean(self, data, field): ## trying to use standard python3 method for text cleaning here. # This was after `data_point[field]` for a while as `, "utf-8"` and did not work # Nay, it cause silent errors without insert; or was part of that hot mess. - # field: bytes(data_point[field]).decode("utf-8", "ignore").replace("\x00", "\uFFFD") - field: bytes(data_point[field]).decode("utf-8", "ignore") + # field: bytes(data_point[field]).decode("utf-8", "ignore") decode("utf-8", "ignore") + field: bytes(data_point[field]).replace("\x00", "\uFFFD") #0x00 } for data_point in data ] From e16180c6192e610ca552a081600f966d61abaf14 Mon Sep 17 00:00:00 2001 From: "Sean P. Goggins" Date: Wed, 11 Aug 2021 11:20:20 -0500 Subject: [PATCH 194/201] What are you doing, Sean? --- workers/worker_persistance.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/workers/worker_persistance.py b/workers/worker_persistance.py index 4fe1b7a7f8..4f37dd8016 100644 --- a/workers/worker_persistance.py +++ b/workers/worker_persistance.py @@ -822,8 +822,8 @@ def text_clean(self, data, field): ## trying to use standard python3 method for text cleaning here. # This was after `data_point[field]` for a while as `, "utf-8"` and did not work # Nay, it cause silent errors without insert; or was part of that hot mess. - # field: bytes(data_point[field]).decode("utf-8", "ignore") decode("utf-8", "ignore") - field: bytes(data_point[field]).replace("\x00", "\uFFFD") + # field: bytes(data_point[field]).decode("utf-8", "ignore") + field: bytes(data_point[field]).decode("utf-8", "ignore").replace("\x00", "\uFFFD") #0x00 } for data_point in data ] From 3ac1fd9d1ef3cccacb7a2273e578bc681aff9ee9 Mon Sep 17 00:00:00 2001 From: "Sean P. Goggins" Date: Wed, 11 Aug 2021 11:43:17 -0500 Subject: [PATCH 195/201] PR Error Handling. --- .../pull_request_worker.py | 25 +++++++++++++++---- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/workers/pull_request_worker/pull_request_worker.py b/workers/pull_request_worker/pull_request_worker.py index 5e3a685731..241da6a098 100644 --- a/workers/pull_request_worker/pull_request_worker.py +++ b/workers/pull_request_worker/pull_request_worker.py @@ -541,15 +541,30 @@ def pull_requests_model(self, entry_info, repo_id): self.logger.info("Beginning collection of Pull Requests...\n") self.logger.info(f"Repo ID: {self.repo_id}, Git URL: {github_url}\n") - pk_source_prs = self._get_pk_source_prs() + try: + pk_source_prs = self._get_pk_source_prs() + except Exception as e: + self.logger(f"Pull Requests model failed with {e}.") self.write_debug_data(pk_source_prs, 'pk_source_prs') if pk_source_prs: - self.pull_request_comments_model() - self.pull_request_events_model(pk_source_prs) - self.pull_request_reviews_model(pk_source_prs) - self.pull_request_nested_data_model(pk_source_prs) + try: + self.pull_request_comments_model() + except Exception as e: + self.logger(f"Comments model failed with {e}.") + try: + self.pull_request_events_model(pk_source_prs) + except Exception as e: + self.logger(f"PR Events model failed with {e}.") + try: + self.pull_request_reviews_model(pk_source_prs) + except Exception as e: + self.logger(f"PR Reviews model failed with {e}.") + try: + self.pull_request_nested_data_model(pk_source_prs) + except Exception as e: + self.logger(f"PR Nested Data model failed with {e}.") self.register_task_completion(self.task_info, self.repo_id, 'pull_requests') From aa172e36025d33f1abdea777c7ae444bdcfba656 Mon Sep 17 00:00:00 2001 From: "Sean P. Goggins" Date: Wed, 11 Aug 2021 11:46:50 -0500 Subject: [PATCH 196/201] fix. --- workers/worker_persistance.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workers/worker_persistance.py b/workers/worker_persistance.py index 4f37dd8016..b0557bde39 100644 --- a/workers/worker_persistance.py +++ b/workers/worker_persistance.py @@ -823,7 +823,7 @@ def text_clean(self, data, field): # This was after `data_point[field]` for a while as `, "utf-8"` and did not work # Nay, it cause silent errors without insert; or was part of that hot mess. # field: bytes(data_point[field]).decode("utf-8", "ignore") - field: bytes(data_point[field]).decode("utf-8", "ignore").replace("\x00", "\uFFFD") + field: bytes(data_point[field], "utf-8").decode("utf-8", "ignore").replace("\x00", "\uFFFD") #0x00 } for data_point in data ] From b23f6129af92842222de85bca09b608a583f7ab7 Mon Sep 17 00:00:00 2001 From: "Sean P. Goggins" Date: Wed, 11 Aug 2021 12:05:36 -0500 Subject: [PATCH 197/201] issue error handling --- workers/github_worker/github_worker.py | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/workers/github_worker/github_worker.py b/workers/github_worker/github_worker.py index c038c81d4b..57a0f7985f 100644 --- a/workers/github_worker/github_worker.py +++ b/workers/github_worker/github_worker.py @@ -191,9 +191,18 @@ def issues_model(self, entry_info, repo_id): pk_source_issues = self._get_pk_source_issues() if pk_source_issues: - self.issue_comments_model(pk_source_issues) - issue_events_all = self.issue_events_model(pk_source_issues) - self.issue_nested_data_model(pk_source_issues, issue_events_all) + try: + self.issue_comments_model(pk_source_issues) + except Exception as e: + self.logger.info(f"issue comments model failed on {e}.") + try: + issue_events_all = self.issue_events_model(pk_source_issues) + except Exception as e: + self.logger.info(f"issue events model failed on {e}") + try: + self.issue_nested_data_model(pk_source_issues, issue_events_all) + except Exception as e: + self.logger.info("issue nested model failed on {e}.") # Register this task as completed self.register_task_completion(entry_info, self.repo_id, 'issues') From c4c1017c016971da31713b38dd06cc784fa88130 Mon Sep 17 00:00:00 2001 From: "Sean P. Goggins" Date: Wed, 11 Aug 2021 13:07:29 -0500 Subject: [PATCH 198/201] Data model documentation updates --- schema/20200311-Release-0.15.1.sql | 4412 -- schema/20201025-Release-0.14.0.sql | 4412 -- schema/20201025-Release-0.14.0.svg | 54980 -------------- schema/20201111-Release-0.14.1.pdf | Bin 305164 -> 0 bytes schema/20201111-Release-0.14.1.svg | 55486 -------------- ...ndm2 => 20210811-augur-0.2.1-release.ndm2} | 31021 ++++---- schema/20210811-augur-0.2.1-release.pdf | Bin 0 -> 441008 bytes schema/20210811-augur-0.2.1-release.png | Bin 0 -> 2864891 bytes schema/Untitled.svg | 60200 ++++++++++++++++ 9 files changed, 76428 insertions(+), 134083 deletions(-) delete mode 100644 schema/20200311-Release-0.15.1.sql delete mode 100644 schema/20201025-Release-0.14.0.sql delete mode 100644 schema/20201025-Release-0.14.0.svg delete mode 100644 schema/20201111-Release-0.14.1.pdf delete mode 100644 schema/20201111-Release-0.14.1.svg rename schema/{20210711-Augur-Model.ndm2 => 20210811-augur-0.2.1-release.ndm2} (95%) create mode 100644 schema/20210811-augur-0.2.1-release.pdf create mode 100644 schema/20210811-augur-0.2.1-release.png create mode 100644 schema/Untitled.svg diff --git a/schema/20200311-Release-0.15.1.sql b/schema/20200311-Release-0.15.1.sql deleted file mode 100644 index d1cee16612..0000000000 --- a/schema/20200311-Release-0.15.1.sql +++ /dev/null @@ -1,4412 +0,0 @@ --- #SPDX-License-Identifier: MIT --- ---------------------------- - -CREATE SCHEMA IF NOT EXISTS augur_data; -CREATE SCHEMA IF NOT EXISTS augur_operations; -CREATE SCHEMA IF NOT EXISTS spdx; --- create the schemas --- ----------------------- - --- ---------------------------- --- Sequence structure for annotation_types_annotation_type_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "spdx"."annotation_types_annotation_type_id_seq"; -CREATE SEQUENCE "spdx"."annotation_types_annotation_type_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 2147483647 -START 1 -CACHE 1; -ALTER SEQUENCE "spdx"."annotation_types_annotation_type_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for annotations_annotation_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "spdx"."annotations_annotation_id_seq"; -CREATE SEQUENCE "spdx"."annotations_annotation_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 2147483647 -START 1 -CACHE 1; -ALTER SEQUENCE "spdx"."annotations_annotation_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for augur_repo_map_map_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "spdx"."augur_repo_map_map_id_seq"; -CREATE SEQUENCE "spdx"."augur_repo_map_map_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 2147483647 -START 1 -CACHE 1; -ALTER SEQUENCE "spdx"."augur_repo_map_map_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for creator_types_creator_type_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "spdx"."creator_types_creator_type_id_seq"; -CREATE SEQUENCE "spdx"."creator_types_creator_type_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 2147483647 -START 1 -CACHE 1; -ALTER SEQUENCE "spdx"."creator_types_creator_type_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for creators_creator_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "spdx"."creators_creator_id_seq"; -CREATE SEQUENCE "spdx"."creators_creator_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 2147483647 -START 1 -CACHE 1; -ALTER SEQUENCE "spdx"."creators_creator_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for document_namespaces_document_namespace_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "spdx"."document_namespaces_document_namespace_id_seq"; -CREATE SEQUENCE "spdx"."document_namespaces_document_namespace_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 2147483647 -START 1 -CACHE 1; -ALTER SEQUENCE "spdx"."document_namespaces_document_namespace_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for documents_creators_document_creator_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "spdx"."documents_creators_document_creator_id_seq"; -CREATE SEQUENCE "spdx"."documents_creators_document_creator_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 2147483647 -START 1 -CACHE 1; -ALTER SEQUENCE "spdx"."documents_creators_document_creator_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for documents_document_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "spdx"."documents_document_id_seq"; -CREATE SEQUENCE "spdx"."documents_document_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 2147483647 -START 1 -CACHE 1; -ALTER SEQUENCE "spdx"."documents_document_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for external_refs_external_ref_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "spdx"."external_refs_external_ref_id_seq"; -CREATE SEQUENCE "spdx"."external_refs_external_ref_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 2147483647 -START 1 -CACHE 1; -ALTER SEQUENCE "spdx"."external_refs_external_ref_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for file_contributors_file_contributor_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "spdx"."file_contributors_file_contributor_id_seq"; -CREATE SEQUENCE "spdx"."file_contributors_file_contributor_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 2147483647 -START 1 -CACHE 1; -ALTER SEQUENCE "spdx"."file_contributors_file_contributor_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for files_file_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "spdx"."files_file_id_seq"; -CREATE SEQUENCE "spdx"."files_file_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 2147483647 -START 1 -CACHE 1; -ALTER SEQUENCE "spdx"."files_file_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for files_licenses_file_license_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "spdx"."files_licenses_file_license_id_seq"; -CREATE SEQUENCE "spdx"."files_licenses_file_license_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 2147483647 -START 1 -CACHE 1; -ALTER SEQUENCE "spdx"."files_licenses_file_license_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for files_scans_file_scan_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "spdx"."files_scans_file_scan_id_seq"; -CREATE SEQUENCE "spdx"."files_scans_file_scan_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 2147483647 -START 1 -CACHE 1; -ALTER SEQUENCE "spdx"."files_scans_file_scan_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for identifiers_identifier_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "spdx"."identifiers_identifier_id_seq"; -CREATE SEQUENCE "spdx"."identifiers_identifier_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 2147483647 -START 1 -CACHE 1; -ALTER SEQUENCE "spdx"."identifiers_identifier_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for licenses_license_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "spdx"."licenses_license_id_seq"; -CREATE SEQUENCE "spdx"."licenses_license_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 2147483647 -START 1 -CACHE 1; -ALTER SEQUENCE "spdx"."licenses_license_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for packages_files_package_file_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "spdx"."packages_files_package_file_id_seq"; -CREATE SEQUENCE "spdx"."packages_files_package_file_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 2147483647 -START 1 -CACHE 1; -ALTER SEQUENCE "spdx"."packages_files_package_file_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for packages_package_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "spdx"."packages_package_id_seq"; -CREATE SEQUENCE "spdx"."packages_package_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 2147483647 -START 1 -CACHE 1; -ALTER SEQUENCE "spdx"."packages_package_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for packages_scans_package_scan_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "spdx"."packages_scans_package_scan_id_seq"; -CREATE SEQUENCE "spdx"."packages_scans_package_scan_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 2147483647 -START 1 -CACHE 1; -ALTER SEQUENCE "spdx"."packages_scans_package_scan_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for projects_package_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "spdx"."projects_package_id_seq"; -CREATE SEQUENCE "spdx"."projects_package_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 2147483647 -START 1 -CACHE 1; -ALTER SEQUENCE "spdx"."projects_package_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for relationship_types_relationship_type_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "spdx"."relationship_types_relationship_type_id_seq"; -CREATE SEQUENCE "spdx"."relationship_types_relationship_type_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 2147483647 -START 1 -CACHE 1; -ALTER SEQUENCE "spdx"."relationship_types_relationship_type_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for relationships_relationship_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "spdx"."relationships_relationship_id_seq"; -CREATE SEQUENCE "spdx"."relationships_relationship_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 2147483647 -START 1 -CACHE 1; -ALTER SEQUENCE "spdx"."relationships_relationship_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for scanners_scanner_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "spdx"."scanners_scanner_id_seq"; -CREATE SEQUENCE "spdx"."scanners_scanner_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 2147483647 -START 1 -CACHE 1; -ALTER SEQUENCE "spdx"."scanners_scanner_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for augur_settings_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_operations"."augur_settings_id_seq"; -CREATE SEQUENCE "augur_operations"."augur_settings_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 1 -CACHE 1; -ALTER SEQUENCE "augur_operations"."augur_settings_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for gh_worker_history_history_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_operations"."gh_worker_history_history_id_seq"; -CREATE SEQUENCE "augur_operations"."gh_worker_history_history_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 1 -CACHE 1; -ALTER SEQUENCE "augur_operations"."gh_worker_history_history_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for worker_oauth_oauth_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_operations"."worker_oauth_oauth_id_seq"; -CREATE SEQUENCE "augur_operations"."worker_oauth_oauth_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 1000 -CACHE 1; -ALTER SEQUENCE "augur_operations"."worker_oauth_oauth_id_seq" OWNER TO "augur"; - --- ---------------------------- - --- ---------------------------- --- Sequence structure for augur_data.repo_insights_ri_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."augur_data.repo_insights_ri_id_seq"; -CREATE SEQUENCE "augur_data"."augur_data.repo_insights_ri_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 25430 -CACHE 1; -ALTER SEQUENCE "augur_data"."augur_data.repo_insights_ri_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for chaoss_metric_status_cms_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."chaoss_metric_status_cms_id_seq"; -CREATE SEQUENCE "augur_data"."chaoss_metric_status_cms_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 1 -CACHE 1; -ALTER SEQUENCE "augur_data"."chaoss_metric_status_cms_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for commit_comment_ref_cmt_comment_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."commit_comment_ref_cmt_comment_id_seq"; -CREATE SEQUENCE "augur_data"."commit_comment_ref_cmt_comment_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 25430 -CACHE 1; -ALTER SEQUENCE "augur_data"."commit_comment_ref_cmt_comment_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for commit_parents_parent_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."commit_parents_parent_id_seq"; -CREATE SEQUENCE "augur_data"."commit_parents_parent_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 25430 -CACHE 1; -ALTER SEQUENCE "augur_data"."commit_parents_parent_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for commits_cmt_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."commits_cmt_id_seq"; -CREATE SEQUENCE "augur_data"."commits_cmt_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 25430 -CACHE 1; -ALTER SEQUENCE "augur_data"."commits_cmt_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for contributor_affiliations_ca_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."contributor_affiliations_ca_id_seq"; -CREATE SEQUENCE "augur_data"."contributor_affiliations_ca_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 25430 -CACHE 1; -ALTER SEQUENCE "augur_data"."contributor_affiliations_ca_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for contributors_aliases_cntrb_a_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."contributors_aliases_cntrb_a_id_seq"; -CREATE SEQUENCE "augur_data"."contributors_aliases_cntrb_a_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 25430 -CACHE 1; -ALTER SEQUENCE "augur_data"."contributors_aliases_cntrb_a_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for contributors_cntrb_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."contributors_cntrb_id_seq"; -CREATE SEQUENCE "augur_data"."contributors_cntrb_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 25430 -CACHE 1; -ALTER SEQUENCE "augur_data"."contributors_cntrb_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for contributors_history_cntrb_history_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."contributors_history_cntrb_history_id_seq"; -CREATE SEQUENCE "augur_data"."contributors_history_cntrb_history_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 25430 -CACHE 1; -ALTER SEQUENCE "augur_data"."contributors_history_cntrb_history_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for discourse_insights_msg_discourse_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."discourse_insights_msg_discourse_id_seq"; -CREATE SEQUENCE "augur_data"."discourse_insights_msg_discourse_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 1 -CACHE 1; -ALTER SEQUENCE "augur_data"."discourse_insights_msg_discourse_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for issue_assignees_issue_assignee_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."issue_assignees_issue_assignee_id_seq"; -CREATE SEQUENCE "augur_data"."issue_assignees_issue_assignee_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 1 -CACHE 1; -ALTER SEQUENCE "augur_data"."issue_assignees_issue_assignee_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for issue_events_event_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."issue_events_event_id_seq"; -CREATE SEQUENCE "augur_data"."issue_events_event_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 25430 -CACHE 1; -ALTER SEQUENCE "augur_data"."issue_events_event_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for issue_labels_issue_label_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."issue_labels_issue_label_id_seq"; -CREATE SEQUENCE "augur_data"."issue_labels_issue_label_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 25430 -CACHE 1; -ALTER SEQUENCE "augur_data"."issue_labels_issue_label_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for issue_message_ref_issue_msg_ref_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."issue_message_ref_issue_msg_ref_id_seq"; -CREATE SEQUENCE "augur_data"."issue_message_ref_issue_msg_ref_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 25430 -CACHE 1; -ALTER SEQUENCE "augur_data"."issue_message_ref_issue_msg_ref_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for issue_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."issue_seq"; -CREATE SEQUENCE "augur_data"."issue_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 31000 -CACHE 1; -ALTER SEQUENCE "augur_data"."issue_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for libraries_library_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."libraries_library_id_seq"; -CREATE SEQUENCE "augur_data"."libraries_library_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 25430 -CACHE 1; -ALTER SEQUENCE "augur_data"."libraries_library_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for library_dependencies_lib_dependency_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."library_dependencies_lib_dependency_id_seq"; -CREATE SEQUENCE "augur_data"."library_dependencies_lib_dependency_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 25430 -CACHE 1; -ALTER SEQUENCE "augur_data"."library_dependencies_lib_dependency_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for library_version_library_version_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."library_version_library_version_id_seq"; -CREATE SEQUENCE "augur_data"."library_version_library_version_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 25430 -CACHE 1; -ALTER SEQUENCE "augur_data"."library_version_library_version_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for lstm_anomaly_models_model_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."lstm_anomaly_models_model_id_seq"; -CREATE SEQUENCE "augur_data"."lstm_anomaly_models_model_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 1 -CACHE 1; -ALTER SEQUENCE "augur_data"."lstm_anomaly_models_model_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for lstm_anomaly_results_result_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."lstm_anomaly_results_result_id_seq"; -CREATE SEQUENCE "augur_data"."lstm_anomaly_results_result_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 1 -CACHE 1; -ALTER SEQUENCE "augur_data"."lstm_anomaly_results_result_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for message_analysis_msg_analysis_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."message_analysis_msg_analysis_id_seq"; -CREATE SEQUENCE "augur_data"."message_analysis_msg_analysis_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 1 -CACHE 1; -ALTER SEQUENCE "augur_data"."message_analysis_msg_analysis_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for message_analysis_summary_msg_summary_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."message_analysis_summary_msg_summary_id_seq"; -CREATE SEQUENCE "augur_data"."message_analysis_summary_msg_summary_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 1 -CACHE 1; -ALTER SEQUENCE "augur_data"."message_analysis_summary_msg_summary_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for message_msg_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."message_msg_id_seq"; -CREATE SEQUENCE "augur_data"."message_msg_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 25430 -CACHE 1; -ALTER SEQUENCE "augur_data"."message_msg_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for message_sentiment_msg_analysis_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."message_sentiment_msg_analysis_id_seq"; -CREATE SEQUENCE "augur_data"."message_sentiment_msg_analysis_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 1 -CACHE 1; -ALTER SEQUENCE "augur_data"."message_sentiment_msg_analysis_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for message_sentiment_summary_msg_summary_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."message_sentiment_summary_msg_summary_id_seq"; -CREATE SEQUENCE "augur_data"."message_sentiment_summary_msg_summary_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 1 -CACHE 1; -ALTER SEQUENCE "augur_data"."message_sentiment_summary_msg_summary_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for platform_pltfrm_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."platform_pltfrm_id_seq"; -CREATE SEQUENCE "augur_data"."platform_pltfrm_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 25430 -CACHE 1; -ALTER SEQUENCE "augur_data"."platform_pltfrm_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for pull_request_assignees_pr_assignee_map_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."pull_request_assignees_pr_assignee_map_id_seq"; -CREATE SEQUENCE "augur_data"."pull_request_assignees_pr_assignee_map_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 25430 -CACHE 1; -ALTER SEQUENCE "augur_data"."pull_request_assignees_pr_assignee_map_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for pull_request_commits_pr_cmt_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."pull_request_commits_pr_cmt_id_seq"; -CREATE SEQUENCE "augur_data"."pull_request_commits_pr_cmt_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 1 -CACHE 1; -ALTER SEQUENCE "augur_data"."pull_request_commits_pr_cmt_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for pull_request_events_pr_event_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."pull_request_events_pr_event_id_seq"; -CREATE SEQUENCE "augur_data"."pull_request_events_pr_event_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 25430 -CACHE 1; -ALTER SEQUENCE "augur_data"."pull_request_events_pr_event_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for pull_request_files_pr_file_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."pull_request_files_pr_file_id_seq"; -CREATE SEQUENCE "augur_data"."pull_request_files_pr_file_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 25150 -CACHE 1; -ALTER SEQUENCE "augur_data"."pull_request_files_pr_file_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for pull_request_labels_pr_label_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."pull_request_labels_pr_label_id_seq"; -CREATE SEQUENCE "augur_data"."pull_request_labels_pr_label_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 25430 -CACHE 1; -ALTER SEQUENCE "augur_data"."pull_request_labels_pr_label_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for pull_request_message_ref_pr_msg_ref_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."pull_request_message_ref_pr_msg_ref_id_seq"; -CREATE SEQUENCE "augur_data"."pull_request_message_ref_pr_msg_ref_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 25430 -CACHE 1; -ALTER SEQUENCE "augur_data"."pull_request_message_ref_pr_msg_ref_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for pull_request_meta_pr_repo_meta_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."pull_request_meta_pr_repo_meta_id_seq"; -CREATE SEQUENCE "augur_data"."pull_request_meta_pr_repo_meta_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 25430 -CACHE 1; -ALTER SEQUENCE "augur_data"."pull_request_meta_pr_repo_meta_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for pull_request_repo_pr_repo_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."pull_request_repo_pr_repo_id_seq"; -CREATE SEQUENCE "augur_data"."pull_request_repo_pr_repo_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 25430 -CACHE 1; -ALTER SEQUENCE "augur_data"."pull_request_repo_pr_repo_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for pull_request_reviewers_pr_reviewer_map_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."pull_request_reviewers_pr_reviewer_map_id_seq"; -CREATE SEQUENCE "augur_data"."pull_request_reviewers_pr_reviewer_map_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 25430 -CACHE 1; -ALTER SEQUENCE "augur_data"."pull_request_reviewers_pr_reviewer_map_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for pull_request_teams_pr_team_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."pull_request_teams_pr_team_id_seq"; -CREATE SEQUENCE "augur_data"."pull_request_teams_pr_team_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 25430 -CACHE 1; -ALTER SEQUENCE "augur_data"."pull_request_teams_pr_team_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for pull_requests_pull_request_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."pull_requests_pull_request_id_seq"; -CREATE SEQUENCE "augur_data"."pull_requests_pull_request_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 25430 -CACHE 1; -ALTER SEQUENCE "augur_data"."pull_requests_pull_request_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for releases_release_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."releases_release_id_seq"; -CREATE SEQUENCE "augur_data"."releases_release_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 1 -CACHE 1; -ALTER SEQUENCE "augur_data"."releases_release_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for repo_badging_badge_collection_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."repo_badging_badge_collection_id_seq"; -CREATE SEQUENCE "augur_data"."repo_badging_badge_collection_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 25012 -CACHE 1; -ALTER SEQUENCE "augur_data"."repo_badging_badge_collection_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for repo_cluster_messages_msg_cluster_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."repo_cluster_messages_msg_cluster_id_seq"; -CREATE SEQUENCE "augur_data"."repo_cluster_messages_msg_cluster_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 1 -CACHE 1; -ALTER SEQUENCE "augur_data"."repo_cluster_messages_msg_cluster_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for repo_group_insights_rgi_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."repo_group_insights_rgi_id_seq"; -CREATE SEQUENCE "augur_data"."repo_group_insights_rgi_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 25430 -CACHE 1; -ALTER SEQUENCE "augur_data"."repo_group_insights_rgi_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for repo_groups_list_serve_rgls_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."repo_groups_list_serve_rgls_id_seq"; -CREATE SEQUENCE "augur_data"."repo_groups_list_serve_rgls_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 25430 -CACHE 1; -ALTER SEQUENCE "augur_data"."repo_groups_list_serve_rgls_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for repo_groups_repo_group_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."repo_groups_repo_group_id_seq"; -CREATE SEQUENCE "augur_data"."repo_groups_repo_group_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 25430 -CACHE 1; -ALTER SEQUENCE "augur_data"."repo_groups_repo_group_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for repo_info_repo_info_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."repo_info_repo_info_id_seq"; -CREATE SEQUENCE "augur_data"."repo_info_repo_info_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 25430 -CACHE 1; -ALTER SEQUENCE "augur_data"."repo_info_repo_info_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for repo_insights_records_ri_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."repo_insights_records_ri_id_seq"; -CREATE SEQUENCE "augur_data"."repo_insights_records_ri_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 1 -CACHE 1; -ALTER SEQUENCE "augur_data"."repo_insights_records_ri_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for repo_insights_ri_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."repo_insights_ri_id_seq"; -CREATE SEQUENCE "augur_data"."repo_insights_ri_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 1 -CACHE 1; -ALTER SEQUENCE "augur_data"."repo_insights_ri_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for repo_labor_repo_labor_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."repo_labor_repo_labor_id_seq"; -CREATE SEQUENCE "augur_data"."repo_labor_repo_labor_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 25430 -CACHE 1; -ALTER SEQUENCE "augur_data"."repo_labor_repo_labor_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for repo_meta_rmeta_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."repo_meta_rmeta_id_seq"; -CREATE SEQUENCE "augur_data"."repo_meta_rmeta_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 25430 -CACHE 1; -ALTER SEQUENCE "augur_data"."repo_meta_rmeta_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for repo_repo_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."repo_repo_id_seq"; -CREATE SEQUENCE "augur_data"."repo_repo_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 25430 -CACHE 1; -ALTER SEQUENCE "augur_data"."repo_repo_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for repo_sbom_scans_rsb_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."repo_sbom_scans_rsb_id_seq"; -CREATE SEQUENCE "augur_data"."repo_sbom_scans_rsb_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 25430 -CACHE 1; -ALTER SEQUENCE "augur_data"."repo_sbom_scans_rsb_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for repo_stats_rstat_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."repo_stats_rstat_id_seq"; -CREATE SEQUENCE "augur_data"."repo_stats_rstat_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 25430 -CACHE 1; -ALTER SEQUENCE "augur_data"."repo_stats_rstat_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for repo_test_coverage_repo_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."repo_test_coverage_repo_id_seq"; -CREATE SEQUENCE "augur_data"."repo_test_coverage_repo_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 1 -CACHE 1; -ALTER SEQUENCE "augur_data"."repo_test_coverage_repo_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for repo_topic_repo_topic_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."repo_topic_repo_topic_id_seq"; -CREATE SEQUENCE "augur_data"."repo_topic_repo_topic_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 1 -CACHE 1; -ALTER SEQUENCE "augur_data"."repo_topic_repo_topic_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for topic_words_topic_words_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."topic_words_topic_words_id_seq"; -CREATE SEQUENCE "augur_data"."topic_words_topic_words_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 1 -CACHE 1; -ALTER SEQUENCE "augur_data"."topic_words_topic_words_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for utility_log_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."utility_log_id_seq"; -CREATE SEQUENCE "augur_data"."utility_log_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 1 -CACHE 1; -ALTER SEQUENCE "augur_data"."utility_log_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for utility_log_id_seq1 --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."utility_log_id_seq1"; -CREATE SEQUENCE "augur_data"."utility_log_id_seq1" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 1 -CACHE 1; -ALTER SEQUENCE "augur_data"."utility_log_id_seq1" OWNER TO "augur"; - --- ---------------------------- - -ALTER TABLE IF EXISTS "augur_data"."commit_comment_ref" DROP CONSTRAINT "fk_commit_comment_ref_commits_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."commit_comment_ref" DROP CONSTRAINT "fk_commit_comment_ref_message_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."commit_parents" DROP CONSTRAINT "fk_commit_parents_commits_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."commit_parents" DROP CONSTRAINT "fk_commit_parents_commits_2" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."commits" DROP CONSTRAINT "fk_commits_contributors_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."commits" DROP CONSTRAINT "fk_commits_contributors_2" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."commits" DROP CONSTRAINT "fk_commits_repo_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."contributors_aliases" DROP CONSTRAINT "fk_contributors_aliases_contributors_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."contributors_history" DROP CONSTRAINT "fk_contributors_history_contributors_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."discourse_insights" DROP CONSTRAINT "fk_discourse_insights_message_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."issue_assignees" DROP CONSTRAINT "fk_issue_assignees_contributors_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."issue_assignees" DROP CONSTRAINT "fk_issue_assignees_issues_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."issue_events" DROP CONSTRAINT "fk_issue_events_contributors_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."issue_events" DROP CONSTRAINT "fk_issue_events_issues_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."issue_labels" DROP CONSTRAINT "fk_issue_labels_issues_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."issue_message_ref" DROP CONSTRAINT "fk_issue_message_ref_issues_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."issue_message_ref" DROP CONSTRAINT "fk_issue_message_ref_message_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."issues" DROP CONSTRAINT "fk_issues_contributors_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."issues" DROP CONSTRAINT "fk_issues_contributors_2" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."issues" DROP CONSTRAINT "fk_issues_repo" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."libraries" DROP CONSTRAINT "fk_libraries_repo_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."library_dependencies" DROP CONSTRAINT "fk_library_dependencies_libraries_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."library_version" DROP CONSTRAINT "fk_library_version_libraries_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."lstm_anomaly_results" DROP CONSTRAINT "fk_lstm_anomaly_results_lstm_anomaly_models_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."lstm_anomaly_results" DROP CONSTRAINT "fk_lstm_anomaly_results_repo_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."message" DROP CONSTRAINT "fk_message_contributors_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."message" DROP CONSTRAINT "fk_message_platform_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."message" DROP CONSTRAINT "fk_message_repo_groups_list_serve_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."message_analysis" DROP CONSTRAINT "fk_message_analysis_message_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."message_analysis_summary" DROP CONSTRAINT "fk_message_analysis_summary_repo_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."message_sentiment" DROP CONSTRAINT "fk_message_sentiment_message_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."message_sentiment_summary" DROP CONSTRAINT "fk_message_sentiment_summary_repo_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."pull_request_assignees" DROP CONSTRAINT "fk_pull_request_assignees_contributors_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."pull_request_assignees" DROP CONSTRAINT "fk_pull_request_assignees_pull_requests_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."pull_request_commits" DROP CONSTRAINT "fk_pull_request_commits_pull_requests_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."pull_request_events" DROP CONSTRAINT "fk_pull_request_events_contributors_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."pull_request_events" DROP CONSTRAINT "fk_pull_request_events_pull_requests_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."pull_request_files" DROP CONSTRAINT "fk_pull_request_commits_pull_requests_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."pull_request_labels" DROP CONSTRAINT "fk_pull_request_labels_pull_requests_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."pull_request_message_ref" DROP CONSTRAINT "fk_pull_request_message_ref_message_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."pull_request_message_ref" DROP CONSTRAINT "fk_pull_request_message_ref_pull_requests_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."pull_request_meta" DROP CONSTRAINT "fk_pull_request_meta_contributors_2" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."pull_request_meta" DROP CONSTRAINT "fk_pull_request_meta_pull_requests_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."pull_request_repo" DROP CONSTRAINT "fk_pull_request_repo_contributors_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."pull_request_repo" DROP CONSTRAINT "fk_pull_request_repo_pull_request_meta_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."pull_request_reviewers" DROP CONSTRAINT "fk_pull_request_reviewers_contributors_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."pull_request_reviewers" DROP CONSTRAINT "fk_pull_request_reviewers_pull_requests_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."pull_request_teams" DROP CONSTRAINT "fk_pull_request_teams_pull_requests_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."pull_requests" DROP CONSTRAINT "fk_pull_requests_pull_request_meta_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."pull_requests" DROP CONSTRAINT "fk_pull_requests_pull_request_meta_2" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."pull_requests" DROP CONSTRAINT "fk_pull_requests_repo_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."releases" DROP CONSTRAINT "fk_releases_repo_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."repo" DROP CONSTRAINT "fk_repo_repo_groups_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."repo_badging" DROP CONSTRAINT "fk_repo_badging_repo_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."repo_cluster_messages" DROP CONSTRAINT "fk_repo_cluster_messages_repo_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."repo_group_insights" DROP CONSTRAINT "fk_repo_group_insights_repo_groups_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."repo_groups_list_serve" DROP CONSTRAINT "fk_repo_groups_list_serve_repo_groups_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."repo_info" DROP CONSTRAINT "fk_repo_info_repo_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."repo_insights" DROP CONSTRAINT "fk_repo_insights_repo_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."repo_insights_records" DROP CONSTRAINT "repo_id_ref" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."repo_labor" DROP CONSTRAINT "fk_repo_labor_repo_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."repo_meta" DROP CONSTRAINT "fk_repo_meta_repo_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."repo_sbom_scans" DROP CONSTRAINT "repo_linker_sbom" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."repo_stats" DROP CONSTRAINT "fk_repo_stats_repo_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."repo_test_coverage" DROP CONSTRAINT "fk_repo_test_coverage_repo_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."repo_topic" DROP CONSTRAINT "fk_repo_topic_repo_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."topic_words" DROP CONSTRAINT "fk_topic_words_repo_topic_1" CASCADE; -ALTER TABLE IF EXISTS "spdx"."annotations" DROP CONSTRAINT "annotations_annotation_type_id_fkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."annotations" DROP CONSTRAINT "annotations_creator_id_fkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."annotations" DROP CONSTRAINT "annotations_document_id_fkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."annotations" DROP CONSTRAINT "annotations_identifier_id_fkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."creators" DROP CONSTRAINT "creators_creator_type_id_fkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."documents" DROP CONSTRAINT "documents_data_license_id_fkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."documents" DROP CONSTRAINT "documents_document_namespace_id_fkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."documents" DROP CONSTRAINT "documents_package_id_fkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."documents_creators" DROP CONSTRAINT "documents_creators_creator_id_fkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."documents_creators" DROP CONSTRAINT "documents_creators_document_id_fkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."external_refs" DROP CONSTRAINT "external_refs_document_id_fkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."external_refs" DROP CONSTRAINT "external_refs_document_namespace_id_fkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."file_contributors" DROP CONSTRAINT "file_contributors_file_id_fkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."files_licenses" DROP CONSTRAINT "files_licenses_file_id_fkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."files_licenses" DROP CONSTRAINT "files_licenses_license_id_fkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."files_scans" DROP CONSTRAINT "files_scans_file_id_fkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."files_scans" DROP CONSTRAINT "files_scans_scanner_id_fkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."identifiers" DROP CONSTRAINT "identifiers_document_id_fkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."identifiers" DROP CONSTRAINT "identifiers_document_namespace_id_fkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."identifiers" DROP CONSTRAINT "identifiers_package_file_id_fkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."identifiers" DROP CONSTRAINT "identifiers_package_id_fkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."packages" DROP CONSTRAINT "fk_package_packages_files" CASCADE; -ALTER TABLE IF EXISTS "spdx"."packages" DROP CONSTRAINT "packages_concluded_license_id_fkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."packages" DROP CONSTRAINT "packages_declared_license_id_fkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."packages" DROP CONSTRAINT "packages_originator_id_fkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."packages" DROP CONSTRAINT "packages_supplier_id_fkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."packages_files" DROP CONSTRAINT "fk_package_files_packages" CASCADE; -ALTER TABLE IF EXISTS "spdx"."packages_files" DROP CONSTRAINT "packages_files_concluded_license_id_fkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."packages_files" DROP CONSTRAINT "packages_files_file_id_fkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."packages_scans" DROP CONSTRAINT "packages_scans_package_id_fkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."packages_scans" DROP CONSTRAINT "packages_scans_scanner_id_fkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."relationships" DROP CONSTRAINT "relationships_left_identifier_id_fkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."relationships" DROP CONSTRAINT "relationships_relationship_type_id_fkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."relationships" DROP CONSTRAINT "relationships_right_identifier_id_fkey" CASCADE; - -DROP INDEX IF EXISTS "augur_data"."repos_id" CASCADE; -DROP INDEX IF EXISTS "augur_data"."comment_id" CASCADE; -DROP INDEX IF EXISTS "augur_data"."commit_parents_ibfk_1" CASCADE; -DROP INDEX IF EXISTS "augur_data"."commit_parents_ibfk_2" CASCADE; -DROP INDEX IF EXISTS "augur_data"."author_affiliation" CASCADE; -DROP INDEX IF EXISTS "augur_data"."author_cntrb_id" CASCADE; -DROP INDEX IF EXISTS "augur_data"."author_email,author_affiliation,author_date" CASCADE; -DROP INDEX IF EXISTS "augur_data"."author_raw_email" CASCADE; -DROP INDEX IF EXISTS "augur_data"."cmt-author-date-idx2" CASCADE; -DROP INDEX IF EXISTS "augur_data"."cmt-committer-date-idx3" CASCADE; -DROP INDEX IF EXISTS "augur_data"."cmt_author-name-idx5" CASCADE; -DROP INDEX IF EXISTS "augur_data"."cmt_author_contrib_worker" CASCADE; -DROP INDEX IF EXISTS "augur_data"."cmt_cmmter-name-idx4" CASCADE; -DROP INDEX IF EXISTS "augur_data"."cmt_commiter_contrib_worker" CASCADE; -DROP INDEX IF EXISTS "augur_data"."commited" CASCADE; -DROP INDEX IF EXISTS "augur_data"."commits_idx_cmt_email_cmt_date_cmt_name" CASCADE; -DROP INDEX IF EXISTS "augur_data"."commits_idx_cmt_email_cmt_date_cmt_name2" CASCADE; -DROP INDEX IF EXISTS "augur_data"."commits_idx_cmt_name_cmt_date2" CASCADE; -DROP INDEX IF EXISTS "augur_data"."commits_idx_cmt_name_cmt_date_cmt_date3" CASCADE; -DROP INDEX IF EXISTS "augur_data"."commits_idx_repo_id_cmt_ema_cmt_dat_cmt_nam" CASCADE; -DROP INDEX IF EXISTS "augur_data"."commits_idx_repo_id_cmt_ema_cmt_dat_cmt_nam2" CASCADE; -DROP INDEX IF EXISTS "augur_data"."commits_idx_repo_id_cmt_ema_cmt_nam_cmt_dat2" CASCADE; -DROP INDEX IF EXISTS "augur_data"."commits_idx_repo_id_cmt_ema_cmt_nam_cmt_dat3" CASCADE; -DROP INDEX IF EXISTS "augur_data"."committer_affiliation" CASCADE; -DROP INDEX IF EXISTS "augur_data"."committer_cntrb_id" CASCADE; -DROP INDEX IF EXISTS "augur_data"."committer_email,committer_affiliation,committer_date" CASCADE; -DROP INDEX IF EXISTS "augur_data"."committer_raw_email" CASCADE; -DROP INDEX IF EXISTS "augur_data"."repo_id,commit" CASCADE; -DROP INDEX IF EXISTS "augur_data"."cnt-fullname" CASCADE; -DROP INDEX IF EXISTS "augur_data"."cntrb-theemail" CASCADE; -DROP INDEX IF EXISTS "augur_data"."cntrb_login_platform_index" CASCADE; -DROP INDEX IF EXISTS "augur_data"."contributor_delete_finder" CASCADE; -DROP INDEX IF EXISTS "augur_data"."contributor_worker_email_finder" CASCADE; -DROP INDEX IF EXISTS "augur_data"."contributor_worker_finder" CASCADE; -DROP INDEX IF EXISTS "augur_data"."contributor_worker_fullname_finder" CASCADE; -DROP INDEX IF EXISTS "augur_data"."contributors_idx_cntrb_email3" CASCADE; -DROP INDEX IF EXISTS "augur_data"."login" CASCADE; -DROP INDEX IF EXISTS "augur_data"."login-contributor-idx" CASCADE; -DROP INDEX IF EXISTS "augur_data"."alias,active" CASCADE; -DROP INDEX IF EXISTS "augur_data"."canonical,alias" CASCADE; -DROP INDEX IF EXISTS "augur_data"."issue-alias-cntrb-idx1" CASCADE; -DROP INDEX IF EXISTS "augur_data"."issue-alias-cntrb-idx2" CASCADE; -DROP INDEX IF EXISTS "augur_data"."contrb-history-dix1" CASCADE; -DROP INDEX IF EXISTS "augur_data"."login_index_2" CASCADE; -DROP INDEX IF EXISTS "augur_data"."repo_id,affiliation_copy_1" CASCADE; -DROP INDEX IF EXISTS "augur_data"."repo_id,email_copy_1" CASCADE; -DROP INDEX IF EXISTS "augur_data"."projects_id,affiliation_copy_1" CASCADE; -DROP INDEX IF EXISTS "augur_data"."projects_id,email_copy_1" CASCADE; -DROP INDEX IF EXISTS "augur_data"."projects_id,affiliation_copy_2" CASCADE; -DROP INDEX IF EXISTS "augur_data"."projects_id,email_copy_2" CASCADE; -DROP INDEX IF EXISTS "augur_data"."projects_id,year,affiliation_copy_1" CASCADE; -DROP INDEX IF EXISTS "augur_data"."projects_id,year,email_copy_1" CASCADE; -DROP INDEX IF EXISTS "augur_data"."projects_id,affiliation" CASCADE; -DROP INDEX IF EXISTS "augur_data"."projects_id,email" CASCADE; -DROP INDEX IF EXISTS "augur_data"."projects_id,year,affiliation" CASCADE; -DROP INDEX IF EXISTS "augur_data"."projects_id,year,email" CASCADE; -DROP INDEX IF EXISTS "augur_data"."repo_id,affiliation_copy_2" CASCADE; -DROP INDEX IF EXISTS "augur_data"."repo_id,email_copy_2" CASCADE; -DROP INDEX IF EXISTS "augur_data"."repo_id,year,affiliation_copy_1" CASCADE; -DROP INDEX IF EXISTS "augur_data"."repo_id,year,email_copy_1" CASCADE; -DROP INDEX IF EXISTS "augur_data"."repo_id,affiliation" CASCADE; -DROP INDEX IF EXISTS "augur_data"."repo_id,email" CASCADE; -DROP INDEX IF EXISTS "augur_data"."repo_id,year,affiliation" CASCADE; -DROP INDEX IF EXISTS "augur_data"."repo_id,year,email" CASCADE; -DROP INDEX IF EXISTS "augur_data"."issue-cntrb-assign-idx-1" CASCADE; -DROP INDEX IF EXISTS "augur_data"."issue-cntrb-idx2" CASCADE; -DROP INDEX IF EXISTS "augur_data"."issue_events_ibfk_1" CASCADE; -DROP INDEX IF EXISTS "augur_data"."issue_events_ibfk_2" CASCADE; -DROP INDEX IF EXISTS "augur_data"."issue-cntrb-dix2" CASCADE; -DROP INDEX IF EXISTS "augur_data"."issues_ibfk_1" CASCADE; -DROP INDEX IF EXISTS "augur_data"."issues_ibfk_2" CASCADE; -DROP INDEX IF EXISTS "augur_data"."issues_ibfk_4" CASCADE; -DROP INDEX IF EXISTS "augur_data"."REPO_DEP" CASCADE; -DROP INDEX IF EXISTS "augur_data"."messagegrouper" CASCADE; -DROP INDEX IF EXISTS "augur_data"."msg-cntrb-id-idx" CASCADE; -DROP INDEX IF EXISTS "augur_data"."platformgrouper" CASCADE; -DROP INDEX IF EXISTS "augur_data"."plat" CASCADE; -DROP INDEX IF EXISTS "augur_data"."pr_meta_cntrb-idx" CASCADE; -DROP INDEX IF EXISTS "augur_data"."pr_events_ibfk_1" CASCADE; -DROP INDEX IF EXISTS "augur_data"."pr_events_ibfk_2" CASCADE; -DROP INDEX IF EXISTS "augur_data"."pr_meta-cntrbid-idx" CASCADE; -DROP INDEX IF EXISTS "augur_data"."pr-cntrb-idx-repo" CASCADE; -DROP INDEX IF EXISTS "augur_data"."pr-reviewers-cntrb-idx1" CASCADE; -DROP INDEX IF EXISTS "augur_data"."id_node" CASCADE; -DROP INDEX IF EXISTS "augur_data"."forked" CASCADE; -DROP INDEX IF EXISTS "augur_data"."repogitindexrep" CASCADE; -DROP INDEX IF EXISTS "augur_data"."reponameindex" CASCADE; -DROP INDEX IF EXISTS "augur_data"."reponameindexbtree" CASCADE; -DROP INDEX IF EXISTS "augur_data"."rggrouponrepoindex" CASCADE; -DROP INDEX IF EXISTS "augur_data"."therepo" CASCADE; -DROP INDEX IF EXISTS "augur_data"."rgidm" CASCADE; -DROP INDEX IF EXISTS "augur_data"."rgnameindex" CASCADE; -DROP INDEX IF EXISTS "augur_data"."lister" CASCADE; -DROP INDEX IF EXISTS "augur_data"."dater" CASCADE; -DROP INDEX IF EXISTS "augur_data"."repos_id,status" CASCADE; -DROP INDEX IF EXISTS "augur_data"."repos_id,statusops" CASCADE; -DROP INDEX IF EXISTS "augur_data"."type,projects_id" CASCADE; -DROP INDEX IF EXISTS "augur_operations"."repos_id,statusops" CASCADE; - -ALTER TABLE IF EXISTS "augur_data"."commit_comment_ref" DROP CONSTRAINT "commitcomment" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."contributor_affiliations" DROP CONSTRAINT "unique_domain" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."message" DROP CONSTRAINT "REPOGROUPLISTER" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."message" DROP CONSTRAINT "platformer" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."repo_groups_list_serve" DROP CONSTRAINT "rglistserve" CASCADE; -ALTER TABLE IF EXISTS "spdx"."annotation_types" DROP CONSTRAINT "uc_annotation_type_name" CASCADE; -ALTER TABLE IF EXISTS "spdx"."document_namespaces" DROP CONSTRAINT "uc_document_namespace_uri" CASCADE; -ALTER TABLE IF EXISTS "spdx"."documents" DROP CONSTRAINT "uc_document_document_namespace_id" CASCADE; -ALTER TABLE IF EXISTS "spdx"."external_refs" DROP CONSTRAINT "uc_external_ref_document_id_string" CASCADE; -ALTER TABLE IF EXISTS "spdx"."files" DROP CONSTRAINT "uc_file_sha256" CASCADE; -ALTER TABLE IF EXISTS "spdx"."files_licenses" DROP CONSTRAINT "uc_file_license" CASCADE; -ALTER TABLE IF EXISTS "spdx"."files_scans" DROP CONSTRAINT "uc_file_scanner_id" CASCADE; -ALTER TABLE IF EXISTS "spdx"."identifiers" DROP CONSTRAINT "uc_identifier_document_namespace_id" CASCADE; -ALTER TABLE IF EXISTS "spdx"."identifiers" DROP CONSTRAINT "uc_identifier_namespace_document_id" CASCADE; -ALTER TABLE IF EXISTS "spdx"."identifiers" DROP CONSTRAINT "uc_identifier_namespace_package_id" CASCADE; -ALTER TABLE IF EXISTS "spdx"."identifiers" DROP CONSTRAINT "uc_identifier_namespace_package_file_id" CASCADE; -ALTER TABLE IF EXISTS "spdx"."licenses" DROP CONSTRAINT "uc_license_short_name" CASCADE; -ALTER TABLE IF EXISTS "spdx"."packages" DROP CONSTRAINT "uc_package_sha256" CASCADE; -ALTER TABLE IF EXISTS "spdx"."packages" DROP CONSTRAINT "uc_dir_code_ver_code" CASCADE; -ALTER TABLE IF EXISTS "spdx"."packages_files" DROP CONSTRAINT "uc_package_id_file_name" CASCADE; -ALTER TABLE IF EXISTS "spdx"."packages_scans" DROP CONSTRAINT "uc_package_scanner_id" CASCADE; -ALTER TABLE IF EXISTS "spdx"."relationship_types" DROP CONSTRAINT "uc_relationship_type_name" CASCADE; -ALTER TABLE IF EXISTS "spdx"."relationships" DROP CONSTRAINT "uc_left_right_relationship_type" CASCADE; -ALTER TABLE IF EXISTS "spdx"."scanners" DROP CONSTRAINT "uc_scanner_name" CASCADE; - -ALTER TABLE IF EXISTS "spdx"."identifiers" DROP CONSTRAINT "ck_identifier_exactly_one" CASCADE; -ALTER TABLE IF EXISTS "spdx"."packages" DROP CONSTRAINT "uc_sha256_ds2_dir_code_exactly_one" CASCADE; - -ALTER TABLE IF EXISTS "augur_data"."chaoss_metric_status" DROP CONSTRAINT "chaoss_metric_status_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."commit_comment_ref" DROP CONSTRAINT "commit_comment_ref_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."commit_parents" DROP CONSTRAINT "commit_parents_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."commits" DROP CONSTRAINT "commits_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."contributor_affiliations" DROP CONSTRAINT "contributor_affiliations_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."contributors" DROP CONSTRAINT "contributors_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."contributors_aliases" DROP CONSTRAINT "contributors_aliases_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."contributors_history" DROP CONSTRAINT "contributors_history_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."exclude" DROP CONSTRAINT "exclude_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."issue_assignees" DROP CONSTRAINT "issue_assignees_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."issue_events" DROP CONSTRAINT "issue_events_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."issue_labels" DROP CONSTRAINT "issue_labels_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."issue_message_ref" DROP CONSTRAINT "issue_message_ref_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."issues" DROP CONSTRAINT "issues_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."libraries" DROP CONSTRAINT "libraries_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."library_dependencies" DROP CONSTRAINT "library_dependencies_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."library_version" DROP CONSTRAINT "library_version_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."lstm_anomaly_models" DROP CONSTRAINT "lstm_anomaly_models_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."lstm_anomaly_results" DROP CONSTRAINT "lstm_anomaly_results_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."message" DROP CONSTRAINT "message_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."message_analysis" DROP CONSTRAINT "message_analysis_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."message_analysis_summary" DROP CONSTRAINT "message_analysis_summary_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."message_sentiment" DROP CONSTRAINT "message_sentiment_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."message_sentiment_summary" DROP CONSTRAINT "message_sentiment_summary_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."platform" DROP CONSTRAINT "theplat" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."pull_request_assignees" DROP CONSTRAINT "pull_request_assignees_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."pull_request_commits" DROP CONSTRAINT "pull_request_commits_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."pull_request_events" DROP CONSTRAINT "pr_events_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."pull_request_files" DROP CONSTRAINT "pull_request_files_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."pull_request_labels" DROP CONSTRAINT "pull_request_labels_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."pull_request_message_ref" DROP CONSTRAINT "pull_request_message_ref_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."pull_request_meta" DROP CONSTRAINT "pull_request_meta_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."pull_request_repo" DROP CONSTRAINT "pull_request_repo_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."pull_request_reviewers" DROP CONSTRAINT "pull_request_reviewers_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."pull_request_teams" DROP CONSTRAINT "pull_request_teams_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."pull_requests" DROP CONSTRAINT "pull_requests_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."releases" DROP CONSTRAINT "releases_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."repo" DROP CONSTRAINT "repounique" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."repo_badging" DROP CONSTRAINT "repo_badging_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."repo_cluster_messages" DROP CONSTRAINT "repo_cluster_messages_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."repo_group_insights" DROP CONSTRAINT "repo_group_insights_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."repo_groups" DROP CONSTRAINT "rgid" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."repo_groups_list_serve" DROP CONSTRAINT "repo_groups_list_serve_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."repo_info" DROP CONSTRAINT "repo_info_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."repo_insights" DROP CONSTRAINT "repo_insights_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."repo_insights_records" DROP CONSTRAINT "repo_insights_records_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."repo_labor" DROP CONSTRAINT "repo_labor_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."repo_meta" DROP CONSTRAINT "repo_meta_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."repo_sbom_scans" DROP CONSTRAINT "repo_sbom_scans_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."repo_stats" DROP CONSTRAINT "repo_stats_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."repo_test_coverage" DROP CONSTRAINT "repo_test_coverage_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."repo_topic" DROP CONSTRAINT "repo_topic_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."settings" DROP CONSTRAINT "settings_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."topic_words" DROP CONSTRAINT "topic_words_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."utility_log" DROP CONSTRAINT "utility_log_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_operations"."augur_settings" DROP CONSTRAINT "augur_settings_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_operations"."worker_history" DROP CONSTRAINT "history_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_operations"."worker_job" DROP CONSTRAINT "job_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_operations"."worker_oauth" DROP CONSTRAINT "worker_oauth_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_operations"."worker_settings_facade" DROP CONSTRAINT "settings_pkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."annotation_types" DROP CONSTRAINT "annotation_types_pkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."annotations" DROP CONSTRAINT "annotations_pkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."augur_repo_map" DROP CONSTRAINT "augur_repo_map_pkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."creator_types" DROP CONSTRAINT "creator_types_pkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."creators" DROP CONSTRAINT "creators_pkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."document_namespaces" DROP CONSTRAINT "document_namespaces_pkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."documents" DROP CONSTRAINT "documents_pkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."documents_creators" DROP CONSTRAINT "documents_creators_pkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."external_refs" DROP CONSTRAINT "external_refs_pkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."file_contributors" DROP CONSTRAINT "file_contributors_pkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."file_types" DROP CONSTRAINT "uc_file_type_name" CASCADE; -ALTER TABLE IF EXISTS "spdx"."files" DROP CONSTRAINT "files_pkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."files_licenses" DROP CONSTRAINT "files_licenses_pkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."files_scans" DROP CONSTRAINT "files_scans_pkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."identifiers" DROP CONSTRAINT "identifiers_pkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."licenses" DROP CONSTRAINT "licenses_pkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."packages" DROP CONSTRAINT "packages_pkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."packages_files" DROP CONSTRAINT "packages_files_pkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."packages_scans" DROP CONSTRAINT "packages_scans_pkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."projects" DROP CONSTRAINT "projects_pkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."relationship_types" DROP CONSTRAINT "relationship_types_pkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."relationships" DROP CONSTRAINT "relationships_pkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."scanners" DROP CONSTRAINT "scanners_pkey" CASCADE; - -DROP TABLE IF EXISTS "augur_data"."analysis_log" CASCADE; -DROP TABLE IF EXISTS "augur_data"."chaoss_metric_status" CASCADE; -DROP TABLE IF EXISTS "augur_data"."commit_comment_ref" CASCADE; -DROP TABLE IF EXISTS "augur_data"."commit_parents" CASCADE; -DROP TABLE IF EXISTS "augur_data"."commits" CASCADE; -DROP TABLE IF EXISTS "augur_data"."contributor_affiliations" CASCADE; -DROP TABLE IF EXISTS "augur_data"."contributors" CASCADE; -DROP TABLE IF EXISTS "augur_data"."contributors_aliases" CASCADE; -DROP TABLE IF EXISTS "augur_data"."contributors_history" CASCADE; -DROP TABLE IF EXISTS "augur_data"."discourse_insights" CASCADE; -DROP TABLE IF EXISTS "augur_data"."dm_repo_annual" CASCADE; -DROP TABLE IF EXISTS "augur_data"."dm_repo_group_annual" CASCADE; -DROP TABLE IF EXISTS "augur_data"."dm_repo_group_monthly" CASCADE; -DROP TABLE IF EXISTS "augur_data"."dm_repo_group_weekly" CASCADE; -DROP TABLE IF EXISTS "augur_data"."dm_repo_monthly" CASCADE; -DROP TABLE IF EXISTS "augur_data"."dm_repo_weekly" CASCADE; -DROP TABLE IF EXISTS "augur_data"."exclude" CASCADE; -DROP TABLE IF EXISTS "augur_data"."issue_assignees" CASCADE; -DROP TABLE IF EXISTS "augur_data"."issue_events" CASCADE; -DROP TABLE IF EXISTS "augur_data"."issue_labels" CASCADE; -DROP TABLE IF EXISTS "augur_data"."issue_message_ref" CASCADE; -DROP TABLE IF EXISTS "augur_data"."issues" CASCADE; -DROP TABLE IF EXISTS "augur_data"."libraries" CASCADE; -DROP TABLE IF EXISTS "augur_data"."library_dependencies" CASCADE; -DROP TABLE IF EXISTS "augur_data"."library_version" CASCADE; -DROP TABLE IF EXISTS "augur_data"."lstm_anomaly_models" CASCADE; -DROP TABLE IF EXISTS "augur_data"."lstm_anomaly_results" CASCADE; -DROP TABLE IF EXISTS "augur_data"."message" CASCADE; -DROP TABLE IF EXISTS "augur_data"."message_analysis" CASCADE; -DROP TABLE IF EXISTS "augur_data"."message_analysis_summary" CASCADE; -DROP TABLE IF EXISTS "augur_data"."message_sentiment" CASCADE; -DROP TABLE IF EXISTS "augur_data"."message_sentiment_summary" CASCADE; -DROP TABLE IF EXISTS "augur_data"."platform" CASCADE; -DROP TABLE IF EXISTS "augur_data"."pull_request_assignees" CASCADE; -DROP TABLE IF EXISTS "augur_data"."pull_request_commits" CASCADE; -DROP TABLE IF EXISTS "augur_data"."pull_request_events" CASCADE; -DROP TABLE IF EXISTS "augur_data"."pull_request_files" CASCADE; -DROP TABLE IF EXISTS "augur_data"."pull_request_labels" CASCADE; -DROP TABLE IF EXISTS "augur_data"."pull_request_message_ref" CASCADE; -DROP TABLE IF EXISTS "augur_data"."pull_request_meta" CASCADE; -DROP TABLE IF EXISTS "augur_data"."pull_request_repo" CASCADE; -DROP TABLE IF EXISTS "augur_data"."pull_request_reviewers" CASCADE; -DROP TABLE IF EXISTS "augur_data"."pull_request_teams" CASCADE; -DROP TABLE IF EXISTS "augur_data"."pull_requests" CASCADE; -DROP TABLE IF EXISTS "augur_data"."releases" CASCADE; -DROP TABLE IF EXISTS "augur_data"."repo" CASCADE; -DROP TABLE IF EXISTS "augur_data"."repo_badging" CASCADE; -DROP TABLE IF EXISTS "augur_data"."repo_cluster_messages" CASCADE; -DROP TABLE IF EXISTS "augur_data"."repo_group_insights" CASCADE; -DROP TABLE IF EXISTS "augur_data"."repo_groups" CASCADE; -DROP TABLE IF EXISTS "augur_data"."repo_groups_list_serve" CASCADE; -DROP TABLE IF EXISTS "augur_data"."repo_info" CASCADE; -DROP TABLE IF EXISTS "augur_data"."repo_insights" CASCADE; -DROP TABLE IF EXISTS "augur_data"."repo_insights_records" CASCADE; -DROP TABLE IF EXISTS "augur_data"."repo_labor" CASCADE; -DROP TABLE IF EXISTS "augur_data"."repo_meta" CASCADE; -DROP TABLE IF EXISTS "augur_data"."repo_sbom_scans" CASCADE; -DROP TABLE IF EXISTS "augur_data"."repo_stats" CASCADE; -DROP TABLE IF EXISTS "augur_data"."repo_test_coverage" CASCADE; -DROP TABLE IF EXISTS "augur_data"."repo_topic" CASCADE; -DROP TABLE IF EXISTS "augur_data"."repos_fetch_log" CASCADE; -DROP TABLE IF EXISTS "augur_data"."settings" CASCADE; -DROP TABLE IF EXISTS "augur_data"."topic_words" CASCADE; -DROP TABLE IF EXISTS "augur_data"."unknown_cache" CASCADE; -DROP TABLE IF EXISTS "augur_data"."utility_log" CASCADE; -DROP TABLE IF EXISTS "augur_data"."working_commits" CASCADE; -DROP TABLE IF EXISTS "augur_operations"."all" CASCADE; -DROP TABLE IF EXISTS "augur_operations"."augur_settings" CASCADE; -DROP TABLE IF EXISTS "augur_operations"."repos_fetch_log" CASCADE; -DROP TABLE IF EXISTS "augur_operations"."worker_history" CASCADE; -DROP TABLE IF EXISTS "augur_operations"."worker_job" CASCADE; -DROP TABLE IF EXISTS "augur_operations"."worker_oauth" CASCADE; -DROP TABLE IF EXISTS "augur_operations"."worker_settings_facade" CASCADE; -DROP TABLE IF EXISTS "augur_operations"."working_commits" CASCADE; -DROP TABLE IF EXISTS "spdx"."annotation_types" CASCADE; -DROP TABLE IF EXISTS "spdx"."annotations" CASCADE; -DROP TABLE IF EXISTS "spdx"."augur_repo_map" CASCADE; -DROP TABLE IF EXISTS "spdx"."creator_types" CASCADE; -DROP TABLE IF EXISTS "spdx"."creators" CASCADE; -DROP TABLE IF EXISTS "spdx"."document_namespaces" CASCADE; -DROP TABLE IF EXISTS "spdx"."documents" CASCADE; -DROP TABLE IF EXISTS "spdx"."documents_creators" CASCADE; -DROP TABLE IF EXISTS "spdx"."external_refs" CASCADE; -DROP TABLE IF EXISTS "spdx"."file_contributors" CASCADE; -DROP TABLE IF EXISTS "spdx"."file_types" CASCADE; -DROP TABLE IF EXISTS "spdx"."files" CASCADE; -DROP TABLE IF EXISTS "spdx"."files_licenses" CASCADE; -DROP TABLE IF EXISTS "spdx"."files_scans" CASCADE; -DROP TABLE IF EXISTS "spdx"."identifiers" CASCADE; -DROP TABLE IF EXISTS "spdx"."licenses" CASCADE; -DROP TABLE IF EXISTS "spdx"."packages" CASCADE; -DROP TABLE IF EXISTS "spdx"."packages_files" CASCADE; -DROP TABLE IF EXISTS "spdx"."packages_scans" CASCADE; -DROP TABLE IF EXISTS "spdx"."projects" CASCADE; -DROP TABLE IF EXISTS "spdx"."relationship_types" CASCADE; -DROP TABLE IF EXISTS "spdx"."relationships" CASCADE; -DROP TABLE IF EXISTS "spdx"."sbom_scans" CASCADE; -DROP TABLE IF EXISTS "spdx"."scanners" CASCADE; - -CREATE TABLE IF NOT EXISTS "augur_data"."analysis_log" ( - "repos_id" int4 NOT NULL, - "status" varchar COLLATE "pg_catalog"."default" NOT NULL, - "date_attempted" timestamp(0) NOT NULL DEFAULT CURRENT_TIMESTAMP -); -ALTER TABLE IF EXISTS "augur_data"."analysis_log" OWNER TO "augur"; -CREATE INDEX "repos_id" ON "augur_data"."analysis_log" USING btree ( - "repos_id" "pg_catalog"."int4_ops" ASC NULLS LAST -); - -CREATE TABLE IF NOT EXISTS "augur_data"."chaoss_metric_status" ( - "cms_id" int8 NOT NULL DEFAULT nextval('"augur_data".chaoss_metric_status_cms_id_seq'::regclass), - "cm_group" varchar COLLATE "pg_catalog"."default", - "cm_source" varchar COLLATE "pg_catalog"."default", - "cm_type" varchar COLLATE "pg_catalog"."default", - "cm_backend_status" varchar COLLATE "pg_catalog"."default", - "cm_frontend_status" varchar COLLATE "pg_catalog"."default", - "cm_defined" bool, - "cm_api_endpoint_repo" varchar COLLATE "pg_catalog"."default", - "cm_api_endpoint_rg" varchar COLLATE "pg_catalog"."default", - "cm_name" varchar COLLATE "pg_catalog"."default", - "cm_working_group" varchar COLLATE "pg_catalog"."default", - "cm_info" json, - "tool_source" varchar COLLATE "pg_catalog"."default", - "tool_version" varchar COLLATE "pg_catalog"."default", - "data_source" varchar COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0) DEFAULT CURRENT_TIMESTAMP, - "cm_working_group_focus_area" varchar COLLATE "pg_catalog"."default", - CONSTRAINT "chaoss_metric_status_pkey" PRIMARY KEY ("cms_id") -); -ALTER TABLE IF EXISTS "augur_data"."chaoss_metric_status" OWNER TO "augur"; -COMMENT ON TABLE "augur_data"."chaoss_metric_status" IS 'This table used to track CHAOSS Metric implementations in Augur, but due to the constantly changing location of that information, it is for the moment not actively populated. '; - -CREATE TABLE IF NOT EXISTS "augur_data"."commit_comment_ref" ( - "cmt_comment_id" int8 NOT NULL DEFAULT nextval('"augur_data".commit_comment_ref_cmt_comment_id_seq'::regclass), - "cmt_id" int8 NOT NULL, - "msg_id" int8 NOT NULL, - "user_id" int8 NOT NULL, - "body" text COLLATE "pg_catalog"."default", - "line" int8, - "position" int8, - "created_at" timestamp(0) NOT NULL DEFAULT CURRENT_TIMESTAMP, - "tool_source" varchar(255) COLLATE "pg_catalog"."default", - "tool_version" varchar(255) COLLATE "pg_catalog"."default", - "data_source" varchar(255) COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0) DEFAULT CURRENT_TIMESTAMP, - "cmt_comment_src_id" int8 NOT NULL, - "commit_comment_src_node_id" varchar COLLATE "pg_catalog"."default", - CONSTRAINT "commit_comment_ref_pkey" PRIMARY KEY ("cmt_comment_id"), - CONSTRAINT "commitcomment" UNIQUE ("cmt_id", "msg_id", "cmt_comment_id") -); -ALTER TABLE IF EXISTS "augur_data"."commit_comment_ref" OWNER TO "augur"; -CREATE INDEX "comment_id" ON "augur_data"."commit_comment_ref" USING btree ( - "cmt_comment_src_id" "pg_catalog"."int8_ops" ASC NULLS LAST, - "cmt_comment_id" "pg_catalog"."int8_ops" ASC NULLS LAST, - "msg_id" "pg_catalog"."int8_ops" ASC NULLS LAST -); -COMMENT ON COLUMN "augur_data"."commit_comment_ref"."cmt_comment_src_id" IS 'For data provenance, we store the source ID if it exists. '; -COMMENT ON COLUMN "augur_data"."commit_comment_ref"."commit_comment_src_node_id" IS 'For data provenance, we store the source node ID if it exists. '; - -CREATE TABLE IF NOT EXISTS "augur_data"."commit_parents" ( - "cmt_id" int8 NOT NULL, - "parent_id" int8 NOT NULL DEFAULT nextval('"augur_data".commit_parents_parent_id_seq'::regclass), - "tool_source" varchar(255) COLLATE "pg_catalog"."default", - "tool_version" varchar(255) COLLATE "pg_catalog"."default", - "data_source" varchar(255) COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0) DEFAULT CURRENT_TIMESTAMP, - CONSTRAINT "commit_parents_pkey" PRIMARY KEY ("cmt_id", "parent_id") -); -ALTER TABLE IF EXISTS "augur_data"."commit_parents" OWNER TO "augur"; -CREATE INDEX "commit_parents_ibfk_1" ON "augur_data"."commit_parents" USING btree ( - "cmt_id" "pg_catalog"."int8_ops" ASC NULLS LAST -); -CREATE INDEX "commit_parents_ibfk_2" ON "augur_data"."commit_parents" USING btree ( - "parent_id" "pg_catalog"."int8_ops" ASC NULLS LAST -); - -CREATE TABLE IF NOT EXISTS "augur_data"."commits" ( - "cmt_id" int8 NOT NULL DEFAULT nextval('"augur_data".commits_cmt_id_seq'::regclass), - "repo_id" int8 NOT NULL, - "cmt_commit_hash" varchar(80) COLLATE "pg_catalog"."default" NOT NULL, - "cmt_author_name" varchar(128) COLLATE "pg_catalog"."default" NOT NULL, - "cmt_author_raw_email" varchar(128) COLLATE "pg_catalog"."default" NOT NULL, - "cmt_author_email" varchar COLLATE "pg_catalog"."default" NOT NULL, - "cmt_author_date" varchar(10) COLLATE "pg_catalog"."default" NOT NULL, - "cmt_author_affiliation" varchar(128) COLLATE "pg_catalog"."default" DEFAULT 'NULL'::character varying, - "cmt_committer_name" varchar(128) COLLATE "pg_catalog"."default" NOT NULL, - "cmt_committer_raw_email" varchar(128) COLLATE "pg_catalog"."default" NOT NULL, - "cmt_committer_email" varchar COLLATE "pg_catalog"."default" NOT NULL, - "cmt_committer_date" varchar(10) COLLATE "pg_catalog"."default" NOT NULL, - "cmt_committer_affiliation" varchar(128) COLLATE "pg_catalog"."default" DEFAULT 'NULL'::character varying, - "cmt_added" int4 NOT NULL, - "cmt_removed" int4 NOT NULL, - "cmt_whitespace" int4 NOT NULL, - "cmt_filename" varchar(4096) COLLATE "pg_catalog"."default" NOT NULL, - "cmt_date_attempted" timestamp(0) NOT NULL, - "cmt_ght_author_id" int4, - "cmt_ght_committer_id" int4, - "cmt_ght_committed_at" timestamp(0), - "tool_source" varchar(255) COLLATE "pg_catalog"."default", - "tool_version" varchar(255) COLLATE "pg_catalog"."default", - "data_source" varchar(255) COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0) DEFAULT CURRENT_TIMESTAMP, - "cmt_author_timestamp" timestamptz(0), - "cmt_committer_timestamp" timestamptz(0), - CONSTRAINT "commits_pkey" PRIMARY KEY ("cmt_id") -); -ALTER TABLE IF EXISTS "augur_data"."commits" OWNER TO "augur"; -CREATE INDEX CONCURRENTLY "author_affiliation" ON "augur_data"."commits" USING hash ( - "cmt_author_affiliation" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" -); -CREATE INDEX CONCURRENTLY "author_cntrb_id" ON "augur_data"."commits" USING btree ( - "cmt_ght_author_id" "pg_catalog"."int4_ops" ASC NULLS LAST -); -CREATE INDEX CONCURRENTLY "author_email,author_affiliation,author_date" ON "augur_data"."commits" USING btree ( - "cmt_author_email" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST, - "cmt_author_affiliation" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST, - "cmt_author_date" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); -CREATE INDEX CONCURRENTLY "author_raw_email" ON "augur_data"."commits" USING btree ( - "cmt_author_raw_email" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); -CREATE INDEX CONCURRENTLY "cmt-author-date-idx2" ON "augur_data"."commits" USING btree ( - "cmt_author_date" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); -CREATE INDEX CONCURRENTLY "cmt-committer-date-idx3" ON "augur_data"."commits" USING btree ( - "cmt_committer_date" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); -CREATE INDEX CONCURRENTLY "cmt_author-name-idx5" ON "augur_data"."commits" USING btree ( - "cmt_committer_name" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); -CREATE INDEX CONCURRENTLY "cmt_author_contrib_worker" ON "augur_data"."commits" USING brin ( - "cmt_author_name" COLLATE "pg_catalog"."default" "pg_catalog"."text_minmax_ops", - "cmt_author_email" COLLATE "pg_catalog"."default" "pg_catalog"."text_minmax_ops", - "cmt_author_date" COLLATE "pg_catalog"."default" "pg_catalog"."text_minmax_ops" -); -CREATE INDEX CONCURRENTLY "cmt_cmmter-name-idx4" ON "augur_data"."commits" USING btree ( - "cmt_author_name" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); -CREATE INDEX CONCURRENTLY "cmt_commiter_contrib_worker" ON "augur_data"."commits" USING brin ( - "cmt_committer_name" COLLATE "pg_catalog"."default" "pg_catalog"."text_minmax_ops", - "cmt_committer_email" COLLATE "pg_catalog"."default" "pg_catalog"."text_minmax_ops", - "cmt_committer_date" COLLATE "pg_catalog"."default" "pg_catalog"."text_minmax_ops" -); -CREATE INDEX CONCURRENTLY "commited" ON "augur_data"."commits" USING btree ( - "cmt_id" "pg_catalog"."int8_ops" ASC NULLS LAST -); -CREATE INDEX CONCURRENTLY "commits_idx_cmt_email_cmt_date_cmt_name" ON "augur_data"."commits" USING btree ( - "cmt_author_email" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST, - "cmt_author_date" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST, - "cmt_author_name" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); -CREATE INDEX CONCURRENTLY "commits_idx_cmt_email_cmt_date_cmt_name2" ON "augur_data"."commits" USING btree ( - "cmt_committer_email" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST, - "cmt_committer_date" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST, - "cmt_committer_name" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); -CREATE INDEX CONCURRENTLY "commits_idx_cmt_name_cmt_date2" ON "augur_data"."commits" USING btree ( - "cmt_author_name" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST, - "cmt_author_date" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); -CREATE INDEX CONCURRENTLY "commits_idx_cmt_name_cmt_date_cmt_date3" ON "augur_data"."commits" USING btree ( - "cmt_committer_name" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST, - "cmt_author_date" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST, - "cmt_committer_date" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); -CREATE INDEX CONCURRENTLY "commits_idx_repo_id_cmt_ema_cmt_dat_cmt_nam" ON "augur_data"."commits" USING btree ( - "repo_id" "pg_catalog"."int8_ops" ASC NULLS LAST, - "cmt_author_email" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST, - "cmt_author_date" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST, - "cmt_author_name" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); -CREATE INDEX CONCURRENTLY "commits_idx_repo_id_cmt_ema_cmt_dat_cmt_nam2" ON "augur_data"."commits" USING btree ( - "repo_id" "pg_catalog"."int8_ops" ASC NULLS LAST, - "cmt_committer_email" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST, - "cmt_committer_date" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST, - "cmt_committer_name" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); -CREATE INDEX CONCURRENTLY "commits_idx_repo_id_cmt_ema_cmt_nam_cmt_dat2" ON "augur_data"."commits" USING btree ( - "repo_id" "pg_catalog"."int8_ops" ASC NULLS LAST, - "cmt_author_email" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST, - "cmt_author_name" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST, - "cmt_author_date" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); -CREATE INDEX CONCURRENTLY "commits_idx_repo_id_cmt_ema_cmt_nam_cmt_dat3" ON "augur_data"."commits" USING btree ( - "repo_id" "pg_catalog"."int8_ops" ASC NULLS LAST, - "cmt_committer_email" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST, - "cmt_committer_name" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST, - "cmt_author_date" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); -CREATE INDEX CONCURRENTLY "committer_affiliation" ON "augur_data"."commits" USING btree ( - "cmt_committer_affiliation" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); -CREATE INDEX CONCURRENTLY "committer_cntrb_id" ON "augur_data"."commits" USING btree ( - "cmt_ght_committer_id" "pg_catalog"."int4_ops" ASC NULLS LAST -); -CREATE INDEX CONCURRENTLY "committer_email,committer_affiliation,committer_date" ON "augur_data"."commits" USING btree ( - "cmt_committer_email" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST, - "cmt_committer_affiliation" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST, - "cmt_committer_date" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); -CREATE INDEX CONCURRENTLY "committer_raw_email" ON "augur_data"."commits" USING btree ( - "cmt_committer_raw_email" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); -CREATE INDEX CONCURRENTLY "repo_id,commit" ON "augur_data"."commits" USING btree ( - "repo_id" "pg_catalog"."int8_ops" ASC NULLS LAST, - "cmt_commit_hash" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); -COMMENT ON TABLE "augur_data"."commits" IS 'Starts with augur.analysis_data table and incorporates GHTorrent commit table attributes if different. -Cmt_id is from get -The author and committer ID’s are at the bottom of the table and not required for now because we want to focus on the facade schema’s properties over the ghtorrent properties when they are in conflict. '; - -CREATE TABLE IF NOT EXISTS "augur_data"."contributor_affiliations" ( - "ca_id" int8 NOT NULL DEFAULT nextval('"augur_data".contributor_affiliations_ca_id_seq'::regclass), - "ca_domain" varchar(64) COLLATE "pg_catalog"."default" NOT NULL, - "ca_start_date" date DEFAULT '1970-01-01'::date, - "tool_source" varchar(255) COLLATE "pg_catalog"."default", - "tool_version" varchar(255) COLLATE "pg_catalog"."default", - "data_source" varchar(255) COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0) DEFAULT CURRENT_TIMESTAMP, - "ca_last_used" timestamp(0) NOT NULL DEFAULT CURRENT_TIMESTAMP, - "ca_affiliation" varchar COLLATE "pg_catalog"."default", - "ca_active" int2 DEFAULT 1, - CONSTRAINT "contributor_affiliations_pkey" PRIMARY KEY ("ca_id"), - CONSTRAINT "unique_domain" UNIQUE ("ca_domain") -); -ALTER TABLE IF EXISTS "augur_data"."contributor_affiliations" OWNER TO "augur"; -COMMENT ON CONSTRAINT "unique_domain" ON "augur_data"."contributor_affiliations" IS 'Only one row should exist for any given top level domain or subdomain. '; - -CREATE TABLE IF NOT EXISTS "augur_data"."contributors" ( - "cntrb_id" int8 NOT NULL DEFAULT nextval('"augur_data".contributors_cntrb_id_seq'::regclass), - "cntrb_login" varchar(255) COLLATE "pg_catalog"."default", - "cntrb_email" varchar COLLATE "pg_catalog"."default", - "cntrb_company" varchar(255) COLLATE "pg_catalog"."default" DEFAULT NULL::character varying, - "cntrb_created_at" timestamp(0), - "cntrb_type" varchar(255) COLLATE "pg_catalog"."default", - "cntrb_fake" int2 DEFAULT 0, - "cntrb_deleted" int2 DEFAULT 0, - "cntrb_long" numeric(11,8) DEFAULT NULL::numeric, - "cntrb_lat" numeric(10,8) DEFAULT NULL::numeric, - "cntrb_country_code" char(3) COLLATE "pg_catalog"."default" DEFAULT NULL::bpchar, - "cntrb_state" varchar(255) COLLATE "pg_catalog"."default" DEFAULT NULL::character varying, - "cntrb_city" varchar(255) COLLATE "pg_catalog"."default" DEFAULT NULL::character varying, - "cntrb_location" varchar(255) COLLATE "pg_catalog"."default" DEFAULT NULL::character varying, - "cntrb_canonical" varchar COLLATE "pg_catalog"."default", - "gh_user_id" int8, - "gh_login" varchar(255) COLLATE "pg_catalog"."default", - "gh_url" varchar(255) COLLATE "pg_catalog"."default", - "gh_html_url" varchar(255) COLLATE "pg_catalog"."default", - "gh_node_id" varchar(255) COLLATE "pg_catalog"."default", - "gh_avatar_url" varchar(4000) COLLATE "pg_catalog"."default", - "gh_gravatar_id" varchar(255) COLLATE "pg_catalog"."default", - "gh_followers_url" varchar(4000) COLLATE "pg_catalog"."default", - "gh_following_url" varchar(4000) COLLATE "pg_catalog"."default", - "gh_gists_url" varchar(4000) COLLATE "pg_catalog"."default", - "gh_starred_url" varchar(4000) COLLATE "pg_catalog"."default", - "gh_subscriptions_url" varchar(4000) COLLATE "pg_catalog"."default", - "gh_organizations_url" varchar(4000) COLLATE "pg_catalog"."default", - "gh_repos_url" varchar(4000) COLLATE "pg_catalog"."default", - "gh_events_url" varchar(4000) COLLATE "pg_catalog"."default", - "gh_received_events_url" varchar(4000) COLLATE "pg_catalog"."default", - "gh_type" varchar(255) COLLATE "pg_catalog"."default", - "gh_site_admin" varchar(255) COLLATE "pg_catalog"."default", - "tool_source" varchar(255) COLLATE "pg_catalog"."default", - "tool_version" varchar(255) COLLATE "pg_catalog"."default", - "data_source" varchar(255) COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0) DEFAULT CURRENT_TIMESTAMP, - "cntrb_full_name" varchar COLLATE "pg_catalog"."default", - "cntrb_last_used" timestamptz(0) DEFAULT NULL::timestamp with time zone, - CONSTRAINT "contributors_pkey" PRIMARY KEY ("cntrb_id") -); -ALTER TABLE IF EXISTS "augur_data"."contributors" OWNER TO "augur"; -CREATE INDEX "cnt-fullname" ON "augur_data"."contributors" USING hash ( - "cntrb_full_name" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" -); -CREATE INDEX "cntrb-theemail" ON "augur_data"."contributors" USING hash ( - "cntrb_email" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" -); -CREATE INDEX "cntrb_login_platform_index" ON "augur_data"."contributors" USING btree ( - "cntrb_login" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); -CREATE INDEX "contributor_delete_finder" ON "augur_data"."contributors" USING brin ( - "cntrb_id" "pg_catalog"."int8_minmax_ops", - "cntrb_email" COLLATE "pg_catalog"."default" "pg_catalog"."text_minmax_ops" -); -CREATE INDEX "contributor_worker_email_finder" ON "augur_data"."contributors" USING brin ( - "cntrb_email" COLLATE "pg_catalog"."default" "pg_catalog"."text_minmax_ops" -); -CREATE INDEX "contributor_worker_finder" ON "augur_data"."contributors" USING brin ( - "cntrb_login" COLLATE "pg_catalog"."default" "pg_catalog"."text_minmax_ops", - "cntrb_email" COLLATE "pg_catalog"."default" "pg_catalog"."text_minmax_ops", - "cntrb_id" "pg_catalog"."int8_minmax_ops" -); -CREATE INDEX "contributor_worker_fullname_finder" ON "augur_data"."contributors" USING brin ( - "cntrb_full_name" COLLATE "pg_catalog"."default" "pg_catalog"."text_minmax_ops" -); -CREATE INDEX "contributors_idx_cntrb_email3" ON "augur_data"."contributors" USING btree ( - "cntrb_email" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); -CREATE INDEX "login" ON "augur_data"."contributors" USING btree ( - "cntrb_login" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); -CREATE INDEX "login-contributor-idx" ON "augur_data"."contributors" USING btree ( - "cntrb_login" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); -COMMENT ON COLUMN "augur_data"."contributors"."cntrb_login" IS 'Will be a double population with the same value as gh_login for github, but the local value for other systems. '; -COMMENT ON COLUMN "augur_data"."contributors"."cntrb_email" IS 'This needs to be here for matching contributor ids, which are augur, to the commit information. '; -COMMENT ON COLUMN "augur_data"."contributors"."cntrb_type" IS 'Present in another models. It is not currently used in Augur. '; -COMMENT ON COLUMN "augur_data"."contributors"."gh_login" IS 'populated with the github user name for github originated data. '; -COMMENT ON TABLE "augur_data"."contributors" IS 'For GitHub, this should be repeated from gh_login. for other systems, it should be that systems login. '; - -CREATE TABLE IF NOT EXISTS "augur_data"."contributors_aliases" ( - "cntrb_id" int8 NOT NULL, - "cntrb_a_id" int8 NOT NULL DEFAULT nextval('"augur_data".contributors_aliases_cntrb_a_id_seq'::regclass), - "canonical_email" varchar COLLATE "pg_catalog"."default" NOT NULL, - "alias_email" varchar(128) COLLATE "pg_catalog"."default" NOT NULL, - "cntrb_active" int2 NOT NULL DEFAULT 1, - "cntrb_last_modified" timestamp(0) NOT NULL DEFAULT CURRENT_TIMESTAMP, - "tool_source" varchar(255) COLLATE "pg_catalog"."default", - "tool_version" varchar(255) COLLATE "pg_catalog"."default", - "data_source" varchar(255) COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0) DEFAULT CURRENT_TIMESTAMP, - CONSTRAINT "contributors_aliases_pkey" PRIMARY KEY ("cntrb_id", "cntrb_a_id") -); -ALTER TABLE IF EXISTS "augur_data"."contributors_aliases" OWNER TO "augur"; -CREATE INDEX "alias,active" ON "augur_data"."contributors_aliases" USING btree ( - "alias_email" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST, - "cntrb_active" "pg_catalog"."int2_ops" ASC NULLS LAST -); -CREATE UNIQUE INDEX "canonical,alias" ON "augur_data"."contributors_aliases" USING btree ( - "canonical_email" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST, - "alias_email" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); -CREATE INDEX "issue-alias-cntrb-idx1" ON "augur_data"."contributors_aliases" USING btree ( - "cntrb_id" "pg_catalog"."int8_ops" ASC NULLS LAST -); -CREATE INDEX "issue-alias-cntrb-idx2" ON "augur_data"."contributors_aliases" USING btree ( - "cntrb_a_id" "pg_catalog"."int8_ops" ASC NULLS LAST -); -COMMENT ON TABLE "augur_data"."contributors_aliases" IS 'An alias will need to be created for every contributor in this model, otherwise we will have to look in 2 places. '; - -CREATE TABLE IF NOT EXISTS "augur_data"."contributors_history" ( - "cntrb_history_id" int8 NOT NULL DEFAULT nextval('"augur_data".contributors_history_cntrb_history_id_seq'::regclass), - "cntrb_id" int8 NOT NULL, - "cntrb_history_timestamp" timestamp(0) NOT NULL DEFAULT CURRENT_TIMESTAMP, - "cntrb_history_current_bool" bool, - "cntrb_organizations_list" json, - "cntrb_gists_count" int8, - "cntrb_starred_count" int8, - "cntrb_following_count" int8, - "cntrb_follower_count" int8, - "cntrb_login" varchar(255) COLLATE "pg_catalog"."default" NOT NULL, - "cntrb_email" varchar(255) COLLATE "pg_catalog"."default", - "cntrb_company" varchar(255) COLLATE "pg_catalog"."default" DEFAULT NULL::character varying, - "cntrb_created_at" timestamp(0) NOT NULL, - "cntrb_type" varchar(255) COLLATE "pg_catalog"."default", - "cntrb_fake" int2 NOT NULL DEFAULT 0, - "cntrb_deleted" int2 NOT NULL DEFAULT 0, - "cntrb_long" numeric(11,8) DEFAULT NULL::numeric, - "cntrb_lat" numeric(10,8) DEFAULT NULL::numeric, - "cntrb_country_code" char(3) COLLATE "pg_catalog"."default" DEFAULT NULL::bpchar, - "cntrb_state" varchar(255) COLLATE "pg_catalog"."default" DEFAULT NULL::character varying, - "cntrb_city" varchar(255) COLLATE "pg_catalog"."default" DEFAULT NULL::character varying, - "cntrb_location" varchar(255) COLLATE "pg_catalog"."default" DEFAULT NULL::character varying, - "cntrb_canonical" varchar(128) COLLATE "pg_catalog"."default", - "gh_user_id" int8, - "gh_login" varchar(255) COLLATE "pg_catalog"."default", - "gh_url" varchar(255) COLLATE "pg_catalog"."default", - "gh_html_url" varchar(255) COLLATE "pg_catalog"."default", - "gh_node_id" varchar(255) COLLATE "pg_catalog"."default", - "gh_avatar_url" varchar(4000) COLLATE "pg_catalog"."default", - "gh_gravatar_id" varchar(255) COLLATE "pg_catalog"."default", - "gh_followers_url" varchar(4000) COLLATE "pg_catalog"."default", - "gh_following_url" varchar(4000) COLLATE "pg_catalog"."default", - "gh_gists_url" varchar(4000) COLLATE "pg_catalog"."default", - "gh_starred_url" varchar(4000) COLLATE "pg_catalog"."default", - "gh_subscriptions_url" varchar(4000) COLLATE "pg_catalog"."default", - "gh_organizations_url" varchar(4000) COLLATE "pg_catalog"."default", - "gh_repos_url" varchar(4000) COLLATE "pg_catalog"."default", - "gh_events_url" varchar(4000) COLLATE "pg_catalog"."default", - "gh_received_events_url" varchar(4000) COLLATE "pg_catalog"."default", - "gh_type" varchar(255) COLLATE "pg_catalog"."default", - "gh_site_admin" varchar(255) COLLATE "pg_catalog"."default", - "tool_source" varchar(255) COLLATE "pg_catalog"."default", - "tool_version" varchar(255) COLLATE "pg_catalog"."default", - "data_source" varchar(255) COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0) DEFAULT CURRENT_TIMESTAMP, - CONSTRAINT "contributors_history_pkey" PRIMARY KEY ("cntrb_history_id") -); -ALTER TABLE IF EXISTS "augur_data"."contributors_history" OWNER TO "augur"; -CREATE INDEX "contrb-history-dix1" ON "augur_data"."contributors_history" USING btree ( - "cntrb_id" "pg_catalog"."int8_ops" ASC NULLS LAST -); -CREATE INDEX "login_index_2" ON "augur_data"."contributors_history" USING btree ( - "cntrb_login" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); -COMMENT ON COLUMN "augur_data"."contributors_history"."cntrb_history_current_bool" IS 'At some point it would be great to have a boolean updated by a contributor worker that set the most recent contributor data to true. '; -COMMENT ON COLUMN "augur_data"."contributors_history"."cntrb_login" IS 'Will be a double population with the same value as gh_login for github, but the local value for other systems. '; -COMMENT ON COLUMN "augur_data"."contributors_history"."cntrb_email" IS 'This needs to be here for matching contributor ids, which are augur, to the commit information. '; -COMMENT ON COLUMN "augur_data"."contributors_history"."cntrb_type" IS 'Present in another models. It is not currently used in Augur. '; -COMMENT ON COLUMN "augur_data"."contributors_history"."gh_login" IS 'populated with the github user name for github originated data. '; -COMMENT ON TABLE "augur_data"."contributors_history" IS 'For GitHub, this should be repeated from gh_login. for other systems, it should be that systems login. - -At this time the table is not populated. '; - -CREATE TABLE IF NOT EXISTS "augur_data"."discourse_insights" ( - "msg_discourse_id" serial8, - "msg_id" int8, - "discourse_act" varchar, - "tool_source" varchar, - "tool_version" varchar, - "data_source" varchar, - "data_collection_date" timestamptz DEFAULT CURRENT_TIMESTAMP, - PRIMARY KEY ("msg_discourse_id") -); -ALTER TABLE IF EXISTS "augur_data"."discourse_insights" OWNER TO "augur"; - -CREATE TABLE IF NOT EXISTS "augur_data"."dm_repo_annual" ( - "repo_id" int8 NOT NULL, - "email" varchar(128) COLLATE "pg_catalog"."default" NOT NULL, - "affiliation" varchar(128) COLLATE "pg_catalog"."default" DEFAULT 'NULL'::character varying, - "year" int2 NOT NULL, - "added" int8 NOT NULL, - "removed" int8 NOT NULL, - "whitespace" int8 NOT NULL, - "files" int8 NOT NULL, - "patches" int8 NOT NULL, - "tool_source" varchar(255) COLLATE "pg_catalog"."default", - "tool_version" varchar(255) COLLATE "pg_catalog"."default", - "data_source" varchar(255) COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0) DEFAULT CURRENT_TIMESTAMP -); -ALTER TABLE IF EXISTS "augur_data"."dm_repo_annual" OWNER TO "augur"; -CREATE INDEX "repo_id,affiliation_copy_1" ON "augur_data"."dm_repo_annual" USING btree ( - "repo_id" "pg_catalog"."int8_ops" ASC NULLS LAST, - "affiliation" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); -CREATE INDEX "repo_id,email_copy_1" ON "augur_data"."dm_repo_annual" USING btree ( - "repo_id" "pg_catalog"."int8_ops" ASC NULLS LAST, - "email" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); - -CREATE TABLE IF NOT EXISTS "augur_data"."dm_repo_group_annual" ( - "repo_group_id" int8 NOT NULL, - "email" varchar(128) COLLATE "pg_catalog"."default" NOT NULL, - "affiliation" varchar(128) COLLATE "pg_catalog"."default" DEFAULT 'NULL'::character varying, - "year" int2 NOT NULL, - "added" int8 NOT NULL, - "removed" int8 NOT NULL, - "whitespace" int8 NOT NULL, - "files" int8 NOT NULL, - "patches" int8 NOT NULL, - "tool_source" varchar(255) COLLATE "pg_catalog"."default", - "tool_version" varchar(255) COLLATE "pg_catalog"."default", - "data_source" varchar(255) COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0) DEFAULT CURRENT_TIMESTAMP -); -ALTER TABLE IF EXISTS "augur_data"."dm_repo_group_annual" OWNER TO "augur"; -CREATE INDEX "projects_id,affiliation_copy_1" ON "augur_data"."dm_repo_group_annual" USING btree ( - "repo_group_id" "pg_catalog"."int8_ops" ASC NULLS LAST, - "affiliation" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); -CREATE INDEX "projects_id,email_copy_1" ON "augur_data"."dm_repo_group_annual" USING btree ( - "repo_group_id" "pg_catalog"."int8_ops" ASC NULLS LAST, - "email" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); - -CREATE TABLE IF NOT EXISTS "augur_data"."dm_repo_group_monthly" ( - "repo_group_id" int8 NOT NULL, - "email" varchar(128) COLLATE "pg_catalog"."default" NOT NULL, - "affiliation" varchar(128) COLLATE "pg_catalog"."default" DEFAULT 'NULL'::character varying, - "month" int2 NOT NULL, - "year" int2 NOT NULL, - "added" int8 NOT NULL, - "removed" int8 NOT NULL, - "whitespace" int8 NOT NULL, - "files" int8 NOT NULL, - "patches" int8 NOT NULL, - "tool_source" varchar(255) COLLATE "pg_catalog"."default", - "tool_version" varchar(255) COLLATE "pg_catalog"."default", - "data_source" varchar(255) COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0) DEFAULT CURRENT_TIMESTAMP -); -ALTER TABLE IF EXISTS "augur_data"."dm_repo_group_monthly" OWNER TO "augur"; -CREATE INDEX "projects_id,affiliation_copy_2" ON "augur_data"."dm_repo_group_monthly" USING btree ( - "repo_group_id" "pg_catalog"."int8_ops" ASC NULLS LAST, - "affiliation" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); -CREATE INDEX "projects_id,email_copy_2" ON "augur_data"."dm_repo_group_monthly" USING btree ( - "repo_group_id" "pg_catalog"."int8_ops" ASC NULLS LAST, - "email" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); -CREATE INDEX "projects_id,year,affiliation_copy_1" ON "augur_data"."dm_repo_group_monthly" USING btree ( - "repo_group_id" "pg_catalog"."int8_ops" ASC NULLS LAST, - "year" "pg_catalog"."int2_ops" ASC NULLS LAST, - "affiliation" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); -CREATE INDEX "projects_id,year,email_copy_1" ON "augur_data"."dm_repo_group_monthly" USING btree ( - "repo_group_id" "pg_catalog"."int8_ops" ASC NULLS LAST, - "year" "pg_catalog"."int2_ops" ASC NULLS LAST, - "email" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); - -CREATE TABLE IF NOT EXISTS "augur_data"."dm_repo_group_weekly" ( - "repo_group_id" int8 NOT NULL, - "email" varchar(128) COLLATE "pg_catalog"."default" NOT NULL, - "affiliation" varchar(128) COLLATE "pg_catalog"."default" DEFAULT 'NULL'::character varying, - "week" int2 NOT NULL, - "year" int2 NOT NULL, - "added" int8 NOT NULL, - "removed" int8 NOT NULL, - "whitespace" int8 NOT NULL, - "files" int8 NOT NULL, - "patches" int8 NOT NULL, - "tool_source" varchar(255) COLLATE "pg_catalog"."default", - "tool_version" varchar(255) COLLATE "pg_catalog"."default", - "data_source" varchar(255) COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0) DEFAULT CURRENT_TIMESTAMP -); -ALTER TABLE IF EXISTS "augur_data"."dm_repo_group_weekly" OWNER TO "augur"; -CREATE INDEX "projects_id,affiliation" ON "augur_data"."dm_repo_group_weekly" USING btree ( - "repo_group_id" "pg_catalog"."int8_ops" ASC NULLS LAST, - "affiliation" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); -CREATE INDEX "projects_id,email" ON "augur_data"."dm_repo_group_weekly" USING btree ( - "repo_group_id" "pg_catalog"."int8_ops" ASC NULLS LAST, - "email" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); -CREATE INDEX "projects_id,year,affiliation" ON "augur_data"."dm_repo_group_weekly" USING btree ( - "repo_group_id" "pg_catalog"."int8_ops" ASC NULLS LAST, - "year" "pg_catalog"."int2_ops" ASC NULLS LAST, - "affiliation" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); -CREATE INDEX "projects_id,year,email" ON "augur_data"."dm_repo_group_weekly" USING btree ( - "repo_group_id" "pg_catalog"."int8_ops" ASC NULLS LAST, - "year" "pg_catalog"."int2_ops" ASC NULLS LAST, - "email" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); - -CREATE TABLE IF NOT EXISTS "augur_data"."dm_repo_monthly" ( - "repo_id" int8 NOT NULL, - "email" varchar(128) COLLATE "pg_catalog"."default" NOT NULL, - "affiliation" varchar(128) COLLATE "pg_catalog"."default" DEFAULT 'NULL'::character varying, - "month" int2 NOT NULL, - "year" int2 NOT NULL, - "added" int8 NOT NULL, - "removed" int8 NOT NULL, - "whitespace" int8 NOT NULL, - "files" int8 NOT NULL, - "patches" int8 NOT NULL, - "tool_source" varchar(255) COLLATE "pg_catalog"."default", - "tool_version" varchar(255) COLLATE "pg_catalog"."default", - "data_source" varchar(255) COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0) DEFAULT CURRENT_TIMESTAMP -); -ALTER TABLE IF EXISTS "augur_data"."dm_repo_monthly" OWNER TO "augur"; -CREATE INDEX "repo_id,affiliation_copy_2" ON "augur_data"."dm_repo_monthly" USING btree ( - "repo_id" "pg_catalog"."int8_ops" ASC NULLS LAST, - "affiliation" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); -CREATE INDEX "repo_id,email_copy_2" ON "augur_data"."dm_repo_monthly" USING btree ( - "repo_id" "pg_catalog"."int8_ops" ASC NULLS LAST, - "email" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); -CREATE INDEX "repo_id,year,affiliation_copy_1" ON "augur_data"."dm_repo_monthly" USING btree ( - "repo_id" "pg_catalog"."int8_ops" ASC NULLS LAST, - "year" "pg_catalog"."int2_ops" ASC NULLS LAST, - "affiliation" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); -CREATE INDEX "repo_id,year,email_copy_1" ON "augur_data"."dm_repo_monthly" USING btree ( - "repo_id" "pg_catalog"."int8_ops" ASC NULLS LAST, - "year" "pg_catalog"."int2_ops" ASC NULLS LAST, - "email" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); - -CREATE TABLE IF NOT EXISTS "augur_data"."dm_repo_weekly" ( - "repo_id" int8 NOT NULL, - "email" varchar(128) COLLATE "pg_catalog"."default" NOT NULL, - "affiliation" varchar(128) COLLATE "pg_catalog"."default" DEFAULT 'NULL'::character varying, - "week" int2 NOT NULL, - "year" int2 NOT NULL, - "added" int8 NOT NULL, - "removed" int8 NOT NULL, - "whitespace" int8 NOT NULL, - "files" int8 NOT NULL, - "patches" int8 NOT NULL, - "tool_source" varchar(255) COLLATE "pg_catalog"."default", - "tool_version" varchar(255) COLLATE "pg_catalog"."default", - "data_source" varchar(255) COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0) DEFAULT CURRENT_TIMESTAMP -); -ALTER TABLE IF EXISTS "augur_data"."dm_repo_weekly" OWNER TO "augur"; -CREATE INDEX "repo_id,affiliation" ON "augur_data"."dm_repo_weekly" USING btree ( - "repo_id" "pg_catalog"."int8_ops" ASC NULLS LAST, - "affiliation" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); -CREATE INDEX "repo_id,email" ON "augur_data"."dm_repo_weekly" USING btree ( - "repo_id" "pg_catalog"."int8_ops" ASC NULLS LAST, - "email" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); -CREATE INDEX "repo_id,year,affiliation" ON "augur_data"."dm_repo_weekly" USING btree ( - "repo_id" "pg_catalog"."int8_ops" ASC NULLS LAST, - "year" "pg_catalog"."int2_ops" ASC NULLS LAST, - "affiliation" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); -CREATE INDEX "repo_id,year,email" ON "augur_data"."dm_repo_weekly" USING btree ( - "repo_id" "pg_catalog"."int8_ops" ASC NULLS LAST, - "year" "pg_catalog"."int2_ops" ASC NULLS LAST, - "email" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); - -CREATE TABLE IF NOT EXISTS "augur_data"."exclude" ( - "id" int4 NOT NULL, - "projects_id" int4 NOT NULL, - "email" varchar(128) COLLATE "pg_catalog"."default" DEFAULT 'NULL'::character varying, - "domain" varchar(128) COLLATE "pg_catalog"."default" DEFAULT 'NULL'::character varying, - CONSTRAINT "exclude_pkey" PRIMARY KEY ("id") -); -ALTER TABLE IF EXISTS "augur_data"."exclude" OWNER TO "augur"; - -CREATE TABLE IF NOT EXISTS "augur_data"."issue_assignees" ( - "issue_assignee_id" int8 NOT NULL DEFAULT nextval('"augur_data".issue_assignees_issue_assignee_id_seq'::regclass), - "issue_id" int8, - "cntrb_id" int8, - "tool_source" varchar COLLATE "pg_catalog"."default", - "tool_version" varchar COLLATE "pg_catalog"."default", - "data_source" varchar COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0) DEFAULT CURRENT_TIMESTAMP, - "issue_assignee_src_id" int8, - "issue_assignee_src_node" varchar COLLATE "pg_catalog"."default", - CONSTRAINT "issue_assignees_pkey" PRIMARY KEY ("issue_assignee_id") -); -ALTER TABLE IF EXISTS "augur_data"."issue_assignees" OWNER TO "augur"; -CREATE INDEX "issue-cntrb-assign-idx-1" ON "augur_data"."issue_assignees" USING btree ( - "cntrb_id" "pg_catalog"."int8_ops" ASC NULLS LAST -); -COMMENT ON COLUMN "augur_data"."issue_assignees"."issue_assignee_src_id" IS 'This ID comes from the source. In the case of GitHub, it is the id that is the first field returned from the issue events API in the issue_assignees embedded JSON object. We may discover it is an ID for the person themselves; but my hypothesis is that its not.'; -COMMENT ON COLUMN "augur_data"."issue_assignees"."issue_assignee_src_node" IS 'This character based identifier comes from the source. In the case of GitHub, it is the id that is the second field returned from the issue events API in the issue_assignees embedded JSON object. We may discover it is an ID for the person themselves; but my hypothesis is that its not.'; - -CREATE TABLE IF NOT EXISTS "augur_data"."issue_events" ( - "event_id" int8 NOT NULL DEFAULT nextval('"augur_data".issue_events_event_id_seq'::regclass), - "issue_id" int8 NOT NULL, - "cntrb_id" int8 NOT NULL, - "action" varchar(255) COLLATE "pg_catalog"."default" NOT NULL, - "action_commit_hash" varchar COLLATE "pg_catalog"."default", - "created_at" timestamp(0) NOT NULL DEFAULT CURRENT_TIMESTAMP, - "node_id" varchar COLLATE "pg_catalog"."default", - "node_url" varchar COLLATE "pg_catalog"."default", - "tool_source" varchar(255) COLLATE "pg_catalog"."default", - "tool_version" varchar(255) COLLATE "pg_catalog"."default", - "data_source" varchar(255) COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0) DEFAULT CURRENT_TIMESTAMP, - "issue_event_src_id" int8, - CONSTRAINT "issue_events_pkey" PRIMARY KEY ("event_id") -); -ALTER TABLE IF EXISTS "augur_data"."issue_events" OWNER TO "augur"; -CREATE INDEX "issue-cntrb-idx2" ON "augur_data"."issue_events" USING btree ( - "issue_event_src_id" "pg_catalog"."int8_ops" ASC NULLS LAST -); -CREATE INDEX "issue_events_ibfk_1" ON "augur_data"."issue_events" USING btree ( - "issue_id" "pg_catalog"."int8_ops" ASC NULLS LAST -); -CREATE INDEX "issue_events_ibfk_2" ON "augur_data"."issue_events" USING btree ( - "cntrb_id" "pg_catalog"."int8_ops" ASC NULLS LAST -); -COMMENT ON COLUMN "augur_data"."issue_events"."node_id" IS 'This should be renamed to issue_event_src_node_id, as its the varchar identifier in GitHub and likely common in other sources as well. However, since it was created before we came to this naming standard and workers are built around it, we have it simply named as node_id. Anywhere you see node_id in the schema, it comes from GitHubs terminology.'; -COMMENT ON COLUMN "augur_data"."issue_events"."issue_event_src_id" IS 'This ID comes from the source. In the case of GitHub, it is the id that is the first field returned from the issue events API'; - -CREATE TABLE IF NOT EXISTS "augur_data"."issue_labels" ( - "issue_label_id" int8 NOT NULL DEFAULT nextval('"augur_data".issue_labels_issue_label_id_seq'::regclass), - "issue_id" int8, - "label_text" varchar COLLATE "pg_catalog"."default", - "label_description" varchar COLLATE "pg_catalog"."default", - "label_color" varchar COLLATE "pg_catalog"."default", - "tool_source" varchar(255) COLLATE "pg_catalog"."default", - "tool_version" varchar(255) COLLATE "pg_catalog"."default", - "data_source" varchar(255) COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0) DEFAULT CURRENT_TIMESTAMP, - "label_src_id" int8, - "label_src_node_id" varchar COLLATE "pg_catalog"."default", - CONSTRAINT "issue_labels_pkey" PRIMARY KEY ("issue_label_id") -); -ALTER TABLE IF EXISTS "augur_data"."issue_labels" OWNER TO "augur"; -COMMENT ON COLUMN "augur_data"."issue_labels"."label_src_id" IS 'This character based identifier (node) comes from the source. In the case of GitHub, it is the id that is the second field returned from the issue events API JSON subsection for issues.'; - -CREATE TABLE IF NOT EXISTS "augur_data"."issue_message_ref" ( - "issue_msg_ref_id" int8 NOT NULL DEFAULT nextval('"augur_data".issue_message_ref_issue_msg_ref_id_seq'::regclass), - "issue_id" int8, - "msg_id" int8, - "tool_source" varchar(255) COLLATE "pg_catalog"."default", - "tool_version" varchar(255) COLLATE "pg_catalog"."default", - "data_source" varchar(255) COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0) DEFAULT CURRENT_TIMESTAMP, - "issue_msg_ref_src_comment_id" int8, - "issue_msg_ref_src_node_id" varchar COLLATE "pg_catalog"."default", - CONSTRAINT "issue_message_ref_pkey" PRIMARY KEY ("issue_msg_ref_id") -); -ALTER TABLE IF EXISTS "augur_data"."issue_message_ref" OWNER TO "augur"; -COMMENT ON COLUMN "augur_data"."issue_message_ref"."issue_msg_ref_src_comment_id" IS 'This ID comes from the source. In the case of GitHub, it is the id that is the first field returned from the issue comments API'; -COMMENT ON COLUMN "augur_data"."issue_message_ref"."issue_msg_ref_src_node_id" IS 'This character based identifier comes from the source. In the case of GitHub, it is the id that is the first field returned from the issue comments API'; - -CREATE TABLE IF NOT EXISTS "augur_data"."issues" ( - "issue_id" int8 NOT NULL DEFAULT nextval('"augur_data".issue_seq'::regclass), - "repo_id" int8, - "reporter_id" int8, - "pull_request" int8, - "pull_request_id" int8, - "created_at" timestamp(0), - "issue_title" varchar(500) COLLATE "pg_catalog"."default", - "issue_body" text COLLATE "pg_catalog"."default", - "cntrb_id" int8, - "comment_count" int8, - "updated_at" timestamp(0), - "closed_at" timestamp(0), - "due_on" timestamp(0), - "repository_url" varchar(4000) COLLATE "pg_catalog"."default", - "issue_url" varchar(4000) COLLATE "pg_catalog"."default", - "labels_url" varchar(4000) COLLATE "pg_catalog"."default", - "comments_url" varchar(4000) COLLATE "pg_catalog"."default", - "events_url" varchar(4000) COLLATE "pg_catalog"."default", - "html_url" varchar(4000) COLLATE "pg_catalog"."default", - "issue_state" varchar(255) COLLATE "pg_catalog"."default", - "issue_node_id" varchar COLLATE "pg_catalog"."default", - "gh_issue_id" int8, - "gh_user_id" int8, - "tool_source" varchar(255) COLLATE "pg_catalog"."default", - "tool_version" varchar(255) COLLATE "pg_catalog"."default", - "data_source" varchar(255) COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0) DEFAULT CURRENT_TIMESTAMP, - "gh_issue_number" int8, - CONSTRAINT "issues_pkey" PRIMARY KEY ("issue_id") -); -ALTER TABLE IF EXISTS "augur_data"."issues" OWNER TO "augur"; -CREATE INDEX "issue-cntrb-dix2" ON "augur_data"."issues" USING btree ( - "cntrb_id" "pg_catalog"."int8_ops" ASC NULLS LAST -); -CREATE INDEX "issues_ibfk_1" ON "augur_data"."issues" USING btree ( - "repo_id" "pg_catalog"."int8_ops" ASC NULLS LAST -); -CREATE INDEX "issues_ibfk_2" ON "augur_data"."issues" USING btree ( - "reporter_id" "pg_catalog"."int8_ops" ASC NULLS LAST -); -CREATE INDEX "issues_ibfk_4" ON "augur_data"."issues" USING btree ( - "pull_request_id" "pg_catalog"."int8_ops" ASC NULLS LAST -); -COMMENT ON COLUMN "augur_data"."issues"."reporter_id" IS 'The ID of the person who opened the issue. '; -COMMENT ON COLUMN "augur_data"."issues"."cntrb_id" IS 'The ID of the person who closed the issue. '; - -CREATE TABLE IF NOT EXISTS "augur_data"."libraries" ( - "library_id" int8 NOT NULL DEFAULT nextval('"augur_data".libraries_library_id_seq'::regclass), - "repo_id" int8, - "platform" varchar(255) COLLATE "pg_catalog"."default" DEFAULT NULL::character varying, - "name" varchar(255) COLLATE "pg_catalog"."default" DEFAULT NULL::character varying, - "created_timestamp" timestamp(0) DEFAULT NULL::timestamp without time zone, - "updated_timestamp" timestamp(0) DEFAULT NULL::timestamp without time zone, - "library_description" varchar(2000) COLLATE "pg_catalog"."default" DEFAULT NULL::character varying, - "keywords" varchar(255) COLLATE "pg_catalog"."default" DEFAULT NULL::character varying, - "library_homepage" varchar(1000) COLLATE "pg_catalog"."default" DEFAULT NULL::character varying, - "license" varchar(255) COLLATE "pg_catalog"."default" DEFAULT NULL::character varying, - "version_count" int4, - "latest_release_timestamp" varchar(255) COLLATE "pg_catalog"."default" DEFAULT NULL::character varying, - "latest_release_number" varchar(255) COLLATE "pg_catalog"."default" DEFAULT NULL::character varying, - "package_manager_id" varchar(255) COLLATE "pg_catalog"."default" DEFAULT NULL::character varying, - "dependency_count" int4, - "dependent_library_count" int4, - "primary_language" varchar(255) COLLATE "pg_catalog"."default" DEFAULT NULL::character varying, - "tool_source" varchar(255) COLLATE "pg_catalog"."default", - "tool_version" varchar(255) COLLATE "pg_catalog"."default", - "data_source" varchar(255) COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0), - CONSTRAINT "libraries_pkey" PRIMARY KEY ("library_id") -); -ALTER TABLE IF EXISTS "augur_data"."libraries" OWNER TO "augur"; - -CREATE TABLE IF NOT EXISTS "augur_data"."library_dependencies" ( - "lib_dependency_id" int8 NOT NULL DEFAULT nextval('"augur_data".library_dependencies_lib_dependency_id_seq'::regclass), - "library_id" int8, - "manifest_platform" varchar(255) COLLATE "pg_catalog"."default" DEFAULT NULL::character varying, - "manifest_filepath" varchar(1000) COLLATE "pg_catalog"."default" DEFAULT NULL::character varying, - "manifest_kind" varchar(255) COLLATE "pg_catalog"."default" DEFAULT NULL::character varying, - "repo_id_branch" varchar(255) COLLATE "pg_catalog"."default" NOT NULL, - "tool_source" varchar(255) COLLATE "pg_catalog"."default", - "tool_version" varchar(255) COLLATE "pg_catalog"."default", - "data_source" varchar(255) COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0), - CONSTRAINT "library_dependencies_pkey" PRIMARY KEY ("lib_dependency_id") -); -ALTER TABLE IF EXISTS "augur_data"."library_dependencies" OWNER TO "augur"; -CREATE INDEX "REPO_DEP" ON "augur_data"."library_dependencies" USING btree ( - "library_id" "pg_catalog"."int8_ops" ASC NULLS LAST -); - -CREATE TABLE IF NOT EXISTS "augur_data"."library_version" ( - "library_version_id" int8 NOT NULL DEFAULT nextval('"augur_data".library_version_library_version_id_seq'::regclass), - "library_id" int8, - "library_platform" varchar(255) COLLATE "pg_catalog"."default" DEFAULT NULL::character varying, - "version_number" varchar(255) COLLATE "pg_catalog"."default" DEFAULT NULL::character varying, - "version_release_date" timestamp(0) DEFAULT NULL::timestamp without time zone, - "tool_source" varchar(255) COLLATE "pg_catalog"."default", - "tool_version" varchar(255) COLLATE "pg_catalog"."default", - "data_source" varchar(255) COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0), - CONSTRAINT "library_version_pkey" PRIMARY KEY ("library_version_id") -); -ALTER TABLE IF EXISTS "augur_data"."library_version" OWNER TO "augur"; - -CREATE TABLE IF NOT EXISTS "augur_data"."lstm_anomaly_models" ( - "model_id" int8 NOT NULL DEFAULT nextval('"augur_data".lstm_anomaly_models_model_id_seq'::regclass), - "model_name" varchar COLLATE "pg_catalog"."default", - "model_description" varchar COLLATE "pg_catalog"."default", - "look_back_days" int8, - "training_days" int8, - "batch_size" int8, - "metric" varchar COLLATE "pg_catalog"."default", - "tool_source" varchar COLLATE "pg_catalog"."default", - "tool_version" varchar COLLATE "pg_catalog"."default", - "data_source" varchar COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(6) DEFAULT CURRENT_TIMESTAMP, - CONSTRAINT "lstm_anomaly_models_pkey" PRIMARY KEY ("model_id") -); -ALTER TABLE IF EXISTS "augur_data"."lstm_anomaly_models" OWNER TO "augur"; - -CREATE TABLE IF NOT EXISTS "augur_data"."lstm_anomaly_results" ( - "result_id" int8 NOT NULL DEFAULT nextval('"augur_data".lstm_anomaly_results_result_id_seq'::regclass), - "repo_id" int8, - "repo_category" varchar COLLATE "pg_catalog"."default", - "model_id" int8, - "metric" varchar COLLATE "pg_catalog"."default", - "contamination_factor" float8, - "mean_absolute_error" float8, - "remarks" varchar COLLATE "pg_catalog"."default", - "metric_field" varchar COLLATE "pg_catalog"."default", - "mean_absolute_actual_value" float8, - "mean_absolute_prediction_value" float8, - "tool_source" varchar COLLATE "pg_catalog"."default", - "tool_version" varchar COLLATE "pg_catalog"."default", - "data_source" varchar COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(6) DEFAULT CURRENT_TIMESTAMP, - CONSTRAINT "lstm_anomaly_results_pkey" PRIMARY KEY ("result_id") -); -ALTER TABLE IF EXISTS "augur_data"."lstm_anomaly_results" OWNER TO "augur"; -COMMENT ON COLUMN "augur_data"."lstm_anomaly_results"."metric_field" IS 'This is a listing of all of the endpoint fields included in the generation of the metric. Sometimes there is one, sometimes there is more than one. This will list them all. '; - -CREATE TABLE IF NOT EXISTS "augur_data"."message" ( - "msg_id" int8 NOT NULL DEFAULT nextval('"augur_data".message_msg_id_seq'::regclass), - "rgls_id" int8, - "msg_text" text COLLATE "pg_catalog"."default", - "msg_timestamp" timestamp(0), - "msg_sender_email" varchar(255) COLLATE "pg_catalog"."default", - "msg_header" varchar(4000) COLLATE "pg_catalog"."default", - "pltfrm_id" int8 NOT NULL, - "tool_source" varchar(255) COLLATE "pg_catalog"."default", - "tool_version" varchar(255) COLLATE "pg_catalog"."default", - "data_source" varchar(255) COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0), - "cntrb_id" int8, - CONSTRAINT "message_pkey" PRIMARY KEY ("msg_id"), - CONSTRAINT "REPOGROUPLISTER" UNIQUE ("msg_id", "rgls_id"), - CONSTRAINT "platformer" UNIQUE ("msg_id", "pltfrm_id") -); -ALTER TABLE IF EXISTS "augur_data"."message" OWNER TO "augur"; -CREATE UNIQUE INDEX "messagegrouper" ON "augur_data"."message" USING btree ( - "msg_id" "pg_catalog"."int8_ops" ASC NULLS LAST, - "rgls_id" "pg_catalog"."int8_ops" ASC NULLS LAST -); -CREATE INDEX "msg-cntrb-id-idx" ON "augur_data"."message" USING btree ( - "cntrb_id" "pg_catalog"."int8_ops" ASC NULLS LAST -); -CREATE INDEX "platformgrouper" ON "augur_data"."message" USING btree ( - "msg_id" "pg_catalog"."int8_ops" ASC NULLS LAST, - "pltfrm_id" "pg_catalog"."int8_ops" ASC NULLS LAST -); -COMMENT ON COLUMN "augur_data"."message"."cntrb_id" IS 'Not populated for mailing lists. Populated for GitHub issues. '; - -CREATE TABLE IF NOT EXISTS "augur_data"."message_analysis" ( - "msg_analysis_id" int8 NOT NULL DEFAULT nextval('"augur_data".message_analysis_msg_analysis_id_seq'::regclass), - "msg_id" int8, - "worker_run_id" int8, - "sentiment_score" float8, - "reconstruction_error" float8, - "novelty_flag" bool, - "feedback_flag" bool, - "tool_source" varchar COLLATE "pg_catalog"."default", - "tool_version" varchar COLLATE "pg_catalog"."default", - "data_source" varchar COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0) DEFAULT CURRENT_TIMESTAMP, - CONSTRAINT "message_analysis_pkey" PRIMARY KEY ("msg_analysis_id") -); -ALTER TABLE IF EXISTS "augur_data"."message_analysis" OWNER TO "augur"; -COMMENT ON COLUMN "augur_data"."message_analysis"."worker_run_id" IS 'This column is used to indicate analyses run by a worker during the same execution period, and is useful for grouping, and time series analysis. '; -COMMENT ON COLUMN "augur_data"."message_analysis"."sentiment_score" IS 'A sentiment analysis score. Zero is neutral, negative numbers are negative sentiment, and positive numbers are positive sentiment. '; -COMMENT ON COLUMN "augur_data"."message_analysis"."reconstruction_error" IS 'Each message is converted to a 250 dimensin doc2vec vector, so the reconstruction error is the difference between what the predicted vector and the actual vector.'; -COMMENT ON COLUMN "augur_data"."message_analysis"."novelty_flag" IS 'This is an analysis of the degree to which the message is novel when compared to other messages in a repository. For example when bots are producing numerous identical messages, the novelty score is low. It would also be a low novelty score when several people are making the same coment. '; -COMMENT ON COLUMN "augur_data"."message_analysis"."feedback_flag" IS 'This exists to provide the user with an opportunity provide feedback on the resulting the sentiment scores. '; - -CREATE TABLE IF NOT EXISTS "augur_data"."message_analysis_summary" ( - "msg_summary_id" int8 NOT NULL DEFAULT nextval('"augur_data".message_analysis_summary_msg_summary_id_seq'::regclass), - "repo_id" int8, - "worker_run_id" int8, - "positive_ratio" float8, - "negative_ratio" float8, - "novel_count" int8, - "period" timestamp(0), - "tool_source" varchar COLLATE "pg_catalog"."default", - "tool_version" varchar COLLATE "pg_catalog"."default", - "data_source" varchar COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0) DEFAULT CURRENT_TIMESTAMP, - CONSTRAINT "message_analysis_summary_pkey" PRIMARY KEY ("msg_summary_id") -); -ALTER TABLE IF EXISTS "augur_data"."message_analysis_summary" OWNER TO "augur"; -COMMENT ON COLUMN "augur_data"."message_analysis_summary"."worker_run_id" IS 'This value should reflect the worker_run_id for the messages summarized in the table. There is not a relation between these two tables for that purpose because its not *really*, relationaly a concept unless we create a third table for "worker_run_id", which we determined was unnecessarily complex. '; -COMMENT ON COLUMN "augur_data"."message_analysis_summary"."novel_count" IS 'The number of messages identified as novel during the analyzed period'; -COMMENT ON COLUMN "augur_data"."message_analysis_summary"."period" IS 'The whole timeline is divided into periods based on the definition of time period for analysis, which is user specified. Timestamp of the first period to look at, until the end of messages at the data of execution. '; -COMMENT ON TABLE "augur_data"."message_analysis_summary" IS 'In a relationally perfect world, we would have a table called “message_analysis_run” the incremented the “worker_run_id” for both message_analysis and message_analysis_summary. For now, we decided this was overkill. '; - -CREATE TABLE IF NOT EXISTS "augur_data"."message_sentiment" ( - "msg_analysis_id" int8 NOT NULL DEFAULT nextval('"augur_data".message_sentiment_msg_analysis_id_seq'::regclass), - "msg_id" int8, - "worker_run_id" int8, - "sentiment_score" float8, - "reconstruction_error" float8, - "novelty_flag" bool, - "feedback_flag" bool, - "tool_source" varchar COLLATE "pg_catalog"."default", - "tool_version" varchar COLLATE "pg_catalog"."default", - "data_source" varchar COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0) DEFAULT CURRENT_TIMESTAMP, - CONSTRAINT "message_sentiment_pkey" PRIMARY KEY ("msg_analysis_id") -); -ALTER TABLE IF EXISTS "augur_data"."message_sentiment" OWNER TO "augur"; -COMMENT ON COLUMN "augur_data"."message_sentiment"."worker_run_id" IS 'This column is used to indicate analyses run by a worker during the same execution period, and is useful for grouping, and time series analysis. '; -COMMENT ON COLUMN "augur_data"."message_sentiment"."sentiment_score" IS 'A sentiment analysis score. Zero is neutral, negative numbers are negative sentiment, and positive numbers are positive sentiment. '; -COMMENT ON COLUMN "augur_data"."message_sentiment"."reconstruction_error" IS 'Each message is converted to a 250 dimensin doc2vec vector, so the reconstruction error is the difference between what the predicted vector and the actual vector.'; -COMMENT ON COLUMN "augur_data"."message_sentiment"."novelty_flag" IS 'This is an analysis of the degree to which the message is novel when compared to other messages in a repository. For example when bots are producing numerous identical messages, the novelty score is low. It would also be a low novelty score when several people are making the same coment. '; -COMMENT ON COLUMN "augur_data"."message_sentiment"."feedback_flag" IS 'This exists to provide the user with an opportunity provide feedback on the resulting the sentiment scores. '; - -CREATE TABLE IF NOT EXISTS "augur_data"."message_sentiment_summary" ( - "msg_summary_id" int8 NOT NULL DEFAULT nextval('"augur_data".message_sentiment_summary_msg_summary_id_seq'::regclass), - "repo_id" int8, - "worker_run_id" int8, - "positive_ratio" float8, - "negative_ratio" float8, - "novel_count" int8, - "period" timestamp(0), - "tool_source" varchar COLLATE "pg_catalog"."default", - "tool_version" varchar COLLATE "pg_catalog"."default", - "data_source" varchar COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0) DEFAULT CURRENT_TIMESTAMP, - CONSTRAINT "message_sentiment_summary_pkey" PRIMARY KEY ("msg_summary_id") -); -ALTER TABLE IF EXISTS "augur_data"."message_sentiment_summary" OWNER TO "augur"; -COMMENT ON COLUMN "augur_data"."message_sentiment_summary"."worker_run_id" IS 'This value should reflect the worker_run_id for the messages summarized in the table. There is not a relation between these two tables for that purpose because its not *really*, relationaly a concept unless we create a third table for "worker_run_id", which we determined was unnecessarily complex. '; -COMMENT ON COLUMN "augur_data"."message_sentiment_summary"."novel_count" IS 'The number of messages identified as novel during the analyzed period'; -COMMENT ON COLUMN "augur_data"."message_sentiment_summary"."period" IS 'The whole timeline is divided into periods based on the definition of time period for analysis, which is user specified. Timestamp of the first period to look at, until the end of messages at the data of execution. '; -COMMENT ON TABLE "augur_data"."message_sentiment_summary" IS 'In a relationally perfect world, we would have a table called “message_sentiment_run” the incremented the “worker_run_id” for both message_sentiment and message_sentiment_summary. For now, we decided this was overkill. '; - -CREATE TABLE IF NOT EXISTS "augur_data"."platform" ( - "pltfrm_id" int8 NOT NULL DEFAULT nextval('"augur_data".platform_pltfrm_id_seq'::regclass), - "pltfrm_name" varchar(255) COLLATE "pg_catalog"."default", - "pltfrm_version" varchar(255) COLLATE "pg_catalog"."default", - "pltfrm_release_date" date, - "tool_source" varchar(255) COLLATE "pg_catalog"."default", - "tool_version" varchar(255) COLLATE "pg_catalog"."default", - "data_source" varchar(255) COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0), - CONSTRAINT "theplat" PRIMARY KEY ("pltfrm_id") -); -ALTER TABLE IF EXISTS "augur_data"."platform" OWNER TO "augur"; -CREATE UNIQUE INDEX "plat" ON "augur_data"."platform" USING btree ( - "pltfrm_id" "pg_catalog"."int8_ops" ASC NULLS LAST -); - -CREATE TABLE IF NOT EXISTS "augur_data"."pull_request_assignees" ( - "pr_assignee_map_id" int8 NOT NULL DEFAULT nextval('"augur_data".pull_request_assignees_pr_assignee_map_id_seq'::regclass), - "pull_request_id" int8, - "contrib_id" int8, - "tool_source" varchar(255) COLLATE "pg_catalog"."default", - "tool_version" varchar(255) COLLATE "pg_catalog"."default", - "data_source" varchar(255) COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0) DEFAULT CURRENT_TIMESTAMP, - CONSTRAINT "pull_request_assignees_pkey" PRIMARY KEY ("pr_assignee_map_id") -); -ALTER TABLE IF EXISTS "augur_data"."pull_request_assignees" OWNER TO "augur"; -CREATE INDEX "pr_meta_cntrb-idx" ON "augur_data"."pull_request_assignees" USING btree ( - "contrib_id" "pg_catalog"."int8_ops" ASC NULLS LAST -); - -CREATE TABLE IF NOT EXISTS "augur_data"."pull_request_commits" ( - "pr_cmt_id" int8 NOT NULL DEFAULT nextval('"augur_data".pull_request_commits_pr_cmt_id_seq'::regclass), - "pull_request_id" int8, - "pr_cmt_sha" varchar COLLATE "pg_catalog"."default", - "pr_cmt_node_id" varchar COLLATE "pg_catalog"."default", - "pr_cmt_message" varchar COLLATE "pg_catalog"."default", - "pr_cmt_comments_url" varbit, - "tool_source" varchar COLLATE "pg_catalog"."default", - "tool_version" varchar COLLATE "pg_catalog"."default", - "data_source" varchar COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0) DEFAULT CURRENT_TIMESTAMP, - CONSTRAINT "pull_request_commits_pkey" PRIMARY KEY ("pr_cmt_id") -); -ALTER TABLE IF EXISTS "augur_data"."pull_request_commits" OWNER TO "augur"; -COMMENT ON COLUMN "augur_data"."pull_request_commits"."pr_cmt_sha" IS 'This is the commit SHA for a pull request commit. If the PR is not to the master branch of the main repository (or, in rare cases, from it), then you will NOT find a corresponding commit SHA in the commit table. (see table comment for further explanation). '; -COMMENT ON TABLE "augur_data"."pull_request_commits" IS 'Pull request commits are an enumeration of each commit associated with a pull request. -Not all pull requests are from a branch or fork into master. -The commits table intends to count only commits that end up in the master branch (i.e., part of the deployed code base for a project). -Therefore, there will be commit “SHA”’s in this table that are no associated with a commit SHA in the commits table. -In cases where the PR is to the master branch of a project, you will find a match. In cases where the PR does not involve the master branch, you will not find a corresponding commit SHA in the commits table. This is expected. '; - -CREATE TABLE IF NOT EXISTS "augur_data"."pull_request_events" ( - "pr_event_id" int8 NOT NULL DEFAULT nextval('"augur_data".pull_request_events_pr_event_id_seq'::regclass), - "pull_request_id" int8 NOT NULL, - "cntrb_id" int8 NOT NULL, - "action" varchar(255) COLLATE "pg_catalog"."default" NOT NULL, - "action_commit_hash" varchar COLLATE "pg_catalog"."default", - "created_at" timestamp(0) NOT NULL DEFAULT CURRENT_TIMESTAMP, - "issue_event_src_id" int8, - "node_id" varchar COLLATE "pg_catalog"."default", - "node_url" varchar COLLATE "pg_catalog"."default", - "tool_source" varchar(255) COLLATE "pg_catalog"."default", - "tool_version" varchar(255) COLLATE "pg_catalog"."default", - "data_source" varchar(255) COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0) DEFAULT CURRENT_TIMESTAMP, - CONSTRAINT "pr_events_pkey" PRIMARY KEY ("pr_event_id") -); -ALTER TABLE IF EXISTS "augur_data"."pull_request_events" OWNER TO "augur"; -CREATE INDEX "pr_events_ibfk_1" ON "augur_data"."pull_request_events" USING btree ( - "pull_request_id" "pg_catalog"."int8_ops" ASC NULLS LAST -); -CREATE INDEX "pr_events_ibfk_2" ON "augur_data"."pull_request_events" USING btree ( - "cntrb_id" "pg_catalog"."int8_ops" ASC NULLS LAST -); -COMMENT ON COLUMN "augur_data"."pull_request_events"."issue_event_src_id" IS 'This ID comes from the source. In the case of GitHub, it is the id that is the first field returned from the issue events API'; -COMMENT ON COLUMN "augur_data"."pull_request_events"."node_id" IS 'This should be renamed to issue_event_src_node_id, as its the varchar identifier in GitHub and likely common in other sources as well. However, since it was created before we came to this naming standard and workers are built around it, we have it simply named as node_id. Anywhere you see node_id in the schema, it comes from GitHubs terminology.'; - -CREATE TABLE IF NOT EXISTS "augur_data"."pull_request_files" ( - "pull_request_id" int8, - "pr_file_id" int8 NOT NULL DEFAULT nextval('"augur_data".pull_request_files_pr_file_id_seq'::regclass), - "pr_file_additions" int8, - "pr_file_deletions" int8, - "pr_file_path" varchar COLLATE "pg_catalog"."default", - "tool_source" varchar COLLATE "pg_catalog"."default", - "tool_version" varchar COLLATE "pg_catalog"."default", - "data_source" varchar COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0) DEFAULT CURRENT_TIMESTAMP, - CONSTRAINT "pull_request_files_pkey" PRIMARY KEY ("pr_file_id") -); -ALTER TABLE IF EXISTS "augur_data"."pull_request_files" OWNER TO "augur"; -COMMENT ON TABLE "augur_data"."pull_request_files" IS 'Pull request commits are an enumeration of each commit associated with a pull request. -Not all pull requests are from a branch or fork into master. -The commits table intends to count only commits that end up in the master branch (i.e., part of the deployed code base for a project). -Therefore, there will be commit “SHA”’s in this table that are no associated with a commit SHA in the commits table. -In cases where the PR is to the master branch of a project, you will find a match. In cases where the PR does not involve the master branch, you will not find a corresponding commit SHA in the commits table. This is expected. '; - -CREATE TABLE IF NOT EXISTS "augur_data"."pull_request_labels" ( - "pr_label_id" int8 NOT NULL DEFAULT nextval('"augur_data".pull_request_labels_pr_label_id_seq'::regclass), - "pull_request_id" int8, - "pr_src_id" int8, - "pr_src_node_id" varchar COLLATE "pg_catalog"."default", - "pr_src_url" varchar COLLATE "pg_catalog"."default", - "pr_src_description" varchar COLLATE "pg_catalog"."default", - "pr_src_color" varchar COLLATE "pg_catalog"."default", - "pr_src_default_bool" bool, - "tool_source" varchar(255) COLLATE "pg_catalog"."default", - "tool_version" varchar(255) COLLATE "pg_catalog"."default", - "data_source" varchar(255) COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0) DEFAULT CURRENT_TIMESTAMP, - CONSTRAINT "pull_request_labels_pkey" PRIMARY KEY ("pr_label_id") -); -ALTER TABLE IF EXISTS "augur_data"."pull_request_labels" OWNER TO "augur"; - -CREATE TABLE IF NOT EXISTS "augur_data"."pull_request_message_ref" ( - "pr_msg_ref_id" int8 NOT NULL DEFAULT nextval('"augur_data".pull_request_message_ref_pr_msg_ref_id_seq'::regclass), - "pull_request_id" int8, - "msg_id" int8, - "pr_message_ref_src_comment_id" int8, - "pr_message_ref_src_node_id" varchar COLLATE "pg_catalog"."default", - "tool_source" varchar(255) COLLATE "pg_catalog"."default", - "tool_version" varchar(255) COLLATE "pg_catalog"."default", - "data_source" varchar(255) COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0) DEFAULT CURRENT_TIMESTAMP, - CONSTRAINT "pull_request_message_ref_pkey" PRIMARY KEY ("pr_msg_ref_id") -); -ALTER TABLE IF EXISTS "augur_data"."pull_request_message_ref" OWNER TO "augur"; - -CREATE TABLE IF NOT EXISTS "augur_data"."pull_request_meta" ( - "pr_repo_meta_id" int8 NOT NULL DEFAULT nextval('"augur_data".pull_request_meta_pr_repo_meta_id_seq'::regclass), - "pull_request_id" int8, - "pr_head_or_base" varchar COLLATE "pg_catalog"."default", - "pr_src_meta_label" varchar COLLATE "pg_catalog"."default", - "pr_src_meta_ref" varchar COLLATE "pg_catalog"."default", - "pr_sha" varchar COLLATE "pg_catalog"."default", - "cntrb_id" int8, - "tool_source" varchar(255) COLLATE "pg_catalog"."default", - "tool_version" varchar(255) COLLATE "pg_catalog"."default", - "data_source" varchar(255) COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0) DEFAULT CURRENT_TIMESTAMP, - CONSTRAINT "pull_request_meta_pkey" PRIMARY KEY ("pr_repo_meta_id") -); -ALTER TABLE IF EXISTS "augur_data"."pull_request_meta" OWNER TO "augur"; -CREATE INDEX "pr_meta-cntrbid-idx" ON "augur_data"."pull_request_meta" USING btree ( - "cntrb_id" "pg_catalog"."int8_ops" ASC NULLS LAST -); -COMMENT ON COLUMN "augur_data"."pull_request_meta"."pr_head_or_base" IS 'Each pull request should have one and only one head record; and one and only one base record. '; -COMMENT ON COLUMN "augur_data"."pull_request_meta"."pr_src_meta_label" IS 'This is a representation of the repo:branch information in the pull request. Head is issueing the pull request and base is taking the pull request. For example: (We do not store all of this) - - "head": { - "label": "chaoss:pull-request-worker", - "ref": "pull-request-worker", - "sha": "6b380c3d6d625616f79d702612ebab6d204614f2", - "user": { - "login": "chaoss", - "id": 29740296, - "node_id": "MDEyOk9yZ2FuaXphdGlvbjI5NzQwMjk2", - "avatar_url": "https://avatars2.githubusercontent.com/u/29740296?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/chaoss", - "html_url": "https://github.com/chaoss", - "followers_url": "https://api.github.com/users/chaoss/followers", - "following_url": "https://api.github.com/users/chaoss/following{/other_user}", - "gists_url": "https://api.github.com/users/chaoss/gists{/gist_id}", - "starred_url": "https://api.github.com/users/chaoss/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/chaoss/subscriptions", - "organizations_url": "https://api.github.com/users/chaoss/orgs", - "repos_url": "https://api.github.com/users/chaoss/repos", - "events_url": "https://api.github.com/users/chaoss/events{/privacy}", - "received_events_url": "https://api.github.com/users/chaoss/received_events", - "type": "Organization", - "site_admin": false - }, - "repo": { - "id": 78134122, - "node_id": "MDEwOlJlcG9zaXRvcnk3ODEzNDEyMg==", - "name": "augur", - "full_name": "chaoss/augur", - "private": false, - "owner": { - "login": "chaoss", - "id": 29740296, - "node_id": "MDEyOk9yZ2FuaXphdGlvbjI5NzQwMjk2", - "avatar_url": "https://avatars2.githubusercontent.com/u/29740296?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/chaoss", - "html_url": "https://github.com/chaoss", - "followers_url": "https://api.github.com/users/chaoss/followers", - "following_url": "https://api.github.com/users/chaoss/following{/other_user}", - "gists_url": "https://api.github.com/users/chaoss/gists{/gist_id}", - "starred_url": "https://api.github.com/users/chaoss/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/chaoss/subscriptions", - "organizations_url": "https://api.github.com/users/chaoss/orgs", - "repos_url": "https://api.github.com/users/chaoss/repos", - "events_url": "https://api.github.com/users/chaoss/events{/privacy}", - "received_events_url": "https://api.github.com/users/chaoss/received_events", - "type": "Organization", - "site_admin": false - }, - "html_url": "https://github.com/chaoss/augur", - "description": "Python library and web service for Open Source Software Health and Sustainability metrics & data collection.", - "fork": false, - "url": "https://api.github.com/repos/chaoss/augur", - "forks_url": "https://api.github.com/repos/chaoss/augur/forks", - "keys_url": "https://api.github.com/repos/chaoss/augur/keys{/key_id}", - "collaborators_url": "https://api.github.com/repos/chaoss/augur/collaborators{/collaborator}", - "teams_url": "https://api.github.com/repos/chaoss/augur/teams", - "hooks_url": "https://api.github.com/repos/chaoss/augur/hooks", - "issue_events_url": "https://api.github.com/repos/chaoss/augur/issues/events{/number}", - "events_url": "https://api.github.com/repos/chaoss/augur/events", - "assignees_url": "https://api.github.com/repos/chaoss/augur/assignees{/user}", - "branches_url": "https://api.github.com/repos/chaoss/augur/branches{/branch}", - "tags_url": "https://api.github.com/repos/chaoss/augur/tags", - "blobs_url": "https://api.github.com/repos/chaoss/augur/git/blobs{/sha}", - "git_tags_url": "https://api.github.com/repos/chaoss/augur/git/tags{/sha}", - "git_refs_url": "https://api.github.com/repos/chaoss/augur/git/refs{/sha}", - "trees_url": "https://api.github.com/repos/chaoss/augur/git/trees{/sha}", - "statuses_url": "https://api.github.com/repos/chaoss/augur/statuses/{sha}", - "languages_url": "https://api.github.com/repos/chaoss/augur/languages", - "stargazers_url": "https://api.github.com/repos/chaoss/augur/stargazers", - "contributors_url": "https://api.github.com/repos/chaoss/augur/contributors", - "subscribers_url": "https://api.github.com/repos/chaoss/augur/subscribers", - "subscription_url": "https://api.github.com/repos/chaoss/augur/subscription", - "commits_url": "https://api.github.com/repos/chaoss/augur/commits{/sha}", - "git_commits_url": "https://api.github.com/repos/chaoss/augur/git/commits{/sha}", - "comments_url": "https://api.github.com/repos/chaoss/augur/comments{/number}", - "issue_comment_url": "https://api.github.com/repos/chaoss/augur/issues/comments{/number}", - "contents_url": "https://api.github.com/repos/chaoss/augur/contents/{+path}", - "compare_url": "https://api.github.com/repos/chaoss/augur/compare/{base}...{head}", - "merges_url": "https://api.github.com/repos/chaoss/augur/merges", - "archive_url": "https://api.github.com/repos/chaoss/augur/{archive_format}{/ref}", - "downloads_url": "https://api.github.com/repos/chaoss/augur/downloads", - "issues_url": "https://api.github.com/repos/chaoss/augur/issues{/number}", - "pulls_url": "https://api.github.com/repos/chaoss/augur/pulls{/number}", - "milestones_url": "https://api.github.com/repos/chaoss/augur/milestones{/number}", - "notifications_url": "https://api.github.com/repos/chaoss/augur/notifications{?since,all,participating}", - "labels_url": "https://api.github.com/repos/chaoss/augur/labels{/name}", - "releases_url": "https://api.github.com/repos/chaoss/augur/releases{/id}", - "deployments_url": "https://api.github.com/repos/chaoss/augur/deployments", - "created_at": "2017-01-05T17:34:54Z", - "updated_at": "2019-11-15T00:56:12Z", - "pushed_at": "2019-12-02T06:27:26Z", - "git_url": "git://github.com/chaoss/augur.git", - "ssh_url": "git@github.com:chaoss/augur.git", - "clone_url": "https://github.com/chaoss/augur.git", - "svn_url": "https://github.com/chaoss/augur", - "homepage": "http://augur.osshealth.io/", - "size": 82004, - "stargazers_count": 153, - "watchers_count": 153, - "language": "Python", - "has_issues": true, - "has_projects": false, - "has_downloads": true, - "has_wiki": false, - "has_pages": true, - "forks_count": 205, - "mirror_url": null, - "archived": false, - "disabled": false, - "open_issues_count": 14, - "license": { - "key": "mit", - "name": "MIT License", - "spdx_id": "MIT", - "url": "https://api.github.com/licenses/mit", - "node_id": "MDc6TGljZW5zZTEz" - }, - "forks": 205, - "open_issues": 14, - "watchers": 153, - "default_branch": "master" - } - }, - "base": { - "label": "chaoss:dev", - "ref": "dev", - "sha": "bfd2d34b51659613dd842cf83c3873f7699c2a0e", - "user": { - "login": "chaoss", - "id": 29740296, - "node_id": "MDEyOk9yZ2FuaXphdGlvbjI5NzQwMjk2", - "avatar_url": "https://avatars2.githubusercontent.com/u/29740296?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/chaoss", - "html_url": "https://github.com/chaoss", - "followers_url": "https://api.github.com/users/chaoss/followers", - "following_url": "https://api.github.com/users/chaoss/following{/other_user}", - "gists_url": "https://api.github.com/users/chaoss/gists{/gist_id}", - "starred_url": "https://api.github.com/users/chaoss/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/chaoss/subscriptions", - "organizations_url": "https://api.github.com/users/chaoss/orgs", - "repos_url": "https://api.github.com/users/chaoss/repos", - "events_url": "https://api.github.com/users/chaoss/events{/privacy}", - "received_events_url": "https://api.github.com/users/chaoss/received_events", - "type": "Organization", - "site_admin": false - }, - "repo": { - "id": 78134122, - "node_id": "MDEwOlJlcG9zaXRvcnk3ODEzNDEyMg==", - "name": "augur", - "full_name": "chaoss/augur", - "private": false, - "owner": { - "login": "chaoss", - "id": 29740296, - "node_id": "MDEyOk9yZ2FuaXphdGlvbjI5NzQwMjk2", - "avatar_url": "https://avatars2.githubusercontent.com/u/29740296?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/chaoss", - "html_url": "https://github.com/chaoss", - "followers_url": "https://api.github.com/users/chaoss/followers", - "following_url": "https://api.github.com/users/chaoss/following{/other_user}", - "gists_url": "https://api.github.com/users/chaoss/gists{/gist_id}", - "starred_url": "https://api.github.com/users/chaoss/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/chaoss/subscriptions", - "organizations_url": "https://api.github.com/users/chaoss/orgs", - "repos_url": "https://api.github.com/users/chaoss/repos", - "events_url": "https://api.github.com/users/chaoss/events{/privacy}", - "received_events_url": "https://api.github.com/users/chaoss/received_events", - "type": "Organization", - "site_admin": false - }, -'; -COMMENT ON TABLE "augur_data"."pull_request_meta" IS 'Pull requests contain referencing metadata. There are a few columns that are discrete. There are also head and base designations for the repo on each side of the pull request. Similar functions exist in GitLab, though the language here is based on GitHub. The JSON Being adapted to as of the development of this schema is here: "base": { "label": "chaoss:dev", "ref": "dev", "sha": "dc6c6f3947f7dc84ecba3d8bda641ef786e7027d", "user": { "login": "chaoss", "id": 29740296, "node_id": "MDEyOk9yZ2FuaXphdGlvbjI5NzQwMjk2", "avatar_url": "https://avatars2.githubusercontent.com/u/29740296?v=4", "gravatar_id": "", "url": "https://api.github.com/users/chaoss", "html_url": "https://github.com/chaoss", "followers_url": "https://api.github.com/users/chaoss/followers", "following_url": "https://api.github.com/users/chaoss/following{/other_user}", "gists_url": "https://api.github.com/users/chaoss/gists{/gist_id}", "starred_url": "https://api.github.com/users/chaoss/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/chaoss/subscriptions", "organizations_url": "https://api.github.com/users/chaoss/orgs", "repos_url": "https://api.github.com/users/chaoss/repos", "events_url": "https://api.github.com/users/chaoss/events{/privacy}", "received_events_url": "https://api.github.com/users/chaoss/received_events", "type": "Organization", "site_admin": false }, "repo": { "id": 78134122, "node_id": "MDEwOlJlcG9zaXRvcnk3ODEzNDEyMg==", "name": "augur", "full_name": "chaoss/augur", "private": false, "owner": { "login": "chaoss", "id": 29740296, "node_id": "MDEyOk9yZ2FuaXphdGlvbjI5NzQwMjk2", "avatar_url": "https://avatars2.githubusercontent.com/u/29740296?v=4", "gravatar_id": "", "url": "https://api.github.com/users/chaoss", "html_url": "https://github.com/chaoss", "followers_url": "https://api.github.com/users/chaoss/followers", "following_url": "https://api.github.com/users/chaoss/following{/other_user}", "gists_url": "https://api.github.com/users/chaoss/gists{/gist_id}", "starred_url": "https://api.github.com/users/chaoss/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/chaoss/subscriptions", "organizations_url": "https://api.github.com/users/chaoss/orgs", "repos_url": "https://api.github.com/users/chaoss/repos", "events_url": "https://api.github.com/users/chaoss/events{/privacy}", "received_events_url": "https://api.github.com/users/chaoss/received_events", "type": "Organization", "site_admin": false }, '; - -CREATE TABLE IF NOT EXISTS "augur_data"."pull_request_repo" ( - "pr_repo_id" int8 NOT NULL DEFAULT nextval('"augur_data".pull_request_repo_pr_repo_id_seq'::regclass), - "pr_repo_meta_id" int8, - "pr_repo_head_or_base" varchar COLLATE "pg_catalog"."default", - "pr_src_repo_id" int8, - "pr_src_node_id" varchar COLLATE "pg_catalog"."default", - "pr_repo_name" varchar COLLATE "pg_catalog"."default", - "pr_repo_full_name" varchar COLLATE "pg_catalog"."default", - "pr_repo_private_bool" bool, - "pr_cntrb_id" int8, - "tool_source" varchar(255) COLLATE "pg_catalog"."default", - "tool_version" varchar(255) COLLATE "pg_catalog"."default", - "data_source" varchar(255) COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0) DEFAULT CURRENT_TIMESTAMP, - CONSTRAINT "pull_request_repo_pkey" PRIMARY KEY ("pr_repo_id") -); -ALTER TABLE IF EXISTS "augur_data"."pull_request_repo" OWNER TO "augur"; -CREATE INDEX "pr-cntrb-idx-repo" ON "augur_data"."pull_request_repo" USING btree ( - "pr_cntrb_id" "pg_catalog"."int8_ops" ASC NULLS LAST -); -COMMENT ON COLUMN "augur_data"."pull_request_repo"."pr_repo_head_or_base" IS 'For ease of validation checking, we should determine if the repository referenced is the head or base of the pull request. Each pull request should have one and only one of these, which is not enforcable easily in the database.'; -COMMENT ON TABLE "augur_data"."pull_request_repo" IS 'This table is for storing information about forks that exist as part of a pull request. Generally we do not want to track these like ordinary repositories. '; - -CREATE TABLE IF NOT EXISTS "augur_data"."pull_request_reviewers" ( - "pr_reviewer_map_id" int8 NOT NULL DEFAULT nextval('"augur_data".pull_request_reviewers_pr_reviewer_map_id_seq'::regclass), - "pull_request_id" int8, - "cntrb_id" int8, - "tool_source" varchar(255) COLLATE "pg_catalog"."default", - "tool_version" varchar(255) COLLATE "pg_catalog"."default", - "data_source" varchar(255) COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0) DEFAULT CURRENT_TIMESTAMP, - CONSTRAINT "pull_request_reviewers_pkey" PRIMARY KEY ("pr_reviewer_map_id") -); -ALTER TABLE IF EXISTS "augur_data"."pull_request_reviewers" OWNER TO "augur"; -CREATE INDEX "pr-reviewers-cntrb-idx1" ON "augur_data"."pull_request_reviewers" USING btree ( - "cntrb_id" "pg_catalog"."int8_ops" ASC NULLS LAST -); - -CREATE TABLE IF NOT EXISTS "augur_data"."pull_request_teams" ( - "pr_team_id" int8 NOT NULL DEFAULT nextval('"augur_data".pull_request_teams_pr_team_id_seq'::regclass), - "pull_request_id" int8, - "pr_src_team_id" int8, - "pr_src_team_node" varchar COLLATE "pg_catalog"."default", - "pr_src_team_url" varchar COLLATE "pg_catalog"."default", - "pr_team_name" varchar COLLATE "pg_catalog"."default", - "pr_team_slug" varchar COLLATE "pg_catalog"."default", - "pr_team_description" varchar COLLATE "pg_catalog"."default", - "pr_team_privacy" varchar COLLATE "pg_catalog"."default", - "pr_team_permission" varchar COLLATE "pg_catalog"."default", - "pr_team_src_members_url" varchar COLLATE "pg_catalog"."default", - "pr_team_src_repositories_url" varchar COLLATE "pg_catalog"."default", - "pr_team_parent_id" int8, - "tool_source" varchar(255) COLLATE "pg_catalog"."default", - "tool_version" varchar(255) COLLATE "pg_catalog"."default", - "data_source" varchar(255) COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0) DEFAULT CURRENT_TIMESTAMP, - CONSTRAINT "pull_request_teams_pkey" PRIMARY KEY ("pr_team_id") -); -ALTER TABLE IF EXISTS "augur_data"."pull_request_teams" OWNER TO "augur"; - -CREATE TABLE IF NOT EXISTS "augur_data"."pull_requests" ( - "pull_request_id" int8 NOT NULL DEFAULT nextval('"augur_data".pull_requests_pull_request_id_seq'::regclass), - "pr_url" varchar COLLATE "pg_catalog"."default", - "pr_src_id" int8, - "pr_src_node_id" varchar COLLATE "pg_catalog"."default", - "pr_html_url" varchar COLLATE "pg_catalog"."default", - "pr_diff_url" varchar COLLATE "pg_catalog"."default", - "pr_patch_url" varchar COLLATE "pg_catalog"."default", - "pr_issue_url" varchar COLLATE "pg_catalog"."default", - "pr_augur_issue_id" int8, - "pr_src_number" int8, - "pr_src_state" varchar COLLATE "pg_catalog"."default", - "pr_src_locked" bool, - "pr_src_title" varchar COLLATE "pg_catalog"."default", - "pr_augur_contributor_id" int8, - "pr_body" text COLLATE "pg_catalog"."default", - "pr_created_at" timestamp(0), - "pr_updated_at" timestamp(0), - "pr_closed_at" timestamp(0), - "pr_merged_at" timestamp(0), - "pr_merge_commit_sha" varchar COLLATE "pg_catalog"."default", - "pr_teams" int8, - "pr_milestone" varchar COLLATE "pg_catalog"."default", - "pr_commits_url" varchar COLLATE "pg_catalog"."default", - "pr_review_comments_url" varchar COLLATE "pg_catalog"."default", - "pr_review_comment_url" varchar COLLATE "pg_catalog"."default", - "pr_comments_url" varchar COLLATE "pg_catalog"."default", - "pr_statuses_url" varchar COLLATE "pg_catalog"."default", - "pr_meta_head_id" int8, - "pr_meta_base_id" int8, - "pr_src_issue_url" varchar COLLATE "pg_catalog"."default", - "pr_src_comments_url" varchar COLLATE "pg_catalog"."default", - "pr_src_review_comments_url" varchar COLLATE "pg_catalog"."default", - "pr_src_commits_url" varchar COLLATE "pg_catalog"."default", - "pr_src_statuses_url" varchar COLLATE "pg_catalog"."default", - "pr_src_author_association" varchar COLLATE "pg_catalog"."default", - "tool_source" varchar(255) COLLATE "pg_catalog"."default", - "tool_version" varchar(255) COLLATE "pg_catalog"."default", - "data_source" varchar(255) COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0) DEFAULT CURRENT_TIMESTAMP, - "repo_id" int8, - CONSTRAINT "pull_requests_pkey" PRIMARY KEY ("pull_request_id") -); -ALTER TABLE IF EXISTS "augur_data"."pull_requests" OWNER TO "augur"; -CREATE INDEX "id_node" ON "augur_data"."pull_requests" USING btree ( - "pr_src_id" "pg_catalog"."int8_ops" DESC NULLS FIRST, - "pr_src_node_id" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" DESC NULLS LAST -); -COMMENT ON COLUMN "augur_data"."pull_requests"."pr_src_id" IS 'The pr_src_id is unique across all of github.'; -COMMENT ON COLUMN "augur_data"."pull_requests"."pr_augur_issue_id" IS 'This is to link to the augur stored related issue'; -COMMENT ON COLUMN "augur_data"."pull_requests"."pr_src_number" IS 'The pr_src_number is unique within a repository.'; -COMMENT ON COLUMN "augur_data"."pull_requests"."pr_augur_contributor_id" IS 'This is to link to the augur contributor record. '; -COMMENT ON COLUMN "augur_data"."pull_requests"."pr_teams" IS 'One to many with pull request teams. '; -COMMENT ON COLUMN "augur_data"."pull_requests"."pr_review_comment_url" IS 'This is a field with limited utility. It does expose how to access a specific comment if needed with parameters. If the source changes URL structure, it may be useful'; -COMMENT ON COLUMN "augur_data"."pull_requests"."pr_meta_head_id" IS 'The metadata for the head repo that links to the pull_request_meta table. '; -COMMENT ON COLUMN "augur_data"."pull_requests"."pr_meta_base_id" IS 'The metadata for the base repo that links to the pull_request_meta table. '; - -CREATE TABLE IF NOT EXISTS "augur_data"."releases" ( - "release_id" char(64) COLLATE "pg_catalog"."default" NOT NULL DEFAULT nextval('"augur_data".releases_release_id_seq'::regclass), - "repo_id" int8 NOT NULL, - "release_name" varchar(255) COLLATE "pg_catalog"."default", - "release_description" varchar COLLATE "pg_catalog"."default", - "release_author" varchar(255) COLLATE "pg_catalog"."default", - "release_created_at" timestamp(6), - "release_published_at" timestamp(6), - "release_updated_at" timestamp(6), - "release_is_draft" bool, - "release_is_prerelease" bool, - "release_tag_name" varchar(255) COLLATE "pg_catalog"."default", - "release_url" varchar(255) COLLATE "pg_catalog"."default", - "tool_source" varchar(255) COLLATE "pg_catalog"."default", - "tool_version" varchar(255) COLLATE "pg_catalog"."default", - "data_source" varchar(255) COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(6) DEFAULT CURRENT_TIMESTAMP, - "tag_only" bool, - CONSTRAINT "releases_pkey" PRIMARY KEY ("release_id") -); -ALTER TABLE IF EXISTS "augur_data"."releases" OWNER TO "augur"; - -CREATE TABLE IF NOT EXISTS "augur_data"."repo" ( - "repo_id" int8 NOT NULL DEFAULT nextval('"augur_data".repo_repo_id_seq'::regclass), - "repo_group_id" int8 NOT NULL, - "repo_git" varchar COLLATE "pg_catalog"."default" NOT NULL, - "repo_path" varchar(256) COLLATE "pg_catalog"."default" DEFAULT 'NULL'::character varying, - "repo_name" varchar COLLATE "pg_catalog"."default" DEFAULT 'NULL'::character varying, - "repo_added" timestamp(0) NOT NULL DEFAULT CURRENT_TIMESTAMP, - "repo_status" varchar(32) COLLATE "pg_catalog"."default" NOT NULL DEFAULT 'New'::character varying, - "repo_type" varchar COLLATE "pg_catalog"."default" DEFAULT ''::character varying, - "url" varchar(255) COLLATE "pg_catalog"."default", - "owner_id" int4, - "description" varchar COLLATE "pg_catalog"."default", - "primary_language" varchar(255) COLLATE "pg_catalog"."default", - "created_at" varchar(255) COLLATE "pg_catalog"."default", - "forked_from" varchar COLLATE "pg_catalog"."default", - "updated_at" timestamp(0), - "tool_source" varchar(255) COLLATE "pg_catalog"."default", - "tool_version" varchar(255) COLLATE "pg_catalog"."default", - "data_source" varchar(255) COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0), - "repo_archived" int4, - "repo_archived_date_collected" timestamptz(0), - CONSTRAINT "repounique" PRIMARY KEY ("repo_id") -); -ALTER TABLE IF EXISTS "augur_data"."repo" OWNER TO "augur"; -CREATE INDEX "forked" ON "augur_data"."repo" USING btree ( - "forked_from" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); -CREATE INDEX "repogitindexrep" ON "augur_data"."repo" USING btree ( - "repo_git" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); -CREATE INDEX "reponameindex" ON "augur_data"."repo" USING hash ( - "repo_name" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" -); -CREATE INDEX "reponameindexbtree" ON "augur_data"."repo" USING btree ( - "repo_name" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); -CREATE INDEX "rggrouponrepoindex" ON "augur_data"."repo" USING btree ( - "repo_group_id" "pg_catalog"."int8_ops" ASC NULLS LAST -); -CREATE UNIQUE INDEX "therepo" ON "augur_data"."repo" USING btree ( - "repo_id" "pg_catalog"."int8_ops" ASC NULLS LAST -); -COMMENT ON COLUMN "augur_data"."repo"."repo_type" IS 'This field is intended to indicate if the repository is the "main instance" of a repository in cases where implementations choose to add the same repository to more than one repository group. In cases where the repository group is of rg_type Github Organization then this repo_type should be "primary". In other cases the repo_type should probably be "user created". We made this a varchar in order to hold open the possibility that there are additional repo_types we have not thought about. '; -COMMENT ON TABLE "augur_data"."repo" IS 'This table is a combination of the columns in Facade’s repo table and GHTorrent’s projects table. '; - -CREATE TABLE IF NOT EXISTS "augur_data"."repo_badging" ( - "badge_collection_id" int8 NOT NULL DEFAULT nextval('"augur_data".repo_badging_badge_collection_id_seq'::regclass), - "repo_id" int8, - "created_at" timestamp(0) DEFAULT CURRENT_TIMESTAMP, - "tool_source" varchar(255) COLLATE "pg_catalog"."default", - "tool_version" varchar(255) COLLATE "pg_catalog"."default", - "data_source" varchar(255) COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0) DEFAULT CURRENT_TIMESTAMP, - "data" jsonb, - CONSTRAINT "repo_badging_pkey" PRIMARY KEY ("badge_collection_id") -); -ALTER TABLE IF EXISTS "augur_data"."repo_badging" OWNER TO "augur"; -COMMENT ON TABLE "augur_data"."repo_badging" IS 'This will be collected from the LF’s Badging API -https://bestpractices.coreinfrastructure.org/projects.json?pq=https%3A%2F%2Fgithub.com%2Fchaoss%2Faugur -'; - -CREATE TABLE IF NOT EXISTS "augur_data"."repo_cluster_messages" ( - "msg_cluster_id" int8 NOT NULL DEFAULT nextval('"augur_data".repo_cluster_messages_msg_cluster_id_seq'::regclass), - "repo_id" int8, - "cluster_content" int4, - "cluster_mechanism" int4, - "tool_source" varchar COLLATE "pg_catalog"."default", - "tool_version" varchar COLLATE "pg_catalog"."default", - "data_source" varchar COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0) DEFAULT CURRENT_TIMESTAMP, - CONSTRAINT "repo_cluster_messages_pkey" PRIMARY KEY ("msg_cluster_id") -); -ALTER TABLE IF EXISTS "augur_data"."repo_cluster_messages" OWNER TO "augur"; - -CREATE TABLE IF NOT EXISTS "augur_data"."repo_group_insights" ( - "rgi_id" int8 NOT NULL DEFAULT nextval('"augur_data".repo_group_insights_rgi_id_seq'::regclass), - "repo_group_id" int8, - "rgi_metric" varchar COLLATE "pg_catalog"."default", - "rgi_value" varchar COLLATE "pg_catalog"."default", - "cms_id" int8, - "rgi_fresh" bool, - "tool_source" varchar COLLATE "pg_catalog"."default", - "tool_version" varchar COLLATE "pg_catalog"."default", - "data_source" varchar COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0) DEFAULT CURRENT_TIMESTAMP, - CONSTRAINT "repo_group_insights_pkey" PRIMARY KEY ("rgi_id") -); -ALTER TABLE IF EXISTS "augur_data"."repo_group_insights" OWNER TO "augur"; -COMMENT ON COLUMN "augur_data"."repo_group_insights"."rgi_fresh" IS 'false if the date is before the statistic that triggered the insight, true if after. This allows us to automatically display only "fresh insights" and avoid displaying "stale insights". The insight worker will populate this table. '; -COMMENT ON TABLE "augur_data"."repo_group_insights" IS 'This table is output from an analytical worker inside of Augur. It runs through the different metrics on a REPOSITORY_GROUP and identifies the five to ten most “interesting” metrics as defined by some kind of delta or other factor. The algorithm is going to evolve. - -Worker Design Notes: The idea is that the "insight worker" will scan through a bunch of active metrics or "synthetic metrics" to list the most important insights. '; - -CREATE TABLE IF NOT EXISTS "augur_data"."repo_groups" ( - "repo_group_id" int8 NOT NULL DEFAULT nextval('"augur_data".repo_groups_repo_group_id_seq'::regclass), - "rg_name" varchar COLLATE "pg_catalog"."default" NOT NULL, - "rg_description" varchar COLLATE "pg_catalog"."default" DEFAULT 'NULL'::character varying, - "rg_website" varchar(128) COLLATE "pg_catalog"."default" DEFAULT 'NULL'::character varying, - "rg_recache" int2 DEFAULT 1, - "rg_last_modified" timestamp(0) NOT NULL DEFAULT CURRENT_TIMESTAMP, - "rg_type" varchar COLLATE "pg_catalog"."default", - "tool_source" varchar(255) COLLATE "pg_catalog"."default", - "tool_version" varchar(255) COLLATE "pg_catalog"."default", - "data_source" varchar(255) COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0), - CONSTRAINT "rgid" PRIMARY KEY ("repo_group_id") -); -ALTER TABLE IF EXISTS "augur_data"."repo_groups" OWNER TO "augur"; -CREATE UNIQUE INDEX "rgidm" ON "augur_data"."repo_groups" USING btree ( - "repo_group_id" "pg_catalog"."int8_ops" ASC NULLS LAST -); -CREATE INDEX "rgnameindex" ON "augur_data"."repo_groups" USING btree ( - "rg_name" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); -COMMENT ON TABLE "augur_data"."repo_groups" IS 'rg_type is intended to be either a GitHub Organization or a User Created Repo Group. '; - -CREATE TABLE IF NOT EXISTS "augur_data"."repo_groups_list_serve" ( - "rgls_id" int8 NOT NULL DEFAULT nextval('"augur_data".repo_groups_list_serve_rgls_id_seq'::regclass), - "repo_group_id" int8 NOT NULL, - "rgls_name" varchar(255) COLLATE "pg_catalog"."default", - "rgls_description" varchar(3000) COLLATE "pg_catalog"."default", - "rgls_sponsor" varchar(255) COLLATE "pg_catalog"."default", - "rgls_email" varchar(255) COLLATE "pg_catalog"."default", - "tool_source" varchar(255) COLLATE "pg_catalog"."default", - "tool_version" varchar(255) COLLATE "pg_catalog"."default", - "data_source" varchar(255) COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0), - CONSTRAINT "repo_groups_list_serve_pkey" PRIMARY KEY ("rgls_id"), - CONSTRAINT "rglistserve" UNIQUE ("rgls_id", "repo_group_id") -); -ALTER TABLE IF EXISTS "augur_data"."repo_groups_list_serve" OWNER TO "augur"; -CREATE UNIQUE INDEX "lister" ON "augur_data"."repo_groups_list_serve" USING btree ( - "rgls_id" "pg_catalog"."int8_ops" ASC NULLS LAST, - "repo_group_id" "pg_catalog"."int8_ops" ASC NULLS LAST -); - -CREATE TABLE IF NOT EXISTS "augur_data"."repo_info" ( - "repo_info_id" int8 NOT NULL DEFAULT nextval('"augur_data".repo_info_repo_info_id_seq'::regclass), - "repo_id" int8 NOT NULL, - "last_updated" timestamp(0) DEFAULT NULL::timestamp without time zone, - "issues_enabled" varchar(255) COLLATE "pg_catalog"."default" DEFAULT NULL::character varying, - "open_issues" int4, - "pull_requests_enabled" varchar(255) COLLATE "pg_catalog"."default" DEFAULT NULL::character varying, - "wiki_enabled" varchar(255) COLLATE "pg_catalog"."default" DEFAULT NULL::character varying, - "pages_enabled" varchar(255) COLLATE "pg_catalog"."default" DEFAULT NULL::character varying, - "fork_count" int4, - "default_branch" varchar(255) COLLATE "pg_catalog"."default" DEFAULT NULL::character varying, - "watchers_count" int4, - "UUID" int4, - "license" varchar(255) COLLATE "pg_catalog"."default" DEFAULT NULL::character varying, - "stars_count" int4, - "committers_count" int4, - "issue_contributors_count" varchar(255) COLLATE "pg_catalog"."default", - "changelog_file" varchar(255) COLLATE "pg_catalog"."default" DEFAULT NULL::character varying, - "contributing_file" varchar(255) COLLATE "pg_catalog"."default" DEFAULT NULL::character varying, - "license_file" varchar(255) COLLATE "pg_catalog"."default" DEFAULT NULL::character varying, - "code_of_conduct_file" varchar(255) COLLATE "pg_catalog"."default" DEFAULT NULL::character varying, - "security_issue_file" varchar(255) COLLATE "pg_catalog"."default" DEFAULT NULL::character varying, - "security_audit_file" varchar(255) COLLATE "pg_catalog"."default" DEFAULT NULL::character varying, - "status" varchar(255) COLLATE "pg_catalog"."default" DEFAULT NULL::character varying, - "keywords" varchar(255) COLLATE "pg_catalog"."default" DEFAULT NULL::character varying, - "tool_source" varchar(255) COLLATE "pg_catalog"."default", - "tool_version" varchar(255) COLLATE "pg_catalog"."default", - "data_source" varchar(255) COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0) DEFAULT CURRENT_TIMESTAMP, - "commit_count" int8, - "issues_count" int8, - "issues_closed" int8, - "pull_request_count" int8, - "pull_requests_open" int8, - "pull_requests_closed" int8, - "pull_requests_merged" int8, - CONSTRAINT "repo_info_pkey" PRIMARY KEY ("repo_info_id") -); -ALTER TABLE IF EXISTS "augur_data"."repo_info" OWNER TO "augur"; - -CREATE TABLE IF NOT EXISTS "augur_data"."repo_insights" ( - "ri_id" int8 NOT NULL DEFAULT nextval('"augur_data".repo_insights_ri_id_seq'::regclass), - "repo_id" int8, - "ri_metric" varchar COLLATE "pg_catalog"."default", - "ri_value" varchar(255) COLLATE "pg_catalog"."default", - "ri_date" timestamp(0), - "ri_fresh" bool, - "tool_source" varchar COLLATE "pg_catalog"."default", - "tool_version" varchar COLLATE "pg_catalog"."default", - "data_source" varchar COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0) DEFAULT CURRENT_TIMESTAMP, - "ri_score" numeric, - "ri_field" varchar(255) COLLATE "pg_catalog"."default", - "ri_detection_method" varchar(255) COLLATE "pg_catalog"."default", - CONSTRAINT "repo_insights_pkey" PRIMARY KEY ("ri_id") -); -ALTER TABLE IF EXISTS "augur_data"."repo_insights" OWNER TO "augur"; -COMMENT ON COLUMN "augur_data"."repo_insights"."ri_fresh" IS 'false if the date is before the statistic that triggered the insight, true if after. This allows us to automatically display only "fresh insights" and avoid displaying "stale insights". The insight worker will populate this table. '; -COMMENT ON TABLE "augur_data"."repo_insights" IS 'This table is output from an analytical worker inside of Augur. It runs through the different metrics on a repository and identifies the five to ten most “interesting” metrics as defined by some kind of delta or other factor. The algorithm is going to evolve. - -Worker Design Notes: The idea is that the "insight worker" will scan through a bunch of active metrics or "synthetic metrics" to list the most important insights. '; - -CREATE TABLE IF NOT EXISTS "augur_data"."repo_insights_records" ( - "ri_id" int8 NOT NULL DEFAULT nextval('"augur_data".repo_insights_records_ri_id_seq'::regclass), - "repo_id" int8, - "ri_metric" varchar COLLATE "pg_catalog"."default", - "ri_field" varchar COLLATE "pg_catalog"."default", - "ri_value" varchar COLLATE "pg_catalog"."default", - "ri_date" timestamp(6), - "ri_score" float8, - "ri_detection_method" varchar COLLATE "pg_catalog"."default", - "tool_source" varchar COLLATE "pg_catalog"."default", - "tool_version" varchar COLLATE "pg_catalog"."default", - "data_source" varchar COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(6) DEFAULT CURRENT_TIMESTAMP, - CONSTRAINT "repo_insights_records_pkey" PRIMARY KEY ("ri_id") -); -ALTER TABLE IF EXISTS "augur_data"."repo_insights_records" OWNER TO "augur"; -CREATE INDEX "dater" ON "augur_data"."repo_insights_records" USING btree ( - "ri_date" "pg_catalog"."timestamp_ops" ASC NULLS LAST -); -COMMENT ON COLUMN "augur_data"."repo_insights_records"."ri_id" IS 'Primary key. '; -COMMENT ON COLUMN "augur_data"."repo_insights_records"."repo_id" IS 'Refers to repo table primary key. Will have a foreign key'; -COMMENT ON COLUMN "augur_data"."repo_insights_records"."ri_metric" IS 'The metric endpoint'; -COMMENT ON COLUMN "augur_data"."repo_insights_records"."ri_field" IS 'The field in the metric endpoint'; -COMMENT ON COLUMN "augur_data"."repo_insights_records"."ri_value" IS 'The value of the endpoint in ri_field'; -COMMENT ON COLUMN "augur_data"."repo_insights_records"."ri_date" IS 'The date the insight is for; in other words, some anomaly occurred on this date. '; -COMMENT ON COLUMN "augur_data"."repo_insights_records"."ri_score" IS 'A Score, derived from the algorithm used. '; -COMMENT ON COLUMN "augur_data"."repo_insights_records"."ri_detection_method" IS 'A confidence interval or other expression of the type of threshold and the value of a threshold met in order for it to be "an insight". Example. "95% confidence interval". '; -COMMENT ON COLUMN "augur_data"."repo_insights_records"."tool_source" IS 'Standard Augur Metadata'; -COMMENT ON COLUMN "augur_data"."repo_insights_records"."tool_version" IS 'Standard Augur Metadata'; -COMMENT ON COLUMN "augur_data"."repo_insights_records"."data_source" IS 'Standard Augur Metadata'; -COMMENT ON COLUMN "augur_data"."repo_insights_records"."data_collection_date" IS 'Standard Augur Metadata'; - -CREATE TABLE IF NOT EXISTS "augur_data"."repo_labor" ( - "repo_labor_id" int8 NOT NULL DEFAULT nextval('"augur_data".repo_labor_repo_labor_id_seq'::regclass), - "repo_id" int8, - "repo_clone_date" timestamp(0), - "rl_analysis_date" timestamp(0), - "programming_language" varchar(255) COLLATE "pg_catalog"."default" DEFAULT NULL::character varying, - "file_path" varchar(500) COLLATE "pg_catalog"."default" DEFAULT NULL::character varying, - "file_name" varchar(255) COLLATE "pg_catalog"."default" DEFAULT NULL::character varying, - "total_lines" int4, - "code_lines" int4, - "comment_lines" int4, - "blank_lines" int4, - "code_complexity" int4, - "repo_url" varchar(500) COLLATE "pg_catalog"."default" DEFAULT NULL::character varying, - "tool_source" varchar(255) COLLATE "pg_catalog"."default", - "tool_version" varchar(255) COLLATE "pg_catalog"."default", - "data_source" varchar(255) COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0), - CONSTRAINT "repo_labor_pkey" PRIMARY KEY ("repo_labor_id") -); -ALTER TABLE IF EXISTS "augur_data"."repo_labor" OWNER TO "augur"; -COMMENT ON COLUMN "augur_data"."repo_labor"."repo_url" IS 'This is a convenience column to simplify analysis against external datasets'; -COMMENT ON TABLE "augur_data"."repo_labor" IS 'repo_labor is a derivative of tables used to store scc code and complexity counting statistics that are inputs to labor analysis, which are components of CHAOSS value metric calculations. '; - -CREATE TABLE IF NOT EXISTS "augur_data"."repo_meta" ( - "repo_id" int8 NOT NULL, - "rmeta_id" int8 NOT NULL DEFAULT nextval('"augur_data".repo_meta_rmeta_id_seq'::regclass), - "rmeta_name" varchar(255) COLLATE "pg_catalog"."default", - "rmeta_value" varchar(255) COLLATE "pg_catalog"."default" DEFAULT 0, - "tool_source" varchar(255) COLLATE "pg_catalog"."default", - "tool_version" varchar(255) COLLATE "pg_catalog"."default", - "data_source" varchar(255) COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0), - CONSTRAINT "repo_meta_pkey" PRIMARY KEY ("rmeta_id", "repo_id") -); -ALTER TABLE IF EXISTS "augur_data"."repo_meta" OWNER TO "augur"; -COMMENT ON TABLE "augur_data"."repo_meta" IS 'Project Languages'; - -CREATE TABLE IF NOT EXISTS "augur_data"."repo_sbom_scans" ( - "rsb_id" int8 NOT NULL DEFAULT nextval('"augur_data".repo_sbom_scans_rsb_id_seq'::regclass), - "repo_id" int4, - "sbom_scan" json, - CONSTRAINT "repo_sbom_scans_pkey" PRIMARY KEY ("rsb_id") -); -ALTER TABLE IF EXISTS "augur_data"."repo_sbom_scans" OWNER TO "augur"; - -CREATE TABLE IF NOT EXISTS "augur_data"."repo_stats" ( - "repo_id" int8 NOT NULL, - "rstat_id" int8 NOT NULL DEFAULT nextval('"augur_data".repo_stats_rstat_id_seq'::regclass), - "rstat_name" varchar(400) COLLATE "pg_catalog"."default", - "rstat_value" int8, - "tool_source" varchar(255) COLLATE "pg_catalog"."default", - "tool_version" varchar(255) COLLATE "pg_catalog"."default", - "data_source" varchar(255) COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0), - CONSTRAINT "repo_stats_pkey" PRIMARY KEY ("rstat_id", "repo_id") -); -ALTER TABLE IF EXISTS "augur_data"."repo_stats" OWNER TO "augur"; -COMMENT ON TABLE "augur_data"."repo_stats" IS 'Project Watchers'; - -CREATE TABLE IF NOT EXISTS "augur_data"."repo_test_coverage" ( - "repo_id" int8 NOT NULL DEFAULT nextval('"augur_data".repo_test_coverage_repo_id_seq'::regclass), - "repo_clone_date" timestamp(0), - "rtc_analysis_date" timestamp(0), - "programming_language" varchar COLLATE "pg_catalog"."default", - "file_path" varchar COLLATE "pg_catalog"."default", - "file_name" varchar COLLATE "pg_catalog"."default", - "testing_tool" varchar COLLATE "pg_catalog"."default", - "file_statement_count" int8, - "file_subroutine_count" int8, - "file_statements_tested" int8, - "file_subroutines_tested" int8, - "tool_source" varchar COLLATE "pg_catalog"."default", - "tool_version" varchar COLLATE "pg_catalog"."default", - "data_source" varchar COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0) DEFAULT CURRENT_TIMESTAMP, - CONSTRAINT "repo_test_coverage_pkey" PRIMARY KEY ("repo_id") -); -ALTER TABLE IF EXISTS "augur_data"."repo_test_coverage" OWNER TO "augur"; - -CREATE TABLE IF NOT EXISTS "augur_data"."repo_topic" ( - "repo_topic_id" int8 NOT NULL DEFAULT nextval('"augur_data".repo_topic_repo_topic_id_seq'::regclass), - "repo_id" int4, - "topic_id" int4, - "topic_prob" float8, - "tool_source" varchar COLLATE "pg_catalog"."default", - "tool_version" varchar COLLATE "pg_catalog"."default", - "data_source" varchar COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0) DEFAULT CURRENT_TIMESTAMP, - CONSTRAINT "repo_topic_pkey" PRIMARY KEY ("repo_topic_id") -); -ALTER TABLE IF EXISTS "augur_data"."repo_topic" OWNER TO "augur"; - -CREATE TABLE IF NOT EXISTS "augur_data"."repos_fetch_log" ( - "repos_id" int4 NOT NULL, - "status" varchar(128) COLLATE "pg_catalog"."default" NOT NULL, - "date" timestamp(0) NOT NULL DEFAULT CURRENT_TIMESTAMP -); -ALTER TABLE IF EXISTS "augur_data"."repos_fetch_log" OWNER TO "augur"; -CREATE INDEX "repos_id,status" ON "augur_data"."repos_fetch_log" USING btree ( - "repos_id" "pg_catalog"."int4_ops" ASC NULLS LAST, - "status" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); -CREATE INDEX "repos_id,statusops" ON "augur_data"."repos_fetch_log" USING btree ( - "repos_id" "pg_catalog"."int4_ops" ASC NULLS LAST, - "status" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); - -CREATE TABLE IF NOT EXISTS "augur_data"."settings" ( - "id" int4 NOT NULL, - "setting" varchar(32) COLLATE "pg_catalog"."default" NOT NULL, - "value" varchar COLLATE "pg_catalog"."default" NOT NULL, - "last_modified" timestamp(0) NOT NULL DEFAULT CURRENT_TIMESTAMP, - CONSTRAINT "settings_pkey" PRIMARY KEY ("id") -); -ALTER TABLE IF EXISTS "augur_data"."settings" OWNER TO "augur"; - -CREATE TABLE IF NOT EXISTS "augur_data"."topic_words" ( - "topic_words_id" int8 NOT NULL DEFAULT nextval('"augur_data".topic_words_topic_words_id_seq'::regclass), - "topic_id" int8, - "word" varchar COLLATE "pg_catalog"."default", - "word_prob" float8, - "tool_source" varchar COLLATE "pg_catalog"."default", - "tool_version" varchar COLLATE "pg_catalog"."default", - "data_source" varchar COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0) DEFAULT CURRENT_TIMESTAMP, - CONSTRAINT "topic_words_pkey" PRIMARY KEY ("topic_words_id") -); -ALTER TABLE IF EXISTS "augur_data"."topic_words" OWNER TO "augur"; - -CREATE TABLE IF NOT EXISTS "augur_data"."unknown_cache" ( - "type" varchar(10) COLLATE "pg_catalog"."default" NOT NULL, - "repo_group_id" int4 NOT NULL, - "email" varchar(128) COLLATE "pg_catalog"."default" NOT NULL, - "domain" varchar(128) COLLATE "pg_catalog"."default" DEFAULT 'NULL'::character varying, - "added" int8 NOT NULL, - "tool_source" varchar(255) COLLATE "pg_catalog"."default", - "tool_version" varchar(255) COLLATE "pg_catalog"."default", - "data_source" varchar(255) COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0) DEFAULT CURRENT_TIMESTAMP -); -ALTER TABLE IF EXISTS "augur_data"."unknown_cache" OWNER TO "augur"; -CREATE INDEX "type,projects_id" ON "augur_data"."unknown_cache" USING btree ( - "type" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST, - "repo_group_id" "pg_catalog"."int4_ops" ASC NULLS LAST -); - -CREATE TABLE IF NOT EXISTS "augur_data"."utility_log" ( - "id" int8 NOT NULL DEFAULT nextval('"augur_data".utility_log_id_seq1'::regclass), - "level" varchar(8) COLLATE "pg_catalog"."default" NOT NULL, - "status" varchar COLLATE "pg_catalog"."default" NOT NULL, - "attempted" timestamp(0) NOT NULL DEFAULT CURRENT_TIMESTAMP, - CONSTRAINT "utility_log_pkey" PRIMARY KEY ("id") -); -ALTER TABLE IF EXISTS "augur_data"."utility_log" OWNER TO "augur"; - -CREATE TABLE IF NOT EXISTS "augur_data"."working_commits" ( - "repos_id" int4 NOT NULL, - "working_commit" varchar(40) COLLATE "pg_catalog"."default" DEFAULT 'NULL'::character varying -); -ALTER TABLE IF EXISTS "augur_data"."working_commits" OWNER TO "augur"; - -CREATE TABLE IF NOT EXISTS "augur_operations"."all" ( - "Name" varchar COLLATE "pg_catalog"."default", - "Bytes" varchar COLLATE "pg_catalog"."default", - "Lines" varchar COLLATE "pg_catalog"."default", - "Code" varchar COLLATE "pg_catalog"."default", - "Comment" varchar COLLATE "pg_catalog"."default", - "Blank" varchar COLLATE "pg_catalog"."default", - "Complexity" varchar COLLATE "pg_catalog"."default", - "Count" varchar COLLATE "pg_catalog"."default", - "WeightedComplexity" varchar COLLATE "pg_catalog"."default", - "Files" varchar COLLATE "pg_catalog"."default" -); -ALTER TABLE IF EXISTS "augur_operations"."all" OWNER TO "augur"; - -CREATE TABLE IF NOT EXISTS "augur_operations"."augur_settings" ( - "id" int8 NOT NULL DEFAULT nextval('"augur_operations".augur_settings_id_seq'::regclass), - "setting" varchar COLLATE "pg_catalog"."default", - "value" varchar COLLATE "pg_catalog"."default", - "last_modified" timestamp(0) DEFAULT CURRENT_DATE, - CONSTRAINT "augur_settings_pkey" PRIMARY KEY ("id") -); -ALTER TABLE IF EXISTS "augur_operations"."augur_settings" OWNER TO "augur"; -COMMENT ON TABLE "augur_operations"."augur_settings" IS 'Augur settings include the schema version, and the Augur API Key as of 10/25/2020. Future augur settings may be stored in this table, which has the basic structure of a name-value pair. '; - -CREATE TABLE IF NOT EXISTS "augur_operations"."repos_fetch_log" ( - "repos_id" int4 NOT NULL, - "status" varchar(128) COLLATE "pg_catalog"."default" NOT NULL, - "date" timestamp(0) NOT NULL DEFAULT CURRENT_TIMESTAMP -); -ALTER TABLE IF EXISTS "augur_operations"."repos_fetch_log" OWNER TO "augur"; -CREATE INDEX "repos_id,statusops" ON "augur_operations"."repos_fetch_log" USING btree ( - "repos_id" "pg_catalog"."int4_ops" ASC NULLS LAST, - "status" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); -COMMENT ON TABLE "augur_operations"."repos_fetch_log" IS 'For future use when we move all working tables to the augur_operations schema. '; - -CREATE TABLE IF NOT EXISTS "augur_operations"."worker_history" ( - "history_id" int8 NOT NULL DEFAULT nextval('"augur_operations".gh_worker_history_history_id_seq'::regclass), - "repo_id" int8, - "worker" varchar(255) COLLATE "pg_catalog"."default" NOT NULL, - "job_model" varchar(255) COLLATE "pg_catalog"."default" NOT NULL, - "oauth_id" int4 NOT NULL, - "timestamp" timestamp(0) NOT NULL, - "status" varchar(7) COLLATE "pg_catalog"."default" NOT NULL, - "total_results" int4, - CONSTRAINT "history_pkey" PRIMARY KEY ("history_id") -); -ALTER TABLE IF EXISTS "augur_operations"."worker_history" OWNER TO "augur"; -COMMENT ON TABLE "augur_operations"."worker_history" IS 'This table stores the complete history of job execution, including success and failure. It is useful for troubleshooting. '; - -CREATE TABLE IF NOT EXISTS "augur_operations"."worker_job" ( - "job_model" varchar(255) COLLATE "pg_catalog"."default" NOT NULL, - "state" int4 NOT NULL DEFAULT 0, - "zombie_head" int4, - "since_id_str" varchar(255) COLLATE "pg_catalog"."default" NOT NULL DEFAULT '0'::character varying, - "description" varchar(255) COLLATE "pg_catalog"."default" DEFAULT 'None'::character varying, - "last_count" int4, - "last_run" timestamp(0) DEFAULT NULL::timestamp without time zone, - "analysis_state" int4 DEFAULT 0, - "oauth_id" int4 NOT NULL, - CONSTRAINT "job_pkey" PRIMARY KEY ("job_model") -); -ALTER TABLE IF EXISTS "augur_operations"."worker_job" OWNER TO "augur"; -COMMENT ON TABLE "augur_operations"."worker_job" IS 'This table stores the jobs workers collect data for. A job is found in the code, and in the augur.config.json under the construct of a “model”. '; - -CREATE TABLE IF NOT EXISTS "augur_operations"."worker_oauth" ( - "oauth_id" int8 NOT NULL DEFAULT nextval('"augur_operations".worker_oauth_oauth_id_seq'::regclass), - "name" varchar(255) COLLATE "pg_catalog"."default" NOT NULL, - "consumer_key" varchar(255) COLLATE "pg_catalog"."default" NOT NULL, - "consumer_secret" varchar(255) COLLATE "pg_catalog"."default" NOT NULL, - "access_token" varchar(255) COLLATE "pg_catalog"."default" NOT NULL, - "access_token_secret" varchar(255) COLLATE "pg_catalog"."default" NOT NULL, - "repo_directory" varchar COLLATE "pg_catalog"."default", - "platform" varchar COLLATE "pg_catalog"."default" DEFAULT 'github'::character varying, - CONSTRAINT "worker_oauth_pkey" PRIMARY KEY ("oauth_id") -); -ALTER TABLE IF EXISTS "augur_operations"."worker_oauth" OWNER TO "augur"; -COMMENT ON TABLE "augur_operations"."worker_oauth" IS 'This table stores credentials for retrieving data from platform API’s. Entries in this table must comply with the terms of service for each platform. '; - -CREATE TABLE IF NOT EXISTS "augur_operations"."worker_settings_facade" ( - "id" int4 NOT NULL, - "setting" varchar(32) COLLATE "pg_catalog"."default" NOT NULL, - "value" varchar COLLATE "pg_catalog"."default" NOT NULL, - "last_modified" timestamp(0) NOT NULL DEFAULT CURRENT_TIMESTAMP, - CONSTRAINT "settings_pkey" PRIMARY KEY ("id") -); -ALTER TABLE IF EXISTS "augur_operations"."worker_settings_facade" OWNER TO "augur"; -COMMENT ON TABLE "augur_operations"."worker_settings_facade" IS 'For future use when we move all working tables to the augur_operations schema. '; - -CREATE TABLE IF NOT EXISTS "augur_operations"."working_commits" ( - "repos_id" int4 NOT NULL, - "working_commit" varchar(40) COLLATE "pg_catalog"."default" DEFAULT 'NULL'::character varying -); -ALTER TABLE IF EXISTS "augur_operations"."working_commits" OWNER TO "augur"; -COMMENT ON TABLE "augur_operations"."working_commits" IS 'For future use when we move all working tables to the augur_operations schema. '; - -CREATE TABLE IF NOT EXISTS "spdx"."annotation_types" ( - "annotation_type_id" int4 NOT NULL DEFAULT nextval('"spdx".annotation_types_annotation_type_id_seq'::regclass), - "name" varchar(255) COLLATE "pg_catalog"."default" NOT NULL, - CONSTRAINT "annotation_types_pkey" PRIMARY KEY ("annotation_type_id"), - CONSTRAINT "uc_annotation_type_name" UNIQUE ("name") -); -ALTER TABLE IF EXISTS "spdx"."annotation_types" OWNER TO "augur"; - -CREATE TABLE IF NOT EXISTS "spdx"."annotations" ( - "annotation_id" int4 NOT NULL DEFAULT nextval('"spdx".annotations_annotation_id_seq'::regclass), - "document_id" int4 NOT NULL, - "annotation_type_id" int4 NOT NULL, - "identifier_id" int4 NOT NULL, - "creator_id" int4 NOT NULL, - "created_ts" timestamptz(6), - "comment" text COLLATE "pg_catalog"."default" NOT NULL, - CONSTRAINT "annotations_pkey" PRIMARY KEY ("annotation_id") -); -ALTER TABLE IF EXISTS "spdx"."annotations" OWNER TO "augur"; - -CREATE TABLE IF NOT EXISTS "spdx"."augur_repo_map" ( - "map_id" int4 NOT NULL DEFAULT nextval('"spdx".augur_repo_map_map_id_seq'::regclass), - "dosocs_pkg_id" int4, - "dosocs_pkg_name" text COLLATE "pg_catalog"."default", - "repo_id" int4, - "repo_path" text COLLATE "pg_catalog"."default", - CONSTRAINT "augur_repo_map_pkey" PRIMARY KEY ("map_id") -); -ALTER TABLE IF EXISTS "spdx"."augur_repo_map" OWNER TO "augur"; - -CREATE TABLE IF NOT EXISTS "spdx"."creator_types" ( - "creator_type_id" int4 NOT NULL DEFAULT nextval('"spdx".creator_types_creator_type_id_seq'::regclass), - "name" varchar(255) COLLATE "pg_catalog"."default" NOT NULL, - CONSTRAINT "creator_types_pkey" PRIMARY KEY ("creator_type_id") -); -ALTER TABLE IF EXISTS "spdx"."creator_types" OWNER TO "augur"; - -CREATE TABLE IF NOT EXISTS "spdx"."creators" ( - "creator_id" int4 NOT NULL DEFAULT nextval('"spdx".creators_creator_id_seq'::regclass), - "creator_type_id" int4 NOT NULL, - "name" varchar(255) COLLATE "pg_catalog"."default" NOT NULL, - "email" varchar(255) COLLATE "pg_catalog"."default" NOT NULL, - CONSTRAINT "creators_pkey" PRIMARY KEY ("creator_id") -); -ALTER TABLE IF EXISTS "spdx"."creators" OWNER TO "augur"; - -CREATE TABLE IF NOT EXISTS "spdx"."document_namespaces" ( - "document_namespace_id" int4 NOT NULL DEFAULT nextval('"spdx".document_namespaces_document_namespace_id_seq'::regclass), - "uri" varchar(500) COLLATE "pg_catalog"."default" NOT NULL, - CONSTRAINT "document_namespaces_pkey" PRIMARY KEY ("document_namespace_id"), - CONSTRAINT "uc_document_namespace_uri" UNIQUE ("uri") -); -ALTER TABLE IF EXISTS "spdx"."document_namespaces" OWNER TO "augur"; - -CREATE TABLE IF NOT EXISTS "spdx"."documents" ( - "document_id" int4 NOT NULL DEFAULT nextval('"spdx".documents_document_id_seq'::regclass), - "document_namespace_id" int4 NOT NULL, - "data_license_id" int4 NOT NULL, - "spdx_version" varchar(255) COLLATE "pg_catalog"."default" NOT NULL, - "name" varchar(255) COLLATE "pg_catalog"."default" NOT NULL, - "license_list_version" varchar(255) COLLATE "pg_catalog"."default" NOT NULL, - "created_ts" timestamptz(6) NOT NULL, - "creator_comment" text COLLATE "pg_catalog"."default" NOT NULL, - "document_comment" text COLLATE "pg_catalog"."default" NOT NULL, - "package_id" int4 NOT NULL, - CONSTRAINT "documents_pkey" PRIMARY KEY ("document_id"), - CONSTRAINT "uc_document_document_namespace_id" UNIQUE ("document_namespace_id") -); -ALTER TABLE IF EXISTS "spdx"."documents" OWNER TO "augur"; - -CREATE TABLE IF NOT EXISTS "spdx"."documents_creators" ( - "document_creator_id" int4 NOT NULL DEFAULT nextval('"spdx".documents_creators_document_creator_id_seq'::regclass), - "document_id" int4 NOT NULL, - "creator_id" int4 NOT NULL, - CONSTRAINT "documents_creators_pkey" PRIMARY KEY ("document_creator_id") -); -ALTER TABLE IF EXISTS "spdx"."documents_creators" OWNER TO "augur"; - -CREATE TABLE IF NOT EXISTS "spdx"."external_refs" ( - "external_ref_id" int4 NOT NULL DEFAULT nextval('"spdx".external_refs_external_ref_id_seq'::regclass), - "document_id" int4 NOT NULL, - "document_namespace_id" int4 NOT NULL, - "id_string" varchar(255) COLLATE "pg_catalog"."default" NOT NULL, - "sha256" varchar(64) COLLATE "pg_catalog"."default" NOT NULL, - CONSTRAINT "external_refs_pkey" PRIMARY KEY ("external_ref_id"), - CONSTRAINT "uc_external_ref_document_id_string" UNIQUE ("document_id", "id_string") -); -ALTER TABLE IF EXISTS "spdx"."external_refs" OWNER TO "augur"; - -CREATE TABLE IF NOT EXISTS "spdx"."file_contributors" ( - "file_contributor_id" int4 NOT NULL DEFAULT nextval('"spdx".file_contributors_file_contributor_id_seq'::regclass), - "file_id" int4 NOT NULL, - "contributor" text COLLATE "pg_catalog"."default" NOT NULL, - CONSTRAINT "file_contributors_pkey" PRIMARY KEY ("file_contributor_id") -); -ALTER TABLE IF EXISTS "spdx"."file_contributors" OWNER TO "augur"; - -CREATE TABLE IF NOT EXISTS "spdx"."file_types" ( - "file_type_id" int4, - "name" varchar(255) COLLATE "pg_catalog"."default" NOT NULL, - CONSTRAINT "uc_file_type_name" PRIMARY KEY ("name") -); -ALTER TABLE IF EXISTS "spdx"."file_types" OWNER TO "augur"; - -CREATE TABLE IF NOT EXISTS "spdx"."files" ( - "file_id" int4 NOT NULL DEFAULT nextval('"spdx".files_file_id_seq'::regclass), - "file_type_id" int4, - "sha256" varchar(64) COLLATE "pg_catalog"."default" NOT NULL, - "copyright_text" text COLLATE "pg_catalog"."default", - "package_id" int4, - "comment" text COLLATE "pg_catalog"."default" NOT NULL, - "notice" text COLLATE "pg_catalog"."default" NOT NULL, - CONSTRAINT "files_pkey" PRIMARY KEY ("file_id"), - CONSTRAINT "uc_file_sha256" UNIQUE ("sha256") -); -ALTER TABLE IF EXISTS "spdx"."files" OWNER TO "augur"; - -CREATE TABLE IF NOT EXISTS "spdx"."files_licenses" ( - "file_license_id" int4 NOT NULL DEFAULT nextval('"spdx".files_licenses_file_license_id_seq'::regclass), - "file_id" int4 NOT NULL, - "license_id" int4 NOT NULL, - "extracted_text" text COLLATE "pg_catalog"."default" NOT NULL, - CONSTRAINT "files_licenses_pkey" PRIMARY KEY ("file_license_id"), - CONSTRAINT "uc_file_license" UNIQUE ("file_id", "license_id") -); -ALTER TABLE IF EXISTS "spdx"."files_licenses" OWNER TO "augur"; - -CREATE TABLE IF NOT EXISTS "spdx"."files_scans" ( - "file_scan_id" int4 NOT NULL DEFAULT nextval('"spdx".files_scans_file_scan_id_seq'::regclass), - "file_id" int4 NOT NULL, - "scanner_id" int4 NOT NULL, - CONSTRAINT "files_scans_pkey" PRIMARY KEY ("file_scan_id"), - CONSTRAINT "uc_file_scanner_id" UNIQUE ("file_id", "scanner_id") -); -ALTER TABLE IF EXISTS "spdx"."files_scans" OWNER TO "augur"; - -CREATE TABLE IF NOT EXISTS "spdx"."identifiers" ( - "identifier_id" int4 NOT NULL DEFAULT nextval('"spdx".identifiers_identifier_id_seq'::regclass), - "document_namespace_id" int4 NOT NULL, - "id_string" varchar(255) COLLATE "pg_catalog"."default" NOT NULL, - "document_id" int4, - "package_id" int4, - "package_file_id" int4, - CONSTRAINT "identifiers_pkey" PRIMARY KEY ("identifier_id"), - CONSTRAINT "uc_identifier_document_namespace_id" UNIQUE ("document_namespace_id", "id_string"), - CONSTRAINT "uc_identifier_namespace_document_id" UNIQUE ("document_namespace_id", "document_id"), - CONSTRAINT "uc_identifier_namespace_package_id" UNIQUE ("document_namespace_id", "package_id"), - CONSTRAINT "uc_identifier_namespace_package_file_id" UNIQUE ("document_namespace_id", "package_file_id"), - CONSTRAINT "ck_identifier_exactly_one" CHECK (((document_id IS NOT NULL)::integer + (package_id IS NOT NULL)::integer + (package_file_id IS NOT NULL)::integer) = 1) -); -ALTER TABLE IF EXISTS "spdx"."identifiers" OWNER TO "augur"; - -CREATE TABLE IF NOT EXISTS "spdx"."licenses" ( - "license_id" int4 NOT NULL DEFAULT nextval('"spdx".licenses_license_id_seq'::regclass), - "name" varchar(255) COLLATE "pg_catalog"."default", - "short_name" varchar(255) COLLATE "pg_catalog"."default" NOT NULL, - "cross_reference" text COLLATE "pg_catalog"."default" NOT NULL, - "comment" text COLLATE "pg_catalog"."default" NOT NULL, - "is_spdx_official" bool NOT NULL, - CONSTRAINT "licenses_pkey" PRIMARY KEY ("license_id"), - CONSTRAINT "uc_license_short_name" UNIQUE ("short_name") -); -ALTER TABLE IF EXISTS "spdx"."licenses" OWNER TO "augur"; - -CREATE TABLE IF NOT EXISTS "spdx"."packages" ( - "package_id" int4 NOT NULL DEFAULT nextval('"spdx".packages_package_id_seq'::regclass), - "name" varchar(255) COLLATE "pg_catalog"."default" NOT NULL, - "version" varchar(255) COLLATE "pg_catalog"."default" NOT NULL, - "file_name" text COLLATE "pg_catalog"."default" NOT NULL, - "supplier_id" int4, - "originator_id" int4, - "download_location" text COLLATE "pg_catalog"."default", - "verification_code" varchar(64) COLLATE "pg_catalog"."default" NOT NULL, - "ver_code_excluded_file_id" int4, - "sha256" varchar(64) COLLATE "pg_catalog"."default", - "home_page" text COLLATE "pg_catalog"."default", - "source_info" text COLLATE "pg_catalog"."default" NOT NULL, - "concluded_license_id" int4, - "declared_license_id" int4, - "license_comment" text COLLATE "pg_catalog"."default" NOT NULL, - "copyright_text" text COLLATE "pg_catalog"."default", - "summary" text COLLATE "pg_catalog"."default" NOT NULL, - "description" text COLLATE "pg_catalog"."default" NOT NULL, - "comment" text COLLATE "pg_catalog"."default" NOT NULL, - "dosocs2_dir_code" varchar(64) COLLATE "pg_catalog"."default", - CONSTRAINT "packages_pkey" PRIMARY KEY ("package_id"), - CONSTRAINT "uc_package_sha256" UNIQUE ("sha256"), - CONSTRAINT "uc_dir_code_ver_code" UNIQUE ("verification_code", "dosocs2_dir_code"), - CONSTRAINT "uc_sha256_ds2_dir_code_exactly_one" CHECK (((sha256 IS NOT NULL)::integer + (dosocs2_dir_code IS NOT NULL)::integer) = 1) -); -ALTER TABLE IF EXISTS "spdx"."packages" OWNER TO "augur"; - -CREATE TABLE IF NOT EXISTS "spdx"."packages_files" ( - "package_file_id" int4 NOT NULL DEFAULT nextval('"spdx".packages_files_package_file_id_seq'::regclass), - "package_id" int4 NOT NULL, - "file_id" int4 NOT NULL, - "concluded_license_id" int4, - "license_comment" text COLLATE "pg_catalog"."default" NOT NULL, - "file_name" text COLLATE "pg_catalog"."default" NOT NULL, - CONSTRAINT "packages_files_pkey" PRIMARY KEY ("package_file_id"), - CONSTRAINT "uc_package_id_file_name" UNIQUE ("package_id", "file_name") -); -ALTER TABLE IF EXISTS "spdx"."packages_files" OWNER TO "augur"; - -CREATE TABLE IF NOT EXISTS "spdx"."packages_scans" ( - "package_scan_id" int4 NOT NULL DEFAULT nextval('"spdx".packages_scans_package_scan_id_seq'::regclass), - "package_id" int4 NOT NULL, - "scanner_id" int4 NOT NULL, - CONSTRAINT "packages_scans_pkey" PRIMARY KEY ("package_scan_id"), - CONSTRAINT "uc_package_scanner_id" UNIQUE ("package_id", "scanner_id") -); -ALTER TABLE IF EXISTS "spdx"."packages_scans" OWNER TO "augur"; - -CREATE TABLE IF NOT EXISTS "spdx"."projects" ( - "package_id" int4 NOT NULL DEFAULT nextval('"spdx".projects_package_id_seq'::regclass), - "name" text COLLATE "pg_catalog"."default" NOT NULL, - "homepage" text COLLATE "pg_catalog"."default" NOT NULL, - "uri" text COLLATE "pg_catalog"."default" NOT NULL, - CONSTRAINT "projects_pkey" PRIMARY KEY ("package_id") -); -ALTER TABLE IF EXISTS "spdx"."projects" OWNER TO "augur"; - -CREATE TABLE IF NOT EXISTS "spdx"."relationship_types" ( - "relationship_type_id" int4 NOT NULL DEFAULT nextval('"spdx".relationship_types_relationship_type_id_seq'::regclass), - "name" varchar(255) COLLATE "pg_catalog"."default" NOT NULL, - CONSTRAINT "relationship_types_pkey" PRIMARY KEY ("relationship_type_id"), - CONSTRAINT "uc_relationship_type_name" UNIQUE ("name") -); -ALTER TABLE IF EXISTS "spdx"."relationship_types" OWNER TO "augur"; - -CREATE TABLE IF NOT EXISTS "spdx"."relationships" ( - "relationship_id" int4 NOT NULL DEFAULT nextval('"spdx".relationships_relationship_id_seq'::regclass), - "left_identifier_id" int4 NOT NULL, - "right_identifier_id" int4 NOT NULL, - "relationship_type_id" int4 NOT NULL, - "relationship_comment" text COLLATE "pg_catalog"."default" NOT NULL, - CONSTRAINT "relationships_pkey" PRIMARY KEY ("relationship_id"), - CONSTRAINT "uc_left_right_relationship_type" UNIQUE ("left_identifier_id", "right_identifier_id", "relationship_type_id") -); -ALTER TABLE IF EXISTS "spdx"."relationships" OWNER TO "augur"; - -CREATE TABLE IF NOT EXISTS "spdx"."sbom_scans" ( - "repo_id" int4, - "sbom_scan" json -); -ALTER TABLE IF EXISTS "spdx"."sbom_scans" OWNER TO "augur"; - -CREATE TABLE IF NOT EXISTS "spdx"."scanners" ( - "scanner_id" int4 NOT NULL DEFAULT nextval('"spdx".scanners_scanner_id_seq'::regclass), - "name" varchar(255) COLLATE "pg_catalog"."default" NOT NULL, - CONSTRAINT "scanners_pkey" PRIMARY KEY ("scanner_id"), - CONSTRAINT "uc_scanner_name" UNIQUE ("name") -); -ALTER TABLE IF EXISTS "spdx"."scanners" OWNER TO "augur"; - -ALTER TABLE IF EXISTS "augur_data"."commit_comment_ref" ADD CONSTRAINT "fk_commit_comment_ref_commits_1" FOREIGN KEY ("cmt_id") REFERENCES "augur_data"."commits" ("cmt_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."commit_comment_ref" ADD CONSTRAINT "fk_commit_comment_ref_message_1" FOREIGN KEY ("msg_id") REFERENCES "augur_data"."message" ("msg_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."commit_parents" ADD CONSTRAINT "fk_commit_parents_commits_1" FOREIGN KEY ("cmt_id") REFERENCES "augur_data"."commits" ("cmt_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."commit_parents" ADD CONSTRAINT "fk_commit_parents_commits_2" FOREIGN KEY ("parent_id") REFERENCES "augur_data"."commits" ("cmt_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."commits" ADD CONSTRAINT "fk_commits_contributors_1" FOREIGN KEY ("cmt_ght_author_id") REFERENCES "augur_data"."contributors" ("cntrb_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."commits" ADD CONSTRAINT "fk_commits_contributors_2" FOREIGN KEY ("cmt_ght_committer_id") REFERENCES "augur_data"."contributors" ("cntrb_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."commits" ADD CONSTRAINT "fk_commits_repo_1" FOREIGN KEY ("repo_id") REFERENCES "augur_data"."repo" ("repo_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."contributors_aliases" ADD CONSTRAINT "fk_contributors_aliases_contributors_1" FOREIGN KEY ("cntrb_id") REFERENCES "augur_data"."contributors" ("cntrb_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."contributors_history" ADD CONSTRAINT "fk_contributors_history_contributors_1" FOREIGN KEY ("cntrb_id") REFERENCES "augur_data"."contributors" ("cntrb_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."discourse_insights" ADD CONSTRAINT "fk_discourse_insights_message_1" FOREIGN KEY ("msg_id") REFERENCES "augur_data"."message" ("msg_id"); -ALTER TABLE IF EXISTS "augur_data"."issue_assignees" ADD CONSTRAINT "fk_issue_assignees_contributors_1" FOREIGN KEY ("cntrb_id") REFERENCES "augur_data"."contributors" ("cntrb_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."issue_assignees" ADD CONSTRAINT "fk_issue_assignees_issues_1" FOREIGN KEY ("issue_id") REFERENCES "augur_data"."issues" ("issue_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."issue_events" ADD CONSTRAINT "fk_issue_events_contributors_1" FOREIGN KEY ("cntrb_id") REFERENCES "augur_data"."contributors" ("cntrb_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."issue_events" ADD CONSTRAINT "fk_issue_events_issues_1" FOREIGN KEY ("issue_id") REFERENCES "augur_data"."issues" ("issue_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."issue_labels" ADD CONSTRAINT "fk_issue_labels_issues_1" FOREIGN KEY ("issue_id") REFERENCES "augur_data"."issues" ("issue_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."issue_message_ref" ADD CONSTRAINT "fk_issue_message_ref_issues_1" FOREIGN KEY ("issue_id") REFERENCES "augur_data"."issues" ("issue_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."issue_message_ref" ADD CONSTRAINT "fk_issue_message_ref_message_1" FOREIGN KEY ("msg_id") REFERENCES "augur_data"."message" ("msg_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."issues" ADD CONSTRAINT "fk_issues_contributors_1" FOREIGN KEY ("cntrb_id") REFERENCES "augur_data"."contributors" ("cntrb_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."issues" ADD CONSTRAINT "fk_issues_contributors_2" FOREIGN KEY ("reporter_id") REFERENCES "augur_data"."contributors" ("cntrb_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."issues" ADD CONSTRAINT "fk_issues_repo" FOREIGN KEY ("repo_id") REFERENCES "augur_data"."repo" ("repo_id") ON DELETE CASCADE ON UPDATE CASCADE; -ALTER TABLE IF EXISTS "augur_data"."libraries" ADD CONSTRAINT "fk_libraries_repo_1" FOREIGN KEY ("repo_id") REFERENCES "augur_data"."repo" ("repo_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."library_dependencies" ADD CONSTRAINT "fk_library_dependencies_libraries_1" FOREIGN KEY ("library_id") REFERENCES "augur_data"."libraries" ("library_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."library_version" ADD CONSTRAINT "fk_library_version_libraries_1" FOREIGN KEY ("library_id") REFERENCES "augur_data"."libraries" ("library_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."lstm_anomaly_results" ADD CONSTRAINT "fk_lstm_anomaly_results_lstm_anomaly_models_1" FOREIGN KEY ("model_id") REFERENCES "augur_data"."lstm_anomaly_models" ("model_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."lstm_anomaly_results" ADD CONSTRAINT "fk_lstm_anomaly_results_repo_1" FOREIGN KEY ("repo_id") REFERENCES "augur_data"."repo" ("repo_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."message" ADD CONSTRAINT "fk_message_contributors_1" FOREIGN KEY ("cntrb_id") REFERENCES "augur_data"."contributors" ("cntrb_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."message" ADD CONSTRAINT "fk_message_platform_1" FOREIGN KEY ("pltfrm_id") REFERENCES "augur_data"."platform" ("pltfrm_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."message" ADD CONSTRAINT "fk_message_repo_groups_list_serve_1" FOREIGN KEY ("rgls_id") REFERENCES "augur_data"."repo_groups_list_serve" ("rgls_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."message_analysis" ADD CONSTRAINT "fk_message_analysis_message_1" FOREIGN KEY ("msg_id") REFERENCES "augur_data"."message" ("msg_id"); -ALTER TABLE IF EXISTS "augur_data"."message_analysis_summary" ADD CONSTRAINT "fk_message_analysis_summary_repo_1" FOREIGN KEY ("repo_id") REFERENCES "augur_data"."repo" ("repo_id"); -ALTER TABLE IF EXISTS "augur_data"."message_sentiment" ADD CONSTRAINT "fk_message_sentiment_message_1" FOREIGN KEY ("msg_id") REFERENCES "augur_data"."message" ("msg_id"); -ALTER TABLE IF EXISTS "augur_data"."message_sentiment_summary" ADD CONSTRAINT "fk_message_sentiment_summary_repo_1" FOREIGN KEY ("repo_id") REFERENCES "augur_data"."repo" ("repo_id"); -ALTER TABLE IF EXISTS "augur_data"."pull_request_assignees" ADD CONSTRAINT "fk_pull_request_assignees_contributors_1" FOREIGN KEY ("contrib_id") REFERENCES "augur_data"."contributors" ("cntrb_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."pull_request_assignees" ADD CONSTRAINT "fk_pull_request_assignees_pull_requests_1" FOREIGN KEY ("pull_request_id") REFERENCES "augur_data"."pull_requests" ("pull_request_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."pull_request_commits" ADD CONSTRAINT "fk_pull_request_commits_pull_requests_1" FOREIGN KEY ("pull_request_id") REFERENCES "augur_data"."pull_requests" ("pull_request_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."pull_request_events" ADD CONSTRAINT "fk_pull_request_events_contributors_1" FOREIGN KEY ("cntrb_id") REFERENCES "augur_data"."contributors" ("cntrb_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."pull_request_events" ADD CONSTRAINT "fk_pull_request_events_pull_requests_1" FOREIGN KEY ("pull_request_id") REFERENCES "augur_data"."pull_requests" ("pull_request_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."pull_request_files" ADD CONSTRAINT "fk_pull_request_commits_pull_requests_1" FOREIGN KEY ("pull_request_id") REFERENCES "augur_data"."pull_requests" ("pull_request_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."pull_request_labels" ADD CONSTRAINT "fk_pull_request_labels_pull_requests_1" FOREIGN KEY ("pull_request_id") REFERENCES "augur_data"."pull_requests" ("pull_request_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."pull_request_message_ref" ADD CONSTRAINT "fk_pull_request_message_ref_message_1" FOREIGN KEY ("msg_id") REFERENCES "augur_data"."message" ("msg_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."pull_request_message_ref" ADD CONSTRAINT "fk_pull_request_message_ref_pull_requests_1" FOREIGN KEY ("pull_request_id") REFERENCES "augur_data"."pull_requests" ("pull_request_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."pull_request_meta" ADD CONSTRAINT "fk_pull_request_meta_contributors_2" FOREIGN KEY ("cntrb_id") REFERENCES "augur_data"."contributors" ("cntrb_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."pull_request_meta" ADD CONSTRAINT "fk_pull_request_meta_pull_requests_1" FOREIGN KEY ("pull_request_id") REFERENCES "augur_data"."pull_requests" ("pull_request_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."pull_request_repo" ADD CONSTRAINT "fk_pull_request_repo_contributors_1" FOREIGN KEY ("pr_cntrb_id") REFERENCES "augur_data"."contributors" ("cntrb_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."pull_request_repo" ADD CONSTRAINT "fk_pull_request_repo_pull_request_meta_1" FOREIGN KEY ("pr_repo_meta_id") REFERENCES "augur_data"."pull_request_meta" ("pr_repo_meta_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."pull_request_reviewers" ADD CONSTRAINT "fk_pull_request_reviewers_contributors_1" FOREIGN KEY ("cntrb_id") REFERENCES "augur_data"."contributors" ("cntrb_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."pull_request_reviewers" ADD CONSTRAINT "fk_pull_request_reviewers_pull_requests_1" FOREIGN KEY ("pull_request_id") REFERENCES "augur_data"."pull_requests" ("pull_request_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."pull_request_teams" ADD CONSTRAINT "fk_pull_request_teams_pull_requests_1" FOREIGN KEY ("pull_request_id") REFERENCES "augur_data"."pull_requests" ("pull_request_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."pull_requests" ADD CONSTRAINT "fk_pull_requests_pull_request_meta_1" FOREIGN KEY ("pr_meta_head_id") REFERENCES "augur_data"."pull_request_meta" ("pr_repo_meta_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."pull_requests" ADD CONSTRAINT "fk_pull_requests_pull_request_meta_2" FOREIGN KEY ("pr_meta_base_id") REFERENCES "augur_data"."pull_request_meta" ("pr_repo_meta_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."pull_requests" ADD CONSTRAINT "fk_pull_requests_repo_1" FOREIGN KEY ("repo_id") REFERENCES "augur_data"."repo" ("repo_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."releases" ADD CONSTRAINT "fk_releases_repo_1" FOREIGN KEY ("repo_id") REFERENCES "augur_data"."repo" ("repo_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."repo" ADD CONSTRAINT "fk_repo_repo_groups_1" FOREIGN KEY ("repo_group_id") REFERENCES "augur_data"."repo_groups" ("repo_group_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -COMMENT ON CONSTRAINT "fk_repo_repo_groups_1" ON "augur_data"."repo" IS 'Repo_groups cardinality set to one and only one because, although in theory there could be more than one repo group for a repo, this might create dependecies in hosted situation that we do not want to live with. '; -ALTER TABLE IF EXISTS "augur_data"."repo_badging" ADD CONSTRAINT "fk_repo_badging_repo_1" FOREIGN KEY ("repo_id") REFERENCES "augur_data"."repo" ("repo_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."repo_cluster_messages" ADD CONSTRAINT "fk_repo_cluster_messages_repo_1" FOREIGN KEY ("repo_id") REFERENCES "augur_data"."repo" ("repo_id"); -ALTER TABLE IF EXISTS "augur_data"."repo_group_insights" ADD CONSTRAINT "fk_repo_group_insights_repo_groups_1" FOREIGN KEY ("repo_group_id") REFERENCES "augur_data"."repo_groups" ("repo_group_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."repo_groups_list_serve" ADD CONSTRAINT "fk_repo_groups_list_serve_repo_groups_1" FOREIGN KEY ("repo_group_id") REFERENCES "augur_data"."repo_groups" ("repo_group_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."repo_info" ADD CONSTRAINT "fk_repo_info_repo_1" FOREIGN KEY ("repo_id") REFERENCES "augur_data"."repo" ("repo_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."repo_insights" ADD CONSTRAINT "fk_repo_insights_repo_1" FOREIGN KEY ("repo_id") REFERENCES "augur_data"."repo" ("repo_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."repo_insights_records" ADD CONSTRAINT "repo_id_ref" FOREIGN KEY ("repo_id") REFERENCES "augur_data"."repo" ("repo_id") ON DELETE SET NULL ON UPDATE CASCADE; -ALTER TABLE IF EXISTS "augur_data"."repo_labor" ADD CONSTRAINT "fk_repo_labor_repo_1" FOREIGN KEY ("repo_id") REFERENCES "augur_data"."repo" ("repo_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."repo_meta" ADD CONSTRAINT "fk_repo_meta_repo_1" FOREIGN KEY ("repo_id") REFERENCES "augur_data"."repo" ("repo_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."repo_sbom_scans" ADD CONSTRAINT "repo_linker_sbom" FOREIGN KEY ("repo_id") REFERENCES "augur_data"."repo" ("repo_id") ON DELETE CASCADE ON UPDATE CASCADE; -ALTER TABLE IF EXISTS "augur_data"."repo_stats" ADD CONSTRAINT "fk_repo_stats_repo_1" FOREIGN KEY ("repo_id") REFERENCES "augur_data"."repo" ("repo_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."repo_test_coverage" ADD CONSTRAINT "fk_repo_test_coverage_repo_1" FOREIGN KEY ("repo_id") REFERENCES "augur_data"."repo" ("repo_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."repo_topic" ADD CONSTRAINT "fk_repo_topic_repo_1" FOREIGN KEY ("repo_id") REFERENCES "augur_data"."repo" ("repo_id"); -ALTER TABLE IF EXISTS "augur_data"."topic_words" ADD CONSTRAINT "fk_topic_words_repo_topic_1" FOREIGN KEY ("topic_id") REFERENCES "augur_data"."repo_topic" ("repo_topic_id"); -ALTER TABLE IF EXISTS "spdx"."annotations" ADD CONSTRAINT "annotations_annotation_type_id_fkey" FOREIGN KEY ("annotation_type_id") REFERENCES "spdx"."annotation_types" ("annotation_type_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "spdx"."annotations" ADD CONSTRAINT "annotations_creator_id_fkey" FOREIGN KEY ("creator_id") REFERENCES "spdx"."creators" ("creator_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "spdx"."annotations" ADD CONSTRAINT "annotations_document_id_fkey" FOREIGN KEY ("document_id") REFERENCES "spdx"."documents" ("document_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "spdx"."annotations" ADD CONSTRAINT "annotations_identifier_id_fkey" FOREIGN KEY ("identifier_id") REFERENCES "spdx"."identifiers" ("identifier_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "spdx"."creators" ADD CONSTRAINT "creators_creator_type_id_fkey" FOREIGN KEY ("creator_type_id") REFERENCES "spdx"."creator_types" ("creator_type_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "spdx"."documents" ADD CONSTRAINT "documents_data_license_id_fkey" FOREIGN KEY ("data_license_id") REFERENCES "spdx"."licenses" ("license_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "spdx"."documents" ADD CONSTRAINT "documents_document_namespace_id_fkey" FOREIGN KEY ("document_namespace_id") REFERENCES "spdx"."document_namespaces" ("document_namespace_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "spdx"."documents" ADD CONSTRAINT "documents_package_id_fkey" FOREIGN KEY ("package_id") REFERENCES "spdx"."packages" ("package_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "spdx"."documents_creators" ADD CONSTRAINT "documents_creators_creator_id_fkey" FOREIGN KEY ("creator_id") REFERENCES "spdx"."creators" ("creator_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "spdx"."documents_creators" ADD CONSTRAINT "documents_creators_document_id_fkey" FOREIGN KEY ("document_id") REFERENCES "spdx"."documents" ("document_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "spdx"."external_refs" ADD CONSTRAINT "external_refs_document_id_fkey" FOREIGN KEY ("document_id") REFERENCES "spdx"."documents" ("document_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "spdx"."external_refs" ADD CONSTRAINT "external_refs_document_namespace_id_fkey" FOREIGN KEY ("document_namespace_id") REFERENCES "spdx"."document_namespaces" ("document_namespace_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "spdx"."file_contributors" ADD CONSTRAINT "file_contributors_file_id_fkey" FOREIGN KEY ("file_id") REFERENCES "spdx"."files" ("file_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "spdx"."files_licenses" ADD CONSTRAINT "files_licenses_file_id_fkey" FOREIGN KEY ("file_id") REFERENCES "spdx"."files" ("file_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "spdx"."files_licenses" ADD CONSTRAINT "files_licenses_license_id_fkey" FOREIGN KEY ("license_id") REFERENCES "spdx"."licenses" ("license_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "spdx"."files_scans" ADD CONSTRAINT "files_scans_file_id_fkey" FOREIGN KEY ("file_id") REFERENCES "spdx"."files" ("file_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "spdx"."files_scans" ADD CONSTRAINT "files_scans_scanner_id_fkey" FOREIGN KEY ("scanner_id") REFERENCES "spdx"."scanners" ("scanner_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "spdx"."identifiers" ADD CONSTRAINT "identifiers_document_id_fkey" FOREIGN KEY ("document_id") REFERENCES "spdx"."documents" ("document_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "spdx"."identifiers" ADD CONSTRAINT "identifiers_document_namespace_id_fkey" FOREIGN KEY ("document_namespace_id") REFERENCES "spdx"."document_namespaces" ("document_namespace_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "spdx"."identifiers" ADD CONSTRAINT "identifiers_package_file_id_fkey" FOREIGN KEY ("package_file_id") REFERENCES "spdx"."packages_files" ("package_file_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "spdx"."identifiers" ADD CONSTRAINT "identifiers_package_id_fkey" FOREIGN KEY ("package_id") REFERENCES "spdx"."packages" ("package_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "spdx"."packages" ADD CONSTRAINT "fk_package_packages_files" FOREIGN KEY ("ver_code_excluded_file_id") REFERENCES "spdx"."packages_files" ("package_file_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "spdx"."packages" ADD CONSTRAINT "packages_concluded_license_id_fkey" FOREIGN KEY ("concluded_license_id") REFERENCES "spdx"."licenses" ("license_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "spdx"."packages" ADD CONSTRAINT "packages_declared_license_id_fkey" FOREIGN KEY ("declared_license_id") REFERENCES "spdx"."licenses" ("license_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "spdx"."packages" ADD CONSTRAINT "packages_originator_id_fkey" FOREIGN KEY ("originator_id") REFERENCES "spdx"."creators" ("creator_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "spdx"."packages" ADD CONSTRAINT "packages_supplier_id_fkey" FOREIGN KEY ("supplier_id") REFERENCES "spdx"."creators" ("creator_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "spdx"."packages_files" ADD CONSTRAINT "fk_package_files_packages" FOREIGN KEY ("package_id") REFERENCES "spdx"."packages" ("package_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "spdx"."packages_files" ADD CONSTRAINT "packages_files_concluded_license_id_fkey" FOREIGN KEY ("concluded_license_id") REFERENCES "spdx"."licenses" ("license_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "spdx"."packages_files" ADD CONSTRAINT "packages_files_file_id_fkey" FOREIGN KEY ("file_id") REFERENCES "spdx"."files" ("file_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "spdx"."packages_scans" ADD CONSTRAINT "packages_scans_package_id_fkey" FOREIGN KEY ("package_id") REFERENCES "spdx"."packages" ("package_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "spdx"."packages_scans" ADD CONSTRAINT "packages_scans_scanner_id_fkey" FOREIGN KEY ("scanner_id") REFERENCES "spdx"."scanners" ("scanner_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "spdx"."relationships" ADD CONSTRAINT "relationships_left_identifier_id_fkey" FOREIGN KEY ("left_identifier_id") REFERENCES "spdx"."identifiers" ("identifier_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "spdx"."relationships" ADD CONSTRAINT "relationships_relationship_type_id_fkey" FOREIGN KEY ("relationship_type_id") REFERENCES "spdx"."relationship_types" ("relationship_type_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "spdx"."relationships" ADD CONSTRAINT "relationships_right_identifier_id_fkey" FOREIGN KEY ("right_identifier_id") REFERENCES "spdx"."identifiers" ("identifier_id") ON DELETE NO ACTION ON UPDATE NO ACTION; - -INSERT INTO "augur_operations"."augur_settings" set value = 31 where setting = 'augur_data_version'; - -CREATE TABLE "augur_data"."pull_request_analysis" ( - "pull_request_analysis_id" serial8, - "pull_request_id" int8, - "merge_probability" float8, - "mechanism" varchar, - "tool_source" varchar, - "tool_version" varchar, - "data_source" varchar, - "data_collection_date" timestamptz NOT NULL DEFAULT CURRENT_TIMESTAMP, - PRIMARY KEY ("pull_request_analysis_id") -) -; - -ALTER TABLE "augur_data"."pull_request_analysis" OWNER TO "augur"; - -COMMENT ON COLUMN "augur_data"."pull_request_analysis"."pull_request_id" IS 'It would be better if the pull request worker is run first to fetch the latest PRs before analyzing'; - -COMMENT ON COLUMN "augur_data"."pull_request_analysis"."merge_probability" IS 'Indicates the probability of the PR being merged'; - -COMMENT ON COLUMN "augur_data"."pull_request_analysis"."mechanism" IS 'the ML model used for prediction (It is XGBoost Classifier at present)'; - -ALTER TABLE "augur_data"."pull_request_analysis" ADD CONSTRAINT "fk_pull_request_analysis_pull_requests_1" FOREIGN KEY ("pull_request_id") REFERENCES "augur_data"."pull_requests" ("pull_request_id") ON DELETE CASCADE ON UPDATE CASCADE; - -CREATE INDEX CONCURRENTLY "probability_idx" ON "augur_data"."pull_request_analysis" USING btree ( - "merge_probability" DESC NULLS LAST -); - -CREATE INDEX CONCURRENTLY "pr_anal_idx" ON "augur_data"."pull_request_analysis" USING btree ( - "pull_request_id" -); - -update "augur_operations"."augur_settings" set value = 32 where setting = 'augur_data_version'; - - --- # Pull request commit updates -ALTER TABLE "augur_data"."pull_request_commits" ADD COLUMN "pr_cmt_author_cntrb_id" int8; -ALTER TABLE "augur_data"."pull_request_commits" ADD COLUMN "pr_cmt_timestamp" timestamp(0); -ALTER TABLE "augur_data"."pull_request_commits" ADD COLUMN "pr_cmt_author_email" varchar COLLATE "pg_catalog"."default"; - -update "augur_operations"."augur_settings" set value = 33 where setting = 'augur_data_version'; - - --- # Pull request commit updates -update "augur_operations"."augur_settings" set value = 34 where setting = 'augur_data_version'; - - --- Adding GitLab Platform -INSERT INTO "augur_data"."platform" ("pltfrm_id", "pltfrm_name", "pltfrm_version", "pltfrm_release_date", "tool_source", "tool_version", "data_source", "data_collection_date") VALUES (25151, 'GitLab', '3', '2020-12-27', 'Manual Entry', 'Sean Goggins', 'GitLab', '2020-12-27 16:07:20'); --- # Pull request commit updates -update "augur_operations"."augur_settings" set value = 35 where setting = 'augur_data_version'; - - -ALTER TABLE "augur_data"."pull_request_reviews" ALTER COLUMN "pr_review_author_association" TYPE varchar COLLATE "pg_catalog"."default"; - -ALTER TABLE "augur_data"."pull_request_reviews" ALTER COLUMN "pr_review_state" TYPE varchar COLLATE "pg_catalog"."default"; - -ALTER TABLE "augur_data"."pull_request_reviews" ALTER COLUMN "pr_review_body" TYPE varchar COLLATE "pg_catalog"."default"; - -ALTER TABLE "augur_data"."pull_request_reviews" ALTER COLUMN "pr_review_node_id" TYPE varchar COLLATE "pg_catalog"."default"; - -ALTER TABLE "augur_data"."pull_request_reviews" ALTER COLUMN "pr_review_html_url" TYPE varchar COLLATE "pg_catalog"."default"; - -ALTER TABLE "augur_data"."pull_request_reviews" ALTER COLUMN "pr_review_pull_request_url" TYPE varchar COLLATE "pg_catalog"."default"; - -ALTER TABLE "augur_data"."pull_request_reviews" ALTER COLUMN "pr_review_commit_id" TYPE varchar COLLATE "pg_catalog"."default"; - -ALTER TABLE "augur_data"."pull_request_reviews" ALTER COLUMN "tool_source" TYPE varchar COLLATE "pg_catalog"."default"; - -ALTER TABLE "augur_data"."pull_request_reviews" ALTER COLUMN "tool_version" TYPE varchar COLLATE "pg_catalog"."default"; - -ALTER TABLE "augur_data"."pull_request_reviews" ALTER COLUMN "data_source" TYPE varchar COLLATE "pg_catalog"."default"; - - - -update "augur_operations"."augur_settings" set value = 38 where setting = 'augur_data_version'; - - -ALTER TABLE "augur_data"."pull_request_commits" DROP CONSTRAINT "fk_pull_request_commits_pull_requests_1"; - -ALTER TABLE "augur_data"."pull_request_events" DROP CONSTRAINT "fk_pull_request_events_pull_requests_1"; - -ALTER TABLE "augur_data"."pull_request_files" DROP CONSTRAINT "fk_pull_request_commits_pull_requests_1"; - -ALTER TABLE "augur_data"."pull_request_labels" DROP CONSTRAINT "fk_pull_request_labels_pull_requests_1"; - -ALTER TABLE "augur_data"."pull_request_message_ref" DROP CONSTRAINT "fk_pull_request_message_ref_pull_requests_1"; - -ALTER TABLE "augur_data"."pull_request_message_ref" DROP CONSTRAINT "fk_pull_request_message_ref_message_1"; - -ALTER TABLE "augur_data"."pull_request_meta" DROP CONSTRAINT "fk_pull_request_meta_pull_requests_1"; - -ALTER TABLE "augur_data"."pull_request_repo" DROP CONSTRAINT "fk_pull_request_repo_pull_request_meta_1"; - -ALTER TABLE "augur_data"."pull_request_review_message_ref" DROP CONSTRAINT "fk_pull_request_review_message_ref_pull_request_reviews_1"; - -ALTER TABLE "augur_data"."pull_request_reviewers" DROP CONSTRAINT "fk_pull_request_reviewers_pull_requests_1"; - -ALTER TABLE "augur_data"."pull_request_reviews" DROP CONSTRAINT "fk_pull_request_reviews_pull_requests_1"; - -ALTER TABLE "augur_data"."pull_request_reviews" ALTER COLUMN "pr_review_author_association" TYPE varchar COLLATE "pg_catalog"."default"; - -ALTER TABLE "augur_data"."pull_request_reviews" ALTER COLUMN "pr_review_state" TYPE varchar COLLATE "pg_catalog"."default"; - -ALTER TABLE "augur_data"."pull_request_reviews" ALTER COLUMN "pr_review_body" TYPE varchar COLLATE "pg_catalog"."default"; - -ALTER TABLE "augur_data"."pull_request_reviews" ALTER COLUMN "pr_review_node_id" TYPE varchar COLLATE "pg_catalog"."default"; - -ALTER TABLE "augur_data"."pull_request_reviews" ALTER COLUMN "pr_review_html_url" TYPE varchar COLLATE "pg_catalog"."default"; - -ALTER TABLE "augur_data"."pull_request_reviews" ALTER COLUMN "pr_review_pull_request_url" TYPE varchar COLLATE "pg_catalog"."default"; - -ALTER TABLE "augur_data"."pull_request_reviews" ALTER COLUMN "pr_review_commit_id" TYPE varchar COLLATE "pg_catalog"."default"; - -ALTER TABLE "augur_data"."pull_request_reviews" ALTER COLUMN "tool_source" TYPE varchar COLLATE "pg_catalog"."default"; - -ALTER TABLE "augur_data"."pull_request_reviews" ALTER COLUMN "tool_version" TYPE varchar COLLATE "pg_catalog"."default"; - -ALTER TABLE "augur_data"."pull_request_reviews" ALTER COLUMN "data_source" TYPE varchar COLLATE "pg_catalog"."default"; - -ALTER TABLE "augur_data"."pull_request_teams" DROP CONSTRAINT "fk_pull_request_teams_pull_requests_1"; - -ALTER TABLE "augur_data"."pull_requests" DROP CONSTRAINT "fk_pull_requests_pull_request_meta_2"; - -ALTER TABLE "augur_data"."pull_requests" DROP CONSTRAINT "fk_pull_requests_pull_request_meta_1"; - -ALTER TABLE "augur_data"."pull_request_commits" ADD CONSTRAINT "fk_pull_request_commits_pull_requests_1" FOREIGN KEY ("pull_request_id") REFERENCES "augur_data"."pull_requests" ("pull_request_id") ON DELETE CASCADE ON UPDATE CASCADE; - -ALTER TABLE "augur_data"."pull_request_events" ADD CONSTRAINT "fk_pull_request_events_pull_requests_1" FOREIGN KEY ("pull_request_id") REFERENCES "augur_data"."pull_requests" ("pull_request_id") ON DELETE CASCADE ON UPDATE CASCADE; - -ALTER TABLE "augur_data"."pull_request_files" ADD CONSTRAINT "fk_pull_request_commits_pull_requests_1" FOREIGN KEY ("pull_request_id") REFERENCES "augur_data"."pull_requests" ("pull_request_id") ON DELETE CASCADE ON UPDATE CASCADE; - -ALTER TABLE "augur_data"."pull_request_labels" ADD CONSTRAINT "fk_pull_request_labels_pull_requests_1" FOREIGN KEY ("pull_request_id") REFERENCES "augur_data"."pull_requests" ("pull_request_id") ON DELETE CASCADE ON UPDATE CASCADE; - -ALTER TABLE "augur_data"."pull_request_message_ref" ADD CONSTRAINT "fk_pull_request_message_ref_message_1" FOREIGN KEY ("msg_id") REFERENCES "augur_data"."message" ("msg_id") ON DELETE CASCADE ON UPDATE CASCADE; - -ALTER TABLE "augur_data"."pull_request_message_ref" ADD CONSTRAINT "fk_pull_request_message_ref_pull_requests_1" FOREIGN KEY ("pull_request_id") REFERENCES "augur_data"."pull_requests" ("pull_request_id") ON DELETE CASCADE ON UPDATE CASCADE; - -ALTER TABLE "augur_data"."pull_request_meta" ADD CONSTRAINT "fk_pull_request_meta_pull_requests_1" FOREIGN KEY ("pull_request_id") REFERENCES "augur_data"."pull_requests" ("pull_request_id") ON DELETE CASCADE ON UPDATE CASCADE; - -ALTER TABLE "augur_data"."pull_request_repo" ADD CONSTRAINT "fk_pull_request_repo_pull_request_meta_1" FOREIGN KEY ("pr_repo_meta_id") REFERENCES "augur_data"."pull_request_meta" ("pr_repo_meta_id") ON DELETE CASCADE ON UPDATE CASCADE; - -ALTER TABLE "augur_data"."pull_request_review_message_ref" ADD CONSTRAINT "fk_pull_request_review_message_ref_pull_request_reviews_1" FOREIGN KEY ("pr_review_id") REFERENCES "augur_data"."pull_request_reviews" ("pr_review_id") ON DELETE CASCADE ON UPDATE CASCADE; - -ALTER TABLE "augur_data"."pull_request_reviewers" ADD CONSTRAINT "fk_pull_request_reviewers_pull_requests_1" FOREIGN KEY ("pull_request_id") REFERENCES "augur_data"."pull_requests" ("pull_request_id") ON DELETE CASCADE ON UPDATE CASCADE; - -ALTER TABLE "augur_data"."pull_request_reviews" ADD CONSTRAINT "fk_pull_request_reviews_pull_requests_1" FOREIGN KEY ("pull_request_id") REFERENCES "augur_data"."pull_requests" ("pull_request_id") ON DELETE CASCADE ON UPDATE CASCADE; - -ALTER TABLE "augur_data"."pull_request_teams" ADD CONSTRAINT "fk_pull_request_teams_pull_requests_1" FOREIGN KEY ("pull_request_id") REFERENCES "augur_data"."pull_requests" ("pull_request_id") ON DELETE CASCADE ON UPDATE CASCADE; - -ALTER TABLE "augur_data"."pull_requests" ADD CONSTRAINT "fk_pull_requests_pull_request_meta_1" FOREIGN KEY ("pr_meta_head_id") REFERENCES "augur_data"."pull_request_meta" ("pr_repo_meta_id") ON DELETE CASCADE ON UPDATE CASCADE; - -ALTER TABLE "augur_data"."pull_requests" ADD CONSTRAINT "fk_pull_requests_pull_request_meta_2" FOREIGN KEY ("pr_meta_base_id") REFERENCES "augur_data"."pull_request_meta" ("pr_repo_meta_id") ON DELETE CASCADE ON UPDATE CASCADE; - - - -update "augur_operations"."augur_settings" set value = 39 where setting = 'augur_data_version'; - - -COMMENT ON TABLE "augur_data"."contributor_repo" IS 'Developed in Partnership with Andrew Brain'; - -ALTER TABLE "augur_data"."contributor_repo" ADD COLUMN IF NOT EXISTS "repo_id" int8 NOT NULL; - -ALTER TABLE "augur_data"."contributor_repo" ADD COLUMN IF NOT EXISTS "repo_name" varchar COLLATE "pg_catalog"."default" NOT NULL; - -ALTER TABLE "augur_data"."contributor_repo" ADD COLUMN IF NOT EXISTS "event_id" int8 NOT NULL; - -ALTER TABLE "augur_data"."contributor_repo" ADD COLUMN IF NOT EXISTS "created_at" timestamp(0) NOT NULL; - -ALTER TABLE "augur_data"."contributors_aliases" DROP CONSTRAINT IF EXISTS "fk_contributors_aliases_contributors_1"; - -ALTER TABLE "augur_data"."message" DROP CONSTRAINT IF EXISTS "fk_message_repo_groups_list_serve_1"; - -ALTER TABLE "augur_data"."message" DROP CONSTRAINT IF EXISTS "fk_message_platform_1"; - -ALTER TABLE "augur_data"."message" DROP CONSTRAINT IF EXISTS "fk_message_contributors_1"; - -ALTER TABLE "augur_data"."pull_request_reviewers" DROP CONSTRAINT IF EXISTS "fk_pull_request_reviewers_contributors_1"; - -ALTER TABLE "augur_data"."pull_request_reviews" DROP CONSTRAINT IF EXISTS "fk_pull_request_reviews_contributors_1"; - -ALTER TABLE "augur_data"."pull_requests" DROP CONSTRAINT IF EXISTS "fk_pull_requests_repo_1"; - -ALTER TABLE "augur_data"."contributors_aliases" DROP CONSTRAINT IF EXISTS "fk_alias_id"; - -ALTER TABLE "augur_data"."pull_request_commits" DROP CONSTRAINT IF EXISTS "fk_pr_commit_cntrb_id"; - -ALTER TABLE "augur_data"."contributors_aliases" ADD CONSTRAINT "fk_alias_id" FOREIGN KEY ("cntrb_a_id") REFERENCES "augur_data"."contributors" ("cntrb_id") ON DELETE CASCADE ON UPDATE CASCADE NOT VALID; - -ALTER TABLE "augur_data"."contributors_aliases" ADD CONSTRAINT "fk_contributors_aliases_contributors_1" FOREIGN KEY ("cntrb_id") REFERENCES "augur_data"."contributors" ("cntrb_id") ON DELETE CASCADE ON UPDATE CASCADE NOT VALID; - -ALTER TABLE "augur_data"."message" ADD CONSTRAINT "fk_message_contributors_1" FOREIGN KEY ("cntrb_id") REFERENCES "augur_data"."contributors" ("cntrb_id") ON DELETE CASCADE ON UPDATE CASCADE NOT VALID; - -ALTER TABLE "augur_data"."message" ADD CONSTRAINT "fk_message_platform_1" FOREIGN KEY ("pltfrm_id") REFERENCES "augur_data"."platform" ("pltfrm_id") ON DELETE CASCADE ON UPDATE CASCADE NOT VALID; - -ALTER TABLE "augur_data"."message" ADD CONSTRAINT "fk_message_repo_groups_list_serve_1" FOREIGN KEY ("rgls_id") REFERENCES "augur_data"."repo_groups_list_serve" ("rgls_id") ON DELETE CASCADE ON UPDATE CASCADE NOT VALID; - -ALTER TABLE "augur_data"."pull_request_commits" ADD CONSTRAINT "fk_pr_commit_cntrb_id" FOREIGN KEY ("pr_cmt_author_cntrb_id") REFERENCES "augur_data"."contributors" ("cntrb_id") ON DELETE CASCADE ON UPDATE CASCADE NOT VALID; - -ALTER TABLE "augur_data"."pull_request_reviewers" ADD CONSTRAINT "fk_pull_request_reviewers_contributors_1" FOREIGN KEY ("cntrb_id") REFERENCES "augur_data"."contributors" ("cntrb_id") ON DELETE CASCADE ON UPDATE CASCADE NOT VALID; - -ALTER TABLE "augur_data"."pull_request_reviews" ADD CONSTRAINT "fk_pull_request_reviews_contributors_1" FOREIGN KEY ("cntrb_id") REFERENCES "augur_data"."contributors" ("cntrb_id") ON DELETE CASCADE ON UPDATE CASCADE NOT VALID; - -ALTER TABLE "augur_data"."pull_requests" ADD CONSTRAINT "fk_pr_contribs" FOREIGN KEY ("pr_augur_contributor_id") REFERENCES "augur_data"."contributors" ("cntrb_id") ON DELETE CASCADE ON UPDATE CASCADE NOT VALID; - -ALTER TABLE "augur_data"."pull_requests" ADD CONSTRAINT "fk_pull_requests_repo_1" FOREIGN KEY ("repo_id") REFERENCES "augur_data"."repo" ("repo_id") ON DELETE CASCADE ON UPDATE CASCADE NOT VALID; - -update "augur_operations"."augur_settings" set value = 40 where setting = 'augur_data_version'; - - -CREATE INDEX pull_requests_idx_repo_id_data_datex ON "augur_data"."pull_requests" (repo_id,data_collection_date); -CREATE INDEX repo_idx_repo_id_repo_namex ON "augur_data"."repo" (repo_id,repo_name); -CREATE INDEX repo_info_idx_repo_id_data_datex ON "augur_data"."repo_info" (repo_id,data_collection_date); -CREATE INDEX repo_info_idx_repo_id_data_date_1x ON "augur_data"."repo_info" (repo_id,data_collection_date); - -update "augur_operations"."augur_settings" set value = 41 where setting = 'augur_data_version'; - --- Update Repo Foreign Key -ALTER TABLE "augur_data"."repo" DROP CONSTRAINT "fk_repo_repo_groups_1"; - -ALTER TABLE "augur_data"."repo" ADD CONSTRAINT "fk_repo_repo_groups_1" FOREIGN KEY ("repo_group_id") REFERENCES "augur_data"."repo_groups" ("repo_group_id") ON DELETE NO ACTION ON UPDATE NO ACTION NOT VALID; - -COMMENT ON CONSTRAINT "fk_repo_repo_groups_1" ON "augur_data"."repo" IS 'Repo_groups cardinality set to one and only one because, although in theory there could be more than one repo group for a repo, this might create dependencies in hosted situation that we do not want to live with. '; - -ALTER TABLE "augur_data"."message" - ALTER COLUMN "data_collection_date" SET DEFAULT CURRENT_TIMESTAMP; - -update "augur_operations"."augur_settings" set value = 42 where setting = 'augur_data_version'; - --- Adding new contributors to the database - --- Adding new contributors to the database --- Adding new contributors to the database - --- Adding new contributors to the database - -BEGIN; -select setval('augur_data.contributor_affiliations_ca_id_seq', 34000, true); - -select nextval('augur_data.contributor_affiliations_ca_id_seq'::regclass); - - -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "ca_start_date", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_affiliation", "ca_active") VALUES (25222, 'venuvardhanreddytekula8@gmail.com', '1970-01-01', NULL, NULL, NULL, '2021-02-06 15:14:35', '2021-02-06 15:14:35', 'Google Summer of Code', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "ca_start_date", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_affiliation", "ca_active") VALUES (25221, 'nichols.keanu9@gmail.com', '1970-01-01', NULL, NULL, NULL, '2021-02-06 15:14:11', '2021-02-06 15:14:11', 'Google Summer of Code', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "ca_start_date", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_affiliation", "ca_active") VALUES (25220, 'ubuntu@ip-172-31-2-14.us-west-2.compute.internal', '1970-01-01', NULL, NULL, NULL, '2021-02-06 15:13:50', '2021-02-06 15:13:50', 'University of Missouri', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "ca_start_date", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_affiliation", "ca_active") VALUES (25219, 'kmlumbard@gmail.com', '1970-01-01', NULL, NULL, NULL, '2021-02-06 15:13:21', '2021-02-06 15:13:21', 'University of Nebraska-Omaha', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "ca_start_date", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_affiliation", "ca_active") VALUES (25218, 'jonah.zukosky@gmail.com', '1970-01-01', NULL, NULL, NULL, '2021-02-06 15:12:50', '2021-02-06 15:12:50', 'University of Missouri', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "ca_start_date", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_affiliation", "ca_active") VALUES (25217, 'pogayo17@alustudent.com', '1970-01-01', NULL, NULL, NULL, '2021-02-06 15:12:14', '2021-02-06 15:12:14', 'Google Summer of Code', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "ca_start_date", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_affiliation", "ca_active") VALUES (25216, 'mishrapratik356@gmail.com', '1970-01-01', NULL, NULL, NULL, '2021-02-06 15:11:23', '2021-02-06 15:11:23', 'Google Summer of Code', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "ca_start_date", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_affiliation", "ca_active") VALUES (25215, 'andrewbrain2019@gmail.com', '1970-01-01', NULL, NULL, NULL, '2021-02-06 15:10:42', '2021-02-06 15:10:42', 'University of Missouri', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "ca_start_date", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_affiliation", "ca_active") VALUES (25214, 'root@bing0ne.com', '1970-01-01', NULL, NULL, NULL, '2021-02-06 15:10:15', '2021-02-06 15:10:15', 'Google Summer of Code', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "ca_start_date", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_affiliation", "ca_active") VALUES (25213, 'gordonli@me.com', '1970-01-01', NULL, NULL, NULL, '2021-02-06 15:09:46', '2021-02-06 15:09:46', 'CHAOSS Community', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "ca_start_date", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_affiliation", "ca_active") VALUES (25212, 'ac.be', '1970-01-01', NULL, NULL, NULL, '2021-02-06 15:09:20', '2021-02-06 15:09:20', 'CHAOSS Community', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "ca_start_date", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_affiliation", "ca_active") VALUES (25211, 'shohanduttaroy99@gmail.com', '1970-01-01', NULL, NULL, NULL, '2021-02-06 15:08:56', '2021-02-06 15:08:56', 'Google Summer of Code', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "ca_start_date", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_affiliation", "ca_active") VALUES (25210, 'missouri.edu', '1970-01-01', NULL, NULL, NULL, '2021-02-06 15:08:27', '2021-02-06 15:08:27', 'University of Missouri', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "ca_start_date", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_affiliation", "ca_active") VALUES (25209, 'akarajgi0@gmail.com', '1970-01-01', NULL, NULL, NULL, '2021-02-06 15:07:11', '2021-02-06 15:07:11', 'Google Summer of Code', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "ca_start_date", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_affiliation", "ca_active") VALUES (25208, 'jacobeharding@gmail.com', '1970-01-01', NULL, NULL, NULL, '2021-02-06 15:06:45', '2021-02-06 15:06:45', 'CHAOSS Community', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "ca_start_date", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_affiliation", "ca_active") VALUES (25207, 'hacksmath@gmail.com', '1970-01-01', NULL, NULL, NULL, '2021-02-06 15:06:19', '2021-02-06 15:06:19', 'CHAOSS Community', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "ca_start_date", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_affiliation", "ca_active") VALUES (25206, 'benjaminparish628@gmail.com', '1970-01-01', NULL, NULL, NULL, '2021-02-06 15:05:48', '2021-02-06 15:05:48', 'CHAOSS Community', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "ca_start_date", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_affiliation", "ca_active") VALUES (25205, 'msnell@unomaha.edu', '1970-01-01', NULL, NULL, NULL, '2021-02-06 15:04:05', '2021-02-06 15:04:05', 'University of Nebraska-Omaha', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "ca_start_date", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_affiliation", "ca_active") VALUES (25204, 'aksharap.181it132@nitk.edu.in', '1970-01-01', NULL, NULL, NULL, '2021-02-06 14:10:03', '2021-02-06 14:10:03', 'Google Summer of Code', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "ca_start_date", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_affiliation", "ca_active") VALUES (25203, 'iyovcheva@vmware.com', '1970-01-01', NULL, NULL, NULL, '2021-02-06 14:09:36', '2021-02-06 14:09:36', 'VMWare', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "ca_start_date", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_affiliation", "ca_active") VALUES (25202, 'maximumbalk@gmail.com', '1970-01-01', NULL, NULL, NULL, '2021-02-06 14:09:15', '2021-02-06 14:09:15', 'Google Summer of Code', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "ca_start_date", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_affiliation", "ca_active") VALUES (25201, '43684300+pratikmishra356@users.noreply.github.com', '1970-01-01', NULL, NULL, NULL, '2021-02-06 14:08:34', '2021-02-06 14:08:34', 'Google Summer of Code', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "ca_start_date", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_affiliation", "ca_active") VALUES (25200, 'abhinavbajpai2012@gmail.com', '1970-01-01', NULL, NULL, NULL, '2021-02-06 14:08:01', '2021-02-06 14:08:01', 'Google Summer of Code', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "ca_start_date", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_affiliation", "ca_active") VALUES (25188, 'ortonpaul18@gmail.com', '1970-01-01', NULL, NULL, NULL, '2021-02-06 14:05:58', '2021-02-06 14:05:58', 'Google Summer of Code', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "ca_start_date", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_affiliation", "ca_active") VALUES (25187, 'linkgeorg@gmail.com', '1970-01-01', NULL, NULL, NULL, '2021-02-06 14:05:29', '2021-02-06 14:05:29', 'University of Nebraska-Omaha', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "ca_start_date", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_affiliation", "ca_active") VALUES (25186, 'parth261297@gmail.com', '1970-01-01', NULL, NULL, NULL, '2021-02-06 14:05:02', '2021-02-06 14:05:02', 'Google Summer of Code', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "ca_start_date", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_affiliation", "ca_active") VALUES (25185, 'users.noreply.github.com', '1970-01-01', NULL, NULL, NULL, '2021-02-06 14:04:39', '2021-02-06 14:04:39', 'CHAOSS Community', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "ca_start_date", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_affiliation", "ca_active") VALUES (25184, 'foundjem@users.noreply.github.com', '1970-01-01', NULL, NULL, NULL, '2021-02-06 14:04:12', '2021-02-06 14:04:12', 'CHAOSS Community', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "ca_start_date", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_affiliation", "ca_active") VALUES (25183, 'gsyc.es', '1970-01-01', NULL, NULL, NULL, '2021-02-06 14:03:39', '2021-02-06 14:03:39', 'Bitergia', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "ca_start_date", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_affiliation", "ca_active") VALUES (25182, 'harshalmittal4@gmail.com', '1970-01-01', NULL, NULL, NULL, '2021-02-06 14:03:21', '2021-02-06 14:03:21', 'Bitergia', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "ca_start_date", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_affiliation", "ca_active") VALUES (25181, '31676518+tretrue@users.noreply.github.com', '1970-01-01', NULL, NULL, NULL, '2021-02-06 14:02:57', '2021-02-06 14:02:57', 'University of Missouri', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "ca_start_date", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_affiliation", "ca_active") VALUES (25180, 'klumbard@unomaha.edu', '1970-01-01', NULL, NULL, NULL, '2021-02-06 14:02:28', '2021-02-06 14:02:28', 'University of Nebraska-Omaha', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "ca_start_date", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_affiliation", "ca_active") VALUES (25179, 'gabe.heim@yahoo.com', '1970-01-01', NULL, NULL, NULL, '2021-02-06 14:01:55', '2021-02-06 14:01:55', 'University of Missouri', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "ca_start_date", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_affiliation", "ca_active") VALUES (25178, 'ccarterlandis@pm.me', '1970-01-01', NULL, NULL, NULL, '2021-02-06 14:01:34', '2021-02-06 14:01:34', 'University of Missouri', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "ca_start_date", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_affiliation", "ca_active") VALUES (25177, 'ccarterlandis@gmail.com', '1970-01-01', NULL, NULL, NULL, '2021-02-06 14:01:13', '2021-02-06 14:01:13', 'University of Missouri', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "ca_start_date", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_affiliation", "ca_active") VALUES (25176, 'abuhman@users.noreply.github.com', '1970-01-01', NULL, NULL, NULL, '2021-02-06 14:00:32', '2021-02-06 14:00:32', 'University of Nebraska-Omaha', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "ca_start_date", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_affiliation", "ca_active") VALUES (25175, 'gogginss@missouri.edu', '1970-01-01', NULL, NULL, NULL, '2021-02-06 14:00:06', '2021-02-06 14:00:06', 'University of Missouri', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "ca_start_date", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_affiliation", "ca_active") VALUES (25174, 'spencerrrobinson@unomaha.edu', '1970-01-01', NULL, NULL, NULL, '2021-02-06 13:59:19', '2021-02-06 13:59:19', 'University of Nebraska-Omaha', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "ca_start_date", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_affiliation", "ca_active") VALUES (25173, 'germonprez@gmail.com', '1970-01-01', NULL, NULL, NULL, '2021-02-06 13:58:48', '2021-02-06 13:58:48', 'University of Nebraska-Omaha', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "ca_start_date", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_affiliation", "ca_active") VALUES (25172, 'derek@howderek.com', '1970-01-01', NULL, NULL, NULL, '2021-02-06 13:57:56', '2021-02-06 13:57:56', 'Lawrence Livermore National Lab', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "ca_start_date", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_affiliation", "ca_active") VALUES (25171, 'doombreakr@gmail.com', '1970-01-01', NULL, NULL, NULL, '2021-02-06 13:57:20', '2021-02-06 13:57:20', 'Lawrence Livermore National Lab', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "ca_start_date", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_affiliation", "ca_active") VALUES (25170, 'cmehil.warn@gmail.com', '2016-05-06', 'load', '1.0', 'load', '2021-02-06 13:55:16', '2021-02-06 13:56:46', 'University of Nebraska-Omaha', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24189, 'jschnake@vmware.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24190, 'schnake.john@gmail.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24191, 'bmcerlean@vmware.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24192, 'bridget@bitnami.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24193, 'ashish.amarnath@gmail.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24194, 'ashisham@vmware.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24195, 'gus@inodes.org', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24196, 'felipe.alfaro@gmail.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24197, 'sameer@damagehead.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24198, 'sameer@bitnami.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24199, 'sameersbn@Sameers-MacBook-Pro.local', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24200, 'adnan@bitnami.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24201, 'adnan@prydoni.us', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24202, 'adnan@adnan-bitnami.local', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24203, 'apulido@gmail.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24204, 'ara@ubuntu.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24205, 'bridgetmcerlean@gmail.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24206, 'migmartri@gmail.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24207, 'miguel@bitnami.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24208, 'dbarranco@bitnami.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24209, 'jbianquetti@bitnami.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24210, 'jbianquetti-nami@users.noreply.github.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24211, 'andres.mgotor@gmail.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24212, 'andres@bitnami.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24213, 'juanjosec@gmail.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24214, 'containers@bitnami.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24215, 'bors\[bot\]@users.noreply.github.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24216, 'matt.goodall@gmail.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24217, 'j-fuentes@users.noreply.github.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24218, 'jfuentes@bitnami.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24219, 'mnelson@bitnami.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24220, 'mkm@bitnami.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24221, 'mmikulicic@gmail.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24222, 'james@jameswestby.net', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24223, 'stephen.stewart@carisenda.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24224, 'daniel.lopez@gmail.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24225, 'nomisbeme@users.noreply.github.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24226, 'marcos@bitnami.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24227, 'marcosbc@users.noreply.github.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24228, 'juan@bitnami.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24229, 'juan_ariza_cordoba@hotmail.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24230, 'jota@bitnami.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24231, 'jotamartos@gmail.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24232, 'alejandro@bitnami.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24233, 'alexrwave@gmail.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24234, 'jotadrilo@users.noreply.github.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24235, 'jsalmeron@bitnami.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24236, 'tomas@bitnami.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24237, 'vikram@bitnami.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24238, 'vikram-bitnami@users.noreply.github.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24239, 'crhernandez@bitnami.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24240, 'carrodher1179@gmail.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24241, 'juanjo@bitnami.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24242, 'juanjo@bitrock.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24243, 'beltran@bitnami.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24244, 'angel@bitnami.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24245, 'Angelmmiguel@users.noreply.github.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24246, 'rcampuzano82@gmail.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24247, 'andy@heptio.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24248, 'andy.goldstein@gmail.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24249, 'goldsteina@vmware.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24250, 'nolan@heptio.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (27291, 'brubakern@vmware.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24252, 'nolan@nbrubaker.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24253, 'stevek@heptio.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24254, 'steve@heptio.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24255, 'stephen.kriss@gmail.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24256, 'krisss@vmware.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24257, 'carlisia@heptio.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24258, 'carlisia@grokkingtech.io', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24259, 'carlisiac@vmware.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24260, 'carlisia@vmware.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24261, 'wayne@heptio.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24262, 'wayne@riotousliving.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24263, 'wwitzel3@vmware.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24264, 'jennifer@heptio.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24265, 'jrondeau@heptio.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24266, 'Bradamant3@users.noreply.github.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24267, 'aadnan@vmware.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24268, 'dave@heptio.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24269, 'dave@cheney.net', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24270, 'steves@heptio.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24271, 'steve@stevesloka.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24272, 'slokas@vmware.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24273, 'ynick@heptio.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24274, 'inocuo@gmail.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24275, 'ynick@vmware.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24276, 'jpeach@vmware.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24277, 'ross@heptio.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24278, 'ross@kukulinski.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24279, 'ralph@heptio.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24280, 'ralph.l.bankston@gmail.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24281, 'alex_brand@heptio.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24282, 'alexbrand09@gmail.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24283, 'joe@heptio.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24284, 'joe.github@bedafamily.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24285, 'vince@heptio.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24286, 'vince@vincepri.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24287, 'chuck@heptio.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24288, 'ha.chuck@gmail.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24289, 'jason@heptio.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24290, 'detiber@gmail.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24291, 'detiberusj@vmware.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24292, 'liz@heptio.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24293, '.*liztio@users.noreply.github.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24294, 'naadir@heptio.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24295, 'naadir@randomvariable.co.uk', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24296, 'randomvariable@users.noreply.github.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24297, 'ruben@heptio.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24298, 'rubenoz@gmail.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24299, 'rdodev@vmware.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (25300, 'tstclair@heptio.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (25301, 'timothysc@users.noreply.github.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (25302, 'craigtracey@gmail.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (25303, 'luohui925@gmail.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (25304, 'davanum@gmail.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (25305, 'amy@users.noreply.github.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (25306, 'bryanliles@gmail.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (25307, 'bryan@Bryans-MacBook-Pro.local', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (25308, 'lilesb@vmware.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (25309, 'sfoohei@gmail.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (25310, 'foos@vmware.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (25311, 'mlandaverde@heptio.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (25312, 'mdaverde@users.noreply.github.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (25313, 'shomron@gmail.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (25314, 'derek@heptio.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (25315, 'jderekwilson@gmail.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (25316, 'eric@heptio.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (25317, 'kate.kuchin@gmail.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (25318, 'suraci.alex@gmail.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (25319, 'asuraci@pivotal.io', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (25320, 'alex@localhost.localdomain', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (25321, 'julian.zucker@gmail.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (25322, 'sahil.muthoo@gmail.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (25323, 'fali@pivotal.io', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (25324, 'fai28683@gmail.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (25325, 'dgarnier@pivotal.io', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (25326, 'git@garnier.wf', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (25327, 'matthew.heidemann@gmail.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (25328, 'me@lurraca.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (25329, 'lurraca@pivotal.io', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; - -update "augur_operations"."augur_settings" set value = 43 where setting = 'augur_data_version'; - - -COMMIT; - - - - - - -ALTER TABLE "augur_data"."pull_request_analysis" ALTER COLUMN "merge_probability" TYPE numeric(256,250) USING "merge_probability"::numeric(256,250); - -ALTER TABLE "augur_data"."pull_requests" ALTER COLUMN "repo_id" SET DEFAULT 0; - -COMMENT ON CONSTRAINT "fk_repo_repo_groups_1" ON "augur_data"."repo" IS 'Repo_groups cardinality set to one and only one because, although in theory there could be more than one repo group for a repo, this might create dependencies in hosted situation that we do not want to live with. '; - -CREATE INDEX IF NOT EXISTS "probability_idx" ON "augur_data"."pull_request_analysis" USING btree ( - "merge_probability" "pg_catalog"."numeric_ops" DESC NULLS LAST -); - - -update "augur_operations"."augur_settings" set value = 44 where setting = 'augur_data_version'; -COMMIT; - - - - - - -CREATE SEQUENCE IF "augur_operations"."affiliations_corp_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 620000 -CACHE 1; - -CREATE SEQUENCE "augur_operations"."worker_oauth_oauth_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 620000 -CACHE 1; - -COMMENT ON TABLE "augur_operations"."augur_settings" IS 'Augur settings include the schema version, and the Augur API Key as of 10/25/2020. Future augur settings may be stored in this table, which has the basic structure of a name-value pair. '; - -COMMENT ON TABLE "augur_operations"."repos_fetch_log" IS 'For future use when we move all working tables to the augur_operations schema. '; - -COMMENT ON TABLE "augur_operations"."worker_history" IS 'This table stores the complete history of job execution, including success and failure. It is useful for troubleshooting. '; - -COMMENT ON TABLE "augur_operations"."worker_job" IS 'This table stores the jobs workers collect data for. A job is found in the code, and in the augur.config.json under the construct of a “model”. '; - -ALTER TABLE "augur_operations"."worker_job" ALTER COLUMN "description" SET DEFAULT 'None'::character varying; - -COMMENT ON TABLE "augur_operations"."worker_oauth" IS 'This table stores credentials for retrieving data from platform API’s. Entries in this table must comply with the terms of service for each platform. '; - -ALTER TABLE "augur_operations"."worker_oauth" ALTER COLUMN "oauth_id" TYPE int8 USING "oauth_id"::int8; - -ALTER TABLE "augur_operations"."worker_oauth" ALTER COLUMN "oauth_id" SET DEFAULT nextval('"augur_operations".worker_oauth_oauth_id_seq'::regclass); - -ALTER TABLE "augur_operations"."worker_oauth" ADD CONSTRAINT "worker_oauth_pkey" PRIMARY KEY ("oauth_id"); - -COMMENT ON TABLE "augur_operations"."worker_settings_facade" IS 'For future use when we move all working tables to the augur_operations schema. '; - -COMMENT ON TABLE "augur_operations"."working_commits" IS 'For future use when we move all working tables to the augur_operations schema. '; - -SELECT setval('"augur_operations"."affiliations_corp_id_seq"', 1, false); - -ALTER SEQUENCE "augur_operations"."affiliations_corp_id_seq" OWNER TO "augur"; - -SELECT setval('"augur_operations"."gh_worker_history_history_id_seq"', 6300000, true); - -SELECT setval('"augur_operations"."worker_oauth_oauth_id_seq"', 6300000, true); - -ALTER SEQUENCE "augur_operations"."worker_oauth_oauth_id_seq" OWNER TO "augur"; - -CREATE INDEX "repos_id,statusops" ON "augur_operations"."repos_fetch_log" USING btree ( - "repos_id" "pg_catalog"."int4_ops" ASC NULLS LAST, - "status" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); - - - -update "augur_operations"."augur_settings" set value = 45 where setting = 'augur_data_version'; - - - - - --- ---------------------------- --- Table structure for contributor_repo --- ---------------------------- - -BEGIN; - -DROP TABLE IF EXISTS "augur_data"."contributor_repo"; - - -CREATE TABLE IF NOT EXISTS "augur_data"."contributor_repo" ( - "cntrb_repo_id" SERIAL8, - "cntrb_id" int8 NOT NULL, - "repo_git" varchar COLLATE "pg_catalog"."default" NOT NULL, - "tool_source" varchar COLLATE "pg_catalog"."default", - "tool_version" varchar COLLATE "pg_catalog"."default", - "data_source" varchar COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0) DEFAULT CURRENT_TIMESTAMP, - "repo_name" varchar(255) COLLATE "pg_catalog"."default" NOT NULL, - "gh_repo_id" int8 NOT NULL, - "cntrb_category" varchar(255) COLLATE "pg_catalog"."default", - "event_id" int8 -) -; -ALTER TABLE "augur_data"."contributor_repo" OWNER TO "augur"; -COMMENT ON COLUMN "augur_data"."contributor_repo"."cntrb_id" IS 'This is not null because what is the point without the contributor in this table? '; -COMMENT ON COLUMN "augur_data"."contributor_repo"."repo_git" IS 'Similar to cntrb_id, we need this data for the table to have meaningful data. '; -COMMENT ON TABLE "augur_data"."contributor_repo" IS 'Developed in Partnership with Andrew Brain. -
From: 

[ - { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - } -] -




'; - --- ---------------------------- --- Primary Key structure for table contributor_repo --- ---------------------------- -ALTER TABLE "augur_data"."contributor_repo" DROP CONSTRAINT "cntrb_repo_id_key"; - -ALTER TABLE "augur_data"."contributor_repo" ADD CONSTRAINT "cntrb_repo_id_key" PRIMARY KEY ("cntrb_repo_id"); - --- ---------------------------- --- Foreign Keys structure for table contributor_repo --- ---------------------------- -ALTER TABLE "augur_data"."contributor_repo" DROP CONSTRAINT "fk_contributor_repo_contributors_1"; - -ALTER TABLE "augur_data"."contributor_repo" ADD CONSTRAINT "fk_contributor_repo_contributors_1" FOREIGN KEY ("cntrb_id") REFERENCES "augur_data"."contributors" ("cntrb_id") ON DELETE RESTRICT ON UPDATE CASCADE; - -update "augur_operations"."augur_settings" set value = 46 where setting = 'augur_data_version'; - - -COMMIT; - - ---------47-------------- - -BEGIN; - --- ---------------------------- --- Table structure for contributor_repo --- ---------------------------- - -BEGIN; - -DROP TABLE IF EXISTS "augur_data"."contributor_repo"; - - -CREATE TABLE IF NOT EXISTS "augur_data"."contributor_repo" ( - "cntrb_repo_id" SERIAL8, - "cntrb_id" int8 NOT NULL, - "repo_git" varchar COLLATE "pg_catalog"."default" NOT NULL, - "tool_source" varchar COLLATE "pg_catalog"."default", - "tool_version" varchar COLLATE "pg_catalog"."default", - "data_source" varchar COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0) DEFAULT CURRENT_TIMESTAMP, - "repo_name" varchar(255) COLLATE "pg_catalog"."default" NOT NULL, - "gh_repo_id" int8 NOT NULL, - "cntrb_category" varchar(255) COLLATE "pg_catalog"."default", - "event_id" int8 -) -; -ALTER TABLE "augur_data"."contributor_repo" OWNER TO "augur"; -COMMENT ON COLUMN "augur_data"."contributor_repo"."cntrb_id" IS 'This is not null because what is the point without the contributor in this table? '; -COMMENT ON COLUMN "augur_data"."contributor_repo"."repo_git" IS 'Similar to cntrb_id, we need this data for the table to have meaningful data. '; -COMMENT ON TABLE "augur_data"."contributor_repo" IS 'Developed in Partnership with Andrew Brain. -
From: 

[ - { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - } -] -




'; - --- ---------------------------- --- Primary Key structure for table contributor_repo --- ---------------------------- -ALTER TABLE "augur_data"."contributor_repo" DROP CONSTRAINT "cntrb_repo_id_key"; - -ALTER TABLE "augur_data"."contributor_repo" ADD CONSTRAINT "cntrb_repo_id_key" PRIMARY KEY ("cntrb_repo_id"); - --- ---------------------------- --- Foreign Keys structure for table contributor_repo --- ---------------------------- -ALTER TABLE "augur_data"."contributor_repo" DROP CONSTRAINT "fk_contributor_repo_contributors_1"; - -ALTER TABLE "augur_data"."contributor_repo" ADD CONSTRAINT "fk_contributor_repo_contributors_1" FOREIGN KEY ("cntrb_id") REFERENCES "augur_data"."contributors" ("cntrb_id") ON DELETE RESTRICT ON UPDATE CASCADE; - -update "augur_operations"."augur_settings" set value = 46 where setting = 'augur_data_version'; - - -COMMIT; - - ---------47-------------- - -BEGIN; - --- ---------------------------- --- Table structure for contributor_repo --- ---------------------------- -DROP TABLE IF EXISTS "augur_data"."contributor_repo"; -CREATE TABLE "augur_data"."contributor_repo" ( - "cntrb_repo_id" int4 NOT NULL DEFAULT nextval('"augur_data".contributor_repo_cntrb_repo_id_seq'::regclass), - "cntrb_id" int8 NOT NULL, - "repo_git" varchar COLLATE "pg_catalog"."default" NOT NULL, - "tool_source" varchar COLLATE "pg_catalog"."default", - "tool_version" varchar COLLATE "pg_catalog"."default", - "data_source" varchar COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0) DEFAULT CURRENT_TIMESTAMP, - "repo_name" varchar(255) COLLATE "pg_catalog"."default" NOT NULL, - "gh_repo_id" int8 NOT NULL, - "cntrb_category" varchar(255) COLLATE "pg_catalog"."default", - "event_id" int8, - "created_at" timestamp(0) -) -; -ALTER TABLE "augur_data"."contributor_repo" OWNER TO "augur"; -COMMENT ON COLUMN "augur_data"."contributor_repo"."cntrb_id" IS 'This is not null because what is the point without the contributor in this table? '; -COMMENT ON COLUMN "augur_data"."contributor_repo"."repo_git" IS 'Similar to cntrb_id, we need this data for the table to have meaningful data. '; -COMMENT ON TABLE "augur_data"."contributor_repo" IS 'Developed in Partnership with Andrew Brain. -
From: 

[ - { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - } -] -




'; - - --- ---------------------------- --- Primary Key structure for table contributor_repo --- ---------------------------- -ALTER TABLE "augur_data"."contributor_repo" DROP CONSTRAINT IF EXISTS "cntrb_repo_id_key"; - -ALTER TABLE "augur_data"."contributor_repo" ADD CONSTRAINT "cntrb_repo_id_key" PRIMARY KEY ("cntrb_repo_id"); - --- ---------------------------- --- Foreign Keys structure for table contributor_repo --- ---------------------------- -ALTER TABLE "augur_data"."contributor_repo" DROP CONSTRAINT IF EXISTS "fk_contributor_repo_contributors_1"; - -ALTER TABLE "augur_data"."contributor_repo" ADD CONSTRAINT "fk_contributor_repo_contributors_1" FOREIGN KEY ("cntrb_id") REFERENCES "augur_data"."contributors" ("cntrb_id") ON DELETE RESTRICT ON UPDATE CASCADE; - -update "augur_operations"."augur_settings" set value = 47 where setting = 'augur_data_version'; - - -COMMIT; - - -BEGIN; - -ALTER TABLE "augur_data"."topic_words" - DROP CONSTRAINT IF EXISTS "fk_topic_words_repo_topic_1"; - -update "augur_operations"."augur_settings" set value = 48 where setting = 'augur_data_version'; - - -COMMIT; - - - - diff --git a/schema/20201025-Release-0.14.0.sql b/schema/20201025-Release-0.14.0.sql deleted file mode 100644 index 851ed4d7f0..0000000000 --- a/schema/20201025-Release-0.14.0.sql +++ /dev/null @@ -1,4412 +0,0 @@ --- #SPDX-License-Identifier: MIT --- ---------------------------- - -CREATE SCHEMA IF NOT EXISTS augur_data; -CREATE SCHEMA IF NOT EXISTS augur_operations; -CREATE SCHEMA IF NOT EXISTS spdx; --- create the schemas --- ----------------------- - --- ---------------------------- --- Sequence structure for annotation_types_annotation_type_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "spdx"."annotation_types_annotation_type_id_seq"; -CREATE SEQUENCE "spdx"."annotation_types_annotation_type_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 2147483647 -START 1 -CACHE 1; -ALTER SEQUENCE "spdx"."annotation_types_annotation_type_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for annotations_annotation_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "spdx"."annotations_annotation_id_seq"; -CREATE SEQUENCE "spdx"."annotations_annotation_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 2147483647 -START 1 -CACHE 1; -ALTER SEQUENCE "spdx"."annotations_annotation_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for augur_repo_map_map_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "spdx"."augur_repo_map_map_id_seq"; -CREATE SEQUENCE "spdx"."augur_repo_map_map_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 2147483647 -START 1 -CACHE 1; -ALTER SEQUENCE "spdx"."augur_repo_map_map_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for creator_types_creator_type_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "spdx"."creator_types_creator_type_id_seq"; -CREATE SEQUENCE "spdx"."creator_types_creator_type_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 2147483647 -START 1 -CACHE 1; -ALTER SEQUENCE "spdx"."creator_types_creator_type_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for creators_creator_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "spdx"."creators_creator_id_seq"; -CREATE SEQUENCE "spdx"."creators_creator_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 2147483647 -START 1 -CACHE 1; -ALTER SEQUENCE "spdx"."creators_creator_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for document_namespaces_document_namespace_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "spdx"."document_namespaces_document_namespace_id_seq"; -CREATE SEQUENCE "spdx"."document_namespaces_document_namespace_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 2147483647 -START 1 -CACHE 1; -ALTER SEQUENCE "spdx"."document_namespaces_document_namespace_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for documents_creators_document_creator_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "spdx"."documents_creators_document_creator_id_seq"; -CREATE SEQUENCE "spdx"."documents_creators_document_creator_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 2147483647 -START 1 -CACHE 1; -ALTER SEQUENCE "spdx"."documents_creators_document_creator_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for documents_document_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "spdx"."documents_document_id_seq"; -CREATE SEQUENCE "spdx"."documents_document_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 2147483647 -START 1 -CACHE 1; -ALTER SEQUENCE "spdx"."documents_document_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for external_refs_external_ref_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "spdx"."external_refs_external_ref_id_seq"; -CREATE SEQUENCE "spdx"."external_refs_external_ref_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 2147483647 -START 1 -CACHE 1; -ALTER SEQUENCE "spdx"."external_refs_external_ref_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for file_contributors_file_contributor_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "spdx"."file_contributors_file_contributor_id_seq"; -CREATE SEQUENCE "spdx"."file_contributors_file_contributor_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 2147483647 -START 1 -CACHE 1; -ALTER SEQUENCE "spdx"."file_contributors_file_contributor_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for files_file_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "spdx"."files_file_id_seq"; -CREATE SEQUENCE "spdx"."files_file_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 2147483647 -START 1 -CACHE 1; -ALTER SEQUENCE "spdx"."files_file_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for files_licenses_file_license_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "spdx"."files_licenses_file_license_id_seq"; -CREATE SEQUENCE "spdx"."files_licenses_file_license_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 2147483647 -START 1 -CACHE 1; -ALTER SEQUENCE "spdx"."files_licenses_file_license_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for files_scans_file_scan_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "spdx"."files_scans_file_scan_id_seq"; -CREATE SEQUENCE "spdx"."files_scans_file_scan_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 2147483647 -START 1 -CACHE 1; -ALTER SEQUENCE "spdx"."files_scans_file_scan_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for identifiers_identifier_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "spdx"."identifiers_identifier_id_seq"; -CREATE SEQUENCE "spdx"."identifiers_identifier_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 2147483647 -START 1 -CACHE 1; -ALTER SEQUENCE "spdx"."identifiers_identifier_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for licenses_license_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "spdx"."licenses_license_id_seq"; -CREATE SEQUENCE "spdx"."licenses_license_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 2147483647 -START 1 -CACHE 1; -ALTER SEQUENCE "spdx"."licenses_license_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for packages_files_package_file_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "spdx"."packages_files_package_file_id_seq"; -CREATE SEQUENCE "spdx"."packages_files_package_file_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 2147483647 -START 1 -CACHE 1; -ALTER SEQUENCE "spdx"."packages_files_package_file_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for packages_package_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "spdx"."packages_package_id_seq"; -CREATE SEQUENCE "spdx"."packages_package_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 2147483647 -START 1 -CACHE 1; -ALTER SEQUENCE "spdx"."packages_package_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for packages_scans_package_scan_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "spdx"."packages_scans_package_scan_id_seq"; -CREATE SEQUENCE "spdx"."packages_scans_package_scan_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 2147483647 -START 1 -CACHE 1; -ALTER SEQUENCE "spdx"."packages_scans_package_scan_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for projects_package_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "spdx"."projects_package_id_seq"; -CREATE SEQUENCE "spdx"."projects_package_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 2147483647 -START 1 -CACHE 1; -ALTER SEQUENCE "spdx"."projects_package_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for relationship_types_relationship_type_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "spdx"."relationship_types_relationship_type_id_seq"; -CREATE SEQUENCE "spdx"."relationship_types_relationship_type_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 2147483647 -START 1 -CACHE 1; -ALTER SEQUENCE "spdx"."relationship_types_relationship_type_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for relationships_relationship_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "spdx"."relationships_relationship_id_seq"; -CREATE SEQUENCE "spdx"."relationships_relationship_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 2147483647 -START 1 -CACHE 1; -ALTER SEQUENCE "spdx"."relationships_relationship_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for scanners_scanner_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "spdx"."scanners_scanner_id_seq"; -CREATE SEQUENCE "spdx"."scanners_scanner_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 2147483647 -START 1 -CACHE 1; -ALTER SEQUENCE "spdx"."scanners_scanner_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for augur_settings_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_operations"."augur_settings_id_seq"; -CREATE SEQUENCE "augur_operations"."augur_settings_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 1 -CACHE 1; -ALTER SEQUENCE "augur_operations"."augur_settings_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for gh_worker_history_history_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_operations"."gh_worker_history_history_id_seq"; -CREATE SEQUENCE "augur_operations"."gh_worker_history_history_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 1 -CACHE 1; -ALTER SEQUENCE "augur_operations"."gh_worker_history_history_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for worker_oauth_oauth_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_operations"."worker_oauth_oauth_id_seq"; -CREATE SEQUENCE "augur_operations"."worker_oauth_oauth_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 1000 -CACHE 1; -ALTER SEQUENCE "augur_operations"."worker_oauth_oauth_id_seq" OWNER TO "augur"; - --- ---------------------------- - --- ---------------------------- --- Sequence structure for augur_data.repo_insights_ri_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."augur_data.repo_insights_ri_id_seq"; -CREATE SEQUENCE "augur_data"."augur_data.repo_insights_ri_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 25430 -CACHE 1; -ALTER SEQUENCE "augur_data"."augur_data.repo_insights_ri_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for chaoss_metric_status_cms_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."chaoss_metric_status_cms_id_seq"; -CREATE SEQUENCE "augur_data"."chaoss_metric_status_cms_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 1 -CACHE 1; -ALTER SEQUENCE "augur_data"."chaoss_metric_status_cms_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for commit_comment_ref_cmt_comment_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."commit_comment_ref_cmt_comment_id_seq"; -CREATE SEQUENCE "augur_data"."commit_comment_ref_cmt_comment_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 25430 -CACHE 1; -ALTER SEQUENCE "augur_data"."commit_comment_ref_cmt_comment_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for commit_parents_parent_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."commit_parents_parent_id_seq"; -CREATE SEQUENCE "augur_data"."commit_parents_parent_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 25430 -CACHE 1; -ALTER SEQUENCE "augur_data"."commit_parents_parent_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for commits_cmt_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."commits_cmt_id_seq"; -CREATE SEQUENCE "augur_data"."commits_cmt_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 25430 -CACHE 1; -ALTER SEQUENCE "augur_data"."commits_cmt_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for contributor_affiliations_ca_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."contributor_affiliations_ca_id_seq"; -CREATE SEQUENCE "augur_data"."contributor_affiliations_ca_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 25430 -CACHE 1; -ALTER SEQUENCE "augur_data"."contributor_affiliations_ca_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for contributors_aliases_cntrb_a_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."contributors_aliases_cntrb_a_id_seq"; -CREATE SEQUENCE "augur_data"."contributors_aliases_cntrb_a_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 25430 -CACHE 1; -ALTER SEQUENCE "augur_data"."contributors_aliases_cntrb_a_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for contributors_cntrb_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."contributors_cntrb_id_seq"; -CREATE SEQUENCE "augur_data"."contributors_cntrb_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 25430 -CACHE 1; -ALTER SEQUENCE "augur_data"."contributors_cntrb_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for contributors_history_cntrb_history_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."contributors_history_cntrb_history_id_seq"; -CREATE SEQUENCE "augur_data"."contributors_history_cntrb_history_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 25430 -CACHE 1; -ALTER SEQUENCE "augur_data"."contributors_history_cntrb_history_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for discourse_insights_msg_discourse_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."discourse_insights_msg_discourse_id_seq"; -CREATE SEQUENCE "augur_data"."discourse_insights_msg_discourse_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 1 -CACHE 1; -ALTER SEQUENCE "augur_data"."discourse_insights_msg_discourse_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for issue_assignees_issue_assignee_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."issue_assignees_issue_assignee_id_seq"; -CREATE SEQUENCE "augur_data"."issue_assignees_issue_assignee_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 1 -CACHE 1; -ALTER SEQUENCE "augur_data"."issue_assignees_issue_assignee_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for issue_events_event_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."issue_events_event_id_seq"; -CREATE SEQUENCE "augur_data"."issue_events_event_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 25430 -CACHE 1; -ALTER SEQUENCE "augur_data"."issue_events_event_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for issue_labels_issue_label_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."issue_labels_issue_label_id_seq"; -CREATE SEQUENCE "augur_data"."issue_labels_issue_label_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 25430 -CACHE 1; -ALTER SEQUENCE "augur_data"."issue_labels_issue_label_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for issue_message_ref_issue_msg_ref_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."issue_message_ref_issue_msg_ref_id_seq"; -CREATE SEQUENCE "augur_data"."issue_message_ref_issue_msg_ref_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 25430 -CACHE 1; -ALTER SEQUENCE "augur_data"."issue_message_ref_issue_msg_ref_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for issue_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."issue_seq"; -CREATE SEQUENCE "augur_data"."issue_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 31000 -CACHE 1; -ALTER SEQUENCE "augur_data"."issue_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for libraries_library_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."libraries_library_id_seq"; -CREATE SEQUENCE "augur_data"."libraries_library_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 25430 -CACHE 1; -ALTER SEQUENCE "augur_data"."libraries_library_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for library_dependencies_lib_dependency_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."library_dependencies_lib_dependency_id_seq"; -CREATE SEQUENCE "augur_data"."library_dependencies_lib_dependency_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 25430 -CACHE 1; -ALTER SEQUENCE "augur_data"."library_dependencies_lib_dependency_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for library_version_library_version_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."library_version_library_version_id_seq"; -CREATE SEQUENCE "augur_data"."library_version_library_version_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 25430 -CACHE 1; -ALTER SEQUENCE "augur_data"."library_version_library_version_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for lstm_anomaly_models_model_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."lstm_anomaly_models_model_id_seq"; -CREATE SEQUENCE "augur_data"."lstm_anomaly_models_model_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 1 -CACHE 1; -ALTER SEQUENCE "augur_data"."lstm_anomaly_models_model_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for lstm_anomaly_results_result_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."lstm_anomaly_results_result_id_seq"; -CREATE SEQUENCE "augur_data"."lstm_anomaly_results_result_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 1 -CACHE 1; -ALTER SEQUENCE "augur_data"."lstm_anomaly_results_result_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for message_analysis_msg_analysis_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."message_analysis_msg_analysis_id_seq"; -CREATE SEQUENCE "augur_data"."message_analysis_msg_analysis_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 1 -CACHE 1; -ALTER SEQUENCE "augur_data"."message_analysis_msg_analysis_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for message_analysis_summary_msg_summary_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."message_analysis_summary_msg_summary_id_seq"; -CREATE SEQUENCE "augur_data"."message_analysis_summary_msg_summary_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 1 -CACHE 1; -ALTER SEQUENCE "augur_data"."message_analysis_summary_msg_summary_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for message_msg_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."message_msg_id_seq"; -CREATE SEQUENCE "augur_data"."message_msg_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 25430 -CACHE 1; -ALTER SEQUENCE "augur_data"."message_msg_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for message_sentiment_msg_analysis_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."message_sentiment_msg_analysis_id_seq"; -CREATE SEQUENCE "augur_data"."message_sentiment_msg_analysis_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 1 -CACHE 1; -ALTER SEQUENCE "augur_data"."message_sentiment_msg_analysis_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for message_sentiment_summary_msg_summary_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."message_sentiment_summary_msg_summary_id_seq"; -CREATE SEQUENCE "augur_data"."message_sentiment_summary_msg_summary_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 1 -CACHE 1; -ALTER SEQUENCE "augur_data"."message_sentiment_summary_msg_summary_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for platform_pltfrm_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."platform_pltfrm_id_seq"; -CREATE SEQUENCE "augur_data"."platform_pltfrm_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 25430 -CACHE 1; -ALTER SEQUENCE "augur_data"."platform_pltfrm_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for pull_request_assignees_pr_assignee_map_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."pull_request_assignees_pr_assignee_map_id_seq"; -CREATE SEQUENCE "augur_data"."pull_request_assignees_pr_assignee_map_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 25430 -CACHE 1; -ALTER SEQUENCE "augur_data"."pull_request_assignees_pr_assignee_map_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for pull_request_commits_pr_cmt_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."pull_request_commits_pr_cmt_id_seq"; -CREATE SEQUENCE "augur_data"."pull_request_commits_pr_cmt_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 1 -CACHE 1; -ALTER SEQUENCE "augur_data"."pull_request_commits_pr_cmt_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for pull_request_events_pr_event_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."pull_request_events_pr_event_id_seq"; -CREATE SEQUENCE "augur_data"."pull_request_events_pr_event_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 25430 -CACHE 1; -ALTER SEQUENCE "augur_data"."pull_request_events_pr_event_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for pull_request_files_pr_file_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."pull_request_files_pr_file_id_seq"; -CREATE SEQUENCE "augur_data"."pull_request_files_pr_file_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 25150 -CACHE 1; -ALTER SEQUENCE "augur_data"."pull_request_files_pr_file_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for pull_request_labels_pr_label_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."pull_request_labels_pr_label_id_seq"; -CREATE SEQUENCE "augur_data"."pull_request_labels_pr_label_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 25430 -CACHE 1; -ALTER SEQUENCE "augur_data"."pull_request_labels_pr_label_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for pull_request_message_ref_pr_msg_ref_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."pull_request_message_ref_pr_msg_ref_id_seq"; -CREATE SEQUENCE "augur_data"."pull_request_message_ref_pr_msg_ref_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 25430 -CACHE 1; -ALTER SEQUENCE "augur_data"."pull_request_message_ref_pr_msg_ref_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for pull_request_meta_pr_repo_meta_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."pull_request_meta_pr_repo_meta_id_seq"; -CREATE SEQUENCE "augur_data"."pull_request_meta_pr_repo_meta_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 25430 -CACHE 1; -ALTER SEQUENCE "augur_data"."pull_request_meta_pr_repo_meta_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for pull_request_repo_pr_repo_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."pull_request_repo_pr_repo_id_seq"; -CREATE SEQUENCE "augur_data"."pull_request_repo_pr_repo_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 25430 -CACHE 1; -ALTER SEQUENCE "augur_data"."pull_request_repo_pr_repo_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for pull_request_reviewers_pr_reviewer_map_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."pull_request_reviewers_pr_reviewer_map_id_seq"; -CREATE SEQUENCE "augur_data"."pull_request_reviewers_pr_reviewer_map_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 25430 -CACHE 1; -ALTER SEQUENCE "augur_data"."pull_request_reviewers_pr_reviewer_map_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for pull_request_teams_pr_team_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."pull_request_teams_pr_team_id_seq"; -CREATE SEQUENCE "augur_data"."pull_request_teams_pr_team_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 25430 -CACHE 1; -ALTER SEQUENCE "augur_data"."pull_request_teams_pr_team_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for pull_requests_pull_request_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."pull_requests_pull_request_id_seq"; -CREATE SEQUENCE "augur_data"."pull_requests_pull_request_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 25430 -CACHE 1; -ALTER SEQUENCE "augur_data"."pull_requests_pull_request_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for releases_release_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."releases_release_id_seq"; -CREATE SEQUENCE "augur_data"."releases_release_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 1 -CACHE 1; -ALTER SEQUENCE "augur_data"."releases_release_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for repo_badging_badge_collection_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."repo_badging_badge_collection_id_seq"; -CREATE SEQUENCE "augur_data"."repo_badging_badge_collection_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 25012 -CACHE 1; -ALTER SEQUENCE "augur_data"."repo_badging_badge_collection_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for repo_cluster_messages_msg_cluster_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."repo_cluster_messages_msg_cluster_id_seq"; -CREATE SEQUENCE "augur_data"."repo_cluster_messages_msg_cluster_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 1 -CACHE 1; -ALTER SEQUENCE "augur_data"."repo_cluster_messages_msg_cluster_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for repo_group_insights_rgi_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."repo_group_insights_rgi_id_seq"; -CREATE SEQUENCE "augur_data"."repo_group_insights_rgi_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 25430 -CACHE 1; -ALTER SEQUENCE "augur_data"."repo_group_insights_rgi_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for repo_groups_list_serve_rgls_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."repo_groups_list_serve_rgls_id_seq"; -CREATE SEQUENCE "augur_data"."repo_groups_list_serve_rgls_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 25430 -CACHE 1; -ALTER SEQUENCE "augur_data"."repo_groups_list_serve_rgls_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for repo_groups_repo_group_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."repo_groups_repo_group_id_seq"; -CREATE SEQUENCE "augur_data"."repo_groups_repo_group_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 25430 -CACHE 1; -ALTER SEQUENCE "augur_data"."repo_groups_repo_group_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for repo_info_repo_info_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."repo_info_repo_info_id_seq"; -CREATE SEQUENCE "augur_data"."repo_info_repo_info_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 25430 -CACHE 1; -ALTER SEQUENCE "augur_data"."repo_info_repo_info_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for repo_insights_records_ri_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."repo_insights_records_ri_id_seq"; -CREATE SEQUENCE "augur_data"."repo_insights_records_ri_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 1 -CACHE 1; -ALTER SEQUENCE "augur_data"."repo_insights_records_ri_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for repo_insights_ri_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."repo_insights_ri_id_seq"; -CREATE SEQUENCE "augur_data"."repo_insights_ri_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 1 -CACHE 1; -ALTER SEQUENCE "augur_data"."repo_insights_ri_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for repo_labor_repo_labor_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."repo_labor_repo_labor_id_seq"; -CREATE SEQUENCE "augur_data"."repo_labor_repo_labor_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 25430 -CACHE 1; -ALTER SEQUENCE "augur_data"."repo_labor_repo_labor_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for repo_meta_rmeta_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."repo_meta_rmeta_id_seq"; -CREATE SEQUENCE "augur_data"."repo_meta_rmeta_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 25430 -CACHE 1; -ALTER SEQUENCE "augur_data"."repo_meta_rmeta_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for repo_repo_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."repo_repo_id_seq"; -CREATE SEQUENCE "augur_data"."repo_repo_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 25430 -CACHE 1; -ALTER SEQUENCE "augur_data"."repo_repo_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for repo_sbom_scans_rsb_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."repo_sbom_scans_rsb_id_seq"; -CREATE SEQUENCE "augur_data"."repo_sbom_scans_rsb_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 25430 -CACHE 1; -ALTER SEQUENCE "augur_data"."repo_sbom_scans_rsb_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for repo_stats_rstat_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."repo_stats_rstat_id_seq"; -CREATE SEQUENCE "augur_data"."repo_stats_rstat_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 25430 -CACHE 1; -ALTER SEQUENCE "augur_data"."repo_stats_rstat_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for repo_test_coverage_repo_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."repo_test_coverage_repo_id_seq"; -CREATE SEQUENCE "augur_data"."repo_test_coverage_repo_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 1 -CACHE 1; -ALTER SEQUENCE "augur_data"."repo_test_coverage_repo_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for repo_topic_repo_topic_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."repo_topic_repo_topic_id_seq"; -CREATE SEQUENCE "augur_data"."repo_topic_repo_topic_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 1 -CACHE 1; -ALTER SEQUENCE "augur_data"."repo_topic_repo_topic_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for topic_words_topic_words_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."topic_words_topic_words_id_seq"; -CREATE SEQUENCE "augur_data"."topic_words_topic_words_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 1 -CACHE 1; -ALTER SEQUENCE "augur_data"."topic_words_topic_words_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for utility_log_id_seq --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."utility_log_id_seq"; -CREATE SEQUENCE "augur_data"."utility_log_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 1 -CACHE 1; -ALTER SEQUENCE "augur_data"."utility_log_id_seq" OWNER TO "augur"; - --- ---------------------------- --- Sequence structure for utility_log_id_seq1 --- ---------------------------- -DROP SEQUENCE IF EXISTS "augur_data"."utility_log_id_seq1"; -CREATE SEQUENCE "augur_data"."utility_log_id_seq1" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 1 -CACHE 1; -ALTER SEQUENCE "augur_data"."utility_log_id_seq1" OWNER TO "augur"; - --- ---------------------------- - -ALTER TABLE IF EXISTS "augur_data"."commit_comment_ref" DROP CONSTRAINT "fk_commit_comment_ref_commits_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."commit_comment_ref" DROP CONSTRAINT "fk_commit_comment_ref_message_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."commit_parents" DROP CONSTRAINT "fk_commit_parents_commits_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."commit_parents" DROP CONSTRAINT "fk_commit_parents_commits_2" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."commits" DROP CONSTRAINT "fk_commits_contributors_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."commits" DROP CONSTRAINT "fk_commits_contributors_2" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."commits" DROP CONSTRAINT "fk_commits_repo_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."contributors_aliases" DROP CONSTRAINT "fk_contributors_aliases_contributors_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."contributors_history" DROP CONSTRAINT "fk_contributors_history_contributors_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."discourse_insights" DROP CONSTRAINT "fk_discourse_insights_message_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."issue_assignees" DROP CONSTRAINT "fk_issue_assignees_contributors_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."issue_assignees" DROP CONSTRAINT "fk_issue_assignees_issues_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."issue_events" DROP CONSTRAINT "fk_issue_events_contributors_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."issue_events" DROP CONSTRAINT "fk_issue_events_issues_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."issue_labels" DROP CONSTRAINT "fk_issue_labels_issues_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."issue_message_ref" DROP CONSTRAINT "fk_issue_message_ref_issues_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."issue_message_ref" DROP CONSTRAINT "fk_issue_message_ref_message_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."issues" DROP CONSTRAINT "fk_issues_contributors_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."issues" DROP CONSTRAINT "fk_issues_contributors_2" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."issues" DROP CONSTRAINT "fk_issues_repo" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."libraries" DROP CONSTRAINT "fk_libraries_repo_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."library_dependencies" DROP CONSTRAINT "fk_library_dependencies_libraries_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."library_version" DROP CONSTRAINT "fk_library_version_libraries_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."lstm_anomaly_results" DROP CONSTRAINT "fk_lstm_anomaly_results_lstm_anomaly_models_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."lstm_anomaly_results" DROP CONSTRAINT "fk_lstm_anomaly_results_repo_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."message" DROP CONSTRAINT "fk_message_contributors_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."message" DROP CONSTRAINT "fk_message_platform_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."message" DROP CONSTRAINT "fk_message_repo_groups_list_serve_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."message_analysis" DROP CONSTRAINT "fk_message_analysis_message_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."message_analysis_summary" DROP CONSTRAINT "fk_message_analysis_summary_repo_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."message_sentiment" DROP CONSTRAINT "fk_message_sentiment_message_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."message_sentiment_summary" DROP CONSTRAINT "fk_message_sentiment_summary_repo_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."pull_request_assignees" DROP CONSTRAINT "fk_pull_request_assignees_contributors_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."pull_request_assignees" DROP CONSTRAINT "fk_pull_request_assignees_pull_requests_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."pull_request_commits" DROP CONSTRAINT "fk_pull_request_commits_pull_requests_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."pull_request_events" DROP CONSTRAINT "fk_pull_request_events_contributors_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."pull_request_events" DROP CONSTRAINT "fk_pull_request_events_pull_requests_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."pull_request_files" DROP CONSTRAINT "fk_pull_request_commits_pull_requests_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."pull_request_labels" DROP CONSTRAINT "fk_pull_request_labels_pull_requests_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."pull_request_message_ref" DROP CONSTRAINT "fk_pull_request_message_ref_message_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."pull_request_message_ref" DROP CONSTRAINT "fk_pull_request_message_ref_pull_requests_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."pull_request_meta" DROP CONSTRAINT "fk_pull_request_meta_contributors_2" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."pull_request_meta" DROP CONSTRAINT "fk_pull_request_meta_pull_requests_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."pull_request_repo" DROP CONSTRAINT "fk_pull_request_repo_contributors_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."pull_request_repo" DROP CONSTRAINT "fk_pull_request_repo_pull_request_meta_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."pull_request_reviewers" DROP CONSTRAINT "fk_pull_request_reviewers_contributors_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."pull_request_reviewers" DROP CONSTRAINT "fk_pull_request_reviewers_pull_requests_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."pull_request_teams" DROP CONSTRAINT "fk_pull_request_teams_pull_requests_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."pull_requests" DROP CONSTRAINT "fk_pull_requests_pull_request_meta_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."pull_requests" DROP CONSTRAINT "fk_pull_requests_pull_request_meta_2" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."pull_requests" DROP CONSTRAINT "fk_pull_requests_repo_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."releases" DROP CONSTRAINT "fk_releases_repo_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."repo" DROP CONSTRAINT "fk_repo_repo_groups_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."repo_badging" DROP CONSTRAINT "fk_repo_badging_repo_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."repo_cluster_messages" DROP CONSTRAINT "fk_repo_cluster_messages_repo_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."repo_group_insights" DROP CONSTRAINT "fk_repo_group_insights_repo_groups_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."repo_groups_list_serve" DROP CONSTRAINT "fk_repo_groups_list_serve_repo_groups_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."repo_info" DROP CONSTRAINT "fk_repo_info_repo_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."repo_insights" DROP CONSTRAINT "fk_repo_insights_repo_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."repo_insights_records" DROP CONSTRAINT "repo_id_ref" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."repo_labor" DROP CONSTRAINT "fk_repo_labor_repo_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."repo_meta" DROP CONSTRAINT "fk_repo_meta_repo_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."repo_sbom_scans" DROP CONSTRAINT "repo_linker_sbom" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."repo_stats" DROP CONSTRAINT "fk_repo_stats_repo_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."repo_test_coverage" DROP CONSTRAINT "fk_repo_test_coverage_repo_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."repo_topic" DROP CONSTRAINT "fk_repo_topic_repo_1" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."topic_words" DROP CONSTRAINT "fk_topic_words_repo_topic_1" CASCADE; -ALTER TABLE IF EXISTS "spdx"."annotations" DROP CONSTRAINT "annotations_annotation_type_id_fkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."annotations" DROP CONSTRAINT "annotations_creator_id_fkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."annotations" DROP CONSTRAINT "annotations_document_id_fkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."annotations" DROP CONSTRAINT "annotations_identifier_id_fkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."creators" DROP CONSTRAINT "creators_creator_type_id_fkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."documents" DROP CONSTRAINT "documents_data_license_id_fkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."documents" DROP CONSTRAINT "documents_document_namespace_id_fkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."documents" DROP CONSTRAINT "documents_package_id_fkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."documents_creators" DROP CONSTRAINT "documents_creators_creator_id_fkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."documents_creators" DROP CONSTRAINT "documents_creators_document_id_fkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."external_refs" DROP CONSTRAINT "external_refs_document_id_fkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."external_refs" DROP CONSTRAINT "external_refs_document_namespace_id_fkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."file_contributors" DROP CONSTRAINT "file_contributors_file_id_fkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."files_licenses" DROP CONSTRAINT "files_licenses_file_id_fkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."files_licenses" DROP CONSTRAINT "files_licenses_license_id_fkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."files_scans" DROP CONSTRAINT "files_scans_file_id_fkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."files_scans" DROP CONSTRAINT "files_scans_scanner_id_fkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."identifiers" DROP CONSTRAINT "identifiers_document_id_fkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."identifiers" DROP CONSTRAINT "identifiers_document_namespace_id_fkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."identifiers" DROP CONSTRAINT "identifiers_package_file_id_fkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."identifiers" DROP CONSTRAINT "identifiers_package_id_fkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."packages" DROP CONSTRAINT "fk_package_packages_files" CASCADE; -ALTER TABLE IF EXISTS "spdx"."packages" DROP CONSTRAINT "packages_concluded_license_id_fkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."packages" DROP CONSTRAINT "packages_declared_license_id_fkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."packages" DROP CONSTRAINT "packages_originator_id_fkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."packages" DROP CONSTRAINT "packages_supplier_id_fkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."packages_files" DROP CONSTRAINT "fk_package_files_packages" CASCADE; -ALTER TABLE IF EXISTS "spdx"."packages_files" DROP CONSTRAINT "packages_files_concluded_license_id_fkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."packages_files" DROP CONSTRAINT "packages_files_file_id_fkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."packages_scans" DROP CONSTRAINT "packages_scans_package_id_fkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."packages_scans" DROP CONSTRAINT "packages_scans_scanner_id_fkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."relationships" DROP CONSTRAINT "relationships_left_identifier_id_fkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."relationships" DROP CONSTRAINT "relationships_relationship_type_id_fkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."relationships" DROP CONSTRAINT "relationships_right_identifier_id_fkey" CASCADE; - -DROP INDEX IF EXISTS "augur_data"."repos_id" CASCADE; -DROP INDEX IF EXISTS "augur_data"."comment_id" CASCADE; -DROP INDEX IF EXISTS "augur_data"."commit_parents_ibfk_1" CASCADE; -DROP INDEX IF EXISTS "augur_data"."commit_parents_ibfk_2" CASCADE; -DROP INDEX IF EXISTS "augur_data"."author_affiliation" CASCADE; -DROP INDEX IF EXISTS "augur_data"."author_cntrb_id" CASCADE; -DROP INDEX IF EXISTS "augur_data"."author_email,author_affiliation,author_date" CASCADE; -DROP INDEX IF EXISTS "augur_data"."author_raw_email" CASCADE; -DROP INDEX IF EXISTS "augur_data"."cmt-author-date-idx2" CASCADE; -DROP INDEX IF EXISTS "augur_data"."cmt-committer-date-idx3" CASCADE; -DROP INDEX IF EXISTS "augur_data"."cmt_author-name-idx5" CASCADE; -DROP INDEX IF EXISTS "augur_data"."cmt_author_contrib_worker" CASCADE; -DROP INDEX IF EXISTS "augur_data"."cmt_cmmter-name-idx4" CASCADE; -DROP INDEX IF EXISTS "augur_data"."cmt_commiter_contrib_worker" CASCADE; -DROP INDEX IF EXISTS "augur_data"."commited" CASCADE; -DROP INDEX IF EXISTS "augur_data"."commits_idx_cmt_email_cmt_date_cmt_name" CASCADE; -DROP INDEX IF EXISTS "augur_data"."commits_idx_cmt_email_cmt_date_cmt_name2" CASCADE; -DROP INDEX IF EXISTS "augur_data"."commits_idx_cmt_name_cmt_date2" CASCADE; -DROP INDEX IF EXISTS "augur_data"."commits_idx_cmt_name_cmt_date_cmt_date3" CASCADE; -DROP INDEX IF EXISTS "augur_data"."commits_idx_repo_id_cmt_ema_cmt_dat_cmt_nam" CASCADE; -DROP INDEX IF EXISTS "augur_data"."commits_idx_repo_id_cmt_ema_cmt_dat_cmt_nam2" CASCADE; -DROP INDEX IF EXISTS "augur_data"."commits_idx_repo_id_cmt_ema_cmt_nam_cmt_dat2" CASCADE; -DROP INDEX IF EXISTS "augur_data"."commits_idx_repo_id_cmt_ema_cmt_nam_cmt_dat3" CASCADE; -DROP INDEX IF EXISTS "augur_data"."committer_affiliation" CASCADE; -DROP INDEX IF EXISTS "augur_data"."committer_cntrb_id" CASCADE; -DROP INDEX IF EXISTS "augur_data"."committer_email,committer_affiliation,committer_date" CASCADE; -DROP INDEX IF EXISTS "augur_data"."committer_raw_email" CASCADE; -DROP INDEX IF EXISTS "augur_data"."repo_id,commit" CASCADE; -DROP INDEX IF EXISTS "augur_data"."cnt-fullname" CASCADE; -DROP INDEX IF EXISTS "augur_data"."cntrb-theemail" CASCADE; -DROP INDEX IF EXISTS "augur_data"."cntrb_login_platform_index" CASCADE; -DROP INDEX IF EXISTS "augur_data"."contributor_delete_finder" CASCADE; -DROP INDEX IF EXISTS "augur_data"."contributor_worker_email_finder" CASCADE; -DROP INDEX IF EXISTS "augur_data"."contributor_worker_finder" CASCADE; -DROP INDEX IF EXISTS "augur_data"."contributor_worker_fullname_finder" CASCADE; -DROP INDEX IF EXISTS "augur_data"."contributors_idx_cntrb_email3" CASCADE; -DROP INDEX IF EXISTS "augur_data"."login" CASCADE; -DROP INDEX IF EXISTS "augur_data"."login-contributor-idx" CASCADE; -DROP INDEX IF EXISTS "augur_data"."alias,active" CASCADE; -DROP INDEX IF EXISTS "augur_data"."canonical,alias" CASCADE; -DROP INDEX IF EXISTS "augur_data"."issue-alias-cntrb-idx1" CASCADE; -DROP INDEX IF EXISTS "augur_data"."issue-alias-cntrb-idx2" CASCADE; -DROP INDEX IF EXISTS "augur_data"."contrb-history-dix1" CASCADE; -DROP INDEX IF EXISTS "augur_data"."login_index_2" CASCADE; -DROP INDEX IF EXISTS "augur_data"."repo_id,affiliation_copy_1" CASCADE; -DROP INDEX IF EXISTS "augur_data"."repo_id,email_copy_1" CASCADE; -DROP INDEX IF EXISTS "augur_data"."projects_id,affiliation_copy_1" CASCADE; -DROP INDEX IF EXISTS "augur_data"."projects_id,email_copy_1" CASCADE; -DROP INDEX IF EXISTS "augur_data"."projects_id,affiliation_copy_2" CASCADE; -DROP INDEX IF EXISTS "augur_data"."projects_id,email_copy_2" CASCADE; -DROP INDEX IF EXISTS "augur_data"."projects_id,year,affiliation_copy_1" CASCADE; -DROP INDEX IF EXISTS "augur_data"."projects_id,year,email_copy_1" CASCADE; -DROP INDEX IF EXISTS "augur_data"."projects_id,affiliation" CASCADE; -DROP INDEX IF EXISTS "augur_data"."projects_id,email" CASCADE; -DROP INDEX IF EXISTS "augur_data"."projects_id,year,affiliation" CASCADE; -DROP INDEX IF EXISTS "augur_data"."projects_id,year,email" CASCADE; -DROP INDEX IF EXISTS "augur_data"."repo_id,affiliation_copy_2" CASCADE; -DROP INDEX IF EXISTS "augur_data"."repo_id,email_copy_2" CASCADE; -DROP INDEX IF EXISTS "augur_data"."repo_id,year,affiliation_copy_1" CASCADE; -DROP INDEX IF EXISTS "augur_data"."repo_id,year,email_copy_1" CASCADE; -DROP INDEX IF EXISTS "augur_data"."repo_id,affiliation" CASCADE; -DROP INDEX IF EXISTS "augur_data"."repo_id,email" CASCADE; -DROP INDEX IF EXISTS "augur_data"."repo_id,year,affiliation" CASCADE; -DROP INDEX IF EXISTS "augur_data"."repo_id,year,email" CASCADE; -DROP INDEX IF EXISTS "augur_data"."issue-cntrb-assign-idx-1" CASCADE; -DROP INDEX IF EXISTS "augur_data"."issue-cntrb-idx2" CASCADE; -DROP INDEX IF EXISTS "augur_data"."issue_events_ibfk_1" CASCADE; -DROP INDEX IF EXISTS "augur_data"."issue_events_ibfk_2" CASCADE; -DROP INDEX IF EXISTS "augur_data"."issue-cntrb-dix2" CASCADE; -DROP INDEX IF EXISTS "augur_data"."issues_ibfk_1" CASCADE; -DROP INDEX IF EXISTS "augur_data"."issues_ibfk_2" CASCADE; -DROP INDEX IF EXISTS "augur_data"."issues_ibfk_4" CASCADE; -DROP INDEX IF EXISTS "augur_data"."REPO_DEP" CASCADE; -DROP INDEX IF EXISTS "augur_data"."messagegrouper" CASCADE; -DROP INDEX IF EXISTS "augur_data"."msg-cntrb-id-idx" CASCADE; -DROP INDEX IF EXISTS "augur_data"."platformgrouper" CASCADE; -DROP INDEX IF EXISTS "augur_data"."plat" CASCADE; -DROP INDEX IF EXISTS "augur_data"."pr_meta_cntrb-idx" CASCADE; -DROP INDEX IF EXISTS "augur_data"."pr_events_ibfk_1" CASCADE; -DROP INDEX IF EXISTS "augur_data"."pr_events_ibfk_2" CASCADE; -DROP INDEX IF EXISTS "augur_data"."pr_meta-cntrbid-idx" CASCADE; -DROP INDEX IF EXISTS "augur_data"."pr-cntrb-idx-repo" CASCADE; -DROP INDEX IF EXISTS "augur_data"."pr-reviewers-cntrb-idx1" CASCADE; -DROP INDEX IF EXISTS "augur_data"."id_node" CASCADE; -DROP INDEX IF EXISTS "augur_data"."forked" CASCADE; -DROP INDEX IF EXISTS "augur_data"."repogitindexrep" CASCADE; -DROP INDEX IF EXISTS "augur_data"."reponameindex" CASCADE; -DROP INDEX IF EXISTS "augur_data"."reponameindexbtree" CASCADE; -DROP INDEX IF EXISTS "augur_data"."rggrouponrepoindex" CASCADE; -DROP INDEX IF EXISTS "augur_data"."therepo" CASCADE; -DROP INDEX IF EXISTS "augur_data"."rgidm" CASCADE; -DROP INDEX IF EXISTS "augur_data"."rgnameindex" CASCADE; -DROP INDEX IF EXISTS "augur_data"."lister" CASCADE; -DROP INDEX IF EXISTS "augur_data"."dater" CASCADE; -DROP INDEX IF EXISTS "augur_data"."repos_id,status" CASCADE; -DROP INDEX IF EXISTS "augur_data"."repos_id,statusops" CASCADE; -DROP INDEX IF EXISTS "augur_data"."type,projects_id" CASCADE; -DROP INDEX IF EXISTS "augur_operations"."repos_id,statusops" CASCADE; - -ALTER TABLE IF EXISTS "augur_data"."commit_comment_ref" DROP CONSTRAINT "commitcomment" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."contributor_affiliations" DROP CONSTRAINT "unique_domain" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."message" DROP CONSTRAINT "REPOGROUPLISTER" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."message" DROP CONSTRAINT "platformer" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."repo_groups_list_serve" DROP CONSTRAINT "rglistserve" CASCADE; -ALTER TABLE IF EXISTS "spdx"."annotation_types" DROP CONSTRAINT "uc_annotation_type_name" CASCADE; -ALTER TABLE IF EXISTS "spdx"."document_namespaces" DROP CONSTRAINT "uc_document_namespace_uri" CASCADE; -ALTER TABLE IF EXISTS "spdx"."documents" DROP CONSTRAINT "uc_document_document_namespace_id" CASCADE; -ALTER TABLE IF EXISTS "spdx"."external_refs" DROP CONSTRAINT "uc_external_ref_document_id_string" CASCADE; -ALTER TABLE IF EXISTS "spdx"."files" DROP CONSTRAINT "uc_file_sha256" CASCADE; -ALTER TABLE IF EXISTS "spdx"."files_licenses" DROP CONSTRAINT "uc_file_license" CASCADE; -ALTER TABLE IF EXISTS "spdx"."files_scans" DROP CONSTRAINT "uc_file_scanner_id" CASCADE; -ALTER TABLE IF EXISTS "spdx"."identifiers" DROP CONSTRAINT "uc_identifier_document_namespace_id" CASCADE; -ALTER TABLE IF EXISTS "spdx"."identifiers" DROP CONSTRAINT "uc_identifier_namespace_document_id" CASCADE; -ALTER TABLE IF EXISTS "spdx"."identifiers" DROP CONSTRAINT "uc_identifier_namespace_package_id" CASCADE; -ALTER TABLE IF EXISTS "spdx"."identifiers" DROP CONSTRAINT "uc_identifier_namespace_package_file_id" CASCADE; -ALTER TABLE IF EXISTS "spdx"."licenses" DROP CONSTRAINT "uc_license_short_name" CASCADE; -ALTER TABLE IF EXISTS "spdx"."packages" DROP CONSTRAINT "uc_package_sha256" CASCADE; -ALTER TABLE IF EXISTS "spdx"."packages" DROP CONSTRAINT "uc_dir_code_ver_code" CASCADE; -ALTER TABLE IF EXISTS "spdx"."packages_files" DROP CONSTRAINT "uc_package_id_file_name" CASCADE; -ALTER TABLE IF EXISTS "spdx"."packages_scans" DROP CONSTRAINT "uc_package_scanner_id" CASCADE; -ALTER TABLE IF EXISTS "spdx"."relationship_types" DROP CONSTRAINT "uc_relationship_type_name" CASCADE; -ALTER TABLE IF EXISTS "spdx"."relationships" DROP CONSTRAINT "uc_left_right_relationship_type" CASCADE; -ALTER TABLE IF EXISTS "spdx"."scanners" DROP CONSTRAINT "uc_scanner_name" CASCADE; - -ALTER TABLE IF EXISTS "spdx"."identifiers" DROP CONSTRAINT "ck_identifier_exactly_one" CASCADE; -ALTER TABLE IF EXISTS "spdx"."packages" DROP CONSTRAINT "uc_sha256_ds2_dir_code_exactly_one" CASCADE; - -ALTER TABLE IF EXISTS "augur_data"."chaoss_metric_status" DROP CONSTRAINT "chaoss_metric_status_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."commit_comment_ref" DROP CONSTRAINT "commit_comment_ref_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."commit_parents" DROP CONSTRAINT "commit_parents_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."commits" DROP CONSTRAINT "commits_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."contributor_affiliations" DROP CONSTRAINT "contributor_affiliations_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."contributors" DROP CONSTRAINT "contributors_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."contributors_aliases" DROP CONSTRAINT "contributors_aliases_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."contributors_history" DROP CONSTRAINT "contributors_history_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."exclude" DROP CONSTRAINT "exclude_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."issue_assignees" DROP CONSTRAINT "issue_assignees_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."issue_events" DROP CONSTRAINT "issue_events_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."issue_labels" DROP CONSTRAINT "issue_labels_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."issue_message_ref" DROP CONSTRAINT "issue_message_ref_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."issues" DROP CONSTRAINT "issues_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."libraries" DROP CONSTRAINT "libraries_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."library_dependencies" DROP CONSTRAINT "library_dependencies_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."library_version" DROP CONSTRAINT "library_version_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."lstm_anomaly_models" DROP CONSTRAINT "lstm_anomaly_models_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."lstm_anomaly_results" DROP CONSTRAINT "lstm_anomaly_results_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."message" DROP CONSTRAINT "message_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."message_analysis" DROP CONSTRAINT "message_analysis_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."message_analysis_summary" DROP CONSTRAINT "message_analysis_summary_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."message_sentiment" DROP CONSTRAINT "message_sentiment_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."message_sentiment_summary" DROP CONSTRAINT "message_sentiment_summary_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."platform" DROP CONSTRAINT "theplat" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."pull_request_assignees" DROP CONSTRAINT "pull_request_assignees_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."pull_request_commits" DROP CONSTRAINT "pull_request_commits_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."pull_request_events" DROP CONSTRAINT "pr_events_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."pull_request_files" DROP CONSTRAINT "pull_request_files_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."pull_request_labels" DROP CONSTRAINT "pull_request_labels_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."pull_request_message_ref" DROP CONSTRAINT "pull_request_message_ref_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."pull_request_meta" DROP CONSTRAINT "pull_request_meta_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."pull_request_repo" DROP CONSTRAINT "pull_request_repo_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."pull_request_reviewers" DROP CONSTRAINT "pull_request_reviewers_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."pull_request_teams" DROP CONSTRAINT "pull_request_teams_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."pull_requests" DROP CONSTRAINT "pull_requests_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."releases" DROP CONSTRAINT "releases_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."repo" DROP CONSTRAINT "repounique" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."repo_badging" DROP CONSTRAINT "repo_badging_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."repo_cluster_messages" DROP CONSTRAINT "repo_cluster_messages_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."repo_group_insights" DROP CONSTRAINT "repo_group_insights_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."repo_groups" DROP CONSTRAINT "rgid" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."repo_groups_list_serve" DROP CONSTRAINT "repo_groups_list_serve_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."repo_info" DROP CONSTRAINT "repo_info_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."repo_insights" DROP CONSTRAINT "repo_insights_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."repo_insights_records" DROP CONSTRAINT "repo_insights_records_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."repo_labor" DROP CONSTRAINT "repo_labor_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."repo_meta" DROP CONSTRAINT "repo_meta_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."repo_sbom_scans" DROP CONSTRAINT "repo_sbom_scans_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."repo_stats" DROP CONSTRAINT "repo_stats_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."repo_test_coverage" DROP CONSTRAINT "repo_test_coverage_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."repo_topic" DROP CONSTRAINT "repo_topic_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."settings" DROP CONSTRAINT "settings_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."topic_words" DROP CONSTRAINT "topic_words_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_data"."utility_log" DROP CONSTRAINT "utility_log_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_operations"."augur_settings" DROP CONSTRAINT "augur_settings_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_operations"."worker_history" DROP CONSTRAINT "history_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_operations"."worker_job" DROP CONSTRAINT "job_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_operations"."worker_oauth" DROP CONSTRAINT "worker_oauth_pkey" CASCADE; -ALTER TABLE IF EXISTS "augur_operations"."worker_settings_facade" DROP CONSTRAINT "settings_pkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."annotation_types" DROP CONSTRAINT "annotation_types_pkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."annotations" DROP CONSTRAINT "annotations_pkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."augur_repo_map" DROP CONSTRAINT "augur_repo_map_pkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."creator_types" DROP CONSTRAINT "creator_types_pkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."creators" DROP CONSTRAINT "creators_pkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."document_namespaces" DROP CONSTRAINT "document_namespaces_pkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."documents" DROP CONSTRAINT "documents_pkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."documents_creators" DROP CONSTRAINT "documents_creators_pkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."external_refs" DROP CONSTRAINT "external_refs_pkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."file_contributors" DROP CONSTRAINT "file_contributors_pkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."file_types" DROP CONSTRAINT "uc_file_type_name" CASCADE; -ALTER TABLE IF EXISTS "spdx"."files" DROP CONSTRAINT "files_pkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."files_licenses" DROP CONSTRAINT "files_licenses_pkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."files_scans" DROP CONSTRAINT "files_scans_pkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."identifiers" DROP CONSTRAINT "identifiers_pkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."licenses" DROP CONSTRAINT "licenses_pkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."packages" DROP CONSTRAINT "packages_pkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."packages_files" DROP CONSTRAINT "packages_files_pkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."packages_scans" DROP CONSTRAINT "packages_scans_pkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."projects" DROP CONSTRAINT "projects_pkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."relationship_types" DROP CONSTRAINT "relationship_types_pkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."relationships" DROP CONSTRAINT "relationships_pkey" CASCADE; -ALTER TABLE IF EXISTS "spdx"."scanners" DROP CONSTRAINT "scanners_pkey" CASCADE; - -DROP TABLE IF EXISTS "augur_data"."analysis_log" CASCADE; -DROP TABLE IF EXISTS "augur_data"."chaoss_metric_status" CASCADE; -DROP TABLE IF EXISTS "augur_data"."commit_comment_ref" CASCADE; -DROP TABLE IF EXISTS "augur_data"."commit_parents" CASCADE; -DROP TABLE IF EXISTS "augur_data"."commits" CASCADE; -DROP TABLE IF EXISTS "augur_data"."contributor_affiliations" CASCADE; -DROP TABLE IF EXISTS "augur_data"."contributors" CASCADE; -DROP TABLE IF EXISTS "augur_data"."contributors_aliases" CASCADE; -DROP TABLE IF EXISTS "augur_data"."contributors_history" CASCADE; -DROP TABLE IF EXISTS "augur_data"."discourse_insights" CASCADE; -DROP TABLE IF EXISTS "augur_data"."dm_repo_annual" CASCADE; -DROP TABLE IF EXISTS "augur_data"."dm_repo_group_annual" CASCADE; -DROP TABLE IF EXISTS "augur_data"."dm_repo_group_monthly" CASCADE; -DROP TABLE IF EXISTS "augur_data"."dm_repo_group_weekly" CASCADE; -DROP TABLE IF EXISTS "augur_data"."dm_repo_monthly" CASCADE; -DROP TABLE IF EXISTS "augur_data"."dm_repo_weekly" CASCADE; -DROP TABLE IF EXISTS "augur_data"."exclude" CASCADE; -DROP TABLE IF EXISTS "augur_data"."issue_assignees" CASCADE; -DROP TABLE IF EXISTS "augur_data"."issue_events" CASCADE; -DROP TABLE IF EXISTS "augur_data"."issue_labels" CASCADE; -DROP TABLE IF EXISTS "augur_data"."issue_message_ref" CASCADE; -DROP TABLE IF EXISTS "augur_data"."issues" CASCADE; -DROP TABLE IF EXISTS "augur_data"."libraries" CASCADE; -DROP TABLE IF EXISTS "augur_data"."library_dependencies" CASCADE; -DROP TABLE IF EXISTS "augur_data"."library_version" CASCADE; -DROP TABLE IF EXISTS "augur_data"."lstm_anomaly_models" CASCADE; -DROP TABLE IF EXISTS "augur_data"."lstm_anomaly_results" CASCADE; -DROP TABLE IF EXISTS "augur_data"."message" CASCADE; -DROP TABLE IF EXISTS "augur_data"."message_analysis" CASCADE; -DROP TABLE IF EXISTS "augur_data"."message_analysis_summary" CASCADE; -DROP TABLE IF EXISTS "augur_data"."message_sentiment" CASCADE; -DROP TABLE IF EXISTS "augur_data"."message_sentiment_summary" CASCADE; -DROP TABLE IF EXISTS "augur_data"."platform" CASCADE; -DROP TABLE IF EXISTS "augur_data"."pull_request_assignees" CASCADE; -DROP TABLE IF EXISTS "augur_data"."pull_request_commits" CASCADE; -DROP TABLE IF EXISTS "augur_data"."pull_request_events" CASCADE; -DROP TABLE IF EXISTS "augur_data"."pull_request_files" CASCADE; -DROP TABLE IF EXISTS "augur_data"."pull_request_labels" CASCADE; -DROP TABLE IF EXISTS "augur_data"."pull_request_message_ref" CASCADE; -DROP TABLE IF EXISTS "augur_data"."pull_request_meta" CASCADE; -DROP TABLE IF EXISTS "augur_data"."pull_request_repo" CASCADE; -DROP TABLE IF EXISTS "augur_data"."pull_request_reviewers" CASCADE; -DROP TABLE IF EXISTS "augur_data"."pull_request_teams" CASCADE; -DROP TABLE IF EXISTS "augur_data"."pull_requests" CASCADE; -DROP TABLE IF EXISTS "augur_data"."releases" CASCADE; -DROP TABLE IF EXISTS "augur_data"."repo" CASCADE; -DROP TABLE IF EXISTS "augur_data"."repo_badging" CASCADE; -DROP TABLE IF EXISTS "augur_data"."repo_cluster_messages" CASCADE; -DROP TABLE IF EXISTS "augur_data"."repo_group_insights" CASCADE; -DROP TABLE IF EXISTS "augur_data"."repo_groups" CASCADE; -DROP TABLE IF EXISTS "augur_data"."repo_groups_list_serve" CASCADE; -DROP TABLE IF EXISTS "augur_data"."repo_info" CASCADE; -DROP TABLE IF EXISTS "augur_data"."repo_insights" CASCADE; -DROP TABLE IF EXISTS "augur_data"."repo_insights_records" CASCADE; -DROP TABLE IF EXISTS "augur_data"."repo_labor" CASCADE; -DROP TABLE IF EXISTS "augur_data"."repo_meta" CASCADE; -DROP TABLE IF EXISTS "augur_data"."repo_sbom_scans" CASCADE; -DROP TABLE IF EXISTS "augur_data"."repo_stats" CASCADE; -DROP TABLE IF EXISTS "augur_data"."repo_test_coverage" CASCADE; -DROP TABLE IF EXISTS "augur_data"."repo_topic" CASCADE; -DROP TABLE IF EXISTS "augur_data"."repos_fetch_log" CASCADE; -DROP TABLE IF EXISTS "augur_data"."settings" CASCADE; -DROP TABLE IF EXISTS "augur_data"."topic_words" CASCADE; -DROP TABLE IF EXISTS "augur_data"."unknown_cache" CASCADE; -DROP TABLE IF EXISTS "augur_data"."utility_log" CASCADE; -DROP TABLE IF EXISTS "augur_data"."working_commits" CASCADE; -DROP TABLE IF EXISTS "augur_operations"."all" CASCADE; -DROP TABLE IF EXISTS "augur_operations"."augur_settings" CASCADE; -DROP TABLE IF EXISTS "augur_operations"."repos_fetch_log" CASCADE; -DROP TABLE IF EXISTS "augur_operations"."worker_history" CASCADE; -DROP TABLE IF EXISTS "augur_operations"."worker_job" CASCADE; -DROP TABLE IF EXISTS "augur_operations"."worker_oauth" CASCADE; -DROP TABLE IF EXISTS "augur_operations"."worker_settings_facade" CASCADE; -DROP TABLE IF EXISTS "augur_operations"."working_commits" CASCADE; -DROP TABLE IF EXISTS "spdx"."annotation_types" CASCADE; -DROP TABLE IF EXISTS "spdx"."annotations" CASCADE; -DROP TABLE IF EXISTS "spdx"."augur_repo_map" CASCADE; -DROP TABLE IF EXISTS "spdx"."creator_types" CASCADE; -DROP TABLE IF EXISTS "spdx"."creators" CASCADE; -DROP TABLE IF EXISTS "spdx"."document_namespaces" CASCADE; -DROP TABLE IF EXISTS "spdx"."documents" CASCADE; -DROP TABLE IF EXISTS "spdx"."documents_creators" CASCADE; -DROP TABLE IF EXISTS "spdx"."external_refs" CASCADE; -DROP TABLE IF EXISTS "spdx"."file_contributors" CASCADE; -DROP TABLE IF EXISTS "spdx"."file_types" CASCADE; -DROP TABLE IF EXISTS "spdx"."files" CASCADE; -DROP TABLE IF EXISTS "spdx"."files_licenses" CASCADE; -DROP TABLE IF EXISTS "spdx"."files_scans" CASCADE; -DROP TABLE IF EXISTS "spdx"."identifiers" CASCADE; -DROP TABLE IF EXISTS "spdx"."licenses" CASCADE; -DROP TABLE IF EXISTS "spdx"."packages" CASCADE; -DROP TABLE IF EXISTS "spdx"."packages_files" CASCADE; -DROP TABLE IF EXISTS "spdx"."packages_scans" CASCADE; -DROP TABLE IF EXISTS "spdx"."projects" CASCADE; -DROP TABLE IF EXISTS "spdx"."relationship_types" CASCADE; -DROP TABLE IF EXISTS "spdx"."relationships" CASCADE; -DROP TABLE IF EXISTS "spdx"."sbom_scans" CASCADE; -DROP TABLE IF EXISTS "spdx"."scanners" CASCADE; - -CREATE TABLE IF NOT EXISTS "augur_data"."analysis_log" ( - "repos_id" int4 NOT NULL, - "status" varchar COLLATE "pg_catalog"."default" NOT NULL, - "date_attempted" timestamp(0) NOT NULL DEFAULT CURRENT_TIMESTAMP -); -ALTER TABLE IF EXISTS "augur_data"."analysis_log" OWNER TO "augur"; -CREATE INDEX "repos_id" ON "augur_data"."analysis_log" USING btree ( - "repos_id" "pg_catalog"."int4_ops" ASC NULLS LAST -); - -CREATE TABLE IF NOT EXISTS "augur_data"."chaoss_metric_status" ( - "cms_id" int8 NOT NULL DEFAULT nextval('"augur_data".chaoss_metric_status_cms_id_seq'::regclass), - "cm_group" varchar COLLATE "pg_catalog"."default", - "cm_source" varchar COLLATE "pg_catalog"."default", - "cm_type" varchar COLLATE "pg_catalog"."default", - "cm_backend_status" varchar COLLATE "pg_catalog"."default", - "cm_frontend_status" varchar COLLATE "pg_catalog"."default", - "cm_defined" bool, - "cm_api_endpoint_repo" varchar COLLATE "pg_catalog"."default", - "cm_api_endpoint_rg" varchar COLLATE "pg_catalog"."default", - "cm_name" varchar COLLATE "pg_catalog"."default", - "cm_working_group" varchar COLLATE "pg_catalog"."default", - "cm_info" json, - "tool_source" varchar COLLATE "pg_catalog"."default", - "tool_version" varchar COLLATE "pg_catalog"."default", - "data_source" varchar COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0) DEFAULT CURRENT_TIMESTAMP, - "cm_working_group_focus_area" varchar COLLATE "pg_catalog"."default", - CONSTRAINT "chaoss_metric_status_pkey" PRIMARY KEY ("cms_id") -); -ALTER TABLE IF EXISTS "augur_data"."chaoss_metric_status" OWNER TO "augur"; -COMMENT ON TABLE "augur_data"."chaoss_metric_status" IS 'This table used to track CHAOSS Metric implementations in Augur, but due to the constantly changing location of that information, it is for the moment not actively populated. '; - -CREATE TABLE IF NOT EXISTS "augur_data"."commit_comment_ref" ( - "cmt_comment_id" int8 NOT NULL DEFAULT nextval('"augur_data".commit_comment_ref_cmt_comment_id_seq'::regclass), - "cmt_id" int8 NOT NULL, - "msg_id" int8 NOT NULL, - "user_id" int8 NOT NULL, - "body" text COLLATE "pg_catalog"."default", - "line" int8, - "position" int8, - "created_at" timestamp(0) NOT NULL DEFAULT CURRENT_TIMESTAMP, - "tool_source" varchar(255) COLLATE "pg_catalog"."default", - "tool_version" varchar(255) COLLATE "pg_catalog"."default", - "data_source" varchar(255) COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0) DEFAULT CURRENT_TIMESTAMP, - "cmt_comment_src_id" int8 NOT NULL, - "commit_comment_src_node_id" varchar COLLATE "pg_catalog"."default", - CONSTRAINT "commit_comment_ref_pkey" PRIMARY KEY ("cmt_comment_id"), - CONSTRAINT "commitcomment" UNIQUE ("cmt_id", "msg_id", "cmt_comment_id") -); -ALTER TABLE IF EXISTS "augur_data"."commit_comment_ref" OWNER TO "augur"; -CREATE INDEX "comment_id" ON "augur_data"."commit_comment_ref" USING btree ( - "cmt_comment_src_id" "pg_catalog"."int8_ops" ASC NULLS LAST, - "cmt_comment_id" "pg_catalog"."int8_ops" ASC NULLS LAST, - "msg_id" "pg_catalog"."int8_ops" ASC NULLS LAST -); -COMMENT ON COLUMN "augur_data"."commit_comment_ref"."cmt_comment_src_id" IS 'For data provenance, we store the source ID if it exists. '; -COMMENT ON COLUMN "augur_data"."commit_comment_ref"."commit_comment_src_node_id" IS 'For data provenance, we store the source node ID if it exists. '; - -CREATE TABLE IF NOT EXISTS "augur_data"."commit_parents" ( - "cmt_id" int8 NOT NULL, - "parent_id" int8 NOT NULL DEFAULT nextval('"augur_data".commit_parents_parent_id_seq'::regclass), - "tool_source" varchar(255) COLLATE "pg_catalog"."default", - "tool_version" varchar(255) COLLATE "pg_catalog"."default", - "data_source" varchar(255) COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0) DEFAULT CURRENT_TIMESTAMP, - CONSTRAINT "commit_parents_pkey" PRIMARY KEY ("cmt_id", "parent_id") -); -ALTER TABLE IF EXISTS "augur_data"."commit_parents" OWNER TO "augur"; -CREATE INDEX "commit_parents_ibfk_1" ON "augur_data"."commit_parents" USING btree ( - "cmt_id" "pg_catalog"."int8_ops" ASC NULLS LAST -); -CREATE INDEX "commit_parents_ibfk_2" ON "augur_data"."commit_parents" USING btree ( - "parent_id" "pg_catalog"."int8_ops" ASC NULLS LAST -); - -CREATE TABLE IF NOT EXISTS "augur_data"."commits" ( - "cmt_id" int8 NOT NULL DEFAULT nextval('"augur_data".commits_cmt_id_seq'::regclass), - "repo_id" int8 NOT NULL, - "cmt_commit_hash" varchar(80) COLLATE "pg_catalog"."default" NOT NULL, - "cmt_author_name" varchar(128) COLLATE "pg_catalog"."default" NOT NULL, - "cmt_author_raw_email" varchar(128) COLLATE "pg_catalog"."default" NOT NULL, - "cmt_author_email" varchar COLLATE "pg_catalog"."default" NOT NULL, - "cmt_author_date" varchar(10) COLLATE "pg_catalog"."default" NOT NULL, - "cmt_author_affiliation" varchar(128) COLLATE "pg_catalog"."default" DEFAULT 'NULL'::character varying, - "cmt_committer_name" varchar(128) COLLATE "pg_catalog"."default" NOT NULL, - "cmt_committer_raw_email" varchar(128) COLLATE "pg_catalog"."default" NOT NULL, - "cmt_committer_email" varchar COLLATE "pg_catalog"."default" NOT NULL, - "cmt_committer_date" varchar(10) COLLATE "pg_catalog"."default" NOT NULL, - "cmt_committer_affiliation" varchar(128) COLLATE "pg_catalog"."default" DEFAULT 'NULL'::character varying, - "cmt_added" int4 NOT NULL, - "cmt_removed" int4 NOT NULL, - "cmt_whitespace" int4 NOT NULL, - "cmt_filename" varchar(4096) COLLATE "pg_catalog"."default" NOT NULL, - "cmt_date_attempted" timestamp(0) NOT NULL, - "cmt_ght_author_id" int4, - "cmt_ght_committer_id" int4, - "cmt_ght_committed_at" timestamp(0), - "tool_source" varchar(255) COLLATE "pg_catalog"."default", - "tool_version" varchar(255) COLLATE "pg_catalog"."default", - "data_source" varchar(255) COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0) DEFAULT CURRENT_TIMESTAMP, - "cmt_author_timestamp" timestamptz(0), - "cmt_committer_timestamp" timestamptz(0), - CONSTRAINT "commits_pkey" PRIMARY KEY ("cmt_id") -); -ALTER TABLE IF EXISTS "augur_data"."commits" OWNER TO "augur"; -CREATE INDEX CONCURRENTLY "author_affiliation" ON "augur_data"."commits" USING hash ( - "cmt_author_affiliation" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" -); -CREATE INDEX CONCURRENTLY "author_cntrb_id" ON "augur_data"."commits" USING btree ( - "cmt_ght_author_id" "pg_catalog"."int4_ops" ASC NULLS LAST -); -CREATE INDEX CONCURRENTLY "author_email,author_affiliation,author_date" ON "augur_data"."commits" USING btree ( - "cmt_author_email" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST, - "cmt_author_affiliation" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST, - "cmt_author_date" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); -CREATE INDEX CONCURRENTLY "author_raw_email" ON "augur_data"."commits" USING btree ( - "cmt_author_raw_email" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); -CREATE INDEX CONCURRENTLY "cmt-author-date-idx2" ON "augur_data"."commits" USING btree ( - "cmt_author_date" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); -CREATE INDEX CONCURRENTLY "cmt-committer-date-idx3" ON "augur_data"."commits" USING btree ( - "cmt_committer_date" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); -CREATE INDEX CONCURRENTLY "cmt_author-name-idx5" ON "augur_data"."commits" USING btree ( - "cmt_committer_name" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); -CREATE INDEX CONCURRENTLY "cmt_author_contrib_worker" ON "augur_data"."commits" USING brin ( - "cmt_author_name" COLLATE "pg_catalog"."default" "pg_catalog"."text_minmax_ops", - "cmt_author_email" COLLATE "pg_catalog"."default" "pg_catalog"."text_minmax_ops", - "cmt_author_date" COLLATE "pg_catalog"."default" "pg_catalog"."text_minmax_ops" -); -CREATE INDEX CONCURRENTLY "cmt_cmmter-name-idx4" ON "augur_data"."commits" USING btree ( - "cmt_author_name" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); -CREATE INDEX CONCURRENTLY "cmt_commiter_contrib_worker" ON "augur_data"."commits" USING brin ( - "cmt_committer_name" COLLATE "pg_catalog"."default" "pg_catalog"."text_minmax_ops", - "cmt_committer_email" COLLATE "pg_catalog"."default" "pg_catalog"."text_minmax_ops", - "cmt_committer_date" COLLATE "pg_catalog"."default" "pg_catalog"."text_minmax_ops" -); -CREATE INDEX CONCURRENTLY "commited" ON "augur_data"."commits" USING btree ( - "cmt_id" "pg_catalog"."int8_ops" ASC NULLS LAST -); -CREATE INDEX CONCURRENTLY "commits_idx_cmt_email_cmt_date_cmt_name" ON "augur_data"."commits" USING btree ( - "cmt_author_email" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST, - "cmt_author_date" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST, - "cmt_author_name" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); -CREATE INDEX CONCURRENTLY "commits_idx_cmt_email_cmt_date_cmt_name2" ON "augur_data"."commits" USING btree ( - "cmt_committer_email" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST, - "cmt_committer_date" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST, - "cmt_committer_name" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); -CREATE INDEX CONCURRENTLY "commits_idx_cmt_name_cmt_date2" ON "augur_data"."commits" USING btree ( - "cmt_author_name" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST, - "cmt_author_date" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); -CREATE INDEX CONCURRENTLY "commits_idx_cmt_name_cmt_date_cmt_date3" ON "augur_data"."commits" USING btree ( - "cmt_committer_name" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST, - "cmt_author_date" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST, - "cmt_committer_date" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); -CREATE INDEX CONCURRENTLY "commits_idx_repo_id_cmt_ema_cmt_dat_cmt_nam" ON "augur_data"."commits" USING btree ( - "repo_id" "pg_catalog"."int8_ops" ASC NULLS LAST, - "cmt_author_email" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST, - "cmt_author_date" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST, - "cmt_author_name" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); -CREATE INDEX CONCURRENTLY "commits_idx_repo_id_cmt_ema_cmt_dat_cmt_nam2" ON "augur_data"."commits" USING btree ( - "repo_id" "pg_catalog"."int8_ops" ASC NULLS LAST, - "cmt_committer_email" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST, - "cmt_committer_date" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST, - "cmt_committer_name" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); -CREATE INDEX CONCURRENTLY "commits_idx_repo_id_cmt_ema_cmt_nam_cmt_dat2" ON "augur_data"."commits" USING btree ( - "repo_id" "pg_catalog"."int8_ops" ASC NULLS LAST, - "cmt_author_email" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST, - "cmt_author_name" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST, - "cmt_author_date" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); -CREATE INDEX CONCURRENTLY "commits_idx_repo_id_cmt_ema_cmt_nam_cmt_dat3" ON "augur_data"."commits" USING btree ( - "repo_id" "pg_catalog"."int8_ops" ASC NULLS LAST, - "cmt_committer_email" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST, - "cmt_committer_name" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST, - "cmt_author_date" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); -CREATE INDEX CONCURRENTLY "committer_affiliation" ON "augur_data"."commits" USING btree ( - "cmt_committer_affiliation" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); -CREATE INDEX CONCURRENTLY "committer_cntrb_id" ON "augur_data"."commits" USING btree ( - "cmt_ght_committer_id" "pg_catalog"."int4_ops" ASC NULLS LAST -); -CREATE INDEX CONCURRENTLY "committer_email,committer_affiliation,committer_date" ON "augur_data"."commits" USING btree ( - "cmt_committer_email" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST, - "cmt_committer_affiliation" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST, - "cmt_committer_date" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); -CREATE INDEX CONCURRENTLY "committer_raw_email" ON "augur_data"."commits" USING btree ( - "cmt_committer_raw_email" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); -CREATE INDEX CONCURRENTLY "repo_id,commit" ON "augur_data"."commits" USING btree ( - "repo_id" "pg_catalog"."int8_ops" ASC NULLS LAST, - "cmt_commit_hash" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); -COMMENT ON TABLE "augur_data"."commits" IS 'Starts with augur.analysis_data table and incorporates GHTorrent commit table attributes if different. -Cmt_id is from get -The author and committer ID’s are at the bottom of the table and not required for now because we want to focus on the facade schema’s properties over the ghtorrent properties when they are in conflict. '; - -CREATE TABLE IF NOT EXISTS "augur_data"."contributor_affiliations" ( - "ca_id" int8 NOT NULL DEFAULT nextval('"augur_data".contributor_affiliations_ca_id_seq'::regclass), - "ca_domain" varchar(64) COLLATE "pg_catalog"."default" NOT NULL, - "ca_start_date" date DEFAULT '1970-01-01'::date, - "tool_source" varchar(255) COLLATE "pg_catalog"."default", - "tool_version" varchar(255) COLLATE "pg_catalog"."default", - "data_source" varchar(255) COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0) DEFAULT CURRENT_TIMESTAMP, - "ca_last_used" timestamp(0) NOT NULL DEFAULT CURRENT_TIMESTAMP, - "ca_affiliation" varchar COLLATE "pg_catalog"."default", - "ca_active" int2 DEFAULT 1, - CONSTRAINT "contributor_affiliations_pkey" PRIMARY KEY ("ca_id"), - CONSTRAINT "unique_domain" UNIQUE ("ca_domain") -); -ALTER TABLE IF EXISTS "augur_data"."contributor_affiliations" OWNER TO "augur"; -COMMENT ON CONSTRAINT "unique_domain" ON "augur_data"."contributor_affiliations" IS 'Only one row should exist for any given top level domain or subdomain. '; - -CREATE TABLE IF NOT EXISTS "augur_data"."contributors" ( - "cntrb_id" int8 NOT NULL DEFAULT nextval('"augur_data".contributors_cntrb_id_seq'::regclass), - "cntrb_login" varchar(255) COLLATE "pg_catalog"."default", - "cntrb_email" varchar COLLATE "pg_catalog"."default", - "cntrb_company" varchar(255) COLLATE "pg_catalog"."default" DEFAULT NULL::character varying, - "cntrb_created_at" timestamp(0), - "cntrb_type" varchar(255) COLLATE "pg_catalog"."default", - "cntrb_fake" int2 DEFAULT 0, - "cntrb_deleted" int2 DEFAULT 0, - "cntrb_long" numeric(11,8) DEFAULT NULL::numeric, - "cntrb_lat" numeric(10,8) DEFAULT NULL::numeric, - "cntrb_country_code" char(3) COLLATE "pg_catalog"."default" DEFAULT NULL::bpchar, - "cntrb_state" varchar(255) COLLATE "pg_catalog"."default" DEFAULT NULL::character varying, - "cntrb_city" varchar(255) COLLATE "pg_catalog"."default" DEFAULT NULL::character varying, - "cntrb_location" varchar(255) COLLATE "pg_catalog"."default" DEFAULT NULL::character varying, - "cntrb_canonical" varchar COLLATE "pg_catalog"."default", - "gh_user_id" int8, - "gh_login" varchar(255) COLLATE "pg_catalog"."default", - "gh_url" varchar(255) COLLATE "pg_catalog"."default", - "gh_html_url" varchar(255) COLLATE "pg_catalog"."default", - "gh_node_id" varchar(255) COLLATE "pg_catalog"."default", - "gh_avatar_url" varchar(4000) COLLATE "pg_catalog"."default", - "gh_gravatar_id" varchar(255) COLLATE "pg_catalog"."default", - "gh_followers_url" varchar(4000) COLLATE "pg_catalog"."default", - "gh_following_url" varchar(4000) COLLATE "pg_catalog"."default", - "gh_gists_url" varchar(4000) COLLATE "pg_catalog"."default", - "gh_starred_url" varchar(4000) COLLATE "pg_catalog"."default", - "gh_subscriptions_url" varchar(4000) COLLATE "pg_catalog"."default", - "gh_organizations_url" varchar(4000) COLLATE "pg_catalog"."default", - "gh_repos_url" varchar(4000) COLLATE "pg_catalog"."default", - "gh_events_url" varchar(4000) COLLATE "pg_catalog"."default", - "gh_received_events_url" varchar(4000) COLLATE "pg_catalog"."default", - "gh_type" varchar(255) COLLATE "pg_catalog"."default", - "gh_site_admin" varchar(255) COLLATE "pg_catalog"."default", - "tool_source" varchar(255) COLLATE "pg_catalog"."default", - "tool_version" varchar(255) COLLATE "pg_catalog"."default", - "data_source" varchar(255) COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0) DEFAULT CURRENT_TIMESTAMP, - "cntrb_full_name" varchar COLLATE "pg_catalog"."default", - "cntrb_last_used" timestamptz(0) DEFAULT NULL::timestamp with time zone, - CONSTRAINT "contributors_pkey" PRIMARY KEY ("cntrb_id") -); -ALTER TABLE IF EXISTS "augur_data"."contributors" OWNER TO "augur"; -CREATE INDEX "cnt-fullname" ON "augur_data"."contributors" USING hash ( - "cntrb_full_name" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" -); -CREATE INDEX "cntrb-theemail" ON "augur_data"."contributors" USING hash ( - "cntrb_email" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" -); -CREATE INDEX "cntrb_login_platform_index" ON "augur_data"."contributors" USING btree ( - "cntrb_login" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); -CREATE INDEX "contributor_delete_finder" ON "augur_data"."contributors" USING brin ( - "cntrb_id" "pg_catalog"."int8_minmax_ops", - "cntrb_email" COLLATE "pg_catalog"."default" "pg_catalog"."text_minmax_ops" -); -CREATE INDEX "contributor_worker_email_finder" ON "augur_data"."contributors" USING brin ( - "cntrb_email" COLLATE "pg_catalog"."default" "pg_catalog"."text_minmax_ops" -); -CREATE INDEX "contributor_worker_finder" ON "augur_data"."contributors" USING brin ( - "cntrb_login" COLLATE "pg_catalog"."default" "pg_catalog"."text_minmax_ops", - "cntrb_email" COLLATE "pg_catalog"."default" "pg_catalog"."text_minmax_ops", - "cntrb_id" "pg_catalog"."int8_minmax_ops" -); -CREATE INDEX "contributor_worker_fullname_finder" ON "augur_data"."contributors" USING brin ( - "cntrb_full_name" COLLATE "pg_catalog"."default" "pg_catalog"."text_minmax_ops" -); -CREATE INDEX "contributors_idx_cntrb_email3" ON "augur_data"."contributors" USING btree ( - "cntrb_email" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); -CREATE INDEX "login" ON "augur_data"."contributors" USING btree ( - "cntrb_login" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); -CREATE INDEX "login-contributor-idx" ON "augur_data"."contributors" USING btree ( - "cntrb_login" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); -COMMENT ON COLUMN "augur_data"."contributors"."cntrb_login" IS 'Will be a double population with the same value as gh_login for github, but the local value for other systems. '; -COMMENT ON COLUMN "augur_data"."contributors"."cntrb_email" IS 'This needs to be here for matching contributor ids, which are augur, to the commit information. '; -COMMENT ON COLUMN "augur_data"."contributors"."cntrb_type" IS 'Present in another models. It is not currently used in Augur. '; -COMMENT ON COLUMN "augur_data"."contributors"."gh_login" IS 'populated with the github user name for github originated data. '; -COMMENT ON TABLE "augur_data"."contributors" IS 'For GitHub, this should be repeated from gh_login. for other systems, it should be that systems login. '; - -CREATE TABLE IF NOT EXISTS "augur_data"."contributors_aliases" ( - "cntrb_id" int8 NOT NULL, - "cntrb_a_id" int8 NOT NULL DEFAULT nextval('"augur_data".contributors_aliases_cntrb_a_id_seq'::regclass), - "canonical_email" varchar COLLATE "pg_catalog"."default" NOT NULL, - "alias_email" varchar(128) COLLATE "pg_catalog"."default" NOT NULL, - "cntrb_active" int2 NOT NULL DEFAULT 1, - "cntrb_last_modified" timestamp(0) NOT NULL DEFAULT CURRENT_TIMESTAMP, - "tool_source" varchar(255) COLLATE "pg_catalog"."default", - "tool_version" varchar(255) COLLATE "pg_catalog"."default", - "data_source" varchar(255) COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0) DEFAULT CURRENT_TIMESTAMP, - CONSTRAINT "contributors_aliases_pkey" PRIMARY KEY ("cntrb_id", "cntrb_a_id") -); -ALTER TABLE IF EXISTS "augur_data"."contributors_aliases" OWNER TO "augur"; -CREATE INDEX "alias,active" ON "augur_data"."contributors_aliases" USING btree ( - "alias_email" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST, - "cntrb_active" "pg_catalog"."int2_ops" ASC NULLS LAST -); -CREATE UNIQUE INDEX "canonical,alias" ON "augur_data"."contributors_aliases" USING btree ( - "canonical_email" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST, - "alias_email" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); -CREATE INDEX "issue-alias-cntrb-idx1" ON "augur_data"."contributors_aliases" USING btree ( - "cntrb_id" "pg_catalog"."int8_ops" ASC NULLS LAST -); -CREATE INDEX "issue-alias-cntrb-idx2" ON "augur_data"."contributors_aliases" USING btree ( - "cntrb_a_id" "pg_catalog"."int8_ops" ASC NULLS LAST -); -COMMENT ON TABLE "augur_data"."contributors_aliases" IS 'An alias will need to be created for every contributor in this model, otherwise we will have to look in 2 places. '; - -CREATE TABLE IF NOT EXISTS "augur_data"."contributors_history" ( - "cntrb_history_id" int8 NOT NULL DEFAULT nextval('"augur_data".contributors_history_cntrb_history_id_seq'::regclass), - "cntrb_id" int8 NOT NULL, - "cntrb_history_timestamp" timestamp(0) NOT NULL DEFAULT CURRENT_TIMESTAMP, - "cntrb_history_current_bool" bool, - "cntrb_organizations_list" json, - "cntrb_gists_count" int8, - "cntrb_starred_count" int8, - "cntrb_following_count" int8, - "cntrb_follower_count" int8, - "cntrb_login" varchar(255) COLLATE "pg_catalog"."default" NOT NULL, - "cntrb_email" varchar(255) COLLATE "pg_catalog"."default", - "cntrb_company" varchar(255) COLLATE "pg_catalog"."default" DEFAULT NULL::character varying, - "cntrb_created_at" timestamp(0) NOT NULL, - "cntrb_type" varchar(255) COLLATE "pg_catalog"."default", - "cntrb_fake" int2 NOT NULL DEFAULT 0, - "cntrb_deleted" int2 NOT NULL DEFAULT 0, - "cntrb_long" numeric(11,8) DEFAULT NULL::numeric, - "cntrb_lat" numeric(10,8) DEFAULT NULL::numeric, - "cntrb_country_code" char(3) COLLATE "pg_catalog"."default" DEFAULT NULL::bpchar, - "cntrb_state" varchar(255) COLLATE "pg_catalog"."default" DEFAULT NULL::character varying, - "cntrb_city" varchar(255) COLLATE "pg_catalog"."default" DEFAULT NULL::character varying, - "cntrb_location" varchar(255) COLLATE "pg_catalog"."default" DEFAULT NULL::character varying, - "cntrb_canonical" varchar(128) COLLATE "pg_catalog"."default", - "gh_user_id" int8, - "gh_login" varchar(255) COLLATE "pg_catalog"."default", - "gh_url" varchar(255) COLLATE "pg_catalog"."default", - "gh_html_url" varchar(255) COLLATE "pg_catalog"."default", - "gh_node_id" varchar(255) COLLATE "pg_catalog"."default", - "gh_avatar_url" varchar(4000) COLLATE "pg_catalog"."default", - "gh_gravatar_id" varchar(255) COLLATE "pg_catalog"."default", - "gh_followers_url" varchar(4000) COLLATE "pg_catalog"."default", - "gh_following_url" varchar(4000) COLLATE "pg_catalog"."default", - "gh_gists_url" varchar(4000) COLLATE "pg_catalog"."default", - "gh_starred_url" varchar(4000) COLLATE "pg_catalog"."default", - "gh_subscriptions_url" varchar(4000) COLLATE "pg_catalog"."default", - "gh_organizations_url" varchar(4000) COLLATE "pg_catalog"."default", - "gh_repos_url" varchar(4000) COLLATE "pg_catalog"."default", - "gh_events_url" varchar(4000) COLLATE "pg_catalog"."default", - "gh_received_events_url" varchar(4000) COLLATE "pg_catalog"."default", - "gh_type" varchar(255) COLLATE "pg_catalog"."default", - "gh_site_admin" varchar(255) COLLATE "pg_catalog"."default", - "tool_source" varchar(255) COLLATE "pg_catalog"."default", - "tool_version" varchar(255) COLLATE "pg_catalog"."default", - "data_source" varchar(255) COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0) DEFAULT CURRENT_TIMESTAMP, - CONSTRAINT "contributors_history_pkey" PRIMARY KEY ("cntrb_history_id") -); -ALTER TABLE IF EXISTS "augur_data"."contributors_history" OWNER TO "augur"; -CREATE INDEX "contrb-history-dix1" ON "augur_data"."contributors_history" USING btree ( - "cntrb_id" "pg_catalog"."int8_ops" ASC NULLS LAST -); -CREATE INDEX "login_index_2" ON "augur_data"."contributors_history" USING btree ( - "cntrb_login" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); -COMMENT ON COLUMN "augur_data"."contributors_history"."cntrb_history_current_bool" IS 'At some point it would be great to have a boolean updated by a contributor worker that set the most recent contributor data to true. '; -COMMENT ON COLUMN "augur_data"."contributors_history"."cntrb_login" IS 'Will be a double population with the same value as gh_login for github, but the local value for other systems. '; -COMMENT ON COLUMN "augur_data"."contributors_history"."cntrb_email" IS 'This needs to be here for matching contributor ids, which are augur, to the commit information. '; -COMMENT ON COLUMN "augur_data"."contributors_history"."cntrb_type" IS 'Present in another models. It is not currently used in Augur. '; -COMMENT ON COLUMN "augur_data"."contributors_history"."gh_login" IS 'populated with the github user name for github originated data. '; -COMMENT ON TABLE "augur_data"."contributors_history" IS 'For GitHub, this should be repeated from gh_login. for other systems, it should be that systems login. - -At this time the table is not populated. '; - -CREATE TABLE IF NOT EXISTS "augur_data"."discourse_insights" ( - "msg_discourse_id" serial8, - "msg_id" int8, - "discourse_act" varchar, - "tool_source" varchar, - "tool_version" varchar, - "data_source" varchar, - "data_collection_date" timestamptz DEFAULT CURRENT_TIMESTAMP, - PRIMARY KEY ("msg_discourse_id") -); -ALTER TABLE IF EXISTS "augur_data"."discourse_insights" OWNER TO "augur"; - -CREATE TABLE IF NOT EXISTS "augur_data"."dm_repo_annual" ( - "repo_id" int8 NOT NULL, - "email" varchar(128) COLLATE "pg_catalog"."default" NOT NULL, - "affiliation" varchar(128) COLLATE "pg_catalog"."default" DEFAULT 'NULL'::character varying, - "year" int2 NOT NULL, - "added" int8 NOT NULL, - "removed" int8 NOT NULL, - "whitespace" int8 NOT NULL, - "files" int8 NOT NULL, - "patches" int8 NOT NULL, - "tool_source" varchar(255) COLLATE "pg_catalog"."default", - "tool_version" varchar(255) COLLATE "pg_catalog"."default", - "data_source" varchar(255) COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0) DEFAULT CURRENT_TIMESTAMP -); -ALTER TABLE IF EXISTS "augur_data"."dm_repo_annual" OWNER TO "augur"; -CREATE INDEX "repo_id,affiliation_copy_1" ON "augur_data"."dm_repo_annual" USING btree ( - "repo_id" "pg_catalog"."int8_ops" ASC NULLS LAST, - "affiliation" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); -CREATE INDEX "repo_id,email_copy_1" ON "augur_data"."dm_repo_annual" USING btree ( - "repo_id" "pg_catalog"."int8_ops" ASC NULLS LAST, - "email" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); - -CREATE TABLE IF NOT EXISTS "augur_data"."dm_repo_group_annual" ( - "repo_group_id" int8 NOT NULL, - "email" varchar(128) COLLATE "pg_catalog"."default" NOT NULL, - "affiliation" varchar(128) COLLATE "pg_catalog"."default" DEFAULT 'NULL'::character varying, - "year" int2 NOT NULL, - "added" int8 NOT NULL, - "removed" int8 NOT NULL, - "whitespace" int8 NOT NULL, - "files" int8 NOT NULL, - "patches" int8 NOT NULL, - "tool_source" varchar(255) COLLATE "pg_catalog"."default", - "tool_version" varchar(255) COLLATE "pg_catalog"."default", - "data_source" varchar(255) COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0) DEFAULT CURRENT_TIMESTAMP -); -ALTER TABLE IF EXISTS "augur_data"."dm_repo_group_annual" OWNER TO "augur"; -CREATE INDEX "projects_id,affiliation_copy_1" ON "augur_data"."dm_repo_group_annual" USING btree ( - "repo_group_id" "pg_catalog"."int8_ops" ASC NULLS LAST, - "affiliation" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); -CREATE INDEX "projects_id,email_copy_1" ON "augur_data"."dm_repo_group_annual" USING btree ( - "repo_group_id" "pg_catalog"."int8_ops" ASC NULLS LAST, - "email" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); - -CREATE TABLE IF NOT EXISTS "augur_data"."dm_repo_group_monthly" ( - "repo_group_id" int8 NOT NULL, - "email" varchar(128) COLLATE "pg_catalog"."default" NOT NULL, - "affiliation" varchar(128) COLLATE "pg_catalog"."default" DEFAULT 'NULL'::character varying, - "month" int2 NOT NULL, - "year" int2 NOT NULL, - "added" int8 NOT NULL, - "removed" int8 NOT NULL, - "whitespace" int8 NOT NULL, - "files" int8 NOT NULL, - "patches" int8 NOT NULL, - "tool_source" varchar(255) COLLATE "pg_catalog"."default", - "tool_version" varchar(255) COLLATE "pg_catalog"."default", - "data_source" varchar(255) COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0) DEFAULT CURRENT_TIMESTAMP -); -ALTER TABLE IF EXISTS "augur_data"."dm_repo_group_monthly" OWNER TO "augur"; -CREATE INDEX "projects_id,affiliation_copy_2" ON "augur_data"."dm_repo_group_monthly" USING btree ( - "repo_group_id" "pg_catalog"."int8_ops" ASC NULLS LAST, - "affiliation" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); -CREATE INDEX "projects_id,email_copy_2" ON "augur_data"."dm_repo_group_monthly" USING btree ( - "repo_group_id" "pg_catalog"."int8_ops" ASC NULLS LAST, - "email" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); -CREATE INDEX "projects_id,year,affiliation_copy_1" ON "augur_data"."dm_repo_group_monthly" USING btree ( - "repo_group_id" "pg_catalog"."int8_ops" ASC NULLS LAST, - "year" "pg_catalog"."int2_ops" ASC NULLS LAST, - "affiliation" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); -CREATE INDEX "projects_id,year,email_copy_1" ON "augur_data"."dm_repo_group_monthly" USING btree ( - "repo_group_id" "pg_catalog"."int8_ops" ASC NULLS LAST, - "year" "pg_catalog"."int2_ops" ASC NULLS LAST, - "email" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); - -CREATE TABLE IF NOT EXISTS "augur_data"."dm_repo_group_weekly" ( - "repo_group_id" int8 NOT NULL, - "email" varchar(128) COLLATE "pg_catalog"."default" NOT NULL, - "affiliation" varchar(128) COLLATE "pg_catalog"."default" DEFAULT 'NULL'::character varying, - "week" int2 NOT NULL, - "year" int2 NOT NULL, - "added" int8 NOT NULL, - "removed" int8 NOT NULL, - "whitespace" int8 NOT NULL, - "files" int8 NOT NULL, - "patches" int8 NOT NULL, - "tool_source" varchar(255) COLLATE "pg_catalog"."default", - "tool_version" varchar(255) COLLATE "pg_catalog"."default", - "data_source" varchar(255) COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0) DEFAULT CURRENT_TIMESTAMP -); -ALTER TABLE IF EXISTS "augur_data"."dm_repo_group_weekly" OWNER TO "augur"; -CREATE INDEX "projects_id,affiliation" ON "augur_data"."dm_repo_group_weekly" USING btree ( - "repo_group_id" "pg_catalog"."int8_ops" ASC NULLS LAST, - "affiliation" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); -CREATE INDEX "projects_id,email" ON "augur_data"."dm_repo_group_weekly" USING btree ( - "repo_group_id" "pg_catalog"."int8_ops" ASC NULLS LAST, - "email" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); -CREATE INDEX "projects_id,year,affiliation" ON "augur_data"."dm_repo_group_weekly" USING btree ( - "repo_group_id" "pg_catalog"."int8_ops" ASC NULLS LAST, - "year" "pg_catalog"."int2_ops" ASC NULLS LAST, - "affiliation" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); -CREATE INDEX "projects_id,year,email" ON "augur_data"."dm_repo_group_weekly" USING btree ( - "repo_group_id" "pg_catalog"."int8_ops" ASC NULLS LAST, - "year" "pg_catalog"."int2_ops" ASC NULLS LAST, - "email" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); - -CREATE TABLE IF NOT EXISTS "augur_data"."dm_repo_monthly" ( - "repo_id" int8 NOT NULL, - "email" varchar(128) COLLATE "pg_catalog"."default" NOT NULL, - "affiliation" varchar(128) COLLATE "pg_catalog"."default" DEFAULT 'NULL'::character varying, - "month" int2 NOT NULL, - "year" int2 NOT NULL, - "added" int8 NOT NULL, - "removed" int8 NOT NULL, - "whitespace" int8 NOT NULL, - "files" int8 NOT NULL, - "patches" int8 NOT NULL, - "tool_source" varchar(255) COLLATE "pg_catalog"."default", - "tool_version" varchar(255) COLLATE "pg_catalog"."default", - "data_source" varchar(255) COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0) DEFAULT CURRENT_TIMESTAMP -); -ALTER TABLE IF EXISTS "augur_data"."dm_repo_monthly" OWNER TO "augur"; -CREATE INDEX "repo_id,affiliation_copy_2" ON "augur_data"."dm_repo_monthly" USING btree ( - "repo_id" "pg_catalog"."int8_ops" ASC NULLS LAST, - "affiliation" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); -CREATE INDEX "repo_id,email_copy_2" ON "augur_data"."dm_repo_monthly" USING btree ( - "repo_id" "pg_catalog"."int8_ops" ASC NULLS LAST, - "email" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); -CREATE INDEX "repo_id,year,affiliation_copy_1" ON "augur_data"."dm_repo_monthly" USING btree ( - "repo_id" "pg_catalog"."int8_ops" ASC NULLS LAST, - "year" "pg_catalog"."int2_ops" ASC NULLS LAST, - "affiliation" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); -CREATE INDEX "repo_id,year,email_copy_1" ON "augur_data"."dm_repo_monthly" USING btree ( - "repo_id" "pg_catalog"."int8_ops" ASC NULLS LAST, - "year" "pg_catalog"."int2_ops" ASC NULLS LAST, - "email" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); - -CREATE TABLE IF NOT EXISTS "augur_data"."dm_repo_weekly" ( - "repo_id" int8 NOT NULL, - "email" varchar(128) COLLATE "pg_catalog"."default" NOT NULL, - "affiliation" varchar(128) COLLATE "pg_catalog"."default" DEFAULT 'NULL'::character varying, - "week" int2 NOT NULL, - "year" int2 NOT NULL, - "added" int8 NOT NULL, - "removed" int8 NOT NULL, - "whitespace" int8 NOT NULL, - "files" int8 NOT NULL, - "patches" int8 NOT NULL, - "tool_source" varchar(255) COLLATE "pg_catalog"."default", - "tool_version" varchar(255) COLLATE "pg_catalog"."default", - "data_source" varchar(255) COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0) DEFAULT CURRENT_TIMESTAMP -); -ALTER TABLE IF EXISTS "augur_data"."dm_repo_weekly" OWNER TO "augur"; -CREATE INDEX "repo_id,affiliation" ON "augur_data"."dm_repo_weekly" USING btree ( - "repo_id" "pg_catalog"."int8_ops" ASC NULLS LAST, - "affiliation" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); -CREATE INDEX "repo_id,email" ON "augur_data"."dm_repo_weekly" USING btree ( - "repo_id" "pg_catalog"."int8_ops" ASC NULLS LAST, - "email" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); -CREATE INDEX "repo_id,year,affiliation" ON "augur_data"."dm_repo_weekly" USING btree ( - "repo_id" "pg_catalog"."int8_ops" ASC NULLS LAST, - "year" "pg_catalog"."int2_ops" ASC NULLS LAST, - "affiliation" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); -CREATE INDEX "repo_id,year,email" ON "augur_data"."dm_repo_weekly" USING btree ( - "repo_id" "pg_catalog"."int8_ops" ASC NULLS LAST, - "year" "pg_catalog"."int2_ops" ASC NULLS LAST, - "email" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); - -CREATE TABLE IF NOT EXISTS "augur_data"."exclude" ( - "id" int4 NOT NULL, - "projects_id" int4 NOT NULL, - "email" varchar(128) COLLATE "pg_catalog"."default" DEFAULT 'NULL'::character varying, - "domain" varchar(128) COLLATE "pg_catalog"."default" DEFAULT 'NULL'::character varying, - CONSTRAINT "exclude_pkey" PRIMARY KEY ("id") -); -ALTER TABLE IF EXISTS "augur_data"."exclude" OWNER TO "augur"; - -CREATE TABLE IF NOT EXISTS "augur_data"."issue_assignees" ( - "issue_assignee_id" int8 NOT NULL DEFAULT nextval('"augur_data".issue_assignees_issue_assignee_id_seq'::regclass), - "issue_id" int8, - "cntrb_id" int8, - "tool_source" varchar COLLATE "pg_catalog"."default", - "tool_version" varchar COLLATE "pg_catalog"."default", - "data_source" varchar COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0) DEFAULT CURRENT_TIMESTAMP, - "issue_assignee_src_id" int8, - "issue_assignee_src_node" varchar COLLATE "pg_catalog"."default", - CONSTRAINT "issue_assignees_pkey" PRIMARY KEY ("issue_assignee_id") -); -ALTER TABLE IF EXISTS "augur_data"."issue_assignees" OWNER TO "augur"; -CREATE INDEX "issue-cntrb-assign-idx-1" ON "augur_data"."issue_assignees" USING btree ( - "cntrb_id" "pg_catalog"."int8_ops" ASC NULLS LAST -); -COMMENT ON COLUMN "augur_data"."issue_assignees"."issue_assignee_src_id" IS 'This ID comes from the source. In the case of GitHub, it is the id that is the first field returned from the issue events API in the issue_assignees embedded JSON object. We may discover it is an ID for the person themselves; but my hypothesis is that its not.'; -COMMENT ON COLUMN "augur_data"."issue_assignees"."issue_assignee_src_node" IS 'This character based identifier comes from the source. In the case of GitHub, it is the id that is the second field returned from the issue events API in the issue_assignees embedded JSON object. We may discover it is an ID for the person themselves; but my hypothesis is that its not.'; - -CREATE TABLE IF NOT EXISTS "augur_data"."issue_events" ( - "event_id" int8 NOT NULL DEFAULT nextval('"augur_data".issue_events_event_id_seq'::regclass), - "issue_id" int8 NOT NULL, - "cntrb_id" int8 NOT NULL, - "action" varchar(255) COLLATE "pg_catalog"."default" NOT NULL, - "action_commit_hash" varchar COLLATE "pg_catalog"."default", - "created_at" timestamp(0) NOT NULL DEFAULT CURRENT_TIMESTAMP, - "node_id" varchar COLLATE "pg_catalog"."default", - "node_url" varchar COLLATE "pg_catalog"."default", - "tool_source" varchar(255) COLLATE "pg_catalog"."default", - "tool_version" varchar(255) COLLATE "pg_catalog"."default", - "data_source" varchar(255) COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0) DEFAULT CURRENT_TIMESTAMP, - "issue_event_src_id" int8, - CONSTRAINT "issue_events_pkey" PRIMARY KEY ("event_id") -); -ALTER TABLE IF EXISTS "augur_data"."issue_events" OWNER TO "augur"; -CREATE INDEX "issue-cntrb-idx2" ON "augur_data"."issue_events" USING btree ( - "issue_event_src_id" "pg_catalog"."int8_ops" ASC NULLS LAST -); -CREATE INDEX "issue_events_ibfk_1" ON "augur_data"."issue_events" USING btree ( - "issue_id" "pg_catalog"."int8_ops" ASC NULLS LAST -); -CREATE INDEX "issue_events_ibfk_2" ON "augur_data"."issue_events" USING btree ( - "cntrb_id" "pg_catalog"."int8_ops" ASC NULLS LAST -); -COMMENT ON COLUMN "augur_data"."issue_events"."node_id" IS 'This should be renamed to issue_event_src_node_id, as its the varchar identifier in GitHub and likely common in other sources as well. However, since it was created before we came to this naming standard and workers are built around it, we have it simply named as node_id. Anywhere you see node_id in the schema, it comes from GitHubs terminology.'; -COMMENT ON COLUMN "augur_data"."issue_events"."issue_event_src_id" IS 'This ID comes from the source. In the case of GitHub, it is the id that is the first field returned from the issue events API'; - -CREATE TABLE IF NOT EXISTS "augur_data"."issue_labels" ( - "issue_label_id" int8 NOT NULL DEFAULT nextval('"augur_data".issue_labels_issue_label_id_seq'::regclass), - "issue_id" int8, - "label_text" varchar COLLATE "pg_catalog"."default", - "label_description" varchar COLLATE "pg_catalog"."default", - "label_color" varchar COLLATE "pg_catalog"."default", - "tool_source" varchar(255) COLLATE "pg_catalog"."default", - "tool_version" varchar(255) COLLATE "pg_catalog"."default", - "data_source" varchar(255) COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0) DEFAULT CURRENT_TIMESTAMP, - "label_src_id" int8, - "label_src_node_id" varchar COLLATE "pg_catalog"."default", - CONSTRAINT "issue_labels_pkey" PRIMARY KEY ("issue_label_id") -); -ALTER TABLE IF EXISTS "augur_data"."issue_labels" OWNER TO "augur"; -COMMENT ON COLUMN "augur_data"."issue_labels"."label_src_id" IS 'This character based identifier (node) comes from the source. In the case of GitHub, it is the id that is the second field returned from the issue events API JSON subsection for issues.'; - -CREATE TABLE IF NOT EXISTS "augur_data"."issue_message_ref" ( - "issue_msg_ref_id" int8 NOT NULL DEFAULT nextval('"augur_data".issue_message_ref_issue_msg_ref_id_seq'::regclass), - "issue_id" int8, - "msg_id" int8, - "tool_source" varchar(255) COLLATE "pg_catalog"."default", - "tool_version" varchar(255) COLLATE "pg_catalog"."default", - "data_source" varchar(255) COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0) DEFAULT CURRENT_TIMESTAMP, - "issue_msg_ref_src_comment_id" int8, - "issue_msg_ref_src_node_id" varchar COLLATE "pg_catalog"."default", - CONSTRAINT "issue_message_ref_pkey" PRIMARY KEY ("issue_msg_ref_id") -); -ALTER TABLE IF EXISTS "augur_data"."issue_message_ref" OWNER TO "augur"; -COMMENT ON COLUMN "augur_data"."issue_message_ref"."issue_msg_ref_src_comment_id" IS 'This ID comes from the source. In the case of GitHub, it is the id that is the first field returned from the issue comments API'; -COMMENT ON COLUMN "augur_data"."issue_message_ref"."issue_msg_ref_src_node_id" IS 'This character based identifier comes from the source. In the case of GitHub, it is the id that is the first field returned from the issue comments API'; - -CREATE TABLE IF NOT EXISTS "augur_data"."issues" ( - "issue_id" int8 NOT NULL DEFAULT nextval('"augur_data".issue_seq'::regclass), - "repo_id" int8, - "reporter_id" int8, - "pull_request" int8, - "pull_request_id" int8, - "created_at" timestamp(0), - "issue_title" varchar(500) COLLATE "pg_catalog"."default", - "issue_body" text COLLATE "pg_catalog"."default", - "cntrb_id" int8, - "comment_count" int8, - "updated_at" timestamp(0), - "closed_at" timestamp(0), - "due_on" timestamp(0), - "repository_url" varchar(4000) COLLATE "pg_catalog"."default", - "issue_url" varchar(4000) COLLATE "pg_catalog"."default", - "labels_url" varchar(4000) COLLATE "pg_catalog"."default", - "comments_url" varchar(4000) COLLATE "pg_catalog"."default", - "events_url" varchar(4000) COLLATE "pg_catalog"."default", - "html_url" varchar(4000) COLLATE "pg_catalog"."default", - "issue_state" varchar(255) COLLATE "pg_catalog"."default", - "issue_node_id" varchar COLLATE "pg_catalog"."default", - "gh_issue_id" int8, - "gh_user_id" int8, - "tool_source" varchar(255) COLLATE "pg_catalog"."default", - "tool_version" varchar(255) COLLATE "pg_catalog"."default", - "data_source" varchar(255) COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0) DEFAULT CURRENT_TIMESTAMP, - "gh_issue_number" int8, - CONSTRAINT "issues_pkey" PRIMARY KEY ("issue_id") -); -ALTER TABLE IF EXISTS "augur_data"."issues" OWNER TO "augur"; -CREATE INDEX "issue-cntrb-dix2" ON "augur_data"."issues" USING btree ( - "cntrb_id" "pg_catalog"."int8_ops" ASC NULLS LAST -); -CREATE INDEX "issues_ibfk_1" ON "augur_data"."issues" USING btree ( - "repo_id" "pg_catalog"."int8_ops" ASC NULLS LAST -); -CREATE INDEX "issues_ibfk_2" ON "augur_data"."issues" USING btree ( - "reporter_id" "pg_catalog"."int8_ops" ASC NULLS LAST -); -CREATE INDEX "issues_ibfk_4" ON "augur_data"."issues" USING btree ( - "pull_request_id" "pg_catalog"."int8_ops" ASC NULLS LAST -); -COMMENT ON COLUMN "augur_data"."issues"."reporter_id" IS 'The ID of the person who opened the issue. '; -COMMENT ON COLUMN "augur_data"."issues"."cntrb_id" IS 'The ID of the person who closed the issue. '; - -CREATE TABLE IF NOT EXISTS "augur_data"."libraries" ( - "library_id" int8 NOT NULL DEFAULT nextval('"augur_data".libraries_library_id_seq'::regclass), - "repo_id" int8, - "platform" varchar(255) COLLATE "pg_catalog"."default" DEFAULT NULL::character varying, - "name" varchar(255) COLLATE "pg_catalog"."default" DEFAULT NULL::character varying, - "created_timestamp" timestamp(0) DEFAULT NULL::timestamp without time zone, - "updated_timestamp" timestamp(0) DEFAULT NULL::timestamp without time zone, - "library_description" varchar(2000) COLLATE "pg_catalog"."default" DEFAULT NULL::character varying, - "keywords" varchar(255) COLLATE "pg_catalog"."default" DEFAULT NULL::character varying, - "library_homepage" varchar(1000) COLLATE "pg_catalog"."default" DEFAULT NULL::character varying, - "license" varchar(255) COLLATE "pg_catalog"."default" DEFAULT NULL::character varying, - "version_count" int4, - "latest_release_timestamp" varchar(255) COLLATE "pg_catalog"."default" DEFAULT NULL::character varying, - "latest_release_number" varchar(255) COLLATE "pg_catalog"."default" DEFAULT NULL::character varying, - "package_manager_id" varchar(255) COLLATE "pg_catalog"."default" DEFAULT NULL::character varying, - "dependency_count" int4, - "dependent_library_count" int4, - "primary_language" varchar(255) COLLATE "pg_catalog"."default" DEFAULT NULL::character varying, - "tool_source" varchar(255) COLLATE "pg_catalog"."default", - "tool_version" varchar(255) COLLATE "pg_catalog"."default", - "data_source" varchar(255) COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0), - CONSTRAINT "libraries_pkey" PRIMARY KEY ("library_id") -); -ALTER TABLE IF EXISTS "augur_data"."libraries" OWNER TO "augur"; - -CREATE TABLE IF NOT EXISTS "augur_data"."library_dependencies" ( - "lib_dependency_id" int8 NOT NULL DEFAULT nextval('"augur_data".library_dependencies_lib_dependency_id_seq'::regclass), - "library_id" int8, - "manifest_platform" varchar(255) COLLATE "pg_catalog"."default" DEFAULT NULL::character varying, - "manifest_filepath" varchar(1000) COLLATE "pg_catalog"."default" DEFAULT NULL::character varying, - "manifest_kind" varchar(255) COLLATE "pg_catalog"."default" DEFAULT NULL::character varying, - "repo_id_branch" varchar(255) COLLATE "pg_catalog"."default" NOT NULL, - "tool_source" varchar(255) COLLATE "pg_catalog"."default", - "tool_version" varchar(255) COLLATE "pg_catalog"."default", - "data_source" varchar(255) COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0), - CONSTRAINT "library_dependencies_pkey" PRIMARY KEY ("lib_dependency_id") -); -ALTER TABLE IF EXISTS "augur_data"."library_dependencies" OWNER TO "augur"; -CREATE INDEX "REPO_DEP" ON "augur_data"."library_dependencies" USING btree ( - "library_id" "pg_catalog"."int8_ops" ASC NULLS LAST -); - -CREATE TABLE IF NOT EXISTS "augur_data"."library_version" ( - "library_version_id" int8 NOT NULL DEFAULT nextval('"augur_data".library_version_library_version_id_seq'::regclass), - "library_id" int8, - "library_platform" varchar(255) COLLATE "pg_catalog"."default" DEFAULT NULL::character varying, - "version_number" varchar(255) COLLATE "pg_catalog"."default" DEFAULT NULL::character varying, - "version_release_date" timestamp(0) DEFAULT NULL::timestamp without time zone, - "tool_source" varchar(255) COLLATE "pg_catalog"."default", - "tool_version" varchar(255) COLLATE "pg_catalog"."default", - "data_source" varchar(255) COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0), - CONSTRAINT "library_version_pkey" PRIMARY KEY ("library_version_id") -); -ALTER TABLE IF EXISTS "augur_data"."library_version" OWNER TO "augur"; - -CREATE TABLE IF NOT EXISTS "augur_data"."lstm_anomaly_models" ( - "model_id" int8 NOT NULL DEFAULT nextval('"augur_data".lstm_anomaly_models_model_id_seq'::regclass), - "model_name" varchar COLLATE "pg_catalog"."default", - "model_description" varchar COLLATE "pg_catalog"."default", - "look_back_days" int8, - "training_days" int8, - "batch_size" int8, - "metric" varchar COLLATE "pg_catalog"."default", - "tool_source" varchar COLLATE "pg_catalog"."default", - "tool_version" varchar COLLATE "pg_catalog"."default", - "data_source" varchar COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(6) DEFAULT CURRENT_TIMESTAMP, - CONSTRAINT "lstm_anomaly_models_pkey" PRIMARY KEY ("model_id") -); -ALTER TABLE IF EXISTS "augur_data"."lstm_anomaly_models" OWNER TO "augur"; - -CREATE TABLE IF NOT EXISTS "augur_data"."lstm_anomaly_results" ( - "result_id" int8 NOT NULL DEFAULT nextval('"augur_data".lstm_anomaly_results_result_id_seq'::regclass), - "repo_id" int8, - "repo_category" varchar COLLATE "pg_catalog"."default", - "model_id" int8, - "metric" varchar COLLATE "pg_catalog"."default", - "contamination_factor" float8, - "mean_absolute_error" float8, - "remarks" varchar COLLATE "pg_catalog"."default", - "metric_field" varchar COLLATE "pg_catalog"."default", - "mean_absolute_actual_value" float8, - "mean_absolute_prediction_value" float8, - "tool_source" varchar COLLATE "pg_catalog"."default", - "tool_version" varchar COLLATE "pg_catalog"."default", - "data_source" varchar COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(6) DEFAULT CURRENT_TIMESTAMP, - CONSTRAINT "lstm_anomaly_results_pkey" PRIMARY KEY ("result_id") -); -ALTER TABLE IF EXISTS "augur_data"."lstm_anomaly_results" OWNER TO "augur"; -COMMENT ON COLUMN "augur_data"."lstm_anomaly_results"."metric_field" IS 'This is a listing of all of the endpoint fields included in the generation of the metric. Sometimes there is one, sometimes there is more than one. This will list them all. '; - -CREATE TABLE IF NOT EXISTS "augur_data"."message" ( - "msg_id" int8 NOT NULL DEFAULT nextval('"augur_data".message_msg_id_seq'::regclass), - "rgls_id" int8, - "msg_text" text COLLATE "pg_catalog"."default", - "msg_timestamp" timestamp(0), - "msg_sender_email" varchar(255) COLLATE "pg_catalog"."default", - "msg_header" varchar(4000) COLLATE "pg_catalog"."default", - "pltfrm_id" int8 NOT NULL, - "tool_source" varchar(255) COLLATE "pg_catalog"."default", - "tool_version" varchar(255) COLLATE "pg_catalog"."default", - "data_source" varchar(255) COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0), - "cntrb_id" int8, - CONSTRAINT "message_pkey" PRIMARY KEY ("msg_id"), - CONSTRAINT "REPOGROUPLISTER" UNIQUE ("msg_id", "rgls_id"), - CONSTRAINT "platformer" UNIQUE ("msg_id", "pltfrm_id") -); -ALTER TABLE IF EXISTS "augur_data"."message" OWNER TO "augur"; -CREATE UNIQUE INDEX "messagegrouper" ON "augur_data"."message" USING btree ( - "msg_id" "pg_catalog"."int8_ops" ASC NULLS LAST, - "rgls_id" "pg_catalog"."int8_ops" ASC NULLS LAST -); -CREATE INDEX "msg-cntrb-id-idx" ON "augur_data"."message" USING btree ( - "cntrb_id" "pg_catalog"."int8_ops" ASC NULLS LAST -); -CREATE INDEX "platformgrouper" ON "augur_data"."message" USING btree ( - "msg_id" "pg_catalog"."int8_ops" ASC NULLS LAST, - "pltfrm_id" "pg_catalog"."int8_ops" ASC NULLS LAST -); -COMMENT ON COLUMN "augur_data"."message"."cntrb_id" IS 'Not populated for mailing lists. Populated for GitHub issues. '; - -CREATE TABLE IF NOT EXISTS "augur_data"."message_analysis" ( - "msg_analysis_id" int8 NOT NULL DEFAULT nextval('"augur_data".message_analysis_msg_analysis_id_seq'::regclass), - "msg_id" int8, - "worker_run_id" int8, - "sentiment_score" float8, - "reconstruction_error" float8, - "novelty_flag" bool, - "feedback_flag" bool, - "tool_source" varchar COLLATE "pg_catalog"."default", - "tool_version" varchar COLLATE "pg_catalog"."default", - "data_source" varchar COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0) DEFAULT CURRENT_TIMESTAMP, - CONSTRAINT "message_analysis_pkey" PRIMARY KEY ("msg_analysis_id") -); -ALTER TABLE IF EXISTS "augur_data"."message_analysis" OWNER TO "augur"; -COMMENT ON COLUMN "augur_data"."message_analysis"."worker_run_id" IS 'This column is used to indicate analyses run by a worker during the same execution period, and is useful for grouping, and time series analysis. '; -COMMENT ON COLUMN "augur_data"."message_analysis"."sentiment_score" IS 'A sentiment analysis score. Zero is neutral, negative numbers are negative sentiment, and positive numbers are positive sentiment. '; -COMMENT ON COLUMN "augur_data"."message_analysis"."reconstruction_error" IS 'Each message is converted to a 250 dimensin doc2vec vector, so the reconstruction error is the difference between what the predicted vector and the actual vector.'; -COMMENT ON COLUMN "augur_data"."message_analysis"."novelty_flag" IS 'This is an analysis of the degree to which the message is novel when compared to other messages in a repository. For example when bots are producing numerous identical messages, the novelty score is low. It would also be a low novelty score when several people are making the same coment. '; -COMMENT ON COLUMN "augur_data"."message_analysis"."feedback_flag" IS 'This exists to provide the user with an opportunity provide feedback on the resulting the sentiment scores. '; - -CREATE TABLE IF NOT EXISTS "augur_data"."message_analysis_summary" ( - "msg_summary_id" int8 NOT NULL DEFAULT nextval('"augur_data".message_analysis_summary_msg_summary_id_seq'::regclass), - "repo_id" int8, - "worker_run_id" int8, - "positive_ratio" float8, - "negative_ratio" float8, - "novel_count" int8, - "period" timestamp(0), - "tool_source" varchar COLLATE "pg_catalog"."default", - "tool_version" varchar COLLATE "pg_catalog"."default", - "data_source" varchar COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0) DEFAULT CURRENT_TIMESTAMP, - CONSTRAINT "message_analysis_summary_pkey" PRIMARY KEY ("msg_summary_id") -); -ALTER TABLE IF EXISTS "augur_data"."message_analysis_summary" OWNER TO "augur"; -COMMENT ON COLUMN "augur_data"."message_analysis_summary"."worker_run_id" IS 'This value should reflect the worker_run_id for the messages summarized in the table. There is not a relation between these two tables for that purpose because its not *really*, relationaly a concept unless we create a third table for "worker_run_id", which we determined was unnecessarily complex. '; -COMMENT ON COLUMN "augur_data"."message_analysis_summary"."novel_count" IS 'The number of messages identified as novel during the analyzed period'; -COMMENT ON COLUMN "augur_data"."message_analysis_summary"."period" IS 'The whole timeline is divided into periods based on the definition of time period for analysis, which is user specified. Timestamp of the first period to look at, until the end of messages at the data of execution. '; -COMMENT ON TABLE "augur_data"."message_analysis_summary" IS 'In a relationally perfect world, we would have a table called “message_analysis_run” the incremented the “worker_run_id” for both message_analysis and message_analysis_summary. For now, we decided this was overkill. '; - -CREATE TABLE IF NOT EXISTS "augur_data"."message_sentiment" ( - "msg_analysis_id" int8 NOT NULL DEFAULT nextval('"augur_data".message_sentiment_msg_analysis_id_seq'::regclass), - "msg_id" int8, - "worker_run_id" int8, - "sentiment_score" float8, - "reconstruction_error" float8, - "novelty_flag" bool, - "feedback_flag" bool, - "tool_source" varchar COLLATE "pg_catalog"."default", - "tool_version" varchar COLLATE "pg_catalog"."default", - "data_source" varchar COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0) DEFAULT CURRENT_TIMESTAMP, - CONSTRAINT "message_sentiment_pkey" PRIMARY KEY ("msg_analysis_id") -); -ALTER TABLE IF EXISTS "augur_data"."message_sentiment" OWNER TO "augur"; -COMMENT ON COLUMN "augur_data"."message_sentiment"."worker_run_id" IS 'This column is used to indicate analyses run by a worker during the same execution period, and is useful for grouping, and time series analysis. '; -COMMENT ON COLUMN "augur_data"."message_sentiment"."sentiment_score" IS 'A sentiment analysis score. Zero is neutral, negative numbers are negative sentiment, and positive numbers are positive sentiment. '; -COMMENT ON COLUMN "augur_data"."message_sentiment"."reconstruction_error" IS 'Each message is converted to a 250 dimensin doc2vec vector, so the reconstruction error is the difference between what the predicted vector and the actual vector.'; -COMMENT ON COLUMN "augur_data"."message_sentiment"."novelty_flag" IS 'This is an analysis of the degree to which the message is novel when compared to other messages in a repository. For example when bots are producing numerous identical messages, the novelty score is low. It would also be a low novelty score when several people are making the same coment. '; -COMMENT ON COLUMN "augur_data"."message_sentiment"."feedback_flag" IS 'This exists to provide the user with an opportunity provide feedback on the resulting the sentiment scores. '; - -CREATE TABLE IF NOT EXISTS "augur_data"."message_sentiment_summary" ( - "msg_summary_id" int8 NOT NULL DEFAULT nextval('"augur_data".message_sentiment_summary_msg_summary_id_seq'::regclass), - "repo_id" int8, - "worker_run_id" int8, - "positive_ratio" float8, - "negative_ratio" float8, - "novel_count" int8, - "period" timestamp(0), - "tool_source" varchar COLLATE "pg_catalog"."default", - "tool_version" varchar COLLATE "pg_catalog"."default", - "data_source" varchar COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0) DEFAULT CURRENT_TIMESTAMP, - CONSTRAINT "message_sentiment_summary_pkey" PRIMARY KEY ("msg_summary_id") -); -ALTER TABLE IF EXISTS "augur_data"."message_sentiment_summary" OWNER TO "augur"; -COMMENT ON COLUMN "augur_data"."message_sentiment_summary"."worker_run_id" IS 'This value should reflect the worker_run_id for the messages summarized in the table. There is not a relation between these two tables for that purpose because its not *really*, relationaly a concept unless we create a third table for "worker_run_id", which we determined was unnecessarily complex. '; -COMMENT ON COLUMN "augur_data"."message_sentiment_summary"."novel_count" IS 'The number of messages identified as novel during the analyzed period'; -COMMENT ON COLUMN "augur_data"."message_sentiment_summary"."period" IS 'The whole timeline is divided into periods based on the definition of time period for analysis, which is user specified. Timestamp of the first period to look at, until the end of messages at the data of execution. '; -COMMENT ON TABLE "augur_data"."message_sentiment_summary" IS 'In a relationally perfect world, we would have a table called “message_sentiment_run” the incremented the “worker_run_id” for both message_sentiment and message_sentiment_summary. For now, we decided this was overkill. '; - -CREATE TABLE IF NOT EXISTS "augur_data"."platform" ( - "pltfrm_id" int8 NOT NULL DEFAULT nextval('"augur_data".platform_pltfrm_id_seq'::regclass), - "pltfrm_name" varchar(255) COLLATE "pg_catalog"."default", - "pltfrm_version" varchar(255) COLLATE "pg_catalog"."default", - "pltfrm_release_date" date, - "tool_source" varchar(255) COLLATE "pg_catalog"."default", - "tool_version" varchar(255) COLLATE "pg_catalog"."default", - "data_source" varchar(255) COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0), - CONSTRAINT "theplat" PRIMARY KEY ("pltfrm_id") -); -ALTER TABLE IF EXISTS "augur_data"."platform" OWNER TO "augur"; -CREATE UNIQUE INDEX "plat" ON "augur_data"."platform" USING btree ( - "pltfrm_id" "pg_catalog"."int8_ops" ASC NULLS LAST -); - -CREATE TABLE IF NOT EXISTS "augur_data"."pull_request_assignees" ( - "pr_assignee_map_id" int8 NOT NULL DEFAULT nextval('"augur_data".pull_request_assignees_pr_assignee_map_id_seq'::regclass), - "pull_request_id" int8, - "contrib_id" int8, - "tool_source" varchar(255) COLLATE "pg_catalog"."default", - "tool_version" varchar(255) COLLATE "pg_catalog"."default", - "data_source" varchar(255) COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0) DEFAULT CURRENT_TIMESTAMP, - CONSTRAINT "pull_request_assignees_pkey" PRIMARY KEY ("pr_assignee_map_id") -); -ALTER TABLE IF EXISTS "augur_data"."pull_request_assignees" OWNER TO "augur"; -CREATE INDEX "pr_meta_cntrb-idx" ON "augur_data"."pull_request_assignees" USING btree ( - "contrib_id" "pg_catalog"."int8_ops" ASC NULLS LAST -); - -CREATE TABLE IF NOT EXISTS "augur_data"."pull_request_commits" ( - "pr_cmt_id" int8 NOT NULL DEFAULT nextval('"augur_data".pull_request_commits_pr_cmt_id_seq'::regclass), - "pull_request_id" int8, - "pr_cmt_sha" varchar COLLATE "pg_catalog"."default", - "pr_cmt_node_id" varchar COLLATE "pg_catalog"."default", - "pr_cmt_message" varchar COLLATE "pg_catalog"."default", - "pr_cmt_comments_url" varbit, - "tool_source" varchar COLLATE "pg_catalog"."default", - "tool_version" varchar COLLATE "pg_catalog"."default", - "data_source" varchar COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0) DEFAULT CURRENT_TIMESTAMP, - CONSTRAINT "pull_request_commits_pkey" PRIMARY KEY ("pr_cmt_id") -); -ALTER TABLE IF EXISTS "augur_data"."pull_request_commits" OWNER TO "augur"; -COMMENT ON COLUMN "augur_data"."pull_request_commits"."pr_cmt_sha" IS 'This is the commit SHA for a pull request commit. If the PR is not to the master branch of the main repository (or, in rare cases, from it), then you will NOT find a corresponding commit SHA in the commit table. (see table comment for further explanation). '; -COMMENT ON TABLE "augur_data"."pull_request_commits" IS 'Pull request commits are an enumeration of each commit associated with a pull request. -Not all pull requests are from a branch or fork into master. -The commits table intends to count only commits that end up in the master branch (i.e., part of the deployed code base for a project). -Therefore, there will be commit “SHA”’s in this table that are no associated with a commit SHA in the commits table. -In cases where the PR is to the master branch of a project, you will find a match. In cases where the PR does not involve the master branch, you will not find a corresponding commit SHA in the commits table. This is expected. '; - -CREATE TABLE IF NOT EXISTS "augur_data"."pull_request_events" ( - "pr_event_id" int8 NOT NULL DEFAULT nextval('"augur_data".pull_request_events_pr_event_id_seq'::regclass), - "pull_request_id" int8 NOT NULL, - "cntrb_id" int8 NOT NULL, - "action" varchar(255) COLLATE "pg_catalog"."default" NOT NULL, - "action_commit_hash" varchar COLLATE "pg_catalog"."default", - "created_at" timestamp(0) NOT NULL DEFAULT CURRENT_TIMESTAMP, - "issue_event_src_id" int8, - "node_id" varchar COLLATE "pg_catalog"."default", - "node_url" varchar COLLATE "pg_catalog"."default", - "tool_source" varchar(255) COLLATE "pg_catalog"."default", - "tool_version" varchar(255) COLLATE "pg_catalog"."default", - "data_source" varchar(255) COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0) DEFAULT CURRENT_TIMESTAMP, - CONSTRAINT "pr_events_pkey" PRIMARY KEY ("pr_event_id") -); -ALTER TABLE IF EXISTS "augur_data"."pull_request_events" OWNER TO "augur"; -CREATE INDEX "pr_events_ibfk_1" ON "augur_data"."pull_request_events" USING btree ( - "pull_request_id" "pg_catalog"."int8_ops" ASC NULLS LAST -); -CREATE INDEX "pr_events_ibfk_2" ON "augur_data"."pull_request_events" USING btree ( - "cntrb_id" "pg_catalog"."int8_ops" ASC NULLS LAST -); -COMMENT ON COLUMN "augur_data"."pull_request_events"."issue_event_src_id" IS 'This ID comes from the source. In the case of GitHub, it is the id that is the first field returned from the issue events API'; -COMMENT ON COLUMN "augur_data"."pull_request_events"."node_id" IS 'This should be renamed to issue_event_src_node_id, as its the varchar identifier in GitHub and likely common in other sources as well. However, since it was created before we came to this naming standard and workers are built around it, we have it simply named as node_id. Anywhere you see node_id in the schema, it comes from GitHubs terminology.'; - -CREATE TABLE IF NOT EXISTS "augur_data"."pull_request_files" ( - "pull_request_id" int8, - "pr_file_id" int8 NOT NULL DEFAULT nextval('"augur_data".pull_request_files_pr_file_id_seq'::regclass), - "pr_file_additions" int8, - "pr_file_deletions" int8, - "pr_file_path" varchar COLLATE "pg_catalog"."default", - "tool_source" varchar COLLATE "pg_catalog"."default", - "tool_version" varchar COLLATE "pg_catalog"."default", - "data_source" varchar COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0) DEFAULT CURRENT_TIMESTAMP, - CONSTRAINT "pull_request_files_pkey" PRIMARY KEY ("pr_file_id") -); -ALTER TABLE IF EXISTS "augur_data"."pull_request_files" OWNER TO "augur"; -COMMENT ON TABLE "augur_data"."pull_request_files" IS 'Pull request commits are an enumeration of each commit associated with a pull request. -Not all pull requests are from a branch or fork into master. -The commits table intends to count only commits that end up in the master branch (i.e., part of the deployed code base for a project). -Therefore, there will be commit “SHA”’s in this table that are no associated with a commit SHA in the commits table. -In cases where the PR is to the master branch of a project, you will find a match. In cases where the PR does not involve the master branch, you will not find a corresponding commit SHA in the commits table. This is expected. '; - -CREATE TABLE IF NOT EXISTS "augur_data"."pull_request_labels" ( - "pr_label_id" int8 NOT NULL DEFAULT nextval('"augur_data".pull_request_labels_pr_label_id_seq'::regclass), - "pull_request_id" int8, - "pr_src_id" int8, - "pr_src_node_id" varchar COLLATE "pg_catalog"."default", - "pr_src_url" varchar COLLATE "pg_catalog"."default", - "pr_src_description" varchar COLLATE "pg_catalog"."default", - "pr_src_color" varchar COLLATE "pg_catalog"."default", - "pr_src_default_bool" bool, - "tool_source" varchar(255) COLLATE "pg_catalog"."default", - "tool_version" varchar(255) COLLATE "pg_catalog"."default", - "data_source" varchar(255) COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0) DEFAULT CURRENT_TIMESTAMP, - CONSTRAINT "pull_request_labels_pkey" PRIMARY KEY ("pr_label_id") -); -ALTER TABLE IF EXISTS "augur_data"."pull_request_labels" OWNER TO "augur"; - -CREATE TABLE IF NOT EXISTS "augur_data"."pull_request_message_ref" ( - "pr_msg_ref_id" int8 NOT NULL DEFAULT nextval('"augur_data".pull_request_message_ref_pr_msg_ref_id_seq'::regclass), - "pull_request_id" int8, - "msg_id" int8, - "pr_message_ref_src_comment_id" int8, - "pr_message_ref_src_node_id" varchar COLLATE "pg_catalog"."default", - "tool_source" varchar(255) COLLATE "pg_catalog"."default", - "tool_version" varchar(255) COLLATE "pg_catalog"."default", - "data_source" varchar(255) COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0) DEFAULT CURRENT_TIMESTAMP, - CONSTRAINT "pull_request_message_ref_pkey" PRIMARY KEY ("pr_msg_ref_id") -); -ALTER TABLE IF EXISTS "augur_data"."pull_request_message_ref" OWNER TO "augur"; - -CREATE TABLE IF NOT EXISTS "augur_data"."pull_request_meta" ( - "pr_repo_meta_id" int8 NOT NULL DEFAULT nextval('"augur_data".pull_request_meta_pr_repo_meta_id_seq'::regclass), - "pull_request_id" int8, - "pr_head_or_base" varchar COLLATE "pg_catalog"."default", - "pr_src_meta_label" varchar COLLATE "pg_catalog"."default", - "pr_src_meta_ref" varchar COLLATE "pg_catalog"."default", - "pr_sha" varchar COLLATE "pg_catalog"."default", - "cntrb_id" int8, - "tool_source" varchar(255) COLLATE "pg_catalog"."default", - "tool_version" varchar(255) COLLATE "pg_catalog"."default", - "data_source" varchar(255) COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0) DEFAULT CURRENT_TIMESTAMP, - CONSTRAINT "pull_request_meta_pkey" PRIMARY KEY ("pr_repo_meta_id") -); -ALTER TABLE IF EXISTS "augur_data"."pull_request_meta" OWNER TO "augur"; -CREATE INDEX "pr_meta-cntrbid-idx" ON "augur_data"."pull_request_meta" USING btree ( - "cntrb_id" "pg_catalog"."int8_ops" ASC NULLS LAST -); -COMMENT ON COLUMN "augur_data"."pull_request_meta"."pr_head_or_base" IS 'Each pull request should have one and only one head record; and one and only one base record. '; -COMMENT ON COLUMN "augur_data"."pull_request_meta"."pr_src_meta_label" IS 'This is a representation of the repo:branch information in the pull request. Head is issueing the pull request and base is taking the pull request. For example: (We do not store all of this) - - "head": { - "label": "chaoss:pull-request-worker", - "ref": "pull-request-worker", - "sha": "6b380c3d6d625616f79d702612ebab6d204614f2", - "user": { - "login": "chaoss", - "id": 29740296, - "node_id": "MDEyOk9yZ2FuaXphdGlvbjI5NzQwMjk2", - "avatar_url": "https://avatars2.githubusercontent.com/u/29740296?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/chaoss", - "html_url": "https://github.com/chaoss", - "followers_url": "https://api.github.com/users/chaoss/followers", - "following_url": "https://api.github.com/users/chaoss/following{/other_user}", - "gists_url": "https://api.github.com/users/chaoss/gists{/gist_id}", - "starred_url": "https://api.github.com/users/chaoss/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/chaoss/subscriptions", - "organizations_url": "https://api.github.com/users/chaoss/orgs", - "repos_url": "https://api.github.com/users/chaoss/repos", - "events_url": "https://api.github.com/users/chaoss/events{/privacy}", - "received_events_url": "https://api.github.com/users/chaoss/received_events", - "type": "Organization", - "site_admin": false - }, - "repo": { - "id": 78134122, - "node_id": "MDEwOlJlcG9zaXRvcnk3ODEzNDEyMg==", - "name": "augur", - "full_name": "chaoss/augur", - "private": false, - "owner": { - "login": "chaoss", - "id": 29740296, - "node_id": "MDEyOk9yZ2FuaXphdGlvbjI5NzQwMjk2", - "avatar_url": "https://avatars2.githubusercontent.com/u/29740296?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/chaoss", - "html_url": "https://github.com/chaoss", - "followers_url": "https://api.github.com/users/chaoss/followers", - "following_url": "https://api.github.com/users/chaoss/following{/other_user}", - "gists_url": "https://api.github.com/users/chaoss/gists{/gist_id}", - "starred_url": "https://api.github.com/users/chaoss/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/chaoss/subscriptions", - "organizations_url": "https://api.github.com/users/chaoss/orgs", - "repos_url": "https://api.github.com/users/chaoss/repos", - "events_url": "https://api.github.com/users/chaoss/events{/privacy}", - "received_events_url": "https://api.github.com/users/chaoss/received_events", - "type": "Organization", - "site_admin": false - }, - "html_url": "https://github.com/chaoss/augur", - "description": "Python library and web service for Open Source Software Health and Sustainability metrics & data collection.", - "fork": false, - "url": "https://api.github.com/repos/chaoss/augur", - "forks_url": "https://api.github.com/repos/chaoss/augur/forks", - "keys_url": "https://api.github.com/repos/chaoss/augur/keys{/key_id}", - "collaborators_url": "https://api.github.com/repos/chaoss/augur/collaborators{/collaborator}", - "teams_url": "https://api.github.com/repos/chaoss/augur/teams", - "hooks_url": "https://api.github.com/repos/chaoss/augur/hooks", - "issue_events_url": "https://api.github.com/repos/chaoss/augur/issues/events{/number}", - "events_url": "https://api.github.com/repos/chaoss/augur/events", - "assignees_url": "https://api.github.com/repos/chaoss/augur/assignees{/user}", - "branches_url": "https://api.github.com/repos/chaoss/augur/branches{/branch}", - "tags_url": "https://api.github.com/repos/chaoss/augur/tags", - "blobs_url": "https://api.github.com/repos/chaoss/augur/git/blobs{/sha}", - "git_tags_url": "https://api.github.com/repos/chaoss/augur/git/tags{/sha}", - "git_refs_url": "https://api.github.com/repos/chaoss/augur/git/refs{/sha}", - "trees_url": "https://api.github.com/repos/chaoss/augur/git/trees{/sha}", - "statuses_url": "https://api.github.com/repos/chaoss/augur/statuses/{sha}", - "languages_url": "https://api.github.com/repos/chaoss/augur/languages", - "stargazers_url": "https://api.github.com/repos/chaoss/augur/stargazers", - "contributors_url": "https://api.github.com/repos/chaoss/augur/contributors", - "subscribers_url": "https://api.github.com/repos/chaoss/augur/subscribers", - "subscription_url": "https://api.github.com/repos/chaoss/augur/subscription", - "commits_url": "https://api.github.com/repos/chaoss/augur/commits{/sha}", - "git_commits_url": "https://api.github.com/repos/chaoss/augur/git/commits{/sha}", - "comments_url": "https://api.github.com/repos/chaoss/augur/comments{/number}", - "issue_comment_url": "https://api.github.com/repos/chaoss/augur/issues/comments{/number}", - "contents_url": "https://api.github.com/repos/chaoss/augur/contents/{+path}", - "compare_url": "https://api.github.com/repos/chaoss/augur/compare/{base}...{head}", - "merges_url": "https://api.github.com/repos/chaoss/augur/merges", - "archive_url": "https://api.github.com/repos/chaoss/augur/{archive_format}{/ref}", - "downloads_url": "https://api.github.com/repos/chaoss/augur/downloads", - "issues_url": "https://api.github.com/repos/chaoss/augur/issues{/number}", - "pulls_url": "https://api.github.com/repos/chaoss/augur/pulls{/number}", - "milestones_url": "https://api.github.com/repos/chaoss/augur/milestones{/number}", - "notifications_url": "https://api.github.com/repos/chaoss/augur/notifications{?since,all,participating}", - "labels_url": "https://api.github.com/repos/chaoss/augur/labels{/name}", - "releases_url": "https://api.github.com/repos/chaoss/augur/releases{/id}", - "deployments_url": "https://api.github.com/repos/chaoss/augur/deployments", - "created_at": "2017-01-05T17:34:54Z", - "updated_at": "2019-11-15T00:56:12Z", - "pushed_at": "2019-12-02T06:27:26Z", - "git_url": "git://github.com/chaoss/augur.git", - "ssh_url": "git@github.com:chaoss/augur.git", - "clone_url": "https://github.com/chaoss/augur.git", - "svn_url": "https://github.com/chaoss/augur", - "homepage": "http://augur.osshealth.io/", - "size": 82004, - "stargazers_count": 153, - "watchers_count": 153, - "language": "Python", - "has_issues": true, - "has_projects": false, - "has_downloads": true, - "has_wiki": false, - "has_pages": true, - "forks_count": 205, - "mirror_url": null, - "archived": false, - "disabled": false, - "open_issues_count": 14, - "license": { - "key": "mit", - "name": "MIT License", - "spdx_id": "MIT", - "url": "https://api.github.com/licenses/mit", - "node_id": "MDc6TGljZW5zZTEz" - }, - "forks": 205, - "open_issues": 14, - "watchers": 153, - "default_branch": "master" - } - }, - "base": { - "label": "chaoss:dev", - "ref": "dev", - "sha": "bfd2d34b51659613dd842cf83c3873f7699c2a0e", - "user": { - "login": "chaoss", - "id": 29740296, - "node_id": "MDEyOk9yZ2FuaXphdGlvbjI5NzQwMjk2", - "avatar_url": "https://avatars2.githubusercontent.com/u/29740296?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/chaoss", - "html_url": "https://github.com/chaoss", - "followers_url": "https://api.github.com/users/chaoss/followers", - "following_url": "https://api.github.com/users/chaoss/following{/other_user}", - "gists_url": "https://api.github.com/users/chaoss/gists{/gist_id}", - "starred_url": "https://api.github.com/users/chaoss/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/chaoss/subscriptions", - "organizations_url": "https://api.github.com/users/chaoss/orgs", - "repos_url": "https://api.github.com/users/chaoss/repos", - "events_url": "https://api.github.com/users/chaoss/events{/privacy}", - "received_events_url": "https://api.github.com/users/chaoss/received_events", - "type": "Organization", - "site_admin": false - }, - "repo": { - "id": 78134122, - "node_id": "MDEwOlJlcG9zaXRvcnk3ODEzNDEyMg==", - "name": "augur", - "full_name": "chaoss/augur", - "private": false, - "owner": { - "login": "chaoss", - "id": 29740296, - "node_id": "MDEyOk9yZ2FuaXphdGlvbjI5NzQwMjk2", - "avatar_url": "https://avatars2.githubusercontent.com/u/29740296?v=4", - "gravatar_id": "", - "url": "https://api.github.com/users/chaoss", - "html_url": "https://github.com/chaoss", - "followers_url": "https://api.github.com/users/chaoss/followers", - "following_url": "https://api.github.com/users/chaoss/following{/other_user}", - "gists_url": "https://api.github.com/users/chaoss/gists{/gist_id}", - "starred_url": "https://api.github.com/users/chaoss/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/chaoss/subscriptions", - "organizations_url": "https://api.github.com/users/chaoss/orgs", - "repos_url": "https://api.github.com/users/chaoss/repos", - "events_url": "https://api.github.com/users/chaoss/events{/privacy}", - "received_events_url": "https://api.github.com/users/chaoss/received_events", - "type": "Organization", - "site_admin": false - }, -'; -COMMENT ON TABLE "augur_data"."pull_request_meta" IS 'Pull requests contain referencing metadata. There are a few columns that are discrete. There are also head and base designations for the repo on each side of the pull request. Similar functions exist in GitLab, though the language here is based on GitHub. The JSON Being adapted to as of the development of this schema is here: "base": { "label": "chaoss:dev", "ref": "dev", "sha": "dc6c6f3947f7dc84ecba3d8bda641ef786e7027d", "user": { "login": "chaoss", "id": 29740296, "node_id": "MDEyOk9yZ2FuaXphdGlvbjI5NzQwMjk2", "avatar_url": "https://avatars2.githubusercontent.com/u/29740296?v=4", "gravatar_id": "", "url": "https://api.github.com/users/chaoss", "html_url": "https://github.com/chaoss", "followers_url": "https://api.github.com/users/chaoss/followers", "following_url": "https://api.github.com/users/chaoss/following{/other_user}", "gists_url": "https://api.github.com/users/chaoss/gists{/gist_id}", "starred_url": "https://api.github.com/users/chaoss/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/chaoss/subscriptions", "organizations_url": "https://api.github.com/users/chaoss/orgs", "repos_url": "https://api.github.com/users/chaoss/repos", "events_url": "https://api.github.com/users/chaoss/events{/privacy}", "received_events_url": "https://api.github.com/users/chaoss/received_events", "type": "Organization", "site_admin": false }, "repo": { "id": 78134122, "node_id": "MDEwOlJlcG9zaXRvcnk3ODEzNDEyMg==", "name": "augur", "full_name": "chaoss/augur", "private": false, "owner": { "login": "chaoss", "id": 29740296, "node_id": "MDEyOk9yZ2FuaXphdGlvbjI5NzQwMjk2", "avatar_url": "https://avatars2.githubusercontent.com/u/29740296?v=4", "gravatar_id": "", "url": "https://api.github.com/users/chaoss", "html_url": "https://github.com/chaoss", "followers_url": "https://api.github.com/users/chaoss/followers", "following_url": "https://api.github.com/users/chaoss/following{/other_user}", "gists_url": "https://api.github.com/users/chaoss/gists{/gist_id}", "starred_url": "https://api.github.com/users/chaoss/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/chaoss/subscriptions", "organizations_url": "https://api.github.com/users/chaoss/orgs", "repos_url": "https://api.github.com/users/chaoss/repos", "events_url": "https://api.github.com/users/chaoss/events{/privacy}", "received_events_url": "https://api.github.com/users/chaoss/received_events", "type": "Organization", "site_admin": false }, '; - -CREATE TABLE IF NOT EXISTS "augur_data"."pull_request_repo" ( - "pr_repo_id" int8 NOT NULL DEFAULT nextval('"augur_data".pull_request_repo_pr_repo_id_seq'::regclass), - "pr_repo_meta_id" int8, - "pr_repo_head_or_base" varchar COLLATE "pg_catalog"."default", - "pr_src_repo_id" int8, - "pr_src_node_id" varchar COLLATE "pg_catalog"."default", - "pr_repo_name" varchar COLLATE "pg_catalog"."default", - "pr_repo_full_name" varchar COLLATE "pg_catalog"."default", - "pr_repo_private_bool" bool, - "pr_cntrb_id" int8, - "tool_source" varchar(255) COLLATE "pg_catalog"."default", - "tool_version" varchar(255) COLLATE "pg_catalog"."default", - "data_source" varchar(255) COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0) DEFAULT CURRENT_TIMESTAMP, - CONSTRAINT "pull_request_repo_pkey" PRIMARY KEY ("pr_repo_id") -); -ALTER TABLE IF EXISTS "augur_data"."pull_request_repo" OWNER TO "augur"; -CREATE INDEX "pr-cntrb-idx-repo" ON "augur_data"."pull_request_repo" USING btree ( - "pr_cntrb_id" "pg_catalog"."int8_ops" ASC NULLS LAST -); -COMMENT ON COLUMN "augur_data"."pull_request_repo"."pr_repo_head_or_base" IS 'For ease of validation checking, we should determine if the repository referenced is the head or base of the pull request. Each pull request should have one and only one of these, which is not enforcable easily in the database.'; -COMMENT ON TABLE "augur_data"."pull_request_repo" IS 'This table is for storing information about forks that exist as part of a pull request. Generally we do not want to track these like ordinary repositories. '; - -CREATE TABLE IF NOT EXISTS "augur_data"."pull_request_reviewers" ( - "pr_reviewer_map_id" int8 NOT NULL DEFAULT nextval('"augur_data".pull_request_reviewers_pr_reviewer_map_id_seq'::regclass), - "pull_request_id" int8, - "cntrb_id" int8, - "tool_source" varchar(255) COLLATE "pg_catalog"."default", - "tool_version" varchar(255) COLLATE "pg_catalog"."default", - "data_source" varchar(255) COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0) DEFAULT CURRENT_TIMESTAMP, - CONSTRAINT "pull_request_reviewers_pkey" PRIMARY KEY ("pr_reviewer_map_id") -); -ALTER TABLE IF EXISTS "augur_data"."pull_request_reviewers" OWNER TO "augur"; -CREATE INDEX "pr-reviewers-cntrb-idx1" ON "augur_data"."pull_request_reviewers" USING btree ( - "cntrb_id" "pg_catalog"."int8_ops" ASC NULLS LAST -); - -CREATE TABLE IF NOT EXISTS "augur_data"."pull_request_teams" ( - "pr_team_id" int8 NOT NULL DEFAULT nextval('"augur_data".pull_request_teams_pr_team_id_seq'::regclass), - "pull_request_id" int8, - "pr_src_team_id" int8, - "pr_src_team_node" varchar COLLATE "pg_catalog"."default", - "pr_src_team_url" varchar COLLATE "pg_catalog"."default", - "pr_team_name" varchar COLLATE "pg_catalog"."default", - "pr_team_slug" varchar COLLATE "pg_catalog"."default", - "pr_team_description" varchar COLLATE "pg_catalog"."default", - "pr_team_privacy" varchar COLLATE "pg_catalog"."default", - "pr_team_permission" varchar COLLATE "pg_catalog"."default", - "pr_team_src_members_url" varchar COLLATE "pg_catalog"."default", - "pr_team_src_repositories_url" varchar COLLATE "pg_catalog"."default", - "pr_team_parent_id" int8, - "tool_source" varchar(255) COLLATE "pg_catalog"."default", - "tool_version" varchar(255) COLLATE "pg_catalog"."default", - "data_source" varchar(255) COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0) DEFAULT CURRENT_TIMESTAMP, - CONSTRAINT "pull_request_teams_pkey" PRIMARY KEY ("pr_team_id") -); -ALTER TABLE IF EXISTS "augur_data"."pull_request_teams" OWNER TO "augur"; - -CREATE TABLE IF NOT EXISTS "augur_data"."pull_requests" ( - "pull_request_id" int8 NOT NULL DEFAULT nextval('"augur_data".pull_requests_pull_request_id_seq'::regclass), - "pr_url" varchar COLLATE "pg_catalog"."default", - "pr_src_id" int8, - "pr_src_node_id" varchar COLLATE "pg_catalog"."default", - "pr_html_url" varchar COLLATE "pg_catalog"."default", - "pr_diff_url" varchar COLLATE "pg_catalog"."default", - "pr_patch_url" varchar COLLATE "pg_catalog"."default", - "pr_issue_url" varchar COLLATE "pg_catalog"."default", - "pr_augur_issue_id" int8, - "pr_src_number" int8, - "pr_src_state" varchar COLLATE "pg_catalog"."default", - "pr_src_locked" bool, - "pr_src_title" varchar COLLATE "pg_catalog"."default", - "pr_augur_contributor_id" int8, - "pr_body" text COLLATE "pg_catalog"."default", - "pr_created_at" timestamp(0), - "pr_updated_at" timestamp(0), - "pr_closed_at" timestamp(0), - "pr_merged_at" timestamp(0), - "pr_merge_commit_sha" varchar COLLATE "pg_catalog"."default", - "pr_teams" int8, - "pr_milestone" varchar COLLATE "pg_catalog"."default", - "pr_commits_url" varchar COLLATE "pg_catalog"."default", - "pr_review_comments_url" varchar COLLATE "pg_catalog"."default", - "pr_review_comment_url" varchar COLLATE "pg_catalog"."default", - "pr_comments_url" varchar COLLATE "pg_catalog"."default", - "pr_statuses_url" varchar COLLATE "pg_catalog"."default", - "pr_meta_head_id" int8, - "pr_meta_base_id" int8, - "pr_src_issue_url" varchar COLLATE "pg_catalog"."default", - "pr_src_comments_url" varchar COLLATE "pg_catalog"."default", - "pr_src_review_comments_url" varchar COLLATE "pg_catalog"."default", - "pr_src_commits_url" varchar COLLATE "pg_catalog"."default", - "pr_src_statuses_url" varchar COLLATE "pg_catalog"."default", - "pr_src_author_association" varchar COLLATE "pg_catalog"."default", - "tool_source" varchar(255) COLLATE "pg_catalog"."default", - "tool_version" varchar(255) COLLATE "pg_catalog"."default", - "data_source" varchar(255) COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0) DEFAULT CURRENT_TIMESTAMP, - "repo_id" int8, - CONSTRAINT "pull_requests_pkey" PRIMARY KEY ("pull_request_id") -); -ALTER TABLE IF EXISTS "augur_data"."pull_requests" OWNER TO "augur"; -CREATE INDEX "id_node" ON "augur_data"."pull_requests" USING btree ( - "pr_src_id" "pg_catalog"."int8_ops" DESC NULLS FIRST, - "pr_src_node_id" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" DESC NULLS LAST -); -COMMENT ON COLUMN "augur_data"."pull_requests"."pr_src_id" IS 'The pr_src_id is unique across all of github.'; -COMMENT ON COLUMN "augur_data"."pull_requests"."pr_augur_issue_id" IS 'This is to link to the augur stored related issue'; -COMMENT ON COLUMN "augur_data"."pull_requests"."pr_src_number" IS 'The pr_src_number is unique within a repository.'; -COMMENT ON COLUMN "augur_data"."pull_requests"."pr_augur_contributor_id" IS 'This is to link to the augur contributor record. '; -COMMENT ON COLUMN "augur_data"."pull_requests"."pr_teams" IS 'One to many with pull request teams. '; -COMMENT ON COLUMN "augur_data"."pull_requests"."pr_review_comment_url" IS 'This is a field with limited utility. It does expose how to access a specific comment if needed with parameters. If the source changes URL structure, it may be useful'; -COMMENT ON COLUMN "augur_data"."pull_requests"."pr_meta_head_id" IS 'The metadata for the head repo that links to the pull_request_meta table. '; -COMMENT ON COLUMN "augur_data"."pull_requests"."pr_meta_base_id" IS 'The metadata for the base repo that links to the pull_request_meta table. '; - -CREATE TABLE IF NOT EXISTS "augur_data"."releases" ( - "release_id" char(64) COLLATE "pg_catalog"."default" NOT NULL DEFAULT nextval('"augur_data".releases_release_id_seq'::regclass), - "repo_id" int8 NOT NULL, - "release_name" varchar(255) COLLATE "pg_catalog"."default", - "release_description" varchar COLLATE "pg_catalog"."default", - "release_author" varchar(255) COLLATE "pg_catalog"."default", - "release_created_at" timestamp(6), - "release_published_at" timestamp(6), - "release_updated_at" timestamp(6), - "release_is_draft" bool, - "release_is_prerelease" bool, - "release_tag_name" varchar(255) COLLATE "pg_catalog"."default", - "release_url" varchar(255) COLLATE "pg_catalog"."default", - "tool_source" varchar(255) COLLATE "pg_catalog"."default", - "tool_version" varchar(255) COLLATE "pg_catalog"."default", - "data_source" varchar(255) COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(6) DEFAULT CURRENT_TIMESTAMP, - "tag_only" bool, - CONSTRAINT "releases_pkey" PRIMARY KEY ("release_id") -); -ALTER TABLE IF EXISTS "augur_data"."releases" OWNER TO "augur"; - -CREATE TABLE IF NOT EXISTS "augur_data"."repo" ( - "repo_id" int8 NOT NULL DEFAULT nextval('"augur_data".repo_repo_id_seq'::regclass), - "repo_group_id" int8 NOT NULL, - "repo_git" varchar COLLATE "pg_catalog"."default" NOT NULL, - "repo_path" varchar(256) COLLATE "pg_catalog"."default" DEFAULT 'NULL'::character varying, - "repo_name" varchar COLLATE "pg_catalog"."default" DEFAULT 'NULL'::character varying, - "repo_added" timestamp(0) NOT NULL DEFAULT CURRENT_TIMESTAMP, - "repo_status" varchar(32) COLLATE "pg_catalog"."default" NOT NULL DEFAULT 'New'::character varying, - "repo_type" varchar COLLATE "pg_catalog"."default" DEFAULT ''::character varying, - "url" varchar(255) COLLATE "pg_catalog"."default", - "owner_id" int4, - "description" varchar COLLATE "pg_catalog"."default", - "primary_language" varchar(255) COLLATE "pg_catalog"."default", - "created_at" varchar(255) COLLATE "pg_catalog"."default", - "forked_from" varchar COLLATE "pg_catalog"."default", - "updated_at" timestamp(0), - "tool_source" varchar(255) COLLATE "pg_catalog"."default", - "tool_version" varchar(255) COLLATE "pg_catalog"."default", - "data_source" varchar(255) COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0), - "repo_archived" int4, - "repo_archived_date_collected" timestamptz(0), - CONSTRAINT "repounique" PRIMARY KEY ("repo_id") -); -ALTER TABLE IF EXISTS "augur_data"."repo" OWNER TO "augur"; -CREATE INDEX "forked" ON "augur_data"."repo" USING btree ( - "forked_from" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); -CREATE INDEX "repogitindexrep" ON "augur_data"."repo" USING btree ( - "repo_git" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); -CREATE INDEX "reponameindex" ON "augur_data"."repo" USING hash ( - "repo_name" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" -); -CREATE INDEX "reponameindexbtree" ON "augur_data"."repo" USING btree ( - "repo_name" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); -CREATE INDEX "rggrouponrepoindex" ON "augur_data"."repo" USING btree ( - "repo_group_id" "pg_catalog"."int8_ops" ASC NULLS LAST -); -CREATE UNIQUE INDEX "therepo" ON "augur_data"."repo" USING btree ( - "repo_id" "pg_catalog"."int8_ops" ASC NULLS LAST -); -COMMENT ON COLUMN "augur_data"."repo"."repo_type" IS 'This field is intended to indicate if the repository is the "main instance" of a repository in cases where implementations choose to add the same repository to more than one repository group. In cases where the repository group is of rg_type Github Organization then this repo_type should be "primary". In other cases the repo_type should probably be "user created". We made this a varchar in order to hold open the possibility that there are additional repo_types we have not thought about. '; -COMMENT ON TABLE "augur_data"."repo" IS 'This table is a combination of the columns in Facade’s repo table and GHTorrent’s projects table. '; - -CREATE TABLE IF NOT EXISTS "augur_data"."repo_badging" ( - "badge_collection_id" int8 NOT NULL DEFAULT nextval('"augur_data".repo_badging_badge_collection_id_seq'::regclass), - "repo_id" int8, - "created_at" timestamp(0) DEFAULT CURRENT_TIMESTAMP, - "tool_source" varchar(255) COLLATE "pg_catalog"."default", - "tool_version" varchar(255) COLLATE "pg_catalog"."default", - "data_source" varchar(255) COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0) DEFAULT CURRENT_TIMESTAMP, - "data" jsonb, - CONSTRAINT "repo_badging_pkey" PRIMARY KEY ("badge_collection_id") -); -ALTER TABLE IF EXISTS "augur_data"."repo_badging" OWNER TO "augur"; -COMMENT ON TABLE "augur_data"."repo_badging" IS 'This will be collected from the LF’s Badging API -https://bestpractices.coreinfrastructure.org/projects.json?pq=https%3A%2F%2Fgithub.com%2Fchaoss%2Faugur -'; - -CREATE TABLE IF NOT EXISTS "augur_data"."repo_cluster_messages" ( - "msg_cluster_id" int8 NOT NULL DEFAULT nextval('"augur_data".repo_cluster_messages_msg_cluster_id_seq'::regclass), - "repo_id" int8, - "cluster_content" int4, - "cluster_mechanism" int4, - "tool_source" varchar COLLATE "pg_catalog"."default", - "tool_version" varchar COLLATE "pg_catalog"."default", - "data_source" varchar COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0) DEFAULT CURRENT_TIMESTAMP, - CONSTRAINT "repo_cluster_messages_pkey" PRIMARY KEY ("msg_cluster_id") -); -ALTER TABLE IF EXISTS "augur_data"."repo_cluster_messages" OWNER TO "augur"; - -CREATE TABLE IF NOT EXISTS "augur_data"."repo_group_insights" ( - "rgi_id" int8 NOT NULL DEFAULT nextval('"augur_data".repo_group_insights_rgi_id_seq'::regclass), - "repo_group_id" int8, - "rgi_metric" varchar COLLATE "pg_catalog"."default", - "rgi_value" varchar COLLATE "pg_catalog"."default", - "cms_id" int8, - "rgi_fresh" bool, - "tool_source" varchar COLLATE "pg_catalog"."default", - "tool_version" varchar COLLATE "pg_catalog"."default", - "data_source" varchar COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0) DEFAULT CURRENT_TIMESTAMP, - CONSTRAINT "repo_group_insights_pkey" PRIMARY KEY ("rgi_id") -); -ALTER TABLE IF EXISTS "augur_data"."repo_group_insights" OWNER TO "augur"; -COMMENT ON COLUMN "augur_data"."repo_group_insights"."rgi_fresh" IS 'false if the date is before the statistic that triggered the insight, true if after. This allows us to automatically display only "fresh insights" and avoid displaying "stale insights". The insight worker will populate this table. '; -COMMENT ON TABLE "augur_data"."repo_group_insights" IS 'This table is output from an analytical worker inside of Augur. It runs through the different metrics on a REPOSITORY_GROUP and identifies the five to ten most “interesting” metrics as defined by some kind of delta or other factor. The algorithm is going to evolve. - -Worker Design Notes: The idea is that the "insight worker" will scan through a bunch of active metrics or "synthetic metrics" to list the most important insights. '; - -CREATE TABLE IF NOT EXISTS "augur_data"."repo_groups" ( - "repo_group_id" int8 NOT NULL DEFAULT nextval('"augur_data".repo_groups_repo_group_id_seq'::regclass), - "rg_name" varchar COLLATE "pg_catalog"."default" NOT NULL, - "rg_description" varchar COLLATE "pg_catalog"."default" DEFAULT 'NULL'::character varying, - "rg_website" varchar(128) COLLATE "pg_catalog"."default" DEFAULT 'NULL'::character varying, - "rg_recache" int2 DEFAULT 1, - "rg_last_modified" timestamp(0) NOT NULL DEFAULT CURRENT_TIMESTAMP, - "rg_type" varchar COLLATE "pg_catalog"."default", - "tool_source" varchar(255) COLLATE "pg_catalog"."default", - "tool_version" varchar(255) COLLATE "pg_catalog"."default", - "data_source" varchar(255) COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0), - CONSTRAINT "rgid" PRIMARY KEY ("repo_group_id") -); -ALTER TABLE IF EXISTS "augur_data"."repo_groups" OWNER TO "augur"; -CREATE UNIQUE INDEX "rgidm" ON "augur_data"."repo_groups" USING btree ( - "repo_group_id" "pg_catalog"."int8_ops" ASC NULLS LAST -); -CREATE INDEX "rgnameindex" ON "augur_data"."repo_groups" USING btree ( - "rg_name" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); -COMMENT ON TABLE "augur_data"."repo_groups" IS 'rg_type is intended to be either a GitHub Organization or a User Created Repo Group. '; - -CREATE TABLE IF NOT EXISTS "augur_data"."repo_groups_list_serve" ( - "rgls_id" int8 NOT NULL DEFAULT nextval('"augur_data".repo_groups_list_serve_rgls_id_seq'::regclass), - "repo_group_id" int8 NOT NULL, - "rgls_name" varchar(255) COLLATE "pg_catalog"."default", - "rgls_description" varchar(3000) COLLATE "pg_catalog"."default", - "rgls_sponsor" varchar(255) COLLATE "pg_catalog"."default", - "rgls_email" varchar(255) COLLATE "pg_catalog"."default", - "tool_source" varchar(255) COLLATE "pg_catalog"."default", - "tool_version" varchar(255) COLLATE "pg_catalog"."default", - "data_source" varchar(255) COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0), - CONSTRAINT "repo_groups_list_serve_pkey" PRIMARY KEY ("rgls_id"), - CONSTRAINT "rglistserve" UNIQUE ("rgls_id", "repo_group_id") -); -ALTER TABLE IF EXISTS "augur_data"."repo_groups_list_serve" OWNER TO "augur"; -CREATE UNIQUE INDEX "lister" ON "augur_data"."repo_groups_list_serve" USING btree ( - "rgls_id" "pg_catalog"."int8_ops" ASC NULLS LAST, - "repo_group_id" "pg_catalog"."int8_ops" ASC NULLS LAST -); - -CREATE TABLE IF NOT EXISTS "augur_data"."repo_info" ( - "repo_info_id" int8 NOT NULL DEFAULT nextval('"augur_data".repo_info_repo_info_id_seq'::regclass), - "repo_id" int8 NOT NULL, - "last_updated" timestamp(0) DEFAULT NULL::timestamp without time zone, - "issues_enabled" varchar(255) COLLATE "pg_catalog"."default" DEFAULT NULL::character varying, - "open_issues" int4, - "pull_requests_enabled" varchar(255) COLLATE "pg_catalog"."default" DEFAULT NULL::character varying, - "wiki_enabled" varchar(255) COLLATE "pg_catalog"."default" DEFAULT NULL::character varying, - "pages_enabled" varchar(255) COLLATE "pg_catalog"."default" DEFAULT NULL::character varying, - "fork_count" int4, - "default_branch" varchar(255) COLLATE "pg_catalog"."default" DEFAULT NULL::character varying, - "watchers_count" int4, - "UUID" int4, - "license" varchar(255) COLLATE "pg_catalog"."default" DEFAULT NULL::character varying, - "stars_count" int4, - "committers_count" int4, - "issue_contributors_count" varchar(255) COLLATE "pg_catalog"."default", - "changelog_file" varchar(255) COLLATE "pg_catalog"."default" DEFAULT NULL::character varying, - "contributing_file" varchar(255) COLLATE "pg_catalog"."default" DEFAULT NULL::character varying, - "license_file" varchar(255) COLLATE "pg_catalog"."default" DEFAULT NULL::character varying, - "code_of_conduct_file" varchar(255) COLLATE "pg_catalog"."default" DEFAULT NULL::character varying, - "security_issue_file" varchar(255) COLLATE "pg_catalog"."default" DEFAULT NULL::character varying, - "security_audit_file" varchar(255) COLLATE "pg_catalog"."default" DEFAULT NULL::character varying, - "status" varchar(255) COLLATE "pg_catalog"."default" DEFAULT NULL::character varying, - "keywords" varchar(255) COLLATE "pg_catalog"."default" DEFAULT NULL::character varying, - "tool_source" varchar(255) COLLATE "pg_catalog"."default", - "tool_version" varchar(255) COLLATE "pg_catalog"."default", - "data_source" varchar(255) COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0) DEFAULT CURRENT_TIMESTAMP, - "commit_count" int8, - "issues_count" int8, - "issues_closed" int8, - "pull_request_count" int8, - "pull_requests_open" int8, - "pull_requests_closed" int8, - "pull_requests_merged" int8, - CONSTRAINT "repo_info_pkey" PRIMARY KEY ("repo_info_id") -); -ALTER TABLE IF EXISTS "augur_data"."repo_info" OWNER TO "augur"; - -CREATE TABLE IF NOT EXISTS "augur_data"."repo_insights" ( - "ri_id" int8 NOT NULL DEFAULT nextval('"augur_data".repo_insights_ri_id_seq'::regclass), - "repo_id" int8, - "ri_metric" varchar COLLATE "pg_catalog"."default", - "ri_value" varchar(255) COLLATE "pg_catalog"."default", - "ri_date" timestamp(0), - "ri_fresh" bool, - "tool_source" varchar COLLATE "pg_catalog"."default", - "tool_version" varchar COLLATE "pg_catalog"."default", - "data_source" varchar COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0) DEFAULT CURRENT_TIMESTAMP, - "ri_score" numeric, - "ri_field" varchar(255) COLLATE "pg_catalog"."default", - "ri_detection_method" varchar(255) COLLATE "pg_catalog"."default", - CONSTRAINT "repo_insights_pkey" PRIMARY KEY ("ri_id") -); -ALTER TABLE IF EXISTS "augur_data"."repo_insights" OWNER TO "augur"; -COMMENT ON COLUMN "augur_data"."repo_insights"."ri_fresh" IS 'false if the date is before the statistic that triggered the insight, true if after. This allows us to automatically display only "fresh insights" and avoid displaying "stale insights". The insight worker will populate this table. '; -COMMENT ON TABLE "augur_data"."repo_insights" IS 'This table is output from an analytical worker inside of Augur. It runs through the different metrics on a repository and identifies the five to ten most “interesting” metrics as defined by some kind of delta or other factor. The algorithm is going to evolve. - -Worker Design Notes: The idea is that the "insight worker" will scan through a bunch of active metrics or "synthetic metrics" to list the most important insights. '; - -CREATE TABLE IF NOT EXISTS "augur_data"."repo_insights_records" ( - "ri_id" int8 NOT NULL DEFAULT nextval('"augur_data".repo_insights_records_ri_id_seq'::regclass), - "repo_id" int8, - "ri_metric" varchar COLLATE "pg_catalog"."default", - "ri_field" varchar COLLATE "pg_catalog"."default", - "ri_value" varchar COLLATE "pg_catalog"."default", - "ri_date" timestamp(6), - "ri_score" float8, - "ri_detection_method" varchar COLLATE "pg_catalog"."default", - "tool_source" varchar COLLATE "pg_catalog"."default", - "tool_version" varchar COLLATE "pg_catalog"."default", - "data_source" varchar COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(6) DEFAULT CURRENT_TIMESTAMP, - CONSTRAINT "repo_insights_records_pkey" PRIMARY KEY ("ri_id") -); -ALTER TABLE IF EXISTS "augur_data"."repo_insights_records" OWNER TO "augur"; -CREATE INDEX "dater" ON "augur_data"."repo_insights_records" USING btree ( - "ri_date" "pg_catalog"."timestamp_ops" ASC NULLS LAST -); -COMMENT ON COLUMN "augur_data"."repo_insights_records"."ri_id" IS 'Primary key. '; -COMMENT ON COLUMN "augur_data"."repo_insights_records"."repo_id" IS 'Refers to repo table primary key. Will have a foreign key'; -COMMENT ON COLUMN "augur_data"."repo_insights_records"."ri_metric" IS 'The metric endpoint'; -COMMENT ON COLUMN "augur_data"."repo_insights_records"."ri_field" IS 'The field in the metric endpoint'; -COMMENT ON COLUMN "augur_data"."repo_insights_records"."ri_value" IS 'The value of the endpoint in ri_field'; -COMMENT ON COLUMN "augur_data"."repo_insights_records"."ri_date" IS 'The date the insight is for; in other words, some anomaly occurred on this date. '; -COMMENT ON COLUMN "augur_data"."repo_insights_records"."ri_score" IS 'A Score, derived from the algorithm used. '; -COMMENT ON COLUMN "augur_data"."repo_insights_records"."ri_detection_method" IS 'A confidence interval or other expression of the type of threshold and the value of a threshold met in order for it to be "an insight". Example. "95% confidence interval". '; -COMMENT ON COLUMN "augur_data"."repo_insights_records"."tool_source" IS 'Standard Augur Metadata'; -COMMENT ON COLUMN "augur_data"."repo_insights_records"."tool_version" IS 'Standard Augur Metadata'; -COMMENT ON COLUMN "augur_data"."repo_insights_records"."data_source" IS 'Standard Augur Metadata'; -COMMENT ON COLUMN "augur_data"."repo_insights_records"."data_collection_date" IS 'Standard Augur Metadata'; - -CREATE TABLE IF NOT EXISTS "augur_data"."repo_labor" ( - "repo_labor_id" int8 NOT NULL DEFAULT nextval('"augur_data".repo_labor_repo_labor_id_seq'::regclass), - "repo_id" int8, - "repo_clone_date" timestamp(0), - "rl_analysis_date" timestamp(0), - "programming_language" varchar(255) COLLATE "pg_catalog"."default" DEFAULT NULL::character varying, - "file_path" varchar(500) COLLATE "pg_catalog"."default" DEFAULT NULL::character varying, - "file_name" varchar(255) COLLATE "pg_catalog"."default" DEFAULT NULL::character varying, - "total_lines" int4, - "code_lines" int4, - "comment_lines" int4, - "blank_lines" int4, - "code_complexity" int4, - "repo_url" varchar(500) COLLATE "pg_catalog"."default" DEFAULT NULL::character varying, - "tool_source" varchar(255) COLLATE "pg_catalog"."default", - "tool_version" varchar(255) COLLATE "pg_catalog"."default", - "data_source" varchar(255) COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0), - CONSTRAINT "repo_labor_pkey" PRIMARY KEY ("repo_labor_id") -); -ALTER TABLE IF EXISTS "augur_data"."repo_labor" OWNER TO "augur"; -COMMENT ON COLUMN "augur_data"."repo_labor"."repo_url" IS 'This is a convenience column to simplify analysis against external datasets'; -COMMENT ON TABLE "augur_data"."repo_labor" IS 'repo_labor is a derivative of tables used to store scc code and complexity counting statistics that are inputs to labor analysis, which are components of CHAOSS value metric calculations. '; - -CREATE TABLE IF NOT EXISTS "augur_data"."repo_meta" ( - "repo_id" int8 NOT NULL, - "rmeta_id" int8 NOT NULL DEFAULT nextval('"augur_data".repo_meta_rmeta_id_seq'::regclass), - "rmeta_name" varchar(255) COLLATE "pg_catalog"."default", - "rmeta_value" varchar(255) COLLATE "pg_catalog"."default" DEFAULT 0, - "tool_source" varchar(255) COLLATE "pg_catalog"."default", - "tool_version" varchar(255) COLLATE "pg_catalog"."default", - "data_source" varchar(255) COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0), - CONSTRAINT "repo_meta_pkey" PRIMARY KEY ("rmeta_id", "repo_id") -); -ALTER TABLE IF EXISTS "augur_data"."repo_meta" OWNER TO "augur"; -COMMENT ON TABLE "augur_data"."repo_meta" IS 'Project Languages'; - -CREATE TABLE IF NOT EXISTS "augur_data"."repo_sbom_scans" ( - "rsb_id" int8 NOT NULL DEFAULT nextval('"augur_data".repo_sbom_scans_rsb_id_seq'::regclass), - "repo_id" int4, - "sbom_scan" json, - CONSTRAINT "repo_sbom_scans_pkey" PRIMARY KEY ("rsb_id") -); -ALTER TABLE IF EXISTS "augur_data"."repo_sbom_scans" OWNER TO "augur"; - -CREATE TABLE IF NOT EXISTS "augur_data"."repo_stats" ( - "repo_id" int8 NOT NULL, - "rstat_id" int8 NOT NULL DEFAULT nextval('"augur_data".repo_stats_rstat_id_seq'::regclass), - "rstat_name" varchar(400) COLLATE "pg_catalog"."default", - "rstat_value" int8, - "tool_source" varchar(255) COLLATE "pg_catalog"."default", - "tool_version" varchar(255) COLLATE "pg_catalog"."default", - "data_source" varchar(255) COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0), - CONSTRAINT "repo_stats_pkey" PRIMARY KEY ("rstat_id", "repo_id") -); -ALTER TABLE IF EXISTS "augur_data"."repo_stats" OWNER TO "augur"; -COMMENT ON TABLE "augur_data"."repo_stats" IS 'Project Watchers'; - -CREATE TABLE IF NOT EXISTS "augur_data"."repo_test_coverage" ( - "repo_id" int8 NOT NULL DEFAULT nextval('"augur_data".repo_test_coverage_repo_id_seq'::regclass), - "repo_clone_date" timestamp(0), - "rtc_analysis_date" timestamp(0), - "programming_language" varchar COLLATE "pg_catalog"."default", - "file_path" varchar COLLATE "pg_catalog"."default", - "file_name" varchar COLLATE "pg_catalog"."default", - "testing_tool" varchar COLLATE "pg_catalog"."default", - "file_statement_count" int8, - "file_subroutine_count" int8, - "file_statements_tested" int8, - "file_subroutines_tested" int8, - "tool_source" varchar COLLATE "pg_catalog"."default", - "tool_version" varchar COLLATE "pg_catalog"."default", - "data_source" varchar COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0) DEFAULT CURRENT_TIMESTAMP, - CONSTRAINT "repo_test_coverage_pkey" PRIMARY KEY ("repo_id") -); -ALTER TABLE IF EXISTS "augur_data"."repo_test_coverage" OWNER TO "augur"; - -CREATE TABLE IF NOT EXISTS "augur_data"."repo_topic" ( - "repo_topic_id" int8 NOT NULL DEFAULT nextval('"augur_data".repo_topic_repo_topic_id_seq'::regclass), - "repo_id" int4, - "topic_id" int4, - "topic_prob" float8, - "tool_source" varchar COLLATE "pg_catalog"."default", - "tool_version" varchar COLLATE "pg_catalog"."default", - "data_source" varchar COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0) DEFAULT CURRENT_TIMESTAMP, - CONSTRAINT "repo_topic_pkey" PRIMARY KEY ("repo_topic_id") -); -ALTER TABLE IF EXISTS "augur_data"."repo_topic" OWNER TO "augur"; - -CREATE TABLE IF NOT EXISTS "augur_data"."repos_fetch_log" ( - "repos_id" int4 NOT NULL, - "status" varchar(128) COLLATE "pg_catalog"."default" NOT NULL, - "date" timestamp(0) NOT NULL DEFAULT CURRENT_TIMESTAMP -); -ALTER TABLE IF EXISTS "augur_data"."repos_fetch_log" OWNER TO "augur"; -CREATE INDEX "repos_id,status" ON "augur_data"."repos_fetch_log" USING btree ( - "repos_id" "pg_catalog"."int4_ops" ASC NULLS LAST, - "status" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); -CREATE INDEX "repos_id,statusops" ON "augur_data"."repos_fetch_log" USING btree ( - "repos_id" "pg_catalog"."int4_ops" ASC NULLS LAST, - "status" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); - -CREATE TABLE IF NOT EXISTS "augur_data"."settings" ( - "id" int4 NOT NULL, - "setting" varchar(32) COLLATE "pg_catalog"."default" NOT NULL, - "value" varchar COLLATE "pg_catalog"."default" NOT NULL, - "last_modified" timestamp(0) NOT NULL DEFAULT CURRENT_TIMESTAMP, - CONSTRAINT "settings_pkey" PRIMARY KEY ("id") -); -ALTER TABLE IF EXISTS "augur_data"."settings" OWNER TO "augur"; - -CREATE TABLE IF NOT EXISTS "augur_data"."topic_words" ( - "topic_words_id" int8 NOT NULL DEFAULT nextval('"augur_data".topic_words_topic_words_id_seq'::regclass), - "topic_id" int8, - "word" varchar COLLATE "pg_catalog"."default", - "word_prob" float8, - "tool_source" varchar COLLATE "pg_catalog"."default", - "tool_version" varchar COLLATE "pg_catalog"."default", - "data_source" varchar COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0) DEFAULT CURRENT_TIMESTAMP, - CONSTRAINT "topic_words_pkey" PRIMARY KEY ("topic_words_id") -); -ALTER TABLE IF EXISTS "augur_data"."topic_words" OWNER TO "augur"; - -CREATE TABLE IF NOT EXISTS "augur_data"."unknown_cache" ( - "type" varchar(10) COLLATE "pg_catalog"."default" NOT NULL, - "repo_group_id" int4 NOT NULL, - "email" varchar(128) COLLATE "pg_catalog"."default" NOT NULL, - "domain" varchar(128) COLLATE "pg_catalog"."default" DEFAULT 'NULL'::character varying, - "added" int8 NOT NULL, - "tool_source" varchar(255) COLLATE "pg_catalog"."default", - "tool_version" varchar(255) COLLATE "pg_catalog"."default", - "data_source" varchar(255) COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0) DEFAULT CURRENT_TIMESTAMP -); -ALTER TABLE IF EXISTS "augur_data"."unknown_cache" OWNER TO "augur"; -CREATE INDEX "type,projects_id" ON "augur_data"."unknown_cache" USING btree ( - "type" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST, - "repo_group_id" "pg_catalog"."int4_ops" ASC NULLS LAST -); - -CREATE TABLE IF NOT EXISTS "augur_data"."utility_log" ( - "id" int8 NOT NULL DEFAULT nextval('"augur_data".utility_log_id_seq1'::regclass), - "level" varchar(8) COLLATE "pg_catalog"."default" NOT NULL, - "status" varchar COLLATE "pg_catalog"."default" NOT NULL, - "attempted" timestamp(0) NOT NULL DEFAULT CURRENT_TIMESTAMP, - CONSTRAINT "utility_log_pkey" PRIMARY KEY ("id") -); -ALTER TABLE IF EXISTS "augur_data"."utility_log" OWNER TO "augur"; - -CREATE TABLE IF NOT EXISTS "augur_data"."working_commits" ( - "repos_id" int4 NOT NULL, - "working_commit" varchar(40) COLLATE "pg_catalog"."default" DEFAULT 'NULL'::character varying -); -ALTER TABLE IF EXISTS "augur_data"."working_commits" OWNER TO "augur"; - -CREATE TABLE IF NOT EXISTS "augur_operations"."all" ( - "Name" varchar COLLATE "pg_catalog"."default", - "Bytes" varchar COLLATE "pg_catalog"."default", - "Lines" varchar COLLATE "pg_catalog"."default", - "Code" varchar COLLATE "pg_catalog"."default", - "Comment" varchar COLLATE "pg_catalog"."default", - "Blank" varchar COLLATE "pg_catalog"."default", - "Complexity" varchar COLLATE "pg_catalog"."default", - "Count" varchar COLLATE "pg_catalog"."default", - "WeightedComplexity" varchar COLLATE "pg_catalog"."default", - "Files" varchar COLLATE "pg_catalog"."default" -); -ALTER TABLE IF EXISTS "augur_operations"."all" OWNER TO "augur"; - -CREATE TABLE IF NOT EXISTS "augur_operations"."augur_settings" ( - "id" int8 NOT NULL DEFAULT nextval('"augur_operations".augur_settings_id_seq'::regclass), - "setting" varchar COLLATE "pg_catalog"."default", - "value" varchar COLLATE "pg_catalog"."default", - "last_modified" timestamp(0) DEFAULT CURRENT_DATE, - CONSTRAINT "augur_settings_pkey" PRIMARY KEY ("id") -); -ALTER TABLE IF EXISTS "augur_operations"."augur_settings" OWNER TO "augur"; -COMMENT ON TABLE "augur_operations"."augur_settings" IS 'Augur settings include the schema version, and the Augur API Key as of 10/25/2020. Future augur settings may be stored in this table, which has the basic structure of a name-value pair. '; - -CREATE TABLE IF NOT EXISTS "augur_operations"."repos_fetch_log" ( - "repos_id" int4 NOT NULL, - "status" varchar(128) COLLATE "pg_catalog"."default" NOT NULL, - "date" timestamp(0) NOT NULL DEFAULT CURRENT_TIMESTAMP -); -ALTER TABLE IF EXISTS "augur_operations"."repos_fetch_log" OWNER TO "augur"; -CREATE INDEX "repos_id,statusops" ON "augur_operations"."repos_fetch_log" USING btree ( - "repos_id" "pg_catalog"."int4_ops" ASC NULLS LAST, - "status" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); -COMMENT ON TABLE "augur_operations"."repos_fetch_log" IS 'For future use when we move all working tables to the augur_operations schema. '; - -CREATE TABLE IF NOT EXISTS "augur_operations"."worker_history" ( - "history_id" int8 NOT NULL DEFAULT nextval('"augur_operations".gh_worker_history_history_id_seq'::regclass), - "repo_id" int8, - "worker" varchar(255) COLLATE "pg_catalog"."default" NOT NULL, - "job_model" varchar(255) COLLATE "pg_catalog"."default" NOT NULL, - "oauth_id" int4 NOT NULL, - "timestamp" timestamp(0) NOT NULL, - "status" varchar(7) COLLATE "pg_catalog"."default" NOT NULL, - "total_results" int4, - CONSTRAINT "history_pkey" PRIMARY KEY ("history_id") -); -ALTER TABLE IF EXISTS "augur_operations"."worker_history" OWNER TO "augur"; -COMMENT ON TABLE "augur_operations"."worker_history" IS 'This table stores the complete history of job execution, including success and failure. It is useful for troubleshooting. '; - -CREATE TABLE IF NOT EXISTS "augur_operations"."worker_job" ( - "job_model" varchar(255) COLLATE "pg_catalog"."default" NOT NULL, - "state" int4 NOT NULL DEFAULT 0, - "zombie_head" int4, - "since_id_str" varchar(255) COLLATE "pg_catalog"."default" NOT NULL DEFAULT '0'::character varying, - "description" varchar(255) COLLATE "pg_catalog"."default" DEFAULT 'None'::character varying, - "last_count" int4, - "last_run" timestamp(0) DEFAULT NULL::timestamp without time zone, - "analysis_state" int4 DEFAULT 0, - "oauth_id" int4 NOT NULL, - CONSTRAINT "job_pkey" PRIMARY KEY ("job_model") -); -ALTER TABLE IF EXISTS "augur_operations"."worker_job" OWNER TO "augur"; -COMMENT ON TABLE "augur_operations"."worker_job" IS 'This table stores the jobs workers collect data for. A job is found in the code, and in the augur.config.json under the construct of a “model”. '; - -CREATE TABLE IF NOT EXISTS "augur_operations"."worker_oauth" ( - "oauth_id" int8 NOT NULL DEFAULT nextval('"augur_operations".worker_oauth_oauth_id_seq'::regclass), - "name" varchar(255) COLLATE "pg_catalog"."default" NOT NULL, - "consumer_key" varchar(255) COLLATE "pg_catalog"."default" NOT NULL, - "consumer_secret" varchar(255) COLLATE "pg_catalog"."default" NOT NULL, - "access_token" varchar(255) COLLATE "pg_catalog"."default" NOT NULL, - "access_token_secret" varchar(255) COLLATE "pg_catalog"."default" NOT NULL, - "repo_directory" varchar COLLATE "pg_catalog"."default", - "platform" varchar COLLATE "pg_catalog"."default" DEFAULT 'github'::character varying, - CONSTRAINT "worker_oauth_pkey" PRIMARY KEY ("oauth_id") -); -ALTER TABLE IF EXISTS "augur_operations"."worker_oauth" OWNER TO "augur"; -COMMENT ON TABLE "augur_operations"."worker_oauth" IS 'This table stores credentials for retrieving data from platform API’s. Entries in this table must comply with the terms of service for each platform. '; - -CREATE TABLE IF NOT EXISTS "augur_operations"."worker_settings_facade" ( - "id" int4 NOT NULL, - "setting" varchar(32) COLLATE "pg_catalog"."default" NOT NULL, - "value" varchar COLLATE "pg_catalog"."default" NOT NULL, - "last_modified" timestamp(0) NOT NULL DEFAULT CURRENT_TIMESTAMP, - CONSTRAINT "settings_pkey" PRIMARY KEY ("id") -); -ALTER TABLE IF EXISTS "augur_operations"."worker_settings_facade" OWNER TO "augur"; -COMMENT ON TABLE "augur_operations"."worker_settings_facade" IS 'For future use when we move all working tables to the augur_operations schema. '; - -CREATE TABLE IF NOT EXISTS "augur_operations"."working_commits" ( - "repos_id" int4 NOT NULL, - "working_commit" varchar(40) COLLATE "pg_catalog"."default" DEFAULT 'NULL'::character varying -); -ALTER TABLE IF EXISTS "augur_operations"."working_commits" OWNER TO "augur"; -COMMENT ON TABLE "augur_operations"."working_commits" IS 'For future use when we move all working tables to the augur_operations schema. '; - -CREATE TABLE IF NOT EXISTS "spdx"."annotation_types" ( - "annotation_type_id" int4 NOT NULL DEFAULT nextval('"spdx".annotation_types_annotation_type_id_seq'::regclass), - "name" varchar(255) COLLATE "pg_catalog"."default" NOT NULL, - CONSTRAINT "annotation_types_pkey" PRIMARY KEY ("annotation_type_id"), - CONSTRAINT "uc_annotation_type_name" UNIQUE ("name") -); -ALTER TABLE IF EXISTS "spdx"."annotation_types" OWNER TO "augur"; - -CREATE TABLE IF NOT EXISTS "spdx"."annotations" ( - "annotation_id" int4 NOT NULL DEFAULT nextval('"spdx".annotations_annotation_id_seq'::regclass), - "document_id" int4 NOT NULL, - "annotation_type_id" int4 NOT NULL, - "identifier_id" int4 NOT NULL, - "creator_id" int4 NOT NULL, - "created_ts" timestamptz(6), - "comment" text COLLATE "pg_catalog"."default" NOT NULL, - CONSTRAINT "annotations_pkey" PRIMARY KEY ("annotation_id") -); -ALTER TABLE IF EXISTS "spdx"."annotations" OWNER TO "augur"; - -CREATE TABLE IF NOT EXISTS "spdx"."augur_repo_map" ( - "map_id" int4 NOT NULL DEFAULT nextval('"spdx".augur_repo_map_map_id_seq'::regclass), - "dosocs_pkg_id" int4, - "dosocs_pkg_name" text COLLATE "pg_catalog"."default", - "repo_id" int4, - "repo_path" text COLLATE "pg_catalog"."default", - CONSTRAINT "augur_repo_map_pkey" PRIMARY KEY ("map_id") -); -ALTER TABLE IF EXISTS "spdx"."augur_repo_map" OWNER TO "augur"; - -CREATE TABLE IF NOT EXISTS "spdx"."creator_types" ( - "creator_type_id" int4 NOT NULL DEFAULT nextval('"spdx".creator_types_creator_type_id_seq'::regclass), - "name" varchar(255) COLLATE "pg_catalog"."default" NOT NULL, - CONSTRAINT "creator_types_pkey" PRIMARY KEY ("creator_type_id") -); -ALTER TABLE IF EXISTS "spdx"."creator_types" OWNER TO "augur"; - -CREATE TABLE IF NOT EXISTS "spdx"."creators" ( - "creator_id" int4 NOT NULL DEFAULT nextval('"spdx".creators_creator_id_seq'::regclass), - "creator_type_id" int4 NOT NULL, - "name" varchar(255) COLLATE "pg_catalog"."default" NOT NULL, - "email" varchar(255) COLLATE "pg_catalog"."default" NOT NULL, - CONSTRAINT "creators_pkey" PRIMARY KEY ("creator_id") -); -ALTER TABLE IF EXISTS "spdx"."creators" OWNER TO "augur"; - -CREATE TABLE IF NOT EXISTS "spdx"."document_namespaces" ( - "document_namespace_id" int4 NOT NULL DEFAULT nextval('"spdx".document_namespaces_document_namespace_id_seq'::regclass), - "uri" varchar(500) COLLATE "pg_catalog"."default" NOT NULL, - CONSTRAINT "document_namespaces_pkey" PRIMARY KEY ("document_namespace_id"), - CONSTRAINT "uc_document_namespace_uri" UNIQUE ("uri") -); -ALTER TABLE IF EXISTS "spdx"."document_namespaces" OWNER TO "augur"; - -CREATE TABLE IF NOT EXISTS "spdx"."documents" ( - "document_id" int4 NOT NULL DEFAULT nextval('"spdx".documents_document_id_seq'::regclass), - "document_namespace_id" int4 NOT NULL, - "data_license_id" int4 NOT NULL, - "spdx_version" varchar(255) COLLATE "pg_catalog"."default" NOT NULL, - "name" varchar(255) COLLATE "pg_catalog"."default" NOT NULL, - "license_list_version" varchar(255) COLLATE "pg_catalog"."default" NOT NULL, - "created_ts" timestamptz(6) NOT NULL, - "creator_comment" text COLLATE "pg_catalog"."default" NOT NULL, - "document_comment" text COLLATE "pg_catalog"."default" NOT NULL, - "package_id" int4 NOT NULL, - CONSTRAINT "documents_pkey" PRIMARY KEY ("document_id"), - CONSTRAINT "uc_document_document_namespace_id" UNIQUE ("document_namespace_id") -); -ALTER TABLE IF EXISTS "spdx"."documents" OWNER TO "augur"; - -CREATE TABLE IF NOT EXISTS "spdx"."documents_creators" ( - "document_creator_id" int4 NOT NULL DEFAULT nextval('"spdx".documents_creators_document_creator_id_seq'::regclass), - "document_id" int4 NOT NULL, - "creator_id" int4 NOT NULL, - CONSTRAINT "documents_creators_pkey" PRIMARY KEY ("document_creator_id") -); -ALTER TABLE IF EXISTS "spdx"."documents_creators" OWNER TO "augur"; - -CREATE TABLE IF NOT EXISTS "spdx"."external_refs" ( - "external_ref_id" int4 NOT NULL DEFAULT nextval('"spdx".external_refs_external_ref_id_seq'::regclass), - "document_id" int4 NOT NULL, - "document_namespace_id" int4 NOT NULL, - "id_string" varchar(255) COLLATE "pg_catalog"."default" NOT NULL, - "sha256" varchar(64) COLLATE "pg_catalog"."default" NOT NULL, - CONSTRAINT "external_refs_pkey" PRIMARY KEY ("external_ref_id"), - CONSTRAINT "uc_external_ref_document_id_string" UNIQUE ("document_id", "id_string") -); -ALTER TABLE IF EXISTS "spdx"."external_refs" OWNER TO "augur"; - -CREATE TABLE IF NOT EXISTS "spdx"."file_contributors" ( - "file_contributor_id" int4 NOT NULL DEFAULT nextval('"spdx".file_contributors_file_contributor_id_seq'::regclass), - "file_id" int4 NOT NULL, - "contributor" text COLLATE "pg_catalog"."default" NOT NULL, - CONSTRAINT "file_contributors_pkey" PRIMARY KEY ("file_contributor_id") -); -ALTER TABLE IF EXISTS "spdx"."file_contributors" OWNER TO "augur"; - -CREATE TABLE IF NOT EXISTS "spdx"."file_types" ( - "file_type_id" int4, - "name" varchar(255) COLLATE "pg_catalog"."default" NOT NULL, - CONSTRAINT "uc_file_type_name" PRIMARY KEY ("name") -); -ALTER TABLE IF EXISTS "spdx"."file_types" OWNER TO "augur"; - -CREATE TABLE IF NOT EXISTS "spdx"."files" ( - "file_id" int4 NOT NULL DEFAULT nextval('"spdx".files_file_id_seq'::regclass), - "file_type_id" int4, - "sha256" varchar(64) COLLATE "pg_catalog"."default" NOT NULL, - "copyright_text" text COLLATE "pg_catalog"."default", - "package_id" int4, - "comment" text COLLATE "pg_catalog"."default" NOT NULL, - "notice" text COLLATE "pg_catalog"."default" NOT NULL, - CONSTRAINT "files_pkey" PRIMARY KEY ("file_id"), - CONSTRAINT "uc_file_sha256" UNIQUE ("sha256") -); -ALTER TABLE IF EXISTS "spdx"."files" OWNER TO "augur"; - -CREATE TABLE IF NOT EXISTS "spdx"."files_licenses" ( - "file_license_id" int4 NOT NULL DEFAULT nextval('"spdx".files_licenses_file_license_id_seq'::regclass), - "file_id" int4 NOT NULL, - "license_id" int4 NOT NULL, - "extracted_text" text COLLATE "pg_catalog"."default" NOT NULL, - CONSTRAINT "files_licenses_pkey" PRIMARY KEY ("file_license_id"), - CONSTRAINT "uc_file_license" UNIQUE ("file_id", "license_id") -); -ALTER TABLE IF EXISTS "spdx"."files_licenses" OWNER TO "augur"; - -CREATE TABLE IF NOT EXISTS "spdx"."files_scans" ( - "file_scan_id" int4 NOT NULL DEFAULT nextval('"spdx".files_scans_file_scan_id_seq'::regclass), - "file_id" int4 NOT NULL, - "scanner_id" int4 NOT NULL, - CONSTRAINT "files_scans_pkey" PRIMARY KEY ("file_scan_id"), - CONSTRAINT "uc_file_scanner_id" UNIQUE ("file_id", "scanner_id") -); -ALTER TABLE IF EXISTS "spdx"."files_scans" OWNER TO "augur"; - -CREATE TABLE IF NOT EXISTS "spdx"."identifiers" ( - "identifier_id" int4 NOT NULL DEFAULT nextval('"spdx".identifiers_identifier_id_seq'::regclass), - "document_namespace_id" int4 NOT NULL, - "id_string" varchar(255) COLLATE "pg_catalog"."default" NOT NULL, - "document_id" int4, - "package_id" int4, - "package_file_id" int4, - CONSTRAINT "identifiers_pkey" PRIMARY KEY ("identifier_id"), - CONSTRAINT "uc_identifier_document_namespace_id" UNIQUE ("document_namespace_id", "id_string"), - CONSTRAINT "uc_identifier_namespace_document_id" UNIQUE ("document_namespace_id", "document_id"), - CONSTRAINT "uc_identifier_namespace_package_id" UNIQUE ("document_namespace_id", "package_id"), - CONSTRAINT "uc_identifier_namespace_package_file_id" UNIQUE ("document_namespace_id", "package_file_id"), - CONSTRAINT "ck_identifier_exactly_one" CHECK (((document_id IS NOT NULL)::integer + (package_id IS NOT NULL)::integer + (package_file_id IS NOT NULL)::integer) = 1) -); -ALTER TABLE IF EXISTS "spdx"."identifiers" OWNER TO "augur"; - -CREATE TABLE IF NOT EXISTS "spdx"."licenses" ( - "license_id" int4 NOT NULL DEFAULT nextval('"spdx".licenses_license_id_seq'::regclass), - "name" varchar(255) COLLATE "pg_catalog"."default", - "short_name" varchar(255) COLLATE "pg_catalog"."default" NOT NULL, - "cross_reference" text COLLATE "pg_catalog"."default" NOT NULL, - "comment" text COLLATE "pg_catalog"."default" NOT NULL, - "is_spdx_official" bool NOT NULL, - CONSTRAINT "licenses_pkey" PRIMARY KEY ("license_id"), - CONSTRAINT "uc_license_short_name" UNIQUE ("short_name") -); -ALTER TABLE IF EXISTS "spdx"."licenses" OWNER TO "augur"; - -CREATE TABLE IF NOT EXISTS "spdx"."packages" ( - "package_id" int4 NOT NULL DEFAULT nextval('"spdx".packages_package_id_seq'::regclass), - "name" varchar(255) COLLATE "pg_catalog"."default" NOT NULL, - "version" varchar(255) COLLATE "pg_catalog"."default" NOT NULL, - "file_name" text COLLATE "pg_catalog"."default" NOT NULL, - "supplier_id" int4, - "originator_id" int4, - "download_location" text COLLATE "pg_catalog"."default", - "verification_code" varchar(64) COLLATE "pg_catalog"."default" NOT NULL, - "ver_code_excluded_file_id" int4, - "sha256" varchar(64) COLLATE "pg_catalog"."default", - "home_page" text COLLATE "pg_catalog"."default", - "source_info" text COLLATE "pg_catalog"."default" NOT NULL, - "concluded_license_id" int4, - "declared_license_id" int4, - "license_comment" text COLLATE "pg_catalog"."default" NOT NULL, - "copyright_text" text COLLATE "pg_catalog"."default", - "summary" text COLLATE "pg_catalog"."default" NOT NULL, - "description" text COLLATE "pg_catalog"."default" NOT NULL, - "comment" text COLLATE "pg_catalog"."default" NOT NULL, - "dosocs2_dir_code" varchar(64) COLLATE "pg_catalog"."default", - CONSTRAINT "packages_pkey" PRIMARY KEY ("package_id"), - CONSTRAINT "uc_package_sha256" UNIQUE ("sha256"), - CONSTRAINT "uc_dir_code_ver_code" UNIQUE ("verification_code", "dosocs2_dir_code"), - CONSTRAINT "uc_sha256_ds2_dir_code_exactly_one" CHECK (((sha256 IS NOT NULL)::integer + (dosocs2_dir_code IS NOT NULL)::integer) = 1) -); -ALTER TABLE IF EXISTS "spdx"."packages" OWNER TO "augur"; - -CREATE TABLE IF NOT EXISTS "spdx"."packages_files" ( - "package_file_id" int4 NOT NULL DEFAULT nextval('"spdx".packages_files_package_file_id_seq'::regclass), - "package_id" int4 NOT NULL, - "file_id" int4 NOT NULL, - "concluded_license_id" int4, - "license_comment" text COLLATE "pg_catalog"."default" NOT NULL, - "file_name" text COLLATE "pg_catalog"."default" NOT NULL, - CONSTRAINT "packages_files_pkey" PRIMARY KEY ("package_file_id"), - CONSTRAINT "uc_package_id_file_name" UNIQUE ("package_id", "file_name") -); -ALTER TABLE IF EXISTS "spdx"."packages_files" OWNER TO "augur"; - -CREATE TABLE IF NOT EXISTS "spdx"."packages_scans" ( - "package_scan_id" int4 NOT NULL DEFAULT nextval('"spdx".packages_scans_package_scan_id_seq'::regclass), - "package_id" int4 NOT NULL, - "scanner_id" int4 NOT NULL, - CONSTRAINT "packages_scans_pkey" PRIMARY KEY ("package_scan_id"), - CONSTRAINT "uc_package_scanner_id" UNIQUE ("package_id", "scanner_id") -); -ALTER TABLE IF EXISTS "spdx"."packages_scans" OWNER TO "augur"; - -CREATE TABLE IF NOT EXISTS "spdx"."projects" ( - "package_id" int4 NOT NULL DEFAULT nextval('"spdx".projects_package_id_seq'::regclass), - "name" text COLLATE "pg_catalog"."default" NOT NULL, - "homepage" text COLLATE "pg_catalog"."default" NOT NULL, - "uri" text COLLATE "pg_catalog"."default" NOT NULL, - CONSTRAINT "projects_pkey" PRIMARY KEY ("package_id") -); -ALTER TABLE IF EXISTS "spdx"."projects" OWNER TO "augur"; - -CREATE TABLE IF NOT EXISTS "spdx"."relationship_types" ( - "relationship_type_id" int4 NOT NULL DEFAULT nextval('"spdx".relationship_types_relationship_type_id_seq'::regclass), - "name" varchar(255) COLLATE "pg_catalog"."default" NOT NULL, - CONSTRAINT "relationship_types_pkey" PRIMARY KEY ("relationship_type_id"), - CONSTRAINT "uc_relationship_type_name" UNIQUE ("name") -); -ALTER TABLE IF EXISTS "spdx"."relationship_types" OWNER TO "augur"; - -CREATE TABLE IF NOT EXISTS "spdx"."relationships" ( - "relationship_id" int4 NOT NULL DEFAULT nextval('"spdx".relationships_relationship_id_seq'::regclass), - "left_identifier_id" int4 NOT NULL, - "right_identifier_id" int4 NOT NULL, - "relationship_type_id" int4 NOT NULL, - "relationship_comment" text COLLATE "pg_catalog"."default" NOT NULL, - CONSTRAINT "relationships_pkey" PRIMARY KEY ("relationship_id"), - CONSTRAINT "uc_left_right_relationship_type" UNIQUE ("left_identifier_id", "right_identifier_id", "relationship_type_id") -); -ALTER TABLE IF EXISTS "spdx"."relationships" OWNER TO "augur"; - -CREATE TABLE IF NOT EXISTS "spdx"."sbom_scans" ( - "repo_id" int4, - "sbom_scan" json -); -ALTER TABLE IF EXISTS "spdx"."sbom_scans" OWNER TO "augur"; - -CREATE TABLE IF NOT EXISTS "spdx"."scanners" ( - "scanner_id" int4 NOT NULL DEFAULT nextval('"spdx".scanners_scanner_id_seq'::regclass), - "name" varchar(255) COLLATE "pg_catalog"."default" NOT NULL, - CONSTRAINT "scanners_pkey" PRIMARY KEY ("scanner_id"), - CONSTRAINT "uc_scanner_name" UNIQUE ("name") -); -ALTER TABLE IF EXISTS "spdx"."scanners" OWNER TO "augur"; - -ALTER TABLE IF EXISTS "augur_data"."commit_comment_ref" ADD CONSTRAINT "fk_commit_comment_ref_commits_1" FOREIGN KEY ("cmt_id") REFERENCES "augur_data"."commits" ("cmt_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."commit_comment_ref" ADD CONSTRAINT "fk_commit_comment_ref_message_1" FOREIGN KEY ("msg_id") REFERENCES "augur_data"."message" ("msg_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."commit_parents" ADD CONSTRAINT "fk_commit_parents_commits_1" FOREIGN KEY ("cmt_id") REFERENCES "augur_data"."commits" ("cmt_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."commit_parents" ADD CONSTRAINT "fk_commit_parents_commits_2" FOREIGN KEY ("parent_id") REFERENCES "augur_data"."commits" ("cmt_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."commits" ADD CONSTRAINT "fk_commits_contributors_1" FOREIGN KEY ("cmt_ght_author_id") REFERENCES "augur_data"."contributors" ("cntrb_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."commits" ADD CONSTRAINT "fk_commits_contributors_2" FOREIGN KEY ("cmt_ght_committer_id") REFERENCES "augur_data"."contributors" ("cntrb_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."commits" ADD CONSTRAINT "fk_commits_repo_1" FOREIGN KEY ("repo_id") REFERENCES "augur_data"."repo" ("repo_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."contributors_aliases" ADD CONSTRAINT "fk_contributors_aliases_contributors_1" FOREIGN KEY ("cntrb_id") REFERENCES "augur_data"."contributors" ("cntrb_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."contributors_history" ADD CONSTRAINT "fk_contributors_history_contributors_1" FOREIGN KEY ("cntrb_id") REFERENCES "augur_data"."contributors" ("cntrb_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."discourse_insights" ADD CONSTRAINT "fk_discourse_insights_message_1" FOREIGN KEY ("msg_id") REFERENCES "augur_data"."message" ("msg_id"); -ALTER TABLE IF EXISTS "augur_data"."issue_assignees" ADD CONSTRAINT "fk_issue_assignees_contributors_1" FOREIGN KEY ("cntrb_id") REFERENCES "augur_data"."contributors" ("cntrb_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."issue_assignees" ADD CONSTRAINT "fk_issue_assignees_issues_1" FOREIGN KEY ("issue_id") REFERENCES "augur_data"."issues" ("issue_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."issue_events" ADD CONSTRAINT "fk_issue_events_contributors_1" FOREIGN KEY ("cntrb_id") REFERENCES "augur_data"."contributors" ("cntrb_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."issue_events" ADD CONSTRAINT "fk_issue_events_issues_1" FOREIGN KEY ("issue_id") REFERENCES "augur_data"."issues" ("issue_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."issue_labels" ADD CONSTRAINT "fk_issue_labels_issues_1" FOREIGN KEY ("issue_id") REFERENCES "augur_data"."issues" ("issue_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."issue_message_ref" ADD CONSTRAINT "fk_issue_message_ref_issues_1" FOREIGN KEY ("issue_id") REFERENCES "augur_data"."issues" ("issue_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."issue_message_ref" ADD CONSTRAINT "fk_issue_message_ref_message_1" FOREIGN KEY ("msg_id") REFERENCES "augur_data"."message" ("msg_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."issues" ADD CONSTRAINT "fk_issues_contributors_1" FOREIGN KEY ("cntrb_id") REFERENCES "augur_data"."contributors" ("cntrb_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."issues" ADD CONSTRAINT "fk_issues_contributors_2" FOREIGN KEY ("reporter_id") REFERENCES "augur_data"."contributors" ("cntrb_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."issues" ADD CONSTRAINT "fk_issues_repo" FOREIGN KEY ("repo_id") REFERENCES "augur_data"."repo" ("repo_id") ON DELETE CASCADE ON UPDATE CASCADE; -ALTER TABLE IF EXISTS "augur_data"."libraries" ADD CONSTRAINT "fk_libraries_repo_1" FOREIGN KEY ("repo_id") REFERENCES "augur_data"."repo" ("repo_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."library_dependencies" ADD CONSTRAINT "fk_library_dependencies_libraries_1" FOREIGN KEY ("library_id") REFERENCES "augur_data"."libraries" ("library_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."library_version" ADD CONSTRAINT "fk_library_version_libraries_1" FOREIGN KEY ("library_id") REFERENCES "augur_data"."libraries" ("library_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."lstm_anomaly_results" ADD CONSTRAINT "fk_lstm_anomaly_results_lstm_anomaly_models_1" FOREIGN KEY ("model_id") REFERENCES "augur_data"."lstm_anomaly_models" ("model_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."lstm_anomaly_results" ADD CONSTRAINT "fk_lstm_anomaly_results_repo_1" FOREIGN KEY ("repo_id") REFERENCES "augur_data"."repo" ("repo_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."message" ADD CONSTRAINT "fk_message_contributors_1" FOREIGN KEY ("cntrb_id") REFERENCES "augur_data"."contributors" ("cntrb_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."message" ADD CONSTRAINT "fk_message_platform_1" FOREIGN KEY ("pltfrm_id") REFERENCES "augur_data"."platform" ("pltfrm_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."message" ADD CONSTRAINT "fk_message_repo_groups_list_serve_1" FOREIGN KEY ("rgls_id") REFERENCES "augur_data"."repo_groups_list_serve" ("rgls_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."message_analysis" ADD CONSTRAINT "fk_message_analysis_message_1" FOREIGN KEY ("msg_id") REFERENCES "augur_data"."message" ("msg_id"); -ALTER TABLE IF EXISTS "augur_data"."message_analysis_summary" ADD CONSTRAINT "fk_message_analysis_summary_repo_1" FOREIGN KEY ("repo_id") REFERENCES "augur_data"."repo" ("repo_id"); -ALTER TABLE IF EXISTS "augur_data"."message_sentiment" ADD CONSTRAINT "fk_message_sentiment_message_1" FOREIGN KEY ("msg_id") REFERENCES "augur_data"."message" ("msg_id"); -ALTER TABLE IF EXISTS "augur_data"."message_sentiment_summary" ADD CONSTRAINT "fk_message_sentiment_summary_repo_1" FOREIGN KEY ("repo_id") REFERENCES "augur_data"."repo" ("repo_id"); -ALTER TABLE IF EXISTS "augur_data"."pull_request_assignees" ADD CONSTRAINT "fk_pull_request_assignees_contributors_1" FOREIGN KEY ("contrib_id") REFERENCES "augur_data"."contributors" ("cntrb_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."pull_request_assignees" ADD CONSTRAINT "fk_pull_request_assignees_pull_requests_1" FOREIGN KEY ("pull_request_id") REFERENCES "augur_data"."pull_requests" ("pull_request_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."pull_request_commits" ADD CONSTRAINT "fk_pull_request_commits_pull_requests_1" FOREIGN KEY ("pull_request_id") REFERENCES "augur_data"."pull_requests" ("pull_request_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."pull_request_events" ADD CONSTRAINT "fk_pull_request_events_contributors_1" FOREIGN KEY ("cntrb_id") REFERENCES "augur_data"."contributors" ("cntrb_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."pull_request_events" ADD CONSTRAINT "fk_pull_request_events_pull_requests_1" FOREIGN KEY ("pull_request_id") REFERENCES "augur_data"."pull_requests" ("pull_request_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."pull_request_files" ADD CONSTRAINT "fk_pull_request_commits_pull_requests_1" FOREIGN KEY ("pull_request_id") REFERENCES "augur_data"."pull_requests" ("pull_request_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."pull_request_labels" ADD CONSTRAINT "fk_pull_request_labels_pull_requests_1" FOREIGN KEY ("pull_request_id") REFERENCES "augur_data"."pull_requests" ("pull_request_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."pull_request_message_ref" ADD CONSTRAINT "fk_pull_request_message_ref_message_1" FOREIGN KEY ("msg_id") REFERENCES "augur_data"."message" ("msg_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."pull_request_message_ref" ADD CONSTRAINT "fk_pull_request_message_ref_pull_requests_1" FOREIGN KEY ("pull_request_id") REFERENCES "augur_data"."pull_requests" ("pull_request_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."pull_request_meta" ADD CONSTRAINT "fk_pull_request_meta_contributors_2" FOREIGN KEY ("cntrb_id") REFERENCES "augur_data"."contributors" ("cntrb_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."pull_request_meta" ADD CONSTRAINT "fk_pull_request_meta_pull_requests_1" FOREIGN KEY ("pull_request_id") REFERENCES "augur_data"."pull_requests" ("pull_request_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."pull_request_repo" ADD CONSTRAINT "fk_pull_request_repo_contributors_1" FOREIGN KEY ("pr_cntrb_id") REFERENCES "augur_data"."contributors" ("cntrb_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."pull_request_repo" ADD CONSTRAINT "fk_pull_request_repo_pull_request_meta_1" FOREIGN KEY ("pr_repo_meta_id") REFERENCES "augur_data"."pull_request_meta" ("pr_repo_meta_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."pull_request_reviewers" ADD CONSTRAINT "fk_pull_request_reviewers_contributors_1" FOREIGN KEY ("cntrb_id") REFERENCES "augur_data"."contributors" ("cntrb_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."pull_request_reviewers" ADD CONSTRAINT "fk_pull_request_reviewers_pull_requests_1" FOREIGN KEY ("pull_request_id") REFERENCES "augur_data"."pull_requests" ("pull_request_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."pull_request_teams" ADD CONSTRAINT "fk_pull_request_teams_pull_requests_1" FOREIGN KEY ("pull_request_id") REFERENCES "augur_data"."pull_requests" ("pull_request_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."pull_requests" ADD CONSTRAINT "fk_pull_requests_pull_request_meta_1" FOREIGN KEY ("pr_meta_head_id") REFERENCES "augur_data"."pull_request_meta" ("pr_repo_meta_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."pull_requests" ADD CONSTRAINT "fk_pull_requests_pull_request_meta_2" FOREIGN KEY ("pr_meta_base_id") REFERENCES "augur_data"."pull_request_meta" ("pr_repo_meta_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."pull_requests" ADD CONSTRAINT "fk_pull_requests_repo_1" FOREIGN KEY ("repo_id") REFERENCES "augur_data"."repo" ("repo_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."releases" ADD CONSTRAINT "fk_releases_repo_1" FOREIGN KEY ("repo_id") REFERENCES "augur_data"."repo" ("repo_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."repo" ADD CONSTRAINT "fk_repo_repo_groups_1" FOREIGN KEY ("repo_group_id") REFERENCES "augur_data"."repo_groups" ("repo_group_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -COMMENT ON CONSTRAINT "fk_repo_repo_groups_1" ON "augur_data"."repo" IS 'Repo_groups cardinality set to one and only one because, although in theory there could be more than one repo group for a repo, this might create dependecies in hosted situation that we do not want to live with. '; -ALTER TABLE IF EXISTS "augur_data"."repo_badging" ADD CONSTRAINT "fk_repo_badging_repo_1" FOREIGN KEY ("repo_id") REFERENCES "augur_data"."repo" ("repo_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."repo_cluster_messages" ADD CONSTRAINT "fk_repo_cluster_messages_repo_1" FOREIGN KEY ("repo_id") REFERENCES "augur_data"."repo" ("repo_id"); -ALTER TABLE IF EXISTS "augur_data"."repo_group_insights" ADD CONSTRAINT "fk_repo_group_insights_repo_groups_1" FOREIGN KEY ("repo_group_id") REFERENCES "augur_data"."repo_groups" ("repo_group_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."repo_groups_list_serve" ADD CONSTRAINT "fk_repo_groups_list_serve_repo_groups_1" FOREIGN KEY ("repo_group_id") REFERENCES "augur_data"."repo_groups" ("repo_group_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."repo_info" ADD CONSTRAINT "fk_repo_info_repo_1" FOREIGN KEY ("repo_id") REFERENCES "augur_data"."repo" ("repo_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."repo_insights" ADD CONSTRAINT "fk_repo_insights_repo_1" FOREIGN KEY ("repo_id") REFERENCES "augur_data"."repo" ("repo_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."repo_insights_records" ADD CONSTRAINT "repo_id_ref" FOREIGN KEY ("repo_id") REFERENCES "augur_data"."repo" ("repo_id") ON DELETE SET NULL ON UPDATE CASCADE; -ALTER TABLE IF EXISTS "augur_data"."repo_labor" ADD CONSTRAINT "fk_repo_labor_repo_1" FOREIGN KEY ("repo_id") REFERENCES "augur_data"."repo" ("repo_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."repo_meta" ADD CONSTRAINT "fk_repo_meta_repo_1" FOREIGN KEY ("repo_id") REFERENCES "augur_data"."repo" ("repo_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."repo_sbom_scans" ADD CONSTRAINT "repo_linker_sbom" FOREIGN KEY ("repo_id") REFERENCES "augur_data"."repo" ("repo_id") ON DELETE CASCADE ON UPDATE CASCADE; -ALTER TABLE IF EXISTS "augur_data"."repo_stats" ADD CONSTRAINT "fk_repo_stats_repo_1" FOREIGN KEY ("repo_id") REFERENCES "augur_data"."repo" ("repo_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."repo_test_coverage" ADD CONSTRAINT "fk_repo_test_coverage_repo_1" FOREIGN KEY ("repo_id") REFERENCES "augur_data"."repo" ("repo_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "augur_data"."repo_topic" ADD CONSTRAINT "fk_repo_topic_repo_1" FOREIGN KEY ("repo_id") REFERENCES "augur_data"."repo" ("repo_id"); -ALTER TABLE IF EXISTS "augur_data"."topic_words" ADD CONSTRAINT "fk_topic_words_repo_topic_1" FOREIGN KEY ("topic_id") REFERENCES "augur_data"."repo_topic" ("repo_topic_id"); -ALTER TABLE IF EXISTS "spdx"."annotations" ADD CONSTRAINT "annotations_annotation_type_id_fkey" FOREIGN KEY ("annotation_type_id") REFERENCES "spdx"."annotation_types" ("annotation_type_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "spdx"."annotations" ADD CONSTRAINT "annotations_creator_id_fkey" FOREIGN KEY ("creator_id") REFERENCES "spdx"."creators" ("creator_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "spdx"."annotations" ADD CONSTRAINT "annotations_document_id_fkey" FOREIGN KEY ("document_id") REFERENCES "spdx"."documents" ("document_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "spdx"."annotations" ADD CONSTRAINT "annotations_identifier_id_fkey" FOREIGN KEY ("identifier_id") REFERENCES "spdx"."identifiers" ("identifier_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "spdx"."creators" ADD CONSTRAINT "creators_creator_type_id_fkey" FOREIGN KEY ("creator_type_id") REFERENCES "spdx"."creator_types" ("creator_type_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "spdx"."documents" ADD CONSTRAINT "documents_data_license_id_fkey" FOREIGN KEY ("data_license_id") REFERENCES "spdx"."licenses" ("license_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "spdx"."documents" ADD CONSTRAINT "documents_document_namespace_id_fkey" FOREIGN KEY ("document_namespace_id") REFERENCES "spdx"."document_namespaces" ("document_namespace_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "spdx"."documents" ADD CONSTRAINT "documents_package_id_fkey" FOREIGN KEY ("package_id") REFERENCES "spdx"."packages" ("package_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "spdx"."documents_creators" ADD CONSTRAINT "documents_creators_creator_id_fkey" FOREIGN KEY ("creator_id") REFERENCES "spdx"."creators" ("creator_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "spdx"."documents_creators" ADD CONSTRAINT "documents_creators_document_id_fkey" FOREIGN KEY ("document_id") REFERENCES "spdx"."documents" ("document_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "spdx"."external_refs" ADD CONSTRAINT "external_refs_document_id_fkey" FOREIGN KEY ("document_id") REFERENCES "spdx"."documents" ("document_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "spdx"."external_refs" ADD CONSTRAINT "external_refs_document_namespace_id_fkey" FOREIGN KEY ("document_namespace_id") REFERENCES "spdx"."document_namespaces" ("document_namespace_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "spdx"."file_contributors" ADD CONSTRAINT "file_contributors_file_id_fkey" FOREIGN KEY ("file_id") REFERENCES "spdx"."files" ("file_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "spdx"."files_licenses" ADD CONSTRAINT "files_licenses_file_id_fkey" FOREIGN KEY ("file_id") REFERENCES "spdx"."files" ("file_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "spdx"."files_licenses" ADD CONSTRAINT "files_licenses_license_id_fkey" FOREIGN KEY ("license_id") REFERENCES "spdx"."licenses" ("license_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "spdx"."files_scans" ADD CONSTRAINT "files_scans_file_id_fkey" FOREIGN KEY ("file_id") REFERENCES "spdx"."files" ("file_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "spdx"."files_scans" ADD CONSTRAINT "files_scans_scanner_id_fkey" FOREIGN KEY ("scanner_id") REFERENCES "spdx"."scanners" ("scanner_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "spdx"."identifiers" ADD CONSTRAINT "identifiers_document_id_fkey" FOREIGN KEY ("document_id") REFERENCES "spdx"."documents" ("document_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "spdx"."identifiers" ADD CONSTRAINT "identifiers_document_namespace_id_fkey" FOREIGN KEY ("document_namespace_id") REFERENCES "spdx"."document_namespaces" ("document_namespace_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "spdx"."identifiers" ADD CONSTRAINT "identifiers_package_file_id_fkey" FOREIGN KEY ("package_file_id") REFERENCES "spdx"."packages_files" ("package_file_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "spdx"."identifiers" ADD CONSTRAINT "identifiers_package_id_fkey" FOREIGN KEY ("package_id") REFERENCES "spdx"."packages" ("package_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "spdx"."packages" ADD CONSTRAINT "fk_package_packages_files" FOREIGN KEY ("ver_code_excluded_file_id") REFERENCES "spdx"."packages_files" ("package_file_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "spdx"."packages" ADD CONSTRAINT "packages_concluded_license_id_fkey" FOREIGN KEY ("concluded_license_id") REFERENCES "spdx"."licenses" ("license_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "spdx"."packages" ADD CONSTRAINT "packages_declared_license_id_fkey" FOREIGN KEY ("declared_license_id") REFERENCES "spdx"."licenses" ("license_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "spdx"."packages" ADD CONSTRAINT "packages_originator_id_fkey" FOREIGN KEY ("originator_id") REFERENCES "spdx"."creators" ("creator_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "spdx"."packages" ADD CONSTRAINT "packages_supplier_id_fkey" FOREIGN KEY ("supplier_id") REFERENCES "spdx"."creators" ("creator_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "spdx"."packages_files" ADD CONSTRAINT "fk_package_files_packages" FOREIGN KEY ("package_id") REFERENCES "spdx"."packages" ("package_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "spdx"."packages_files" ADD CONSTRAINT "packages_files_concluded_license_id_fkey" FOREIGN KEY ("concluded_license_id") REFERENCES "spdx"."licenses" ("license_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "spdx"."packages_files" ADD CONSTRAINT "packages_files_file_id_fkey" FOREIGN KEY ("file_id") REFERENCES "spdx"."files" ("file_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "spdx"."packages_scans" ADD CONSTRAINT "packages_scans_package_id_fkey" FOREIGN KEY ("package_id") REFERENCES "spdx"."packages" ("package_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "spdx"."packages_scans" ADD CONSTRAINT "packages_scans_scanner_id_fkey" FOREIGN KEY ("scanner_id") REFERENCES "spdx"."scanners" ("scanner_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "spdx"."relationships" ADD CONSTRAINT "relationships_left_identifier_id_fkey" FOREIGN KEY ("left_identifier_id") REFERENCES "spdx"."identifiers" ("identifier_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "spdx"."relationships" ADD CONSTRAINT "relationships_relationship_type_id_fkey" FOREIGN KEY ("relationship_type_id") REFERENCES "spdx"."relationship_types" ("relationship_type_id") ON DELETE NO ACTION ON UPDATE NO ACTION; -ALTER TABLE IF EXISTS "spdx"."relationships" ADD CONSTRAINT "relationships_right_identifier_id_fkey" FOREIGN KEY ("right_identifier_id") REFERENCES "spdx"."identifiers" ("identifier_id") ON DELETE NO ACTION ON UPDATE NO ACTION; - -INSERT INTO "augur_operations"."augur_settings" set value = 31 where setting = 'augur_data_version'; - -CREATE TABLE "augur_data"."pull_request_analysis" ( - "pull_request_analysis_id" serial8, - "pull_request_id" int8, - "merge_probability" float8, - "mechanism" varchar, - "tool_source" varchar, - "tool_version" varchar, - "data_source" varchar, - "data_collection_date" timestamptz NOT NULL DEFAULT CURRENT_TIMESTAMP, - PRIMARY KEY ("pull_request_analysis_id") -) -; - -ALTER TABLE "augur_data"."pull_request_analysis" OWNER TO "augur"; - -COMMENT ON COLUMN "augur_data"."pull_request_analysis"."pull_request_id" IS 'It would be better if the pull request worker is run first to fetch the latest PRs before analyzing'; - -COMMENT ON COLUMN "augur_data"."pull_request_analysis"."merge_probability" IS 'Indicates the probability of the PR being merged'; - -COMMENT ON COLUMN "augur_data"."pull_request_analysis"."mechanism" IS 'the ML model used for prediction (It is XGBoost Classifier at present)'; - -ALTER TABLE "augur_data"."pull_request_analysis" ADD CONSTRAINT "fk_pull_request_analysis_pull_requests_1" FOREIGN KEY ("pull_request_id") REFERENCES "augur_data"."pull_requests" ("pull_request_id") ON DELETE CASCADE ON UPDATE CASCADE; - -CREATE INDEX CONCURRENTLY "probability_idx" ON "augur_data"."pull_request_analysis" USING btree ( - "merge_probability" DESC NULLS LAST -); - -CREATE INDEX CONCURRENTLY "pr_anal_idx" ON "augur_data"."pull_request_analysis" USING btree ( - "pull_request_id" -); - -update "augur_operations"."augur_settings" set value = 32 where setting = 'augur_data_version'; - - --- # Pull request commit updates -ALTER TABLE "augur_data"."pull_request_commits" ADD COLUMN "pr_cmt_author_cntrb_id" int8; -ALTER TABLE "augur_data"."pull_request_commits" ADD COLUMN "pr_cmt_timestamp" timestamp(0); -ALTER TABLE "augur_data"."pull_request_commits" ADD COLUMN "pr_cmt_author_email" varchar COLLATE "pg_catalog"."default"; - -update "augur_operations"."augur_settings" set value = 33 where setting = 'augur_data_version'; - - --- # Pull request commit updates -update "augur_operations"."augur_settings" set value = 34 where setting = 'augur_data_version'; - - --- Adding GitLab Platform -INSERT INTO "augur_data"."platform" ("pltfrm_id", "pltfrm_name", "pltfrm_version", "pltfrm_release_date", "tool_source", "tool_version", "data_source", "data_collection_date") VALUES (25151, 'GitLab', '3', '2020-12-27', 'Manual Entry', 'Sean Goggins', 'GitLab', '2020-12-27 16:07:20'); --- # Pull request commit updates -update "augur_operations"."augur_settings" set value = 35 where setting = 'augur_data_version'; - - -ALTER TABLE "augur_data"."pull_request_reviews" ALTER COLUMN "pr_review_author_association" TYPE varchar COLLATE "pg_catalog"."default"; - -ALTER TABLE "augur_data"."pull_request_reviews" ALTER COLUMN "pr_review_state" TYPE varchar COLLATE "pg_catalog"."default"; - -ALTER TABLE "augur_data"."pull_request_reviews" ALTER COLUMN "pr_review_body" TYPE varchar COLLATE "pg_catalog"."default"; - -ALTER TABLE "augur_data"."pull_request_reviews" ALTER COLUMN "pr_review_node_id" TYPE varchar COLLATE "pg_catalog"."default"; - -ALTER TABLE "augur_data"."pull_request_reviews" ALTER COLUMN "pr_review_html_url" TYPE varchar COLLATE "pg_catalog"."default"; - -ALTER TABLE "augur_data"."pull_request_reviews" ALTER COLUMN "pr_review_pull_request_url" TYPE varchar COLLATE "pg_catalog"."default"; - -ALTER TABLE "augur_data"."pull_request_reviews" ALTER COLUMN "pr_review_commit_id" TYPE varchar COLLATE "pg_catalog"."default"; - -ALTER TABLE "augur_data"."pull_request_reviews" ALTER COLUMN "tool_source" TYPE varchar COLLATE "pg_catalog"."default"; - -ALTER TABLE "augur_data"."pull_request_reviews" ALTER COLUMN "tool_version" TYPE varchar COLLATE "pg_catalog"."default"; - -ALTER TABLE "augur_data"."pull_request_reviews" ALTER COLUMN "data_source" TYPE varchar COLLATE "pg_catalog"."default"; - - - -update "augur_operations"."augur_settings" set value = 38 where setting = 'augur_data_version'; - - -ALTER TABLE "augur_data"."pull_request_commits" DROP CONSTRAINT "fk_pull_request_commits_pull_requests_1"; - -ALTER TABLE "augur_data"."pull_request_events" DROP CONSTRAINT "fk_pull_request_events_pull_requests_1"; - -ALTER TABLE "augur_data"."pull_request_files" DROP CONSTRAINT "fk_pull_request_commits_pull_requests_1"; - -ALTER TABLE "augur_data"."pull_request_labels" DROP CONSTRAINT "fk_pull_request_labels_pull_requests_1"; - -ALTER TABLE "augur_data"."pull_request_message_ref" DROP CONSTRAINT "fk_pull_request_message_ref_pull_requests_1"; - -ALTER TABLE "augur_data"."pull_request_message_ref" DROP CONSTRAINT "fk_pull_request_message_ref_message_1"; - -ALTER TABLE "augur_data"."pull_request_meta" DROP CONSTRAINT "fk_pull_request_meta_pull_requests_1"; - -ALTER TABLE "augur_data"."pull_request_repo" DROP CONSTRAINT "fk_pull_request_repo_pull_request_meta_1"; - -ALTER TABLE "augur_data"."pull_request_review_message_ref" DROP CONSTRAINT "fk_pull_request_review_message_ref_pull_request_reviews_1"; - -ALTER TABLE "augur_data"."pull_request_reviewers" DROP CONSTRAINT "fk_pull_request_reviewers_pull_requests_1"; - -ALTER TABLE "augur_data"."pull_request_reviews" DROP CONSTRAINT "fk_pull_request_reviews_pull_requests_1"; - -ALTER TABLE "augur_data"."pull_request_reviews" ALTER COLUMN "pr_review_author_association" TYPE varchar COLLATE "pg_catalog"."default"; - -ALTER TABLE "augur_data"."pull_request_reviews" ALTER COLUMN "pr_review_state" TYPE varchar COLLATE "pg_catalog"."default"; - -ALTER TABLE "augur_data"."pull_request_reviews" ALTER COLUMN "pr_review_body" TYPE varchar COLLATE "pg_catalog"."default"; - -ALTER TABLE "augur_data"."pull_request_reviews" ALTER COLUMN "pr_review_node_id" TYPE varchar COLLATE "pg_catalog"."default"; - -ALTER TABLE "augur_data"."pull_request_reviews" ALTER COLUMN "pr_review_html_url" TYPE varchar COLLATE "pg_catalog"."default"; - -ALTER TABLE "augur_data"."pull_request_reviews" ALTER COLUMN "pr_review_pull_request_url" TYPE varchar COLLATE "pg_catalog"."default"; - -ALTER TABLE "augur_data"."pull_request_reviews" ALTER COLUMN "pr_review_commit_id" TYPE varchar COLLATE "pg_catalog"."default"; - -ALTER TABLE "augur_data"."pull_request_reviews" ALTER COLUMN "tool_source" TYPE varchar COLLATE "pg_catalog"."default"; - -ALTER TABLE "augur_data"."pull_request_reviews" ALTER COLUMN "tool_version" TYPE varchar COLLATE "pg_catalog"."default"; - -ALTER TABLE "augur_data"."pull_request_reviews" ALTER COLUMN "data_source" TYPE varchar COLLATE "pg_catalog"."default"; - -ALTER TABLE "augur_data"."pull_request_teams" DROP CONSTRAINT "fk_pull_request_teams_pull_requests_1"; - -ALTER TABLE "augur_data"."pull_requests" DROP CONSTRAINT "fk_pull_requests_pull_request_meta_2"; - -ALTER TABLE "augur_data"."pull_requests" DROP CONSTRAINT "fk_pull_requests_pull_request_meta_1"; - -ALTER TABLE "augur_data"."pull_request_commits" ADD CONSTRAINT "fk_pull_request_commits_pull_requests_1" FOREIGN KEY ("pull_request_id") REFERENCES "augur_data"."pull_requests" ("pull_request_id") ON DELETE CASCADE ON UPDATE CASCADE; - -ALTER TABLE "augur_data"."pull_request_events" ADD CONSTRAINT "fk_pull_request_events_pull_requests_1" FOREIGN KEY ("pull_request_id") REFERENCES "augur_data"."pull_requests" ("pull_request_id") ON DELETE CASCADE ON UPDATE CASCADE; - -ALTER TABLE "augur_data"."pull_request_files" ADD CONSTRAINT "fk_pull_request_commits_pull_requests_1" FOREIGN KEY ("pull_request_id") REFERENCES "augur_data"."pull_requests" ("pull_request_id") ON DELETE CASCADE ON UPDATE CASCADE; - -ALTER TABLE "augur_data"."pull_request_labels" ADD CONSTRAINT "fk_pull_request_labels_pull_requests_1" FOREIGN KEY ("pull_request_id") REFERENCES "augur_data"."pull_requests" ("pull_request_id") ON DELETE CASCADE ON UPDATE CASCADE; - -ALTER TABLE "augur_data"."pull_request_message_ref" ADD CONSTRAINT "fk_pull_request_message_ref_message_1" FOREIGN KEY ("msg_id") REFERENCES "augur_data"."message" ("msg_id") ON DELETE CASCADE ON UPDATE CASCADE; - -ALTER TABLE "augur_data"."pull_request_message_ref" ADD CONSTRAINT "fk_pull_request_message_ref_pull_requests_1" FOREIGN KEY ("pull_request_id") REFERENCES "augur_data"."pull_requests" ("pull_request_id") ON DELETE CASCADE ON UPDATE CASCADE; - -ALTER TABLE "augur_data"."pull_request_meta" ADD CONSTRAINT "fk_pull_request_meta_pull_requests_1" FOREIGN KEY ("pull_request_id") REFERENCES "augur_data"."pull_requests" ("pull_request_id") ON DELETE CASCADE ON UPDATE CASCADE; - -ALTER TABLE "augur_data"."pull_request_repo" ADD CONSTRAINT "fk_pull_request_repo_pull_request_meta_1" FOREIGN KEY ("pr_repo_meta_id") REFERENCES "augur_data"."pull_request_meta" ("pr_repo_meta_id") ON DELETE CASCADE ON UPDATE CASCADE; - -ALTER TABLE "augur_data"."pull_request_review_message_ref" ADD CONSTRAINT "fk_pull_request_review_message_ref_pull_request_reviews_1" FOREIGN KEY ("pr_review_id") REFERENCES "augur_data"."pull_request_reviews" ("pr_review_id") ON DELETE CASCADE ON UPDATE CASCADE; - -ALTER TABLE "augur_data"."pull_request_reviewers" ADD CONSTRAINT "fk_pull_request_reviewers_pull_requests_1" FOREIGN KEY ("pull_request_id") REFERENCES "augur_data"."pull_requests" ("pull_request_id") ON DELETE CASCADE ON UPDATE CASCADE; - -ALTER TABLE "augur_data"."pull_request_reviews" ADD CONSTRAINT "fk_pull_request_reviews_pull_requests_1" FOREIGN KEY ("pull_request_id") REFERENCES "augur_data"."pull_requests" ("pull_request_id") ON DELETE CASCADE ON UPDATE CASCADE; - -ALTER TABLE "augur_data"."pull_request_teams" ADD CONSTRAINT "fk_pull_request_teams_pull_requests_1" FOREIGN KEY ("pull_request_id") REFERENCES "augur_data"."pull_requests" ("pull_request_id") ON DELETE CASCADE ON UPDATE CASCADE; - -ALTER TABLE "augur_data"."pull_requests" ADD CONSTRAINT "fk_pull_requests_pull_request_meta_1" FOREIGN KEY ("pr_meta_head_id") REFERENCES "augur_data"."pull_request_meta" ("pr_repo_meta_id") ON DELETE CASCADE ON UPDATE CASCADE; - -ALTER TABLE "augur_data"."pull_requests" ADD CONSTRAINT "fk_pull_requests_pull_request_meta_2" FOREIGN KEY ("pr_meta_base_id") REFERENCES "augur_data"."pull_request_meta" ("pr_repo_meta_id") ON DELETE CASCADE ON UPDATE CASCADE; - - - -update "augur_operations"."augur_settings" set value = 39 where setting = 'augur_data_version'; - - -COMMENT ON TABLE "augur_data"."contributor_repo" IS 'Developed in Partnership with Andrew Brain'; - -ALTER TABLE "augur_data"."contributor_repo" ADD COLUMN IF NOT EXISTS "repo_id" int8 NOT NULL; - -ALTER TABLE "augur_data"."contributor_repo" ADD COLUMN IF NOT EXISTS "repo_name" varchar COLLATE "pg_catalog"."default" NOT NULL; - -ALTER TABLE "augur_data"."contributor_repo" ADD COLUMN IF NOT EXISTS "event_id" int8 NOT NULL; - -ALTER TABLE "augur_data"."contributor_repo" ADD COLUMN IF NOT EXISTS "created_at" timestamp(0) NOT NULL; - -ALTER TABLE "augur_data"."contributors_aliases" DROP CONSTRAINT IF EXISTS "fk_contributors_aliases_contributors_1"; - -ALTER TABLE "augur_data"."message" DROP CONSTRAINT IF EXISTS "fk_message_repo_groups_list_serve_1"; - -ALTER TABLE "augur_data"."message" DROP CONSTRAINT IF EXISTS "fk_message_platform_1"; - -ALTER TABLE "augur_data"."message" DROP CONSTRAINT IF EXISTS "fk_message_contributors_1"; - -ALTER TABLE "augur_data"."pull_request_reviewers" DROP CONSTRAINT IF EXISTS "fk_pull_request_reviewers_contributors_1"; - -ALTER TABLE "augur_data"."pull_request_reviews" DROP CONSTRAINT IF EXISTS "fk_pull_request_reviews_contributors_1"; - -ALTER TABLE "augur_data"."pull_requests" DROP CONSTRAINT IF EXISTS "fk_pull_requests_repo_1"; - -ALTER TABLE "augur_data"."contributors_aliases" DROP CONSTRAINT IF EXISTS "fk_alias_id"; - -ALTER TABLE "augur_data"."pull_request_commits" DROP CONSTRAINT IF EXISTS "fk_pr_commit_cntrb_id"; - -ALTER TABLE "augur_data"."contributors_aliases" ADD CONSTRAINT "fk_alias_id" FOREIGN KEY ("cntrb_a_id") REFERENCES "augur_data"."contributors" ("cntrb_id") ON DELETE CASCADE ON UPDATE CASCADE NOT VALID; - -ALTER TABLE "augur_data"."contributors_aliases" ADD CONSTRAINT "fk_contributors_aliases_contributors_1" FOREIGN KEY ("cntrb_id") REFERENCES "augur_data"."contributors" ("cntrb_id") ON DELETE CASCADE ON UPDATE CASCADE NOT VALID; - -ALTER TABLE "augur_data"."message" ADD CONSTRAINT "fk_message_contributors_1" FOREIGN KEY ("cntrb_id") REFERENCES "augur_data"."contributors" ("cntrb_id") ON DELETE CASCADE ON UPDATE CASCADE NOT VALID; - -ALTER TABLE "augur_data"."message" ADD CONSTRAINT "fk_message_platform_1" FOREIGN KEY ("pltfrm_id") REFERENCES "augur_data"."platform" ("pltfrm_id") ON DELETE CASCADE ON UPDATE CASCADE NOT VALID; - -ALTER TABLE "augur_data"."message" ADD CONSTRAINT "fk_message_repo_groups_list_serve_1" FOREIGN KEY ("rgls_id") REFERENCES "augur_data"."repo_groups_list_serve" ("rgls_id") ON DELETE CASCADE ON UPDATE CASCADE NOT VALID; - -ALTER TABLE "augur_data"."pull_request_commits" ADD CONSTRAINT "fk_pr_commit_cntrb_id" FOREIGN KEY ("pr_cmt_author_cntrb_id") REFERENCES "augur_data"."contributors" ("cntrb_id") ON DELETE CASCADE ON UPDATE CASCADE NOT VALID; - -ALTER TABLE "augur_data"."pull_request_reviewers" ADD CONSTRAINT "fk_pull_request_reviewers_contributors_1" FOREIGN KEY ("cntrb_id") REFERENCES "augur_data"."contributors" ("cntrb_id") ON DELETE CASCADE ON UPDATE CASCADE NOT VALID; - -ALTER TABLE "augur_data"."pull_request_reviews" ADD CONSTRAINT "fk_pull_request_reviews_contributors_1" FOREIGN KEY ("cntrb_id") REFERENCES "augur_data"."contributors" ("cntrb_id") ON DELETE CASCADE ON UPDATE CASCADE NOT VALID; - -ALTER TABLE "augur_data"."pull_requests" ADD CONSTRAINT "fk_pr_contribs" FOREIGN KEY ("pr_augur_contributor_id") REFERENCES "augur_data"."contributors" ("cntrb_id") ON DELETE CASCADE ON UPDATE CASCADE NOT VALID; - -ALTER TABLE "augur_data"."pull_requests" ADD CONSTRAINT "fk_pull_requests_repo_1" FOREIGN KEY ("repo_id") REFERENCES "augur_data"."repo" ("repo_id") ON DELETE CASCADE ON UPDATE CASCADE NOT VALID; - -update "augur_operations"."augur_settings" set value = 40 where setting = 'augur_data_version'; - - -CREATE INDEX pull_requests_idx_repo_id_data_datex ON "augur_data"."pull_requests" (repo_id,data_collection_date); -CREATE INDEX repo_idx_repo_id_repo_namex ON "augur_data"."repo" (repo_id,repo_name); -CREATE INDEX repo_info_idx_repo_id_data_datex ON "augur_data"."repo_info" (repo_id,data_collection_date); -CREATE INDEX repo_info_idx_repo_id_data_date_1x ON "augur_data"."repo_info" (repo_id,data_collection_date); - -update "augur_operations"."augur_settings" set value = 41 where setting = 'augur_data_version'; - --- Update Repo Foreign Key -ALTER TABLE "augur_data"."repo" DROP CONSTRAINT "fk_repo_repo_groups_1"; - -ALTER TABLE "augur_data"."repo" ADD CONSTRAINT "fk_repo_repo_groups_1" FOREIGN KEY ("repo_group_id") REFERENCES "augur_data"."repo_groups" ("repo_group_id") ON DELETE NO ACTION ON UPDATE NO ACTION NOT VALID; - -COMMENT ON CONSTRAINT "fk_repo_repo_groups_1" ON "augur_data"."repo" IS 'Repo_groups cardinality set to one and only one because, although in theory there could be more than one repo group for a repo, this might create dependencies in hosted situation that we do not want to live with. '; - -ALTER TABLE "augur_data"."message" - ALTER COLUMN "data_collection_date" SET DEFAULT CURRENT_TIMESTAMP; - -update "augur_operations"."augur_settings" set value = 42 where setting = 'augur_data_version'; - --- Adding new contributors to the database - --- Adding new contributors to the database --- Adding new contributors to the database - --- Adding new contributors to the database - -BEGIN; -select setval('augur_data.contributor_affiliations_ca_id_seq', 34000, true); - -select nextval('augur_data.contributor_affiliations_ca_id_seq'::regclass); - - -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "ca_start_date", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_affiliation", "ca_active") VALUES (25222, 'venuvardhanreddytekula8@gmail.com', '1970-01-01', NULL, NULL, NULL, '2021-02-06 15:14:35', '2021-02-06 15:14:35', 'Google Summer of Code', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "ca_start_date", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_affiliation", "ca_active") VALUES (25221, 'nichols.keanu9@gmail.com', '1970-01-01', NULL, NULL, NULL, '2021-02-06 15:14:11', '2021-02-06 15:14:11', 'Google Summer of Code', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "ca_start_date", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_affiliation", "ca_active") VALUES (25220, 'ubuntu@ip-172-31-2-14.us-west-2.compute.internal', '1970-01-01', NULL, NULL, NULL, '2021-02-06 15:13:50', '2021-02-06 15:13:50', 'University of Missouri', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "ca_start_date", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_affiliation", "ca_active") VALUES (25219, 'kmlumbard@gmail.com', '1970-01-01', NULL, NULL, NULL, '2021-02-06 15:13:21', '2021-02-06 15:13:21', 'University of Nebraska-Omaha', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "ca_start_date", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_affiliation", "ca_active") VALUES (25218, 'jonah.zukosky@gmail.com', '1970-01-01', NULL, NULL, NULL, '2021-02-06 15:12:50', '2021-02-06 15:12:50', 'University of Missouri', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "ca_start_date", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_affiliation", "ca_active") VALUES (25217, 'pogayo17@alustudent.com', '1970-01-01', NULL, NULL, NULL, '2021-02-06 15:12:14', '2021-02-06 15:12:14', 'Google Summer of Code', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "ca_start_date", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_affiliation", "ca_active") VALUES (25216, 'mishrapratik356@gmail.com', '1970-01-01', NULL, NULL, NULL, '2021-02-06 15:11:23', '2021-02-06 15:11:23', 'Google Summer of Code', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "ca_start_date", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_affiliation", "ca_active") VALUES (25215, 'andrewbrain2019@gmail.com', '1970-01-01', NULL, NULL, NULL, '2021-02-06 15:10:42', '2021-02-06 15:10:42', 'University of Missouri', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "ca_start_date", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_affiliation", "ca_active") VALUES (25214, 'root@bing0ne.com', '1970-01-01', NULL, NULL, NULL, '2021-02-06 15:10:15', '2021-02-06 15:10:15', 'Google Summer of Code', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "ca_start_date", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_affiliation", "ca_active") VALUES (25213, 'gordonli@me.com', '1970-01-01', NULL, NULL, NULL, '2021-02-06 15:09:46', '2021-02-06 15:09:46', 'CHAOSS Community', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "ca_start_date", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_affiliation", "ca_active") VALUES (25212, 'ac.be', '1970-01-01', NULL, NULL, NULL, '2021-02-06 15:09:20', '2021-02-06 15:09:20', 'CHAOSS Community', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "ca_start_date", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_affiliation", "ca_active") VALUES (25211, 'shohanduttaroy99@gmail.com', '1970-01-01', NULL, NULL, NULL, '2021-02-06 15:08:56', '2021-02-06 15:08:56', 'Google Summer of Code', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "ca_start_date", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_affiliation", "ca_active") VALUES (25210, 'missouri.edu', '1970-01-01', NULL, NULL, NULL, '2021-02-06 15:08:27', '2021-02-06 15:08:27', 'University of Missouri', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "ca_start_date", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_affiliation", "ca_active") VALUES (25209, 'akarajgi0@gmail.com', '1970-01-01', NULL, NULL, NULL, '2021-02-06 15:07:11', '2021-02-06 15:07:11', 'Google Summer of Code', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "ca_start_date", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_affiliation", "ca_active") VALUES (25208, 'jacobeharding@gmail.com', '1970-01-01', NULL, NULL, NULL, '2021-02-06 15:06:45', '2021-02-06 15:06:45', 'CHAOSS Community', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "ca_start_date", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_affiliation", "ca_active") VALUES (25207, 'hacksmath@gmail.com', '1970-01-01', NULL, NULL, NULL, '2021-02-06 15:06:19', '2021-02-06 15:06:19', 'CHAOSS Community', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "ca_start_date", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_affiliation", "ca_active") VALUES (25206, 'benjaminparish628@gmail.com', '1970-01-01', NULL, NULL, NULL, '2021-02-06 15:05:48', '2021-02-06 15:05:48', 'CHAOSS Community', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "ca_start_date", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_affiliation", "ca_active") VALUES (25205, 'msnell@unomaha.edu', '1970-01-01', NULL, NULL, NULL, '2021-02-06 15:04:05', '2021-02-06 15:04:05', 'University of Nebraska-Omaha', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "ca_start_date", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_affiliation", "ca_active") VALUES (25204, 'aksharap.181it132@nitk.edu.in', '1970-01-01', NULL, NULL, NULL, '2021-02-06 14:10:03', '2021-02-06 14:10:03', 'Google Summer of Code', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "ca_start_date", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_affiliation", "ca_active") VALUES (25203, 'iyovcheva@vmware.com', '1970-01-01', NULL, NULL, NULL, '2021-02-06 14:09:36', '2021-02-06 14:09:36', 'VMWare', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "ca_start_date", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_affiliation", "ca_active") VALUES (25202, 'maximumbalk@gmail.com', '1970-01-01', NULL, NULL, NULL, '2021-02-06 14:09:15', '2021-02-06 14:09:15', 'Google Summer of Code', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "ca_start_date", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_affiliation", "ca_active") VALUES (25201, '43684300+pratikmishra356@users.noreply.github.com', '1970-01-01', NULL, NULL, NULL, '2021-02-06 14:08:34', '2021-02-06 14:08:34', 'Google Summer of Code', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "ca_start_date", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_affiliation", "ca_active") VALUES (25200, 'abhinavbajpai2012@gmail.com', '1970-01-01', NULL, NULL, NULL, '2021-02-06 14:08:01', '2021-02-06 14:08:01', 'Google Summer of Code', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "ca_start_date", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_affiliation", "ca_active") VALUES (25188, 'ortonpaul18@gmail.com', '1970-01-01', NULL, NULL, NULL, '2021-02-06 14:05:58', '2021-02-06 14:05:58', 'Google Summer of Code', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "ca_start_date", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_affiliation", "ca_active") VALUES (25187, 'linkgeorg@gmail.com', '1970-01-01', NULL, NULL, NULL, '2021-02-06 14:05:29', '2021-02-06 14:05:29', 'University of Nebraska-Omaha', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "ca_start_date", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_affiliation", "ca_active") VALUES (25186, 'parth261297@gmail.com', '1970-01-01', NULL, NULL, NULL, '2021-02-06 14:05:02', '2021-02-06 14:05:02', 'Google Summer of Code', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "ca_start_date", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_affiliation", "ca_active") VALUES (25185, 'users.noreply.github.com', '1970-01-01', NULL, NULL, NULL, '2021-02-06 14:04:39', '2021-02-06 14:04:39', 'CHAOSS Community', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "ca_start_date", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_affiliation", "ca_active") VALUES (25184, 'foundjem@users.noreply.github.com', '1970-01-01', NULL, NULL, NULL, '2021-02-06 14:04:12', '2021-02-06 14:04:12', 'CHAOSS Community', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "ca_start_date", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_affiliation", "ca_active") VALUES (25183, 'gsyc.es', '1970-01-01', NULL, NULL, NULL, '2021-02-06 14:03:39', '2021-02-06 14:03:39', 'Bitergia', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "ca_start_date", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_affiliation", "ca_active") VALUES (25182, 'harshalmittal4@gmail.com', '1970-01-01', NULL, NULL, NULL, '2021-02-06 14:03:21', '2021-02-06 14:03:21', 'Bitergia', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "ca_start_date", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_affiliation", "ca_active") VALUES (25181, '31676518+tretrue@users.noreply.github.com', '1970-01-01', NULL, NULL, NULL, '2021-02-06 14:02:57', '2021-02-06 14:02:57', 'University of Missouri', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "ca_start_date", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_affiliation", "ca_active") VALUES (25180, 'klumbard@unomaha.edu', '1970-01-01', NULL, NULL, NULL, '2021-02-06 14:02:28', '2021-02-06 14:02:28', 'University of Nebraska-Omaha', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "ca_start_date", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_affiliation", "ca_active") VALUES (25179, 'gabe.heim@yahoo.com', '1970-01-01', NULL, NULL, NULL, '2021-02-06 14:01:55', '2021-02-06 14:01:55', 'University of Missouri', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "ca_start_date", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_affiliation", "ca_active") VALUES (25178, 'ccarterlandis@pm.me', '1970-01-01', NULL, NULL, NULL, '2021-02-06 14:01:34', '2021-02-06 14:01:34', 'University of Missouri', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "ca_start_date", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_affiliation", "ca_active") VALUES (25177, 'ccarterlandis@gmail.com', '1970-01-01', NULL, NULL, NULL, '2021-02-06 14:01:13', '2021-02-06 14:01:13', 'University of Missouri', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "ca_start_date", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_affiliation", "ca_active") VALUES (25176, 'abuhman@users.noreply.github.com', '1970-01-01', NULL, NULL, NULL, '2021-02-06 14:00:32', '2021-02-06 14:00:32', 'University of Nebraska-Omaha', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "ca_start_date", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_affiliation", "ca_active") VALUES (25175, 'gogginss@missouri.edu', '1970-01-01', NULL, NULL, NULL, '2021-02-06 14:00:06', '2021-02-06 14:00:06', 'University of Missouri', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "ca_start_date", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_affiliation", "ca_active") VALUES (25174, 'spencerrrobinson@unomaha.edu', '1970-01-01', NULL, NULL, NULL, '2021-02-06 13:59:19', '2021-02-06 13:59:19', 'University of Nebraska-Omaha', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "ca_start_date", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_affiliation", "ca_active") VALUES (25173, 'germonprez@gmail.com', '1970-01-01', NULL, NULL, NULL, '2021-02-06 13:58:48', '2021-02-06 13:58:48', 'University of Nebraska-Omaha', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "ca_start_date", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_affiliation", "ca_active") VALUES (25172, 'derek@howderek.com', '1970-01-01', NULL, NULL, NULL, '2021-02-06 13:57:56', '2021-02-06 13:57:56', 'Lawrence Livermore National Lab', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "ca_start_date", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_affiliation", "ca_active") VALUES (25171, 'doombreakr@gmail.com', '1970-01-01', NULL, NULL, NULL, '2021-02-06 13:57:20', '2021-02-06 13:57:20', 'Lawrence Livermore National Lab', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "ca_start_date", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_affiliation", "ca_active") VALUES (25170, 'cmehil.warn@gmail.com', '2016-05-06', 'load', '1.0', 'load', '2021-02-06 13:55:16', '2021-02-06 13:56:46', 'University of Nebraska-Omaha', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24189, 'jschnake@vmware.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24190, 'schnake.john@gmail.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24191, 'bmcerlean@vmware.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24192, 'bridget@bitnami.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24193, 'ashish.amarnath@gmail.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24194, 'ashisham@vmware.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24195, 'gus@inodes.org', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24196, 'felipe.alfaro@gmail.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24197, 'sameer@damagehead.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24198, 'sameer@bitnami.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24199, 'sameersbn@Sameers-MacBook-Pro.local', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24200, 'adnan@bitnami.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24201, 'adnan@prydoni.us', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24202, 'adnan@adnan-bitnami.local', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24203, 'apulido@gmail.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24204, 'ara@ubuntu.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24205, 'bridgetmcerlean@gmail.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24206, 'migmartri@gmail.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24207, 'miguel@bitnami.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24208, 'dbarranco@bitnami.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24209, 'jbianquetti@bitnami.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24210, 'jbianquetti-nami@users.noreply.github.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24211, 'andres.mgotor@gmail.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24212, 'andres@bitnami.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24213, 'juanjosec@gmail.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24214, 'containers@bitnami.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24215, 'bors\[bot\]@users.noreply.github.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24216, 'matt.goodall@gmail.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24217, 'j-fuentes@users.noreply.github.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24218, 'jfuentes@bitnami.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24219, 'mnelson@bitnami.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24220, 'mkm@bitnami.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24221, 'mmikulicic@gmail.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24222, 'james@jameswestby.net', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24223, 'stephen.stewart@carisenda.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24224, 'daniel.lopez@gmail.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24225, 'nomisbeme@users.noreply.github.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24226, 'marcos@bitnami.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24227, 'marcosbc@users.noreply.github.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24228, 'juan@bitnami.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24229, 'juan_ariza_cordoba@hotmail.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24230, 'jota@bitnami.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24231, 'jotamartos@gmail.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24232, 'alejandro@bitnami.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24233, 'alexrwave@gmail.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24234, 'jotadrilo@users.noreply.github.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24235, 'jsalmeron@bitnami.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24236, 'tomas@bitnami.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24237, 'vikram@bitnami.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24238, 'vikram-bitnami@users.noreply.github.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24239, 'crhernandez@bitnami.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24240, 'carrodher1179@gmail.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24241, 'juanjo@bitnami.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24242, 'juanjo@bitrock.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24243, 'beltran@bitnami.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24244, 'angel@bitnami.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24245, 'Angelmmiguel@users.noreply.github.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24246, 'rcampuzano82@gmail.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24247, 'andy@heptio.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24248, 'andy.goldstein@gmail.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24249, 'goldsteina@vmware.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24250, 'nolan@heptio.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (27291, 'brubakern@vmware.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24252, 'nolan@nbrubaker.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24253, 'stevek@heptio.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24254, 'steve@heptio.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24255, 'stephen.kriss@gmail.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24256, 'krisss@vmware.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24257, 'carlisia@heptio.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24258, 'carlisia@grokkingtech.io', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24259, 'carlisiac@vmware.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24260, 'carlisia@vmware.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24261, 'wayne@heptio.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24262, 'wayne@riotousliving.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24263, 'wwitzel3@vmware.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24264, 'jennifer@heptio.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24265, 'jrondeau@heptio.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24266, 'Bradamant3@users.noreply.github.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24267, 'aadnan@vmware.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24268, 'dave@heptio.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24269, 'dave@cheney.net', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24270, 'steves@heptio.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24271, 'steve@stevesloka.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24272, 'slokas@vmware.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24273, 'ynick@heptio.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24274, 'inocuo@gmail.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24275, 'ynick@vmware.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24276, 'jpeach@vmware.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24277, 'ross@heptio.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24278, 'ross@kukulinski.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24279, 'ralph@heptio.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24280, 'ralph.l.bankston@gmail.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24281, 'alex_brand@heptio.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24282, 'alexbrand09@gmail.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24283, 'joe@heptio.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24284, 'joe.github@bedafamily.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24285, 'vince@heptio.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24286, 'vince@vincepri.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24287, 'chuck@heptio.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24288, 'ha.chuck@gmail.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24289, 'jason@heptio.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24290, 'detiber@gmail.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24291, 'detiberusj@vmware.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24292, 'liz@heptio.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24293, '.*liztio@users.noreply.github.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24294, 'naadir@heptio.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24295, 'naadir@randomvariable.co.uk', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24296, 'randomvariable@users.noreply.github.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24297, 'ruben@heptio.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24298, 'rubenoz@gmail.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (24299, 'rdodev@vmware.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (25300, 'tstclair@heptio.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (25301, 'timothysc@users.noreply.github.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (25302, 'craigtracey@gmail.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (25303, 'luohui925@gmail.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (25304, 'davanum@gmail.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (25305, 'amy@users.noreply.github.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (25306, 'bryanliles@gmail.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (25307, 'bryan@Bryans-MacBook-Pro.local', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (25308, 'lilesb@vmware.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (25309, 'sfoohei@gmail.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (25310, 'foos@vmware.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (25311, 'mlandaverde@heptio.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (25312, 'mdaverde@users.noreply.github.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (25313, 'shomron@gmail.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (25314, 'derek@heptio.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (25315, 'jderekwilson@gmail.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (25316, 'eric@heptio.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (25317, 'kate.kuchin@gmail.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (25318, 'suraci.alex@gmail.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (25319, 'asuraci@pivotal.io', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (25320, 'alex@localhost.localdomain', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (25321, 'julian.zucker@gmail.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (25322, 'sahil.muthoo@gmail.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (25323, 'fali@pivotal.io', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (25324, 'fai28683@gmail.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (25325, 'dgarnier@pivotal.io', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (25326, 'git@garnier.wf', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (25327, 'matthew.heidemann@gmail.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (25328, 'me@lurraca.com', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; -INSERT INTO "augur_data"."contributor_affiliations"("ca_id", "ca_domain", "tool_source", "tool_version", "data_source", "data_collection_date", "ca_last_used", "ca_start_date", "ca_affiliation", "ca_active") VALUES (25329, 'lurraca@pivotal.io', 'Helper Script', NULL, 'Dawn''s vmware_mapping JSON', '2020-04-28 18:52:49', '2020-04-28 18:52:49', '1970-01-01', 'VMware', 1) ON CONFLICT DO NOTHING; - -update "augur_operations"."augur_settings" set value = 43 where setting = 'augur_data_version'; - - -COMMIT; - - - - - - -ALTER TABLE "augur_data"."pull_request_analysis" ALTER COLUMN "merge_probability" TYPE numeric(256,250) USING "merge_probability"::numeric(256,250); - -ALTER TABLE "augur_data"."pull_requests" ALTER COLUMN "repo_id" SET DEFAULT 0; - -COMMENT ON CONSTRAINT "fk_repo_repo_groups_1" ON "augur_data"."repo" IS 'Repo_groups cardinality set to one and only one because, although in theory there could be more than one repo group for a repo, this might create dependencies in hosted situation that we do not want to live with. '; - -CREATE INDEX IF NOT EXISTS "probability_idx" ON "augur_data"."pull_request_analysis" USING btree ( - "merge_probability" "pg_catalog"."numeric_ops" DESC NULLS LAST -); - - -update "augur_operations"."augur_settings" set value = 44 where setting = 'augur_data_version'; -COMMIT; - - - - - - -CREATE SEQUENCE IF "augur_operations"."affiliations_corp_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 620000 -CACHE 1; - -CREATE SEQUENCE "augur_operations"."worker_oauth_oauth_id_seq" -INCREMENT 1 -MINVALUE 1 -MAXVALUE 9223372036854775807 -START 620000 -CACHE 1; - -COMMENT ON TABLE "augur_operations"."augur_settings" IS 'Augur settings include the schema version, and the Augur API Key as of 10/25/2020. Future augur settings may be stored in this table, which has the basic structure of a name-value pair. '; - -COMMENT ON TABLE "augur_operations"."repos_fetch_log" IS 'For future use when we move all working tables to the augur_operations schema. '; - -COMMENT ON TABLE "augur_operations"."worker_history" IS 'This table stores the complete history of job execution, including success and failure. It is useful for troubleshooting. '; - -COMMENT ON TABLE "augur_operations"."worker_job" IS 'This table stores the jobs workers collect data for. A job is found in the code, and in the augur.config.json under the construct of a “model”. '; - -ALTER TABLE "augur_operations"."worker_job" ALTER COLUMN "description" SET DEFAULT 'None'::character varying; - -COMMENT ON TABLE "augur_operations"."worker_oauth" IS 'This table stores credentials for retrieving data from platform API’s. Entries in this table must comply with the terms of service for each platform. '; - -ALTER TABLE "augur_operations"."worker_oauth" ALTER COLUMN "oauth_id" TYPE int8 USING "oauth_id"::int8; - -ALTER TABLE "augur_operations"."worker_oauth" ALTER COLUMN "oauth_id" SET DEFAULT nextval('"augur_operations".worker_oauth_oauth_id_seq'::regclass); - -ALTER TABLE "augur_operations"."worker_oauth" ADD CONSTRAINT "worker_oauth_pkey" PRIMARY KEY ("oauth_id"); - -COMMENT ON TABLE "augur_operations"."worker_settings_facade" IS 'For future use when we move all working tables to the augur_operations schema. '; - -COMMENT ON TABLE "augur_operations"."working_commits" IS 'For future use when we move all working tables to the augur_operations schema. '; - -SELECT setval('"augur_operations"."affiliations_corp_id_seq"', 1, false); - -ALTER SEQUENCE "augur_operations"."affiliations_corp_id_seq" OWNER TO "augur"; - -SELECT setval('"augur_operations"."gh_worker_history_history_id_seq"', 6300000, true); - -SELECT setval('"augur_operations"."worker_oauth_oauth_id_seq"', 6300000, true); - -ALTER SEQUENCE "augur_operations"."worker_oauth_oauth_id_seq" OWNER TO "augur"; - -CREATE INDEX "repos_id,statusops" ON "augur_operations"."repos_fetch_log" USING btree ( - "repos_id" "pg_catalog"."int4_ops" ASC NULLS LAST, - "status" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST -); - - - -update "augur_operations"."augur_settings" set value = 45 where setting = 'augur_data_version'; - - - --- ---------------------------- --- Table structure for contributor_repo --- ---------------------------- - -BEGIN; - -DROP TABLE IF EXISTS "augur_data"."contributor_repo"; - - -CREATE TABLE IF NOT EXISTS "augur_data"."contributor_repo" ( - "cntrb_repo_id" SERIAL8, - "cntrb_id" int8 NOT NULL, - "repo_git" varchar COLLATE "pg_catalog"."default" NOT NULL, - "tool_source" varchar COLLATE "pg_catalog"."default", - "tool_version" varchar COLLATE "pg_catalog"."default", - "data_source" varchar COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0) DEFAULT CURRENT_TIMESTAMP, - "repo_name" varchar(255) COLLATE "pg_catalog"."default" NOT NULL, - "gh_repo_id" int8 NOT NULL, - "cntrb_category" varchar(255) COLLATE "pg_catalog"."default", - "event_id" int8 -) -; -ALTER TABLE "augur_data"."contributor_repo" OWNER TO "augur"; -COMMENT ON COLUMN "augur_data"."contributor_repo"."cntrb_id" IS 'This is not null because what is the point without the contributor in this table? '; -COMMENT ON COLUMN "augur_data"."contributor_repo"."repo_git" IS 'Similar to cntrb_id, we need this data for the table to have meaningful data. '; -COMMENT ON TABLE "augur_data"."contributor_repo" IS 'Developed in Partnership with Andrew Brain. -
From: 

[ - { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - } -] -




'; - --- ---------------------------- --- Primary Key structure for table contributor_repo --- ---------------------------- -ALTER TABLE "augur_data"."contributor_repo" DROP CONSTRAINT "cntrb_repo_id_key"; - -ALTER TABLE "augur_data"."contributor_repo" ADD CONSTRAINT "cntrb_repo_id_key" PRIMARY KEY ("cntrb_repo_id"); - --- ---------------------------- --- Foreign Keys structure for table contributor_repo --- ---------------------------- -ALTER TABLE "augur_data"."contributor_repo" DROP CONSTRAINT "fk_contributor_repo_contributors_1"; - -ALTER TABLE "augur_data"."contributor_repo" ADD CONSTRAINT "fk_contributor_repo_contributors_1" FOREIGN KEY ("cntrb_id") REFERENCES "augur_data"."contributors" ("cntrb_id") ON DELETE RESTRICT ON UPDATE CASCADE; - -update "augur_operations"."augur_settings" set value = 46 where setting = 'augur_data_version'; - - -COMMIT; - - - ---------------- 47 ------------------ - - --- ---------------------------- --- Table structure for contributor_repo --- ---------------------------- - -BEGIN; - -DROP TABLE IF EXISTS "augur_data"."contributor_repo"; - - -CREATE TABLE IF NOT EXISTS "augur_data"."contributor_repo" ( - "cntrb_repo_id" SERIAL8, - "cntrb_id" int8 NOT NULL, - "repo_git" varchar COLLATE "pg_catalog"."default" NOT NULL, - "tool_source" varchar COLLATE "pg_catalog"."default", - "tool_version" varchar COLLATE "pg_catalog"."default", - "data_source" varchar COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0) DEFAULT CURRENT_TIMESTAMP, - "repo_name" varchar(255) COLLATE "pg_catalog"."default" NOT NULL, - "gh_repo_id" int8 NOT NULL, - "cntrb_category" varchar(255) COLLATE "pg_catalog"."default", - "event_id" int8 -) -; -ALTER TABLE "augur_data"."contributor_repo" OWNER TO "augur"; -COMMENT ON COLUMN "augur_data"."contributor_repo"."cntrb_id" IS 'This is not null because what is the point without the contributor in this table? '; -COMMENT ON COLUMN "augur_data"."contributor_repo"."repo_git" IS 'Similar to cntrb_id, we need this data for the table to have meaningful data. '; -COMMENT ON TABLE "augur_data"."contributor_repo" IS 'Developed in Partnership with Andrew Brain. -
From: 

[ - { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - } -] -




'; - --- ---------------------------- --- Primary Key structure for table contributor_repo --- ---------------------------- -ALTER TABLE "augur_data"."contributor_repo" DROP CONSTRAINT "cntrb_repo_id_key"; - -ALTER TABLE "augur_data"."contributor_repo" ADD CONSTRAINT "cntrb_repo_id_key" PRIMARY KEY ("cntrb_repo_id"); - --- ---------------------------- --- Foreign Keys structure for table contributor_repo --- ---------------------------- -ALTER TABLE "augur_data"."contributor_repo" DROP CONSTRAINT "fk_contributor_repo_contributors_1"; - -ALTER TABLE "augur_data"."contributor_repo" ADD CONSTRAINT "fk_contributor_repo_contributors_1" FOREIGN KEY ("cntrb_id") REFERENCES "augur_data"."contributors" ("cntrb_id") ON DELETE RESTRICT ON UPDATE CASCADE; - -update "augur_operations"."augur_settings" set value = 46 where setting = 'augur_data_version'; - - -COMMIT; - - - ---------------- 47 ------------------ - - - -BEGIN; - --- ---------------------------- --- Table structure for contributor_repo --- ---------------------------- -DROP TABLE IF EXISTS "augur_data"."contributor_repo"; -CREATE TABLE "augur_data"."contributor_repo" ( - "cntrb_repo_id" int4 NOT NULL DEFAULT nextval('"augur_data".contributor_repo_cntrb_repo_id_seq'::regclass), - "cntrb_id" int8 NOT NULL, - "repo_git" varchar COLLATE "pg_catalog"."default" NOT NULL, - "tool_source" varchar COLLATE "pg_catalog"."default", - "tool_version" varchar COLLATE "pg_catalog"."default", - "data_source" varchar COLLATE "pg_catalog"."default", - "data_collection_date" timestamp(0) DEFAULT CURRENT_TIMESTAMP, - "repo_name" varchar(255) COLLATE "pg_catalog"."default" NOT NULL, - "gh_repo_id" int8 NOT NULL, - "cntrb_category" varchar(255) COLLATE "pg_catalog"."default", - "event_id" int8, - "created_at" timestamp(0) -) -; -ALTER TABLE "augur_data"."contributor_repo" OWNER TO "augur"; -COMMENT ON COLUMN "augur_data"."contributor_repo"."cntrb_id" IS 'This is not null because what is the point without the contributor in this table? '; -COMMENT ON COLUMN "augur_data"."contributor_repo"."repo_git" IS 'Similar to cntrb_id, we need this data for the table to have meaningful data. '; -COMMENT ON TABLE "augur_data"."contributor_repo" IS 'Developed in Partnership with Andrew Brain. -
From: 

[ - { - "login": "octocat", - "id": 1, - "node_id": "MDQ6VXNlcjE=", - "avatar_url": "https://github.com/images/error/octocat_happy.gif", - "gravatar_id": "", - "url": "https://api.github.com/users/octocat", - "html_url": "https://github.com/octocat", - "followers_url": "https://api.github.com/users/octocat/followers", - "following_url": "https://api.github.com/users/octocat/following{/other_user}", - "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", - "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", - "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", - "organizations_url": "https://api.github.com/users/octocat/orgs", - "repos_url": "https://api.github.com/users/octocat/repos", - "events_url": "https://api.github.com/users/octocat/events{/privacy}", - "received_events_url": "https://api.github.com/users/octocat/received_events", - "type": "User", - "site_admin": false - } -] -




'; - - --- ---------------------------- --- Primary Key structure for table contributor_repo --- ---------------------------- -ALTER TABLE "augur_data"."contributor_repo" DROP CONSTRAINT IF EXISTS "cntrb_repo_id_key"; - -ALTER TABLE "augur_data"."contributor_repo" ADD CONSTRAINT "cntrb_repo_id_key" PRIMARY KEY ("cntrb_repo_id"); - --- ---------------------------- --- Foreign Keys structure for table contributor_repo --- ---------------------------- -ALTER TABLE "augur_data"."contributor_repo" DROP CONSTRAINT IF EXISTS "fk_contributor_repo_contributors_1"; - -ALTER TABLE "augur_data"."contributor_repo" ADD CONSTRAINT "fk_contributor_repo_contributors_1" FOREIGN KEY ("cntrb_id") REFERENCES "augur_data"."contributors" ("cntrb_id") ON DELETE RESTRICT ON UPDATE CASCADE; - -update "augur_operations"."augur_settings" set value = 47 where setting = 'augur_data_version'; - - -COMMIT; - - -BEGIN; - -ALTER TABLE "augur_data"."topic_words" - DROP CONSTRAINT IF EXISTS "fk_topic_words_repo_topic_1"; - -update "augur_operations"."augur_settings" set value = 48 where setting = 'augur_data_version'; - - -COMMIT; - - - diff --git a/schema/20201025-Release-0.14.0.svg b/schema/20201025-Release-0.14.0.svg deleted file mode 100644 index 817b58e4c4..0000000000 --- a/schema/20201025-Release-0.14.0.svg +++ /dev/null @@ -1,54980 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/schema/20201111-Release-0.14.1.pdf b/schema/20201111-Release-0.14.1.pdf deleted file mode 100644 index a5e23643dbcfa9b01510a7cbf82aa11a28132d53..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 305164 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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/schema/20210711-Augur-Model.ndm2 b/schema/20210811-augur-0.2.1-release.ndm2 similarity index 95% rename from schema/20210711-Augur-Model.ndm2 rename to schema/20210811-augur-0.2.1-release.ndm2 index d73fdf01ce..63e3c4a93f 100644 --- a/schema/20210711-Augur-Model.ndm2 +++ b/schema/20210811-augur-0.2.1-release.ndm2 @@ -12,7 +12,7 @@ "server": { "objectType": "Server_PGSQL", "name": "Default", - "serverVersion": 130000, + "serverVersion": 120000, "edition": "Default", "catalogs": [ { @@ -33,7 +33,7 @@ "tables": [ { "objectType": "TableNormal_PGSQL", - "name": "analysis_log", + "name": "_dev1_repo_deps_scorecard", "comment": "", "tablespace": "", "isUnlogged": false, @@ -41,8 +41,8 @@ "inheritFromTables": [], "hasOIDs": false, "fillFactor": -1, - "oldName": "analysis_log", - "oid": 185889, + "oldName": "_dev1_repo_deps_scorecard", + "oid": 15488532, "rows": 0, "isInheritTables": false, "cluster": "", @@ -59,17 +59,17 @@ "fields": [ { "objectType": "TableField_PGSQL", - "name": "repos_id", - "type": "int4", - "length": 32, + "name": "repo_deps_scorecard_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, "collation": "", "isNullable": false, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "nextval('augur_data.repo_deps_scorecard_repo_deps_scorecard_id_seq'::regclass)", "comment": "", - "oldName": "repos_id", + "oldName": "repo_deps_scorecard_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -89,22 +89,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "status", - "type": "varchar", - "length": 0, + "name": "repo_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", - "isNullable": false, + "collation": "", + "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "status", + "oldName": "repo_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 2, "foreignOptions": [], "isIdentity": false, @@ -119,22 +119,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "date_attempted", - "type": "timestamp", + "name": "ossf_active_status", + "type": "varchar", "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", - "isNullable": false, - "defaultType": "Others", - "defaultValue": "CURRENT_TIMESTAMP", + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "date_attempted", + "oldName": "ossf_active_status", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 3, "foreignOptions": [], "isIdentity": false, @@ -146,98 +146,26 @@ "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false - } - ], - "indexes": [ - { - "objectType": "Index_PGSQL", - "name": "repos_id", - "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "repos_id", - "oid": 203939, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "analysis_log", - "size": "8", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "repos_id", - "collation": "", - "opClass": "int4_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "repos_id", - "collationSchema": "" - } - ] - } - ], - "rules": [], - "foreignKeys": [], - "uniques": [], - "checks": [], - "excludes": [], - "triggers": [], - "partitionKeys": [], - "partitions": [] - }, - { - "objectType": "TableNormal_PGSQL", - "name": "chaoss_metric_status", - "comment": "This table used to track CHAOSS Metric implementations in Augur, but due to the constantly changing location of that information, it is for the moment not actively populated. ", - "tablespace": "", - "isUnlogged": false, - "owner": "augur", - "inheritFromTables": [], - "hasOIDs": false, - "fillFactor": -1, - "oldName": "chaoss_metric_status", - "oid": 186416, - "rows": 80, - "isInheritTables": false, - "cluster": "", - "ACL": "", - "isPartition": false, - "partitioningStrategy": "None", - "partitionOfSchema": "", - "partitionOfTable": "", - "partitionListValues": [], - "partitionRangeFromValues": [], - "partitionRangeToValues": [], - "foreignServer": "", - "foreignOptionDisplay": "", - "fields": [ + }, { "objectType": "TableField_PGSQL", - "name": "cms_id", - "type": "int8", - "length": 64, + "name": "ossf_branch_protection_status", + "type": "varchar", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", - "isNullable": false, - "defaultType": "Others", - "defaultValue": "nextval('augur_data.chaoss_metric_status_cms_id_seq'::regclass)", + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "cms_id", + "oldName": "ossf_branch_protection_status", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 1, + "collationSchema": "pg_catalog", + "ordinalPosition": 4, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -251,7 +179,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "cm_group", + "name": "ossf_ci_tests_status", "type": "varchar", "length": 0, "decimals": 0, @@ -261,13 +189,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "cm_group", + "oldName": "ossf_ci_tests_status", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 2, + "ordinalPosition": 5, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -281,7 +209,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "cm_source", + "name": "ossf_cii_badge_status", "type": "varchar", "length": 0, "decimals": 0, @@ -291,13 +219,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "cm_source", + "oldName": "ossf_cii_badge_status", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 3, + "ordinalPosition": 6, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -311,7 +239,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "cm_type", + "name": "ossf_code_review_status", "type": "varchar", "length": 0, "decimals": 0, @@ -321,13 +249,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "cm_type", + "oldName": "ossf_code_review_status", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 4, + "ordinalPosition": 7, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -341,7 +269,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "cm_backend_status", + "name": "ossf_contributors_status", "type": "varchar", "length": 0, "decimals": 0, @@ -351,13 +279,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "cm_backend_status", + "oldName": "ossf_contributors_status", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 5, + "ordinalPosition": 8, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -371,7 +299,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "cm_frontend_status", + "name": "ossf_frozen_deps_status", "type": "varchar", "length": 0, "decimals": 0, @@ -381,13 +309,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "cm_frontend_status", + "oldName": "ossf_frozen_deps_status", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 6, + "ordinalPosition": 9, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -401,23 +329,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "cm_defined", - "type": "bool", + "name": "ossf_fuzzing_status", + "type": "varchar", "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "cm_defined", + "oldName": "ossf_fuzzing_status", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 7, + "collationSchema": "pg_catalog", + "ordinalPosition": 10, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -431,7 +359,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "cm_api_endpoint_repo", + "name": "ossf_packaging_status", "type": "varchar", "length": 0, "decimals": 0, @@ -441,13 +369,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "cm_api_endpoint_repo", + "oldName": "ossf_packaging_status", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 8, + "ordinalPosition": 11, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -461,7 +389,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "cm_api_endpoint_rg", + "name": "ossf_pull_request_status", "type": "varchar", "length": 0, "decimals": 0, @@ -471,13 +399,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "cm_api_endpoint_rg", + "oldName": "ossf_pull_request_status", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 9, + "ordinalPosition": 12, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -491,7 +419,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "cm_name", + "name": "ossf_sast_status", "type": "varchar", "length": 0, "decimals": 0, @@ -501,13 +429,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "cm_name", + "oldName": "ossf_sast_status", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 10, + "ordinalPosition": 13, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -521,7 +449,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "cm_working_group", + "name": "ossf_security_policy_status", "type": "varchar", "length": 0, "decimals": 0, @@ -531,13 +459,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "cm_working_group", + "oldName": "ossf_security_policy_status", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 11, + "ordinalPosition": 14, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -551,23 +479,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "cm_info", - "type": "json", + "name": "ossf_signed_releases_status", + "type": "varchar", "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "cm_info", + "oldName": "ossf_signed_releases_status", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 12, + "collationSchema": "pg_catalog", + "ordinalPosition": 15, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -581,7 +509,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_source", + "name": "ossf_signed_tags_status", "type": "varchar", "length": 0, "decimals": 0, @@ -591,13 +519,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "tool_source", + "oldName": "ossf_signed_tags_status", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 13, + "ordinalPosition": 16, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -611,7 +539,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_version", + "name": "ossf_active_score", "type": "varchar", "length": 0, "decimals": 0, @@ -621,13 +549,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "tool_version", + "oldName": "ossf_active_score", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 14, + "ordinalPosition": 17, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -641,7 +569,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_source", + "name": "ossf_branch_protection_score", "type": "varchar", "length": 0, "decimals": 0, @@ -651,13 +579,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "data_source", + "oldName": "ossf_branch_protection_score", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 15, + "ordinalPosition": 18, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -671,23 +599,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_collection_date", - "type": "timestamp", + "name": "ossf_ci_tests_score", + "type": "varchar", "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, - "defaultType": "Others", - "defaultValue": "CURRENT_TIMESTAMP", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "data_collection_date", + "oldName": "ossf_ci_tests_score", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 16, + "collationSchema": "pg_catalog", + "ordinalPosition": 19, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -701,7 +629,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "cm_working_group_focus_area", + "name": "ossf_cii_badge_score", "type": "varchar", "length": 0, "decimals": 0, @@ -711,13 +639,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "cm_working_group_focus_area", + "oldName": "ossf_cii_badge_score", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 17, + "ordinalPosition": 20, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -728,76 +656,26 @@ "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false - } - ], - "indexes": [], - "rules": [], - "primaryKey": { - "objectType": "PrimaryKey_PGSQL", - "name": "chaoss_metric_status_pkey", - "fields": [ - "cms_id" - ], - "fillFactor": -1, - "indexTablespace": "", - "comment": "", - "isDeferrable": false, - "isDeferred": false, - "oldName": "chaoss_metric_status_pkey" - }, - "foreignKeys": [], - "uniques": [], - "checks": [], - "excludes": [], - "triggers": [], - "partitionKeys": [], - "partitions": [] - }, - { - "objectType": "TableNormal_PGSQL", - "name": "commit_parents", - "comment": "", - "tablespace": "", - "isUnlogged": false, - "owner": "augur", - "inheritFromTables": [], - "hasOIDs": false, - "fillFactor": -1, - "oldName": "commit_parents", - "oid": 186443, - "rows": 0, - "isInheritTables": false, - "cluster": "", - "ACL": "", - "isPartition": false, - "partitioningStrategy": "None", - "partitionOfSchema": "", - "partitionOfTable": "", - "partitionListValues": [], - "partitionRangeFromValues": [], - "partitionRangeToValues": [], - "foreignServer": "", - "foreignOptionDisplay": "", - "fields": [ + }, { "objectType": "TableField_PGSQL", - "name": "cmt_id", - "type": "int8", - "length": 64, + "name": "ossf_code_review_score", + "type": "varchar", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", - "isNullable": false, + "collation": "default", + "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "cmt_id", + "oldName": "ossf_code_review_score", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 1, + "collationSchema": "pg_catalog", + "ordinalPosition": 21, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -811,23 +689,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "parent_id", - "type": "int8", - "length": 64, + "name": "ossf_contributors_score", + "type": "varchar", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", - "isNullable": false, - "defaultType": "Others", - "defaultValue": "nextval('augur_data.commit_parents_parent_id_seq'::regclass)", + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "parent_id", + "oldName": "ossf_contributors_score", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 2, + "collationSchema": "pg_catalog", + "ordinalPosition": 22, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -841,9 +719,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_source", + "name": "ossf_frozen_deps_score", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", @@ -851,13 +729,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "tool_source", + "oldName": "ossf_frozen_deps_score", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 3, + "ordinalPosition": 23, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -871,9 +749,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_version", + "name": "ossf_fuzzing_score", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", @@ -881,13 +759,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "tool_version", + "oldName": "ossf_fuzzing_score", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 4, + "ordinalPosition": 24, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -901,9 +779,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_source", + "name": "ossf_packaging_score", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", @@ -911,13 +789,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "data_source", + "oldName": "ossf_packaging_score", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 5, + "ordinalPosition": 25, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -931,23 +809,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_collection_date", - "type": "timestamp", + "name": "ossf_pull_request_score", + "type": "varchar", "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, - "defaultType": "Others", - "defaultValue": "CURRENT_TIMESTAMP", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "data_collection_date", + "oldName": "ossf_pull_request_score", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 6, + "collationSchema": "pg_catalog", + "ordinalPosition": 26, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -958,189 +836,26 @@ "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false - } - ], - "indexes": [ - { - "objectType": "Index_PGSQL", - "name": "commit_parents_ibfk_1", - "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "commit_parents_ibfk_1", - "oid": 203610, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "commit_parents", - "size": "8", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "cmt_id", - "collation": "", - "opClass": "int8_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cmt_id", - "collationSchema": "" - } - ] - }, - { - "objectType": "Index_PGSQL", - "name": "commit_parents_ibfk_2", - "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "commit_parents_ibfk_2", - "oid": 203618, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "commit_parents", - "size": "8", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "parent_id", - "collation": "", - "opClass": "int8_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "parent_id", - "collationSchema": "" - } - ] - } - ], - "rules": [], - "primaryKey": { - "objectType": "PrimaryKey_PGSQL", - "name": "commit_parents_pkey", - "fields": [ - "cmt_id", - "parent_id" - ], - "fillFactor": -1, - "indexTablespace": "", - "comment": "", - "isDeferrable": false, - "isDeferred": false, - "oldName": "commit_parents_pkey" - }, - "foreignKeys": [ - { - "objectType": "ForeignKey_PGSQL", - "name": "fk_commit_parents_commits_1", - "fields": [ - "cmt_id" - ], - "referenceSchema": "augur_data", - "referenceTable": "commits", - "referenceFields": [ - "cmt_id" - ], - "onDelete": "NO ACTION", - "onUpdate": "NO ACTION", - "comment": "", - "isMatchFull": false, - "isDeferrable": false, - "isDeferred": false, - "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "OneAndOnlyOneRelationship", - "oldName": "fk_commit_parents_commits_1" }, - { - "objectType": "ForeignKey_PGSQL", - "name": "fk_commit_parents_commits_2", - "fields": [ - "parent_id" - ], - "referenceSchema": "augur_data", - "referenceTable": "commits", - "referenceFields": [ - "cmt_id" - ], - "onDelete": "NO ACTION", - "onUpdate": "NO ACTION", - "comment": "", - "isMatchFull": false, - "isDeferrable": false, - "isDeferred": false, - "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "OneAndOnlyOneRelationship", - "oldName": "fk_commit_parents_commits_2" - } - ], - "uniques": [], - "checks": [], - "excludes": [], - "triggers": [], - "partitionKeys": [], - "partitions": [] - }, - { - "objectType": "TableNormal_PGSQL", - "name": "contributor_affiliations", - "comment": "", - "tablespace": "", - "isUnlogged": false, - "owner": "augur", - "inheritFromTables": [], - "hasOIDs": false, - "fillFactor": -1, - "oldName": "contributor_affiliations", - "oid": 186765, - "rows": 1, - "isInheritTables": false, - "cluster": "", - "ACL": "", - "isPartition": false, - "partitioningStrategy": "None", - "partitionOfSchema": "", - "partitionOfTable": "", - "partitionListValues": [], - "partitionRangeFromValues": [], - "partitionRangeToValues": [], - "foreignServer": "", - "foreignOptionDisplay": "", - "fields": [ { "objectType": "TableField_PGSQL", - "name": "ca_id", - "type": "int8", - "length": 64, + "name": "ossf_sast_score", + "type": "varchar", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", - "isNullable": false, - "defaultType": "Others", - "defaultValue": "nextval('augur_data.contributor_affiliations_ca_id_seq'::regclass)", + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "ca_id", + "oldName": "ossf_sast_score", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 1, + "collationSchema": "pg_catalog", + "ordinalPosition": 27, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -1154,23 +869,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "ca_domain", + "name": "ossf_security_policy_score", "type": "varchar", - "length": 64, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", - "isNullable": false, + "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "ca_domain", + "oldName": "ossf_security_policy_score", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 2, + "ordinalPosition": 28, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -1184,23 +899,53 @@ }, { "objectType": "TableField_PGSQL", - "name": "ca_start_date", - "type": "date", + "name": "ossf_signed_releases_score", + "type": "varchar", "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, - "defaultType": "Others", - "defaultValue": "'1970-01-01'::date", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "ca_start_date", + "oldName": "ossf_signed_releases_score", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 3, + "collationSchema": "pg_catalog", + "ordinalPosition": 29, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "ossf_signed_tags_score", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "ossf_signed_tags_score", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 30, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -1216,7 +961,7 @@ "objectType": "TableField_PGSQL", "name": "tool_source", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", @@ -1230,7 +975,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 4, + "ordinalPosition": 31, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -1246,7 +991,7 @@ "objectType": "TableField_PGSQL", "name": "tool_version", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", @@ -1260,7 +1005,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 5, + "ordinalPosition": 32, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -1276,7 +1021,7 @@ "objectType": "TableField_PGSQL", "name": "data_source", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", @@ -1290,7 +1035,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 6, + "ordinalPosition": 33, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -1320,7 +1065,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 7, + "ordinalPosition": 34, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -1331,26 +1076,98 @@ "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false - }, + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "repo_deps_scorecard_pkey", + "fields": [ + "repo_deps_scorecard_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "repo_deps_scorecard_pkey" + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "repo_id", + "fields": [ + "repo_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "repo", + "referenceFields": [ + "repo_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "repo_id" + } + ], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "analysis_log", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "analysis_log", + "oid": 15486416, + "rows": 212, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ { "objectType": "TableField_PGSQL", - "name": "ca_last_used", - "type": "timestamp", - "length": 0, + "name": "repos_id", + "type": "int4", + "length": 32, "decimals": 0, "dimensions": 0, "collation": "", "isNullable": false, - "defaultType": "Others", - "defaultValue": "CURRENT_TIMESTAMP", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "ca_last_used", + "oldName": "repos_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 8, + "ordinalPosition": 1, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -1364,23 +1181,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "ca_affiliation", + "name": "status", "type": "varchar", "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", - "isNullable": true, + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "ca_affiliation", + "oldName": "status", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 9, + "ordinalPosition": 2, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -1394,23 +1211,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "ca_active", - "type": "int2", - "length": 16, + "name": "date_attempted", + "type": "timestamp", + "length": 0, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": true, + "isNullable": false, "defaultType": "Others", - "defaultValue": "1", + "defaultValue": "CURRENT_TIMESTAMP", "comment": "", - "oldName": "ca_active", + "oldName": "date_attempted", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 10, + "ordinalPosition": 3, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -1423,37 +1240,45 @@ "isIdentityCycle": false } ], - "indexes": [], - "rules": [], - "primaryKey": { - "objectType": "PrimaryKey_PGSQL", - "name": "contributor_affiliations_pkey", - "fields": [ - "ca_id" - ], - "fillFactor": -1, - "indexTablespace": "", - "comment": "", - "isDeferrable": false, - "isDeferred": false, - "oldName": "contributor_affiliations_pkey" - }, - "foreignKeys": [], - "uniques": [ + "indexes": [ { - "objectType": "Unique_PGSQL", - "name": "unique_domain", - "fields": [ - "ca_domain" - ], + "objectType": "Index_PGSQL", + "name": "repos_id", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", "fillFactor": -1, - "indexTablespace": "", - "comment": "Only one row should exist for any given top level domain or subdomain. ", - "isDeferrable": false, - "isDeferred": false, - "oldName": "unique_domain" + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "repos_id", + "oid": 15486895, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "analysis_log", + "size": "16", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "repos_id", + "collation": "", + "opClass": "int4_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "repos_id", + "collationSchema": "" + } + ] } ], + "rules": [], + "foreignKeys": [], + "uniques": [], "checks": [], "excludes": [], "triggers": [], @@ -1462,17 +1287,17 @@ }, { "objectType": "TableNormal_PGSQL", - "name": "contributors_history", - "comment": "For GitHub, this should be repeated from gh_login. for other systems, it should be that systems login. \n\nAt this time the table is not populated. ", + "name": "chaoss_metric_status", + "comment": "This table used to track CHAOSS Metric implementations in Augur, but due to the constantly changing location of that information, it is for the moment not actively populated. ", "tablespace": "", "isUnlogged": false, "owner": "augur", "inheritFromTables": [], "hasOIDs": false, "fillFactor": -1, - "oldName": "contributors_history", - "oid": 187380, - "rows": 0, + "oldName": "chaoss_metric_status", + "oid": 15486423, + "rows": 80, "isInheritTables": false, "cluster": "", "ACL": "", @@ -1488,7 +1313,7 @@ "fields": [ { "objectType": "TableField_PGSQL", - "name": "cntrb_history_id", + "name": "cms_id", "type": "int8", "length": 64, "decimals": 0, @@ -1496,9 +1321,9 @@ "collation": "", "isNullable": false, "defaultType": "Others", - "defaultValue": "nextval('augur_data.contributors_history_cntrb_history_id_seq'::regclass)", + "defaultValue": "nextval('augur_data.chaoss_metric_status_cms_id_seq'::regclass)", "comment": "", - "oldName": "cntrb_history_id", + "oldName": "cms_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -1518,22 +1343,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "cntrb_id", - "type": "int8", - "length": 64, + "name": "cm_group", + "type": "varchar", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", - "isNullable": false, + "collation": "default", + "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "cntrb_id", + "oldName": "cm_group", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 2, "foreignOptions": [], "isIdentity": false, @@ -1548,22 +1373,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "cntrb_history_timestamp", - "type": "timestamp", + "name": "cm_source", + "type": "varchar", "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", - "isNullable": false, - "defaultType": "Others", - "defaultValue": "CURRENT_TIMESTAMP", + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "cntrb_history_timestamp", + "oldName": "cm_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 3, "foreignOptions": [], "isIdentity": false, @@ -1578,22 +1403,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "cntrb_history_current_bool", - "type": "bool", + "name": "cm_type", + "type": "varchar", "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "At some point it would be great to have a boolean updated by a contributor worker that set the most recent contributor data to true. ", - "oldName": "cntrb_history_current_bool", + "comment": "", + "oldName": "cm_type", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 4, "foreignOptions": [], "isIdentity": false, @@ -1608,22 +1433,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "cntrb_organizations_list", - "type": "json", + "name": "cm_backend_status", + "type": "varchar", "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "cntrb_organizations_list", + "oldName": "cm_backend_status", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 5, "foreignOptions": [], "isIdentity": false, @@ -1638,22 +1463,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "cntrb_gists_count", - "type": "int8", - "length": 64, + "name": "cm_frontend_status", + "type": "varchar", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "cntrb_gists_count", + "oldName": "cm_frontend_status", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 6, "foreignOptions": [], "isIdentity": false, @@ -1668,9 +1493,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "cntrb_starred_count", - "type": "int8", - "length": 64, + "name": "cm_defined", + "type": "bool", + "length": 0, "decimals": 0, "dimensions": 0, "collation": "", @@ -1678,7 +1503,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "cntrb_starred_count", + "oldName": "cm_defined", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -1698,22 +1523,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "cntrb_following_count", - "type": "int8", - "length": 64, + "name": "cm_api_endpoint_repo", + "type": "varchar", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "cntrb_following_count", + "oldName": "cm_api_endpoint_repo", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 8, "foreignOptions": [], "isIdentity": false, @@ -1728,22 +1553,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "cntrb_follower_count", - "type": "int8", - "length": 64, + "name": "cm_api_endpoint_rg", + "type": "varchar", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "cntrb_follower_count", + "oldName": "cm_api_endpoint_rg", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 9, "foreignOptions": [], "isIdentity": false, @@ -1758,17 +1583,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "cntrb_login", + "name": "cm_name", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", - "isNullable": false, + "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "Will be a double population with the same value as gh_login for github, but the local value for other systems. ", - "oldName": "cntrb_login", + "comment": "", + "oldName": "cm_name", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -1788,17 +1613,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "cntrb_email", + "name": "cm_working_group", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "This needs to be here for matching contributor ids, which are augur, to the commit information. ", - "oldName": "cntrb_email", + "comment": "", + "oldName": "cm_working_group", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -1818,22 +1643,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "cntrb_company", - "type": "varchar", - "length": 255, + "name": "cm_info", + "type": "json", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, - "defaultType": "Others", - "defaultValue": "NULL::character varying", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "cntrb_company", + "oldName": "cm_info", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 12, "foreignOptions": [], "isIdentity": false, @@ -1848,22 +1673,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "cntrb_created_at", - "type": "timestamp", + "name": "tool_source", + "type": "varchar", "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", - "isNullable": false, + "collation": "default", + "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "cntrb_created_at", + "oldName": "tool_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 13, "foreignOptions": [], "isIdentity": false, @@ -1878,17 +1703,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "cntrb_type", + "name": "tool_version", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "Present in another models. It is not currently used in Augur. ", - "oldName": "cntrb_type", + "comment": "", + "oldName": "tool_version", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -1908,22 +1733,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "cntrb_fake", - "type": "int2", - "length": 16, + "name": "data_source", + "type": "varchar", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", - "isNullable": false, - "defaultType": "Others", - "defaultValue": "0", + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "cntrb_fake", + "oldName": "data_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 15, "foreignOptions": [], "isIdentity": false, @@ -1938,17 +1763,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "cntrb_deleted", - "type": "int2", - "length": 16, + "name": "data_collection_date", + "type": "timestamp", + "length": 0, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": false, + "isNullable": true, "defaultType": "Others", - "defaultValue": "0", + "defaultValue": "CURRENT_TIMESTAMP", "comment": "", - "oldName": "cntrb_deleted", + "oldName": "data_collection_date", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -1968,22 +1793,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "cntrb_long", - "type": "numeric", - "length": 11, - "decimals": 8, + "name": "cm_working_group_focus_area", + "type": "varchar", + "length": 0, + "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, - "defaultType": "Others", - "defaultValue": "NULL::numeric", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "cntrb_long", + "oldName": "cm_working_group_focus_area", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 17, "foreignOptions": [], "isIdentity": false, @@ -1995,26 +1820,76 @@ "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false - }, + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "chaoss_metric_status_pkey", + "fields": [ + "cms_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "chaoss_metric_status_pkey" + }, + "foreignKeys": [], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "commit_comment_ref", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "commit_comment_ref", + "oid": 15486431, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ { "objectType": "TableField_PGSQL", - "name": "cntrb_lat", - "type": "numeric", - "length": 10, - "decimals": 8, + "name": "cmt_comment_id", + "type": "int8", + "length": 64, + "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": true, + "isNullable": false, "defaultType": "Others", - "defaultValue": "NULL::numeric", + "defaultValue": "nextval('augur_data.commit_comment_ref_cmt_comment_id_seq'::regclass)", "comment": "", - "oldName": "cntrb_lat", + "oldName": "cmt_comment_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 18, + "ordinalPosition": 1, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -2028,53 +1903,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "cntrb_country_code", - "type": "char", - "length": 3, - "decimals": 0, - "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "Others", - "defaultValue": "NULL::bpchar", - "comment": "", - "oldName": "cntrb_country_code", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 19, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "cntrb_state", - "type": "varchar", - "length": 255, + "name": "cmt_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "Others", - "defaultValue": "NULL::character varying", + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "cntrb_state", + "oldName": "cmt_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 20, + "collationSchema": "", + "ordinalPosition": 2, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -2088,23 +1933,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "cntrb_city", - "type": "varchar", - "length": 255, + "name": "msg_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "Others", - "defaultValue": "NULL::character varying", + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "cntrb_city", + "oldName": "msg_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 21, + "collationSchema": "", + "ordinalPosition": 3, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -2118,23 +1963,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "cntrb_location", - "type": "varchar", - "length": 255, + "name": "user_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "Others", - "defaultValue": "NULL::character varying", + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "cntrb_location", + "oldName": "user_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 22, + "collationSchema": "", + "ordinalPosition": 4, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -2148,9 +1993,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "cntrb_canonical", - "type": "varchar", - "length": 128, + "name": "body", + "type": "text", + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", @@ -2158,13 +2003,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "cntrb_canonical", + "oldName": "body", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 23, + "ordinalPosition": 5, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -2178,7 +2023,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "gh_user_id", + "name": "line", "type": "int8", "length": 64, "decimals": 0, @@ -2188,13 +2033,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "gh_user_id", + "oldName": "line", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 24, + "ordinalPosition": 6, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -2208,23 +2053,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "gh_login", - "type": "varchar", - "length": 255, + "name": "position", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "populated with the github user name for github originated data. ", - "oldName": "gh_login", + "comment": "", + "oldName": "position", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 25, + "collationSchema": "", + "ordinalPosition": 7, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -2238,23 +2083,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "gh_url", - "type": "varchar", - "length": 255, + "name": "created_at", + "type": "timestamp", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", "comment": "", - "oldName": "gh_url", + "oldName": "created_at", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 26, + "collationSchema": "", + "ordinalPosition": 8, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -2268,7 +2113,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "gh_html_url", + "name": "tool_source", "type": "varchar", "length": 255, "decimals": 0, @@ -2278,13 +2123,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "gh_html_url", + "oldName": "tool_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 27, + "ordinalPosition": 9, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -2298,7 +2143,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "gh_node_id", + "name": "tool_version", "type": "varchar", "length": 255, "decimals": 0, @@ -2308,13 +2153,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "gh_node_id", + "oldName": "tool_version", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 28, + "ordinalPosition": 10, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -2328,9 +2173,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "gh_avatar_url", + "name": "data_source", "type": "varchar", - "length": 4000, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", @@ -2338,13 +2183,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "gh_avatar_url", + "oldName": "data_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 29, + "ordinalPosition": 11, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -2358,23 +2203,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "gh_gravatar_id", - "type": "varchar", - "length": 255, + "name": "data_collection_date", + "type": "timestamp", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", "comment": "", - "oldName": "gh_gravatar_id", + "oldName": "data_collection_date", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 30, + "collationSchema": "", + "ordinalPosition": 12, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -2388,23 +2233,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "gh_followers_url", - "type": "varchar", - "length": 4000, + "name": "cmt_comment_src_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", - "isNullable": true, + "collation": "", + "isNullable": false, "defaultType": "None", "defaultValue": "", - "comment": "", - "oldName": "gh_followers_url", + "comment": "For data provenance, we store the source ID if it exists. ", + "oldName": "cmt_comment_src_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 31, + "collationSchema": "", + "ordinalPosition": 13, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -2418,23 +2263,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "gh_following_url", + "name": "commit_comment_src_node_id", "type": "varchar", - "length": 4000, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "", - "oldName": "gh_following_url", + "comment": "For data provenance, we store the source node ID if it exists. ", + "oldName": "commit_comment_src_node_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 32, + "ordinalPosition": 14, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -2445,86 +2290,192 @@ "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false - }, + } + ], + "indexes": [ { - "objectType": "TableField_PGSQL", - "name": "gh_gists_url", - "type": "varchar", - "length": 4000, - "decimals": 0, - "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "objectType": "Index_PGSQL", + "name": "comment_id", "comment": "", - "oldName": "gh_gists_url", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 33, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "comment_id", + "oid": 15486898, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "commit_comment_ref", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "cmt_comment_src_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_comment_src_id", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "cmt_comment_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_comment_id", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "msg_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "msg_id", + "collationSchema": "" + } + ] + } + ], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "commit_comment_ref_pkey", + "fields": [ + "cmt_comment_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "commit_comment_ref_pkey" + }, + "foreignKeys": [ { - "objectType": "TableField_PGSQL", - "name": "gh_starred_url", - "type": "varchar", - "length": 4000, - "decimals": 0, - "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "objectType": "ForeignKey_PGSQL", + "name": "fk_commit_comment_ref_commits_1", + "fields": [ + "cmt_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "commits", + "referenceFields": [ + "cmt_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", "comment": "", - "oldName": "gh_starred_url", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 34, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "OneAndOnlyOneRelationship", + "oldName": "fk_commit_comment_ref_commits_1" }, + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_commit_comment_ref_message_1", + "fields": [ + "msg_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "message", + "referenceFields": [ + "msg_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "OneAndOnlyOneRelationship", + "oldName": "fk_commit_comment_ref_message_1" + } + ], + "uniques": [ + { + "objectType": "Unique_PGSQL", + "name": "commitcomment", + "fields": [ + "cmt_id", + "msg_id", + "cmt_comment_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "commitcomment" + } + ], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "commit_parents", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "commit_parents", + "oid": 15486440, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ { "objectType": "TableField_PGSQL", - "name": "gh_subscriptions_url", - "type": "varchar", - "length": 4000, + "name": "cmt_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", - "isNullable": true, + "collation": "", + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "gh_subscriptions_url", + "oldName": "cmt_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 35, + "collationSchema": "", + "ordinalPosition": 1, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -2538,23 +2489,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "gh_organizations_url", - "type": "varchar", - "length": 4000, + "name": "parent_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_data.commit_parents_parent_id_seq'::regclass)", "comment": "", - "oldName": "gh_organizations_url", + "oldName": "parent_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 36, + "collationSchema": "", + "ordinalPosition": 2, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -2568,9 +2519,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "gh_repos_url", + "name": "tool_source", "type": "varchar", - "length": 4000, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", @@ -2578,13 +2529,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "gh_repos_url", + "oldName": "tool_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 37, + "ordinalPosition": 3, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -2598,9 +2549,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "gh_events_url", + "name": "tool_version", "type": "varchar", - "length": 4000, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", @@ -2608,13 +2559,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "gh_events_url", + "oldName": "tool_version", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 38, + "ordinalPosition": 4, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -2628,9 +2579,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "gh_received_events_url", + "name": "data_source", "type": "varchar", - "length": 4000, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", @@ -2638,13 +2589,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "gh_received_events_url", + "oldName": "data_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 39, + "ordinalPosition": 5, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -2658,23 +2609,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "gh_type", - "type": "varchar", - "length": 255, + "name": "data_collection_date", + "type": "timestamp", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", "comment": "", - "oldName": "gh_type", + "oldName": "data_collection_date", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 40, + "collationSchema": "", + "ordinalPosition": 6, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -2685,162 +2636,12 @@ "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "gh_site_admin", - "type": "varchar", - "length": 255, - "decimals": 0, - "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "gh_site_admin", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 41, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "tool_source", - "type": "varchar", - "length": 255, - "decimals": 0, - "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "tool_source", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 42, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "tool_version", - "type": "varchar", - "length": 255, - "decimals": 0, - "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "tool_version", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 43, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "data_source", - "type": "varchar", - "length": 255, - "decimals": 0, - "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "data_source", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 44, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "data_collection_date", - "type": "timestamp", - "length": 0, - "decimals": 0, - "dimensions": 0, - "collation": "", - "isNullable": true, - "defaultType": "Others", - "defaultValue": "CURRENT_TIMESTAMP", - "comment": "", - "oldName": "data_collection_date", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 45, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - } - ], - "indexes": [ + } + ], + "indexes": [ { "objectType": "Index_PGSQL", - "name": "contrb-history-dix1", + "name": "commit_parents_ibfk_1", "comment": "", "isClustered": false, "isConcurrently": false, @@ -2851,30 +2652,30 @@ "method": "BTree", "tableSpaceName": "", "constraint": "", - "oldName": "contrb-history-dix1", - "oid": 203687, + "oldName": "commit_parents_ibfk_1", + "oid": 15486903, "owner": "augur", "brinPagesPerRange": -1, "ginPendingListLimit": -1, - "tableName": "contributors_history", + "tableName": "commit_parents", "size": "8", "fields": [ { "objectType": "IndexField_PGSQL", - "name": "cntrb_id", + "name": "cmt_id", "collation": "", "opClass": "int8_ops", "opClassSchema": "pg_catalog", "order": "ASC", "nullSort": "NULLS LAST", - "oldName": "cntrb_id", + "oldName": "cmt_id", "collationSchema": "" } ] }, { "objectType": "Index_PGSQL", - "name": "login_index_2", + "name": "commit_parents_ibfk_2", "comment": "", "isClustered": false, "isConcurrently": false, @@ -2885,24 +2686,24 @@ "method": "BTree", "tableSpaceName": "", "constraint": "", - "oldName": "login_index_2", - "oid": 203775, + "oldName": "commit_parents_ibfk_2", + "oid": 15486904, "owner": "augur", "brinPagesPerRange": -1, "ginPendingListLimit": -1, - "tableName": "contributors_history", + "tableName": "commit_parents", "size": "8", "fields": [ { "objectType": "IndexField_PGSQL", - "name": "cntrb_login", - "collation": "default", - "opClass": "text_ops", + "name": "parent_id", + "collation": "", + "opClass": "int8_ops", "opClassSchema": "pg_catalog", "order": "ASC", "nullSort": "NULLS LAST", - "oldName": "cntrb_login", - "collationSchema": "pg_catalog" + "oldName": "parent_id", + "collationSchema": "" } ] } @@ -2910,28 +2711,29 @@ "rules": [], "primaryKey": { "objectType": "PrimaryKey_PGSQL", - "name": "contributors_history_pkey", + "name": "commit_parents_pkey", "fields": [ - "cntrb_history_id" + "cmt_id", + "parent_id" ], "fillFactor": -1, "indexTablespace": "", "comment": "", "isDeferrable": false, "isDeferred": false, - "oldName": "contributors_history_pkey" + "oldName": "commit_parents_pkey" }, "foreignKeys": [ { "objectType": "ForeignKey_PGSQL", - "name": "fk_contributors_history_contributors_1", + "name": "fk_commit_parents_commits_1", "fields": [ - "cntrb_id" + "cmt_id" ], "referenceSchema": "augur_data", - "referenceTable": "contributors", + "referenceTable": "commits", "referenceFields": [ - "cntrb_id" + "cmt_id" ], "onDelete": "NO ACTION", "onUpdate": "NO ACTION", @@ -2941,7 +2743,28 @@ "isDeferred": false, "sourceCardinality": "ZeroOrManyRelationship", "targetCardinality": "OneAndOnlyOneRelationship", - "oldName": "fk_contributors_history_contributors_1" + "oldName": "fk_commit_parents_commits_1" + }, + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_commit_parents_commits_2", + "fields": [ + "parent_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "commits", + "referenceFields": [ + "cmt_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "OneAndOnlyOneRelationship", + "oldName": "fk_commit_parents_commits_2" } ], "uniques": [], @@ -2953,17 +2776,17 @@ }, { "objectType": "TableNormal_PGSQL", - "name": "discourse_insights", - "comment": "", + "name": "commits", + "comment": "Starts with augur.analysis_data table and incorporates GHTorrent commit table attributes if different. \nCmt_id is from get\nThe author and committer ID’s are at the bottom of the table and not required for now because we want to focus on the facade schema’s properties over the ghtorrent properties when they are in conflict. ", "tablespace": "", "isUnlogged": false, "owner": "augur", "inheritFromTables": [], "hasOIDs": false, "fillFactor": -1, - "oldName": "discourse_insights", - "oid": 187584, - "rows": 0, + "oldName": "commits", + "oid": 15486448, + "rows": 32914, "isInheritTables": false, "cluster": "", "ACL": "", @@ -2979,7 +2802,7 @@ "fields": [ { "objectType": "TableField_PGSQL", - "name": "msg_discourse_id", + "name": "cmt_id", "type": "int8", "length": 64, "decimals": 0, @@ -2987,9 +2810,9 @@ "collation": "", "isNullable": false, "defaultType": "Others", - "defaultValue": "nextval('augur_data.discourse_insights_msg_discourse_id_seq1'::regclass)", + "defaultValue": "nextval('augur_data.commits_cmt_id_seq'::regclass)", "comment": "", - "oldName": "msg_discourse_id", + "oldName": "cmt_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -3009,17 +2832,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "msg_id", + "name": "repo_id", "type": "int8", "length": 64, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": true, + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "msg_id", + "oldName": "repo_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -3039,17 +2862,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "discourse_act", + "name": "cmt_commit_hash", "type": "varchar", - "length": 0, + "length": 80, "decimals": 0, "dimensions": 0, "collation": "default", - "isNullable": true, + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "discourse_act", + "oldName": "cmt_commit_hash", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -3069,17 +2892,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_source", + "name": "cmt_author_name", "type": "varchar", - "length": 0, + "length": 128, "decimals": 0, "dimensions": 0, "collation": "default", - "isNullable": true, + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "tool_source", + "oldName": "cmt_author_name", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -3099,17 +2922,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_version", + "name": "cmt_author_raw_email", "type": "varchar", - "length": 0, + "length": 128, "decimals": 0, "dimensions": 0, "collation": "default", - "isNullable": true, + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "tool_version", + "oldName": "cmt_author_raw_email", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -3129,17 +2952,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_source", + "name": "cmt_author_email", "type": "varchar", "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", - "isNullable": true, + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "data_source", + "oldName": "cmt_author_email", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -3159,22 +2982,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_collection_date", - "type": "timestamptz", - "length": 6, + "name": "cmt_author_date", + "type": "varchar", + "length": 10, "decimals": 0, "dimensions": 0, - "collation": "", - "isNullable": true, - "defaultType": "Others", - "defaultValue": "CURRENT_TIMESTAMP", + "collation": "default", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "data_collection_date", + "oldName": "cmt_author_date", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 7, "foreignOptions": [], "isIdentity": false, @@ -3186,98 +3009,26 @@ "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false - } - ], - "indexes": [], - "rules": [], - "primaryKey": { - "objectType": "PrimaryKey_PGSQL", - "name": "discourse_insights_pkey", - "fields": [ - "msg_discourse_id" - ], - "fillFactor": -1, - "indexTablespace": "", - "comment": "", - "isDeferrable": false, - "isDeferred": false, - "oldName": "discourse_insights_pkey" - }, - "foreignKeys": [ - { - "objectType": "ForeignKey_PGSQL", - "name": "fk_discourse_insights_message_1", - "fields": [ - "msg_id" - ], - "referenceSchema": "augur_data", - "referenceTable": "message", - "referenceFields": [ - "msg_id" - ], - "onDelete": "NO ACTION", - "onUpdate": "NO ACTION", - "comment": "", - "isMatchFull": false, - "isDeferrable": false, - "isDeferred": false, - "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "ZeroOrOneRelationship", - "oldName": "fk_discourse_insights_message_1" - } - ], - "uniques": [], - "checks": [], - "excludes": [], - "triggers": [], - "partitionKeys": [], - "partitions": [] - }, - { - "objectType": "TableNormal_PGSQL", - "name": "dm_repo_annual", - "comment": "", - "tablespace": "", - "isUnlogged": false, - "owner": "augur", - "inheritFromTables": [], - "hasOIDs": false, - "fillFactor": -1, - "oldName": "dm_repo_annual", - "oid": 187737, - "rows": 0, - "isInheritTables": false, - "cluster": "", - "ACL": "", - "isPartition": false, - "partitioningStrategy": "None", - "partitionOfSchema": "", - "partitionOfTable": "", - "partitionListValues": [], - "partitionRangeFromValues": [], - "partitionRangeToValues": [], - "foreignServer": "", - "foreignOptionDisplay": "", - "fields": [ + }, { "objectType": "TableField_PGSQL", - "name": "repo_id", - "type": "int8", - "length": 64, + "name": "cmt_author_affiliation", + "type": "varchar", + "length": 128, "decimals": 0, "dimensions": 0, - "collation": "", - "isNullable": false, - "defaultType": "None", - "defaultValue": "", + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "'NULL'::character varying", "comment": "", - "oldName": "repo_id", + "oldName": "cmt_author_affiliation", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 1, + "collationSchema": "pg_catalog", + "ordinalPosition": 8, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -3291,7 +3042,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "email", + "name": "cmt_committer_name", "type": "varchar", "length": 128, "decimals": 0, @@ -3301,13 +3052,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "email", + "oldName": "cmt_committer_name", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 2, + "ordinalPosition": 9, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -3321,23 +3072,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "affiliation", + "name": "cmt_committer_raw_email", "type": "varchar", "length": 128, "decimals": 0, "dimensions": 0, "collation": "default", - "isNullable": true, - "defaultType": "Others", - "defaultValue": "'NULL'::character varying", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "affiliation", + "oldName": "cmt_committer_raw_email", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 3, + "ordinalPosition": 10, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -3351,23 +3102,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "year", - "type": "int2", - "length": 16, + "name": "cmt_committer_email", + "type": "varchar", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "year", + "oldName": "cmt_committer_email", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 4, + "collationSchema": "pg_catalog", + "ordinalPosition": 11, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -3381,23 +3132,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "added", - "type": "int8", - "length": 64, + "name": "cmt_committer_date", + "type": "varchar", + "length": 10, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "added", + "oldName": "cmt_committer_date", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 5, + "collationSchema": "pg_catalog", + "ordinalPosition": 12, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -3411,23 +3162,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "removed", - "type": "int8", - "length": 64, + "name": "cmt_committer_affiliation", + "type": "varchar", + "length": 128, "decimals": 0, "dimensions": 0, - "collation": "", - "isNullable": false, - "defaultType": "None", - "defaultValue": "", + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "'NULL'::character varying", "comment": "", - "oldName": "removed", + "oldName": "cmt_committer_affiliation", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 6, + "collationSchema": "pg_catalog", + "ordinalPosition": 13, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -3441,9 +3192,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "whitespace", - "type": "int8", - "length": 64, + "name": "cmt_added", + "type": "int4", + "length": 32, "decimals": 0, "dimensions": 0, "collation": "", @@ -3451,13 +3202,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "whitespace", + "oldName": "cmt_added", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 7, + "ordinalPosition": 14, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -3471,9 +3222,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "files", - "type": "int8", - "length": 64, + "name": "cmt_removed", + "type": "int4", + "length": 32, "decimals": 0, "dimensions": 0, "collation": "", @@ -3481,13 +3232,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "files", + "oldName": "cmt_removed", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 8, + "ordinalPosition": 15, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -3501,9 +3252,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "patches", - "type": "int8", - "length": 64, + "name": "cmt_whitespace", + "type": "int4", + "length": 32, "decimals": 0, "dimensions": 0, "collation": "", @@ -3511,13 +3262,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "patches", + "oldName": "cmt_whitespace", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 9, + "ordinalPosition": 16, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -3531,23 +3282,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_source", + "name": "cmt_filename", "type": "varchar", - "length": 255, + "length": 4096, "decimals": 0, "dimensions": 0, "collation": "default", - "isNullable": true, + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "tool_source", + "oldName": "cmt_filename", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 10, + "ordinalPosition": 17, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -3561,23 +3312,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_version", - "type": "varchar", - "length": 255, + "name": "cmt_date_attempted", + "type": "timestamp", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "default", - "isNullable": true, + "collation": "", + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "tool_version", + "oldName": "cmt_date_attempted", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 11, + "collationSchema": "", + "ordinalPosition": 18, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -3591,23 +3342,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_source", - "type": "varchar", - "length": 255, + "name": "cmt_ght_author_id", + "type": "int4", + "length": 32, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "data_source", + "oldName": "cmt_ght_author_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 12, + "collationSchema": "", + "ordinalPosition": 19, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -3621,23 +3372,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_collection_date", - "type": "timestamp", - "length": 0, + "name": "cmt_ght_committer_id", + "type": "int4", + "length": 32, "decimals": 0, "dimensions": 0, "collation": "", "isNullable": true, - "defaultType": "Others", - "defaultValue": "CURRENT_TIMESTAMP", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "data_collection_date", + "oldName": "cmt_ght_committer_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 13, + "ordinalPosition": 20, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -3648,154 +3399,26 @@ "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false - } - ], - "indexes": [ - { - "objectType": "Index_PGSQL", - "name": "repo_id,affiliation_copy_1", - "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "repo_id,affiliation_copy_1", - "oid": 203876, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "dm_repo_annual", - "size": "8", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "repo_id", - "collation": "", - "opClass": "int8_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "repo_id", - "collationSchema": "" - }, - { - "objectType": "IndexField_PGSQL", - "name": "affiliation", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "affiliation", - "collationSchema": "pg_catalog" - } - ] }, - { - "objectType": "Index_PGSQL", - "name": "repo_id,email_copy_1", - "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "repo_id,email_copy_1", - "oid": 203894, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "dm_repo_annual", - "size": "8", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "repo_id", - "collation": "", - "opClass": "int8_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "repo_id", - "collationSchema": "" - }, - { - "objectType": "IndexField_PGSQL", - "name": "email", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "email", - "collationSchema": "pg_catalog" - } - ] - } - ], - "rules": [], - "foreignKeys": [], - "uniques": [], - "checks": [], - "excludes": [], - "triggers": [], - "partitionKeys": [], - "partitions": [] - }, - { - "objectType": "TableNormal_PGSQL", - "name": "dm_repo_group_annual", - "comment": "", - "tablespace": "", - "isUnlogged": false, - "owner": "augur", - "inheritFromTables": [], - "hasOIDs": false, - "fillFactor": -1, - "oldName": "dm_repo_group_annual", - "oid": 187850, - "rows": 0, - "isInheritTables": false, - "cluster": "", - "ACL": "", - "isPartition": false, - "partitioningStrategy": "None", - "partitionOfSchema": "", - "partitionOfTable": "", - "partitionListValues": [], - "partitionRangeFromValues": [], - "partitionRangeToValues": [], - "foreignServer": "", - "foreignOptionDisplay": "", - "fields": [ { "objectType": "TableField_PGSQL", - "name": "repo_group_id", - "type": "int8", - "length": 64, + "name": "cmt_ght_committed_at", + "type": "timestamp", + "length": 0, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": false, + "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "repo_group_id", + "oldName": "cmt_ght_committed_at", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 1, + "ordinalPosition": 21, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -3809,23 +3432,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "email", + "name": "tool_source", "type": "varchar", - "length": 128, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", - "isNullable": false, + "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "email", + "oldName": "tool_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 2, + "ordinalPosition": 22, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -3839,203 +3462,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "affiliation", + "name": "tool_version", "type": "varchar", - "length": 128, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, - "defaultType": "Others", - "defaultValue": "'NULL'::character varying", - "comment": "", - "oldName": "affiliation", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 3, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "year", - "type": "int2", - "length": 16, - "decimals": 0, - "dimensions": 0, - "collation": "", - "isNullable": false, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "year", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 4, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "added", - "type": "int8", - "length": 64, - "decimals": 0, - "dimensions": 0, - "collation": "", - "isNullable": false, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "added", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 5, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "removed", - "type": "int8", - "length": 64, - "decimals": 0, - "dimensions": 0, - "collation": "", - "isNullable": false, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "removed", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 6, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "whitespace", - "type": "int8", - "length": 64, - "decimals": 0, - "dimensions": 0, - "collation": "", - "isNullable": false, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "whitespace", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 7, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "files", - "type": "int8", - "length": 64, - "decimals": 0, - "dimensions": 0, - "collation": "", - "isNullable": false, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "files", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 8, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "patches", - "type": "int8", - "length": 64, - "decimals": 0, - "dimensions": 0, - "collation": "", - "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "patches", + "oldName": "tool_version", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 9, + "collationSchema": "pg_catalog", + "ordinalPosition": 23, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -4049,7 +3492,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_source", + "name": "data_source", "type": "varchar", "length": 255, "decimals": 0, @@ -4059,13 +3502,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "tool_source", + "oldName": "data_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 10, + "ordinalPosition": 24, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -4079,23 +3522,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_version", - "type": "varchar", - "length": 255, + "name": "data_collection_date", + "type": "timestamp", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", "comment": "", - "oldName": "tool_version", + "oldName": "data_collection_date", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 11, + "collationSchema": "", + "ordinalPosition": 25, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -4109,23 +3552,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_source", - "type": "varchar", - "length": 255, + "name": "cmt_author_timestamp", + "type": "timestamptz", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "data_source", + "oldName": "cmt_author_timestamp", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 12, + "collationSchema": "", + "ordinalPosition": 26, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -4139,23 +3582,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_collection_date", - "type": "timestamp", + "name": "cmt_committer_timestamp", + "type": "timestamptz", "length": 0, "decimals": 0, "dimensions": 0, "collation": "", "isNullable": true, - "defaultType": "Others", - "defaultValue": "CURRENT_TIMESTAMP", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "data_collection_date", + "oldName": "cmt_committer_timestamp", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 13, + "ordinalPosition": 27, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -4171,7 +3614,7 @@ "indexes": [ { "objectType": "Index_PGSQL", - "name": "projects_id,affiliation_copy_1", + "name": "author_affiliation", "comment": "", "isClustered": false, "isConcurrently": false, @@ -4179,44 +3622,33 @@ "fastUpdate": "", "buffering": "", "fillFactor": -1, - "method": "BTree", + "method": "Hash", "tableSpaceName": "", "constraint": "", - "oldName": "projects_id,affiliation_copy_1", - "oid": 203832, + "oldName": "author_affiliation", + "oid": 15488180, "owner": "augur", "brinPagesPerRange": -1, "ginPendingListLimit": -1, - "tableName": "dm_repo_group_annual", - "size": "8", + "tableName": "commits", + "size": "1680", "fields": [ { "objectType": "IndexField_PGSQL", - "name": "repo_group_id", - "collation": "", - "opClass": "int8_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "repo_group_id", - "collationSchema": "" - }, - { - "objectType": "IndexField_PGSQL", - "name": "affiliation", + "name": "cmt_author_affiliation", "collation": "default", "opClass": "text_ops", "opClassSchema": "pg_catalog", "order": "ASC", "nullSort": "NULLS LAST", - "oldName": "affiliation", + "oldName": "cmt_author_affiliation", "collationSchema": "pg_catalog" } ] }, { "objectType": "Index_PGSQL", - "name": "projects_id,email_copy_1", + "name": "author_cntrb_id", "comment": "", "isClustered": false, "isConcurrently": false, @@ -4227,499 +3659,86 @@ "method": "BTree", "tableSpaceName": "", "constraint": "", - "oldName": "projects_id,email_copy_1", - "oid": 203839, + "oldName": "author_cntrb_id", + "oid": 15488143, "owner": "augur", "brinPagesPerRange": -1, "ginPendingListLimit": -1, - "tableName": "dm_repo_group_annual", - "size": "8", + "tableName": "commits", + "size": "696", "fields": [ { "objectType": "IndexField_PGSQL", - "name": "repo_group_id", + "name": "cmt_ght_author_id", "collation": "", - "opClass": "int8_ops", + "opClass": "int4_ops", "opClassSchema": "pg_catalog", "order": "ASC", "nullSort": "NULLS LAST", - "oldName": "repo_group_id", + "oldName": "cmt_ght_author_id", "collationSchema": "" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "author_email,author_affiliation,author_date", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "author_email,author_affiliation,author_date", + "oid": 15488169, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "commits", + "size": "2440", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "cmt_author_email", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_author_email", + "collationSchema": "pg_catalog" }, { "objectType": "IndexField_PGSQL", - "name": "email", + "name": "cmt_author_affiliation", "collation": "default", "opClass": "text_ops", "opClassSchema": "pg_catalog", "order": "ASC", "nullSort": "NULLS LAST", - "oldName": "email", + "oldName": "cmt_author_affiliation", + "collationSchema": "pg_catalog" + }, + { + "objectType": "IndexField_PGSQL", + "name": "cmt_author_date", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_author_date", "collationSchema": "pg_catalog" } ] - } - ], - "rules": [], - "foreignKeys": [], - "uniques": [], - "checks": [], - "excludes": [], - "triggers": [], - "partitionKeys": [], - "partitions": [] - }, - { - "objectType": "TableNormal_PGSQL", - "name": "dm_repo_group_monthly", - "comment": "", - "tablespace": "", - "isUnlogged": false, - "owner": "augur", - "inheritFromTables": [], - "hasOIDs": false, - "fillFactor": -1, - "oldName": "dm_repo_group_monthly", - "oid": 187903, - "rows": 0, - "isInheritTables": false, - "cluster": "", - "ACL": "", - "isPartition": false, - "partitioningStrategy": "None", - "partitionOfSchema": "", - "partitionOfTable": "", - "partitionListValues": [], - "partitionRangeFromValues": [], - "partitionRangeToValues": [], - "foreignServer": "", - "foreignOptionDisplay": "", - "fields": [ - { - "objectType": "TableField_PGSQL", - "name": "repo_group_id", - "type": "int8", - "length": 64, - "decimals": 0, - "dimensions": 0, - "collation": "", - "isNullable": false, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "repo_group_id", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 1, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "email", - "type": "varchar", - "length": 128, - "decimals": 0, - "dimensions": 0, - "collation": "default", - "isNullable": false, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "email", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 2, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "affiliation", - "type": "varchar", - "length": 128, - "decimals": 0, - "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "Others", - "defaultValue": "'NULL'::character varying", - "comment": "", - "oldName": "affiliation", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 3, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "month", - "type": "int2", - "length": 16, - "decimals": 0, - "dimensions": 0, - "collation": "", - "isNullable": false, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "month", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 4, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "year", - "type": "int2", - "length": 16, - "decimals": 0, - "dimensions": 0, - "collation": "", - "isNullable": false, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "year", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 5, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "added", - "type": "int8", - "length": 64, - "decimals": 0, - "dimensions": 0, - "collation": "", - "isNullable": false, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "added", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 6, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "removed", - "type": "int8", - "length": 64, - "decimals": 0, - "dimensions": 0, - "collation": "", - "isNullable": false, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "removed", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 7, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "whitespace", - "type": "int8", - "length": 64, - "decimals": 0, - "dimensions": 0, - "collation": "", - "isNullable": false, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "whitespace", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 8, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "files", - "type": "int8", - "length": 64, - "decimals": 0, - "dimensions": 0, - "collation": "", - "isNullable": false, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "files", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 9, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "patches", - "type": "int8", - "length": 64, - "decimals": 0, - "dimensions": 0, - "collation": "", - "isNullable": false, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "patches", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 10, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "tool_source", - "type": "varchar", - "length": 255, - "decimals": 0, - "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "tool_source", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 11, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "tool_version", - "type": "varchar", - "length": 255, - "decimals": 0, - "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "tool_version", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 12, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "data_source", - "type": "varchar", - "length": 255, - "decimals": 0, - "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "data_source", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 13, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "data_collection_date", - "type": "timestamp", - "length": 0, - "decimals": 0, - "dimensions": 0, - "collation": "", - "isNullable": true, - "defaultType": "Others", - "defaultValue": "CURRENT_TIMESTAMP", - "comment": "", - "oldName": "data_collection_date", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 14, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - } - ], - "indexes": [ + }, { "objectType": "Index_PGSQL", - "name": "projects_id,affiliation_copy_2", + "name": "author_raw_email", "comment": "", "isClustered": false, "isConcurrently": false, @@ -4730,41 +3749,30 @@ "method": "BTree", "tableSpaceName": "", "constraint": "", - "oldName": "projects_id,affiliation_copy_2", - "oid": 203835, + "oldName": "author_raw_email", + "oid": 15486909, "owner": "augur", "brinPagesPerRange": -1, "ginPendingListLimit": -1, - "tableName": "dm_repo_group_monthly", - "size": "8", + "tableName": "commits", + "size": "1672", "fields": [ { "objectType": "IndexField_PGSQL", - "name": "repo_group_id", - "collation": "", - "opClass": "int8_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "repo_group_id", - "collationSchema": "" - }, - { - "objectType": "IndexField_PGSQL", - "name": "affiliation", + "name": "cmt_author_raw_email", "collation": "default", "opClass": "text_ops", "opClassSchema": "pg_catalog", "order": "ASC", "nullSort": "NULLS LAST", - "oldName": "affiliation", + "oldName": "cmt_author_raw_email", "collationSchema": "pg_catalog" } ] }, { "objectType": "Index_PGSQL", - "name": "projects_id,email_copy_2", + "name": "cmt-author-date-idx2", "comment": "", "isClustered": false, "isConcurrently": false, @@ -4775,41 +3783,30 @@ "method": "BTree", "tableSpaceName": "", "constraint": "", - "oldName": "projects_id,email_copy_2", - "oid": 203853, + "oldName": "cmt-author-date-idx2", + "oid": 15488138, "owner": "augur", "brinPagesPerRange": -1, "ginPendingListLimit": -1, - "tableName": "dm_repo_group_monthly", - "size": "8", + "tableName": "commits", + "size": "1344", "fields": [ { "objectType": "IndexField_PGSQL", - "name": "repo_group_id", - "collation": "", - "opClass": "int8_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "repo_group_id", - "collationSchema": "" - }, - { - "objectType": "IndexField_PGSQL", - "name": "email", + "name": "cmt_author_date", "collation": "default", "opClass": "text_ops", "opClassSchema": "pg_catalog", "order": "ASC", "nullSort": "NULLS LAST", - "oldName": "email", + "oldName": "cmt_author_date", "collationSchema": "pg_catalog" } ] }, { "objectType": "Index_PGSQL", - "name": "projects_id,year,affiliation_copy_1", + "name": "cmt-committer-date-idx3", "comment": "", "isClustered": false, "isConcurrently": false, @@ -4820,52 +3817,30 @@ "method": "BTree", "tableSpaceName": "", "constraint": "", - "oldName": "projects_id,year,affiliation_copy_1", - "oid": 203865, + "oldName": "cmt-committer-date-idx3", + "oid": 15488139, "owner": "augur", "brinPagesPerRange": -1, "ginPendingListLimit": -1, - "tableName": "dm_repo_group_monthly", - "size": "8", + "tableName": "commits", + "size": "1320", "fields": [ { "objectType": "IndexField_PGSQL", - "name": "repo_group_id", - "collation": "", - "opClass": "int8_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "repo_group_id", - "collationSchema": "" - }, - { - "objectType": "IndexField_PGSQL", - "name": "year", - "collation": "", - "opClass": "int2_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "year", - "collationSchema": "" - }, - { - "objectType": "IndexField_PGSQL", - "name": "affiliation", + "name": "cmt_committer_date", "collation": "default", "opClass": "text_ops", "opClassSchema": "pg_catalog", "order": "ASC", "nullSort": "NULLS LAST", - "oldName": "affiliation", + "oldName": "cmt_committer_date", "collationSchema": "pg_catalog" } ] }, { "objectType": "Index_PGSQL", - "name": "projects_id,year,email_copy_1", + "name": "cmt_author-name-idx5", "comment": "", "isClustered": false, "isConcurrently": false, @@ -4876,510 +3851,423 @@ "method": "BTree", "tableSpaceName": "", "constraint": "", - "oldName": "projects_id,year,email_copy_1", - "oid": 203869, + "oldName": "cmt_author-name-idx5", + "oid": 15488141, "owner": "augur", "brinPagesPerRange": -1, "ginPendingListLimit": -1, - "tableName": "dm_repo_group_monthly", - "size": "8", + "tableName": "commits", + "size": "1336", "fields": [ { "objectType": "IndexField_PGSQL", - "name": "repo_group_id", - "collation": "", - "opClass": "int8_ops", + "name": "cmt_committer_name", + "collation": "default", + "opClass": "text_ops", "opClassSchema": "pg_catalog", "order": "ASC", "nullSort": "NULLS LAST", - "oldName": "repo_group_id", - "collationSchema": "" + "oldName": "cmt_committer_name", + "collationSchema": "pg_catalog" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "cmt_author_contrib_worker", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BRIN", + "tableSpaceName": "", + "constraint": "", + "oldName": "cmt_author_contrib_worker", + "oid": 15488170, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "commits", + "size": "24", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "cmt_author_name", + "collation": "default", + "opClass": "text_minmax_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_author_name", + "collationSchema": "pg_catalog" }, { "objectType": "IndexField_PGSQL", - "name": "year", - "collation": "", - "opClass": "int2_ops", + "name": "cmt_author_email", + "collation": "default", + "opClass": "text_minmax_ops", "opClassSchema": "pg_catalog", "order": "ASC", "nullSort": "NULLS LAST", - "oldName": "year", - "collationSchema": "" + "oldName": "cmt_author_email", + "collationSchema": "pg_catalog" }, { "objectType": "IndexField_PGSQL", - "name": "email", + "name": "cmt_author_date", "collation": "default", - "opClass": "text_ops", + "opClass": "text_minmax_ops", "opClassSchema": "pg_catalog", "order": "ASC", "nullSort": "NULLS LAST", - "oldName": "email", + "oldName": "cmt_author_date", "collationSchema": "pg_catalog" } ] - } - ], - "rules": [], - "foreignKeys": [], - "uniques": [], - "checks": [], - "excludes": [], - "triggers": [], - "partitionKeys": [], - "partitions": [] - }, - { - "objectType": "TableNormal_PGSQL", - "name": "dm_repo_group_weekly", - "comment": "", - "tablespace": "", - "isUnlogged": false, - "owner": "augur", - "inheritFromTables": [], - "hasOIDs": false, - "fillFactor": -1, - "oldName": "dm_repo_group_weekly", - "oid": 187957, - "rows": 0, - "isInheritTables": false, - "cluster": "", - "ACL": "", - "isPartition": false, - "partitioningStrategy": "None", - "partitionOfSchema": "", - "partitionOfTable": "", - "partitionListValues": [], - "partitionRangeFromValues": [], - "partitionRangeToValues": [], - "foreignServer": "", - "foreignOptionDisplay": "", - "fields": [ + }, { - "objectType": "TableField_PGSQL", - "name": "repo_group_id", - "type": "int8", - "length": 64, - "decimals": 0, - "dimensions": 0, - "collation": "", - "isNullable": false, - "defaultType": "None", - "defaultValue": "", + "objectType": "Index_PGSQL", + "name": "cmt_cmmter-name-idx4", "comment": "", - "oldName": "repo_group_id", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 1, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "cmt_cmmter-name-idx4", + "oid": 15488140, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "commits", + "size": "1344", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "cmt_author_name", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_author_name", + "collationSchema": "pg_catalog" + } + ] }, { - "objectType": "TableField_PGSQL", - "name": "email", - "type": "varchar", - "length": 128, - "decimals": 0, - "dimensions": 0, - "collation": "default", - "isNullable": false, - "defaultType": "None", - "defaultValue": "", + "objectType": "Index_PGSQL", + "name": "cmt_commiter_contrib_worker", "comment": "", - "oldName": "email", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 2, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BRIN", + "tableSpaceName": "", + "constraint": "", + "oldName": "cmt_commiter_contrib_worker", + "oid": 15488175, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "commits", + "size": "24", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "cmt_committer_name", + "collation": "default", + "opClass": "text_minmax_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_committer_name", + "collationSchema": "pg_catalog" + }, + { + "objectType": "IndexField_PGSQL", + "name": "cmt_committer_email", + "collation": "default", + "opClass": "text_minmax_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_committer_email", + "collationSchema": "pg_catalog" + }, + { + "objectType": "IndexField_PGSQL", + "name": "cmt_committer_date", + "collation": "default", + "opClass": "text_minmax_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_committer_date", + "collationSchema": "pg_catalog" + } + ] }, { - "objectType": "TableField_PGSQL", - "name": "affiliation", - "type": "varchar", - "length": 128, - "decimals": 0, - "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "Others", - "defaultValue": "'NULL'::character varying", + "objectType": "Index_PGSQL", + "name": "commited", "comment": "", - "oldName": "affiliation", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 3, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "commited", + "oid": 15486910, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "commits", + "size": "736", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "cmt_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_id", + "collationSchema": "" + } + ] }, { - "objectType": "TableField_PGSQL", - "name": "week", - "type": "int2", - "length": 16, - "decimals": 0, - "dimensions": 0, - "collation": "", - "isNullable": false, - "defaultType": "None", - "defaultValue": "", + "objectType": "Index_PGSQL", + "name": "commits_idx_cmt_email_cmt_date_cmt_name", "comment": "", - "oldName": "week", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 4, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "commits_idx_cmt_email_cmt_date_cmt_name", + "oid": 15488172, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "commits", + "size": "2904", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "cmt_author_email", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_author_email", + "collationSchema": "pg_catalog" + }, + { + "objectType": "IndexField_PGSQL", + "name": "cmt_author_date", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_author_date", + "collationSchema": "pg_catalog" + }, + { + "objectType": "IndexField_PGSQL", + "name": "cmt_author_name", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_author_name", + "collationSchema": "pg_catalog" + } + ] }, { - "objectType": "TableField_PGSQL", - "name": "year", - "type": "int2", - "length": 16, - "decimals": 0, - "dimensions": 0, - "collation": "", - "isNullable": false, - "defaultType": "None", - "defaultValue": "", + "objectType": "Index_PGSQL", + "name": "commits_idx_cmt_email_cmt_date_cmt_name2", "comment": "", - "oldName": "year", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 5, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "commits_idx_cmt_email_cmt_date_cmt_name2", + "oid": 15488177, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "commits", + "size": "2816", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "cmt_committer_email", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_committer_email", + "collationSchema": "pg_catalog" + }, + { + "objectType": "IndexField_PGSQL", + "name": "cmt_committer_date", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_committer_date", + "collationSchema": "pg_catalog" + }, + { + "objectType": "IndexField_PGSQL", + "name": "cmt_committer_name", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_committer_name", + "collationSchema": "pg_catalog" + } + ] }, { - "objectType": "TableField_PGSQL", - "name": "added", - "type": "int8", - "length": 64, - "decimals": 0, - "dimensions": 0, - "collation": "", - "isNullable": false, - "defaultType": "None", - "defaultValue": "", + "objectType": "Index_PGSQL", + "name": "commits_idx_cmt_name_cmt_date2", "comment": "", - "oldName": "added", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 6, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "commits_idx_cmt_name_cmt_date2", + "oid": 15488160, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "commits", + "size": "1912", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "cmt_author_name", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_author_name", + "collationSchema": "pg_catalog" + }, + { + "objectType": "IndexField_PGSQL", + "name": "cmt_author_date", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_author_date", + "collationSchema": "pg_catalog" + } + ] }, { - "objectType": "TableField_PGSQL", - "name": "removed", - "type": "int8", - "length": 64, - "decimals": 0, - "dimensions": 0, - "collation": "", - "isNullable": false, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "removed", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 7, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "whitespace", - "type": "int8", - "length": 64, - "decimals": 0, - "dimensions": 0, - "collation": "", - "isNullable": false, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "whitespace", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 8, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "files", - "type": "int8", - "length": 64, - "decimals": 0, - "dimensions": 0, - "collation": "", - "isNullable": false, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "files", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 9, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "patches", - "type": "int8", - "length": 64, - "decimals": 0, - "dimensions": 0, - "collation": "", - "isNullable": false, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "patches", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 10, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "tool_source", - "type": "varchar", - "length": 255, - "decimals": 0, - "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "tool_source", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 11, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "tool_version", - "type": "varchar", - "length": 255, - "decimals": 0, - "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "tool_version", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 12, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "data_source", - "type": "varchar", - "length": 255, - "decimals": 0, - "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "objectType": "Index_PGSQL", + "name": "commits_idx_cmt_name_cmt_date_cmt_date3", "comment": "", - "oldName": "data_source", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 13, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "commits_idx_cmt_name_cmt_date_cmt_date3", + "oid": 15488162, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "commits", + "size": "2416", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "cmt_committer_name", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_committer_name", + "collationSchema": "pg_catalog" + }, + { + "objectType": "IndexField_PGSQL", + "name": "cmt_author_date", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_author_date", + "collationSchema": "pg_catalog" + }, + { + "objectType": "IndexField_PGSQL", + "name": "cmt_committer_date", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_committer_date", + "collationSchema": "pg_catalog" + } + ] }, - { - "objectType": "TableField_PGSQL", - "name": "data_collection_date", - "type": "timestamp", - "length": 0, - "decimals": 0, - "dimensions": 0, - "collation": "", - "isNullable": true, - "defaultType": "Others", - "defaultValue": "CURRENT_TIMESTAMP", - "comment": "", - "oldName": "data_collection_date", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 14, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - } - ], - "indexes": [ { "objectType": "Index_PGSQL", - "name": "projects_id,affiliation", + "name": "commits_idx_repo_id_cmt_ema_cmt_dat_cmt_nam", "comment": "", "isClustered": false, "isConcurrently": false, @@ -5390,41 +4278,63 @@ "method": "BTree", "tableSpaceName": "", "constraint": "", - "oldName": "projects_id,affiliation", - "oid": 203831, + "oldName": "commits_idx_repo_id_cmt_ema_cmt_dat_cmt_nam", + "oid": 15488171, "owner": "augur", "brinPagesPerRange": -1, "ginPendingListLimit": -1, - "tableName": "dm_repo_group_weekly", - "size": "8", + "tableName": "commits", + "size": "3256", "fields": [ { "objectType": "IndexField_PGSQL", - "name": "repo_group_id", + "name": "repo_id", "collation": "", "opClass": "int8_ops", "opClassSchema": "pg_catalog", "order": "ASC", "nullSort": "NULLS LAST", - "oldName": "repo_group_id", + "oldName": "repo_id", "collationSchema": "" }, { "objectType": "IndexField_PGSQL", - "name": "affiliation", + "name": "cmt_author_email", "collation": "default", "opClass": "text_ops", "opClassSchema": "pg_catalog", "order": "ASC", "nullSort": "NULLS LAST", - "oldName": "affiliation", + "oldName": "cmt_author_email", + "collationSchema": "pg_catalog" + }, + { + "objectType": "IndexField_PGSQL", + "name": "cmt_author_date", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_author_date", + "collationSchema": "pg_catalog" + }, + { + "objectType": "IndexField_PGSQL", + "name": "cmt_author_name", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_author_name", "collationSchema": "pg_catalog" } ] }, { "objectType": "Index_PGSQL", - "name": "projects_id,email", + "name": "commits_idx_repo_id_cmt_ema_cmt_dat_cmt_nam2", "comment": "", "isClustered": false, "isConcurrently": false, @@ -5435,41 +4345,63 @@ "method": "BTree", "tableSpaceName": "", "constraint": "", - "oldName": "projects_id,email", - "oid": 203838, + "oldName": "commits_idx_repo_id_cmt_ema_cmt_dat_cmt_nam2", + "oid": 15488176, "owner": "augur", "brinPagesPerRange": -1, "ginPendingListLimit": -1, - "tableName": "dm_repo_group_weekly", - "size": "8", + "tableName": "commits", + "size": "3152", "fields": [ { "objectType": "IndexField_PGSQL", - "name": "repo_group_id", + "name": "repo_id", "collation": "", "opClass": "int8_ops", "opClassSchema": "pg_catalog", "order": "ASC", "nullSort": "NULLS LAST", - "oldName": "repo_group_id", + "oldName": "repo_id", "collationSchema": "" }, { "objectType": "IndexField_PGSQL", - "name": "email", + "name": "cmt_committer_email", "collation": "default", "opClass": "text_ops", "opClassSchema": "pg_catalog", "order": "ASC", "nullSort": "NULLS LAST", - "oldName": "email", + "oldName": "cmt_committer_email", + "collationSchema": "pg_catalog" + }, + { + "objectType": "IndexField_PGSQL", + "name": "cmt_committer_date", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_committer_date", + "collationSchema": "pg_catalog" + }, + { + "objectType": "IndexField_PGSQL", + "name": "cmt_committer_name", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_committer_name", "collationSchema": "pg_catalog" } ] }, { "objectType": "Index_PGSQL", - "name": "projects_id,year,affiliation", + "name": "commits_idx_repo_id_cmt_ema_cmt_nam_cmt_dat2", "comment": "", "isClustered": false, "isConcurrently": false, @@ -5480,52 +4412,63 @@ "method": "BTree", "tableSpaceName": "", "constraint": "", - "oldName": "projects_id,year,affiliation", - "oid": 203864, + "oldName": "commits_idx_repo_id_cmt_ema_cmt_nam_cmt_dat2", + "oid": 15488173, "owner": "augur", "brinPagesPerRange": -1, "ginPendingListLimit": -1, - "tableName": "dm_repo_group_weekly", - "size": "8", + "tableName": "commits", + "size": "3272", "fields": [ { "objectType": "IndexField_PGSQL", - "name": "repo_group_id", + "name": "repo_id", "collation": "", "opClass": "int8_ops", "opClassSchema": "pg_catalog", "order": "ASC", "nullSort": "NULLS LAST", - "oldName": "repo_group_id", + "oldName": "repo_id", "collationSchema": "" }, { "objectType": "IndexField_PGSQL", - "name": "year", - "collation": "", - "opClass": "int2_ops", + "name": "cmt_author_email", + "collation": "default", + "opClass": "text_ops", "opClassSchema": "pg_catalog", "order": "ASC", "nullSort": "NULLS LAST", - "oldName": "year", - "collationSchema": "" + "oldName": "cmt_author_email", + "collationSchema": "pg_catalog" }, { "objectType": "IndexField_PGSQL", - "name": "affiliation", + "name": "cmt_author_name", "collation": "default", "opClass": "text_ops", "opClassSchema": "pg_catalog", "order": "ASC", "nullSort": "NULLS LAST", - "oldName": "affiliation", + "oldName": "cmt_author_name", + "collationSchema": "pg_catalog" + }, + { + "objectType": "IndexField_PGSQL", + "name": "cmt_author_date", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_author_date", "collationSchema": "pg_catalog" } ] }, { "objectType": "Index_PGSQL", - "name": "projects_id,year,email", + "name": "commits_idx_repo_id_cmt_ema_cmt_nam_cmt_dat3", "comment": "", "isClustered": false, "isConcurrently": false, @@ -5536,224 +4479,395 @@ "method": "BTree", "tableSpaceName": "", "constraint": "", - "oldName": "projects_id,year,email", - "oid": 203868, + "oldName": "commits_idx_repo_id_cmt_ema_cmt_nam_cmt_dat3", + "oid": 15488178, "owner": "augur", "brinPagesPerRange": -1, "ginPendingListLimit": -1, - "tableName": "dm_repo_group_weekly", - "size": "8", + "tableName": "commits", + "size": "3224", "fields": [ { "objectType": "IndexField_PGSQL", - "name": "repo_group_id", + "name": "repo_id", "collation": "", "opClass": "int8_ops", "opClassSchema": "pg_catalog", "order": "ASC", "nullSort": "NULLS LAST", - "oldName": "repo_group_id", + "oldName": "repo_id", "collationSchema": "" }, { "objectType": "IndexField_PGSQL", - "name": "year", - "collation": "", - "opClass": "int2_ops", + "name": "cmt_committer_email", + "collation": "default", + "opClass": "text_ops", "opClassSchema": "pg_catalog", "order": "ASC", "nullSort": "NULLS LAST", - "oldName": "year", - "collationSchema": "" + "oldName": "cmt_committer_email", + "collationSchema": "pg_catalog" }, { "objectType": "IndexField_PGSQL", - "name": "email", + "name": "cmt_committer_name", "collation": "default", "opClass": "text_ops", "opClassSchema": "pg_catalog", "order": "ASC", "nullSort": "NULLS LAST", - "oldName": "email", + "oldName": "cmt_committer_name", + "collationSchema": "pg_catalog" + }, + { + "objectType": "IndexField_PGSQL", + "name": "cmt_author_date", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_author_date", "collationSchema": "pg_catalog" } ] - } - ], - "rules": [], - "foreignKeys": [], - "uniques": [], - "checks": [], - "excludes": [], - "triggers": [], - "partitionKeys": [], - "partitions": [] - }, - { - "objectType": "TableNormal_PGSQL", - "name": "dm_repo_monthly", - "comment": "", - "tablespace": "", - "isUnlogged": false, - "owner": "augur", - "inheritFromTables": [], - "hasOIDs": false, - "fillFactor": -1, - "oldName": "dm_repo_monthly", - "oid": 188031, - "rows": 0, - "isInheritTables": false, - "cluster": "", - "ACL": "", - "isPartition": false, - "partitioningStrategy": "None", - "partitionOfSchema": "", - "partitionOfTable": "", - "partitionListValues": [], - "partitionRangeFromValues": [], - "partitionRangeToValues": [], - "foreignServer": "", - "foreignOptionDisplay": "", - "fields": [ - { - "objectType": "TableField_PGSQL", - "name": "repo_id", - "type": "int8", - "length": 64, - "decimals": 0, - "dimensions": 0, - "collation": "", - "isNullable": false, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "repo_id", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 1, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false }, { - "objectType": "TableField_PGSQL", - "name": "email", - "type": "varchar", - "length": 128, - "decimals": 0, - "dimensions": 0, - "collation": "default", - "isNullable": false, - "defaultType": "None", - "defaultValue": "", + "objectType": "Index_PGSQL", + "name": "committer_affiliation", "comment": "", - "oldName": "email", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 2, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "committer_affiliation", + "oid": 15486911, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "commits", + "size": "696", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "cmt_committer_affiliation", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_committer_affiliation", + "collationSchema": "pg_catalog" + } + ] }, { - "objectType": "TableField_PGSQL", - "name": "affiliation", - "type": "varchar", - "length": 128, - "decimals": 0, - "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "Others", - "defaultValue": "'NULL'::character varying", + "objectType": "Index_PGSQL", + "name": "committer_cntrb_id", "comment": "", - "oldName": "affiliation", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 3, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "committer_cntrb_id", + "oid": 15488142, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "commits", + "size": "696", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "cmt_ght_committer_id", + "collation": "", + "opClass": "int4_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_ght_committer_id", + "collationSchema": "" + } + ] }, { - "objectType": "TableField_PGSQL", - "name": "month", - "type": "int2", - "length": 16, - "decimals": 0, - "dimensions": 0, - "collation": "", - "isNullable": false, - "defaultType": "None", - "defaultValue": "", + "objectType": "Index_PGSQL", + "name": "committer_email,committer_affiliation,committer_date", "comment": "", - "oldName": "month", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 4, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "committer_email,committer_affiliation,committer_date", + "oid": 15488174, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "commits", + "size": "2504", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "cmt_committer_email", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_committer_email", + "collationSchema": "pg_catalog" + }, + { + "objectType": "IndexField_PGSQL", + "name": "cmt_committer_affiliation", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_committer_affiliation", + "collationSchema": "pg_catalog" + }, + { + "objectType": "IndexField_PGSQL", + "name": "cmt_committer_date", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_committer_date", + "collationSchema": "pg_catalog" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "committer_raw_email", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "committer_raw_email", + "oid": 15486913, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "commits", + "size": "1664", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "cmt_committer_raw_email", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_committer_raw_email", + "collationSchema": "pg_catalog" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "repo_id,commit", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "repo_id,commit", + "oid": 15486914, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "commits", + "size": "3200", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "repo_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "repo_id", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "cmt_commit_hash", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cmt_commit_hash", + "collationSchema": "pg_catalog" + } + ] + } + ], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "commits_pkey", + "fields": [ + "cmt_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "commits_pkey" + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_commits_contributors_1", + "fields": [ + "cmt_ght_author_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "contributors", + "referenceFields": [ + "cntrb_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_commits_contributors_1" + }, + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_commits_contributors_2", + "fields": [ + "cmt_ght_committer_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "contributors", + "referenceFields": [ + "cntrb_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_commits_contributors_2" }, + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_commits_repo_1", + "fields": [ + "repo_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "repo", + "referenceFields": [ + "repo_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "OneAndOnlyOneRelationship", + "oldName": "fk_commits_repo_1" + } + ], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "contributor_affiliations", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "contributor_affiliations", + "oid": 15486458, + "rows": 703, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ { "objectType": "TableField_PGSQL", - "name": "year", - "type": "int2", - "length": 16, + "name": "ca_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, "collation": "", "isNullable": false, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "nextval('augur_data.contributor_affiliations_ca_id_seq'::regclass)", "comment": "", - "oldName": "year", + "oldName": "ca_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 5, + "ordinalPosition": 2, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -5767,23 +4881,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "added", - "type": "int8", + "name": "ca_domain", + "type": "varchar", "length": 64, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "added", + "oldName": "ca_domain", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 6, + "collationSchema": "pg_catalog", + "ordinalPosition": 3, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -5797,23 +4911,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "removed", - "type": "int8", - "length": 64, + "name": "ca_start_date", + "type": "date", + "length": 0, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": false, - "defaultType": "None", - "defaultValue": "", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "'1970-01-01'::date", "comment": "", - "oldName": "removed", + "oldName": "ca_start_date", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 7, + "ordinalPosition": 5, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -5827,22 +4941,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "whitespace", - "type": "int8", - "length": 64, + "name": "tool_source", + "type": "varchar", + "length": 255, "decimals": 0, "dimensions": 0, - "collation": "", - "isNullable": false, + "collation": "default", + "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "whitespace", + "oldName": "tool_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 8, "foreignOptions": [], "isIdentity": false, @@ -5857,22 +4971,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "files", - "type": "int8", - "length": 64, + "name": "tool_version", + "type": "varchar", + "length": 255, "decimals": 0, "dimensions": 0, - "collation": "", - "isNullable": false, + "collation": "default", + "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "files", + "oldName": "tool_version", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 9, "foreignOptions": [], "isIdentity": false, @@ -5887,22 +5001,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "patches", - "type": "int8", - "length": 64, + "name": "data_source", + "type": "varchar", + "length": 255, "decimals": 0, "dimensions": 0, - "collation": "", - "isNullable": false, + "collation": "default", + "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "patches", + "oldName": "data_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 10, "foreignOptions": [], "isIdentity": false, @@ -5917,22 +5031,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_source", - "type": "varchar", - "length": 255, + "name": "data_collection_date", + "type": "timestamp", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", "comment": "", - "oldName": "tool_source", + "oldName": "data_collection_date", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 11, "foreignOptions": [], "isIdentity": false, @@ -5947,22 +5061,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_version", - "type": "varchar", - "length": 255, + "name": "ca_last_used", + "type": "timestamp", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", "comment": "", - "oldName": "tool_version", + "oldName": "ca_last_used", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 12, "foreignOptions": [], "isIdentity": false, @@ -5977,9 +5091,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_source", + "name": "ca_affiliation", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", @@ -5987,7 +5101,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "data_source", + "oldName": "ca_affiliation", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -6007,17 +5121,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_collection_date", - "type": "timestamp", - "length": 0, + "name": "ca_active", + "type": "int2", + "length": 16, "decimals": 0, "dimensions": 0, "collation": "", "isNullable": true, "defaultType": "Others", - "defaultValue": "CURRENT_TIMESTAMP", + "defaultValue": "1", "comment": "", - "oldName": "data_collection_date", + "oldName": "ca_active", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -6036,213 +5150,37 @@ "isIdentityCycle": false } ], - "indexes": [ + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "contributor_affiliations_pkey", + "fields": [ + "ca_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "contributor_affiliations_pkey" + }, + "foreignKeys": [], + "uniques": [ { - "objectType": "Index_PGSQL", - "name": "repo_id,affiliation_copy_2", - "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "repo_id,affiliation_copy_2", - "oid": 203886, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "dm_repo_monthly", - "size": "8", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "repo_id", - "collation": "", - "opClass": "int8_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "repo_id", - "collationSchema": "" - }, - { - "objectType": "IndexField_PGSQL", - "name": "affiliation", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "affiliation", - "collationSchema": "pg_catalog" - } - ] - }, - { - "objectType": "Index_PGSQL", - "name": "repo_id,email_copy_2", - "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "repo_id,email_copy_2", - "oid": 203897, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "dm_repo_monthly", - "size": "8", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "repo_id", - "collation": "", - "opClass": "int8_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "repo_id", - "collationSchema": "" - }, - { - "objectType": "IndexField_PGSQL", - "name": "email", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "email", - "collationSchema": "pg_catalog" - } - ] - }, - { - "objectType": "Index_PGSQL", - "name": "repo_id,year,affiliation_copy_1", - "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "repo_id,year,affiliation_copy_1", - "oid": 203908, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "dm_repo_monthly", - "size": "8", + "objectType": "Unique_PGSQL", + "name": "unique_domain", "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "repo_id", - "collation": "", - "opClass": "int8_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "repo_id", - "collationSchema": "" - }, - { - "objectType": "IndexField_PGSQL", - "name": "year", - "collation": "", - "opClass": "int2_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "year", - "collationSchema": "" - }, - { - "objectType": "IndexField_PGSQL", - "name": "affiliation", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "affiliation", - "collationSchema": "pg_catalog" - } - ] - }, - { - "objectType": "Index_PGSQL", - "name": "repo_id,year,email_copy_1", - "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", + "ca_domain" + ], "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "repo_id,year,email_copy_1", - "oid": 203914, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "dm_repo_monthly", - "size": "8", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "repo_id", - "collation": "", - "opClass": "int8_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "repo_id", - "collationSchema": "" - }, - { - "objectType": "IndexField_PGSQL", - "name": "year", - "collation": "", - "opClass": "int2_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "year", - "collationSchema": "" - }, - { - "objectType": "IndexField_PGSQL", - "name": "email", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "email", - "collationSchema": "pg_catalog" - } - ] + "indexTablespace": "", + "comment": "Only one row should exist for any given top level domain or subdomain. ", + "isDeferrable": false, + "isDeferred": false, + "oldName": "unique_domain" } ], - "rules": [], - "foreignKeys": [], - "uniques": [], "checks": [], "excludes": [], "triggers": [], @@ -6251,16 +5189,16 @@ }, { "objectType": "TableNormal_PGSQL", - "name": "dm_repo_weekly", - "comment": "", + "name": "contributor_repo", + "comment": "Developed in Partnership with Andrew Brain. \nFrom: [\n {\n \"login\": \"octocat\",\n \"id\": 1,\n \"node_id\": \"MDQ6VXNlcjE=\",\n \"avatar_url\": \"https://github.com/images/error/octocat_happy.gif\",\n \"gravatar_id\": \"\",\n \"url\": \"https://api.github.com/users/octocat\",\n \"html_url\": \"https://github.com/octocat\",\n \"followers_url\": \"https://api.github.com/users/octocat/followers\",\n \"following_url\": \"https://api.github.com/users/octocat/following{/other_user}\",\n \"gists_url\": \"https://api.github.com/users/octocat/gists{/gist_id}\",\n \"starred_url\": \"https://api.github.com/users/octocat/starred{/owner}{/repo}\",\n \"subscriptions_url\": \"https://api.github.com/users/octocat/subscriptions\",\n \"organizations_url\": \"https://api.github.com/users/octocat/orgs\",\n \"repos_url\": \"https://api.github.com/users/octocat/repos\",\n \"events_url\": \"https://api.github.com/users/octocat/events{/privacy}\",\n \"received_events_url\": \"https://api.github.com/users/octocat/received_events\",\n \"type\": \"User\",\n \"site_admin\": false\n }\n]\n", "tablespace": "", "isUnlogged": false, "owner": "augur", "inheritFromTables": [], "hasOIDs": false, "fillFactor": -1, - "oldName": "dm_repo_weekly", - "oid": 188098, + "oldName": "contributor_repo", + "oid": 15488491, "rows": 0, "isInheritTables": false, "cluster": "", @@ -6277,17 +5215,17 @@ "fields": [ { "objectType": "TableField_PGSQL", - "name": "repo_id", + "name": "cntrb_repo_id", "type": "int8", "length": 64, "decimals": 0, "dimensions": 0, "collation": "", "isNullable": false, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "nextval('augur_data.contributor_repo_cntrb_repo_id_seq'::regclass)", "comment": "", - "oldName": "repo_id", + "oldName": "cntrb_repo_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -6307,22 +5245,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "email", - "type": "varchar", - "length": 128, + "name": "cntrb_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": false, "defaultType": "None", "defaultValue": "", - "comment": "", - "oldName": "email", + "comment": "This is not null because what is the point without the contributor in this table? ", + "oldName": "cntrb_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 2, "foreignOptions": [], "isIdentity": false, @@ -6337,17 +5275,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "affiliation", + "name": "repo_git", "type": "varchar", - "length": 128, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", - "isNullable": true, - "defaultType": "Others", - "defaultValue": "'NULL'::character varying", - "comment": "", - "oldName": "affiliation", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "Similar to cntrb_id, we need this data for the table to have meaningful data. ", + "oldName": "repo_git", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -6367,22 +5305,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "week", - "type": "int2", - "length": 16, + "name": "repo_name", + "type": "varchar", + "length": 255, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "week", + "oldName": "repo_name", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 4, "foreignOptions": [], "isIdentity": false, @@ -6397,9 +5335,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "year", - "type": "int2", - "length": 16, + "name": "gh_repo_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, "collation": "", @@ -6407,7 +5345,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "year", + "oldName": "gh_repo_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -6427,22 +5365,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "added", - "type": "int8", - "length": 64, + "name": "cntrb_category", + "type": "varchar", + "length": 255, "decimals": 0, "dimensions": 0, - "collation": "", - "isNullable": false, + "collation": "default", + "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "added", + "oldName": "cntrb_category", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 6, "foreignOptions": [], "isIdentity": false, @@ -6457,17 +5395,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "removed", + "name": "event_id", "type": "int8", "length": 64, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": false, + "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "removed", + "oldName": "event_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -6487,17 +5425,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "whitespace", - "type": "int8", - "length": 64, + "name": "created_at", + "type": "timestamp", + "length": 0, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": false, + "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "whitespace", + "oldName": "created_at", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -6517,22 +5455,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "files", - "type": "int8", - "length": 64, + "name": "tool_source", + "type": "varchar", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", - "isNullable": false, + "collation": "default", + "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "files", + "oldName": "tool_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 9, "foreignOptions": [], "isIdentity": false, @@ -6547,22 +5485,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "patches", - "type": "int8", - "length": 64, + "name": "tool_version", + "type": "varchar", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", - "isNullable": false, + "collation": "default", + "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "patches", + "oldName": "tool_version", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 10, "foreignOptions": [], "isIdentity": false, @@ -6577,9 +5515,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_source", + "name": "data_source", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", @@ -6587,7 +5525,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "tool_source", + "oldName": "data_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -6607,7 +5545,154 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_version", + "name": "data_collection_date", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", + "comment": "", + "oldName": "data_collection_date", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 12, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "cntrb_repo_id_key", + "fields": [ + "cntrb_repo_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "cntrb_repo_id_key" + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_contributor_repo_contributors_1", + "fields": [ + "cntrb_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "contributors", + "referenceFields": [ + "cntrb_id" + ], + "onDelete": "RESTRICT", + "onUpdate": "CASCADE", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "OneAndOnlyOneRelationship", + "oldName": "fk_contributor_repo_contributors_1" + } + ], + "uniques": [ + { + "objectType": "Unique_PGSQL", + "name": "eventer", + "fields": [ + "event_id", + "tool_version" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "eventer" + } + ], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "contributors", + "comment": "For GitHub, this should be repeated from gh_login. for other systems, it should be that systems login. ", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "contributors", + "oid": 15486469, + "rows": 3784, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "cntrb_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_data.contributors_cntrb_id_seq'::regclass)", + "comment": "", + "oldName": "cntrb_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "cntrb_login", "type": "varchar", "length": 255, "decimals": 0, @@ -6616,14 +5701,14 @@ "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "", - "oldName": "tool_version", + "comment": "Will be a double population with the same value as gh_login for github, but the local value for other systems. ", + "oldName": "cntrb_login", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 12, + "ordinalPosition": 2, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -6637,23 +5722,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_source", + "name": "cntrb_email", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "", - "oldName": "data_source", + "comment": "This needs to be here for matching contributor ids, which are augur, to the commit information. ", + "oldName": "cntrb_email", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 13, + "ordinalPosition": 3, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -6667,23 +5752,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_collection_date", - "type": "timestamp", - "length": 0, + "name": "cntrb_company", + "type": "varchar", + "length": 255, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "Others", - "defaultValue": "CURRENT_TIMESTAMP", + "defaultValue": "NULL::character varying", "comment": "", - "oldName": "data_collection_date", + "oldName": "cntrb_company", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 14, + "collationSchema": "pg_catalog", + "ordinalPosition": 4, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -6694,266 +5779,26 @@ "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false - } - ], - "indexes": [ - { - "objectType": "Index_PGSQL", - "name": "repo_id,affiliation", - "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "repo_id,affiliation", - "oid": 203874, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "dm_repo_weekly", - "size": "8", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "repo_id", - "collation": "", - "opClass": "int8_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "repo_id", - "collationSchema": "" - }, - { - "objectType": "IndexField_PGSQL", - "name": "affiliation", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "affiliation", - "collationSchema": "pg_catalog" - } - ] - }, - { - "objectType": "Index_PGSQL", - "name": "repo_id,email", - "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "repo_id,email", - "oid": 203892, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "dm_repo_weekly", - "size": "8", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "repo_id", - "collation": "", - "opClass": "int8_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "repo_id", - "collationSchema": "" - }, - { - "objectType": "IndexField_PGSQL", - "name": "email", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "email", - "collationSchema": "pg_catalog" - } - ] - }, - { - "objectType": "Index_PGSQL", - "name": "repo_id,year,affiliation", - "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "repo_id,year,affiliation", - "oid": 203906, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "dm_repo_weekly", - "size": "8", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "repo_id", - "collation": "", - "opClass": "int8_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "repo_id", - "collationSchema": "" - }, - { - "objectType": "IndexField_PGSQL", - "name": "year", - "collation": "", - "opClass": "int2_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "year", - "collationSchema": "" - }, - { - "objectType": "IndexField_PGSQL", - "name": "affiliation", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "affiliation", - "collationSchema": "pg_catalog" - } - ] - }, - { - "objectType": "Index_PGSQL", - "name": "repo_id,year,email", - "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "repo_id,year,email", - "oid": 203910, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "dm_repo_weekly", - "size": "8", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "repo_id", - "collation": "", - "opClass": "int8_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "repo_id", - "collationSchema": "" - }, - { - "objectType": "IndexField_PGSQL", - "name": "year", - "collation": "", - "opClass": "int2_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "year", - "collationSchema": "" - }, - { - "objectType": "IndexField_PGSQL", - "name": "email", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "email", - "collationSchema": "pg_catalog" - } - ] - } - ], - "rules": [], - "foreignKeys": [], - "uniques": [], - "checks": [], - "excludes": [], - "triggers": [], - "partitionKeys": [], - "partitions": [] - }, - { - "objectType": "TableNormal_PGSQL", - "name": "exclude", - "comment": "", - "tablespace": "", - "isUnlogged": false, - "owner": "augur", - "inheritFromTables": [], - "hasOIDs": false, - "fillFactor": -1, - "oldName": "exclude", - "oid": 188171, - "rows": 0, - "isInheritTables": false, - "cluster": "", - "ACL": "", - "isPartition": false, - "partitioningStrategy": "None", - "partitionOfSchema": "", - "partitionOfTable": "", - "partitionListValues": [], - "partitionRangeFromValues": [], - "partitionRangeToValues": [], - "foreignServer": "", - "foreignOptionDisplay": "", - "fields": [ + }, { "objectType": "TableField_PGSQL", - "name": "id", - "type": "int4", - "length": 32, + "name": "cntrb_created_at", + "type": "timestamp", + "length": 0, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": false, + "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "id", + "oldName": "cntrb_created_at", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 1, + "ordinalPosition": 5, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -6967,23 +5812,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "projects_id", - "type": "int4", - "length": 32, + "name": "cntrb_type", + "type": "varchar", + "length": 255, "decimals": 0, "dimensions": 0, - "collation": "", - "isNullable": false, + "collation": "default", + "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "", - "oldName": "projects_id", + "comment": "Present in another models. It is not currently used in Augur. ", + "oldName": "cntrb_type", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 2, + "collationSchema": "pg_catalog", + "ordinalPosition": 6, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -6997,23 +5842,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "email", - "type": "varchar", - "length": 128, + "name": "cntrb_fake", + "type": "int2", + "length": 16, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "Others", - "defaultValue": "'NULL'::character varying", + "defaultValue": "0", "comment": "", - "oldName": "email", + "oldName": "cntrb_fake", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 3, + "collationSchema": "", + "ordinalPosition": 7, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -7027,23 +5872,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "domain", - "type": "varchar", - "length": 128, + "name": "cntrb_deleted", + "type": "int2", + "length": 16, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "Others", - "defaultValue": "'NULL'::character varying", + "defaultValue": "0", "comment": "", - "oldName": "domain", + "oldName": "cntrb_deleted", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 4, + "collationSchema": "", + "ordinalPosition": 8, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -7054,76 +5899,26 @@ "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false - } - ], - "indexes": [], - "rules": [], - "primaryKey": { - "objectType": "PrimaryKey_PGSQL", - "name": "exclude_pkey", - "fields": [ - "id" - ], - "fillFactor": -1, - "indexTablespace": "", - "comment": "", - "isDeferrable": false, - "isDeferred": false, - "oldName": "exclude_pkey" - }, - "foreignKeys": [], - "uniques": [], - "checks": [], - "excludes": [], - "triggers": [], - "partitionKeys": [], - "partitions": [] - }, - { - "objectType": "TableNormal_PGSQL", - "name": "issue_labels", - "comment": "", - "tablespace": "", - "isUnlogged": false, - "owner": "augur", - "inheritFromTables": [], - "hasOIDs": false, - "fillFactor": -1, - "oldName": "issue_labels", - "oid": 188655, - "rows": 0, - "isInheritTables": false, - "cluster": "", - "ACL": "", - "isPartition": false, - "partitioningStrategy": "None", - "partitionOfSchema": "", - "partitionOfTable": "", - "partitionListValues": [], - "partitionRangeFromValues": [], - "partitionRangeToValues": [], - "foreignServer": "", - "foreignOptionDisplay": "", - "fields": [ + }, { "objectType": "TableField_PGSQL", - "name": "issue_label_id", - "type": "int8", - "length": 64, - "decimals": 0, + "name": "cntrb_long", + "type": "numeric", + "length": 11, + "decimals": 8, "dimensions": 0, "collation": "", - "isNullable": false, + "isNullable": true, "defaultType": "Others", - "defaultValue": "nextval('augur_data.issue_labels_issue_label_id_seq'::regclass)", + "defaultValue": "NULL::numeric", "comment": "", - "oldName": "issue_label_id", + "oldName": "cntrb_long", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 1, + "ordinalPosition": 9, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -7137,23 +5932,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "issue_id", - "type": "int8", - "length": 64, - "decimals": 0, + "name": "cntrb_lat", + "type": "numeric", + "length": 10, + "decimals": 8, "dimensions": 0, "collation": "", "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "NULL::numeric", "comment": "", - "oldName": "issue_id", + "oldName": "cntrb_lat", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 2, + "ordinalPosition": 10, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -7167,23 +5962,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "label_text", - "type": "varchar", - "length": 0, + "name": "cntrb_country_code", + "type": "char", + "length": 3, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "NULL::bpchar", "comment": "", - "oldName": "label_text", + "oldName": "cntrb_country_code", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 3, + "ordinalPosition": 11, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -7197,23 +5992,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "label_description", + "name": "cntrb_state", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "NULL::character varying", "comment": "", - "oldName": "label_description", + "oldName": "cntrb_state", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 4, + "ordinalPosition": 12, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -7227,23 +6022,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "label_color", + "name": "cntrb_city", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "NULL::character varying", "comment": "", - "oldName": "label_color", + "oldName": "cntrb_city", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 5, + "ordinalPosition": 13, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -7257,23 +6052,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_source", + "name": "cntrb_location", "type": "varchar", "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "NULL::character varying", "comment": "", - "oldName": "tool_source", + "oldName": "cntrb_location", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 6, + "ordinalPosition": 14, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -7287,9 +6082,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_version", + "name": "cntrb_canonical", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", @@ -7297,13 +6092,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "tool_version", + "oldName": "cntrb_canonical", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 7, + "ordinalPosition": 15, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -7317,23 +6112,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_source", - "type": "varchar", - "length": 255, + "name": "gh_user_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "data_source", + "oldName": "gh_user_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 8, + "collationSchema": "", + "ordinalPosition": 16, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -7347,23 +6142,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_collection_date", - "type": "timestamp", - "length": 0, + "name": "gh_login", + "type": "varchar", + "length": 255, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, - "defaultType": "Others", - "defaultValue": "CURRENT_TIMESTAMP", - "comment": "", - "oldName": "data_collection_date", + "defaultType": "None", + "defaultValue": "", + "comment": "populated with the github user name for github originated data. ", + "oldName": "gh_login", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 9, + "collationSchema": "pg_catalog", + "ordinalPosition": 17, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -7377,23 +6172,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "label_src_id", - "type": "int8", - "length": 64, + "name": "gh_url", + "type": "varchar", + "length": 255, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "This character based identifier (node) comes from the source. In the case of GitHub, it is the id that is the second field returned from the issue events API JSON subsection for issues.", - "oldName": "label_src_id", + "comment": "", + "oldName": "gh_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 10, + "collationSchema": "pg_catalog", + "ordinalPosition": 18, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -7407,9 +6202,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "label_src_node_id", + "name": "gh_html_url", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", @@ -7417,13 +6212,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "label_src_node_id", + "oldName": "gh_html_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 11, + "ordinalPosition": 19, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -7434,98 +6229,26 @@ "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false - } - ], - "indexes": [], - "rules": [], - "primaryKey": { - "objectType": "PrimaryKey_PGSQL", - "name": "issue_labels_pkey", - "fields": [ - "issue_label_id" - ], - "fillFactor": -1, - "indexTablespace": "", - "comment": "", - "isDeferrable": false, - "isDeferred": false, - "oldName": "issue_labels_pkey" - }, - "foreignKeys": [ - { - "objectType": "ForeignKey_PGSQL", - "name": "fk_issue_labels_issues_1", - "fields": [ - "issue_id" - ], - "referenceSchema": "augur_data", - "referenceTable": "issues", - "referenceFields": [ - "issue_id" - ], - "onDelete": "NO ACTION", - "onUpdate": "NO ACTION", - "comment": "", - "isMatchFull": false, - "isDeferrable": false, - "isDeferred": false, - "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "ZeroOrOneRelationship", - "oldName": "fk_issue_labels_issues_1" - } - ], - "uniques": [], - "checks": [], - "excludes": [], - "triggers": [], - "partitionKeys": [], - "partitions": [] - }, - { - "objectType": "TableNormal_PGSQL", - "name": "issue_message_ref", - "comment": "", - "tablespace": "", - "isUnlogged": false, - "owner": "augur", - "inheritFromTables": [], - "hasOIDs": false, - "fillFactor": -1, - "oldName": "issue_message_ref", - "oid": 188824, - "rows": 0, - "isInheritTables": false, - "cluster": "", - "ACL": "", - "isPartition": false, - "partitioningStrategy": "None", - "partitionOfSchema": "", - "partitionOfTable": "", - "partitionListValues": [], - "partitionRangeFromValues": [], - "partitionRangeToValues": [], - "foreignServer": "", - "foreignOptionDisplay": "", - "fields": [ + }, { "objectType": "TableField_PGSQL", - "name": "issue_msg_ref_id", - "type": "int8", - "length": 64, + "name": "gh_node_id", + "type": "varchar", + "length": 255, "decimals": 0, "dimensions": 0, - "collation": "", - "isNullable": false, - "defaultType": "Others", - "defaultValue": "nextval('augur_data.issue_message_ref_issue_msg_ref_id_seq'::regclass)", + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "issue_msg_ref_id", + "oldName": "gh_node_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 1, + "collationSchema": "pg_catalog", + "ordinalPosition": 20, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -7539,23 +6262,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "issue_id", - "type": "int8", - "length": 64, + "name": "gh_avatar_url", + "type": "varchar", + "length": 4000, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "issue_id", + "oldName": "gh_avatar_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 2, + "collationSchema": "pg_catalog", + "ordinalPosition": 21, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -7569,23 +6292,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "msg_id", - "type": "int8", - "length": 64, + "name": "gh_gravatar_id", + "type": "varchar", + "length": 255, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "msg_id", + "oldName": "gh_gravatar_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 3, + "collationSchema": "pg_catalog", + "ordinalPosition": 22, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -7599,9 +6322,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_source", + "name": "gh_followers_url", "type": "varchar", - "length": 255, + "length": 4000, "decimals": 0, "dimensions": 0, "collation": "default", @@ -7609,13 +6332,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "tool_source", + "oldName": "gh_followers_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 4, + "ordinalPosition": 23, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -7629,9 +6352,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_version", + "name": "gh_following_url", "type": "varchar", - "length": 255, + "length": 4000, "decimals": 0, "dimensions": 0, "collation": "default", @@ -7639,13 +6362,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "tool_version", + "oldName": "gh_following_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 5, + "ordinalPosition": 24, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -7659,9 +6382,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_source", + "name": "gh_gists_url", "type": "varchar", - "length": 255, + "length": 4000, "decimals": 0, "dimensions": 0, "collation": "default", @@ -7669,13 +6392,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "data_source", + "oldName": "gh_gists_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 6, + "ordinalPosition": 25, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -7689,23 +6412,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_collection_date", - "type": "timestamp", - "length": 0, + "name": "gh_starred_url", + "type": "varchar", + "length": 4000, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, - "defaultType": "Others", - "defaultValue": "CURRENT_TIMESTAMP", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "data_collection_date", + "oldName": "gh_starred_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 7, + "collationSchema": "pg_catalog", + "ordinalPosition": 26, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -7719,23 +6442,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "issue_msg_ref_src_comment_id", - "type": "int8", - "length": 64, + "name": "gh_subscriptions_url", + "type": "varchar", + "length": 4000, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "This ID comes from the source. In the case of GitHub, it is the id that is the first field returned from the issue comments API", - "oldName": "issue_msg_ref_src_comment_id", + "comment": "", + "oldName": "gh_subscriptions_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 8, + "collationSchema": "pg_catalog", + "ordinalPosition": 27, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -7749,23 +6472,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "issue_msg_ref_src_node_id", + "name": "gh_organizations_url", "type": "varchar", - "length": 0, + "length": 4000, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "This character based identifier comes from the source. In the case of GitHub, it is the id that is the first field returned from the issue comments API", - "oldName": "issue_msg_ref_src_node_id", + "comment": "", + "oldName": "gh_organizations_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 9, + "ordinalPosition": 28, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -7776,119 +6499,26 @@ "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false - } - ], - "indexes": [], - "rules": [], - "primaryKey": { - "objectType": "PrimaryKey_PGSQL", - "name": "issue_message_ref_pkey", - "fields": [ - "issue_msg_ref_id" - ], - "fillFactor": -1, - "indexTablespace": "", - "comment": "", - "isDeferrable": false, - "isDeferred": false, - "oldName": "issue_message_ref_pkey" - }, - "foreignKeys": [ - { - "objectType": "ForeignKey_PGSQL", - "name": "fk_issue_message_ref_issues_1", - "fields": [ - "issue_id" - ], - "referenceSchema": "augur_data", - "referenceTable": "issues", - "referenceFields": [ - "issue_id" - ], - "onDelete": "NO ACTION", - "onUpdate": "NO ACTION", - "comment": "", - "isMatchFull": false, - "isDeferrable": false, - "isDeferred": false, - "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "ZeroOrOneRelationship", - "oldName": "fk_issue_message_ref_issues_1" }, - { - "objectType": "ForeignKey_PGSQL", - "name": "fk_issue_message_ref_message_1", - "fields": [ - "msg_id" - ], - "referenceSchema": "augur_data", - "referenceTable": "message", - "referenceFields": [ - "msg_id" - ], - "onDelete": "NO ACTION", - "onUpdate": "NO ACTION", - "comment": "", - "isMatchFull": false, - "isDeferrable": false, - "isDeferred": false, - "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "ZeroOrOneRelationship", - "oldName": "fk_issue_message_ref_message_1" - } - ], - "uniques": [], - "checks": [], - "excludes": [], - "triggers": [], - "partitionKeys": [], - "partitions": [] - }, - { - "objectType": "TableNormal_PGSQL", - "name": "libraries", - "comment": "", - "tablespace": "", - "isUnlogged": false, - "owner": "augur", - "inheritFromTables": [], - "hasOIDs": false, - "fillFactor": -1, - "oldName": "libraries", - "oid": 189116, - "rows": 0, - "isInheritTables": false, - "cluster": "", - "ACL": "", - "isPartition": false, - "partitioningStrategy": "None", - "partitionOfSchema": "", - "partitionOfTable": "", - "partitionListValues": [], - "partitionRangeFromValues": [], - "partitionRangeToValues": [], - "foreignServer": "", - "foreignOptionDisplay": "", - "fields": [ { "objectType": "TableField_PGSQL", - "name": "library_id", - "type": "int8", - "length": 64, + "name": "gh_repos_url", + "type": "varchar", + "length": 4000, "decimals": 0, "dimensions": 0, - "collation": "", - "isNullable": false, - "defaultType": "Others", - "defaultValue": "nextval('augur_data.libraries_library_id_seq'::regclass)", + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "library_id", + "oldName": "gh_repos_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 1, + "collationSchema": "pg_catalog", + "ordinalPosition": 29, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -7902,23 +6532,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "repo_id", - "type": "int8", - "length": 64, + "name": "gh_events_url", + "type": "varchar", + "length": 4000, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "repo_id", + "oldName": "gh_events_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 2, + "collationSchema": "pg_catalog", + "ordinalPosition": 30, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -7932,23 +6562,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "platform", + "name": "gh_received_events_url", "type": "varchar", - "length": 255, + "length": 4000, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, - "defaultType": "Others", - "defaultValue": "NULL::character varying", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "platform", + "oldName": "gh_received_events_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 3, + "ordinalPosition": 31, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -7962,23 +6592,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "name", + "name": "gh_type", "type": "varchar", "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, - "defaultType": "Others", - "defaultValue": "NULL::character varying", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "name", + "oldName": "gh_type", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 4, + "ordinalPosition": 32, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -7992,23 +6622,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "created_timestamp", - "type": "timestamp", - "length": 0, + "name": "gh_site_admin", + "type": "varchar", + "length": 255, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, - "defaultType": "Others", - "defaultValue": "NULL::timestamp without time zone", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "created_timestamp", + "oldName": "gh_site_admin", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 5, + "collationSchema": "pg_catalog", + "ordinalPosition": 33, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -8022,23 +6652,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "updated_timestamp", - "type": "timestamp", - "length": 0, + "name": "tool_source", + "type": "varchar", + "length": 255, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, - "defaultType": "Others", - "defaultValue": "NULL::timestamp without time zone", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "updated_timestamp", + "oldName": "tool_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 6, + "collationSchema": "pg_catalog", + "ordinalPosition": 34, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -8052,23 +6682,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "library_description", + "name": "tool_version", "type": "varchar", - "length": 2000, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, - "defaultType": "Others", - "defaultValue": "NULL::character varying", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "library_description", + "oldName": "tool_version", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 7, + "ordinalPosition": 35, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -8082,23 +6712,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "keywords", + "name": "data_source", "type": "varchar", "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, - "defaultType": "Others", - "defaultValue": "NULL::character varying", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "keywords", + "oldName": "data_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 8, + "ordinalPosition": 36, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -8112,23 +6742,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "library_homepage", - "type": "varchar", - "length": 1000, + "name": "data_collection_date", + "type": "timestamp", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "Others", - "defaultValue": "NULL::character varying", + "defaultValue": "CURRENT_TIMESTAMP", "comment": "", - "oldName": "library_homepage", + "oldName": "data_collection_date", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 9, + "collationSchema": "", + "ordinalPosition": 37, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -8142,23 +6772,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "license", + "name": "cntrb_full_name", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, - "defaultType": "Others", - "defaultValue": "NULL::character varying", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "license", + "oldName": "cntrb_full_name", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 10, + "ordinalPosition": 38, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -8172,23 +6802,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "version_count", - "type": "int4", - "length": 32, + "name": "cntrb_last_used", + "type": "timestamptz", + "length": 0, "decimals": 0, "dimensions": 0, "collation": "", "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "NULL::timestamp with time zone", "comment": "", - "oldName": "version_count", + "oldName": "cntrb_last_used", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 11, + "ordinalPosition": 39, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -8202,23 +6832,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "latest_release_timestamp", - "type": "varchar", - "length": 255, + "name": "gl_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, - "defaultType": "Others", - "defaultValue": "NULL::character varying", - "comment": "", - "oldName": "latest_release_timestamp", + "defaultType": "None", + "defaultValue": "", + "comment": "\"id\" value from these API calls to GitLab, all for the same user\n\nhttps://gitlab.com/api/v4/users?username=computationalmystic\nhttps://gitlab.com/api/v4/users?search=s@goggins.com\nhttps://gitlab.com/api/v4/users?search=outdoors@acm.org\n\n[\n {\n \"id\": 5481034,\n \"name\": \"sean goggins\",\n \"username\": \"computationalmystic\",\n \"state\": \"active\",\n \"avatar_url\": \"https://secure.gravatar.com/avatar/fb1fb43953a6059df2fe8d94b21d575c?s=80&d=identicon\",\n \"web_url\": \"https://gitlab.com/computationalmystic\"\n }\n]", + "oldName": "gl_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 12, + "collationSchema": "", + "ordinalPosition": 40, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -8232,23 +6862,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "latest_release_number", + "name": "gl_full_name", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, - "defaultType": "Others", - "defaultValue": "NULL::character varying", - "comment": "", - "oldName": "latest_release_number", + "defaultType": "None", + "defaultValue": "", + "comment": "“name” value from these API calls to GitLab, all for the same user\n\nhttps://gitlab.com/api/v4/users?username=computationalmystic\nhttps://gitlab.com/api/v4/users?search=s@goggins.com\nhttps://gitlab.com/api/v4/users?search=outdoors@acm.org\n\n[\n {\n \"id\": 5481034,\n \"name\": \"sean goggins\",\n \"username\": \"computationalmystic\",\n \"state\": \"active\",\n \"avatar_url\": \"https://secure.gravatar.com/avatar/fb1fb43953a6059df2fe8d94b21d575c?s=80&d=identicon\",\n \"web_url\": \"https://gitlab.com/computationalmystic\"\n }\n]", + "oldName": "gl_full_name", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 13, + "ordinalPosition": 41, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -8257,289 +6887,608 @@ "identityMinimum": 0, "hasNoIdentityMinValue": false, "identityMaximum": 0, - "hasNoIdentityMaxValue": false, + "hasNoIdentityMaxValue": {}, "isIdentityCycle": false }, { "objectType": "TableField_PGSQL", - "name": "package_manager_id", + "name": "gl_username", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, - "defaultType": "Others", - "defaultValue": "NULL::character varying", - "comment": "", - "oldName": "package_manager_id", + "defaultType": "None", + "defaultValue": "", + "comment": "“username” value from these API calls to GitLab, all for the same user\n\nhttps://gitlab.com/api/v4/users?username=computationalmystic\nhttps://gitlab.com/api/v4/users?search=s@goggins.com\nhttps://gitlab.com/api/v4/users?search=outdoors@acm.org\n\n[\n {\n \"id\": 5481034,\n \"name\": \"sean goggins\",\n \"username\": \"computationalmystic\",\n \"state\": \"active\",\n \"avatar_url\": \"https://secure.gravatar.com/avatar/fb1fb43953a6059df2fe8d94b21d575c?s=80&d=identicon\",\n \"web_url\": \"https://gitlab.com/computationalmystic\"\n }\n]", + "oldName": "gl_username", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 14, + "ordinalPosition": 42, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", "identityStart": 0, "identityIncrement": 0, "identityMinimum": 0, - "hasNoIdentityMinValue": false, + "hasNoIdentityMinValue": true, "identityMaximum": 0, - "hasNoIdentityMaxValue": false, + "hasNoIdentityMaxValue": {}, "isIdentityCycle": false }, { "objectType": "TableField_PGSQL", - "name": "dependency_count", - "type": "int4", - "length": 32, + "name": "gl_state", + "type": "varchar", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "", - "oldName": "dependency_count", + "comment": "“state” value from these API calls to GitLab, all for the same user\n\nhttps://gitlab.com/api/v4/users?username=computationalmystic\nhttps://gitlab.com/api/v4/users?search=s@goggins.com\nhttps://gitlab.com/api/v4/users?search=outdoors@acm.org\n\n[\n {\n \"id\": 5481034,\n \"name\": \"sean goggins\",\n \"username\": \"computationalmystic\",\n \"state\": \"active\",\n \"avatar_url\": \"https://secure.gravatar.com/avatar/fb1fb43953a6059df2fe8d94b21d575c?s=80&d=identicon\",\n \"web_url\": \"https://gitlab.com/computationalmystic\"\n }\n]", + "oldName": "gl_state", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 15, + "collationSchema": "pg_catalog", + "ordinalPosition": 43, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", "identityStart": 0, "identityIncrement": 0, "identityMinimum": 0, - "hasNoIdentityMinValue": false, + "hasNoIdentityMinValue": {}, "identityMaximum": 0, - "hasNoIdentityMaxValue": false, + "hasNoIdentityMaxValue": 0, "isIdentityCycle": false }, { "objectType": "TableField_PGSQL", - "name": "dependent_library_count", - "type": "int4", - "length": 32, + "name": "gl_avatar_url", + "type": "varchar", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "", - "oldName": "dependent_library_count", + "comment": "“avatar_url” value from these API calls to GitLab, all for the same user\n\nhttps://gitlab.com/api/v4/users?username=computationalmystic\nhttps://gitlab.com/api/v4/users?search=s@goggins.com\nhttps://gitlab.com/api/v4/users?search=outdoors@acm.org\n\n[\n {\n \"id\": 5481034,\n \"name\": \"sean goggins\",\n \"username\": \"computationalmystic\",\n \"state\": \"active\",\n \"avatar_url\": \"https://secure.gravatar.com/avatar/fb1fb43953a6059df2fe8d94b21d575c?s=80&d=identicon\",\n \"web_url\": \"https://gitlab.com/computationalmystic\"\n }\n]", + "oldName": "gl_avatar_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 16, + "collationSchema": "pg_catalog", + "ordinalPosition": 44, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", "identityStart": 0, "identityIncrement": 0, "identityMinimum": 0, - "hasNoIdentityMinValue": false, + "hasNoIdentityMinValue": "", "identityMaximum": 0, - "hasNoIdentityMaxValue": false, + "hasNoIdentityMaxValue": true, "isIdentityCycle": false }, { "objectType": "TableField_PGSQL", - "name": "primary_language", + "name": "gl_web_url", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, - "defaultType": "Others", - "defaultValue": "NULL::character varying", - "comment": "", - "oldName": "primary_language", + "defaultType": "None", + "defaultValue": "", + "comment": "“web_url” value from these API calls to GitLab, all for the same user\n\nhttps://gitlab.com/api/v4/users?username=computationalmystic\nhttps://gitlab.com/api/v4/users?search=s@goggins.com\nhttps://gitlab.com/api/v4/users?search=outdoors@acm.org\n\n[\n {\n \"id\": 5481034,\n \"name\": \"sean goggins\",\n \"username\": \"computationalmystic\",\n \"state\": \"active\",\n \"avatar_url\": \"https://secure.gravatar.com/avatar/fb1fb43953a6059df2fe8d94b21d575c?s=80&d=identicon\",\n \"web_url\": \"https://gitlab.com/computationalmystic\"\n }\n]", + "oldName": "gl_web_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 17, + "ordinalPosition": 45, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", "identityStart": 0, "identityIncrement": 0, "identityMinimum": 0, - "hasNoIdentityMinValue": false, + "hasNoIdentityMinValue": {}, "identityMaximum": 0, - "hasNoIdentityMaxValue": false, + "hasNoIdentityMaxValue": {}, "isIdentityCycle": false - }, + } + ], + "indexes": [ { - "objectType": "TableField_PGSQL", - "name": "tool_source", - "type": "varchar", - "length": 255, - "decimals": 0, - "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "objectType": "Index_PGSQL", + "name": "cnt-fullname", "comment": "", - "oldName": "tool_source", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 18, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "Hash", + "tableSpaceName": "", + "constraint": "", + "oldName": "cnt-fullname", + "oid": 15487993, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "contributors", + "size": "32", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "cntrb_full_name", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cntrb_full_name", + "collationSchema": "pg_catalog" + } + ] }, { - "objectType": "TableField_PGSQL", - "name": "tool_version", - "type": "varchar", - "length": 255, - "decimals": 0, - "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "objectType": "Index_PGSQL", + "name": "cntrb-theemail", "comment": "", - "oldName": "tool_version", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 19, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "Hash", + "tableSpaceName": "", + "constraint": "", + "oldName": "cntrb-theemail", + "oid": 15488164, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "contributors", + "size": "88", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "cntrb_email", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cntrb_email", + "collationSchema": "pg_catalog" + } + ] }, { - "objectType": "TableField_PGSQL", - "name": "data_source", - "type": "varchar", - "length": 255, - "decimals": 0, - "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "objectType": "Index_PGSQL", + "name": "cntrb_canonica-idx11", "comment": "", - "oldName": "data_source", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 20, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "cntrb_canonica-idx11", + "oid": 15488581, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "contributors", + "size": "136", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "cntrb_canonical", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cntrb_canonical", + "collationSchema": "pg_catalog" + } + ] }, { - "objectType": "TableField_PGSQL", - "name": "data_collection_date", - "type": "timestamp", - "length": 0, - "decimals": 0, - "dimensions": 0, - "collation": "", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "objectType": "Index_PGSQL", + "name": "cntrb_login_platform_index", "comment": "", - "oldName": "data_collection_date", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 21, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "cntrb_login_platform_index", + "oid": 15487997, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "contributors", + "size": "168", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "cntrb_login", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cntrb_login", + "collationSchema": "pg_catalog" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "contributor_delete_finder", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BRIN", + "tableSpaceName": "", + "constraint": "", + "oldName": "contributor_delete_finder", + "oid": 15488165, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "contributors", + "size": "24", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "cntrb_id", + "collation": "", + "opClass": "int8_minmax_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cntrb_id", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "cntrb_email", + "collation": "default", + "opClass": "text_minmax_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cntrb_email", + "collationSchema": "pg_catalog" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "contributor_worker_email_finder", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BRIN", + "tableSpaceName": "", + "constraint": "", + "oldName": "contributor_worker_email_finder", + "oid": 15488167, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "contributors", + "size": "24", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "cntrb_email", + "collation": "default", + "opClass": "text_minmax_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cntrb_email", + "collationSchema": "pg_catalog" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "contributor_worker_finder", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BRIN", + "tableSpaceName": "", + "constraint": "", + "oldName": "contributor_worker_finder", + "oid": 15488166, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "contributors", + "size": "24", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "cntrb_login", + "collation": "default", + "opClass": "text_minmax_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cntrb_login", + "collationSchema": "pg_catalog" + }, + { + "objectType": "IndexField_PGSQL", + "name": "cntrb_email", + "collation": "default", + "opClass": "text_minmax_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cntrb_email", + "collationSchema": "pg_catalog" + }, + { + "objectType": "IndexField_PGSQL", + "name": "cntrb_id", + "collation": "", + "opClass": "int8_minmax_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cntrb_id", + "collationSchema": "" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "contributor_worker_fullname_finder", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BRIN", + "tableSpaceName": "", + "constraint": "", + "oldName": "contributor_worker_fullname_finder", + "oid": 15488037, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "contributors", + "size": "24", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "cntrb_full_name", + "collation": "default", + "opClass": "text_minmax_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cntrb_full_name", + "collationSchema": "pg_catalog" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "contributors_idx_cntrb_email3", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "contributors_idx_cntrb_email3", + "oid": 15488168, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "contributors", + "size": "136", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "cntrb_email", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cntrb_email", + "collationSchema": "pg_catalog" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "login", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "login", + "oid": 15486921, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "contributors", + "size": "168", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "cntrb_login", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cntrb_login", + "collationSchema": "pg_catalog" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "login-contributor-idx", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "login-contributor-idx", + "oid": 15488137, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "contributors", + "size": "168", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "cntrb_login", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cntrb_login", + "collationSchema": "pg_catalog" + } + ] } ], - "indexes": [], "rules": [], "primaryKey": { "objectType": "PrimaryKey_PGSQL", - "name": "libraries_pkey", + "name": "contributors_pkey", "fields": [ - "library_id" + "cntrb_id" ], "fillFactor": -1, "indexTablespace": "", "comment": "", "isDeferrable": false, "isDeferred": false, - "oldName": "libraries_pkey" + "oldName": "contributors_pkey" }, - "foreignKeys": [ + "foreignKeys": [], + "uniques": [ { - "objectType": "ForeignKey_PGSQL", - "name": "fk_libraries_repo_1", + "objectType": "Unique_PGSQL", + "name": "GH-UNIQUE-B", "fields": [ - "repo_id" - ], - "referenceSchema": "augur_data", - "referenceTable": "repo", - "referenceFields": [ - "repo_id" + "gh_user_id" ], - "onDelete": "NO ACTION", - "onUpdate": "NO ACTION", + "fillFactor": -1, + "indexTablespace": "", "comment": "", - "isMatchFull": false, - "isDeferrable": false, - "isDeferred": false, - "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "ZeroOrOneRelationship", - "oldName": "fk_libraries_repo_1" + "isDeferrable": true, + "isDeferred": true, + "oldName": "GH-UNIQUE-B" + }, + { + "objectType": "Unique_PGSQL", + "name": "GH-UNIQUE-C", + "fields": [ + "gh_login" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": true, + "isDeferred": true, + "oldName": "GH-UNIQUE-C" + }, + { + "objectType": "Unique_PGSQL", + "name": "GL-UNIQUE-B", + "fields": [ + "gl_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "GL-UNIQUE-B" + }, + { + "objectType": "Unique_PGSQL", + "name": "GL-UNIQUE-C", + "fields": [ + "gl_username" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "GL-UNIQUE-C" } ], - "uniques": [], "checks": [], "excludes": [], "triggers": [], @@ -8548,16 +7497,16 @@ }, { "objectType": "TableNormal_PGSQL", - "name": "library_dependencies", - "comment": "", + "name": "contributors_aliases", + "comment": "An alias will need to be created for every contributor in this model, otherwise we will have to look in 2 places. ", "tablespace": "", "isUnlogged": false, "owner": "augur", "inheritFromTables": [], "hasOIDs": false, "fillFactor": -1, - "oldName": "library_dependencies", - "oid": 189219, + "oldName": "contributors_aliases", + "oid": 15486486, "rows": 0, "isInheritTables": false, "cluster": "", @@ -8574,17 +7523,17 @@ "fields": [ { "objectType": "TableField_PGSQL", - "name": "lib_dependency_id", + "name": "cntrb_id", "type": "int8", "length": 64, "decimals": 0, "dimensions": 0, "collation": "", "isNullable": false, - "defaultType": "Others", - "defaultValue": "nextval('augur_data.library_dependencies_lib_dependency_id_seq'::regclass)", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "lib_dependency_id", + "oldName": "cntrb_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -8597,24 +7546,24 @@ "identityStart": 0, "identityIncrement": 0, "identityMinimum": 0, - "hasNoIdentityMinValue": false, + "hasNoIdentityMinValue": true, "identityMaximum": 0, - "hasNoIdentityMaxValue": false, + "hasNoIdentityMaxValue": true, "isIdentityCycle": false }, { "objectType": "TableField_PGSQL", - "name": "library_id", + "name": "cntrb_a_id", "type": "int8", "length": 64, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_data.contributors_aliases_cntrb_a_id_seq'::regclass)", "comment": "", - "oldName": "library_id", + "oldName": "cntrb_a_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -8627,24 +7576,24 @@ "identityStart": 0, "identityIncrement": 0, "identityMinimum": 0, - "hasNoIdentityMinValue": false, + "hasNoIdentityMinValue": true, "identityMaximum": 0, - "hasNoIdentityMaxValue": false, + "hasNoIdentityMaxValue": true, "isIdentityCycle": false }, { "objectType": "TableField_PGSQL", - "name": "manifest_platform", + "name": "canonical_email", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", - "isNullable": true, - "defaultType": "Others", - "defaultValue": "NULL::character varying", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "manifest_platform", + "oldName": "canonical_email", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -8664,17 +7613,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "manifest_filepath", + "name": "alias_email", "type": "varchar", - "length": 1000, + "length": 128, "decimals": 0, "dimensions": 0, "collation": "default", - "isNullable": true, - "defaultType": "Others", - "defaultValue": "NULL::character varying", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "manifest_filepath", + "oldName": "alias_email", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -8694,22 +7643,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "manifest_kind", - "type": "varchar", - "length": 255, + "name": "cntrb_active", + "type": "int2", + "length": 16, "decimals": 0, "dimensions": 0, - "collation": "default", - "isNullable": true, + "collation": "", + "isNullable": false, "defaultType": "Others", - "defaultValue": "NULL::character varying", + "defaultValue": "1", "comment": "", - "oldName": "manifest_kind", + "oldName": "cntrb_active", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 5, "foreignOptions": [], "isIdentity": false, @@ -8724,22 +7673,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "repo_id_branch", - "type": "varchar", - "length": 255, + "name": "cntrb_last_modified", + "type": "timestamp", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": false, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", "comment": "", - "oldName": "repo_id_branch", + "oldName": "cntrb_last_modified", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 6, "foreignOptions": [], "isIdentity": false, @@ -8851,8 +7800,8 @@ "dimensions": 0, "collation": "", "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", "comment": "", "oldName": "data_collection_date", "typeOID": 1, @@ -8876,7 +7825,7 @@ "indexes": [ { "objectType": "Index_PGSQL", - "name": "REPO_DEP", + "name": "alias,active", "comment": "", "isClustered": false, "isConcurrently": false, @@ -8887,23 +7836,147 @@ "method": "BTree", "tableSpaceName": "", "constraint": "", - "oldName": "REPO_DEP", - "oid": 203515, + "oldName": "alias,active", + "oid": 15486924, "owner": "augur", "brinPagesPerRange": -1, "ginPendingListLimit": -1, - "tableName": "library_dependencies", + "tableName": "contributors_aliases", "size": "8", "fields": [ { "objectType": "IndexField_PGSQL", - "name": "library_id", + "name": "alias_email", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "alias_email", + "collationSchema": "pg_catalog" + }, + { + "objectType": "IndexField_PGSQL", + "name": "cntrb_active", + "collation": "", + "opClass": "int2_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cntrb_active", + "collationSchema": "" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "canonical,alias", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": true, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "canonical,alias", + "oid": 15488179, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "contributors_aliases", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "canonical_email", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "canonical_email", + "collationSchema": "pg_catalog" + }, + { + "objectType": "IndexField_PGSQL", + "name": "alias_email", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "alias_email", + "collationSchema": "pg_catalog" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "issue-alias-cntrb-idx1", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "issue-alias-cntrb-idx1", + "oid": 15488152, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "contributors_aliases", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "cntrb_id", "collation": "", "opClass": "int8_ops", "opClassSchema": "pg_catalog", "order": "ASC", "nullSort": "NULLS LAST", - "oldName": "library_id", + "oldName": "cntrb_id", + "collationSchema": "" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "issue-alias-cntrb-idx2", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "issue-alias-cntrb-idx2", + "oid": 15488153, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "contributors_aliases", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "cntrb_a_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cntrb_a_id", "collationSchema": "" } ] @@ -8912,38 +7985,60 @@ "rules": [], "primaryKey": { "objectType": "PrimaryKey_PGSQL", - "name": "library_dependencies_pkey", + "name": "contributors_aliases_pkey", "fields": [ - "lib_dependency_id" + "cntrb_id", + "cntrb_a_id" ], "fillFactor": -1, "indexTablespace": "", "comment": "", "isDeferrable": false, "isDeferred": false, - "oldName": "library_dependencies_pkey" + "oldName": "contributors_aliases_pkey" }, "foreignKeys": [ { "objectType": "ForeignKey_PGSQL", - "name": "fk_library_dependencies_libraries_1", + "name": "fk_alias_id", "fields": [ - "library_id" + "cntrb_a_id" ], "referenceSchema": "augur_data", - "referenceTable": "libraries", + "referenceTable": "contributors", "referenceFields": [ - "library_id" + "cntrb_id" ], - "onDelete": "NO ACTION", - "onUpdate": "NO ACTION", + "onDelete": "CASCADE", + "onUpdate": "CASCADE", "comment": "", "isMatchFull": false, "isDeferrable": false, "isDeferred": false, "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "ZeroOrOneRelationship", - "oldName": "fk_library_dependencies_libraries_1" + "targetCardinality": "OneAndOnlyOneRelationship", + "oldName": "fk_alias_id" + }, + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_contributors_aliases_contributors_1", + "fields": [ + "cntrb_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "contributors", + "referenceFields": [ + "cntrb_id" + ], + "onDelete": "CASCADE", + "onUpdate": "CASCADE", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "OneAndOnlyOneRelationship", + "oldName": "fk_contributors_aliases_contributors_1" } ], "uniques": [], @@ -8955,16 +8050,16 @@ }, { "objectType": "TableNormal_PGSQL", - "name": "library_version", - "comment": "", + "name": "contributors_history", + "comment": "For GitHub, this should be repeated from gh_login. for other systems, it should be that systems login. \n\nAt this time the table is not populated. ", "tablespace": "", "isUnlogged": false, "owner": "augur", "inheritFromTables": [], "hasOIDs": false, "fillFactor": -1, - "oldName": "library_version", - "oid": 189326, + "oldName": "contributors_history", + "oid": 15486495, "rows": 0, "isInheritTables": false, "cluster": "", @@ -8981,7 +8076,7 @@ "fields": [ { "objectType": "TableField_PGSQL", - "name": "library_version_id", + "name": "cntrb_history_id", "type": "int8", "length": 64, "decimals": 0, @@ -8989,9 +8084,9 @@ "collation": "", "isNullable": false, "defaultType": "Others", - "defaultValue": "nextval('augur_data.library_version_library_version_id_seq'::regclass)", + "defaultValue": "nextval('augur_data.contributors_history_cntrb_history_id_seq'::regclass)", "comment": "", - "oldName": "library_version_id", + "oldName": "cntrb_history_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -9011,17 +8106,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "library_id", + "name": "cntrb_id", "type": "int8", "length": 64, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": true, + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "library_id", + "oldName": "cntrb_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -9041,22 +8136,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "library_platform", - "type": "varchar", - "length": 255, + "name": "cntrb_history_timestamp", + "type": "timestamp", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "default", - "isNullable": true, + "collation": "", + "isNullable": false, "defaultType": "Others", - "defaultValue": "NULL::character varying", + "defaultValue": "CURRENT_TIMESTAMP", "comment": "", - "oldName": "library_platform", + "oldName": "cntrb_history_timestamp", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 3, "foreignOptions": [], "isIdentity": false, @@ -9071,22 +8166,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "version_number", - "type": "varchar", - "length": 255, + "name": "cntrb_history_current_bool", + "type": "bool", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, - "defaultType": "Others", - "defaultValue": "NULL::character varying", - "comment": "", - "oldName": "version_number", + "defaultType": "None", + "defaultValue": "", + "comment": "At some point it would be great to have a boolean updated by a contributor worker that set the most recent contributor data to true. ", + "oldName": "cntrb_history_current_bool", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 4, "foreignOptions": [], "isIdentity": false, @@ -9101,17 +8196,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "version_release_date", - "type": "timestamp", + "name": "cntrb_organizations_list", + "type": "json", "length": 0, "decimals": 0, "dimensions": 0, "collation": "", "isNullable": true, - "defaultType": "Others", - "defaultValue": "NULL::timestamp without time zone", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "version_release_date", + "oldName": "cntrb_organizations_list", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -9131,22 +8226,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_source", - "type": "varchar", - "length": 255, + "name": "cntrb_gists_count", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "tool_source", + "oldName": "cntrb_gists_count", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 6, "foreignOptions": [], "isIdentity": false, @@ -9161,22 +8256,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_version", - "type": "varchar", - "length": 255, + "name": "cntrb_starred_count", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "tool_version", + "oldName": "cntrb_starred_count", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 7, "foreignOptions": [], "isIdentity": false, @@ -9191,22 +8286,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_source", - "type": "varchar", - "length": 255, + "name": "cntrb_following_count", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "data_source", + "oldName": "cntrb_following_count", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 8, "foreignOptions": [], "isIdentity": false, @@ -9221,9 +8316,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_collection_date", - "type": "timestamp", - "length": 0, + "name": "cntrb_follower_count", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, "collation": "", @@ -9231,7 +8326,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "data_collection_date", + "oldName": "cntrb_follower_count", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -9248,98 +8343,26 @@ "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false - } - ], - "indexes": [], - "rules": [], - "primaryKey": { - "objectType": "PrimaryKey_PGSQL", - "name": "library_version_pkey", - "fields": [ - "library_version_id" - ], - "fillFactor": -1, - "indexTablespace": "", - "comment": "", - "isDeferrable": false, - "isDeferred": false, - "oldName": "library_version_pkey" - }, - "foreignKeys": [ - { - "objectType": "ForeignKey_PGSQL", - "name": "fk_library_version_libraries_1", - "fields": [ - "library_id" - ], - "referenceSchema": "augur_data", - "referenceTable": "libraries", - "referenceFields": [ - "library_id" - ], - "onDelete": "NO ACTION", - "onUpdate": "NO ACTION", - "comment": "", - "isMatchFull": false, - "isDeferrable": false, - "isDeferred": false, - "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "ZeroOrOneRelationship", - "oldName": "fk_library_version_libraries_1" - } - ], - "uniques": [], - "checks": [], - "excludes": [], - "triggers": [], - "partitionKeys": [], - "partitions": [] - }, - { - "objectType": "TableNormal_PGSQL", - "name": "lstm_anomaly_models", - "comment": "", - "tablespace": "", - "isUnlogged": false, - "owner": "augur", - "inheritFromTables": [], - "hasOIDs": false, - "fillFactor": -1, - "oldName": "lstm_anomaly_models", - "oid": 189442, - "rows": 0, - "isInheritTables": false, - "cluster": "", - "ACL": "", - "isPartition": false, - "partitioningStrategy": "None", - "partitionOfSchema": "", - "partitionOfTable": "", - "partitionListValues": [], - "partitionRangeFromValues": [], - "partitionRangeToValues": [], - "foreignServer": "", - "foreignOptionDisplay": "", - "fields": [ + }, { "objectType": "TableField_PGSQL", - "name": "model_id", - "type": "int8", - "length": 64, + "name": "cntrb_login", + "type": "varchar", + "length": 255, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": false, - "defaultType": "Others", - "defaultValue": "nextval('augur_data.lstm_anomaly_models_model_id_seq'::regclass)", - "comment": "", - "oldName": "model_id", + "defaultType": "None", + "defaultValue": "", + "comment": "Will be a double population with the same value as gh_login for github, but the local value for other systems. ", + "oldName": "cntrb_login", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 1, + "collationSchema": "pg_catalog", + "ordinalPosition": 10, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -9353,23 +8376,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "model_name", + "name": "cntrb_email", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "", - "oldName": "model_name", + "comment": "This needs to be here for matching contributor ids, which are augur, to the commit information. ", + "oldName": "cntrb_email", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 2, + "ordinalPosition": 11, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -9383,23 +8406,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "model_description", + "name": "cntrb_company", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "NULL::character varying", "comment": "", - "oldName": "model_description", + "oldName": "cntrb_company", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 3, + "ordinalPosition": 12, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -9413,23 +8436,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "look_back_days", - "type": "int8", - "length": 64, + "name": "cntrb_created_at", + "type": "timestamp", + "length": 0, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": true, + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "look_back_days", + "oldName": "cntrb_created_at", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 4, + "ordinalPosition": 13, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -9443,23 +8466,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "training_days", - "type": "int8", - "length": 64, + "name": "cntrb_type", + "type": "varchar", + "length": 255, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "", - "oldName": "training_days", + "comment": "Present in another models. It is not currently used in Augur. ", + "oldName": "cntrb_type", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 5, + "collationSchema": "pg_catalog", + "ordinalPosition": 14, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -9473,23 +8496,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "batch_size", - "type": "int8", - "length": 64, + "name": "cntrb_fake", + "type": "int2", + "length": 16, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "0", "comment": "", - "oldName": "batch_size", + "oldName": "cntrb_fake", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 6, + "ordinalPosition": 15, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -9503,23 +8526,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "metric", - "type": "varchar", - "length": 0, + "name": "cntrb_deleted", + "type": "int2", + "length": 16, "decimals": 0, "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "0", "comment": "", - "oldName": "metric", + "oldName": "cntrb_deleted", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 7, + "collationSchema": "", + "ordinalPosition": 16, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -9533,23 +8556,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_source", - "type": "varchar", - "length": 0, - "decimals": 0, + "name": "cntrb_long", + "type": "numeric", + "length": 11, + "decimals": 8, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "NULL::numeric", "comment": "", - "oldName": "tool_source", + "oldName": "cntrb_long", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 8, + "collationSchema": "", + "ordinalPosition": 17, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -9563,23 +8586,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_version", - "type": "varchar", - "length": 0, - "decimals": 0, + "name": "cntrb_lat", + "type": "numeric", + "length": 10, + "decimals": 8, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "NULL::numeric", "comment": "", - "oldName": "tool_version", + "oldName": "cntrb_lat", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 9, + "collationSchema": "", + "ordinalPosition": 18, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -9593,23 +8616,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_source", - "type": "varchar", - "length": 0, + "name": "cntrb_country_code", + "type": "char", + "length": 3, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "NULL::bpchar", "comment": "", - "oldName": "data_source", + "oldName": "cntrb_country_code", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 10, + "ordinalPosition": 19, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -9623,23 +8646,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_collection_date", - "type": "timestamp", - "length": 6, + "name": "cntrb_state", + "type": "varchar", + "length": 255, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "Others", - "defaultValue": "CURRENT_TIMESTAMP", + "defaultValue": "NULL::character varying", "comment": "", - "oldName": "data_collection_date", + "oldName": "cntrb_state", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 11, + "collationSchema": "pg_catalog", + "ordinalPosition": 20, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -9650,76 +8673,26 @@ "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false - } - ], - "indexes": [], - "rules": [], - "primaryKey": { - "objectType": "PrimaryKey_PGSQL", - "name": "lstm_anomaly_models_pkey", - "fields": [ - "model_id" - ], - "fillFactor": -1, - "indexTablespace": "", - "comment": "", - "isDeferrable": false, - "isDeferred": false, - "oldName": "lstm_anomaly_models_pkey" - }, - "foreignKeys": [], - "uniques": [], - "checks": [], - "excludes": [], - "triggers": [], - "partitionKeys": [], - "partitions": [] - }, - { - "objectType": "TableNormal_PGSQL", - "name": "lstm_anomaly_results", - "comment": "", - "tablespace": "", - "isUnlogged": false, - "owner": "augur", - "inheritFromTables": [], - "hasOIDs": false, - "fillFactor": -1, - "oldName": "lstm_anomaly_results", - "oid": 189543, - "rows": 0, - "isInheritTables": false, - "cluster": "", - "ACL": "", - "isPartition": false, - "partitioningStrategy": "None", - "partitionOfSchema": "", - "partitionOfTable": "", - "partitionListValues": [], - "partitionRangeFromValues": [], - "partitionRangeToValues": [], - "foreignServer": "", - "foreignOptionDisplay": "", - "fields": [ + }, { "objectType": "TableField_PGSQL", - "name": "result_id", - "type": "int8", - "length": 64, + "name": "cntrb_city", + "type": "varchar", + "length": 255, "decimals": 0, "dimensions": 0, - "collation": "", - "isNullable": false, + "collation": "default", + "isNullable": true, "defaultType": "Others", - "defaultValue": "nextval('augur_data.lstm_anomaly_results_result_id_seq'::regclass)", + "defaultValue": "NULL::character varying", "comment": "", - "oldName": "result_id", + "oldName": "cntrb_city", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 1, + "collationSchema": "pg_catalog", + "ordinalPosition": 21, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -9733,23 +8706,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "repo_id", - "type": "int8", - "length": 64, + "name": "cntrb_location", + "type": "varchar", + "length": 255, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "NULL::character varying", "comment": "", - "oldName": "repo_id", + "oldName": "cntrb_location", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 2, + "collationSchema": "pg_catalog", + "ordinalPosition": 22, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -9763,9 +8736,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "repo_category", + "name": "cntrb_canonical", "type": "varchar", - "length": 0, + "length": 128, "decimals": 0, "dimensions": 0, "collation": "default", @@ -9773,13 +8746,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "repo_category", + "oldName": "cntrb_canonical", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 3, + "ordinalPosition": 23, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -9793,7 +8766,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "model_id", + "name": "gh_user_id", "type": "int8", "length": 64, "decimals": 0, @@ -9803,13 +8776,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "model_id", + "oldName": "gh_user_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 4, + "ordinalPosition": 24, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -9823,23 +8796,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "metric", + "name": "gh_login", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "", - "oldName": "metric", + "comment": "populated with the github user name for github originated data. ", + "oldName": "gh_login", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 5, + "ordinalPosition": 25, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -9853,23 +8826,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "contamination_factor", - "type": "float8", - "length": 53, + "name": "gh_url", + "type": "varchar", + "length": 255, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "contamination_factor", + "oldName": "gh_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 6, + "collationSchema": "pg_catalog", + "ordinalPosition": 26, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -9883,23 +8856,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "mean_absolute_error", - "type": "float8", - "length": 53, + "name": "gh_html_url", + "type": "varchar", + "length": 255, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "mean_absolute_error", + "oldName": "gh_html_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 7, + "collationSchema": "pg_catalog", + "ordinalPosition": 27, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -9913,9 +8886,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "remarks", + "name": "gh_node_id", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", @@ -9923,13 +8896,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "remarks", + "oldName": "gh_node_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 8, + "ordinalPosition": 28, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -9943,23 +8916,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "metric_field", + "name": "gh_avatar_url", "type": "varchar", - "length": 0, + "length": 4000, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "This is a listing of all of the endpoint fields included in the generation of the metric. Sometimes there is one, sometimes there is more than one. This will list them all. ", - "oldName": "metric_field", + "comment": "", + "oldName": "gh_avatar_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 9, + "ordinalPosition": 29, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -9973,23 +8946,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "mean_absolute_actual_value", - "type": "float8", - "length": 53, + "name": "gh_gravatar_id", + "type": "varchar", + "length": 255, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "mean_absolute_actual_value", + "oldName": "gh_gravatar_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 10, + "collationSchema": "pg_catalog", + "ordinalPosition": 30, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -10003,23 +8976,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "mean_absolute_prediction_value", - "type": "float8", - "length": 53, + "name": "gh_followers_url", + "type": "varchar", + "length": 4000, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "mean_absolute_prediction_value", + "oldName": "gh_followers_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 11, + "collationSchema": "pg_catalog", + "ordinalPosition": 31, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -10033,9 +9006,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_source", + "name": "gh_following_url", "type": "varchar", - "length": 0, + "length": 4000, "decimals": 0, "dimensions": 0, "collation": "default", @@ -10043,13 +9016,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "tool_source", + "oldName": "gh_following_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 12, + "ordinalPosition": 32, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -10063,9 +9036,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_version", + "name": "gh_gists_url", "type": "varchar", - "length": 0, + "length": 4000, "decimals": 0, "dimensions": 0, "collation": "default", @@ -10073,13 +9046,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "tool_version", + "oldName": "gh_gists_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 13, + "ordinalPosition": 33, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -10093,9 +9066,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_source", + "name": "gh_starred_url", "type": "varchar", - "length": 0, + "length": 4000, "decimals": 0, "dimensions": 0, "collation": "default", @@ -10103,13 +9076,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "data_source", + "oldName": "gh_starred_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 14, + "ordinalPosition": 34, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -10123,23 +9096,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_collection_date", - "type": "timestamp", - "length": 6, + "name": "gh_subscriptions_url", + "type": "varchar", + "length": 4000, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, - "defaultType": "Others", - "defaultValue": "CURRENT_TIMESTAMP", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "data_collection_date", + "oldName": "gh_subscriptions_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 15, + "collationSchema": "pg_catalog", + "ordinalPosition": 35, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -10150,119 +9123,26 @@ "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false - } - ], - "indexes": [], - "rules": [], - "primaryKey": { - "objectType": "PrimaryKey_PGSQL", - "name": "lstm_anomaly_results_pkey", - "fields": [ - "result_id" - ], - "fillFactor": -1, - "indexTablespace": "", - "comment": "", - "isDeferrable": false, - "isDeferred": false, - "oldName": "lstm_anomaly_results_pkey" - }, - "foreignKeys": [ - { - "objectType": "ForeignKey_PGSQL", - "name": "fk_lstm_anomaly_results_lstm_anomaly_models_1", - "fields": [ - "model_id" - ], - "referenceSchema": "augur_data", - "referenceTable": "lstm_anomaly_models", - "referenceFields": [ - "model_id" - ], - "onDelete": "NO ACTION", - "onUpdate": "NO ACTION", - "comment": "", - "isMatchFull": false, - "isDeferrable": false, - "isDeferred": false, - "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "ZeroOrOneRelationship", - "oldName": "fk_lstm_anomaly_results_lstm_anomaly_models_1" }, - { - "objectType": "ForeignKey_PGSQL", - "name": "fk_lstm_anomaly_results_repo_1", - "fields": [ - "repo_id" - ], - "referenceSchema": "augur_data", - "referenceTable": "repo", - "referenceFields": [ - "repo_id" - ], - "onDelete": "NO ACTION", - "onUpdate": "NO ACTION", - "comment": "", - "isMatchFull": false, - "isDeferrable": false, - "isDeferred": false, - "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "ZeroOrOneRelationship", - "oldName": "fk_lstm_anomaly_results_repo_1" - } - ], - "uniques": [], - "checks": [], - "excludes": [], - "triggers": [], - "partitionKeys": [], - "partitions": [] - }, - { - "objectType": "TableNormal_PGSQL", - "name": "message_analysis", - "comment": "", - "tablespace": "", - "isUnlogged": false, - "owner": "augur", - "inheritFromTables": [], - "hasOIDs": false, - "fillFactor": -1, - "oldName": "message_analysis", - "oid": 189840, - "rows": 0, - "isInheritTables": false, - "cluster": "", - "ACL": "", - "isPartition": false, - "partitioningStrategy": "None", - "partitionOfSchema": "", - "partitionOfTable": "", - "partitionListValues": [], - "partitionRangeFromValues": [], - "partitionRangeToValues": [], - "foreignServer": "", - "foreignOptionDisplay": "", - "fields": [ { "objectType": "TableField_PGSQL", - "name": "msg_analysis_id", - "type": "int8", - "length": 64, + "name": "gh_organizations_url", + "type": "varchar", + "length": 4000, "decimals": 0, "dimensions": 0, - "collation": "", - "isNullable": false, - "defaultType": "Others", - "defaultValue": "nextval('augur_data.message_analysis_msg_analysis_id_seq'::regclass)", + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "msg_analysis_id", + "oldName": "gh_organizations_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 1, + "collationSchema": "pg_catalog", + "ordinalPosition": 36, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -10276,23 +9156,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "msg_id", - "type": "int8", - "length": 64, + "name": "gh_repos_url", + "type": "varchar", + "length": 4000, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "msg_id", + "oldName": "gh_repos_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 2, + "collationSchema": "pg_catalog", + "ordinalPosition": 37, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -10306,23 +9186,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "worker_run_id", - "type": "int8", - "length": 64, + "name": "gh_events_url", + "type": "varchar", + "length": 4000, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "This column is used to indicate analyses run by a worker during the same execution period, and is useful for grouping, and time series analysis. ", - "oldName": "worker_run_id", + "comment": "", + "oldName": "gh_events_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 3, + "collationSchema": "pg_catalog", + "ordinalPosition": 38, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -10336,53 +9216,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "sentiment_score", - "type": "float8", - "length": 53, - "decimals": 0, - "dimensions": 0, - "collation": "", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "A sentiment analysis score. Zero is neutral, negative numbers are negative sentiment, and positive numbers are positive sentiment. ", - "oldName": "sentiment_score", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 4, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "reconstruction_error", - "type": "float8", - "length": 53, + "name": "gh_received_events_url", + "type": "varchar", + "length": 4000, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "Each message is converted to a 250 dimensin doc2vec vector, so the reconstruction error is the difference between what the predicted vector and the actual vector.", - "oldName": "reconstruction_error", + "comment": "", + "oldName": "gh_received_events_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 5, + "collationSchema": "pg_catalog", + "ordinalPosition": 39, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -10396,23 +9246,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "novelty_flag", - "type": "bool", - "length": 0, + "name": "gh_type", + "type": "varchar", + "length": 255, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "This is an analysis of the degree to which the message is novel when compared to other messages in a repository. For example when bots are producing numerous identical messages, the novelty score is low. It would also be a low novelty score when several people are making the same coment. ", - "oldName": "novelty_flag", + "comment": "", + "oldName": "gh_type", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 6, + "collationSchema": "pg_catalog", + "ordinalPosition": 40, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -10426,23 +9276,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "feedback_flag", - "type": "bool", - "length": 0, + "name": "gh_site_admin", + "type": "varchar", + "length": 255, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "This exists to provide the user with an opportunity provide feedback on the resulting the sentiment scores. ", - "oldName": "feedback_flag", + "comment": "", + "oldName": "gh_site_admin", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 7, + "collationSchema": "pg_catalog", + "ordinalPosition": 41, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -10458,7 +9308,7 @@ "objectType": "TableField_PGSQL", "name": "tool_source", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", @@ -10472,7 +9322,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 8, + "ordinalPosition": 42, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -10488,7 +9338,7 @@ "objectType": "TableField_PGSQL", "name": "tool_version", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", @@ -10502,7 +9352,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 9, + "ordinalPosition": 43, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -10518,7 +9368,7 @@ "objectType": "TableField_PGSQL", "name": "data_source", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", @@ -10532,7 +9382,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 10, + "ordinalPosition": 44, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -10562,7 +9412,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 11, + "ordinalPosition": 45, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -10575,32 +9425,101 @@ "isIdentityCycle": false } ], - "indexes": [], + "indexes": [ + { + "objectType": "Index_PGSQL", + "name": "contrb-history-dix1", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "contrb-history-dix1", + "oid": 15488154, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "contributors_history", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "cntrb_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cntrb_id", + "collationSchema": "" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "login_index_2", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "login_index_2", + "oid": 15486928, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "contributors_history", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "cntrb_login", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cntrb_login", + "collationSchema": "pg_catalog" + } + ] + } + ], "rules": [], "primaryKey": { "objectType": "PrimaryKey_PGSQL", - "name": "message_analysis_pkey", + "name": "contributors_history_pkey", "fields": [ - "msg_analysis_id" + "cntrb_history_id" ], "fillFactor": -1, "indexTablespace": "", "comment": "", "isDeferrable": false, "isDeferred": false, - "oldName": "message_analysis_pkey" + "oldName": "contributors_history_pkey" }, "foreignKeys": [ { "objectType": "ForeignKey_PGSQL", - "name": "fk_message_analysis_message_1", + "name": "fk_contributors_history_contributors_1", "fields": [ - "msg_id" + "cntrb_id" ], "referenceSchema": "augur_data", - "referenceTable": "message", + "referenceTable": "contributors", "referenceFields": [ - "msg_id" + "cntrb_id" ], "onDelete": "NO ACTION", "onUpdate": "NO ACTION", @@ -10609,8 +9528,8 @@ "isDeferrable": false, "isDeferred": false, "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "ZeroOrOneRelationship", - "oldName": "fk_message_analysis_message_1" + "targetCardinality": "OneAndOnlyOneRelationship", + "oldName": "fk_contributors_history_contributors_1" } ], "uniques": [], @@ -10622,16 +9541,16 @@ }, { "objectType": "TableNormal_PGSQL", - "name": "message_analysis_summary", - "comment": "In a relationally perfect world, we would have a table called “message_analysis_run” the incremented the “worker_run_id” for both message_analysis and message_analysis_summary. For now, we decided this was overkill. ", + "name": "discourse_insights", + "comment": "", "tablespace": "", "isUnlogged": false, "owner": "augur", "inheritFromTables": [], "hasOIDs": false, "fillFactor": -1, - "oldName": "message_analysis_summary", - "oid": 189994, + "oldName": "discourse_insights", + "oid": 15488222, "rows": 0, "isInheritTables": false, "cluster": "", @@ -10648,7 +9567,7 @@ "fields": [ { "objectType": "TableField_PGSQL", - "name": "msg_summary_id", + "name": "msg_discourse_id", "type": "int8", "length": 64, "decimals": 0, @@ -10656,9 +9575,9 @@ "collation": "", "isNullable": false, "defaultType": "Others", - "defaultValue": "nextval('augur_data.message_analysis_summary_msg_summary_id_seq'::regclass)", + "defaultValue": "nextval('augur_data.discourse_insights_msg_discourse_id_seq1'::regclass)", "comment": "", - "oldName": "msg_summary_id", + "oldName": "msg_discourse_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -10678,7 +9597,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "repo_id", + "name": "msg_id", "type": "int8", "length": 64, "decimals": 0, @@ -10688,7 +9607,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "repo_id", + "oldName": "msg_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -10708,143 +9627,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "worker_run_id", - "type": "int8", - "length": 64, - "decimals": 0, - "dimensions": 0, - "collation": "", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "This value should reflect the worker_run_id for the messages summarized in the table. There is not a relation between these two tables for that purpose because its not *really*, relationaly a concept unless we create a third table for \"worker_run_id\", which we determined was unnecessarily complex. ", - "oldName": "worker_run_id", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 3, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "positive_ratio", - "type": "float8", - "length": 53, - "decimals": 0, - "dimensions": 0, - "collation": "", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "positive_ratio", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 4, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "negative_ratio", - "type": "float8", - "length": 53, - "decimals": 0, - "dimensions": 0, - "collation": "", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "negative_ratio", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 5, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "novel_count", - "type": "int8", - "length": 64, - "decimals": 0, - "dimensions": 0, - "collation": "", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "The number of messages identified as novel during the analyzed period", - "oldName": "novel_count", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 6, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "period", - "type": "timestamp", + "name": "discourse_act", + "type": "varchar", "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "The whole timeline is divided into periods based on the definition of time period for analysis, which is user specified. Timestamp of the first period to look at, until the end of messages at the data of execution. ", - "oldName": "period", + "comment": "", + "oldName": "discourse_act", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 7, + "collationSchema": "pg_catalog", + "ordinalPosition": 3, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -10874,7 +9673,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 8, + "ordinalPosition": 4, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -10904,7 +9703,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 9, + "ordinalPosition": 5, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -10934,7 +9733,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 10, + "ordinalPosition": 6, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -10949,8 +9748,8 @@ { "objectType": "TableField_PGSQL", "name": "data_collection_date", - "type": "timestamp", - "length": 0, + "type": "timestamptz", + "length": 6, "decimals": 0, "dimensions": 0, "collation": "", @@ -10964,7 +9763,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 11, + "ordinalPosition": 7, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -10981,28 +9780,28 @@ "rules": [], "primaryKey": { "objectType": "PrimaryKey_PGSQL", - "name": "message_analysis_summary_pkey", + "name": "discourse_insights_pkey", "fields": [ - "msg_summary_id" + "msg_discourse_id" ], "fillFactor": -1, "indexTablespace": "", "comment": "", "isDeferrable": false, "isDeferred": false, - "oldName": "message_analysis_summary_pkey" + "oldName": "discourse_insights_pkey" }, "foreignKeys": [ { "objectType": "ForeignKey_PGSQL", - "name": "fk_message_analysis_summary_repo_1", + "name": "fk_discourse_insights_message_1", "fields": [ - "repo_id" + "msg_id" ], "referenceSchema": "augur_data", - "referenceTable": "repo", + "referenceTable": "message", "referenceFields": [ - "repo_id" + "msg_id" ], "onDelete": "NO ACTION", "onUpdate": "NO ACTION", @@ -11012,7 +9811,7 @@ "isDeferred": false, "sourceCardinality": "ZeroOrManyRelationship", "targetCardinality": "ZeroOrOneRelationship", - "oldName": "fk_message_analysis_summary_repo_1" + "oldName": "fk_discourse_insights_message_1" } ], "uniques": [], @@ -11024,7 +9823,7 @@ }, { "objectType": "TableNormal_PGSQL", - "name": "message_sentiment", + "name": "dm_repo_annual", "comment": "", "tablespace": "", "isUnlogged": false, @@ -11032,9 +9831,9 @@ "inheritFromTables": [], "hasOIDs": false, "fillFactor": -1, - "oldName": "message_sentiment", - "oid": 190022, - "rows": 0, + "oldName": "dm_repo_annual", + "oid": 15486513, + "rows": 4879, "isInheritTables": false, "cluster": "", "ACL": "", @@ -11050,17 +9849,17 @@ "fields": [ { "objectType": "TableField_PGSQL", - "name": "msg_analysis_id", + "name": "repo_id", "type": "int8", "length": 64, "decimals": 0, "dimensions": 0, "collation": "", "isNullable": false, - "defaultType": "Others", - "defaultValue": "nextval('augur_data.message_sentiment_msg_analysis_id_seq'::regclass)", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "msg_analysis_id", + "oldName": "repo_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -11080,22 +9879,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "msg_id", - "type": "int8", - "length": 64, + "name": "email", + "type": "varchar", + "length": 128, "decimals": 0, "dimensions": 0, - "collation": "", - "isNullable": true, + "collation": "default", + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "msg_id", + "oldName": "email", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 2, "foreignOptions": [], "isIdentity": false, @@ -11110,22 +9909,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "worker_run_id", - "type": "int8", - "length": 64, + "name": "affiliation", + "type": "varchar", + "length": 128, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "This column is used to indicate analyses run by a worker during the same execution period, and is useful for grouping, and time series analysis. ", - "oldName": "worker_run_id", + "defaultType": "Others", + "defaultValue": "'NULL'::character varying", + "comment": "", + "oldName": "affiliation", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 3, "foreignOptions": [], "isIdentity": false, @@ -11140,17 +9939,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "sentiment_score", - "type": "float8", - "length": 53, + "name": "year", + "type": "int2", + "length": 16, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": true, + "isNullable": false, "defaultType": "None", "defaultValue": "", - "comment": "A sentiment analysis score. Zero is neutral, negative numbers are negative sentiment, and positive numbers are positive sentiment. ", - "oldName": "sentiment_score", + "comment": "", + "oldName": "year", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -11170,17 +9969,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "reconstruction_error", - "type": "float8", - "length": 53, + "name": "added", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": true, + "isNullable": false, "defaultType": "None", "defaultValue": "", - "comment": "Each message is converted to a 250 dimensin doc2vec vector, so the reconstruction error is the difference between what the predicted vector and the actual vector.", - "oldName": "reconstruction_error", + "comment": "", + "oldName": "added", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -11200,17 +9999,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "novelty_flag", - "type": "bool", - "length": 0, + "name": "removed", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": true, + "isNullable": false, "defaultType": "None", "defaultValue": "", - "comment": "This is an analysis of the degree to which the message is novel when compared to other messages in a repository. For example when bots are producing numerous identical messages, the novelty score is low. It would also be a low novelty score when several people are making the same coment. ", - "oldName": "novelty_flag", + "comment": "", + "oldName": "removed", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -11230,17 +10029,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "feedback_flag", - "type": "bool", - "length": 0, + "name": "whitespace", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": true, + "isNullable": false, "defaultType": "None", "defaultValue": "", - "comment": "This exists to provide the user with an opportunity provide feedback on the resulting the sentiment scores. ", - "oldName": "feedback_flag", + "comment": "", + "oldName": "whitespace", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -11260,22 +10059,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_source", - "type": "varchar", - "length": 0, + "name": "files", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", - "isNullable": true, + "collation": "", + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "tool_source", + "oldName": "files", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 8, "foreignOptions": [], "isIdentity": false, @@ -11290,22 +10089,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_version", - "type": "varchar", - "length": 0, + "name": "patches", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", - "isNullable": true, + "collation": "", + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "tool_version", + "oldName": "patches", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 9, "foreignOptions": [], "isIdentity": false, @@ -11320,9 +10119,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_source", + "name": "tool_source", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", @@ -11330,7 +10129,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "data_source", + "oldName": "tool_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -11350,22 +10149,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_collection_date", - "type": "timestamp", - "length": 0, + "name": "tool_version", + "type": "varchar", + "length": 255, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, - "defaultType": "Others", - "defaultValue": "CURRENT_TIMESTAMP", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "data_collection_date", + "oldName": "tool_version", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 11, "foreignOptions": [], "isIdentity": false, @@ -11377,46 +10176,162 @@ "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false - } - ], - "indexes": [], - "rules": [], - "primaryKey": { - "objectType": "PrimaryKey_PGSQL", - "name": "message_sentiment_pkey", - "fields": [ - "msg_analysis_id" - ], - "fillFactor": -1, - "indexTablespace": "", - "comment": "", - "isDeferrable": false, - "isDeferred": false, - "oldName": "message_sentiment_pkey" - }, - "foreignKeys": [ + }, { - "objectType": "ForeignKey_PGSQL", - "name": "fk_message_sentiment_message_1", + "objectType": "TableField_PGSQL", + "name": "data_source", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "data_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 12, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_collection_date", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", + "comment": "", + "oldName": "data_collection_date", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 13, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [ + { + "objectType": "Index_PGSQL", + "name": "repo_id,affiliation_copy_1", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "repo_id,affiliation_copy_1", + "oid": 15486931, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "dm_repo_annual", + "size": "696", "fields": [ - "msg_id" - ], - "referenceSchema": "augur_data", - "referenceTable": "message", - "referenceFields": [ - "msg_id" - ], - "onDelete": "NO ACTION", - "onUpdate": "NO ACTION", + { + "objectType": "IndexField_PGSQL", + "name": "repo_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "repo_id", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "affiliation", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "affiliation", + "collationSchema": "pg_catalog" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "repo_id,email_copy_1", "comment": "", - "isMatchFull": false, - "isDeferrable": false, - "isDeferred": false, - "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "ZeroOrOneRelationship", - "oldName": "fk_message_sentiment_message_1" + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "repo_id,email_copy_1", + "oid": 15486932, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "dm_repo_annual", + "size": "632", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "repo_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "repo_id", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "email", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "email", + "collationSchema": "pg_catalog" + } + ] } ], + "rules": [], + "foreignKeys": [], "uniques": [], "checks": [], "excludes": [], @@ -11426,17 +10341,17 @@ }, { "objectType": "TableNormal_PGSQL", - "name": "message_sentiment_summary", - "comment": "In a relationally perfect world, we would have a table called “message_sentiment_run” the incremented the “worker_run_id” for both message_sentiment and message_sentiment_summary. For now, we decided this was overkill. ", + "name": "dm_repo_group_annual", + "comment": "", "tablespace": "", "isUnlogged": false, "owner": "augur", "inheritFromTables": [], "hasOIDs": false, "fillFactor": -1, - "oldName": "message_sentiment_summary", - "oid": 190146, - "rows": 0, + "oldName": "dm_repo_group_annual", + "oid": 15486521, + "rows": 4879, "isInheritTables": false, "cluster": "", "ACL": "", @@ -11452,17 +10367,17 @@ "fields": [ { "objectType": "TableField_PGSQL", - "name": "msg_summary_id", + "name": "repo_group_id", "type": "int8", "length": 64, "decimals": 0, "dimensions": 0, "collation": "", "isNullable": false, - "defaultType": "Others", - "defaultValue": "nextval('augur_data.message_sentiment_summary_msg_summary_id_seq'::regclass)", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "msg_summary_id", + "oldName": "repo_group_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -11482,23 +10397,83 @@ }, { "objectType": "TableField_PGSQL", - "name": "repo_id", - "type": "int8", - "length": 64, + "name": "email", + "type": "varchar", + "length": 128, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "email", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "affiliation", + "type": "varchar", + "length": 128, + "decimals": 0, + "dimensions": 0, + "collation": "default", "isNullable": true, + "defaultType": "Others", + "defaultValue": "'NULL'::character varying", + "comment": "", + "oldName": "affiliation", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "year", + "type": "int2", + "length": 16, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "repo_id", + "oldName": "year", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 2, + "ordinalPosition": 4, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -11512,23 +10487,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "worker_run_id", + "name": "added", "type": "int8", "length": 64, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": true, + "isNullable": false, "defaultType": "None", "defaultValue": "", - "comment": "This value should reflect the worker_run_id for the messages summarized in the table. There is not a relation between these two tables for that purpose because its not *really*, relationaly a concept unless we create a third table for \"worker_run_id\", which we determined was unnecessarily complex. ", - "oldName": "worker_run_id", + "comment": "", + "oldName": "added", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 3, + "ordinalPosition": 5, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -11542,23 +10517,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "positive_ratio", - "type": "float8", - "length": 53, + "name": "removed", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": true, + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "positive_ratio", + "oldName": "removed", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 4, + "ordinalPosition": 6, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -11572,23 +10547,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "negative_ratio", - "type": "float8", - "length": 53, + "name": "whitespace", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": true, + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "negative_ratio", + "oldName": "whitespace", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 5, + "ordinalPosition": 7, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -11602,23 +10577,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "novel_count", + "name": "files", "type": "int8", "length": 64, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": true, + "isNullable": false, "defaultType": "None", "defaultValue": "", - "comment": "The number of messages identified as novel during the analyzed period", - "oldName": "novel_count", + "comment": "", + "oldName": "files", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 6, + "ordinalPosition": 8, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -11632,23 +10607,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "period", - "type": "timestamp", - "length": 0, + "name": "patches", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": true, + "isNullable": false, "defaultType": "None", "defaultValue": "", - "comment": "The whole timeline is divided into periods based on the definition of time period for analysis, which is user specified. Timestamp of the first period to look at, until the end of messages at the data of execution. ", - "oldName": "period", + "comment": "", + "oldName": "patches", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 7, + "ordinalPosition": 9, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -11664,7 +10639,7 @@ "objectType": "TableField_PGSQL", "name": "tool_source", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", @@ -11678,7 +10653,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 8, + "ordinalPosition": 10, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -11694,7 +10669,7 @@ "objectType": "TableField_PGSQL", "name": "tool_version", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", @@ -11708,7 +10683,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 9, + "ordinalPosition": 11, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -11724,7 +10699,7 @@ "objectType": "TableField_PGSQL", "name": "data_source", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", @@ -11738,7 +10713,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 10, + "ordinalPosition": 12, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -11768,7 +10743,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 11, + "ordinalPosition": 13, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -11781,44 +10756,100 @@ "isIdentityCycle": false } ], - "indexes": [], - "rules": [], - "primaryKey": { - "objectType": "PrimaryKey_PGSQL", - "name": "message_sentiment_summary_pkey", - "fields": [ - "msg_summary_id" - ], - "fillFactor": -1, - "indexTablespace": "", - "comment": "", - "isDeferrable": false, - "isDeferred": false, - "oldName": "message_sentiment_summary_pkey" - }, - "foreignKeys": [ + "indexes": [ { - "objectType": "ForeignKey_PGSQL", - "name": "fk_message_sentiment_summary_repo_1", + "objectType": "Index_PGSQL", + "name": "projects_id,affiliation_copy_1", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "projects_id,affiliation_copy_1", + "oid": 15486933, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "dm_repo_group_annual", + "size": "696", "fields": [ - "repo_id" - ], - "referenceSchema": "augur_data", - "referenceTable": "repo", - "referenceFields": [ - "repo_id" - ], - "onDelete": "NO ACTION", - "onUpdate": "NO ACTION", + { + "objectType": "IndexField_PGSQL", + "name": "repo_group_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "repo_group_id", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "affiliation", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "affiliation", + "collationSchema": "pg_catalog" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "projects_id,email_copy_1", "comment": "", - "isMatchFull": false, - "isDeferrable": false, - "isDeferred": false, - "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "ZeroOrOneRelationship", - "oldName": "fk_message_sentiment_summary_repo_1" + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "projects_id,email_copy_1", + "oid": 15486934, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "dm_repo_group_annual", + "size": "632", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "repo_group_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "repo_group_id", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "email", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "email", + "collationSchema": "pg_catalog" + } + ] } ], + "rules": [], + "foreignKeys": [], "uniques": [], "checks": [], "excludes": [], @@ -11828,7 +10859,7 @@ }, { "objectType": "TableNormal_PGSQL", - "name": "platform", + "name": "dm_repo_group_monthly", "comment": "", "tablespace": "", "isUnlogged": false, @@ -11836,9 +10867,9 @@ "inheritFromTables": [], "hasOIDs": false, "fillFactor": -1, - "oldName": "platform", - "oid": 190264, - "rows": 1, + "oldName": "dm_repo_group_monthly", + "oid": 15486529, + "rows": 9339, "isInheritTables": false, "cluster": "", "ACL": "", @@ -11854,17 +10885,17 @@ "fields": [ { "objectType": "TableField_PGSQL", - "name": "pltfrm_id", + "name": "repo_group_id", "type": "int8", "length": 64, "decimals": 0, "dimensions": 0, "collation": "", "isNullable": false, - "defaultType": "Others", - "defaultValue": "nextval('augur_data.platform_pltfrm_id_seq'::regclass)", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "pltfrm_id", + "oldName": "repo_group_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -11884,17 +10915,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "pltfrm_name", + "name": "email", "type": "varchar", - "length": 255, + "length": 128, "decimals": 0, "dimensions": 0, "collation": "default", - "isNullable": true, + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pltfrm_name", + "oldName": "email", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -11914,17 +10945,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "pltfrm_version", + "name": "affiliation", "type": "varchar", - "length": 255, + "length": 128, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "'NULL'::character varying", "comment": "", - "oldName": "pltfrm_version", + "oldName": "affiliation", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -11944,17 +10975,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "pltfrm_release_date", - "type": "date", - "length": 0, + "name": "month", + "type": "int2", + "length": 16, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": true, + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pltfrm_release_date", + "oldName": "month", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -11974,22 +11005,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_source", - "type": "varchar", - "length": 255, + "name": "year", + "type": "int2", + "length": 16, "decimals": 0, "dimensions": 0, - "collation": "default", - "isNullable": true, + "collation": "", + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "tool_source", + "oldName": "year", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 5, "foreignOptions": [], "isIdentity": false, @@ -12004,22 +11035,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_version", - "type": "varchar", - "length": 255, + "name": "added", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", - "isNullable": true, + "collation": "", + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "tool_version", + "oldName": "added", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 6, "foreignOptions": [], "isIdentity": false, @@ -12034,22 +11065,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_source", - "type": "varchar", - "length": 255, + "name": "removed", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", - "isNullable": true, + "collation": "", + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "data_source", + "oldName": "removed", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 7, "foreignOptions": [], "isIdentity": false, @@ -12064,17 +11095,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_collection_date", - "type": "timestamp", - "length": 0, + "name": "whitespace", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": true, + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "data_collection_date", + "oldName": "whitespace", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -12091,111 +11122,26 @@ "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false - } - ], - "indexes": [ - { - "objectType": "Index_PGSQL", - "name": "plat", - "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": true, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "plat", - "oid": 203791, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "platform", - "size": "16", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "pltfrm_id", - "collation": "", - "opClass": "int8_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "pltfrm_id", - "collationSchema": "" - } - ] - } - ], - "rules": [], - "primaryKey": { - "objectType": "PrimaryKey_PGSQL", - "name": "theplat", - "fields": [ - "pltfrm_id" - ], - "fillFactor": -1, - "indexTablespace": "", - "comment": "", - "isDeferrable": false, - "isDeferred": false, - "oldName": "theplat" - }, - "foreignKeys": [], - "uniques": [], - "checks": [], - "excludes": [], - "triggers": [], - "partitionKeys": [], - "partitions": [] - }, - { - "objectType": "TableNormal_PGSQL", - "name": "pull_request_analysis", - "comment": "", - "tablespace": "", - "isUnlogged": false, - "owner": "augur", - "inheritFromTables": [], - "hasOIDs": false, - "fillFactor": -1, - "oldName": "pull_request_analysis", - "oid": 190293, - "rows": 0, - "isInheritTables": false, - "cluster": "", - "ACL": "", - "isPartition": false, - "partitioningStrategy": "None", - "partitionOfSchema": "", - "partitionOfTable": "", - "partitionListValues": [], - "partitionRangeFromValues": [], - "partitionRangeToValues": [], - "foreignServer": "", - "foreignOptionDisplay": "", - "fields": [ + }, { "objectType": "TableField_PGSQL", - "name": "pull_request_analysis_id", + "name": "files", "type": "int8", "length": 64, "decimals": 0, "dimensions": 0, "collation": "", "isNullable": false, - "defaultType": "Others", - "defaultValue": "nextval('augur_data.pull_request_analysis_pull_request_analysis_id_seq'::regclass)", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "pull_request_analysis_id", + "oldName": "files", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 1, + "ordinalPosition": 9, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -12209,83 +11155,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "pull_request_id", + "name": "patches", "type": "int8", "length": 64, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "It would be better if the pull request worker is run first to fetch the latest PRs before analyzing", - "oldName": "pull_request_id", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 2, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "merge_probability", - "type": "numeric", - "length": 256, - "decimals": 250, - "dimensions": 0, - "collation": "", - "isNullable": true, + "isNullable": false, "defaultType": "None", "defaultValue": "", - "comment": "Indicates the probability of the PR being merged", - "oldName": "merge_probability", + "comment": "", + "oldName": "patches", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 3, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "mechanism", - "type": "varchar", - "length": 0, - "decimals": 0, - "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "the ML model used for prediction (It is XGBoost Classifier at present)", - "oldName": "mechanism", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 4, + "ordinalPosition": 10, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -12301,7 +11187,7 @@ "objectType": "TableField_PGSQL", "name": "tool_source", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", @@ -12315,7 +11201,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 5, + "ordinalPosition": 11, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -12331,7 +11217,7 @@ "objectType": "TableField_PGSQL", "name": "tool_version", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", @@ -12345,7 +11231,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 6, + "ordinalPosition": 12, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -12361,7 +11247,7 @@ "objectType": "TableField_PGSQL", "name": "data_source", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", @@ -12375,7 +11261,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 7, + "ordinalPosition": 13, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -12390,12 +11276,12 @@ { "objectType": "TableField_PGSQL", "name": "data_collection_date", - "type": "timestamptz", - "length": 6, + "type": "timestamp", + "length": 0, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": false, + "isNullable": true, "defaultType": "Others", "defaultValue": "CURRENT_TIMESTAMP", "comment": "", @@ -12405,7 +11291,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 8, + "ordinalPosition": 14, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -12421,7 +11307,7 @@ "indexes": [ { "objectType": "Index_PGSQL", - "name": "pr_anal_idx", + "name": "projects_id,affiliation_copy_2", "comment": "", "isClustered": false, "isConcurrently": false, @@ -12432,30 +11318,41 @@ "method": "BTree", "tableSpaceName": "", "constraint": "", - "oldName": "pr_anal_idx", - "oid": 203805, + "oldName": "projects_id,affiliation_copy_2", + "oid": 15486935, "owner": "augur", "brinPagesPerRange": -1, "ginPendingListLimit": -1, - "tableName": "pull_request_analysis", - "size": "8", + "tableName": "dm_repo_group_monthly", + "size": "1344", "fields": [ { "objectType": "IndexField_PGSQL", - "name": "pull_request_id", + "name": "repo_group_id", "collation": "", "opClass": "int8_ops", "opClassSchema": "pg_catalog", "order": "ASC", "nullSort": "NULLS LAST", - "oldName": "pull_request_id", + "oldName": "repo_group_id", "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "affiliation", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "affiliation", + "collationSchema": "pg_catalog" } ] }, { "objectType": "Index_PGSQL", - "name": "probability_idx", + "name": "projects_id,email_copy_2", "comment": "", "isClustered": false, "isConcurrently": false, @@ -12466,65 +11363,153 @@ "method": "BTree", "tableSpaceName": "", "constraint": "", - "oldName": "probability_idx", - "oid": 203822, + "oldName": "projects_id,email_copy_2", + "oid": 15486936, "owner": "augur", "brinPagesPerRange": -1, "ginPendingListLimit": -1, - "tableName": "pull_request_analysis", - "size": "8", + "tableName": "dm_repo_group_monthly", + "size": "1328", "fields": [ { "objectType": "IndexField_PGSQL", - "name": "merge_probability", + "name": "repo_group_id", "collation": "", - "opClass": "numeric_ops", + "opClass": "int8_ops", "opClassSchema": "pg_catalog", - "order": "DESC", + "order": "ASC", "nullSort": "NULLS LAST", - "oldName": "merge_probability", + "oldName": "repo_group_id", "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "email", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "email", + "collationSchema": "pg_catalog" } ] - } - ], - "rules": [], - "primaryKey": { - "objectType": "PrimaryKey_PGSQL", - "name": "pull_request_analysis_pkey", - "fields": [ - "pull_request_analysis_id" - ], - "fillFactor": -1, - "indexTablespace": "", - "comment": "", - "isDeferrable": false, - "isDeferred": false, - "oldName": "pull_request_analysis_pkey" - }, - "foreignKeys": [ + }, { - "objectType": "ForeignKey_PGSQL", - "name": "fk_pull_request_analysis_pull_requests_1", + "objectType": "Index_PGSQL", + "name": "projects_id,year,affiliation_copy_1", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "projects_id,year,affiliation_copy_1", + "oid": 15486937, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "dm_repo_group_monthly", + "size": "1304", "fields": [ - "pull_request_id" - ], - "referenceSchema": "augur_data", - "referenceTable": "pull_requests", - "referenceFields": [ - "pull_request_id" - ], - "onDelete": "CASCADE", - "onUpdate": "CASCADE", + { + "objectType": "IndexField_PGSQL", + "name": "repo_group_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "repo_group_id", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "year", + "collation": "", + "opClass": "int2_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "year", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "affiliation", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "affiliation", + "collationSchema": "pg_catalog" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "projects_id,year,email_copy_1", "comment": "", - "isMatchFull": false, - "isDeferrable": false, - "isDeferred": false, - "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "ZeroOrOneRelationship", - "oldName": "fk_pull_request_analysis_pull_requests_1" + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "projects_id,year,email_copy_1", + "oid": 15486938, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "dm_repo_group_monthly", + "size": "1240", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "repo_group_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "repo_group_id", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "year", + "collation": "", + "opClass": "int2_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "year", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "email", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "email", + "collationSchema": "pg_catalog" + } + ] } ], + "rules": [], + "foreignKeys": [], "uniques": [], "checks": [], "excludes": [], @@ -12534,17 +11519,17 @@ }, { "objectType": "TableNormal_PGSQL", - "name": "pull_request_files", - "comment": "Pull request commits are an enumeration of each commit associated with a pull request. \nNot all pull requests are from a branch or fork into master. \nThe commits table intends to count only commits that end up in the master branch (i.e., part of the deployed code base for a project).\nTherefore, there will be commit “SHA”’s in this table that are no associated with a commit SHA in the commits table. \nIn cases where the PR is to the master branch of a project, you will find a match. In cases where the PR does not involve the master branch, you will not find a corresponding commit SHA in the commits table. This is expected. ", + "name": "dm_repo_group_weekly", + "comment": "", "tablespace": "", "isUnlogged": false, "owner": "augur", "inheritFromTables": [], "hasOIDs": false, "fillFactor": -1, - "oldName": "pull_request_files", - "oid": 190683, - "rows": 0, + "oldName": "dm_repo_group_weekly", + "oid": 15486537, + "rows": 15640, "isInheritTables": false, "cluster": "", "ACL": "", @@ -12560,17 +11545,17 @@ "fields": [ { "objectType": "TableField_PGSQL", - "name": "pull_request_id", + "name": "repo_group_id", "type": "int8", "length": 64, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": true, + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pull_request_id", + "oldName": "repo_group_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -12590,22 +11575,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_file_id", - "type": "int8", - "length": 64, + "name": "email", + "type": "varchar", + "length": 128, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": false, - "defaultType": "Others", - "defaultValue": "nextval('augur_data.pull_request_files_pr_file_id_seq'::regclass)", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "pr_file_id", + "oldName": "email", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 2, "foreignOptions": [], "isIdentity": false, @@ -12620,22 +11605,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_file_additions", - "type": "int8", - "length": 64, + "name": "affiliation", + "type": "varchar", + "length": 128, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "'NULL'::character varying", "comment": "", - "oldName": "pr_file_additions", + "oldName": "affiliation", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 3, "foreignOptions": [], "isIdentity": false, @@ -12650,17 +11635,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_file_deletions", - "type": "int8", - "length": 64, + "name": "week", + "type": "int2", + "length": 16, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": true, + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_file_deletions", + "oldName": "week", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -12680,22 +11665,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_file_path", - "type": "varchar", - "length": 0, + "name": "year", + "type": "int2", + "length": 16, "decimals": 0, "dimensions": 0, - "collation": "default", - "isNullable": true, + "collation": "", + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_file_path", + "oldName": "year", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 5, "foreignOptions": [], "isIdentity": false, @@ -12710,22 +11695,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_source", - "type": "varchar", - "length": 0, + "name": "added", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", - "isNullable": true, + "collation": "", + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "tool_source", + "oldName": "added", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 6, "foreignOptions": [], "isIdentity": false, @@ -12740,22 +11725,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_version", - "type": "varchar", - "length": 0, + "name": "removed", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", - "isNullable": true, + "collation": "", + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "tool_version", + "oldName": "removed", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 7, "foreignOptions": [], "isIdentity": false, @@ -12770,22 +11755,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_source", - "type": "varchar", - "length": 0, + "name": "whitespace", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", - "isNullable": true, + "collation": "", + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "data_source", + "oldName": "whitespace", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 8, "foreignOptions": [], "isIdentity": false, @@ -12800,17 +11785,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_collection_date", - "type": "timestamp", - "length": 0, + "name": "files", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": true, - "defaultType": "Others", - "defaultValue": "CURRENT_TIMESTAMP", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "data_collection_date", + "oldName": "files", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -12827,98 +11812,26 @@ "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false - } - ], - "indexes": [], - "rules": [], - "primaryKey": { - "objectType": "PrimaryKey_PGSQL", - "name": "pull_request_files_pkey", - "fields": [ - "pr_file_id" - ], - "fillFactor": -1, - "indexTablespace": "", - "comment": "", - "isDeferrable": false, - "isDeferred": false, - "oldName": "pull_request_files_pkey" - }, - "foreignKeys": [ - { - "objectType": "ForeignKey_PGSQL", - "name": "fk_pull_request_commits_pull_requests_1", - "fields": [ - "pull_request_id" - ], - "referenceSchema": "augur_data", - "referenceTable": "pull_requests", - "referenceFields": [ - "pull_request_id" - ], - "onDelete": "CASCADE", - "onUpdate": "CASCADE", - "comment": "", - "isMatchFull": false, - "isDeferrable": false, - "isDeferred": false, - "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "ZeroOrOneRelationship", - "oldName": "fk_pull_request_commits_pull_requests_1" - } - ], - "uniques": [], - "checks": [], - "excludes": [], - "triggers": [], - "partitionKeys": [], - "partitions": [] - }, - { - "objectType": "TableNormal_PGSQL", - "name": "pull_request_labels", - "comment": "", - "tablespace": "", - "isUnlogged": false, - "owner": "augur", - "inheritFromTables": [], - "hasOIDs": false, - "fillFactor": -1, - "oldName": "pull_request_labels", - "oid": 190754, - "rows": 0, - "isInheritTables": false, - "cluster": "", - "ACL": "", - "isPartition": false, - "partitioningStrategy": "None", - "partitionOfSchema": "", - "partitionOfTable": "", - "partitionListValues": [], - "partitionRangeFromValues": [], - "partitionRangeToValues": [], - "foreignServer": "", - "foreignOptionDisplay": "", - "fields": [ + }, { "objectType": "TableField_PGSQL", - "name": "pr_label_id", + "name": "patches", "type": "int8", "length": 64, "decimals": 0, "dimensions": 0, "collation": "", "isNullable": false, - "defaultType": "Others", - "defaultValue": "nextval('augur_data.pull_request_labels_pr_label_id_seq'::regclass)", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "pr_label_id", + "oldName": "patches", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 1, + "ordinalPosition": 10, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -12932,23 +11845,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "pull_request_id", - "type": "int8", - "length": 64, + "name": "tool_source", + "type": "varchar", + "length": 255, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pull_request_id", + "oldName": "tool_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 2, + "collationSchema": "pg_catalog", + "ordinalPosition": 11, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -12962,23 +11875,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_src_id", - "type": "int8", - "length": 64, + "name": "tool_version", + "type": "varchar", + "length": 255, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_src_id", + "oldName": "tool_version", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 3, + "collationSchema": "pg_catalog", + "ordinalPosition": 12, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -12992,9 +11905,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_src_node_id", + "name": "data_source", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", @@ -13002,13 +11915,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_src_node_id", + "oldName": "data_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 4, + "ordinalPosition": 13, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -13022,23 +11935,293 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_src_url", - "type": "varchar", + "name": "data_collection_date", + "type": "timestamp", "length": 0, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", + "comment": "", + "oldName": "data_collection_date", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 14, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [ + { + "objectType": "Index_PGSQL", + "name": "projects_id,affiliation", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "projects_id,affiliation", + "oid": 15486939, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "dm_repo_group_weekly", + "size": "2536", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "repo_group_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "repo_group_id", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "affiliation", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "affiliation", + "collationSchema": "pg_catalog" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "projects_id,email", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "projects_id,email", + "oid": 15486940, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "dm_repo_group_weekly", + "size": "2424", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "repo_group_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "repo_group_id", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "email", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "email", + "collationSchema": "pg_catalog" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "projects_id,year,affiliation", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "projects_id,year,affiliation", + "oid": 15486941, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "dm_repo_group_weekly", + "size": "2224", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "repo_group_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "repo_group_id", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "year", + "collation": "", + "opClass": "int2_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "year", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "affiliation", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "affiliation", + "collationSchema": "pg_catalog" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "projects_id,year,email", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "projects_id,year,email", + "oid": 15486942, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "dm_repo_group_weekly", + "size": "2152", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "repo_group_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "repo_group_id", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "year", + "collation": "", + "opClass": "int2_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "year", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "email", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "email", + "collationSchema": "pg_catalog" + } + ] + } + ], + "rules": [], + "foreignKeys": [], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "dm_repo_monthly", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "dm_repo_monthly", + "oid": 15486545, + "rows": 9339, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "repo_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_src_url", + "oldName": "repo_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 5, + "collationSchema": "", + "ordinalPosition": 1, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -13052,23 +12235,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_src_description", + "name": "email", "type": "varchar", - "length": 0, + "length": 128, "decimals": 0, "dimensions": 0, "collation": "default", - "isNullable": true, + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_src_description", + "oldName": "email", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 6, + "ordinalPosition": 2, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -13082,23 +12265,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_src_color", + "name": "affiliation", "type": "varchar", - "length": 0, + "length": 128, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "'NULL'::character varying", "comment": "", - "oldName": "pr_src_color", + "oldName": "affiliation", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 7, + "ordinalPosition": 3, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -13112,23 +12295,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_src_default_bool", - "type": "bool", - "length": 0, + "name": "month", + "type": "int2", + "length": 16, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": true, + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_src_default_bool", + "oldName": "month", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 8, + "ordinalPosition": 4, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -13142,23 +12325,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_source", - "type": "varchar", - "length": 255, + "name": "year", + "type": "int2", + "length": 16, "decimals": 0, "dimensions": 0, - "collation": "default", - "isNullable": true, + "collation": "", + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "tool_source", + "oldName": "year", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 9, + "collationSchema": "", + "ordinalPosition": 5, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -13172,23 +12355,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_version", - "type": "varchar", - "length": 255, + "name": "added", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", - "isNullable": true, + "collation": "", + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "tool_version", + "oldName": "added", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 10, + "collationSchema": "", + "ordinalPosition": 6, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -13202,23 +12385,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_source", - "type": "varchar", - "length": 255, + "name": "removed", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", - "isNullable": true, + "collation": "", + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "data_source", + "oldName": "removed", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 11, + "collationSchema": "", + "ordinalPosition": 7, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -13232,155 +12415,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_collection_date", - "type": "timestamp", - "length": 0, + "name": "whitespace", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": true, - "defaultType": "Others", - "defaultValue": "CURRENT_TIMESTAMP", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "data_collection_date", + "oldName": "whitespace", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 12, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - } - ], - "indexes": [], - "rules": [], - "primaryKey": { - "objectType": "PrimaryKey_PGSQL", - "name": "pull_request_labels_pkey", - "fields": [ - "pr_label_id" - ], - "fillFactor": -1, - "indexTablespace": "", - "comment": "", - "isDeferrable": false, - "isDeferred": false, - "oldName": "pull_request_labels_pkey" - }, - "foreignKeys": [ - { - "objectType": "ForeignKey_PGSQL", - "name": "fk_pull_request_labels_pull_requests_1", - "fields": [ - "pull_request_id" - ], - "referenceSchema": "augur_data", - "referenceTable": "pull_requests", - "referenceFields": [ - "pull_request_id" - ], - "onDelete": "CASCADE", - "onUpdate": "CASCADE", - "comment": "", - "isMatchFull": false, - "isDeferrable": false, - "isDeferred": false, - "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "ZeroOrOneRelationship", - "oldName": "fk_pull_request_labels_pull_requests_1" - } - ], - "uniques": [], - "checks": [], - "excludes": [], - "triggers": [], - "partitionKeys": [], - "partitions": [] - }, - { - "objectType": "TableNormal_PGSQL", - "name": "pull_request_message_ref", - "comment": "", - "tablespace": "", - "isUnlogged": false, - "owner": "augur", - "inheritFromTables": [], - "hasOIDs": false, - "fillFactor": -1, - "oldName": "pull_request_message_ref", - "oid": 190820, - "rows": 0, - "isInheritTables": false, - "cluster": "", - "ACL": "", - "isPartition": false, - "partitioningStrategy": "None", - "partitionOfSchema": "", - "partitionOfTable": "", - "partitionListValues": [], - "partitionRangeFromValues": [], - "partitionRangeToValues": [], - "foreignServer": "", - "foreignOptionDisplay": "", - "fields": [ - { - "objectType": "TableField_PGSQL", - "name": "pr_msg_ref_id", - "type": "int8", - "length": 64, - "decimals": 0, - "dimensions": 0, - "collation": "", - "isNullable": false, - "defaultType": "Others", - "defaultValue": "nextval('augur_data.pull_request_message_ref_pr_msg_ref_id_seq'::regclass)", - "comment": "", - "oldName": "pr_msg_ref_id", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 1, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "pull_request_id", - "type": "int8", - "length": 64, - "decimals": 0, - "dimensions": 0, - "collation": "", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "pull_request_id", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 2, + "ordinalPosition": 8, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -13394,23 +12445,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "msg_id", + "name": "files", "type": "int8", "length": 64, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": true, + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "msg_id", + "oldName": "files", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 3, + "ordinalPosition": 9, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -13424,53 +12475,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_message_ref_src_comment_id", + "name": "patches", "type": "int8", "length": 64, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": true, + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_message_ref_src_comment_id", + "oldName": "patches", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 4, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "pr_message_ref_src_node_id", - "type": "varchar", - "length": 0, - "decimals": 0, - "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "pr_message_ref_src_node_id", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 5, + "ordinalPosition": 10, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -13500,7 +12521,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 6, + "ordinalPosition": 11, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -13530,7 +12551,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 7, + "ordinalPosition": 12, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -13560,7 +12581,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 8, + "ordinalPosition": 13, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -13590,7 +12611,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 9, + "ordinalPosition": 14, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -13603,65 +12624,212 @@ "isIdentityCycle": false } ], - "indexes": [], - "rules": [], - "primaryKey": { - "objectType": "PrimaryKey_PGSQL", - "name": "pull_request_message_ref_pkey", - "fields": [ - "pr_msg_ref_id" - ], - "fillFactor": -1, - "indexTablespace": "", - "comment": "", - "isDeferrable": false, - "isDeferred": false, - "oldName": "pull_request_message_ref_pkey" - }, - "foreignKeys": [ + "indexes": [ { - "objectType": "ForeignKey_PGSQL", - "name": "fk_pull_request_message_ref_message_1", + "objectType": "Index_PGSQL", + "name": "repo_id,affiliation_copy_2", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "repo_id,affiliation_copy_2", + "oid": 15486943, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "dm_repo_monthly", + "size": "1344", "fields": [ - "msg_id" - ], - "referenceSchema": "augur_data", - "referenceTable": "message", - "referenceFields": [ - "msg_id" - ], - "onDelete": "CASCADE", - "onUpdate": "CASCADE", + { + "objectType": "IndexField_PGSQL", + "name": "repo_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "repo_id", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "affiliation", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "affiliation", + "collationSchema": "pg_catalog" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "repo_id,email_copy_2", "comment": "", - "isMatchFull": false, - "isDeferrable": false, - "isDeferred": false, - "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "ZeroOrOneRelationship", - "oldName": "fk_pull_request_message_ref_message_1" + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "repo_id,email_copy_2", + "oid": 15486944, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "dm_repo_monthly", + "size": "1328", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "repo_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "repo_id", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "email", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "email", + "collationSchema": "pg_catalog" + } + ] }, { - "objectType": "ForeignKey_PGSQL", - "name": "fk_pull_request_message_ref_pull_requests_1", + "objectType": "Index_PGSQL", + "name": "repo_id,year,affiliation_copy_1", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "repo_id,year,affiliation_copy_1", + "oid": 15486945, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "dm_repo_monthly", + "size": "1304", "fields": [ - "pull_request_id" - ], - "referenceSchema": "augur_data", - "referenceTable": "pull_requests", - "referenceFields": [ - "pull_request_id" - ], - "onDelete": "CASCADE", - "onUpdate": "CASCADE", + { + "objectType": "IndexField_PGSQL", + "name": "repo_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "repo_id", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "year", + "collation": "", + "opClass": "int2_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "year", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "affiliation", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "affiliation", + "collationSchema": "pg_catalog" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "repo_id,year,email_copy_1", "comment": "", - "isMatchFull": false, - "isDeferrable": false, - "isDeferred": false, - "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "ZeroOrOneRelationship", - "oldName": "fk_pull_request_message_ref_pull_requests_1" + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "repo_id,year,email_copy_1", + "oid": 15486946, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "dm_repo_monthly", + "size": "1240", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "repo_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "repo_id", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "year", + "collation": "", + "opClass": "int2_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "year", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "email", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "email", + "collationSchema": "pg_catalog" + } + ] } ], + "rules": [], + "foreignKeys": [], "uniques": [], "checks": [], "excludes": [], @@ -13671,7 +12839,7 @@ }, { "objectType": "TableNormal_PGSQL", - "name": "pull_request_review_message_ref", + "name": "dm_repo_weekly", "comment": "", "tablespace": "", "isUnlogged": false, @@ -13679,9 +12847,9 @@ "inheritFromTables": [], "hasOIDs": false, "fillFactor": -1, - "oldName": "pull_request_review_message_ref", - "oid": 191077, - "rows": 0, + "oldName": "dm_repo_weekly", + "oid": 15486553, + "rows": 15640, "isInheritTables": false, "cluster": "", "ACL": "", @@ -13697,17 +12865,17 @@ "fields": [ { "objectType": "TableField_PGSQL", - "name": "pr_review_msg_ref_id", + "name": "repo_id", "type": "int8", "length": 64, "decimals": 0, "dimensions": 0, "collation": "", "isNullable": false, - "defaultType": "Others", - "defaultValue": "nextval('augur_data.pull_request_review_message_ref_pr_review_msg_ref_id_seq'::regclass)", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "pr_review_msg_ref_id", + "oldName": "repo_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -13727,22 +12895,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_review_id", - "type": "int8", - "length": 64, + "name": "email", + "type": "varchar", + "length": 128, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_review_id", + "oldName": "email", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 2, "foreignOptions": [], "isIdentity": false, @@ -13757,22 +12925,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "msg_id", - "type": "int8", - "length": 64, + "name": "affiliation", + "type": "varchar", + "length": 128, "decimals": 0, "dimensions": 0, - "collation": "", - "isNullable": false, - "defaultType": "None", - "defaultValue": "", + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "'NULL'::character varying", "comment": "", - "oldName": "msg_id", + "oldName": "affiliation", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 3, "foreignOptions": [], "isIdentity": false, @@ -13787,22 +12955,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_review_msg_url", - "type": "varchar", - "length": 0, + "name": "week", + "type": "int2", + "length": 16, "decimals": 0, "dimensions": 0, - "collation": "default", - "isNullable": true, + "collation": "", + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_review_msg_url", + "oldName": "week", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 4, "foreignOptions": [], "isIdentity": false, @@ -13817,17 +12985,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_review_src_id", - "type": "int8", - "length": 64, + "name": "year", + "type": "int2", + "length": 16, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": true, + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_review_src_id", + "oldName": "year", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -13847,17 +13015,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_review_msg_src_id", + "name": "added", "type": "int8", "length": 64, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": true, + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_review_msg_src_id", + "oldName": "added", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -13877,22 +13045,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_review_msg_node_id", - "type": "varchar", - "length": 0, + "name": "removed", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", - "isNullable": true, + "collation": "", + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_review_msg_node_id", + "oldName": "removed", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 7, "foreignOptions": [], "isIdentity": false, @@ -13907,22 +13075,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_review_msg_diff_hunk", - "type": "varchar", - "length": 0, + "name": "whitespace", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", - "isNullable": true, + "collation": "", + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_review_msg_diff_hunk", + "oldName": "whitespace", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 8, "foreignOptions": [], "isIdentity": false, @@ -13937,22 +13105,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_review_msg_path", - "type": "varchar", - "length": 0, + "name": "files", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", - "isNullable": true, + "collation": "", + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_review_msg_path", + "oldName": "files", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 9, "foreignOptions": [], "isIdentity": false, @@ -13967,22 +13135,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_review_msg_position", - "type": "varchar", - "length": 0, + "name": "patches", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", - "isNullable": true, + "collation": "", + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_review_msg_position", + "oldName": "patches", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 10, "foreignOptions": [], "isIdentity": false, @@ -13997,9 +13165,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_review_msg_original_position", + "name": "tool_source", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", @@ -14007,7 +13175,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_review_msg_original_position", + "oldName": "tool_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -14027,9 +13195,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_review_msg_commit_id", + "name": "tool_version", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", @@ -14037,7 +13205,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_review_msg_commit_id", + "oldName": "tool_version", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -14057,9 +13225,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_review_msg_original_commit_id", + "name": "data_source", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", @@ -14067,7 +13235,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_review_msg_original_commit_id", + "oldName": "data_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -14087,17 +13255,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_review_msg_updated_at", + "name": "data_collection_date", "type": "timestamp", - "length": 6, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "", "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", "comment": "", - "oldName": "pr_review_msg_updated_at", + "oldName": "data_collection_date", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -14114,26 +13282,266 @@ "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false + } + ], + "indexes": [ + { + "objectType": "Index_PGSQL", + "name": "repo_id,affiliation", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "repo_id,affiliation", + "oid": 15486947, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "dm_repo_weekly", + "size": "2536", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "repo_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "repo_id", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "affiliation", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "affiliation", + "collationSchema": "pg_catalog" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "repo_id,email", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "repo_id,email", + "oid": 15486948, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "dm_repo_weekly", + "size": "2424", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "repo_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "repo_id", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "email", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "email", + "collationSchema": "pg_catalog" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "repo_id,year,affiliation", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "repo_id,year,affiliation", + "oid": 15486949, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "dm_repo_weekly", + "size": "2224", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "repo_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "repo_id", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "year", + "collation": "", + "opClass": "int2_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "year", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "affiliation", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "affiliation", + "collationSchema": "pg_catalog" + } + ] }, + { + "objectType": "Index_PGSQL", + "name": "repo_id,year,email", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "repo_id,year,email", + "oid": 15486950, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "dm_repo_weekly", + "size": "2152", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "repo_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "repo_id", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "year", + "collation": "", + "opClass": "int2_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "year", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "email", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "email", + "collationSchema": "pg_catalog" + } + ] + } + ], + "rules": [], + "foreignKeys": [], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "exclude", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "exclude", + "oid": 15486561, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ { "objectType": "TableField_PGSQL", - "name": "pr_review_msg_html_url", - "type": "varchar", - "length": 0, + "name": "id", + "type": "int4", + "length": 32, "decimals": 0, "dimensions": 0, - "collation": "default", - "isNullable": true, + "collation": "", + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_review_msg_html_url", + "oldName": "id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 15, + "collationSchema": "", + "ordinalPosition": 1, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -14147,23 +13555,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_url", - "type": "varchar", - "length": 0, + "name": "projects_id", + "type": "int4", + "length": 32, "decimals": 0, "dimensions": 0, - "collation": "default", - "isNullable": true, + "collation": "", + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_url", + "oldName": "projects_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 16, + "collationSchema": "", + "ordinalPosition": 2, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -14177,23 +13585,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_review_msg_author_association", + "name": "email", "type": "varchar", - "length": 0, + "length": 128, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "'NULL'::character varying", "comment": "", - "oldName": "pr_review_msg_author_association", + "oldName": "email", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 17, + "ordinalPosition": 3, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -14207,23 +13615,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_review_msg_start_line", + "name": "domain", "type": "varchar", - "length": 0, + "length": 128, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "'NULL'::character varying", "comment": "", - "oldName": "pr_review_msg_start_line", + "oldName": "domain", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 18, + "ordinalPosition": 4, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -14234,26 +13642,76 @@ "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false - }, + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "exclude_pkey", + "fields": [ + "id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "exclude_pkey" + }, + "foreignKeys": [], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "issue_assignees", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "issue_assignees", + "oid": 15486566, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ { "objectType": "TableField_PGSQL", - "name": "pr_review_msg_original_start_line", - "type": "varchar", - "length": 0, + "name": "issue_assignee_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_data.issue_assignees_issue_assignee_id_seq'::regclass)", "comment": "", - "oldName": "pr_review_msg_original_start_line", + "oldName": "issue_assignee_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 19, + "collationSchema": "", + "ordinalPosition": 1, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -14267,23 +13725,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_review_msg_start_side", - "type": "varchar", - "length": 0, + "name": "issue_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_review_msg_start_side", + "oldName": "issue_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 20, + "collationSchema": "", + "ordinalPosition": 2, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -14297,23 +13755,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_review_msg_line", - "type": "varchar", - "length": 0, + "name": "cntrb_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_review_msg_line", + "oldName": "cntrb_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 21, + "collationSchema": "", + "ordinalPosition": 3, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -14327,7 +13785,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_review_msg_original_line", + "name": "tool_source", "type": "varchar", "length": 0, "decimals": 0, @@ -14337,13 +13795,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_review_msg_original_line", + "oldName": "tool_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 22, + "ordinalPosition": 4, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -14357,7 +13815,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_review_msg_side", + "name": "tool_version", "type": "varchar", "length": 0, "decimals": 0, @@ -14367,13 +13825,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_review_msg_side", + "oldName": "tool_version", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 23, + "ordinalPosition": 5, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -14387,7 +13845,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_source", + "name": "data_source", "type": "varchar", "length": 0, "decimals": 0, @@ -14397,13 +13855,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "tool_source", + "oldName": "data_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 24, + "ordinalPosition": 6, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -14417,23 +13875,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_version", - "type": "varchar", + "name": "data_collection_date", + "type": "timestamp", "length": 0, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", "comment": "", - "oldName": "tool_version", + "oldName": "data_collection_date", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 25, + "collationSchema": "", + "ordinalPosition": 7, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -14447,23 +13905,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_source", - "type": "varchar", - "length": 0, + "name": "issue_assignee_src_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "", - "oldName": "data_source", + "comment": "This ID comes from the source. In the case of GitHub, it is the id that is the first field returned from the issue events API in the issue_assignees embedded JSON object. We may discover it is an ID for the person themselves; but my hypothesis is that its not.", + "oldName": "issue_assignee_src_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 26, + "collationSchema": "", + "ordinalPosition": 8, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -14477,24 +13935,24 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_collection_date", - "type": "timestamp", + "name": "issue_assignee_src_node", + "type": "varchar", "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, - "defaultType": "Others", - "defaultValue": "CURRENT_TIMESTAMP", - "comment": "", - "oldName": "data_collection_date", + "defaultType": "None", + "defaultValue": "", + "comment": "This character based identifier comes from the source. In the case of GitHub, it is the id that is the second field returned from the issue events API in the issue_assignees embedded JSON object. We may discover it is an ID for the person themselves; but my hypothesis is that its not.", + "oldName": "issue_assignee_src_node", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 27, - "foreignOptions": [], + "collationSchema": "pg_catalog", + "ordinalPosition": 9, + "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", "identityStart": 0, @@ -14506,32 +13964,67 @@ "isIdentityCycle": false } ], - "indexes": [], + "indexes": [ + { + "objectType": "Index_PGSQL", + "name": "issue-cntrb-assign-idx-1", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "issue-cntrb-assign-idx-1", + "oid": 15488149, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "issue_assignees", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "cntrb_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cntrb_id", + "collationSchema": "" + } + ] + } + ], "rules": [], "primaryKey": { "objectType": "PrimaryKey_PGSQL", - "name": "pr_review_msg_ref_id", + "name": "issue_assignees_pkey", "fields": [ - "pr_review_msg_ref_id" + "issue_assignee_id" ], "fillFactor": -1, "indexTablespace": "", "comment": "", "isDeferrable": false, "isDeferred": false, - "oldName": "pr_review_msg_ref_id" + "oldName": "issue_assignees_pkey" }, "foreignKeys": [ { "objectType": "ForeignKey_PGSQL", - "name": "fk_pull_request_review_message_ref_message_1", + "name": "fk_issue_assignees_contributors_1", "fields": [ - "msg_id" + "cntrb_id" ], "referenceSchema": "augur_data", - "referenceTable": "message", + "referenceTable": "contributors", "referenceFields": [ - "msg_id" + "cntrb_id" ], "onDelete": "NO ACTION", "onUpdate": "NO ACTION", @@ -14540,29 +14033,29 @@ "isDeferrable": false, "isDeferred": false, "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "OneAndOnlyOneRelationship", - "oldName": "fk_pull_request_review_message_ref_message_1" + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_issue_assignees_contributors_1" }, { "objectType": "ForeignKey_PGSQL", - "name": "fk_pull_request_review_message_ref_pull_request_reviews_1", + "name": "fk_issue_assignees_issues_1", "fields": [ - "pr_review_id" + "issue_id" ], "referenceSchema": "augur_data", - "referenceTable": "pull_request_reviews", + "referenceTable": "issues", "referenceFields": [ - "pr_review_id" + "issue_id" ], - "onDelete": "CASCADE", - "onUpdate": "CASCADE", + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", "comment": "", "isMatchFull": false, "isDeferrable": false, "isDeferred": false, "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "OneAndOnlyOneRelationship", - "oldName": "fk_pull_request_review_message_ref_pull_request_reviews_1" + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_issue_assignees_issues_1" } ], "uniques": [], @@ -14574,7 +14067,7 @@ }, { "objectType": "TableNormal_PGSQL", - "name": "pull_request_teams", + "name": "issue_events", "comment": "", "tablespace": "", "isUnlogged": false, @@ -14582,8 +14075,8 @@ "inheritFromTables": [], "hasOIDs": false, "fillFactor": -1, - "oldName": "pull_request_teams", - "oid": 191424, + "oldName": "issue_events", + "oid": 15486574, "rows": 0, "isInheritTables": false, "cluster": "", @@ -14600,7 +14093,7 @@ "fields": [ { "objectType": "TableField_PGSQL", - "name": "pr_team_id", + "name": "event_id", "type": "int8", "length": 64, "decimals": 0, @@ -14608,9 +14101,9 @@ "collation": "", "isNullable": false, "defaultType": "Others", - "defaultValue": "nextval('augur_data.pull_request_teams_pr_team_id_seq'::regclass)", + "defaultValue": "nextval('augur_data.issue_events_event_id_seq'::regclass)", "comment": "", - "oldName": "pr_team_id", + "oldName": "event_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -14630,17 +14123,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "pull_request_id", + "name": "issue_id", "type": "int8", "length": 64, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": true, + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pull_request_id", + "oldName": "issue_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -14660,17 +14153,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_src_team_id", + "name": "cntrb_id", "type": "int8", "length": 64, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": true, + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_src_team_id", + "oldName": "cntrb_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -14690,17 +14183,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_src_team_node", + "name": "action", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", - "isNullable": true, + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_src_team_node", + "oldName": "action", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -14720,7 +14213,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_src_team_url", + "name": "action_commit_hash", "type": "varchar", "length": 0, "decimals": 0, @@ -14730,7 +14223,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_src_team_url", + "oldName": "action_commit_hash", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -14750,22 +14243,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_team_name", - "type": "varchar", + "name": "created_at", + "type": "timestamp", "length": 0, "decimals": 0, "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", "comment": "", - "oldName": "pr_team_name", + "oldName": "created_at", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 6, "foreignOptions": [], "isIdentity": false, @@ -14780,7 +14273,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_team_slug", + "name": "node_id", "type": "varchar", "length": 0, "decimals": 0, @@ -14789,8 +14282,8 @@ "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "", - "oldName": "pr_team_slug", + "comment": "This should be renamed to issue_event_src_node_id, as its the varchar identifier in GitHub and likely common in other sources as well. However, since it was created before we came to this naming standard and workers are built around it, we have it simply named as node_id. Anywhere you see node_id in the schema, it comes from GitHubs terminology.", + "oldName": "node_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -14810,7 +14303,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_team_description", + "name": "node_url", "type": "varchar", "length": 0, "decimals": 0, @@ -14820,7 +14313,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_team_description", + "oldName": "node_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -14835,14 +14328,14 @@ "identityMinimum": 0, "hasNoIdentityMinValue": false, "identityMaximum": 0, - "hasNoIdentityMaxValue": false, + "hasNoIdentityMaxValue": 0, "isIdentityCycle": false }, { "objectType": "TableField_PGSQL", - "name": "pr_team_privacy", + "name": "tool_source", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", @@ -14850,7 +14343,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_team_privacy", + "oldName": "tool_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -14870,9 +14363,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_team_permission", + "name": "tool_version", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", @@ -14880,7 +14373,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_team_permission", + "oldName": "tool_version", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -14900,9 +14393,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_team_src_members_url", + "name": "data_source", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", @@ -14910,7 +14403,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_team_src_members_url", + "oldName": "data_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -14930,22 +14423,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_team_src_repositories_url", - "type": "varchar", + "name": "data_collection_date", + "type": "timestamp", "length": 0, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", "comment": "", - "oldName": "pr_team_src_repositories_url", + "oldName": "data_collection_date", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 12, "foreignOptions": [], "isIdentity": false, @@ -14960,7 +14453,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_team_parent_id", + "name": "issue_event_src_id", "type": "int8", "length": 64, "decimals": 0, @@ -14969,8 +14462,8 @@ "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "", - "oldName": "pr_team_parent_id", + "comment": "This ID comes from the source. In the case of GitHub, it is the id that is the first field returned from the issue events API", + "oldName": "issue_event_src_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -14987,164 +14480,168 @@ "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "tool_source", - "type": "varchar", - "length": 255, - "decimals": 0, - "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "tool_source", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 14, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, + } + ], + "indexes": [ { - "objectType": "TableField_PGSQL", - "name": "tool_version", - "type": "varchar", - "length": 255, - "decimals": 0, - "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "objectType": "Index_PGSQL", + "name": "issue-cntrb-idx2", "comment": "", - "oldName": "tool_version", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 15, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "issue-cntrb-idx2", + "oid": 15488151, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "issue_events", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "issue_event_src_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "issue_event_src_id", + "collationSchema": "" + } + ] }, { - "objectType": "TableField_PGSQL", - "name": "data_source", - "type": "varchar", - "length": 255, - "decimals": 0, - "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "objectType": "Index_PGSQL", + "name": "issue_events_ibfk_1", "comment": "", - "oldName": "data_source", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 16, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "issue_events_ibfk_1", + "oid": 15486955, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "issue_events", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "issue_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "issue_id", + "collationSchema": "" + } + ] }, { - "objectType": "TableField_PGSQL", - "name": "data_collection_date", - "type": "timestamp", - "length": 0, - "decimals": 0, - "dimensions": 0, - "collation": "", - "isNullable": true, - "defaultType": "Others", - "defaultValue": "CURRENT_TIMESTAMP", + "objectType": "Index_PGSQL", + "name": "issue_events_ibfk_2", "comment": "", - "oldName": "data_collection_date", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 17, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "issue_events_ibfk_2", + "oid": 15486956, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "issue_events", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "cntrb_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cntrb_id", + "collationSchema": "" + } + ] } ], - "indexes": [], "rules": [], "primaryKey": { "objectType": "PrimaryKey_PGSQL", - "name": "pull_request_teams_pkey", + "name": "issue_events_pkey", "fields": [ - "pr_team_id" + "event_id" ], "fillFactor": -1, "indexTablespace": "", "comment": "", "isDeferrable": false, "isDeferred": false, - "oldName": "pull_request_teams_pkey" + "oldName": "issue_events_pkey" }, "foreignKeys": [ { "objectType": "ForeignKey_PGSQL", - "name": "fk_pull_request_teams_pull_requests_1", + "name": "fk_issue_events_contributors_1", "fields": [ - "pull_request_id" + "cntrb_id" ], "referenceSchema": "augur_data", - "referenceTable": "pull_requests", + "referenceTable": "contributors", "referenceFields": [ - "pull_request_id" + "cntrb_id" ], - "onDelete": "CASCADE", - "onUpdate": "CASCADE", + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", "comment": "", "isMatchFull": false, "isDeferrable": false, "isDeferred": false, "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "ZeroOrOneRelationship", - "oldName": "fk_pull_request_teams_pull_requests_1" + "targetCardinality": "OneAndOnlyOneRelationship", + "oldName": "fk_issue_events_contributors_1" + }, + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_issue_events_issues_1", + "fields": [ + "issue_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "issues", + "referenceFields": [ + "issue_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "OneAndOnlyOneRelationship", + "oldName": "fk_issue_events_issues_1" } ], "uniques": [], @@ -15156,7 +14653,7 @@ }, { "objectType": "TableNormal_PGSQL", - "name": "repo_cluster_messages", + "name": "issue_labels", "comment": "", "tablespace": "", "isUnlogged": false, @@ -15164,8 +14661,8 @@ "inheritFromTables": [], "hasOIDs": false, "fillFactor": -1, - "oldName": "repo_cluster_messages", - "oid": 192186, + "oldName": "issue_labels", + "oid": 15486583, "rows": 0, "isInheritTables": false, "cluster": "", @@ -15182,7 +14679,7 @@ "fields": [ { "objectType": "TableField_PGSQL", - "name": "msg_cluster_id", + "name": "issue_label_id", "type": "int8", "length": 64, "decimals": 0, @@ -15190,9 +14687,9 @@ "collation": "", "isNullable": false, "defaultType": "Others", - "defaultValue": "nextval('augur_data.repo_cluster_messages_msg_cluster_id_seq'::regclass)", + "defaultValue": "nextval('augur_data.issue_labels_issue_label_id_seq'::regclass)", "comment": "", - "oldName": "msg_cluster_id", + "oldName": "issue_label_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -15212,7 +14709,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "repo_id", + "name": "issue_id", "type": "int8", "length": 64, "decimals": 0, @@ -15222,7 +14719,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "repo_id", + "oldName": "issue_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -15242,22 +14739,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "cluster_content", - "type": "int4", - "length": 32, + "name": "label_text", + "type": "varchar", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "cluster_content", + "oldName": "label_text", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 3, "foreignOptions": [], "isIdentity": false, @@ -15272,22 +14769,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "cluster_mechanism", - "type": "int4", - "length": 32, + "name": "label_description", + "type": "varchar", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "cluster_mechanism", + "oldName": "label_description", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 4, "foreignOptions": [], "isIdentity": false, @@ -15302,7 +14799,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_source", + "name": "label_color", "type": "varchar", "length": 0, "decimals": 0, @@ -15312,7 +14809,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "tool_source", + "oldName": "label_color", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -15330,11 +14827,41 @@ "hasNoIdentityMaxValue": false, "isIdentityCycle": false }, + { + "objectType": "TableField_PGSQL", + "name": "tool_source", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 6, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, { "objectType": "TableField_PGSQL", "name": "tool_version", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", @@ -15348,7 +14875,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 6, + "ordinalPosition": 7, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -15364,7 +14891,7 @@ "objectType": "TableField_PGSQL", "name": "data_source", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", @@ -15378,7 +14905,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 7, + "ordinalPosition": 8, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -15408,7 +14935,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 8, + "ordinalPosition": 9, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -15419,34 +14946,94 @@ "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false - } - ], - "indexes": [], - "rules": [], - "primaryKey": { - "objectType": "PrimaryKey_PGSQL", - "name": "repo_cluster_messages_pkey", - "fields": [ - "msg_cluster_id" + }, + { + "objectType": "TableField_PGSQL", + "name": "label_src_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "This character based identifier (node) comes from the source. In the case of GitHub, it is the id that is the second field returned from the issue events API JSON subsection for issues.", + "oldName": "label_src_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 10, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "label_src_node_id", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "label_src_node_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 11, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "issue_labels_pkey", + "fields": [ + "issue_label_id" ], "fillFactor": -1, "indexTablespace": "", "comment": "", "isDeferrable": false, "isDeferred": false, - "oldName": "repo_cluster_messages_pkey" + "oldName": "issue_labels_pkey" }, "foreignKeys": [ { "objectType": "ForeignKey_PGSQL", - "name": "fk_repo_cluster_messages_repo_1", + "name": "fk_issue_labels_issues_1", "fields": [ - "repo_id" + "issue_id" ], "referenceSchema": "augur_data", - "referenceTable": "repo", + "referenceTable": "issues", "referenceFields": [ - "repo_id" + "issue_id" ], "onDelete": "NO ACTION", "onUpdate": "NO ACTION", @@ -15456,7 +15043,7 @@ "isDeferred": false, "sourceCardinality": "ZeroOrManyRelationship", "targetCardinality": "ZeroOrOneRelationship", - "oldName": "fk_repo_cluster_messages_repo_1" + "oldName": "fk_issue_labels_issues_1" } ], "uniques": [], @@ -15468,16 +15055,16 @@ }, { "objectType": "TableNormal_PGSQL", - "name": "repo_dependencies", - "comment": "Contains the dependencies for a repo.", + "name": "issue_message_ref", + "comment": "", "tablespace": "", "isUnlogged": false, "owner": "augur", "inheritFromTables": [], "hasOIDs": false, "fillFactor": -1, - "oldName": "repo_dependencies", - "oid": 19043821, + "oldName": "issue_message_ref", + "oid": 15486591, "rows": 0, "isInheritTables": false, "cluster": "", @@ -15494,7 +15081,7 @@ "fields": [ { "objectType": "TableField_PGSQL", - "name": "repo_dependencies_id", + "name": "issue_msg_ref_id", "type": "int8", "length": 64, "decimals": 0, @@ -15502,9 +15089,9 @@ "collation": "", "isNullable": false, "defaultType": "Others", - "defaultValue": "nextval('augur_data.repo_dependencies_repo_dependencies_id_seq'::regclass)", + "defaultValue": "nextval('augur_data.issue_message_ref_issue_msg_ref_id_seq'::regclass)", "comment": "", - "oldName": "repo_dependencies_id", + "oldName": "issue_msg_ref_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -15524,7 +15111,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "repo_id", + "name": "issue_id", "type": "int8", "length": 64, "decimals": 0, @@ -15533,8 +15120,8 @@ "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "Forign key for repo id. ", - "oldName": "repo_id", + "comment": "", + "oldName": "issue_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -15554,22 +15141,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "dep_name", - "type": "varchar", - "length": 255, + "name": "msg_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "Name of the dependancy found in project. ", - "oldName": "dep_name", + "comment": "", + "oldName": "msg_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 3, "foreignOptions": [], "isIdentity": false, @@ -15584,22 +15171,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "dep_count", - "type": "int4", - "length": 32, + "name": "tool_source", + "type": "varchar", + "length": 255, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "Number of times the dependancy was found. ", - "oldName": "dep_count", + "comment": "", + "oldName": "tool_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 4, "foreignOptions": [], "isIdentity": false, @@ -15614,7 +15201,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "dep_language", + "name": "tool_version", "type": "varchar", "length": 255, "decimals": 0, @@ -15623,8 +15210,8 @@ "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "Language of the dependancy. ", - "oldName": "dep_language", + "comment": "", + "oldName": "tool_version", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -15644,9 +15231,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_source", + "name": "data_source", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", @@ -15654,7 +15241,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "tool_source", + "oldName": "data_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -15674,22 +15261,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_version", - "type": "varchar", + "name": "data_collection_date", + "type": "timestamp", "length": 0, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", "comment": "", - "oldName": "tool_version", + "oldName": "data_collection_date", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 7, "foreignOptions": [], "isIdentity": false, @@ -15704,7 +15291,37 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_source", + "name": "issue_msg_ref_src_comment_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "This ID comes from the source. In the case of GitHub, it is the id that is the first field returned from the issue comments API", + "oldName": "issue_msg_ref_src_comment_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 8, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "issue_msg_ref_src_node_id", "type": "varchar", "length": 0, "decimals": 0, @@ -15713,14 +15330,14 @@ "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "", - "oldName": "data_source", + "comment": "This character based identifier comes from the source. In the case of GitHub, it is the id that is the first field returned from the issue comments API", + "oldName": "issue_msg_ref_src_node_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 8, + "ordinalPosition": 9, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -15734,23 +15351,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_collection_date", - "type": "timestamp", - "length": 0, + "name": "repo_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, "collation": "", "isNullable": true, - "defaultType": "Others", - "defaultValue": "CURRENT_TIMESTAMP", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "data_collection_date", + "oldName": "repo_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 9, + "ordinalPosition": 10, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -15767,38 +15384,59 @@ "rules": [], "primaryKey": { "objectType": "PrimaryKey_PGSQL", - "name": "repo_dependencies_pkey", + "name": "issue_message_ref_pkey", "fields": [ - "repo_dependencies_id" + "issue_msg_ref_id" ], "fillFactor": -1, "indexTablespace": "", "comment": "", "isDeferrable": false, "isDeferred": false, - "oldName": "repo_dependencies_pkey" + "oldName": "issue_message_ref_pkey" }, "foreignKeys": [ { "objectType": "ForeignKey_PGSQL", - "name": "repo_id", + "name": "fk_issue_message_ref_issues_1", "fields": [ - "repo_id" + "issue_id" ], "referenceSchema": "augur_data", - "referenceTable": "repo", + "referenceTable": "issues", "referenceFields": [ - "repo_id" + "issue_id" ], - "onDelete": "NO ACTION", - "onUpdate": "NO ACTION", + "onDelete": "RESTRICT", + "onUpdate": "CASCADE", "comment": "", "isMatchFull": false, "isDeferrable": false, "isDeferred": false, "sourceCardinality": "ZeroOrManyRelationship", "targetCardinality": "ZeroOrOneRelationship", - "oldName": "repo_id" + "oldName": "fk_issue_message_ref_issues_1" + }, + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_issue_message_ref_message_1", + "fields": [ + "msg_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "message", + "referenceFields": [ + "msg_id" + ], + "onDelete": "RESTRICT", + "onUpdate": "CASCADE", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_issue_message_ref_message_1" } ], "uniques": [], @@ -15810,17 +15448,17 @@ }, { "objectType": "TableNormal_PGSQL", - "name": "repo_group_insights", - "comment": "This table is output from an analytical worker inside of Augur. It runs through the different metrics on a REPOSITORY_GROUP and identifies the five to ten most “interesting” metrics as defined by some kind of delta or other factor. The algorithm is going to evolve. \n\nWorker Design Notes: The idea is that the \"insight worker\" will scan through a bunch of active metrics or \"synthetic metrics\" to list the most important insights. ", + "name": "issues", + "comment": "", "tablespace": "", "isUnlogged": false, "owner": "augur", "inheritFromTables": [], "hasOIDs": false, "fillFactor": -1, - "oldName": "repo_group_insights", - "oid": 192348, - "rows": 0, + "oldName": "issues", + "oid": 15486599, + "rows": 12103, "isInheritTables": false, "cluster": "", "ACL": "", @@ -15836,7 +15474,7 @@ "fields": [ { "objectType": "TableField_PGSQL", - "name": "rgi_id", + "name": "issue_id", "type": "int8", "length": 64, "decimals": 0, @@ -15844,9 +15482,9 @@ "collation": "", "isNullable": false, "defaultType": "Others", - "defaultValue": "nextval('augur_data.repo_group_insights_rgi_id_seq'::regclass)", + "defaultValue": "nextval('augur_data.issue_seq'::regclass)", "comment": "", - "oldName": "rgi_id", + "oldName": "issue_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -15866,7 +15504,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "repo_group_id", + "name": "repo_id", "type": "int8", "length": 64, "decimals": 0, @@ -15876,7 +15514,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "repo_group_id", + "oldName": "repo_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -15896,22 +15534,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "rgi_metric", - "type": "varchar", - "length": 0, + "name": "reporter_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "", - "oldName": "rgi_metric", + "comment": "The ID of the person who opened the issue. ", + "oldName": "reporter_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 3, "foreignOptions": [], "isIdentity": false, @@ -15926,22 +15564,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "rgi_value", - "type": "varchar", - "length": 0, + "name": "pull_request", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "rgi_value", + "oldName": "pull_request", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 4, "foreignOptions": [], "isIdentity": false, @@ -15956,7 +15594,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "cms_id", + "name": "pull_request_id", "type": "int8", "length": 64, "decimals": 0, @@ -15966,7 +15604,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "cms_id", + "oldName": "pull_request_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -15986,8 +15624,8 @@ }, { "objectType": "TableField_PGSQL", - "name": "rgi_fresh", - "type": "bool", + "name": "created_at", + "type": "timestamp", "length": 0, "decimals": 0, "dimensions": 0, @@ -15995,8 +15633,8 @@ "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "false if the date is before the statistic that triggered the insight, true if after. This allows us to automatically display only \"fresh insights\" and avoid displaying \"stale insights\". The insight worker will populate this table. ", - "oldName": "rgi_fresh", + "comment": "", + "oldName": "created_at", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -16016,9 +15654,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_source", + "name": "issue_title", "type": "varchar", - "length": 0, + "length": 500, "decimals": 0, "dimensions": 0, "collation": "default", @@ -16026,7 +15664,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "tool_source", + "oldName": "issue_title", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -16046,8 +15684,8 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_version", - "type": "varchar", + "name": "issue_body", + "type": "text", "length": 0, "decimals": 0, "dimensions": 0, @@ -16056,7 +15694,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "tool_version", + "oldName": "issue_body", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -16076,22 +15714,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_source", - "type": "varchar", - "length": 0, + "name": "cntrb_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "", - "oldName": "data_source", + "comment": "The ID of the person who closed the issue. ", + "oldName": "cntrb_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 9, "foreignOptions": [], "isIdentity": false, @@ -16106,17 +15744,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_collection_date", - "type": "timestamp", - "length": 0, + "name": "comment_count", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, "collation": "", "isNullable": true, - "defaultType": "Others", - "defaultValue": "CURRENT_TIMESTAMP", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "data_collection_date", + "oldName": "comment_count", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -16133,98 +15771,26 @@ "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false - } - ], - "indexes": [], - "rules": [], - "primaryKey": { - "objectType": "PrimaryKey_PGSQL", - "name": "repo_group_insights_pkey", - "fields": [ - "rgi_id" - ], - "fillFactor": -1, - "indexTablespace": "", - "comment": "", - "isDeferrable": false, - "isDeferred": false, - "oldName": "repo_group_insights_pkey" - }, - "foreignKeys": [ - { - "objectType": "ForeignKey_PGSQL", - "name": "fk_repo_group_insights_repo_groups_1", - "fields": [ - "repo_group_id" - ], - "referenceSchema": "augur_data", - "referenceTable": "repo_groups", - "referenceFields": [ - "repo_group_id" - ], - "onDelete": "NO ACTION", - "onUpdate": "NO ACTION", - "comment": "", - "isMatchFull": false, - "isDeferrable": false, - "isDeferred": false, - "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "ZeroOrOneRelationship", - "oldName": "fk_repo_group_insights_repo_groups_1" - } - ], - "uniques": [], - "checks": [], - "excludes": [], - "triggers": [], - "partitionKeys": [], - "partitions": [] - }, - { - "objectType": "TableNormal_PGSQL", - "name": "repo_groups", - "comment": "rg_type is intended to be either a GitHub Organization or a User Created Repo Group. ", - "tablespace": "", - "isUnlogged": false, - "owner": "augur", - "inheritFromTables": [], - "hasOIDs": false, - "fillFactor": -1, - "oldName": "repo_groups", - "oid": 192466, - "rows": 1, - "isInheritTables": false, - "cluster": "", - "ACL": "", - "isPartition": false, - "partitioningStrategy": "None", - "partitionOfSchema": "", - "partitionOfTable": "", - "partitionListValues": [], - "partitionRangeFromValues": [], - "partitionRangeToValues": [], - "foreignServer": "", - "foreignOptionDisplay": "", - "fields": [ + }, { "objectType": "TableField_PGSQL", - "name": "repo_group_id", - "type": "int8", - "length": 64, + "name": "updated_at", + "type": "timestamp", + "length": 0, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": false, - "defaultType": "Others", - "defaultValue": "nextval('augur_data.repo_groups_repo_group_id_seq'::regclass)", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "repo_group_id", + "oldName": "updated_at", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 1, + "ordinalPosition": 11, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -16238,23 +15804,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "rg_name", - "type": "varchar", + "name": "closed_at", + "type": "timestamp", "length": 0, "decimals": 0, "dimensions": 0, - "collation": "default", - "isNullable": false, + "collation": "", + "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "rg_name", + "oldName": "closed_at", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 2, + "collationSchema": "", + "ordinalPosition": 12, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -16268,23 +15834,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "rg_description", - "type": "varchar", + "name": "due_on", + "type": "timestamp", "length": 0, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, - "defaultType": "Others", - "defaultValue": "'NULL'::character varying", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "rg_description", + "oldName": "due_on", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 3, + "collationSchema": "", + "ordinalPosition": 13, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -16298,23 +15864,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "rg_website", + "name": "repository_url", "type": "varchar", - "length": 128, + "length": 4000, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, - "defaultType": "Others", - "defaultValue": "'NULL'::character varying", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "rg_website", + "oldName": "repository_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 4, + "ordinalPosition": 14, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -16328,23 +15894,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "rg_recache", - "type": "int2", - "length": 16, + "name": "issue_url", + "type": "varchar", + "length": 4000, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, - "defaultType": "Others", - "defaultValue": "1", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "rg_recache", + "oldName": "issue_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 5, + "collationSchema": "pg_catalog", + "ordinalPosition": 15, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -16358,23 +15924,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "rg_last_modified", - "type": "timestamp", - "length": 0, + "name": "labels_url", + "type": "varchar", + "length": 4000, "decimals": 0, "dimensions": 0, - "collation": "", - "isNullable": false, - "defaultType": "Others", - "defaultValue": "CURRENT_TIMESTAMP", + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "rg_last_modified", + "oldName": "labels_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 6, + "collationSchema": "pg_catalog", + "ordinalPosition": 16, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -16388,9 +15954,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "rg_type", + "name": "comments_url", "type": "varchar", - "length": 0, + "length": 4000, "decimals": 0, "dimensions": 0, "collation": "default", @@ -16398,13 +15964,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "rg_type", + "oldName": "comments_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 7, + "ordinalPosition": 17, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -16418,9 +15984,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_source", + "name": "events_url", "type": "varchar", - "length": 255, + "length": 4000, "decimals": 0, "dimensions": 0, "collation": "default", @@ -16428,13 +15994,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "tool_source", + "oldName": "events_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 8, + "ordinalPosition": 18, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -16448,9 +16014,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_version", + "name": "html_url", "type": "varchar", - "length": 255, + "length": 4000, "decimals": 0, "dimensions": 0, "collation": "default", @@ -16458,13 +16024,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "tool_version", + "oldName": "html_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 9, + "ordinalPosition": 19, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -16478,7 +16044,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_source", + "name": "issue_state", "type": "varchar", "length": 255, "decimals": 0, @@ -16488,13 +16054,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "data_source", + "oldName": "issue_state", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 10, + "ordinalPosition": 20, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -16508,23 +16074,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_collection_date", - "type": "timestamp", + "name": "issue_node_id", + "type": "varchar", "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "data_collection_date", + "oldName": "issue_node_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 11, + "collationSchema": "pg_catalog", + "ordinalPosition": 21, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -16535,145 +16101,26 @@ "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false - } - ], - "indexes": [ - { - "objectType": "Index_PGSQL", - "name": "rgidm", - "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": true, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "rgidm", - "oid": 203958, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "repo_groups", - "size": "16", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "repo_group_id", - "collation": "", - "opClass": "int8_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "repo_group_id", - "collationSchema": "" - } - ] }, - { - "objectType": "Index_PGSQL", - "name": "rgnameindex", - "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "rgnameindex", - "oid": 203960, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "repo_groups", - "size": "16", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "rg_name", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "rg_name", - "collationSchema": "pg_catalog" - } - ] - } - ], - "rules": [], - "primaryKey": { - "objectType": "PrimaryKey_PGSQL", - "name": "rgid", - "fields": [ - "repo_group_id" - ], - "fillFactor": -1, - "indexTablespace": "", - "comment": "", - "isDeferrable": false, - "isDeferred": false, - "oldName": "rgid" - }, - "foreignKeys": [], - "uniques": [], - "checks": [], - "excludes": [], - "triggers": [], - "partitionKeys": [], - "partitions": [] - }, - { - "objectType": "TableNormal_PGSQL", - "name": "repo_groups_list_serve", - "comment": "", - "tablespace": "", - "isUnlogged": false, - "owner": "augur", - "inheritFromTables": [], - "hasOIDs": false, - "fillFactor": -1, - "oldName": "repo_groups_list_serve", - "oid": 192557, - "rows": 0, - "isInheritTables": false, - "cluster": "", - "ACL": "", - "isPartition": false, - "partitioningStrategy": "None", - "partitionOfSchema": "", - "partitionOfTable": "", - "partitionListValues": [], - "partitionRangeFromValues": [], - "partitionRangeToValues": [], - "foreignServer": "", - "foreignOptionDisplay": "", - "fields": [ { "objectType": "TableField_PGSQL", - "name": "rgls_id", + "name": "gh_issue_id", "type": "int8", "length": 64, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": false, - "defaultType": "Others", - "defaultValue": "nextval('augur_data.repo_groups_list_serve_rgls_id_seq'::regclass)", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "rgls_id", + "oldName": "gh_issue_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 1, + "ordinalPosition": 22, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -16687,113 +16134,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "repo_group_id", + "name": "gh_user_id", "type": "int8", "length": 64, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": false, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "repo_group_id", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 2, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "rgls_name", - "type": "varchar", - "length": 255, - "decimals": 0, - "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "rgls_name", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 3, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "rgls_description", - "type": "varchar", - "length": 3000, - "decimals": 0, - "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "rgls_description", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 4, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "rgls_sponsor", - "type": "varchar", - "length": 255, - "decimals": 0, - "dimensions": 0, - "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "rgls_sponsor", + "oldName": "gh_user_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 5, + "collationSchema": "", + "ordinalPosition": 23, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -16807,7 +16164,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "rgls_email", + "name": "tool_source", "type": "varchar", "length": 255, "decimals": 0, @@ -16817,13 +16174,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "rgls_email", + "oldName": "tool_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 6, + "ordinalPosition": 24, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -16837,7 +16194,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_source", + "name": "tool_version", "type": "varchar", "length": 255, "decimals": 0, @@ -16847,13 +16204,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "tool_source", + "oldName": "tool_version", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 7, + "ordinalPosition": 25, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -16867,7 +16224,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_version", + "name": "data_source", "type": "varchar", "length": 255, "decimals": 0, @@ -16877,13 +16234,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "tool_version", + "oldName": "data_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 8, + "ordinalPosition": 26, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -16897,23 +16254,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_source", - "type": "varchar", - "length": 255, + "name": "data_collection_date", + "type": "timestamp", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", "comment": "", - "oldName": "data_source", + "oldName": "data_collection_date", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 9, + "collationSchema": "", + "ordinalPosition": 27, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -16927,9 +16284,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_collection_date", - "type": "timestamp", - "length": 0, + "name": "gh_issue_number", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, "collation": "", @@ -16937,13 +16294,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "data_collection_date", + "oldName": "gh_issue_number", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 10, + "ordinalPosition": 28, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -16959,45 +16316,136 @@ "indexes": [ { "objectType": "Index_PGSQL", - "name": "lister", + "name": "issue-cntrb-dix2", "comment": "", "isClustered": false, "isConcurrently": false, - "isUnique": true, + "isUnique": false, "fastUpdate": "", "buffering": "", "fillFactor": -1, "method": "BTree", "tableSpaceName": "", "constraint": "", - "oldName": "lister", - "oid": 203763, + "oldName": "issue-cntrb-dix2", + "oid": 15488150, "owner": "augur", "brinPagesPerRange": -1, "ginPendingListLimit": -1, - "tableName": "repo_groups_list_serve", - "size": "8", + "tableName": "issues", + "size": "264", "fields": [ { "objectType": "IndexField_PGSQL", - "name": "rgls_id", + "name": "cntrb_id", "collation": "", "opClass": "int8_ops", "opClassSchema": "pg_catalog", "order": "ASC", "nullSort": "NULLS LAST", - "oldName": "rgls_id", + "oldName": "cntrb_id", "collationSchema": "" - }, + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "issues_ibfk_1", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "issues_ibfk_1", + "oid": 15486963, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "issues", + "size": "272", + "fields": [ { "objectType": "IndexField_PGSQL", - "name": "repo_group_id", + "name": "repo_id", "collation": "", "opClass": "int8_ops", "opClassSchema": "pg_catalog", "order": "ASC", "nullSort": "NULLS LAST", - "oldName": "repo_group_id", + "oldName": "repo_id", + "collationSchema": "" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "issues_ibfk_2", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "issues_ibfk_2", + "oid": 15486964, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "issues", + "size": "408", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "reporter_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "reporter_id", + "collationSchema": "" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "issues_ibfk_4", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "issues_ibfk_4", + "oid": 15486965, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "issues", + "size": "376", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "pull_request_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "pull_request_id", "collationSchema": "" } ] @@ -17006,28 +16454,28 @@ "rules": [], "primaryKey": { "objectType": "PrimaryKey_PGSQL", - "name": "repo_groups_list_serve_pkey", + "name": "issues_pkey", "fields": [ - "rgls_id" + "issue_id" ], "fillFactor": -1, "indexTablespace": "", "comment": "", "isDeferrable": false, "isDeferred": false, - "oldName": "repo_groups_list_serve_pkey" + "oldName": "issues_pkey" }, "foreignKeys": [ { "objectType": "ForeignKey_PGSQL", - "name": "fk_repo_groups_list_serve_repo_groups_1", + "name": "fk_issues_contributors_1", "fields": [ - "repo_group_id" + "cntrb_id" ], "referenceSchema": "augur_data", - "referenceTable": "repo_groups", + "referenceTable": "contributors", "referenceFields": [ - "repo_group_id" + "cntrb_id" ], "onDelete": "NO ACTION", "onUpdate": "NO ACTION", @@ -17036,26 +16484,53 @@ "isDeferrable": false, "isDeferred": false, "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "OneAndOnlyOneRelationship", - "oldName": "fk_repo_groups_list_serve_repo_groups_1" - } - ], - "uniques": [ + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_issues_contributors_1" + }, { - "objectType": "Unique_PGSQL", - "name": "rglistserve", + "objectType": "ForeignKey_PGSQL", + "name": "fk_issues_contributors_2", "fields": [ - "rgls_id", - "repo_group_id" + "reporter_id" ], - "fillFactor": -1, - "indexTablespace": "", + "referenceSchema": "augur_data", + "referenceTable": "contributors", + "referenceFields": [ + "cntrb_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", "comment": "", + "isMatchFull": false, "isDeferrable": false, "isDeferred": false, - "oldName": "rglistserve" + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_issues_contributors_2" + }, + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_issues_repo", + "fields": [ + "repo_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "repo", + "referenceFields": [ + "repo_id" + ], + "onDelete": "CASCADE", + "onUpdate": "CASCADE", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_issues_repo" } ], + "uniques": [], "checks": [], "excludes": [], "triggers": [], @@ -17064,7 +16539,7 @@ }, { "objectType": "TableNormal_PGSQL", - "name": "repo_insights_records", + "name": "libraries", "comment": "", "tablespace": "", "isUnlogged": false, @@ -17072,8 +16547,8 @@ "inheritFromTables": [], "hasOIDs": false, "fillFactor": -1, - "oldName": "repo_insights_records", - "oid": 193096, + "oldName": "libraries", + "oid": 15486607, "rows": 0, "isInheritTables": false, "cluster": "", @@ -17090,7 +16565,7 @@ "fields": [ { "objectType": "TableField_PGSQL", - "name": "ri_id", + "name": "library_id", "type": "int8", "length": 64, "decimals": 0, @@ -17098,9 +16573,9 @@ "collation": "", "isNullable": false, "defaultType": "Others", - "defaultValue": "nextval('augur_data.repo_insights_records_ri_id_seq'::regclass)", - "comment": "Primary key. ", - "oldName": "ri_id", + "defaultValue": "nextval('augur_data.libraries_library_id_seq'::regclass)", + "comment": "", + "oldName": "library_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -17129,7 +16604,7 @@ "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "Refers to repo table primary key. Will have a foreign key", + "comment": "", "oldName": "repo_id", "typeOID": 1, "fieldObjectType": "", @@ -17150,17 +16625,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "ri_metric", + "name": "platform", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "The metric endpoint", - "oldName": "ri_metric", + "defaultType": "Others", + "defaultValue": "NULL::character varying", + "comment": "", + "oldName": "platform", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -17180,17 +16655,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "ri_field", + "name": "name", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "The field in the metric endpoint", - "oldName": "ri_field", + "defaultType": "Others", + "defaultValue": "NULL::character varying", + "comment": "", + "oldName": "name", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -17210,22 +16685,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "ri_value", - "type": "varchar", + "name": "created_timestamp", + "type": "timestamp", "length": 0, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "The value of the endpoint in ri_field", - "oldName": "ri_value", + "defaultType": "Others", + "defaultValue": "NULL::timestamp without time zone", + "comment": "", + "oldName": "created_timestamp", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 5, "foreignOptions": [], "isIdentity": false, @@ -17240,17 +16715,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "ri_date", + "name": "updated_timestamp", "type": "timestamp", - "length": 6, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "", "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "The date the insight is for; in other words, some anomaly occurred on this date. ", - "oldName": "ri_date", + "defaultType": "Others", + "defaultValue": "NULL::timestamp without time zone", + "comment": "", + "oldName": "updated_timestamp", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -17270,22 +16745,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "ri_score", - "type": "float8", - "length": 53, + "name": "library_description", + "type": "varchar", + "length": 2000, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "A Score, derived from the algorithm used. ", - "oldName": "ri_score", + "defaultType": "Others", + "defaultValue": "NULL::character varying", + "comment": "", + "oldName": "library_description", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 7, "foreignOptions": [], "isIdentity": false, @@ -17300,17 +16775,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "ri_detection_method", + "name": "keywords", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "A confidence interval or other expression of the type of threshold and the value of a threshold met in order for it to be \"an insight\". Example. \"95% confidence interval\". ", - "oldName": "ri_detection_method", + "defaultType": "Others", + "defaultValue": "NULL::character varying", + "comment": "", + "oldName": "keywords", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -17330,17 +16805,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_source", + "name": "library_homepage", "type": "varchar", - "length": 0, + "length": 1000, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "Standard Augur Metadata", - "oldName": "tool_source", + "defaultType": "Others", + "defaultValue": "NULL::character varying", + "comment": "", + "oldName": "library_homepage", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -17360,17 +16835,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_version", + "name": "license", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "Standard Augur Metadata", - "oldName": "tool_version", + "defaultType": "Others", + "defaultValue": "NULL::character varying", + "comment": "", + "oldName": "license", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -17390,22 +16865,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_source", - "type": "varchar", - "length": 0, + "name": "version_count", + "type": "int4", + "length": 32, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "Standard Augur Metadata", - "oldName": "data_source", + "comment": "", + "oldName": "version_count", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 11, "foreignOptions": [], "isIdentity": false, @@ -17420,22 +16895,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_collection_date", - "type": "timestamp", - "length": 6, + "name": "latest_release_timestamp", + "type": "varchar", + "length": 255, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "Others", - "defaultValue": "CURRENT_TIMESTAMP", - "comment": "Standard Augur Metadata", - "oldName": "data_collection_date", + "defaultValue": "NULL::character varying", + "comment": "", + "oldName": "latest_release_timestamp", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 12, "foreignOptions": [], "isIdentity": false, @@ -17447,133 +16922,26 @@ "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false - } - ], - "indexes": [ - { - "objectType": "Index_PGSQL", - "name": "dater", - "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "dater", - "oid": 203716, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "repo_insights_records", - "size": "8", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "ri_date", - "collation": "", - "opClass": "timestamp_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "ri_date", - "collationSchema": "" - } - ] - } - ], - "rules": [], - "primaryKey": { - "objectType": "PrimaryKey_PGSQL", - "name": "repo_insights_records_pkey", - "fields": [ - "ri_id" - ], - "fillFactor": -1, - "indexTablespace": "", - "comment": "", - "isDeferrable": false, - "isDeferred": false, - "oldName": "repo_insights_records_pkey" - }, - "foreignKeys": [ - { - "objectType": "ForeignKey_PGSQL", - "name": "repo_id_ref", - "fields": [ - "repo_id" - ], - "referenceSchema": "augur_data", - "referenceTable": "repo", - "referenceFields": [ - "repo_id" - ], - "onDelete": "SET NULL", - "onUpdate": "CASCADE", - "comment": "", - "isMatchFull": false, - "isDeferrable": false, - "isDeferred": false, - "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "ZeroOrOneRelationship", - "oldName": "repo_id_ref" - } - ], - "uniques": [], - "checks": [], - "excludes": [], - "triggers": [], - "partitionKeys": [], - "partitions": [] - }, - { - "objectType": "TableNormal_PGSQL", - "name": "repo_labor", - "comment": "repo_labor is a derivative of tables used to store scc code and complexity counting statistics that are inputs to labor analysis, which are components of CHAOSS value metric calculations. ", - "tablespace": "", - "isUnlogged": false, - "owner": "augur", - "inheritFromTables": [], - "hasOIDs": false, - "fillFactor": -1, - "oldName": "repo_labor", - "oid": 193547, - "rows": 0, - "isInheritTables": false, - "cluster": "", - "ACL": "", - "isPartition": false, - "partitioningStrategy": "None", - "partitionOfSchema": "", - "partitionOfTable": "", - "partitionListValues": [], - "partitionRangeFromValues": [], - "partitionRangeToValues": [], - "foreignServer": "", - "foreignOptionDisplay": "", - "fields": [ + }, { "objectType": "TableField_PGSQL", - "name": "repo_labor_id", - "type": "int8", - "length": 64, + "name": "latest_release_number", + "type": "varchar", + "length": 255, "decimals": 0, "dimensions": 0, - "collation": "", - "isNullable": false, + "collation": "default", + "isNullable": true, "defaultType": "Others", - "defaultValue": "nextval('augur_data.repo_labor_repo_labor_id_seq'::regclass)", + "defaultValue": "NULL::character varying", "comment": "", - "oldName": "repo_labor_id", + "oldName": "latest_release_number", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 1, + "collationSchema": "pg_catalog", + "ordinalPosition": 13, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -17587,23 +16955,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "repo_id", - "type": "int8", - "length": 64, + "name": "package_manager_id", + "type": "varchar", + "length": 255, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "NULL::character varying", "comment": "", - "oldName": "repo_id", + "oldName": "package_manager_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 2, + "collationSchema": "pg_catalog", + "ordinalPosition": 14, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -17617,9 +16985,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "repo_clone_date", - "type": "timestamp", - "length": 0, + "name": "dependency_count", + "type": "int4", + "length": 32, "decimals": 0, "dimensions": 0, "collation": "", @@ -17627,13 +16995,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "repo_clone_date", + "oldName": "dependency_count", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 3, + "ordinalPosition": 15, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -17647,9 +17015,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "rl_analysis_date", - "type": "timestamp", - "length": 0, + "name": "dependent_library_count", + "type": "int4", + "length": 32, "decimals": 0, "dimensions": 0, "collation": "", @@ -17657,13 +17025,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "rl_analysis_date", + "oldName": "dependent_library_count", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 4, + "ordinalPosition": 16, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -17677,7 +17045,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "programming_language", + "name": "primary_language", "type": "varchar", "length": 255, "decimals": 0, @@ -17687,13 +17055,13 @@ "defaultType": "Others", "defaultValue": "NULL::character varying", "comment": "", - "oldName": "programming_language", + "oldName": "primary_language", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 5, + "ordinalPosition": 17, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -17707,23 +17075,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "file_path", + "name": "tool_source", "type": "varchar", - "length": 500, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, - "defaultType": "Others", - "defaultValue": "NULL::character varying", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "file_path", + "oldName": "tool_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 6, + "ordinalPosition": 18, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -17737,23 +17105,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "file_name", + "name": "tool_version", "type": "varchar", "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, - "defaultType": "Others", - "defaultValue": "NULL::character varying", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "file_name", + "oldName": "tool_version", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 7, + "ordinalPosition": 19, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -17767,23 +17135,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "total_lines", - "type": "int4", - "length": 32, + "name": "data_source", + "type": "varchar", + "length": 255, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "total_lines", + "oldName": "data_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 8, + "collationSchema": "pg_catalog", + "ordinalPosition": 20, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -17797,9 +17165,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "code_lines", - "type": "int4", - "length": 32, + "name": "data_collection_date", + "type": "timestamp", + "length": 0, "decimals": 0, "dimensions": 0, "collation": "", @@ -17807,13 +17175,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "code_lines", + "oldName": "data_collection_date", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 9, + "ordinalPosition": 21, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -17824,26 +17192,98 @@ "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false - }, + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "libraries_pkey", + "fields": [ + "library_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "libraries_pkey" + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_libraries_repo_1", + "fields": [ + "repo_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "repo", + "referenceFields": [ + "repo_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_libraries_repo_1" + } + ], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "library_dependencies", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "library_dependencies", + "oid": 15486626, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ { "objectType": "TableField_PGSQL", - "name": "comment_lines", - "type": "int4", - "length": 32, + "name": "lib_dependency_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_data.library_dependencies_lib_dependency_id_seq'::regclass)", "comment": "", - "oldName": "comment_lines", + "oldName": "lib_dependency_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 10, + "ordinalPosition": 1, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -17857,9 +17297,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "blank_lines", - "type": "int4", - "length": 32, + "name": "library_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, "collation": "", @@ -17867,13 +17307,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "blank_lines", + "oldName": "library_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 11, + "ordinalPosition": 2, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -17887,23 +17327,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "code_complexity", - "type": "int4", - "length": 32, + "name": "manifest_platform", + "type": "varchar", + "length": 255, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "NULL::character varying", "comment": "", - "oldName": "code_complexity", + "oldName": "manifest_platform", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 12, + "collationSchema": "pg_catalog", + "ordinalPosition": 3, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -17917,23 +17357,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "repo_url", + "name": "manifest_filepath", "type": "varchar", - "length": 500, + "length": 1000, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, "defaultType": "Others", "defaultValue": "NULL::character varying", - "comment": "This is a convenience column to simplify analysis against external datasets", - "oldName": "repo_url", + "comment": "", + "oldName": "manifest_filepath", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 13, + "ordinalPosition": 4, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -17947,23 +17387,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_source", + "name": "manifest_kind", "type": "varchar", "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "NULL::character varying", "comment": "", - "oldName": "tool_source", + "oldName": "manifest_kind", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 14, + "ordinalPosition": 5, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -17977,23 +17417,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_version", + "name": "repo_id_branch", "type": "varchar", "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", - "isNullable": true, + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "tool_version", + "oldName": "repo_id_branch", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 15, + "ordinalPosition": 6, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -18007,7 +17447,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_source", + "name": "tool_source", "type": "varchar", "length": 255, "decimals": 0, @@ -18017,13 +17457,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "data_source", + "oldName": "tool_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 16, + "ordinalPosition": 7, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -18037,23 +17477,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_collection_date", - "type": "timestamp", - "length": 0, + "name": "tool_version", + "type": "varchar", + "length": 255, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "data_collection_date", + "oldName": "tool_version", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 17, + "collationSchema": "pg_catalog", + "ordinalPosition": 8, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -18064,34 +17504,129 @@ "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false - } - ], - "indexes": [], - "rules": [], - "primaryKey": { - "objectType": "PrimaryKey_PGSQL", - "name": "repo_labor_pkey", - "fields": [ - "repo_labor_id" - ], - "fillFactor": -1, - "indexTablespace": "", - "comment": "", - "isDeferrable": false, + }, + { + "objectType": "TableField_PGSQL", + "name": "data_source", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "data_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 9, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_collection_date", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "data_collection_date", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 10, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [ + { + "objectType": "Index_PGSQL", + "name": "REPO_DEP", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "REPO_DEP", + "oid": 15486970, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "library_dependencies", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "library_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "library_id", + "collationSchema": "" + } + ] + } + ], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "library_dependencies_pkey", + "fields": [ + "lib_dependency_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, "isDeferred": false, - "oldName": "repo_labor_pkey" + "oldName": "library_dependencies_pkey" }, "foreignKeys": [ { "objectType": "ForeignKey_PGSQL", - "name": "fk_repo_labor_repo_1", + "name": "fk_library_dependencies_libraries_1", "fields": [ - "repo_id" + "library_id" ], "referenceSchema": "augur_data", - "referenceTable": "repo", + "referenceTable": "libraries", "referenceFields": [ - "repo_id" + "library_id" ], "onDelete": "NO ACTION", "onUpdate": "NO ACTION", @@ -18101,7 +17636,7 @@ "isDeferred": false, "sourceCardinality": "ZeroOrManyRelationship", "targetCardinality": "ZeroOrOneRelationship", - "oldName": "fk_repo_labor_repo_1" + "oldName": "fk_library_dependencies_libraries_1" } ], "uniques": [], @@ -18113,16 +17648,16 @@ }, { "objectType": "TableNormal_PGSQL", - "name": "repo_meta", - "comment": "Project Languages", + "name": "library_version", + "comment": "", "tablespace": "", "isUnlogged": false, "owner": "augur", "inheritFromTables": [], "hasOIDs": false, "fillFactor": -1, - "oldName": "repo_meta", - "oid": 193738, + "oldName": "library_version", + "oid": 15486636, "rows": 0, "isInheritTables": false, "cluster": "", @@ -18139,17 +17674,17 @@ "fields": [ { "objectType": "TableField_PGSQL", - "name": "repo_id", + "name": "library_version_id", "type": "int8", "length": 64, "decimals": 0, "dimensions": 0, "collation": "", "isNullable": false, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "nextval('augur_data.library_version_library_version_id_seq'::regclass)", "comment": "", - "oldName": "repo_id", + "oldName": "library_version_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -18169,17 +17704,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "rmeta_id", + "name": "library_id", "type": "int8", "length": 64, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": false, - "defaultType": "Others", - "defaultValue": "nextval('augur_data.repo_meta_rmeta_id_seq'::regclass)", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "rmeta_id", + "oldName": "library_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -18199,17 +17734,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "rmeta_name", + "name": "library_platform", "type": "varchar", "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "NULL::character varying", "comment": "", - "oldName": "rmeta_name", + "oldName": "library_platform", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -18229,7 +17764,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "rmeta_value", + "name": "version_number", "type": "varchar", "length": 255, "decimals": 0, @@ -18237,9 +17772,9 @@ "collation": "default", "isNullable": true, "defaultType": "Others", - "defaultValue": "0", + "defaultValue": "NULL::character varying", "comment": "", - "oldName": "rmeta_value", + "oldName": "version_number", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -18257,6 +17792,36 @@ "hasNoIdentityMaxValue": false, "isIdentityCycle": false }, + { + "objectType": "TableField_PGSQL", + "name": "version_release_date", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "NULL::timestamp without time zone", + "comment": "", + "oldName": "version_release_date", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 5, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, { "objectType": "TableField_PGSQL", "name": "tool_source", @@ -18275,7 +17840,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 5, + "ordinalPosition": 6, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -18305,7 +17870,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 6, + "ordinalPosition": 7, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -18335,7 +17900,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 7, + "ordinalPosition": 8, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -18365,7 +17930,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 8, + "ordinalPosition": 9, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -18382,29 +17947,28 @@ "rules": [], "primaryKey": { "objectType": "PrimaryKey_PGSQL", - "name": "repo_meta_pkey", + "name": "library_version_pkey", "fields": [ - "rmeta_id", - "repo_id" + "library_version_id" ], "fillFactor": -1, "indexTablespace": "", "comment": "", "isDeferrable": false, "isDeferred": false, - "oldName": "repo_meta_pkey" + "oldName": "library_version_pkey" }, "foreignKeys": [ { "objectType": "ForeignKey_PGSQL", - "name": "fk_repo_meta_repo_1", + "name": "fk_library_version_libraries_1", "fields": [ - "repo_id" + "library_id" ], "referenceSchema": "augur_data", - "referenceTable": "repo", + "referenceTable": "libraries", "referenceFields": [ - "repo_id" + "library_id" ], "onDelete": "NO ACTION", "onUpdate": "NO ACTION", @@ -18413,8 +17977,8 @@ "isDeferrable": false, "isDeferred": false, "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "OneAndOnlyOneRelationship", - "oldName": "fk_repo_meta_repo_1" + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_library_version_libraries_1" } ], "uniques": [], @@ -18426,7 +17990,7 @@ }, { "objectType": "TableNormal_PGSQL", - "name": "repo_sbom_scans", + "name": "lstm_anomaly_models", "comment": "", "tablespace": "", "isUnlogged": false, @@ -18434,8 +17998,8 @@ "inheritFromTables": [], "hasOIDs": false, "fillFactor": -1, - "oldName": "repo_sbom_scans", - "oid": 193871, + "oldName": "lstm_anomaly_models", + "oid": 15488067, "rows": 0, "isInheritTables": false, "cluster": "", @@ -18452,7 +18016,7 @@ "fields": [ { "objectType": "TableField_PGSQL", - "name": "rsb_id", + "name": "model_id", "type": "int8", "length": 64, "decimals": 0, @@ -18460,9 +18024,9 @@ "collation": "", "isNullable": false, "defaultType": "Others", - "defaultValue": "nextval('augur_data.repo_sbom_scans_rsb_id_seq'::regclass)", + "defaultValue": "nextval('augur_data.lstm_anomaly_models_model_id_seq'::regclass)", "comment": "", - "oldName": "rsb_id", + "oldName": "model_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -18482,22 +18046,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "repo_id", - "type": "int4", - "length": 32, + "name": "model_name", + "type": "varchar", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "repo_id", + "oldName": "model_name", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 2, "foreignOptions": [], "isIdentity": false, @@ -18512,22 +18076,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "sbom_scan", - "type": "json", + "name": "model_description", + "type": "varchar", "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "sbom_scan", + "oldName": "model_description", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 3, "foreignOptions": [], "isIdentity": false, @@ -18539,98 +18103,26 @@ "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false - } - ], - "indexes": [], - "rules": [], - "primaryKey": { - "objectType": "PrimaryKey_PGSQL", - "name": "repo_sbom_scans_pkey", - "fields": [ - "rsb_id" - ], - "fillFactor": -1, - "indexTablespace": "", - "comment": "", - "isDeferrable": false, - "isDeferred": false, - "oldName": "repo_sbom_scans_pkey" - }, - "foreignKeys": [ - { - "objectType": "ForeignKey_PGSQL", - "name": "repo_linker_sbom", - "fields": [ - "repo_id" - ], - "referenceSchema": "augur_data", - "referenceTable": "repo", - "referenceFields": [ - "repo_id" - ], - "onDelete": "CASCADE", - "onUpdate": "CASCADE", - "comment": "", - "isMatchFull": false, - "isDeferrable": false, - "isDeferred": false, - "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "ZeroOrOneRelationship", - "oldName": "repo_linker_sbom" - } - ], - "uniques": [], - "checks": [], - "excludes": [], - "triggers": [], - "partitionKeys": [], - "partitions": [] - }, - { - "objectType": "TableNormal_PGSQL", - "name": "repo_stats", - "comment": "Project Watchers", - "tablespace": "", - "isUnlogged": false, - "owner": "augur", - "inheritFromTables": [], - "hasOIDs": false, - "fillFactor": -1, - "oldName": "repo_stats", - "oid": 193992, - "rows": 0, - "isInheritTables": false, - "cluster": "", - "ACL": "", - "isPartition": false, - "partitioningStrategy": "None", - "partitionOfSchema": "", - "partitionOfTable": "", - "partitionListValues": [], - "partitionRangeFromValues": [], - "partitionRangeToValues": [], - "foreignServer": "", - "foreignOptionDisplay": "", - "fields": [ + }, { "objectType": "TableField_PGSQL", - "name": "repo_id", + "name": "look_back_days", "type": "int8", "length": 64, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": false, + "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "repo_id", + "oldName": "look_back_days", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 1, + "ordinalPosition": 4, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -18644,23 +18136,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "rstat_id", + "name": "training_days", "type": "int8", "length": 64, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": false, - "defaultType": "Others", - "defaultValue": "nextval('augur_data.repo_stats_rstat_id_seq'::regclass)", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "rstat_id", + "oldName": "training_days", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 2, + "ordinalPosition": 5, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -18674,23 +18166,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "rstat_name", - "type": "varchar", - "length": 400, + "name": "batch_size", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "rstat_name", + "oldName": "batch_size", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 3, + "collationSchema": "", + "ordinalPosition": 6, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -18704,23 +18196,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "rstat_value", - "type": "int8", - "length": 64, + "name": "metric", + "type": "varchar", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "rstat_value", + "oldName": "metric", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 4, + "collationSchema": "pg_catalog", + "ordinalPosition": 7, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -18736,7 +18228,7 @@ "objectType": "TableField_PGSQL", "name": "tool_source", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", @@ -18750,7 +18242,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 5, + "ordinalPosition": 8, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -18766,7 +18258,7 @@ "objectType": "TableField_PGSQL", "name": "tool_version", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", @@ -18780,7 +18272,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 6, + "ordinalPosition": 9, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -18796,7 +18288,7 @@ "objectType": "TableField_PGSQL", "name": "data_source", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", @@ -18810,7 +18302,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 7, + "ordinalPosition": 10, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -18826,13 +18318,13 @@ "objectType": "TableField_PGSQL", "name": "data_collection_date", "type": "timestamp", - "length": 0, + "length": 6, "decimals": 0, "dimensions": 0, "collation": "", "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", "comment": "", "oldName": "data_collection_date", "typeOID": 1, @@ -18840,7 +18332,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 8, + "ordinalPosition": 11, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -18857,41 +18349,18 @@ "rules": [], "primaryKey": { "objectType": "PrimaryKey_PGSQL", - "name": "repo_stats_pkey", + "name": "lstm_anomaly_models_pkey", "fields": [ - "rstat_id", - "repo_id" + "model_id" ], "fillFactor": -1, "indexTablespace": "", "comment": "", "isDeferrable": false, "isDeferred": false, - "oldName": "repo_stats_pkey" + "oldName": "lstm_anomaly_models_pkey" }, - "foreignKeys": [ - { - "objectType": "ForeignKey_PGSQL", - "name": "fk_repo_stats_repo_1", - "fields": [ - "repo_id" - ], - "referenceSchema": "augur_data", - "referenceTable": "repo", - "referenceFields": [ - "repo_id" - ], - "onDelete": "NO ACTION", - "onUpdate": "NO ACTION", - "comment": "", - "isMatchFull": false, - "isDeferrable": false, - "isDeferred": false, - "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "OneAndOnlyOneRelationship", - "oldName": "fk_repo_stats_repo_1" - } - ], + "foreignKeys": [], "uniques": [], "checks": [], "excludes": [], @@ -18901,7 +18370,7 @@ }, { "objectType": "TableNormal_PGSQL", - "name": "repo_test_coverage", + "name": "lstm_anomaly_results", "comment": "", "tablespace": "", "isUnlogged": false, @@ -18909,8 +18378,8 @@ "inheritFromTables": [], "hasOIDs": false, "fillFactor": -1, - "oldName": "repo_test_coverage", - "oid": 194167, + "oldName": "lstm_anomaly_results", + "oid": 15488077, "rows": 0, "isInheritTables": false, "cluster": "", @@ -18927,7 +18396,7 @@ "fields": [ { "objectType": "TableField_PGSQL", - "name": "repo_id", + "name": "result_id", "type": "int8", "length": 64, "decimals": 0, @@ -18935,9 +18404,9 @@ "collation": "", "isNullable": false, "defaultType": "Others", - "defaultValue": "nextval('augur_data.repo_test_coverage_repo_id_seq'::regclass)", + "defaultValue": "nextval('augur_data.lstm_anomaly_results_result_id_seq'::regclass)", "comment": "", - "oldName": "repo_id", + "oldName": "result_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -18957,9 +18426,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "repo_clone_date", - "type": "timestamp", - "length": 0, + "name": "repo_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, "collation": "", @@ -18967,7 +18436,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "repo_clone_date", + "oldName": "repo_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -18987,22 +18456,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "rtc_analysis_date", - "type": "timestamp", + "name": "repo_category", + "type": "varchar", "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "rtc_analysis_date", + "oldName": "repo_category", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 3, "foreignOptions": [], "isIdentity": false, @@ -19017,22 +18486,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "programming_language", - "type": "varchar", - "length": 0, + "name": "model_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "programming_language", + "oldName": "model_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 4, "foreignOptions": [], "isIdentity": false, @@ -19047,7 +18516,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "file_path", + "name": "metric", "type": "varchar", "length": 0, "decimals": 0, @@ -19057,7 +18526,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "file_path", + "oldName": "metric", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -19077,22 +18546,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "file_name", - "type": "varchar", - "length": 0, + "name": "contamination_factor", + "type": "float8", + "length": 53, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "file_name", + "oldName": "contamination_factor", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 6, "foreignOptions": [], "isIdentity": false, @@ -19107,22 +18576,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "testing_tool", - "type": "varchar", - "length": 0, + "name": "mean_absolute_error", + "type": "float8", + "length": 53, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "testing_tool", + "oldName": "mean_absolute_error", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 7, "foreignOptions": [], "isIdentity": false, @@ -19137,22 +18606,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "file_statement_count", - "type": "int8", - "length": 64, + "name": "remarks", + "type": "varchar", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "file_statement_count", + "oldName": "remarks", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 8, "foreignOptions": [], "isIdentity": false, @@ -19167,22 +18636,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "file_subroutine_count", - "type": "int8", - "length": 64, + "name": "metric_field", + "type": "varchar", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "", - "oldName": "file_subroutine_count", + "comment": "This is a listing of all of the endpoint fields included in the generation of the metric. Sometimes there is one, sometimes there is more than one. This will list them all. ", + "oldName": "metric_field", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 9, "foreignOptions": [], "isIdentity": false, @@ -19197,9 +18666,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "file_statements_tested", - "type": "int8", - "length": 64, + "name": "mean_absolute_actual_value", + "type": "float8", + "length": 53, "decimals": 0, "dimensions": 0, "collation": "", @@ -19207,7 +18676,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "file_statements_tested", + "oldName": "mean_absolute_actual_value", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -19227,9 +18696,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "file_subroutines_tested", - "type": "int8", - "length": 64, + "name": "mean_absolute_prediction_value", + "type": "float8", + "length": 53, "decimals": 0, "dimensions": 0, "collation": "", @@ -19237,7 +18706,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "file_subroutines_tested", + "oldName": "mean_absolute_prediction_value", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -19349,7 +18818,7 @@ "objectType": "TableField_PGSQL", "name": "data_collection_date", "type": "timestamp", - "length": 0, + "length": 6, "decimals": 0, "dimensions": 0, "collation": "", @@ -19380,21 +18849,42 @@ "rules": [], "primaryKey": { "objectType": "PrimaryKey_PGSQL", - "name": "repo_test_coverage_pkey", + "name": "lstm_anomaly_results_pkey", "fields": [ - "repo_id" + "result_id" ], "fillFactor": -1, "indexTablespace": "", "comment": "", "isDeferrable": false, "isDeferred": false, - "oldName": "repo_test_coverage_pkey" + "oldName": "lstm_anomaly_results_pkey" }, "foreignKeys": [ { "objectType": "ForeignKey_PGSQL", - "name": "fk_repo_test_coverage_repo_1", + "name": "fk_lstm_anomaly_results_lstm_anomaly_models_1", + "fields": [ + "model_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "lstm_anomaly_models", + "referenceFields": [ + "model_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_lstm_anomaly_results_lstm_anomaly_models_1" + }, + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_lstm_anomaly_results_repo_1", "fields": [ "repo_id" ], @@ -19409,9 +18899,9 @@ "isMatchFull": false, "isDeferrable": false, "isDeferred": false, - "sourceCardinality": "ZeroOrOneRelationship", - "targetCardinality": "OneAndOnlyOneRelationship", - "oldName": "fk_repo_test_coverage_repo_1" + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_lstm_anomaly_results_repo_1" } ], "uniques": [], @@ -19423,7 +18913,7 @@ }, { "objectType": "TableNormal_PGSQL", - "name": "repo_topic", + "name": "message", "comment": "", "tablespace": "", "isUnlogged": false, @@ -19431,8 +18921,8 @@ "inheritFromTables": [], "hasOIDs": false, "fillFactor": -1, - "oldName": "repo_topic", - "oid": 194262, + "oldName": "message", + "oid": 15486646, "rows": 0, "isInheritTables": false, "cluster": "", @@ -19449,7 +18939,7 @@ "fields": [ { "objectType": "TableField_PGSQL", - "name": "repo_topic_id", + "name": "msg_id", "type": "int8", "length": 64, "decimals": 0, @@ -19457,9 +18947,9 @@ "collation": "", "isNullable": false, "defaultType": "Others", - "defaultValue": "nextval('augur_data.repo_topic_repo_topic_id_seq'::regclass)", + "defaultValue": "nextval('augur_data.message_msg_id_seq'::regclass)", "comment": "", - "oldName": "repo_topic_id", + "oldName": "msg_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -19479,9 +18969,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "repo_id", - "type": "int4", - "length": 32, + "name": "rgls_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, "collation": "", @@ -19489,7 +18979,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "repo_id", + "oldName": "rgls_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -19509,22 +18999,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "topic_id", - "type": "int4", - "length": 32, + "name": "msg_text", + "type": "text", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "topic_id", + "oldName": "msg_text", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 3, "foreignOptions": [], "isIdentity": false, @@ -19539,9 +19029,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "topic_prob", - "type": "float8", - "length": 53, + "name": "msg_timestamp", + "type": "timestamp", + "length": 0, "decimals": 0, "dimensions": 0, "collation": "", @@ -19549,7 +19039,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "topic_prob", + "oldName": "msg_timestamp", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -19567,11 +19057,101 @@ "hasNoIdentityMaxValue": false, "isIdentityCycle": false }, + { + "objectType": "TableField_PGSQL", + "name": "msg_sender_email", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "msg_sender_email", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 5, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "msg_header", + "type": "varchar", + "length": 4000, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "msg_header", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 6, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pltfrm_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pltfrm_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 7, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, { "objectType": "TableField_PGSQL", "name": "tool_source", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", @@ -19585,7 +19165,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 5, + "ordinalPosition": 8, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -19601,7 +19181,7 @@ "objectType": "TableField_PGSQL", "name": "tool_version", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", @@ -19615,7 +19195,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 6, + "ordinalPosition": 9, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -19631,7 +19211,7 @@ "objectType": "TableField_PGSQL", "name": "data_source", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", @@ -19645,7 +19225,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 7, + "ordinalPosition": 10, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -19675,7 +19255,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 8, + "ordinalPosition": 11, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -19686,98 +19266,26 @@ "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false - } - ], - "indexes": [], - "rules": [], - "primaryKey": { - "objectType": "PrimaryKey_PGSQL", - "name": "repo_topic_pkey", - "fields": [ - "repo_topic_id" - ], - "fillFactor": -1, - "indexTablespace": "", - "comment": "", - "isDeferrable": false, - "isDeferred": false, - "oldName": "repo_topic_pkey" - }, - "foreignKeys": [ - { - "objectType": "ForeignKey_PGSQL", - "name": "fk_repo_topic_repo_1", - "fields": [ - "repo_id" - ], - "referenceSchema": "augur_data", - "referenceTable": "repo", - "referenceFields": [ - "repo_id" - ], - "onDelete": "NO ACTION", - "onUpdate": "NO ACTION", - "comment": "", - "isMatchFull": false, - "isDeferrable": false, - "isDeferred": false, - "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "ZeroOrOneRelationship", - "oldName": "fk_repo_topic_repo_1" - } - ], - "uniques": [], - "checks": [], - "excludes": [], - "triggers": [], - "partitionKeys": [], - "partitions": [] - }, - { - "objectType": "TableNormal_PGSQL", - "name": "repos_fetch_log", - "comment": "", - "tablespace": "", - "isUnlogged": false, - "owner": "augur", - "inheritFromTables": [], - "hasOIDs": false, - "fillFactor": -1, - "oldName": "repos_fetch_log", - "oid": 194327, - "rows": 0, - "isInheritTables": false, - "cluster": "", - "ACL": "", - "isPartition": false, - "partitioningStrategy": "None", - "partitionOfSchema": "", - "partitionOfTable": "", - "partitionListValues": [], - "partitionRangeFromValues": [], - "partitionRangeToValues": [], - "foreignServer": "", - "foreignOptionDisplay": "", - "fields": [ + }, { "objectType": "TableField_PGSQL", - "name": "repos_id", - "type": "int4", - "length": 32, + "name": "cntrb_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": false, + "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "", - "oldName": "repos_id", + "comment": "Not populated for mailing lists. Populated for GitHub issues. ", + "oldName": "cntrb_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 1, + "ordinalPosition": 12, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -19791,23 +19299,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "status", - "type": "varchar", - "length": 128, + "name": "platform_msg_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", - "isNullable": false, + "collation": "", + "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "status", + "oldName": "platform_msg_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 2, + "collationSchema": "", + "ordinalPosition": 13, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -19821,23 +19329,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "date", - "type": "timestamp", + "name": "platform_node_id", + "type": "varchar", "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", - "isNullable": false, - "defaultType": "Others", - "defaultValue": "CURRENT_TIMESTAMP", + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "date", + "oldName": "platform_node_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 3, + "collationSchema": "pg_catalog", + "ordinalPosition": 14, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -19853,52 +19361,52 @@ "indexes": [ { "objectType": "Index_PGSQL", - "name": "repos_id,status", + "name": "messagegrouper", "comment": "", "isClustered": false, "isConcurrently": false, - "isUnique": false, + "isUnique": true, "fastUpdate": "", "buffering": "", "fillFactor": -1, "method": "BTree", "tableSpaceName": "", "constraint": "", - "oldName": "repos_id,status", - "oid": 203942, + "oldName": "messagegrouper", + "oid": 15486975, "owner": "augur", "brinPagesPerRange": -1, "ginPendingListLimit": -1, - "tableName": "repos_fetch_log", + "tableName": "message", "size": "8", "fields": [ { "objectType": "IndexField_PGSQL", - "name": "repos_id", + "name": "msg_id", "collation": "", - "opClass": "int4_ops", + "opClass": "int8_ops", "opClassSchema": "pg_catalog", "order": "ASC", "nullSort": "NULLS LAST", - "oldName": "repos_id", + "oldName": "msg_id", "collationSchema": "" }, { "objectType": "IndexField_PGSQL", - "name": "status", - "collation": "default", - "opClass": "text_ops", + "name": "rgls_id", + "collation": "", + "opClass": "int8_ops", "opClassSchema": "pg_catalog", "order": "ASC", "nullSort": "NULLS LAST", - "oldName": "status", - "collationSchema": "pg_catalog" + "oldName": "rgls_id", + "collationSchema": "" } ] }, { "objectType": "Index_PGSQL", - "name": "repos_id,statusops", + "name": "msg-cntrb-id-idx", "comment": "", "isClustered": false, "isConcurrently": false, @@ -19909,42 +19417,182 @@ "method": "BTree", "tableSpaceName": "", "constraint": "", - "oldName": "repos_id,statusops", - "oid": 203946, + "oldName": "msg-cntrb-id-idx", + "oid": 15488145, "owner": "augur", "brinPagesPerRange": -1, "ginPendingListLimit": -1, - "tableName": "repos_fetch_log", + "tableName": "message", "size": "8", "fields": [ { "objectType": "IndexField_PGSQL", - "name": "repos_id", + "name": "cntrb_id", "collation": "", - "opClass": "int4_ops", + "opClass": "int8_ops", "opClassSchema": "pg_catalog", "order": "ASC", "nullSort": "NULLS LAST", - "oldName": "repos_id", + "oldName": "cntrb_id", + "collationSchema": "" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "platformgrouper", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "platformgrouper", + "oid": 15486976, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "message", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "msg_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "msg_id", "collationSchema": "" }, { "objectType": "IndexField_PGSQL", - "name": "status", - "collation": "default", - "opClass": "text_ops", + "name": "pltfrm_id", + "collation": "", + "opClass": "int8_ops", "opClassSchema": "pg_catalog", "order": "ASC", "nullSort": "NULLS LAST", - "oldName": "status", - "collationSchema": "pg_catalog" + "oldName": "pltfrm_id", + "collationSchema": "" } ] } ], "rules": [], - "foreignKeys": [], - "uniques": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "message_pkey", + "fields": [ + "msg_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "message_pkey" + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_message_contributors_1", + "fields": [ + "cntrb_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "contributors", + "referenceFields": [ + "cntrb_id" + ], + "onDelete": "CASCADE", + "onUpdate": "CASCADE", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_message_contributors_1" + }, + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_message_platform_1", + "fields": [ + "pltfrm_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "platform", + "referenceFields": [ + "pltfrm_id" + ], + "onDelete": "CASCADE", + "onUpdate": "CASCADE", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "OneAndOnlyOneRelationship", + "oldName": "fk_message_platform_1" + }, + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_message_repo_groups_list_serve_1", + "fields": [ + "rgls_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "repo_groups_list_serve", + "referenceFields": [ + "rgls_id" + ], + "onDelete": "CASCADE", + "onUpdate": "CASCADE", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_message_repo_groups_list_serve_1" + } + ], + "uniques": [ + { + "objectType": "Unique_PGSQL", + "name": "REPOGROUPLISTER", + "fields": [ + "msg_id", + "rgls_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "REPOGROUPLISTER" + }, + { + "objectType": "Unique_PGSQL", + "name": "platformer", + "fields": [ + "msg_id", + "pltfrm_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "platformer" + } + ], "checks": [], "excludes": [], "triggers": [], @@ -19953,7 +19601,7 @@ }, { "objectType": "TableNormal_PGSQL", - "name": "settings", + "name": "message_analysis", "comment": "", "tablespace": "", "isUnlogged": false, @@ -19961,9 +19609,9 @@ "inheritFromTables": [], "hasOIDs": false, "fillFactor": -1, - "oldName": "settings", - "oid": 194386, - "rows": 13, + "oldName": "message_analysis", + "oid": 15488001, + "rows": 0, "isInheritTables": false, "cluster": "", "ACL": "", @@ -19979,17 +19627,17 @@ "fields": [ { "objectType": "TableField_PGSQL", - "name": "id", - "type": "int4", - "length": 32, - "decimals": 0, + "name": "msg_analysis_id", + "type": "int8", + "length": 64, + "decimals": 0, "dimensions": 0, "collation": "", "isNullable": false, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "nextval('augur_data.message_analysis_msg_analysis_id_seq'::regclass)", "comment": "", - "oldName": "id", + "oldName": "msg_analysis_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -20009,22 +19657,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "setting", - "type": "varchar", - "length": 32, + "name": "msg_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", - "isNullable": false, + "collation": "", + "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "setting", + "oldName": "msg_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 2, "foreignOptions": [], "isIdentity": false, @@ -20039,22 +19687,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "value", - "type": "varchar", - "length": 0, + "name": "worker_run_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", - "isNullable": false, + "collation": "", + "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "", - "oldName": "value", + "comment": "This column is used to indicate analyses run by a worker during the same execution period, and is useful for grouping, and time series analysis. ", + "oldName": "worker_run_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 3, "foreignOptions": [], "isIdentity": false, @@ -20069,17 +19717,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "last_modified", - "type": "timestamp", - "length": 0, + "name": "sentiment_score", + "type": "float8", + "length": 53, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": false, - "defaultType": "Others", - "defaultValue": "CURRENT_TIMESTAMP", - "comment": "", - "oldName": "last_modified", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "A sentiment analysis score. Zero is neutral, negative numbers are negative sentiment, and positive numbers are positive sentiment. ", + "oldName": "sentiment_score", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -20096,106 +19744,26 @@ "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false - } - ], - "indexes": [], - "rules": [], - "primaryKey": { - "objectType": "PrimaryKey_PGSQL", - "name": "settings_pkey", - "fields": [ - "id" - ], - "fillFactor": -1, - "indexTablespace": "", - "comment": "", - "isDeferrable": false, - "isDeferred": false, - "oldName": "settings_pkey" - }, - "foreignKeys": [], - "uniques": [], - "checks": [], - "excludes": [], - "triggers": [], - "partitionKeys": [], - "partitions": [] - }, - { - "objectType": "TableNormal_PGSQL", - "name": "topic_words", - "comment": "", - "tablespace": "", - "isUnlogged": false, - "owner": "augur", - "inheritFromTables": [], - "hasOIDs": false, - "fillFactor": -1, - "oldName": "topic_words", - "oid": 194532, - "rows": 0, - "isInheritTables": false, - "cluster": "", - "ACL": "", - "isPartition": false, - "partitioningStrategy": "None", - "partitionOfSchema": "", - "partitionOfTable": "", - "partitionListValues": [], - "partitionRangeFromValues": [], - "partitionRangeToValues": [], - "foreignServer": "", - "foreignOptionDisplay": "", - "fields": [ - { - "objectType": "TableField_PGSQL", - "name": "topic_words_id", - "type": "int8", - "length": 64, - "decimals": 0, - "dimensions": 0, - "collation": "", - "isNullable": false, - "defaultType": "Others", - "defaultValue": "nextval('augur_data.topic_words_topic_words_id_seq'::regclass)", - "comment": "", - "oldName": "topic_words_id", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 1, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false }, { "objectType": "TableField_PGSQL", - "name": "topic_id", - "type": "int8", - "length": 64, + "name": "reconstruction_error", + "type": "float8", + "length": 53, "decimals": 0, "dimensions": 0, "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "", - "oldName": "topic_id", + "comment": "Each message is converted to a 250 dimensin doc2vec vector, so the reconstruction error is the difference between what the predicted vector and the actual vector.", + "oldName": "reconstruction_error", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 2, + "ordinalPosition": 5, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -20209,23 +19777,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "word", - "type": "varchar", + "name": "novelty_flag", + "type": "bool", "length": 0, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "", - "oldName": "word", + "comment": "This is an analysis of the degree to which the message is novel when compared to other messages in a repository. For example when bots are producing numerous identical messages, the novelty score is low. It would also be a low novelty score when several people are making the same coment. ", + "oldName": "novelty_flag", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 3, + "collationSchema": "", + "ordinalPosition": 6, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -20239,23 +19807,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "word_prob", - "type": "float8", - "length": 53, + "name": "feedback_flag", + "type": "bool", + "length": 0, "decimals": 0, "dimensions": 0, "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "", - "oldName": "word_prob", + "comment": "This exists to provide the user with an opportunity provide feedback on the resulting the sentiment scores. ", + "oldName": "feedback_flag", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 4, + "ordinalPosition": 7, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -20285,7 +19853,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 5, + "ordinalPosition": 8, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -20315,7 +19883,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 6, + "ordinalPosition": 9, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -20345,7 +19913,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 7, + "ordinalPosition": 10, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -20375,7 +19943,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 8, + "ordinalPosition": 11, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -20392,18 +19960,40 @@ "rules": [], "primaryKey": { "objectType": "PrimaryKey_PGSQL", - "name": "topic_words_pkey", + "name": "message_analysis_pkey", "fields": [ - "topic_words_id" + "msg_analysis_id" ], "fillFactor": -1, "indexTablespace": "", "comment": "", "isDeferrable": false, "isDeferred": false, - "oldName": "topic_words_pkey" + "oldName": "message_analysis_pkey" }, - "foreignKeys": [], + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_message_analysis_message_1", + "fields": [ + "msg_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "message", + "referenceFields": [ + "msg_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_message_analysis_message_1" + } + ], "uniques": [], "checks": [], "excludes": [], @@ -20413,16 +20003,16 @@ }, { "objectType": "TableNormal_PGSQL", - "name": "unknown_cache", - "comment": "", + "name": "message_analysis_summary", + "comment": "In a relationally perfect world, we would have a table called “message_analysis_run” the incremented the “worker_run_id” for both message_analysis and message_analysis_summary. For now, we decided this was overkill. ", "tablespace": "", "isUnlogged": false, "owner": "augur", "inheritFromTables": [], "hasOIDs": false, "fillFactor": -1, - "oldName": "unknown_cache", - "oid": 194612, + "oldName": "message_analysis_summary", + "oid": 15488013, "rows": 0, "isInheritTables": false, "cluster": "", @@ -20439,22 +20029,22 @@ "fields": [ { "objectType": "TableField_PGSQL", - "name": "type", - "type": "varchar", - "length": 10, + "name": "msg_summary_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": false, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "nextval('augur_data.message_analysis_summary_msg_summary_id_seq'::regclass)", "comment": "", - "oldName": "type", + "oldName": "msg_summary_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 1, "foreignOptions": [], "isIdentity": false, @@ -20469,17 +20059,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "repo_group_id", - "type": "int4", - "length": 32, + "name": "repo_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": false, + "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "repo_group_id", + "oldName": "repo_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -20499,22 +20089,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "email", - "type": "varchar", - "length": 128, + "name": "worker_run_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", - "isNullable": false, + "collation": "", + "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "", - "oldName": "email", + "comment": "This value should reflect the worker_run_id for the messages summarized in the table. There is not a relation between these two tables for that purpose because its not *really*, relationaly a concept unless we create a third table for \"worker_run_id\", which we determined was unnecessarily complex. ", + "oldName": "worker_run_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 3, "foreignOptions": [], "isIdentity": false, @@ -20529,22 +20119,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "domain", - "type": "varchar", - "length": 128, + "name": "positive_ratio", + "type": "float8", + "length": 53, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, - "defaultType": "Others", - "defaultValue": "'NULL'::character varying", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "domain", + "oldName": "positive_ratio", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 4, "foreignOptions": [], "isIdentity": false, @@ -20559,17 +20149,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "added", - "type": "int8", - "length": 64, + "name": "negative_ratio", + "type": "float8", + "length": 53, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": false, + "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "added", + "oldName": "negative_ratio", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -20587,11 +20177,71 @@ "hasNoIdentityMaxValue": false, "isIdentityCycle": false }, + { + "objectType": "TableField_PGSQL", + "name": "novel_count", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "The number of messages identified as novel during the analyzed period", + "oldName": "novel_count", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 6, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "period", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "The whole timeline is divided into periods based on the definition of time period for analysis, which is user specified. Timestamp of the first period to look at, until the end of messages at the data of execution. ", + "oldName": "period", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 7, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, { "objectType": "TableField_PGSQL", "name": "tool_source", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", @@ -20605,7 +20255,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 6, + "ordinalPosition": 8, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -20621,7 +20271,7 @@ "objectType": "TableField_PGSQL", "name": "tool_version", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", @@ -20635,7 +20285,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 7, + "ordinalPosition": 9, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -20651,7 +20301,7 @@ "objectType": "TableField_PGSQL", "name": "data_source", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", @@ -20665,7 +20315,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 8, + "ordinalPosition": 10, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -20695,7 +20345,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 9, + "ordinalPosition": 11, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -20708,55 +20358,44 @@ "isIdentityCycle": false } ], - "indexes": [ + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "message_analysis_summary_pkey", + "fields": [ + "msg_summary_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "message_analysis_summary_pkey" + }, + "foreignKeys": [ { - "objectType": "Index_PGSQL", - "name": "type,projects_id", - "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "type,projects_id", - "oid": 203971, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "unknown_cache", - "size": "8", + "objectType": "ForeignKey_PGSQL", + "name": "fk_message_analysis_summary_repo_1", "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "type", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "type", - "collationSchema": "pg_catalog" - }, - { - "objectType": "IndexField_PGSQL", - "name": "repo_group_id", - "collation": "", - "opClass": "int4_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "repo_group_id", - "collationSchema": "" - } - ] + "repo_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "repo", + "referenceFields": [ + "repo_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_message_analysis_summary_repo_1" } ], - "rules": [], - "foreignKeys": [], "uniques": [], "checks": [], "excludes": [], @@ -20766,7 +20405,7 @@ }, { "objectType": "TableNormal_PGSQL", - "name": "utility_log", + "name": "message_sentiment", "comment": "", "tablespace": "", "isUnlogged": false, @@ -20774,8 +20413,8 @@ "inheritFromTables": [], "hasOIDs": false, "fillFactor": -1, - "oldName": "utility_log", - "oid": 194757, + "oldName": "message_sentiment", + "oid": 15488117, "rows": 0, "isInheritTables": false, "cluster": "", @@ -20792,7 +20431,7 @@ "fields": [ { "objectType": "TableField_PGSQL", - "name": "id", + "name": "msg_analysis_id", "type": "int8", "length": 64, "decimals": 0, @@ -20800,9 +20439,9 @@ "collation": "", "isNullable": false, "defaultType": "Others", - "defaultValue": "nextval('augur_data.utility_log_id_seq1'::regclass)", + "defaultValue": "nextval('augur_data.message_sentiment_msg_analysis_id_seq'::regclass)", "comment": "", - "oldName": "id", + "oldName": "msg_analysis_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -20822,22 +20461,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "level", - "type": "varchar", - "length": 8, + "name": "msg_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", - "isNullable": false, + "collation": "", + "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "level", + "oldName": "msg_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 2, "foreignOptions": [], "isIdentity": false, @@ -20852,22 +20491,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "status", - "type": "varchar", - "length": 0, + "name": "worker_run_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", - "isNullable": false, + "collation": "", + "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "", - "oldName": "status", + "comment": "This column is used to indicate analyses run by a worker during the same execution period, and is useful for grouping, and time series analysis. ", + "oldName": "worker_run_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 3, "foreignOptions": [], "isIdentity": false, @@ -20882,17 +20521,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "attempted", - "type": "timestamp", - "length": 0, + "name": "sentiment_score", + "type": "float8", + "length": 53, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": false, - "defaultType": "Others", - "defaultValue": "CURRENT_TIMESTAMP", - "comment": "", - "oldName": "attempted", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "A sentiment analysis score. Zero is neutral, negative numbers are negative sentiment, and positive numbers are positive sentiment. ", + "oldName": "sentiment_score", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -20909,76 +20548,26 @@ "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false - } - ], - "indexes": [], - "rules": [], - "primaryKey": { - "objectType": "PrimaryKey_PGSQL", - "name": "utility_log_pkey", - "fields": [ - "id" - ], - "fillFactor": -1, - "indexTablespace": "", - "comment": "", - "isDeferrable": false, - "isDeferred": false, - "oldName": "utility_log_pkey" - }, - "foreignKeys": [], - "uniques": [], - "checks": [], - "excludes": [], - "triggers": [], - "partitionKeys": [], - "partitions": [] - }, - { - "objectType": "TableNormal_PGSQL", - "name": "working_commits", - "comment": "", - "tablespace": "", - "isUnlogged": false, - "owner": "augur", - "inheritFromTables": [], - "hasOIDs": false, - "fillFactor": -1, - "oldName": "working_commits", - "oid": 194888, - "rows": 0, - "isInheritTables": false, - "cluster": "", - "ACL": "", - "isPartition": false, - "partitioningStrategy": "None", - "partitionOfSchema": "", - "partitionOfTable": "", - "partitionListValues": [], - "partitionRangeFromValues": [], - "partitionRangeToValues": [], - "foreignServer": "", - "foreignOptionDisplay": "", - "fields": [ + }, { "objectType": "TableField_PGSQL", - "name": "repos_id", - "type": "int4", - "length": 32, + "name": "reconstruction_error", + "type": "float8", + "length": 53, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": false, + "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "", - "oldName": "repos_id", + "comment": "Each message is converted to a 250 dimensin doc2vec vector, so the reconstruction error is the difference between what the predicted vector and the actual vector.", + "oldName": "reconstruction_error", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 1, + "ordinalPosition": 5, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -20992,23 +20581,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "working_commit", - "type": "varchar", - "length": 40, + "name": "novelty_flag", + "type": "bool", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, - "defaultType": "Others", - "defaultValue": "'NULL'::character varying", - "comment": "", - "oldName": "working_commit", + "defaultType": "None", + "defaultValue": "", + "comment": "This is an analysis of the degree to which the message is novel when compared to other messages in a repository. For example when bots are producing numerous identical messages, the novelty score is low. It would also be a low novelty score when several people are making the same coment. ", + "oldName": "novelty_flag", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 2, + "collationSchema": "", + "ordinalPosition": 6, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -21019,63 +20608,26 @@ "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false - } - ], - "indexes": [], - "rules": [], - "foreignKeys": [], - "uniques": [], - "checks": [], - "excludes": [], - "triggers": [], - "partitionKeys": [], - "partitions": [] - }, - { - "objectType": "TableNormal_PGSQL", - "name": "pull_request_reviews", - "comment": "", - "tablespace": "", - "isUnlogged": false, - "owner": "augur", - "inheritFromTables": [], - "hasOIDs": false, - "fillFactor": -1, - "oldName": "pull_request_reviews", - "oid": 191281, - "rows": 0, - "isInheritTables": false, - "cluster": "", - "ACL": "", - "isPartition": false, - "partitioningStrategy": "None", - "partitionOfSchema": "", - "partitionOfTable": "", - "partitionListValues": [], - "partitionRangeFromValues": [], - "partitionRangeToValues": [], - "foreignServer": "", - "foreignOptionDisplay": "", - "fields": [ + }, { "objectType": "TableField_PGSQL", - "name": "pr_review_id", - "type": "int8", - "length": 64, + "name": "feedback_flag", + "type": "bool", + "length": 0, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": false, - "defaultType": "Others", - "defaultValue": "nextval('augur_data.pull_request_reviews_pr_review_id_seq'::regclass)", - "comment": "", - "oldName": "pr_review_id", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "This exists to provide the user with an opportunity provide feedback on the resulting the sentiment scores. ", + "oldName": "feedback_flag", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 1, + "ordinalPosition": 7, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -21089,23 +20641,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "pull_request_id", - "type": "int8", - "length": 64, + "name": "tool_source", + "type": "varchar", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", - "isNullable": false, + "collation": "default", + "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pull_request_id", + "oldName": "tool_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 2, + "collationSchema": "pg_catalog", + "ordinalPosition": 8, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -21119,23 +20671,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "cntrb_id", - "type": "int8", - "length": 64, + "name": "tool_version", + "type": "varchar", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", - "isNullable": false, + "collation": "default", + "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "cntrb_id", + "oldName": "tool_version", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 3, + "collationSchema": "pg_catalog", + "ordinalPosition": 9, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -21149,7 +20701,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_review_author_association", + "name": "data_source", "type": "varchar", "length": 0, "decimals": 0, @@ -21159,13 +20711,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_review_author_association", + "oldName": "data_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 4, + "ordinalPosition": 10, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -21179,23 +20731,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_review_state", - "type": "varchar", + "name": "data_collection_date", + "type": "timestamp", "length": 0, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", "comment": "", - "oldName": "pr_review_state", + "oldName": "data_collection_date", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 5, + "collationSchema": "", + "ordinalPosition": 11, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -21206,26 +20758,98 @@ "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false - }, + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "message_sentiment_pkey", + "fields": [ + "msg_analysis_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "message_sentiment_pkey" + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_message_sentiment_message_1", + "fields": [ + "msg_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "message", + "referenceFields": [ + "msg_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_message_sentiment_message_1" + } + ], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "message_sentiment_summary", + "comment": "In a relationally perfect world, we would have a table called “message_sentiment_run” the incremented the “worker_run_id” for both message_sentiment and message_sentiment_summary. For now, we decided this was overkill. ", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "message_sentiment_summary", + "oid": 15488127, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ { "objectType": "TableField_PGSQL", - "name": "pr_review_body", - "type": "varchar", - "length": 0, + "name": "msg_summary_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_data.message_sentiment_summary_msg_summary_id_seq'::regclass)", "comment": "", - "oldName": "pr_review_body", + "oldName": "msg_summary_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 6, + "collationSchema": "", + "ordinalPosition": 1, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -21239,9 +20863,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_review_submitted_at", - "type": "timestamp", - "length": 6, + "name": "repo_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, "collation": "", @@ -21249,13 +20873,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_review_submitted_at", + "oldName": "repo_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 7, + "ordinalPosition": 2, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -21269,7 +20893,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_review_src_id", + "name": "worker_run_id", "type": "int8", "length": 64, "decimals": 0, @@ -21278,14 +20902,14 @@ "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "", - "oldName": "pr_review_src_id", + "comment": "This value should reflect the worker_run_id for the messages summarized in the table. There is not a relation between these two tables for that purpose because its not *really*, relationaly a concept unless we create a third table for \"worker_run_id\", which we determined was unnecessarily complex. ", + "oldName": "worker_run_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 8, + "ordinalPosition": 3, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -21299,23 +20923,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_review_node_id", - "type": "varchar", - "length": 0, + "name": "positive_ratio", + "type": "float8", + "length": 53, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_review_node_id", + "oldName": "positive_ratio", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 9, + "collationSchema": "", + "ordinalPosition": 4, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -21329,23 +20953,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_review_html_url", - "type": "varchar", - "length": 0, + "name": "negative_ratio", + "type": "float8", + "length": 53, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_review_html_url", + "oldName": "negative_ratio", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 10, + "collationSchema": "", + "ordinalPosition": 5, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -21359,23 +20983,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_review_pull_request_url", - "type": "varchar", - "length": 0, + "name": "novel_count", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "", - "oldName": "pr_review_pull_request_url", + "comment": "The number of messages identified as novel during the analyzed period", + "oldName": "novel_count", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 11, + "collationSchema": "", + "ordinalPosition": 6, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -21389,23 +21013,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_review_commit_id", - "type": "varchar", + "name": "period", + "type": "timestamp", "length": 0, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "", - "oldName": "pr_review_commit_id", + "comment": "The whole timeline is divided into periods based on the definition of time period for analysis, which is user specified. Timestamp of the first period to look at, until the end of messages at the data of execution. ", + "oldName": "period", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 12, + "collationSchema": "", + "ordinalPosition": 7, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -21435,7 +21059,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 13, + "ordinalPosition": 8, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -21465,7 +21089,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 14, + "ordinalPosition": 9, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -21495,7 +21119,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 15, + "ordinalPosition": 10, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -21525,7 +21149,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 16, + "ordinalPosition": 11, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -21542,59 +21166,38 @@ "rules": [], "primaryKey": { "objectType": "PrimaryKey_PGSQL", - "name": "pull_request_review_id", + "name": "message_sentiment_summary_pkey", "fields": [ - "pr_review_id" + "msg_summary_id" ], "fillFactor": -1, "indexTablespace": "", "comment": "", "isDeferrable": false, "isDeferred": false, - "oldName": "pull_request_review_id" + "oldName": "message_sentiment_summary_pkey" }, "foreignKeys": [ { "objectType": "ForeignKey_PGSQL", - "name": "fk_pull_request_reviews_contributors_1", - "fields": [ - "cntrb_id" - ], - "referenceSchema": "augur_data", - "referenceTable": "contributors", - "referenceFields": [ - "cntrb_id" - ], - "onDelete": "RESTRICT", - "onUpdate": "CASCADE", - "comment": "", - "isMatchFull": false, - "isDeferrable": true, - "isDeferred": false, - "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "OneAndOnlyOneRelationship", - "oldName": "fk_pull_request_reviews_contributors_1" - }, - { - "objectType": "ForeignKey_PGSQL", - "name": "fk_pull_request_reviews_pull_requests_1", + "name": "fk_message_sentiment_summary_repo_1", "fields": [ - "pull_request_id" + "repo_id" ], "referenceSchema": "augur_data", - "referenceTable": "pull_requests", + "referenceTable": "repo", "referenceFields": [ - "pull_request_id" + "repo_id" ], - "onDelete": "RESTRICT", - "onUpdate": "CASCADE", + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", "comment": "", "isMatchFull": false, - "isDeferrable": true, + "isDeferrable": false, "isDeferred": false, "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "OneAndOnlyOneRelationship", - "oldName": "fk_pull_request_reviews_pull_requests_1" + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_message_sentiment_summary_repo_1" } ], "uniques": [], @@ -21606,17 +21209,17 @@ }, { "objectType": "TableNormal_PGSQL", - "name": "pull_request_repo", - "comment": "This table is for storing information about forks that exist as part of a pull request. Generally we do not want to track these like ordinary repositories. ", + "name": "platform", + "comment": "", "tablespace": "", "isUnlogged": false, "owner": "augur", "inheritFromTables": [], "hasOIDs": false, "fillFactor": -1, - "oldName": "pull_request_repo", - "oid": 190990, - "rows": 0, + "oldName": "platform", + "oid": 15486653, + "rows": 2, "isInheritTables": false, "cluster": "", "ACL": "", @@ -21632,7 +21235,7 @@ "fields": [ { "objectType": "TableField_PGSQL", - "name": "pr_repo_id", + "name": "pltfrm_id", "type": "int8", "length": 64, "decimals": 0, @@ -21640,9 +21243,9 @@ "collation": "", "isNullable": false, "defaultType": "Others", - "defaultValue": "nextval('augur_data.pull_request_repo_pr_repo_id_seq'::regclass)", + "defaultValue": "nextval('augur_data.platform_pltfrm_id_seq'::regclass)", "comment": "", - "oldName": "pr_repo_id", + "oldName": "pltfrm_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -21662,22 +21265,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_repo_meta_id", - "type": "int8", - "length": 64, + "name": "pltfrm_name", + "type": "varchar", + "length": 255, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_repo_meta_id", + "oldName": "pltfrm_name", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 2, "foreignOptions": [], "isIdentity": false, @@ -21692,17 +21295,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_repo_head_or_base", + "name": "pltfrm_version", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "For ease of validation checking, we should determine if the repository referenced is the head or base of the pull request. Each pull request should have one and only one of these, which is not enforcable easily in the database.", - "oldName": "pr_repo_head_or_base", + "comment": "", + "oldName": "pltfrm_version", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -21722,9 +21325,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_src_repo_id", - "type": "int8", - "length": 64, + "name": "pltfrm_release_date", + "type": "date", + "length": 0, "decimals": 0, "dimensions": 0, "collation": "", @@ -21732,7 +21335,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_src_repo_id", + "oldName": "pltfrm_release_date", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -21752,9 +21355,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_src_node_id", + "name": "tool_source", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", @@ -21762,7 +21365,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_src_node_id", + "oldName": "tool_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -21782,9 +21385,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_repo_name", + "name": "tool_version", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", @@ -21792,7 +21395,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_repo_name", + "oldName": "tool_version", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -21812,9 +21415,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_repo_full_name", + "name": "data_source", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", @@ -21822,7 +21425,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_repo_full_name", + "oldName": "data_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -21842,8 +21445,8 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_repo_private_bool", - "type": "bool", + "name": "data_collection_date", + "type": "timestamp", "length": 0, "decimals": 0, "dimensions": 0, @@ -21852,7 +21455,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_repo_private_bool", + "oldName": "data_collection_date", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -21869,189 +21472,39 @@ "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "pr_cntrb_id", - "type": "int8", - "length": 64, - "decimals": 0, - "dimensions": 0, - "collation": "", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "pr_cntrb_id", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 9, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, + } + ], + "indexes": [ { - "objectType": "TableField_PGSQL", - "name": "tool_source", - "type": "varchar", - "length": 255, - "decimals": 0, - "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "tool_source", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 10, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "tool_version", - "type": "varchar", - "length": 255, - "decimals": 0, - "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "tool_version", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 11, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "data_source", - "type": "varchar", - "length": 255, - "decimals": 0, - "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "data_source", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 12, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "data_collection_date", - "type": "timestamp", - "length": 0, - "decimals": 0, - "dimensions": 0, - "collation": "", - "isNullable": true, - "defaultType": "Others", - "defaultValue": "CURRENT_TIMESTAMP", - "comment": "", - "oldName": "data_collection_date", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 13, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - } - ], - "indexes": [ - { - "objectType": "Index_PGSQL", - "name": "pr-cntrb-idx-repo", + "objectType": "Index_PGSQL", + "name": "plat", "comment": "", "isClustered": false, "isConcurrently": false, - "isUnique": false, + "isUnique": true, "fastUpdate": "", "buffering": "", "fillFactor": -1, "method": "BTree", "tableSpaceName": "", "constraint": "", - "oldName": "pr-cntrb-idx-repo", - "oid": 203793, + "oldName": "plat", + "oid": 15486983, "owner": "augur", "brinPagesPerRange": -1, "ginPendingListLimit": -1, - "tableName": "pull_request_repo", - "size": "8", + "tableName": "platform", + "size": "16", "fields": [ { "objectType": "IndexField_PGSQL", - "name": "pr_cntrb_id", + "name": "pltfrm_id", "collation": "", "opClass": "int8_ops", "opClassSchema": "pg_catalog", "order": "ASC", "nullSort": "NULLS LAST", - "oldName": "pr_cntrb_id", + "oldName": "pltfrm_id", "collationSchema": "" } ] @@ -22060,61 +21513,18 @@ "rules": [], "primaryKey": { "objectType": "PrimaryKey_PGSQL", - "name": "pull_request_repo_pkey", + "name": "theplat", "fields": [ - "pr_repo_id" + "pltfrm_id" ], "fillFactor": -1, "indexTablespace": "", "comment": "", "isDeferrable": false, "isDeferred": false, - "oldName": "pull_request_repo_pkey" + "oldName": "theplat" }, - "foreignKeys": [ - { - "objectType": "ForeignKey_PGSQL", - "name": "fk_pull_request_repo_contributors_1", - "fields": [ - "pr_cntrb_id" - ], - "referenceSchema": "augur_data", - "referenceTable": "contributors", - "referenceFields": [ - "cntrb_id" - ], - "onDelete": "RESTRICT", - "onUpdate": "CASCADE", - "comment": "", - "isMatchFull": false, - "isDeferrable": true, - "isDeferred": false, - "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "ZeroOrOneRelationship", - "oldName": "fk_pull_request_repo_contributors_1" - }, - { - "objectType": "ForeignKey_PGSQL", - "name": "fk_pull_request_repo_pull_request_meta_1", - "fields": [ - "pr_repo_meta_id" - ], - "referenceSchema": "augur_data", - "referenceTable": "pull_request_meta", - "referenceFields": [ - "pr_repo_meta_id" - ], - "onDelete": "RESTRICT", - "onUpdate": "CASCADE", - "comment": "", - "isMatchFull": false, - "isDeferrable": true, - "isDeferred": false, - "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "ZeroOrOneRelationship", - "oldName": "fk_pull_request_repo_pull_request_meta_1" - } - ], + "foreignKeys": [], "uniques": [], "checks": [], "excludes": [], @@ -22124,16 +21534,16 @@ }, { "objectType": "TableNormal_PGSQL", - "name": "pull_request_meta", - "comment": "Pull requests contain referencing metadata. There are a few columns that are discrete. There are also head and base designations for the repo on each side of the pull request. Similar functions exist in GitLab, though the language here is based on GitHub. The JSON Being adapted to as of the development of this schema is here: \"base\": { \"label\": \"chaoss:dev\", \"ref\": \"dev\", \"sha\": \"dc6c6f3947f7dc84ecba3d8bda641ef786e7027d\", \"user\": { \"login\": \"chaoss\", \"id\": 29740296, \"node_id\": \"MDEyOk9yZ2FuaXphdGlvbjI5NzQwMjk2\", \"avatar_url\": \"https://avatars2.githubusercontent.com/u/29740296?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/chaoss\", \"html_url\": \"https://github.com/chaoss\", \"followers_url\": \"https://api.github.com/users/chaoss/followers\", \"following_url\": \"https://api.github.com/users/chaoss/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/chaoss/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/chaoss/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/chaoss/subscriptions\", \"organizations_url\": \"https://api.github.com/users/chaoss/orgs\", \"repos_url\": \"https://api.github.com/users/chaoss/repos\", \"events_url\": \"https://api.github.com/users/chaoss/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/chaoss/received_events\", \"type\": \"Organization\", \"site_admin\": false }, \"repo\": { \"id\": 78134122, \"node_id\": \"MDEwOlJlcG9zaXRvcnk3ODEzNDEyMg==\", \"name\": \"augur\", \"full_name\": \"chaoss/augur\", \"private\": false, \"owner\": { \"login\": \"chaoss\", \"id\": 29740296, \"node_id\": \"MDEyOk9yZ2FuaXphdGlvbjI5NzQwMjk2\", \"avatar_url\": \"https://avatars2.githubusercontent.com/u/29740296?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/chaoss\", \"html_url\": \"https://github.com/chaoss\", \"followers_url\": \"https://api.github.com/users/chaoss/followers\", \"following_url\": \"https://api.github.com/users/chaoss/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/chaoss/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/chaoss/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/chaoss/subscriptions\", \"organizations_url\": \"https://api.github.com/users/chaoss/orgs\", \"repos_url\": \"https://api.github.com/users/chaoss/repos\", \"events_url\": \"https://api.github.com/users/chaoss/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/chaoss/received_events\", \"type\": \"Organization\", \"site_admin\": false }, ", + "name": "pull_request_analysis", + "comment": "", "tablespace": "", "isUnlogged": false, "owner": "augur", "inheritFromTables": [], "hasOIDs": false, "fillFactor": -1, - "oldName": "pull_request_meta", - "oid": 190880, + "oldName": "pull_request_analysis", + "oid": 15488239, "rows": 0, "isInheritTables": false, "cluster": "", @@ -22150,7 +21560,7 @@ "fields": [ { "objectType": "TableField_PGSQL", - "name": "pr_repo_meta_id", + "name": "pull_request_analysis_id", "type": "int8", "length": 64, "decimals": 0, @@ -22158,9 +21568,9 @@ "collation": "", "isNullable": false, "defaultType": "Others", - "defaultValue": "nextval('augur_data.pull_request_meta_pr_repo_meta_id_seq'::regclass)", + "defaultValue": "nextval('augur_data.pull_request_analysis_pull_request_analysis_id_seq'::regclass)", "comment": "", - "oldName": "pr_repo_meta_id", + "oldName": "pull_request_analysis_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -22189,7 +21599,7 @@ "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "", + "comment": "It would be better if the pull request worker is run first to fetch the latest PRs before analyzing", "oldName": "pull_request_id", "typeOID": 1, "fieldObjectType": "", @@ -22210,22 +21620,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_head_or_base", - "type": "varchar", - "length": 0, - "decimals": 0, + "name": "merge_probability", + "type": "numeric", + "length": 256, + "decimals": 250, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "Each pull request should have one and only one head record; and one and only one base record. ", - "oldName": "pr_head_or_base", + "comment": "Indicates the probability of the PR being merged", + "oldName": "merge_probability", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 3, "foreignOptions": [], "isIdentity": false, @@ -22240,7 +21650,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_src_meta_label", + "name": "mechanism", "type": "varchar", "length": 0, "decimals": 0, @@ -22249,8 +21659,8 @@ "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "This is a representation of the repo:branch information in the pull request. Head is issueing the pull request and base is taking the pull request. For example: (We do not store all of this)\n\n \"head\": {\n \"label\": \"chaoss:pull-request-worker\",\n \"ref\": \"pull-request-worker\",\n \"sha\": \"6b380c3d6d625616f79d702612ebab6d204614f2\",\n \"user\": {\n \"login\": \"chaoss\",\n \"id\": 29740296,\n \"node_id\": \"MDEyOk9yZ2FuaXphdGlvbjI5NzQwMjk2\",\n \"avatar_url\": \"https://avatars2.githubusercontent.com/u/29740296?v=4\",\n \"gravatar_id\": \"\",\n \"url\": \"https://api.github.com/users/chaoss\",\n \"html_url\": \"https://github.com/chaoss\",\n \"followers_url\": \"https://api.github.com/users/chaoss/followers\",\n \"following_url\": \"https://api.github.com/users/chaoss/following{/other_user}\",\n \"gists_url\": \"https://api.github.com/users/chaoss/gists{/gist_id}\",\n \"starred_url\": \"https://api.github.com/users/chaoss/starred{/owner}{/repo}\",\n \"subscriptions_url\": \"https://api.github.com/users/chaoss/subscriptions\",\n \"organizations_url\": \"https://api.github.com/users/chaoss/orgs\",\n \"repos_url\": \"https://api.github.com/users/chaoss/repos\",\n \"events_url\": \"https://api.github.com/users/chaoss/events{/privacy}\",\n \"received_events_url\": \"https://api.github.com/users/chaoss/received_events\",\n \"type\": \"Organization\",\n \"site_admin\": false\n },\n \"repo\": {\n \"id\": 78134122,\n \"node_id\": \"MDEwOlJlcG9zaXRvcnk3ODEzNDEyMg==\",\n \"name\": \"augur\",\n \"full_name\": \"chaoss/augur\",\n \"private\": false,\n \"owner\": {\n \"login\": \"chaoss\",\n \"id\": 29740296,\n \"node_id\": \"MDEyOk9yZ2FuaXphdGlvbjI5NzQwMjk2\",\n \"avatar_url\": \"https://avatars2.githubusercontent.com/u/29740296?v=4\",\n \"gravatar_id\": \"\",\n \"url\": \"https://api.github.com/users/chaoss\",\n \"html_url\": \"https://github.com/chaoss\",\n \"followers_url\": \"https://api.github.com/users/chaoss/followers\",\n \"following_url\": \"https://api.github.com/users/chaoss/following{/other_user}\",\n \"gists_url\": \"https://api.github.com/users/chaoss/gists{/gist_id}\",\n \"starred_url\": \"https://api.github.com/users/chaoss/starred{/owner}{/repo}\",\n \"subscriptions_url\": \"https://api.github.com/users/chaoss/subscriptions\",\n \"organizations_url\": \"https://api.github.com/users/chaoss/orgs\",\n \"repos_url\": \"https://api.github.com/users/chaoss/repos\",\n \"events_url\": \"https://api.github.com/users/chaoss/events{/privacy}\",\n \"received_events_url\": \"https://api.github.com/users/chaoss/received_events\",\n \"type\": \"Organization\",\n \"site_admin\": false\n },\n \"html_url\": \"https://github.com/chaoss/augur\",\n \"description\": \"Python library and web service for Open Source Software Health and Sustainability metrics & data collection.\",\n \"fork\": false,\n \"url\": \"https://api.github.com/repos/chaoss/augur\",\n \"forks_url\": \"https://api.github.com/repos/chaoss/augur/forks\",\n \"keys_url\": \"https://api.github.com/repos/chaoss/augur/keys{/key_id}\",\n \"collaborators_url\": \"https://api.github.com/repos/chaoss/augur/collaborators{/collaborator}\",\n \"teams_url\": \"https://api.github.com/repos/chaoss/augur/teams\",\n \"hooks_url\": \"https://api.github.com/repos/chaoss/augur/hooks\",\n \"issue_events_url\": \"https://api.github.com/repos/chaoss/augur/issues/events{/number}\",\n \"events_url\": \"https://api.github.com/repos/chaoss/augur/events\",\n \"assignees_url\": \"https://api.github.com/repos/chaoss/augur/assignees{/user}\",\n \"branches_url\": \"https://api.github.com/repos/chaoss/augur/branches{/branch}\",\n \"tags_url\": \"https://api.github.com/repos/chaoss/augur/tags\",\n \"blobs_url\": \"https://api.github.com/repos/chaoss/augur/git/blobs{/sha}\",\n \"git_tags_url\": \"https://api.github.com/repos/chaoss/augur/git/tags{/sha}\",\n \"git_refs_url\": \"https://api.github.com/repos/chaoss/augur/git/refs{/sha}\",\n \"trees_url\": \"https://api.github.com/repos/chaoss/augur/git/trees{/sha}\",\n \"statuses_url\": \"https://api.github.com/repos/chaoss/augur/statuses/{sha}\",\n \"languages_url\": \"https://api.github.com/repos/chaoss/augur/languages\",\n \"stargazers_url\": \"https://api.github.com/repos/chaoss/augur/stargazers\",\n \"contributors_url\": \"https://api.github.com/repos/chaoss/augur/contributors\",\n \"subscribers_url\": \"https://api.github.com/repos/chaoss/augur/subscribers\",\n \"subscription_url\": \"https://api.github.com/repos/chaoss/augur/subscription\",\n \"commits_url\": \"https://api.github.com/repos/chaoss/augur/commits{/sha}\",\n \"git_commits_url\": \"https://api.github.com/repos/chaoss/augur/git/commits{/sha}\",\n \"comments_url\": \"https://api.github.com/repos/chaoss/augur/comments{/number}\",\n \"issue_comment_url\": \"https://api.github.com/repos/chaoss/augur/issues/comments{/number}\",\n \"contents_url\": \"https://api.github.com/repos/chaoss/augur/contents/{+path}\",\n \"compare_url\": \"https://api.github.com/repos/chaoss/augur/compare/{base}...{head}\",\n \"merges_url\": \"https://api.github.com/repos/chaoss/augur/merges\",\n \"archive_url\": \"https://api.github.com/repos/chaoss/augur/{archive_format}{/ref}\",\n \"downloads_url\": \"https://api.github.com/repos/chaoss/augur/downloads\",\n \"issues_url\": \"https://api.github.com/repos/chaoss/augur/issues{/number}\",\n \"pulls_url\": \"https://api.github.com/repos/chaoss/augur/pulls{/number}\",\n \"milestones_url\": \"https://api.github.com/repos/chaoss/augur/milestones{/number}\",\n \"notifications_url\": \"https://api.github.com/repos/chaoss/augur/notifications{?since,all,participating}\",\n \"labels_url\": \"https://api.github.com/repos/chaoss/augur/labels{/name}\",\n \"releases_url\": \"https://api.github.com/repos/chaoss/augur/releases{/id}\",\n \"deployments_url\": \"https://api.github.com/repos/chaoss/augur/deployments\",\n \"created_at\": \"2017-01-05T17:34:54Z\",\n \"updated_at\": \"2019-11-15T00:56:12Z\",\n \"pushed_at\": \"2019-12-02T06:27:26Z\",\n \"git_url\": \"git://github.com/chaoss/augur.git\",\n \"ssh_url\": \"git@github.com:chaoss/augur.git\",\n \"clone_url\": \"https://github.com/chaoss/augur.git\",\n \"svn_url\": \"https://github.com/chaoss/augur\",\n \"homepage\": \"http://augur.osshealth.io/\",\n \"size\": 82004,\n \"stargazers_count\": 153,\n \"watchers_count\": 153,\n \"language\": \"Python\",\n \"has_issues\": true,\n \"has_projects\": false,\n \"has_downloads\": true,\n \"has_wiki\": false,\n \"has_pages\": true,\n \"forks_count\": 205,\n \"mirror_url\": null,\n \"archived\": false,\n \"disabled\": false,\n \"open_issues_count\": 14,\n \"license\": {\n \"key\": \"mit\",\n \"name\": \"MIT License\",\n \"spdx_id\": \"MIT\",\n \"url\": \"https://api.github.com/licenses/mit\",\n \"node_id\": \"MDc6TGljZW5zZTEz\"\n },\n \"forks\": 205,\n \"open_issues\": 14,\n \"watchers\": 153,\n \"default_branch\": \"master\"\n }\n },\n \"base\": {\n \"label\": \"chaoss:dev\",\n \"ref\": \"dev\",\n \"sha\": \"bfd2d34b51659613dd842cf83c3873f7699c2a0e\",\n \"user\": {\n \"login\": \"chaoss\",\n \"id\": 29740296,\n \"node_id\": \"MDEyOk9yZ2FuaXphdGlvbjI5NzQwMjk2\",\n \"avatar_url\": \"https://avatars2.githubusercontent.com/u/29740296?v=4\",\n \"gravatar_id\": \"\",\n \"url\": \"https://api.github.com/users/chaoss\",\n \"html_url\": \"https://github.com/chaoss\",\n \"followers_url\": \"https://api.github.com/users/chaoss/followers\",\n \"following_url\": \"https://api.github.com/users/chaoss/following{/other_user}\",\n \"gists_url\": \"https://api.github.com/users/chaoss/gists{/gist_id}\",\n \"starred_url\": \"https://api.github.com/users/chaoss/starred{/owner}{/repo}\",\n \"subscriptions_url\": \"https://api.github.com/users/chaoss/subscriptions\",\n \"organizations_url\": \"https://api.github.com/users/chaoss/orgs\",\n \"repos_url\": \"https://api.github.com/users/chaoss/repos\",\n \"events_url\": \"https://api.github.com/users/chaoss/events{/privacy}\",\n \"received_events_url\": \"https://api.github.com/users/chaoss/received_events\",\n \"type\": \"Organization\",\n \"site_admin\": false\n },\n \"repo\": {\n \"id\": 78134122,\n \"node_id\": \"MDEwOlJlcG9zaXRvcnk3ODEzNDEyMg==\",\n \"name\": \"augur\",\n \"full_name\": \"chaoss/augur\",\n \"private\": false,\n \"owner\": {\n \"login\": \"chaoss\",\n \"id\": 29740296,\n \"node_id\": \"MDEyOk9yZ2FuaXphdGlvbjI5NzQwMjk2\",\n \"avatar_url\": \"https://avatars2.githubusercontent.com/u/29740296?v=4\",\n \"gravatar_id\": \"\",\n \"url\": \"https://api.github.com/users/chaoss\",\n \"html_url\": \"https://github.com/chaoss\",\n \"followers_url\": \"https://api.github.com/users/chaoss/followers\",\n \"following_url\": \"https://api.github.com/users/chaoss/following{/other_user}\",\n \"gists_url\": \"https://api.github.com/users/chaoss/gists{/gist_id}\",\n \"starred_url\": \"https://api.github.com/users/chaoss/starred{/owner}{/repo}\",\n \"subscriptions_url\": \"https://api.github.com/users/chaoss/subscriptions\",\n \"organizations_url\": \"https://api.github.com/users/chaoss/orgs\",\n \"repos_url\": \"https://api.github.com/users/chaoss/repos\",\n \"events_url\": \"https://api.github.com/users/chaoss/events{/privacy}\",\n \"received_events_url\": \"https://api.github.com/users/chaoss/received_events\",\n \"type\": \"Organization\",\n \"site_admin\": false\n },\n", - "oldName": "pr_src_meta_label", + "comment": "the ML model used for prediction (It is XGBoost Classifier at present)", + "oldName": "mechanism", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -22268,101 +21678,11 @@ "hasNoIdentityMaxValue": false, "isIdentityCycle": false }, - { - "objectType": "TableField_PGSQL", - "name": "pr_src_meta_ref", - "type": "varchar", - "length": 0, - "decimals": 0, - "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "pr_src_meta_ref", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 5, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "pr_sha", - "type": "varchar", - "length": 0, - "decimals": 0, - "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "pr_sha", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 6, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "cntrb_id", - "type": "int8", - "length": 64, - "decimals": 0, - "dimensions": 0, - "collation": "", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "cntrb_id", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 7, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, { "objectType": "TableField_PGSQL", "name": "tool_source", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", @@ -22376,7 +21696,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 8, + "ordinalPosition": 5, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -22392,7 +21712,7 @@ "objectType": "TableField_PGSQL", "name": "tool_version", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", @@ -22406,7 +21726,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 9, + "ordinalPosition": 6, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -22422,7 +21742,7 @@ "objectType": "TableField_PGSQL", "name": "data_source", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", @@ -22436,7 +21756,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 10, + "ordinalPosition": 7, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -22451,12 +21771,12 @@ { "objectType": "TableField_PGSQL", "name": "data_collection_date", - "type": "timestamp", - "length": 0, + "type": "timestamptz", + "length": 6, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": true, + "isNullable": false, "defaultType": "Others", "defaultValue": "CURRENT_TIMESTAMP", "comment": "", @@ -22466,7 +21786,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 11, + "ordinalPosition": 8, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -22482,7 +21802,7 @@ "indexes": [ { "objectType": "Index_PGSQL", - "name": "pr_meta-cntrbid-idx", + "name": "pr_anal_idx", "comment": "", "isClustered": false, "isConcurrently": false, @@ -22493,23 +21813,57 @@ "method": "BTree", "tableSpaceName": "", "constraint": "", - "oldName": "pr_meta-cntrbid-idx", - "oid": 203818, + "oldName": "pr_anal_idx", + "oid": 15488255, "owner": "augur", "brinPagesPerRange": -1, "ginPendingListLimit": -1, - "tableName": "pull_request_meta", + "tableName": "pull_request_analysis", "size": "8", "fields": [ { "objectType": "IndexField_PGSQL", - "name": "cntrb_id", + "name": "pull_request_id", "collation": "", "opClass": "int8_ops", "opClassSchema": "pg_catalog", "order": "ASC", "nullSort": "NULLS LAST", - "oldName": "cntrb_id", + "oldName": "pull_request_id", + "collationSchema": "" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "probability_idx", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "probability_idx", + "oid": 15488452, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "pull_request_analysis", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "merge_probability", + "collation": "", + "opClass": "numeric_ops", + "opClassSchema": "pg_catalog", + "order": "DESC", + "nullSort": "NULLS LAST", + "oldName": "merge_probability", "collationSchema": "" } ] @@ -22518,42 +21872,21 @@ "rules": [], "primaryKey": { "objectType": "PrimaryKey_PGSQL", - "name": "pull_request_meta_pkey", + "name": "pull_request_analysis_pkey", "fields": [ - "pr_repo_meta_id" + "pull_request_analysis_id" ], "fillFactor": -1, "indexTablespace": "", "comment": "", "isDeferrable": false, "isDeferred": false, - "oldName": "pull_request_meta_pkey" + "oldName": "pull_request_analysis_pkey" }, "foreignKeys": [ { "objectType": "ForeignKey_PGSQL", - "name": "fk_pull_request_meta_contributors_2", - "fields": [ - "cntrb_id" - ], - "referenceSchema": "augur_data", - "referenceTable": "contributors", - "referenceFields": [ - "cntrb_id" - ], - "onDelete": "RESTRICT", - "onUpdate": "CASCADE", - "comment": "", - "isMatchFull": false, - "isDeferrable": true, - "isDeferred": false, - "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "ZeroOrOneRelationship", - "oldName": "fk_pull_request_meta_contributors_2" - }, - { - "objectType": "ForeignKey_PGSQL", - "name": "fk_pull_request_meta_pull_requests_1", + "name": "fk_pull_request_analysis_pull_requests_1", "fields": [ "pull_request_id" ], @@ -22562,15 +21895,15 @@ "referenceFields": [ "pull_request_id" ], - "onDelete": "RESTRICT", + "onDelete": "CASCADE", "onUpdate": "CASCADE", "comment": "", "isMatchFull": false, - "isDeferrable": true, + "isDeferrable": false, "isDeferred": false, "sourceCardinality": "ZeroOrManyRelationship", "targetCardinality": "ZeroOrOneRelationship", - "oldName": "fk_pull_request_meta_pull_requests_1" + "oldName": "fk_pull_request_analysis_pull_requests_1" } ], "uniques": [], @@ -22582,7 +21915,7 @@ }, { "objectType": "TableNormal_PGSQL", - "name": "pull_request_events", + "name": "pull_request_assignees", "comment": "", "tablespace": "", "isUnlogged": false, @@ -22590,8 +21923,8 @@ "inheritFromTables": [], "hasOIDs": false, "fillFactor": -1, - "oldName": "pull_request_events", - "oid": 190583, + "oldName": "pull_request_assignees", + "oid": 15486660, "rows": 0, "isInheritTables": false, "cluster": "", @@ -22608,7 +21941,7 @@ "fields": [ { "objectType": "TableField_PGSQL", - "name": "pr_event_id", + "name": "pr_assignee_map_id", "type": "int8", "length": 64, "decimals": 0, @@ -22616,9 +21949,9 @@ "collation": "", "isNullable": false, "defaultType": "Others", - "defaultValue": "nextval('augur_data.pull_request_events_pr_event_id_seq'::regclass)", + "defaultValue": "nextval('augur_data.pull_request_assignees_pr_assignee_map_id_seq'::regclass)", "comment": "", - "oldName": "pr_event_id", + "oldName": "pr_assignee_map_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -22644,7 +21977,7 @@ "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": false, + "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", @@ -22668,17 +22001,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "cntrb_id", + "name": "contrib_id", "type": "int8", "length": 64, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": false, + "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "cntrb_id", + "oldName": "contrib_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -22698,17 +22031,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "action", + "name": "tool_source", "type": "varchar", "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", - "isNullable": false, + "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "action", + "oldName": "tool_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -22728,9 +22061,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "action_commit_hash", + "name": "tool_version", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", @@ -22738,7 +22071,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "action_commit_hash", + "oldName": "tool_version", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -22758,22 +22091,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "created_at", - "type": "timestamp", - "length": 0, + "name": "data_source", + "type": "varchar", + "length": 255, "decimals": 0, "dimensions": 0, - "collation": "", - "isNullable": false, - "defaultType": "Others", - "defaultValue": "CURRENT_TIMESTAMP", + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "created_at", + "oldName": "data_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 6, "foreignOptions": [], "isIdentity": false, @@ -22788,17 +22121,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "issue_event_src_id", - "type": "int8", - "length": 64, + "name": "data_collection_date", + "type": "timestamp", + "length": 0, "decimals": 0, "dimensions": 0, "collation": "", "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "This ID comes from the source. In the case of GitHub, it is the id that is the first field returned from the issue events API", - "oldName": "issue_event_src_id", + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", + "comment": "", + "oldName": "data_collection_date", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -22818,22 +22151,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "node_id", - "type": "varchar", - "length": 0, + "name": "pr_assignee_src_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "This should be renamed to issue_event_src_node_id, as its the varchar identifier in GitHub and likely common in other sources as well. However, since it was created before we came to this naming standard and workers are built around it, we have it simply named as node_id. Anywhere you see node_id in the schema, it comes from GitHubs terminology.", - "oldName": "node_id", + "comment": "", + "oldName": "pr_assignee_src_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 8, "foreignOptions": [], "isIdentity": false, @@ -22845,196 +22178,12 @@ "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false - }, + } + ], + "indexes": [ { - "objectType": "TableField_PGSQL", - "name": "node_url", - "type": "varchar", - "length": 0, - "decimals": 0, - "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "node_url", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 9, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "tool_source", - "type": "varchar", - "length": 255, - "decimals": 0, - "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "tool_source", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 10, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "tool_version", - "type": "varchar", - "length": 255, - "decimals": 0, - "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "tool_version", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 11, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "data_source", - "type": "varchar", - "length": 255, - "decimals": 0, - "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "data_source", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 12, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "data_collection_date", - "type": "timestamp", - "length": 0, - "decimals": 0, - "dimensions": 0, - "collation": "", - "isNullable": true, - "defaultType": "Others", - "defaultValue": "CURRENT_TIMESTAMP", - "comment": "", - "oldName": "data_collection_date", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 13, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - } - ], - "indexes": [ - { - "objectType": "Index_PGSQL", - "name": "pr_events_ibfk_1", - "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "pr_events_ibfk_1", - "oid": 203813, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "pull_request_events", - "size": "8", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "pull_request_id", - "collation": "", - "opClass": "int8_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "pull_request_id", - "collationSchema": "" - } - ] - }, - { - "objectType": "Index_PGSQL", - "name": "pr_events_ibfk_2", + "objectType": "Index_PGSQL", + "name": "pr_meta_cntrb-idx", "comment": "", "isClustered": false, "isConcurrently": false, @@ -23045,23 +22194,23 @@ "method": "BTree", "tableSpaceName": "", "constraint": "", - "oldName": "pr_events_ibfk_2", - "oid": 203817, + "oldName": "pr_meta_cntrb-idx", + "oid": 15488147, "owner": "augur", "brinPagesPerRange": -1, "ginPendingListLimit": -1, - "tableName": "pull_request_events", + "tableName": "pull_request_assignees", "size": "8", "fields": [ { "objectType": "IndexField_PGSQL", - "name": "cntrb_id", + "name": "contrib_id", "collation": "", "opClass": "int8_ops", "opClassSchema": "pg_catalog", "order": "ASC", "nullSort": "NULLS LAST", - "oldName": "cntrb_id", + "oldName": "contrib_id", "collationSchema": "" } ] @@ -23070,42 +22219,42 @@ "rules": [], "primaryKey": { "objectType": "PrimaryKey_PGSQL", - "name": "pr_events_pkey", + "name": "pull_request_assignees_pkey", "fields": [ - "pr_event_id" + "pr_assignee_map_id" ], "fillFactor": -1, "indexTablespace": "", "comment": "", "isDeferrable": false, "isDeferred": false, - "oldName": "pr_events_pkey" + "oldName": "pull_request_assignees_pkey" }, "foreignKeys": [ { "objectType": "ForeignKey_PGSQL", - "name": "fk_pull_request_events_contributors_1", + "name": "fk_pull_request_assignees_contributors_1", "fields": [ - "cntrb_id" + "contrib_id" ], "referenceSchema": "augur_data", "referenceTable": "contributors", "referenceFields": [ "cntrb_id" ], - "onDelete": "RESTRICT", - "onUpdate": "CASCADE", + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", "comment": "", "isMatchFull": false, - "isDeferrable": true, + "isDeferrable": false, "isDeferred": false, "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "OneAndOnlyOneRelationship", - "oldName": "fk_pull_request_events_contributors_1" + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_pull_request_assignees_contributors_1" }, { "objectType": "ForeignKey_PGSQL", - "name": "fk_pull_request_events_pull_requests_1", + "name": "fk_pull_request_assignees_pull_requests_1", "fields": [ "pull_request_id" ], @@ -23114,15 +22263,15 @@ "referenceFields": [ "pull_request_id" ], - "onDelete": "RESTRICT", - "onUpdate": "CASCADE", + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", "comment": "", "isMatchFull": false, - "isDeferrable": true, + "isDeferrable": false, "isDeferred": false, "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "OneAndOnlyOneRelationship", - "oldName": "fk_pull_request_events_pull_requests_1" + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_pull_request_assignees_pull_requests_1" } ], "uniques": [], @@ -23134,17 +22283,17 @@ }, { "objectType": "TableNormal_PGSQL", - "name": "pull_requests", - "comment": "", + "name": "pull_request_commits", + "comment": "Pull request commits are an enumeration of each commit associated with a pull request. \nNot all pull requests are from a branch or fork into master. \nThe commits table intends to count only commits that end up in the master branch (i.e., part of the deployed code base for a project).\nTherefore, there will be commit “SHA”’s in this table that are no associated with a commit SHA in the commits table. \nIn cases where the PR is to the master branch of a project, you will find a match. In cases where the PR does not involve the master branch, you will not find a corresponding commit SHA in the commits table. This is expected. ", "tablespace": "", "isUnlogged": false, "owner": "augur", "inheritFromTables": [], "hasOIDs": false, "fillFactor": -1, - "oldName": "pull_requests", - "oid": 191527, - "rows": 0, + "oldName": "pull_request_commits", + "oid": 15487903, + "rows": 23068, "isInheritTables": false, "cluster": "", "ACL": "", @@ -23160,7 +22309,7 @@ "fields": [ { "objectType": "TableField_PGSQL", - "name": "pull_request_id", + "name": "pr_cmt_id", "type": "int8", "length": 64, "decimals": 0, @@ -23168,9 +22317,9 @@ "collation": "", "isNullable": false, "defaultType": "Others", - "defaultValue": "nextval('augur_data.pull_requests_pull_request_id_seq'::regclass)", + "defaultValue": "nextval('augur_data.pull_request_commits_pr_cmt_id_seq'::regclass)", "comment": "", - "oldName": "pull_request_id", + "oldName": "pr_cmt_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -23190,22 +22339,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_url", - "type": "varchar", - "length": 0, + "name": "pull_request_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_url", + "oldName": "pull_request_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 2, "foreignOptions": [], "isIdentity": false, @@ -23220,22 +22369,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_src_id", - "type": "int8", - "length": 64, + "name": "pr_cmt_sha", + "type": "varchar", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "The pr_src_id is unique across all of github.", - "oldName": "pr_src_id", + "comment": "This is the commit SHA for a pull request commit. If the PR is not to the master branch of the main repository (or, in rare cases, from it), then you will NOT find a corresponding commit SHA in the commit table. (see table comment for further explanation). ", + "oldName": "pr_cmt_sha", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 3, "foreignOptions": [], "isIdentity": false, @@ -23250,7 +22399,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_src_node_id", + "name": "pr_cmt_node_id", "type": "varchar", "length": 0, "decimals": 0, @@ -23260,7 +22409,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_src_node_id", + "oldName": "pr_cmt_node_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -23280,7 +22429,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_html_url", + "name": "pr_cmt_message", "type": "varchar", "length": 0, "decimals": 0, @@ -23290,7 +22439,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_html_url", + "oldName": "pr_cmt_message", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -23310,22 +22459,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_diff_url", - "type": "varchar", + "name": "pr_cmt_comments_url", + "type": "varbit", "length": 0, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_diff_url", + "oldName": "pr_cmt_comments_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 6, "foreignOptions": [], "isIdentity": false, @@ -23340,7 +22489,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_patch_url", + "name": "tool_source", "type": "varchar", "length": 0, "decimals": 0, @@ -23350,7 +22499,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_patch_url", + "oldName": "tool_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -23370,7 +22519,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_issue_url", + "name": "tool_version", "type": "varchar", "length": 0, "decimals": 0, @@ -23380,7 +22529,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_issue_url", + "oldName": "tool_version", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -23400,22 +22549,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_augur_issue_id", - "type": "int8", - "length": 64, + "name": "data_source", + "type": "varchar", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "This is to link to the augur stored related issue", - "oldName": "pr_augur_issue_id", + "comment": "", + "oldName": "data_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 9, "foreignOptions": [], "isIdentity": false, @@ -23430,17 +22579,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_src_number", - "type": "int8", - "length": 64, + "name": "data_collection_date", + "type": "timestamp", + "length": 0, "decimals": 0, "dimensions": 0, "collation": "", "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "The pr_src_number is unique within a repository.", - "oldName": "pr_src_number", + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", + "comment": "", + "oldName": "data_collection_date", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -23460,22 +22609,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_src_state", - "type": "varchar", - "length": 0, + "name": "pr_cmt_author_cntrb_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_src_state", + "oldName": "pr_cmt_author_cntrb_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 11, "foreignOptions": [], "isIdentity": false, @@ -23490,8 +22639,8 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_src_locked", - "type": "bool", + "name": "pr_cmt_timestamp", + "type": "timestamp", "length": 0, "decimals": 0, "dimensions": 0, @@ -23500,7 +22649,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_src_locked", + "oldName": "pr_cmt_timestamp", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -23520,7 +22669,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_src_title", + "name": "pr_cmt_author_email", "type": "varchar", "length": 0, "decimals": 0, @@ -23530,7 +22679,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_src_title", + "oldName": "pr_cmt_author_email", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -23547,26 +22696,119 @@ "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "pull_request_commits_pkey", + "fields": [ + "pr_cmt_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "pull_request_commits_pkey" + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_pr_commit_cntrb_id", + "fields": [ + "pr_cmt_author_cntrb_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "contributors", + "referenceFields": [ + "cntrb_id" + ], + "onDelete": "CASCADE", + "onUpdate": "CASCADE", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_pr_commit_cntrb_id" }, + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_pull_request_commits_pull_requests_1", + "fields": [ + "pull_request_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "pull_requests", + "referenceFields": [ + "pull_request_id" + ], + "onDelete": "CASCADE", + "onUpdate": "CASCADE", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_pull_request_commits_pull_requests_1" + } + ], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "pull_request_events", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "pull_request_events", + "oid": 15486668, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ { "objectType": "TableField_PGSQL", - "name": "pr_augur_contributor_id", + "name": "pr_event_id", "type": "int8", "length": 64, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "This is to link to the augur contributor record. ", - "oldName": "pr_augur_contributor_id", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_data.pull_request_events_pr_event_id_seq'::regclass)", + "comment": "", + "oldName": "pr_event_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 14, + "ordinalPosition": 1, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -23580,23 +22822,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_body", - "type": "text", - "length": 0, + "name": "pull_request_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", - "isNullable": true, + "collation": "", + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_body", + "oldName": "pull_request_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 15, + "collationSchema": "", + "ordinalPosition": 2, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -23610,23 +22852,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_created_at", - "type": "timestamp", - "length": 0, + "name": "cntrb_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": true, + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_created_at", + "oldName": "cntrb_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 16, + "ordinalPosition": 3, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -23640,23 +22882,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_updated_at", - "type": "timestamp", - "length": 0, + "name": "action", + "type": "varchar", + "length": 255, "decimals": 0, "dimensions": 0, - "collation": "", - "isNullable": true, + "collation": "default", + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_updated_at", + "oldName": "action", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 17, + "collationSchema": "pg_catalog", + "ordinalPosition": 4, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -23670,23 +22912,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_closed_at", - "type": "timestamp", + "name": "action_commit_hash", + "type": "varchar", "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_closed_at", + "oldName": "action_commit_hash", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 18, + "collationSchema": "pg_catalog", + "ordinalPosition": 5, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -23700,23 +22942,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_merged_at", + "name": "created_at", "type": "timestamp", "length": 0, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", "comment": "", - "oldName": "pr_merged_at", + "oldName": "created_at", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 19, + "ordinalPosition": 6, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -23730,23 +22972,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_merge_commit_sha", - "type": "varchar", - "length": 0, + "name": "issue_event_src_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "", - "oldName": "pr_merge_commit_sha", + "comment": "This ID comes from the source. In the case of GitHub, it is the id that is the first field returned from the issue events API", + "oldName": "issue_event_src_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 20, + "collationSchema": "", + "ordinalPosition": 7, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -23760,23 +23002,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_teams", - "type": "int8", - "length": 64, + "name": "node_id", + "type": "varchar", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "One to many with pull request teams. ", - "oldName": "pr_teams", - "typeOID": 1, + "comment": "This should be renamed to issue_event_src_node_id, as its the varchar identifier in GitHub and likely common in other sources as well. However, since it was created before we came to this naming standard and workers are built around it, we have it simply named as node_id. Anywhere you see node_id in the schema, it comes from GitHubs terminology.", + "oldName": "node_id", + "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 21, + "collationSchema": "pg_catalog", + "ordinalPosition": 8, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -23790,7 +23032,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_milestone", + "name": "node_url", "type": "varchar", "length": 0, "decimals": 0, @@ -23800,13 +23042,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_milestone", + "oldName": "node_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 22, + "ordinalPosition": 9, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -23815,14 +23057,14 @@ "identityMinimum": 0, "hasNoIdentityMinValue": false, "identityMaximum": 0, - "hasNoIdentityMaxValue": false, + "hasNoIdentityMaxValue": 0, "isIdentityCycle": false }, { "objectType": "TableField_PGSQL", - "name": "pr_commits_url", + "name": "tool_source", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", @@ -23830,13 +23072,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_commits_url", + "oldName": "tool_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 23, + "ordinalPosition": 10, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -23850,9 +23092,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_review_comments_url", + "name": "tool_version", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", @@ -23860,13 +23102,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_review_comments_url", + "oldName": "tool_version", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 24, + "ordinalPosition": 11, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -23880,23 +23122,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_review_comment_url", + "name": "data_source", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "This is a field with limited utility. It does expose how to access a specific comment if needed with parameters. If the source changes URL structure, it may be useful", - "oldName": "pr_review_comment_url", + "comment": "", + "oldName": "data_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 25, + "ordinalPosition": 12, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -23910,23 +23152,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_comments_url", - "type": "varchar", + "name": "data_collection_date", + "type": "timestamp", "length": 0, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", "comment": "", - "oldName": "pr_comments_url", + "oldName": "data_collection_date", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 26, + "collationSchema": "", + "ordinalPosition": 13, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -23937,26 +23179,188 @@ "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false + } + ], + "indexes": [ + { + "objectType": "Index_PGSQL", + "name": "pr_events_ibfk_1", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "pr_events_ibfk_1", + "oid": 15486988, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "pull_request_events", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "pull_request_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "pull_request_id", + "collationSchema": "" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "pr_events_ibfk_2", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "pr_events_ibfk_2", + "oid": 15486989, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "pull_request_events", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "cntrb_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "cntrb_id", + "collationSchema": "" + } + ] + } + ], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "pr_events_pkey", + "fields": [ + "pr_event_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "pr_events_pkey" + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_pull_request_events_contributors_1", + "fields": [ + "cntrb_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "contributors", + "referenceFields": [ + "cntrb_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "OneAndOnlyOneRelationship", + "oldName": "fk_pull_request_events_contributors_1" }, + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_pull_request_events_pull_requests_1", + "fields": [ + "pull_request_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "pull_requests", + "referenceFields": [ + "pull_request_id" + ], + "onDelete": "CASCADE", + "onUpdate": "CASCADE", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "OneAndOnlyOneRelationship", + "oldName": "fk_pull_request_events_pull_requests_1" + } + ], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "pull_request_files", + "comment": "Pull request commits are an enumeration of each commit associated with a pull request. \nNot all pull requests are from a branch or fork into master. \nThe commits table intends to count only commits that end up in the master branch (i.e., part of the deployed code base for a project).\nTherefore, there will be commit “SHA”’s in this table that are no associated with a commit SHA in the commits table. \nIn cases where the PR is to the master branch of a project, you will find a match. In cases where the PR does not involve the master branch, you will not find a corresponding commit SHA in the commits table. This is expected. ", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "pull_request_files", + "oid": 15487944, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ { "objectType": "TableField_PGSQL", - "name": "pr_statuses_url", - "type": "varchar", - "length": 0, + "name": "pull_request_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_statuses_url", + "oldName": "pull_request_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 27, + "collationSchema": "", + "ordinalPosition": 1, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -23970,7 +23374,37 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_meta_head_id", + "name": "pr_file_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_data.pull_request_files_pr_file_id_seq'::regclass)", + "comment": "", + "oldName": "pr_file_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_file_additions", "type": "int8", "length": 64, "decimals": 0, @@ -23979,14 +23413,14 @@ "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "The metadata for the head repo that links to the pull_request_meta table. ", - "oldName": "pr_meta_head_id", + "comment": "", + "oldName": "pr_file_additions", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 28, + "ordinalPosition": 3, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -24000,7 +23434,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_meta_base_id", + "name": "pr_file_deletions", "type": "int8", "length": 64, "decimals": 0, @@ -24009,14 +23443,14 @@ "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "The metadata for the base repo that links to the pull_request_meta table. ", - "oldName": "pr_meta_base_id", + "comment": "", + "oldName": "pr_file_deletions", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 29, + "ordinalPosition": 4, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -24030,7 +23464,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_src_issue_url", + "name": "pr_file_path", "type": "varchar", "length": 0, "decimals": 0, @@ -24040,13 +23474,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_src_issue_url", + "oldName": "pr_file_path", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 30, + "ordinalPosition": 5, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -24060,7 +23494,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_src_comments_url", + "name": "tool_source", "type": "varchar", "length": 0, "decimals": 0, @@ -24070,13 +23504,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_src_comments_url", + "oldName": "tool_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 31, + "ordinalPosition": 6, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -24090,7 +23524,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_src_review_comments_url", + "name": "tool_version", "type": "varchar", "length": 0, "decimals": 0, @@ -24100,13 +23534,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_src_review_comments_url", + "oldName": "tool_version", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 32, + "ordinalPosition": 7, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -24120,7 +23554,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_src_commits_url", + "name": "data_source", "type": "varchar", "length": 0, "decimals": 0, @@ -24130,13 +23564,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_src_commits_url", + "oldName": "data_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 33, + "ordinalPosition": 8, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -24150,23 +23584,155 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_src_statuses_url", - "type": "varchar", + "name": "data_collection_date", + "type": "timestamp", "length": 0, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", + "comment": "", + "oldName": "data_collection_date", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 9, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "pull_request_files_pkey", + "fields": [ + "pr_file_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "pull_request_files_pkey" + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_pull_request_commits_pull_requests_1", + "fields": [ + "pull_request_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "pull_requests", + "referenceFields": [ + "pull_request_id" + ], + "onDelete": "CASCADE", + "onUpdate": "CASCADE", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_pull_request_commits_pull_requests_1" + } + ], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "pull_request_labels", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "pull_request_labels", + "oid": 15486677, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "pr_label_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_data.pull_request_labels_pr_label_id_seq'::regclass)", + "comment": "", + "oldName": "pr_label_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pull_request_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_src_statuses_url", + "oldName": "pull_request_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 34, + "collationSchema": "", + "ordinalPosition": 2, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -24180,23 +23746,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_src_author_association", - "type": "varchar", - "length": 0, + "name": "pr_src_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_src_author_association", + "oldName": "pr_src_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 35, + "collationSchema": "", + "ordinalPosition": 3, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -24210,9 +23776,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_source", + "name": "pr_src_node_id", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", @@ -24220,13 +23786,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "tool_source", + "oldName": "pr_src_node_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 36, + "ordinalPosition": 4, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -24240,9 +23806,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_version", + "name": "pr_src_url", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", @@ -24250,13 +23816,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "tool_version", + "oldName": "pr_src_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 37, + "ordinalPosition": 5, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -24270,9 +23836,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_source", + "name": "pr_src_description", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", @@ -24280,13 +23846,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "data_source", + "oldName": "pr_src_description", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 38, + "ordinalPosition": 6, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -24300,23 +23866,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_collection_date", - "type": "timestamp", + "name": "pr_src_color", + "type": "varchar", "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, - "defaultType": "Others", - "defaultValue": "CURRENT_TIMESTAMP", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "data_collection_date", + "oldName": "pr_src_color", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 39, + "collationSchema": "pg_catalog", + "ordinalPosition": 7, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -24330,23 +23896,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "repo_id", - "type": "int8", - "length": 64, + "name": "pr_src_default_bool", + "type": "bool", + "length": 0, "decimals": 0, "dimensions": 0, "collation": "", "isNullable": true, - "defaultType": "Others", - "defaultValue": "0", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "repo_id", + "oldName": "pr_src_default_bool", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 40, + "ordinalPosition": 8, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -24357,156 +23923,164 @@ "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false - } - ], - "indexes": [ + }, { - "objectType": "Index_PGSQL", - "name": "id_node", + "objectType": "TableField_PGSQL", + "name": "tool_source", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "id_node", - "oid": 203718, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "pull_requests", - "size": "8", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "pr_src_id", - "collation": "", - "opClass": "int8_ops", - "opClassSchema": "pg_catalog", - "order": "DESC", - "nullSort": "NULLS FIRST", - "oldName": "pr_src_id", - "collationSchema": "" - }, - { - "objectType": "IndexField_PGSQL", - "name": "pr_src_node_id", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "DESC", - "nullSort": "NULLS LAST", - "oldName": "pr_src_node_id", - "collationSchema": "pg_catalog" - } - ] + "oldName": "tool_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 9, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false }, { - "objectType": "Index_PGSQL", - "name": "pull_requests_idx_repo_id_data_datex", + "objectType": "TableField_PGSQL", + "name": "tool_version", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "pull_requests_idx_repo_id_data_datex", - "oid": 203870, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "pull_requests", - "size": "8", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "repo_id", - "collation": "", - "opClass": "int8_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "repo_id", - "collationSchema": "" - }, - { - "objectType": "IndexField_PGSQL", - "name": "data_collection_date", - "collation": "", - "opClass": "timestamp_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "data_collection_date", - "collationSchema": "" - } - ] + "oldName": "tool_version", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 10, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_source", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "data_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 11, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_collection_date", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", + "comment": "", + "oldName": "data_collection_date", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 12, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false } ], + "indexes": [], "rules": [], "primaryKey": { "objectType": "PrimaryKey_PGSQL", - "name": "pull_requests_pkey", + "name": "pull_request_labels_pkey", "fields": [ - "pull_request_id" + "pr_label_id" ], "fillFactor": -1, "indexTablespace": "", "comment": "", "isDeferrable": false, "isDeferred": false, - "oldName": "pull_requests_pkey" + "oldName": "pull_request_labels_pkey" }, "foreignKeys": [ { "objectType": "ForeignKey_PGSQL", - "name": "fk_pr_contribs", - "fields": [ - "pr_augur_contributor_id" - ], - "referenceSchema": "augur_data", - "referenceTable": "contributors", - "referenceFields": [ - "cntrb_id" - ], - "onDelete": "RESTRICT", - "onUpdate": "CASCADE", - "comment": "", - "isMatchFull": false, - "isDeferrable": true, - "isDeferred": false, - "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "ZeroOrOneRelationship", - "oldName": "fk_pr_contribs" - }, - { - "objectType": "ForeignKey_PGSQL", - "name": "fk_pull_requests_repo_1", + "name": "fk_pull_request_labels_pull_requests_1", "fields": [ - "repo_id" + "pull_request_id" ], "referenceSchema": "augur_data", - "referenceTable": "repo", + "referenceTable": "pull_requests", "referenceFields": [ - "repo_id" + "pull_request_id" ], - "onDelete": "RESTRICT", + "onDelete": "CASCADE", "onUpdate": "CASCADE", "comment": "", "isMatchFull": false, - "isDeferrable": true, + "isDeferrable": false, "isDeferred": false, "sourceCardinality": "ZeroOrManyRelationship", "targetCardinality": "ZeroOrOneRelationship", - "oldName": "fk_pull_requests_repo_1" + "oldName": "fk_pull_request_labels_pull_requests_1" } ], "uniques": [], @@ -24518,7 +24092,7 @@ }, { "objectType": "TableNormal_PGSQL", - "name": "issue_events", + "name": "pull_request_message_ref", "comment": "", "tablespace": "", "isUnlogged": false, @@ -24526,8 +24100,8 @@ "inheritFromTables": [], "hasOIDs": false, "fillFactor": -1, - "oldName": "issue_events", - "oid": 188512, + "oldName": "pull_request_message_ref", + "oid": 15486685, "rows": 0, "isInheritTables": false, "cluster": "", @@ -24544,7 +24118,7 @@ "fields": [ { "objectType": "TableField_PGSQL", - "name": "event_id", + "name": "pr_msg_ref_id", "type": "int8", "length": 64, "decimals": 0, @@ -24552,9 +24126,9 @@ "collation": "", "isNullable": false, "defaultType": "Others", - "defaultValue": "nextval('augur_data.issue_events_event_id_seq'::regclass)", + "defaultValue": "nextval('augur_data.pull_request_message_ref_pr_msg_ref_id_seq'::regclass)", "comment": "", - "oldName": "event_id", + "oldName": "pr_msg_ref_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -24574,17 +24148,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "issue_id", + "name": "pull_request_id", "type": "int8", "length": 64, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": false, + "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "issue_id", + "oldName": "pull_request_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -24604,17 +24178,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "cntrb_id", + "name": "msg_id", "type": "int8", "length": 64, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": false, + "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "cntrb_id", + "oldName": "msg_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -24634,22 +24208,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "action", - "type": "varchar", - "length": 255, + "name": "pr_message_ref_src_comment_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", - "isNullable": false, + "collation": "", + "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "action", + "oldName": "pr_message_ref_src_comment_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 4, "foreignOptions": [], "isIdentity": false, @@ -24664,7 +24238,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "action_commit_hash", + "name": "pr_message_ref_src_node_id", "type": "varchar", "length": 0, "decimals": 0, @@ -24674,7 +24248,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "action_commit_hash", + "oldName": "pr_message_ref_src_node_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -24694,22 +24268,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "created_at", - "type": "timestamp", - "length": 0, + "name": "tool_source", + "type": "varchar", + "length": 255, "decimals": 0, "dimensions": 0, - "collation": "", - "isNullable": false, - "defaultType": "Others", - "defaultValue": "CURRENT_TIMESTAMP", + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "created_at", + "oldName": "tool_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 6, "foreignOptions": [], "isIdentity": false, @@ -24724,17 +24298,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "node_id", + "name": "tool_version", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "This should be renamed to issue_event_src_node_id, as its the varchar identifier in GitHub and likely common in other sources as well. However, since it was created before we came to this naming standard and workers are built around it, we have it simply named as node_id. Anywhere you see node_id in the schema, it comes from GitHubs terminology.", - "oldName": "node_id", + "comment": "", + "oldName": "tool_version", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -24754,9 +24328,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "node_url", + "name": "data_source", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", @@ -24764,7 +24338,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "node_url", + "oldName": "data_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -24784,22 +24358,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_source", - "type": "varchar", - "length": 255, + "name": "data_collection_date", + "type": "timestamp", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", "comment": "", - "oldName": "tool_source", + "oldName": "data_collection_date", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 9, "foreignOptions": [], "isIdentity": false, @@ -24814,22 +24388,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_version", - "type": "varchar", - "length": 255, + "name": "repo_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "tool_version", + "oldName": "repo_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 10, "foreignOptions": [], "isIdentity": false, @@ -24841,26 +24415,119 @@ "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "pull_request_message_ref_pkey", + "fields": [ + "pr_msg_ref_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "pull_request_message_ref_pkey" + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_pull_request_message_ref_message_1", + "fields": [ + "msg_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "message", + "referenceFields": [ + "msg_id" + ], + "onDelete": "CASCADE", + "onUpdate": "CASCADE", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_pull_request_message_ref_message_1" }, + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_pull_request_message_ref_pull_requests_1", + "fields": [ + "pull_request_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "pull_requests", + "referenceFields": [ + "pull_request_id" + ], + "onDelete": "CASCADE", + "onUpdate": "CASCADE", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_pull_request_message_ref_pull_requests_1" + } + ], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "pull_request_meta", + "comment": "Pull requests contain referencing metadata. There are a few columns that are discrete. There are also head and base designations for the repo on each side of the pull request. Similar functions exist in GitLab, though the language here is based on GitHub. The JSON Being adapted to as of the development of this schema is here: \"base\": { \"label\": \"chaoss:dev\", \"ref\": \"dev\", \"sha\": \"dc6c6f3947f7dc84ecba3d8bda641ef786e7027d\", \"user\": { \"login\": \"chaoss\", \"id\": 29740296, \"node_id\": \"MDEyOk9yZ2FuaXphdGlvbjI5NzQwMjk2\", \"avatar_url\": \"https://avatars2.githubusercontent.com/u/29740296?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/chaoss\", \"html_url\": \"https://github.com/chaoss\", \"followers_url\": \"https://api.github.com/users/chaoss/followers\", \"following_url\": \"https://api.github.com/users/chaoss/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/chaoss/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/chaoss/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/chaoss/subscriptions\", \"organizations_url\": \"https://api.github.com/users/chaoss/orgs\", \"repos_url\": \"https://api.github.com/users/chaoss/repos\", \"events_url\": \"https://api.github.com/users/chaoss/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/chaoss/received_events\", \"type\": \"Organization\", \"site_admin\": false }, \"repo\": { \"id\": 78134122, \"node_id\": \"MDEwOlJlcG9zaXRvcnk3ODEzNDEyMg==\", \"name\": \"augur\", \"full_name\": \"chaoss/augur\", \"private\": false, \"owner\": { \"login\": \"chaoss\", \"id\": 29740296, \"node_id\": \"MDEyOk9yZ2FuaXphdGlvbjI5NzQwMjk2\", \"avatar_url\": \"https://avatars2.githubusercontent.com/u/29740296?v=4\", \"gravatar_id\": \"\", \"url\": \"https://api.github.com/users/chaoss\", \"html_url\": \"https://github.com/chaoss\", \"followers_url\": \"https://api.github.com/users/chaoss/followers\", \"following_url\": \"https://api.github.com/users/chaoss/following{/other_user}\", \"gists_url\": \"https://api.github.com/users/chaoss/gists{/gist_id}\", \"starred_url\": \"https://api.github.com/users/chaoss/starred{/owner}{/repo}\", \"subscriptions_url\": \"https://api.github.com/users/chaoss/subscriptions\", \"organizations_url\": \"https://api.github.com/users/chaoss/orgs\", \"repos_url\": \"https://api.github.com/users/chaoss/repos\", \"events_url\": \"https://api.github.com/users/chaoss/events{/privacy}\", \"received_events_url\": \"https://api.github.com/users/chaoss/received_events\", \"type\": \"Organization\", \"site_admin\": false }, ", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "pull_request_meta", + "oid": 15486693, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ { "objectType": "TableField_PGSQL", - "name": "data_source", - "type": "varchar", - "length": 255, + "name": "pr_repo_meta_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_data.pull_request_meta_pr_repo_meta_id_seq'::regclass)", "comment": "", - "oldName": "data_source", + "oldName": "pr_repo_meta_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 11, + "collationSchema": "", + "ordinalPosition": 1, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -24874,23 +24541,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_collection_date", - "type": "timestamp", - "length": 0, + "name": "pull_request_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, "collation": "", "isNullable": true, - "defaultType": "Others", - "defaultValue": "CURRENT_TIMESTAMP", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "data_collection_date", + "oldName": "pull_request_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 12, + "ordinalPosition": 2, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -24904,23 +24571,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "issue_event_src_id", - "type": "int8", - "length": 64, + "name": "pr_head_or_base", + "type": "varchar", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "This ID comes from the source. In the case of GitHub, it is the id that is the first field returned from the issue events API", - "oldName": "issue_event_src_id", + "comment": "Each pull request should have one and only one head record; and one and only one base record. ", + "oldName": "pr_head_or_base", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 13, + "collationSchema": "pg_catalog", + "ordinalPosition": 3, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -24931,80 +24598,252 @@ "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false - } - ], - "indexes": [ + }, { - "objectType": "Index_PGSQL", - "name": "issue-cntrb-idx2", - "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "issue-cntrb-idx2", - "oid": 203747, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "issue_events", - "size": "8", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "issue_event_src_id", - "collation": "", - "opClass": "int8_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "issue_event_src_id", - "collationSchema": "" - } - ] + "objectType": "TableField_PGSQL", + "name": "pr_src_meta_label", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "This is a representation of the repo:branch information in the pull request. Head is issueing the pull request and base is taking the pull request. For example: (We do not store all of this)\n\n \"head\": {\n \"label\": \"chaoss:pull-request-worker\",\n \"ref\": \"pull-request-worker\",\n \"sha\": \"6b380c3d6d625616f79d702612ebab6d204614f2\",\n \"user\": {\n \"login\": \"chaoss\",\n \"id\": 29740296,\n \"node_id\": \"MDEyOk9yZ2FuaXphdGlvbjI5NzQwMjk2\",\n \"avatar_url\": \"https://avatars2.githubusercontent.com/u/29740296?v=4\",\n \"gravatar_id\": \"\",\n \"url\": \"https://api.github.com/users/chaoss\",\n \"html_url\": \"https://github.com/chaoss\",\n \"followers_url\": \"https://api.github.com/users/chaoss/followers\",\n \"following_url\": \"https://api.github.com/users/chaoss/following{/other_user}\",\n \"gists_url\": \"https://api.github.com/users/chaoss/gists{/gist_id}\",\n \"starred_url\": \"https://api.github.com/users/chaoss/starred{/owner}{/repo}\",\n \"subscriptions_url\": \"https://api.github.com/users/chaoss/subscriptions\",\n \"organizations_url\": \"https://api.github.com/users/chaoss/orgs\",\n \"repos_url\": \"https://api.github.com/users/chaoss/repos\",\n \"events_url\": \"https://api.github.com/users/chaoss/events{/privacy}\",\n \"received_events_url\": \"https://api.github.com/users/chaoss/received_events\",\n \"type\": \"Organization\",\n \"site_admin\": false\n },\n \"repo\": {\n \"id\": 78134122,\n \"node_id\": \"MDEwOlJlcG9zaXRvcnk3ODEzNDEyMg==\",\n \"name\": \"augur\",\n \"full_name\": \"chaoss/augur\",\n \"private\": false,\n \"owner\": {\n \"login\": \"chaoss\",\n \"id\": 29740296,\n \"node_id\": \"MDEyOk9yZ2FuaXphdGlvbjI5NzQwMjk2\",\n \"avatar_url\": \"https://avatars2.githubusercontent.com/u/29740296?v=4\",\n \"gravatar_id\": \"\",\n \"url\": \"https://api.github.com/users/chaoss\",\n \"html_url\": \"https://github.com/chaoss\",\n \"followers_url\": \"https://api.github.com/users/chaoss/followers\",\n \"following_url\": \"https://api.github.com/users/chaoss/following{/other_user}\",\n \"gists_url\": \"https://api.github.com/users/chaoss/gists{/gist_id}\",\n \"starred_url\": \"https://api.github.com/users/chaoss/starred{/owner}{/repo}\",\n \"subscriptions_url\": \"https://api.github.com/users/chaoss/subscriptions\",\n \"organizations_url\": \"https://api.github.com/users/chaoss/orgs\",\n \"repos_url\": \"https://api.github.com/users/chaoss/repos\",\n \"events_url\": \"https://api.github.com/users/chaoss/events{/privacy}\",\n \"received_events_url\": \"https://api.github.com/users/chaoss/received_events\",\n \"type\": \"Organization\",\n \"site_admin\": false\n },\n \"html_url\": \"https://github.com/chaoss/augur\",\n \"description\": \"Python library and web service for Open Source Software Health and Sustainability metrics & data collection.\",\n \"fork\": false,\n \"url\": \"https://api.github.com/repos/chaoss/augur\",\n \"forks_url\": \"https://api.github.com/repos/chaoss/augur/forks\",\n \"keys_url\": \"https://api.github.com/repos/chaoss/augur/keys{/key_id}\",\n \"collaborators_url\": \"https://api.github.com/repos/chaoss/augur/collaborators{/collaborator}\",\n \"teams_url\": \"https://api.github.com/repos/chaoss/augur/teams\",\n \"hooks_url\": \"https://api.github.com/repos/chaoss/augur/hooks\",\n \"issue_events_url\": \"https://api.github.com/repos/chaoss/augur/issues/events{/number}\",\n \"events_url\": \"https://api.github.com/repos/chaoss/augur/events\",\n \"assignees_url\": \"https://api.github.com/repos/chaoss/augur/assignees{/user}\",\n \"branches_url\": \"https://api.github.com/repos/chaoss/augur/branches{/branch}\",\n \"tags_url\": \"https://api.github.com/repos/chaoss/augur/tags\",\n \"blobs_url\": \"https://api.github.com/repos/chaoss/augur/git/blobs{/sha}\",\n \"git_tags_url\": \"https://api.github.com/repos/chaoss/augur/git/tags{/sha}\",\n \"git_refs_url\": \"https://api.github.com/repos/chaoss/augur/git/refs{/sha}\",\n \"trees_url\": \"https://api.github.com/repos/chaoss/augur/git/trees{/sha}\",\n \"statuses_url\": \"https://api.github.com/repos/chaoss/augur/statuses/{sha}\",\n \"languages_url\": \"https://api.github.com/repos/chaoss/augur/languages\",\n \"stargazers_url\": \"https://api.github.com/repos/chaoss/augur/stargazers\",\n \"contributors_url\": \"https://api.github.com/repos/chaoss/augur/contributors\",\n \"subscribers_url\": \"https://api.github.com/repos/chaoss/augur/subscribers\",\n \"subscription_url\": \"https://api.github.com/repos/chaoss/augur/subscription\",\n \"commits_url\": \"https://api.github.com/repos/chaoss/augur/commits{/sha}\",\n \"git_commits_url\": \"https://api.github.com/repos/chaoss/augur/git/commits{/sha}\",\n \"comments_url\": \"https://api.github.com/repos/chaoss/augur/comments{/number}\",\n \"issue_comment_url\": \"https://api.github.com/repos/chaoss/augur/issues/comments{/number}\",\n \"contents_url\": \"https://api.github.com/repos/chaoss/augur/contents/{+path}\",\n \"compare_url\": \"https://api.github.com/repos/chaoss/augur/compare/{base}...{head}\",\n \"merges_url\": \"https://api.github.com/repos/chaoss/augur/merges\",\n \"archive_url\": \"https://api.github.com/repos/chaoss/augur/{archive_format}{/ref}\",\n \"downloads_url\": \"https://api.github.com/repos/chaoss/augur/downloads\",\n \"issues_url\": \"https://api.github.com/repos/chaoss/augur/issues{/number}\",\n \"pulls_url\": \"https://api.github.com/repos/chaoss/augur/pulls{/number}\",\n \"milestones_url\": \"https://api.github.com/repos/chaoss/augur/milestones{/number}\",\n \"notifications_url\": \"https://api.github.com/repos/chaoss/augur/notifications{?since,all,participating}\",\n \"labels_url\": \"https://api.github.com/repos/chaoss/augur/labels{/name}\",\n \"releases_url\": \"https://api.github.com/repos/chaoss/augur/releases{/id}\",\n \"deployments_url\": \"https://api.github.com/repos/chaoss/augur/deployments\",\n \"created_at\": \"2017-01-05T17:34:54Z\",\n \"updated_at\": \"2019-11-15T00:56:12Z\",\n \"pushed_at\": \"2019-12-02T06:27:26Z\",\n \"git_url\": \"git://github.com/chaoss/augur.git\",\n \"ssh_url\": \"git@github.com:chaoss/augur.git\",\n \"clone_url\": \"https://github.com/chaoss/augur.git\",\n \"svn_url\": \"https://github.com/chaoss/augur\",\n \"homepage\": \"http://augur.osshealth.io/\",\n \"size\": 82004,\n \"stargazers_count\": 153,\n \"watchers_count\": 153,\n \"language\": \"Python\",\n \"has_issues\": true,\n \"has_projects\": false,\n \"has_downloads\": true,\n \"has_wiki\": false,\n \"has_pages\": true,\n \"forks_count\": 205,\n \"mirror_url\": null,\n \"archived\": false,\n \"disabled\": false,\n \"open_issues_count\": 14,\n \"license\": {\n \"key\": \"mit\",\n \"name\": \"MIT License\",\n \"spdx_id\": \"MIT\",\n \"url\": \"https://api.github.com/licenses/mit\",\n \"node_id\": \"MDc6TGljZW5zZTEz\"\n },\n \"forks\": 205,\n \"open_issues\": 14,\n \"watchers\": 153,\n \"default_branch\": \"master\"\n }\n },\n \"base\": {\n \"label\": \"chaoss:dev\",\n \"ref\": \"dev\",\n \"sha\": \"bfd2d34b51659613dd842cf83c3873f7699c2a0e\",\n \"user\": {\n \"login\": \"chaoss\",\n \"id\": 29740296,\n \"node_id\": \"MDEyOk9yZ2FuaXphdGlvbjI5NzQwMjk2\",\n \"avatar_url\": \"https://avatars2.githubusercontent.com/u/29740296?v=4\",\n \"gravatar_id\": \"\",\n \"url\": \"https://api.github.com/users/chaoss\",\n \"html_url\": \"https://github.com/chaoss\",\n \"followers_url\": \"https://api.github.com/users/chaoss/followers\",\n \"following_url\": \"https://api.github.com/users/chaoss/following{/other_user}\",\n \"gists_url\": \"https://api.github.com/users/chaoss/gists{/gist_id}\",\n \"starred_url\": \"https://api.github.com/users/chaoss/starred{/owner}{/repo}\",\n \"subscriptions_url\": \"https://api.github.com/users/chaoss/subscriptions\",\n \"organizations_url\": \"https://api.github.com/users/chaoss/orgs\",\n \"repos_url\": \"https://api.github.com/users/chaoss/repos\",\n \"events_url\": \"https://api.github.com/users/chaoss/events{/privacy}\",\n \"received_events_url\": \"https://api.github.com/users/chaoss/received_events\",\n \"type\": \"Organization\",\n \"site_admin\": false\n },\n \"repo\": {\n \"id\": 78134122,\n \"node_id\": \"MDEwOlJlcG9zaXRvcnk3ODEzNDEyMg==\",\n \"name\": \"augur\",\n \"full_name\": \"chaoss/augur\",\n \"private\": false,\n \"owner\": {\n \"login\": \"chaoss\",\n \"id\": 29740296,\n \"node_id\": \"MDEyOk9yZ2FuaXphdGlvbjI5NzQwMjk2\",\n \"avatar_url\": \"https://avatars2.githubusercontent.com/u/29740296?v=4\",\n \"gravatar_id\": \"\",\n \"url\": \"https://api.github.com/users/chaoss\",\n \"html_url\": \"https://github.com/chaoss\",\n \"followers_url\": \"https://api.github.com/users/chaoss/followers\",\n \"following_url\": \"https://api.github.com/users/chaoss/following{/other_user}\",\n \"gists_url\": \"https://api.github.com/users/chaoss/gists{/gist_id}\",\n \"starred_url\": \"https://api.github.com/users/chaoss/starred{/owner}{/repo}\",\n \"subscriptions_url\": \"https://api.github.com/users/chaoss/subscriptions\",\n \"organizations_url\": \"https://api.github.com/users/chaoss/orgs\",\n \"repos_url\": \"https://api.github.com/users/chaoss/repos\",\n \"events_url\": \"https://api.github.com/users/chaoss/events{/privacy}\",\n \"received_events_url\": \"https://api.github.com/users/chaoss/received_events\",\n \"type\": \"Organization\",\n \"site_admin\": false\n },\n", + "oldName": "pr_src_meta_label", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 4, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false }, { - "objectType": "Index_PGSQL", - "name": "issue_events_ibfk_1", + "objectType": "TableField_PGSQL", + "name": "pr_src_meta_ref", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "issue_events_ibfk_1", - "oid": 203748, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "issue_events", - "size": "8", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "issue_id", - "collation": "", - "opClass": "int8_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "issue_id", - "collationSchema": "" - } - ] + "oldName": "pr_src_meta_ref", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 5, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_sha", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_sha", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 6, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "cntrb_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "cntrb_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 7, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_source", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 8, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_version", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_version", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 9, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_source", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "data_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 10, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false }, + { + "objectType": "TableField_PGSQL", + "name": "data_collection_date", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", + "comment": "", + "oldName": "data_collection_date", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 11, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [ { "objectType": "Index_PGSQL", - "name": "issue_events_ibfk_2", + "name": "pr_meta-cntrbid-idx", "comment": "", "isClustered": false, "isConcurrently": false, @@ -25015,12 +24854,12 @@ "method": "BTree", "tableSpaceName": "", "constraint": "", - "oldName": "issue_events_ibfk_2", - "oid": 203755, + "oldName": "pr_meta-cntrbid-idx", + "oid": 15488146, "owner": "augur", "brinPagesPerRange": -1, "ginPendingListLimit": -1, - "tableName": "issue_events", + "tableName": "pull_request_meta", "size": "8", "fields": [ { @@ -25040,21 +24879,21 @@ "rules": [], "primaryKey": { "objectType": "PrimaryKey_PGSQL", - "name": "issue_events_pkey", + "name": "pull_request_meta_pkey", "fields": [ - "event_id" + "pr_repo_meta_id" ], "fillFactor": -1, "indexTablespace": "", "comment": "", "isDeferrable": false, "isDeferred": false, - "oldName": "issue_events_pkey" + "oldName": "pull_request_meta_pkey" }, "foreignKeys": [ { "objectType": "ForeignKey_PGSQL", - "name": "fk_issue_events_contributors_1", + "name": "fk_pull_request_meta_contributors_2", "fields": [ "cntrb_id" ], @@ -25063,36 +24902,36 @@ "referenceFields": [ "cntrb_id" ], - "onDelete": "RESTRICT", - "onUpdate": "CASCADE", + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", "comment": "", "isMatchFull": false, - "isDeferrable": true, + "isDeferrable": false, "isDeferred": false, "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "OneAndOnlyOneRelationship", - "oldName": "fk_issue_events_contributors_1" + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_pull_request_meta_contributors_2" }, { "objectType": "ForeignKey_PGSQL", - "name": "fk_issue_events_issues_1", + "name": "fk_pull_request_meta_pull_requests_1", "fields": [ - "issue_id" + "pull_request_id" ], "referenceSchema": "augur_data", - "referenceTable": "issues", + "referenceTable": "pull_requests", "referenceFields": [ - "issue_id" + "pull_request_id" ], - "onDelete": "RESTRICT", + "onDelete": "CASCADE", "onUpdate": "CASCADE", "comment": "", "isMatchFull": false, - "isDeferrable": true, + "isDeferrable": false, "isDeferred": false, "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "OneAndOnlyOneRelationship", - "oldName": "fk_issue_events_issues_1" + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_pull_request_meta_pull_requests_1" } ], "uniques": [], @@ -25104,16 +24943,16 @@ }, { "objectType": "TableNormal_PGSQL", - "name": "issues", - "comment": "", + "name": "pull_request_repo", + "comment": "This table is for storing information about forks that exist as part of a pull request. Generally we do not want to track these like ordinary repositories. ", "tablespace": "", "isUnlogged": false, "owner": "augur", "inheritFromTables": [], "hasOIDs": false, "fillFactor": -1, - "oldName": "issues", - "oid": 188973, + "oldName": "pull_request_repo", + "oid": 15486701, "rows": 0, "isInheritTables": false, "cluster": "", @@ -25130,7 +24969,7 @@ "fields": [ { "objectType": "TableField_PGSQL", - "name": "issue_id", + "name": "pr_repo_id", "type": "int8", "length": 64, "decimals": 0, @@ -25138,9 +24977,9 @@ "collation": "", "isNullable": false, "defaultType": "Others", - "defaultValue": "nextval('augur_data.issue_seq'::regclass)", + "defaultValue": "nextval('augur_data.pull_request_repo_pr_repo_id_seq'::regclass)", "comment": "", - "oldName": "issue_id", + "oldName": "pr_repo_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -25160,7 +24999,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "repo_id", + "name": "pr_repo_meta_id", "type": "int8", "length": 64, "decimals": 0, @@ -25170,7 +25009,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "repo_id", + "oldName": "pr_repo_meta_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -25190,22 +25029,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "reporter_id", - "type": "int8", - "length": 64, + "name": "pr_repo_head_or_base", + "type": "varchar", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "The ID of the person who opened the issue. ", - "oldName": "reporter_id", + "comment": "For ease of validation checking, we should determine if the repository referenced is the head or base of the pull request. Each pull request should have one and only one of these, which is not enforcable easily in the database.", + "oldName": "pr_repo_head_or_base", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 3, "foreignOptions": [], "isIdentity": false, @@ -25220,7 +25059,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "pull_request", + "name": "pr_src_repo_id", "type": "int8", "length": 64, "decimals": 0, @@ -25230,7 +25069,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pull_request", + "oldName": "pr_src_repo_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -25250,22 +25089,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "pull_request_id", - "type": "int8", - "length": 64, + "name": "pr_src_node_id", + "type": "varchar", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pull_request_id", + "oldName": "pr_src_node_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 5, "foreignOptions": [], "isIdentity": false, @@ -25280,22 +25119,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "created_at", - "type": "timestamp", + "name": "pr_repo_name", + "type": "varchar", "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "created_at", + "oldName": "pr_repo_name", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 6, "foreignOptions": [], "isIdentity": false, @@ -25310,9 +25149,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "issue_title", + "name": "pr_repo_full_name", "type": "varchar", - "length": 500, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", @@ -25320,7 +25159,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "issue_title", + "oldName": "pr_repo_full_name", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -25340,22 +25179,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "issue_body", - "type": "text", + "name": "pr_repo_private_bool", + "type": "bool", "length": 0, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "issue_body", + "oldName": "pr_repo_private_bool", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 8, "foreignOptions": [], "isIdentity": false, @@ -25370,7 +25209,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "cntrb_id", + "name": "pr_cntrb_id", "type": "int8", "length": 64, "decimals": 0, @@ -25379,8 +25218,8 @@ "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "The ID of the person who closed the issue. ", - "oldName": "cntrb_id", + "comment": "", + "oldName": "pr_cntrb_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -25400,22 +25239,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "comment_count", - "type": "int8", - "length": 64, + "name": "tool_source", + "type": "varchar", + "length": 255, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "comment_count", + "oldName": "tool_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 10, "foreignOptions": [], "isIdentity": false, @@ -25430,22 +25269,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "updated_at", - "type": "timestamp", - "length": 0, + "name": "tool_version", + "type": "varchar", + "length": 255, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "updated_at", + "oldName": "tool_version", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 11, "foreignOptions": [], "isIdentity": false, @@ -25460,22 +25299,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "closed_at", - "type": "timestamp", - "length": 0, + "name": "data_source", + "type": "varchar", + "length": 255, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "closed_at", + "oldName": "data_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 12, "foreignOptions": [], "isIdentity": false, @@ -25490,17 +25329,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "due_on", + "name": "data_collection_date", "type": "timestamp", "length": 0, "decimals": 0, "dimensions": 0, "collation": "", "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", "comment": "", - "oldName": "due_on", + "oldName": "data_collection_date", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -25517,86 +25356,244 @@ "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "repository_url", - "type": "varchar", - "length": 4000, - "decimals": 0, - "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "repository_url", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 14, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "issue_url", - "type": "varchar", - "length": 4000, - "decimals": 0, - "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "issue_url", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 15, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, + } + ], + "indexes": [ { - "objectType": "TableField_PGSQL", - "name": "labels_url", - "type": "varchar", - "length": 4000, - "decimals": 0, - "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "objectType": "Index_PGSQL", + "name": "pr-cntrb-idx-repo", "comment": "", - "oldName": "labels_url", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "pr-cntrb-idx-repo", + "oid": 15488144, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "pull_request_repo", + "size": "8", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "pr_cntrb_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "pr_cntrb_id", + "collationSchema": "" + } + ] + } + ], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "pull_request_repo_pkey", + "fields": [ + "pr_repo_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "pull_request_repo_pkey" + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_pull_request_repo_contributors_1", + "fields": [ + "pr_cntrb_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "contributors", + "referenceFields": [ + "cntrb_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_pull_request_repo_contributors_1" + }, + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_pull_request_repo_pull_request_meta_1", + "fields": [ + "pr_repo_meta_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "pull_request_meta", + "referenceFields": [ + "pr_repo_meta_id" + ], + "onDelete": "CASCADE", + "onUpdate": "CASCADE", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_pull_request_repo_pull_request_meta_1" + } + ], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "pull_request_review_message_ref", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "pull_request_review_message_ref", + "oid": 15488260, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "pr_review_msg_ref_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_data.pull_request_review_message_ref_pr_review_msg_ref_id_seq'::regclass)", + "comment": "", + "oldName": "pr_review_msg_ref_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_review_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_review_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "msg_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "msg_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_review_msg_url", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_review_msg_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 16, + "ordinalPosition": 4, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -25610,9 +25607,69 @@ }, { "objectType": "TableField_PGSQL", - "name": "comments_url", + "name": "pr_review_src_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_review_src_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 5, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_review_msg_src_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_review_msg_src_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 6, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_review_msg_node_id", "type": "varchar", - "length": 4000, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", @@ -25620,13 +25677,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "comments_url", + "oldName": "pr_review_msg_node_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 17, + "ordinalPosition": 7, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -25640,9 +25697,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "events_url", + "name": "pr_review_msg_diff_hunk", "type": "varchar", - "length": 4000, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", @@ -25650,13 +25707,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "events_url", + "oldName": "pr_review_msg_diff_hunk", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 18, + "ordinalPosition": 8, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -25670,9 +25727,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "html_url", + "name": "pr_review_msg_path", "type": "varchar", - "length": 4000, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", @@ -25680,13 +25737,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "html_url", + "oldName": "pr_review_msg_path", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 19, + "ordinalPosition": 9, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -25700,9 +25757,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "issue_state", + "name": "pr_review_msg_position", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", @@ -25710,13 +25767,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "issue_state", + "oldName": "pr_review_msg_position", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 20, + "ordinalPosition": 10, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -25730,7 +25787,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "issue_node_id", + "name": "pr_review_msg_original_position", "type": "varchar", "length": 0, "decimals": 0, @@ -25740,13 +25797,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "issue_node_id", + "oldName": "pr_review_msg_original_position", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 21, + "ordinalPosition": 11, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -25760,23 +25817,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "gh_issue_id", - "type": "int8", - "length": 64, + "name": "pr_review_msg_commit_id", + "type": "varchar", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "gh_issue_id", + "oldName": "pr_review_msg_commit_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 22, + "collationSchema": "pg_catalog", + "ordinalPosition": 12, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -25790,9 +25847,39 @@ }, { "objectType": "TableField_PGSQL", - "name": "gh_user_id", - "type": "int8", - "length": 64, + "name": "pr_review_msg_original_commit_id", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_review_msg_original_commit_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 13, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_review_msg_updated_at", + "type": "timestamp", + "length": 6, "decimals": 0, "dimensions": 0, "collation": "", @@ -25800,13 +25887,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "gh_user_id", + "oldName": "pr_review_msg_updated_at", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 23, + "ordinalPosition": 14, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -25820,9 +25907,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_source", + "name": "pr_review_msg_html_url", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", @@ -25830,13 +25917,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "tool_source", + "oldName": "pr_review_msg_html_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 24, + "ordinalPosition": 15, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -25850,9 +25937,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_version", + "name": "pr_url", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", @@ -25860,13 +25947,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "tool_version", + "oldName": "pr_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 25, + "ordinalPosition": 16, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -25880,9 +25967,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_source", + "name": "pr_review_msg_author_association", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", @@ -25890,13 +25977,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "data_source", + "oldName": "pr_review_msg_author_association", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 26, + "ordinalPosition": 17, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -25910,23 +25997,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_collection_date", - "type": "timestamp", + "name": "pr_review_msg_start_line", + "type": "varchar", "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, - "defaultType": "Others", - "defaultValue": "CURRENT_TIMESTAMP", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "data_collection_date", + "oldName": "pr_review_msg_start_line", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 27, + "collationSchema": "pg_catalog", + "ordinalPosition": 18, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -25940,23 +26027,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "gh_issue_number", - "type": "int8", - "length": 64, + "name": "pr_review_msg_original_start_line", + "type": "varchar", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "gh_issue_number", + "oldName": "pr_review_msg_original_start_line", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 28, + "collationSchema": "pg_catalog", + "ordinalPosition": 19, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -25967,277 +26054,146 @@ "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false - } - ], - "indexes": [ + }, { - "objectType": "Index_PGSQL", - "name": "issue-cntrb-dix2", + "objectType": "TableField_PGSQL", + "name": "pr_review_msg_start_side", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "issue-cntrb-dix2", - "oid": 203732, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "issues", - "size": "8", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "cntrb_id", - "collation": "", - "opClass": "int8_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cntrb_id", - "collationSchema": "" - } - ] + "oldName": "pr_review_msg_start_side", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 20, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false }, { - "objectType": "Index_PGSQL", - "name": "issues_ibfk_1", + "objectType": "TableField_PGSQL", + "name": "pr_review_msg_line", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "issues_ibfk_1", - "oid": 203756, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "issues", - "size": "8", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "repo_id", - "collation": "", - "opClass": "int8_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "repo_id", - "collationSchema": "" - } - ] - }, - { - "objectType": "Index_PGSQL", - "name": "issues_ibfk_2", - "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "issues_ibfk_2", - "oid": 203759, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "issues", - "size": "8", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "reporter_id", - "collation": "", - "opClass": "int8_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "reporter_id", - "collationSchema": "" - } - ] + "oldName": "pr_review_msg_line", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 21, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false }, { - "objectType": "Index_PGSQL", - "name": "issues_ibfk_4", - "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "issues_ibfk_4", - "oid": 203760, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "issues", - "size": "8", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "pull_request_id", - "collation": "", - "opClass": "int8_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "pull_request_id", - "collationSchema": "" - } - ] - } - ], - "rules": [], - "primaryKey": { - "objectType": "PrimaryKey_PGSQL", - "name": "issues_pkey", - "fields": [ - "issue_id" - ], - "fillFactor": -1, - "indexTablespace": "", - "comment": "", - "isDeferrable": false, - "isDeferred": false, - "oldName": "issues_pkey" - }, - "foreignKeys": [ - { - "objectType": "ForeignKey_PGSQL", - "name": "fk_issues_contributors_1", - "fields": [ - "cntrb_id" - ], - "referenceSchema": "augur_data", - "referenceTable": "contributors", - "referenceFields": [ - "cntrb_id" - ], - "onDelete": "RESTRICT", - "onUpdate": "CASCADE", + "objectType": "TableField_PGSQL", + "name": "pr_review_msg_original_line", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", "comment": "", - "isMatchFull": false, - "isDeferrable": true, - "isDeferred": false, - "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "ZeroOrOneRelationship", - "oldName": "fk_issues_contributors_1" + "oldName": "pr_review_msg_original_line", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 22, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false }, { - "objectType": "ForeignKey_PGSQL", - "name": "fk_issues_contributors_2", - "fields": [ - "reporter_id" - ], - "referenceSchema": "augur_data", - "referenceTable": "contributors", - "referenceFields": [ - "cntrb_id" - ], - "onDelete": "RESTRICT", - "onUpdate": "CASCADE", + "objectType": "TableField_PGSQL", + "name": "pr_review_msg_side", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", "comment": "", - "isMatchFull": false, - "isDeferrable": true, - "isDeferred": false, - "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "ZeroOrOneRelationship", - "oldName": "fk_issues_contributors_2" + "oldName": "pr_review_msg_side", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 23, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false }, - { - "objectType": "ForeignKey_PGSQL", - "name": "fk_issues_repo", - "fields": [ - "repo_id" - ], - "referenceSchema": "augur_data", - "referenceTable": "repo", - "referenceFields": [ - "repo_id" - ], - "onDelete": "RESTRICT", - "onUpdate": "CASCADE", - "comment": "", - "isMatchFull": false, - "isDeferrable": true, - "isDeferred": false, - "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "ZeroOrOneRelationship", - "oldName": "fk_issues_repo" - } - ], - "uniques": [], - "checks": [], - "excludes": [], - "triggers": [], - "partitionKeys": [], - "partitions": [] - }, - { - "objectType": "TableNormal_PGSQL", - "name": "message", - "comment": "", - "tablespace": "", - "isUnlogged": false, - "owner": "augur", - "inheritFromTables": [], - "hasOIDs": false, - "fillFactor": -1, - "oldName": "message", - "oid": 189724, - "rows": 0, - "isInheritTables": false, - "cluster": "", - "ACL": "", - "isPartition": false, - "partitioningStrategy": "None", - "partitionOfSchema": "", - "partitionOfTable": "", - "partitionListValues": [], - "partitionRangeFromValues": [], - "partitionRangeToValues": [], - "foreignServer": "", - "foreignOptionDisplay": "", - "fields": [ { "objectType": "TableField_PGSQL", - "name": "msg_id", - "type": "int8", - "length": 64, + "name": "tool_source", + "type": "varchar", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", - "isNullable": false, - "defaultType": "Others", - "defaultValue": "nextval('augur_data.message_msg_id_seq'::regclass)", + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "msg_id", + "oldName": "tool_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 1, + "collationSchema": "pg_catalog", + "ordinalPosition": 24, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -26251,23 +26207,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "rgls_id", - "type": "int8", - "length": 64, + "name": "tool_version", + "type": "varchar", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "rgls_id", + "oldName": "tool_version", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 2, + "collationSchema": "pg_catalog", + "ordinalPosition": 25, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -26281,8 +26237,8 @@ }, { "objectType": "TableField_PGSQL", - "name": "msg_text", - "type": "text", + "name": "data_source", + "type": "varchar", "length": 0, "decimals": 0, "dimensions": 0, @@ -26291,13 +26247,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "msg_text", + "oldName": "data_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 3, + "ordinalPosition": 26, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -26311,23 +26267,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "msg_timestamp", + "name": "data_collection_date", "type": "timestamp", "length": 0, "decimals": 0, "dimensions": 0, "collation": "", "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", "comment": "", - "oldName": "msg_timestamp", + "oldName": "data_collection_date", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 4, + "ordinalPosition": 27, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -26341,23 +26297,146 @@ }, { "objectType": "TableField_PGSQL", - "name": "msg_sender_email", - "type": "varchar", - "length": 255, + "name": "repo_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "msg_sender_email", + "oldName": "repo_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 5, + "collationSchema": "", + "ordinalPosition": 28, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "pr_review_msg_ref_id", + "fields": [ + "pr_review_msg_ref_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "pr_review_msg_ref_id" + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_pull_request_review_message_ref_message_1", + "fields": [ + "msg_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "message", + "referenceFields": [ + "msg_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "OneAndOnlyOneRelationship", + "oldName": "fk_pull_request_review_message_ref_message_1" + }, + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_pull_request_review_message_ref_pull_request_reviews_1", + "fields": [ + "pr_review_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "pull_request_reviews", + "referenceFields": [ + "pr_review_id" + ], + "onDelete": "CASCADE", + "onUpdate": "CASCADE", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "OneAndOnlyOneRelationship", + "oldName": "fk_pull_request_review_message_ref_pull_request_reviews_1" + } + ], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "pull_request_reviewers", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "pull_request_reviewers", + "oid": 15486709, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "pr_reviewer_map_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_data.pull_request_reviewers_pr_reviewer_map_id_seq'::regclass)", + "comment": "", + "oldName": "pr_reviewer_map_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -26371,23 +26450,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "msg_header", - "type": "varchar", - "length": 4000, + "name": "pull_request_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "msg_header", + "oldName": "pull_request_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 6, + "collationSchema": "", + "ordinalPosition": 2, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -26401,23 +26480,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "pltfrm_id", + "name": "cntrb_id", "type": "int8", "length": 64, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": false, + "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pltfrm_id", + "oldName": "cntrb_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 7, + "ordinalPosition": 3, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -26447,7 +26526,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 8, + "ordinalPosition": 4, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -26477,7 +26556,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 9, + "ordinalPosition": 5, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -26507,7 +26586,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 10, + "ordinalPosition": 6, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -26537,7 +26616,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 11, + "ordinalPosition": 7, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -26551,7 +26630,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "cntrb_id", + "name": "pr_reviewer_src_id", "type": "int8", "length": 64, "decimals": 0, @@ -26560,14 +26639,14 @@ "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "Not populated for mailing lists. Populated for GitHub issues. ", - "oldName": "cntrb_id", + "comment": "", + "oldName": "pr_reviewer_src_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 12, + "ordinalPosition": 8, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -26583,124 +26662,34 @@ "indexes": [ { "objectType": "Index_PGSQL", - "name": "messagegrouper", + "name": "pr-reviewers-cntrb-idx1", "comment": "", "isClustered": false, "isConcurrently": false, - "isUnique": true, + "isUnique": false, "fastUpdate": "", "buffering": "", "fillFactor": -1, "method": "BTree", "tableSpaceName": "", "constraint": "", - "oldName": "messagegrouper", - "oid": 203787, + "oldName": "pr-reviewers-cntrb-idx1", + "oid": 15488148, "owner": "augur", "brinPagesPerRange": -1, "ginPendingListLimit": -1, - "tableName": "message", + "tableName": "pull_request_reviewers", "size": "8", "fields": [ { "objectType": "IndexField_PGSQL", - "name": "msg_id", - "collation": "", - "opClass": "int8_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "msg_id", - "collationSchema": "" - }, - { - "objectType": "IndexField_PGSQL", - "name": "rgls_id", + "name": "cntrb_id", "collation": "", "opClass": "int8_ops", "opClassSchema": "pg_catalog", "order": "ASC", "nullSort": "NULLS LAST", - "oldName": "rgls_id", - "collationSchema": "" - } - ] - }, - { - "objectType": "Index_PGSQL", - "name": "msg-cntrb-id-idx", - "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "msg-cntrb-id-idx", - "oid": 203788, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "message", - "size": "8", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "cntrb_id", - "collation": "", - "opClass": "int8_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cntrb_id", - "collationSchema": "" - } - ] - }, - { - "objectType": "Index_PGSQL", - "name": "platformgrouper", - "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "platformgrouper", - "oid": 203792, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "message", - "size": "8", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "msg_id", - "collation": "", - "opClass": "int8_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "msg_id", - "collationSchema": "" - }, - { - "objectType": "IndexField_PGSQL", - "name": "pltfrm_id", - "collation": "", - "opClass": "int8_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "pltfrm_id", + "oldName": "cntrb_id", "collationSchema": "" } ] @@ -26709,21 +26698,21 @@ "rules": [], "primaryKey": { "objectType": "PrimaryKey_PGSQL", - "name": "message_pkey", + "name": "pull_request_reviewers_pkey", "fields": [ - "msg_id" + "pr_reviewer_map_id" ], "fillFactor": -1, "indexTablespace": "", "comment": "", "isDeferrable": false, "isDeferred": false, - "oldName": "message_pkey" + "oldName": "pull_request_reviewers_pkey" }, "foreignKeys": [ { "objectType": "ForeignKey_PGSQL", - "name": "fk_message_contributors_1", + "name": "fk_pull_request_reviewers_contributors_1", "fields": [ "cntrb_id" ], @@ -26732,89 +26721,39 @@ "referenceFields": [ "cntrb_id" ], - "onDelete": "RESTRICT", + "onDelete": "CASCADE", "onUpdate": "CASCADE", "comment": "", "isMatchFull": false, - "isDeferrable": true, + "isDeferrable": false, "isDeferred": false, "sourceCardinality": "ZeroOrManyRelationship", "targetCardinality": "ZeroOrOneRelationship", - "oldName": "fk_message_contributors_1" - }, - { - "objectType": "ForeignKey_PGSQL", - "name": "fk_message_platform_1", - "fields": [ - "pltfrm_id" - ], - "referenceSchema": "augur_data", - "referenceTable": "platform", - "referenceFields": [ - "pltfrm_id" - ], - "onDelete": "RESTRICT", - "onUpdate": "CASCADE", - "comment": "", - "isMatchFull": false, - "isDeferrable": true, - "isDeferred": false, - "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "OneAndOnlyOneRelationship", - "oldName": "fk_message_platform_1" + "oldName": "fk_pull_request_reviewers_contributors_1" }, { "objectType": "ForeignKey_PGSQL", - "name": "fk_message_repo_groups_list_serve_1", + "name": "fk_pull_request_reviewers_pull_requests_1", "fields": [ - "rgls_id" + "pull_request_id" ], "referenceSchema": "augur_data", - "referenceTable": "repo_groups_list_serve", + "referenceTable": "pull_requests", "referenceFields": [ - "rgls_id" + "pull_request_id" ], - "onDelete": "RESTRICT", + "onDelete": "CASCADE", "onUpdate": "CASCADE", "comment": "", "isMatchFull": false, - "isDeferrable": true, + "isDeferrable": false, "isDeferred": false, "sourceCardinality": "ZeroOrManyRelationship", "targetCardinality": "ZeroOrOneRelationship", - "oldName": "fk_message_repo_groups_list_serve_1" - } - ], - "uniques": [ - { - "objectType": "Unique_PGSQL", - "name": "REPOGROUPLISTER", - "fields": [ - "msg_id", - "rgls_id" - ], - "fillFactor": -1, - "indexTablespace": "", - "comment": "", - "isDeferrable": false, - "isDeferred": false, - "oldName": "REPOGROUPLISTER" - }, - { - "objectType": "Unique_PGSQL", - "name": "platformer", - "fields": [ - "msg_id", - "pltfrm_id" - ], - "fillFactor": -1, - "indexTablespace": "", - "comment": "", - "isDeferrable": false, - "isDeferred": false, - "oldName": "platformer" + "oldName": "fk_pull_request_reviewers_pull_requests_1" } ], + "uniques": [], "checks": [], "excludes": [], "triggers": [], @@ -26823,16 +26762,16 @@ }, { "objectType": "TableNormal_PGSQL", - "name": "contributors_aliases", - "comment": "An alias will need to be created for every contributor in this model, otherwise we will have to look in 2 places. ", + "name": "pull_request_reviews", + "comment": "", "tablespace": "", "isUnlogged": false, "owner": "augur", "inheritFromTables": [], "hasOIDs": false, "fillFactor": -1, - "oldName": "contributors_aliases", - "oid": 187257, + "oldName": "pull_request_reviews", + "oid": 15488270, "rows": 0, "isInheritTables": false, "cluster": "", @@ -26849,17 +26788,17 @@ "fields": [ { "objectType": "TableField_PGSQL", - "name": "cntrb_id", + "name": "pr_review_id", "type": "int8", "length": 64, "decimals": 0, "dimensions": 0, "collation": "", "isNullable": false, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "nextval('augur_data.pull_request_reviews_pr_review_id_seq'::regclass)", "comment": "", - "oldName": "cntrb_id", + "oldName": "pr_review_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -26879,17 +26818,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "cntrb_a_id", + "name": "pull_request_id", "type": "int8", "length": 64, "decimals": 0, "dimensions": 0, "collation": "", "isNullable": false, - "defaultType": "Others", - "defaultValue": "nextval('augur_data.contributors_aliases_cntrb_a_id_seq'::regclass)", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "cntrb_a_id", + "oldName": "pull_request_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -26909,23 +26848,53 @@ }, { "objectType": "TableField_PGSQL", - "name": "canonical_email", + "name": "cntrb_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "cntrb_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_review_author_association", "type": "varchar", "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", - "isNullable": false, + "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "canonical_email", + "oldName": "pr_review_author_association", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 3, + "ordinalPosition": 4, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -26939,23 +26908,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "alias_email", + "name": "pr_review_state", "type": "varchar", - "length": 128, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", - "isNullable": false, + "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "alias_email", + "oldName": "pr_review_state", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 4, + "ordinalPosition": 5, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -26969,23 +26938,53 @@ }, { "objectType": "TableField_PGSQL", - "name": "cntrb_active", - "type": "int2", - "length": 16, + "name": "pr_review_body", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_review_body", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 6, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_review_submitted_at", + "type": "timestamp", + "length": 6, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": false, - "defaultType": "Others", - "defaultValue": "1", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "cntrb_active", + "oldName": "pr_review_submitted_at", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 5, + "ordinalPosition": 7, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -26999,23 +26998,143 @@ }, { "objectType": "TableField_PGSQL", - "name": "cntrb_last_modified", - "type": "timestamp", - "length": 0, + "name": "pr_review_src_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": false, - "defaultType": "Others", - "defaultValue": "CURRENT_TIMESTAMP", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "cntrb_last_modified", + "oldName": "pr_review_src_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 6, + "ordinalPosition": 8, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_review_node_id", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_review_node_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 9, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_review_html_url", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_review_html_url", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 10, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_review_pull_request_url", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_review_pull_request_url", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 11, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_review_commit_id", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_review_commit_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 12, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -27031,7 +27150,7 @@ "objectType": "TableField_PGSQL", "name": "tool_source", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", @@ -27045,7 +27164,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 7, + "ordinalPosition": 13, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -27061,7 +27180,7 @@ "objectType": "TableField_PGSQL", "name": "tool_version", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", @@ -27075,7 +27194,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 8, + "ordinalPosition": 14, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -27091,7 +27210,7 @@ "objectType": "TableField_PGSQL", "name": "data_source", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", @@ -27105,7 +27224,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 9, + "ordinalPosition": 15, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -27135,7 +27254,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 10, + "ordinalPosition": 16, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -27148,223 +27267,63 @@ "isIdentityCycle": false } ], - "indexes": [ + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "pull_request_review_id", + "fields": [ + "pr_review_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "pull_request_review_id" + }, + "foreignKeys": [ { - "objectType": "Index_PGSQL", - "name": "alias,active", - "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "alias,active", - "oid": 203516, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "contributors_aliases", - "size": "8", + "objectType": "ForeignKey_PGSQL", + "name": "fk_pull_request_reviews_contributors_1", "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "alias_email", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "alias_email", - "collationSchema": "pg_catalog" - }, - { - "objectType": "IndexField_PGSQL", - "name": "cntrb_active", - "collation": "", - "opClass": "int2_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cntrb_active", - "collationSchema": "" - } - ] - }, - { - "objectType": "Index_PGSQL", - "name": "canonical,alias", - "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": true, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "canonical,alias", - "oid": 203538, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "contributors_aliases", - "size": "8", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "canonical_email", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "canonical_email", - "collationSchema": "pg_catalog" - }, - { - "objectType": "IndexField_PGSQL", - "name": "alias_email", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "alias_email", - "collationSchema": "pg_catalog" - } - ] - }, - { - "objectType": "Index_PGSQL", - "name": "issue-alias-cntrb-idx1", - "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "issue-alias-cntrb-idx1", - "oid": 203725, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "contributors_aliases", - "size": "8", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "cntrb_id", - "collation": "", - "opClass": "int8_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cntrb_id", - "collationSchema": "" - } - ] - }, - { - "objectType": "Index_PGSQL", - "name": "issue-alias-cntrb-idx2", - "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "issue-alias-cntrb-idx2", - "oid": 203728, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "contributors_aliases", - "size": "8", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "cntrb_a_id", - "collation": "", - "opClass": "int8_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cntrb_a_id", - "collationSchema": "" - } - ] - } - ], - "rules": [], - "primaryKey": { - "objectType": "PrimaryKey_PGSQL", - "name": "contributors_aliases_pkey", - "fields": [ - "cntrb_id", - "cntrb_a_id" - ], - "fillFactor": -1, - "indexTablespace": "", - "comment": "", - "isDeferrable": false, - "isDeferred": false, - "oldName": "contributors_aliases_pkey" - }, - "foreignKeys": [ - { - "objectType": "ForeignKey_PGSQL", - "name": "fk_alias_id", - "fields": [ - "cntrb_a_id" - ], - "referenceSchema": "augur_data", - "referenceTable": "contributors", - "referenceFields": [ - "cntrb_id" - ], - "onDelete": "CASCADE", - "onUpdate": "CASCADE", - "comment": "", - "isMatchFull": false, - "isDeferrable": true, - "isDeferred": false, - "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "OneAndOnlyOneRelationship", - "oldName": "fk_alias_id" + "cntrb_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "contributors", + "referenceFields": [ + "cntrb_id" + ], + "onDelete": "CASCADE", + "onUpdate": "CASCADE", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "OneAndOnlyOneRelationship", + "oldName": "fk_pull_request_reviews_contributors_1" }, { "objectType": "ForeignKey_PGSQL", - "name": "fk_contributors_aliases_contributors_1", + "name": "fk_pull_request_reviews_pull_requests_1", "fields": [ - "cntrb_id" + "pull_request_id" ], "referenceSchema": "augur_data", - "referenceTable": "contributors", + "referenceTable": "pull_requests", "referenceFields": [ - "cntrb_id" + "pull_request_id" ], "onDelete": "CASCADE", "onUpdate": "CASCADE", "comment": "", "isMatchFull": false, - "isDeferrable": true, + "isDeferrable": false, "isDeferred": false, "sourceCardinality": "ZeroOrManyRelationship", "targetCardinality": "OneAndOnlyOneRelationship", - "oldName": "fk_contributors_aliases_contributors_1" + "oldName": "fk_pull_request_reviews_pull_requests_1" } ], "uniques": [], @@ -27376,7 +27335,7 @@ }, { "objectType": "TableNormal_PGSQL", - "name": "pull_request_reviewers", + "name": "pull_request_teams", "comment": "", "tablespace": "", "isUnlogged": false, @@ -27384,8 +27343,8 @@ "inheritFromTables": [], "hasOIDs": false, "fillFactor": -1, - "oldName": "pull_request_reviewers", - "oid": 191237, + "oldName": "pull_request_teams", + "oid": 15486717, "rows": 0, "isInheritTables": false, "cluster": "", @@ -27402,7 +27361,7 @@ "fields": [ { "objectType": "TableField_PGSQL", - "name": "pr_reviewer_map_id", + "name": "pr_team_id", "type": "int8", "length": 64, "decimals": 0, @@ -27410,9 +27369,9 @@ "collation": "", "isNullable": false, "defaultType": "Others", - "defaultValue": "nextval('augur_data.pull_request_reviewers_pr_reviewer_map_id_seq'::regclass)", + "defaultValue": "nextval('augur_data.pull_request_teams_pr_team_id_seq'::regclass)", "comment": "", - "oldName": "pr_reviewer_map_id", + "oldName": "pr_team_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -27462,7 +27421,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "cntrb_id", + "name": "pr_src_team_id", "type": "int8", "length": 64, "decimals": 0, @@ -27472,7 +27431,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "cntrb_id", + "oldName": "pr_src_team_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -27492,23 +27451,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_reviewer_src_id", - "type": "int8", - "length": 64, + "name": "pr_src_team_node", + "type": "varchar", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_reviewer_src_id", + "oldName": "pr_src_team_node", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 8, + "collationSchema": "pg_catalog", + "ordinalPosition": 4, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -27522,9 +27481,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_source", + "name": "pr_src_team_url", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", @@ -27532,13 +27491,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "tool_source", + "oldName": "pr_src_team_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 4, + "ordinalPosition": 5, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -27552,9 +27511,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_version", + "name": "pr_team_name", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", @@ -27562,13 +27521,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "tool_version", + "oldName": "pr_team_name", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 5, + "ordinalPosition": 6, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -27582,9 +27541,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_source", + "name": "pr_team_slug", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", @@ -27592,13 +27551,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "data_source", + "oldName": "pr_team_slug", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 6, + "ordinalPosition": 7, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -27612,23 +27571,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_collection_date", - "type": "timestamp", + "name": "pr_team_description", + "type": "varchar", "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, - "defaultType": "Others", - "defaultValue": "CURRENT_TIMESTAMP", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "data_collection_date", + "oldName": "pr_team_description", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 7, + "collationSchema": "pg_catalog", + "ordinalPosition": 8, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -27639,154 +27598,26 @@ "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false - } - ], - "indexes": [ - { - "objectType": "Index_PGSQL", - "name": "pr-reviewers-cntrb-idx1", - "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "pr-reviewers-cntrb-idx1", - "oid": 203802, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "pull_request_reviewers", - "size": "8", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "cntrb_id", - "collation": "", - "opClass": "int8_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cntrb_id", - "collationSchema": "" - } - ] - } - ], - "rules": [], - "primaryKey": { - "objectType": "PrimaryKey_PGSQL", - "name": "pull_request_reviewers_pkey", - "fields": [ - "pr_reviewer_map_id" - ], - "fillFactor": -1, - "indexTablespace": "", - "comment": "", - "isDeferrable": false, - "isDeferred": false, - "oldName": "pull_request_reviewers_pkey" - }, - "foreignKeys": [ - { - "objectType": "ForeignKey_PGSQL", - "name": "fk_pull_request_reviewers_contributors_1", - "fields": [ - "cntrb_id" - ], - "referenceSchema": "augur_data", - "referenceTable": "contributors", - "referenceFields": [ - "cntrb_id" - ], - "onDelete": "RESTRICT", - "onUpdate": "CASCADE", - "comment": "", - "isMatchFull": false, - "isDeferrable": true, - "isDeferred": false, - "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "ZeroOrOneRelationship", - "oldName": "fk_pull_request_reviewers_contributors_1" }, - { - "objectType": "ForeignKey_PGSQL", - "name": "fk_pull_request_reviewers_pull_requests_1", - "fields": [ - "pull_request_id" - ], - "referenceSchema": "augur_data", - "referenceTable": "pull_requests", - "referenceFields": [ - "pull_request_id" - ], - "onDelete": "RESTRICT", - "onUpdate": "CASCADE", - "comment": "", - "isMatchFull": false, - "isDeferrable": true, - "isDeferred": false, - "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "ZeroOrOneRelationship", - "oldName": "fk_pull_request_reviewers_pull_requests_1" - } - ], - "uniques": [], - "checks": [], - "excludes": [], - "triggers": [], - "partitionKeys": [], - "partitions": [] - }, - { - "objectType": "TableNormal_PGSQL", - "name": "repo_info", - "comment": "", - "tablespace": "", - "isUnlogged": false, - "owner": "augur", - "inheritFromTables": [], - "hasOIDs": false, - "fillFactor": -1, - "oldName": "repo_info", - "oid": 192746, - "rows": 0, - "isInheritTables": false, - "cluster": "", - "ACL": "", - "isPartition": false, - "partitioningStrategy": "None", - "partitionOfSchema": "", - "partitionOfTable": "", - "partitionListValues": [], - "partitionRangeFromValues": [], - "partitionRangeToValues": [], - "foreignServer": "", - "foreignOptionDisplay": "", - "fields": [ { "objectType": "TableField_PGSQL", - "name": "repo_info_id", - "type": "int8", - "length": 64, + "name": "pr_team_privacy", + "type": "varchar", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", - "isNullable": false, - "defaultType": "Others", - "defaultValue": "nextval('augur_data.repo_info_repo_info_id_seq'::regclass)", + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "repo_info_id", + "oldName": "pr_team_privacy", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 1, + "collationSchema": "pg_catalog", + "ordinalPosition": 9, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -27800,23 +27631,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "repo_id", - "type": "int8", - "length": 64, + "name": "pr_team_permission", + "type": "varchar", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", - "isNullable": false, + "collation": "default", + "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "repo_id", + "oldName": "pr_team_permission", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 2, + "collationSchema": "pg_catalog", + "ordinalPosition": 10, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -27830,23 +27661,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "last_updated", - "type": "timestamp", + "name": "pr_team_src_members_url", + "type": "varchar", "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, - "defaultType": "Others", - "defaultValue": "NULL::timestamp without time zone", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "last_updated", + "oldName": "pr_team_src_members_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 3, + "collationSchema": "pg_catalog", + "ordinalPosition": 11, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -27860,23 +27691,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "issues_enabled", + "name": "pr_team_src_repositories_url", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, - "defaultType": "Others", - "defaultValue": "NULL::character varying", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "issues_enabled", + "oldName": "pr_team_src_repositories_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 4, + "ordinalPosition": 12, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -27890,9 +27721,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "open_issues", - "type": "int4", - "length": 32, + "name": "pr_team_parent_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, "collation": "", @@ -27900,13 +27731,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "open_issues", + "oldName": "pr_team_parent_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 5, + "ordinalPosition": 13, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -27920,23 +27751,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "pull_requests_enabled", + "name": "tool_source", "type": "varchar", "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, - "defaultType": "Others", - "defaultValue": "NULL::character varying", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "pull_requests_enabled", + "oldName": "tool_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 6, + "ordinalPosition": 14, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -27950,23 +27781,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "wiki_enabled", + "name": "tool_version", "type": "varchar", "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, - "defaultType": "Others", - "defaultValue": "NULL::character varying", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "wiki_enabled", + "oldName": "tool_version", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 7, + "ordinalPosition": 15, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -27980,23 +27811,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "pages_enabled", + "name": "data_source", "type": "varchar", "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, - "defaultType": "Others", - "defaultValue": "NULL::character varying", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "pages_enabled", + "oldName": "data_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 8, + "ordinalPosition": 16, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -28010,23 +27841,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "fork_count", - "type": "int4", - "length": 32, + "name": "data_collection_date", + "type": "timestamp", + "length": 0, "decimals": 0, "dimensions": 0, "collation": "", "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", "comment": "", - "oldName": "fork_count", + "oldName": "data_collection_date", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 9, + "ordinalPosition": 17, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -28037,31 +27868,103 @@ "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false - }, + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "pull_request_teams_pkey", + "fields": [ + "pr_team_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "pull_request_teams_pkey" + }, + "foreignKeys": [ { - "objectType": "TableField_PGSQL", - "name": "default_branch", - "type": "varchar", - "length": 255, - "decimals": 0, - "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "Others", - "defaultValue": "NULL::character varying", + "objectType": "ForeignKey_PGSQL", + "name": "fk_pull_request_teams_pull_requests_1", + "fields": [ + "pull_request_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "pull_requests", + "referenceFields": [ + "pull_request_id" + ], + "onDelete": "CASCADE", + "onUpdate": "CASCADE", "comment": "", - "oldName": "default_branch", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 10, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_pull_request_teams_pull_requests_1" + } + ], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "pull_requests", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "pull_requests", + "oid": 15486725, + "rows": 1012, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "pull_request_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_data.pull_requests_pull_request_id_seq'::regclass)", + "comment": "", + "oldName": "pull_request_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, "identityMinimum": 0, "hasNoIdentityMinValue": false, "identityMaximum": 0, @@ -28070,23 +27973,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "watchers_count", - "type": "int4", - "length": 32, + "name": "pr_url", + "type": "varchar", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "watchers_count", + "oldName": "pr_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 11, + "collationSchema": "pg_catalog", + "ordinalPosition": 2, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -28100,23 +28003,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "UUID", - "type": "int4", - "length": 32, + "name": "pr_src_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "", - "oldName": "UUID", + "comment": "The pr_src_id is unique across all of github.", + "oldName": "pr_src_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 12, + "ordinalPosition": 3, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -28130,23 +28033,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "license", + "name": "pr_src_node_id", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, - "defaultType": "Others", - "defaultValue": "NULL::character varying", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "license", + "oldName": "pr_src_node_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 13, + "ordinalPosition": 4, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -28160,23 +28063,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "stars_count", - "type": "int4", - "length": 32, + "name": "pr_html_url", + "type": "varchar", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "stars_count", + "oldName": "pr_html_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 14, + "collationSchema": "pg_catalog", + "ordinalPosition": 5, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -28190,23 +28093,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "committers_count", - "type": "int4", - "length": 32, + "name": "pr_diff_url", + "type": "varchar", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "committers_count", + "oldName": "pr_diff_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 15, + "collationSchema": "pg_catalog", + "ordinalPosition": 6, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -28220,9 +28123,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "issue_contributors_count", + "name": "pr_patch_url", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", @@ -28230,13 +28133,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "issue_contributors_count", + "oldName": "pr_patch_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 16, + "ordinalPosition": 7, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -28250,23 +28153,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "changelog_file", + "name": "pr_issue_url", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, - "defaultType": "Others", - "defaultValue": "NULL::character varying", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "changelog_file", + "oldName": "pr_issue_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 17, + "ordinalPosition": 8, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -28280,23 +28183,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "contributing_file", - "type": "varchar", - "length": 255, + "name": "pr_augur_issue_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, - "defaultType": "Others", - "defaultValue": "NULL::character varying", - "comment": "", - "oldName": "contributing_file", + "defaultType": "None", + "defaultValue": "", + "comment": "This is to link to the augur stored related issue", + "oldName": "pr_augur_issue_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 18, + "collationSchema": "", + "ordinalPosition": 9, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -28310,23 +28213,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "license_file", - "type": "varchar", - "length": 255, + "name": "pr_src_number", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, - "defaultType": "Others", - "defaultValue": "NULL::character varying", - "comment": "", - "oldName": "license_file", + "defaultType": "None", + "defaultValue": "", + "comment": "The pr_src_number is unique within a repository.", + "oldName": "pr_src_number", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 19, + "collationSchema": "", + "ordinalPosition": 10, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -28340,23 +28243,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "code_of_conduct_file", + "name": "pr_src_state", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, - "defaultType": "Others", - "defaultValue": "NULL::character varying", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "code_of_conduct_file", + "oldName": "pr_src_state", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 20, + "ordinalPosition": 11, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -28370,23 +28273,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "security_issue_file", - "type": "varchar", - "length": 255, + "name": "pr_src_locked", + "type": "bool", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, - "defaultType": "Others", - "defaultValue": "NULL::character varying", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "security_issue_file", + "oldName": "pr_src_locked", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 21, + "collationSchema": "", + "ordinalPosition": 12, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -28400,23 +28303,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "security_audit_file", + "name": "pr_src_title", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, - "defaultType": "Others", - "defaultValue": "NULL::character varying", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "security_audit_file", + "oldName": "pr_src_title", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 22, + "ordinalPosition": 13, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -28430,23 +28333,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "status", - "type": "varchar", - "length": 255, + "name": "pr_augur_contributor_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, - "defaultType": "Others", - "defaultValue": "NULL::character varying", - "comment": "", - "oldName": "status", + "defaultType": "None", + "defaultValue": "", + "comment": "This is to link to the augur contributor record. ", + "oldName": "pr_augur_contributor_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 23, + "collationSchema": "", + "ordinalPosition": 14, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -28460,23 +28363,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "keywords", - "type": "varchar", - "length": 255, + "name": "pr_body", + "type": "text", + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, - "defaultType": "Others", - "defaultValue": "NULL::character varying", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "keywords", + "oldName": "pr_body", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 24, + "ordinalPosition": 15, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -28490,9 +28393,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "commit_count", - "type": "int8", - "length": 64, + "name": "pr_created_at", + "type": "timestamp", + "length": 0, "decimals": 0, "dimensions": 0, "collation": "", @@ -28500,13 +28403,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "commit_count", + "oldName": "pr_created_at", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 29, + "ordinalPosition": 16, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -28520,9 +28423,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "issues_count", - "type": "int8", - "length": 64, + "name": "pr_updated_at", + "type": "timestamp", + "length": 0, "decimals": 0, "dimensions": 0, "collation": "", @@ -28530,13 +28433,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "issues_count", + "oldName": "pr_updated_at", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 30, + "ordinalPosition": 17, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -28550,9 +28453,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "issues_closed", - "type": "int8", - "length": 64, + "name": "pr_closed_at", + "type": "timestamp", + "length": 0, "decimals": 0, "dimensions": 0, "collation": "", @@ -28560,13 +28463,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "issues_closed", + "oldName": "pr_closed_at", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 31, + "ordinalPosition": 18, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -28580,9 +28483,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "pull_request_count", - "type": "int8", - "length": 64, + "name": "pr_merged_at", + "type": "timestamp", + "length": 0, "decimals": 0, "dimensions": 0, "collation": "", @@ -28590,13 +28493,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pull_request_count", + "oldName": "pr_merged_at", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 32, + "ordinalPosition": 19, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -28610,23 +28513,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "pull_requests_open", - "type": "int8", - "length": 64, + "name": "pr_merge_commit_sha", + "type": "varchar", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pull_requests_open", + "oldName": "pr_merge_commit_sha", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 33, + "collationSchema": "pg_catalog", + "ordinalPosition": 20, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -28640,7 +28543,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "pull_requests_closed", + "name": "pr_teams", "type": "int8", "length": 64, "decimals": 0, @@ -28649,14 +28552,14 @@ "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "", - "oldName": "pull_requests_closed", + "comment": "One to many with pull request teams. ", + "oldName": "pr_teams", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 34, + "ordinalPosition": 21, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -28670,23 +28573,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "pull_requests_merged", - "type": "int8", - "length": 64, + "name": "pr_milestone", + "type": "varchar", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pull_requests_merged", + "oldName": "pr_milestone", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 35, + "collationSchema": "pg_catalog", + "ordinalPosition": 22, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -28700,9 +28603,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_source", + "name": "pr_commits_url", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", @@ -28710,7 +28613,67 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "tool_source", + "oldName": "pr_commits_url", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 23, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_review_comments_url", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pr_review_comments_url", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 24, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pr_review_comment_url", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "This is a field with limited utility. It does expose how to access a specific comment if needed with parameters. If the source changes URL structure, it may be useful", + "oldName": "pr_review_comment_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -28730,9 +28693,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_version", + "name": "pr_comments_url", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", @@ -28740,7 +28703,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "tool_version", + "oldName": "pr_comments_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -28760,9 +28723,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_source", + "name": "pr_statuses_url", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", @@ -28770,7 +28733,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "data_source", + "oldName": "pr_statuses_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -28790,17 +28753,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_collection_date", - "type": "timestamp", - "length": 0, + "name": "pr_meta_head_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, "collation": "", "isNullable": true, - "defaultType": "Others", - "defaultValue": "CURRENT_TIMESTAMP", - "comment": "", - "oldName": "data_collection_date", + "defaultType": "None", + "defaultValue": "", + "comment": "The metadata for the head repo that links to the pull_request_meta table. ", + "oldName": "pr_meta_head_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -28817,233 +28780,40 @@ "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false - } - ], - "indexes": [ + }, { - "objectType": "Index_PGSQL", - "name": "repo_info_idx_repo_id_data_date_1x", - "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "repo_info_idx_repo_id_data_date_1x", - "oid": 203927, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "repo_info", - "size": "8", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "repo_id", - "collation": "", - "opClass": "int8_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "repo_id", - "collationSchema": "" - }, - { - "objectType": "IndexField_PGSQL", - "name": "data_collection_date", - "collation": "", - "opClass": "timestamp_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "data_collection_date", - "collationSchema": "" - } - ] - }, - { - "objectType": "Index_PGSQL", - "name": "repo_info_idx_repo_id_data_datex", - "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "repo_info_idx_repo_id_data_datex", - "oid": 203929, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "repo_info", - "size": "8", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "repo_id", - "collation": "", - "opClass": "int8_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "repo_id", - "collationSchema": "" - }, - { - "objectType": "IndexField_PGSQL", - "name": "data_collection_date", - "collation": "", - "opClass": "timestamp_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "data_collection_date", - "collationSchema": "" - } - ] - } - ], - "rules": [], - "primaryKey": { - "objectType": "PrimaryKey_PGSQL", - "name": "repo_info_pkey", - "fields": [ - "repo_info_id" - ], - "fillFactor": -1, - "indexTablespace": "", - "comment": "", - "isDeferrable": false, - "isDeferred": false, - "oldName": "repo_info_pkey" - }, - "foreignKeys": [ - { - "objectType": "ForeignKey_PGSQL", - "name": "fk_repo_info_repo_1", - "fields": [ - "repo_id" - ], - "referenceSchema": "augur_data", - "referenceTable": "repo", - "referenceFields": [ - "repo_id" - ], - "onDelete": "NO ACTION", - "onUpdate": "NO ACTION", - "comment": "", - "isMatchFull": false, - "isDeferrable": false, - "isDeferred": false, - "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "OneAndOnlyOneRelationship", - "oldName": "fk_repo_info_repo_1" - } - ], - "uniques": [], - "checks": [], - "excludes": [], - "triggers": [], - "partitionKeys": [], - "partitions": [] - }, - { - "objectType": "TableNormal_PGSQL", - "name": "repo_insights", - "comment": "This table is output from an analytical worker inside of Augur. It runs through the different metrics on a repository and identifies the five to ten most “interesting” metrics as defined by some kind of delta or other factor. The algorithm is going to evolve. \n\nWorker Design Notes: The idea is that the \"insight worker\" will scan through a bunch of active metrics or \"synthetic metrics\" to list the most important insights. ", - "tablespace": "", - "isUnlogged": false, - "owner": "augur", - "inheritFromTables": [], - "hasOIDs": false, - "fillFactor": -1, - "oldName": "repo_insights", - "oid": 192905, - "rows": 0, - "isInheritTables": false, - "cluster": "", - "ACL": "", - "isPartition": false, - "partitioningStrategy": "None", - "partitionOfSchema": "", - "partitionOfTable": "", - "partitionListValues": [], - "partitionRangeFromValues": [], - "partitionRangeToValues": [], - "foreignServer": "", - "foreignOptionDisplay": "", - "fields": [ - { - "objectType": "TableField_PGSQL", - "name": "ri_id", - "type": "int8", - "length": 64, - "decimals": 0, - "dimensions": 0, - "collation": "", - "isNullable": false, - "defaultType": "Others", - "defaultValue": "nextval('augur_data.repo_insights_ri_id_seq'::regclass)", - "comment": "", - "oldName": "ri_id", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 1, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "repo_id", - "type": "int8", - "length": 64, - "decimals": 0, - "dimensions": 0, - "collation": "", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "repo_id", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 2, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false + "objectType": "TableField_PGSQL", + "name": "pr_meta_base_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "The metadata for the base repo that links to the pull_request_meta table. ", + "oldName": "pr_meta_base_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 29, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false }, { "objectType": "TableField_PGSQL", - "name": "ri_metric", + "name": "pr_src_issue_url", "type": "varchar", "length": 0, "decimals": 0, @@ -29053,13 +28823,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "ri_metric", + "oldName": "pr_src_issue_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 3, + "ordinalPosition": 30, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -29073,9 +28843,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "ri_value", + "name": "pr_src_comments_url", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", @@ -29083,13 +28853,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "ri_value", + "oldName": "pr_src_comments_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 4, + "ordinalPosition": 31, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -29103,23 +28873,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "ri_date", - "type": "timestamp", + "name": "pr_src_review_comments_url", + "type": "varchar", "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "ri_date", + "oldName": "pr_src_review_comments_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 5, + "collationSchema": "pg_catalog", + "ordinalPosition": 32, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -29133,23 +28903,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "ri_fresh", - "type": "bool", + "name": "pr_src_commits_url", + "type": "varchar", "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "false if the date is before the statistic that triggered the insight, true if after. This allows us to automatically display only \"fresh insights\" and avoid displaying \"stale insights\". The insight worker will populate this table. ", - "oldName": "ri_fresh", + "comment": "", + "oldName": "pr_src_commits_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 6, + "collationSchema": "pg_catalog", + "ordinalPosition": 33, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -29163,23 +28933,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "ri_score", - "type": "numeric", + "name": "pr_src_statuses_url", + "type": "varchar", "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "ri_score", + "oldName": "pr_src_statuses_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 11, + "collationSchema": "pg_catalog", + "ordinalPosition": 34, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -29193,9 +28963,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "ri_field", + "name": "pr_src_author_association", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", @@ -29203,13 +28973,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "ri_field", + "oldName": "pr_src_author_association", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 12, + "ordinalPosition": 35, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -29223,7 +28993,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "ri_detection_method", + "name": "tool_source", "type": "varchar", "length": 255, "decimals": 0, @@ -29233,13 +29003,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "ri_detection_method", + "oldName": "tool_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 13, + "ordinalPosition": 36, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -29253,9 +29023,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_source", + "name": "tool_version", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", @@ -29263,13 +29033,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "tool_source", + "oldName": "tool_version", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 7, + "ordinalPosition": 37, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -29283,9 +29053,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_version", + "name": "data_source", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", @@ -29293,13 +29063,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "tool_version", + "oldName": "data_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 8, + "ordinalPosition": 38, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -29313,23 +29083,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_source", - "type": "varchar", + "name": "data_collection_date", + "type": "timestamp", "length": 0, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", "comment": "", - "oldName": "data_source", + "oldName": "data_collection_date", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 9, + "collationSchema": "", + "ordinalPosition": 39, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -29343,23 +29113,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_collection_date", - "type": "timestamp", - "length": 0, + "name": "repo_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, "collation": "", "isNullable": true, "defaultType": "Others", - "defaultValue": "CURRENT_TIMESTAMP", + "defaultValue": "0", "comment": "", - "oldName": "data_collection_date", + "oldName": "repo_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 10, + "ordinalPosition": 40, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -29372,25 +29142,137 @@ "isIdentityCycle": false } ], - "indexes": [], + "indexes": [ + { + "objectType": "Index_PGSQL", + "name": "id_node", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "id_node", + "oid": 15487004, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "pull_requests", + "size": "72", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "pr_src_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "DESC", + "nullSort": "NULLS FIRST", + "oldName": "pr_src_id", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "pr_src_node_id", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "DESC", + "nullSort": "NULLS LAST", + "oldName": "pr_src_node_id", + "collationSchema": "pg_catalog" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "pull_requests_idx_repo_id_data_datex", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "pull_requests_idx_repo_id_data_datex", + "oid": 15488442, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "pull_requests", + "size": "48", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "repo_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "repo_id", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "data_collection_date", + "collation": "", + "opClass": "timestamp_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "data_collection_date", + "collationSchema": "" + } + ] + } + ], "rules": [], "primaryKey": { "objectType": "PrimaryKey_PGSQL", - "name": "repo_insights_pkey", + "name": "pull_requests_pkey", "fields": [ - "ri_id" + "pull_request_id" ], "fillFactor": -1, "indexTablespace": "", "comment": "", "isDeferrable": false, "isDeferred": false, - "oldName": "repo_insights_pkey" + "oldName": "pull_requests_pkey" }, "foreignKeys": [ { "objectType": "ForeignKey_PGSQL", - "name": "fk_repo_insights_repo_1", + "name": "fk_pr_contribs", + "fields": [ + "pr_augur_contributor_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "contributors", + "referenceFields": [ + "cntrb_id" + ], + "onDelete": "RESTRICT", + "onUpdate": "CASCADE", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_pr_contribs" + }, + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_pull_requests_repo_1", "fields": [ "repo_id" ], @@ -29399,15 +29281,15 @@ "referenceFields": [ "repo_id" ], - "onDelete": "NO ACTION", - "onUpdate": "NO ACTION", + "onDelete": "CASCADE", + "onUpdate": "CASCADE", "comment": "", "isMatchFull": false, "isDeferrable": false, "isDeferred": false, "sourceCardinality": "ZeroOrManyRelationship", "targetCardinality": "ZeroOrOneRelationship", - "oldName": "fk_repo_insights_repo_1" + "oldName": "fk_pull_requests_repo_1" } ], "uniques": [], @@ -29419,7 +29301,7 @@ }, { "objectType": "TableNormal_PGSQL", - "name": "repo_deps_scorecard", + "name": "releases", "comment": "", "tablespace": "", "isUnlogged": false, @@ -29427,9 +29309,9 @@ "inheritFromTables": [], "hasOIDs": false, "fillFactor": -1, - "oldName": "repo_deps_scorecard", - "oid": 19043831, - "rows": 0, + "oldName": "releases", + "oid": 15487976, + "rows": 21, "isInheritTables": false, "cluster": "", "ACL": "", @@ -29445,22 +29327,22 @@ "fields": [ { "objectType": "TableField_PGSQL", - "name": "repo_deps_scorecard_id", - "type": "int8", + "name": "release_id", + "type": "char", "length": 64, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": false, "defaultType": "Others", - "defaultValue": "nextval('augur_data.repo_deps_scorecard_repo_deps_scorecard_id_seq1'::regclass)", + "defaultValue": "nextval('augur_data.releases_release_id_seq'::regclass)", "comment": "", - "oldName": "repo_deps_scorecard_id", + "oldName": "release_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 1, "foreignOptions": [], "isIdentity": false, @@ -29481,7 +29363,7 @@ "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": true, + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", @@ -29505,9 +29387,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "name", + "name": "release_name", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", @@ -29515,13 +29397,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "name", + "oldName": "release_name", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 39, + "ordinalPosition": 3, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -29535,7 +29417,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "status", + "name": "release_description", "type": "varchar", "length": 0, "decimals": 0, @@ -29545,13 +29427,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "status", + "oldName": "release_description", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 40, + "ordinalPosition": 4, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -29565,9 +29447,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "score", + "name": "release_author", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", @@ -29575,13 +29457,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "score", + "oldName": "release_author", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 41, + "ordinalPosition": 5, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -29595,23 +29477,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_source", - "type": "varchar", - "length": 0, + "name": "release_created_at", + "type": "timestamp", + "length": 6, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "tool_source", + "oldName": "release_created_at", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 35, + "collationSchema": "", + "ordinalPosition": 6, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -29625,23 +29507,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_version", - "type": "varchar", - "length": 0, + "name": "release_published_at", + "type": "timestamp", + "length": 6, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "tool_version", + "oldName": "release_published_at", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 36, + "collationSchema": "", + "ordinalPosition": 7, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -29655,23 +29537,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_source", - "type": "varchar", - "length": 0, + "name": "release_updated_at", + "type": "timestamp", + "length": 6, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "data_source", + "oldName": "release_updated_at", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 37, + "collationSchema": "", + "ordinalPosition": 8, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -29685,23 +29567,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_collection_date", - "type": "timestamp", + "name": "release_is_draft", + "type": "bool", "length": 0, "decimals": 0, "dimensions": 0, "collation": "", "isNullable": true, - "defaultType": "Others", - "defaultValue": "CURRENT_TIMESTAMP", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "data_collection_date", + "oldName": "release_is_draft", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 38, + "ordinalPosition": 9, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -29712,98 +29594,26 @@ "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false - } - ], - "indexes": [], - "rules": [], - "primaryKey": { - "objectType": "PrimaryKey_PGSQL", - "name": "repo_deps_scorecard_pkey1", - "fields": [ - "repo_deps_scorecard_id" - ], - "fillFactor": -1, - "indexTablespace": "", - "comment": "", - "isDeferrable": false, - "isDeferred": false, - "oldName": "repo_deps_scorecard_pkey1" - }, - "foreignKeys": [ - { - "objectType": "ForeignKey_PGSQL", - "name": "repo_id", - "fields": [ - "repo_id" - ], - "referenceSchema": "augur_data", - "referenceTable": "repo", - "referenceFields": [ - "repo_id" - ], - "onDelete": "NO ACTION", - "onUpdate": "NO ACTION", - "comment": "", - "isMatchFull": false, - "isDeferrable": false, - "isDeferred": false, - "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "ZeroOrOneRelationship", - "oldName": "repo_id" - } - ], - "uniques": [], - "checks": [], - "excludes": [], - "triggers": [], - "partitionKeys": [], - "partitions": [] - }, - { - "objectType": "TableNormal_PGSQL", - "name": "repo_badging", - "comment": "This will be collected from the LF’s Badging API\nhttps://bestpractices.coreinfrastructure.org/projects.json?pq=https%3A%2F%2Fgithub.com%2Fchaoss%2Faugur\n", - "tablespace": "", - "isUnlogged": false, - "owner": "augur", - "inheritFromTables": [], - "hasOIDs": false, - "fillFactor": -1, - "oldName": "repo_badging", - "oid": 192004, - "rows": 0, - "isInheritTables": false, - "cluster": "", - "ACL": "", - "isPartition": false, - "partitioningStrategy": "None", - "partitionOfSchema": "", - "partitionOfTable": "", - "partitionListValues": [], - "partitionRangeFromValues": [], - "partitionRangeToValues": [], - "foreignServer": "", - "foreignOptionDisplay": "", - "fields": [ + }, { "objectType": "TableField_PGSQL", - "name": "badge_collection_id", - "type": "int8", - "length": 64, + "name": "release_is_prerelease", + "type": "bool", + "length": 0, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": false, - "defaultType": "Others", - "defaultValue": "nextval('augur_data.repo_badging_badge_collection_id_seq'::regclass)", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "badge_collection_id", + "oldName": "release_is_prerelease", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 1, + "ordinalPosition": 10, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -29817,23 +29627,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "repo_id", - "type": "int8", - "length": 64, + "name": "release_tag_name", + "type": "varchar", + "length": 255, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "repo_id", + "oldName": "release_tag_name", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 2, + "collationSchema": "pg_catalog", + "ordinalPosition": 11, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -29847,23 +29657,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "created_at", - "type": "timestamp", - "length": 0, + "name": "release_url", + "type": "varchar", + "length": 255, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, - "defaultType": "Others", - "defaultValue": "CURRENT_TIMESTAMP", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "created_at", + "oldName": "release_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 3, + "collationSchema": "pg_catalog", + "ordinalPosition": 12, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -29877,23 +29687,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "data", - "type": "jsonb", - "length": 0, + "name": "tool_source", + "type": "varchar", + "length": 255, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "data", + "oldName": "tool_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 8, + "collationSchema": "pg_catalog", + "ordinalPosition": 13, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -29907,7 +29717,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_source", + "name": "tool_version", "type": "varchar", "length": 255, "decimals": 0, @@ -29917,13 +29727,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "tool_source", + "oldName": "tool_version", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 4, + "ordinalPosition": 14, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -29937,7 +29747,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_version", + "name": "data_source", "type": "varchar", "length": 255, "decimals": 0, @@ -29947,13 +29757,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "tool_version", + "oldName": "data_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 5, + "ordinalPosition": 15, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -29967,23 +29777,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_source", - "type": "varchar", - "length": 255, + "name": "data_collection_date", + "type": "timestamp", + "length": 6, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", "comment": "", - "oldName": "data_source", + "oldName": "data_collection_date", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 6, + "collationSchema": "", + "ordinalPosition": 16, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -29997,23 +29807,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_collection_date", - "type": "timestamp", + "name": "tag_only", + "type": "bool", "length": 0, "decimals": 0, "dimensions": 0, "collation": "", "isNullable": true, - "defaultType": "Others", - "defaultValue": "CURRENT_TIMESTAMP", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "data_collection_date", + "oldName": "tag_only", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 7, + "ordinalPosition": 17, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -30030,21 +29840,21 @@ "rules": [], "primaryKey": { "objectType": "PrimaryKey_PGSQL", - "name": "repo_badging_pkey", + "name": "releases_pkey", "fields": [ - "badge_collection_id" + "release_id" ], "fillFactor": -1, "indexTablespace": "", "comment": "", "isDeferrable": false, "isDeferred": false, - "oldName": "repo_badging_pkey" + "oldName": "releases_pkey" }, "foreignKeys": [ { "objectType": "ForeignKey_PGSQL", - "name": "fk_repo_badging_repo_1", + "name": "fk_releases_repo_1", "fields": [ "repo_id" ], @@ -30060,8 +29870,8 @@ "isDeferrable": false, "isDeferred": false, "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "ZeroOrOneRelationship", - "oldName": "fk_repo_badging_repo_1" + "targetCardinality": "OneAndOnlyOneRelationship", + "oldName": "fk_releases_repo_1" } ], "uniques": [], @@ -30073,17 +29883,17 @@ }, { "objectType": "TableNormal_PGSQL", - "name": "releases", - "comment": "", + "name": "repo", + "comment": "This table is a combination of the columns in Facade’s repo table and GHTorrent’s projects table. ", "tablespace": "", "isUnlogged": false, "owner": "augur", "inheritFromTables": [], "hasOIDs": false, "fillFactor": -1, - "oldName": "releases", - "oid": 191770, - "rows": 0, + "oldName": "repo", + "oid": 15486733, + "rows": 2, "isInheritTables": false, "cluster": "", "ACL": "", @@ -30099,22 +29909,22 @@ "fields": [ { "objectType": "TableField_PGSQL", - "name": "release_id", - "type": "char", + "name": "repo_id", + "type": "int8", "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": false, "defaultType": "Others", - "defaultValue": "nextval('augur_data.releases_release_id_seq'::regclass)", + "defaultValue": "nextval('augur_data.repo_repo_id_seq'::regclass)", "comment": "", - "oldName": "release_id", + "oldName": "repo_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 1, "foreignOptions": [], "isIdentity": false, @@ -30129,7 +29939,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "repo_id", + "name": "repo_group_id", "type": "int8", "length": 64, "decimals": 0, @@ -30139,7 +29949,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "repo_id", + "oldName": "repo_group_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -30159,17 +29969,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "release_name", + "name": "repo_git", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", - "isNullable": true, + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "release_name", + "oldName": "repo_git", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -30189,17 +29999,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "release_description", + "name": "repo_path", "type": "varchar", - "length": 0, + "length": 256, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "'NULL'::character varying", "comment": "", - "oldName": "release_description", + "oldName": "repo_path", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -30219,17 +30029,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "release_author", + "name": "repo_name", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "'NULL'::character varying", "comment": "", - "oldName": "release_author", + "oldName": "repo_name", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -30249,17 +30059,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "release_created_at", + "name": "repo_added", "type": "timestamp", - "length": 6, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", "comment": "", - "oldName": "release_created_at", + "oldName": "repo_added", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -30279,22 +30089,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "release_published_at", - "type": "timestamp", - "length": 6, + "name": "repo_status", + "type": "varchar", + "length": 32, "decimals": 0, "dimensions": 0, - "collation": "", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "collation": "default", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "'New'::character varying", "comment": "", - "oldName": "release_published_at", + "oldName": "repo_status", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 7, "foreignOptions": [], "isIdentity": false, @@ -30309,22 +30119,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "release_updated_at", - "type": "timestamp", - "length": 6, + "name": "repo_type", + "type": "varchar", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "release_updated_at", + "defaultType": "Others", + "defaultValue": "''::character varying", + "comment": "This field is intended to indicate if the repository is the \"main instance\" of a repository in cases where implementations choose to add the same repository to more than one repository group. In cases where the repository group is of rg_type Github Organization then this repo_type should be \"primary\". In other cases the repo_type should probably be \"user created\". We made this a varchar in order to hold open the possibility that there are additional repo_types we have not thought about. ", + "oldName": "repo_type", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 8, "foreignOptions": [], "isIdentity": false, @@ -30339,22 +30149,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "release_is_draft", - "type": "bool", - "length": 0, + "name": "url", + "type": "varchar", + "length": 255, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "release_is_draft", + "oldName": "url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 9, "foreignOptions": [], "isIdentity": false, @@ -30362,16 +30172,16 @@ "identityStart": 0, "identityIncrement": 0, "identityMinimum": 0, - "hasNoIdentityMinValue": false, + "hasNoIdentityMinValue": 0, "identityMaximum": 0, - "hasNoIdentityMaxValue": false, + "hasNoIdentityMaxValue": 0, "isIdentityCycle": false }, { "objectType": "TableField_PGSQL", - "name": "release_is_prerelease", - "type": "bool", - "length": 0, + "name": "owner_id", + "type": "int4", + "length": 32, "decimals": 0, "dimensions": 0, "collation": "", @@ -30379,7 +30189,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "release_is_prerelease", + "oldName": "owner_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -30392,6 +30202,36 @@ "identityStart": 0, "identityIncrement": 0, "identityMinimum": 0, + "hasNoIdentityMinValue": 0, + "identityMaximum": 0, + "hasNoIdentityMaxValue": true, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "description", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "description", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 11, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, "hasNoIdentityMinValue": false, "identityMaximum": 0, "hasNoIdentityMaxValue": false, @@ -30399,7 +30239,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "release_tag_name", + "name": "primary_language", "type": "varchar", "length": 255, "decimals": 0, @@ -30409,13 +30249,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "release_tag_name", + "oldName": "primary_language", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 11, + "ordinalPosition": 12, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -30429,7 +30269,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "release_url", + "name": "created_at", "type": "varchar", "length": 255, "decimals": 0, @@ -30439,13 +30279,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "release_url", + "oldName": "created_at", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 12, + "ordinalPosition": 13, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -30459,8 +30299,38 @@ }, { "objectType": "TableField_PGSQL", - "name": "tag_only", - "type": "bool", + "name": "forked_from", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "forked_from", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 14, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "updated_at", + "type": "timestamp", "length": 0, "decimals": 0, "dimensions": 0, @@ -30469,13 +30339,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "tag_only", + "oldName": "updated_at", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 17, + "ordinalPosition": 15, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -30505,7 +30375,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 13, + "ordinalPosition": 16, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -30535,7 +30405,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 14, + "ordinalPosition": 17, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -30565,7 +30435,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 15, + "ordinalPosition": 18, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -30581,13 +30451,13 @@ "objectType": "TableField_PGSQL", "name": "data_collection_date", "type": "timestamp", - "length": 6, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "", "isNullable": true, - "defaultType": "Others", - "defaultValue": "CURRENT_TIMESTAMP", + "defaultType": "None", + "defaultValue": "", "comment": "", "oldName": "data_collection_date", "typeOID": 1, @@ -30595,7 +30465,67 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 16, + "ordinalPosition": 19, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "repo_archived", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "repo_archived", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 20, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "repo_archived_date_collected", + "type": "timestamptz", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "repo_archived_date_collected", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 21, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -30608,42 +30538,292 @@ "isIdentityCycle": false } ], - "indexes": [], + "indexes": [ + { + "objectType": "Index_PGSQL", + "name": "forked", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "forked", + "oid": 15487986, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "repo", + "size": "16", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "forked_from", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "forked_from", + "collationSchema": "pg_catalog" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "repo_idx_repo_id_repo_namex", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "repo_idx_repo_id_repo_namex", + "oid": 15488443, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "repo", + "size": "16", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "repo_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "repo_id", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "repo_name", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "repo_name", + "collationSchema": "pg_catalog" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "repogitindexrep", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "repogitindexrep", + "oid": 15487895, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "repo", + "size": "16", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "repo_git", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "repo_git", + "collationSchema": "pg_catalog" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "reponameindex", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "Hash", + "tableSpaceName": "", + "constraint": "", + "oldName": "reponameindex", + "oid": 15487897, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "repo", + "size": "32", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "repo_name", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "repo_name", + "collationSchema": "pg_catalog" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "reponameindexbtree", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "reponameindexbtree", + "oid": 15487898, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "repo", + "size": "16", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "repo_name", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "repo_name", + "collationSchema": "pg_catalog" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "rggrouponrepoindex", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": false, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "rggrouponrepoindex", + "oid": 15487885, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "repo", + "size": "16", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "repo_group_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "repo_group_id", + "collationSchema": "" + } + ] + }, + { + "objectType": "Index_PGSQL", + "name": "therepo", + "comment": "", + "isClustered": false, + "isConcurrently": false, + "isUnique": true, + "fastUpdate": "", + "buffering": "", + "fillFactor": -1, + "method": "BTree", + "tableSpaceName": "", + "constraint": "", + "oldName": "therepo", + "oid": 15487008, + "owner": "augur", + "brinPagesPerRange": -1, + "ginPendingListLimit": -1, + "tableName": "repo", + "size": "16", + "fields": [ + { + "objectType": "IndexField_PGSQL", + "name": "repo_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "repo_id", + "collationSchema": "" + } + ] + } + ], "rules": [], "primaryKey": { "objectType": "PrimaryKey_PGSQL", - "name": "releases_pkey", + "name": "repounique", "fields": [ - "release_id" + "repo_id" ], "fillFactor": -1, "indexTablespace": "", "comment": "", "isDeferrable": false, "isDeferred": false, - "oldName": "releases_pkey" + "oldName": "repounique" }, "foreignKeys": [ { "objectType": "ForeignKey_PGSQL", - "name": "fk_releases_repo_1", + "name": "fk_repo_repo_groups_1", "fields": [ - "repo_id" + "repo_group_id" ], "referenceSchema": "augur_data", - "referenceTable": "repo", + "referenceTable": "repo_groups", "referenceFields": [ - "repo_id" + "repo_group_id" ], "onDelete": "NO ACTION", "onUpdate": "NO ACTION", - "comment": "", + "comment": "Repo_groups cardinality set to one and only one because, although in theory there could be more than one repo group for a repo, this might create dependencies in hosted situation that we do not want to live with. ", "isMatchFull": false, "isDeferrable": false, "isDeferred": false, "sourceCardinality": "ZeroOrManyRelationship", "targetCardinality": "OneAndOnlyOneRelationship", - "oldName": "fk_releases_repo_1" + "oldName": "fk_repo_repo_groups_1" } ], "uniques": [], @@ -30655,17 +30835,17 @@ }, { "objectType": "TableNormal_PGSQL", - "name": "repo", - "comment": "This table is a combination of the columns in Facade’s repo table and GHTorrent’s projects table. ", + "name": "repo_badging", + "comment": "This will be collected from the LF’s Badging API\nhttps://bestpractices.coreinfrastructure.org/projects.json?pq=https%3A%2F%2Fgithub.com%2Fchaoss%2Faugur\n", "tablespace": "", "isUnlogged": false, "owner": "augur", "inheritFromTables": [], "hasOIDs": false, "fillFactor": -1, - "oldName": "repo", - "oid": 191871, - "rows": 1, + "oldName": "repo_badging", + "oid": 15486744, + "rows": 21, "isInheritTables": false, "cluster": "", "ACL": "", @@ -30681,7 +30861,7 @@ "fields": [ { "objectType": "TableField_PGSQL", - "name": "repo_id", + "name": "badge_collection_id", "type": "int8", "length": 64, "decimals": 0, @@ -30689,9 +30869,9 @@ "collation": "", "isNullable": false, "defaultType": "Others", - "defaultValue": "nextval('augur_data.repo_repo_id_seq'::regclass)", + "defaultValue": "nextval('augur_data.repo_badging_badge_collection_id_seq'::regclass)", "comment": "", - "oldName": "repo_id", + "oldName": "badge_collection_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -30711,17 +30891,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "repo_group_id", + "name": "repo_id", "type": "int8", "length": 64, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": false, + "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "repo_group_id", + "oldName": "repo_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -30741,23 +30921,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "repo_git", - "type": "varchar", + "name": "created_at", + "type": "timestamp", "length": 0, "decimals": 0, "dimensions": 0, - "collation": "default", - "isNullable": false, - "defaultType": "None", - "defaultValue": "", + "collation": "", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", "comment": "", - "oldName": "repo_git", + "oldName": "created_at", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 3, + "collationSchema": "", + "ordinalPosition": 137, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -30771,23 +30951,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "repo_path", + "name": "tool_source", "type": "varchar", - "length": 256, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, - "defaultType": "Others", - "defaultValue": "'NULL'::character varying", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "repo_path", + "oldName": "tool_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 4, + "ordinalPosition": 288, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -30801,53 +30981,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "repo_name", + "name": "tool_version", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, - "defaultType": "Others", - "defaultValue": "'NULL'::character varying", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "repo_name", + "oldName": "tool_version", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 5, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "repo_added", - "type": "timestamp", - "length": 0, - "decimals": 0, - "dimensions": 0, - "collation": "", - "isNullable": false, - "defaultType": "Others", - "defaultValue": "CURRENT_TIMESTAMP", - "comment": "", - "oldName": "repo_added", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 6, + "ordinalPosition": 289, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -30861,23 +31011,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "repo_status", + "name": "data_source", "type": "varchar", - "length": 32, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", - "isNullable": false, - "defaultType": "Others", - "defaultValue": "'New'::character varying", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "repo_status", + "oldName": "data_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 7, + "ordinalPosition": 290, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -30891,23 +31041,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "repo_type", - "type": "varchar", + "name": "data_collection_date", + "type": "timestamp", "length": 0, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "Others", - "defaultValue": "''::character varying", - "comment": "This field is intended to indicate if the repository is the \"main instance\" of a repository in cases where implementations choose to add the same repository to more than one repository group. In cases where the repository group is of rg_type Github Organization then this repo_type should be \"primary\". In other cases the repo_type should probably be \"user created\". We made this a varchar in order to hold open the possibility that there are additional repo_types we have not thought about. ", - "oldName": "repo_type", + "defaultValue": "CURRENT_TIMESTAMP", + "comment": "", + "oldName": "data_collection_date", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 8, + "collationSchema": "", + "ordinalPosition": 291, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -30921,39 +31071,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "url", - "type": "varchar", - "length": 255, - "decimals": 0, - "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "url", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 9, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": 0, - "identityMaximum": 0, - "hasNoIdentityMaxValue": 0, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "owner_id", - "type": "int4", - "length": 32, + "name": "data", + "type": "jsonb", + "length": 0, "decimals": 0, "dimensions": 0, "collation": "", @@ -30961,13 +31081,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "owner_id", + "oldName": "data", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 10, + "ordinalPosition": 292, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -30976,118 +31096,100 @@ "identityMinimum": 0, "hasNoIdentityMinValue": false, "identityMaximum": 0, - "hasNoIdentityMaxValue": true, + "hasNoIdentityMaxValue": false, "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "description", - "type": "varchar", - "length": 0, - "decimals": 0, - "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "description", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 11, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "primary_language", - "type": "varchar", - "length": 255, - "decimals": 0, - "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "primary_language", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 12, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "repo_badging_pkey", + "fields": [ + "badge_collection_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "repo_badging_pkey" + }, + "foreignKeys": [ { - "objectType": "TableField_PGSQL", - "name": "created_at", - "type": "varchar", - "length": 255, - "decimals": 0, - "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "objectType": "ForeignKey_PGSQL", + "name": "fk_repo_badging_repo_1", + "fields": [ + "repo_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "repo", + "referenceFields": [ + "repo_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", "comment": "", - "oldName": "created_at", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 13, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_repo_badging_repo_1" + } + ], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "repo_cluster_messages", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "repo_cluster_messages", + "oid": 15488025, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ { "objectType": "TableField_PGSQL", - "name": "forked_from", - "type": "varchar", - "length": 0, + "name": "msg_cluster_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_data.repo_cluster_messages_msg_cluster_id_seq'::regclass)", "comment": "", - "oldName": "forked_from", + "oldName": "msg_cluster_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 14, + "collationSchema": "", + "ordinalPosition": 1, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -31101,9 +31203,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "updated_at", - "type": "timestamp", - "length": 0, + "name": "repo_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, "collation": "", @@ -31111,13 +31213,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "updated_at", + "oldName": "repo_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 15, + "ordinalPosition": 2, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -31131,7 +31233,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "repo_archived", + "name": "cluster_content", "type": "int4", "length": 32, "decimals": 0, @@ -31141,13 +31243,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "repo_archived", + "oldName": "cluster_content", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 20, + "ordinalPosition": 3, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -31161,9 +31263,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "repo_archived_date_collected", - "type": "timestamptz", - "length": 0, + "name": "cluster_mechanism", + "type": "int4", + "length": 32, "decimals": 0, "dimensions": 0, "collation": "", @@ -31171,13 +31273,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "repo_archived_date_collected", + "oldName": "cluster_mechanism", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 21, + "ordinalPosition": 4, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -31193,7 +31295,7 @@ "objectType": "TableField_PGSQL", "name": "tool_source", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", @@ -31207,7 +31309,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 16, + "ordinalPosition": 5, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -31223,7 +31325,7 @@ "objectType": "TableField_PGSQL", "name": "tool_version", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", @@ -31237,7 +31339,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 17, + "ordinalPosition": 6, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -31253,7 +31355,7 @@ "objectType": "TableField_PGSQL", "name": "data_source", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", @@ -31267,7 +31369,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 18, + "ordinalPosition": 7, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -31288,8 +31390,8 @@ "dimensions": 0, "collation": "", "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", "comment": "", "oldName": "data_collection_date", "typeOID": 1, @@ -31297,7 +31399,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 19, + "ordinalPosition": 8, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -31310,292 +31412,42 @@ "isIdentityCycle": false } ], - "indexes": [ - { - "objectType": "Index_PGSQL", - "name": "forked", - "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "forked", - "oid": 203717, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "repo", - "size": "16", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "forked_from", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "forked_from", - "collationSchema": "pg_catalog" - } - ] - }, - { - "objectType": "Index_PGSQL", - "name": "repo_idx_repo_id_repo_namex", - "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "repo_idx_repo_id_repo_namex", - "oid": 203917, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "repo", - "size": "16", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "repo_id", - "collation": "", - "opClass": "int8_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "repo_id", - "collationSchema": "" - }, - { - "objectType": "IndexField_PGSQL", - "name": "repo_name", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "repo_name", - "collationSchema": "pg_catalog" - } - ] - }, - { - "objectType": "Index_PGSQL", - "name": "repogitindexrep", - "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "repogitindexrep", - "oid": 203931, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "repo", - "size": "16", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "repo_git", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "repo_git", - "collationSchema": "pg_catalog" - } - ] - }, - { - "objectType": "Index_PGSQL", - "name": "reponameindex", - "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "Hash", - "tableSpaceName": "", - "constraint": "", - "oldName": "reponameindex", - "oid": 203933, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "repo", - "size": "32", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "repo_name", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "repo_name", - "collationSchema": "pg_catalog" - } - ] - }, - { - "objectType": "Index_PGSQL", - "name": "reponameindexbtree", - "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "reponameindexbtree", - "oid": 203937, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "repo", - "size": "16", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "repo_name", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "repo_name", - "collationSchema": "pg_catalog" - } - ] - }, - { - "objectType": "Index_PGSQL", - "name": "rggrouponrepoindex", - "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "rggrouponrepoindex", - "oid": 203948, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "repo", - "size": "16", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "repo_group_id", - "collation": "", - "opClass": "int8_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "repo_group_id", - "collationSchema": "" - } - ] - }, - { - "objectType": "Index_PGSQL", - "name": "therepo", - "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": true, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "therepo", - "oid": 203962, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "repo", - "size": "16", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "repo_id", - "collation": "", - "opClass": "int8_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "repo_id", - "collationSchema": "" - } - ] - } - ], + "indexes": [], "rules": [], "primaryKey": { "objectType": "PrimaryKey_PGSQL", - "name": "repounique", + "name": "repo_cluster_messages_pkey", "fields": [ - "repo_id" + "msg_cluster_id" ], "fillFactor": -1, "indexTablespace": "", "comment": "", "isDeferrable": false, "isDeferred": false, - "oldName": "repounique" + "oldName": "repo_cluster_messages_pkey" }, "foreignKeys": [ { "objectType": "ForeignKey_PGSQL", - "name": "fk_repo_repo_groups_1", + "name": "fk_repo_cluster_messages_repo_1", "fields": [ - "repo_group_id" + "repo_id" ], "referenceSchema": "augur_data", - "referenceTable": "repo_groups", + "referenceTable": "repo", "referenceFields": [ - "repo_group_id" + "repo_id" ], "onDelete": "NO ACTION", "onUpdate": "NO ACTION", - "comment": "Repo_groups cardinality set to one and only one because, although in theory there could be more than one repo group for a repo, this might create dependencies in hosted situation that we do not want to live with. ", + "comment": "", "isMatchFull": false, "isDeferrable": false, "isDeferred": false, "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "OneAndOnlyOneRelationship", - "oldName": "fk_repo_repo_groups_1" + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_repo_cluster_messages_repo_1" } ], "uniques": [], @@ -31607,16 +31459,16 @@ }, { "objectType": "TableNormal_PGSQL", - "name": "commits", - "comment": "Starts with augur.analysis_data table and incorporates GHTorrent commit table attributes if different. \nCmt_id is from get\nThe author and committer ID’s are at the bottom of the table and not required for now because we want to focus on the facade schema’s properties over the ghtorrent properties when they are in conflict. ", + "name": "repo_dependencies", + "comment": "Contains the dependencies for a repo.", "tablespace": "", "isUnlogged": false, "owner": "augur", "inheritFromTables": [], "hasOIDs": false, "fillFactor": -1, - "oldName": "commits", - "oid": 186548, + "oldName": "repo_dependencies", + "oid": 15488515, "rows": 0, "isInheritTables": false, "cluster": "", @@ -31633,7 +31485,7 @@ "fields": [ { "objectType": "TableField_PGSQL", - "name": "cmt_id", + "name": "repo_dependencies_id", "type": "int8", "length": 64, "decimals": 0, @@ -31641,9 +31493,9 @@ "collation": "", "isNullable": false, "defaultType": "Others", - "defaultValue": "nextval('augur_data.commits_cmt_id_seq'::regclass)", + "defaultValue": "nextval('augur_data.repo_dependencies_repo_dependencies_id_seq'::regclass)", "comment": "", - "oldName": "cmt_id", + "oldName": "repo_dependencies_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -31669,10 +31521,10 @@ "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": false, + "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "", + "comment": "Forign key for repo id. ", "oldName": "repo_id", "typeOID": 1, "fieldObjectType": "", @@ -31693,17 +31545,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "cmt_commit_hash", + "name": "dep_name", "type": "varchar", - "length": 80, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", - "isNullable": false, + "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "", - "oldName": "cmt_commit_hash", + "comment": "Name of the dependancy found in project. ", + "oldName": "dep_name", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -31723,22 +31575,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "cmt_author_name", - "type": "varchar", - "length": 128, + "name": "dep_count", + "type": "int4", + "length": 32, "decimals": 0, "dimensions": 0, - "collation": "default", - "isNullable": false, + "collation": "", + "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "", - "oldName": "cmt_author_name", + "comment": "Number of times the dependancy was found. ", + "oldName": "dep_count", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 4, "foreignOptions": [], "isIdentity": false, @@ -31753,17 +31605,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "cmt_author_raw_email", + "name": "dep_language", "type": "varchar", - "length": 128, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", - "isNullable": false, + "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "", - "oldName": "cmt_author_raw_email", + "comment": "Language of the dependancy. ", + "oldName": "dep_language", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -31783,17 +31635,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "cmt_author_email", + "name": "tool_source", "type": "varchar", "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", - "isNullable": false, + "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "cmt_author_email", + "oldName": "tool_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -31813,17 +31665,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "cmt_author_date", + "name": "tool_version", "type": "varchar", - "length": 10, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", - "isNullable": false, + "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "cmt_author_date", + "oldName": "tool_version", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -31843,17 +31695,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "cmt_author_affiliation", + "name": "data_source", "type": "varchar", "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, - "defaultType": "Others", - "defaultValue": "'NULL'::character varying", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "cmt_author_affiliation", + "oldName": "data_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -31873,22 +31725,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "cmt_committer_name", - "type": "varchar", + "name": "data_collection_date", + "type": "timestamp", "length": 0, "decimals": 0, "dimensions": 0, - "collation": "default", - "isNullable": false, - "defaultType": "None", - "defaultValue": "", + "collation": "", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", "comment": "", - "oldName": "cmt_committer_name", + "oldName": "data_collection_date", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 9, "foreignOptions": [], "isIdentity": false, @@ -31900,26 +31752,98 @@ "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false - }, + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "repo_dependencies_pkey", + "fields": [ + "repo_dependencies_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "repo_dependencies_pkey" + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "repo_id", + "fields": [ + "repo_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "repo", + "referenceFields": [ + "repo_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "repo_id" + } + ], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "repo_deps_scorecard", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "repo_deps_scorecard", + "oid": 15488566, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ { "objectType": "TableField_PGSQL", - "name": "cmt_committer_raw_email", - "type": "varchar", - "length": 0, + "name": "repo_deps_scorecard_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": false, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "nextval('augur_data.repo_deps_scorecard_repo_deps_scorecard_id_seq1'::regclass)", "comment": "", - "oldName": "cmt_committer_raw_email", + "oldName": "repo_deps_scorecard_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 10, + "collationSchema": "", + "ordinalPosition": 1, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -31933,23 +31857,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "cmt_committer_email", - "type": "varchar", - "length": 0, + "name": "repo_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", - "isNullable": false, + "collation": "", + "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "cmt_committer_email", + "oldName": "repo_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 11, + "collationSchema": "", + "ordinalPosition": 2, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -31963,23 +31887,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "cmt_committer_date", + "name": "name", "type": "varchar", - "length": 10, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", - "isNullable": false, + "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "cmt_committer_date", + "oldName": "name", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 12, + "ordinalPosition": 3, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -31993,23 +31917,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "cmt_committer_affiliation", + "name": "status", "type": "varchar", - "length": 128, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, - "defaultType": "Others", - "defaultValue": "'NULL'::character varying", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "cmt_committer_affiliation", + "oldName": "status", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 13, + "ordinalPosition": 4, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -32023,23 +31947,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "cmt_added", - "type": "int4", - "length": 32, + "name": "score", + "type": "varchar", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", - "isNullable": false, + "collation": "default", + "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "cmt_added", + "oldName": "score", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 14, + "collationSchema": "pg_catalog", + "ordinalPosition": 5, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -32053,23 +31977,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "cmt_removed", - "type": "int4", - "length": 32, + "name": "tool_source", + "type": "varchar", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", - "isNullable": false, + "collation": "default", + "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "cmt_removed", + "oldName": "tool_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 15, + "collationSchema": "pg_catalog", + "ordinalPosition": 6, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -32083,23 +32007,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "cmt_whitespace", - "type": "int4", - "length": 32, + "name": "tool_version", + "type": "varchar", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", - "isNullable": false, + "collation": "default", + "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "cmt_whitespace", + "oldName": "tool_version", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 16, + "collationSchema": "pg_catalog", + "ordinalPosition": 7, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -32113,23 +32037,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "cmt_filename", + "name": "data_source", "type": "varchar", - "length": 4096, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", - "isNullable": false, + "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "cmt_filename", + "oldName": "data_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 17, + "ordinalPosition": 8, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -32143,23 +32067,125 @@ }, { "objectType": "TableField_PGSQL", - "name": "cmt_date_attempted", + "name": "data_collection_date", "type": "timestamp", "length": 0, "decimals": 0, "dimensions": 0, "collation": "", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", + "comment": "", + "oldName": "data_collection_date", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 9, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "repo_deps_scorecard_pkey1", + "fields": [ + "repo_deps_scorecard_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "repo_deps_scorecard_pkey1" + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "repo_id", + "fields": [ + "repo_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "repo", + "referenceFields": [ + "repo_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "repo_id" + } + ], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "repo_group_insights", + "comment": "This table is output from an analytical worker inside of Augur. It runs through the different metrics on a REPOSITORY_GROUP and identifies the five to ten most “interesting” metrics as defined by some kind of delta or other factor. The algorithm is going to evolve. \n\nWorker Design Notes: The idea is that the \"insight worker\" will scan through a bunch of active metrics or \"synthetic metrics\" to list the most important insights. ", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "repo_group_insights", + "oid": 15486759, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "rgi_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", "isNullable": false, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "nextval('augur_data.repo_group_insights_rgi_id_seq'::regclass)", "comment": "", - "oldName": "cmt_date_attempted", + "oldName": "rgi_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 18, + "ordinalPosition": 1, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -32173,9 +32199,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "cmt_ght_author_id", - "type": "int4", - "length": 32, + "name": "repo_group_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, "collation": "", @@ -32183,13 +32209,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "cmt_ght_author_id", + "oldName": "repo_group_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 19, + "ordinalPosition": 2, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -32203,23 +32229,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "cmt_ght_committer_id", - "type": "int4", - "length": 32, + "name": "rgi_metric", + "type": "varchar", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "cmt_ght_committer_id", + "oldName": "rgi_metric", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 20, + "collationSchema": "pg_catalog", + "ordinalPosition": 3, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -32233,23 +32259,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "cmt_ght_committed_at", - "type": "timestamp", + "name": "rgi_value", + "type": "varchar", "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "cmt_ght_committed_at", + "oldName": "rgi_value", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 21, + "collationSchema": "pg_catalog", + "ordinalPosition": 4, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -32263,9 +32289,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "cmt_author_timestamp", - "type": "timestamptz", - "length": 0, + "name": "cms_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, "collation": "", @@ -32273,13 +32299,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "cmt_author_timestamp", + "oldName": "cms_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 26, + "ordinalPosition": 5, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -32293,8 +32319,8 @@ }, { "objectType": "TableField_PGSQL", - "name": "cmt_committer_timestamp", - "type": "timestamptz", + "name": "rgi_fresh", + "type": "bool", "length": 0, "decimals": 0, "dimensions": 0, @@ -32302,14 +32328,14 @@ "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "", - "oldName": "cmt_committer_timestamp", + "comment": "false if the date is before the statistic that triggered the insight, true if after. This allows us to automatically display only \"fresh insights\" and avoid displaying \"stale insights\". The insight worker will populate this table. ", + "oldName": "rgi_fresh", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 27, + "ordinalPosition": 6, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -32325,7 +32351,7 @@ "objectType": "TableField_PGSQL", "name": "tool_source", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", @@ -32339,7 +32365,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 22, + "ordinalPosition": 7, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -32355,7 +32381,7 @@ "objectType": "TableField_PGSQL", "name": "tool_version", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", @@ -32369,7 +32395,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 23, + "ordinalPosition": 8, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -32385,7 +32411,7 @@ "objectType": "TableField_PGSQL", "name": "data_source", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", @@ -32399,7 +32425,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 24, + "ordinalPosition": 9, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -32429,7 +32455,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 25, + "ordinalPosition": 10, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -32442,236 +32468,446 @@ "isIdentityCycle": false } ], - "indexes": [ - { - "objectType": "Index_PGSQL", - "name": "author_affiliation", - "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "Hash", - "tableSpaceName": "", - "constraint": "", - "oldName": "author_affiliation", - "oid": 203520, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "commits", - "size": "32", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "cmt_author_affiliation", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cmt_author_affiliation", - "collationSchema": "pg_catalog" - } - ] - }, + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "repo_group_insights_pkey", + "fields": [ + "rgi_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "repo_group_insights_pkey" + }, + "foreignKeys": [ { - "objectType": "Index_PGSQL", - "name": "author_cntrb_id", - "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "author_cntrb_id", - "oid": 203523, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "commits", - "size": "8", + "objectType": "ForeignKey_PGSQL", + "name": "fk_repo_group_insights_repo_groups_1", "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "cmt_ght_author_id", - "collation": "", - "opClass": "int4_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cmt_ght_author_id", - "collationSchema": "" - } - ] - }, - { - "objectType": "Index_PGSQL", - "name": "author_email,author_affiliation,author_date", + "repo_group_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "repo_groups", + "referenceFields": [ + "repo_group_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "author_email,author_affiliation,author_date", - "oid": 203526, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "commits", - "size": "8", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "cmt_author_email", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cmt_author_email", - "collationSchema": "pg_catalog" - }, - { - "objectType": "IndexField_PGSQL", - "name": "cmt_author_affiliation", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cmt_author_affiliation", - "collationSchema": "pg_catalog" - }, - { - "objectType": "IndexField_PGSQL", - "name": "cmt_author_date", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cmt_author_date", - "collationSchema": "pg_catalog" - } - ] + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_repo_group_insights_repo_groups_1" + } + ], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "repo_groups", + "comment": "rg_type is intended to be either a GitHub Organization or a User Created Repo Group. ", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "repo_groups", + "oid": 15486767, + "rows": 1, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "repo_group_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_data.repo_groups_repo_group_id_seq'::regclass)", + "comment": "", + "oldName": "repo_group_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false }, { - "objectType": "Index_PGSQL", - "name": "author_raw_email", + "objectType": "TableField_PGSQL", + "name": "rg_name", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "author_raw_email", - "oid": 203527, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "commits", - "size": "8", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "cmt_author_raw_email", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cmt_author_raw_email", - "collationSchema": "pg_catalog" - } - ] + "oldName": "rg_name", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false }, { - "objectType": "Index_PGSQL", - "name": "cmt-author-date-idx2", + "objectType": "TableField_PGSQL", + "name": "rg_description", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "'NULL'::character varying", "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "cmt-author-date-idx2", - "oid": 203543, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "commits", - "size": "8", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "cmt_author_date", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cmt_author_date", - "collationSchema": "pg_catalog" - } - ] + "oldName": "rg_description", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "rg_website", + "type": "varchar", + "length": 128, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "'NULL'::character varying", + "comment": "", + "oldName": "rg_website", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 4, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "rg_recache", + "type": "int2", + "length": 16, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "1", + "comment": "", + "oldName": "rg_recache", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 5, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "rg_last_modified", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", + "comment": "", + "oldName": "rg_last_modified", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 6, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "rg_type", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "rg_type", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 7, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_source", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 8, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_version", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_version", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 9, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_source", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "data_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 10, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false }, + { + "objectType": "TableField_PGSQL", + "name": "data_collection_date", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "data_collection_date", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 11, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [ { "objectType": "Index_PGSQL", - "name": "cmt-committer-date-idx3", + "name": "rgidm", "comment": "", "isClustered": false, "isConcurrently": false, - "isUnique": false, + "isUnique": true, "fastUpdate": "", "buffering": "", "fillFactor": -1, "method": "BTree", "tableSpaceName": "", "constraint": "", - "oldName": "cmt-committer-date-idx3", - "oid": 203544, + "oldName": "rgidm", + "oid": 15487015, "owner": "augur", "brinPagesPerRange": -1, "ginPendingListLimit": -1, - "tableName": "commits", - "size": "8", + "tableName": "repo_groups", + "size": "16", "fields": [ { "objectType": "IndexField_PGSQL", - "name": "cmt_committer_date", - "collation": "default", - "opClass": "text_ops", + "name": "repo_group_id", + "collation": "", + "opClass": "int8_ops", "opClassSchema": "pg_catalog", "order": "ASC", "nullSort": "NULLS LAST", - "oldName": "cmt_committer_date", - "collationSchema": "pg_catalog" + "oldName": "repo_group_id", + "collationSchema": "" } ] }, { "objectType": "Index_PGSQL", - "name": "cmt_author-name-idx5", + "name": "rgnameindex", "comment": "", "isClustered": false, "isConcurrently": false, @@ -32682,815 +32918,1564 @@ "method": "BTree", "tableSpaceName": "", "constraint": "", - "oldName": "cmt_author-name-idx5", - "oid": 203548, + "oldName": "rgnameindex", + "oid": 15487899, "owner": "augur", "brinPagesPerRange": -1, "ginPendingListLimit": -1, - "tableName": "commits", - "size": "8", + "tableName": "repo_groups", + "size": "16", "fields": [ { "objectType": "IndexField_PGSQL", - "name": "cmt_committer_name", + "name": "rg_name", "collation": "default", "opClass": "text_ops", "opClassSchema": "pg_catalog", "order": "ASC", "nullSort": "NULLS LAST", - "oldName": "cmt_committer_name", - "collationSchema": "pg_catalog" - } - ] - }, - { - "objectType": "Index_PGSQL", - "name": "cmt_author_contrib_worker", - "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BRIN", - "tableSpaceName": "", - "constraint": "", - "oldName": "cmt_author_contrib_worker", - "oid": 203554, - "owner": "augur", - "brinPagesPerRange": 64, - "ginPendingListLimit": -1, - "tableName": "commits", - "size": "24", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "cmt_author_name", - "collation": "default", - "opClass": "text_minmax_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cmt_author_name", - "collationSchema": "pg_catalog" - }, - { - "objectType": "IndexField_PGSQL", - "name": "cmt_author_email", - "collation": "default", - "opClass": "text_minmax_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cmt_author_email", - "collationSchema": "pg_catalog" - }, - { - "objectType": "IndexField_PGSQL", - "name": "cmt_author_date", - "collation": "default", - "opClass": "text_minmax_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cmt_author_date", + "oldName": "rg_name", "collationSchema": "pg_catalog" } ] + } + ], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "rgid", + "fields": [ + "repo_group_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "rgid" + }, + "foreignKeys": [], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "repo_groups_list_serve", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "repo_groups_list_serve", + "oid": 15486778, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "rgls_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_data.repo_groups_list_serve_rgls_id_seq'::regclass)", + "comment": "", + "oldName": "rgls_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false }, { - "objectType": "Index_PGSQL", - "name": "cmt_cmmter-name-idx4", + "objectType": "TableField_PGSQL", + "name": "repo_group_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "cmt_cmmter-name-idx4", - "oid": 203565, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "commits", - "size": "8", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "cmt_author_name", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cmt_author_name", - "collationSchema": "pg_catalog" - } - ] + "oldName": "repo_group_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false }, { - "objectType": "Index_PGSQL", - "name": "cmt_commiter_contrib_worker", + "objectType": "TableField_PGSQL", + "name": "rgls_name", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BRIN", - "tableSpaceName": "", - "constraint": "", - "oldName": "cmt_commiter_contrib_worker", - "oid": 203585, - "owner": "augur", - "brinPagesPerRange": 64, - "ginPendingListLimit": -1, - "tableName": "commits", - "size": "24", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "cmt_committer_name", - "collation": "default", - "opClass": "text_minmax_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cmt_committer_name", - "collationSchema": "pg_catalog" - }, - { - "objectType": "IndexField_PGSQL", - "name": "cmt_committer_email", - "collation": "default", - "opClass": "text_minmax_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cmt_committer_email", - "collationSchema": "pg_catalog" - }, - { - "objectType": "IndexField_PGSQL", - "name": "cmt_committer_date", - "collation": "default", - "opClass": "text_minmax_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cmt_committer_date", - "collationSchema": "pg_catalog" - } - ] + "oldName": "rgls_name", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "rgls_description", + "type": "varchar", + "length": 3000, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "rgls_description", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 4, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "rgls_sponsor", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "rgls_sponsor", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 5, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "rgls_email", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "rgls_email", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 6, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_source", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 7, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_version", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_version", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 8, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_source", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "data_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 9, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false }, + { + "objectType": "TableField_PGSQL", + "name": "data_collection_date", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "data_collection_date", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 10, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [ { "objectType": "Index_PGSQL", - "name": "commited", + "name": "lister", "comment": "", "isClustered": false, "isConcurrently": false, - "isUnique": false, + "isUnique": true, "fastUpdate": "", "buffering": "", "fillFactor": -1, "method": "BTree", "tableSpaceName": "", "constraint": "", - "oldName": "commited", - "oid": 203623, + "oldName": "lister", + "oid": 15487018, "owner": "augur", "brinPagesPerRange": -1, "ginPendingListLimit": -1, - "tableName": "commits", + "tableName": "repo_groups_list_serve", "size": "8", "fields": [ { "objectType": "IndexField_PGSQL", - "name": "cmt_id", + "name": "rgls_id", "collation": "", "opClass": "int8_ops", "opClassSchema": "pg_catalog", "order": "ASC", "nullSort": "NULLS LAST", - "oldName": "cmt_id", + "oldName": "rgls_id", "collationSchema": "" - } - ] - }, - { - "objectType": "Index_PGSQL", - "name": "commits_idx_cmt_email_cmt_date_cmt_name", - "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "commits_idx_cmt_email_cmt_date_cmt_name", - "oid": 203636, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "commits", - "size": "8", - "fields": [ + }, { "objectType": "IndexField_PGSQL", - "name": "cmt_author_email", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cmt_author_email", - "collationSchema": "pg_catalog" - }, - { - "objectType": "IndexField_PGSQL", - "name": "cmt_author_date", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cmt_author_date", - "collationSchema": "pg_catalog" - }, - { - "objectType": "IndexField_PGSQL", - "name": "cmt_author_name", - "collation": "default", - "opClass": "text_ops", + "name": "repo_group_id", + "collation": "", + "opClass": "int8_ops", "opClassSchema": "pg_catalog", "order": "ASC", "nullSort": "NULLS LAST", - "oldName": "cmt_author_name", - "collationSchema": "pg_catalog" + "oldName": "repo_group_id", + "collationSchema": "" } ] - }, + } + ], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "repo_groups_list_serve_pkey", + "fields": [ + "rgls_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "repo_groups_list_serve_pkey" + }, + "foreignKeys": [ { - "objectType": "Index_PGSQL", - "name": "commits_idx_cmt_email_cmt_date_cmt_name2", + "objectType": "ForeignKey_PGSQL", + "name": "fk_repo_groups_list_serve_repo_groups_1", + "fields": [ + "repo_group_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "repo_groups", + "referenceFields": [ + "repo_group_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "commits_idx_cmt_email_cmt_date_cmt_name2", - "oid": 203644, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "commits", - "size": "8", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "OneAndOnlyOneRelationship", + "oldName": "fk_repo_groups_list_serve_repo_groups_1" + } + ], + "uniques": [ + { + "objectType": "Unique_PGSQL", + "name": "rglistserve", "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "cmt_committer_email", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cmt_committer_email", - "collationSchema": "pg_catalog" - }, - { - "objectType": "IndexField_PGSQL", - "name": "cmt_committer_date", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cmt_committer_date", - "collationSchema": "pg_catalog" - }, - { - "objectType": "IndexField_PGSQL", - "name": "cmt_committer_name", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cmt_committer_name", - "collationSchema": "pg_catalog" - } - ] + "rgls_id", + "repo_group_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "rglistserve" + } + ], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "repo_info", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "repo_info", + "oid": 15486785, + "rows": 42, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "repo_info_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_data.repo_info_repo_info_id_seq'::regclass)", + "comment": "", + "oldName": "repo_info_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false }, { - "objectType": "Index_PGSQL", - "name": "commits_idx_cmt_name_cmt_date2", + "objectType": "TableField_PGSQL", + "name": "repo_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "commits_idx_cmt_name_cmt_date2", - "oid": 203645, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "commits", - "size": "8", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "cmt_author_name", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cmt_author_name", - "collationSchema": "pg_catalog" - }, - { - "objectType": "IndexField_PGSQL", - "name": "cmt_author_date", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cmt_author_date", - "collationSchema": "pg_catalog" - } - ] + "oldName": "repo_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false }, { - "objectType": "Index_PGSQL", - "name": "commits_idx_cmt_name_cmt_date_cmt_date3", + "objectType": "TableField_PGSQL", + "name": "last_updated", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "NULL::timestamp without time zone", "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "commits_idx_cmt_name_cmt_date_cmt_date3", - "oid": 203654, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "commits", - "size": "8", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "cmt_committer_name", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cmt_committer_name", - "collationSchema": "pg_catalog" - }, - { - "objectType": "IndexField_PGSQL", - "name": "cmt_author_date", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cmt_author_date", - "collationSchema": "pg_catalog" - }, - { - "objectType": "IndexField_PGSQL", - "name": "cmt_committer_date", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cmt_committer_date", - "collationSchema": "pg_catalog" - } - ] + "oldName": "last_updated", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false }, { - "objectType": "Index_PGSQL", - "name": "commits_idx_repo_id_cmt_ema_cmt_dat_cmt_nam", + "objectType": "TableField_PGSQL", + "name": "issues_enabled", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "NULL::character varying", "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "commits_idx_repo_id_cmt_ema_cmt_dat_cmt_nam", - "oid": 203655, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "commits", - "size": "8", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "repo_id", - "collation": "", - "opClass": "int8_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "repo_id", - "collationSchema": "" - }, - { - "objectType": "IndexField_PGSQL", - "name": "cmt_author_email", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cmt_author_email", - "collationSchema": "pg_catalog" - }, - { - "objectType": "IndexField_PGSQL", - "name": "cmt_author_date", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cmt_author_date", - "collationSchema": "pg_catalog" - }, - { - "objectType": "IndexField_PGSQL", - "name": "cmt_author_name", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cmt_author_name", - "collationSchema": "pg_catalog" - } - ] + "oldName": "issues_enabled", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 4, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "open_issues", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "open_issues", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 5, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pull_requests_enabled", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "NULL::character varying", + "comment": "", + "oldName": "pull_requests_enabled", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 6, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "wiki_enabled", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "NULL::character varying", + "comment": "", + "oldName": "wiki_enabled", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 7, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "pages_enabled", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "NULL::character varying", + "comment": "", + "oldName": "pages_enabled", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 8, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "fork_count", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "fork_count", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 9, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "default_branch", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "NULL::character varying", + "comment": "", + "oldName": "default_branch", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 10, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "watchers_count", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "watchers_count", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 11, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "UUID", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "UUID", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 12, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "license", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "NULL::character varying", + "comment": "", + "oldName": "license", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 13, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "stars_count", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "stars_count", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 14, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "committers_count", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "committers_count", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 15, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "issue_contributors_count", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "issue_contributors_count", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 16, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "changelog_file", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "NULL::character varying", + "comment": "", + "oldName": "changelog_file", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 17, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "contributing_file", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "NULL::character varying", + "comment": "", + "oldName": "contributing_file", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 18, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "license_file", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "NULL::character varying", + "comment": "", + "oldName": "license_file", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 19, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "code_of_conduct_file", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "NULL::character varying", + "comment": "", + "oldName": "code_of_conduct_file", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 20, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "security_issue_file", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "NULL::character varying", + "comment": "", + "oldName": "security_issue_file", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 21, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "security_audit_file", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "NULL::character varying", + "comment": "", + "oldName": "security_audit_file", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 22, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "status", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "NULL::character varying", + "comment": "", + "oldName": "status", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 23, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "keywords", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "NULL::character varying", + "comment": "", + "oldName": "keywords", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 24, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_source", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 25, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_version", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "tool_version", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 26, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_source", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "data_source", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 27, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "data_collection_date", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", + "comment": "", + "oldName": "data_collection_date", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 28, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false }, { - "objectType": "Index_PGSQL", - "name": "commits_idx_repo_id_cmt_ema_cmt_dat_cmt_nam2", + "objectType": "TableField_PGSQL", + "name": "commit_count", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "commits_idx_repo_id_cmt_ema_cmt_dat_cmt_nam2", - "oid": 203658, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "commits", - "size": "8", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "repo_id", - "collation": "", - "opClass": "int8_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "repo_id", - "collationSchema": "" - }, - { - "objectType": "IndexField_PGSQL", - "name": "cmt_committer_email", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cmt_committer_email", - "collationSchema": "pg_catalog" - }, - { - "objectType": "IndexField_PGSQL", - "name": "cmt_committer_date", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cmt_committer_date", - "collationSchema": "pg_catalog" - }, - { - "objectType": "IndexField_PGSQL", - "name": "cmt_committer_name", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cmt_committer_name", - "collationSchema": "pg_catalog" - } - ] + "oldName": "commit_count", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 29, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false }, { - "objectType": "Index_PGSQL", - "name": "commits_idx_repo_id_cmt_ema_cmt_nam_cmt_dat2", + "objectType": "TableField_PGSQL", + "name": "issues_count", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "commits_idx_repo_id_cmt_ema_cmt_nam_cmt_dat2", - "oid": 203666, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "commits", - "size": "8", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "repo_id", - "collation": "", - "opClass": "int8_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "repo_id", - "collationSchema": "" - }, - { - "objectType": "IndexField_PGSQL", - "name": "cmt_author_email", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cmt_author_email", - "collationSchema": "pg_catalog" - }, - { - "objectType": "IndexField_PGSQL", - "name": "cmt_author_name", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cmt_author_name", - "collationSchema": "pg_catalog" - }, - { - "objectType": "IndexField_PGSQL", - "name": "cmt_author_date", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cmt_author_date", - "collationSchema": "pg_catalog" - } - ] + "oldName": "issues_count", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 30, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false }, { - "objectType": "Index_PGSQL", - "name": "commits_idx_repo_id_cmt_ema_cmt_nam_cmt_dat3", + "objectType": "TableField_PGSQL", + "name": "issues_closed", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "commits_idx_repo_id_cmt_ema_cmt_nam_cmt_dat3", - "oid": 203673, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "commits", - "size": "8", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "repo_id", - "collation": "", - "opClass": "int8_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "repo_id", - "collationSchema": "" - }, - { - "objectType": "IndexField_PGSQL", - "name": "cmt_committer_email", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cmt_committer_email", - "collationSchema": "pg_catalog" - }, - { - "objectType": "IndexField_PGSQL", - "name": "cmt_committer_name", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cmt_committer_name", - "collationSchema": "pg_catalog" - }, - { - "objectType": "IndexField_PGSQL", - "name": "cmt_author_date", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cmt_author_date", - "collationSchema": "pg_catalog" - } - ] + "oldName": "issues_closed", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 31, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false }, { - "objectType": "Index_PGSQL", - "name": "committer_affiliation", + "objectType": "TableField_PGSQL", + "name": "pull_request_count", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "committer_affiliation", - "oid": 203676, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "commits", - "size": "8", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "cmt_committer_affiliation", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cmt_committer_affiliation", - "collationSchema": "pg_catalog" - } - ] + "oldName": "pull_request_count", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 32, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false }, { - "objectType": "Index_PGSQL", - "name": "committer_cntrb_id", + "objectType": "TableField_PGSQL", + "name": "pull_requests_open", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "committer_cntrb_id", - "oid": 203679, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "commits", - "size": "8", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "cmt_ght_committer_id", - "collation": "", - "opClass": "int4_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cmt_ght_committer_id", - "collationSchema": "" - } - ] + "oldName": "pull_requests_open", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 33, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false }, { - "objectType": "Index_PGSQL", - "name": "committer_email,committer_affiliation,committer_date", + "objectType": "TableField_PGSQL", + "name": "pull_requests_closed", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "committer_email,committer_affiliation,committer_date", - "oid": 203680, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "commits", - "size": "8", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "cmt_committer_email", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cmt_committer_email", - "collationSchema": "pg_catalog" - }, - { - "objectType": "IndexField_PGSQL", - "name": "cmt_committer_affiliation", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cmt_committer_affiliation", - "collationSchema": "pg_catalog" - }, - { - "objectType": "IndexField_PGSQL", - "name": "cmt_committer_date", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cmt_committer_date", - "collationSchema": "pg_catalog" - } - ] + "oldName": "pull_requests_closed", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 34, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false }, + { + "objectType": "TableField_PGSQL", + "name": "pull_requests_merged", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "pull_requests_merged", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 35, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [ { "objectType": "Index_PGSQL", - "name": "committer_raw_email", + "name": "repo_info_idx_repo_id_data_date_1x", "comment": "", "isClustered": false, "isConcurrently": false, @@ -33501,30 +34486,41 @@ "method": "BTree", "tableSpaceName": "", "constraint": "", - "oldName": "committer_raw_email", - "oid": 203686, + "oldName": "repo_info_idx_repo_id_data_date_1x", + "oid": 15488445, "owner": "augur", "brinPagesPerRange": -1, "ginPendingListLimit": -1, - "tableName": "commits", - "size": "8", + "tableName": "repo_info", + "size": "16", "fields": [ { "objectType": "IndexField_PGSQL", - "name": "cmt_committer_raw_email", - "collation": "default", - "opClass": "text_ops", + "name": "repo_id", + "collation": "", + "opClass": "int8_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "repo_id", + "collationSchema": "" + }, + { + "objectType": "IndexField_PGSQL", + "name": "data_collection_date", + "collation": "", + "opClass": "timestamp_ops", "opClassSchema": "pg_catalog", "order": "ASC", "nullSort": "NULLS LAST", - "oldName": "cmt_committer_raw_email", - "collationSchema": "pg_catalog" + "oldName": "data_collection_date", + "collationSchema": "" } ] }, { "objectType": "Index_PGSQL", - "name": "repo_id,commit", + "name": "repo_info_idx_repo_id_data_datex", "comment": "", "isClustered": false, "isConcurrently": false, @@ -33535,13 +34531,13 @@ "method": "BTree", "tableSpaceName": "", "constraint": "", - "oldName": "repo_id,commit", - "oid": 203888, + "oldName": "repo_info_idx_repo_id_data_datex", + "oid": 15488444, "owner": "augur", "brinPagesPerRange": -1, "ginPendingListLimit": -1, - "tableName": "commits", - "size": "8", + "tableName": "repo_info", + "size": "16", "fields": [ { "objectType": "IndexField_PGSQL", @@ -33556,14 +34552,14 @@ }, { "objectType": "IndexField_PGSQL", - "name": "cmt_commit_hash", - "collation": "default", - "opClass": "text_ops", + "name": "data_collection_date", + "collation": "", + "opClass": "timestamp_ops", "opClassSchema": "pg_catalog", "order": "ASC", "nullSort": "NULLS LAST", - "oldName": "cmt_commit_hash", - "collationSchema": "pg_catalog" + "oldName": "data_collection_date", + "collationSchema": "" } ] } @@ -33571,63 +34567,21 @@ "rules": [], "primaryKey": { "objectType": "PrimaryKey_PGSQL", - "name": "commits_pkey", + "name": "repo_info_pkey", "fields": [ - "cmt_id" + "repo_info_id" ], "fillFactor": -1, "indexTablespace": "", "comment": "", "isDeferrable": false, "isDeferred": false, - "oldName": "commits_pkey" + "oldName": "repo_info_pkey" }, "foreignKeys": [ { "objectType": "ForeignKey_PGSQL", - "name": "fk_commits_contributors_1", - "fields": [ - "cmt_ght_author_id" - ], - "referenceSchema": "augur_data", - "referenceTable": "contributors", - "referenceFields": [ - "cntrb_id" - ], - "onDelete": "RESTRICT", - "onUpdate": "CASCADE", - "comment": "", - "isMatchFull": false, - "isDeferrable": true, - "isDeferred": false, - "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "ZeroOrOneRelationship", - "oldName": "fk_commits_contributors_1" - }, - { - "objectType": "ForeignKey_PGSQL", - "name": "fk_commits_contributors_2", - "fields": [ - "cmt_ght_committer_id" - ], - "referenceSchema": "augur_data", - "referenceTable": "contributors", - "referenceFields": [ - "cntrb_id" - ], - "onDelete": "RESTRICT", - "onUpdate": "CASCADE", - "comment": "", - "isMatchFull": false, - "isDeferrable": true, - "isDeferred": false, - "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "ZeroOrOneRelationship", - "oldName": "fk_commits_contributors_2" - }, - { - "objectType": "ForeignKey_PGSQL", - "name": "fk_commits_repo_1", + "name": "fk_repo_info_repo_1", "fields": [ "repo_id" ], @@ -33636,15 +34590,15 @@ "referenceFields": [ "repo_id" ], - "onDelete": "RESTRICT", - "onUpdate": "CASCADE", + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", "comment": "", "isMatchFull": false, - "isDeferrable": true, + "isDeferrable": false, "isDeferred": false, "sourceCardinality": "ZeroOrManyRelationship", "targetCardinality": "OneAndOnlyOneRelationship", - "oldName": "fk_commits_repo_1" + "oldName": "fk_repo_info_repo_1" } ], "uniques": [], @@ -33656,17 +34610,17 @@ }, { "objectType": "TableNormal_PGSQL", - "name": "commit_comment_ref", - "comment": "", + "name": "repo_insights", + "comment": "This table is output from an analytical worker inside of Augur. It runs through the different metrics on a repository and identifies the five to ten most “interesting” metrics as defined by some kind of delta or other factor. The algorithm is going to evolve. \n\nWorker Design Notes: The idea is that the \"insight worker\" will scan through a bunch of active metrics or \"synthetic metrics\" to list the most important insights. ", "tablespace": "", "isUnlogged": false, "owner": "augur", "inheritFromTables": [], "hasOIDs": false, "fillFactor": -1, - "oldName": "commit_comment_ref", - "oid": 186432, - "rows": 0, + "oldName": "repo_insights", + "oid": 15486807, + "rows": 39, "isInheritTables": false, "cluster": "", "ACL": "", @@ -33682,7 +34636,7 @@ "fields": [ { "objectType": "TableField_PGSQL", - "name": "cmt_comment_id", + "name": "ri_id", "type": "int8", "length": 64, "decimals": 0, @@ -33690,9 +34644,9 @@ "collation": "", "isNullable": false, "defaultType": "Others", - "defaultValue": "nextval('augur_data.commit_comment_ref_cmt_comment_id_seq'::regclass)", + "defaultValue": "nextval('augur_data.repo_insights_ri_id_seq'::regclass)", "comment": "", - "oldName": "cmt_comment_id", + "oldName": "ri_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -33712,17 +34666,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "cmt_id", + "name": "repo_id", "type": "int8", "length": 64, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": false, + "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "cmt_id", + "oldName": "repo_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -33742,22 +34696,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "msg_id", - "type": "int8", - "length": 64, + "name": "ri_metric", + "type": "varchar", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", - "isNullable": false, + "collation": "default", + "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "msg_id", + "oldName": "ri_metric", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 3, "foreignOptions": [], "isIdentity": false, @@ -33772,22 +34726,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "user_id", - "type": "int8", - "length": 64, + "name": "ri_value", + "type": "varchar", + "length": 255, "decimals": 0, "dimensions": 0, - "collation": "", - "isNullable": false, + "collation": "default", + "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "user_id", + "oldName": "ri_value", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 4, "foreignOptions": [], "isIdentity": false, @@ -33802,22 +34756,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "body", - "type": "text", + "name": "ri_date", + "type": "timestamp", "length": 0, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "body", + "oldName": "ri_date", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 5, "foreignOptions": [], "isIdentity": false, @@ -33832,17 +34786,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "line", - "type": "int8", - "length": 64, + "name": "ri_fresh", + "type": "bool", + "length": 0, "decimals": 0, "dimensions": 0, "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "", - "oldName": "line", + "comment": "false if the date is before the statistic that triggered the insight, true if after. This allows us to automatically display only \"fresh insights\" and avoid displaying \"stale insights\". The insight worker will populate this table. ", + "oldName": "ri_fresh", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -33862,22 +34816,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "position", - "type": "int8", - "length": 64, + "name": "tool_source", + "type": "varchar", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "position", + "oldName": "tool_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 7, "foreignOptions": [], "isIdentity": false, @@ -33892,22 +34846,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "created_at", - "type": "timestamp", + "name": "tool_version", + "type": "varchar", "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", - "isNullable": false, - "defaultType": "Others", - "defaultValue": "CURRENT_TIMESTAMP", + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "created_at", + "oldName": "tool_version", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 8, "foreignOptions": [], "isIdentity": false, @@ -33922,7 +34876,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "commit_comment_src_node_id", + "name": "data_source", "type": "varchar", "length": 0, "decimals": 0, @@ -33931,14 +34885,14 @@ "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "For data provenance, we store the source node ID if it exists. ", - "oldName": "commit_comment_src_node_id", + "comment": "", + "oldName": "data_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 14, + "ordinalPosition": 9, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -33952,23 +34906,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "cmt_comment_src_id", - "type": "int8", - "length": 64, + "name": "data_collection_date", + "type": "timestamp", + "length": 0, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": false, - "defaultType": "None", - "defaultValue": "", - "comment": "For data provenance, we store the source ID if it exists. ", - "oldName": "cmt_comment_src_id", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", + "comment": "", + "oldName": "data_collection_date", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 13, + "ordinalPosition": 10, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -33982,23 +34936,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_source", - "type": "varchar", - "length": 255, + "name": "ri_score", + "type": "numeric", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "tool_source", + "oldName": "ri_score", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 9, + "collationSchema": "", + "ordinalPosition": 11, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -34012,7 +34966,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "tool_version", + "name": "ri_field", "type": "varchar", "length": 255, "decimals": 0, @@ -34022,13 +34976,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "tool_version", + "oldName": "ri_field", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 10, + "ordinalPosition": 12, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -34042,7 +34996,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "data_source", + "name": "ri_detection_method", "type": "varchar", "length": 255, "decimals": 0, @@ -34052,43 +35006,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "data_source", + "oldName": "ri_detection_method", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 11, - "foreignOptions": [], - "isIdentity": false, - "identityGeneration": "None", - "identityStart": 0, - "identityIncrement": 0, - "identityMinimum": 0, - "hasNoIdentityMinValue": false, - "identityMaximum": 0, - "hasNoIdentityMaxValue": false, - "isIdentityCycle": false - }, - { - "objectType": "TableField_PGSQL", - "name": "data_collection_date", - "type": "timestamp", - "length": 0, - "decimals": 0, - "dimensions": 0, - "collation": "", - "isNullable": true, - "defaultType": "Others", - "defaultValue": "CURRENT_TIMESTAMP", - "comment": "", - "oldName": "data_collection_date", - "typeOID": 1, - "fieldObjectType": "", - "objectTypeSchema": "", - "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 12, + "ordinalPosition": 13, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -34101,110 +35025,32 @@ "isIdentityCycle": false } ], - "indexes": [ - { - "objectType": "Index_PGSQL", - "name": "comment_id", - "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "comment_id", - "oid": 203609, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "commit_comment_ref", - "size": "8", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "cmt_comment_src_id", - "collation": "", - "opClass": "int8_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cmt_comment_src_id", - "collationSchema": "" - }, - { - "objectType": "IndexField_PGSQL", - "name": "cmt_comment_id", - "collation": "", - "opClass": "int8_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cmt_comment_id", - "collationSchema": "" - }, - { - "objectType": "IndexField_PGSQL", - "name": "msg_id", - "collation": "", - "opClass": "int8_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "msg_id", - "collationSchema": "" - } - ] - } - ], + "indexes": [], "rules": [], "primaryKey": { "objectType": "PrimaryKey_PGSQL", - "name": "commit_comment_ref_pkey", + "name": "repo_insights_pkey", "fields": [ - "cmt_comment_id" + "ri_id" ], "fillFactor": -1, "indexTablespace": "", "comment": "", "isDeferrable": false, "isDeferred": false, - "oldName": "commit_comment_ref_pkey" + "oldName": "repo_insights_pkey" }, "foreignKeys": [ { "objectType": "ForeignKey_PGSQL", - "name": "fk_commit_comment_ref_commits_1", - "fields": [ - "cmt_id" - ], - "referenceSchema": "augur_data", - "referenceTable": "commits", - "referenceFields": [ - "cmt_id" - ], - "onDelete": "NO ACTION", - "onUpdate": "NO ACTION", - "comment": "", - "isMatchFull": false, - "isDeferrable": false, - "isDeferred": false, - "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "OneAndOnlyOneRelationship", - "oldName": "fk_commit_comment_ref_commits_1" - }, - { - "objectType": "ForeignKey_PGSQL", - "name": "fk_commit_comment_ref_message_1", + "name": "fk_repo_insights_repo_1", "fields": [ - "msg_id" + "repo_id" ], "referenceSchema": "augur_data", - "referenceTable": "message", + "referenceTable": "repo", "referenceFields": [ - "msg_id" + "repo_id" ], "onDelete": "NO ACTION", "onUpdate": "NO ACTION", @@ -34213,27 +35059,11 @@ "isDeferrable": false, "isDeferred": false, "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "OneAndOnlyOneRelationship", - "oldName": "fk_commit_comment_ref_message_1" - } - ], - "uniques": [ - { - "objectType": "Unique_PGSQL", - "name": "commitcomment", - "fields": [ - "cmt_id", - "msg_id", - "cmt_comment_id" - ], - "fillFactor": -1, - "indexTablespace": "", - "comment": "", - "isDeferrable": false, - "isDeferred": false, - "oldName": "commitcomment" + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_repo_insights_repo_1" } ], + "uniques": [], "checks": [], "excludes": [], "triggers": [], @@ -34242,7 +35072,7 @@ }, { "objectType": "TableNormal_PGSQL", - "name": "pull_request_assignees", + "name": "repo_insights_records", "comment": "", "tablespace": "", "isUnlogged": false, @@ -34250,9 +35080,9 @@ "inheritFromTables": [], "hasOIDs": false, "fillFactor": -1, - "oldName": "pull_request_assignees", - "oid": 190434, - "rows": 0, + "oldName": "repo_insights_records", + "oid": 15486815, + "rows": 3, "isInheritTables": false, "cluster": "", "ACL": "", @@ -34268,23 +35098,143 @@ "fields": [ { "objectType": "TableField_PGSQL", - "name": "pr_assignee_map_id", - "type": "int8", - "length": 64, + "name": "ri_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_data.repo_insights_records_ri_id_seq'::regclass)", + "comment": "Primary key. ", + "oldName": "ri_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "repo_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "Refers to repo table primary key. Will have a foreign key", + "oldName": "repo_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "ri_metric", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "The metric endpoint", + "oldName": "ri_metric", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "ri_field", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "The field in the metric endpoint", + "oldName": "ri_field", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 4, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "ri_value", + "type": "varchar", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", - "isNullable": false, - "defaultType": "Others", - "defaultValue": "nextval('augur_data.pull_request_assignees_pr_assignee_map_id_seq'::regclass)", - "comment": "", - "oldName": "pr_assignee_map_id", + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "The value of the endpoint in ri_field", + "oldName": "ri_value", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 1, + "collationSchema": "pg_catalog", + "ordinalPosition": 5, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -34298,23 +35248,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "pull_request_id", - "type": "int8", - "length": 64, + "name": "ri_date", + "type": "timestamp", + "length": 6, "decimals": 0, "dimensions": 0, "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "", - "oldName": "pull_request_id", + "comment": "The date the insight is for; in other words, some anomaly occurred on this date. ", + "oldName": "ri_date", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 2, + "ordinalPosition": 6, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -34328,23 +35278,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "contrib_id", - "type": "int8", - "length": 64, + "name": "ri_score", + "type": "float8", + "length": 53, "decimals": 0, "dimensions": 0, "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "", - "oldName": "contrib_id", + "comment": "A Score, derived from the algorithm used. ", + "oldName": "ri_score", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 3, + "ordinalPosition": 7, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -34358,22 +35308,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_assignee_src_id", - "type": "int8", - "length": 64, + "name": "ri_detection_method", + "type": "varchar", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "", - "oldName": "pr_assignee_src_id", + "comment": "A confidence interval or other expression of the type of threshold and the value of a threshold met in order for it to be \"an insight\". Example. \"95% confidence interval\". ", + "oldName": "ri_detection_method", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 8, "foreignOptions": [], "isIdentity": false, @@ -34390,21 +35340,21 @@ "objectType": "TableField_PGSQL", "name": "tool_source", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "", + "comment": "Standard Augur Metadata", "oldName": "tool_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 4, + "ordinalPosition": 9, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -34420,21 +35370,21 @@ "objectType": "TableField_PGSQL", "name": "tool_version", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "", + "comment": "Standard Augur Metadata", "oldName": "tool_version", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 5, + "ordinalPosition": 10, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -34450,21 +35400,21 @@ "objectType": "TableField_PGSQL", "name": "data_source", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "", + "comment": "Standard Augur Metadata", "oldName": "data_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 6, + "ordinalPosition": 11, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -34480,21 +35430,21 @@ "objectType": "TableField_PGSQL", "name": "data_collection_date", "type": "timestamp", - "length": 0, + "length": 6, "decimals": 0, "dimensions": 0, "collation": "", "isNullable": true, "defaultType": "Others", "defaultValue": "CURRENT_TIMESTAMP", - "comment": "", + "comment": "Standard Augur Metadata", "oldName": "data_collection_date", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 7, + "ordinalPosition": 12, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -34510,7 +35460,7 @@ "indexes": [ { "objectType": "Index_PGSQL", - "name": "pr_meta_cntrb-idx", + "name": "dater", "comment": "", "isClustered": false, "isConcurrently": false, @@ -34521,23 +35471,23 @@ "method": "BTree", "tableSpaceName": "", "constraint": "", - "oldName": "pr_meta_cntrb-idx", - "oid": 203821, + "oldName": "dater", + "oid": 15487027, "owner": "augur", "brinPagesPerRange": -1, "ginPendingListLimit": -1, - "tableName": "pull_request_assignees", - "size": "8", + "tableName": "repo_insights_records", + "size": "16", "fields": [ { "objectType": "IndexField_PGSQL", - "name": "contrib_id", + "name": "ri_date", "collation": "", - "opClass": "int8_ops", + "opClass": "timestamp_ops", "opClassSchema": "pg_catalog", "order": "ASC", "nullSort": "NULLS LAST", - "oldName": "contrib_id", + "oldName": "ri_date", "collationSchema": "" } ] @@ -34546,59 +35496,38 @@ "rules": [], "primaryKey": { "objectType": "PrimaryKey_PGSQL", - "name": "pull_request_assignees_pkey", + "name": "repo_insights_records_pkey", "fields": [ - "pr_assignee_map_id" + "ri_id" ], "fillFactor": -1, "indexTablespace": "", "comment": "", "isDeferrable": false, "isDeferred": false, - "oldName": "pull_request_assignees_pkey" + "oldName": "repo_insights_records_pkey" }, "foreignKeys": [ { "objectType": "ForeignKey_PGSQL", - "name": "fk_pull_request_assignees_contributors_1", - "fields": [ - "contrib_id" - ], - "referenceSchema": "augur_data", - "referenceTable": "contributors", - "referenceFields": [ - "cntrb_id" - ], - "onDelete": "RESTRICT", - "onUpdate": "CASCADE", - "comment": "", - "isMatchFull": false, - "isDeferrable": true, - "isDeferred": false, - "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "ZeroOrOneRelationship", - "oldName": "fk_pull_request_assignees_contributors_1" - }, - { - "objectType": "ForeignKey_PGSQL", - "name": "fk_pull_request_assignees_pull_requests_1", + "name": "repo_id_ref", "fields": [ - "pull_request_id" + "repo_id" ], "referenceSchema": "augur_data", - "referenceTable": "pull_requests", + "referenceTable": "repo", "referenceFields": [ - "pull_request_id" + "repo_id" ], - "onDelete": "RESTRICT", + "onDelete": "SET NULL", "onUpdate": "CASCADE", "comment": "", "isMatchFull": false, - "isDeferrable": true, + "isDeferrable": false, "isDeferred": false, "sourceCardinality": "ZeroOrManyRelationship", "targetCardinality": "ZeroOrOneRelationship", - "oldName": "fk_pull_request_assignees_pull_requests_1" + "oldName": "repo_id_ref" } ], "uniques": [], @@ -34610,16 +35539,16 @@ }, { "objectType": "TableNormal_PGSQL", - "name": "pull_request_commits", - "comment": "Pull request commits are an enumeration of each commit associated with a pull request. \nNot all pull requests are from a branch or fork into master. \nThe commits table intends to count only commits that end up in the master branch (i.e., part of the deployed code base for a project).\nTherefore, there will be commit “SHA”’s in this table that are no associated with a commit SHA in the commits table. \nIn cases where the PR is to the master branch of a project, you will find a match. In cases where the PR does not involve the master branch, you will not find a corresponding commit SHA in the commits table. This is expected. ", + "name": "repo_labor", + "comment": "repo_labor is a derivative of tables used to store scc code and complexity counting statistics that are inputs to labor analysis, which are components of CHAOSS value metric calculations. ", "tablespace": "", "isUnlogged": false, "owner": "augur", "inheritFromTables": [], "hasOIDs": false, "fillFactor": -1, - "oldName": "pull_request_commits", - "oid": 190491, + "oldName": "repo_labor", + "oid": 15486823, "rows": 0, "isInheritTables": false, "cluster": "", @@ -34636,7 +35565,7 @@ "fields": [ { "objectType": "TableField_PGSQL", - "name": "pr_cmt_id", + "name": "repo_labor_id", "type": "int8", "length": 64, "decimals": 0, @@ -34644,9 +35573,9 @@ "collation": "", "isNullable": false, "defaultType": "Others", - "defaultValue": "nextval('augur_data.pull_request_commits_pr_cmt_id_seq'::regclass)", + "defaultValue": "nextval('augur_data.repo_labor_repo_labor_id_seq'::regclass)", "comment": "", - "oldName": "pr_cmt_id", + "oldName": "repo_labor_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -34666,7 +35595,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "pull_request_id", + "name": "repo_id", "type": "int8", "length": 64, "decimals": 0, @@ -34676,7 +35605,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pull_request_id", + "oldName": "repo_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -34696,22 +35625,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_cmt_sha", - "type": "varchar", + "name": "repo_clone_date", + "type": "timestamp", "length": 0, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "This is the commit SHA for a pull request commit. If the PR is not to the master branch of the main repository (or, in rare cases, from it), then you will NOT find a corresponding commit SHA in the commit table. (see table comment for further explanation). ", - "oldName": "pr_cmt_sha", + "comment": "", + "oldName": "repo_clone_date", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 3, "foreignOptions": [], "isIdentity": false, @@ -34726,22 +35655,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_cmt_node_id", - "type": "varchar", + "name": "rl_analysis_date", + "type": "timestamp", "length": 0, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_cmt_node_id", + "oldName": "rl_analysis_date", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 4, "foreignOptions": [], "isIdentity": false, @@ -34756,17 +35685,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_cmt_message", + "name": "programming_language", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "NULL::character varying", "comment": "", - "oldName": "pr_cmt_message", + "oldName": "programming_language", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -34786,9 +35715,69 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_cmt_comments_url", - "type": "varbit", - "length": 0, + "name": "file_path", + "type": "varchar", + "length": 500, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "NULL::character varying", + "comment": "", + "oldName": "file_path", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 6, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "file_name", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "NULL::character varying", + "comment": "", + "oldName": "file_name", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 7, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "total_lines", + "type": "int4", + "length": 32, "decimals": 0, "dimensions": 0, "collation": "", @@ -34796,13 +35785,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_cmt_comments_url", + "oldName": "total_lines", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 6, + "ordinalPosition": 8, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -34816,9 +35805,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_cmt_author_cntrb_id", - "type": "int8", - "length": 64, + "name": "code_lines", + "type": "int4", + "length": 32, "decimals": 0, "dimensions": 0, "collation": "", @@ -34826,7 +35815,67 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_cmt_author_cntrb_id", + "oldName": "code_lines", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 9, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "comment_lines", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "comment_lines", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 10, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "blank_lines", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "blank_lines", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -34846,9 +35895,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_cmt_timestamp", - "type": "timestamp", - "length": 0, + "name": "code_complexity", + "type": "int4", + "length": 32, "decimals": 0, "dimensions": 0, "collation": "", @@ -34856,7 +35905,7 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "pr_cmt_timestamp", + "oldName": "code_complexity", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -34876,17 +35925,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "pr_cmt_author_email", + "name": "repo_url", "type": "varchar", - "length": 0, + "length": 500, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "", - "oldName": "pr_cmt_author_email", + "defaultType": "Others", + "defaultValue": "NULL::character varying", + "comment": "This is a convenience column to simplify analysis against external datasets", + "oldName": "repo_url", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -34908,7 +35957,7 @@ "objectType": "TableField_PGSQL", "name": "tool_source", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", @@ -34922,7 +35971,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 7, + "ordinalPosition": 14, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -34938,7 +35987,7 @@ "objectType": "TableField_PGSQL", "name": "tool_version", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", @@ -34952,7 +36001,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 8, + "ordinalPosition": 15, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -34968,7 +36017,7 @@ "objectType": "TableField_PGSQL", "name": "data_source", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", @@ -34982,7 +36031,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 9, + "ordinalPosition": 16, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -35003,8 +36052,8 @@ "dimensions": 0, "collation": "", "isNullable": true, - "defaultType": "Others", - "defaultValue": "CURRENT_TIMESTAMP", + "defaultType": "None", + "defaultValue": "", "comment": "", "oldName": "data_collection_date", "typeOID": 1, @@ -35012,7 +36061,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 10, + "ordinalPosition": 17, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -35029,59 +36078,38 @@ "rules": [], "primaryKey": { "objectType": "PrimaryKey_PGSQL", - "name": "pull_request_commits_pkey", + "name": "repo_labor_pkey", "fields": [ - "pr_cmt_id" + "repo_labor_id" ], "fillFactor": -1, "indexTablespace": "", "comment": "", "isDeferrable": false, "isDeferred": false, - "oldName": "pull_request_commits_pkey" + "oldName": "repo_labor_pkey" }, "foreignKeys": [ { "objectType": "ForeignKey_PGSQL", - "name": "fk_pr_commit_cntrb_id", - "fields": [ - "pr_cmt_author_cntrb_id" - ], - "referenceSchema": "augur_data", - "referenceTable": "contributors", - "referenceFields": [ - "cntrb_id" - ], - "onDelete": "RESTRICT", - "onUpdate": "CASCADE", - "comment": "", - "isMatchFull": false, - "isDeferrable": true, - "isDeferred": false, - "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "ZeroOrOneRelationship", - "oldName": "fk_pr_commit_cntrb_id" - }, - { - "objectType": "ForeignKey_PGSQL", - "name": "fk_pull_request_commits_pull_requests_1", + "name": "fk_repo_labor_repo_1", "fields": [ - "pull_request_id" + "repo_id" ], "referenceSchema": "augur_data", - "referenceTable": "pull_requests", + "referenceTable": "repo", "referenceFields": [ - "pull_request_id" + "repo_id" ], - "onDelete": "RESTRICT", - "onUpdate": "CASCADE", + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", "comment": "", "isMatchFull": false, - "isDeferrable": true, + "isDeferrable": false, "isDeferred": false, "sourceCardinality": "ZeroOrManyRelationship", "targetCardinality": "ZeroOrOneRelationship", - "oldName": "fk_pull_request_commits_pull_requests_1" + "oldName": "fk_repo_labor_repo_1" } ], "uniques": [], @@ -35093,17 +36121,17 @@ }, { "objectType": "TableNormal_PGSQL", - "name": "contributors", - "comment": "For GitHub, this should be repeated from gh_login. for other systems, it should be that systems login. ", + "name": "repo_meta", + "comment": "Project Languages", "tablespace": "", "isUnlogged": false, "owner": "augur", "inheritFromTables": [], "hasOIDs": false, "fillFactor": -1, - "oldName": "contributors", - "oid": 187051, - "rows": 1, + "oldName": "repo_meta", + "oid": 15486834, + "rows": 0, "isInheritTables": false, "cluster": "", "ACL": "", @@ -35119,17 +36147,17 @@ "fields": [ { "objectType": "TableField_PGSQL", - "name": "cntrb_id", + "name": "repo_id", "type": "int8", "length": 64, "decimals": 0, "dimensions": 0, "collation": "", "isNullable": false, - "defaultType": "Others", - "defaultValue": "nextval('augur_data.contributors_cntrb_id_seq'::regclass)", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "cntrb_id", + "oldName": "repo_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -35149,7 +36177,97 @@ }, { "objectType": "TableField_PGSQL", - "name": "cntrb_login", + "name": "rmeta_id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_data.repo_meta_rmeta_id_seq'::regclass)", + "comment": "", + "oldName": "rmeta_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "rmeta_name", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "rmeta_name", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "rmeta_value", + "type": "varchar", + "length": 255, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "0", + "comment": "", + "oldName": "rmeta_value", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 4, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "tool_source", "type": "varchar", "length": 255, "decimals": 0, @@ -35158,14 +36276,14 @@ "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "Will be a double population with the same value as gh_login for github, but the local value for other systems. ", - "oldName": "cntrb_login", + "comment": "", + "oldName": "tool_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 2, + "ordinalPosition": 5, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -35179,23 +36297,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "cntrb_email", + "name": "tool_version", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, "defaultType": "None", "defaultValue": "", - "comment": "This needs to be here for matching contributor ids, which are augur, to the commit information. ", - "oldName": "cntrb_email", + "comment": "", + "oldName": "tool_version", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 3, + "ordinalPosition": 6, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -35209,23 +36327,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "cntrb_company", + "name": "data_source", "type": "varchar", "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, - "defaultType": "Others", - "defaultValue": "NULL::character varying", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "cntrb_company", + "oldName": "data_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 4, + "ordinalPosition": 7, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -35239,7 +36357,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "cntrb_created_at", + "name": "data_collection_date", "type": "timestamp", "length": 0, "decimals": 0, @@ -35249,13 +36367,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "cntrb_created_at", + "oldName": "data_collection_date", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 5, + "ordinalPosition": 8, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -35266,26 +36384,99 @@ "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false - }, + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "repo_meta_pkey", + "fields": [ + "rmeta_id", + "repo_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "repo_meta_pkey" + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_repo_meta_repo_1", + "fields": [ + "repo_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "repo", + "referenceFields": [ + "repo_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "OneAndOnlyOneRelationship", + "oldName": "fk_repo_meta_repo_1" + } + ], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "repo_sbom_scans", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "repo_sbom_scans", + "oid": 15486842, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ { "objectType": "TableField_PGSQL", - "name": "cntrb_type", - "type": "varchar", - "length": 255, + "name": "rsb_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "Present in another models. It is not currently used in Augur. ", - "oldName": "cntrb_type", + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_data.repo_sbom_scans_rsb_id_seq'::regclass)", + "comment": "", + "oldName": "rsb_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 6, + "collationSchema": "", + "ordinalPosition": 1, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -35299,23 +36490,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "cntrb_fake", - "type": "int2", - "length": 16, + "name": "repo_id", + "type": "int4", + "length": 32, "decimals": 0, "dimensions": 0, "collation": "", "isNullable": true, - "defaultType": "Others", - "defaultValue": "0", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "cntrb_fake", + "oldName": "repo_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 7, + "ordinalPosition": 2, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -35329,23 +36520,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "cntrb_deleted", - "type": "int2", - "length": 16, + "name": "sbom_scan", + "type": "json", + "length": 0, "decimals": 0, "dimensions": 0, "collation": "", "isNullable": true, - "defaultType": "Others", - "defaultValue": "0", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "cntrb_deleted", + "oldName": "sbom_scan", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 8, + "ordinalPosition": 3, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -35356,26 +36547,98 @@ "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false - }, + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "repo_sbom_scans_pkey", + "fields": [ + "rsb_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "repo_sbom_scans_pkey" + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "repo_linker_sbom", + "fields": [ + "repo_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "repo", + "referenceFields": [ + "repo_id" + ], + "onDelete": "CASCADE", + "onUpdate": "CASCADE", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "repo_linker_sbom" + } + ], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "repo_stats", + "comment": "Project Watchers", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "repo_stats", + "oid": 15486849, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ { "objectType": "TableField_PGSQL", - "name": "cntrb_long", - "type": "numeric", - "length": 11, - "decimals": 8, + "name": "repo_id", + "type": "int8", + "length": 64, + "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": true, - "defaultType": "Others", - "defaultValue": "NULL::numeric", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "cntrb_long", + "oldName": "repo_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 9, + "ordinalPosition": 1, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -35389,23 +36652,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "cntrb_lat", - "type": "numeric", - "length": 10, - "decimals": 8, + "name": "rstat_id", + "type": "int8", + "length": 64, + "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": true, + "isNullable": false, "defaultType": "Others", - "defaultValue": "NULL::numeric", + "defaultValue": "nextval('augur_data.repo_stats_rstat_id_seq'::regclass)", "comment": "", - "oldName": "cntrb_lat", + "oldName": "rstat_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 10, + "ordinalPosition": 2, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -35419,23 +36682,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "cntrb_country_code", - "type": "char", - "length": 3, + "name": "rstat_name", + "type": "varchar", + "length": 400, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, - "defaultType": "Others", - "defaultValue": "NULL::bpchar", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "cntrb_country_code", + "oldName": "rstat_name", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 11, + "ordinalPosition": 3, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -35449,23 +36712,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "cntrb_state", - "type": "varchar", - "length": 255, + "name": "rstat_value", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, - "defaultType": "Others", - "defaultValue": "NULL::character varying", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "cntrb_state", + "oldName": "rstat_value", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 12, + "collationSchema": "", + "ordinalPosition": 4, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -35479,23 +36742,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "cntrb_city", + "name": "tool_source", "type": "varchar", "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, - "defaultType": "Others", - "defaultValue": "NULL::character varying", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "cntrb_city", + "oldName": "tool_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 13, + "ordinalPosition": 5, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -35509,23 +36772,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "cntrb_location", + "name": "tool_version", "type": "varchar", "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", "isNullable": true, - "defaultType": "Others", - "defaultValue": "NULL::character varying", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "cntrb_location", + "oldName": "tool_version", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 14, + "ordinalPosition": 6, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -35539,9 +36802,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "cntrb_canonical", + "name": "data_source", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", @@ -35549,13 +36812,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "cntrb_canonical", + "oldName": "data_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 15, + "ordinalPosition": 7, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -35569,9 +36832,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "gh_user_id", - "type": "int8", - "length": 64, + "name": "data_collection_date", + "type": "timestamp", + "length": 0, "decimals": 0, "dimensions": 0, "collation": "", @@ -35579,13 +36842,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "gh_user_id", + "oldName": "data_collection_date", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 16, + "ordinalPosition": 8, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -35596,26 +36859,99 @@ "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false - }, + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "repo_stats_pkey", + "fields": [ + "rstat_id", + "repo_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "repo_stats_pkey" + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_repo_stats_repo_1", + "fields": [ + "repo_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "repo", + "referenceFields": [ + "repo_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "OneAndOnlyOneRelationship", + "oldName": "fk_repo_stats_repo_1" + } + ], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "repo_test_coverage", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "repo_test_coverage", + "oid": 15486856, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ { "objectType": "TableField_PGSQL", - "name": "gh_login", - "type": "varchar", - "length": 255, + "name": "repo_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "populated with the github user name for github originated data. ", - "oldName": "gh_login", + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_data.repo_test_coverage_repo_id_seq'::regclass)", + "comment": "", + "oldName": "repo_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 17, + "collationSchema": "", + "ordinalPosition": 1, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -35629,23 +36965,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "gh_url", - "type": "varchar", - "length": 255, + "name": "repo_clone_date", + "type": "timestamp", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "gh_url", + "oldName": "repo_clone_date", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 18, + "collationSchema": "", + "ordinalPosition": 2, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -35659,23 +36995,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "gh_html_url", - "type": "varchar", - "length": 255, + "name": "rtc_analysis_date", + "type": "timestamp", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "gh_html_url", + "oldName": "rtc_analysis_date", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 19, + "collationSchema": "", + "ordinalPosition": 3, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -35689,9 +37025,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "gh_node_id", + "name": "programming_language", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", @@ -35699,13 +37035,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "gh_node_id", + "oldName": "programming_language", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 20, + "ordinalPosition": 4, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -35719,9 +37055,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "gh_avatar_url", + "name": "file_path", "type": "varchar", - "length": 4000, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", @@ -35729,13 +37065,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "gh_avatar_url", + "oldName": "file_path", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 21, + "ordinalPosition": 5, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -35749,9 +37085,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "gh_gravatar_id", + "name": "file_name", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", @@ -35759,13 +37095,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "gh_gravatar_id", + "oldName": "file_name", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 22, + "ordinalPosition": 6, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -35779,9 +37115,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "gh_followers_url", + "name": "testing_tool", "type": "varchar", - "length": 4000, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", @@ -35789,13 +37125,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "gh_followers_url", + "oldName": "testing_tool", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 23, + "ordinalPosition": 7, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -35809,23 +37145,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "gh_following_url", - "type": "varchar", - "length": 4000, + "name": "file_statement_count", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "gh_following_url", + "oldName": "file_statement_count", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 24, + "collationSchema": "", + "ordinalPosition": 8, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -35839,23 +37175,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "gh_gists_url", - "type": "varchar", - "length": 4000, + "name": "file_subroutine_count", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "gh_gists_url", + "oldName": "file_subroutine_count", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 25, + "collationSchema": "", + "ordinalPosition": 9, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -35869,23 +37205,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "gh_starred_url", - "type": "varchar", - "length": 4000, + "name": "file_statements_tested", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "gh_starred_url", + "oldName": "file_statements_tested", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 26, + "collationSchema": "", + "ordinalPosition": 10, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -35899,23 +37235,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "gh_subscriptions_url", - "type": "varchar", - "length": 4000, + "name": "file_subroutines_tested", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "gh_subscriptions_url", + "oldName": "file_subroutines_tested", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 27, + "collationSchema": "", + "ordinalPosition": 11, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -35929,9 +37265,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "gh_organizations_url", + "name": "tool_source", "type": "varchar", - "length": 4000, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", @@ -35939,13 +37275,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "gh_organizations_url", + "oldName": "tool_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 28, + "ordinalPosition": 12, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -35959,9 +37295,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "gh_repos_url", + "name": "tool_version", "type": "varchar", - "length": 4000, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", @@ -35969,13 +37305,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "gh_repos_url", + "oldName": "tool_version", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 29, + "ordinalPosition": 13, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -35989,9 +37325,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "gh_events_url", + "name": "data_source", "type": "varchar", - "length": 4000, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", @@ -35999,13 +37335,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "gh_events_url", + "oldName": "data_source", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 30, + "ordinalPosition": 14, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -36019,23 +37355,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "gh_received_events_url", - "type": "varchar", - "length": 4000, + "name": "data_collection_date", + "type": "timestamp", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", "comment": "", - "oldName": "gh_received_events_url", + "oldName": "data_collection_date", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 31, + "collationSchema": "", + "ordinalPosition": 15, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -36046,26 +37382,98 @@ "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false - }, + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "repo_test_coverage_pkey", + "fields": [ + "repo_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "repo_test_coverage_pkey" + }, + "foreignKeys": [ + { + "objectType": "ForeignKey_PGSQL", + "name": "fk_repo_test_coverage_repo_1", + "fields": [ + "repo_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "repo", + "referenceFields": [ + "repo_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", + "comment": "", + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrOneRelationship", + "targetCardinality": "OneAndOnlyOneRelationship", + "oldName": "fk_repo_test_coverage_repo_1" + } + ], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "repo_topic", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "repo_topic", + "oid": 15488043, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ { "objectType": "TableField_PGSQL", - "name": "gh_type", - "type": "varchar", - "length": 255, + "name": "repo_topic_id", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_data.repo_topic_repo_topic_id_seq'::regclass)", "comment": "", - "oldName": "gh_type", + "oldName": "repo_topic_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 32, + "collationSchema": "", + "ordinalPosition": 1, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -36079,23 +37487,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "gh_site_admin", - "type": "varchar", - "length": 255, + "name": "repo_id", + "type": "int4", + "length": 32, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "gh_site_admin", + "oldName": "repo_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 33, + "collationSchema": "", + "ordinalPosition": 2, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -36109,23 +37517,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "cntrb_full_name", - "type": "varchar", - "length": 0, + "name": "topic_id", + "type": "int4", + "length": 32, "decimals": 0, "dimensions": 0, - "collation": "default", + "collation": "", "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "cntrb_full_name", + "oldName": "topic_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 38, + "collationSchema": "", + "ordinalPosition": 3, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -36139,23 +37547,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "cntrb_last_used", - "type": "timestamptz", - "length": 0, + "name": "topic_prob", + "type": "float8", + "length": 53, "decimals": 0, "dimensions": 0, "collation": "", "isNullable": true, - "defaultType": "Others", - "defaultValue": "NULL::timestamp with time zone", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "cntrb_last_used", + "oldName": "topic_prob", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 39, + "ordinalPosition": 4, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -36171,7 +37579,7 @@ "objectType": "TableField_PGSQL", "name": "tool_source", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", @@ -36185,7 +37593,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 34, + "ordinalPosition": 5, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -36201,7 +37609,7 @@ "objectType": "TableField_PGSQL", "name": "tool_version", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", @@ -36215,7 +37623,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 35, + "ordinalPosition": 6, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -36231,7 +37639,7 @@ "objectType": "TableField_PGSQL", "name": "data_source", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", @@ -36245,7 +37653,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 36, + "ordinalPosition": 7, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -36275,7 +37683,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 37, + "ordinalPosition": 8, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -36288,225 +37696,172 @@ "isIdentityCycle": false } ], - "indexes": [ - { - "objectType": "Index_PGSQL", - "name": "cnt-fullname", - "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "Hash", - "tableSpaceName": "", - "constraint": "", - "oldName": "cnt-fullname", - "oid": 203586, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "contributors", - "size": "32", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "cntrb_full_name", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cntrb_full_name", - "collationSchema": "pg_catalog" - } - ] - }, + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "repo_topic_pkey", + "fields": [ + "repo_topic_id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "repo_topic_pkey" + }, + "foreignKeys": [ { - "objectType": "Index_PGSQL", - "name": "cntrb-theemail", - "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "Hash", - "tableSpaceName": "", - "constraint": "", - "oldName": "cntrb-theemail", - "oid": 203595, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "contributors", - "size": "32", + "objectType": "ForeignKey_PGSQL", + "name": "fk_repo_topic_repo_1", "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "cntrb_email", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cntrb_email", - "collationSchema": "pg_catalog" - } - ] - }, - { - "objectType": "Index_PGSQL", - "name": "cntrb_canonica-idx11", + "repo_id" + ], + "referenceSchema": "augur_data", + "referenceTable": "repo", + "referenceFields": [ + "repo_id" + ], + "onDelete": "NO ACTION", + "onUpdate": "NO ACTION", "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "cntrb_canonica-idx11", - "oid": 28216395, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "contributors", - "size": "16", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "cntrb_canonical", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cntrb_canonical", - "collationSchema": "pg_catalog" - } - ] - }, + "isMatchFull": false, + "isDeferrable": false, + "isDeferred": false, + "sourceCardinality": "ZeroOrManyRelationship", + "targetCardinality": "ZeroOrOneRelationship", + "oldName": "fk_repo_topic_repo_1" + } + ], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "repos_fetch_log", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "repos_fetch_log", + "oid": 15486864, + "rows": 97, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ { - "objectType": "Index_PGSQL", - "name": "cntrb_login_platform_index", + "objectType": "TableField_PGSQL", + "name": "repos_id", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "cntrb_login_platform_index", - "oid": 203596, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "contributors", - "size": "16", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "cntrb_login", - "collation": "default", - "opClass": "text_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cntrb_login", - "collationSchema": "pg_catalog" - } - ] + "oldName": "repos_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false }, { - "objectType": "Index_PGSQL", - "name": "contributor_delete_finder", + "objectType": "TableField_PGSQL", + "name": "status", + "type": "varchar", + "length": 128, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BRIN", - "tableSpaceName": "", - "constraint": "", - "oldName": "contributor_delete_finder", - "oid": 203698, - "owner": "augur", - "brinPagesPerRange": 64, - "ginPendingListLimit": -1, - "tableName": "contributors", - "size": "24", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "cntrb_id", - "collation": "", - "opClass": "int8_minmax_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cntrb_id", - "collationSchema": "" - }, - { - "objectType": "IndexField_PGSQL", - "name": "cntrb_email", - "collation": "default", - "opClass": "text_minmax_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cntrb_email", - "collationSchema": "pg_catalog" - } - ] + "oldName": "status", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false }, { - "objectType": "Index_PGSQL", - "name": "contributor_worker_email_finder", + "objectType": "TableField_PGSQL", + "name": "date", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BRIN", - "tableSpaceName": "", - "constraint": "", - "oldName": "contributor_worker_email_finder", - "oid": 203699, - "owner": "augur", - "brinPagesPerRange": 64, - "ginPendingListLimit": -1, - "tableName": "contributors", - "size": "24", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "cntrb_email", - "collation": "default", - "opClass": "text_minmax_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cntrb_email", - "collationSchema": "pg_catalog" - } - ] - }, + "oldName": "date", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [ { "objectType": "Index_PGSQL", - "name": "contributor_worker_finder", + "name": "repos_id,status", "comment": "", "isClustered": false, "isConcurrently": false, @@ -36514,123 +37869,44 @@ "fastUpdate": "", "buffering": "", "fillFactor": -1, - "method": "BRIN", + "method": "BTree", "tableSpaceName": "", "constraint": "", - "oldName": "contributor_worker_finder", - "oid": 203700, + "oldName": "repos_id,status", + "oid": 15487040, "owner": "augur", - "brinPagesPerRange": 64, + "brinPagesPerRange": -1, "ginPendingListLimit": -1, - "tableName": "contributors", - "size": "24", + "tableName": "repos_fetch_log", + "size": "16", "fields": [ { "objectType": "IndexField_PGSQL", - "name": "cntrb_login", - "collation": "default", - "opClass": "text_minmax_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cntrb_login", - "collationSchema": "pg_catalog" - }, - { - "objectType": "IndexField_PGSQL", - "name": "cntrb_email", - "collation": "default", - "opClass": "text_minmax_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cntrb_email", - "collationSchema": "pg_catalog" - }, - { - "objectType": "IndexField_PGSQL", - "name": "cntrb_id", + "name": "repos_id", "collation": "", - "opClass": "int8_minmax_ops", + "opClass": "int4_ops", "opClassSchema": "pg_catalog", "order": "ASC", "nullSort": "NULLS LAST", - "oldName": "cntrb_id", + "oldName": "repos_id", "collationSchema": "" - } - ] - }, - { - "objectType": "Index_PGSQL", - "name": "contributor_worker_fullname_finder", - "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BRIN", - "tableSpaceName": "", - "constraint": "", - "oldName": "contributor_worker_fullname_finder", - "oid": 203712, - "owner": "augur", - "brinPagesPerRange": 64, - "ginPendingListLimit": -1, - "tableName": "contributors", - "size": "24", - "fields": [ - { - "objectType": "IndexField_PGSQL", - "name": "cntrb_full_name", - "collation": "default", - "opClass": "text_minmax_ops", - "opClassSchema": "pg_catalog", - "order": "ASC", - "nullSort": "NULLS LAST", - "oldName": "cntrb_full_name", - "collationSchema": "pg_catalog" - } - ] - }, - { - "objectType": "Index_PGSQL", - "name": "contributors_idx_cntrb_email3", - "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "contributors_idx_cntrb_email3", - "oid": 203713, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "contributors", - "size": "16", - "fields": [ + }, { "objectType": "IndexField_PGSQL", - "name": "cntrb_email", + "name": "status", "collation": "default", "opClass": "text_ops", "opClassSchema": "pg_catalog", "order": "ASC", "nullSort": "NULLS LAST", - "oldName": "cntrb_email", + "oldName": "status", "collationSchema": "pg_catalog" } ] }, { "objectType": "Index_PGSQL", - "name": "login", + "name": "repos_id,statusops", "comment": "", "isClustered": false, "isConcurrently": false, @@ -36641,76 +37917,40 @@ "method": "BTree", "tableSpaceName": "", "constraint": "", - "oldName": "login", - "oid": 203766, + "oldName": "repos_id,statusops", + "oid": 15487918, "owner": "augur", "brinPagesPerRange": -1, "ginPendingListLimit": -1, - "tableName": "contributors", + "tableName": "repos_fetch_log", "size": "16", "fields": [ { "objectType": "IndexField_PGSQL", - "name": "cntrb_login", - "collation": "default", - "opClass": "text_ops", + "name": "repos_id", + "collation": "", + "opClass": "int4_ops", "opClassSchema": "pg_catalog", "order": "ASC", "nullSort": "NULLS LAST", - "oldName": "cntrb_login", - "collationSchema": "pg_catalog" - } - ] - }, - { - "objectType": "Index_PGSQL", - "name": "login-contributor-idx", - "comment": "", - "isClustered": false, - "isConcurrently": false, - "isUnique": false, - "fastUpdate": "", - "buffering": "", - "fillFactor": -1, - "method": "BTree", - "tableSpaceName": "", - "constraint": "", - "oldName": "login-contributor-idx", - "oid": 203767, - "owner": "augur", - "brinPagesPerRange": -1, - "ginPendingListLimit": -1, - "tableName": "contributors", - "size": "16", - "fields": [ + "oldName": "repos_id", + "collationSchema": "" + }, { "objectType": "IndexField_PGSQL", - "name": "cntrb_login", + "name": "status", "collation": "default", "opClass": "text_ops", "opClassSchema": "pg_catalog", "order": "ASC", "nullSort": "NULLS LAST", - "oldName": "cntrb_login", + "oldName": "status", "collationSchema": "pg_catalog" } ] } ], "rules": [], - "primaryKey": { - "objectType": "PrimaryKey_PGSQL", - "name": "contributors_pkey", - "fields": [ - "cntrb_id" - ], - "fillFactor": -1, - "indexTablespace": "", - "comment": "", - "isDeferrable": false, - "isDeferred": false, - "oldName": "contributors_pkey" - }, "foreignKeys": [], "uniques": [], "checks": [], @@ -36721,17 +37961,17 @@ }, { "objectType": "TableNormal_PGSQL", - "name": "contributor_repo", - "comment": "Developed in Partnership with Andrew Brain. \nFrom: [\n {\n \"login\": \"octocat\",\n \"id\": 1,\n \"node_id\": \"MDQ6VXNlcjE=\",\n \"avatar_url\": \"https://github.com/images/error/octocat_happy.gif\",\n \"gravatar_id\": \"\",\n \"url\": \"https://api.github.com/users/octocat\",\n \"html_url\": \"https://github.com/octocat\",\n \"followers_url\": \"https://api.github.com/users/octocat/followers\",\n \"following_url\": \"https://api.github.com/users/octocat/following{/other_user}\",\n \"gists_url\": \"https://api.github.com/users/octocat/gists{/gist_id}\",\n \"starred_url\": \"https://api.github.com/users/octocat/starred{/owner}{/repo}\",\n \"subscriptions_url\": \"https://api.github.com/users/octocat/subscriptions\",\n \"organizations_url\": \"https://api.github.com/users/octocat/orgs\",\n \"repos_url\": \"https://api.github.com/users/octocat/repos\",\n \"events_url\": \"https://api.github.com/users/octocat/events{/privacy}\",\n \"received_events_url\": \"https://api.github.com/users/octocat/received_events\",\n \"type\": \"User\",\n \"site_admin\": false\n }\n]\n", + "name": "settings", + "comment": "", "tablespace": "", "isUnlogged": false, "owner": "augur", "inheritFromTables": [], "hasOIDs": false, "fillFactor": -1, - "oldName": "contributor_repo", - "oid": 186822, - "rows": 0, + "oldName": "settings", + "oid": 15486868, + "rows": 13, "isInheritTables": false, "cluster": "", "ACL": "", @@ -36747,17 +37987,17 @@ "fields": [ { "objectType": "TableField_PGSQL", - "name": "cntrb_repo_id", - "type": "int8", - "length": 64, + "name": "id", + "type": "int4", + "length": 32, "decimals": 0, "dimensions": 0, "collation": "", "isNullable": false, - "defaultType": "Others", - "defaultValue": "nextval('augur_data.contributor_repo_cntrb_repo_id_seq'::regclass)", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "cntrb_repo_id", + "oldName": "id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -36777,22 +38017,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "cntrb_id", - "type": "int8", - "length": 64, + "name": "setting", + "type": "varchar", + "length": 32, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": false, "defaultType": "None", "defaultValue": "", - "comment": "This is not null because what is the point without the contributor in this table? ", - "oldName": "cntrb_id", + "comment": "", + "oldName": "setting", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 2, "foreignOptions": [], "isIdentity": false, @@ -36807,7 +38047,7 @@ }, { "objectType": "TableField_PGSQL", - "name": "repo_git", + "name": "value", "type": "varchar", "length": 0, "decimals": 0, @@ -36816,8 +38056,8 @@ "isNullable": false, "defaultType": "None", "defaultValue": "", - "comment": "Similar to cntrb_id, we need this data for the table to have meaningful data. ", - "oldName": "repo_git", + "comment": "", + "oldName": "value", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -36837,22 +38077,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "cntrb_category", - "type": "varchar", - "length": 255, + "name": "last_modified", + "type": "timestamp", + "length": 0, "decimals": 0, "dimensions": 0, - "collation": "default", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", "comment": "", - "oldName": "cntrb_category", + "oldName": "last_modified", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", + "collationSchema": "", "ordinalPosition": 4, "foreignOptions": [], "isIdentity": false, @@ -36864,26 +38104,76 @@ "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false - }, + } + ], + "indexes": [], + "rules": [], + "primaryKey": { + "objectType": "PrimaryKey_PGSQL", + "name": "settings_pkey", + "fields": [ + "id" + ], + "fillFactor": -1, + "indexTablespace": "", + "comment": "", + "isDeferrable": false, + "isDeferred": false, + "oldName": "settings_pkey" + }, + "foreignKeys": [], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "topic_words", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "topic_words", + "oid": 15488053, + "rows": 0, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ { "objectType": "TableField_PGSQL", - "name": "event_id", + "name": "topic_words_id", "type": "int8", "length": 64, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": true, - "defaultType": "None", - "defaultValue": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_data.topic_words_topic_words_id_seq'::regclass)", "comment": "", - "oldName": "event_id", + "oldName": "topic_words_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 10, + "ordinalPosition": 1, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -36897,23 +38187,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "gh_repo_id", + "name": "topic_id", "type": "int8", "length": 64, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": false, + "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "gh_repo_id", + "oldName": "topic_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 11, + "ordinalPosition": 2, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -36927,23 +38217,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "repo_name", + "name": "word", "type": "varchar", - "length": 255, + "length": 0, "decimals": 0, "dimensions": 0, "collation": "default", - "isNullable": false, + "isNullable": true, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "repo_name", + "oldName": "word", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 9, + "ordinalPosition": 3, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -36957,9 +38247,9 @@ }, { "objectType": "TableField_PGSQL", - "name": "created_at", - "type": "timestamp", - "length": 0, + "name": "word_prob", + "type": "float8", + "length": 53, "decimals": 0, "dimensions": 0, "collation": "", @@ -36967,13 +38257,13 @@ "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "created_at", + "oldName": "word_prob", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 12, + "ordinalPosition": 4, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -37110,56 +38400,19 @@ "rules": [], "primaryKey": { "objectType": "PrimaryKey_PGSQL", - "name": "cntrb_repo_id_key", + "name": "topic_words_pkey", "fields": [ - "cntrb_repo_id" + "topic_words_id" ], "fillFactor": -1, "indexTablespace": "", "comment": "", "isDeferrable": false, "isDeferred": false, - "oldName": "cntrb_repo_id_key" + "oldName": "topic_words_pkey" }, - "foreignKeys": [ - { - "objectType": "ForeignKey_PGSQL", - "name": "fk_contributor_repo_contributors_1", - "fields": [ - "cntrb_id" - ], - "referenceSchema": "augur_data", - "referenceTable": "contributors", - "referenceFields": [ - "cntrb_id" - ], - "onDelete": "RESTRICT", - "onUpdate": "CASCADE", - "comment": "", - "isMatchFull": false, - "isDeferrable": false, - "isDeferred": false, - "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "OneAndOnlyOneRelationship", - "oldName": "fk_contributor_repo_contributors_1" - } - ], - "uniques": [ - { - "objectType": "Unique_PGSQL", - "name": "eventer", - "fields": [ - "event_id", - "tool_version" - ], - "fillFactor": -1, - "indexTablespace": "", - "comment": "", - "isDeferrable": false, - "isDeferred": false, - "oldName": "eventer" - } - ], + "foreignKeys": [], + "uniques": [], "checks": [], "excludes": [], "triggers": [], @@ -37168,7 +38421,7 @@ }, { "objectType": "TableNormal_PGSQL", - "name": "issue_assignees", + "name": "unknown_cache", "comment": "", "tablespace": "", "isUnlogged": false, @@ -37176,9 +38429,9 @@ "inheritFromTables": [], "hasOIDs": false, "fillFactor": -1, - "oldName": "issue_assignees", - "oid": 188311, - "rows": 0, + "oldName": "unknown_cache", + "oid": 15486875, + "rows": 44, "isInheritTables": false, "cluster": "", "ACL": "", @@ -37194,22 +38447,22 @@ "fields": [ { "objectType": "TableField_PGSQL", - "name": "issue_assignee_id", - "type": "int8", - "length": 64, + "name": "type", + "type": "varchar", + "length": 10, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": false, - "defaultType": "Others", - "defaultValue": "nextval('augur_data.issue_assignees_issue_assignee_id_seq'::regclass)", + "defaultType": "None", + "defaultValue": "", "comment": "", - "oldName": "issue_assignee_id", + "oldName": "type", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 1, "foreignOptions": [], "isIdentity": false, @@ -37224,17 +38477,17 @@ }, { "objectType": "TableField_PGSQL", - "name": "issue_id", - "type": "int8", - "length": 64, + "name": "repo_group_id", + "type": "int4", + "length": 32, "decimals": 0, "dimensions": 0, "collation": "", - "isNullable": true, + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "issue_id", + "oldName": "repo_group_id", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", @@ -37254,22 +38507,22 @@ }, { "objectType": "TableField_PGSQL", - "name": "cntrb_id", - "type": "int8", - "length": 64, + "name": "email", + "type": "varchar", + "length": 128, "decimals": 0, "dimensions": 0, - "collation": "", - "isNullable": true, + "collation": "default", + "isNullable": false, "defaultType": "None", "defaultValue": "", "comment": "", - "oldName": "cntrb_id", + "oldName": "email", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", + "collationSchema": "pg_catalog", "ordinalPosition": 3, "foreignOptions": [], "isIdentity": false, @@ -37284,23 +38537,23 @@ }, { "objectType": "TableField_PGSQL", - "name": "issue_assignee_src_id", - "type": "int8", - "length": 64, + "name": "domain", + "type": "varchar", + "length": 128, "decimals": 0, "dimensions": 0, - "collation": "", + "collation": "default", "isNullable": true, - "defaultType": "None", - "defaultValue": "", - "comment": "This ID comes from the source. In the case of GitHub, it is the id that is the first field returned from the issue events API in the issue_assignees embedded JSON object. We may discover it is an ID for the person themselves; but my hypothesis is that its not.", - "oldName": "issue_assignee_src_id", + "defaultType": "Others", + "defaultValue": "'NULL'::character varying", + "comment": "", + "oldName": "domain", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "", - "ordinalPosition": 8, + "collationSchema": "pg_catalog", + "ordinalPosition": 4, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -37314,30 +38567,30 @@ }, { "objectType": "TableField_PGSQL", - "name": "issue_assignee_src_node", - "type": "varchar", - "length": 0, + "name": "added", + "type": "int8", + "length": 64, "decimals": 0, "dimensions": 0, - "collation": "default", - "isNullable": true, + "collation": "", + "isNullable": false, "defaultType": "None", "defaultValue": "", - "comment": "This character based identifier comes from the source. In the case of GitHub, it is the id that is the second field returned from the issue events API in the issue_assignees embedded JSON object. We may discover it is an ID for the person themselves; but my hypothesis is that its not.", - "oldName": "issue_assignee_src_node", + "comment": "", + "oldName": "added", "typeOID": 1, "fieldObjectType": "", "objectTypeSchema": "", "isDomainType": false, - "collationSchema": "pg_catalog", - "ordinalPosition": 9, + "collationSchema": "", + "ordinalPosition": 5, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", "identityStart": 0, "identityIncrement": 0, "identityMinimum": 0, - "hasNoIdentityMinValue": true, + "hasNoIdentityMinValue": false, "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false @@ -37346,7 +38599,7 @@ "objectType": "TableField_PGSQL", "name": "tool_source", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", @@ -37360,7 +38613,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 4, + "ordinalPosition": 6, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -37376,7 +38629,7 @@ "objectType": "TableField_PGSQL", "name": "tool_version", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", @@ -37390,7 +38643,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 5, + "ordinalPosition": 7, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -37406,7 +38659,7 @@ "objectType": "TableField_PGSQL", "name": "data_source", "type": "varchar", - "length": 0, + "length": 255, "decimals": 0, "dimensions": 0, "collation": "default", @@ -37420,7 +38673,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "pg_catalog", - "ordinalPosition": 6, + "ordinalPosition": 8, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -37450,7 +38703,7 @@ "objectTypeSchema": "", "isDomainType": false, "collationSchema": "", - "ordinalPosition": 7, + "ordinalPosition": 9, "foreignOptions": [], "isIdentity": false, "identityGeneration": "None", @@ -37466,7 +38719,7 @@ "indexes": [ { "objectType": "Index_PGSQL", - "name": "issue-cntrb-assign-idx-1", + "name": "type,projects_id", "comment": "", "isClustered": false, "isConcurrently": false, @@ -37477,86 +38730,308 @@ "method": "BTree", "tableSpaceName": "", "constraint": "", - "oldName": "issue-cntrb-assign-idx-1", - "oid": 203731, + "oldName": "type,projects_id", + "oid": 15487043, "owner": "augur", "brinPagesPerRange": -1, "ginPendingListLimit": -1, - "tableName": "issue_assignees", - "size": "8", + "tableName": "unknown_cache", + "size": "16", "fields": [ { "objectType": "IndexField_PGSQL", - "name": "cntrb_id", + "name": "type", + "collation": "default", + "opClass": "text_ops", + "opClassSchema": "pg_catalog", + "order": "ASC", + "nullSort": "NULLS LAST", + "oldName": "type", + "collationSchema": "pg_catalog" + }, + { + "objectType": "IndexField_PGSQL", + "name": "repo_group_id", "collation": "", - "opClass": "int8_ops", + "opClass": "int4_ops", "opClassSchema": "pg_catalog", "order": "ASC", "nullSort": "NULLS LAST", - "oldName": "cntrb_id", + "oldName": "repo_group_id", "collationSchema": "" } ] } ], "rules": [], + "foreignKeys": [], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "utility_log", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "utility_log", + "oid": 15486883, + "rows": 7716, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ + { + "objectType": "TableField_PGSQL", + "name": "id", + "type": "int8", + "length": 64, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "nextval('augur_data.utility_log_id_seq1'::regclass)", + "comment": "", + "oldName": "id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "level", + "type": "varchar", + "length": 8, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "level", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "status", + "type": "varchar", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", + "comment": "", + "oldName": "status", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 3, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + }, + { + "objectType": "TableField_PGSQL", + "name": "attempted", + "type": "timestamp", + "length": 0, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "Others", + "defaultValue": "CURRENT_TIMESTAMP", + "comment": "", + "oldName": "attempted", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 4, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false + } + ], + "indexes": [], + "rules": [], "primaryKey": { "objectType": "PrimaryKey_PGSQL", - "name": "issue_assignees_pkey", + "name": "utility_log_pkey", "fields": [ - "issue_assignee_id" + "id" ], "fillFactor": -1, "indexTablespace": "", "comment": "", "isDeferrable": false, "isDeferred": false, - "oldName": "issue_assignees_pkey" + "oldName": "utility_log_pkey" }, - "foreignKeys": [ + "foreignKeys": [], + "uniques": [], + "checks": [], + "excludes": [], + "triggers": [], + "partitionKeys": [], + "partitions": [] + }, + { + "objectType": "TableNormal_PGSQL", + "name": "working_commits", + "comment": "", + "tablespace": "", + "isUnlogged": false, + "owner": "augur", + "inheritFromTables": [], + "hasOIDs": false, + "fillFactor": -1, + "oldName": "working_commits", + "oid": 15486891, + "rows": 1, + "isInheritTables": false, + "cluster": "", + "ACL": "", + "isPartition": false, + "partitioningStrategy": "None", + "partitionOfSchema": "", + "partitionOfTable": "", + "partitionListValues": [], + "partitionRangeFromValues": [], + "partitionRangeToValues": [], + "foreignServer": "", + "foreignOptionDisplay": "", + "fields": [ { - "objectType": "ForeignKey_PGSQL", - "name": "fk_issue_assignees_contributors_1", - "fields": [ - "cntrb_id" - ], - "referenceSchema": "augur_data", - "referenceTable": "contributors", - "referenceFields": [ - "cntrb_id" - ], - "onDelete": "RESTRICT", - "onUpdate": "CASCADE", + "objectType": "TableField_PGSQL", + "name": "repos_id", + "type": "int4", + "length": 32, + "decimals": 0, + "dimensions": 0, + "collation": "", + "isNullable": false, + "defaultType": "None", + "defaultValue": "", "comment": "", - "isMatchFull": false, - "isDeferrable": true, - "isDeferred": false, - "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "ZeroOrOneRelationship", - "oldName": "fk_issue_assignees_contributors_1" + "oldName": "repos_id", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "", + "ordinalPosition": 1, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false }, { - "objectType": "ForeignKey_PGSQL", - "name": "fk_issue_assignees_issues_1", - "fields": [ - "issue_id" - ], - "referenceSchema": "augur_data", - "referenceTable": "issues", - "referenceFields": [ - "issue_id" - ], - "onDelete": "RESTRICT", - "onUpdate": "CASCADE", + "objectType": "TableField_PGSQL", + "name": "working_commit", + "type": "varchar", + "length": 40, + "decimals": 0, + "dimensions": 0, + "collation": "default", + "isNullable": true, + "defaultType": "Others", + "defaultValue": "'NULL'::character varying", "comment": "", - "isMatchFull": false, - "isDeferrable": true, - "isDeferred": false, - "sourceCardinality": "ZeroOrManyRelationship", - "targetCardinality": "ZeroOrOneRelationship", - "oldName": "fk_issue_assignees_issues_1" + "oldName": "working_commit", + "typeOID": 1, + "fieldObjectType": "", + "objectTypeSchema": "", + "isDomainType": false, + "collationSchema": "pg_catalog", + "ordinalPosition": 2, + "foreignOptions": [], + "isIdentity": false, + "identityGeneration": "None", + "identityStart": 0, + "identityIncrement": 0, + "identityMinimum": 0, + "hasNoIdentityMinValue": false, + "identityMaximum": 0, + "hasNoIdentityMaxValue": false, + "isIdentityCycle": false } ], + "indexes": [], + "rules": [], + "foreignKeys": [], "uniques": [], "checks": [], "excludes": [], @@ -37583,7 +39058,7 @@ "hasOIDs": false, "fillFactor": -1, "oldName": "all", - "oid": 194951, + "oid": 15487319, "rows": 0, "isInheritTables": false, "cluster": "", @@ -37655,7 +39130,7 @@ "identityMinimum": 0, "hasNoIdentityMinValue": false, "identityMaximum": 0, - "hasNoIdentityMaxValue": false, + "hasNoIdentityMaxValue": {}, "isIdentityCycle": false }, { @@ -37713,7 +39188,7 @@ "identityStart": 0, "identityIncrement": 0, "identityMinimum": 0, - "hasNoIdentityMinValue": false, + "hasNoIdentityMinValue": {}, "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false @@ -37745,7 +39220,7 @@ "identityMinimum": 0, "hasNoIdentityMinValue": false, "identityMaximum": 0, - "hasNoIdentityMaxValue": false, + "hasNoIdentityMaxValue": {}, "isIdentityCycle": false }, { @@ -37805,7 +39280,7 @@ "identityMinimum": 0, "hasNoIdentityMinValue": false, "identityMaximum": 0, - "hasNoIdentityMaxValue": false, + "hasNoIdentityMaxValue": {}, "isIdentityCycle": false }, { @@ -37863,7 +39338,7 @@ "identityStart": 0, "identityIncrement": 0, "identityMinimum": 0, - "hasNoIdentityMinValue": false, + "hasNoIdentityMinValue": {}, "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false @@ -37895,7 +39370,7 @@ "identityMinimum": 0, "hasNoIdentityMinValue": false, "identityMaximum": 0, - "hasNoIdentityMaxValue": false, + "hasNoIdentityMaxValue": {}, "isIdentityCycle": false } ], @@ -37920,8 +39395,8 @@ "hasOIDs": false, "fillFactor": -1, "oldName": "augur_settings", - "oid": 195080, - "rows": 0, + "oid": 15487810, + "rows": 2, "isInheritTables": false, "cluster": "", "ACL": "", @@ -37990,7 +39465,7 @@ "identityStart": 0, "identityIncrement": 0, "identityMinimum": 0, - "hasNoIdentityMinValue": false, + "hasNoIdentityMinValue": {}, "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false @@ -38022,7 +39497,7 @@ "identityMinimum": 0, "hasNoIdentityMinValue": false, "identityMaximum": 0, - "hasNoIdentityMaxValue": false, + "hasNoIdentityMaxValue": null, "isIdentityCycle": false }, { @@ -38052,7 +39527,7 @@ "identityMinimum": 0, "hasNoIdentityMinValue": false, "identityMaximum": 0, - "hasNoIdentityMaxValue": false, + "hasNoIdentityMaxValue": null, "isIdentityCycle": false } ], @@ -38090,7 +39565,7 @@ "hasOIDs": false, "fillFactor": -1, "oldName": "repos_fetch_log", - "oid": 195243, + "oid": 15487859, "rows": 0, "isInheritTables": false, "cluster": "", @@ -38211,7 +39686,7 @@ "tableSpaceName": "", "constraint": "", "oldName": "repos_id,statusops", - "oid": 203975, + "oid": 15487863, "owner": "augur", "brinPagesPerRange": -1, "ginPendingListLimit": -1, @@ -38263,8 +39738,8 @@ "hasOIDs": false, "fillFactor": -1, "oldName": "worker_history", - "oid": 195335, - "rows": 0, + "oid": 15487337, + "rows": 199, "isInheritTables": false, "cluster": "", "ACL": "", @@ -38305,7 +39780,7 @@ "identityMinimum": 0, "hasNoIdentityMinValue": false, "identityMaximum": 0, - "hasNoIdentityMaxValue": false, + "hasNoIdentityMaxValue": "", "isIdentityCycle": false }, { @@ -38363,7 +39838,7 @@ "identityStart": 0, "identityIncrement": 0, "identityMinimum": 0, - "hasNoIdentityMinValue": false, + "hasNoIdentityMinValue": {}, "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false @@ -38395,7 +39870,7 @@ "identityMinimum": 0, "hasNoIdentityMinValue": false, "identityMaximum": 0, - "hasNoIdentityMaxValue": false, + "hasNoIdentityMaxValue": {}, "isIdentityCycle": false }, { @@ -38513,9 +39988,9 @@ "identityStart": 0, "identityIncrement": 0, "identityMinimum": 0, - "hasNoIdentityMinValue": false, + "hasNoIdentityMinValue": null, "identityMaximum": 0, - "hasNoIdentityMaxValue": false, + "hasNoIdentityMaxValue": true, "isIdentityCycle": false } ], @@ -38553,8 +40028,8 @@ "hasOIDs": false, "fillFactor": -1, "oldName": "worker_job", - "oid": 195432, - "rows": 0, + "oid": 15487344, + "rows": 22, "isInheritTables": false, "cluster": "", "ACL": "", @@ -38593,9 +40068,9 @@ "identityStart": 0, "identityIncrement": 0, "identityMinimum": 0, - "hasNoIdentityMinValue": false, + "hasNoIdentityMinValue": 0, "identityMaximum": 0, - "hasNoIdentityMaxValue": false, + "hasNoIdentityMaxValue": null, "isIdentityCycle": false }, { @@ -38873,8 +40348,8 @@ "hasOIDs": false, "fillFactor": -1, "oldName": "worker_oauth", - "oid": 195620, - "rows": 0, + "oid": 15487355, + "rows": 20, "isInheritTables": false, "cluster": "", "ACL": "", @@ -38973,9 +40448,9 @@ "identityStart": 0, "identityIncrement": 0, "identityMinimum": 0, - "hasNoIdentityMinValue": false, + "hasNoIdentityMinValue": "", "identityMaximum": 0, - "hasNoIdentityMaxValue": false, + "hasNoIdentityMaxValue": true, "isIdentityCycle": false }, { @@ -39163,8 +40638,8 @@ "hasOIDs": false, "fillFactor": -1, "oldName": "worker_settings_facade", - "oid": 195709, - "rows": 0, + "oid": 15487850, + "rows": 13, "isInheritTables": false, "cluster": "", "ACL": "", @@ -39333,7 +40808,7 @@ "hasOIDs": false, "fillFactor": -1, "oldName": "working_commits", - "oid": 195817, + "oid": 15487864, "rows": 0, "isInheritTables": false, "cluster": "", @@ -39438,7 +40913,7 @@ "hasOIDs": false, "fillFactor": -1, "oldName": "annotation_types", - "oid": 195957, + "oid": 15487411, "rows": 2, "isInheritTables": false, "cluster": "", @@ -39562,7 +41037,7 @@ "hasOIDs": false, "fillFactor": -1, "oldName": "annotations", - "oid": 196093, + "oid": 15487415, "rows": 0, "isInheritTables": false, "cluster": "", @@ -39632,9 +41107,9 @@ "identityStart": 0, "identityIncrement": 0, "identityMinimum": 0, - "hasNoIdentityMinValue": false, + "hasNoIdentityMinValue": 0, "identityMaximum": 0, - "hasNoIdentityMaxValue": false, + "hasNoIdentityMaxValue": null, "isIdentityCycle": false }, { @@ -39692,9 +41167,9 @@ "identityStart": 0, "identityIncrement": 0, "identityMinimum": 0, - "hasNoIdentityMinValue": false, + "hasNoIdentityMinValue": null, "identityMaximum": 0, - "hasNoIdentityMaxValue": false, + "hasNoIdentityMaxValue": true, "isIdentityCycle": false }, { @@ -39722,9 +41197,9 @@ "identityStart": 0, "identityIncrement": 0, "identityMinimum": 0, - "hasNoIdentityMinValue": false, + "hasNoIdentityMinValue": 0, "identityMaximum": 0, - "hasNoIdentityMaxValue": false, + "hasNoIdentityMaxValue": null, "isIdentityCycle": false }, { @@ -39782,9 +41257,9 @@ "identityStart": 0, "identityIncrement": 0, "identityMinimum": 0, - "hasNoIdentityMinValue": false, + "hasNoIdentityMinValue": null, "identityMaximum": 0, - "hasNoIdentityMaxValue": false, + "hasNoIdentityMaxValue": true, "isIdentityCycle": false } ], @@ -39907,7 +41382,7 @@ "hasOIDs": false, "fillFactor": -1, "oldName": "augur_repo_map", - "oid": 196221, + "oid": 15487422, "rows": 0, "isInheritTables": false, "cluster": "", @@ -39977,9 +41452,9 @@ "identityStart": 0, "identityIncrement": 0, "identityMinimum": 0, - "hasNoIdentityMinValue": false, + "hasNoIdentityMinValue": null, "identityMaximum": 0, - "hasNoIdentityMaxValue": false, + "hasNoIdentityMaxValue": true, "isIdentityCycle": false }, { @@ -40007,9 +41482,9 @@ "identityStart": 0, "identityIncrement": 0, "identityMinimum": 0, - "hasNoIdentityMinValue": false, + "hasNoIdentityMinValue": 0, "identityMaximum": 0, - "hasNoIdentityMaxValue": false, + "hasNoIdentityMaxValue": null, "isIdentityCycle": false }, { @@ -40067,9 +41542,9 @@ "identityStart": 0, "identityIncrement": 0, "identityMinimum": 0, - "hasNoIdentityMinValue": false, + "hasNoIdentityMinValue": null, "identityMaximum": 0, - "hasNoIdentityMaxValue": false, + "hasNoIdentityMaxValue": true, "isIdentityCycle": false } ], @@ -40107,7 +41582,7 @@ "hasOIDs": false, "fillFactor": -1, "oldName": "creator_types", - "oid": 196379, + "oid": 15487429, "rows": 3, "isInheritTables": false, "cluster": "", @@ -40147,9 +41622,9 @@ "identityStart": 0, "identityIncrement": 0, "identityMinimum": 0, - "hasNoIdentityMinValue": false, + "hasNoIdentityMinValue": 0, "identityMaximum": 0, - "hasNoIdentityMaxValue": false, + "hasNoIdentityMaxValue": null, "isIdentityCycle": false }, { @@ -40179,7 +41654,7 @@ "identityMinimum": 0, "hasNoIdentityMinValue": false, "identityMaximum": 0, - "hasNoIdentityMaxValue": false, + "hasNoIdentityMaxValue": true, "isIdentityCycle": false } ], @@ -40217,7 +41692,7 @@ "hasOIDs": false, "fillFactor": -1, "oldName": "creators", - "oid": 196524, + "oid": 15487433, "rows": 1, "isInheritTables": false, "cluster": "", @@ -40257,7 +41732,7 @@ "identityStart": 0, "identityIncrement": 0, "identityMinimum": 0, - "hasNoIdentityMinValue": false, + "hasNoIdentityMinValue": null, "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false @@ -40409,7 +41884,7 @@ "hasOIDs": false, "fillFactor": -1, "oldName": "document_namespaces", - "oid": 196668, + "oid": 15487440, "rows": 0, "isInheritTables": false, "cluster": "", @@ -40449,7 +41924,7 @@ "identityStart": 0, "identityIncrement": 0, "identityMinimum": 0, - "hasNoIdentityMinValue": false, + "hasNoIdentityMinValue": 0, "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false @@ -40479,9 +41954,9 @@ "identityStart": 0, "identityIncrement": 0, "identityMinimum": 0, - "hasNoIdentityMinValue": false, + "hasNoIdentityMinValue": true, "identityMaximum": 0, - "hasNoIdentityMaxValue": false, + "hasNoIdentityMaxValue": true, "isIdentityCycle": false } ], @@ -40533,7 +42008,7 @@ "hasOIDs": false, "fillFactor": -1, "oldName": "documents", - "oid": 196842, + "oid": 15487444, "rows": 0, "isInheritTables": false, "cluster": "", @@ -40663,9 +42138,9 @@ "identityStart": 0, "identityIncrement": 0, "identityMinimum": 0, - "hasNoIdentityMinValue": false, + "hasNoIdentityMinValue": 0, "identityMaximum": 0, - "hasNoIdentityMaxValue": false, + "hasNoIdentityMaxValue": null, "isIdentityCycle": false }, { @@ -40723,9 +42198,9 @@ "identityStart": 0, "identityIncrement": 0, "identityMinimum": 0, - "hasNoIdentityMinValue": false, + "hasNoIdentityMinValue": null, "identityMaximum": 0, - "hasNoIdentityMaxValue": false, + "hasNoIdentityMaxValue": true, "isIdentityCycle": false }, { @@ -40961,7 +42436,7 @@ "hasOIDs": false, "fillFactor": -1, "oldName": "documents_creators", - "oid": 197043, + "oid": 15487451, "rows": 0, "isInheritTables": false, "cluster": "", @@ -41031,7 +42506,7 @@ "identityStart": 0, "identityIncrement": 0, "identityMinimum": 0, - "hasNoIdentityMinValue": false, + "hasNoIdentityMinValue": "", "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false @@ -41061,7 +42536,7 @@ "identityStart": 0, "identityIncrement": 0, "identityMinimum": 0, - "hasNoIdentityMinValue": false, + "hasNoIdentityMinValue": "", "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false @@ -41144,7 +42619,7 @@ "hasOIDs": false, "fillFactor": -1, "oldName": "external_refs", - "oid": 197079, + "oid": 15487455, "rows": 0, "isInheritTables": false, "cluster": "", @@ -41184,7 +42659,7 @@ "identityStart": 0, "identityIncrement": 0, "identityMinimum": 0, - "hasNoIdentityMinValue": false, + "hasNoIdentityMinValue": [], "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false @@ -41402,7 +42877,7 @@ "hasOIDs": false, "fillFactor": -1, "oldName": "file_contributors", - "oid": 197101, + "oid": 15487459, "rows": 0, "isInheritTables": false, "cluster": "", @@ -41564,7 +43039,7 @@ "hasOIDs": false, "fillFactor": -1, "oldName": "file_types", - "oid": 197108, + "oid": 15487466, "rows": 11, "isInheritTables": false, "cluster": "", @@ -41674,7 +43149,7 @@ "hasOIDs": false, "fillFactor": -1, "oldName": "files", - "oid": 197113, + "oid": 15487470, "rows": 0, "isInheritTables": false, "cluster": "", @@ -41948,7 +43423,7 @@ "hasOIDs": false, "fillFactor": -1, "oldName": "files_licenses", - "oid": 197131, + "oid": 15487477, "rows": 0, "isInheritTables": false, "cluster": "", @@ -42176,7 +43651,7 @@ "hasOIDs": false, "fillFactor": -1, "oldName": "files_scans", - "oid": 197140, + "oid": 15487484, "rows": 0, "isInheritTables": false, "cluster": "", @@ -42374,7 +43849,7 @@ "hasOIDs": false, "fillFactor": -1, "oldName": "identifiers", - "oid": 197156, + "oid": 15487488, "rows": 0, "isInheritTables": false, "cluster": "", @@ -42702,31 +44177,31 @@ }, { "objectType": "Unique_PGSQL", - "name": "uc_identifier_namespace_package_file_id", + "name": "uc_identifier_namespace_package_id", "fields": [ "document_namespace_id", - "package_file_id" + "package_id" ], "fillFactor": -1, "indexTablespace": "", "comment": "", "isDeferrable": false, "isDeferred": false, - "oldName": "uc_identifier_namespace_package_file_id" + "oldName": "uc_identifier_namespace_package_id" }, { "objectType": "Unique_PGSQL", - "name": "uc_identifier_namespace_package_id", + "name": "uc_identifier_namespace_package_file_id", "fields": [ "document_namespace_id", - "package_id" + "package_file_id" ], "fillFactor": -1, "indexTablespace": "", "comment": "", "isDeferrable": false, "isDeferred": false, - "oldName": "uc_identifier_namespace_package_id" + "oldName": "uc_identifier_namespace_package_file_id" } ], "checks": [ @@ -42755,7 +44230,7 @@ "hasOIDs": false, "fillFactor": -1, "oldName": "licenses", - "oid": 197165, + "oid": 15487492, "rows": 322, "isInheritTables": false, "cluster": "", @@ -42887,7 +44362,7 @@ "identityMinimum": 0, "hasNoIdentityMinValue": false, "identityMaximum": 0, - "hasNoIdentityMaxValue": false, + "hasNoIdentityMaxValue": 0, "isIdentityCycle": false }, { @@ -42999,7 +44474,7 @@ "hasOIDs": false, "fillFactor": -1, "oldName": "packages", - "oid": 197174, + "oid": 15487499, "rows": 0, "isInheritTables": false, "cluster": "", @@ -43129,7 +44604,7 @@ "identityStart": 0, "identityIncrement": 0, "identityMinimum": 0, - "hasNoIdentityMinValue": false, + "hasNoIdentityMinValue": 0, "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false @@ -43189,7 +44664,7 @@ "identityStart": 0, "identityIncrement": 0, "identityMinimum": 0, - "hasNoIdentityMinValue": false, + "hasNoIdentityMinValue": true, "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false @@ -43221,7 +44696,7 @@ "identityMinimum": 0, "hasNoIdentityMinValue": false, "identityMaximum": 0, - "hasNoIdentityMaxValue": false, + "hasNoIdentityMaxValue": true, "isIdentityCycle": false }, { @@ -43309,9 +44784,9 @@ "identityStart": 0, "identityIncrement": 0, "identityMinimum": 0, - "hasNoIdentityMinValue": false, + "hasNoIdentityMinValue": 0, "identityMaximum": 0, - "hasNoIdentityMaxValue": false, + "hasNoIdentityMaxValue": null, "isIdentityCycle": false }, { @@ -43341,7 +44816,7 @@ "identityMinimum": 0, "hasNoIdentityMinValue": false, "identityMaximum": 0, - "hasNoIdentityMaxValue": false, + "hasNoIdentityMaxValue": 0, "isIdentityCycle": false }, { @@ -43519,7 +44994,7 @@ "identityStart": 0, "identityIncrement": 0, "identityMinimum": 0, - "hasNoIdentityMinValue": false, + "hasNoIdentityMinValue": true, "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false @@ -43579,7 +45054,7 @@ "identityStart": 0, "identityIncrement": 0, "identityMinimum": 0, - "hasNoIdentityMinValue": false, + "hasNoIdentityMinValue": true, "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false @@ -43609,9 +45084,9 @@ "identityStart": 0, "identityIncrement": 0, "identityMinimum": 0, - "hasNoIdentityMinValue": false, + "hasNoIdentityMinValue": true, "identityMaximum": 0, - "hasNoIdentityMaxValue": false, + "hasNoIdentityMaxValue": true, "isIdentityCycle": false } ], @@ -43740,30 +45215,30 @@ "uniques": [ { "objectType": "Unique_PGSQL", - "name": "uc_dir_code_ver_code", + "name": "uc_package_sha256", "fields": [ - "verification_code", - "dosocs2_dir_code" + "sha256" ], "fillFactor": -1, "indexTablespace": "", "comment": "", "isDeferrable": false, "isDeferred": false, - "oldName": "uc_dir_code_ver_code" + "oldName": "uc_package_sha256" }, { "objectType": "Unique_PGSQL", - "name": "uc_package_sha256", + "name": "uc_dir_code_ver_code", "fields": [ - "sha256" + "verification_code", + "dosocs2_dir_code" ], "fillFactor": -1, "indexTablespace": "", "comment": "", "isDeferrable": false, "isDeferred": false, - "oldName": "uc_package_sha256" + "oldName": "uc_dir_code_ver_code" } ], "checks": [ @@ -43792,7 +45267,7 @@ "hasOIDs": false, "fillFactor": -1, "oldName": "packages_files", - "oid": 197193, + "oid": 15487506, "rows": 0, "isInheritTables": false, "cluster": "", @@ -43922,9 +45397,9 @@ "identityStart": 0, "identityIncrement": 0, "identityMinimum": 0, - "hasNoIdentityMinValue": false, + "hasNoIdentityMinValue": 0, "identityMaximum": 0, - "hasNoIdentityMaxValue": false, + "hasNoIdentityMaxValue": null, "isIdentityCycle": false }, { @@ -43982,9 +45457,9 @@ "identityStart": 0, "identityIncrement": 0, "identityMinimum": 0, - "hasNoIdentityMinValue": false, + "hasNoIdentityMinValue": null, "identityMaximum": 0, - "hasNoIdentityMaxValue": false, + "hasNoIdentityMaxValue": true, "isIdentityCycle": false } ], @@ -44101,7 +45576,7 @@ "hasOIDs": false, "fillFactor": -1, "oldName": "packages_scans", - "oid": 197207, + "oid": 15487513, "rows": 0, "isInheritTables": false, "cluster": "", @@ -44141,9 +45616,9 @@ "identityStart": 0, "identityIncrement": 0, "identityMinimum": 0, - "hasNoIdentityMinValue": false, + "hasNoIdentityMinValue": 0, "identityMaximum": 0, - "hasNoIdentityMaxValue": false, + "hasNoIdentityMaxValue": null, "isIdentityCycle": false }, { @@ -44201,9 +45676,9 @@ "identityStart": 0, "identityIncrement": 0, "identityMinimum": 0, - "hasNoIdentityMinValue": false, + "hasNoIdentityMinValue": null, "identityMaximum": 0, - "hasNoIdentityMaxValue": false, + "hasNoIdentityMaxValue": true, "isIdentityCycle": false } ], @@ -44299,7 +45774,7 @@ "hasOIDs": false, "fillFactor": -1, "oldName": "projects", - "oid": 197256, + "oid": 15487517, "rows": 0, "isInheritTables": false, "cluster": "", @@ -44369,9 +45844,9 @@ "identityStart": 0, "identityIncrement": 0, "identityMinimum": 0, - "hasNoIdentityMinValue": false, + "hasNoIdentityMinValue": null, "identityMaximum": 0, - "hasNoIdentityMaxValue": false, + "hasNoIdentityMaxValue": true, "isIdentityCycle": false }, { @@ -44399,9 +45874,9 @@ "identityStart": 0, "identityIncrement": 0, "identityMinimum": 0, - "hasNoIdentityMinValue": false, + "hasNoIdentityMinValue": 0, "identityMaximum": 0, - "hasNoIdentityMaxValue": false, + "hasNoIdentityMaxValue": null, "isIdentityCycle": false }, { @@ -44469,7 +45944,7 @@ "hasOIDs": false, "fillFactor": -1, "oldName": "relationship_types", - "oid": 197287, + "oid": 15487524, "rows": 30, "isInheritTables": false, "cluster": "", @@ -44509,9 +45984,9 @@ "identityStart": 0, "identityIncrement": 0, "identityMinimum": 0, - "hasNoIdentityMinValue": false, + "hasNoIdentityMinValue": null, "identityMaximum": 0, - "hasNoIdentityMaxValue": false, + "hasNoIdentityMaxValue": true, "isIdentityCycle": false }, { @@ -44539,9 +46014,9 @@ "identityStart": 0, "identityIncrement": 0, "identityMinimum": 0, - "hasNoIdentityMinValue": false, + "hasNoIdentityMinValue": 0, "identityMaximum": 0, - "hasNoIdentityMaxValue": false, + "hasNoIdentityMaxValue": null, "isIdentityCycle": false } ], @@ -44593,7 +46068,7 @@ "hasOIDs": false, "fillFactor": -1, "oldName": "relationships", - "oid": 197312, + "oid": 15487528, "rows": 0, "isInheritTables": false, "cluster": "", @@ -44635,7 +46110,7 @@ "identityMinimum": 0, "hasNoIdentityMinValue": false, "identityMaximum": 0, - "hasNoIdentityMaxValue": false, + "hasNoIdentityMaxValue": true, "isIdentityCycle": false }, { @@ -44663,7 +46138,7 @@ "identityStart": 0, "identityIncrement": 0, "identityMinimum": 0, - "hasNoIdentityMinValue": false, + "hasNoIdentityMinValue": null, "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false @@ -44873,7 +46348,7 @@ "hasOIDs": false, "fillFactor": -1, "oldName": "sbom_scans", - "oid": 197324, + "oid": 15487535, "rows": 0, "isInheritTables": false, "cluster": "", @@ -44913,7 +46388,7 @@ "identityStart": 0, "identityIncrement": 0, "identityMinimum": 0, - "hasNoIdentityMinValue": false, + "hasNoIdentityMinValue": 0, "identityMaximum": 0, "hasNoIdentityMaxValue": false, "isIdentityCycle": false @@ -44943,9 +46418,9 @@ "identityStart": 0, "identityIncrement": 0, "identityMinimum": 0, - "hasNoIdentityMinValue": false, + "hasNoIdentityMinValue": true, "identityMaximum": 0, - "hasNoIdentityMaxValue": false, + "hasNoIdentityMaxValue": true, "isIdentityCycle": false } ], @@ -44970,7 +46445,7 @@ "hasOIDs": false, "fillFactor": -1, "oldName": "scanners", - "oid": 197349, + "oid": 15487541, "rows": 0, "isInheritTables": false, "cluster": "", @@ -45094,7 +46569,7 @@ { "name": "Diagram 1", "paperWidth": 8, - "paperHeight": 5, + "paperHeight": 7, "tableFont": "Arial Unicode MS", "tableFontSize": 14, "isBalckWhite": false, @@ -45108,8 +46583,8 @@ "type": "table", "schemaName": "augur_data", "tableName": "analysis_log", - "x": 250, - "y": 7680, + "x": 1744, + "y": 2714, "width": 204, "height": 114, "isBold": false, @@ -45124,8 +46599,8 @@ "type": "table", "schemaName": "augur_data", "tableName": "chaoss_metric_status", - "x": 2740, - "y": 6130, + "x": 6530, + "y": 30, "width": 256, "height": 408, "isBold": false, @@ -45140,8 +46615,8 @@ "type": "table", "schemaName": "augur_data", "tableName": "commit_comment_ref", - "x": 7380, - "y": 1440, + "x": 3280, + "y": 4490, "width": 255, "height": 345, "isBold": false, @@ -45156,8 +46631,8 @@ "type": "table", "schemaName": "augur_data", "tableName": "commit_parents", - "x": 8010, - "y": 1390, + "x": 3600, + "y": 5020, "width": 230, "height": 177, "isBold": false, @@ -45172,8 +46647,8 @@ "type": "table", "schemaName": "augur_data", "tableName": "commits", - "x": 7690, - "y": 1170, + "x": 3580, + "y": 4350, "width": 270, "height": 618, "isBold": false, @@ -45188,8 +46663,8 @@ "type": "table", "schemaName": "augur_data", "tableName": "contributor_affiliations", - "x": 4930, - "y": 6130, + "x": 1249, + "y": 2704, "width": 236, "height": 261, "isBold": false, @@ -45204,8 +46679,8 @@ "type": "table", "schemaName": "augur_data", "tableName": "contributor_repo", - "x": 8270, - "y": 4620, + "x": 4230, + "y": 3780, "width": 230, "height": 303, "isBold": false, @@ -45220,10 +46695,10 @@ "type": "table", "schemaName": "augur_data", "tableName": "contributors", - "x": 8100, - "y": 3640, + "x": 4300, + "y": 2680, "width": 251, - "height": 870, + "height": 996, "isBold": false, "titleColor": { "r": 55, @@ -45236,8 +46711,8 @@ "type": "table", "schemaName": "augur_data", "tableName": "contributors_aliases", - "x": 8400, - "y": 3950, + "x": 4600, + "y": 3550, "width": 230, "height": 261, "isBold": false, @@ -45252,8 +46727,8 @@ "type": "table", "schemaName": "augur_data", "tableName": "contributors_history", - "x": 8290, - "y": 790, + "x": 4880, + "y": 3450, "width": 251, "height": 996, "isBold": false, @@ -45268,8 +46743,8 @@ "type": "table", "schemaName": "augur_data", "tableName": "discourse_insights", - "x": 530, - "y": 4930, + "x": 2850, + "y": 5570, "width": 239, "height": 198, "isBold": false, @@ -45284,8 +46759,8 @@ "type": "table", "schemaName": "augur_data", "tableName": "dm_repo_annual", - "x": 4310, - "y": 6130, + "x": 1819, + "y": 2235, "width": 230, "height": 324, "isBold": false, @@ -45300,8 +46775,8 @@ "type": "table", "schemaName": "augur_data", "tableName": "dm_repo_group_annual", - "x": 4610, - "y": 6130, + "x": 1821, + "y": 1853, "width": 247, "height": 324, "isBold": false, @@ -45316,8 +46791,8 @@ "type": "table", "schemaName": "augur_data", "tableName": "dm_repo_group_monthly", - "x": 3070, - "y": 6130, + "x": 1527, + "y": 1842, "width": 254, "height": 345, "isBold": false, @@ -45332,8 +46807,8 @@ "type": "table", "schemaName": "augur_data", "tableName": "dm_repo_group_weekly", - "x": 3390, - "y": 6130, + "x": 1244, + "y": 1833, "width": 248, "height": 345, "isBold": false, @@ -45348,8 +46823,8 @@ "type": "table", "schemaName": "augur_data", "tableName": "dm_repo_monthly", - "x": 3710, - "y": 6130, + "x": 1536, + "y": 2227, "width": 230, "height": 345, "isBold": false, @@ -45364,8 +46839,8 @@ "type": "table", "schemaName": "augur_data", "tableName": "dm_repo_weekly", - "x": 4010, - "y": 6130, + "x": 1240, + "y": 2195, "width": 230, "height": 345, "isBold": false, @@ -45380,8 +46855,8 @@ "type": "table", "schemaName": "augur_data", "tableName": "exclude", - "x": 7220, - "y": 6130, + "x": 1745, + "y": 2848, "width": 159, "height": 135, "isBold": false, @@ -45396,8 +46871,8 @@ "type": "table", "schemaName": "augur_data", "tableName": "issue_assignees", - "x": 7990, - "y": 4690, + "x": 4730, + "y": 2780, "width": 230, "height": 240, "isBold": false, @@ -45412,8 +46887,8 @@ "type": "table", "schemaName": "augur_data", "tableName": "issue_events", - "x": 7620, - "y": 5200, + "x": 4660, + "y": 3070, "width": 230, "height": 324, "isBold": false, @@ -45428,8 +46903,8 @@ "type": "table", "schemaName": "augur_data", "tableName": "issue_labels", - "x": 8180, - "y": 5220, + "x": 5350, + "y": 2820, "width": 230, "height": 282, "isBold": false, @@ -45444,10 +46919,10 @@ "type": "table", "schemaName": "augur_data", "tableName": "issue_message_ref", - "x": 7890, - "y": 5730, + "x": 4990, + "y": 4820, "width": 240, - "height": 240, + "height": 261, "isBold": false, "titleColor": { "r": 55, @@ -45460,8 +46935,8 @@ "type": "table", "schemaName": "augur_data", "tableName": "issues", - "x": 7900, - "y": 5040, + "x": 5070, + "y": 2640, "width": 230, "height": 639, "isBold": false, @@ -45476,8 +46951,8 @@ "type": "table", "schemaName": "augur_data", "tableName": "libraries", - "x": 1380, - "y": 630, + "x": 5240, + "y": 600, "width": 255, "height": 492, "isBold": false, @@ -45492,8 +46967,8 @@ "type": "table", "schemaName": "augur_data", "tableName": "library_dependencies", - "x": 1090, - "y": 740, + "x": 5250, + "y": 1150, "width": 233, "height": 261, "isBold": false, @@ -45508,8 +46983,8 @@ "type": "table", "schemaName": "augur_data", "tableName": "library_version", - "x": 1390, - "y": 340, + "x": 5550, + "y": 730, "width": 235, "height": 240, "isBold": false, @@ -45524,8 +46999,8 @@ "type": "table", "schemaName": "augur_data", "tableName": "lstm_anomaly_models", - "x": 1740, - "y": 770, + "x": 6200, + "y": 270, "width": 238, "height": 282, "isBold": false, @@ -45540,8 +47015,8 @@ "type": "table", "schemaName": "augur_data", "tableName": "lstm_anomaly_results", - "x": 2030, - "y": 730, + "x": 5900, + "y": 230, "width": 255, "height": 366, "isBold": false, @@ -45556,10 +47031,10 @@ "type": "table", "schemaName": "augur_data", "tableName": "message", - "x": 370, - "y": 5490, + "x": 3140, + "y": 5370, "width": 230, - "height": 303, + "height": 345, "isBold": false, "titleColor": { "r": 55, @@ -45572,8 +47047,8 @@ "type": "table", "schemaName": "augur_data", "tableName": "message_analysis", - "x": 290, - "y": 4600, + "x": 3140, + "y": 5760, "width": 230, "height": 282, "isBold": false, @@ -45588,8 +47063,8 @@ "type": "table", "schemaName": "augur_data", "tableName": "message_analysis_summary", - "x": 7430, - "y": 370, + "x": 370, + "y": 30, "width": 279, "height": 282, "isBold": false, @@ -45604,8 +47079,8 @@ "type": "table", "schemaName": "augur_data", "tableName": "message_sentiment", - "x": 30, - "y": 5500, + "x": 5260, + "y": 5400, "width": 230, "height": 282, "isBold": false, @@ -45620,8 +47095,8 @@ "type": "table", "schemaName": "augur_data", "tableName": "message_sentiment_summary", - "x": 7160, - "y": 30, + "x": 30, + "y": 470, "width": 290, "height": 282, "isBold": false, @@ -45636,8 +47111,8 @@ "type": "table", "schemaName": "augur_data", "tableName": "platform", - "x": 370, - "y": 5840, + "x": 5090, + "y": 5130, "width": 230, "height": 219, "isBold": false, @@ -45652,8 +47127,8 @@ "type": "table", "schemaName": "augur_data", "tableName": "pull_request_analysis", - "x": 6970, - "y": 1800, + "x": 4760, + "y": 1900, "width": 243, "height": 219, "isBold": false, @@ -45668,8 +47143,8 @@ "type": "table", "schemaName": "augur_data", "tableName": "pull_request_assignees", - "x": 7440, - "y": 2820, + "x": 3360, + "y": 2900, "width": 246, "height": 219, "isBold": false, @@ -45684,8 +47159,8 @@ "type": "table", "schemaName": "augur_data", "tableName": "pull_request_commits", - "x": 7290, - "y": 3210, + "x": 3610, + "y": 2530, "width": 235, "height": 324, "isBold": false, @@ -45700,8 +47175,8 @@ "type": "table", "schemaName": "augur_data", "tableName": "pull_request_events", - "x": 7740, - "y": 2650, + "x": 3720, + "y": 2900, "width": 230, "height": 324, "isBold": false, @@ -45716,8 +47191,8 @@ "type": "table", "schemaName": "augur_data", "tableName": "pull_request_files", - "x": 6680, - "y": 1780, + "x": 3550, + "y": 1550, "width": 230, "height": 240, "isBold": false, @@ -45732,8 +47207,8 @@ "type": "table", "schemaName": "augur_data", "tableName": "pull_request_labels", - "x": 6400, - "y": 1950, + "x": 3440, + "y": 1190, "width": 230, "height": 303, "isBold": false, @@ -45748,10 +47223,10 @@ "type": "table", "schemaName": "augur_data", "tableName": "pull_request_message_ref", - "x": 1300, - "y": 2880, + "x": 2940, + "y": 2010, "width": 263, - "height": 240, + "height": 261, "isBold": false, "titleColor": { "r": 55, @@ -45764,7 +47239,7 @@ "type": "table", "schemaName": "augur_data", "tableName": "pull_request_meta", - "x": 7740, + "x": 4480, "y": 1990, "width": 230, "height": 282, @@ -45780,8 +47255,8 @@ "type": "table", "schemaName": "augur_data", "tableName": "pull_request_repo", - "x": 8020, - "y": 1890, + "x": 4200, + "y": 1970, "width": 230, "height": 324, "isBold": false, @@ -45796,10 +47271,10 @@ "type": "table", "schemaName": "augur_data", "tableName": "pull_request_review_message_ref", - "x": 6300, - "y": 4480, + "x": 3220, + "y": 3730, "width": 311, - "height": 618, + "height": 639, "isBold": false, "titleColor": { "r": 55, @@ -45812,8 +47287,8 @@ "type": "table", "schemaName": "augur_data", "tableName": "pull_request_reviewers", - "x": 7830, - "y": 2373, + "x": 4000, + "y": 2900, "width": 243, "height": 219, "isBold": false, @@ -45828,8 +47303,8 @@ "type": "table", "schemaName": "augur_data", "tableName": "pull_request_reviews", - "x": 6660, - "y": 4170, + "x": 3220, + "y": 3300, "width": 249, "height": 387, "isBold": false, @@ -45844,8 +47319,8 @@ "type": "table", "schemaName": "augur_data", "tableName": "pull_request_teams", - "x": 6410, - "y": 2460, + "x": 3360, + "y": 670, "width": 244, "height": 408, "isBold": false, @@ -45860,8 +47335,8 @@ "type": "table", "schemaName": "augur_data", "tableName": "pull_requests", - "x": 6760, - "y": 2070, + "x": 3260, + "y": 1700, "width": 245, "height": 891, "isBold": false, @@ -45876,8 +47351,8 @@ "type": "table", "schemaName": "augur_data", "tableName": "releases", - "x": 6880, - "y": 280, + "x": 190, + "y": 5970, "width": 234, "height": 408, "isBold": false, @@ -45892,8 +47367,8 @@ "type": "table", "schemaName": "augur_data", "tableName": "repo", - "x": 7230, - "y": 700, + "x": 370, + "y": 360, "width": 289, "height": 492, "isBold": false, @@ -45908,8 +47383,8 @@ "type": "table", "schemaName": "augur_data", "tableName": "repo_badging", - "x": 6540, - "y": 500, + "x": 480, + "y": 5970, "width": 230, "height": 219, "isBold": false, @@ -45924,8 +47399,8 @@ "type": "table", "schemaName": "augur_data", "tableName": "repo_cluster_messages", - "x": 6180, - "y": 530, + "x": 450, + "y": 5640, "width": 248, "height": 219, "isBold": false, @@ -45940,8 +47415,8 @@ "type": "table", "schemaName": "augur_data", "tableName": "repo_dependencies", - "x": 5830, - "y": 530, + "x": 470, + "y": 5290, "width": 230, "height": 240, "isBold": false, @@ -45956,8 +47431,8 @@ "type": "table", "schemaName": "augur_data", "tableName": "repo_deps_scorecard", - "x": 5490, - "y": 560, + "x": 480, + "y": 4930, "width": 234, "height": 240, "isBold": false, @@ -45972,8 +47447,8 @@ "type": "table", "schemaName": "augur_data", "tableName": "repo_group_insights", - "x": 810, - "y": 860, + "x": 1990, + "y": 5280, "width": 230, "height": 261, "isBold": false, @@ -45988,8 +47463,8 @@ "type": "table", "schemaName": "augur_data", "tableName": "repo_groups", - "x": 890, - "y": 5170, + "x": 2270, + "y": 5270, "width": 230, "height": 282, "isBold": false, @@ -46004,8 +47479,8 @@ "type": "table", "schemaName": "augur_data", "tableName": "repo_groups_list_serve", - "x": 600, - "y": 5180, + "x": 2550, + "y": 5280, "width": 244, "height": 261, "isBold": false, @@ -46020,8 +47495,8 @@ "type": "table", "schemaName": "augur_data", "tableName": "repo_info", - "x": 5130, - "y": 40, + "x": 500, + "y": 4040, "width": 251, "height": 786, "isBold": false, @@ -46036,8 +47511,8 @@ "type": "table", "schemaName": "augur_data", "tableName": "repo_insights", - "x": 4790, - "y": 530, + "x": 510, + "y": 3600, "width": 230, "height": 324, "isBold": false, @@ -46052,8 +47527,8 @@ "type": "table", "schemaName": "augur_data", "tableName": "repo_insights_records", - "x": 4440, - "y": 570, + "x": 520, + "y": 3190, "width": 237, "height": 303, "isBold": false, @@ -46068,8 +47543,8 @@ "type": "table", "schemaName": "augur_data", "tableName": "repo_labor", - "x": 4090, - "y": 500, + "x": 540, + "y": 2670, "width": 245, "height": 408, "isBold": false, @@ -46084,8 +47559,8 @@ "type": "table", "schemaName": "augur_data", "tableName": "repo_meta", - "x": 3750, - "y": 710, + "x": 550, + "y": 2330, "width": 230, "height": 219, "isBold": false, @@ -46100,8 +47575,8 @@ "type": "table", "schemaName": "augur_data", "tableName": "repo_sbom_scans", - "x": 3420, - "y": 840, + "x": 570, + "y": 2110, "width": 213, "height": 114, "isBold": false, @@ -46116,8 +47591,8 @@ "type": "table", "schemaName": "augur_data", "tableName": "repo_stats", - "x": 3080, - "y": 790, + "x": 580, + "y": 1780, "width": 230, "height": 219, "isBold": false, @@ -46132,8 +47607,8 @@ "type": "table", "schemaName": "augur_data", "tableName": "repo_test_coverage", - "x": 2740, - "y": 670, + "x": 590, + "y": 1300, "width": 230, "height": 366, "isBold": false, @@ -46148,8 +47623,8 @@ "type": "table", "schemaName": "augur_data", "tableName": "repo_topic", - "x": 2400, - "y": 850, + "x": 610, + "y": 970, "width": 230, "height": 219, "isBold": false, @@ -46164,8 +47639,8 @@ "type": "table", "schemaName": "augur_data", "tableName": "repos_fetch_log", - "x": 520, - "y": 7680, + "x": 1937, + "y": 2876, "width": 198, "height": 114, "isBold": false, @@ -46180,8 +47655,8 @@ "type": "table", "schemaName": "augur_data", "tableName": "settings", - "x": 7450, - "y": 6130, + "x": 1956, + "y": 2716, "width": 191, "height": 135, "isBold": false, @@ -46196,8 +47671,8 @@ "type": "table", "schemaName": "augur_data", "tableName": "topic_words", - "x": 6080, - "y": 6130, + "x": 7480, + "y": 30, "width": 230, "height": 219, "isBold": false, @@ -46212,8 +47687,8 @@ "type": "table", "schemaName": "augur_data", "tableName": "unknown_cache", - "x": 5500, - "y": 6130, + "x": 1501, + "y": 2710, "width": 230, "height": 240, "isBold": false, @@ -46228,8 +47703,8 @@ "type": "table", "schemaName": "augur_data", "tableName": "utility_log", - "x": 7710, - "y": 6130, + "x": 1248, + "y": 2979, "width": 175, "height": 135, "isBold": false, @@ -46244,8 +47719,8 @@ "type": "table", "schemaName": "augur_data", "tableName": "working_commits", - "x": 1100, - "y": 7680, + "x": 1511, + "y": 2991, "width": 208, "height": 93, "isBold": false, @@ -46260,8 +47735,8 @@ "type": "table", "schemaName": "augur_operations", "tableName": "all", - "x": 5230, - "y": 6130, + "x": 5979, + "y": 897, "width": 201, "height": 261, "isBold": false, @@ -46276,8 +47751,8 @@ "type": "table", "schemaName": "augur_operations", "tableName": "augur_settings", - "x": 7950, - "y": 6130, + "x": 5994, + "y": 735, "width": 230, "height": 135, "isBold": false, @@ -46292,8 +47767,8 @@ "type": "table", "schemaName": "augur_operations", "tableName": "repos_fetch_log", - "x": 790, - "y": 7680, + "x": 6230, + "y": 978, "width": 237, "height": 114, "isBold": false, @@ -46308,8 +47783,8 @@ "type": "table", "schemaName": "augur_operations", "tableName": "worker_history", - "x": 6380, - "y": 6130, + "x": 6255, + "y": 1241, "width": 229, "height": 219, "isBold": false, @@ -46324,8 +47799,8 @@ "type": "table", "schemaName": "augur_operations", "tableName": "worker_job", - "x": 5800, - "y": 6130, + "x": 5992, + "y": 1189, "width": 206, "height": 240, "isBold": false, @@ -46340,8 +47815,8 @@ "type": "table", "schemaName": "augur_operations", "tableName": "worker_oauth", - "x": 6680, - "y": 6130, + "x": 6271, + "y": 736, "width": 231, "height": 219, "isBold": false, @@ -46356,8 +47831,8 @@ "type": "table", "schemaName": "augur_operations", "tableName": "worker_settings_facade", - "x": 8250, - "y": 6130, + "x": 7780, + "y": 30, "width": 285, "height": 135, "isBold": false, @@ -46372,8 +47847,8 @@ "type": "table", "schemaName": "augur_operations", "tableName": "working_commits", - "x": 1380, - "y": 7680, + "x": 6241, + "y": 1116, "width": 246, "height": 93, "isBold": false, @@ -46388,8 +47863,8 @@ "type": "table", "schemaName": "spdx", "tableName": "annotation_types", - "x": 2500, - "y": 6450, + "x": 1940, + "y": 7970, "width": 171, "height": 93, "isBold": false, @@ -46404,8 +47879,8 @@ "type": "table", "schemaName": "spdx", "tableName": "annotations", - "x": 2260, - "y": 6400, + "x": 1940, + "y": 7720, "width": 186, "height": 198, "isBold": false, @@ -46420,8 +47895,8 @@ "type": "table", "schemaName": "spdx", "tableName": "augur_repo_map", - "x": 6980, - "y": 6130, + "x": 578, + "y": 6320, "width": 170, "height": 156, "isBold": false, @@ -46436,8 +47911,8 @@ "type": "table", "schemaName": "spdx", "tableName": "creator_types", - "x": 2470, - "y": 6670, + "x": 540, + "y": 7570, "width": 152, "height": 93, "isBold": false, @@ -46452,8 +47927,8 @@ "type": "table", "schemaName": "spdx", "tableName": "creators", - "x": 2280, - "y": 6640, + "x": 740, + "y": 7540, "width": 152, "height": 135, "isBold": false, @@ -46468,8 +47943,8 @@ "type": "table", "schemaName": "spdx", "tableName": "document_namespaces", - "x": 1170, - "y": 6230, + "x": 2250, + "y": 7270, "width": 208, "height": 93, "isBold": false, @@ -46484,8 +47959,8 @@ "type": "table", "schemaName": "spdx", "tableName": "documents", - "x": 1250, - "y": 6430, + "x": 1920, + "y": 7410, "width": 222, "height": 261, "isBold": false, @@ -46500,8 +47975,8 @@ "type": "table", "schemaName": "spdx", "tableName": "documents_creators", - "x": 2050, - "y": 6650, + "x": 950, + "y": 7550, "width": 186, "height": 114, "isBold": false, @@ -46516,8 +47991,8 @@ "type": "table", "schemaName": "spdx", "tableName": "external_refs", - "x": 1420, - "y": 6180, + "x": 2250, + "y": 7410, "width": 207, "height": 156, "isBold": false, @@ -46532,8 +48007,8 @@ "type": "table", "schemaName": "spdx", "tableName": "file_contributors", - "x": 1130, - "y": 7390, + "x": 2010, + "y": 6430, "width": 164, "height": 114, "isBold": false, @@ -46548,8 +48023,8 @@ "type": "table", "schemaName": "spdx", "tableName": "file_types", - "x": 1690, - "y": 7680, + "x": 1740, + "y": 7970, "width": 150, "height": 93, "isBold": false, @@ -46564,8 +48039,8 @@ "type": "table", "schemaName": "spdx", "tableName": "files", - "x": 1140, - "y": 7150, + "x": 2020, + "y": 6590, "width": 152, "height": 198, "isBold": false, @@ -46580,8 +48055,8 @@ "type": "table", "schemaName": "spdx", "tableName": "files_licenses", - "x": 1170, - "y": 6960, + "x": 2020, + "y": 6840, "width": 150, "height": 135, "isBold": false, @@ -46596,8 +48071,8 @@ "type": "table", "schemaName": "spdx", "tableName": "files_scans", - "x": 1340, - "y": 7180, + "x": 1820, + "y": 6680, "width": 150, "height": 114, "isBold": false, @@ -46612,8 +48087,8 @@ "type": "table", "schemaName": "spdx", "tableName": "identifiers", - "x": 540, - "y": 7010, + "x": 2720, + "y": 7490, "width": 207, "height": 177, "isBold": false, @@ -46628,8 +48103,8 @@ "type": "table", "schemaName": "spdx", "tableName": "licenses", - "x": 1200, - "y": 6740, + "x": 2000, + "y": 7090, "width": 182, "height": 177, "isBold": false, @@ -46644,8 +48119,8 @@ "type": "table", "schemaName": "spdx", "tableName": "packages", - "x": 1930, - "y": 6950, + "x": 1080, + "y": 6710, "width": 210, "height": 471, "isBold": false, @@ -46660,8 +48135,8 @@ "type": "table", "schemaName": "spdx", "tableName": "packages_files", - "x": 910, - "y": 7090, + "x": 2280, + "y": 6700, "width": 184, "height": 177, "isBold": false, @@ -46676,8 +48151,8 @@ "type": "table", "schemaName": "spdx", "tableName": "packages_scans", - "x": 1730, - "y": 7180, + "x": 1410, + "y": 6690, "width": 163, "height": 114, "isBold": false, @@ -46692,8 +48167,8 @@ "type": "table", "schemaName": "spdx", "tableName": "projects", - "x": 30, - "y": 7680, + "x": 1540, + "y": 7950, "width": 150, "height": 135, "isBold": false, @@ -46708,8 +48183,8 @@ "type": "table", "schemaName": "spdx", "tableName": "relationship_types", - "x": 30, - "y": 7050, + "x": 2640, + "y": 7130, "width": 176, "height": 93, "isBold": false, @@ -46724,8 +48199,8 @@ "type": "table", "schemaName": "spdx", "tableName": "relationships", - "x": 260, - "y": 7020, + "x": 2640, + "y": 7280, "width": 187, "height": 156, "isBold": false, @@ -46740,8 +48215,8 @@ "type": "table", "schemaName": "spdx", "tableName": "sbom_scans", - "x": 1910, - "y": 7680, + "x": 1340, + "y": 7970, "width": 150, "height": 93, "isBold": false, @@ -46756,8 +48231,8 @@ "type": "table", "schemaName": "spdx", "tableName": "scanners", - "x": 1530, - "y": 7200, + "x": 1620, + "y": 6700, "width": 150, "height": 93, "isBold": false, @@ -46769,7 +48244,71 @@ } } ], - "layers": [], + "layers": [ + { + "name": "SPDX", + "x": 480, + "y": 6250, + "width": 2493, + "height": 1894, + "layerColor": { + "r": 100, + "g": 234, + "b": 136, + "a": 1 + }, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + } + }, + { + "name": "Facade (Commit) Data Mart Tables", + "x": 1208, + "y": 1783, + "width": 992, + "height": 818, + "layerColor": { + "r": 100, + "g": 234, + "b": 136, + "a": 1 + }, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + } + }, + { + "name": "Facade Worker Operational Tables", + "x": 1213, + "y": 2632, + "width": 972, + "height": 556, + "layerColor": { + "r": 100, + "g": 234, + "b": 136, + "a": 1 + }, + "fontName": "Arial Unicode MS", + "fontSize": 14, + "fontColor": { + "r": 51, + "g": 51, + "b": 51, + "a": 1 + } + } + ], "relations": [ { "name": "fk_commit_comment_ref_commits_1", @@ -46779,17 +48318,17 @@ "visible": true, "vertices": [ { - "x": 7650, - "y": 1470 + "x": 3550, + "y": 4660 }, { - "x": 7675, - "y": 1470 + "x": 3565, + "y": 4660 } ], "label": { - "x": 7646, - "y": 1472, + "x": 3546, + "y": 4662, "width": 233, "height": 31, "fontName": "Arial Unicode MS", @@ -46813,17 +48352,17 @@ "visible": true, "vertices": [ { - "x": 7995, - "y": 1485 + "x": 3735, + "y": 5005 }, { - "x": 7975, - "y": 1485 + "x": 3735, + "y": 4983 } ], "label": { - "x": 8011, - "y": 1487, + "x": 3743, + "y": 5015, "width": 199, "height": 31, "fontName": "Arial Unicode MS", @@ -46847,17 +48386,17 @@ "visible": true, "vertices": [ { - "x": 7995, - "y": 1455 + "x": 3705, + "y": 5005 }, { - "x": 7975, - "y": 1455 + "x": 3705, + "y": 4983 } ], "label": { - "x": 8011, - "y": 1457, + "x": 3713, + "y": 5015, "width": 199, "height": 31, "fontName": "Arial Unicode MS", @@ -46881,25 +48420,21 @@ "visible": true, "vertices": [ { - "x": 7935, - "y": 1803 - }, - { - "x": 7935, - "y": 1825 + "x": 3735, + "y": 4335 }, { - "x": 8315, - "y": 1825 + "x": 3735, + "y": 3575 }, { - "x": 8315, - "y": 3625 + "x": 4285, + "y": 3575 } ], "label": { - "x": 7943, - "y": 1798, + "x": 3743, + "y": 4350, "width": 173, "height": 31, "fontName": "Arial Unicode MS", @@ -46923,25 +48458,21 @@ "visible": true, "vertices": [ { - "x": 7905, - "y": 1803 + "x": 3705, + "y": 4335 }, { - "x": 7905, - "y": 1855 + "x": 3705, + "y": 3545 }, { - "x": 8285, - "y": 1855 - }, - { - "x": 8285, - "y": 3625 + "x": 4285, + "y": 3545 } ], "label": { - "x": 7913, - "y": 1798, + "x": 3713, + "y": 4350, "width": 173, "height": 31, "fontName": "Arial Unicode MS", @@ -46965,17 +48496,17 @@ "visible": true, "vertices": [ { - "x": 8310, - "y": 4605 + "x": 4340, + "y": 3765 }, { - "x": 8310, - "y": 4525 + "x": 4340, + "y": 3691 } ], "label": { - "x": 8318, - "y": 4615, + "x": 4348, + "y": 3775, "width": 222, "height": 31, "fontName": "Arial Unicode MS", @@ -46999,17 +48530,17 @@ "visible": true, "vertices": [ { - "x": 8385, - "y": 4095 + "x": 4585, + "y": 3645 }, { - "x": 8366, - "y": 4095 + "x": 4566, + "y": 3645 } ], "label": { - "x": 8401, - "y": 4097, + "x": 4601, + "y": 3647, "width": 73, "height": 31, "fontName": "Arial Unicode MS", @@ -47033,17 +48564,17 @@ "visible": true, "vertices": [ { - "x": 8385, - "y": 4065 + "x": 4585, + "y": 3615 }, { - "x": 8366, - "y": 4065 + "x": 4566, + "y": 3615 } ], "label": { - "x": 8401, - "y": 4067, + "x": 4601, + "y": 3617, "width": 245, "height": 31, "fontName": "Arial Unicode MS", @@ -47067,17 +48598,17 @@ "visible": true, "vertices": [ { - "x": 8330, - "y": 1801 + "x": 4865, + "y": 3490 }, { - "x": 8330, - "y": 3625 + "x": 4566, + "y": 3490 } ], "label": { - "x": 8338, - "y": 1791, + "x": 4881, + "y": 3492, "width": 243, "height": 31, "fontName": "Arial Unicode MS", @@ -47101,21 +48632,17 @@ "visible": true, "vertices": [ { - "x": 8040, - "y": 4675 - }, - { - "x": 8040, - "y": 4470 + "x": 4715, + "y": 2900 }, { - "x": 8085, - "y": 4470 + "x": 4566, + "y": 2900 } ], "label": { - "x": 8048, - "y": 4685, + "x": 4731, + "y": 2902, "width": 224, "height": 31, "fontName": "Arial Unicode MS", @@ -47139,21 +48666,17 @@ "visible": true, "vertices": [ { - "x": 7730, - "y": 5185 + "x": 4645, + "y": 3230 }, { - "x": 7730, - "y": 4340 - }, - { - "x": 8085, - "y": 4340 + "x": 4566, + "y": 3230 } ], "label": { - "x": 7738, - "y": 5195, + "x": 4661, + "y": 3232, "width": 202, "height": 31, "fontName": "Arial Unicode MS", @@ -47177,25 +48700,17 @@ "visible": true, "vertices": [ { - "x": 8030, - "y": 4945 - }, - { - "x": 8030, - "y": 4980 + "x": 4975, + "y": 2900 }, { - "x": 8020, - "y": 4980 - }, - { - "x": 8020, - "y": 5025 + "x": 5055, + "y": 2900 } ], "label": { - "x": 8038, - "y": 4935, + "x": 4971, + "y": 2902, "width": 191, "height": 31, "fontName": "Arial Unicode MS", @@ -47219,17 +48734,17 @@ "visible": true, "vertices": [ { - "x": 7865, - "y": 5360 + "x": 4905, + "y": 3230 }, { - "x": 7885, - "y": 5360 + "x": 5055, + "y": 3230 } ], "label": { - "x": 7861, - "y": 5362, + "x": 4901, + "y": 3232, "width": 169, "height": 31, "fontName": "Arial Unicode MS", @@ -47253,17 +48768,17 @@ "visible": true, "vertices": [ { - "x": 8165, - "y": 5360 + "x": 5335, + "y": 2960 }, { - "x": 8145, - "y": 5360 + "x": 5315, + "y": 2960 } ], "label": { - "x": 8181, - "y": 5362, + "x": 5351, + "y": 2962, "width": 164, "height": 31, "fontName": "Arial Unicode MS", @@ -47287,17 +48802,17 @@ "visible": true, "vertices": [ { - "x": 8010, - "y": 5715 + "x": 5190, + "y": 4805 }, { - "x": 8010, - "y": 5694 + "x": 5190, + "y": 3294 } ], "label": { - "x": 8018, - "y": 5725, + "x": 5198, + "y": 4815, "width": 208, "height": 31, "fontName": "Arial Unicode MS", @@ -47321,21 +48836,17 @@ "visible": true, "vertices": [ { - "x": 7945, - "y": 5025 - }, - { - "x": 7945, - "y": 4425 + "x": 5055, + "y": 2735 }, { - "x": 8085, - "y": 4425 + "x": 4566, + "y": 2735 } ], "label": { - "x": 7953, - "y": 5035, + "x": 5071, + "y": 2737, "width": 161, "height": 31, "fontName": "Arial Unicode MS", @@ -47359,21 +48870,17 @@ "visible": true, "vertices": [ { - "x": 7915, - "y": 5025 + "x": 5055, + "y": 2705 }, { - "x": 7915, - "y": 4395 - }, - { - "x": 8085, - "y": 4395 + "x": 4566, + "y": 2705 } ], "label": { - "x": 7923, - "y": 5035, + "x": 5071, + "y": 2707, "width": 161, "height": 31, "fontName": "Arial Unicode MS", @@ -47397,17 +48904,17 @@ "visible": true, "vertices": [ { - "x": 1338, - "y": 870 + "x": 5370, + "y": 1135 }, { - "x": 1365, - "y": 870 + "x": 5370, + "y": 1107 } ], "label": { - "x": 1334, - "y": 872, + "x": 5378, + "y": 1145, "width": 229, "height": 31, "fontName": "Arial Unicode MS", @@ -47431,17 +48938,17 @@ "visible": true, "vertices": [ { - "x": 1510, - "y": 595 + "x": 5535, + "y": 850 }, { - "x": 1510, - "y": 615 + "x": 5510, + "y": 850 } ], "label": { - "x": 1518, - "y": 585, + "x": 5551, + "y": 852, "width": 187, "height": 31, "fontName": "Arial Unicode MS", @@ -47465,17 +48972,17 @@ "visible": true, "vertices": [ { - "x": 2015, - "y": 910 + "x": 6170, + "y": 410 }, { - "x": 1993, - "y": 910 + "x": 6185, + "y": 410 } ], "label": { - "x": 2031, - "y": 912, + "x": 6166, + "y": 412, "width": 320, "height": 31, "fontName": "Arial Unicode MS", @@ -47499,25 +49006,25 @@ "visible": true, "vertices": [ { - "x": 7365, - "y": 1720 + "x": 3320, + "y": 4850 }, { - "x": 1180, - "y": 1720 + "x": 3320, + "y": 5190 }, { - "x": 1180, - "y": 5510 + "x": 3270, + "y": 5190 }, { - "x": 615, - "y": 5510 + "x": 3270, + "y": 5355 } ], "label": { - "x": 7381, - "y": 1722, + "x": 3328, + "y": 4840, "width": 238, "height": 31, "fontName": "Arial Unicode MS", @@ -47541,21 +49048,17 @@ "visible": true, "vertices": [ { - "x": 515, - "y": 5030 - }, - { - "x": 480, - "y": 5030 + "x": 3104, + "y": 5670 }, { - "x": 480, - "y": 5475 + "x": 3125, + "y": 5670 } ], "label": { - "x": 531, - "y": 5032, + "x": 3100, + "y": 5672, "width": 219, "height": 31, "fontName": "Arial Unicode MS", @@ -47579,17 +49082,25 @@ "visible": true, "vertices": [ { - "x": 7875, - "y": 5770 + "x": 5040, + "y": 5096 + }, + { + "x": 5040, + "y": 5310 + }, + { + "x": 3340, + "y": 5310 }, { - "x": 615, - "y": 5770 + "x": 3340, + "y": 5355 } ], "label": { - "x": 7891, - "y": 5772, + "x": 5048, + "y": 5086, "width": 225, "height": 31, "fontName": "Arial Unicode MS", @@ -47613,25 +49124,29 @@ "visible": true, "vertices": [ { - "x": 615, - "y": 5630 + "x": 3300, + "y": 5355 + }, + { + "x": 3300, + "y": 5250 }, { - "x": 6960, - "y": 5630 + "x": 3910, + "y": 5250 }, { - "x": 6960, - "y": 4270 + "x": 3910, + "y": 3630 }, { - "x": 8085, - "y": 4270 + "x": 4285, + "y": 3630 } ], "label": { - "x": 611, - "y": 5632, + "x": 3308, + "y": 5365, "width": 178, "height": 31, "fontName": "Arial Unicode MS", @@ -47655,17 +49170,17 @@ "visible": true, "vertices": [ { - "x": 410, - "y": 4897 + "x": 3250, + "y": 5745 }, { - "x": 410, - "y": 5475 + "x": 3250, + "y": 5730 } ], "label": { - "x": 418, - "y": 4887, + "x": 3258, + "y": 5755, "width": 219, "height": 31, "fontName": "Arial Unicode MS", @@ -47689,17 +49204,17 @@ "visible": true, "vertices": [ { - "x": 275, - "y": 5640 + "x": 5245, + "y": 5540 }, { - "x": 355, - "y": 5640 + "x": 3385, + "y": 5540 } ], "label": { - "x": 271, - "y": 5642, + "x": 5261, + "y": 5542, "width": 229, "height": 31, "fontName": "Arial Unicode MS", @@ -47723,17 +49238,21 @@ "visible": true, "vertices": [ { - "x": 480, - "y": 5808 + "x": 3385, + "y": 5410 }, { - "x": 480, - "y": 5825 + "x": 5210, + "y": 5410 + }, + { + "x": 5210, + "y": 5364 } ], "label": { - "x": 488, - "y": 5798, + "x": 3381, + "y": 5412, "width": 156, "height": 31, "fontName": "Arial Unicode MS", @@ -47757,25 +49276,21 @@ "visible": true, "vertices": [ { - "x": 7650, - "y": 3054 + "x": 3520, + "y": 3134 }, { - "x": 7650, - "y": 3090 + "x": 3520, + "y": 3420 }, { - "x": 8170, - "y": 3090 - }, - { - "x": 8170, - "y": 3625 + "x": 4285, + "y": 3420 } ], "label": { - "x": 7658, - "y": 3044, + "x": 3528, + "y": 3124, "width": 267, "height": 31, "fontName": "Arial Unicode MS", @@ -47799,25 +49314,21 @@ "visible": true, "vertices": [ { - "x": 7490, - "y": 3549 - }, - { - "x": 7490, - "y": 3590 + "x": 3660, + "y": 2869 }, { - "x": 8120, - "y": 3590 + "x": 3660, + "y": 3350 }, { - "x": 8120, - "y": 3625 + "x": 4285, + "y": 3350 } ], "label": { - "x": 7498, - "y": 3539, + "x": 3668, + "y": 2859, "width": 147, "height": 31, "fontName": "Arial Unicode MS", @@ -47841,25 +49352,21 @@ "visible": true, "vertices": [ { - "x": 7930, - "y": 2989 + "x": 3830, + "y": 3239 }, { - "x": 7930, - "y": 3030 + "x": 3830, + "y": 3280 }, { - "x": 8200, - "y": 3030 - }, - { - "x": 8200, - "y": 3625 + "x": 4285, + "y": 3280 } ], "label": { - "x": 7938, - "y": 2979, + "x": 3838, + "y": 3229, "width": 245, "height": 31, "fontName": "Arial Unicode MS", @@ -47883,25 +49390,17 @@ "visible": true, "vertices": [ { - "x": 1285, - "y": 3080 - }, - { - "x": 1240, - "y": 3080 - }, - { - "x": 1240, - "y": 5550 + "x": 3160, + "y": 2286 }, { - "x": 615, - "y": 5550 + "x": 3160, + "y": 5355 } ], "label": { - "x": 1301, - "y": 3082, + "x": 3168, + "y": 2276, "width": 268, "height": 31, "fontName": "Arial Unicode MS", @@ -47925,24 +49424,16 @@ "visible": true, "vertices": [ { - "x": 7930, + "x": 4520, "y": 2287 }, { - "x": 7930, - "y": 2330 - }, - { - "x": 8250, - "y": 2330 - }, - { - "x": 8250, - "y": 3625 + "x": 4520, + "y": 2665 } ], "label": { - "x": 7938, + "x": 4528, "y": 2277, "width": 235, "height": 31, @@ -47967,25 +49458,17 @@ "visible": true, "vertices": [ { - "x": 8210, - "y": 2229 - }, - { - "x": 8210, - "y": 2270 - }, - { - "x": 8280, - "y": 2270 + "x": 4350, + "y": 2309 }, { - "x": 8280, - "y": 3625 + "x": 4350, + "y": 2665 } ], "label": { - "x": 8218, - "y": 2219, + "x": 4358, + "y": 2299, "width": 232, "height": 31, "fontName": "Arial Unicode MS", @@ -48009,17 +49492,17 @@ "visible": true, "vertices": [ { - "x": 8005, - "y": 2140 + "x": 4445, + "y": 2130 }, { - "x": 7985, - "y": 2140 + "x": 4465, + "y": 2130 } ], "label": { - "x": 8021, - "y": 2142, + "x": 4441, + "y": 2132, "width": 272, "height": 31, "fontName": "Arial Unicode MS", @@ -48043,25 +49526,25 @@ "visible": true, "vertices": [ { - "x": 6285, - "y": 5060 + "x": 3260, + "y": 4384 }, { - "x": 6240, - "y": 5060 + "x": 3260, + "y": 4430 }, { - "x": 6240, - "y": 5590 + "x": 3220, + "y": 4430 }, { - "x": 615, - "y": 5590 + "x": 3220, + "y": 5355 } ], "label": { - "x": 6301, - "y": 5062, + "x": 3268, + "y": 4374, "width": 315, "height": 31, "fontName": "Arial Unicode MS", @@ -48085,25 +49568,21 @@ "visible": true, "vertices": [ { - "x": 8030, - "y": 2607 + "x": 4120, + "y": 3134 }, { - "x": 8030, - "y": 2970 + "x": 4120, + "y": 3170 }, { - "x": 8220, - "y": 2970 - }, - { - "x": 8220, - "y": 3625 + "x": 4285, + "y": 3170 } ], "label": { - "x": 8038, - "y": 2597, + "x": 4128, + "y": 3124, "width": 264, "height": 31, "fontName": "Arial Unicode MS", @@ -48127,17 +49606,17 @@ "visible": true, "vertices": [ { - "x": 6626, - "y": 4510 + "x": 3370, + "y": 3715 }, { - "x": 6645, - "y": 4510 + "x": 3370, + "y": 3702 } ], "label": { - "x": 6622, - "y": 4517, + "x": 3378, + "y": 3730, "width": 388, "height": 31, "fontName": "Arial Unicode MS", @@ -48161,17 +49640,17 @@ "visible": true, "vertices": [ { - "x": 6924, - "y": 4210 + "x": 3484, + "y": 3490 }, { - "x": 8085, - "y": 4210 + "x": 4285, + "y": 3490 } ], "label": { - "x": 6920, - "y": 4212, + "x": 3480, + "y": 3492, "width": 251, "height": 31, "fontName": "Arial Unicode MS", @@ -48195,21 +49674,21 @@ "visible": true, "vertices": [ { - "x": 7090, - "y": 2034 + "x": 4880, + "y": 1885 }, { - "x": 7090, - "y": 2100 + "x": 4880, + "y": 1840 }, { - "x": 7020, - "y": 2100 + "x": 3520, + "y": 1840 } ], "label": { - "x": 7098, - "y": 2024, + "x": 4888, + "y": 1895, "width": 264, "height": 31, "fontName": "Arial Unicode MS", @@ -48233,21 +49712,21 @@ "visible": true, "vertices": [ { - "x": 7570, - "y": 2805 + "x": 3560, + "y": 2885 }, { - "x": 7570, - "y": 2770 + "x": 3560, + "y": 2540 }, { - "x": 7020, - "y": 2770 + "x": 3520, + "y": 2540 } ], "label": { - "x": 7578, - "y": 2815, + "x": 3568, + "y": 2895, "width": 276, "height": 31, "fontName": "Arial Unicode MS", @@ -48271,21 +49750,21 @@ "visible": true, "vertices": [ { - "x": 7330, - "y": 3195 + "x": 3730, + "y": 2515 }, { - "x": 7330, - "y": 2920 + "x": 3730, + "y": 2470 }, { - "x": 7020, - "y": 2920 + "x": 3520, + "y": 2470 } ], "label": { - "x": 7338, - "y": 3205, + "x": 3738, + "y": 2525, "width": 265, "height": 31, "fontName": "Arial Unicode MS", @@ -48309,21 +49788,21 @@ "visible": true, "vertices": [ { - "x": 7770, - "y": 2635 + "x": 3900, + "y": 2885 }, { - "x": 7770, - "y": 2600 + "x": 3900, + "y": 2400 }, { - "x": 7020, - "y": 2600 + "x": 3520, + "y": 2400 } ], "label": { - "x": 7778, - "y": 2645, + "x": 3908, + "y": 2895, "width": 254, "height": 31, "fontName": "Arial Unicode MS", @@ -48347,17 +49826,17 @@ "visible": true, "vertices": [ { - "x": 6800, - "y": 2035 + "x": 3535, + "y": 1740 }, { - "x": 6800, - "y": 2055 + "x": 3520, + "y": 1740 } ], "label": { - "x": 6808, - "y": 2025, + "x": 3551, + "y": 1742, "width": 265, "height": 31, "fontName": "Arial Unicode MS", @@ -48381,17 +49860,25 @@ "visible": true, "vertices": [ { - "x": 6645, - "y": 2100 + "x": 3490, + "y": 1508 + }, + { + "x": 3490, + "y": 1550 + }, + { + "x": 3460, + "y": 1550 }, { - "x": 6745, - "y": 2100 + "x": 3460, + "y": 1685 } ], "label": { - "x": 6641, - "y": 2102, + "x": 3498, + "y": 1498, "width": 250, "height": 31, "fontName": "Arial Unicode MS", @@ -48415,17 +49902,17 @@ "visible": true, "vertices": [ { - "x": 1578, - "y": 2920 + "x": 3218, + "y": 2140 }, { - "x": 6745, - "y": 2920 + "x": 3245, + "y": 2140 } ], "label": { - "x": 1574, - "y": 2922, + "x": 3214, + "y": 2142, "width": 293, "height": 31, "fontName": "Arial Unicode MS", @@ -48449,17 +49936,21 @@ "visible": true, "vertices": [ { - "x": 7725, - "y": 2240 + "x": 4590, + "y": 1975 + }, + { + "x": 4590, + "y": 1910 }, { - "x": 7020, - "y": 2240 + "x": 3520, + "y": 1910 } ], "label": { - "x": 7741, - "y": 2242, + "x": 4598, + "y": 1985, "width": 244, "height": 31, "fontName": "Arial Unicode MS", @@ -48483,21 +49974,21 @@ "visible": true, "vertices": [ { - "x": 7870, - "y": 2358 + "x": 4080, + "y": 2885 }, { - "x": 7870, + "x": 4080, "y": 2330 }, { - "x": 7020, + "x": 3520, "y": 2330 } ], "label": { - "x": 7878, - "y": 2368, + "x": 4088, + "y": 2895, "width": 273, "height": 31, "fontName": "Arial Unicode MS", @@ -48521,17 +50012,17 @@ "visible": true, "vertices": [ { - "x": 6780, - "y": 4155 + "x": 3310, + "y": 3285 }, { - "x": 6780, - "y": 2976 + "x": 3310, + "y": 2606 } ], "label": { - "x": 6788, - "y": 4165, + "x": 3318, + "y": 3295, "width": 261, "height": 31, "fontName": "Arial Unicode MS", @@ -48555,17 +50046,25 @@ "visible": true, "vertices": [ { - "x": 6669, - "y": 2670 + "x": 3400, + "y": 1093 + }, + { + "x": 3400, + "y": 1140 + }, + { + "x": 3390, + "y": 1140 }, { - "x": 6745, - "y": 2670 + "x": 3390, + "y": 1685 } ], "label": { - "x": 6665, - "y": 2677, + "x": 3408, + "y": 1088, "width": 251, "height": 31, "fontName": "Arial Unicode MS", @@ -48589,29 +50088,29 @@ "visible": true, "vertices": [ { - "x": 7020, - "y": 2850 + "x": 3520, + "y": 2270 }, { - "x": 7390, - "y": 2850 + "x": 4140, + "y": 2270 }, { - "x": 7390, - "y": 3150 + "x": 4140, + "y": 2410 }, { - "x": 8140, - "y": 3150 + "x": 4320, + "y": 2410 }, { - "x": 8140, - "y": 3625 + "x": 4320, + "y": 2665 } ], "label": { - "x": 7016, - "y": 2852, + "x": 3516, + "y": 2272, "width": 95, "height": 31, "fontName": "Arial Unicode MS", @@ -48635,21 +50134,25 @@ "visible": true, "vertices": [ { - "x": 7820, - "y": 1155 + "x": 3865, + "y": 4660 + }, + { + "x": 5840, + "y": 4660 }, { - "x": 7820, - "y": 950 + "x": 5840, + "y": 480 }, { - "x": 7534, - "y": 950 + "x": 674, + "y": 480 } ], "label": { - "x": 7828, - "y": 1170, + "x": 3861, + "y": 4667, "width": 128, "height": 31, "fontName": "Arial Unicode MS", @@ -48673,29 +50176,21 @@ "visible": true, "vertices": [ { - "x": 8090, - "y": 5025 - }, - { - "x": 8090, - "y": 4980 - }, - { - "x": 8680, - "y": 4980 + "x": 5190, + "y": 2625 }, { - "x": 8680, - "y": 740 + "x": 5190, + "y": 610 }, { - "x": 7534, - "y": 740 + "x": 674, + "y": 610 } ], "label": { - "x": 8098, - "y": 5040, + "x": 5198, + "y": 2640, "width": 101, "height": 31, "fontName": "Arial Unicode MS", @@ -48719,25 +50214,21 @@ "visible": true, "vertices": [ { - "x": 1650, - "y": 1080 + "x": 5370, + "y": 585 }, { - "x": 1690, - "y": 1080 + "x": 5370, + "y": 550 }, { - "x": 1690, - "y": 1150 - }, - { - "x": 7215, - "y": 1150 + "x": 674, + "y": 550 } ], "label": { - "x": 1646, - "y": 1087, + "x": 5378, + "y": 600, "width": 125, "height": 31, "fontName": "Arial Unicode MS", @@ -48761,25 +50252,17 @@ "visible": true, "vertices": [ { - "x": 2300, - "y": 1050 - }, - { - "x": 2340, - "y": 1050 + "x": 5885, + "y": 410 }, { - "x": 2340, - "y": 1120 - }, - { - "x": 7215, - "y": 1120 + "x": 674, + "y": 410 } ], "label": { - "x": 2296, - "y": 1052, + "x": 5901, + "y": 412, "width": 210, "height": 31, "fontName": "Arial Unicode MS", @@ -48803,21 +50286,17 @@ "visible": true, "vertices": [ { - "x": 7415, - "y": 500 - }, - { - "x": 7370, - "y": 500 + "x": 510, + "y": 327 }, { - "x": 7370, - "y": 685 + "x": 510, + "y": 345 } ], "label": { - "x": 7431, - "y": 502, + "x": 518, + "y": 317, "width": 255, "height": 31, "fontName": "Arial Unicode MS", @@ -48841,17 +50320,17 @@ "visible": true, "vertices": [ { - "x": 7310, - "y": 327 + "x": 335, + "y": 610 }, { - "x": 7310, - "y": 685 + "x": 355, + "y": 610 } ], "label": { - "x": 7318, - "y": 317, + "x": 331, + "y": 612, "width": 265, "height": 31, "fontName": "Arial Unicode MS", @@ -48875,21 +50354,21 @@ "visible": true, "vertices": [ { - "x": 7020, - "y": 2170 + "x": 3300, + "y": 1685 }, { - "x": 7270, - "y": 2170 + "x": 3300, + "y": 680 }, { - "x": 7270, - "y": 1207 + "x": 674, + "y": 680 } ], "label": { - "x": 7016, - "y": 2177, + "x": 3308, + "y": 1700, "width": 159, "height": 31, "fontName": "Arial Unicode MS", @@ -48913,25 +50392,17 @@ "visible": true, "vertices": [ { - "x": 7129, - "y": 650 - }, - { - "x": 7170, - "y": 650 + "x": 380, + "y": 5955 }, { - "x": 7170, - "y": 720 - }, - { - "x": 7215, - "y": 720 + "x": 380, + "y": 867 } ], "label": { - "x": 7125, - "y": 657, + "x": 388, + "y": 5970, "width": 129, "height": 31, "fontName": "Arial Unicode MS", @@ -48955,25 +50426,25 @@ "visible": true, "vertices": [ { - "x": 6785, - "y": 680 + "x": 520, + "y": 5955 }, { - "x": 6820, - "y": 680 + "x": 520, + "y": 5920 }, { - "x": 6820, - "y": 740 + "x": 400, + "y": 5920 }, { - "x": 7215, - "y": 740 + "x": 400, + "y": 867 } ], "label": { - "x": 6781, - "y": 682, + "x": 528, + "y": 5965, "width": 161, "height": 31, "fontName": "Arial Unicode MS", @@ -48997,25 +50468,25 @@ "visible": true, "vertices": [ { - "x": 6443, - "y": 700 + "x": 500, + "y": 5625 }, { - "x": 6480, - "y": 700 + "x": 500, + "y": 5580 }, { - "x": 6480, - "y": 770 + "x": 410, + "y": 5580 }, { - "x": 7215, - "y": 770 + "x": 410, + "y": 867 } ], "label": { - "x": 6439, - "y": 702, + "x": 508, + "y": 5635, "width": 223, "height": 31, "fontName": "Arial Unicode MS", @@ -49039,25 +50510,25 @@ "visible": true, "vertices": [ { - "x": 6075, - "y": 730 + "x": 510, + "y": 5275 }, { - "x": 6120, - "y": 730 + "x": 510, + "y": 5230 }, { - "x": 6120, - "y": 800 + "x": 430, + "y": 5230 }, { - "x": 7215, - "y": 800 + "x": 430, + "y": 867 } ], "label": { - "x": 6071, - "y": 732, + "x": 518, + "y": 5285, "width": 54, "height": 31, "fontName": "Arial Unicode MS", @@ -49081,25 +50552,25 @@ "visible": true, "vertices": [ { - "x": 5739, - "y": 760 + "x": 530, + "y": 4915 }, { - "x": 5780, - "y": 760 + "x": 530, + "y": 4880 }, { - "x": 5780, - "y": 820 + "x": 440, + "y": 4880 }, { - "x": 7215, - "y": 820 + "x": 440, + "y": 867 } ], "label": { - "x": 5735, - "y": 762, + "x": 538, + "y": 4925, "width": 54, "height": 31, "fontName": "Arial Unicode MS", @@ -49123,21 +50594,21 @@ "visible": true, "vertices": [ { - "x": 7215, - "y": 1170 + "x": 674, + "y": 750 }, { - "x": 1010, - "y": 1170 + "x": 2380, + "y": 750 }, { - "x": 1010, - "y": 5155 + "x": 2380, + "y": 5255 } ], "label": { - "x": 7231, - "y": 1177, + "x": 670, + "y": 757, "width": 154, "height": 31, "fontName": "Arial Unicode MS", @@ -49161,17 +50632,17 @@ "visible": true, "vertices": [ { - "x": 930, - "y": 1136 + "x": 2235, + "y": 5410 }, { - "x": 930, - "y": 5155 + "x": 2255, + "y": 5410 } ], "label": { - "x": 938, - "y": 1126, + "x": 2231, + "y": 5412, "width": 251, "height": 31, "fontName": "Arial Unicode MS", @@ -49195,21 +50666,17 @@ "visible": true, "vertices": [ { - "x": 540, - "y": 5475 + "x": 3125, + "y": 5410 }, { - "x": 540, - "y": 5310 - }, - { - "x": 585, - "y": 5310 + "x": 2809, + "y": 5410 } ], "label": { - "x": 548, - "y": 5485, + "x": 3141, + "y": 5412, "width": 248, "height": 31, "fontName": "Arial Unicode MS", @@ -49233,17 +50700,17 @@ "visible": true, "vertices": [ { - "x": 859, - "y": 5310 + "x": 2535, + "y": 5410 }, { - "x": 875, - "y": 5310 + "x": 2515, + "y": 5410 } ], "label": { - "x": 855, - "y": 5312, + "x": 2551, + "y": 5412, "width": 269, "height": 31, "fontName": "Arial Unicode MS", @@ -49267,25 +50734,25 @@ "visible": true, "vertices": [ { - "x": 5396, - "y": 780 + "x": 540, + "y": 4025 }, { - "x": 5440, - "y": 780 + "x": 540, + "y": 3980 }, { - "x": 5440, - "y": 850 + "x": 450, + "y": 3980 }, { - "x": 7215, - "y": 850 + "x": 450, + "y": 867 } ], "label": { - "x": 5392, - "y": 782, + "x": 548, + "y": 4035, "width": 134, "height": 31, "fontName": "Arial Unicode MS", @@ -49309,25 +50776,25 @@ "visible": true, "vertices": [ { - "x": 5035, - "y": 810 + "x": 550, + "y": 3585 }, { - "x": 5080, - "y": 810 + "x": 550, + "y": 3540 }, { - "x": 5080, - "y": 880 + "x": 470, + "y": 3540 }, { - "x": 7215, - "y": 880 + "x": 470, + "y": 867 } ], "label": { - "x": 5031, - "y": 812, + "x": 558, + "y": 3595, "width": 159, "height": 31, "fontName": "Arial Unicode MS", @@ -49351,25 +50818,25 @@ "visible": true, "vertices": [ { - "x": 4692, - "y": 840 + "x": 570, + "y": 3175 }, { - "x": 4730, - "y": 840 + "x": 570, + "y": 3130 }, { - "x": 4730, - "y": 910 + "x": 480, + "y": 3130 }, { - "x": 7215, - "y": 910 + "x": 480, + "y": 867 } ], "label": { - "x": 4688, - "y": 842, + "x": 373, + "y": 3942, "width": 78, "height": 31, "fontName": "Arial Unicode MS", @@ -49393,25 +50860,25 @@ "visible": true, "vertices": [ { - "x": 4350, - "y": 870 + "x": 580, + "y": 2655 }, { - "x": 4390, - "y": 870 + "x": 580, + "y": 2610 }, { - "x": 4390, - "y": 930 + "x": 490, + "y": 2610 }, { - "x": 7215, - "y": 930 + "x": 490, + "y": 867 } ], "label": { - "x": 4346, - "y": 872, + "x": 383, + "y": 3422, "width": 142, "height": 31, "fontName": "Arial Unicode MS", @@ -49435,25 +50902,25 @@ "visible": true, "vertices": [ { - "x": 3995, - "y": 890 + "x": 600, + "y": 2315 }, { - "x": 4030, - "y": 890 + "x": 600, + "y": 2280 }, { - "x": 4030, - "y": 960 + "x": 510, + "y": 2280 }, { - "x": 7215, - "y": 960 + "x": 510, + "y": 867 } ], "label": { - "x": 3991, - "y": 892, + "x": 403, + "y": 3082, "width": 142, "height": 31, "fontName": "Arial Unicode MS", @@ -49477,25 +50944,25 @@ "visible": true, "vertices": [ { - "x": 3648, - "y": 920 + "x": 610, + "y": 2095 }, { - "x": 3690, - "y": 920 + "x": 610, + "y": 2050 }, { - "x": 3690, - "y": 990 + "x": 520, + "y": 2050 }, { - "x": 7215, - "y": 990 + "x": 520, + "y": 867 } ], "label": { - "x": 3644, - "y": 922, + "x": 413, + "y": 2862, "width": 118, "height": 31, "fontName": "Arial Unicode MS", @@ -49519,25 +50986,25 @@ "visible": true, "vertices": [ { - "x": 3325, - "y": 970 + "x": 630, + "y": 1765 }, { - "x": 3370, - "y": 970 + "x": 630, + "y": 1720 }, { - "x": 3370, - "y": 1010 + "x": 540, + "y": 1720 }, { - "x": 7215, - "y": 1010 + "x": 540, + "y": 867 } ], "label": { - "x": 3321, - "y": 972, + "x": 433, + "y": 2532, "width": 141, "height": 31, "fontName": "Arial Unicode MS", @@ -49561,25 +51028,25 @@ "visible": true, "vertices": [ { - "x": 2985, - "y": 1000 + "x": 640, + "y": 1285 }, { - "x": 3030, - "y": 1000 + "x": 640, + "y": 1240 }, { - "x": 3030, - "y": 1070 + "x": 550, + "y": 1240 }, { - "x": 7215, - "y": 1070 + "x": 550, + "y": 867 } ], "label": { - "x": 2981, - "y": 1002, + "x": 443, + "y": 2052, "width": 198, "height": 31, "fontName": "Arial Unicode MS", @@ -49603,25 +51070,25 @@ "visible": true, "vertices": [ { - "x": 2645, - "y": 1030 + "x": 650, + "y": 955 }, { - "x": 2690, - "y": 1030 + "x": 650, + "y": 910 }, { - "x": 2690, - "y": 1090 + "x": 650, + "y": 910 }, { - "x": 7215, - "y": 1090 + "x": 650, + "y": 867 } ], "label": { - "x": 2641, - "y": 1032, + "x": 453, + "y": 1722, "width": 141, "height": 31, "fontName": "Arial Unicode MS", @@ -49645,17 +51112,17 @@ "visible": true, "vertices": [ { - "x": 2461, - "y": 6500 + "x": 2030, + "y": 7933 }, { - "x": 2485, - "y": 6500 + "x": 2030, + "y": 7955 } ], "label": { - "x": 2457, - "y": 6471, + "x": 1260, + "y": 10395, "width": 237, "height": 31, "fontName": "Arial Unicode MS", @@ -49679,17 +51146,21 @@ "visible": true, "vertices": [ { - "x": 2360, - "y": 6613 + "x": 1925, + "y": 7820 }, { - "x": 2360, - "y": 6625 + "x": 820, + "y": 7820 + }, + { + "x": 820, + "y": 7690 } ], "label": { - "x": 2368, - "y": 6603, + "x": 1260, + "y": 10193, "width": 182, "height": 31, "fontName": "Arial Unicode MS", @@ -49713,17 +51184,17 @@ "visible": true, "vertices": [ { - "x": 2447, - "y": 6720 + "x": 725, + "y": 7610 }, { - "x": 2455, - "y": 6720 + "x": 707, + "y": 7610 } ], "label": { - "x": 2443, - "y": 6691, + "x": 450, + "y": 9864, "width": 194, "height": 31, "fontName": "Arial Unicode MS", @@ -49747,17 +51218,17 @@ "visible": true, "vertices": [ { - "x": 2245, - "y": 6500 + "x": 2030, + "y": 7705 }, { - "x": 1487, - "y": 6500 + "x": 2030, + "y": 7686 } ], "label": { - "x": 2261, - "y": 6502, + "x": 1310, + "y": 10187, "width": 200, "height": 31, "fontName": "Arial Unicode MS", @@ -49781,17 +51252,25 @@ "visible": true, "vertices": [ { - "x": 1320, - "y": 6415 + "x": 2157, + "y": 7460 + }, + { + "x": 2200, + "y": 7460 + }, + { + "x": 2200, + "y": 7320 }, { - "x": 1320, - "y": 6338 + "x": 2235, + "y": 7320 } ], "label": { - "x": 1328, - "y": 6394, + "x": 1495, + "y": 10001, "width": 275, "height": 31, "fontName": "Arial Unicode MS", @@ -49815,17 +51294,17 @@ "visible": true, "vertices": [ { - "x": 2251, - "y": 6720 + "x": 935, + "y": 7610 }, { - "x": 2265, - "y": 6720 + "x": 907, + "y": 7610 } ], "label": { - "x": 2247, - "y": 6722, + "x": 460, + "y": 9864, "width": 236, "height": 31, "fontName": "Arial Unicode MS", @@ -49849,21 +51328,17 @@ "visible": true, "vertices": [ { - "x": 2110, - "y": 6635 - }, - { - "x": 2110, - "y": 6610 + "x": 1151, + "y": 7610 }, { - "x": 1487, - "y": 6610 + "x": 1905, + "y": 7610 } ], "label": { - "x": 2118, - "y": 6645, + "x": 549, + "y": 9931, "width": 254, "height": 31, "fontName": "Arial Unicode MS", @@ -49887,25 +51362,17 @@ "visible": true, "vertices": [ { - "x": 1480, - "y": 6351 - }, - { - "x": 1480, - "y": 6380 - }, - { - "x": 1430, - "y": 6380 + "x": 2235, + "y": 7530 }, { - "x": 1430, - "y": 6415 + "x": 2157, + "y": 7530 } ], "label": { - "x": 1488, - "y": 6341, + "x": 1370, + "y": 10155, "width": 208, "height": 31, "fontName": "Arial Unicode MS", @@ -49929,17 +51396,17 @@ "visible": true, "vertices": [ { - "x": 1405, - "y": 6270 + "x": 2360, + "y": 7395 }, { - "x": 1393, - "y": 6270 + "x": 2360, + "y": 7378 } ], "label": { - "x": 1421, - "y": 6241, + "x": 1380, + "y": 10097, "width": 287, "height": 31, "fontName": "Arial Unicode MS", @@ -49963,17 +51430,17 @@ "visible": true, "vertices": [ { - "x": 1220, - "y": 7375 + "x": 2090, + "y": 6559 }, { - "x": 1220, - "y": 7363 + "x": 2090, + "y": 6575 } ], "label": { - "x": 1228, - "y": 7385, + "x": 870, + "y": 8128, "width": 182, "height": 31, "fontName": "Arial Unicode MS", @@ -49997,17 +51464,17 @@ "visible": true, "vertices": [ { - "x": 1230, - "y": 7110 + "x": 2090, + "y": 6825 }, { - "x": 1230, - "y": 7135 + "x": 2090, + "y": 6803 } ], "label": { - "x": 1238, - "y": 7100, + "x": 1427, + "y": 8699, "width": 166, "height": 31, "fontName": "Arial Unicode MS", @@ -50031,17 +51498,17 @@ "visible": true, "vertices": [ { - "x": 1325, - "y": 7250 + "x": 1985, + "y": 6740 }, { - "x": 1307, - "y": 7250 + "x": 2005, + "y": 6740 } ], "label": { - "x": 1341, - "y": 7252, + "x": 743, + "y": 8464, "width": 152, "height": 31, "fontName": "Arial Unicode MS", @@ -50065,25 +51532,21 @@ "visible": true, "vertices": [ { - "x": 2360, - "y": 6385 - }, - { - "x": 2360, - "y": 6130 + "x": 2141, + "y": 7820 }, { - "x": 650, - "y": 6130 + "x": 2820, + "y": 7820 }, { - "x": 650, - "y": 6995 + "x": 2820, + "y": 7682 } ], "label": { - "x": 2368, - "y": 6395, + "x": 1339, + "y": 10401, "width": 191, "height": 31, "fontName": "Arial Unicode MS", @@ -50107,25 +51570,17 @@ "visible": true, "vertices": [ { - "x": 762, - "y": 7090 - }, - { - "x": 860, - "y": 7090 + "x": 2705, + "y": 7630 }, { - "x": 860, - "y": 6630 - }, - { - "x": 1235, - "y": 6630 + "x": 2157, + "y": 7630 } ], "label": { - "x": 758, - "y": 7092, + "x": 1963, + "y": 9504, "width": 187, "height": 31, "fontName": "Arial Unicode MS", @@ -50149,25 +51604,25 @@ "visible": true, "vertices": [ { - "x": 762, - "y": 7040 + "x": 2705, + "y": 7570 }, { - "x": 800, - "y": 7040 + "x": 2520, + "y": 7570 }, { - "x": 800, - "y": 6300 + "x": 2520, + "y": 7320 }, { - "x": 1155, - "y": 6300 + "x": 2473, + "y": 7320 } ], "label": { - "x": 758, - "y": 7011, + "x": 1963, + "y": 9504, "width": 267, "height": 31, "fontName": "Arial Unicode MS", @@ -50191,17 +51646,17 @@ "visible": true, "vertices": [ { - "x": 1320, - "y": 6706 + "x": 2090, + "y": 7395 }, { - "x": 1320, - "y": 6725 + "x": 2090, + "y": 7282 } ], "label": { - "x": 1328, - "y": 6696, + "x": 1500, + "y": 9673, "width": 212, "height": 31, "fontName": "Arial Unicode MS", @@ -50225,17 +51680,17 @@ "visible": true, "vertices": [ { - "x": 1260, - "y": 6945 + "x": 2090, + "y": 6990 }, { - "x": 1260, - "y": 6932 + "x": 2090, + "y": 7075 } ], "label": { - "x": 1268, - "y": 6955, + "x": 1500, + "y": 8989, "width": 192, "height": 31, "fontName": "Arial Unicode MS", @@ -50259,25 +51714,21 @@ "visible": true, "vertices": [ { - "x": 1430, - "y": 6706 - }, - { - "x": 1430, - "y": 6800 + "x": 1905, + "y": 7540 }, { - "x": 2000, - "y": 6800 + "x": 1190, + "y": 7540 }, { - "x": 2000, - "y": 6935 + "x": 1190, + "y": 7196 } ], "label": { - "x": 1438, - "y": 6696, + "x": 1370, + "y": 9810, "width": 187, "height": 31, "fontName": "Arial Unicode MS", @@ -50301,25 +51752,25 @@ "visible": true, "vertices": [ { - "x": 650, - "y": 7202 + "x": 2880, + "y": 7475 }, { - "x": 650, - "y": 7610 + "x": 2880, + "y": 6310 }, { - "x": 2040, - "y": 7610 + "x": 1130, + "y": 6310 }, { - "x": 2040, - "y": 7436 + "x": 1130, + "y": 6695 } ], "label": { - "x": 658, - "y": 7192, + "x": 2230, + "y": 9267, "width": 179, "height": 31, "fontName": "Arial Unicode MS", @@ -50343,25 +51794,17 @@ "visible": true, "vertices": [ { - "x": 1915, - "y": 7025 - }, - { - "x": 1875, - "y": 7025 - }, - { - "x": 1875, - "y": 6875 + "x": 1305, + "y": 7145 }, { - "x": 1397, - "y": 6875 + "x": 1985, + "y": 7145 } ], "label": { - "x": 1931, - "y": 7027, + "x": 978, + "y": 9094, "width": 240, "height": 31, "fontName": "Arial Unicode MS", @@ -50385,25 +51828,17 @@ "visible": true, "vertices": [ { - "x": 1915, - "y": 6995 - }, - { - "x": 1905, - "y": 6995 - }, - { - "x": 1905, - "y": 6845 + "x": 1305, + "y": 7115 }, { - "x": 1397, - "y": 6845 + "x": 1985, + "y": 7115 } ], "label": { - "x": 1931, - "y": 6997, + "x": 1008, + "y": 9094, "width": 230, "height": 31, "fontName": "Arial Unicode MS", @@ -50427,21 +51862,21 @@ "visible": true, "vertices": [ { - "x": 2155, - "y": 7205 + "x": 1065, + "y": 6955 }, { - "x": 2375, - "y": 7205 + "x": 835, + "y": 6955 }, { - "x": 2375, - "y": 6790 + "x": 835, + "y": 7525 } ], "label": { - "x": 2151, - "y": 7207, + "x": 670, + "y": 8714, "width": 184, "height": 31, "fontName": "Arial Unicode MS", @@ -50465,21 +51900,21 @@ "visible": true, "vertices": [ { - "x": 2155, - "y": 7175 + "x": 1065, + "y": 6925 }, { - "x": 2345, - "y": 7175 + "x": 805, + "y": 6925 }, { - "x": 2345, - "y": 6790 + "x": 805, + "y": 7525 } ], "label": { - "x": 2151, - "y": 7177, + "x": 670, + "y": 8714, "width": 175, "height": 31, "fontName": "Arial Unicode MS", @@ -50503,17 +51938,25 @@ "visible": true, "vertices": [ { - "x": 762, - "y": 7150 + "x": 2705, + "y": 7520 + }, + { + "x": 2580, + "y": 7520 }, { - "x": 895, - "y": 7150 + "x": 2580, + "y": 6830 + }, + { + "x": 2479, + "y": 6830 } ], "label": { - "x": 758, - "y": 7152, + "x": 1963, + "y": 9344, "width": 204, "height": 31, "fontName": "Arial Unicode MS", @@ -50537,29 +51980,25 @@ "visible": true, "vertices": [ { - "x": 1915, - "y": 7375 + "x": 1215, + "y": 6695 }, { - "x": 1905, - "y": 7375 - }, - { - "x": 1905, - "y": 7565 + "x": 1215, + "y": 6385 }, { - "x": 985, - "y": 7565 + "x": 2365, + "y": 6385 }, { - "x": 985, - "y": 7282 + "x": 2365, + "y": 6685 } ], "label": { - "x": 1931, - "y": 7346, + "x": 1032, + "y": 8302, "width": 178, "height": 31, "fontName": "Arial Unicode MS", @@ -50583,29 +52022,25 @@ "visible": true, "vertices": [ { - "x": 1015, - "y": 7282 - }, - { - "x": 1015, - "y": 7535 + "x": 2395, + "y": 6685 }, { - "x": 1875, - "y": 7535 + "x": 2395, + "y": 6355 }, { - "x": 1875, - "y": 7345 + "x": 1185, + "y": 6355 }, { - "x": 1915, - "y": 7345 + "x": 1185, + "y": 6695 } ], "label": { - "x": 1023, - "y": 7272, + "x": 1380, + "y": 8397, "width": 178, "height": 31, "fontName": "Arial Unicode MS", @@ -50629,21 +52064,21 @@ "visible": true, "vertices": [ { - "x": 1000, - "y": 7075 + "x": 2380, + "y": 6892 }, { - "x": 1000, - "y": 6830 + "x": 2380, + "y": 7170 }, { - "x": 1185, - "y": 6830 + "x": 2197, + "y": 7170 } ], "label": { - "x": 1008, - "y": 7085, + "x": 1380, + "y": 8771, "width": 272, "height": 31, "fontName": "Arial Unicode MS", @@ -50667,17 +52102,17 @@ "visible": true, "vertices": [ { - "x": 1109, - "y": 7200 + "x": 2265, + "y": 6740 }, { - "x": 1125, - "y": 7200 + "x": 2187, + "y": 6740 } ], "label": { - "x": 1105, - "y": 7202, + "x": 1176, + "y": 8504, "width": 176, "height": 31, "fontName": "Arial Unicode MS", @@ -50701,17 +52136,17 @@ "visible": true, "vertices": [ { - "x": 1908, - "y": 7250 + "x": 1395, + "y": 6750 }, { - "x": 1915, - "y": 7250 + "x": 1305, + "y": 6750 } ], "label": { - "x": 1904, - "y": 7252, + "x": 1173, + "y": 8474, "width": 223, "height": 31, "fontName": "Arial Unicode MS", @@ -50735,17 +52170,17 @@ "visible": true, "vertices": [ { - "x": 462, - "y": 7105 + "x": 2775, + "y": 7451 }, { - "x": 525, - "y": 7105 + "x": 2775, + "y": 7475 } ], "label": { - "x": 458, - "y": 7107, + "x": 2325, + "y": 9298, "width": 223, "height": 31, "fontName": "Arial Unicode MS", @@ -50769,17 +52204,17 @@ "visible": true, "vertices": [ { - "x": 245, - "y": 7090 + "x": 2730, + "y": 7265 }, { - "x": 221, - "y": 7090 + "x": 2730, + "y": 7238 } ], "label": { - "x": 261, - "y": 7061, + "x": 2477, + "y": 9147, "width": 250, "height": 31, "fontName": "Arial Unicode MS", @@ -50803,17 +52238,17 @@ "visible": true, "vertices": [ { - "x": 462, - "y": 7075 + "x": 2745, + "y": 7451 }, { - "x": 525, - "y": 7075 + "x": 2745, + "y": 7475 } ], "label": { - "x": 458, - "y": 7077, + "x": 2295, + "y": 9328, "width": 232, "height": 31, "fontName": "Arial Unicode MS", @@ -50837,17 +52272,17 @@ "visible": true, "vertices": [ { - "x": 1505, - "y": 7250 + "x": 1805, + "y": 6740 }, { - "x": 1515, - "y": 7250 + "x": 1785, + "y": 6740 } ], "label": { - "x": 1501, - "y": 7252, + "x": 583, + "y": 8464, "width": 184, "height": 31, "fontName": "Arial Unicode MS", @@ -50871,17 +52306,17 @@ "visible": true, "vertices": [ { - "x": 1715, - "y": 7250 + "x": 1588, + "y": 6740 }, { - "x": 1695, - "y": 7250 + "x": 1605, + "y": 6740 } ], "label": { - "x": 1731, - "y": 7252, + "x": 1260, + "y": 8464, "width": 219, "height": 31, "fontName": "Arial Unicode MS", diff --git a/schema/20210811-augur-0.2.1-release.pdf b/schema/20210811-augur-0.2.1-release.pdf new file mode 100644 index 0000000000000000000000000000000000000000..1c5a24753682db9e8686defa64abdfb9b81ee858 GIT binary patch literal 441008 zcmeEuRdgLmvaQf!i05lVT9$;r^3C+z7pcA#Q zb~bVR{%LLCY$9x8WM^ywpp!PSHFGuxuyFu*d7+)09Zd{upxuC}lp&SLmFbzMnV8vF z8Aa)($H#7{qp9IgsbQnPO3Oq=qedvA_Ml$zN1(#`$uA(}EcOg(Pp(XjB~o#y39QpB z$ajABzg`fsvvvOdyA$AtRo`!rF)_9<5VUgxXwiSaz{0^o%gDyU3Sehupk-(0 zVAp~EZqm;u{%GMh9ONDCjFe2A0b1W5D=Z4o0nn+-8CsecIRkz{$%X;I@=N=?ygxAc z*}#uWzcuieK>ljSZ!OU&y)$(F#WGPlN1N}MfB*Z-9Si_E!M}Bxl?}koz^nuPJ6lT}QTd#rV~0&lZ~2XEqvF;ZH&-1D_+WIbmc-z2@NlLCJ7)63oXf{D{f>wcy6(>Fi9 zDic@h!=6uk%`X0N4tGl7dO1avU!$KLL-p`lY6l=xr_CmPW1d>4bw@j3#EzdL2Jj9% zFQhfaEH_=B2s{R8JXF0XSJm{tdGGG|vSU57?yaj3jhCNUVZmM}vx>&A?><fO zVV2e6j+$zJv=h*O;|8ufqqkp{Hw^nE#J=9)c#TV$3fHmu>ENNolb4lcV`{_4P3GJy z@d=~k=>5IS4P2Fb`uklra01Lti3O$qQ>E0{QQJP1Y0UNew*=0}tiMv4+H zMrTb8md2|YMjY@x<_Hc>YUF#6f<)F-`3S>;DbX+v5p4aKuORXV9fq=Arwm1K)%`k5 z^TX`WiEn`{EbWtP8SB@3upc)-G9cpwv~CjMstN+~!P$>$2qZyxg1PP9BAw|mhnh3v zVS7dRGq|fpM`hs#l3v1&<&}kjvuxn4vOs8NJLL&&7SFu4Yw; zTt|*DPmNikVsP(YiS8Fe_sYHM2nknp&%(X|${o*#0I{dnq`xhi;c>d@I#4~Jv*0^= zk-WFc%hnTGNsL93yVo=?C^<|%S&sgS*zT}C4c&>ad(GZ*AcH+dEqrVkGf!ZAflK{* za_p&Tn}ir$kAajGQHcM%aQ*3N%l1ZZazXGAPUjeX_UYTQ>A{j-RZHJyEEP%W9{qc2G8gzC?^)FvEQql$Pk{XsE%#uoWpLuOOwf_RE_VXn=$IB{zV zXXHj48WC~I(l?tduaAR0n{@ilV8mrtkR2b(>=Bt;;)a1o$MHi1FobQ@$(07tdIMN& zDU?^TctKulnB^IOwdD_oasxA`OT|YsIVvW3wm&%R1*YM20MCvRKUT&R7Rhuxl~`j6 zv@lq=ykE$&$$rHXh~zj?44EBviUcA{z<+VpyX@@{$r6bAwuleJ*naj=hn0xIdnQ~0 z%={S0<**W1+VHVbZKcOe@-;S{xe95_2I2&g(`2xeyrVq9bdWssy{X2s$T-Ex!M>xx zU@zv$M^B0qL33ciF*_6oO|}fcUQi>tb9ik zlA%pipRcw8Z2;lZf`9G?GNp7d>hC(kO}Q2)0GU8zEo&e~O^AN(#vX{PmG-6;NYf9u zOyEr`t6xT|OSKi@Vl!H=?5|w`uO=EbxBoD`xQ8`mxS50BTZ!gFJuX+k?C&;VcqwQ% z^eOtH8P^*Pev(i1;J}atk2x6YTwIQn3IO!Qu&gyat$QW%{33}<{C#L$ zvy{}HZoRe1kTrv=X`ZOZ377-*x=y5DP+C|HW<9hAJhfgXd5uI>6KX6TN9Bc%tTyK& zD)y}i*;Gm5ZY!x1U02LyQAsfrms~3F$p*AVj+<#64PMMspyi5r1RHSuK?*w1O)Kyh z$A!0=p!yKz;51!+24ZsRLDi)M?I>|zAO*b3$8I^==aCxk4K-etj?(cDUHh^W-@P6!&DcdVz7($prCSxR%V z6BY^QAa)qOrJR;mD{xw#j@)zloE$DW*c}FW@UevsFn8M*5Em$A9w>5}lTOYu+$J=L zGFJr}ff*JD5(m9i@pj{>JF>F_3f$()PBVSQc%cDv%JX#_uxLP-B*L1J_XE)|2x50- znC1Az!py1WES`<2*^*A3A&zXHK0IF^b#(z1%9q$5Iq7x-*mYnJ{Cf%?Ah{ zV(=YfuRJM-9Z2#zITRpn;YvXg4q(WO4dtF|X?7Q@OnIvFxq~3YO}%U1LhIaDb{nHl zjt)l1JvVUUm=iE9jwEw(%n!r#U@cte8Q9TMc{hbt!{BI)zwFjL|YX12c?+$gBz9ymgTlO^7japl;-Ov4SkM$jT^Q+XIH4S z8@askX{o#w7KZ@`@U{<{ngHZuRe8|BX=+U{@HZaGnfR9O>#o9438B4uZl(w5_9C)0 z4>}Qu7eyLskFr>oMh_6L<7;0UxPuKBQ0_g|3V}Z4IIVvKnGEajuz&{lWs(5$i4^=8 zCN^*;7!2@6P;7ZfyE65$K*xth{UDfVWax&JPZU@b`cCY)b z8ZWVLhoPNQk)5AmTAf^9)jTG3U$5fkC{Ojcz1-|wdAYwyuKRe@-q|R7y4g+oRGhbR z_4jhMUq9dI(q)}xoka3-`?%GgxlX>{^-ZMfqnIcRVwU*Uamy8y^s8nOj1`3R%m*4~H5Eh_fm7S)iw? zUhn|Vn zoDLlW+l>0L?7%7>p)g!Fek3r1!NeD0i%vH|;)qm=O#n)ekJq4MoywBkfUTc}#2M01 z*~qJyyr5!ca7YO!gmVDqBFc`#nxmk^l3n{6Qtf)@TG;%tGNDIRq`7 z1SqC$En09`qloq`Ddy(YrOs1-ybnN7D2YTal}w#EUo!o$Nd5&VBFM>sT9Y{+U-_bg zAG*qbsVzMYPpez&gDL_cnzTo`gKB7Te_+WcQ_6`8mH|sM=*cxp{KyRT_FNV1kP#^y ztWjV%v#bdz98TQ?X4SzlQ_!;h@H)Rau&R1P2BnGGHaokDuY`aA_{)gkQ#W-5Y6LJD zqj#_k2xT%g7vxsD@lVs4Zz4kWr_G4$^p_@7wy2Al%KWlT4vM@oN2D%X6Oy~SW#q}e z5<+uZm!KyeVFdCbyW4%%FVnv#Jhg}>nC+da@!K$`JxcX3NbSwAKn|&*u}wuY;Y z;)a%xAj1MxG=FTqjXb3u-N+bj1%1+r3>|sUF;k>+?mH4n2*Ss+are1iFl?D_2$@5-_GMRSqL1o+eGD>(R$Nn>$-EP`f3z{*h1?h}@3g0GpRCpFr(6UUnlfuN)0f9|T zXK}}pGs@ra-4lT?+hL#fqHKCBmeG9qor7|ln>B~x@}$BKhNNMJ1uX4|vCtb~u2Z5) zC&yIYIaQbEgRW#M&UORk_NSFxYiY`a7F05++6$DWR0w5q>Twry>P^hK%X5Ba$`|lw zSSlQf_M(7fNv0F|3bYX^;KRNvrBDEB;(XMcLkS)Bej5Md{SZoR!I7^%h z&Q1QCf!;4oSo$2(Uz!58l@-gi)mHpVA`lPhYOh-ZXfJBNG4sK5jo4G`?Xc;xSV*UJ zqj)tL8$omDeWd{GGTA|MC(lu!fW?_Zr{f3$1rO&D_Sya|JQFzC_(5DD(lEW^tT zXCR07Hshm9Bk8=mQNbqAQX)@t5#s!da!md1poU72+vi9@zRvE-3Ih}rTv$?)Ma5&! z8AHb+e84vykQP0-=l&RgG)jmf5X6u#y6wh+h7=!@P>zC}+l=_WV9W7TGZ4=njmu=E zF6-h|0!NtieBGbF3wx$o)CF4v;_%*^l)Uc{M9T_TC;=}Tj9~N^KVVf#Wg_>IXf(uq zpmC-WWZB7adi<>XNs?>21R{dF;t6|`8NqiO+gJ{j_kjy}IkG3sk^p?j=R+UiUfJh( zs+!U_A}K&;Kqef8Z6@}HzN07y7KzbG%g(%(tOy$JWN)NQCztlR(sHTigtB)^yb^h6 zcV$a@`{n0z&GxQtb?sG}WT@^s97i&0sgc*jU-j(_^1~;em(l&N3OUO`g4Qbey@Ruz z(W^wT61JVg3#b#M>2;Z(aC6w?`8lwYpL$jI5;to#B24vDWw7nB;l z*O%YVCfjNOtg?b)vp@!X7^gmkhLFG#qXhbqq9KCUiOmQ=*&Be z`!|-K-_DtCDP!~oNlqIXJ-0{#)4eZ737L)ILx;yR7(dRKNMrog))iBQwznt{BMdp5 zrYW$xqziJQl@-7{9-|^TLRoBxcuq28JRos;f&>dKC=~1Xk#!d?g2WfZCSgKwWvd$n z#%Mr8LkX%{HwhUSN(oH$g9B9)hZCVb{09&=qFb(L;R$Az>nt>QxyLDEeL^!zL}P*& zZn!w@IYopJS6&m!(yey$Q-$D4X|;Xe_7ViacZsxuj8eNKi^; zyc>80a^d~iqOJ&OL!m+GbW2qE8(Pi` zYN*-j3y%*c(d`o|#Zz^?e_*@$N&g^A94iv-jD22bPN^D-Fs$1*fzrJyxC8L{aGrag-ebAi3UaWG4MR5j%xAGmzcc_5%Xyb{GBGW;A0|kG@Js>y!de zb1)6>95xAM;h})%nC}5Em;H+t!G=quA5Y+Fz%ZeYJEnB$QhaSvupVikMvi6|9pMI6 zgmYE~v}ixeL0GIb#0e#E8lWTX+`o2Fm^KC5Qg@RP(4P6hAaKkK7)scv$f_oE%uHp| z*58D2E_bIXzBve`VW{oevE>V))8ugD&~xq%b2yTkFM*n@tCq$)cgN+S6>HOjdH)t_ z73CC}j51nJQu`3mKGmp&u-ip18XOm85xZ_X2ravu4kD5VGrun;I5^q}{KpK`_owMa z&S#A}%rH)ss=j~(lo>s;`4%bocP>QwPDL8$ASO7g zwV_cT#*nukqAYVuh>>xyN7i>LNQ4^hESkq`TPhE`4h9qlm%kmh)d($?N&~)_td-5cII_y|b^+22xYjJTq&z<8+Z`JVP|+}hv_Yh4 zt=?f+Nik><=NWLlHqIpb>Q>(9(0d`Tr1owEF0h3X%(GYqYBBP&(VVSrTR=mGNtK^? zJAUWby!NBbGIQ8@n?!n;HhQ^y7BU&5$A+;&xrFY)2X=3W&I(xmG& zU*)7pi$EBWJ=-@=S|_W77S*6noBM7sCu-WhtjLgp`U6jPLZdkuy?!^gG!UqEtupp$ zIS)&@$%Y_(xe64};5YkRx*w9#3AnsxnyztYNT7@Y$I}~oG7S)rVCO_9%_bo|oUO9C z-}A`X+-!A6eU--c7E!LX)*c4dkaVmj4^OToBjb=}5hEt98Sxh~>*jC5QWFhmb=Htf zP2bhh;?1|QW+nQJa^0#7E0W+l+2?U3EfFw|-IqIjElClOAYYjHR?UI$t$CtVr3 zg!j7_>BS>MK|Ddffvb4s7&J=6U8?~~Y5BydF6VdKZ-$Lkm}d;Zx^y<3cbK^1XFyE9 zS}xve@_udFJ>agvrdOMKpi5_?`~re>nF~!xiek+wsB6sZ1EdEu@)Z=dWwztS$@mqh z*hy~pOfeR6!?}&{^ zAL|kd+?qT=Z`i(`S*jz7EPGgEFQQuHMVnw*VB0dy%oBO1Z6R_U!QMHPBn9o%i+`EM zWi{Z`vmeVie1G?drZ|*NbkUo48KhO`u;D=R5u(K)Ga5AXlyyVKWT_X)UcFF2i)|fl z)yD1HM&wZrh9b3l=COS2E)x^!w8%<2D z@^%ipEo~p+K-r#w%f6QN)rf1oc7vfH`&+pjJSXJi-N*@lgPKg)6ZLLh{ooD<=T>?x z3k&><`g~*Fu>@J*d3nVrpo7!)Cm{9{_gp6!7m#l4q;9Wd+FeT;L0;O4M&HmUY0T$> zCg+lJNnqjDeVqG_7)GqL<5ipfB&wNdJRlS(ewPRbnQ?MSW0xo*v|V;DHq_lc zz)^CKqOfbhJz_4+IBq(et3Je9|0Iq~Iml;7Z>WS@0hMjAiyV(JvfGBLbpa7L(BDBg zgFqL#BG_Osn+^*@OwF9Ucj?4?94&(ZxmRn>xhF4=NQ<<}#h=-gBeQB?Ng@pz>RAA= zD)p5G4rb6xZXSRu{{EQP24V)711_07d2QKk@R_V%*XQWvOVEh2zBx;Lj3Z)#_@hHz zPwYdiX%o(wJR=JQdj)g!s5<4cA|EPy2Uv1=e0FR_%C?JvT}oFC7v$Or;YSk8tzMe_ zQG~bZj-*$Z1MZ<=JT#0Ag4GF>U)Tprzz>=fVGMZIkBl*MaXWP>BtCEI`<03=D+ab4 z)t4z)A))%B*abS7(+ga2WrQdbNo~c3oJdtF z$9YUMtq0vT1o~$El)r3H!nVu0$xr^8w9!Ms_aIBG_N43$ZF7wslQQb|#)l@$6nvL` zno@L*Z*=AUs6Nd`PdFeA=ScwHo*-`(YfAq5Q>|B2QlJw(GZ17;4HJ-lQe?t>& zO{~u%gq9_(C5QU&;*4*4dOImM|o5vSx` z32jzzlk5>XHQgwWmE|1LCQ49tWZ^)N@r0c#2Frhz;CxhnKs(aTcm{kvB*?T^53fp1 z++?-)R#zF)$70H$UuiaeT$d*J0>Z}26>Ehk`X)YnjU!SK1}&MZ?<-?LkJPME0EoY5 z70;|tg^*YXhkU}7`PFF(rz~s?fs{Eml^|6tTrmr{MwCcBEdpP{d@vd3)kO9?QDa3P zWQ!ggyexj**jGo zEmJ==E5nxasZ|IRAr6iiU^(F&l_g{mq%`{K; z^ouUA-f&Ge&L`yd2cx)VDvOj{s3O3cOkAQilQXx@1QrTPq_z<$c|0g?;8ZUanndAV-7#nUVy+?5QX@0Si2KC|gi49=vxH47M zS%qnA_CULF`-6KN8b5YP2wjecSZ+P`$zZqH+MR0U4mcf3Qeh=BDHJvo1hy6|kamYZGm5eL8_hskd>~Kxlq(Xl zm5yl|BuQ<-BS0QqeyP+$&8#|Oh;P3oDMHnvRSRGakJ&6Ov>-`hZN@Nd;}{kkV3!>V zvoMjWb;fF=L2Q$;WpQN*@l_mV%uC(a=nAvU1;wr_Htk($V^{L^V^Mmi{$&;E%|1!C zQB#LS>4S+BMtU5SC^|A+7H-m5E;_K&7~FlSjsY-YD}8&Eiy4Q~v~yMKgG2jLleY?E zCejOMd6!QlZlOBScRUbF9 z+p>5p_$V-DvyI_4Sej&nf!>%{cxQ?DUMbUire|hCtU#Rb+6k?JJvcQ1MhcrQ>jgWfAAhCAKu-%Lmr4hCzn_vNz+2?c+<`V6)AbAo&}j0qr&hoJ}eqv%w}8cT}#< z(P6mcg|njeZ^Uoc$j=m>+7~ICj?L=_nd#m zgFhn*9!mhJ^m@Gthz*N0C_hVL?0<(A9k~G;!r_07S`s@ZM*byyqYeF?0vRaG#ng{W`M`pQosdrzha;+MjB2~^8E2H;f2|Sk@ZnY z%=t21M>?^nFnfewbV_};0O<1(>M-S&Cin~ByTVLP$oUTSAE3GhqZj*MbsOk|VIt}U77 zRKdOkd=_6KD(6;Hc1+iYq(xF&l-y^e?~vL(X1UdA^U^ZiY87>I*b!h%<)W~2Im6P% z+EU6ToY&{uB8rNXG)#%wXWEkcik7HfeQ(3MB~^0?+o$K~_J$${t&`@3!`R??{#1ku zeO+URF--ychC7pJqFKp(0#I^NyKah~M<%Ed@G3p!GjNC5p;RFqy=Y3*me}A!6toa# z(~MI?gLf-xol&l;wIF6~m*8WMVF2h7I^$uB6x*}Ft&3I)H)E~iOjcHV z^$Kc0z)k#T$=nYa+HZ=tzmv?-DVw-C1L!1dzUv|aKE^hoGEBr2({GnP@R{nndSKZ`~>%YkmfBYozUC_wzQ!y!F^ZmA; zYDx(kCIG`PN=NAL_b`7~&;6>Fldxd{F#IMkv|$A>{Ho#meh(Xf;isZb!iF8d_)9l_ zw9f%x{GsSn{GmAfn_}{pXZ~jPzo(A;#c%+fnuYOq5$g9A>BLPe%*?+_K)-*L_^$SJ zw72`AR{g1S{2Lh1zk&duQ<5=ovH~#vl#B{mI6KLkI11U>*xT9ukdm_ho5Gcm<-7Fq zFZ6~#di-y?*VXvZx83|G{4e}OiY&TW64tFmJ(aA2Jp%!dTcFhaJpuJl0peg4RraY8 zsfCd)*3`^w;~9e~PWy3^FLRBR7A{OqM;Ktkg{2g>c2X%P8M(otY0o_>BbFeZLnh|KFZ{KN;nJ-S^LP-|uDC|0VZ*r|;j$^T*f!4tf46 zcc=Rg+{ZxA_@9%fkv>L)J^?JXW_?&TnZG4Eovzp3SjudX9O&Hk0;BIYuduC9eW2-D z{ce!*hHMJbV(R%J7 zUxL8@*6jNSg1n!>=YN3I{|0&gy&&(Gxc&c;`>=uY&3vy|ovya@Ve=!mM(cQzpkg5M@`2R0t>OUI4{|lM=-wwe4zh?4Z zLZ|;-=YJ604-}YwUq3+hdo=($fghC(Y=0z*e}*xNV&AjrKWiH>(6jw@_TmpT9IT>c zj-!I{jm^nLZHN=zFfCP*)6I%pVktit>eF;PahlDx%aV4zK`qhMB$TS)_5L)eU9I1+5`hR|`eU;!P{{Q20)#94^G*%H(G^Q&*i>+`zr z1gyf1e~qWibSHYA-QS`WXLlH``iQX`V92Z|mN!~XW`mTS=9pxwuf z+iw#GG;*sXXT`!fp89N3F)d(T@#N2`mP@n>iQT-8J)gjQpznRKVZbI}v@abbHo)-pbY`O#PksHHQyH!K>RG6$O2qaZ-;*ZkN>uN^}=2w#LG` z-LI{?d)V$8<(50bv=`L|XKr5uLi@FCOp#o6Os;9MjwVg$lD~#q6Mgd@&qQ%yxQj4x z^F*;SYCO>t_#C6X3E}=u)f{r-LVX%fAVAN&v~Uf1*y8&4-Jvj>(b+;H=yDj7 zBQShLf+S?SrgHiv?JCw64$5D0D|NlM=XaU(&Mf;YYv#}^2Whh`W~Ct(3=yVFmZw`S z@W0V`5w(Rl@U$V?lW%7AVBc2=Rj4L6l+r$uD9dG&_8#{k9nC4=+LhT>2j*o=TJKuj z)C`+{D5GlcfEEP)W_czXGx4^5YnyN2HKMAYFU%L`Rmel@QMm=+P3leSEf(Rd&_e7@ z<4u&2+yS}Oc;4LU8j$Jv4l=D+@MO@m{WQYRcSORy@wqzv!`;yP5hZ~{!n+}%tNb?f z%vAwb%~p-WDS;xRsq&Kf+vdLEDNs^#+!l22c`Zz?i9u@B@>wYRWqG}mI?4<|>n9E? z<-W&7gi+h2IU>UalIgHldi^eUU?Xo^NtS^ zURq&_h3`h@sZz^e2e;)Yp}dZo;wws@AQE#8$TLS3tk3K{Q<85J?qws~g&Sek?&#{T zEl2lwrJN7!F4wG<_N;{WadI;UwHkcduwC24>K}tN>yo{Bp@Tcf97iBR+V|zD!(A69 zzdqWu_2$|k+H`1Cy*?SVcRV28vxU)Oy#l|IxWW86=K3uT`Ce5-LP$u^z{$iI@C#8X z0(Ab3xPBZ{{l??}IdL(vem~OtPvggo53b5eOK72!?QHE+NQ3~A8!Qhfzzml-DwsmJ zgr7V}ND!%uFt{iRB8954au={zD4~%E3QS;t;R4hZg8V?Yg0RT$YLpe!c?HY$TI$Q7 z#`@BJA>;Xx|+O1_JO~b>OZ|Q&TXpdts2z z&+R-ZDaGOgb+>1lc(f&xXVV36w zVbZQFkqWeXM?O1ypDqnVkCLJ{wojU49nL6%f_WBx1p)+_*vHZ4_%`x^!#oqntI z0xVp@un=+Kqs8vQkm=)PozjCL165+L%x0LI^yE!FYz#fRUzObl5nvJxn-uf7(+Zr^ zQ;qpO^M}r*bvz%X7oH)HCzVUmlgUhhs7#G@>yvW2b~K<{V$C$%x{f3jpn97({JWdw za_0b`D{!Ftwe)Me5NqA|zAacXn8=e8YbW3=D_W`pwx_HByOGWij=Pl6vnN%qLUcZV zA_-I`6OrA*qCzR*u`$@U$&NY;pVNu-2UpZ zw8qduzH^(t7_4Lvm_8X+DCY0ZMTfceb}uy+vRN03m)-{xaCM~lZf z?0~)r%`y0hfi{4-9jXzvX{c&2ZzxGW_tEI1sxiv}^ED3c;c}Uv{5{5aA#T+p-_;uwfiL(HD zB=GTk@`>c6C~}fGB7#e@9Fooa?)>gT1&VORwx88YKel9O%C!r7OM26ZB`_slCvOi| zB$UNjB^@VwlE@`4B)cZ-(Pok95%@}eD|~JOQRwFHR`SoQR?QLJtnc9omJmtJO)?BK zOf?KQ4BTSrS0HJN_m6Kxk}Kgqtezn$AixrwEpVS{s+XzfTsB#z#}#ACf0|7=?7zW3 zXup9nAu-X~CEvx_#oDbKQGC-wuYb>^h*=Po5Y-y>{+fBOd2)O53u~2y?rR%G(gUR} zrB@PRl4%lf()&_r6}vflsFjH+)hf{Y`_n8Ol%{5^@fobk)?tjvyPf9r( zQ#K{3i{!|us5~vAndZ%3E#s*$Dy~yE%ag5}K-P(;)nXH9)NWLA6_k^rQ>W9bQaI1y zRmiHy%I_5G)bbtangT5AM+&5M7w1IebQ)wD(a|O3lwbC*29t^SEHmaK_T;2OrQ9`rs(s}C5 zm8w&{iqFy0) zKwexPSFaZ?_8%9X=&0}*@{ zatY>!Vu95`eRRU0rDiTCJ#lYRar1F=1*0((5f184;vqM9pN<`xu;}Ty7ES^*>x9eA)z(&DSm%|YCrl?=icNw4lFsSHfUNn zxlbqDNTN~#Rbm@NPT~|DBS=*u*>vrjqHBaf_h(`}$cy5`&0pDjg;svUa*& z<~(|#mJy4&GZo}q{^>YrawiSb){imYq`!(s5vP#^YQWT4)~=a}nPiP9j3Msb?4<74 zj^Ykq4?p>^n6kLOGwX2q7V_N9a%T0mB6z-1`%AN|t4?>z=GTtn_cj0<@uiDV(a~rV z>~-6Swa*IK3e_F@=5^j!}PghOrDlESw6Y5TXH5}cF*peez zi9cS~@K$?R9lH%WZ7;YjcyirvfplG2J#4vFPchWcU7D)g(5cuRyUM+4Y*jnyP&LqU z(1*8pZ~VTVvADKfvdU6yuIMQL$RF!{>R$ViXX9zc^5B<+&UG8#S>R~Ueh6MX6r48S zp*wl23IUsbgO$zl-pS+Kqn1uHUp-&pQ}N5VNwHwDg2A5m@8-BZFR&G}C9?KJ#}CwO zI}F;rY?@BK%eC%U!U7Vq7d*9>gX$TyE?v>l$Wx+^?~-fJ(@5GC-sd}AK$FXk^s zC)>GX&~lWSrF<1HbN36TCG9sS*$euUbzx@jLz;x>UXvcGqU>mD#RwE z9->w~YHs>3Mx&Bvw}U$=zBSw>O_yc)xIVR;84mYdSWO?N@JX%}cW^w;-`eaOAMDJ! zTAUXaMXZ%|@ZI{qP69^&>F- zL-hKqsOoRg>+kc)f1#xMw+%Nt>mPR3B2hJPe)OWgv`GbdlmWyO% zoM&QDq?fOzXP#nW1XdjI2oZ%ADS_UE{vMft@*u-xQzP_X3^zkR+BTCy(?0Nnf&e3& z!jt`lGk@Dn{SYwzXSgy0n0`G&|0Axy&zAmEaAjrtF+doZSifs1|Gv^7)6cW%e-v0o z7Un-78y(MM+e;4{?3%Ha0hq?OaKHUfaWMr7b}HWluDFg*PNCo!0tN>w zwi$vT>1QXk!LfY@dVb&SzC={XCD?v@+#8)W7f=+X-4`e&5Jtdt4cR3ARqa|+^{S{4w8T_wQao2w_ zEPkIB{`0W-U4Hw=xcQq__B*7%o3zZoPapo}$oQE!WdGwR7l|Tx>qn0O##6NjZ(rTM z_US8_UOy;gEy8_gHhC?PsPwI9Kb)w+Om^qT)Ig!K z!)<%l=qtvnwO<-L;zN-8|7;@jk5lsB=-}6x{~yyB^H1sPztPw)<|+QII_iIc#(rtz zw}<{2*Was&MZc?qnSYgQ{t?vQ)9+t``ah&GHhP9X(HQejrv67~8|xnzs=uQ#dS+I( z1tw<2?{xM?;U|rKuf;`*#%}=#Vu*J_y;*e}N726WCj|om!oP;s`wMUWe#!jLfMo?R z|GFgo5!l}^G5-``f8{YImhW!-6OS?fRJi@4$TD#-F#LhYPIbP-tTv!}FQ`=?N_)wY zWyT5X%wo%v!H+A!z{iHR!1s3vU@zL7G9R3~R>(LW(<ez%vkcQz;2?0!GILH+IdhTd}~!2x~8eo z7Ku;Tv_ohCe^tIpH|+*Z?&?*yld-{k_KPCt*1}Vz&eaW9JrxeI28a1JNt$A1=Pi8I z7_j;lM8DPo;Ib(P%^6p7+5gF9b3^3m37TDr<)O- z(?$lNm6vR_$cB~*N`yM|g1e^Ev$u70^iR;lT_;Z1XIYg3rhOwrlZiq6uZs57!-`!dx4Wwx&+b85El`Th&WQ}_MS5?Vmg zmh^`dq)y%r8S=EWfTR)TX~eosW^FDiZe#}P6n1Nf+P2wHC8C+yXcX$#F^_xcySE6` zQr+Ed+sC>eFJqcA%XQEVi)2nscQkFz#BB(eaJ;7m%$uEIXDZY>T=|Fbn44j0md22#rhUnU{v)1fZ(-l7rAQ6E|KYc zQoGW5V|UTdk@4k)gy@lyH+$_A*oYMCKKoywLI!lsVexufy+;v0ysxaiIH*_X(m^;1 z3WHjuVG6Ub|pf)^a`ssLls*HLQ&(`c^VU1GOwONIZGL|a#4Fs zk2>ZNg8gzHqS&OiS;?hY76*=w*iYC2y=$EGrS&*BTP00lsX}Q1n)9u;41LR>hDBOs zhQd;>N~~JB_yLb?Bc^;aku#h?H_TiiO@lC_c*Hg)XGG0Vg}icVtoJEWa0ybaJE z8lR;38@zq*;GSo;dnjWgRaF_2%WTFvmXIz5ojselaN5OOpvB!1P**%N8&9pzEZH6Q z5bR1bdkA|DU@giRA~6EK)9dM`!LBMQzF-y(*0-BUxweoB?1ifkZFxp)Al%^f?5yvn zASRs$5Ay7YT!*!u5Rup*VqWyWO>j+*jt^bt`wrmh&EQz{_m)e}M(ndYa+~D?#Uthe zy|q~2n^bDa!~n4879P-1GQ5?PY*Ec z7?AZOlzoEGmA>33@iA%{w-K;|Mmuk)fWE$1d)~x5LpitSJ6}(0eR{&Fc)}mk8{0$| zyGBYEf2-F7>U3|yKEM2G zi`kMzt9DoIU(;3HvprMMyV2Vbk|OR2>FA!!1K-W(%{Mo0Z8{GR%-(TDH{;eOp`RYa zo)E|wDa{2(2HQwj$maq65w46=gk&RRnP;qn?E=L{uIdsCy5e5s6cG0;q?S02U{1n> z2ssv@jZCF$K1o<9epl2)h=o^cA~7f@NQ>4&rAv45Lawh{0Aju#Pggr<-ETKHTbsnV zZ@sap$3Te$$4JEONK7MgMeV#@p}4n`-9rJyG*20N+}>DakfZ=x2sCM8Q2W#)$Rh~_ zQaAviDaLrP^w2JuU)I1HHiz&|oY>j5&J=G?+5v!iiv7ntPfkuNKR+6uw2@Efj5-G) ze>6}`(JsLH$`3NDQwK-E^i$i_#d^gO&H?5C!IRnYyf^b0v;@FG$he#uK?4Z<<=%~YosDanp zS}l^ly{PBN!)7ypcj~LU=D~XyK}>t5T}O!^I8{KfTtBqWjug4a3`Nq#`C{XuTk()yoH+k!|eOjV0R^WSAPajgFw<{W(KVoRW>_nLC#Q zLFK4b*f~4~u|(iF|I5T%6*Ew$g)inpE@$&d1QaZ{xp`$J7T#I>OCFo_eetE^ypB0t zP6UDj(yN4n+%r&~a2a%>In9H29!{Jv+Hl4pO$@|0*=zG|(FKa$#qc{*xRcCDpgvZF zdYS<+uX4#&+Hd7DrJuGLp`Jc>F`5vd@z5g@-|QLzD&%?3>~cJFn5heGU0H>JP-ho= zLd*2z`g-j63!8QB2~&rFYejR3qZj2YhDnRJVU>MxQcecYUrxJFN}LOvdL_;GIy8_v zU$3aVZIRUxZ~LkhI{ppm^AGuPQpPlpnRw9L3q%^~uvv3Wszw7EL~RZGmKu^p^vr!D za4FxMP6UmQ3Ea!99_Nv<_gxk{NWLyhg$+*SJ+Z5Hp4^y&$gsnS5Qz1NYhAC}c5^<`jR*)+rUD1+p&t3$^#a`pp`I*J(`-;jn6!ANA;hPCXcU<(s4grE9M?lyn=kVE8%6&y7gk|iWVffY zyjGLFvpik)jkA1M9dy}dfmu{2GjV>IoPY{Dda1<%r~30YV2d`3b)R6+FtH?E?Jhxc zf>UN=a|0a}=e9sn9+RZU2)#wHI{f~VBxE@>)nL_W|6y%SqIX}U7$&t&=`%#v;1Au3 zm7K(u)`x%+MH15bZzQCSiR>9H?5r@kX;Rx6qwXT&Ed+{$iE#F90!6(P9^0HmdSk9e zbitqYG;QSfKhqB%K;_b;n!t@jEXoq|x7nJ4uc7c<=9O~+SX(KsFR97(iGU;V_0n;5 z$nH|)c-%=)BFizBRf)})`(2ahVN6rb*wHWN&v<|$$@gMadG_q~6nmat9i&9JaiOyp@ACfWWx^^3k z;G2b?kt!AJ15_lGZvak1KPGacw!Ic-cOOMYg5m3rmyG;in%Y2X7oYdNy{c!_3k#J^ zJf=f+E8*@qJ;VXT$s1ZCJPsa=kA&rHlA=%yGdH1G!fQ)SB3GvFpy{)HpTS^c^PK3q zu+`COMdgCTNV)QzwkC%%m>dZK%qt@NVgNF;9>CJq6lm9Yj0lUR4wt08#Z^Bj?Or}! zdU~hr!|~*V9+}A`Vl6GG4^#kW@?2%G=9$$_unKJ$DK<2)3OB3yND9fs}wazoOGBWgm1iu%g=kzjM<`SwOKlQn3= zZ-Q(1|;sT((HkV-5qP{k^oX+sH{;5K!Km-A< zBDRfANJ5PUctKtVx0GL96aC1F}J{& z?lf2MOcCU^6dV|==j#J)QGSpak-{HyxZK#56p?C?DaEZrckKOMW?C4&YNIK%(i)HT zWo^E4OpN|vF+jGtre|>T;aV2B>a>|cECYOrYj~4%$;E7B7Rba!GZ7{GY^@!swsxf` z(!oNxY7@(Oa>t|*joIs-e{y7>7|vW|gd#0YyWD}81Jq>_NS)!~T&mzBip4iDzeKGj z;$n33R`Ry(KJC2_j%D*2GLHIw*JkXU`z=;c$cnjH-;3i2#h;mhkej zNSfqwq@yI$WNn%~JHcM{8mVHM8jd?0wsGKOs6{m+rS{APVaTc#-$yP9^U-Z;9ev_8 z>u2mT2?vOfjJqy+O*!OBl%>x^a$ZQVY_@tuW^`3y{ab_IVYt?}{lvI)KIp1#pjI_J zlxz@UqLfLfE)>G1oSPp}NnWnsDjXJ+7Ri?iq~Qn~7Lx#aNDy1S-fl4KlON0We^|1M zwp$IiIZ<3P2c}Fo@08kWZ2RC*_hgmogNPqhQ=8{m>kOr~Dv)ceHj7=wTBUNOXH0o{ z+G^wPHypFk)^^kt2k+gJx0n_EX%0O5!zZB@yuJugkD0`BgZ%u^{Hc}cQ=E_FwkHgDOM^3{wV-A@W z72u*qLk29y+-u1Jy3f+R;W?Co)26!&{F(bK;;Js#^;75 zGU}I!PHu+v;k7&9shxEd)=X_#k5!*MEHFlIUFbepCxX%HgXjBzw>=$$4yAtN*!TQS zwK%_D&5jf`x#xwkX7Zq0Wkk+4{$?Gl3~=QV0jc;*OE7+_-K^M~I|J=RyB6~9U%jEr z^J=tHbAa6S>im#3Xh(bX2Ecq7&-(`jhTkfE|E9q3ujwtP!(;lTsQlh&PLId*2c_7b zzwm2$>FJI{y(|;ep6QeH)s<2d4~OO z&gOr!aQs%1_=n}?Ut!39t(E@`47smz3#i@&1W^}z`~`+I<>vUyA7R`k8<9w=g-InM zDPLu**n86-bj4whlMIDnX=NmZ!Kpgq~lC~m{=M9Vu15E9?|iI-Gk;3$lwXzM?w$KJ?t6|!jfpnCSIF#WNTVgd4rid zqdatvgg_OJXfoE(uI;$Iy2_@j*|+AxTD^77gk^ed{lNL~G?eu|=KkXTPL&ts{+no| z>ebEH`91%w8{*?3^<|SKV`Lhoy{QMwy?f1!r$DWf@(U{$-FMoeyINOS{xsIsHg$QC zS*an4>GM{(#oEH8<85h=>9Ks_UEExCV|P-q7{lvmDToW$Ty_14Mq>fg8)#kQ-oErm zMZdaRIT(DenCfJ}v|=oTM!oTs$EP{s+|W+B%hDIOI0k8e{)USyJ`R-1H4mlC1i;iH2TIS%*bfc?U&W*@@=RpOUg8K+tUF*=2E~ zy(pJ^b>v%YJnT*-sUnO1QzbPfMoeD9_nKkRN6HZ#*pQ|xmX{qzJ0-yYS_v&`tz2_^ z+%6XDxR5z-Gt9%I;+^~l#V5)cPbV$KRMIEaZc^Dj(c`l0xE^dGa1f+a>YJPofVX_% zC4fP^3c&qCev1IUKcK?sFOx%vmXHU+0^IQDN^q<3NXWzr3`8ly1GCgfwppG58;U?va= zFPtV6fdv(Pluz+a3& z63=tZV3=Fyg?C(jG(>~XX=DNPZ2>Jpobsh`5qMi!FNyQg3XtK({O!e-mz&4UwC~Fk zt?guJHy|dS{Sa7OYlZ@o9f*I_a1(pa@vukYKyXmz)&#Km}BFTRD{Q zRZOJ%t;xFV4a%ntuP;qN=fvZN?UiKwkb=1#D<7H!=WWO-ebhDF5aizIKTlD1jq`rm zEf@U|kA$nt%0)84^APs|0rk@hfz|q?!l`~Nf7O!{QrpIL{kXW3XWKq%_GlD5 zXDF%VtOS#d*lWQwkaV>aF!5Br>RaCc1I`R~IP;I`D;25y9ri?nb;$wx#WU$yW?ujk zzk_u_#~rRD<97$?F6+H4*!eQ28LlYVps>`#nrWkgqzCcIV9ywLUD{(2aKxY#!bQ*B zCMvI_cym~Zp`+>%^7LNSvb$%;-}ze+NA~j%h>v0h!|-4a$6+}`TH#F!uE^0a0A1a-;)^$8hUZzuB~M9?N^%ZxY&xb+NCNls;6siMxtoi|Xc}d>?45Pos2d-4n2&Sr zMPk>|So@b)bW0cX3qy=a-pDi0rt0{AKl%9m_9M}95p_oY z_X6vT{OpjJUD@M4WTTJECNTh>L%i}M+qyT5b#or0gXa7C7W(+KFtQ_hZk=wT?&dzG zfdR2ks7OLV)JQHB0Vz3na@mT=LLX3P5l6R`?Vcl`x6fGi3bhwE+hHSO`ZkpJ3l~il zJZ~G-2At6OKEXnj4A^7AxY}MHT|I} z^g#<}^xS~M16Qtq5t0vMK1DGsnD;YTyXNaN4EIT#*?gp|?I~W-#wHn)YmeZ=-a}IT&fYS2%ibcZH-b?|D)y|z$lg+#GBzqMZ{fy+8?~F_;n|KUe1$*93~74r zF`>XhBh8Q;^%zlSPn3H1Fw!v`7q2?>R+nd`B`>mzzdU7n{s|jOz zQxoy)*cUD2^kWSmz=nP+DM~YUl}0VrlC+bX55-H3cn#aJG<3TSGX#oT?JGvN+{HEy zwVsN!ng+*%r?$?ux${^|H8T`Mu-8BWYZ>KL6m@O{?4@ENM=8yQ^Wx3QPHs(HfhYd_ znqkI8;2Jua7-k6mF(D7=2ihM+z+c%0dS$>Ul@mQ%4Bs(ds5iAa!XiJV_J&}wi=~qfwoi6C}lCjG8kk0swG+IeqOM>n~ z5I*Q0-AJU8wu3r^tg9EfL+j`?5YHb$C{txAT^tRHJ1Fr5jmJz3(=*i6Rq#RX&PK8D#h#`FS#=I>h;Cnk%Dix;L+S&N&3O|7BWVC8%gge4!U z)}Tfn)CBb^nlO~M)3Jy-^qDSy`!c#vk8-f205F9kRlu1US=>utAMw}@D9oO-9AJ*Q z=?AVTuz?eIk=2kDPmN$fP0|Q{asF*O6S!~RSzk_poNJKi{AF#t1_#fPmD*-G4Tq*7 z)trZlQiXNSCR1Hk+47w%e8kxfkWBnDh`I+R&r?W))s-u$zeF=Xmf^G7;0+AWJzE~q zEikUC>JrT9b1+ZfiQq|Qs!{4fFp`azXOk4FQ~^uF93#*>VY?RZg>R61Az;8kklplV zxfFvCt41%u4E9cDb`{~RIv?#^^DL4UJTl#s2JwvqMN==&CHO}aQF_#7bYt(2>xQBv zZbh;9lm>h_yKy8r9s_a;4WN_0Ix@x5W4Y9b-HmWTXU8ZAYN7%SwYeQJZ%6MhN12CQ3EL1KGT~cK4qtGJ2|Ir#WM|J-g&1(+$X+kd1f3p zSaPRg6DBGatz!k0NXLmd#B@Tihw0965Qd9ta0ZB2XY6LP6=MV+fwTynd$SDBnWmkh z=WAt1ukI_sLoiNUQTCvYfre{l{u-+BX_;?U;*{|otoLDEuCiP#el2s6l3^2_EsGK7 zN!tBDgaV?gxwaVXZ)EAu;7pX89SfC~YaG95>PF18!bLOxrzllg(@Njtz-v z2R7bmJ&eb`24P}?Hr(zA$3F15{3F3#i`Nf6)d?v5uj*do3_5hCZfqWNuRG8AIN$A< z0$%!4^Km{&c0O026#`vBVwCZ8(BC?kWoc;%1g2An9)^m)EpwT~sz)n(I3O9i???5f z0B%3TRd_Twh^)3ffmuVSWkSG=ZC|e@GBUBK;#sb6cRGZS8gO&1n7nJa_4lL9U;r_z z@wdZ`tgLPNHg2h3uwt6OhU{6YK&2#*2!>Mgm)gK`Gc7`~#LoIB0Nzm=)1?imGz`0@ zA!B1;bQgyVS=HtV3Nq>of3u)eQG%8Ro=y}o?RrDg3h$9y1|a(uMPR|}GK&DfNLYwF zlVMnpVoMe(>eB8zW!|NZP2LF<{(04OfR#ZZWq78?wqm;>rZe)Jh5YED-Fh(6@NpW~ zG3qJGPGksXjAu(aIPwBBAYCgi91oPS*u!|)7*GnaSBZ|)!#5y2YIZokLst|(K}~Q- zz0S!~Jz>=26x(ZmB!rta#FKy{fXKF69(g;XPqUY%yH2r9N#3ege!PP~QDt)#J8Bvq zci@w5)93B>WftGRVZ5CTjibq`e;ljQHfERB2sMiIwdpzT)ySbiQi8&W^@hC+`O@ez z35Hwq_tz}@So;-Ez;rLAW5)5H2H-M$t!wRV-&_ydL2ucX;Cdyq)muu5J2tOaHJe?V zvl=~ISQk2-rQ6El&M*;}G?JuQE4H{1AIA?uq9)Zap%rdim+WJ_K%vH6Vp1NjUN|s} zHGh%0wura(8OI(>x9UQAL2dME-FkrTfpS|I{_^$ApxC|+$?eFr-b)m~ zA4?T5zOIJu44#V0Tl}RyY(6F=2~1%H7Ucbj2R8@>$M({5BZC*fc20oT;0{A?1tQSf zS%&FfBk*zaDJEY1tAc2?0G8aR4j*QTWC-xML3leptz?>5R5q%9z>Q+DKuPNpJl8y z!%vqN--qu|wkW6QC3H++XU{v}UJY$~&eqQjSn&o@O3^Vto%6(hz>tsu7$P3nGy^lo zPduv#P|`mUzCrM`Jv(EAX6HyrovfHMUMKaEQ6UeEDXggT>{zU-XdeXIo$)GUa`1)} z%7aHp6dkAYZCQB<`y9|R#1s(hGqL?7f#6*;^TI}_R-&iN_!*JdsUaaGUpYZUi$^!@ z`~!J}3@op&_C$+avqD-Cm&(G+y<2&GgHvhF#>VI*}GXRf;rxuC%yiG5UoY1+Y!ZOg&TYuRWi>*wI*MKT7&!Rzb_T#*p3wAxsif{2%9 z(P6V$l)nkOP}f3gg7weG=UPNm+%6@*WnDRq0)ep5|i`K@{28>1t5|=tn;g z?vQ&S38eXv2TL>vE9mf>BvCC1fI-or(a1oR(~_c~F$pWH6UXs~m&bTjEMb8`xO;LV z*dCIGgQw!E;xr!7`3uj}io%|%vF48rdgdiAMjBmEIh9anPch1lzwuxyqXtfN%+qNr zlZsV8KCF7AGurp>Lyg+Y=N&q2)AH?dd;TzrEc z50D1)%xB493KhUkUWDsEblMykVzrLO#6)TCaXimpCRDr1f1)|d>!BEQ#ETM-XJoyD zT5%TN=A$$wHH7M8f7=LwP6S`WaO;%}8B%64dhLdf_DW)B&InX!MTqvJYpB({TX7r^ zs*j>-W!iL@X=k^WfgWBpA1>|wBvl8SX=4VDC+*&IL>Z$a$h>>jl?^u~(GA?bheX#F=k zJAMn_{*avg%6b25)7vjSQB1RpOsp&nB6L!d6Sq{+R4~X?(9w5N(oxaK5emqC$k%)k z$k2Xr%X0k7BO^#urF!~CRi-v(CS!>igZlSQy#EIC zvb{Gav(YnYf1p(`cC>YNFf?|=dndm?5AlDEdD;I9i~QTBxAzXznfjW)^ziBO%xv#C{=c$b&6xEOXP?9BoX_aCvJDtlKDCILYV2UU#b}&< zxCFdtfy@Yk5(Jge&o5qErDcl3bz&&(qLz1Ncwz+U6$B^iw$2aqZ{Dx;wm-^7BRi-< z8ED&UM|odj-|*iqo+sCE%b%}?vATDsV`648->4KDoTnipa9C9gO-RXZwsxLrP4b$z z4hOvpeY<_r9cR2F^_?T%cph%@h994vpPs+3iavkYy)srlxJzOEy0_1AU}frfjlSwR zv2-P%K2^=y$c1>(;My5?C7n8oxmJJPRYf_qnOc5x!{B?XdPSqny4}H=Kj~g{2y-!X z?2lRhBdq2trF5fnR|EM{_&-ci}S&HHMr~3 zqJ5Q}^UX~i8H2XACd%UsiuW6hH&7+SImaL) zja<;wSURXfaIw?HkdOPy_((TSzKimTc8LQ^EI;zj3p#Pd$o!a+=-77{07O~?iW3Xq zQhPG=3OUmIs=u`ZpWMdoa-`FPV9AIR25J^_CkERS>sdoNxEknop$|)`1|WK3st}O2 zA;{3N!-KRXI(dI)6^v^(21i#&l+J@L1>ZR=ItjwMb}@6)o4(q0$kMlX{=qYB=(d=J zj`B61b4GtY$<2wr5d?@M_C+%?TtA+4cm4*#W3g~=pmZ1B;M z^L%m+y*lwm^YapbXZR_e110UWCVS)vmKbzdQ#$xPvsffyyGX6Bv?^GNcFU zYQn;?OvWysg|VJx3|L*iA?|0Qm#Q~y%q+_7SgU_mUfV6PEw2Tfft>zuT}mk|F{V$y zDahm8(UZ>uo@zuryyKVm33^(vq8p#4Ohbk|)oxp49KC2CK+7*~c08*h;P8Wu6_ z6ji8S;6WzUCzGsR%$Xiy0n?B#2urvH8yuUAYQb?=OJq_Z=(C?x+f(p-I8qjc!8L4i z%8s$#CiRL?ZbWscE)SVsZRwA?{EX+6Ctp?;4euZD-_8MnB3)B_ae4M^ad5~6a9%Us zM16j&YQLuaIJo_IzKy%#|LWlQbkjbuUfAsGNSf4y`*v>R>wY%WZ4dtb#p>eb(l#6U zwnx*|HvX2v`%Lq;431W0kXDrQ{l~*bz0d}vWDkwnV0EsyFCp^}_5s}F5CVz#!d!&z zGIH`&gu+}@G)MD?&?q2axNj|HY@RqQZ?FBu!?>^Ct9_s5pPuJ^dm*aD7IVCw zZABVxqxr6FU(bLC9&KMqIr&5nCRK$`P@%}#Y_QkaOH{~4QxoVe{Xv2g{0ybkcHWxe z>A$`JjK^>PILBX$hl701$hJARr4}_U&dwejp$C~6v~LS9Y4uZr@s9v%Nl{`n41yqB zRwjlh`Qmj99$|8VM>M$wiefQlzCt|^kT?%lD=e?{*#EU{ga>&)-L|{*{5rIIfT)n3 zvBUZ+G=l#o|2P@r_9qRI_d$XNT$hbe;U+|2#GIchtc|CVlH%eL3RK`I)~#|cqq^Hh zW>JFsV=j?!fXPZWk9sf{`5P5QqB-r1GHv7TZUQ~DF-kP+vVbcffa1ef4ob5fk^x&+cwjJOxvfp5-Zw{gbhjI1DSh)oi=p-!yf(y2MgTemve+oe2o zQxl`Zplbn)glcM}4{N69?d8?JwlutbkBCUW(#@!NOs%i8^|_+_zE+J2{+1DeN9!~l z_o}j5b{h($+|3rdA;XQ?nsv$nmUUNkd$IFjQFyaDl{IV!*d6hvh_)Piry6#q8Mfy* zy`w#lhpituRg;b&p{gfnoR>pCeTPqShoTPAp!c24AQfKtv1G_WiIkXg?7= zP05K84O%8lf_uzn>w^V$Zw;%wpQfvLr`!AFzpKRdlHJn{Y^7OaXi&}DKDDedDj8z~ ze{kcZDZPrgMLSdmFZR4-_SeW9OT|(=#Tm_l%w9RzOUVkOVgO2%@Brk%I^E|v{reL| z8W@H^J8Hs|JPCFEiY9SmDww=QnN~{FQpoK~m#|qCc@MDsUWJyroYt$(C;SWlZV-|5 zRS0IOR37Yb#mU4>tiGhEBwVA0Q?&+18v`+p{&X~5hlDcGP2})wWFAe9_$YFbix3{pQjk&ntP=c=7pmx^%eDR9;Kf)AlB$$7?uAxII(vI zL(>o215o}3`Isv$GxB{5gta<>QK^{BaQ)ML^ThJ~k?;en=~04ZG-3`%0Gs&etZ5Ab zQ=%Lzl>{ujpoi?ltgmbGpyTafd$?|$FYhfGMY(EaMay^k9JwDQf!#PP^Js_Ed8;bU zCH6&9`Cm)f=XO^W{7-t%XNB9$IiT~s5rq`+Y6fqoey{K{06SCL|{-aNnqoj)eA@h? z11iex5@eId6KU;a`2#Ju3?At)naM^RQ+)IZOJbtAK?$o`3*;D3bM34&JIPSVryq6$ zdN}%B(Dy$u&nTIyNm7TcedErBcct?q9e5)O=HYdBXctikdyt@8ISA%4bD%pnfC&j$ zg=An}sk>zeYGq8A&cMG%kK2u{pWFVdEf@Bk$VPVwE)JI$2A-aI!~*>BE}jG4K4b`x zQ)TBP^|8>>B7%pr*ki8;fB^bfDI$#1iNC|#8Rd&KFeIxKy1L9Gh8CupE+Jf84|#pS z4hA&@76*dXJb7^i%Bh;>b|DVnqJCQ@jLl?Nr|+H8gNuxFVw>O*j{$L>%(;mBn$3{sDX)t?{e5y# zF__T`l-|;rD_c(SihJz}-$hfF!}bz@j9g2JI&WmgX+leFNl@ws3}IO^GI=II$3ccF zQl-~>&x4I+PvF!nIVW9-D3ZQ?v^$Jb&|tMkC|Eb#m|@=oqJp)|gY1gl#HHs$4~u`)E}ozeY` z0R7>vlHtYp3!{xq^(6}D9etIpD;GC#}TNZ;F+Xi ze~j%|yqK{``07`eFq>EIavmWY-!)4lxtXaQDh=jdF~0~K4vwcQCr16i!bUOY3|^4T z6Qh4Ouhf?;i0!)0T2-Jr&Q)KJs zo6{?``6VJ8RtGss=L06@ae5&W0SZ=4bASeLGp-NK6N%08-wrihCD9EFhwV>j2qH2a zYR5D|z_gf;Y_@idHczUAQ0brDqu*-PVD%OCLYP-ht9S_vt8k5wP^|_$OTJ}7mldqD z;bRnJ9V-k;IV>GF2_#Jr7KNIl?#xg#285-58xAwgYlvLUuqEUfCT@V@o@lD_5f*4a z6{8JXfkU|J+txTnC0P-JLs%ifvi2#iHr6Hwoi7Z5;1>&}I|ic2QPkoqlDe}-q0ti( zODS$E@Q1UV#6Sn|vZ<`JZi?rRR(hzy{GO%@RX1M-n)o1{UBk7)bRhuLT&AnrzEYC* zc#gxWA;>vPV;CXqFQUgtxo(iRDON8n|5m71OG2&OlQ$rPsH*Qqp`aFwvtY$dyrkgNpHoe!6Ei9j%Xdq^7g z_W;CAi5620>PkFziUdP;*a7wRq3@whq9~c5U0We{Fd#ZWYQhB;?uhvSOfNVkUW%8Ct>F#TjbV$9Ta6W$Y+0*Fc>xH*~Zp#q+pF5H-1$ zs+l$G+@q08z`Ix$2(axjV>xX=Pt4Is9Y}hW zS^b(OuVi2%{V0~g+l7g6MnCpto0Pu}S*4C!Tr#zKS^};)Y)dwOESn5>wW)0fWie9; zmb50;WWXdhaGO(pR5(`L1e3~IT_)ffU)DOPJGvBHV`=Xk-_q}Eisp{y1?oY{B`eQs z_$SgX8@GHEhc0U2l&Kuza7Q?iVb(V2L$14~1R^0ornRuTfJ>mKFL?m&9}LlnC~+g3 z%vuAzWF&4OzVccU$LVFgizE7N0~bDGV&SVyskJ}4Zi3PUJNLzlm4_%Xn?KNyg*Uic zEE*n@JaRP~D{Xy7yTMx27ttgSC_LJ2Ly#xzSi^vDNsPnHVB5M6z+w$4QVE~#ho3r_ zsfkq)sk%R8(YaI^zXKaY#EuHY7+iAB*DZtjKu8Yj@`3P5U7rabaZMN2a%`%qKUAv{ z>8w_{#JYEZ3!wV$^e$3Rjrz2G;)_UYA*t4xnbz+6=Via#5fQFn;LDQ{+C7yO;eviq zDVq6f0N@8Y90Na3$kyPCLy?;oyO8d9hrMw1;L6}z-jV3n!S$$}I$3(M?prmKo_t{#QBHh5;Dy61aktkXrT~WxESfsA^Bj{?}y=+h+_qK z;1^<3CMwMhgIHjRNOA+}v(F-aql-8Rx5_1T(F2LB9xiS)N0rLk%)wH^yPodbv^1V5 zSpAyRX$sSucB4k`y= zCkAk$>Cogy>(5HPz`aoA3z#M8O4I`#);T!HT-Xx39)3Imix{GjLvtKT1C!g`5{tbi zm2Sf8NDcmXJm8gL;gkz*3MIV)~Q5hG}RqLYnDDda+G-WvS;AtJ5 zIgZG9xc#>8W30L4tVt8ktg8PtnKI6k)R5S)S=2c+T!3q91<5;!0?-|fL zHb!qgEl@pMb1>^=3MXm|jgkD97*8S8%CjD7Zg0T;Ec7)M&q_$xH7H$fta56gRoi)a zCevk@4Y~VS5)LDBic%jJyyhd)at?J?*e8@1umpM=g|az8!oWSg#@ad3sGH$#8U&On zZ@Pr_!J@!JuI`uKyYFV{QrbJNnvWMduCfYiQ9pXR0 z(6u7tlU5-VYLEg?26wKOqc^_*q+3b2TTDG5B{JCvIwkULt!WOB`W;MxQU|j^gAm5g(j{u=40(%WA8~eUbHedIZr#iz zv|lz*YQEYy!XHSDX}hH~n%VRMwiFu+B<|C2VAbD%B-{Cg;o%Mm3W01$UMg))M;|=x z&`444)A%5hxjy=?R_odRzViRGj{a-a{%HCF2{wIBZUi$uNX8$)M`u>@#@0aGze~`Za4^O@RdGGpHo#?-S=YJ5X{|E>FIpN^X zTmSzieg9tK6xQFib^lMEy8mY3_^pol|4}&p<~I002*>|RlS)~CD-`*Ebg2K;CR&m{j8oHB}A8REl zFE{Uh-%5H@dNqAKKiOK|58X{B;FDyMl1O3Eo}Z~R;HV>d&fJn%A&3ATY25tmFcZsDJIS^E7tlO=ek5U z_oeECqc-;g`cPzdSwhH5vkXVrycIB@VsP*3$6y50`@0r{_XOX_{Ourm~TpVo$ZLRb>P96<( zha=3hUy%gIDn!vMWZ~}^x^sQhIpxG}?oG#<_P%j*l11)HME$DabD{&YmF4M6uyrN0 zg~)3_tKEX=Ez50RUBrr(8MRq&DQik6EqMDKT+W0)$$b0`Gv3qrbV?gIk5^@~lqX;u zM|QZ)w!Do97z>jt363x(?X{NMdH7TI&85rUzO%R@*0_Z`f058RF~d)^Tn7le8k9kN&Q1=(HwwH2CTITl17c!>DpD6vrL z>^d@WM?{5y)Tm;H1yJ&P_}pOe1`GI|D*?CUv3UIA7aLbAN!FT6p^oZ}I+vmmUtJ#% zCLGAR2Xw34E6NnZdA*nYFnPVGd|yG7dns?j|o*#Vv7n&M((iJkXH+rpsh={v-iKGHL9-O^I2aT;t| z(fjgMFm8UDWn2}|E_C)#0T)=Tr94`^I5&-}f zbIj>E$7MH9BE|6gj5S z>sT2j>hx+V`<$7nU&}+=Mvf63AVOIN;RtpK!^ZO*PtXlucA3_TbBwSP_%rcDPH4iofz=n8-4CcvGwF%n>jc&;~+ zPt6^Je-y=qVp#Q_Pn}`?d`Oyg?kxf}2;bDhrFY~{CF9mOBn$pE6g_M*gKuZ=@_Go8 zlP#Bj2xAd3oogFx(G!zvJLRYo99n?2u1g{iwAKu$MINjcHETobq+lI<;wk5=GeR3*J# z`2J8^$gNNzY2d=en{+NAQX|nfX1N_V!!p~u*Z@yK4^7*zR&1o0fVPlYj)x5vaBbE6 zy<|?NL|v%luPK>5i+&RfgV|InjyHOFn{0+uE*}yO*Ce$>e$Wn*3PXGrqnn$)7tcjX zQkB3HSc=F%&H$`0_C zB&X6cU=h5G>5+Q-OxlfPXHTbAHn5}LNmeHhYJn9&I!%$w37eD;9;RH-5~Ko&r5DTT zlVzM&0g_3@s?8_dgM-z6Bt*`n1OsVgv~rkDhON1D#F zLuwlER!xs_Fx@kXel$5PV3i0m2z>*{MnF)d(52LjfV~^_qdihYjK?t~ zwGi!a; zs3gbGN#Fso=phUG;|ru1!#^l?38_gZ6#-<4Ng$KkLG3xOvY5-MTclUC0uAztTCm+p z=h>0nN`EpZg~?A~(f8OY4;*g@A5$upX6Y46Sb!7h66*+AvbbE5YmP%?HeLUgcDkU8 zQ=QkZAa%J53(Za6TZMRSs>b5?c<_I*_mh+f}_t^$cP_;v!!`Qvpz<+hh`=UH35n}NB3NkdPNv;TsLoE zj5#k6;f^`Y$2-_}ahclE19UIaN+tb58~rYwIDR2}yb1&C=-9|`#|@6Y={N|PrtqEk zE(%*3+=J|c)dx}>QzHzAaHVLS&sLE(IyLnL2{dWgy0MXtjS7gBLD|fz8DO_Qe)S+9 zg=5_PIih5k%`8N78)w;MqtIPHt{!Cg(HHqzNV#>d64GfnE)5un@(*MoIclHheZ*~= z;VhnW4Y#{8+IVox?(nPl40b%i7(LYC=Z_cNAAW1onkG7E1~G_brV>IEk&ceaqnI03 zf>@GDXr;S2A1}$wGgWkVUzbAOG*A^={wZzJNN{r^{}CCx4W!+bTmQ^;rjt-ip8q>D z)WyLmK=_xmameVr`Q8QW%`#wRvv;`L(l(ItP!3p29DtmhPI3aMPCbPB$CIQO&uu<} zVKWRBk+I^&LF#@}dD={2Ywx%;j)UBY`0zpkH$np9YWIq^q6P@F_lGK%!!`RzHLg!L zAo?2&l#Kig#@jEW!Uc&9VyIM`T4H;?lT8rf1au%2h+aY8w0$BP*E(CyvUik8fuGAK zTas~kX!FldlkFM7X!g4?8SgNW8KJ7GKG~aOI$D_~0G`w}XEdNt8E8kzwc@hgnW&rK zG05bx0XJ!EtQo~5P2rW5A%ueOMw0QAQI(i9Xyq4xdx@<=+E1^ez=k(^ra$6V3JneB zpNcZIAj`)olb~>OJGp+kU+4#mzDN;y<}-CQI-KdIHy?Cr)9=N|?Wy{NSRbmYKGspI z#S}R46+Th!v=^jj5Kh$Z-VS0ELEJWqK^~-Eco7lSq8wdc`UYE&@!(9L71 z4!)|V8KOUcUJ<0oVJWx+?4jxMYXZfJz;{y`W$upI?%M;VGb7Qv=@XxFhh-74vPR}+ zPMGa+ok*_6nDZVa{Xhq`R9DPXDB1z+A@*$9hx3#ROr`l)p1oyb_4<|zh@^s3NWtXJz@+#LetK8V52irPMX z*_R%c+(p1aw~2Fa*-4zL=mw4n_>FF(fv-K6uuVdpB}qms8NCwZ+dFUE$ABOQ***jHcTVT=q!u>@JSpp$mIbvak4?sA zLp_rl`{ryW)veRb5OW8@PL<`O<$YK$<_2WW?eG$(QJHxi!l`*wk9F2{_~QUA_>*aBIh9`3 zWnY|KIQVF2CY?pa)NIN(xEw%h_+MpF`P+n;gv_Pq8 zn!G8`2_QOg&o<9KqUya3w?5kzD|9$qP#NAvCJ7Qw$j=H=FUh+Bpr!p62z>-yBVCxx zg773YHlbHT5X>rYDQOm?pu^GWZfchQ){LsT01!>-1jQ!9V<(TDm&*|F;yi8Xy5zOFHls|M(L6?D$N;|u``3|pO70h zH*cZ~w)CXjVNs!h>`}1{3aeHWOIjy$U-@Qed;xqK?u19w)i=XA&xb7U!`%=38xuPY z-MmtkmqrDS1xI%Vj~J-V^Q9cbuQZF+LwYxAcAL5xB_?jx^xMBe)#@Y@AiM5`xs#UD z6&AZ)GM;~Bn3phR3lyzL0S^UtexE_2pnYlGN-YG~9u*cKT;-~eisOmlz3TSCO*;zQ z=jnP4ib4Hd<|&hA(f6ZGsyp61!NNkBZvTiUJ(Q1a)3b%A3Ca_uv{IkIWa*=e~Wfjoc;htnV&Hl^#Y-gvI)i(_xA$EiO? z=q4YodglaBbaWH8pU5-nT*oUm-aGHp({Q6_jGk;xzFSJ_o+Y$h#JCJB4V)I4uOTL$uZ6XfR+lYNXpD35%fQIrZEZnT7cq z@ZJ++#(?DLl7yQ=#2TA-?o|q?BobP{l;cT%!*fn7CxJlsp`!7NPRDjC82ZXQJs{J| z`k`e}f%IDaoA}~Ovuz;jGx}zVnBRc4)a zXp=C5AA-c#lJ!8L#1BmGZu)5?klNM{jV1Tv>H>W}W?esa`#cQd2eyY2>#KP0LM|Bi z_12v;SjBA{ZqaeTV3U4Wi`z0AN!(5baFJYZUza^9b_41-4k`f}r_k7kV@hwzhG2e| zt34P=!sYfzLy^Y?1`0Nz8x@cznc~&bgf#eB4P5%8>j2Ld3>T&qiV&z}QRV_BmBcPy zCXK7_yboNWr+*7N0JRI#&K*{kf!Yzw_fWrVq*k~RbwV5XE%x4Q%s7T!yvOqxc}v+3 zt0ZleLd2PN#{A!HJ5X(McE5fVh#DOOmp{oeO{b@l{_pX9x@6*gQ%6V?Ztm3R&kagFfMLC?9#HaT&ueCHdHe0c?p6q43 zj&1F@Y|kWHgG!}rolsrE;gYRihI&dz(*-Dmt(^Q>PrQxXGEdbAb9Qb`=REu3+I(=r z2!XGAZ>A?|TuTXL8~jCKeDERbsuUzwv^ZwddUqpyEf0*hg1x^LH35LJDue4Ae?;4! zLI4+$3c(rMkC0P?*4O+x#6jXv+pruG=rh;xaGt-2!|?h0G4#w+fVc1aE^2EWeizA2 z%&E6ufdWk7)EW2`dp`j$&(h^4f)dTXrPCDMz%;hc~`mxdF8NG z2%ZQPhU8uK{{_CKQHLz?Z5Q zw)N5S#z>u6wP{U1(4ucgGMhMh4Ku!SoEHIs(D~{4h!P0ej04kb(~#orqHhR|lym3m zMe9@Lq_i$pwRQ&A+SkL+)fP`r==JqG#$3KGJJ=rUM$(tduik1#fIMhE$3);%+aQ7v z4*CnfmYk-{wi{UZLMP3Qs6DHTy<$jmN9GH2?-Tffkczbm_F*jxVvma!0;(kr{{yaQ;bMF0__R=h->_CEjxmjFeDjU>M`-`-_X~!pprOC49X&ZFT?uk}^?2%Tnyel2u2foXB2Va=`>31^xVh-qJtj@9ugoQ$cwv&&KyA(suD&w~iJ zg&D{is0~{5!#kRgOaAtGbJnm94;z>Hep5F4gN#OO<;0z=gGvkqh52uqbPK@^zzZ7U zCo*B*)#WH(p3>%Za}>1$KMKCkV?C1SO(3i(f)9`y zv`?-f%*tz;t%5MO>D$6mXluf|0%(MJ!x)>Qr}dy`8l)!6bB9KIpM#7PU9I%#Qf2xL zvjKc5s$poTVW#xrO?FA{A#XEun}pn1pbB`Eo(Q#6Jz7%dScF*LfH~`LlbM`hwe5?Q zj}n9FO~SMbVIe&vI#My$W;uXzh;s{Ly);BdWeE{e2-(VR5ZzzV@E>1OmEpVfzc#BR z1IeB?yXhI=VsTqsTt!}Yt1L;MQ5=?G_Lz`*hESOlI=5WOVJJg2Woqd>Mr=Ce*vJ8& zxuB)?d)tOCJF@(QbQkzCz^ArS=a&(C zWOQXWutm_=H2o$<;F&20!n*2YaSy!IDG5=&LhgiyqC$7q6N*f3sGr|E z1*#G>4#k=+VGBHx!OHA35WxPr4?io6I&`D{ZH!10o=uf5f;D(3a-IGq%t9-a9RDoP zi^)BkMg^CjU?29pobh^qW`%?SLtEVcV{EwcaddGx)P{=ryZ1y}lEw9qS%NVQ#pVbc zO6FAAVXRHix>%To`)^!h7J?I1_mPY22S2*A)JN#vF;ZCL=Gb?v!6Ml=loFs*l>sWD zMQ4Ea0u}WuJ>puv%`_Fo*WA#1U^$NsmB~;63dyc6XvAn{Ftc29)?DpMW4%oWf$%+AMW?JM9By>6(@?3Vu%A zq)T|9aMW!2-Q22ev>50U47jQEvq41jD$X?GLK%FO7FQu5)-4=Xl(zknn~AcJE*2F0*hYs z1~9ee50YY^pSYSJN(6C7T@^WryGP|P*Jnz1-lZ%%fp1KH63EGXP<`O*h=;cclB@ZQ zn_XqMVu0gKI3mEcN(S5;?79s=)i3xt&l`w8kW?!$D=1KL7Ooy+ZWa#4{*diHjm^=x zssF(8Xfv*t!kU@m?RE5*)|sF|LN9X}`y(0jL}Ij%x*PPEsM)!U!sQ&7S(&3tjg8F> zP2Bp;3Bx@DfhN6zBVu}X0#fc}?9$65?3qC-k&X?3>CcJS2`brR(f<4C$=JX-yLc_z zl)^Ec+Fy#*u2!0hhI)y#B~pEZBe&Hb!PgX#V>5zN&H@=19PBTL|lcT8;~{gCCQ*?*!I;aTP)uN&b^3clI` zVXJnC0>b#RpxS-{wQ)g5abEl|l}HD@S+s%TRP+l>E^^#NjY(hwz50?HVNZcF#TboQ1kV0QBQJ$T6juocdU8NYv zBcUcZ@9O~-)L`{<5Qj5hK=&%B@b8pNc^71&MH`-CKGo8AeL30!XbrT-fsSR3ETe8f z#&kB<9|?pT5}j6zQ$qnK+I1J$(i1gb)pJ`RKl7Ss7WAKCxf_QFoJ$v*;-E_y=Deh` zgZu1)c|_4laYTV$yi25!)vpi&>+lkQu#;td2+#A$1dcW}r4yEO*nS>vicn4hfSN#Z z5Tlb6EWHK14nWgUINWa>NIit&hC{@F$d6T?`YPQ{;8N8y`xG^3>Ed89+YIEj(%$ z)AO#eAh8*A+A)@rRj2iIR=has(}F>qJ8q$I!GT=&$nm|gfc0>z_HdfS3N^4NFu<9J zxK#G&U7Xl#R=>e9K%i1Bn`y zdx+;qOvK$o7%mKCAX<5qL2-@F4N;4IHsM|&TNbICopu!cApOdm*DVwi=juqha1AUY ztyx#2@ZK|Gxb-^NCy^LPmB3;;%X0b^j@x*r3;6F}@+E@}RRZJ`@b;((Ugy{mY=d5t0#Oy{? zJN(=#ZpQ+vSkJzjs3@+vQ?7y-!u@@!?(!NBLNL}xSW##t!d{!9YC%J3=u4O;{*X^p zBq2=<2uNWrRtQM`{uZL98s=eJ9H<2%NxZIg76B?v;*3BvYAI9xqoax)hFvt- zfXKn4ucVcS`z1)3(DBb{E3>orGmD!I6t@fJOsH z{Q3jbs>NGilJcgI^4hys6kXo&D{mI3G*Gqs3$Vxs2()AOOxnl-XtNa;YAGUbmoZ%1 z1TFh@wFmhYx&a(IIvyaLYvE)lFh2M-;09x)(KWN_MjcQlMej^!?c!*iNfmkPQkFBJ zf46Kr+WM5q#t=B`5T0K!$LnBXVxO9URTl}KbV$Cn3zm;eu>y@-{0&!-ycZaP4??YS z2Jtgu+3FN<6OQHJbaAywE(|;YQqNGl4EIdWkvhybEcl>{lS%s1=n1iK0deYcHFwMB zZP7trvsxVefsR8S|AbVU*YxNL|M-hRN-GiJQSHkXjP#KB2hY%uc%}JU%6koAo#@7h zUc)OmtTY)hBCE18^av#ne zlzBx3(uf%vaLv=TcGic30?P>b7f0D|9D4A4U8B3_&Ju!{4y3t*Ve~jUrThlW%jSXC zpg`+=1NNA=h>9vlLwYetDrUa|K-qiiN65fzMyOH3RQaxk5=&&!KR|hDAR5A#7Hct& zmp1iEL;~Jp1Zd|I%n1*fV_738lWPJWIcoE+wx6+Y(v|t}nhU>Pgi?s%uuN&z^auQR zn(C_@X(k)QJe|7lipZ|j_-;e^lOpv@(aG(B`nLV_@B)}@<6IqAhqDRGwqYfoHm;%t zAu0qus$&^I$9Op6*<3SFhlU7E$N;DH)scK7=EgLI5m$L6300ZDit42Q$p{B|TBh_t4HN5HeB= z%5(6{tRB@smwRb~h}e1_J!i-f$}`lfYS`p+kx*EImzPdLc)pOKk>tH>;)E+OUQy!v zpahmxITv~<^!tMK5B+pfO`9!pjy)UK$V9_9hdn|hkegAG!n00a6QT4BA_gJ%!h0BK z&)(TXtl4_vvW+TbT{(9DlD+dhNC~9Z;Sj-U6q2l^JeXM|uipSbKN@il&@&{3hQ=wm zcjZV(SBXM0A5HJIXgXNi?tpWwfS)WUs9n{HjIDpye1&}pbT2!1rxgkC{OM>V#!OHI zK@oW58(oxD-U?2v6~e%?Gs}f{?GqYBaeVA-lg0?XP`IfimkGO!%14Iz8%w1Q(1^*#dqbr-Zg zz-oL2!t9rp6K)MMv)>3Czw;{mUbabh$Yk!`H%E(T7IOvqHzu68TMA?g3RyKJP-mB z+=j^oTI&YnuAo~=30A1xRJ#FA%~6MZM^FZ`#7j$*D!t%0E3e=V{f^16Nsme0f^!<+ z97Wn4PO{dJi9-58r1Y~|9P5`g`j(%XImIEvK_kh6YoY}vJ|Cj7_Rtk1VWb`u$23Yi z6vbfdt>ZT0%jfq6aUefeiDif3-lilj%1pNPby3b~B?bnv4~1E0!wmUVhiSZy77frC z9jho{G-+cFK!Nuk zc*}Ei0o^6qD^T@9fkE4xb(_ia9Vpy>tNBV^us@1)Y`lw-w!){a4~ZL^hHS?wTGt21 z+{Qiml?O-bbI?XdcQ?u_0#9x4gIU`q;dXcWqgIeD4w4VR?$IIWiV7g7t;C%Mh@&%j z;BICuVd%9-+ESi`EoV)7>kx0a4+$C#rb(v)DVf+E&fwv2=>i4$DlAN~T}Oq=`0%E{ zw4LoWn>l>`RFLI<#nz;johv|m;I_MMHSHkQlZ;OU>phD@GH-Kt;F~{h*unND4&LgQ z+qg#UEL>-qG$huP{rdX)()p3;JR>fxsxe-XWDhM80hOLh7-AtDDxW~` z&MXw7x6$6hz>Rnkew?#iVU+Zdc_fornRg^Jmi}AQ%E`c1aG^;UF~;Qntc6C94u4gW zXO}3Rdy{@r=7}NOH=!gXxJ?J4DBW@>Gl~I-*9%C)%NYeqI5zSyUtSpm?6V%)q&=N> zHbNLP*13=sD>>mleit_Ty`aU@ktT9&MA#D?PUeX3ZUshb3~KNAYNa7q^u9b9-?QLY z9A7KaLGxH_fjZLr*@Ou3JCr)lH}=6YoY%UL;sNZe$_krN1nc4g7<&Z z82*273;mA-Oc1T^X&Jx8}k3jhV*|R=Qa0MvC%?JzHHYAnCNq(=Q3#gRVUPi8APi4d2Vk-^ z)C%LjRdpGyUp+ph*-T8~qifJIsdR0SG8s!5ml_?d+*Hi)Tp{NG2y8RX{VhMi`5(Ct zhxZ27KLPWTQ~t4u`B%L2|FYHbukIiJm%;H{(T#uN`+t?t{}15!|49ty=PdaTJqiC8 zf7hSV+&}bPf0dK{5A6DXa7_5=*8YRXUxNZ8!yned`(M63{x*mDU7eYKB#rb_ih}^+ zsaKD`y|2Dq$9}KO+oN94`yJizeM!0@6Ykp#c#&xT?xL*skdXxxq#{Vu;ke7_{qR|R z@q;AKh@i;xStW%ATNy}aJVReVi|dg;|2CyzWcY20{@-gOF*5u@J^z{z}z7JlSC5p{O^vk0~`hV>m<8^UnbcxiNI(7 zo?-ts9r>pKv%CTPGb{Ehfd4j%|0w|fkVkquT4Q<(*1u6nVtkva_ov7tF)^_Iz0%l) zrcCTQ8$#!;8bfvVit`d0sbtX{e4d1dnH;SlL8uM zrhh?dZ&EL)XsUuD?E}($-9vZ3kw#lrT#UA+in35iZ>V8pa$dDi88ekDnr%sGPg(X+ zZq~BSXh(d^2@zFg^)a{f7_MgVxs$|F(jRPa=*|S{4o$y{)IwC7FRN;@OP#MPrfkpD zw(!bhHTQ$O3pERay#D-A>X>ZLs-5*&7}@9A_2Tlo27`nH-=@dQOW5tbQ0q~vOC7%b zl+QObxO?InT(k{U`{DPH^p!$E6I`irLMgi^L9t<($Wcjl?F7Vl_RmG}S%HP~A|>;Q zqCjSp`hF&)fLO(}x{Oew26tF|MCwrP{;nB~v>B>P9_wt$tT(5cyj#TE$57wDziOV} ze?`i@r$2~waJHqT*LP@pCV}IP27WcE@4)Zg8^^Drgb`u??r_i*PyIbo`-G!3B2WjX zY5X1BQ^nv*^Ob9Z#(3`jE7#K`-nMH|0^AYHw`|kV)Y9PFBGd2KkL=Nb-Awlg-*JWJ zYC@Nt`O%GBG8w^x$D=q0(l*H^838;pHaiBnb4BQ`bKzDe0d-o(td%4PcuOKb>vgnw zTp#KAe*Y%f@r3FQs=Ol~<9bz|(6SoPUVCu4ZfP7@>T66iIQR$~&X*=CeA~z^ zDKSsbCQ(SjAJBm&gUnRU4)KV9BJZ)cz4?LiVksq>i3s)80pT^h7mKJ7zsjGDO)ADB zPFQtgtC!^*vn|-$e@?T7*wiZDqtEgjX?qby2dIELq9EyOC9uP#yQxaqW(Vi^rZcs8)zn1;aW2FZOmUO~!en71HxRYiQZA^L;iG^ zM1GuP3gDE6WByfG!QUtcYmFx{{vx>R0dNE=xIjLzU)ixg?Dkc@F zJK?d@ns=A*7OhSpBz#*_m^TB@@k+GS@vv@32ybm0&+Kd*koN^s!9Ene_Z8XkuNw3@ zqW5J%Uzyk*(5HC1zjrr(T;mV!xi=-)I^^0W-faW8gjNXB1+Agfe@P_JV{3(cN=eUV zg@@-rY+_V)xyBf5jDz=TNIRz=SxnOQ&?73NREY7Xmte(B={Zak4Rml%Kbx_KaJGSz z{h-}A&2}wT(mKwHKZWOwhx;^0(TMS>y_xpj*f8E{rJYq(?RZsj({VjXbh!dyp@DUy zvrr*5NxJsErQ!Gz8mmX>!a`4346T+Hi%9AIF>-MmwRT{9A58lO>?X>ljOyc3wFK~( z;iC{nJD%<1*SpA%5@G8rSA)@W4K?q_AMiC>zOBkcdsdYYMV&76*G{(^<_*J% z!piI-I94%oluW{r@1d$ZH!!Aj=ZCJU_S#psFm5;XIZwedYp`j`us818d&%b~5Xg<0 zLZe2uFiQxbzXmO^N1xR^WzF@EBF?)_ok$xIex32PdhhwjF)~0oECUfeJVPaQk2{DL z?c_sY+$^*Y>k;#0GQevKZeTUEZfY5M^l{33Pm`j#as5N=k@T8*$_WUEFqyX`(L5&r zh;z&uC%?%8FeZ#BzmOIpJL_DX)2nQEEL6iU|4TA!|hOng!g1p(+R;#?jds{G|a(W&%3kB*BlQjI3#co;)XG^+M@cp z(H~r=k6?oI$S#Me^y*~gm>lE|@V9v-JMk{-m-rtCP495RP8i@qqnz~GZ}v;}*(pAT zkmOcrJbZDEx0@b4K>kvNa{PFV<}|BeNxOQc<~c4>nT7)3<)clqotIM>~a+M5*M`mWwKJ+c3p?Iqk9-UfLB0RDd;N^ z&btAqWfS|?3B-9unNq7#rt>uOvdsf(An%g=Wc@w?o*j;Pl2gd(ayctnEUx`z+dfqtQzcPWpyI1~y!Svjz!xfSL4$~uy%;Q^+ zLHe~yJ=xHIz|nB{%b+@#>`odj1Se50iFwnBSz2pJh(oNsH(>F1+Tc+o2#Qocdo1Z@RSK;q(>5Sh6_aDW? zf5`N3vi)>T7FK4q-!eUnzmy35f5Y^&ur$svvnc&HOiw+)*nd$y&q)NhaBZvp=C;$O`4rvUte;$e8JbY^+WaM(CmbfD-J-#gkmI~cup ze7lKXQl5Vq;lEeI{+UawV_;%ddxMvSgW?*4rnPIMz|9SBOQ_e8g15^MBVi0qx34Eemo)PRN z#Wxcs0AQ4b&-p#e{&cVZc=i4Y-?wMTgi5nNAwvcL6byt52e9=O6TnTPV`n5JB8N3%xcSh%PY;9GpyHDMRc4WO=&V_Mf(~xj4{Ts16ot_rox{EyJ!c zTNo~g(KCvYR#f0S^~s{7-wi+;NUn1#>}O6$^jwOsG;cPUAFfyf8mzNw=r5H*Dn|Qa z@!{wn&bK61dN>~SOn`iFKovqXwhnCtO!MyVZ6;^f(_AoS_-N?{3da0}1qRM~tPF1= zj#JnSw5-hnNT*udi=KcBEw06dsGqfZPbc2UWh<&jI-#BpH;o6rnqZNy8qMNf#)qS4 z!r02P&ElI1wf?2#>3%I*WF^cYmgWghOOsEC;3Bd6H3uw8~h+YCcY zfs^Qs2q_}Nimj&_RJ$+Q^BSlHB^5qP#)fQLA5N$kp z7`O3m(B>yl>}4G+jQjdW`Zl7*t0*`gpPeS-3^&t^T>gV|^BvlkCjMGe=|~)iPy%u8 zw?XNCw#;9s^;w5MfGu5*MOi*#kG}?g!2WOrl&`WZyeb1|4^fOI6zRoq-^V*Mh~%rg z*IIq{wWJpiMcR?iMdtdk>+u=Tbq@FDbN|=f$^JlAmFp|-Yy82J$d9|M?lh&oSKxfN z;2wvE_eZZ;TdxPWp0>xfMc>yGxg2j}Uk}&tSzfpAqxqhL`P_<2eGWsPO?@Z%_7|-& zoECa*?y7Y+QGKcKeAK?(1I7@!*V8AGsjscZaF(5(Pwb|*A5Ks$ZJKdOHK@3gk}~Wd zdMJqW*=gxl7)wA(6Du;Q>C2Kx(J)-g(nyGGNg7cyXf*I=EO6_XAtBKq)jhtr^6~mS z`1-z%`*tz&y|SADEg>^Q`Dk6v#=Qd$?RaW^uxs|c?e=$3WKe7)huQC+{yF{a7EsKnc*8RS%7f29eLUhDOE3oHm4wpc4NZgnd&*YW87b+jX@$L!|N)(tHQ*2d77wi1)p`PvQ6EYil7CM^h!Y>5P``osz) zrWY^`7h~EDlZtA5-OSK}Q^2h~PEePSJ#=h5jA)o;b@YMJXi{_ONojtbHXg6DJ)+nW zk^mbBou^NaBemp)&pHSjFPeyx zNl<&w8NbyBMrdc3(y-9uKN4FSzjer?)j`|D59^z5JV7@)4busT=gxbMO!C=l1ap+D z`-)*ykNiA*A8|~?@H4?E@es{Tc9Kb-lHSO}t`juj9>MDxepw^j>G#BNubuuTIu3{? zx~A!=vBBA*$UtK&j6NAux4#@{Kbxj_W-j zT%ISGCDkJb@h8Bk;)D!jL^!YO&4fA}$;o*~6BRcNga+RM9}QqrU7wJCUGMw0o5hg~ zP1rJ>$}t#?#K8;hm^&5~hn(udmxM9uECy`KNaKbU>KtCh{cdE3fYbidM><5;6Gj?* z0*3I=Swhm-7p*JO4(e!fK*Jw<0T^3s_e9he6%Sv z0R$C5Km;c7NP$6HKC)h`pAMdMNtzIh!61oBgk{+d2AY}D^MV~8iA4uU$a&Ykg1sL( z=Dge=NROUOeEZoyNl8y$!`p!s(S1FXpE!Tm6jd<6fCI6nM3gPjz)6bBQ+UJEw`$tZ zCQH!S4#R#8Oa({Ri+n%0zVtUdtCY z!s5W*L2(TUiat+S(;==DkVPMpjZl#RSZULt`8btg+(^k3^9dla(dv+`4Jox{we#c7C~ zW93PYph}?oWkR^`0Ez;ZnA;Qw(lm7TWsP0Wy?)`o^TH&Ae$+3wO}nQ=+$m>gyXZxn zV$}b74s+X?V9=u4BPi5F3u16_PN(2;CXnbU zBQF-m$>o>}8*|(kRqJVmS%<{*hs=o+-lY4kccK1e6}gP0SleT?`7R*X06dgn1waDt z3pil5n!}*JL=+_l*tqDH=Y4ddgw%_>N%y}ulxB{E+PQ){Pz~iU>p?2!PLzBJ!FI-J z+ISV^Jigdm|H!WEK^b@wt)$i;jFif5&f|x@nAODBq?v@wO#*KqrxU0%Yt;PV!e17n z6Vl2i-HHOYzg=j^Jj6L3^X|(5gWk&+xa;eC`?$*T8ZDHT{SX)mcr%1CDfiQ|(5T?N zyZW}aYkB0uo|+8mG^er1F;`t>BAEn}xYYM^gtI+n;*4Pyg+&sfeehhyL`H9|=*A*l zid~PzrUM`)o#P?`uF2yuq6I+O9nu#x+#d1fn>C*upablG;dDD6TTdme=y zz%+&*3Ra5;C$Lsd0N6A`cpo(RX<2*)SNVCe^ux_Lq|-%FCmrk!Gv3!|mAk4hT0%00 z5_dMq+9RBQc;tV_pAvEBgInz{DWod#>OtHo6dM7coEx-1?eYaO@!O1PJ88bQg@#u{ zp1tF{+@Yg1hIADO%zR1V6&=jpgM3LW>U6_CUT6XpeZ$}(73P5@OViOp1Sby2CYin6 zNht)k3UTqf?qk43= z7Y&Cg^A-d^dmI_AprX4C2)=MLi#ASMtX94huzd1g$qxLs>em|pCPkrvczKFQAH?+@ z6jzrQn_+&p(_G(Kc!%BMBJmmz!3#z?<{@e&nTo#VG}zN#5`$rf2z9#_Ea+87qo*?9 zYcofjF`4*w)d&$IOX*aNqC!p9_`Gwq?1HOS2 z+bDvQ$1JcGYp32_CptgG*IhFXrI#hGNx%($a4#egtSbS?EkA?i6}(XKmG9AmGNEQo zxTvS`w4AMq9K#{;b*2f^^|)bX@2(5;CvS-}mQ6qBIiVBnrF910Y;t=JLtB&j^2h@p z-zTTIfh=K6%Z2J7gS}H;SVP3n-wK1aTX1e8%hqw{mc3a7N zGVKGguL?+1+==`2D1r_8$b{&$D4GK=lM;!>N7M){!nGus^wI(H_My*F9Q;i?49lb~ zc#}#5r<`TE=c}S}UTaVw)WuTzJ+~orUHQqF>rg=-sIcL4Q6chz2OUr@=E_hz8iI0JI4(Ngis9MWlYqMhSIil->iyflh2 zflr^M^jTDBK3pWu^KQN;(@ZVK#4E>wN*5k$ePC9vZLzM)N4x(P4C6-_o~_n#(biaj zI)C@^`&@;pX02u*vA)d}A)Cy8c8=EbpzL%L7ngSuKOBPlb*OSfs9nC@OiFUsp?`1!SEZ)2FHE!H!oy;OJkMxY`9WKTomRAZ2l(@@ymgl4M3E|UjPe;I^X_UyHiIH80ZGsYmOij36Rcif zt9(QZQQ!o5R^Bc3M4>X%79vR z08N3mhQ1(etbA?>^f9#~SHxeZgKe1=73=2y((qzq8V4)+&A|kHez(j#F{H{sX;_2V z5VLIvso|~}+(2hw51!FeX)bhmBjU?pqP~ljMf@7F8*PcegzTrP@ksNHqGpB&#<ol4^tM24q7adK(buMR;4FZnanWb^LUYTi*7{TR9nuxkMA8$98%o3Svx~q!B$iI zE~JyyiDdM=VJdVaQI^MAKg50spXvkvQEG_9kUp0X8^wAjPn-(L2c^+1JmdQ4lwb|; ztgLRsrR*nDVwD)~_r6S@{-~{eg0eZnC?p+tH$pb%Dwl9+8<%$_z1%IBQ=0aGM!D8-3->upvDP1cC8PNt}dv@h;w94-uwoiVb3 z>9~{-`iDKGZ&Q!(Ye`u`%fZLs+Mcp-Vd8prw+r)#FujsI;huSsr!v6s=h50hh}CGE z)?A4v0<>ke3_=;~z-;pf@?c{>vDcz%AyQUunjaOd7TQqa?S*x)Y2s z*qRG>*;LOSl;$xRSl1NcO{isjG%Y|ZbEhhc^RMlbO_aX$+F(jzx!ev2{82uE-FP*m8~d^EqA>ZXz2-f?;nNe5OEowJZor+pRol|1B# zY%2)(Nb*?P;#7cH>opV5&{zB+MAnpiPy~rmOBZEb!|Pt!Via!;-U;uTZ2j#=4Liw# zU?~Fh0g1#H%BI->>f2T;>3sx7lXB;Z;rbN#6MIV10Jb5q$Z~O1BuiL;RrUa`H&P|h zaNjbFu^Y&zlf!U1&KQ(pD?yc<52@2ze4nctOAlP~2Mc3rAFJm0iv{y>9E(s^lHpvv z7>FkTH{5B`FX0QL_aR?Rf5lcf6bIy}nxZqBY}OY@-q+;ePZbp6yqGdM}@++n8nA&N~BZgP9$dp3~?f-i$amsiK@I zLWw59fgcQA+bm)v#Pq}#c$ysnaLnO#^jfpiK8z=WQET=3Iwpfzd-i=}i!R89=RTJc z5c}~E5)F1!?FbMZoy8Y?`M9bnmab#lNAcJ_z@qh}niA+>*c-ZAZ}`~4+lcsIY zQDeW>3=+}w$0787FDL z$v8jA{N#66Tc*PEdxZ>T0&#^e>;u+?IHv5g=%It41u7WVEEf~q=a3eErZ-h`w1jBT zE%}S_h%)eT#lfUg1aYAkpa2(xU{Azc<{w~+FCWR3sC>CRi*5p#AzN|co&}Y&pRGGzr-ihux=X17($`9ORGIB0|o{UyxsB4S| zdU*d_B-rBfKbS`Sg!v8!bXwovTNu~FG|%LA6R$aHEWhJb30Lfltrb}f1Y-={ti8$l zE(Vfr^;}s;V#cqp`l>#cpONqFR2-jgP{)_77q^X5S(Euk&OL`=r4kwL;i5wbeUw@6 z>RI?A26JKS!-H3VQqmA?EG4H1x%Ea~Q$0iNRs+6|j#PErGXTCZb`Jz;bM_cVrBYo5 z1h#GA;YW7DpHW#P=gZ!UC}>hM&{(->XFhw;f8^3j(*g;d>WGr(8UTR<*;BVJ>64bz zRs><7Mv1*_Zv_*celL&lG@~7XprcSu>qsiVM>FDT!b@g1GnI!Ec(MxNq%_(fzAtq^ z&oL+CiD*k|wiRDlpu9iw>3<(|MvP@Dh5*(+mCdtUnU{I&()fy-G%v$nz8die0sp9v zxwrJIjP_@txZ4iCF`JY-ab;^s%=mOuWt$b{tsrz^>Vz2VxbU@HOpkkft#eXTgSP4r|j#@v0kBwZ5Nlqfqu4TGH2H=#Lzs?X#wQ+5Hab_-~b+m&%w~R?MW*7U>xvqw@IMtRTG~_At8T(Wpj!tQ@7W z_mh4aQFTF_zqy%6pUcq@L$nME#PO7h#H@O7erjHJLSe5>VLW2Y3Yq>WF#d}-=bzY>_WMZrhZOj4 zu&4hB#{$!z)!F}mW8vS!YJO7PK{+`7jvsdgG|)wF&?SJO)~FB3A@emyqto`-A4{Dr zk_DdMS!DEn_Xybz)&-cZ)$Il;GfRvzf9;q(S-hWTi^fj8Te;B@h=7b6BYQ^9hLtT1^!jvF`bZ+vzdXBsJ)&W z)PJd-}D>*-(l5a_&uojhb+>+iD3Q<^7y~S6!d#g@DDxfzllKp3(xxhXWcXZ z=41a$9>2w^ze$0C`TyIE|Cc^(Iz=aaM>ks|{LeIyp2_DQRWn0JQ~dwO$H#9T;J?Pl z{~8~E4JG;4+QGp5zZ;JHzh+PW+By6Wp+>BKv-G1xFd%*sYJRd!+2P@*@c|v-xKrY7 zs^$8B&;=|Rhi9G@A8ra|YHYQva|&`ywJQO&WMP=I8CL~AgaQFz-w&_* zceMKZkNk^N{xjKrE?5jKf27v_R<^$%{L5ATDYE??WAq#J5TB9hE92im8?pSEA^P8y zF2h%*&zt;phWpIZD*kl9Y5m~|MbNFPX_Sf<`~qOF50YdQ<)EPaQsqg|nkQdP!7>>+ zSV7_G#VyOBMV8eEY^v)N#l^VFEH(uP05~K0pv~pO_5JK=&_VvTzu7dHgX4MjV&e0V z&Vh~B-NE&1Z}#LP?#Js>@L_~4%Ea57xU~{0TgA!BjnBuOu$yyZ$;5}O&0X2WWb%PI zd3Yg?Ei>{rO&8FpG>P|%*S9JeVRfZ8$>`REgZG&m+KrR=q$aYC<4fg8yrxII%gNNH zCyG_<$&c}kw`R5v**3Xjna&5^ZLiMqX9pv??hQ6y)XwZZxjzhwUr8i4W$MI`?0>y`bOLHu(d+i-3uvvu1c1 zvaXS{TqhO3%UlV!{NPL$j(&L=go>c#XMV#IyC;%i*SVZre55;M-F%~4yO~-zz(;};hqKo!oveM?AYImk&P`UdKhE3g#}SpcTvL4KTl91C ztif65^W*K+5!T0+q|3U_3-o)pw*l)zQ4?!1=K(-!y^HD11Y zR-m9@d+8cVbOV6#o~!niZ3b^?8^gDwZ(gBzr6bLz<$wXl$*sO(78P_vGaA_=sIrxV zkM1iRZ=bxnT{`$0PTZHR{CD9GJvFm*t#$tOxfT;fz?S6_V%X#^e4R3UfDZ}xeS=wu z9A?jf2j<;vwTH!A=QY>2&~ow((voi+m}k!)p}iAJ(vM<30F@gReS#8NnzJ*?G&vIzBCoZ&A>=LIZ(EUm{=iLT z!mR74Fa-`PrAh}A{iX=ZVu>LN_p%)qV#3t>4?7_d+bGwUID81XQ@(<`}s=6p&w1oVmrfx0jDABmgSh;NmBc zJtH8(j}`&GLzrK)rwH&QxE@>(G}wT@%A1+^HWb=MYp|xAk`KH9dYq_4Gx7N4Ym&LRm56 z^7|D($cU-!uOt%msRN&aX6H>6`;v;^Y2oNLFhq4rgRP-f!?_}NjxNPNpyKMb< z^M1ehcywh!o>?kn^_yYPbCln z?}!W`kmZtyT3H0e=iW@Xx3<}%GH#n5GD7UhqXk^vJ_3++w;MzcH&+TCpGclgcMk8z zWO7)jfDWB-arO&zyv$(rfO^t>Pnkrba>wXirx_G^crYq5 zyi6>Gf_P+-A`pzfI3aA6$>%0XfJ_j$D-bhsSp@m%U50owgjt!#l69sYMavEpP;6)7 z5_NdKNLD#`xzEYtQP)uq{CM;(%R>UW^mH z!g?VsZlW*#njKQV&Oe788o$ADwXrkJW4$&jarY7pwY<%Qyt5@834T14J(?^J~fgE3gi+C2leymU)pdHuk1IG-&=jU^j z9d`~*HkBbq&6@r0u7R2GeSs$jYCqS@ z{oUJNoN!$qi`E8iQZJH*e&qTGqAvq$kGH1LEDy_s+-m~3{8;-~+5m1+)iD4MzntLR zu=NE@SvKI?tjQOT;MN;LB^MX zr+lTDeBMQku_ac^Pam(vh60KAnRfu5#V^M&v$SUjThEwa1rzLCfrB!z6`@?Z=%PJ#imj3djY2QqwkuN+Q! zNU>4gwvgaLpC$xtqm$F8_7my{;`|C+5b4<4_%RVIxZ&1mf{P~o=s&o$4aW`0^L2G& z2O*MRMyIO^UYNfZfl`fg+B*hWNW^oEYUJr^jah)3R|6a}VdyR}W#4rJ5%9cadkn+j z20}%=9AqG;x+5V}WOIH(uiQMvQR%$tJXe=;TdTL2-qx?=@d-`GZ!S;j*6R!Wq{i?E z5T-6|9!FT|H>C77+*vY9M!O_+sJrqKz|$U!2Xj81`de>C<}T>kRB+B}vBNd@@J{N6 z@93~%9X@b~7*eiUXo5&Vv@;|{kjW?dhY)i@#Yvg@n6ffKIpt|XVNq@QNTtECpjGw2 ze80AZylbxg23qWbo^P9s7~d;cF}#^L(N|#I$}0?mYfZxCVTZJhs!7s-J^YH#>To>g zjYMGC(`MCyZUG~qCPGqztiFHS?9EkHJ?@lhz?UE#@6jb6WSdYMtWV@B7{FjT6@i<; zmM7Rn6M0o<#yFLJD;Ed`78q6yfg(^0&3KVP5s=`fd(^H3NX--8*=Ygs-bXoXx&kET z+;MPsYk=bJHi8Q>G= zyrU4Y%l5}XV(+PiMAie33nbUYPg6S)sd>!u;$$wypjpZT9RN~4#!YB z=RAYX1ne07myTNVVSv_=nPq}-UDk&Mn^UlkFBiF(G3@yM1$`XjE-yS8jv&nVATC-w zIiXp{15{KsS-1y)md2q@h++&N&2_tl=ENE!?0#}%wdqt)>{?S0Cz^{2P-fiRpD)i$ z7_0Ahy_p~^ekk<4v2K7AU0Cg6iSX!${T>+Rwd79(t^{H5tzc)=1Z9K{Pe&CG9tD$r z+b7^i28A;GjnXh}2fF^fGsvUR@IJY%IdRN!?X8IjG5lzt=l_?(ARDfvW8Y>7aT@X!5nEV#VpqzT2Urftpo(%yv5^)g+N(SAmYyt(hK*VZ=MJlJ@ zjQEU=v9x`DX2Bt@IspF%amAn$O{V1|vE5t=wR~aE#U&T^n=LKf`y(6|Zhb-IMk1Q= zSIJNN3i+_l!lJQ_=`n8Ms-oBmeFpnQkfWJ3Iwme|W0!#u{@lzKhv!DzjkVpMhxLMn z#%da?IjP~0?t7)TfcK)Nm#BC!`-CsB>7$yNnIN|j&-PGKL*ExI$rZ#a`j<+eTz$Jl zAN;9%0lNwxKI#k~5QN!ANyrey=n4XoF->2v2|GzFD=Z+}S0)RylaqanGs~u03`UJ* z(>d-WB82s%Y7Zg&=K@!DaT_l;&ctY7T*(# z*d>_wVyH`LI0B$JA525f!pKf6b__M!>?s_fcTDfTDNT3OExPCh#t#W>W8-5OAwNxE zU+F`i_fsr?g)Niia4**t(P)Vqptk(DL-^|rOgB~zk17EE-NR%n1Gg$Aw3Z(}n?)Cp z=7iy#k&hq3!CK)LGv6uLkTz`{D`8pDSU_ZqR`rO}@xqJ7Tt65szmOqa>#KSO7TiD- zL%t0izMyR`Q7|w>iH=YcsB`QaDV;CFLc{E-eu;4r`X`FcjRz)RyH0f!{@sJ2>CLuZ`sb%QF`|wOC zg1@7_^fWlh3ciKER$GnFcFl_8m%?IP<@YFPa&kwOQf6UovxuCWF#3{($68~`T8A3; z#Y5Gxn?|7*95!G_mPWj^m7j0~QWLI27(KtIS9LyZkJ^~`A>`EuB#*rWS|NW)7y}|; zTGf^WxC4$Wj#|FCuPFQM!iKO@b^<3jIKdZk+8jxl0Hq?ZL9!Qh{0hrAWGqGY-1Tnh zN>b-bm>DzO#A9wR2dpXiq9XF`aEZD+aPlUB*|Eo9WweRWFr@HEyXQp_rgP#YFZdfl z&r&ARSu>Yr!EF}H4J|nLv9YW}F0KbEgEom96@aQ_HLj0hRF$+!3A9WsgvJk`IGC>H zu*5JjjiZ^!DjZ~|7L88QQ}W`_JJb{a?1z6Uue;`E)4=p3mjE3u z!`b2W8s6&zU`Y;Uq!!g8QZ)yBk~rq)0%%#6t6eJX$A8;in+w_We=TA#j&l&Ee?~!- zRsX|_FMMZ4?z#kR$w=|zm3 zq=t*dvZ8jiZyXm=NBD+SDo}f^ zQI;*X=Cu079`t1RK7;uzei@6p>_o`q2a=;`$f!R^PnMhfdeEq9xF9NOSG-KO_P8{uXSnO(}F$j7y*M_;5qLs zLmTD&wrH&%RG)53j)gmC6wo@1bD8ONT)>SpXyn^3 z>lTUY!tuCy;bWDd+d`|A9wItp4?XESSReAtO!h=A8`*k<^Gc@e&rO=kTKg2p=_R`8 zdDf(;uUL2W>L>DGVL;8%N#E)_PUpIfaJ;9sbfTVH&Wn#<-7do?R9p!Uf7Ir<-6F}S zRfJ5Y&-SHnp2r01j%J)r>CSEZ>6gKDTgxY|+r&l)^39eQyewt== z&%kwpU_Fsvv+Iu+gtDvAeUI4vZ$y+aOq&sCQIJWe$SD2c%t_=8uD8E>5Y@R=HmXgK z5L;zbi?E9+cbNP|wondY!f&GaX)l~{QuT+F<3NYj#7T#J^kk|Ir$5?@k};BDeqGHJ zVwcKa{P2tU+P_8uF+7LT7}m2gp4_cPc>vrTG%6CtB|pKM*jT^SiXkAxVN+yar@e@t zT>3^8U6|EZtJVu}dP}@epY7t%s=VilSf+m_$nH+`WlvX~VBrSlnJbbla(61?1Y_@Y z&=JftLtd-&?Pah?+1;=S-pcs=mMiYq? zFy2<7QIL;C*LW+WZP`H$3Q#2wtCy%C-?I>md1kPzdESo0BsB<~UR;dpxOxbwFWFPW z`M#Klw;|tD=jU%&%&EaVJ}=i&$vz#S4v^S?Yw@&QPZ*2Cxu?M9Wo~Z?TJo8TF1p8V zA1ruO|7PT%o`No5Z%j~2Af)GS_Il#U3lKC4=msHg%LYK;O8tv`Sk4XNM>`}u;d57J zGycv~9lTP=R~L-iG4+rIgO#Cj>l~I2Z9a?jGbiC_oa;zIe*kxHO;lqOoOYK+qj3|0 zuZ9{VPkh_ZwY)MO@=;ae5ny%b^@Ngz{Ab_l;E|7bDqRfqJnT{R{ktgZ#DOGv?M05C z$nH76OE5xkSv4=ipu3l!TnxXm>l(@v0B268eLf?Q?<*(<+4^_RXLfq%SX7&?fy_SM zV_#c*{R`@V2%jjk?1|urwUi2vkg(9DI)oqM&WyWikW>Q*-B~*%WCm%KJ0 zDH8&F2Rhi*6I6l9SoKD3Qf6-GEsFBew4fB`z(qykszQhnK*JxG zUPV~qgV2m5-BDoFI@bNSxm-9LR{>xQzM)J4{_lL3`Q%kdn3Ip@8P;49%?_x3wX0Ut zesA`5@Mfg&r8XU8LP&mE%psp9_Q84EIVUTE4I!T!?0hmSd_q9ZHkNFI6}me-$TiGr z+~I0XS!J}|ANccMhsicUhC8j21FxZj4D0hI{xG!cx{UCcjd>l9)IzX%U(W(GkZdq2 zNBzw1w)Zro53iAvzaM-KF3Q{>A0yz`;m>iwo;TOotaRy90T{?6ssz!TgW#BACJ#d{4oU|b2O z34y6+nkk|U%9{2Kbsvv(!s(_Kl1_~agV;MF3=bo;Z}qUVah*iL6?MM( zh(n|XLgeORV#ahakwHu93MADCU6Sc2A=AyM<^GBbCt-yCVKcP-^$y0jbcJ`2m2PP@ zLNW0wl|Rpv#3TmGkS$zF<|2oxZ3V>MC5|FUi)6_OlO)Wypz6jw6|33MRFKXA>kjw( zu)bmjr!!rfWG&FJZ9cI(3w|G?$s{%kwdpyv5D}V{QBip+d%}%XQ};~J;-r8pt~7V3 zQ4QFc%XdTzeQB9ex?ED--gvcnuP=MKtcZfs`T!EH%;PzelG*WMm5G$Q@QB0vn&^w)a5UTC9k3$6;xghn-Cd!mE9EYsAy%6oBoNe zd$<`^vk1snuWzJA6d*l%_sxs zY2(luEA$pd;tx0|Ebv+}NC-e(>=8l|4_>DNV!=Iv00tm`=0NyqaAG*Lmx1J4eurKR z_1?(Kl?K(m8DQQt@%FD_O3sf`V@~qBlHe<==#~J(F0Cu$T?G9ITQ_TGM^ZvDXD`l; z&F`BsF0IiGdRU12S6+6S(l|*1vD3vE)rX=21F5~+92!VL#27}fADPaqU6KXrsit^>y44(Pe*D?en7PzzWwwf_o(%#&S zG|L8@Yp^4a9=&8Y^bOb!31D z-?32b`WfA?4cuM(HAy~ zfYl&}QPbp!AN#^0d4A*@R$?KvSoI?ISHIdTp&lSx$umuIUze02bCIqkQYw}{?^GLc z$T_KMH@}{@(kB$nMcJWve~}k6t6dF1mr4(MKF%Q%{?n3P1JQx-tU2PQ2DeF-Cp?kzqObG92$9s9egL>dKR`*XgMWy29&j+AX5>;MMM)}@7U5t}P#76q< zzHwfb47$sQ03(gbsu-z2vB5AwWpKcx=F!uV**sMKVF#}aF-OpA(KJDOe*N8a4$*(m zdXvT-jfN@}6ur%xxwQX#Y)WAS8sE23DjAmPNwl^@Q)JBK&1?b$c|GsE-aPqVU6Eas zMA7GJg?q9o`{k>q$XLpf*iyK4h~^QV!DisOtMJK?;u9*tXXXL*P&av}eZF?2FWxDb zO*Kf$;@(tg$#IfJ(^jsoDS3&!ELaV#9;bdbwzv*2l(8m7PfRxqUlcVcMNW!-HzWk! z1ra?rB`%yG)@#~Ju9J3j$3aH8CzX0^f_a$lcwM)+yWV<(Km3=05zEn(pU3ko@9dye zfzzSIE86Q8i6^?5DXo08GC(%Nuxq9oS-@;P=b{=JnR+#~s%8qGIN_ogj7?nJ44-PIQE=)Tcghz0Hn z80`5zJg-^b`1XN!t>AXdCcZwU?7JYyLl~R658)4>WVEuc(Htt&3w86M{q1*^?2ZK36;i8So|zE*xI{$D0nlk zdN$jnt}meDx03lpr!N`U;qG2Nmq3~5@}MgXjz=00w3iOA(f^PHEDg2{{P9y48cqMk z*I;zLF{;tp6POrDbI6Ypp7kfooW3QGZhL;)uhmIjVNVOVmi-u#Ut^IIGS%WeZ{Jf` zct6WU(l>a4>Ym^|)LB*;`7X39aU#HoH7|mv&?ZfZ>#c&PM(9l|@S27#ScdOr`!4yS z&vRJ>qG&=KW|IRQgF9%UPesyG5DbHn95BlK;$XgwByKb0ihu^yEJ{-Q+{3wc-mkC% zRKrA*5qrp0muao7gj5elew<>Aq;|BmEJ}oSQ0nhDaPc14Bp8dk6Ty#tM^6lxnzG}( zdK%yM=c|5v--Y8e*?}r;)x~(flsphv8W%3L34aKfSLQXS29)c z!x^82HmuQ7{FXw^c=Fh@;qr$Q`C}5OML-kjyz$yQlWJk2lLcA!75CK)M$c zANhQP32WH`tq7P4O+Z7Z)jr3G+9JQ^jJ0^ElFuvZK1H@rlDIs!#`L5+RfLu)z$*E{ za1@nK*h+Y%K{s>K>kVz1}{)AHypmzFgAw@wP#F z*Th{Z(nfbsoGDHQY9eciWIUcWmlsJf&<0V!3JLVnP8$6(HKYG6fpN$1%lD2V()r-> z$f}9jy#NocT5thX;|;=y2ND$eUq z26K(EY*egGfHkkOQWju6U_uxh{4KRUh6>~))l(sPOQjp9B<=m|>L_?}YbXP7eg}b& zm&Zw_3ExJ}w%4>mrwXF$jXu;|elh}d?jSgO zyErNL?hp#XDzyk7CH-QY_=;ETC^|4WE|iKg!ph^zys+n5Hl1S%tLoC5reJVVhf;tn zt#u+}m@)Re8vzU3FqfcC%vtR?x5?d=@2OCCr;VneYjO}NmDSh;{#=IsX9&) zGH0t0%l;IN+jL3;|BaZ$CEC163MN{P?C6!jr^cc>T~s}Dmy_C`#H85>=@#jH{IkmL zzgOWJiQQ;zJF*72(NI3d+AkjUTdDmc%;MB+m)dP+V1u7`YrUn|#x?I^jk0CyH>aQD zt~^7K6q?_QtuCRo*K$W7TaI zhLM1t?8Uq#XI|cGNop$Bcg&AK+xtnJ1zZ|Q>MPcIryvUpOl#U{9k;uNPA-7@OqPb( z1Bk0fkavO*28Zjbqi^I37#=AEZfNrt*Dju69P~N*a#v+~0t5j7d|gejq{#Hhq{xg> zJpp}LP+n5e@_`E?8HFYax?d9l%LY&RX8A~QrHA_VlWl{6EoPt;qY=P1Xq0|zXQGxAvw&t8ZzB2K2#yMeE}oBJdf zW&}|&@JBK$F}`G)=b7*3(l$npPq$xc0?hNpeq@8hpu zngOAIO#cGK;KcTlyXDg|LcNxh^Ykud%rtdx6z^rju*tfPQQrr{Cq(q*#$y~R@3L>E zwEAJ3UF6GCHdW2NtYc3V*9<4?ZDxCk8d%C~Fzx@C`$t5?aL&2WnTaF#TKkoIqcP%Df2l z4-&_`NI(VOyL@h2MOJHEKf}Z|C}Q4CYoZrsQjd;SZXCm3#P#2)XX^{&K1lh*JWcXF zlgD=ATGzgIui;u{w;18tWE%p3tBvWKWtmNHRBD)&jPY6WPC9zk->!LNLC!#mYlgPW z<}Y*>=EvJ}iX$0;`ge~mKPTsL4RfzjcMd8cG|xrb#{&BYpNwD?`i#-G?Of} z!L^y!B1lS2V=GgqZT1iwvKnKO{>GDP^4(zqH#xG3Zxh8o$k0RIgi-x#hXNz#?hw6c z!`8U#CJ{Qbh^t-V+42}8tLecTfT*f*(oy@$>}kntAhTKET3t29E;ge|903cW7=Ikn zyvs@2t@_Nk8>tR5oKhoVYS-zT&=O{h&#~gwy4FYmjT{o*EDz24j!0tQH-rWs4NJVC zbID0$W$%pI5H9b2LW!Ja?Vu={T->U#M#a%PO1>{?dRZLmplYAVbzMn$Dy@WyqhHwrU9Yt?++SWq2( zaL}MGTv|#%Bo0!^ZP?dZCBHpvIW87I^q5HKKj{lMirlszm#OIwcRS>|&`BYx*_rT6 zBImz(aif8R8TKGIF>#?C4~HO`DLtJwXVknF0l6$*tWJgw)I>kPXxE1@CjR&$y})7( zzVJNaM!JZB(o(QqJSy-6D#$32qL?k*hGR79E3y#iM#}pwiFdMZP{Xgd#wJvDeNy)2 zbt0{8M1u(_ils2Z1bPEv5pJ_j} zFl|Vkb#MQA=$$)dC)(WoMEjfdIhJ0|A6h5xnjkQ9>@zyy;vvT`mth0^p}Pkif(Z8_xLxrJ zqlad=4fk`7>J{!ZF%+;AD^{+! z)Nqy)g~y`xGxd`?zl$@}SM&YBEeFAk^t7h<9a48i#s6IPY61dRWmOi>KXFlt@t!Zo zxRz}ofl@cgUS3O0EwWF*cfB-zAFPAPrZ~%oq z>;k>7qdN0}+bzQ1DTLlZ?{y`Z!bBVc<;_X^o0nl1^@A-Lv=l$|skBCKm@gf-IZFgd zU3=g?^&-sHiz>1Pe05hK+y9_D5(Gc*3yhHs5&%yhW$1wjUyCst%41uz z{mP&>4K5`slIhR>9JA_gCZsbX$7qfPUxDh3lB*-xBV%CP}7F0}}0Wc%*>y;e2ka7hGs}`bZeeJ?G(^wc_3`Wuy^_k;hP#lUM`R zBe)&sfF?##hYsRo*`2I=v2Lvfx7aBt+*p&s)Eia2)llNby$0Q8y>Z8Y1k?H; zP18dtNscEHt;!!QEg%9;ChR%}*V^=IQ5y-1(dDvGK0m)*jQaV&-iGLAu zScH<(;j)k2}x4yR%| z%&>3S_&f|upJbebI@-vRd%>mCAJ(w&vPaCLTO?qau!HN8r@6X1l z<$<>ZDdxJ{AP;B9iyX*qD}TKbUL9iG{`~mUFjvkf8t^n_G%#8ZB=7gJIIacm#$X4S_>HXixo<*XGjsQHGc}q0B7fVfN0jZC8Zw(F5MRy-QlO)DVP`emY^7Q zuIv)%M=s@@^1)gnce;&auS6&JN??3~6+}WAb=)xBrGD_<^g_%gsDl+2u!+{8G&}I; zdYu#XM#kdWZguXdMql;1=hsFn`Op&|oXw&b<%LJgWK;@T^-i8YM??xF#kPhE z;STW^X_HHGlhuo&Wq*pnAm5OVN>q}u_%w797=^UQWEKqpt>S51OnzRnTYMuup1$`JR^E0{Yh~4R(zJPse;)F9!x@|f#RD#S# z79H)-E901{wg+i=s5R$$htfR_)_Bm3tNU(-eC0AF+r;`?i{sba7z@|cAC*yhWZvNK zphQGX4}TkBD75-}^|bdBirDPl>xRACdtZ=4kDg$~$*Luw7@%~tb_--wq!tW+F)dsj zo58}zy(y6WPs6NRKk)qNd(1>xAyt-KRn_!UydVQ4@!gjiahyBA z=H*bH0RH^G(9Xrkl}dt{GH?-a%xawW)7?Q#|04OrkePGcG5f3Rswg0X4qve`)2^VWQ*I4oxtY~-*>OaWK$ux_$E0Y z7{ScEdbv?*!3t7$NwbpOiMdhE%XLM;3W-qy%PX3sQHGJH!^ZD4=fg1ZU|GmZc3A%n==TTH`S6-~@6{06! zf)Nlg!yaKL6QkDR*wwV|8(Qc9)EeaasVL!$NEfKbxM+#-n)_=FTsyc_xCJ0BIMp zI1i@~V`OjZ!tP!>fWwS>RO#9@3}G$pL~`1~1ot!-5DENPLk`RD9E%!uWV7#K_PQG& zyNJ~3U5QvKjDw}vc{oU@o|xj^(r7-CX2TxxO)q3#I#Z7r9C zPtv%(^L0gACZ03hYu%ooBXzM~vx_yB)gJn2^^P-)_ks0IhEq{lp^@Mr^81zq$My5pCk0zjlw4H4!@f5UL!+hR-{yP+v(gL$OKs{2gREh74=Q`}K$lM!s*MS0pNEIIP z7oRMlWT~d?&u!HxujH?q>ZfY4fcwN%qV63$MJ@p4mi=qQGI;Mi5+69oDqDkPaA4%+ zYF{9Ji~x*G>UUOvHrP@S;xFHDfqBfp3?t^94{gDtbVF%|(1=pj#u3P)nB|e&)o3jT zdPpvM*Z04CzT(>hlFm&DP$So7*Ca~r1tSD^L z&UF2ULw{)xc|tBbc>5URXI>nBQG^lXnn5DSwyX*Eipd{`JqQiI3<^$76dL>yb#F!g z&=og|xCT&dvxfL9hjh>-6DoU>jR&I;kMi-L48u!bS~(rEEex_= z`eq@(iIws0p0gS@6}0|HX#Qn_0P0t5}DfoEe^3r7Zl{6;yXF&Y)8@0e?`)Ep#+ps-z&6w4Sc z_WVp77e^JD;3ky2iS$xn1P%t9oq9)_@Ur{8K4iMhNR*C0In9VGt=Q<`OH9OgDGmn? zsc^;5Vi8(EjX;mVA4!?g+oky=iC^PHmCry&&vp^)oqz7ZUW=6|uXI{A|V@*GXc?7BR9k@Ck6I$iu#qrJxk0`v#21gObkx%7r5N%-;X*z>7o7U6rDd@%2 zK|U28-=+)=Z*anmKnJuLc4OgZY<5dH`bi>yI4)(Rh>&R- zNHY|4isk{?D=qnFQ@&prJB@PtSHqLuikOWac7&@y)J+4A7T(IX^q0N?3PRF96u|W1 zEMgAfwr%36)vqOAh?z>qJeB<%FySp-n7;>xEnXO+Mo~{>-Y*LZ7#{ShU*5sgj-20r zWeexFf-SU2}c;XHu)|)e0zOKJ?l>>x9 z`_w+$Z29=6dMLJmwptbVQuZ0`)`;*W+Tx~>(N@mbniEp@XQXM&g3F%CR=7s5jgrR9 z&xSDFEStGsj@K>&SwXrZCUHu-zE>%Smj@F$!C)bl7e(Q9gXxceU}X#;y7a|{t&`7S zxysLBfea=s+aYC$y|e`3{RU5nH2)v$ePvjkNwzia?#{to&cP)(1Pku&B)Gdf1h?QG zf?I-Ha0mns4#5c#g1dYt>2%+ozCANH)8Er~a(jN|d0!5s_S$u-R@L5nZ7H61De>eG zWQ+{J6j2DHd@%*5DDA)sb-LMogI;~<9TNqQ{0+;Fd`YS&FD3?ch_^by`+t)`p^Zt* zv?pH*Q}(CKP{|kr9G1S;7S~jFrku)M`v>8l@j9B3F&S7c0vWun?$w>Yiz27ZfJ)N*mZ8l{F!ta=|QYCUU!6*k8qpgAi*Z*FcEVk+_nU>tig!%k)77e(Th4qHJEgw#0xYP7a zbo3~SPi%DnS1H{n+{db>%I~7xOR+j#Ovzpk1*&IsT7<`0JG)HuaWViBjOYjO2YJAe**+-Yk_xz;c`7DNO_m9bzAkh|ebS zE3)3)M?=M^4;>J(qWA>QH+zERqKPu&3A2_ng!|Hc_k>KzN(`Se==Z6!ly11zXc9|f z@)@B~HD8T{yrj+=jyL##(w>1sgoiK61albY5Ox}BWK+4DGQwdA-iOpJAGW9;gp9Kr zV~YtSwHl{+E}MWB`Na2c4qDi@P$U`HJj2as!xl?R)hKNwZB6y;oZie#0}>2E^yD8_ zXhZwtYOv3~4R{*{(}>qBbcc7B$HLCOY4;pm53vSbycg~xw(nl>I9sjx$Lm6*v|WY^ znt=_;s_e5Db)yfBk}Ve`oU;@}oYlh9YR~pQ9i;ImURh6JD7@t6gg>d6r<|R67B7tf zJY7ZcHjpRf9B`z_=hNC;5P1H%lGS==t5x~MfJ$Dgue|AJY4p*NCHmP>K%wU@4B6s5 ziGQMR|BiC*K_99Zeids6hE0*$;0=pP{_dflfSPm)g9=4VStC=aBX!3^A0b_gkV)+3|5rnuvQxS6e=)i6IV*k|JtI zX3@?l%%(2m%Zw4JJxI4!AYnMHt(qWt1NAB6mBV6u=cv=7TDU<~fRq3TM*zPWuhW*k zkhR%7oB&NM_PtSp^#HmxBk0*^oskx~-6W5hW+>L-@vOqkR-H!3;fTR8D-6+7<4v#6 zL48OJ)c%*0_jRdq=z`tP@Nijnyh)yLIHjoaIP{l4dB-B=og;|d1i9$r5`xBbxxq@n zC~BWTcGiB1mtwc9Q;{2ximWXIrhAQ-P>)AVc~e~Tk+t4y*E7Ev2Kn(pv%9 zeDSyOK0))sle)=Gfgf0qdN-iXaPY=ftYKkv?+bjZN6ff*Hvc6(icnvQvK?Zp&inBz zH;=t0Y6z)m|I3vE!tS)bn)ANg!)Vu#ENcr|Q=#V=a|)AHb);_R1gz9^3O7PQ$Whpb zMYm{-RY82JdhFSyO>PLT7Pe)v)#TX(uDG87iBJ|qf++zC#BFY*)2Oh6oF23hMI#Te zBlRU|GOV_ikDk3hPDF}GPEnuI=BqD1 zGe`pO#n!TUREXSC_jk~3Jst#(Pmo%K^iM^SmxSOYY#N-ny75W%X}Onz-EBzMBN;Xxc1lI0vCyFF?Plof$In9h{$X zs{<%VpO`}q$U{Vy2}cUt$G~hpg~6vVjj$A zu_L_86{V0kG5MT-C$m`qBXCaHw{(qp1EI6$ZL;ZgtUu8`x!eVCRIi@35Vt*Hv4Q3C zu?zdU@8=y-b3Xizd?$#fNsdx-`Ztx5`LsL{1*beBg4*U}LdJoruyA))znvfOvv+4rq26q?ZA z2o~`x@S1w8j>D7UiJ()^kdxtHQF`QgyCIPEYJ4D04PYu!P*u3nkKZ^xatexdqwMQN zPi8fuN2>K^=M<$@Ohbl$Sxt#myKpaNyGH#j z7wjEtV)U5Y zOg4snK3ltR{Bmw1>jl0MIsk^+hv5_>K8vHIrL8vyuL?Dh=goSz%&@OI3!ZPUIC4^* zpvMwYdDP~qy6;XVhTkrFw-I%?&8@H%OH17EsU`ec+~nimPk^M{tUnHi%;!QxVUnHi%(nUb7Z^9fhwqWT-AlFynjxVy+oM34Su5a4G;3u$9 zHTN%a*I-EyAonkF*I;Q6un5M_vejQZNB=SwPCg_c_b+1si%tN!e;Er{JOT(-()cEK z4c2u4f+fCwegco>Yp-u`=W-caur**wh%Z0;GBU6=K%QU50=5Ro^UGMk)&O~a84K7N zAkQyj0b2v)`DHBJ>_|YKU&aEq2FUZvSisf*d43rSH+U>O-vmu$Y{Aw5d49nKYz>h2 z>sY>w3~bGp7P;SS_|h?#_m{DNtpW1>G?w3JXncA3vxdgslOp*W{ixq)seO;aG4D5v z|A9E*-_suZcTj`=I<3D8tKVpCeHT{W=EFb0>OX4G->C-ubtU>P2mX=C{_QLL4;=V! zJ=wp^zdsGDZwuUyiq#ia|7lo#TmFAktiHJV&%%oD+eZDPV)ezG$39GaJ(vDz^Xi`;CjOnd z=+{&GpN7?s&D+1;Y5Zwe{n)(y>y6K!hSiVF+rQq2{YhAX*ne!^{`I!-Ps8fR=Ivka zQvWoper(?U^``kx!|KQ8?O*TV|1_+AY~KDgO7W**^<(q)uQ8lI4XYoUw||Xr{b^YJ z*u4E~{O?c0>c{5oU!$Ynh1I_vhy$_zbKd@+K-_l*;=Ts7zsrIDdLRx2{IL%cU&H-> z8dg8{Vd85t#CKu!2Ns5J2{Heui{5`0hVNV$zUHrdmjnOE!ti6CaK2{u{ApPI*e9H? zxliAP)gM_H{`m>#KMTY6E(~8V{VoUoW?}dj`nG|uhuMCwt<l8yEfM^zhv@JnGz^8D4r$&b20U)hjXJQDoc)@WV5fF@jghtA1fggHAFAuSo zCYbR%`JTMroqF?|$@(wY`uD;=f77Gtf2rRq?;lOC`4{l`U-SJRO^^AJZ2hC@EkBU0 zUo(;ZBI_65A5Aa$k^K5c(?fnFTmNW!$B$&|7ry&f`M&;zxE0@bbE_YhNAmrJcoW}W zh&S>5b$HWHnIM0Sbr{6{*Wpbd_P-8q08D8kcX5gT)Ay=B1;)P%k016d1OonrxYgId^mqC7|M)!r3-K@DUxSSu}3;+SYWj2a~rE9>S`SRwAm0%&42j*svjK%CdkaWM~gK_b3 zv4VKO@-4iaKvrH}K3@I5LFU)2=r@Wx`hTl`BV`K$g8!4Bk_7)oTji&hKl|f%@%?*( zD^m7OwqN9ToNT{-0tjFe1CJb_%K^5S16=70R-pMJUjyRNM`HVx@!;wG)zte=_O1?J zg?m&1Y-&!%cFqo85Hs}zu!*YzzTqJQaB*@4gDD5FFt%|v|6=~n{s!lR|JvV7Y6xod zYV6#g84fNLc5V(Oc1~`dSq@GWc1{q-6bDF|URE7Ja}c@=IL=Y4#10`!K*gsi`j%yO zP`Zo8kRqN5148ct1Mhb{{B^)TBlJ&k1_3}|tiM?Jw>W=&`SV}-|AI3&ILn&{tQW+= z1(qe^;Na!`4bI=nNd73!yxibS)?Xw2NnbneQ@^9%PPNf`^Nf6d%eosLe=Kb8p?I_) z?>L0#;Ok(DK?f9u1~cM|tBa1Z_wTn?1TD>$`8dWwAI0lrW;$F?+_(Ib-=;k9wt00q z=Wec_YklwX_QRp@@Ewcr)f>Z%!}8ALbKJY@t@5YV{)P?(r{ikox{ai)Oqt@E3(T$; z#7j5#vp;DXroOrAzq>lrbXvR$UWyQYiXS?>h}5~KDINt(GFcb#+y;FmaSDt zP;P}+sBrc9q~$beF3@Y6hhX+F+RLYdZ`~`$-l5~6=BV>}gWV{9YwW_Q?;>|r_7nss zxS!=3xCO*~v8TUa&INO(wcz%f)02~0#>{OWYLoY63?R{%#eK>)On(SCQt}1p&Rb#y z1Bf_R&5aCb10UEIL1IDNBc3E9rDOCEEjqOJ83z|r+BuO|7yI=`F!0;uNS>y|q&P25 z0^|DT51J?+_ROn3%d3p@YK#qpB+m781u!c)`tCuzZTJ`)SThsZ^lsErtU(C5(ogrY zX=6-G#A~Jhv?7*3kcW$b;3X{{vT3VyFWMt>ln&x;YD~>wKA_N$zzdj?tbwMNCsF$G zYcd@pqwnAC-!fC{oCxxeIC^1~Wc5^>9H5*gU%5!EpYXwBz}z9jEJ|V^*~4iA1j~8} zMdrv{q9gZ-(8Ls&H()~Y)S-=yLJ~*_0>`%YHh#+oO6$H2NWQ5?4hSc3s zI|vxeHuB7fnB3V8t|3P5vJ?cLX<*dX;PJgf=jb4H}ib9H_sLmH|( zv}QI!*rvYfpt|ZfIs#R`R~^{tD8*E=kha9RP>Sa)C>`QfVgm78j~b??c! zMo*-_YI`W4ylos^-qZAy2&wQ$CdD(&T5xZ%yR)ivY*nVLz*z`;m9`Dfek#rehK^r@ zDRPGO1x?iu03Ik}Eml;+2a$G6sAlIxb_A&o)l^I?bd&BU#2%Q1ezbNAr*SwSt_7m^)jm(kCs3r*08c6Miu zY7rIdFD?mzD$HfN9hsA%^FGF-04XnH5s^8YmpQj6mG-q`>&rOsg80*)T+A?VGUJ}Z z!9M;hFSW)5k72W*0r23p31mMv*Qc>~UcSiQFTsGocR&z=ngvYh6|HA`Pd;JH9Uc&o zbdgnM*VpHau`Z}RA(FO)it*~FiOZRZPQ3@{_3cUUNeRYSv6&}fvid+pl2}r!X)Cl8 zI&1SrrhoB6+EEdPwTQhfcF{Fnugxeo#+y~bfQX!N;c2KfAH}}cNADjf?#1meoauHX zFWD9rS_NttkXo9LJUdX`w0aoG9t4MFPq`3EUVIu2N zzLwN>I!xap*k;d5#4i#9b5y6jGNNkfN%}Z{ zpwTWlFL_mZ+HFN!$FAZHM%F!hm=b2g`9ZCmHddI2%%3+h49TQM*WJ!MvTCjmrc<6l zljb3NQ}1!3gRqgDX$a?ispe-ZlJP4wr;EgdQPPGJ`+u3 zdyGL}BN~T@-Mf+==i8S|H;Bj zfJ6fBDFoECJ=pg~^`Kit(L_a*7!r%8F>1>ak;VxWA!*0QmKHO43{&t@Ai+n}Vs!z_ zf3hjag2D(9Qu^(IS*X8IpP`Ta6&Xpa04C4pI6#N}u)l8*W*^h>o#NZn+h?I`%8} zEc@;6?d5jcccQ`H@(Q1v4+U!toPEBojf=|-{cv;7AJ6ZA_-6GW|N8UcF3(nVF2?AS z-Vxf}v}r(Yb$l$QR)dW;6)6U6{1X=4WMByMKwT)NvnfIi%0=wmgGcalaVTL-Lq=}q zo9sR&sR#zpNsvk1TyikgfrvXK@~_#k9EtRoOH|+%l){ka zB__#t*?he;M!EXa~GuXwwQ55OKq1Zmk@~8tw3Qya=Ht)70ETSD}S0T znhYhDWtx;xT;G`vZyYpUf8C4(F#S3xO#;={4WcGrhJx^87np$p1V0X48C{?y)@+Au=M zT19g+^9oZ{ApP1)NUnX!mi98|4ulE2TO(4*pS62I=nbA!3n)#uSbI1y3VAW`oFQD4fanpMR8UH7jR!af3uA6vM`2Jf*afoRKkj zR|j#!Ic=Q79(*U`A{}=o6)vKO^;uR60XDP7*sX3nf7mQPI`6#zeXb*?tNsPELo8sE z=ITueJ>&&6gg*!4(kqv!ROV6TCt7^Zn%?I76lWzx@y;Z52JJt8mq2wb z0EhVO5qZ~e(5dkr4-DdyY)b+Jz6$Itq6MdZ@v00#(Q){D+ja_NxtwvpAwQg)8!ZlK z=sIy9#u$gSEXgJUJfECa7?FQlu1sh}F3^wpY4E3z){>#T{CN{?X{CX3P z^iB5VkPYA`G)F7?FkZ6+sa@qD1fAVSWkJKGwaii3YL4-(^u;W;ug!sw1zY>k^@&XA$uZ>N9qWHxyFOsEz80*6w^8Lnk1T!_^oi&c!iVXXk!T=u+UCx-BIa z+}$@W7-mte5Xw}pq9jclp9uqB+e8v}BvmVaU%9L3?aSr?lTf%+UkW|aI=$fTU}db@ zu*o+xgNz#CntLX!?}l7=GofkQHrAvY4QLJuj$cD#S7WiSEtiOS2i{ewox`N%_!(zKm-+LKpkc`5A7DuW)?vJ#BrJ@eBu54U4WdMk4kxUYfs!Zg6yWF4;+B37+NYv;y?#n z*4`M|PU)qRDD}Et*zxDaA8KE*MOvznK6oY`6@RZ`C6AKIlVzjP$aHN4jmZ{n9EL*J zu`z|4!fP<~oZGwNMaVlvjRfG(-k6uL)G@v1%I*!b)v%MCZibbc@G0Y-$1XocxtbBD zy2t{OyL5#QmP}diHjxo)ut3x*B8%gFrD5&Uo5!k%(eqtmuPZcF_DYx-*anplq3^8* zHpmc?nJX)4(mtuntE{tBfW$_h^^7iMR;l-iVKza+u}6NGR6$qpki|t~f`UEXQ1_wP z%RT|-=5028KZ4NitwhRqd@VT)nYFFsJ{Iclt>3{YKjd(Y^3LGjYe&%|b}qQy>_rJO zFq&h6DSv#0jy|N9Ni}#Qgg&JB4 zTzVzAb|JnsVaTM9x8HPwuJX+L-e&toD@JLBt`ZgudVR=%HxtHSl0}nUy%lQoC*RW1CIv=Z-wWB{fyk5gK-iXtT zN>7Evlr~=MMbdJVo-4FYX%r;IhVssNeGHAhQQKfdvLR=UTw@^Xwa$Q5+?H@|#%CpI zzAjQJv2s4KeqLu%2BpiMnV_o6e%d#`J~p0cj2Op}fm{!}jlA+S)b>L?tX}DhkdjPH zlYYKIk_SkO5>b_oXn4}qPO-$U#;@}^!pS8@MU6A_P1|cean)j^z_2GN=WrNPggm$E z8zV;kge0)n2pt`26ef?f*r0_FcqEVaYLLU0fxILq&nJ(!N<(OZD8gXEIfO2kiaNl; z6qV{}Hy^gO5f^Ph8tS1q^23W(4RtogTtX&MmcSjvIc!L|`CCr6!h!PI%-25HM}U{p zRo&cMJjXza4`$Ll?z)2ah?x2A0&9aD?`4+LYRY>fEk-p(2@9egp;-HIV4?szrb8%^ z>@oBKLCP6C*hr)f>m|J}#DdfNYkWi_9|g2{m&hOtVnZoFSclre3XnFv%Q|^v$*a=0 zA$Z@f&8_tSkDo{^WE5c2M`F|BJZ(O_M&9(iwzmsA(+)!+$gvvnGQwPytS)zR4~DjI zH4G{#5=a0q?lW7U{peNrkWyr%xr{z8=R>#JjN>8+B{;5TmAkj^9ZS}1h=u_*&O|yy z2mH2t(~ip6ahM~bo-H$3L+TF)hB({`V_!fAkdPglJa6l6K zGWk%RY=g|3m>F?H{jgXlIK~70m0J>9U8?vHTjNc2TWU!Fpk@3cG+O=t!+J0(9+ZKFT_G1YO}4afC-(O|A14(+ANuB!PT}C z=-9Zv2jcVT8+1-~knF~#zliW8)tAJjX^jyK(e&7Pu2xDD(4qZ_=>_>ETyqlwQ?R8k z;R_|&9+Z}`5v?)R1$V9w3lr#ARcRlHUlhu+h%P|66D%8=s%A!qw{CbNqP1?n(D%4{r5otL&{?watn#UK=JP7u_idjI{qBLZD+ z>8If4P%H|h7V)efL5(C6f;$;TrxwrFO6{rIXZR91xPxQa8f&|IUIC}z2k{qC{eq0sN zKJYI8sdPhO+&1!OVgyJVHy71dzXeJysGYEr(ufH8(h>id2zDe0Z$lPJHM9Ln2Id9{ ziEg3wH1by*UOjR89%<3wPxBdhY=tN%Uk4>SvMYm33I{DAlB89zZg3MhgCg%k(V9Dm zc4;Ltrqu|dw5oj4GN!$Xnx<>n=j3bZu6UsD@r1=1(9@iM*d?WY@rq8aAx$UWL|0h| zjNuts0E#_bTLD1aR-j>{%)MS%lGtJ;xh0Cj4u#%nn!*FzTGh~eG^W{A>afC7PrloPfBvfS0~a(p z>JF*%Y?Z7Bs*@%H=`AI9c*X;*Q8jhbVf1c~;URKoczhaO|D~>W^5Ub$z!=L6(u(yR zC;^YKGHl%XVYHn5_bj_HAut_~FUd3oor!nGEgrPu#@1apB%g`+XiYcIvojLoUW=q) z$0A9-f-NyRxZuLu>0^~Ckan-X*@DwQiL8vK*DR54y%(kS$gM&e*C*XzDbA(u>%%?TiM_oc%&mhOoVEEuF z-A^OTVLd64sWXx>bJ8$}ajJXvd(kZ^5^KliJRg<9HZ|Bv>jpe#=AB*YS~Tl2j$>95 zi7^kH+!fM>V6SYl7A6^_M;_f@IQz%|u;|eips)-PPHH1C4}=$QpBrMte(bFnqzEz{ zl0x@{+Mp2#H{rx)xO$CD^g1jZISLkkCOQNbv3jBn<2K+ZDAip2xmRk}Jj{M&9))DH_)PWL6Vr*h{rQ?;LaD}`95CW-hlv2bj}LaiG;B0`w_Ojp0z3vY6R zeJUet@$RuQ9x8*_Qu?xn*SpwMxtqt(tXMOHDE^8c8KCS9!#)m3hStG(>8ikeHjVkX zQjchTp0BwN-xv5A1qF2squg_%AE(88*76jGtWx1^>>H(>+^PPFh!7T>ctwq8oqbkn zR!_T(%+X%tY!EF%I@=Jb2A@8+){>59(8Q06v*VXU@A21(G+L?Sl3aje9K;o7}B3GrW5smrN8uwTRXV1?8WN-9H5cyWy8QyE=HL2C?hmq`Fqsejd?GC}Ns=!V@7Wtd3r=iOC z(F@?v#>;J=J$qTNF_*xzP}00TimwkZSVSDoTRZGU5A>A^=)iP_=SF`z_)>sd*hprd zC#7L{ne99{&D~q*dR4Ec6aveuy`gBckio>FBM+XEbw9?KoW*40HBZMNk5r*~*kiYT z)ronA-TKy#dVL114+jrMQ2~v2J6Rj!%8ernQwz_KM$9wJS1rb@QjPF4_K6V%Pc{u4 z^yS0Nvx4+ma9ZD+v=A+q!XYSd4%cSvy_uUdD~0|*bnuMD(V0t{yp_KhL`YE(;T7Dk+ln>%F5t$V&YgZ`x6Ak*wxXP!A9+8z=?!}BXFS#Ej zW)92Q@ijX+N}9Cc0(Zqm*_uNd?dYRi3z)>zVmz${qFsyhQz>mGiZYN*VIMUnHAY?4 zSGt_xskgULl7&^)_#-E7Y{>S+Z~_|a61Xd`7#+Rc50+)U!7<8E}~dB_^0S4!-99}u&^ zks`~un#S8z*)OT}DjqMI*4x%$xo;FKdUcx6xT-W=yAScaRlIBmNI@P@X8qRC#RP{)TTyO}!N)dDBP zH__P2TO4f6EwNT-d(tmc=Lnzj%Etr5Oae(upfR5rD+;|>V(QeRKQ zv{3_SnRe!TPX~NqB?;dzLhvlwfJUn$>%sOn7ku%Xdxf zjJ1S~4po>EPtlDVo%@&uL`MHo@xw$NvAj#9A4LNJaHSD0=dw@9Vjg^_XTS~38coo7 zUQ;9yJ;7D7`D&N%%F59k*)4BqhAh>#)4TB%o^utGpd5+eyi7g*DresYsVG6Ohb|EK~ccv}Ef!Zi^_NUmY@w>MmemrPF zS~_tF>yCtUC%D$80$yVc)jU1&%u>IBq>sJF47aiZEyedf?HyDj`{B1ca^wb?bA7g$ zi=A7v>wm1dt{=)@h1aC*$g%DGSU)trc8#tT?~tXDm;9Wi@{Y2BLJ9&}mk)j3jH!7} zy_sQUn)LqcO4h1UDKzYyvuUnntSw}%{W+A*%H+wD%9o#O2zQeO z8m!(6e0;l?|8}cn&;eFRpw~XkU%B&>a^ z^o~09+(SpAX7{_P9>53u^rWdGjD{@?Rcf9{OPrs`_q;^_cRul$?I z{zn}6bqxk5f%M189ZSy}4{9XtCIsy8Bv|9ZU2Y%Z&|KmXJ zb$dF91E+2`xj5lTqv=N<>eQkGL_1}j_O`#*fxphv{vSE;Hx*3Z#TULYoqyoKf9vh$ zkE#ZI7gpbR;17z`SE~A5Tk{{8SKnCjkBZeFt*rZ=c?Iq#{Ppbdqhj^zlivSmz530D z^DihU{k=8mZwe3oca;5pV(@?Dd-gBj@xP?(2jckd%Dn&MzW-14o|Cz;?Jw1M9DnpQ z@h^NA{;k)B?&Qt$sH8HsQ^DEu_uWI72R(@wS@z=ld z^DOwy{r-QiCI;WBbN+N$_qSE9Utj+GSAG}YzegzlUNte08?0c&1KxMQSNgoaQ%=nJ z?aJwombw0ZIWZ>(`x_2bb{_7j=Su7x9MjJ^RcdN#ra6Frznoa&=W=4xHVmHMbMdb! z#Xkia9IoK}=}zW1K>vCp{{I3r2L~8RAQuN0fRhItS^4h;#hl-+7XB#GKrTLTEaz`3 zihXsTFG)FV3;0QTZ;w02@=+2$k>c5$cm4Qq6Jacg)FgyF^{S>TE%GG9teV>X{PX8C za|?6az0kewh-Kd(tVk;eSitATSC@`wY^~((C;6rB=8Igdb%H5g$5Xj(cP&?E%UAY( zRc^U{D{Gq97Z+1Y_5Q59%FYiL_1}CtYds9ObLW<6zM_KjpBU=6uxs?!ytsSo``kKq zYi(I{uSZxICyOSw^Q|u(+dRqHRu%u+O_`UbyRn^TS1F(Mi1xld@6IaWTho!FwCW9E zLBlt@96c9yxjE=Z2e*tJwQ*>l6`#6tD#(HBiWUW){c`&-5$M+UlFUuUj&QtgwxI%lk}_DjG80p#ubZ2pe!K ze{ak^LjXOG=J|&~kvZ=BIUnNoZD9u`#@0#!*wLFEx6*kSkP8@jMKb%P9AxQ*X-2VR zn_2Sfnhe?wLcuQQR?*0bL;2VxeMkIw^t`kYn@B!z#ts>HaM+*S=E%>LRxHOfjPo{l zdFI!(8e+G)pT7BcM(fO|8^Q;zOOjFt2uOYqi^{-KBY7xggq4GBfj>zey}2AHnZ>j} z-EN{hXTrO#DaDM`dpd=|WFe6)&K$wmXXl#iNN)0J2%u4P=nH8g^h|VQ+XX?nEvke) zBIRDh#WD`{{VX}a4Eaz>E`sMe*>j|2re3&0923{YJqof#yIGC%I#t|hF>U5Dl9l_6 zJ=tRB+*Kcf+x=bFO!EdQPnZ%i7w&S%?ZP9qiKDmjK{A1G=s~xNWFG06lnam zJrf?hd35Uoy}EHpgoL7L+S{u5*@_+B0)Il7Y&MTa*qgV*n!@K}9HmH`Iha!5Hyz(E$p$hzOSEdaIAP z@t}|jUm?&h-6JvGgRn}3*%k5H)nqHr|&-UKKc_Ppf1dL_oB=mU`Y^Hi}FqP)iIM=hdOji zestv^op$_lK8mwsRSXQz;{ClrIxlkE)O7Xz@N_z>O)+_KBlf3KiSlR9GnAw$DiAYZH%btpC zzw^if|0|QmG@jsFsgmv}Ii++hx}yYF6(8eIZAXdZkeP@|62$A~I3?2j@*sU?45aDM zhS((4Cz-|J3pY+S3Qycw%JAfvR2py1r)FyE$ZQY}7`hqbYDPq?wZTV-+r&O1XEBYL z!+5D{xf=(Aq`=Elif01sIbOzo$%?q(w2|e1J@=(`+~-g53W7sqc6&m{2MbCshSG|f z?0&670i_9&9T}6R91Gkk+Gdj? z3mgkgHXF`j?Jdg#*7eY#Rd1zE^j{{EWDOFY{h&3mI)XVJX@r^ln5VAM>o?D~xGesT<*hZ&c z)-=?1>4+^pgROJJMH51G=GQJBqn@{l&@33AhFSBX`T(^dG#`EiJ@4*KWfoW;htg2= zS$caPwMWZ{R4TBdXSv5Qx55~mG*COC+d8>eUe_uB&F~qur75VA-IW1G5(Ur|ct)Cw zpK1ACu;PW88)<2CkY$&);JSkBE<2^g(6|$tnS68fGpE#BX^C`p=L4#$yyQLE>w5V0 z{P#!n6?`r}M)Q#x#{Iqhcz(z#L>wC+9t?C3srmZhAP#AiTn;noZjK;Yfe09u*0qZy zB!wk(B&O8Sr0!Rv*At^svc|6=V@t9g45XoIiW7%D_rP~z%X#XKKH%ia$ZM^&0xtsL z#5X>dG1l-TK9&LHp#-rhZD3`0iwMS3_z(BUpk{puXR2In6^vywvfC}Yt>%!&vomkn z9GUv>+3jUNtL+e`St7X)w|E2GvJiUR5A}gvWsl|BZo`87teNl<(NS;H9U)MrB`3t?16h2D`?8`4#D||jJ8aNJ$#930Ki@3(u2Z_T(!0oO0q^Kq#Em}=t0~b zWgj(f14o=-b%$Pk%yy~pd}`>Iigw!01H;Gu=x>#t@AE` z$uso!W-WaA3Z0xWTIkyIOxS(Q|ETUNDnD(wC+B|&nHjTFVNSLg{k#6+=bhH=WnW)!-e-cZXhb;WClo9Fh>?C3DlHE z5a2A@co5)l;iiH_L&L@$!;Fk3wI1a(n}Hs9qc8woHx}2k-7rNSqkc3_bd+ph4jS5| z69UTlu?EVF9R%|(W?ZYWPvGOQ16Q|~4#xa1cc*f1Kl|Ty-re{fOm*hNA>dW+!`+6i zZnJPzB0BV4`CqPiEZnRK&(J?6z#)+f}T zxJb)W^$d-HJIGct&87dK&v|v5&hnV2|EhJT^Y!)zfuP%j6FPu;a^G>%iP8I;*3`S6 z#Yc2XFGG+%|TW8n}_)CQ^uyj`try59Rfevy_tziReCD zsRK<&mwz%DMzW`CFrg&GpcGpszU8<&@=Zn&NI;3Nk=-18UT&86M8Q{PXxugdr4b!u z?37Gg!^!xNq`HAR&4LD6Rt-Q18i@uFx~V3vl^daOc8xd?_lCkz%M}AxU-(>6wwf9f zVg!e*!kEaL$jhO6yc}FW@&dt}-AanFj6I!qxZik`({hJbgYAEH*%|)!*4Smg^@#~n zK{21S-%~2vy(N4$m(@KxTz(Y0v~kgsT{vemBC|&7XOiy#;58EXD0T!n+td>^|HwVi zNx0+s0fqppEg)f(&ZG}&Il@uigb9-l&(R1vhTCQ~%O#Oo3>Yg@vK@j|8T%5UfYO;Z zDveRtU#zLglBPhXlb=ziE+nQUmeD3^2iG_$CQ9HCDwI#*HJW6RZ?Ne5ve1LRr;<%D zD|UwKj(tz~28(^+fKg!v_4yxBs*ngAm+ubx;#CDZQRztiBYCecKSRIwYYbzLdhQG& zz@C9p?(*s1M(H0MOC?DOeZXVRKCP1%Wuk_VaKFelD3`QH=J_dc`E&dp8TzS-x#NN< z0;QwT6YO#BZQ=lfAZRgv{6Y%RP2BN3(RgQUnJ72}9?{^3g_uN~HJq<`P7s@0w9RmO zBt(n3L62spq>A&GH1)RdCvQkPOCC9R&(!ZDC-QARDc%1d*a-l+h609%u(`ux-4YGe zUI3OWn^UzpBOWH|4L#T;RD%zE7Z?`G`w^@4*dYNkeEAUx-a%qIZ-tjR@-b^b&XB_g zzA1#LGB!EkJTf@GimuBHT>R~jyg}UKU}6nBE6=nE|BIN=_UmvC73?r*i4l7>5SRBH zwpPZIE-dKI&cODtmI54oU9EyN<4D2zq`KZ12}DU)5s1j4&C*DcBt&bqsywJHNWsy) z96_i((?!IhY;%ES`n7Ua2q6WIHPSgRSY z&ghw;WXHowF%}aJWuFRBebOL6q-2%DDdVcy&Q>xq(1=U(I+}H$3QbTd(liMi<#zAr zLE2|Zvj(nz1WhCm>)kwaw|7WyW-IkQb0{k>9pbj}uhDijwxzb$7tNT3Kjo|P$dQM? zi~A(|ZghQw^gS24?#2jdY8FdftSMvyJC*lNsFoI2tV-D9?R!3Wr#l|!r779T8kti` z+m;;!14)wD5(9*oK)eSdlv`Ys4V5Z#RKzN<+=Pcu7P`^2x}9bt(d@NK zRyq#*bq^%>;gSB4oZ}uJY%~FMs;zxA!;E)@yCF)nN8~t6U)*c8&cS*yPFeD24k`I= zq62P)FZvg*0+LaH$M4_uWw0Ir39J__j4^eI%R48|*VSA1u~}1y9{owd<~{ z_O7d#7@mK)&48d~>>MM=9p6vt+&8a+AGxfNRI-&W>NNG*2_6|P>PTELGnohT3F{?z z-}I|ijY_7TM;nW|VoX#QI0mD%4aABT?e30i280&GyCI&2*?{61wWZ6%NJ+!0S~Eyl&0LV8E6sY2nhEdzryN&>~4HAQ_tj$cd z#+3Y->uFbX%kG;1U>J&mePF z_5j(9US;U392F6tXv0q`uxzFRS?#)2Xqa#Ec(jQi4F5Qj5v*RVn=-aY;r^C8^CSNR zA*6wln1Sc*?UqiMd6mC2&FVvx^5=0=g)epYD6Z;+Pd;Tamn(%=pq1YustlyiuXXr> zNDI;_-?gYBMPj;+d~rDABY6q#lgFt!3gW%a%~5G)6+mC6#YQ=NSMn^wTR=h78o`Zg zQBQunv|FJJk#4s+!!Qfjpx4A8n`F-tFz zK(uGW>b|{Ii$+<861Oy2!{DQ!rcMhH6=`l=w1DeZ^4!TL<$(q1Hg)VFOJId2_dIPO zYqx=X&5qj@acYOpz03R^r3T%m99w4z#0?DQsD~9pGy_*|>^%nsc*An*8t%E=!_;NQ zWw!AZ?$h}}y?eih^m4w)B*f4`C1hJMw)tN0P{9pqgQW1N?;2r zYFrBeW;8BsCxI-CdFz3*)CBmo3+{@( z_SlHI-3Dgu;=v5Rhq)tB-wO!o+EQMLk>6-D-Y&tET#K(8im0~g>>d*Czn~za+*9d}lf2w8T$Sy0dPY zMS!^4veJvLN(#r8wktJcZ%kvEgt~@2$Qx*WJpZVq4{V~ z_G239O>wyAVl60tS%UOYjwhKecymjcHe&i!O33*IBWa$WO+Ydwcf2J|aXZFXwM^TB z5{TVIa8OD$8{*6zz6fhF!`D5d%rw;znClZI^hcE=>?dertE(KI?P(b8F~d8fPdj|C z@N@=$?t{K!ZQ@%ne^&(3s6{c%`4KtN=78m?VqCD2QA`2-`*CzT0-jDz^>|>njuj|g zXEfiW`Fz;H!jhzuUO`>Pc*U$8&KNBgq^^s0raP=vx$8IS8skk@+ZOMGh4>|!#HNRO zw<1C!2C%tiFMm=$HHD_{&V(dj&Tzwy5oVE2wglyx#-{cL=0F%DbVZnByh+yBt_|L}GXTv{%O_wZQ#( zC8BM)%hXi7uOG!7h8jt;%N}@d4H=QKA6QU(Jy(qF?AWD0Et6+ly%Tw$8DPx7f$+z* zW24m2cPx8+n!Yj83pAXd=FP8oQtjKf_tn!|_bRnnO7&+w(F~=t?K|q;c%`34z>_h? z?p&@xymKg!)L5%V!DZhhQeVHx`aq3D?oDYahu#yYIRophH4c)94MpFgdIvv>{_guE zU5iU_ewPlI-Ljo|Fn3l5D4Jp4!pjq*!=|A)4$OJ+V6jwmm%b$mK7vYA2&b zZ4^;KeeTFOxfTH%ykF%~LZSh~>_=bCJGCxq-ZJ?G7`k+0aV;RLOSY^Q0Ug{jF*rNA zNb_1v^L*xD@z|wbb~09)msQh~J3aa$v0f;N#cs^m%yZ4f-4O!)(Gd1177b<+T+5kd zS3qs#%otVtEKf}VnBnl(uv^|xc?Nv_dwC;ksFXl5P(i2@4tZzJ8R6KWAc(_ME zz|-Sih|(EoenWZ=?=As%vdOYv2rD?BW54%%{s;l34SS3xJNv8q9Sho6h1!A!j!brq)5V!SDPGsAf&ubM^@=Fb2xS%Ub zp%1&`!&t*A!mD^pqxV*uJEe7TNF`q|2`Y!SlHyA5yXfKKGbm`ErlUp0cWX_GLQrkc z3-ygMDs*VnZahC=6`mrV`9pKzo4y!%MQ@X_d$a|`v-gup=Bx;h8xU`0?L*QcPBEhm z8xW_uNAg$9th{f4DmS9`g21fJHC#ErXpW?Z?k*(LXZYq{f&|b8;16mD81y}iHt;vp zUREl-;hv2%p<{E@4Wr|JMi)M)=y-!CT2$^hw=2KRzRL!S+Z(bv>o{hIf(j9T6G-$B zn8oGLrQJ2$kdsD*Zv!vw>(q(W2uX@hvg1r5`XyQ`O4~tv#QHWEMnv=TISi;C>mw;N zNf>Jo+;~gP3V{=Q@6%mUWt9o;He6bO;K&@_`?P%b(MUo#3uKf`)8uj$MrF>jjz}+4 zT89gDY8)1$`Uv$Vi#oW(&4?@`OgmX0dGU4ZQDa(2zxXasZ%WY-gCCr_b9}S4722tt z^R*R7bnp4Os`TtiDbXf2^`qvf+-t|#gd7=l?k!xkO{77|6QMPVsn56sw9L5&*3bvm zm0XMLxum4x_M>Ox2X-Z-tgD_g6P0VV3RSBrFh}1aH{Z2KGj2cfL+)OHf9gWiwex}*B>_DazySNx(BR3R`54cdDDK6 zM&K}#tikkYl$iR(T;Dyf*AQBWwVC28Q09hFh+3ueSI~g?@P|` z%AWQoYvreKGP$Tzm}l%ALP9dbxl2O63-&1j3t?*z6tpP@saB~9*ay0cx)z#S+HMYu z1{~WjVN{8}vmPqdnLkX1J#M4L-#^gi!PvbMnIF9vUC}TNM-VzptSKmp6;?bTRD;|Il)N>*m@d=!4AdIUPmPeB5=pr1uFh98 zpsoV(Dzpaj>ZKOXyfyM0kziinXoaOdU%O0w+%{o(3;F&zj{PUyZ#ep;Pkou#cMqK8 z(=X278hjKenxnY}j_ug3UIg@Im!knLS;p_qDT{U?nx%P@&~(kmQIF9Xv+K${NXCTOI+|1E?MI^ctCOT+V}6=7mK#X}y^ciz~v-qyi-wmL8;r#f>i0Gy?6 z!TvOqgt(P`nF9ORnzKYT0%)yFXpTA?w6>tJ=`lcf?m9I1{L_&7N2mE331!R_Y zF6sh&&R)@+b0pFvm;%OU*B;i5%ssJcQ$-)vzH&Hnpm+9yV2M0Itc5 zj#Rb%_9$>pV5rys^TCU(y?Sn${Z4=G1bGo`Qd_r`F+s)fn2F$$-SO7daCCbY%0N<8 zEqT$d=~27tr;2Q!Q+LzPGn){C&Es%Ypu-_nRt)2nRmcpJ8JkJ2dWodjbJApA8G@#} zrcw&;-#!G42{3+NbEh4{=l~yc z=U#l-?uUUk^^jo;OCf6lcAXdo1f01)KYsj~F5Zk4Wh>rYCPbr*@-8B^%%m z!XcTDLUr|S;Xs`vgvF(AE1i-KHM#UCS}b*inulDcN$9_5MHsPHsjp1u@9*5rgjS`EiO}$596VcmIP6{_bOf9rn z=rg1I_J*h?{(CPtv2Mb%Og$Mh?Ew#+78tQXT!%dPp*)*@Tn9gR9|DX?Zs#tdAu|fZ zg_DUN5*&GOyfg>B;z5af*P5DPD8R>AK;!NTfO6bMnwm{y$bbLb)PmJq(+_ANiVJzc zD*D{wSQIgA71P*T3^(5U*)rlSM(X0YD~v;3Ha;^~KpjPl{A$c3^aoRU=WpI3OTN{u zy#==eOZ_j{7Yd>BkA!KsLzoNq`DJ*FOiQIpvIVzR`1PMIN_OL*sV6G7H=;N+zG>!& z*p^gq&se&(M-&G01cp?r0P=_3YN=)6AqlKI-6CVFJ#Wj)6py6HhvTeEaU-9VL`hB6 zos zDji9G^e4=m;E~Q`Pe;p??GA8J)Da(!U`H%sa16BtV~Ic}u#&rDNsSj^C=tj~7sgvh z0;%2-+Prn$90aZQx+VpFi*7-4kb46!d)-{sV*9a*9ukm_6YO%~>6IAaSA+4bmvg{W zrg2}smyVZotH(%nKMbZFgs|?!sW8~UwW=or{2ZhY?{Vg<)Ubw!uBZ5}j%VHwr#stv zX+D{xvm}Rj;_9tQ2y|!6&|Eg4A+$=s?C~fAgwP&-kN$Eri;{ciEkMZ~z0GrK4URff z@tvl^a9uNO1G9@@4bkH1ZSg`S^x(*Cfs+*=&Hm{&b@l|w1s{(TL z(H*XJOVRUc8G)VRx}0 zxCcnoz~L`qFtaWx22^x*BZ}2WZu7h8k2K#v`&wtA)ifbsmTP2=A|_1s)f4H9;D*cM zKsfc|$#8pOWmy-|M^Pr<-=NFPz!(@GL$heiGmSPbB^hGLv7%AJk~a;JSICsXGb-*R zJTx_pTTagsEZ6&|X6CG?d>5{N9Q{Q9X7(307qsE^AsJ2U#ZkT#A? zG*mZ&5wOC`*``}#z9;Mw$w(v;&?`zRI;BLsSHV-&NgKz80i%0Tn?&4FrIKE#(5#|6 zari!JOhR>r=7-oP%emU_xvnGz^W+URQp|_Rju)}h_fuMl{$u-IBjESBO=;3#_wW3{ zV?YDh#%MzWOp837Z0yn6x=B|Apz%9yb}lTg&aCLD{EO?y^yw?{TlvE6yi42^Qq`(X znP^`<`B}_{F0ZLo8shxWcj!UAT4D&eA@EvVE4Ooe18DNq4$+iw=j~wR{KUCob z&Ul20F~8x4<~HMX4(bDF;lbrOSw;+}#bjaCTb7W`H@}som~O83%cqW}E zHAkt#Y|VSERzrR&AZ*&Hk_W+~AO)2{6xp(#<=HT!pq0uQXU-UYkQ56sI5ajKmo}6o zCBjafRn^!j39V&7<7WDpT=n_l7)3#!w%`z9pNygx-O5IaP zXR1RhWpyw@Z|4U0Q^h+%>@5;3-lD@Q?OqVN+iu>4xYz4mZnbk8%^VT%}wW`+s-1J9~e4+>SaZwnK%9HI!4 zvG_?XHQ0eDn4^Q?qX`V4ETZ@}W+tb%NzDDcU2LP`=72_gD@gw4 zR!pOlu@Qxb!MfJy+e}ExT^^7S5H{gl*b=oh+7ZS*%B6~pRu<~wZv%uX{`pm9`JKF? zChGbtt#xu<(vV{&GU0@wNE_nXC}#ZiN&pOD%B>D1kXc8g-Jz6OIB0Dxej$Q#WShdx z2Zw^(<)pf_fh|?1&|%{{wA5%6k{OTH2yw+TSX-?&&v@ay@9Rk4D!qblP*|t!xl8-O zs$u&3^X*^#`$=7E*U0G?c(r1JgNK;}B+j8V^)ykAy(RlI)g8l;OeiVQ*8qajjRa+k zi{8jAEQ<8FddEgQ`jBoWvqp;pdI)B30VVT2S%_veV7Rd+q3NJ`7~gkVtNA`?H+Qb! z*i0Efu*V*N5S-C8?9(WTLd!8ZYN5`mbR_~et4OeUqhX%sMrC z#-tBCY^)t^bnhz%OD1;p<~pMZo=7bq%mmI`vJ8oW)X0t`o+%L5*B`j3?iE0fTDYM3 z#zM4Q-iR?Vs6BeAy3~Rel+hiE;#aWX%&%b6X3yk=$D<6U54CED7Nf1GzSot{GcHqW zD!qis%0X54$aL)sSqM$n>*wvDI}euQK&=Wo4MIkxTrZMDpaP#LcW$FTaSjwC&Zgr^ z4a`P%g;~NIZjBCb^7WJbZUW!%g|umIib4Y4c`?epv6&SyrsblmDk=Mq^g zS(5FGvo%~0loOr245)qC7oB|LMG5+)oLjT3d|Eoc#4ZmNPIa?V zJWN?fwT5dDPt87iiw>&Fn`ZQ8??%1`^127lMFd+~N39@-wWWz$AmQ#Hm~iJ3|J#Yh zhh{C`B=EY)`>2MYXJ-Utx7aKSy8&&hCLZ|=;!_TJxPFSds%7(c{M3w3A!(a=hg(6B z7YN(8=i>^UYfETQs@egy=#Ykvhnx#6jecvkrnBm~Qh>^6ie#cOum)qn5yfzDE5?-T zkHz=G08YG0`ov=DNKOq*F;9Q|%rzl{%MHdq%0GT6UQCnD&8l;&jqP)g-T#P$eU z%FDvw1P^`Cxt3B+OJ~gRjp`>LFZONx_+c_$%)F=hW&id2uHz(nB5gC0Z<74J_&~n9 zqiO`i=HBHoDQ>COkChk>3Vtpea7hxA8Q4svaa(l=D&=abp=K= zPTYPX{ua1mirKij`i@w8!zw2Xh+xMn9nBvJOE&Ev> z-`pwbxfW;=z^*uwO&zc8+3*|~IwScCiPl^VaepLFGq)$)CVWpB>lCY?vnAO5W^?7& znxuS%Z?Jbf1Fwv4TaQE1V1zG;zw<>wVmNG-ydYRCd3*ua)}tO+zzH)LNj(z@a(fc6 z_5uT}6bMxJfjyiC)zcjo&JKYI-QVYM<7aws=$R+AZUBrHP zmV6EVpePT2Zl+rO=7XXUTlnk-+Nk?cjbf)yU*>0cjk4kh^D6Hlo42IN*e+16;+>ZX z9KdlK;qlRG1qCKLQA(bBktpFVCs+mEA@mxg7WcplwB)%c>DZ~apQ0v$6!GO&gS=gO z(Tf>CF=-7MEh!=blB#_Ld86>=lFZK)y#Go(_Rf?2U-kCHUL z9!f8a8Od+p!gLRS8m$(I`k=7ufE6Be^i-Jm-mewb*r@i)Z{F0#0Xg2c`Pr{f61B z9OCVu&+EikZ-8uLQrg=GjoR;T>cQwBAc^4XP1@m&B4NC(q*-ie#59P@47y*>9V$|H z1`HEwWbi<$Rmeaa=}{&wbtys4jhuV-Z${xrysLNuC|H(ZEOIV0+3t(ASf9bRJ3vo4 zD~MWu;6Jtxv_j~Z+iBKuF+Hx5h3C?RHDew%GA!&h2_)GYXRafxu2pkU*?x4UHqJyw zht+tRus5h+(perenTt<6cOQm2s_$kNV)Syou*(+}*>(CcPP>{1`I&yzQJ@)aa0>zA z)7FBIi#gtX!19W_{BlX?+z98*ade*D!IA~k4A)mMYUo~(yf*DO*}AopYO5?=$LtN! z{bfwvbMCe>s}Rjjl@s%CjZhme*oYYDgL($>XX1)l5kn-yB_J_*xnzq&`Y39^lX8OK z$bZa`vZyo*Bg<__K4@F_E}H1h*Q?W;V-LJQoZYV{G#7#e^o}bSwM<}ZunS$vqb+&j ztL2%WjbfE!QPDzCgz3V02Wi$iVSL`g(Sj+uSV$xqM3%A$P`rME*8#g178W(3rRp@M zT;g>od!G$;#3V6Np-9>Z8dP;Nl-DigIZ(^`>0z4Tts@Htt;?ZOA5!O|t=wKTnU{2w ztS4qd*%;nDM@#cj>Sda&6JZ1ee{7L(ZCqTMwq=3{f#~=QJRAtC#9}4bs0#5g?gu?# z*&*hw>vneY1j+l>5hdb_^w=t@*8mCLgHTWM7pnqk%eU57Y=vLi?I8QRxr9e}9iq@- z+GOjlD}+HJ;OFkb!9=)v6wJBD@a^jJjN-yEpf~OwQguTThi$ex%}vkc+|6oBo!&zP zZjZ}*W<=&7wCMBGrm%@`DWO1Su9zlkQV&?oTwojDdTvWLKPlf#M81Dsd&Bk-5H45ZJR+GZnm zY{a0DY)1=<1vBip+Vk`ac$eShwaNa&e;)il|MmiLo z!5O-_<4k>l(BX*#iQST&1(q<;-x8D4lBBS~Lc|blD2%$H1;AV)e%KRV&L|o@8Czq` zg7WC9OjB4lZCepY-fp#xSdHm*JWZwKRwoAWE>+79tgF}fH2Dse7ai;eF{o{Am?oEfNH7&*gD0{B-J z8Ot0JUzoV41;4Xc^exsE4fT_!P*=N5gwR(TL4hiu#()28AvTB_dr+&EMnbM-T{jKmSRIvw2}fsnzmqh7vxs z1cYxY)2p@b_r-L7Ud|@H7DLe?BQ>eH%}l)EANkXqAO!dxw>W24ev2Mrm!Q$ zl6{3VlsZB|8=+G|j60j&nC8(RkbOXjUI(6Bl4)8fI>zWii@a;7}7la97Gy_lZ39JPDd4?;b;^ zKHm_pnPEjs10&RNW z)jgbeE1&s|Z{{nT7k$|RPcDnvxM3&@>fwdTkP@GP-n4P2%DNc+Re4yn+t5*IkdY1v zwjQmlhU+MffLOhm3J?Bi@RV4-Ldj z=+gIK*H3TTx#tfDkE!r4)Z2xGNs|0;-P?yZGM4a&v36e0CagbYK^J`ppGl_nO=i&U zJYcH9oXaz){}>2$C%e!SoM&+3DI!2Wn!PS!To5%cE|ID0i|(!z)=_I|huUS|x8^I2 z;geF=wQYhmm+lC$Sd%J%-WfvXH6+7CTY-BO21aTo#0no4HKEuBDNdq$VGJeYXh_@O z|1SF)5Z!K79c~f=2VmmS_YFB9T|rVSE}$4tS}xG;0Y#EKGpnlg!pX7 z)V@p`-OQ9^zGRbMQY`LnYdf3e+U8_^>RA)S;F`nvW>S%8ZKZ}VQVsz@9XmQyq%)4t z2E9d?Y30~=XThc^=moK%3(eORQ04Y|pSV_F)P*{sEi2&al`gigWVkABaW3JXzPS8* zG{eKr>IB|jCHtjJs%rum#nQI3xgLMj2}_=zAFE#pk!)cWw-W@A`w>3UsI=4G5cd}o#rhR);e_;oiv4(mdljv^Nue#b6CgLf+)Bu=nP=FQ)3?VNc#jvavi^Xl|DP%e4;y zM7zV@e=xm@*~cgvihhwZvg<2fO{L*95%=Ek$YGrMfF3a%(yv?5mb_DUOyb3A7G&T; z`Dj^0NPQNA*tt4CA?>b+U7HLp7 z9r=^6qx$aNp&M9P#)pBuT#B_2#rjxkG$5w!Bf3E^JOu6qh-sK0*bTgpHZW(l=ML;P zaka6XdY^4|2s9D5e9^{&-mI#zf)B2-x}5=j0qmRo)~;NK4aa_$loZ#lD?o2TEct~N)Shl!EP?mVCtxH ze(t5vF;*t~&RHZZFiK`HQa>P2h;M`r9o$=H#XW@pC>;~&LLE!nBGRkC|6-Jzs=X9} zDISwBGPz&5gn{irYr>k<=S%DQ;qe6j!zH-7u_0m56QG_{*@qaTc2`oOi};J^a`UxX zqHbh*k{wgM)Dc&EXhgRd_EXI*85NNN#+5`(3eQ`i_!dFWb-XU z$jA5d%Oci5A~{7ygkJS$#GDi=KHU2<8@%&)ovW3MRVh#R z;OT_#9>(V--wNcU5wug=#HRa+K^G+9StPY~Sskq-cL|O{pCiA;Rm)hcZ_}Wb?-4k&XQp99=d0-;o*3-1xWP5t&_mh5Ju4PV^SnL zh~y*dX(TUr>dugP#5u&Og=}tBYcXO-L%S7+=LE8vlKZfdVo#HH{08I>l|4R+n&wkVp@2v6QgCKDar70?6v(zBm^?xcYzs zh}pH=^n~*t-kawuu+XxNjXbc76&Hp(&thYjXIOXonqg<)5sY$KoSpgoEpK^l5Ntky;qvdFa8=IokBQCn`;DD z1W!Fd|0C4DVY50}byC~|QrQ|-UKbWcc@zOYj1+8&rjfD-0j_$npkv2HZOsL}PbWw` zfpm{Uv6%PZe)~ED0;w2UZpv>93~nIQhFs{9Hk5Jg@CwzEd)g&){IClO&E(iJyTRY27N&Nn9)1r}BSO;x3lyr1uO@+(ag%Zhc565Cxxw)D#h)zF zK`7|OfR{cG#Ki~{vU#RV8NwbSa~;3);UZIiV88P6s~Ko8p>7C>rCN*z0i)G@t9VTB z;ueEIiBXjeV;=Qwg{)U{D2{6o-g~4eV!t_N5aZ$O=KE$GN6clZDg6~BFW zvy~4eX_FSUD9tjKE|+_e-5&!&0EWQ+1pE!=39o@oY7X+JU~vlTh9`LH#wR;FP=FCw z1&yxo6-ck?MZ4)qW|vY%uT-Jz`@uV0r;Q%c{EP7?{mCrx&_=?HkCti8Q`^)rHo2Oz-hcbWM zd|+SUWd+`z;7BiEl`MjMU_-|Z4>}%4*A^jOuz!34S8n+gar7j@6lGu^i8xA2FVfAfR@5>@ zQ$88|;;x1qDnSQ*5o=;VoAqACPxoRY>m|W;N*B zV1+9Ilo|y(&b2f3^ld14;aMnoJgXTLr7D_bolTrOjBj@qEL7jLCUML((KGSC1D>r< zTdSdGOO{z7Vmp7n#KO zPRmVr<)BfO#y#C+s;Y8?KsVKVa8YGla3=;d4`7M&%!B6tLuD||`fbW*;1~oX_BY9P z8JP>Z?c&Qh32Uw(I9Q`6SHgK~f+OO2M#K8zP-CJ?-y7?3`{g?30l&z%1vW8S&k{Z~X4&0*0bo2`6edeTvN#-sM?- zRey2_4?K2{MxBGF0X64JQ(s(-CV;gvtt@S^SK#FW1i4CAR+}8$`+)8Zod__qrN*Tg z)as3LYivnNFAA%aNY(oFsf9HqW4c7Tl`Cd{5_HRbpi!tyZg3z5;Av35v z>c7^6{~vi<{-O#0@4{xx#SLui|BZhR$TbY)HfH}54>328+ZZ_48%XK^2V~~t267v7 z{9hj8UsgbFV~*cAfq^R^4+F<<^bf!lkSu`XHwsnY3dn8D@f$e;aK#D73LGT=D^Ub+ z#RdG`Z|(fR6;KwAKgq%kl!fC@vhV<90nT#&?eBPivT*(?%P*4g0A=C)lPo+ySvdbB z3lC5h&Ogb*1C)jHPqOd;$s9QUBnuCaXBkLo^KYL3lm*E1@XP8i2oHYw;lD9U{8uCr z|5H4sKz@Q><@p;7Zok-s>8}tk{26KQdcrtjpD?=ci!hlAhe584Z3kI@4X0@TP$0|> zI6a_0un{&;8lw7>V}?vdNu;|iJv-NA_Heq(VZ7|id`pd$JDbZ1HpFO21&zIfO$n30 zRTg@eL^yH2j3sGIVERR;_?lGkD)aO!$DLC|_;5M$><4YAWsciqt4pfV#C*^DB^KuX z4XA#Wm$t1Xnj8`d4KEK2k}le_zOi<;O}q`JHrdI=?n_MbCC6UMocY-?=OU%8rTMSa zAjU+yJ8h>z2#^1BG?>5o_fHw{FQ}4!hJp`B5B_@w{I6)G{>*@;M%c|pBnb36jbV9I z0oGVd2Hpn~>7Pp#!RL1uS^a)^hwX$Kfy~w$^?_A2=h0A>K^~#zu@R5OjjEQu1ubT- zCRP_HzW`kcD}n6sBVi<`;osKrZ}$iB+cFISp&$iWLMV6pE8*$a-T!yf)o;P&Z#eru zw66X$WzO#q9RCr&`Yqi3v+C*>@qfy%{(|1`r}p4)FN43KtA7R2pX3t$^=1E42K*z= z{@eTeZy4|&Ixzeq{@+bkzhyW7th)L|{J)#7e#`y-S#|Y`_&=qqKN3WL%Z&equKpE7 ze>RBzNAUOm2}=BtAo?4y`WpuPhYq5DPuK;7!M~Ta|I68b*4cm2>EA0_0V@~(GT{F( zZvM6U@>2%<1JMdtZ2CO|{v$`LUu#o;H(mX6W5Hi5cR!`8Kaj=%3zfg;SO1FaKN;D7 zEw=vM4EXz4@LvY}Sp)t(0V?n~;P-amKXhdOX@L4iqSfyM)PFhq&pP{0qvk)7#{52N z{)cwrbD({S!ayFL3XteE2V3VE+vt{)gVve>Bto zZ|LKHZBPGnrv6Xt=YKS*{b#c4A5BXC8_)U=y{G?Zj`!ct$N$=%{#TCnXJZh5J?Hq> z`|X#TYrklL_19yApVG%aZ_EeY!2QYG=AZak|CPu6`M&?@JnsMPy!O|k^8a7<{ZHq5 z|Bu`Lr}M#o;yC!zx!(Wdw*TpT@SoTAz@C?Xf8YO=h7V$uv{oqreb|6XVN-I=k#)}3EZ1OI(y z?5~gclQUy~{V)F({{Nzj>Oaqn1@-^|dxU=Z*gx;=`SpkY_Fw+0g8!>KdjHkTST8azD(lUh+Frrrf^1ynp&j55|;IwXxF%YXu1-z1EZ%cBWV&k>2WsG(AVys zmc8-81mS{;^5Y7Ns6k0ge~8O_21DP>SDsf+ho_3sar;4`eWkHk55Li#(O0_H>&mZ{ z-(SA*_yYVkdt&vU7v(8w$2xJDrPvPc(n1rx@7xUd)$U(E_4KQ`JYoR~fpzO}Y zHXynCVjo-b8qWXl^7ExPIi%zIFywJl=7W6_ku(1}v6RdU=}DYdN|B)>ASdFvU%ABL zyWp!%FW3EbR+j&vVEe>tP~RqGARSR`CZP`3{BS3O&g<19bY{B@#5+k4f&re((eDV* zMj-Ojc*4Uqxgbf?pZREnu@0YCCWjhsq(!*hNj%*k{4GGJV-bSLCRqt!VY&UAC2lJl zD9B6W$fQxt)<5|6w&J}z>t2a|q!Y2gW}|^YX^;2DI3N^AZ;g)&k6QDX@k#ed&XlNe zHB)JPuRkwg(ERM0fYQMH76-?bNU;A%d{~l7%+Tb*Is3|!aoC&v5a_YCQT;N*4KnZw&+}vP>Biv#ErRXTCC&prkoBT)x*9LO=1HD!6E-3B5buLn zccxUJhBs0j`USc6sbruTP?#XI3E6K7Qs1GX_Rdy2fz4VkntWGd5mpk|^2DLv`q!Xj zOzzu>i>}bpv)9sk5~flyy4tn_q%Qa(LZ;drlH#9f370)C=|9K6(w40?8MvtnH`7cn>!0-uk| zyOmAo4i04sujfgl-v!yE7e`6!#yu+BNz^n&b9N&kp>NxAicLbBf8_!Z!_Z(y6h8vhgDCF#zBiSV;IOVi* zP;pDL0y5~?_G;k_v5$Tyh;!|#X%>9U!3M=xOcGszvg>Iydtz^IuHWN+>`x+t;x9A< zCl1(L&$8IPVq^88Ja#Y9kp_J#*dmZ5HTe9Zdnn_WG@v!MPL9NUqD5%rzSEKHBoorY z2OlqX4f2)NMPbO5OP|4T^X^Rz9Wmcv1Rm$n;u-ObjzI08125G{0Apu*49Pdw3GBzX zT^3gjDZ_>qvDk|-u>PR$!C)q066c5+>Vq2DZ0zEDCbU3K?Xl=RI_(log0l{W^b1?b z55i>JjVuDlic0AQZZ|hgTiA=c{kEt4B84Z`{VX*L@mpHv{8J&O6Csrf2RFmetbRNP zmC5}bzW$AsA)Pguo%ZsEoR6=;Kh&2+=e{_ytk#DtF6@+rg3buzB+kPtM`#=Q23G8Q zViRR_Pc!d;XA$`C<;bJ*l1>8%64h5t4&b`s4IwjwWA-GktC(>Ct0a|;{`~tNj?$PT z@$8_!i_T%X+@R!$P4Ahm6*?r2s^6Ay&*7K_wQU~yxfu2t7R9w6JCMt*7$a_l#6iYG z94LecL#}1LVci0ON(7xbrFy6g5s4BGBNx3jkR?t>fkB&xgaE7i3L_2^vdJDG4B=_Z z88^S|@!rb2G3?qqGVy)D>&BMD=N5uJmWi7DcZ5SVqnmyce&1lmlWXGqh=eQ*1qC&* z1%7b6wtT-WTztg4=2jGPhc;{lf8M{CS6p*&e^fL?gJSc0?Ld1?$nADr+}K=25OV41 zs)xP!dM@f?;{MduF;Ua<@p560&33r| z9v~;_5}#dI9|b&V_lsDb7SS1c^c@Plg(jmX1sEk};uaZ|@HBD>$tUFX#JD@6<3SeR zWvmiHdCrfQ+=WJr@{scQL8Q!mueZ(zhOgJ_&pqG2y?+1d=RMN%tmx_NPr?TGW5?9# z7^DkY;F9I_I+h4@ZS$2Zy7G3a#qS3_cl zJmEzpmTNTzkRu6Ywa48LBPjj#pOHZc6(t_`r~P!grifmD)QdBH_5!c?gi@<#99NY` zK92jb_W|N#RmBEKtx}il=(1I^Nb_-)-BM;_thV4ANc<+yEh=85e5RCL%xo;PAM%b{ z$9gnb$NV3Hwz%Yu)g82H<23-pI4p?$?)t z84r*>5fm8dv+sq94@|b_Re?dnWly@ef8ZodfXSpqz7O%tjcLV`T6Mo1dbvK?@MZJ3 zwhuBaONxat%;0OaZyf)$@eYg3pb!KL*U#j#8ajF|%6)iz(+s8zAxTK0D0$}#T5+r5 zBQ>7LSY};K| z)5G?x4L?y0W89vbA84dsc}(bs)q1rS!fAJf3Xi?FFMl6=WwAIwPAmrM(4= zg^0U4X8(+;2r6<^!sld|(~{i4dg7W7vXKo_>60Ssj&~PLq^R+f9&<&z9g9s3M;kx- z30|D19f_whD0MAhOmFC6ji)JhB`>DJOhW1*q%`2KT8nFt5oB&W5U46igv7>Jxl%gT zwA@*18b4}&^DxCmmu`BpAO3<3C9%OzT}#A-AErnJqlW}1pS%_sjm4UZu!W2sQ!~=U zz$jwpoFUHFOCiN7HAqoXBOj2S5JczpMRx_+YY|0Wj7O-9=!lN}@;&-YllA}^K^GlUhTOKJmfEEZiE73KHa(;7xMqbMxn7PS z0H$7lEqvsNJHRL#Qk@YsTwk6TwGFOY+Mf%Rj3i8}`N41ZVPrq9JTFL2Hf|XKE|OPA zb56Y#jUtGeUKWNlgT+)?SMKX76HqABHAX|7GOJ(-Ojt2_c>+1Kd;2MK6lIVc*#2?1-t9H;v3L(2YaZy^5ViUDI@Mh-2Ksc;F`t8CPdjtuWMTK@o%jy~Q`p8`nN2TCD_7Uu~pa`}>VI zOGDqp@`Am~f7PuPcM}(9p7_E^4oY_r0uys+A6wBTLK?W>Bz01@U`-(|J_A=lMa|A`iCQu= z(IZE;4EYco_X+HK|2D|09_Lv})N?!d4kfo%>KhsWD&fqS=>dnnwRwD>yaDzPnX3-Y z3Fri>drlhP#R%JXO)+DEp&Q=GzahZ78f<9PFiOyo;y_B@5Cp(|1b-sO#q8Z2Q*=aZ&C2VI4Dl4T z7BD*jB_O%Mt4pYZKr!*uZWaUmY#R@WMN8y9Rz?qRKgEXX*4aEWk9kNH>B1N(Vo!7{ z;JoezJ5v}xDqH)MzbhLzZ;fnCshT>9O^tpLK2Pl6cW#2-qmBRl8ghk3^y>(8YS_(N z8wt+2ZEsEWB22YlJ<-U;Dloq>ia2wvMNIOc%`V?>D^=21vR)YI{Z_5VghC7q@*_-$ zL;TUGR92pEd*82L#yieQgiQNGl5?bxh;_+?{&K$t4;A__Gw2N#+~1J&gG<}70% zOs2Y&8Z@0ni8$PTjHDbHeK(i@KGRd6g+VVASy2ZvY@d9Bna!T%$8xykMysUpa8RA2 zT4AlJ3P9;fyAVIZ+B15tpl{qbIr01k?_E%y%<>>AgJ_S)z91-pikx3|=7|ai zPt{a?G~^~;rs>D8Df3wcAXOW8rs(uy@kLCp^YvxqiOH3ut#1i`K({+dK%csLzsE

V9BRGz5Au(~_vM;?J^)vNjJJg!tke5>ZVX5!Tmw@| zTPEg`kqqc6ys5Q6kV!ZuSyzo#8`8I|Xhl-5SkB3rjSEYcnIja8S&T0SJie}K<3}hS zmI9nB`RmtC%(bxaLntA{QmQPxzz8^Z#bd-41NYguXP5DFP3=gfs_-LyV$V$~RycC% zv{vo=#3y~M^!vnbuHh)Ht9tWe_!>B$u2S$x0Y&GdtkXMV9!8pSa)^by^Ay&Ug`GHd zp!mbE?f41|;MnL`(6%)UvNMHFmI`6K2JV1}6DzMTd4-H_yMP4A|HIx_$5okb`_tXs zUDB}W?hxq)5u{TZkxr#kI;BIpOX=?J7HK2}B!1hv$C+_vj@S8}d*sjww-@V_->k!uGgf$?f0u^j*>Iym@Y9P+R1JlRy5^K9NI8p;TkJj22N$n2t zi^n!QVIys|dsW#ex)UNo_QX8>LT?Qp#e29RsAovB^Ey&L0LdQYz5YnZ%gFf$Y!y7-^hm?` zf#0O$q)7p9?t=-ZV;^jU%z#6XHMb!_k>F^tfwv@0ht`PKUV~nb+nOBTZ#YccGaF2C z!iA5;onsH40Dx|U3P7|&S)jqB!%-s*q9BrPzy^yzhLxq*NTVT=(ViEjn4$z36=WnH zybA`a78XfSA4<1)xf8*;^hoC5L_MlhhdIF2OG-gLN*WEL0V^_DCoY{d9*rVTs>czw z9*pYAfg>}iA_Ro8uF~as_jZCf{DUSV{eh~4qEuMa7hRmt0Ido+L>S%793HdiiQh*fz5X5!nIE$*=sh>@DM5y9qouwB+DFVj9@Ac zAK@^hY~-pJ8fAK=-i<26s=c?Yk>jk_5?}{;rg2#bFM-w~zZy|Qq7|)|Q@UB~uFNGJ zQ5e}^0GA7Emxsx*??0FiJ1fM`g5)%1i9bG@(WMvQ>&Ww%h}x8x=q*u7u+JHhFJLu_ zjp~7EF-uygbPu6S={1oRi)n*Fop{|&py7+-vU@sLdgZQ<7G}zOuMDRe?e-f2Z#;!r zF2)@_VG%&+h_AuRXx`{W4^-#BNW|neX-6gBGK|wrkW?HLf|Oe7p{&kiiWYB|nk^vd zU|4!CK3_m`MON07AU<4=ABjq&isoe8k1g!ikYb%7@9TbB&;be>}>TyTs?ZUr|_tZkeXi$d}!<{|(OExGGi` z7pvk1S+k-unXwJ|Z$-PIXI~~*lM(faD^5SXltvS&mFuAd^cybb z`9j)9sA7xujURJtbSt~^KAXTYFPSNSB~CX$^Y)&*vlE$kGNjzPFe#KuJPN$naQ4%r zbHkkxp+WZ2m8aCin_8VO$YfSybtz@^?b){1WG!Ml|*Y=zVim5G-`{+3%-y7O;Z3l*Bw}xgT+zL_efpNiWDOWvMC$Cc+d72jpEa+av~^*@7IA7;<=wuu^zgr^r|$jV8DqWS;3)9f7^CQXa5wK zw!V5>ms+owKy#!oRGyz19lnJ$l^8@FqtkN$9$-4ZlsY#S`89ezUxyDcJ42?MzV{ z{llJ>K@{knus$~Y$_Hs1Vw>|1Sb4fK@i1Nqf~Hh7i52XDx%Q0J&B$bQCOq3XQzF4H z?UA>uu#ZG^$K~KX2=9h^ic7M&dw2C1R9d#2@8ZLIt9vns2o-su`IF=`CHNd0aQ$LB za(Yi|3=mh0MCB1tkum7YfXD07M|N}uyB`iT>mrR_iNskwsEd;*gWrTF)P+7FjimFr zxzDzH%403_62CZyMgtp>ahGCoF4eSFRVKm8i--{_7^DNj_Rf8ojPOa#Nt$WUt9r1bJW0qCjzg<7`1g21+QgdvaA z#h%=)eXv&|ZKbhkEOM!@dMf|Tvdg2nH)=E@`0In_i~KZFWuu0a zsvPE_z(O#bOxK@S)XTzuX14Zn9ddNu@O$=7l$yVOy{qiJ1H?ZHquA7)Q4GbyI^&{C+=&(_e4 znnLQbW?MXb>L3E6_GVViGLmGY=p4A8iSjQ^6t~Nznq|iZ@-J0&LIVG|dqJj3OHV=y z;v~WZ0}9d7B%`|ZU^>fi4dq;lMlK;HFvgVXnM6*0_S)F$^Zt6zg!!`7=T~BCh%%II z0}WHgfTnAI(fCPP=ol35>~tlIxidwmMDktk51<%{gmBw9(XS|;TFrt+GWH#c#I*Bv z;oVi!rsba37@xY<%b|0tuCP=>DXb7>GR*SyxGKvsM)QkXJB_7mY&7>FY`0jQP5>ww z&ctiG98TW-5Nf@vr?rcGv#5UBO6wZna)#iye&^KAz5)I%;~17^H$8%%^RO~=gsKZe zp(fGbIsxkhw=t1nEAuJmo;mrrDPr^`jDQXc zGBW2)nxbI1A^DTl%D==zz73e%2`0FtsKZgQzRTcuR)}Oe$AjLXcDNPNmyTX0E__OM zMmfmJ)im2EB9F)Zd>R3)?7Gc7diyn$-)19k3QBo^!>hyAn;dj7a5eqX7E|G2Kb2|b zrxW;e98HiXAz1@`p(WESL}fA@)kVB*>5^ABy}Od-VBTqdD4mrt90*brqnI+-I1w96 zNg$$ko}=HFCJmYA)Hp=wSWV!&BP&*%YfVOqa5~nivQd$LKO3bJW@$%??v5IrL5C6b zp?F}YLM9~n%h`307~5)nPp|9p6g{OqtM$NmjXHwT9U+P}?zO8oy$EZ&llwzJ6n#zmfH<-Z#hPNxzu*6}e5D^pQA-kwNB% zYKYqxg@bbWp$|<5@41c~E!C|@LH79iVh_oB@x#rkJ0i1U^?@){EJw@+4fK0YG%9zq zFqLZIbh7e@m}&OFbwOP7Z9G7VEzb;;qs7X($mXlI&N^ycn3D}tJa$pPh3G5;m_F1` zsq#5~QpY_l?|r5xrE^#I5z=h+F2%&a01H!B<2@P1gc;+h`4ZX`Y!#8d8zdAoWgcz% z^$|OXbdn4QfeHl?5WJLt2$fu;Vt8c7CVcNw1xyUym)T>X{z~A(JM*HhlCL5fx!=Qr zFb*ygS*G|Qape~s3DA+iDJt;2ZN*%DDYH%bY@WB9UshqOw1+>(h~rE>*glLWL*b@| z&?FNHzq!pt{GC&BC>Qn9&;>4Su>%b=1-<%wM!4h@m9aeua4S}8irVFn zl4`@=Bi6$)LN=5NtjjD>eryrjnO?(r za{+e#-DJN`Sa+EvSCcDX;n}!WduF)PVkxP}&nOVluTx?R0gPoSZ=Zx26>Bwe9wUBZyXf@R9GE;b(Jt z*DkBLwBp7onbGb0ISaan8?qQ71*O9-sON``u@&*P9!zdL5VdZsr!7swD{|Ky*S5?e zDrBuv^u~OreYVIFa~)CtLKaUXJ^sGgtv~A?w1(b7OB|J7I~R5L;t($;%Ge#PC@yGa z_X0$#Q54D*$}o{)^1F~L6^Lf4({Ue$pK|PGsXIngg*SM;y2mYun@g|RWpcK}RoJW& z?O&bhCYqE9^XiqJC*=DI;IUn_#5qG-z!OqYi!OF3FVmK*I-u_@BxgB3DC$BOx#~l8 zrrGf|DVc(Lb7go?Hiw8bx6S6#O07XNTNB3u)0D1q=e_;@^#N6j`p9w2;i}i=_QjhL z@d3)o7a*d1C%Yo%GiyuNE{Qo^8@6wRTw7kOW8d4cOkYpoDKB{~QpG$YZy?R!Wt-U<qwC&Q{hi9 zXQVXaQRjM!Zh|oLMy_ZU`9N;gvrnyR`r24{OW0}FOr>B1v~TExheZzPN!?5jmFK%) z6RZ#36iWB1sg=aqOG~G*?!0q66AKE6G>r6l92|&|fpFc5XJOd=_Uq=fSeHf#By!KHrHbNIw`ZM})}N%m}OooFd7wgF6YI#daIB|IVTY66`;a!`$9 ze?D2J$JuHGyTOPQstdDqyOonmTsoHP%4IJm1m6poHAwYQWn3gucEdDe`-)R#vE)_yuJ&OF)JnAkRf$Yj~15&0My@M}|6kpHg!WYsX@1dzOmNT%s#7fW2vc zMNaE`skemsZsp+i1@5@m>iuq#vWTXRtK^5BqY!2)i~*^1oRO2LsN=c&yiv41D)%V@ zN$gG4DTB!2#g{c1y(IBo9J6v#S4#U`4LRD!4?}DD`a0G;8(SO@LY-4&&RtPwQe0IO zcpI~!T;d>~0YkiNW{PaeqXo_86}v9~)GKz4U1-eG^~R7yF@Qa9tKRlmjk#f5MY*!> z3wt%$+CEK9;z*h)WI!y9X~zI6qi@2&NTm`%ro=$J76E!Y-a&s!IoA;#I@jY^m@1oC zZnd-Eps40IEGw&xW#UZ3?gKWb&IDXX;J_XUy$+rQQ-omzQwz1Qp3P)VC}!*N`#Pe| z9`%6T5Nls8aCRln9lmWz$0V8ShDNqmcbiLtW&Kkn{NoM##_f0r?r2MKl=s}fx1*4C zj{?88vUSy%c2jc_uAEC-^@FP7{`m2<`5=f%rg%o^HA2_Z!4Hp1Oi+yv2hvCkduTho z1v2zOmK`vC@1Yh}1&hRH^r5C1h$)C4NAjc^r?ZbMI^5UlLQh}q5K~K_M%fC-tm~LR zEXecS6InIJh{~4BjMpy*hp$yk@xEI@%xhMyv~Day%bqOH)_^u>vdGo-g4_cwPN5xn zz`a=X+2f?A$KZ<~A{+(Rb>n)Z1%8|mbg(0{TfGSj0{EcT&B}aqJ0Qyp0JMw zjHS7&%ZRDq#Mq_9yuB{DJ#xBjb4C(iNFQjuUqZ%Je=Z7z$|s)gch=E@W~fF29ZI)a zfTJdWub$j2{{~S`y8?_fMO}=?xU+~(OgV&`qp0vX?I3X$1_SL?BQhtZ$CSy-&`NjK z*a-V)mqx4>nHWX5Wt-Ks5Pc>Z7IGko)Mlw~t+H7EXXm-DYWe}6zR7XZAePdD@j zT7mzOV)#KRhEI<9wY&898cBbl8~>|T#m>e<(*|{Wfp;u5i>pA%PZ!g7%FBTKkM~a0;O*jvnP1#TIr?6;3&> zYJNy-AY0N}lg;vtLA$gb#2qwgo#vc-`h7EH`#J=3fY*EAu?y(kzwL+uu>LlQ{4)tO z0PB}GFaITh2KcniACo})e3h?Z>{q>5zm-4(_Adct$v(a>_(hk|=MTSL<+}j?UTOaK zB+!7;XKW-~AKRMPfbCVk(Le(LzLesBR+@|Bm!fxHG|Yo7sU+U673o<+VFRCwJK(1nAR%K?Z zU{hpft7P^o{R}V0NlI`iMpQ7SSB8*Aa)^u-o;nFgs5r{@_i+6-RR0#&Z;}o^J`yHT zd!QeE*LlBX{qF+%d+flA`{H)`CpB*?@n8yL- z3g6O$*YOv2DEKuyZ~)oiEu0Dr1c-YaiqH3~`)zRgtru&^>zf-HIFNjFVF@cB`vL%; ziT_s^e|r@DOECV#37^=3ixpT%`i(jw&<39!>SsazK09!hGAsX+>~M&({~cUE-QMr} z?mx>8Y=26-zsC+`h+fP<`P7_qNPQauUfb|ZWfqVO1e#slh|Q$2trJ2_!sLJou>_Qf zVBvx8OaL4_WmU*QXP`;vbSD^jfCU*Ul(v3Q^?k&hk*Cv3huWTT)aaex+vmqf_;sJ3 zAEZBJ2evQ7{ttHew9OyP9X?&<>%aV`p34FZ<)7c({nB$kefae%e~IS;xPi~@$J_xZ zyUFn#c3}I$gg@)JKZTkiX6L{}PZtk-{f>;AUg{n6q$k{X(S{!1g&5F#R;jEZ;%7l$jNv{)Hac zIG_GHc|d3><-!#&f>glBg3sd!r9%M;dy8`XJ#@bfO}|C=pCt+Qk5u@FKKzv=eyIcd z#bww=fM{{BLb1>zgdh%J-W%vYp%0};#H2?EJ)uVomBsiRT!ex!5xf+pP+s(Pw`05v zr{h)^USgP<)@Y$5Hhn|_619R}_q{EC8(+S|4*<3=2Z?_u3?EQi}2+FV#~q;{8bfpW-h?50RD@}my`2XdBdKLcJxlC ztw&dh*P2dn(!`AKhYo3iI0`{Ac_*_JK8+_*Ry}X>999YL2i>Zr-; zD(M-7&`3t6N|?ruS#CvdSeTCLi8>qUpRqDEl=XOCF#=UUUmv~Ky-|6?B>2V|^Y-dw z^?EsNfMNSZ_p{=zuEc^}R##uvTf7ptA0?5av6vKidyM9(=r_EB<; zP6x7~y!LVY`Rr&Tub_^b)qpO%1jTUK8+`SqYb{r;v8fe{E$d0O{jDRjq%E^x;}CZ( z`z~Ypy{V%u68X8|DbC}ui?M1-B76GYMxsM?zfP$IEe)*?R;Rmj=Y5{t+M-9s>yH5! zHmdk&l^aG+ICY!mhM5RS^@-o5@^7VX*SEU!q97k|=U$CqdmvLg-xTAY^mg3Yza(p& zr%l)?pMXY!i5bB_qopz=6)}?AQS6>ad;B&Re!n`47t++Ko4)@vnmgLsf<6H_<(7~T z(XqNP8#U87KmGVr?XviVr6N8n=UMw`6;#3@`C*rWj$EJ+`b^wp@_j+>L50fB%V;zNxqoH2t#1ELQaS1?B!Gt%LZ z8z=;&2Ot(PB;`RPeB2tZc_SkjB$tEVB2 zSMEdgq1S=&(=rHM8fQ~LY$j_}Nx)Wi&*Fr?I!5w5oJ;HVp?viOuYt<*BEs_!0YyA* z`BuQQdr44GT{A%tC@!w-ao!<%6ZWoa)`lrIy8aBTgu0Iw*Ap zhrCb{iMDKIu5|ah4qksaeA94ylXiO@PJBdsi_WST`BIel9riNZEz){bI?TcC8&O!w zi|rEl74I3NyAoXCl#%E2Rpm1l(}rzq^k#_Y;BsC9s&&1y6oS>M(R~bSM zCnz*jeo5XE421ci(ubB6aS1Gj_67!;H)UA%;y8v`aWvq#l=pFDZNlTVo8xIVro>#y zH>}ds4H7T*&C!nOae4|bayEg2Rvs1ZIyr3`x`rcsM~w#6u$Ih5kHJ%uW>SsrqzF|o zTrwW?#_(Au?!5?Po71mSEjV3H>Atwme3g@P^~jApKASoT0ZQmR&e=x$+!c&B(vnN( z96#&43-s1I70G}UHJ)?mVBk8jm&T#78BrlxC?ABKEIO}mR^;d^4^L4fbdlBU1D?YR zQIN}=$|oK?2f_?>^Qj700)P_aJi8Id^KJz)3$Z62O)f&S`MGnWpxbv(j2r@7f^XoG z*EmP;&+J@9u&+999F8&Wr*4>N^2aWs7!{5Y$)sjyoxG6_?+{!Rh~-<`F1wf9iXf8u zT9~EK0iZCBxZHCrs+FAszWfk(_rcJU8-8=#r{p?Ll_)TQFHt}Yi0L2z<|D8Reey*} zX1y8W8Q58@Pdq#i+UbXus@Iftm0MqL-b)n(BQ(u=@pLrpZHuu3%~O^+^U+w%JkeMu!}`>y zycR(#xoHAil!uvH`Vhoeoub%On$4U3n?6(S4#Jqsh9@Ep3Hbbj`U;$&{EsZrmMWiM z^+qlWS#5RynN1?oIX@bLrt&AwL=k`oHie3s!kHC@IaaQ9*wYI zpGBCdB#i=WvN_#Nqp>kv1;NmhsGfyW1HjaD6CB=vN+k5kSiAr*LUWP#9xcJiv9XUkBJB3(;VmKlwlhR zag;#jN+t6GIRwCS``$il;>zyJ9ZwXho3#-Z$Rujtlo>M#Dg>t#5YbmtwqPJN(fjEt z>?)h^cWuFnp5JBl~DE(mXW;H8j=Ht&6)p~*2pm|t9bR+RZ%Jf9EFVONugl6u|a8h@oKh_cm~Oh$bQ##R#XjBN?lTGdzdDH7z_N|dt!dU2IsV+?Ipiq20b-vhexup z#~`VR0umt~I6F_>;=|0tA(BFtYO>69X?I^dSN__x)qthIrjhVMrREXk8ZKt0;Y4J-N(o{DZm7a9lh{TX{)A@#b!K@6Nsu7PwL@Z8rLovXWFR5oi=wINGd21obWH2+<{GT;ciZs0Li~ zc(7@T#gRbqW!_lX)7^6+3GzsIc?bnAk$Xq^$lh#-#_p)L>5aq;1>L z_X6ZT}o%fhnJu#W>b7SX;o8XAT z;8MF3Lbi~|to5dPU*79VI6+~9*E4kmb`H?$3o7lIC;eC}cQ(cm5@#A1ph!%cCm($r~7`an86994K4}IhnZN#_dC9jbw5g&^=!qN=!02Wal z1JY6Z7-@jt$EOBiwh?g7zMpcfAL%j<{0zflX0- zXMv(1>|rW8nvn{;YPm0!f8Jq=aD&#oWaGLd&5JV}sPK{zaSMps=W6C^m3gTK^v>1+ zvjTqQ1$4DLx!TQ%Ibl@w)bi#j$&Zc3oVx2b5P*Vgm8^2+?E`7KTP?6DY@Ih5uW_N; zNS;5TldU~dd#qG}G${%ok}Tav)o6~$Ryx<~##BnpA(}{UtlG10wJvJ!gn4Z&=keOg zbBx6zlmi!q7S?e}bXV)uoi|5&Z8gZ|E08XIx`geve(m77@x}C=%e(eWe74f$9RW7^UppC>WHHzDwO3csV2KqaQ?djfbL zCE?CA;B~pOp6Bbk0k6F_@vzt0ApT8HaB)Uh0^Ufa^f+XI5hpuqa3&d#QJprO3n(U^ zi-0qCG`28%E6$h{dpX?7OB)Om^tFg_6YhGGf%HuENe!x<3I8>&yXk1}MfUF?tmi@3 z1a7R9qhG6eNql%62<=uFV}z?TmH{GryokPyh}fCwdTLH2DrZ*Y##z*nz$mHt@{)oM zKGnHQ?YX_)BY7_$3n!I8c=MDnpDA6_5KRljGKwtv?Etk}?;HcI&iUlwTsx8JnRLGb z=gJQHbsZM}BO@HwgDI>)LC2=2>#*f*^}X&T5wc#h^g%$)&yq2`a~hBSks{9R0F)SC z+?&?-PSh9!#~~(b1E`1em^-e{C%whwt?jP}3JaTT(a`!HOps|4zYWN9XcaIXcWCw7 z6_ZTmE95Enec+-@dauwjK#}x4MyDOk(P}S9gIesn91+QU1^*Ypi>Ik8y$E}rNA zMU(}mucMy(bV_H~beWDjIvOa(Hb5@9;bqUR>zGKH?UTI6!gJI%k&+%g&j&>#tcsW3 zOfWPbzq1}aD>UGVNl+w{l7Usg-Qwt{o(;jk@=Pk_B?N;}=^RRj^<9wdh+*OyL)jP* z-{9GHN+K&_n)8y%bY4i-M5lLi4h|b zEO_P;lXmon2WnNxyYJv+AY?BgeY^QG2M3t|qA&P3ATnX|Q{Q=l>pjFL26-8f9HQYF zSN3lH;^8Qwj8pidlWpmJBKFbYp%-iw+bNAA&?3=$0hk#S zhe&=Bb5<WXV)8^-OlTMf-iLOgoU8C$g}*d5r7>(;&2_JayGcgB#3n7KLPE;M zD4^OxVQ;T_WH{oLUR6yS!FEot@y;j-Y(fk-PZm@3wPSLV*jv#{ODP;)oQ?7%^?RHT zrd|-G1zCO&3T}s+krUUowy#xwGZ7%)5YjC9I`O`$ODSFV2Oro}xp#XQ+&P`;l&xhLe`d9{vA#4&ZwF;nQei%Zq|0knl^ES9U_4=rTz7_RJywEFvvOi&nKH|x;4FLK zH=*bqnM0Z*0g;|oqu&?^OLVx%xo9tE8T>wpZIPd0r3Gg&t2*ITWa4e=>EwlW5Wh;s zsgQ}7@v}YL$Wmh*3_@^I)&+C{p6CHcaBBwd%%*lm`CQ5Iy(706D`lS9%1ACro=7(6 zD7S-lel3}uslX>OR$c4%(Kf^DfQ!cG{6n;|;oM1-jpm7RBylKlM!^%X_!M26?Q7!; z`H!a*@MPAnJjg0H)9O|S9&t7GnQ$N$wVC=q<$8OFKF1tz7QUU}+6|eFSTYT9L2*9C z+L*zKW2)J{lt4L;>`it<8*oig;TJ9{4_{Qfdj)TVa|ZpTr>4}=-`fD zj5RvHVhzQcWaXSVB>(=%TioHXwWgfy(w^|*MHLfaVezvoM~^okaC=g+$QzX4d02@3 z=-~2T3Y+519C?+bv@P5xwzK8_kC{|x%(a2)TpG@^#L;IW9nO=9)gjICIQFJ$Os8CB zh4I@+6_MI}x!fRdg|qzx`pqC(kIM@0oN46_om5>Q@X`ykAi`F!oT5^K*Lxu;+H<c_KoDyyujbg2~Sc8(8W(`xP zsT7C$70J+6C}C=J;t-}_w|#G|)e*saEt*&F=J_x{xXq;e!^HB}XG6+aQ&b;bl59n7 zg9XY)3Ev-mb43sB0#rmN;&e$*4j&y2I2S2WiP)pZ~~=JUyMelZ>l}V!l*;tDIUwEXsk50*7jBKta=Bp z{3{FD`#Whh0q~c>qJkro%I`-`FghQ<=tvDr;=_+J1hakjoL~ltqPhU#GO53F(Y%t% zq5_KdUJpZWs{gb;NvbtqNVaT`5*|M}Fz)ys-;AG$tLu`Xurc5QkMZeK(aTb!keKD6 zS~VYk@^$@X)orBpr=twHoyA9D6*CdjCMEmEZ1SkNRafo( zycwtv5*NwS#lbxeG=f7F-RgSp6OP6t#C&*0%ibC+4jq$ZIfEiZKO@T<$$Oes3W8fH&~4rO;mGBsviQ6NQ36uR1g ztTsWM72?DMg|8betyn{Qsk|Ste5Xg)!p@2vJG$oM+1e~15M;zbzZ*1Ql|6@9O{$b- z+l$n2XR}I2*pw^58baztRUXM{xyGX$x06f+_yxcc%P5nDVuk3u);JD(ZKXNL>E0Co zUP9bUC>lad4>5YJ`g~!5H?BJDILj`|YDrP(ICnJ}%W|O}(v)Cw+kthG89|3Wc3*?j z&(aNE#*VU;tOYY)72Fy{t}3&vl@{!9Q)vizB&0yitf!$fsw7Q*2!y2 z6x?b?T9bCG*8Wh0*A@T?rfqwiZK@1EE>CdUF)$Yo*CbNQ>f||+4M1frS=&I5y?ePw zI9f=yw^KWVKkV;?4ef$2EBI0#wYhInU%#&goZa|IZ;hW#r0OYH$qW7rw+}Q0{u!-v z!(L8am~1CH)^WA@AZ)DA*!7t6MJb!HaOuIa6TTK(P|Io)WE$ml#jN#*sQi|Sdi*vt z^*B(vKrrU$iI{QWZ*_)S0&Wy+O7aEGa@HlhF$oo;uQ*H zZnvK%RWD+tk-WWTPkl#EB)mo5CV~JMbf!aJQNN>Uj)V(mY$(wJ8oynIYE;YJ(V`q* zZ?WaqudAe*o{ro?_zHrSkn5ab}tAEZ-v?JyVD-xy|uJ02`cY*y-@zSS{V$YPXgEdy{qpA!ikt?-Ab)Zi)U&33VqCcu88JkD283|Eg@PCKCX~?{*IXu zmh|L4ff7lMc?|E#n|gXoPxLci1tXS4L>7bGb`=MLFeP3nmTn$&R0ow1W0SvRqBzy( zZQ!VDnx2fxdl<*`WE`{aq6L=xrM0j|&E4l+-F`#N5h8i!);LfT>9TEJ9Z8+Wmbg!2 z?lrqP8~R9mNPJe1r`|9`$2RWo*ZRJtu2?}GYbSGnEia#^Q?ERR4GIv($O{$CW*Lwr zgH+#~IF32u?@|>*+ox%0YQq`i^V$tkjj_3XPSY@RtgwlkFV4)POrfS&=#FklHE9U- z^ji!4H3e#)QO@=^SW{0#2PYp4 zNrkP5aHgzU+lJyImy%Z_xGh6#dW^LwNYy-i192C1Lay}5IHVxIzc8W%1Z+lnje*gj zMy7g8P+d+i(h@t$NX!+ULTxZoti@$6aiaNMLZ6hRU||(SbrMb@#(bnjef-LL{lv7! z98ZZE=`QLwe4WyfC*^Ov*YW$|nOwoHWF3_xXi&>u)K&)7i|!R}B$9I6NB0a#SUR~#seUv9|Qh3a8|Vx3ZDn?UznuMu`7uZ>?xjdIAg*ls;BmuzQ< z<|2-BNSTShbFx&<@)D{9lce;Tt3^`@-rF6{jMVFW5h^n^cIg}_=@Y&^eljL*5>6(H zx(t;__4HO~sJvvsz0h+q^MZ3x4K#$CD%@tbs1+{g8fPfh491@+j<} zGliKv;qAOf(YW)O?Cytby0gARL=ici(=Y?hT*IzSI?258A8J@_^|i7=qgS@uGG2o6 z2M$Fhr?qfg4rg>E*2|8Y26S*Rj^g)BrI^`;$J4EHb?-fj-WdmpPsBU%w~!5a+#Nj_ zusb9?u!k(6f^?9m>!!xvkF9kuJPEx&NNkBSBmT(1~bd6(n<6KZuT6cFO=zTFIvPi`K7wz z-^jxD`c{MB=S? zDALz+CtZhF6tOC46H;iet3;ge@LG0SFQ0uU#G*ZCKg}EthXydVmbn}$kFIR&33$zW z3)cb`(|GZEX!HIPk4}cY{xV=VO3bY!)&Y%*ZOOc}ja!P{TJB%>8)KzdFTPW7D0g9U z(_eP+R$js4g|{*LSx$%y*T8t7NaWKQJVoHI)}edX@A!=^9#P4+2BMXEf~N&kseJEE z`yVvn{7V!oS%BlT0AQEqr``mhRwN5hXOjI(gU!b!P-l|;OV8uSC9qwO{YzKJ$0e{m zhvQ4L-p3`dPm|+Ig9mU49NGeKe7Eu9+n%A{>(Km#^5Czg+kQj{isMV)#UDtk{6`4t z2Zf+MImp+}j{oll{M=i@^dAHMbwW^|9_b%4;IC#3f9MJP(wOrH2K>GG`hNrM&(D1K zFT?5!6aP)I`VYnY*grG@{zu)+(7}}Ce>ooC9?t%$H1}7}(tpE0{->06IDYs{_BY<^ zx3d}llwJRq`}uDNIsR`y_uq~@{!{+(_k9*Pza8@X?vTdU0i$2eoe+lbqIr=Ze40@f zqJUi)$shL*_)rgHWul$tQ9>Ij_ zc|RP*G%=$|TRkVccsSqDWgx@{J|-s zPgnVx9{lMP46ts-`MK2e%K^DhAAY^ccLDxA5Bog@19l)+19c04f3N_h41POl#QCLQ z^3#(>-L0Ss4n#@ zMHry}I;Qtu5(b~95aVXqiiJRec~O?X2kW=t{I{@vlbHOWf&u5Zk>R_zeq{&FU+jV~ zqyadij3Vlq^A3#QQ0EnYhI|J|0Bd@wr?8OIA)Mf26^CK?=zRBx6c*BU8gcl@d?iz& zp+LeZ&ZqbZ+;_18xrN-%JGM+Us*PcH_``PKbNtXxzPHWaM)E%=hcAbgZ^+@xIrK*a z3^>1y5x)iaYyA8&Tn{XpbA7Ip|I%+iefXD>0{|#9^|2<;!U+^I_$@a8C+Gf>DMTQv zeaCA#fJ2AuO3WMpAU|+$PJNU(VP&ovuV7aEGKg5f0-QutUx2;dy; zg8>w(?^yWL4Sz-GPjLpmkKp>=8;4IHe!a?f{rE>om;=bNoWR*t;OHaZJM6&qS513z z1AltxTcm-*i1zE9jvt2+36=1kYVCt8fI!J5*OFb37V}Y1s$G!wi<-+6Ojq3{>-jj2 z_%?ap7it)!o}~}dq&un!0!nCTdH&$q;KKS%xRKRtJ=?~3oT_6%Z^53`#n|IF#C^An zOP<&EIv(eB?YZX%Z;@r*d*}{}G46t9_j< zD7f5+I~W|^cA8^5WyL>FeBU~*crIGIDShJ2%O_m8jaCNX4pwdwy0LVI`idLS$5-V137W1=!%oK<}M{591I!cfLONAl<;C(0rCN{OPx^vj`VVoiGNBKlb*bJCK!md| zwkJk2wD4QWH!7omKSEU;2p;n-ujQ=?(IX=xEkAt1{lU&HpFLfViVRuY_~sBEv%Thq zckb|UuXXx?AzYQQOA|TBu%rI8{vHqcq60OU`as_@A|fhk(V!SWpv$}#Uu?a^sR||1 z)5S^du`3qXZQ{NL_;k!EK_#R!pH~eFAppVFhgUEvit}M zp`mLkcq~Bmv(l&a$AV_?GtL1*zFp_J`EE8DvrMuGhPnNKd)h3#X4HMZGve6He?Mg?`BeoW_(L~|VJPSxb~n08;@CCSb<4^eNxR@| zo<`>hLf-BO@l*ACm4c~l?^mQHjIHDxNOFlu2QDg6r88=M5f~UKKn-c0kEichUfjNj zElNBa$BW04g*1PJN8l*CFjrvA=xf7dWp9YLYB2X6xq1gq*|*Y0NCte4{bq$6#Qy|= z7`*gc6&dj)bRLrYY1q0jtC_QvDGj&4im=O50l_-xXPD{F7G@p%OwM_?aE5Ai!Qs94 zS9O6c{Q#GZ*YoU8$R&f+ufwviA&LBQXTj8ad$KCva9*ZYW3qaY;%hIvnhf3XMv-Pl zXw`_R`TjSk|$!S3zwQ+ zOHMhmJACHev!gU3Qt>UMi}#1mR>=ND5^qv-*65xO zot!Zp!1#8&yBhNryo20y$|<lZF;%^C1S7<ywp++v~pD z>$hD;xq^|N)>9wX<@UP|S1qe$eJ{hDNwPo?d&bC5(2?}l2ejy-8$HY7<%AZ! zE}u72&Z5p*vm6om3dk*XkY8b*E;e0Pi!BZ!D)^E>oKWKT(pPCi;E;M|D&a%C5?Tys zLq5|E3cL!vUR`;F+3ekc2^L>z@yOw*10s#<^e)I?^$bn$DBSb6^|tq34Tnl%vlh(j z9>5exU0}PFFT*H-t=={8qz^<4Xb6w*w-}w96>^d6aSiclYk02h_FA(BW{1lgOLgm{DJ{DsrkpbJeE(iB^<-h>VYkOe0p~ug7GV&C zyaq`bB+b&D7XyL4Zp7d4EjDsT5l2)KZk2vCrGl+nQ<<9uVb|@5-SdX!t{p#~I3ZES zP5z=xJ!AbEujHEod~&iR=0PXU;9+M3=s-dhqFW81_Z%Lb_W6e#B)0-stPI5~%k0&_ zlg#@RP?!XYwXdgNOm$coA-YP`aIQwZ>2I4@!7EY^G19sDEMYmjmZv#MyF15{zF+J< z$AfFzwvy$Rjr^+sLSZVT!wqDCc2cm^ z^bZ5%lFlTesNx*g^1HY5*tjRR)pEo*ji≶SP35v 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 %BtmDqk> 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%0D$XcMFo(jnNAh}=c8LTtOdwJGB- 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

JSrNBurKP6fp@+|Td|M|)Huj9AAj2K4XI~fD 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≫chzjb_0iix(Rxvy(~=GsFGK(%5O|#NO4#Mm0)t6D zmQ5#HF&TdkWSZZJHv*V#piukA5XBVjSxFkkR~S+Y#wjw=(FL9ffqe#e4i6qY;K0TY zW{V%c(NVIlogG?az$M=*ba@fZ1@#W#eE5i{mJoEDzmM=m&)5mTsbMz^9Z(vfDRsVo zAMA;I@J^I{e=Xx`j^aN8GJ%ZR8txG)R=sf;Z4ri>;9E>1s}xoP(7zCTTb+-<7{t)Q z?!cKwOw3TQu}D9S1@{IGrlafDPkZU*v+niuIMU~Yqn?CtJ81dGrt5$i~{ zq2&&Z@ZOjyjkGOAnwzI5v7KU!hx&i7FhQ{alHZ$>4;y5R>hRrA7Xkl;F*rbbU@lNs zC541YlEEH8Mh}LIXqlM+kfP^1e*Add&Hn9wUqK~r1bX$xKjp>a_nknK?srY}%4%^u zT1iQV(6^L>qn8D+aBDj}N=D8~N0tjR5=tyUdB3n~x^=|GB9FmiffpOfO!k}3k?X@F zfjqsgPwE#Xz(=Kkfx#&Fb>}?;Z#I=KEsl%x5ZtCdYn8sIf2A{Bw)Jav{6mI9O;vVi zf_mljdXPv#hbF?>Ve*9>5Q5J}5gPe=7IB`06k%v+sMX(YBlK)2VFpw1D52^=k*EYc zK8Wn-BQd5)LFIs}gHBQpb$VbiMFN)ysRlFNsU&b?0#kK_aH!B+1E&_p=%MRZ;CBPg zySaJ7Obg~G*xsU(lLe3j5*!R)9V!Oi{DXFLVhc;}u;_QBa1=EnG4a79_y&k8s87!R zBNNLow;R1VLfSA%2HPAoBrl?=CS#NYRAeG^>016mRlHZ^!wwK-U; zeiANMAA807;NVJohh`-W$0lGH44?Y(1mZ&VW;x!vHEenWwbAdqWE#S6P<04%Xbc@d z&miVoNWP%iyub51x1{CEB_npoCK#7g~dNd>VeSbN&~mD1!jQfG3-ppO$P_;57sbXLuw#vMhVHK zWa0kX!`}%VBo|0f1cL;1&?p`W3@b<5Mdy-0IOgR1Qkt~zYW$gbpryN85O0bG^Ab?< z1HZ7;e(&~Y*ui=Gzb190Vc2VW{I093`FDX3fd*xAUqDGG z;rYXm%C>NkYk0~WCi!zj*0n(uG9$X4>UVy}$e8YlCj+F)p(AMj$BY zn>s*N z06VwA9)?~5s4fl;kNp=oLD2%7Q?DIY_ei3AzaTM`=9szF56DAjjPNjRZ)X;@O$GfQ zNb{#l*kNI*V%nx)xdO!MLjnR-THGkXi0%y!338TjJd|JfId56iCv)r$l^397BsQR- zZ0*{=@D3X`1`z&{dV1-eet53=2_LZu;3TwnE&g(p9ifl(?Kn+I;KAZ738RM5rh55!9G2m;6khjY@ zGvGX!XZ)(_BqO!L{@$_(=5uUqd>8yLw8j*Pk*6x=1lyd8=B$MDi|2&i*XHI)(=~O| zbhRJCH04&sGgKTAGQX_B#9i3u83{K7oN1QSXoYLwgBMh?R~3}|%H-r~U{BqZU$4#J zYL0H`e0tUQj?s%^tw{m)Y7ac7_$c3BYDZtKu80%iKR)b*iG!l=jI&1Gj?%Nrc z+jr7wrO5)Fiuewh(s1eXx9r-h5Hy}K{pXG!c*ZZ^UZ3szkSWE+`gNPDzu(IoA*JA6 z?edfUeiJW(-GaNdQJ8&o=(GIszFFg1;fTV&QdG=cUssy54Ko!z@;tmi ziTuZx8#c@M3dG@%129p0kRizj0zMF60mB$v(vy^QIv%(g{s5o`gA@bY4?F-KFoaN$ zV0T0PcJ--;hk}|~0EK@IXf^REDOM=$;duYc&qx&eN_Jhq{n#CAf+>mQItsiV_<-2;&Ar%fv~?@zl@E9^_FRLe&A(iCLsl(9LuX&zo>s&< zUoQVKAgXvkxqrjC{Z>2w{c`h{!w+~qIN9HS{WW>=0vEuanSlW+$$tz!uYGxe!T_)} z${?J2&_%h>A5_EC09-=2LwmuC7+VG9H{FmPAv6+0fhK;R-e_)Sj5P;)p^uwev23VH zDP~?k2yt#;zy{eojO#&9*-e699QGBcmvJr&!rTjo4Nea{WkNViuGXXN!Z~tC!#G(U zu3~xddexZyq9XzTL~i*p6L=E-KNAD(BjHR1HwpbKj+_&W?jJ!_2Wo&{gCHcoP@oBy z#{;je8U(ZxBMX2s*!3aVLTcp8Gt~4PmvA!Uumo65^nfFlX)}*awt_4LOjX3FiHz8X zwN`zOT7TFe zin)P|OrhxPpeqUn)OVrhLIIW%f5%>fo_a4rb8wP9W*dTVj4-+d(8U;YNST#{AtNSy zfJtCiUW&n>ibd;VAlty;r`Uk&`@`K@_T))AH(-ILW@czWp5ypZsr>e zsA<;hDS^%nwt{#Y%oZ&)4sTC^URYV#+25~v{(J|>vpzo4F!)_{x zC<71^{Qc|Et0L_Zb~Eu{zN!3yh79(H)s>YYXF@RF4U+OwOv?w@97GO2u95 zg>C`T0x%RY&_VbcqDSBYb>M)WmKNZWdGs8mGkE=71WlmnJh`$^o*12`rOf~-k6LSt z**hM6K$CEY1;q-REC$`6BzJc++m2rjav*_$_EY(3iG8?l~_Vp z;0?^hn73b+_UoL@?B`?Hx&2_z_MT^p#g;9*w>tQlR&~_9bN3i8DppsObo#h3=0a0s z=T}x0Rbp0ksBo*MjH_`dm!9ut)-OhHZ*MG4<_>uMaGCbS}^q>Rl)xqbVCavCK}jCS6uY4aIF+7JODa+ zr7pClGm>zZ5LK6-?VT3tTuF$INojeBAnqI#D6m5G7y1t-ODh*qT~CB1|! zIBCKa6Q5+O5{8Fm>tY9LY=twkmVLhjm!Ml9#+t<2sJkY>Y56U6iRjSQ<3h9q$M z7?`joVa;Mpqz5%vetv#op+*q0sF)CNu-hFeqjzrIQcAsXn#}_c%pqgUPVDXBm3RVf z#it|7bF;H6bmQR%;_!Bx`$yQuBhnFWvR9(cLp)v?ivc8wbac0Slm*1O#{;1Q#nudW z4$AReje|EZpXFIQb! zPAFUKUf4Y{^=@+25hNaKaRJK}^DCsvYDF$q%767Spbb}7L&FCYOj0-BadL6lO>!c? zSccz;Vz!p6)cVfD&|>+HuvOHQ6{<0wU2yh=Ze!!uJ#d4LpPp z?BBVJ;sE;w*p^T!W7q%4_LevK>e|1ARfq(co@6C9k6xkfmV-_@Oo*Bn64FhmuCyyF zFDK{?fSv%wl3$c+`wG&ox~=PB?RtcCoqsDv#DOX(a_pEfD8u9Bw*}-g?KcfjRd|}*^P4x zW7*2yQ8-I{`g8)(We`!qPuy3=9Q7m4RE)5(@qKrQhz7_2#4s-IF%cCoJ2M5`0Vswo z?5IfBWsj00EPVWX486Nv#%u5Ua%QPwepdL~%iBz;ZK_V{H7hSbEQ>O!9f+rX;8?Nx zmM#6X`Ue)P9Wi;Pl^QnQH;|P7;*_ZBZ1{MVYnc{f|F1nD)<8ot=Ic=9hcRR1HUTzQ zZK~yanyK>Ha^3{+)gmHXh&;}< z6V+XGoDAS56Z;YozkLoIK$w^DG2Ew6I{Nz+Le7ERhAMO5NkMbX^t5%HqB4khs7LXL z3S+nd>tF0seHl9u7mbPyr#Ln!BHLug;}h=g?g;ooCmn1Sg{Bk(vcO`r#voV3^A=Gv z=gJ%$5xpvI#PY#|t-L&!gQ}Xt97Szt=%=D0_HEnj^IDTvAOe|J zaH|UjpHZrq7}#I*K_nd;+br-NUi}*6jGQ3j;s7DT2Y%@ays1drkuWeZabRP`r(+<1 z(?=DWJNYmhScrh~1LQaZv0*?w#W4euMA&52H;-tDjFZi8%%WzqYO4F;~Cu$i-{s9pkCMFbicO78UG6L4qP6QsNQsY1Sn*FdT0yd^88CvN))$Jd7GeJe)-_h{e8rwfY$$ zxk6d?t+RcDn>yCqz=z_a`GaCZSr!^v5X}!caf}7@K2@z}Bvd2R* zYgrjCmzS@vG#Qo!u+ECGu|pil;lqon2SL~A8kvOgtam|KZEXQ>D{?gu{&9(8og3;3 zSNMek3Ih>?)9ZeLItM)zMd$asI6Ggh9=w0zUGpHYH6126g23@({VG%fuDN-rCg_jv zq{Ui5rV=!KnCqNn^GNY~Y;|hSdXNG^&b@N=s`3=;PyDjsJ>~#l+~5O@3f+rCfED*& zh`yDUf`#NOBTg>NHPo+;FF2$SSo~%a-Ygn2yb$3V=&Q-=v3{lAK|>5~3^$SE1#L#? z{nxMen>~jNeM}e3S~bT4UqO%F#t8VSuUT<16C|O$<(uzJz#;`zpD;4FXq{3^+l<&~ z!c{YD(VPkRvLO)I8Ent0=I2TJ5EK#`YJh==n$Bv(!{bP)c$M%PJ1?kJI03r5Pml$$dg-ui8eVB3L@c~sg5#cgx9AnIS6~}Z>yd=Dt z@S2cwoKz)fbW~JerSJCiX;pDCYTzS84ie*jHwkbqD|O&Ffqa+d=B(E1l?D%dg?1C` zI%IpaQo!|CPsfYi&9sdE$H!Jnn6x5W@$ZiWj(I`Dc%R{+{1%Rn!&+Wa*%`q+jG?72 z6^yj1bpavUuZ{?$U87KTJ4&iKh^+`sIYiaE>$cRY5gjh7a|z0R8xK7nw+>2pOLuGf zw&Yv6aF0zgD?{}9MT>*S&M$JjyiuCki=HIky?^T(uH$kRlH0A>+-Z59U(h^c^RdC` zzK+J&63*u7vm}=Dj=e!_o3|uOk$2J>_CMV?dG)M8*^A7TB-`7`vZXcM`5c;Rm#*LX zDxfQB^Kn2fsJMEw%f5V@fCM@EJJx?F^@+|c&CVaUeWL$JSCQ!kF00DC|k^t%(cr>7yKYbd>oG?a*ZRX>= zR;X$*+tgh>j_D1db(DIASACC6Wb=Sn4Q5*G9)x_2XG;Oh%X`eGf_FkXAmCf*1$}iq zW+T`#$m_wzrlZR$!%l?AAb?TW^I>-1x$1J700Tfou@Qwx+-@1JpBNa9eLBL;QmhWYjB(P(s_j%xk z!eYZeP=^GCo`1?ycl*bRQrh(Q!=szXayf!CIN+s1X6y6~jqDevGU}O<)^FQ5{jE@P zQ%Zqu^Y|h6C4I7Iw+8psMGIZSYva@GI!*qdF*+nQI3Z);aO{OhMym0dxy(0f{m<5# zRbKR%;PYU)%DR-@gx=%oEiS5&3%YfoC!BpUTRDpVB3%ux?>xEORb7e8b>BAOVSlr&mLQTT!Q&eY!8FsGeJC3;8SAQ;(>}`-gye840cx47!7GGW~D!H7&E zluCh|*htaC!$p^issygMAZ()$@yLTK9sgDrB{osi6|mgHqXLW+Bpj$`-(K3Ye}Bv1 z4Ggl7&DqQP2uV)Bxf|d85uamkMQe6QlL@sH2L}h_f8}Z@Ibg(2ST}Ld<2#<(1Nss& ztw9!pk|Qd28x5>G5mFRWiMWW!kzLs1|Na=?1i~(?gSrb;cCoSP=iJ>uWK^8mvy+4j z5j;C8nld5hK#?H8dPqhHSAU!tbNX#AJMLTt4vI%QlEn!PA)f(L76)JGK9m&R$j8jJ zNCV!E8mP^`;@J@CU#mJL@QT5hgo%8jl0JmT&|r$9+l8syY2~(Ew36r$YV|!%yd*#J z^bD2{Gw-QrG~|cDxlE9;SuzVL>b%dBC-P^`yyK8EG#nsC(UX%kqAJ3>-v$lz>QnLs zlKJc87AZYu(xwVpzu0+XKkLGqw!gS_o*H5;9nFh+7@BZm3vniNP87NpX+@-8k6(mGU@Gj(?3CxEZ0<#hR+jKec6Lca-t>&mmzBoK zs~Tyh^2T<)_S-ac?P~j#+bxAHpXY=uI|EC$usKfP37E4vQd7KIc=^zSDcXqJwKVPh zB7;XAi<|dFuxB6hqRE(h-C4v^%}>><{Zl#C_UePD1Gz1m^j7w1?yvAS?wr4O@lJXPsq9D8p(Pd5& zBsbKT^=eVs+1ZIJ#DF*LY#N%dOk*Oj;J-f_j=SZxx(a>!P@p1444^+T`0m8f4)V~$98TS9t~WtNLYLcX$ft4Oid`G=&8CR%@+QZ8=YF*82N z?NNf1f)FlhU%9bYVtEm-Lc=0`4qS>p`fi=%?bO_uKqraJ=J9Wb+>g$f9A~9@tn#_) zcn|rUeB{N4B!7C6%o+~?$_edQGPj!fqpw;+505^&o>AgKrQTm&O?D0Ikg6Yk?Z0LF zu7G24ilk`4j;Og1`uJv6?S=dB{m;b3NXIiZ<*}-*uGWF$>CB8Utn1x#sQ?lH z`1k7`>^ISq{RW$R^_te}Nj))Hkt{1~%qAtc>UJ%%UTyQ@m$Zw-aH9wzqH)t-w%9es zv^6$k_R8@_pFMUos+wEWC`NTxXDvRqa*$iv^BCy2Y>st)^Y#@}j85oj2Vd^ArRwXq z(R`a+q5J;rtu6-c6$*we~k{)b?GMdCfBGSaf8*>bHu@bfX6zkLk?QQ==u zhQRd%k`s(}V8RHJ|K|1Uaj0?I&03E=OE?ElRPejN5bFZ<3myk3?}cSt|A{mi78&F8 z1vtMwYQiGLVXX*12gm2HUt8+>RYJ~Tx&}KF^djqsytZ@u zq-A6_uDT6YwpmK8sUbql;P$A+4GeNV$Eu(?{r!IrK1t1U3&&7WLhT9TG4!7vd8TV= z-9RMf---pPVBPr7)w`(S4#Upo8y<@W4m2<>$W|652-ZDz#0xW>2Li7>=Te*TpD->> zdLlxq8oVM>j@gb+nwmq-$l<%0n z9ciOzH^TA*<^2908$JP^=i)MklmV4W>-~vG6G|0W2*)C1naS0|&o3S2 z0A!uu4hZ9nr^*6ir(d5g47LxNQFH((d?I)dv$TNjIPE!j@N~F*e?=7XKlVI60rv&& z+4}mjyE#pmoWl6y&Sj8AHtj#3$$OhQj@?yK$#HPP8t&~J^oYMuSKmPc`Yk@9&6zDb zo}>2BuKn@uJNczGM$=jE&qKKEnMG&fC+3W^gLW|@6~44GEd zPbypW(fWtms6$G@r}^#+FouVEJ4tWufnN6P;X46gc7}?#xY_qsT#80lE5gG*igJY6 zPyZy9dyV@(<}GG77_1-vVLd8WBx~HPlEgB|=g3}2aeFBy%i*b47fK2M#2CA$((6^- z!T0M6T{tf|j-4|}WHSjkQZLFeT~bpqH<>ySoiqAPc%?O)=2)efYWiB5TK`vCUlb`? z7w!Zk_eLvfVv`Yar<>}znTS^(I@dMy;dQWl*5P9wAG;-IW8O4V3mDMVDmYQC6UgJb z;7HUa{h~UfLyfa&CgO{{BS+GXhqaNSQLZbD5ynL)9p|Z5@S7;!T8z1|2H@S%gFD5UgO( z8CR`R+kvzQRoK4C1i^?@eFui-qlr7pg|MJtf(zgG!6&I773q+3N5#d!@Df)Bm!$18d8&VSvnoF-P9lb~_ zrj3RcnWOLOb@*!B$EO_6_N)PyzjN0vVAPbHCRX?fdr9${NrLi^j|iIi zV|Xq+G2X~L7iX|ipXqK%bVFfbCE9UdW-zVbplbHJe2!orYsbw~8~^dcYF4eWI~CPZ z&*`Lf^uf5>+62+er!qH-MM&$Rd{YcS-RH@wI+&*p6!&xueJ zW%jerJ?QC3>Btb#(J)|q-6^6JMC~?dGD0mtv9)<~knOy+`0KeCW_jwW9`bP4j5|-- z(z@kz#bV(WZQZ#M=N&?m#>D&mR=H1TPlXrq_SJ=2wtvnMeG=k$yhr`q>}Te4JvqTk z3KLXp8^$!3%q%;WW!Bt~A(Sv-_vvDnpz{(Yaf2<_mltu5)MboFQNHGC$EY&BaZX#U zd6|i2-<5PGg<|^UJ{v-xT6s*5o(ujORIbLbC0=!~<{uXVg$e)nCeX!vL&CcMZ1--= z244N`E9lKfX{_@8&{G#n2{G7aedhCh!N*(Ka@At}4onE}m8{84xvF8iT3eGnFN*4o`$J`hZ^GIJD1TF z2j70!MouvZZ8B{B@Mh-B)gU3ZZTgB8pY01~i$vDet@7k$j~KnB7?iZti=I>1fHbAL zZU0PJ6$MzzmI(< zQ<&a8x=>6uX}ps6GF0XQMfJMb{r%al1zeYy1V$6O>e$r3KKk6bnnk76>Z5uqQ$2@* z*Sdv^*I+hpMzE-Uue+(I&vpN(?z&!MTFqq0XmRj~t1m5dWFEgd&_mA6&rwg58eohrVd~s}UFn_5|Onaon!4c}|kpgv6NaSbPZNqer zrX}M{3Vd$6O0fjU+8R&CxbE9Qdy~;DH(k`nLboJfSj_$S0h2zhz^PYke*N^D zwbRS~xGg*0?VY=R@GrWX+3M>J#~oIwM%g!Vh@1JHEq^IIFtk7L?YF9>c3$iDuW=p} zjp+~jklmn(SdVVA<8ogN<(pM{=~ITz6E}FW%cT4Bvv6_a2_3nMR)K{!*UFE1axNDjtVGx9TD@$75Awu^eiH8gThQDz(z)@+(--_&{U zQBQ5h-tDq;8Y?}DCJak7r{->GjM|)~Qhrq=8lm`YI6uYD=Lp%(B7B%VlF|3+hTh~; z9?4^(c4u1BLvC(r^R1jK?U{Pj5+PL*KdLOf*l6$F-1_rUWq74>RFg`lkJw%yM;eJw2)7CB0_3`1dt4lBVr+T$DXmZEMuMHy+%o z(JebB&#aTI=3!xwTQM3px~1-i$=0F-p6@qEjB!fQyho?@hJw+KPN`$AbDcF~>c2ts zzg+zB#yv2X%+DVl8v1;$I1q#dB9{~MF21->qvs`^P(u29c$iZgL%)`!qz^hJtKqR;0%G>Xt7hUIO^#<<$`U!}Dst@iZepIIUes0Cl?k}aaU3Dc> z>0R2K+&-mLp0CyK8-#YXeB z-t^~0;ce2RBMKQIQL81qnDf?na|@@2tDGdC)etx4&u_cwdZsOR*VP=Mk+NEA=C#6s z6(hxynYP&csI??VfE<*+@@~6qe8!@#n9$V{7=vuRAvr zdz)_anq%Zo!;~F@tnXEH?yKvDra$5PVF;3`NBs+~^UH<*`Kb_W^WYMCSyQvU)ZDAQ zd&D0=uXMO}>iO_80026kT2bdQQt@C{6~R0UE&zaPfx-je0wL4K#|QbKPxD%rFI%?G z?eMlsL5VBi^Z;Wh1Xq!tpSsaJI=?yA`!+sz(<_<@oXv~>Oh1=+?J{_oNqf9_lenl{x3BraTN=954IGzZSIsQ5olUR5fBzAUTZjS2BMRkc z;8ook(XXzQCbNI@gkvPQ82>lmB;z~Z{y?DXD^1fW5QoDB#%)0qdrK_5nTvR(~ogk%0 z$2(#$(cPgjML0=vKQ-pW%KEGg!9$87-e1=8Nc)6fEj0MR{Ev5 z{g3s4f5=>W=IYg5G`?`k4=O=pL?pBzFES#fPcg;p0F76H#@I7HK*Jz;fXoe1k(9JF zkCznF!cem3(cd#kvI(@hph>}jz#9LbmX<~&y}%9~Lu#;IF<22N0~{cvH(-`w#;j^L zV@krKj0fKAz_X;J35@M}Mlh~~>aE9&@MVEz{l_Z;cycW)l4ODeVSxoZ8Dx1wKnVd8 z7G)*GZ76xFs!ovQ!%VRZ;g^8$Be2ByX_8pBlgfoaTZ)T=AtUW+sDeNSB0xwuRXAa^ zejYYx*fy|&@GUW%bAp>*y|4rsbX{aSfb0A$D2fA z-kve2WR)v6Be$_ZUn_GoL6uoBDkxsnptF~^s@J7~vXX2v?r^u+|7&u;{(WuXzC!hb zbsHI{E~Opl6}r`u6m?YeNU@#m^N3#5PCA{cg*j5xX?Hgj3|(hp9UJ|}^7_t-`nQGk z_rE0sw_^t<91Fq1$4L8Su@-EQq2We~07xh0uP@*ZwlEDp>4K#SMs!dkpMdW)C?0{O z+ED(Mg!$|9dLs=Rvx9i-SGZ$-eoW6#C4vxz`@p$xAJ*TAz+!Az*tYg#@xg5z))_6q zRG_Osr3(vHsw{3Eo&!pWpD%HIX#EBn#~Q~S9(l690vni_MTLZX{Qa5Num4(8qsu`L zk5CIC71+x`&bfN^jsTn}7=L3Wzd0~o>;5M1&=5$_02Wu$&AvQ%73yXr1HjOpYWY&f zESgof@sxl|f>nskaFl*0(arMn!x0m4%5mv0a7pS}Gp1_$%OaGg?x{`(ym>Q_hsb)E zuwY5=a24VleGRq_3^8o@HblRc*MWh*c@nAS>8p0>Q2v_nppji!@oqS<#9Uu8&pr!C zJH1I{uU6}wKT_hY(=BquzZ^a-Kl}CRHw_Z4q;=W!cDwQ?MWQw5wrn|YGId9E^Fu!h z{hDSYp{zIE{HYt(ZS#0NJEF|2H`~*jJ10YqDrs@m&2Rq3-&4Ett!=g6)Cw9gmfIrn z*Jx;*SjI(0MqOvWbrsi(C}$gbI)&V2Ho&Fik67&-6@pXWbtW!ZRr5le1&yF(&k|3& zHd7TTFGk_WOI4!rzO$%cvHxLbJ8RtR)RDJzBzj#&&x%*c@=f821}Q`G_Y=f~)lM?1 zUu)kklri*{#m;7|&{@3BvZr5!WUDPR?ep?1weL&>yC>kXvVbVp;%bH;a?A!Rs{dU{ z5%KK*d1w}oF=_zvnQl^4Y)0gM`UY!ugfBwc+TxeZ<0=zG z_vbQzAcZHutAZK?Qg;|(IB8+(1^xmB;1)Qs2R5FB;f~d*ouCGhMEoPmyXRdw>?t@^ zLD9=0QU>6fLpFh|=;X^U;4O#(hQoIS9~4L!A`zs(b^rKrI|-?WA6fii3{fr%bF+Ut zz!3pt>~cD+6p9GA*ih~t4^)YCb#jWT)WvdN?r>zcJKhBp*Btbe4;bg==F*+k(Ls(l ztg0V;yrRqG@b+1;R<@dvuI~ORuA<0vaT|5}Z?v8GE9> z9sH#?saF{1`Qf(luRCYv2B7DNS{hAGNGOMA)YOy}6~r5^o1vt^u2ou5K{(t4e>dXa z>RJMpLUo!ib@Il{c=P*EQeAKPlR;NsKO#8z&y_2k?%&_f#Q}C0$6XdC3XMvT ze)2VjpuKFrPs9|00z*Q9(S|;0cxFrNKZV_XD#ujkmxF$|B(vxYhj?j8F2Y&5>2cErpY#{w)ScGCW_Y#H*iKDB+7?*hb&%OQrnYm%%kL zceQH4>IWw&5*wS^Z9OPt+9FZyWHXJi57nL|d7kVCapwu|PaMdhD7~UAi^?qt* zZ9i1VcVbWn=@cB<>o7P3;iV3$OJpy?R2EfR%8DYNL(KZ^Gn`(pAuIrAi-$*!&0}n2goY-I0|xz|9oN@qEU?(0;kiR4 z2yF>yDk)7EC{1UE5TX@(2=Fv-+3cpKNt>IUf`xNfDXu7VU3{XVb`W|(&k|Vt=dzoc zeij|IFlZ3I&*Q5V`%M;NDV1#)Xw@s`mT&HgYSU`4m zQoryN3D%|32h~q`RE6DJo2tGtX#RQetIy* ziUTAjKre6^fFy`dU-rlEHL$d`zu(`>>kz;hkOL6vXoYklDAuqz;iB_IVkZVokyZ~b z(`z~?C}15ChAIfA_sAY3>26H$l~+@_3l{4i)b%uVRFn` zNkwIX!M040`^PInOtVrj-?FFd;pYB&h4awXHSH{sS&fO-6VXz;0Zrw7{5Uu=vI_>H z8wYQsCe&H#;BEGJgrbbSl9Im(-u1d@&ZW#Ea@0a1BVj_fCGNq0&u#Zc&hwk_M(mPG zY?`9c;BEewmCM>iG%xdAPkJ$%#{d`KX=|J7z-RS%@Y_sX?VkFAUkbOfzaoo%bgDmY z?xKiVcv4b2kYTcSo;CMtopN~v6%|$D3So#zWah2&NHlmX!N5oQ7VI?e93~(FoQsP~ zP|%wKhO&;fHU+Hqm}k!p2bCas{f8J0mN%MLuUaT6{;QO20kPnEF^^bOEI;;7om%_~ zTrMPKFL(Hh0+pV%wGa&)Sdi)j6L8F++h7}ntzrL0=1wY{mAMu|T z$gqHaYaxc;u#G2^K4Kw59itKnMTNt{k98k7udFP5_0xLSDeST1i$8t%K+nVk>wy7SXH6>c*?|M98_&c(eN)pewLq_zu<_5H&!C7 zF!6I>@xi6Z@C?uvB$VYRo_c%ZGUutl&o(_I#I&69QL4-fV>E@;dy}vVvu2^4|)iSFFH3XT6poOCsZR40e+V>IK&Z*a`Q4h zsjH{wk;F~}4T9bY$sb@?h`tGhBwRJVGrD0OVX{Nz=aI6Agv;KPYNmIv{{Vp86SYwJ zkZAAaM68`1esXrVdy<)gIa0%#bq^MS23QEQp1Tq|x0HS>-GGzfV!o>ELr@Lz%$91W zQD5>uBw+T-=-2)%c(;Ifh=^|VUG5);VI!74{N*HJHn3q;4ob)0C{M$Li7x!TgstQw z%i&ApUhu%*A1Ec5-f*WQ5}uF(W(bM{uHzL>XT_8MV+ND@j5^EDM|hDvYtwhYBq8ER zZO&V^$LbO%$@jNq^O@W+7|0%E`>9{~zRdIw5P<`bmP{d698NtHVigIB6))QZS`o6y1_5k z-O*wZEn2h)&;6;ZFe&Wy^uyyAKDb7Gz|mQU4jr10Wgssv$+>C?Hq|{htcb!`9=%{> zAIr9g59C6JSGIIYn(`yR(YrF{HYpciDm8~ z5ZcA^oLHKZitOm2YHCgo)~`hx`JbiEjI6kG30vBzQIR1bTNfW^m3j4 zbGpm>vxTcYVq3deJ+PnuEgv8G$D@PRKZ@V(_1Cs;4k1l58qW;gP~m*=0|xT$@5Kh= z3IfT;jw~@fXD#KMny}`tpHsgNO0PRKkVmer9>;3Ixd498r^YbvPt4}pQd2^S`J5|J z{D+iyE+0VOny-KP6Vp%+BftpAg4m@06{+xfl*0d8QsEAEQs_dm{01s2mi{`IJLQ!- z9`fpKy3LCjG(??=VgJ;q$0Es)qZtmOZ{O<%q_H+LgJD7B!%dqy6rV=vAGI)cW?04< z!=6Kf8CvdYwu-y*&MIBq6pm%F>MSk0ZKDerAX$>)yL_3IRY+)P_G;DIRb)P!vC{KF z5f{eT?2iSPv3hoMzgnSn`$yEO>slu#JI}AUsVyNw5jp&lXFtupP@tms^Y;fGRHO%X z-dxc~KSR%IWv3G36~D$TzqI{`+>i0*-HN)jhLp=`uX+))d~C+!u!X6YXOw^Wxxt`E zo4)*W$l&9H6gJP5njPM2^VE5>!w1(iEj7%#G36JPQICR?Ej`P%(xX$F!et-6UUi~2 zOuUT3g%hgh*|WwL-kVi<;nvXDUA0MJ85R$|^0jdobn}p7NL>KG*)2Q0WtiP-w=8 zdaW_FQJLW2@P?+Hgq!B1N_Ts6X>HYGuTJsa8HL4Ei*iO)^?2)}$B!Es zQi22Yc95>6-fC5U-HDb_SrKQN_IBIhm0m1EGb2Br#_0W5!Q4{mZHA2or*)TDVA{Ag z>2?HZ3(Zp1p1T>$+_~~w->^)ZOs@u+;UAQV$1hqw`mDntJ(? z*tR5v;0ZDzUI|CrUiy2+*itGH_4Q)(R6&Fi;A`o;jL1GFPpFi*1k5BHPp9MoQ`bos zIjo%G+1APtk7rhv@Hps{MkfN8-hW-p+IRT3d_t6=OYYufvL?BW4J>*tbKHa@&Em$a zS+m1NObm&Lz^GfmT#|tjRHSSfsoSSd|1Dk_l8vk)RC@ zJJog{@MLq4;q{w034@^O!(Jl2nZOsO`#uDl$2D?9jWiJenZD+W@3lS%?Q)Hg}TyPCN__5=SSe zbbqy|xH#wgwt!7Lu9KPtrNqRrtu=cO5T848i`5~LCj>e%};C~EZ?Np5FGPF?2rpkWGEaI^ky8Wga#WK-6I{skwNQ@ zs;}3MMqA|E$ zR{#X;2%he*%B+vMU4IFBRjM#b*<%6e#W$>Q1rXp(#BzJi5hMPl2AJcs;A+Qv2yp{n zL+_{3e+DH(;qP9L$~Wx25t30ge#%Er;{CS;)3vm}>Tq%JH7(U==i8b(L`&M-Pu^2p zDwnhMDmgzKX>)rG894ALa2ZyYC1=AVCdh%xK{xMx$c)=jab20deg68yp+&^5&0>60Fy} zD?%99jipVM5NRhmZ=ope`4Lnz_49~Mmc^FFja#BuA0cm9xW}u7B{e!Bl)g5_N98XROd8}se zKw5G=a?DFC#iR&YO6R0}^x{%)6L;G!ba=?3=8=P_Q~PLXtA9a|f?RGiXjxF za*%4d#f$vaa;)({=EsjepQPJpg#PF15HeNj2_Ih+%a9|v#Hq9MBDh?J!C&Xe>+GV7|y zI+rAtC0U{(tq7B$SzH7VV?;3>++~`b{8&pMDj}?A(XiS>fotonDMP_}17UZ(Ao_-ILaOG9k`K zjx8Qu*Xa~?k~rdw^{s&TETYtS`NCPAQ*LK#J5QQ{G~U<2GZ-1h4OxIS7$mGcPm=_5 za)%e)OtfS%6gFZ*=)5fRwv!Z{i6NdYGUdFQi5v@TylM=p-K*D^3~Ig(5cXhS!|)dl z@dV^cZD-;JSGX<_Brqv}X0IvaNfDsCrlt2W_`&hVkKR!7FZ4!2gB0Z=9V^i{BJfnl zH+B6WefTS0VK4m)3lctD>;L+Dn-+ErkLu82`h%=jXRoa=QrVF{R1)0P*x~37gNQB( zse?ymsjOdCI2>HbedKtiQ3JOJ=!)W$W42BaM{n33;dFoE*d`qoq5ZVBzB&FRdbyt@UL~RoJyoI@@hybC!Zl z1_$@jXLv_{Ik{vepahNjm+HAghcSVTpY42(%G9yp#N^SdoHk`eidjU6PG-b={FF`C z6+TpH;rW-`8TgCje2ayn9k};_D;xoe4`ol4{z%~e3P|Ztl`$tT5j7A8)neH8#;`kuEfa+3 zLS%aOBxB+1($sETnDfU|fihY4($8NpR&?*Fpji)7{D6S)?m~zF^qMo;iy7L7mgJD4 z$jy{M)5`Wuw20D}PmD)KMo;IPA$6m0D3d1yOH=KvRnTz9iENf*mTiq$s{WA#e7o2~ z#{J_f_XIWwW;CDjY#|MV8ohOh?el4)JX)~zLtG?3x`6G1p-6pplV1QTl=bi-3NPv~ z@5v-{UeaA@Z9OZiQ#Ufoh>uD(pm~E7Y2>{LOmWozMK&m z$5+3TVqT0rQW25QUy0q3Kd3Dzp?v?Wy)%!^)4C&7v~$JJxl6B|?Cn{5g*AYQ)ON++l3N<#5U!GY)*}@a`=_*;F5?g> z-;m(dT%_At#MtU$2Mu-zTN=nw>!|bM#Yf|3>oLUQD$m|UE08tg_>@VRhfj-)tFvck z>xtn}j)Td1W4ekYc-YN}-L;?AxDdrfXNRROXAJQPqt^uIlhraStQkYPJp)xlA!iYlvN1}qHI_aUs;Hi%rWhKg=B;_e_r-%8qN>d^>Jo zh~ae8VvX=h>l1dn)$Bfk$lkBa!j4QE|EQFvW9NAlr}>+hnVnSXJ77SU0Y@I75+c27 zJwwI4Cv(_t80ecSkY>OyYB`d9q=0}BbV=?5AT7E2O+ucskFI1*N?1 z!nG{+3^xyxS168|4FO+mw2y|7V}nDFcE`Ogp#X<+QRTwI-&q)jhPrE?Y;7~<2^Fp) zi|%x2DA>XX$&(EUOc_13-(<{D!-qC8J^QcpPa{-oY;?AnrKK)2COgSFPdIh&lqITK zH(y!j$SU*L%YPBN6-HCJLitP8M?fab_v0r*ds?edb#Sf15BV5mWM&SLa92XRg3++7 zsvF$YNzAL6&(^Pk^vN3+tcJSOY7MbCcy8pyONcyrb= zPW}A{`_Zox^gtMgNIt5SEn(+=|9ug$QJ{20o|>2`nXr4eURt%Ewk1^@pkU|5daVsX zZ5tU)09B^Qu=4pMp|%8cj=`G`?*Z33K{@(HEI46BGc#*$pW5<}gMm|vy%QGX(b!41 z{>Q>l5fdsJYVKf;UYZfA0{i5K<6aL4fs&T??SAPchq%4{=;6bq#E{KhJ9ol&zXTnm zs{>`CG+Q1${)Zo;Po0|Svk5Lu15gAy*S4)6QD_P{?G;sgVbO{B{Cx45Kh# z5}VWF$b~=JEbcVsN~tLg#{qE;dMOO2>-{-yK0g@|B!-*mq&h z*7keXKTErG?XLJHgFVZmQZDRITV72z>t+9i)wf1`ufLGx>_bZ}-^lWtpaTXU9YOBS7|a5st>h;ukC zIB&US^sYQx$Dp)3em@lNH?f$)(OhEaiRhrYI;brdVNOI#Q%YOY)@gv%t5}W9w*eJw z|8Zo%8kvitbmk*?hzy2!swpc651Y!z$;nU7S@vq;pdMJO@Kg9}JU$*JcncRl`;8lt zOC~G>R`K!b^Y!)4QX~b#c+#jFMc04f{l~%TthEVwv_7$U8*=K?%$V^?T_kAl%YWUq zR&hzv(bS|X2oDQe0dy&Fs~c8e*I4Knf^*ID7J!_4OH^A8iiZ<{j8CDB=GGtt^kz|& z+b`)y>)L^*KN1p}rcL#$bJil{3#nyMls$(8A9zZNE|y-~QWR{F#;cf40N<$4^>AI? zjVzlGO7+^x0!#9Q=FF)+Cf_oQadM~4k&FA?U20gBUPDt$`@iH2r8xwKFl8z)*iv3x z<8pA+!s8xgv;W@IL}a2fDqvmjO@23nzC-;I(Y+O>=%+OW{kZt?qPiC*NqBMp@pW-j z7_T)hZvG4rK6++m*s7H){T#*&8)kj~8-nyWWJt^-ywDmRfDZ*2nEIMIvwB3HUdXEe zER#aK_O?qQO$7jX+Kd?ix}L3E4(wjY*04w1*g@mh9~WJiE72vUQD6u^MrBcsGg=Jx z1G=jH7=rqc?KTM{iwEe%J16th%PVa;fR9GNOg;4K`d4gXN*&_2Zv9dUPUelXmYAp0 zbH0_EY(k#gfB^%@YAcvRe`ju<$B`o@_)0C{ur!Y7Ep_Z3EGpFumE`B0h+yFh{E-Ss zJSI1PhN)|j^^#63Vs*OiXi0bNH(2+sVC}CbBb(f$F5S9SJdTMV#vR!c4+cFS7#opn zEd)SQ_FZtUdcp?)UMdnyiCdVHzQZfEh|=DWp*j{87DVlMk>E35A^cDxF&Hy9or9U2Q1*sOepQi|IX{Lfvl*PvA7DB?&j-OgbT1HYDP_^_FMbT;pP zU8<~;mzPD9Nybm`UhS(5@RiE6{vzyE@-HxiJrUCppwf0-xB0TJSa<@VMZ6bfkwi~- znzaF-Ay92%2D*0do&t$YDCi-7e@%7uzEV0QR_+~Y8)B=PLveNY?r)bCy{M=#?zN178PZrwFSG`ZKb;C)8~;#&x{;+k zr)K_)Z9#`qCU#qWoy~pg+2bVF*!1F_yV;6PBnR3Ie&5HrEk3N9@(KKHwoRPpW*1(Y zMzg%LZuV|80Cpvvy?#kCEAjY+3k&pM>BU?i`ZoscYH5v>@IpGZg&aNlqq)2~0YJHs z_j@hg-OHQo$Bi49#EM{B96h=idKAJ3RCCAn?GO_Ss4WW%du5{i5P`weQHZ5~(j%Ri zd{be&XWame>%6``h)b&|i$uCmCJgiD({-9wo0=Y`N-{KW3nfkNi?#^?`}Z%4F~xUu z+%QNdv!&n_%i7gN}t7r$Z5}wOp}iOjNt@8676}O-n(`MKC%0v!z-Vx?CgHM zdymuEnIpftrLwKHvX8gGoZA@5&Tu>X7V>wsJX;f)@rh7{zJwqq2QXOV6$8}QEaDY# zp-YsnzIRXB6QTbIKat+0$-cdS3V)h>%BqEdU|4FEU%x6 zPnjT(=3hC7^Ru%BF2LBI{QSWE`=6~*r^RIWHmR}AFk4{>2@46}Fp#5;?LER61^2eg zRS4VqNJ|$W_fhqq5jn@q%nYnKpwewpi{yx4yNcQraO0*)~39+jHJL+G|0~b1O6-8w|1LuNvwrx44h8sc5Ff zS5#DFm=if7rLg1k^;ik|SC};zo@47p30j0aXZ|0GokT>vsNGm z3Xjb_sex(g_|XuG^u7gQAt7i7adW`AP@T6``4T%CQ@Z70>-U>3ih(|GG`Z0D4Ay#{ z^gipmzyP+9LYQH?>d;DWkr!8_v77(*Gs~!#=f$!w|F^l2FGwjOoR?MW z?dA2|?w2oLV!2~Mnju)1I3Y(eyXBx?Z{ zcT938a@q-(9P2lo5L+&KkQ2#SG!+3e8NbZzfd{WDKo>Znw|j91Qu?^moG>`%x1{!R zcilHGNj$>RA-Q%=T&rG;?_qiGxK1rH)NR3?5IQX;7fhNY#-M%k&D81B-?Aym$@zb+ zLEIf-U*GZLqNmie3R&KNu6c3~S0q;7K{^tVdHB#F>oI*rB@RJPD^`=GeW_k&<9!2D zJv{GX#x6GoHxQpB-ia^Imu=Rr?UhBc?*cOE0Kp>eS#$ejUYa8Fa#hRd2~5=ld17bO z0k$4adoB~d?A?<5Zj)2m-+_p@f$s@A6Zhu}#*G>C3L(K!z;=pjn!tY*H!D^8554{C zFTZ?sAc;IcMr@LIJ$yJkcJEIq!ufha+syn&a?hp6^h2%B2*nGTHV_4~CmEld|5tSb z6fA;N;&%4HI(Yx1(qe4uoz<$oo~;+6qkm9Toa)nOokjo~l7(v#6&n^dX+|3oomb9U z-L_5C*(xVjbp6%-NhD%bH}K!o1n#edDHmwktC z)%VG;R-un4<(8>xToLpYC`)}#i`kho`i>km3h5}dMAg>Wl;ji~9C<~Z)JQ?~XmO#y zm6wm&HByYHydPS+mdV)W<^i{!y>4(TwOmU_T)v?xM#;V5^|G46PV*i$D6{66}_1Qa&|CO-j)Tbcvlaj~}8) zX_qp5T+HRs@>S4MSkw#}g~0tWi{%Wdr^u)yq~Da?`!)b;d0 zp~s0~>0Xn`*~@U__XXSJ$=A1L3!Pcdn*cPxZgpo;<_Y_qm?*pVAlA+tT-@c{XPG+yZbNe<4G;;7bL}rJJsROypGh*A51xBhbz-#p{ zqvu*!h(QE(0Iu%!e{Hjb(*gQ8L-_Cg{WiNcP+Oi`nSmNdOv`Ewu$F>SHW|nFGWs|%1S>p_81(s zD0^V$Kt2_G4h21k>0iRVHKT9mmwqkUwKeA|U@}Vsn_bSk3<`U9MqP~gl&ric?eyaA zz_5&!XXXEa)q%oYX$iHHL{v5di510rx*ZYS)*j9zavy?2YVTirYMhL;bSyI^VPnjU_90M0X9<1ht9#Y+yN`7(oD~Pqn@skjpT$bT zR-;pp>kXPZL(c;ZC2(;@w@~~kyS(NDG37-Cn=&)%tv(n>9#)W#(qYDT* zejB55Y`YHnEa)54SFKfc=`Jf>kO^eO6gD*7B5j*Go$`U9kCdGH|t-^I+Ifl0>IB~4PeX!Lrl^FwVOcnd+nyFA|hC7 zY=0lnY={mnoHb(r!TAE|iHhfVHp6J&s0%B_=691XY@(-oKDUYH!FT^;n0IW-^@QsBXzr0H2 zFwnP55UmGLR4G!u^!896;5=}j)+w1ZzC}wAStE6 zKgCbYKEIMKkZCZDZpl?))3qbSEIfh^F#n{~B~=O?784HH>%7I;D?Ug7_>IH)r@A#7 zvhZy-Okhw|o}Ec2E-zjev*rDPsP6;`i5GI9y~*d8#3O{{G_fBS8hqlss=D0uzVYQO z;>Xkeo*=>POTVPkj#sJq{^2uk#B$*DCiL@m|Q; zAtMZSyjwYR-&ZWJebyn)v81MvecyQt-M^Tm6jH`wrE?FN!(wLrweD*mEf&`FZd+2- z`@hVuh2M@~So7Zn0RRLcVPR-`0ip@*uhvbnh&mjM7*bV3qrbY${0#_ds1P^?-H3Sy zMMe9EHl37IFg5~%EnP}NQIZk`z^;Wo;OD)mtxaxiEZgje+i?S(+vCTkzNyt*YUNmv zs6v>eL7gK8&Dh$O3u8Yn#r%97YK6aYIguhVA7^Hc6VoG0psi`N%1$NFK5<)atvru# ztGuj?w8PSGUzV00ezW2Kr8IKJ^ywcxp!eTyTDa{k_hS=>`sV!abR92f+uJcyOc1``5^?_2(yl(#iGK zm)b21l%PsBiyHAgh#ZiD0&9Yp{ZXU2fc3+7gWbJJ4|<-onfD zJk4JKqxweZr-UO=R#rr$BQ@@9X>YI6A7d?gBJg6p!E}nO1%|5EHMp_&$hj?XXq4s@ zLe=v!C)UtNwA=d+95`|GRZqJtw%cgLgvx%?+j(VomZM}HehLDp!=r`jn*0@P|BRmL z+L2KXexSt+_Z`qnDk0BK+0Q{kNAVMLrg)NtGG3Dqe#aS6UHvc098a&q5+GWE|C4CZ z?!Tu4TWvmenQpQ_O-)Ic?<40sl!jM!%8VJb%XEvgX=i4JQFCVLJ$-TS7_^eL%8u*x z*_@|rQd*&^amd7gciR!ZYEP}-=}Y;dHEm%T58LsYnV^jaQ<|4C*lqs&LmF|S14Y|7 zt>tgRkO#ZF%BY^SOv$&4WprM|AVck%2O*9D{BtzD>;F+melMYypl?O_i+Hi&p05XTx)o>UuU1`%o)u^okQOBp zp*t>-jc~Yt2~6BmS9iu!i;S^-v%NMgOR}hhSbmF|=RA5eOhT<}XJf-(CX18yiIOF# zQT=0(FK#&V`YtUxG=}_>p*#POs_wZw&&~<{YU_U5RVs|l_(M%amIJ=D=CH=Wp=yvL7EC|yram)+WWOjvLxv6e zx?8tCyYbP653incx5R<=SkeP*7?91Q^xyJAS=A07KZN={A63c&|5K&>kGIevw%6Ow zmY9vk>GT|{8IFtEWe_PJm8?*%bya^Rfbw;H(HI9Orx81-b#9+OuUeD)9*4L-yp&`T zcO=K9XAXDM9Y>!j_odEo#DL~XSv(SVoglA7+7)iUIfF_*evWoh+^uT!2M!tX?D)%1 zh=ul-YB%F>lnZ6C+c6A<5PGbl+FhCz%#Cq>x_c5xpS~3!4%M8}!Lpbv3xc;uW8k$u zN^pwGC~+$ZJ%~JluJyRmLQ6|ee1;(NYWdC+WmntVW66oT;}d?Nno0?&?Riq5*b-u7^I@2@<-Vholt17J?-vK<3qZbmHA*sedOKXf_>)~I5OgkeRv{u zv(Gs%^?*AF^O*J9hGHI*O7F+Z-@X_OKXvVfpQxn&I}*Arg`Z03;`}Y)0I4v2MX1bw zEs1*&4k9HKH^*~7US;o}RJ|%=cw3+>6aq?1N*0{6Hga-uqSUk8Xkyv>zm>u5QTiWb zaGR+>-pSy)ckP3{4bK5IO^FsiY1|laVR)?``kha zPsOXy3$zpfp;d#Ak4TXDK;>R|Bl!w%g6vT3?_(G1O6m@?smXVsj3bbPZe6@({5xRF ziKMDrS@wB{&XbR&Xm7m*hN|tfW42cCZQoA ztggpP&M@4Kf1CwMovVdxt*7F20`gHqQkw1vW~GcaJ$L=DH8gPqhvJ-8_4gexeh(2W z%E}A~ltaaS?;cS(q&d>2!w;q{_xAOb-iAEjlEZLCkh zZGv-&3|bErr!k-#)k#(vhmNR2U0j&es9f^97cYykx>*0m^tF58)P>9M0IWL#OUmRy z5(xqZlAV_&P zoRBrg5CQ9kB5dqZgGG1U7Jb_y7>NLdFHA&Mw)kM+V9BnAQ^t=IEtE|T}Y{_W_* z!oLgI9)ewT76R=5k)s_wUR_;XLBT*+Ub9y}EO8J>>L>|9p|A`j&R&x-I;R#%?FI|E zC@Cr@I}sIR@Njl1zgA# z1kN$&QX(`(S~U;mv{lKsjrG`ojuNHkMB==lET&Ak!J$n9!N*a;`P)R~B4gMG%1$J6Xi=>{7s349PlhfIuRM4g{Astfqd#ih5!3yHvh`BH3@c zLd>rAAy^%^4Aj;}OsCL`N$E-lSGmc?biSl^o9abFXNiR#lU`XjSC_2BrIeFb_4z_; z%r`U54Lh~2h?o)o^5IJVFJ@SWpj=_gp%Vi)%YO8T@PauD7KGok{?}D={)XnnL&w+`>q@X(B6X!_wVLM-L>(2hR5-y_)ik)Zuaw@hvhGZByS%NtXQgXF4igw7 zqLOV?`a>Ou+_6Y@%Py-y7Q%0g`*pVLn;<)t{sK9{F64QhG<~$(n#kWFaS9st!uEWx zt?hpQ;DP=7YZ{7!f;63!81rtl58zZ@%Xy4~0#m!5a9t@DADp2;YoT9=lJ zG}av0$@4x70$HOk5)2=oa9x1;WR7w$Sbl`Glz-ZB<33WLLdTyP!YJqj+2hzOeL4eZ zxGU?t;NHEpKuf~2aQgHt+a7bVMez3u&Mu>rz-ie=8bi@xtqlE2%PC(EoG@m>rcIKs zdWCPZ8PTh^l+nFYHZe=J(;htDa3Ubd-DFa#-^#GZHSv%AD#9ZwN-kv=oiua`ib~ycD6#*kV9lonb^7v4HWztzl~wtZtes5KhrY7wo~f-@ z_9Sf0>e`3Tz8@ulgtAg*8YN@AA@KM-fPTJCecurnPul+;tbex*Px;b3h^r*U)PCm7 znapgjF|Pu7qN}V*e8Co})Qni6ZEu;}CJVm=nKQL~)2cfaZ96t51rLXcHJ?9!7}fG9 zUNfAI3GeRpm-uKFQ_9qszcZp=^j%HEf&hThj&4v$p!Qt@Ek*GJiZV%0FA;qe-u&U6 z767twqvVyz3g_(2+qVZ03MAk9YMW+794yszLXJ@D16vUL3r+z=g(dTgj$MT8A3-Xo zKkDtoqT7eZm7(>5?m);vMhZTm!`iMJR<108vG0gJEFeJJK3^*#&x2u%m4?>XRk*^a zp0{=BCy{_^;CdKjuoH_0?6A3_>9s3YXvt7E50e==dUR#&hMEC-dSIDo$!AxdMH&Tt zFNA8@t3{1Xv&FQ!*>}&=%dt1fpd*s@p0!H8k7P-7HfJW=$h9g+3QKPGp|MN3EDe16 z$8h=sZ{ClNfb6E;V70)OoA6d6daYqLcPqT0$VGsSDSrAit`n4i8wPEb*7V7fnXv3F z4MOE=Afs$G8G;#`4|^T@mb0HD2^Bp6zAljF*rnG9S@E8X9{r2%TEc@%<3b4sB0?F4 zjOsjohV6S1PWkz5J-7z`#N39|To`pnA8Q`=YF6=0%bQub?zasW%qWNZc!%=O!4}ZI0tDfLR9Ah+vc+ng zxc%s>iHOv6^lIOsg*OMOPCidDb)Z!6e}!d)&konKqREi-=-*$%`tI)>rIf*Z%)kTi`ZSNub+C~R zotqL0T9nWqpxSE}?zterr_VQI^#P&bF93F?7H_{xo*eVl(LiQ`fC&rMGROT>L(RM< zlVlD0F@EW_E-+k3_fVOzJDO3uab+#$h7?i>s{9{VjYEfqvAd^r!E+v zw<1jwQO8a%uQeJ0&{Nv#-+y0-eKjAiC5(DrZtjtN`$DYl4_VIVx@~2QDbt(Rf`69uA9p)^C`;d%o?@4jppeK&S#piwnBnO4Ixo~BiUD46UONYjzu#iJoV~g#DoJ(G#Z7h* zt|RCLsZlsaS;(Xe@E~R=5D+~V6A+I~2RSi-w-o7iWROcpC&8YzU#$$4{j+94gvZH|3bW+ru+;+F9r)~c#b)8E%>;bDwK z5Cz#K4vZj(lL5GacdJH@kB@W8UIjAhy{}WeN{=$N8q+ua4Hc~GHq;{Yq&!^&4D4Gk zf(&Yrrm#PK<+R28`5Y_8ctRfowi2p|*FV1Nvzg0@o8-tgx#rv{ipalPw?IclJN50i z{;+dQxm}z?ty`D)1--TT9-7j`?A5g=6)Y_*lq7V92+2uM(gW+n7s4Z_!2*BX^w}5U zV>C4tyZKp1y2O144q!pSh_q}fP&%9g=kpHPxTOk%2gBWkWh{WSdi2Ozr9Z_O+tbAh zMzpM~jENXXyagede-t^p!xS80QEtkHR1PbN_A$Y{elW%tVQRnX6 z%Txgl*Sw%zr{*+f^@FicH;*j?^^n+<^u}m(~Jy@$ShU5 z+=#TkwZbU{{*A+Ls`qS_4F463n7asJgFd#tp&>leCR8zW_Rq$<+3djHngKI8Sfo0C z{q_8F*1PZb#`IQS(U};Br$nw4R-c5B7PDPrr?r_t~pLw2^t`HSLChDuM%^v z(btc7rU#av#uU4NnQB(oe-n6_Asrs*A$8jRQ^*^eOHEQ-TB*c zMTa;}m@t7N1T6@gsTOy`bDLGv>~6eaHY^H((AnlRLflVc#;bu3B#6ew*CAeUDGN}J zRt)+r(}qy?tP%%OMj9^ljkVk2eC<-?)TpfP5FhCIuoI9}AR&OYA4xe5FJ?Wvn5|DT zTAkEm_pgPs@L=_Y6_r~%_lzHKBEhFNLrXPbp~B1~f0#MA{?=zVJO>PCg^jIkP2%PO z?*W&EGV?xx@9Y0Ud__%au4IBzi~?w1yerh%OB~Ey z3Ow6dloqqs;1rPy^8Y50rZs^&5jjQ1xTL@=l+4@?#(oJE;VaA=0 zUHjw;p7WKc#5kyqIQ`Mw>^8)Yt_G&C6mKE+b9Aox@e}`;S{ztL9)`##~UjtDm$q2Ilj2d8L(=@(jIw ze!CyHFBg&A6Fk=t&nCz2b>XA}B%yMgF=dL>Zay`k=4F`qQg|q4Xh`k7!L)=Eb2Ulk z#X2GX{sY+LZ$4qdreb?r#eMRLZ$kDRs=S|b|2`N)#uZcdy*AX=>=}U3WvzoIn5YuQjuj zkbwvj8+Fm_dGj(6_Plh^NcE91F*lEN7@jf`9p`IAR%DglDsiwF<&~1+$w@~g8AO^N z^1h*i2Xple)Y8hWUS%c)=rt?3Sr(C_uxWO}e%yC#Faol;xJS>{ZS1yd`*z_wg?0eJ z4DFEfsb2q0wSbkeerDt7LRX;Yp zy=PMnWiH_`&u}NAQ_)a%H zVsY;H@oSpmVs+ZCg~WuHN#%0^=H3P$;_7N&o8FVDK>1T? z%eg&72(rj2gs+axX{sq3DnX{k1vNELz!&=zt5FZf#Nd@}DV&t?jx5N1i8#+B$|5go zL9=LQI`>pywD79Vj0gr~CepFy<~K|#H*s-^_xke7FT3J|zYuZ@E-BKD5~4DmUX; zyIl3q`3>y>UDFPX#0fkr@VIzWzP^SS@i5XHiE%754$JV{vqvI9{7O?sy<6RF9(?_> z3*dK^g#_rZ4S2&6Wdww@Kj!BPZ1?cU%F^;`Yii~Nf7P+0Vm4}4A`~4o0H;Clu}$pX zO~4mdDL+)+?bVO-=g)U@a|0I!@YCFP!wTf(W?Gu<>ea9id(QqM_oN9Jys^;$*ZgEk zIQ|s)WKKCBH+P)gIaAw(3;lZ#Xf=@$6F4Iyjj={e_|TWG;S@=^_BBI25|#WqbXYS- zX6zEZ6)VD=nmFLd;_;%QLhuhBduY0XynGN0-S+EHvZuQEk6HZl>|P>=@}|AL_jT&s z{oZI99THw(Q_anSgQKaXIjX9zo)eLYPEQi-cIza#OFZW|DG{%`uAVUAB972~rw~>S z*=x520v}|tep^BR+_`Vs2McAh7<;W<{f-cN74X14fKwv&XI2oit@C|#$;|}Y^mujs zU0YqbA@S;xwVt+>k;JY7@3sL9)w6SP-sD?-93T@vZqdaKPPSFhxFe)BH@vJzh&s;Y z%?lyPMM`QOSXz0(M5<@cV_MatMIlG(f-*OF=_|;OnPEQ=@_6ecvIH6m!`55Gv-KhL zU-qW!g@~_AY@)oqriR8_Y+g+N4`XxiF3*r zClg-kjodToRqP_hdjEdI>afbn`&3Q)2D^HVmarVAHq-;}iQFbWSN{8^r6rp%u5Hs( z=m}=E7Zh0PQH>!@+c)*iy9$qAUKL?|4Yd5#!U^AzP0c)SQ9_1ZX^#2w14WqkB-*h< zhf@f^%l8eRlWekoBQH}{wq?sC9Kr4VU=`&cpJv{M?DASvRZjaia%xegun;X)bp6*q z)**f@CoLrt7A-m^oF$r5mjV+Y<%Kr^NX~aD8%2YcX`>&4c=On?%L!SUFX4v3HCXHA zYt(Tw#ZYI0?L2?>j8EZ~P0XnU(bue$!OL%J`cab8;B}GHQrFZJCR$EJ&3!ABZ(hm& zGUY(Ix0mZZjLsW}ZiI_b@^nACuX~)ZEzGM=x_a%JY2-utZj?$0t||%R#i2oPx2P>?U2>~ri~VagZTUojQYWEIuG#e?or%7 zb%D_ZVhZbvEhei$}19rE*d8Etq)Se3jyuoR1cnRWEx?V5qjn`v(X z$AYH(yM7c)Au)rvpmn?NTY;PF;a#N>ES%xBC8TBA$#=5`PS51S8+@ z`Y=IJXuCNw)t6q|sdQ=oZdx#w>cn5Wti51{fgF(Vo333WiRme5Yw}#dh>+COgj5q_ zW74QcQ@*nZqq2}e96Wfid*3mOxLNTQjT$zrFJ};k4^)*v0w6A#DZUg)#%7$ZR>lgu z+!0in;!Ag}TFuZ?d=qDz_n`QZOiRm2$`ADc?5aQ?9;m|J8_|hznKrnC%w6#1a~2%j zgpHL5D#BVKjhSAOoq6}}cm4Z6o~Ya&R)C7fMb%~7>*>eUF1cQhKA2Nyb}nadLY}vA zMES;@Ll54{eEgWYywYwZuEv)y-*kD>FFG{zYI=HLu?5T3DCn;{y)6?@j zz(GN{bzfcl!erVa@H-xgxPDud;;$C;ZGR6Peot??qC4dI4=TB@op*onsDtkoVD$IZJT3VXj^vf^5a8}{(&F_rm zSYyC0`bdw0e@D0czGAKjl89%}z-`JXxxxP`qk@7gQKZtX>kYzg6WL%nx{OAed&+*N>3J$gtatTb6!*+6rO@Cs&{^Rqy>^+N~}w^p%H zIV^vE)!Prb{r}hae5i2UV*Q7t%aD2qQ|l5N@xI!%TQPpXEP*N|i19&N3T*SxoTT>IhpU-?({2S9H_@UM=SR@b zYG}mgoT9d;!7aF+_|aQ?|84H^KZGVPhRjyUY=ROgs1fY0%2Hz3)bh0cdvB<$el$jE zCHkinkEFEa@Lc9VQ%EwE*CK89|WY(O(J#|hC@2dW|BJnytHsQ@u}!K)V+UA|KZn7^6j`poH0Nm>?=|R=!JjY z84`poy9SK!F)34oHNb1o9df0{2h0o|+m7Qtbe$Tzkr)sPH~=4K!;hc%`9 zn;Kp+BAh);;{#g*)dNYQCuDNuh%fj#=Sc?UcAqzI|KY=m5>gz_&mSpy4Iqrljnf?9 zSDga$^g%k^5rg!f($LT>%qGDB)e=3BzL-kESr~ZZO=W@SyVPEaqL-%{UMb$+8 z>VmC7sIQ~5Pda?nsgo{p1)Fij|L#fE+p#stJa};)LT$s%eZ#YoZn{mJco_+`_Gp*O z0Xvyswrf|i#f>+o-5Xk+F51NsV$X*`H$eeVw&$qkbI0w+tyiwRk)94DQ}*&Di)sac zCsha9cHYlW32X+K4SGI}Q=Gh;DjnPnpAVSv?$zWbx;1L>y`2<7Fn3(4rP|+vkmPKq z0Se35J{hnI4D?_=o%Zmg9W<1Dt-3)|VsVQQi4R|Pvt2BGk|HnXKRjBO`NmP{V%_rf z4qlTt?J{|1!n~^nxr3JkOhsG1(gv0Y_yctsGysDP_6ZiBuv81+Nn$7NmvK+YK3pD+ z=OOdK1EP0rum3hsLKu~Zb!Hw1%?32C-CmSlTp0K%2)5v!C{x|1=?9$TL(SK(NH!5g z1A$TGW>MYK{!#$s>1=xFUyiHFHUBfv0;MTfKJ!_IC!wt#Z8|f5#l#7Ol({C1-$|ww5{qwltRj(plT;iP7lkVSVJi1ben{n_O2AI zB%XS-D72RF4&AG$E1BD95ruG99J!oydsc9&vTgv*V-!MvpXU&B#M*^z?sybW__8EFVWm%2NwtPpJ*!Fa?EhKUV$GQY)mvsybAi$~2popmw-p4V z>duP$AyWW|Xmfhz9&9`wrQz)XdH!k7WfR}B+FX-w9jKjZP0rcaU$iXv{8cs-=s_kJfs1_hY6b@1_1C%p#T?GX& ze0J!T_PzeH!<(ZpU5vD8#ndV{&gKCP9n_0ck^~i4DJM@Za*{e(2m_3~PZ}P2PFyhZ z0L1;W<;z>uZyk+l-n93^rA4oFbl0oA3-wtu;%K|Hm`o85bk2<$?<0W3PPKC~y3}~q zpy`6mho0(bRBwAz=1D{&-bWBfRbuV|pQPSzeKC0bhB| zN2ZQ^JCf)s$s60qSTr6g?>sw{eiRxGhdWXMjH4p&26C7Z5|0k4+Z;huWVTe5bT(zm zg7g+Vhra$V_pF<#?*M=(nA2Uhi3IBXRu~12O?NBuQH$@IpPTCj8zKB=wU1W`bzS%T zWUn}B%&k>3aphe#m(WqYt>;21U-Di!XdotAI;Jmj!8|YwGS^5U7t{F2LkPGWr3#hQXmIitIWFREGU3m_`|&wc@iz zupLyp^fMwylqDqYsEm@6k&ytMTqhJLr1hOSVbvj0laYxqj?fR8_8sFiS@Qi-Q@1_VRO`9x_=hXUxoEH5hdW<0Cu0W`w)grqBX+tw@W$9|0%vk{k-qI7sX{t=aeQqmpPOVg)7Ig~Y^W^sBvg|G1^& zg;bG3_6ZGXm0qPEg3%M;Ej5(^7WzVGhb_?6mDnrTG4^*w+W?RVqwu-h5;x@pnz$~A z@X_m>SKs=lsgfw>bn6FXyr^$~1dv+z>HRp!rReFZ|(yZiug4#x{@WMxZeg69(6S& zjx#Dud6ySQVGyOpZ+Lkq(?;Z4asuc*W_ZLPyr9^V1oSK^aGF1p6`j%iJHX zhfLXvFhg@@rSGu%?SqS@Awefa z-SI=0>g9TaFx=9-L3D;g_#p;#=|AOz0GUm?LDDsuw-lkZWm!>#EpX!?E@J|T7#TXw zW-b)9X=Lrr1(ueK_*PkR&ND=sMCk;-tB|PRMO0W$%d@;e&pLUJ`b;D3NoObenzujTqOA=VKlF#Z=7y7| zku*rgim?o>6@Id*0jUCNMwbZHM#d9?*1FIVP6#ijtX_R`#UolfgtO}y1i|j1tjGti z0p4KXdIFMv9^vuOQ0zK47`QT5ahd)zSiUE|p3O!0y+KD{JgBU~=l=Gxha%#jDa)~* z-F$;qu=YDMEyeq-rv>f{?-W*z$~w+qy6;lF_5&x;>TyxKM0&CNjXz|0*B)erns zT_5gRXWh`4uH<#y^R|qR#~N$PcWE-4a`FtD=RA>VIkM{?$nvkp{v)#dP|0y7>X3bp zt4xX9lgA-Uq1)39_am!65+v|KN^r|T!oIGdA1>P=v(GkLxAHC%ZW2iTl^lIh(a}LoeU(D?BDB0Z=84dakmlSXLU$@=s z;M}x5Me}m`x7puIhQEH{=-XT#TflmAqbU&Awy6-765RL%c_7DiIc;7meUjJYWy_wi ziCW7GTFX%w{2>mDw$_3+Zs*4Iwq`@A5=@7lt;L>b-b54(>ys;6Bw|jVev471~QjHPxM1@dr))?8L|vDkHOThGqe%gbxH*yn$2ohwV z(zgqpV!~qsO#hteTm^LHG;nbIhxldRJ{5F?)bS!d^oV*Dtv*tn(_X!L_eL&ZM|&h< zPhiuS&BQ+<=l;e>ila{`B4LgzWS@fMF=Q}U^UjQ?*OIo{ZIuZq@2>8*Ugc_Lu3200 zyTU%cCNF6G$CNFI_NvL#zBbo!{LQO*T=Abj$V(fmJZ{n$^t)?spV}~8#b(R#(t1zT z=5#Vz!rWf*^$*n;)1Qft(I?Izopbb!;?WxKDh<>^J2DDUX*b8>SNxrW5R5HS#P$Bx75YnPyO z=g2&1Tt>3>bcGD3K7n@s#AXv#@kBX<=-K;eIj)%N+nV9md|JWs4 zEuuy%DIpvV6e%{S6}f8hUo)2rJ!C@O%=91ER5yM$bp5X5Zy#+3yT#@y=R3XokGH=R z_E8;u!E@ie%CdjH3 zI;EUHm!R>5!{K82#JxS@RvGsE4T+-bxK(9I`K!sBS>FyN|+jY7}>$)zg}#h z|6q=QN%&kfbxru|QhCTf#9RzJLSst>*G5&WgZfXT)7*wt7DG*7QV=A7YLM_w>>+x?J$3q5xKU%b5uSk8I- z_s^JN#yVNDRZNUsk-b!NQQDeTc z>ioh+=Mo3=R2oserAKChk1`W*l96Y&w{@&fyPp+Q}sa;@HCfplS zLsiKc?%K^ypD@6u5$OBsM-!KT)x+KP?fV3Kea?b$g2ouG+%t(@>2` zE4$tT4mOiyTE32@I8@EV1~yGaPs$KMla*4!Jbs89Xf9Hb$$G3~!ih=ywTnk$lWlN8 z`io;$8mlVga{Y@^hYq1Kfj)N!5Y0R(pWFl?u#LM4pBc<(nqy9NiZ6s^jHKsVRD8^+ zuToGR_Wc5ky62i)9IQ8U*Nb$ARgJB72NE6~e)wBcnQ)a4HL_ zB@!w}ttU+`eY4mO9ztAmPNiT+T~Jbk1`$Zq$%*YMleFX_#rFLaO&PIW*2W$0cHSSf zH4(I6Wus>SA<`=fa|a?+V%@rbjpMHZ4x}5q zN)nebe2lnatiVVY00(4H2&|xC&7uPRVeuiWK9&2dIf|H%I|+%mF#oQoS!_^;VsV5n zoLi9@lGEcZBw}(4XZlgW9-zL)rl!czV6E&G6axqf)YVT4@_&YSFat;u;^e)5zpjf_ z0mKVz0dpTQ3+xNZga5ckv(F#uKaweyfC3_EcwPt378b#m7eo*Hr+5wv%eI}s`{tpW zcc%Ls-*b-)9>S(_^|X(Vv?RJRn9~&A_Jy8CEYWQR25np5U`wj4Uq7EF7=i$IjNqk5 zvwqA80++BqzzYW=+rXiOVMFmIh~mYgvq~5z7jT;uf?kqUNlX63X071QcXr|a&jKwL zQ7cud2&!qyq}u*LEg`Y7c(hEN4&qLE-uTX0nw0_ui$zWGTDU=Q#Q5zL#ehi&+tw(t zn+VmW)Y!3O;WBb<2^qiwDMkIt7t2_F-E8!C+`{22-ZM{J$X^tmbpN}_RE9H7ud`&E zWJU51-CQ86H2x>Qk}@TZPwasuwo1N>sRTsw<@P$QQ<{CLyyGAEH%H?R>?SDf&kl}F zQ*G_q-Lzj0ZPh-E?QQ7+DQqSQqk0$?4&VvGj2(KCN zBS8P~;g*{#W_Di~e4Y0T)O6R} z<&+){y;jzB@HAVLA5NYQfc{DRjjwWB*|4q^E<3toG-I)j@i3E#qN0hC!1lFORg>pi9I4Fa}kXfw-uaex1POvUrXC@d^9LZ5?9 z9oD{o)FFj0jzQRHMq%8@JG1U4c7;GP=os>y@+_ zhUw@i`$k4;Ur{68brMC>CLp0bdTMIIuQz$HPcBDjf3Hi3mKPVV2_V0!X3Cc0ICqH5 zS>;bdAG|e-(53oDQa0OjrTc_cqh@Vg3GuSX3N@yTCsuyyQ#AOKIVd%w_5LsEWZ|{X zD74|TJRRQJ>77iCQ&Q&J`KEj1-~C;7l9JLu+g;osj-%iGy!(KY@4&vDH%07$wY{B| zxu2~4htFz!rIVjWe)jbL7XJwowY!)JbN#Z2!;PYo-SX~lID97W4R%Eecpf)Kc6JNU z73{$beVbi?4%oY3Td)nW(SB*Vb!unqGw``by@wH~v8m}_DpJWysljj!@aMS!U4pq| zaq)a&8J8_{LO7H@`iuSL-m0lGGJB{II5tC~e@s5m%>{6yW9vUgVIdYd!R}p6g=5wq zzx^;FRK+6y+?7i&b1987Hf&i}c5##QlEAYwI;Ii%ep2f%X)C?#4t0UhsTxRcwvBd2<*Dzzxq8 z7{Bxo9DJy`8O;@6bXsQao|s`U6PhR~i-0w z=2Uf6E&gex-Abe1I|&aA903XIdwf|{UOCfENfs5`1FRrPX4ZfpmJz-N4a)%1tF0YzPQ4Y!s-uSTP5+! zdNazUg(iYg96Ea%NSUs#QaBWjS?SD3i2I8p2+?^Nep`YGD>uZma|=R(tN(q8o%n8M zbKkN(&o|^MYPNkkQyi<>CtM*{Ud{gI>%kXNrkyui+HoblnA*BU{lLk&Pvdt?K6Y}W zo%g^O8Xo7ipV)JJTc5|*ILw{LKU}keOVu<3F0%3S!PO=JO*yLg&SQLxku@&J zG>S^(rAG}LmR5ZuphQh3H!sdBPaga`Aj4!YHn|I*?qOoLv3E}Opxnl12}W&N$p@2FHwf@ecu9=S9oyEnemguCw�a z{V9*n2%}WXHeONx)zK{up67;^96R~e&RgVDd%&q#1)r}t?f8A=i=(lilbs(cXqX_8 z3BM)S(NjItZY9I=6aEHKv(r;kYxZyhtgO#21M-OlSSJw6KBx<}8nJnzH1?ahVIjv%0Q{pk5v8#b(c> z!le@XeS@!lK{Rt5lSB=HAV}Gl4^+{Pt9hGXzO9hl<$=<}WMcJ+=A|QB!G&C7Y+Riq zpEWDCdG<2e`tI2bN5`T08-`rcSpKinsHEA;LvGL33E5X!zHf8lK%KY>y^zocg)yOV zfpVtxs+L(d)SvnES+hZ8mHNW5mqezFoiWz$mvbAh(r zSJt-bR#w(}KkcK?vNB!ECf20s^WN%*4Hu%`9T@zF?c&)I`V~{O{Cf3%W$zzw-*9^1 ztjfm7$?auVRlRZ&7T174uJOy*{%( zV2RemuVUw1SyUk*(iH68r%z*K6ug7{H;5R8BHx z+hP`ABybYZr@+Zk^B?Lap`5zIf+D3}cE_B+JwdbD1}{*N*>NRYU*)*k_LC}F6aQGH zDl-1o0mBk>RqfF_xI@0i{``B>0nt+xW~_hz zwp59_JO{LdL>wWU`rLl>dj?i-zY&;;n8HU=Z9{bt+7c#!Mqs8kP-?{V3Sly|v2)HQ zbD8QGN$rJI7GSSM{b*{XbQn=z(`j6g0$p^g-s-#xDd;h~I#Ur0i zFSD%LXCc{n@bafzPW%gvT#KH#pJ2bjfKOb!{ET4E7qREcd+ATz>x8}458AHHLu%_M zmg#u!9Rj4oK}7@6N}I{<6ParKC&wIg6mWw{QCt zNabD}JZ4H&(7^7xW8SF9FTjzGD{I)X(eniR8o_#pdGKUO)T8(s2(mnRF7odvq8ih$Rri?-%J9wy&|Nj?Yiw+HESew<^O*NW7bab!-~#V?*X z?<%+iNFxM;`9|O??l?K4564VFb3P+LZQ-m8*P|BQv^o zt!>|$=P|_nnwkWCMoPOJJ<2K>W&31fc6Nu6>QI!eRm zT5Mu)N1(32egLK(qZwonx*y-a7j*JqUI!P6ApIsrjbOwgeN{Wrl9=wjzsKICr}uyH z#`!i#CM5G?>7Nnfwgw6<&Fy1haB#dV8Gu&=uC- z{m6#Q17wKVri&+?Nik8)irGj7Vq(N+(Ut<0?><%;SthmA(&~!Z{``AA-Jkfr+y<7> zlx+#~Ao*5sa3zcww1R$qero<=iuTb?EG^j)_}J}6>c%QY%7HLDnS~d0!WFJ$p!GT} z@@$`Z&8xgF)jsTcI0tk<{IG~X79fyF-2KiOv)#$5uWbOS(Aw*2X`+rjY#iVamUHp<@LNvSEZRxrY{o!@|K4LNOSSFa!{C zmxKWOS`HJd+@eK)Km~z^AjcLMl9^ppj$@}o^ZS9@0l54Ha0!+_`|G z2oaS?iamWggKi8Dm)VHT0ogNBQ?cj}xUgK@0-F_(-df$s)%AIDGO(xmq@f@>a4|ag z6RXb5_?N#ratkg~tZ&%Ws6qe**={etoZoTTqe6Lu5KL5bf+T1Jmlv~%J$Lde^&Z~x z4oTLq`ch@u{jnX#sBpqrhg_d9d4R_o|Kpd7WB7N%{^b}@NTtYY3QLd-3GboWb`$~% z6Y=F~x-kQ&9Fd(OqfXW;PMbi8uHJV=EwiYcWCoym$vuq7xF?}G9(hdk@eq+l49Rj{ zzH~cxZki-i=uNkvRiUQ3vGg0fyV;r6uDz({&s+hK;;_C4^@E=$CgSD*x=>M3A^DC! zwhdrJe<7uWL_H@kekTk}KnDe3eoJdBUffO;Q?*jBV!FHT?$7(zulY|qKOmC`tj6UY zf!DFrQi<59QoJfm{knH=d;rfW*jWRH3GUNVJnVAuuNTY75_iw(HHlq|DfAlx$~WJ> zbm<*qA$Z|j49Kqz3f?$0GQ{WBc>X|~1M9oW6&Wch)r)H|$CrXM%kkpy!0n|l6A>{w zZ42pT#t5;^IA6SeUHtYf2f@1Leq{)k_FvyPe|Ic{v9cIl3^Hfm3inQ1Ewi;AI88w)Vd}G7<9=o4oVC{|*D;SHYeM&j2)DE^0Z($j9Pp zUai3DLMtE*MuUypWm95v&3Y>kD$O^jmk?+N$}N0?Sw6lHMFK6moDYM@Dulv7Hz~- z-Mi;KiwQGl3Z#>~gqWb~wjt$Z*PlvR78%AE?goK4eeLrKBnFC}H2 zzk1#NP|h*)h?JD-sG$+t?ect9c777wkf1W3aQ3_WtMQeagT;)xz`FcL4^}I@%%a*6 z@)MDBGV+>5qBq-utVoY+-G;d8+IJUjh`1SU$S)lmu3sh6y=T@eEidJ@v&WvB4nM`x zxiQxra~sOdgtMT!dobWDrMZ{!J%V@|wEaRSi>koc1a;^$xE&W+$|cj>o-KPEuXOknUgK{ngRoL{~L$=8lUH zxSi!O>|9P!1mZN6AkD3VtJwGA;yKNzsDj~HD)hsh7Kkq@!LYNg^O$X9x^riCh>`2& z7HG|HxdH{=POR;ISgX|e0x#4cbF-el&w}Rnwz*Rseh-M>5sL1=?dPoSgJZI2ht{7> zU-x_K`l=gj|5!5+I5Z0PIzgm3lMN7!*h}d7?75V4R1MHZ*bXQS?rdKNA`hgYqH@%U zW@0s}-rc8PZhQ9hX(Y8g-7AhSqehIFBzRI_TY+bypc41;(&^BTVzVQteJU#CuP-=C z?Bm4_u6M%Bb^jxZg|h&2JHWR`F5=WLQzUr{lud)a`!16jg&U3CIFbJ#CyL2BQ!Xu&?0GKm8^$yb75tbQ+6$F_BY+vwysD=U-6d{^XFesyPJC>3W>IQ&gf_?QAwR9b(Uq`;C@QE4hSb%>%Sg4SopxLA_V zD<%*vcoDVL_$k@}VkrAwyS7Y;G{YCUxw%o=P4I&GyKK;zNkM`Yr zEu6qcs(r4N|1NjMIPvUKXBg55V^MlkkZHWg<_SNfqTzsBNQI6~D1`=%33n7%?Dgx{2a9wdXX(6FN4XoNrDQ!^ z#I3@DYfhu(_wI9GveR}~7qPkfe|_;)*9bQl=(qLdSvZ8hrIAEC37A#z;RF8Jtw4p8 zw^OC06qw9|Hv#+5Ex|RaW*{wV+K$v~>s&8F0<;6|iTV*tB4i5%57yNzTd4oqId4-X zS8x&|_7v!t##nF*<)*;{f+P#rM=vbsU}&V4D|KF}OI#(&vsYYPw6&I|EFblM0eTUcCz~< zm~7ko7s6Thzwp(u>^Zd;(=fcW=5ePSTr`t|#ni%~`E#N)wkY_bbr^{6-HT0}vlFIN z>!-nIOtwJ@E3^I8c)aZ;IfLeVJ?lSzM(IDy4KIPackb-XLxU7x8A>PPGDa~sCr3{R z4iwibgooA%_02wQd7~Zm0GGSx*|X$YOcpo_8UbmnSc64?U{Jz}jGVn~jhWd^C(xrn zO&cs|kp^L>41y@)2?rDO36e{n$Fo>3sm_Q#divnOX2>*l5^r4XYcA8WFp?tON+&R# z>0(U;>6kYA_k(xBZD-5Hw2>MtqYSAA2t3-k_x?FKIpTqDVIVV>d%qB;0;Pv9?;8YX zIAgdLm$qY=z@Etc0&D9m<-a(j|M6{*BApaS+6hRc(hiL)MBu}pxc@Wii?f10lUfYh z413gVg1DHTf6R~}>o7J8x1@EUvfg`)dswU&1ubt@p}sUk8-gR!hl2H=lIG>j?@beq z#)B);?BVxrLMb*;vGECO5U*5uh7PNwxcF0jJ=m{HZ1q3_RORd7?h2?905KDep?#G* zT&Ij3_A43EX|Ve8fCM8rQ#ae5qWZDNAAp&^0852Dw=tyvhiIlT#p6qml6L`}DJU>d ze$NL0W7ie%tNQmA5Xw1o=UQ7?aja>}Vzzz>QRY9LEFA~$?H?Xy$A#0&2S7FZF7zjn zZZ3e|N>52iY?SC@4agf|Pwk+j(8y!IeK*S_@yV0@%yt;;c-QATw6{X#Y{j=jO+t!0$!_kxb|3CD4KFQ3;n zaP+_&BtjNocz+A=7UXA(PZeFefXcD>vzMMGIaf^VP6fjArdP>NH$2 zV|>ZQfkMrZdQ1T&Ve@fjLK;EWz#W^*!o%kuxW7hEPkhW6X-Sp~+E|2m?8ZiE*iww{T9*C_HUFN|>O4!Yk&C^J0hUP*r#m&gb*uPxqTrUTQcA{WdAq$I& z>Vrf_j1Y9L@0KbyxvBZDR8iTJTMJ^dT`=~A9^ttXjvc6Z9`cBfWZ7T~B)#GG2X-H5 zl9YY~Jm<_SPhL>@_U$d?AUIA=o-xCWW+{0E%WGUqVqE{xb3bARb~meB*eO|h1>yFB z(!CD9vw^Z#3SO|{a_P79@c86I1qYkDzK7I@_EkW~Fn4DCC%<-cSQgoH96}@#=C@dV zA#B|a2^rQ`nW;5!12Z=pMQtDDriI-FVh^bm|C`=LPyFkKKDOPW3GIy9)w;ZbS<1Wm zTUst5UFD3~`?nK)iU;`&=wUXjt)Feo{7J@2<2Q(gPx%Sdj$sG5u4^M_7TAfyqol-< z7YLV_h}3C4G?c+su<;8%--korGR0+P7YKIgf8aK83Ihvz<4uUys23 zEo!ul!)nXSKFd{AF&k(@>m8^6_PFZbw?-xR3&#A=bv@miQ+Cw;1psz$YI5VbUct7l zoozv@{J}_s3_UAFA@O&hyp`#nv|ewDjly6w*PyYh1R zpDe8~ddU>6K0Up=QoJ|polz23xfYHVEV_Bu6K%P#IT~?(3%Q55uJhJaO*IPD#unl4 zv1s1-i#~yxIAaN7G>YEx+?Zx=Rtt+u3V0@d5O(=Uf%Me^KOG|+$n|BVn%!+~exIxR zgo#m*4K6($44%$`8htopk>j`)%$bvR>jKz(y`c}Vn={>Dj&)g}Am7=buD+M5fb+V_ zYp#Zt7IO$cUta-Ug3j@q6Y}*WQgi+Nw}aY&-m|yj+vzD`fU|vf1FSwg#XN%EPy?nXWz(`%dx}~I~1Wvf1l*!=Pv!gKlICEx1f|h^%q)VCs41Xgt)&?}Tc1@nUPkHxO+e!x8 zqEfoWr9*p>5}_5-YNsnaveN>)f5LIai}+!@J5dL$33}Hl-d$I#6 zY*PuussKmNX08O~53o1qc_p!^7(kvOC8WAYonZ9{TiB<{}!hd>FgRXq-)8tyC4jv^V0secrx33 zGLhkdfvW;FSzC*QR3S#SY`sj#nOson&ZQy2S#zxt%ZdxWrOdm8dP_#;Gtynm^;%F0 zV1k-|<1RW@2_5_pUj21WEj|@X@6>V2{~wR0hdXqQrc1j_lm9$se}0n@v|`iD$5l%f z>>3^w5YnUl-URRA1zygdR|SliQn1ERX~2nF67R}Nbvu9Ho?^%0(@Of=`LimwR_%r# z=v+yHfrtR}B_m@V(IA<(w*cW{Vj@&>$kqg7QzUAXr_PVr<^*{v+c%S8Zco9<0VS@Z zur4wA8t%qg6Uw-#ewuYmE=Jv#E-kvE1~iGfW9rbpG5RQ)jb@MHHlR3Fe#jp$N5x__ z(&5J_IQ@Pva^U_2Y)x_90(Z~})D%ITSgPl1^OphYpGU-O);71&kP~?@90q=+dn#v= zN1oFUnrcvV(l&NJ$+2Bom{$hDSXqY}ctjW_{ocL2I%(i@y_#=aSTl*@;BJX$1uDH&jmOWhTk4J#&sM1 zhmZO|PTIiReUV61z=0lG*H_3sHMBfAzQoXpE1~n@;1}I8xJQo}W0xMTp^&7UU^OL9 z-3uqXT&r=DCT#1(J}QQ7TaAnaVV2|xH@CH{-fC)l$ZMjdMO4@eVtr0V zFp?YGlsLH#P^m9nzD&tn{mR2sPhUSbs*1(%-2I;s3AzXoPzVxeX%Jq6a={_;N=moe zO3-i{g+-fmXr% zu@hdd2vfu_h2bM_j|bc9>V;LmRqv<_gm78?sG=tmT$o`t<1uK&&gcI9`(1UIk|A0} zB#M}ELawGVOpXTx;vGCmPHw|}7`;C9K-cMFP19cGt^MJ zw5DK4XSvO=6>vJ=9qT>Wx}+L(`ZL zBI8;4+9^}!1iAFk6%SNf+|A1fho#naG{1P=u5a@rYq&ObUD|NBY(5`Xoh%UmUQghn!yv=I+I8#I63 z4d+dJEWXY!&419zHE}flrDGKE-=CrL|FjUX68<8AP7d>?K+2g5(rHmRTXLg zeZrzaFM%eIIo$vjW>zTVU{DL;tQ3{Ulyoa(Cm`nc zomEO~u=^jO7gq#j#D2&-{84dOQ`7!ck4Ko?nAKYMcJ=wj8Sm4x9_Wc*_uKm5V4gzD z@>0K=b}&bGB{Gv=xzEoOZ4rZ=eg(qc)gzV@)|v6OyvlYn(-Jk>fZ2HRpDP2Z#s@p#uUi0}LnB{87+-tj_&kR21~5V$T0l zO_BX!r`}z2zfr1VW}eZ>dSKd5rRntiD=OP(ZWv_bATL|4x$8oh(>XZ}huBL$HlF`l zbz`znbp~9PVD> zGTg23O}~k8H^kcVo6>k<`|p%ZYVE(7h`T}L{#|XQGK|4+dx)s0=KA&5)cj3i zYSVM~_m=vqr7tMa^xkt|?L94C zz1(7-W}bDl{$#?j7v(u?Bqi@kWi@Pg(4;%YUgw3M>Bp*c>%Hrvdb{>53r=h~+a6N= z;_fS_@Ue;Cl%=;Xv~t+`)VI%4Pn|49yUng)=_!dBIf)ta&8rWFoI1AJp=O^*=BMP` zxYkgz0biShm^S9;Z%({=Xi0PZ>ub*s%bMS~8<3*u5Ok%m?COP2Itsjo!rV{XaXr7{ z{&VtkjauaYI-+h{!IPQmhG(~VHMj3sadY*yJMH(U8z@isTCvrkvaD^|H(qf~*DsVF z3A3Lj=@azWIB3>@)kms6Tja%+q+Tq)Vwp5Dvq*n>ZDB=Yk(77wwXHJR_U-DLT7Knu zxjq&bGv9stF*v1W;J)@*Lz-;nw8mH_%siAQY8aNO=wSRjSiyVvsDcbReOOW zcCVAx?F!4Z43wAsko>QLgtEOed&()u$`oZrO-L5ceDiu==A7h~oV-Pbwx8}5b-@O@ z2ZTcBZyya4F%QsM%D=TU-8=BdjK%Q!K)Imx@{?AZ2r zUFAxxh{=ljbzy<+`^~bSU3^qsnBybn)0XOODXlWtEv{uky>wh=!M0Tu+1KI@pKWe= zct9s^)I9TTZ=z=o&Ch@C`vxul@(E?tCG8sex?#4>?<>xiwzm|dzmqQ*QslBXHTuLH z$ycq@Kk7Mb`roV)w#Kl>sodWJYS4iozBP>~5Je!;BfoI4ghX!CI>FJDNqOWTCBa+Q zmZ>6tqvI2sMaRwf17cXFX6{Sl*f2_exddu`8dJ(KSZMUDR1uOgj0}o|xH2LFX^O3^ zt&a-yIe4Aof)fC^*J}fOiG)PbN~^KqJ%3x$7~|QjWVa>pm+1!H((_J<2W_9H(`UVb zeYENoO&9MyUQSlV3zzsl9J*6s&L`2$6Y{R_)2h|E84hJDyXyVdB5SXov}~FG_OVM! z+LZwpU$#l^X+D`HR_}6lcKFZLlOK2%zL}N8+url`U0wT>p>6|>i>^3(&)IT3XI_)$ zpgCraYuz`AC7MLZM@Qb-SR6j-irOvP3WKGqMlIaAsODXm{l~(pLE=}IsES25wu`Et zO3gTD@+zTsq)mi}c+ioR-v&)KKHHiYr8;I#O~mQBkNxWZ71*jM7g#R-{6=IuOHA%9 zo3ESi248*maKFg%NI61kRN|{0&IhPX4GWY_mD5kkIPOxdHEC$B_G$<33H$b*iSpA{ z`c=|oa;DD9>8}bhYRoeKz5J^PWQ_bndr%l1max7Shc9ge>gvPK-UIQi!gX-3#TS~< zKNo^~X<`Khedf6<>~x# zc)-A7{lI!_k?&ka6i2zeS*0m$U}?}E=Wyu2xK^cy+14+s5?@SGOt`0*s-+}#S5GGF zj`K42w~H*cFXq3)q2{T+_g&IIBp>f>f6a8*y@cn9GtKJNvdRZv%h(!pUVf)-YE|@S zjpw^`<`%tYC(a2tIAGwnN5c!$??=2kps{5XKL*r9#8;=!Z2G0XboZM3 z2U@<`dv;Z&{r0fhmOak7_do0jzS?KA_ww?fJ$1oa{vNFo$}6I{&g8}1RXjeQ%8zTe zT1L7J@0(tIQ(kxb!6C(#va6S)l2>{<*woJ%H*ugsTTpk`ZgQC)Xyu*1S@3!dkuZ7gqj@I3By?di?(cZ=6K1Ycd< zbK_aABMpN&N(1^0b1QGxc)dPn)SPK|T&-UAl)N z@W`*227$73*jmZ2B<*^SzyhVG6yyt#GCH%-1fu!RGM?53 zM3f39?hMsvr?O_EGihY%Ao~c|$mJH(W|$~oE0yhSrq1z*z*+KqVhHjWV*a)-S$k`3b%^h6f|@<2WY_`-$gc z6svbexXCl*ELVp*tzW5WzQQIq@_pKsYIppNf@H zx7Mdyw^%gh^$kg!dm}rn-Fcl$V_UjGx>MAqh0!_l+7e=qzN=ok?_{~I`FO+M4U}we zzAxpcslh4VDjIKCeY!S7Z{bLNYYfffh}>t{6DSFYb4*jE!fv| z?IOQ;SnuMuYBmW*rWKiCw>~T)$s(7e*8}5BMBK#3h-XG!e0Xc?hlgkA9asV)YwJF} zUb}J1ye;uZsxMC%(012m@=zJ79?M)g!^A#)lC?%i+ni{PIoswU6n$km(oR*p;li?*i$w4afat_HAQyyY(K$ zdh?vT<|j1=gR_%7h8yTYdL@$$Mdqyz1)<;S;cgIJTOs}UCE0Z1jy0`7LQQ{b2bnJ+Fb+6$jIEL?Ywqv8<>fzUx>0B^mCHaS9^n|R91R@!85#SVYa^Ure5D#Xp zQ?#FJP0Dr-m;Ls8vF)}W<0_h(R~SgQml#Q&Fthov`qWBwe~*f&o*NHYirP(qn?~MY6sVKj?S3D+eeo*`(@tr$f{O0T3K3{+H?PQ1TCz^k8 z={2cs!yCKZWj7mMnwzwL_HG^1zH#Z#;Tzv&-|v-BE8=!ww0W-w1I8Ko9$oh8-nO_N zJ}>lp#xC)8su?-L+o9#%bjybpH#1L3t6cnaWB&W$<5cag!VN>ewSj1>#mQ^&gs)}T`zblpsj^_HK zwt$YeJ@gF|08la^?j3fepl2ti2;X8wR#Ad8Pj{+4V1B?&-)R@da9%kR?~HQ6{EtBz zS!2x!ifuxeI~aH~^feuQeS8fdvz(>ggocHSY#Tft8rb1(Fi@U*%?rM9<0HHYWb36| z@x2F(y2Fr-F_NabI`TX?r0sZf($$E~-HDU(T8y`#gu($pJ$hNqU;FDxlP6>1T+I|} zSl@Uu$0n{kLkNpGy^F}WB@Aw0>~eLR!Zi^LI}sg_JZ^8_hS5H@LVPr;CuZg(OR)oe zx;&*>}^cv-2Z6i4ZR~SLNMGs+!w% zo!886(H)w^;p=qCgSz5T; z{g$0oawhQZ#akDjjJRPsvts8SO^>wROGnBFK9fE_tLUS=;*Ruk?J=QFEw%G>0#v5Q zS(z@esg?_ljMluouKAmW@VFb({2R+thpmpaGtHj<_V|ERZ9l|LFU(NaP8)S4IPSTJ z$y3d&3ooyyzBwg7M*Hhx$CQ%mQ$lrf<_7N#OfGBCNjZQ0w)W=VW8<^JC91TywdsXl zs^6c|GH6KWr^-3~MxYfJ*9np^dIZ7kmkIs)kgdm^NItV-MH5Vh*o!-KB}rpS8iKMA znBh(24HXvy3NA7sXZynk;>FVw5|%0v!s@FTfWN)J`jo7d1(lVGX8AvLsH6e*J5qLN zZY6IM5OVmzOfqLhNRPq*6`|;lKVDHj2!)R6p^s0nn*Z!ktAh1oV0_WBU~iha6AsZn z(+yBObsiAYv2@82!VEW>IR3Ecn|X@J*=U>vbN#5O=> z^s#z(gb)Zpe1@1x5KWy`d{w0v#?TTntTz`ugs4uX4MyG2QY)gUbI4boH0klCTj5b* zQGMiHM<35?)%d`v+LaY6w>k0ob0QnetgNg^$)jjdeps-_17`mC@pmGat2H6#)kJzw zma+Qc8o|mMo-ODDJMgs0lNZ=F+;k#qE0tG}ZZsE)TYFpFMZ^<)f<7;d@rS`(DK3Q**;E=VI}i zVu#jA<|$!5F_BZJO~{Y+JLKxHZHw2Fn69;{BBFWQa%vhSmp0T*~ND zG3DQ$Z$nR}y~;;Hps_(fR#~>J0jX-v0Tw%O5;oQAH*N@|7_oteqnxd&10gb%MFl3t zvgIPD%fZ7DcT`Hf05yNKFVzAwjN^@$omGK{7MB<9J1Fts|J@|)-f{N!jX*^Y zi4+yVT~iX@XU2*G;gZ`hT6_TMC@xEEy?h`2py|>XY4}!{| z*xq7(`Q@2&=LByyYy!t&Da^GU6N%LT{MaVe!+qbN&@``%|Fbc`CE87Z0wio@9h_J^p2e zKiX+;JnaV#G*MX3^)hPIbjI!Y2q8Z=~3lMLE&Pz{SdgQgi$2Umn zo)j}R`d8Rm$%)r}*Zg>P#K_|EX z>iQk|kFM1H$&u)TZ4k zq0-WR-uaf-aX~MS>0jPVamaOZ?+6_j~POq_if3TA6i)`yI!!z-pwkeU$mdy|6BO#SouJ4pr~T~hJn)ycaOU{ zcXn%2$Pk~cqBe40NMSETUHYdpAvEFK_e-)gN52~-=I1;{_i1m*ru64aJ6BA($cwwrA zS>Z%UdXwP5!16c4{$Ff zWan2Sfgx#o(P?~)ZrsSewRvf^bMmL(wpV}neBI)vUBu^k`3w4%=ZDv*gwEG5A57iO z56qnTvS1H9R|tMTFrcE6r#w+2rY_|6ZBko?3mJNUedMdegjGieUVM@@*>P@aCg_z# zZq{U;6&ZsdSCBE}MmIumh53&&uwamlZx9El{QMeyeZedmMc{OUSRsOD@1Qq3?_wpg zjlpV?++5seqd^L>@mY?H-plx#Z@xJ`V&)%qXo>R#>0q9HmZ40m$gnC@<&R?EaWAFpR<9kb-96 z0WfB&KsqHHFC@Tb@OD=EKnT(qIm;kieRiWk2(!q9`_5TF!!I;YQ04{uV1a*1rAX9~ zA??<#Lrm{js*s;!f>n%8K5JURcjh?FS*uFv3`bY<{MoaW%a*;qy=BGv^{?s0W{*lr z+m*-5H;#U>BXs&AQdcH`>g=Dl|M}W&TnnTT2m}^VO=I*8)YK4rhz%J6;JQB`?G18@ z`hLK-viKrk(t=-Xvm0pWufKlftvXy>JTRk7eok|38KGQa1D7H~&)kX3;utY1LP~RN z(pFeBXhMMw`hWW^10~BMhzu*Ss8`g`(UHU7rh}}7q|yES`5=5{2M-q1efyvP^=jbn zu|`|w)YT?DjrRU(TSn97E3Pg_2hA#t7M6nxqvar8V!8~26JDY~ZiDypUkI7`o;@HE zcqE%cu%?UJi?x-I_YB_^Qm`P_hbJes{$_q?hJGSO&cqILfvwlo?Z{FqD40|ETmC6; z?^ZxKBo?GU&6JnVDcM_Bl468&1}qMNJ2?}OuW&VbL|8^7-|R+RL+Iebg(UCY>`Z-Q z1S_eAC()TRARD_`Mj$2IoXzjzH~y3$ER**_cT_(M=61nFVak*p#7a>b7YbI{l9Eb> zcxQvHkS9OA!XB^R=}(dW3c&|V>*yiij0yRt3wa~y3GRW_xK;(lFE=U^IQbPbC`p7G zA7e_SHrm6VKY0>?FzUgB2bAE5Y74pgY|%$)g|%|WJPs)a7n-p8e72-v**dl7Yp<#L z2@0D8blV$&vc9(b_DWPpYj1^Ft33QhlH2Y!A*|w8B7!Yz=!{**7-U9&8Kt7&OxNt1)PT2E_%2 z%nA149OHC^pMuC1|A1r1kGFzx4(SBNZXsN?IKAH$TA0qXQ+TjoYmNZ|KjHKkK5ZdXz5=ru&B$HFytop0P?WaK(x z<~xvZ1ct;&HxmX)^V*10WL#5e06Zt0VN7hSd78@SXEb;VPMyCKE_h?HZk;?9A8r`T|R&`vURw)Xq>+wa{F zWRtX%?2o_m!<;P&ILrgOkscwch*+Zr9GrJSB~s3chjAU;EM>Z zqmKc{#Rn$PWC?%=l9lXi-TL1UvmAL$v=4ekL`%ebt+&*w$2kmkI7uVPp0ikUa}nob z<>xiaNEJ#>pQ+e%Zxk{CG<$)PnT6>VJ8B0G95_(ajb4_IQy9itH{|>8^D8SIN?!da z;(z^mUu0?i>KUK9-J`Qx{#*b|QA`5UvQ3-dYsZqoKGC);!7>NQ_6+bi%aG4lb}A_e ztaWbnQOB<~uG@8f?_DVk{A)HvP$8tpql#q5C#=GWsJMGuLoA-uW%c(wapIL{SRexb zwEn#h$OWqTr*4}~pq;Pp!;-y0`Y~_hLs;F$kLO^twpKa}>esI<#m^ObcW`k1Niy7z zySOAjemuh~2`{vY>3i2uLl}p?adP@rNYDzx9@2B=T(4EMj(cT=Fncs>74Iribn7h> zGBUI-zf{-MeDxPIw~o{G>F9~;bM5E#4Zk>4E6u<9Q@Zp33B&?Ms`Yb=|nW*h4w0Mf{Y`M?DRpzvUn!#cM%4*;H2^1xJbWxU8LXMYeC- zCfMMz#^$071MC-ai0VQ;Nr_|O5@Qc;KWp$lfK1omDfJ%Y!X8-8sbtCt`^|AK-Y;nhqv3k z%8XR6o>9?9Ze5G^U11gE>FKha8{#%Ey#}2X%a+|-KaK1@{5x;n`~-De$mc=}i@7T3 z@wOQwPO5CFJ_~0SeOp-0KCccNCUeW9m1j~)@YXX#^UZN%KS4;ug?&!dNbspdx(lP2 zjYV5vf1qN^kr%d9u77MsjrMhSbzhvg3yGPd&PI#B?fYz{vwijbEV=X5pFV}#^jT_g zRol?<`O}0$*@Md~Bep5L{$_Wuicy`_0qHjdl{andRCqCypE}eM;lb1xLhuOAC?oqH zq8x6HU%4l1lrtM6>>?geyDbxj@?8rickP-@xT ztcR~2v?1hC&abu%cZE!wpdbm3HH)-m`J1#R6NH2uzv|mD*0t7%RIaY{MA>(^|47U( zd>}W4yH1qW4WF^+!?OA+-=gA|c5fGypb2KkeBM1-^a>v>dn3k+@9eY9>oT|Q-rj!i zwtE(~9NORpm*l z5Lo(IqI%#Pj2Hn?dx?u!gy7H?Wl6gR_!;FRcCA_r*@56vQOMatR7ty8Lto8Kgx790>@Y+qQU*#UdLiH-@6 z-!ya7@#z&XU}!T$zoD?VkOdsY-+@&!$#jn5`JL_$-fr9dYO-YDiaCQ)Jl~0b`1qmD zOZv^$$8+o7(Yf~bOCezlNBgpo+gUjybd#KC2SdVS8$GE~uw^PqfID*{YZ2bF&DG-r zdQ6C?g@1sx#%i0Mr~oo(KhRsvP1LVkJ)!fwn5@rfni$0Q#kU$NUl&@9?mAu8XH8no z*Vda>?fvPBdiLNgVq&q4|C-Uw1sF4;IAFm#{ip(^{q8ASYSyk+8Swn^9F6q3PLHRr zee~OmyyFRpN=p8}ADR5tZe0I^TeGVESP_=c`-Z&rt(eB1)=9seyt(|=ox$VK~cc0>VSn;-gw28Wjz(KJ7DuoN!;|n)+v7378=fXr9S8QU0eOhaeaH= z6%Q(+pZ0amS?%{Z`uW^|BTjMp^3x{!I{3a-TALIbvekI;x&)ua_AmS2^C(Skm+e)2 zYvAL)A|t0%$F^Uw{P=n|I6O*ZgO}@Qd_eTfw{9ih0!#>77(k~~K-G(2s$^M0Yk35*I0lS+$>w@rwb zdz|^Ce4fFbq~8Pe*7C1wr+6gEMLREZo?AbC$K5m8Ba?JMpjpuY0w`hVoXUDoE`ws= zk{I(!qw_ud$Dg*Q`q6&v*X%DImR8@c@pMd{NXooFK0Ue{a^L=q!KwxVg-JPK4?4z_osBC8VQM{|{qd z9#3W3|6kKgP17P%p%ghS%90{vZ;BM5>^qfI_FdM~q@sj`>?9$CWZzRE*^({mA=x>y z9vsW>eM<8*%lGyAoj;!Ol+L-&eP7q-`Yi9oFmP7QFy`Jcqt%NyynIQ4$JrWGrPma% zE?xc9|L)8tk}Lh~h09f@)mIB{ige`smYBzx>oISpIledaHQ53sE!oTTGF^CznQvOv zyQ-{cB~EwBhS}O7>JB-1dW|Eg3IQ2W1qUZaMl8GDh|{h2D(6g6;n?cqLtehiixeanbEJ&xPYLQ_@+Kh3N|;N<<0Qj7XZq zsm-5SW;s1cSsl3_;t=5x->t;Pmv8UOjIV;%9U!}H$&;-f+JmwW>3dQcPz6uVMFYYd zssKd-Fg7{2+#L%0uU?zVUAnQI54YqSR2{HiqV&1eo2x5YgnG5KllwP|Cg}CEHWKp= zCf4^y>&||>e@t)WlA4fJ)LfRae8#Nj$$_~Mj#gix*M<+6bGx;g3X9ZuKYe<>{9 zmJ=JKzhHWJvBou|u2*wpB-Q+8*J9M+rM!uGJv+TkzKo*-Mb~7A3cDBm_CCD4X!$s` zJZC0i(Z`EiaB%2?!F7c-6KS4Cy4tpil8e-+mEC4*slE4RIT%dOea4gSKH<#Dw0(l4 z7pXNX7p2I?D*jNw{94-@r-L@yrY2TFwbBbO^MYerZvSbyl8(-29i=ItDSaXI3hwj_ z3lw2!0FeJpLi%OCk|O%I0DXi)Gt&Xy)A$lta!qaH{oe?{U!PnO~cPP`t zD6u<~FF-B54BzTEdSby`-0p5E$wbw;EB*+&`#g0dGb6d|j|f4srRm6}V+M-ZdWtur z+-A4sY$f-2GiVR8Udqmu(%M4rThBzKZ?<}@Eg5#uVPU#N~2?;*13SBf)ytVa!Y%k*9+zraUE%Gt9mc8 zu`&3|&I&<|cE(HmQ-sG&2_b#M*)J})%su1j4zM;@%0G0n zn5ULaCj=-rNh~%+^L=oCGe(S*3IYS0YX;U94lx39>R%Ft01fPj-fMg zK;JcxtEHtxc4~V7uh6^BMeijW1LrgM7v01dg_8vi9o%)G&3vFm`_|k09e+nnn}6)!&l8#G>x?Wj|vUHa!f(r`l!^K{^*U94VChv4H6$7DRD|Y$&W3r{T$}Y z(9YgAT3CDzXM5X3R@nZORDN+vw5xsWZJw}?eGz~9lE6h47p=2LJ4E(7 zUQ>Mg<;nfvtF>k8c)|rWL?TFgJu@@eQ(iQ7%#3z#R&t!BlUqMGw)3#iUjC}lObxk| zb7FisqXll!$Je*~N(@(IyQPvj{qTpo)XDMmE8t-Cj&9-${v#-YCN%@H(pHe-(**B$ zM0(fk`QewBf9&LMRd}dyW-WDLQj4FX3?~I2NHwHRqJ*()+ z*+fs78hFvNBuIR&$RN2}- zKKpDD>-J8Y9Ph1-^L=yqC;RLh|qlam}(k}VVe zE6x(tCMQ=;k;9dv?k+cqj%sUUh=XF z_FEsXa#3BNzGs&Zj&Q1dtis8uwb$fukt{>OvtNli0S#TQeMuP_a`E@yu88yur-}{} zEp6ES;Nh9I*tG4KkL@v4kGHe|@UEBqU4F~VW#*e-%h;I+$u$G(Dl^+W8FDMTODz-L z5C{b~oWG7QmcRaA|LGqv8u7Ydelfp%AXi<7bm23plzrNV*V*O8W1|203o;*_M0jit zk#_SQqqN4CCzUN-)G-^_nSY@UQCt=xjHwPwIHL>vS=u z!1k`jA^yLUN4Q?v+x4j2#U|eLwSoS_Klu9NdksvDYlsonmyKp1C%;vtVab7-Q#8sm zSm_oMIJ{1kC9h+wP{CEW!GEQ%mc0McC5pYvbe@sV2Cr&lCM|ZFe{LHl5cbG2-kIwQ0lQCyVhhUlq@p`E@Mj2$NsH3rkNee9)Ajd~DKW`7;w>$LS z`aQay@0BEHhGN&>GqK5CoSzcHHj$L<_-NNy`#JZrzCqBrzQ4d1|Gcl0lIWDftZ>#t zH^s-xYf3S!di*BW*Lm!#sUcqTtX7!SB!BuNu^|NIdQedRB1S~e42`DA5osT6!bAod zfPh_rI|Nja)E=mmLhc1U;q%wNeO6~|+*hbXp@fgu-6f7V(cMjxwTrLTjAqx?OjuYW z@#{(!^^26B>VMkNQT<=Q8NAOi$~3wy7%j8C4xUa=cSl4=|QkmiQHGb=2HstmO< zj2h5rLu-Z?O%tSjG<(&YYhxE+A`(Yy$A5G9hP?(G0gU`_pgcf%*RETKUb{C88tK!T z^FhpkZ~!5i^AMWMrJP(iM84sk z13JejrVBuqd5^CC<(HfjX3a08Bxxd6fFZ-N6)Fqc*RNK%hyLQ4HEXC;swW%=;sIL* z#_n|&40|A^hxQ9pH9=D|5%7eP{s@}nG;>o7Qz0w`5>#jvNJHpJ0Z>SjgVm(T!2*O; zHDq9D2;~Uayx8A@5L&MGLCO^F1`x?$VnV81nWG^>%n9O>Q;sg^T*6ACow|It-*5Zc zhVGQ|nQ?F+~i zr1L7i;+Gaf%?oL!Mg@+xG)rDIfN2BxfB*=k(b{c<54j#5M^d_NgdvuS9n`0r3z$3_ zKG4CjCt~xTpgCg(&@^Sxtfe));lM6xPu5m*T?SEI4-Nlz1n7DVGrqW@_#rYgVs>KM zx><@}!CT?p+D0dlEspmIX(LrB)g$lt4s0FwJbfBj*8dPp|9p7ufPvJ(@NzCuZ@~y- zNpzLLd$L8RnC2Eua{|Y-08=Xt9v-x)0L`j`lmG^>XdW-mInn9%c#DQOO|=4G);Dh? z?Tu}-@H_yZi;0abge4A5;nTwzI9vc10BV6(Q7{_2fJ|z+H^VUk11U&E=%xTaNdXGx z8s^vx+dvcD4}tO?V2yF}(38(gOH0Fj+s@4FcH;)9boR}8X0)e>5#=KE^Pv1LG1ni> z{a_NVlR(WwAo80{5Qb-%E}?GiWnd3>+55h z1UO}6q#mR5a_{as%XOSB*I6#xIi~a{*4{L)PSyo zenkj|RB&vk%^f`_{+c_^QK`@nf4^WNB~=2S#KX=rU$9cM_9r$CK@U#K09XOc-Xt4S z^dt-`nP^(JG*DZpPA~q|*P-Fk59zvH;;PsobGIQv#@b!U2V`_-?TNPT8=k!9bX{=oyjeZga zVgWLjid+}A{8j>D2@I+Mtrvhh9FAl}lM0E@d{5YbaveNqrw6bA{77K!r5OKpc0|L^ zOD8q};Eekhqj;4!7y~uc6x|W497zK>xBym#eM%0-Nbk2>uP|k$jY(lrq%yj!VbuSp ze_-TKa4p#XUTtDB{B+`yOMl8f3ax^j*`!yX+B0%CTWBC7p(CpB^@AHk{+!X4II=n~ zcQC_$jTdP5(k2N5$pu(b1I?t30W+qsH0}&Gy@DhF@qWRdjOsAYqVf@iBFr~{vrin z3JlRfIC03$a+<_(fuRy`HBeV2fNao(p*l3n2Bzln^F`z8nw_mM%s^)q{2}ZN3;`j2 z73yiHElES4FVEO2an6ETibLL>DAEfQgZ|6wNGY%`JYkh24~t*TBnEgI2?tidfAqs% z^JS%|{kiEcIb60&Wd3gxoTK+Y6x;2}#j=JA}q3Y9uhZz~fx-rvcg}K#QSy&(Y8) zpnc>@i)OVokv&1(09|zpbnViM(z4H;${cV2Y{U7ra`*r3hscx4@ zZ+Y1;@VBmi{tHJu{!^#k@-rYCnWv$vX$KU}o;et{(wr2sf@r`qpfs1U?<3>ulQg&( zqH90S&cbF2bftLZOb4ix!q*o!T3gl^Gfz|ny-0Abj#~b2SOmC$4$fbImxNPS@l24v zj}pFgnhX3Nc`{bV^-%4=bbDl6OPJ^*KEs9w!?z5a2bhiG+F-U$jT`cf%HT9Q%tNSh z%F6;I3dtcq14vEP<>fR*7&l=#kCc072o>iJ&_PW02|3YtfEXifm;?74p&*m4)Lj%bL> zSHsf~0@0rD`8!JZ=g3pL(b8!8)O8)DIAG7~fApO^sWS>*+bLMJ16JC^%S{(C*xtIBHcHywc zs~1_dAsQ~9y5Alyx+c zzct`l%btT?r#BmaI5JQZVQu7hki9W%k7?D1^eVfS*s9ZMAu-K|=(~R>9JIV>xpK=d zzx=uK=hgQw-98@_Ok(vr`-=DR;cd~86ulbJ8W%kZrO>_bljnh^ARK8pEvrTwcO6$K)dk8 znX_&UCn+nP)6OsqU3D8vFU}q{sHoH8lGqXBUf(YC!iiQH4;?Dxig06%Z|CeLE-+ zCI;XL;wEi0&JR?IPyhlD0gponkah$5m`^&%vYvSNWh`p(y;vkR6~9fZQ}K zN}qbjWJRW7qyqvlu|-p3DippVNR3f6_yE=>FYoOk3UmUZyjxzSh`c_e*-wyZ4->3^ zV&E*^7T`Hp-GP8^l+gmB7ZOY)PB`zG*RQ6>g#VtW=fw2%!TtL^?%Y8%_3`!=AI;hf z{y?m1ywCxWqz^-byJj|~W}Rx#sAWHO^15V>@I5}W$1h}3R2#e@qmg+xg6FpI) zyPLq_^&)ywLv}(s@dd*8t`(;x|4{ZP^GR`deK5@66gyrm1Vn>*TlV4IyLXF-IKjFQ zC7{y&Evrhw*n}ZebY`Y%l4^=(28wbmNfdlmm}p|zA+v`PHxJy`Ij97on4y_89TTW4jMNoo z_54`%Sll@8;U_hLJjB}SrxOQVV2-<9u;W5%n@yb@`Xt~Yq8CCys;da4*oO~e8;tz? z{7@SLvj+}QkJ0<61Rp+RsU$*$!s`j ze|;Sy$XrUPbgLn|%*M*+_yIHWZ`SS&d~>DN@)T%ZDnO_KP!eQ>z~CX>-N1y4 zrlkyU+%>>9@D?9tb)AVSxqxo?X8OE#vm@If#0_{I8YKq^uoSv#WP~~#A!D298Oe0b z5eUXeLW!cpfY;0UPO&v*lq7+piN>myn5*^K5ex);2V_goHcM-sFBo;HDPOxjCw((V z0LP(2XC;4HwJNDG#rd)kp24|uwGhLGQ4vZ<0T`UXWfXp>)%Gi~coCqZN<<4;s8`D= zn?_gMv9f&-b@ff0R!iQSM>wPl({kVJB5WVCv|UbFX(jI8UfQu(w6P_k2Y(UB6HUt? zR4VxSGJPIg?r6LeVj7QBY%$&{6VQH;@F`Z+!=s%;>}2S**g1vlk+7}LR1>2&IG#A+ zMuRXFUnK0_O%q1V7I&I{)=j`32cjKIkR~dPek4pvAiijCp9L2?U^$ORVJB`AMG=&o znp#`ipd*QD>1`mBmD!mymB57Wut(=+-MV$K$8l`Zu?MR}Tu5k^CKJOf@q{hV?s1B7 z{>7=qkkC+c5O<38qwRs;Zf$MF@mZrm+u2W94oCQhrw5fa8A=?;+xM=@Xw1g;0o#nM zL1@2LjPR*X+Tp)sA4^i?CM^E`*ZR8tMT|!3_~E5}J4CpW?s6ayhk?I_>abuylLG~k zKbC*x^7>f?Tb2dCmI}G3O`#=bN|KW{98SUk46;F5?;l?;FM9v8kN9O@5a%J&*KEKm z27O-i65%`IR>q~9e-z-vM~`0WAIir$<06QH6neg>s?q?g93?JM_xZ)g#r4sOCN;Gt z6bg}G9vIa>Wpj54-@Ce|U?4UW8y^mO3|L0An298g-WRreX}~7}&Zh?p?}^P!Rs%?9 z;XocSF}Y)hOCRKIm>C(H0DgvyeugF<8Z0nQc{;3k*^{KYQ6r|Q;edtE^Se?!?mFQY zuB`k$W|Nesvc0T3WTzQlaY1)BdXp3_LN0HwT^#>%A!8(YiX@y7gTCI1#iR-o7t6~H zZh{+Y&n^Fp>@7z%D~;z>2p0}(%8fMMZ>DGo4@yZ6&?nT!Y;3-u`&9$4aNSo=;(5@h z5x88S!n}mGNxjijrv`2y=mg+XCZf6;C!)?uN=X5rCJSk1_{PxA z>NG>SvuEFf^dtBgs@%81IJH5OEt1BqGV!1fbW8u3^xG{Wc2k>VB?t#B?o6Dp7debCS#I1Q?`<1xd$qD z7KnGV^dD|Hsk4x{PB%3<`5+e;lyrisdXXNjRKS@pCMpWZG+IIEoh?Z-c*a1D8owh6 zkf3V?cNVM-ald|9vxYKS-a!o7+^79&Eo@34pPyBiuta>P4zI;K;3(oCd z-nO^9SS(Rc8F?9e)W-rk1pG^3@)*r(XQs;?E{&swR5Q!m1AVfQfran|v2w_Q3-rq< zIU}8&D+5CX;tP)CRVJ43{lP2$cG~E`mQ?rhpCRve@`hcylBzQdXWfBni_ z_~E-)Py7zUP42ca>RWkiWIn4)Kv!s$@?QR5$+m>or^rj|nD17ioSo zo=m+rU?YW=gEQs;P%%a6OWk`iC;Q~DEM4!b$-obnwjwYzSJe;Z<|pd1?DB+{i@8HTd)69} zpKsq#;CrCR!uBB%)NHgU;}VrTJoaEJvTxs4`;|Z;PbQt6U5fR_sRGKGwi? zxo{<5P&Gc)vr4W_y29jpC${s!s}v>7`+j(3w;i#a&K3rmc~X&jMLBLm^3_M3tDL^^r9f>^zhQS@U@>BfnsXUp&5y!ofN#SiUua;E9I!ay-+ zThSsW{Xw?SrQp$#l<xjol3Fa;cTqJ~nk2e+I83fiKKu5@`;RNs*yl=hghY0} z)H!mP*X041SHQN#-=nrl2%gIk-m;7EX&*<@%&e@zv&tYY+06zF+{-HD7HdBVCj9Mk zS9FRPN;yvASkMlCRdRGWi^i{X-o234BF}2d#Zzye8B8esIZik5sg2Thk;-2}eH20j zTLj-KNy@W|)tzk)vAg)f$7m+zd+0#E zg_c9x&+RH{-M1^wzQ`M__jSy0HyUoJJ=}d<>WxYIaE;KzFb16$i7$qpIaH>5d>%OG zU0gP;5-FPqfqCXte~b! za%H$p@xzsjW|t!g#`|u54&Y}Nc9JwO2~ud=Un3`7?ct%wrqO+(^rmA|dXRU0SU6Kp zR+s*QMfXBFd0nZGu(pd`arXV+U8rQM*PSb5ZhZ<_%NBhiKOw|RCgzpH^JimhWV5^e zSBl;lb{G0_pYR???2Na|bG^|2r&3Z{>Cdwcxs0kAJ!+YEJ^b3e-rNtB@uWL-XPl4H zG96(eRQrCmr_liKFBxuc>lyzf)5Rparnm}p!Dq19ewu_V7!Y<$JTW;Ob*4B-J#r`;HJLP@yp2H)l zy@i&~rzIyIMAi%*Vj?+MNxuowm+qc<(5@0mR3Gf;UHZf$xU<=kgUr#MOp%p*W0>I; zu|xcGXCq(usA$gXx~A6`GE3ubZfLr+*s#=Wr>~@8aN&7sd)NeJL6%$-lqVXKRyA4e zCnD;?uW6pqs8uiq&&bZQzsm!|?te8lpF zZ4+jZHe;@DzVBv|*gs{iJ7u!$&V3ku)A_0{$w;tggpW{m(@`RC#NbijTws$|{L#9e zE4L%W_kHOt@A5Y6SKwln5ILMJiOj*@g5FYzLtw`8J1ac)rd5ZqTlpH)ls(*tKr&s8eeu)h*z22Kvb( z!{m`8l;kr$u8Va_LzIT2&F!bwchuLs_}xs_Q?&LydaC5`&D6KIUzo;t5ytaMx_fAC1{{*1a}b1ATF7i{$On_TyPB zt-85+R^>I9HwZ5Fcho^~eXjV##O017)gRBh&QE6vYspmyo(f}dXc|q)XdO8r&fThK zt*_MlsUfYGbhz0tqhS1fBV8obd655(cN`*`>v-QSGxEEsA}UwkDD`6LEi>ZKmsgRM z*^3d%^bXxwIp*`zb!*cutmZn>7HhUJ6}BK$X4rAWtb=Z!plX)ao@353GwnV)oP?Ui z&#&DgAG%Acd|zn z1ass4Q$*8kyGhek>PH&u%3ja@rE!vd@1Iio*Eu!M-0!Qb{gdu8tMw#tX_Wc*%ibG@ zNl#s_Z(I9k+GaP_)@$?8CpL(0Zy1t@7#xik@8gh)Yh7fg23>e69dEgE+nqlY%!J3z zpL2PhH5b4tXUj4iU)9s3uzsOme?g0CEX}ldMW>9XEK zibXu+QSh8E^G+a=g}DjFjC&Uh&wn6Wop?~~wD|EHapuXq+bdzB0!3{!IKfV7qnc?p zA-Fu+`A9;m?pt&6aPXFqEM76;H%-w?Y)9z^<~=s5MlLiI$vB!$OPk3Q+M5lRzTO}# zQPs&rDRg|E(s|!udux>*_2~Z+mi3%RN|)$zB*c{(a?QI_Z!2-L|7Ii?UM>Da#5TJ_ zE+#C5|D>d-i)ivYk5+2!xjxx55fYj)cFdWbzK$?NUAS#Pe=hex9O=Gxc1C{ev%^OO zj!DKEcv)7;1v3{>qN7DfVkpnOM%p9i^$I=ID+|Qh3+AlcG>1BfQ4=lx6Dtl_ckg&z zdgjj41I9Z9`C#JlEN`mHKWD7_a!CiZegm0B?`j&KrTn}!u~|#SDmF7;NR;hVlC8wK zv&;da35d2I)))pd4!CPq2!1sF@<+k6L~G@~iW)ubPmIHR3G8$YUIwG`>$B=QPf5@R zJ6183>Be#~DdA!lpRk=*%$~Th9Cxl)F#W6b^Eh09DP^H90?~k({dTGMc*ypl(Vnhh z^A`4#bJH!uku0Xa`+Ac*+IzUyDcSUC_oQ8v6D!DMWA&n=q&AnFd!CaP_b9>E>fX|? zZeE9+$+agv8}<<#E>+>Tak^>da`jb;j?2m2omTovX1V;v!$UKsKARKqO~K=fEf)vD z^kfANJS;=^L;-DI1SAtX4I(LhXW0g)cN>aav+6}FPj4)rr8ng?wNa)Ht6MkD+@Cq8 zdq;Q_rbbvZBRys(dddQMz`pBsV8YkBFdP2UYy@aS#`WX>Ph_c zGmj%fty^tJys3DY)VX{L_h)CNzO64S^oFui8WV=?*8WB*Sc-|kTCh4gS|71N+U=DK zarzbaA6i6^6+5X>~Jw!8R zzAkCAV)sw-%=bz%MykTaI#?oH6t>>wIoRf}r|n>@9Lr*yRWf+ZAt64Im{Hul(@0D1 z^)Fv)6I$dRdXsg_Dnc0iqAT(z^mnf%^`&=tHZY4+5T2LYD>3nxB9y+ zaEg7Yq1V5D*Uffryq9%xdV5~G>*HffMG{p9=h6wrCH{*S_f_9P`k4^lI~?xA_2rAQ zxl4=%sjMtHWM|x2j_TA#H9Dha9z(6lf+Z>|v$#vQe&gK(-n!F$ZPZ^_ZPN~6?Q z%5SL`ULBdXYkBQ<^2XZG+#`Q{b;=0Jub1;$r#>~;rM2{MiR$Cyl+eC|*kDG^xa$$9 z*~7#@PO;TiX1*uBUBxQMr~A@_>Q>9cZ8O#%vh1i%xofWFi0H;j&I-}>c4pg&$JV^r zuUA$=<5t9*^6OZ%un9RnD=N@i8nTxqE|?AINhFG1n=?_8RxmZr3Ut>(G7)%q-eAUU zd-B^SSBgF#8kH9G*P+CTEsd3Sot3DXPmP{qy1(lup(zGWDM@fZp;v)PqNc8{ zS%#)NGln(V$CJ+8@ko8$)@=07iE1II;TKcJL0HMw!I9BgZSPaB!emE0tN6U<=0#@| z1rdcT=E+np;=~iP=QSk41_y?G7v>{2|B``cuf~e?+kG)Y&(+GYTJDaAdt*WVDLu9G zOy{q!bUgErxNyDrM|J=w0#vJ%$s+w$`DjoE9*&TVRiQP*4o^>g-^MM@h9uX zRo&+t_it6KGa4lRTAc>lRQlP|hHcpvks23oJUp{OLfIuVw&aNRy}|>pdzNp+K|UBT zqbq~K@DQ17$6Kj?$b^JEDqYhQx@V*cbN`D;i}n~@0V;dA4KA@gFgp9Z+ppZ;&#$|m zw+K3EctIo)lQ%#pJVU`_be2R7^E4~-VZ){>ZsnP@vYbWQs%u|Fe^Dl>`mpyVl zKVsf#fBZ7Q%16M^i*<@x(%sg+C2m7$)3kC*&^DxOiH}o7ib=%)R%SEpaT7p%2 za(CB;OVuBQd7DRE7*80oJdej(q>Z)m_RsRzKlwO3{hEKo$6U15IL+RMvN+fNfz%;7 zjnCm$)tU`XJ|t0PAxo!bFk1f5equ@@n3+Nn+#_Hcq({>7Q)}cRxVT$1$x5BrGtb*^ zQTDOjc(d;~U-*)J)0UXyGE*ZyCi|HW-Yzj574ho&&Yle1>{o6BS#ani-UV=NhlFeX z$!JUQy}NelqkHZ>gyjgt796#KcDoDEI^;kZAlotrnrnk$nhS(=Fir%<2m{}V$;n}f zmlYMpuWqh|oQ3t7HoPh37q_(%V`6$Ru>cZES9fXg_`9#LxTd0{e0XKb$MFT9!7L0N zeW2f9iO9zGN4zpb13gZC1^&Qn7`F7|a7-E;gaKF(oQIplq@jW~_Oz{ik;LbDCS0sQ zOf~XYl1JMlE8k9^SknC?BQ1xME(@=E?To?G_)-KXVJc4Z-L%?Llb-oGV`aklyAxW{ zQga&wk6t+QMen!8iLh;@)gFuOWt^?sMcT!bbzSvln`$>ugOBF(%i=+m!kzhbelKH#)D{s7Vp*DpP%RbNApRrR` zpL;pncza`+{7!|Y#i2DWySK`euv!t@DC0$ojuS$HBD;uJ?h#3{3VK!DTCPXN3+Nir z2lMzKC)73={kTv)IWMuyl-e}&wi{?!nYN>d-9%h&mYNSo-7WQQ=`RKu~; zNBn?zT1NU|)F@F&tp~^572ZkharJMS%)Y*)P0Vh+u-RAIoJFhE$cne{ajJ3YsQuBJ z`+Cie-E~f{=lQ)xdUZn=!ipEuV?K>KsEDbC`W?FRV zw(Fst;%5adj))G;sENAzEZbIUyUmVQ_t#R*4YGGzt^YD^QJ0&?PZ0@5E=?M}znn{7 zuecpu;tY(vq~uKxC?O$IS__0=O%}p*iv+nf#83bOc+{WkkF;b^NW`U!K4Q=#x542K z;1l}&SjL711~+frih1%x6oh}ME(3!&Dxv@3$!ScTjQ#;fXw1bJ4iZX#14bxJjE_SQ zm}(zve)Vc|j`d|Y2%4E;p1fi0+IYN@lOgwCSggN^hC+dHthxCpwo!wYK-70E08qgg zJM{PWdpe<&+WGjsW1@S0ijC6hTU6H`Z^hKESuwbh`7z#u$qmOxs|#H&S6^=+r^G~c zXSio=C@lI^`|Mb_kH?JrH9A)g0)nWU`80pH{e^6~4fe$B6>bLteq$HedB-<}|D%Ny z>-bIMcOjpYUP-<&uP<^cqsz)Il}#GkK41B9i zwU5GY6N|%FloW&P8)we(kdKZSIJ1UFmMuB+IDAE|N=-W}J zw-h_F`?Sb|O1DwU=mk>QLEdXy*=6Z8-Walea>lRhKGXl%Be$~gV4CgC!(n~j57Jeb zi$ZfeDTx~@z7-X+l2CksS2i$?WnRpE`L+2p$%<^tiy-vd*-a;?Bm!5(PJpl-unEv~ z!hDOyZ-9iwBgJ^whRj0S@u=a{hL4b51b+agN|?X{*1FUM@i zs90N+$1hKA0%mJQETjo2IjTx%NG5PjZN8~MOV8E#N zR;ca1b#`$BO?Z;_I%8S-C42I@3DV|jI)oR%j z)gr)8AQ&zLaH-t0ecpDi{)^0s?lp&J(w7 z?g8SZ3wfXhHNBnCR!>!*_%Da__&V%HO|L;LmWscAcLALUwR!j;4zSa3BDR$ZPqx{-V<6{6{(G2 zvmxJt#nGx&tEdr+Gi4Gihs2?Dj^R4tg;kGCSvWxQdE{JK8kVL?kc21O*4}O_+>Q;2 zS-X4N_vKBy{_J`h{O~_tg^wDH5J&Bi@&Uk1@MF0WlXnp}WQke^@8*{V+_lU*=W`ho1=zX zfB6U({%bU|!iM#K|Ni>u1Mhd?J9~yqFMAF@~f(X?K#No^!r2O!Jf@wJNu^X!MacC$C+6XMdMf^qK|u zDxlkRbPCI}=tx2!?b_Tx91XW_E_4jG)}RN1vUgCQ46Qi0*@7QIf=lnYbLS5+!9@L2 zcXxx)6x7nd=GyTZ74lbU!$J*BO{28tP*KIQ?>6Ce;q~>94>Y3ZCfu?nsaXZ zSP7B(lTuO}G|Ik~_zR)(t@ZWkhS8+fAJuGOzj)_RW9vn=YgLo$!#}vh zo~j*lNI6`T^qIT8&ArgjgB_7qSB zQM(~4g+zVOnOHo62)<<;0`2=d8{caXis+EJrC8f)x*=?luf}5_A;bl$)rkfErGq{U_hE3JfM0U5d7qCmX04&v5 z13QPT4a`2NC(+SRXM?PsCf7qyS&=BtP^l;*pwLK~TpqUqXx#KGwFKJ9 zflntW>gf@og6rt$xH0D};JJN~L|p)Bzje_^+x6GE+{tVUSn0KDH6tSIC2<@O-D`Qg~SQcbu@)fu!y0w*_tJZoDV#*C1L|4Oe2JCji5s4y`rF?0Kh{U4md9EGJtTW zPv4P`!+X80s;>T=0t+gT&Dz`Auv}3s%E#3WO(Ba0P&l>OWYt~T zry?&%p=rrtl_9_4BtV=HFK^MQsVOASC!4-qu zv&k$X>Ou-VeZa})b92vP9AqfLgn*M*(^>*p*j`uB9QM#UU}k3K-!6yJ5w{0SQAjR8 z`ymKCNi4>dzm=#7M=}RfX`&#w!onb8UP_adNdo`J0|85@<5IN*cm;8s4oqj ziT(q^8)#9EAQRDV(|(hxt+z9}_6lz>aGi7R@rj8vJ#}Qr?H@ioR_4H?#3=w42%bZ7 z!E_6o`CX5qA|f!`_+BLYnC}UKh2_8Jb}h4Zto>wi2M$ZD9k?HnQ4p1}6163P8wGM5 z+Tx;Z90+hUrEMs7g4_mfJu4g#%NB|^tb<6y8XJZgoE6nMo={ZZ(0_Ki>c~n z=&pcs073y&wdtW4ec<3hd06qx_Ygtcg??(4p{I|JMBn$EFj*Zt2#VMn*RE}b;uwJV z$vM3t5IM)GPO_@t_D+sPS%gE@0e+w;Ie_aG6%)e)2h+U!)2B?6W?lfS(YoaS*4`wH zLueZ`U6@u8iNv(#u<&pl#9B~Je0{srlXG)v?pr7jkr1!LN4~h^>5&h{45#Wdc=isk z;#vHYdbH{R-LH*B^?2a#8DAUlx_l{KgG>G$)59z2{{7C68MRj+m@rA9 z*w;gJAwDT-YJ40wT8Sfo!28HUCI$qVK|OW}2?>Pk#0FIr2$LqHJ_p0su z)V)H>Yz>5aXnAb+Iw^^}zdb<4cC!E6KU)W3pfhyl;MO7TL1k>Gm{I+H`g8Hhh}?*D zCmzy{9|Z+_XQhf8zpR76ip2bv6P_gxU{gi_IPS_3h<6AzU&Pl|O-y?B%m!9}_Vzv= z9v03N2gGlhgt=B|boR0?cWLR#uPkfHuWnDUpF_uij*ijy`t=oQ&0GXjU~Zn1DRpga zAT?+%pZiG1wGO=G_sLF;F{gcaZ2Nro0kWc(f@MhLbiV) zr0&`kwy*g+UBoK=3T0{vA|(&}RG`xO05ob8a!^QtwEv{7$o979yV%+L@`cwOMPq$^ z|JhFG{2!Vm4J}LO{+k>k9Y|QtH<&sh01qQA#E}Sih{6vDO-fk7r=*PHXN;MK?WkY{ zA!7lZ6-3t@td^;vroex5v}l|anlklX*@sw`(vrWeTL+nTCq(V0#zq_klsoJZ5Z0K2 zlN@L<_%`Eitnr6U+tUGqp1vU=j!>n@%F2R?a|&Vt2vEeuiAc}8cg^xf1f+e`yiQs}=yOBX z0un=zcNTSe(Ev~g7v?wb5G|{nnw~x>ElmUz8t&)bDZexf*dXh}sq4+~1%Vs`T$s<^ z^YD0EgDRa^7#bSdYyzrn?SPGAK_OBC$jk_YnjWKxO~aFr(s0MqGch^25Ht;`Jpuxa zwQOpV$ZMe&3$VC?LQT9<-1I1kb@OJwu&`&fS6W(I*O0dOf=dipU4L4c*~I%)2RvY@{VJI=p71&>#e>Zx;(=>SNwI%XhhrCQPACyW@#EHU znqw#Uaq^)8rs!ZJuSFk%@CnhH@kC0KNHR__EC%#XP=&2_ZV@r?U9_z?vNbnPsWP-a z1L2`o95?WX*bzR2FbVRA2m~kSYmG9z=`ut_MAnedhe>Z8K^gPX^85V3f_{u$;m5oe zBk`QVVev=(L*kDCNM9L{*Qa^b>L=wr-x zvo2k+f5y(6ef|%<%PZZXECSvTIgI(vy?et01D4t%!ds3uHA(AR4EOf-qHlyY;;rMp zK|vqU&FScHt-i5*CCTcrh6EvG76%P2(?CO5T|L{hRRES^;O1lVfhq#sm=Q>z%;H0{ zt^4H5{L%HoEzXA_IIZJ>1Vb+#3MnTgU8$`kqaz`Zbbxck431Hkk&Gr5;=Co^4IDB& z8Q8$@$0mj>lDUb=d_#)sUV?(ylrmDrPJJ-*SY0M-A?+~+#$`UZECQiPqqUv-3$jxs zM^O|ZsRm~le>DNtlf*M@K{LG{JXgrYn_RuBQRwUd*J@e@@bP2+Q%E@k z2L$lD%-Kk@H?z^gVQZ`L-;)IuHJyeZk_B9#_fC-={8;Ps;2omZgX>$j;D8K&2c6+>G)<*$84zgRHGre^x01VhZ-#k;PIh} zWN&9jGhoEL9KKz!A&`gI4(Zg1hdTM!ED_wH-~(Sj+-^w&G%C?B0`2f(={>}k3QEzE zi(h%Y+GixsIOtb#u+s#X=CHy+wxdTqfH7ggU_v5DdNd9DrHPZ0XgA@%_85+>{p854y3B#jZ6&Q!XvqEGEZJC!lpYNiV~twTjE$+TL_lx0%w~5RwV{ zY{V~H_tI~bJNC!1wd?)e!d9Q%xa#%G%26K$kqX{pSIn-6k%_~m&P4IiChC-{>`Aq;r!;f zsBmr-0-%P*wv z@0QUo#RU4C^;;Y#gvbu7kP+Y;m|SgTRS=oSQo-Dyj=cRR|pfNS+N34RI1s z|DiGg|3(r64H_X_F|lFwnl+vt=m9jFFnpb(5ZZ^ByiTHqL@n&Z&UjE8l@(S$3%`-S zhbYL{q4$0h!8K|w`y zr7rF?xWVsX^Ke8FPj7~Xre$O_&~mLw%ODv7zW-KDUOqYGgt}gHgO1NVi`vOL#*Pke z*qmt1z{_}!kdSoi#*E-+3~jin=8xTq(1QRF z-OedU);2ydaU8yNG&xsSRehxg+NW~f4~NVwFs`Aej|3i9DZ1I`5)#RvRejBRO*L6I z*u=`JG9cEr_{EDCqr3l{x~SK$dcIWh%o61gv1RB~o@Lf-@Y0cmAHvQWasj&tbSS{nOl{)atqlqAA&FYhy^%xY8gwfMf$aaZZKWP$E&00 zu-zQ8ci%p!q2fAgo1zxOI1O?jVN{Q1pzHDD45ndp7sEq=8W>6N2evch+Y1s%b#v!! z-RfH%Mc%~7oy5ci-Y+MH1X}W9bRWHW6UnOC6*gJuyrs$zdhr_|Lft?PN2335iT)x2Ge9n&a;qH-ptit zCIhkber^kWla-}4Y#-&kFkjgF<JY7Es8?;7od~JTWq2{ z81X^az+H_*s!>#)V;4BrCa2w`g%t4TNmz^p{EjEc=FMHAok!rSri3-mMw+?*{FqE* zVa`+0Zn=L3u!Y67#S(BSa@%=|l|V%~CeuC^B>A zY88U2%};|Tt{HjyXOh#lMBi}7A0G|<4ZD-cVm~UieNAx}u{m=<)wl6Yiru!5^?-{2 zr!1|!+}vD+QQg}wB}g3z41@?!j4=tI6#5W_GNv$BLJkAMMO8+c0br(urx<~sqnu0- z)|6GdOLF+Q1u@sJlU=X$epx$_J^Igsr7mrKgIawSsIx2S6^My6Ih|EplPA#!zzNw# zmk8%mr~0!KM!Ws!a{TzyIMxS5B~UrR0RHjc|d0_ zT=0LnW1(wVVR!$QAtEA$!>&^-b#b^tYpa5SE!ra@v1(bYs;}zOrAU%$tE(S(oTo;N zgBUsRBvgdQv)2krL+B)5Hoso$aK9l!L|syi$@Q67g3$)krtvtl|ruhVx?4#>Yo=>(#3) z?4rW0_~$b>Z2V>Q}QB*#h@wb5m8al0~AQJDcHc@ z7WJJzeL5l;!Ag+by4}n6wXN8rhk&w%5?k9c_6T#4ffI#M&-i?iR@g&FQ)Mk`YcW&; zre;dgqR01igZp;t#+XOSHSzvTrDUN2g5mmz-5f?u+1ZA1Z|J~fV}c8=@n;3vp&f%A zy#3+We>o_;9dn$8d4V%_rus0e!_`&bH%K`d7tbN}=vRRX=;H8eKw(~S=T2P?zFx4~ z-Zerh!r(wCne+U<3U~Haz5gM%vaqlY6GL4Cw>%6Qb^$VP3;mik5Z6x1p@;28Pz|vQ?!QY;!)R+x&3(*XOE@2O=Y%C{-N#L7ljyi2ueIH+eJL;fZ~pO1J8N$5Hba zS~}QIe;aqd#qdT{)LRbk;bzIx20OppQC7A1dHeE>0wx(ecyRsstkhI9-X~ouF4L$i<-GXj)Y8(!e}vmAG^TP*v^Bb4NLTNL=#C-D$s3M*Md5ai%?n1=yL{9deDv5cVFCy! zSVKc)T^ACK^;aHkB)xiL2tZmZE!COC$)Ta3&BQEC#v`grbceT5Cll{q{=t+V5FMHN zFOJ9N0seNBP~|h%6PM1Pmzmg-eI9(1Ai!kM@JXAcJa7r|SMv|jAf9UvYKs`sCHm)$ zpDh*}c%PA0johF)*C&0lr$dfNtnsU>7K5!cs%9k3kmzoD_Hy6G@9(;k(L^B({PpwM zVSZ!BfA5d`xl0#CY~vhq5?vB8_0m%B*1LDibWi?5{%~_Ae>JmGpUm-h?^pbsw_Uy1 z@Z6Mgv%=eJbx)km?LT<(X`O^Ew>oTRtrtD+c-kF5{V)HH_;rrzSB+D-*7d|*iSEP7+HACgC3RZ<(8d0|J z`~N+ld*Z)IMufj$B;%rHw|dqBL*bX_8x9#4y83a~==O<;zfbrxXmihpbVE^m?yycL!i&va8?_)V6J|ikYZBnE|PCMWJSz<9x zmH*{)K=cI55|G#+x+H0byyKW4|5;{q|1G7{IaR!gu3@7(X#0W z>{m}n6s~J}$90MSW7T!i-cG#My|ZI=!w`ocuYNy05>RzPyH>ky*MYCyNTrE6)L5j+ zAR8HPW&XT4?d`-_5|ZN5DX&_C>s2YF_U^5<1{9u#Fzd1)Y=UB5%b?OQg%4e?uYSCH z^9bRZHVx47KGWB-J%x!^I{D8R6ch?s3@2k@KQp4S@2?mEGO#me5zsOQ+u0gnKYSd+ zQ3)j^_-#*_5`dqD)}6l`WO=F^HoU=~S+Er*bv%~T+S0T@9|t1t2JbHDFGi2I;NA$u z=@vlX#o=TFUqLibmX1kP-iK0+Aw$j)81CM^3k|}-1RVJO{pNu5$%3P_xSFQsjr}LB zs|%KRxMZ93O4|Bv=T8wLRj0qFIR{4cASe6VXXEeRZG=y|yN5Af7;EAw4y0EAhHG>+ z7!9n~5DfDrOf!MAzO(amvcB2V@yyrVPka^RrBruN==Gr|K4ja8_a8a8>Kp1l;3RJy znzfQylAJpA0U2lARuO9T^h5#GI6OJ=$Vd-fYEQooh+e~-QbP02;(aaPL(9(3c*heG z&Ch08#f}cyDdGF7GWK!!m79BGZuEA1xkH{qBJ7z0Y(PWNfsaMPXG-w$@o79K%z`PR zwxmRjO4>*Qt*e_Go{1q)UKk}YNeJaBgc`r#imxwrYKv3=Y)x^BAfFb z1t}C}@p6yFX@2&PCLHis8(mvHNNL8WFUdcBdjavi51si-Kb-Kj8LLpBkuxw4&8 z>)?t^Og^WNlKj3@4v6+=E^`0=;^Ls5l*9r+e%Y?E_~5de{{GNsD}pE0^(eWNmtMFh#dBpfuOo1fCjbrN6$#C&f#9vg(F!L4*SCDCj z=rK9(Ia}%3vmEdX#{K1@Y9$L60s8yO*=?=!WOE2~w1k-0rs{%ZB9y?yOcU5>WcC=h zaJZ9#fDYaAORh@l-(= zbNX}|MTp@3Q@<|3G|1W6x&O(2{rguRQELA6=;AMFUahr2nqQlm8rBuzUe3)@3vF z1=dnU@f(AMv}wzXq2vZ!+v6us@P`Dna4$s12)5C?3r6F=#l#elrzj40K8 zoSweU-?(V~y}NhoF<7O9fz}IW+9u{~=>|3RgWQi8u=D+Ve17WMRZvo3Y%6ZYh64^q zx!0r#^a5a5Ut2ryBse*78x9&~6KM4C;VusM`;8olLAD@nP0*h;>7=0f9e;W!gKkNY z{nK8&ScUcOw>=@aqWLTm2~^MGR%2XGbqh`_Rw)3c1ApN0*5^fV@bUW@0ZV#@IFjwP zHQxbaCFZIttQgekz=+qU#w`^*6EyNR*UM~sdfx6eCex2aBlv}?V`FlVeluj?eR1)=!pDOI$3MxT zy~z6-jRxmU&@mg+#lP=aTl?hN8K2${cHMn_7gICiTB_{_yIztszvWTlAA7s_S=YAu zvbGqj1jl@1y})2kyARznQ%bTLUQDr@^*y06nZLU4zpre5r!145MJ}K%B>_AYWcSQ> z{Ic`E%G4|d07o&)RM)eJ;(Aq)x?th4+0T;QZ6 zI1(wHlbGk;WtOkken)x$1POrVogJW^7!n~R=KDJPx1SUFAI)HQFk?36MblUo%^z7# zdN$=@Fi+;xr?@qFdyfIqK#s@05Hh>8ycV5f|)2oIuf>^>`zDP}F(T))ZzT077Q2J6R=^HIw6EXZ7 zETM}(em3X=O!sG8ia&*Yt(YPuDG3VG1c!wbLcki;WZRDqO>k7AZT*MIlO_SXK^HQ2 zgB31oUAqI4_4^TrXpr&l>>V-!thz}vggKS!>f^<6{G2q&pV7-i047j~h&&P(PmOU+ z-!*N@6rjenXF<^P?(GeMVyY$s>p}rI?lo5a;W05fZ(erl$~080*J4{zNKW#46Q_9A z+x7LcInmJ(eXa3oGmN`~F)N423bHP+Ak8?tm}lEc6<_A%DUBVgU!=63XT>6K3HFum zwNM4QnA=kDWw=B#1&&1V+YBZcXEZu~p3nXhIWM<~oD_?#aBJSSBHkqUe#MR#`-KJ9 zj(mR+d-0!xD9fFLNq5~kUp0TuZxqYVwuPF7g@l;q`@(9Unz}J%d_Rs7b(SK)@R>6{ z*_L0cw-z2k3ag!DYGiI+3%x=J6-JD1dp0~wvjsBDZp&<(`f%~QRBe4=LzkAKF<%-R zCl9LyBxK8e!%jB+vb8;}&(@}HOriS6lAh4(2mC~+fNO!6;Vc93KwoYH3L(8EvX#7Bb}WWV^zxAgbzXCL3__#6n2k3mQNu( zIwu_wwUaTz}-yR zc)Ztb!l}FA;Zxj34FVjUAP&dZS(Hcxd<(0@i`A%kfO&iVdZtptt3zL++Gi7iW}WG3 z$06k@V=68$zn_$YnjJnDpKkHZan@+IJ~H*LD&;h}{{EiNvO zsoL|@HDWbl%nBbPX>t!%C+QUCy$bW2S!n;?(zpVIb>Z9o` zHOC{g-d0v@laHU9hm*Fv)*79+Lz~i&ZfWj*Gbz!1frXveVW&^OpUS>b-1A|rbz5e{ zyEl^-j2ZvacF~D_L`TRNE%Zv!NK&%CQn1WD)Yxs8ixk)C0dm-p;HDYfaU z?3tfc{AzRCs^IIHCk`6k3!ZOeP%hKlFxw^l*%j~37|DcduyoQJE5nuE_H8Hj(5=e?d?FqQ2Bq>@CO3^6W=yMiX3thle4jN z#ab@*@I`pEvXjeCT)x~|{Y1h`ejlQ(lZ4cRW?I2LWuFWFyrA!I4OD*f^72~fT^w)( zt4Ue35G)kPi~1^qCyToE?W<%_f~Lit)B-dI+3(Q~O@3_fpCsEW@LKwj0}%wGC`D=b z*TdK+qttzpoTm}_j*unhyng+0{T^c5VCQjCQtHBVjbwe;2kqPX$w2Y|vJk6`;p{(r zIB;Dmrig#hdyO9FI+njmH+VcNik19xwnpg* zki`vhFhNAH#6;hWAWkAU<}(@81&@>ByQ0qID`+^DP{wBu{9ia{4g417_Tiiz>AQ50 zh;d4zFX9f*1W@sCKI}thvTpJ^n0=1a$`2pLh!gO;ckiwcyTD?Y5#)5_2)t8CF6v&iz(d7~_A%+vSDl*(UfXc@QX{_M0O`B_U;?zUDX z6^R!1icU}27FNEm!PzVLg7m)JX)bf7d15b2mF2dDW>7WFX8IK9TBWclOn*V89I z8fBpr@G|^JowbU>**?cUD_&Up*@?$E8IFObNU zd@Goz83%D@`+hs`q@*PJTvY?r7cE?P zW9*()4>MAX*wB19SAVCfe2oVJcmIgD5O zE*jTtv|SMMRzwy-X`$SX$ro6>sWYL^U@MO$3Ht7>V;M0{58faVch$O3ua>8qLo(aW z*H>3tzdt&m)n&xPzVn|YKKc34^w#~)C=w1o}Jq^WKE^E;sTY{M$HmEy}2?{({DCu zrVkn3c5heohihl=&8Ttq*^^c=%=7b$gtxb!bl&-kxZIZzX}huF#%-IMiX9RgT4zl! zstI29?4zE2Vx7D>xIPNvfZsVT2&vpgGz0$vF*#BgW-{eQn zx}_*-4!3>e6nnNQQMAZP>H6Ut+eCI688&5&IASQZp+%|ZkuOmi1Bb<#vaN1AspN@N z)y%0`yKCM1wzsAqO_Ft1t_agBu~?Loa-(g`Z3&${Rc3D=MSfi*v25|s)f#q@1dI~^J=gC^B?{jni|mq00H!jH(pa$7q%$b9>FUU4@~Ie*t2Ji(d^+a;H=sFEjKOaBx1j8W{c?wrGI03Fe4ja%1vQ_Vh5L480m?0r^sh~U-`==Bx$K6 zl?F5}j0=5JR$jh4&idKcZq&%^14Jd2muIxYw)tJh@k{=ZLv_9+wB!jx!j-<+-qS0F z^ZhhL)XSDZer!i|LgLI8n={;{f4b({wFT7KFL%T)Hx;^sGGQXoFhYh>dC}dMpLx$V zk(<_arn!UGlZL%!R1*3^+xWzlgIM}djw2bSLz23B^-1Q*+3i`sUhoB>IRi?NatvEs z%9v3@O5&WH;M^EAckSAEhx_?53S-9#g*L}Yc($29hc902gw*}ZMl`_8$*QUvmVbfa z4Pyj}!c2xwxDVkGxHe=3%gM@GxSfxa>bzg3_Y9LCHXY9M3%VZpVlRQY&N zyho|wT!H$|J0;0`j73Cz>O^ zXwrNjZre51zjcID>=^CH^0Q0kKj~?(K)?3Rj4;hG%j88btyGR59nqSgrDSUMb$j!x zFBe3jTT`lfew{NY@nOD*;&VAau9xG4Jm9h_Pq z6Q1GZ2o&8q*OYST(%!JBqA~yCV)w_v#TM?n6yqv*@=~*_W`9Mvw!%wMhmykfSj&dX z3diVmB=!3E?ue+m|5~vW|8wyjS^zOI2JgkfvjS#WkqM$fa9KD&R5T7}cuc~vhoN>6 z;`O6P4S7Dc?n2h(?7S3N{!)pUf)5{RP}D)VKMnbM>(-2|iO3ei9!($Ep022UWEA1N zc?amd6JR1REs{^e+hN5?6@9OIEdVKCV(`oUO!un1kG^{o?>Ri`2aK!0OxaA$myBIOuUSi?DByynb zB1eTmIvWDomg}tRTyZ$KE$UF{ih#1`6EbVwGz{^zw;nGYICe|X2Ct1N+jDjD2bAqp z>X)}^{`1jsdy4}alO{dTHeW&T`>9uhndo~tv&|-YPv%J9l^uOX@A`dnU)x7sZY?D( z3nqu{`ej7rkw+(jHD1a1@4jmv`KryeQC581*4U=h@H_?UrmRQHmVZ2*d?-9;U%gTMCa}_u~;WMu< z-pWNBg=aEGNE_X813Q~20d{mFAb^%Qx@W7u?&1Y(+2Ut z6<@$chq)|l8Y6}J9i6zAmey`54~2&<^bP}JU?-23C1->Os;`(=fY$DfkK5`swN*Hx z|CFXAgw2%-z6n)-Go#eL#v`vb^N`a`JOMHsE+VmR38M^U7~!(V!V|aKVq)pP@&fqHO01OH0Ph#}`pjB?xETI&l zcm_Dom@CXC1O{w~TEp|$FTJ8nR%7q&{dM*d_qJBA64}u3`H@t>a+Nb9zt+DFe($cu9 za`ugCTSH9W7}PNNVzqjqeM|5tzdo0}qRmgW9Il!@riZJ}^(k@HNyZ-|B4qvcpRnEB z5NSI5k9E7&^rBZX`^aB zB$XSBX4O=5-?BCBRrErgJsq*j%5Bm3cJ}z&0>O;*ARY_*3r;SI{jh+c3DJH(wgWox z&&DxzA|PG&feKth#iY+Y2wFA?_msU~`p6OHGFEA;5cbyQ{4v;Ow{CETUZPZEKD`m@ z4PS$EgcEUQ+wNnS?!#{Y2*(=nqjJ&;y2`9yvxa7Mp}gueRQq|5rpU}W9$Le*QWc+1 zleigbZhqA1T-=e@8&0SpvL<*lAiwo>79tsHqBMa`ytA7ifu+RI%Gsku2T zH=`wQNA_`(A<{*=N4TE7?EielB)MC%SxT>Fl&LEfmb~2km5o^-8e{UMa=Z9dhaVrr zko{QIn7=uBe)XAkt2Y>CH>*BAnp2c5uhZrBBoWh>vV**C+%u20JJ4IEWJhRoOT!Va z!1#vroY#_Cfl_gs=Btb?bSN96RkJ|9`RQlp?FLy|a~G}{E+;Ox_=C^%X92FUW3J{E z?jJQo&0qi3s~7%OE^lipj+UezK4{1*3LDe3p?9;Be6OgGst0}BTAtq0YB`*n`sCX8 zmjMDE)@<>e_iBGVfBq}p1&1U-QqXdCLHq94X^b?zzV-$(ZY%*xwO$)a0lh^NTSWIYMkG!f>2XeX zvbd4;IU?Mbs;K#G#>;ojJ1oqk#S>FvJ9IW5u~?c;XY&$QOed^+xfm9czPxOAUk z%?clgr4`8>41)tEJ}LjnN-$%aiQXQ;Z{nGscuy6#LgKD%{_i zUT)=5QY78pKOXUezv10h#m7H&TJ(RV+Ch!*S)zl(jPTFN_j0axOSxv^@PSEnVUhlA z=7+r{^h2Ez9^bxi^i$q|JO{6dTYI(`7!-dh`;=-^YJFTQ`X+UD?yuH1lKa*znSVc| z=j_35R+j0K#hIZWY% zQ#(bRe^~i{={COP_83|b*4&_!oZVFDXYAY5d&KSh;^I)z%Q7d9<{oTJZ;LU>@43@+ z4hy(Z)$xdTfWo`dpqQ`^2^D+R*zGU%eB#$@Glo6FCq7K912g#kg}?uEzt@615fL)q zI2(5m{S@Qa%Dk8!LEg7swi=uk9rZ6khk?)NvMzuB*8lil8VCPLga4<$7IEQ!iDf>e z0Z|Q^runKZDP286YQoCP`_W5V$LLEA7pBT)Bs_ks>YTW_Z7Ucz)63I$wbV~*KMgv~ zSpRRr7HP>xHxJsWb=Hr+{{!{@-()5soBq7KFPEA8jihx|1E~f4c=hhd+8%U((j(Jg zz2v`&PO8eAI)3@aemnnd*&S$=**2i|^zdIgck3g}wg8BsV-3|l8tcpM?%3T(fz6j@ zOaFNx*_|M1HfU=bwiSZeGko{$>(`L`cj0rBPfwtCV5!RgAGP~9n@(E11IU4~3$yud z4)6iL7&3N*B{1Z`IxUho1b9Jgj~uz5Mq{e1I=K*>?5O6TMUcCL1CgAFr@|Cil&UkH zjux40%WtG?d_`WL=!gi$Xx**!c)n+1-rcFcmYHnsGhqUL9If!B|Z-$x5IPCKoT;&#*~(q z4=o@s3>wO7V@#$!-5N2|ccqL+ZogNs?$}o(^b5yXbG=Zy6%APqouR2AouCA1B@I*$ zaLRP(3=0R03Xe^)h!ss~LJ{^uJLAl>oqR&0MB2OzQ!_SN$>uX}fJTSME#e=|- zV2bqg0%|MawEN0`j_))gLKANc=JjPrHP9qX$|r7yAfG#dP#-dQu%)@V(_$WNqY{== zlN;vt!Ki|6938(vd_U5XumgkoQB`fEr)V^TSd4EseuIdt zZDTEJeQEpFW}G>4_#-bgn8s(i>*eT0bxsr)N6doARFUOH;;M@)0!jFU%X^hKh>MB6 z!>}ji$rG(x8}BpcI#*)?HIML@;kZBp)PuC&lqR6&_%|JmFboR6ta}XK1{MjGxOn!g zIwO3&?LZlLh&UF&{WHTGev>JwW5r>5#MMCU-n`id1sGD0g%$>+|6@UcJdM>7_dfsTbO|d1W*>s*>4qD5_MiSj=ilkv)RtBXSK5l@0R`FU zoQZVInQE_19{*|1oOwZWWa4Spc<^8h9uNV+v6H7y$GIxDVta=RO=q99Vj4kI5_W|J z>BclJLK>5{Qc2;&(RKmaoUOS#B(M4U)gnnw2 zWAtM;)dkzPAh|-rbVw; zf;j=V%>?vPdJ&rePthLuwo+Lm2jL?Pfe3fTB)m`o$=rsr;{mEKVW4`~zN5=5Hp7Mf zn;M7l$BXfpft}g+IsezDn!RTw^b|KIIO%GHte?vD;w5n&c87)wCzVBuoEIZ`z|3Rm zQjeKi4hIC3*2!<}c;#IjEN`_RP90zBBz+of2P$XqB07d2jkYPHby5(rzXp|Feo5wK zRV!boX+lGH-#B2TzV=_}dE4F4ME!Oav4w^P=mq^dEp(2uh2t_T++Q6aAYnox%x@&> zJ^n&pNz<1KFr1wg%EyWo-3^0{qb|4 z`UpH`)cm<$E^LUXD3*F{w4ch%m~pG=;i#?_aypdmmX>$T81mix`&7MHBtTMQ#>@{$ zC-gn#Fgv=zOWOD{o$HL=a~j&~Fv1?^#XELf=WKG?5vEChGWa1Ui`e|b%Yd0wwmrLu zRtF=)z_q!tw$X{3kGi-FLN%~$)&+XI1w<>;VTGT^9D}n?$44vBKNOO26#qY(j$X4% zh2Vee*coYARA`74HAas>2tTr^A<>qmV3-B*_vPg|W2yx+qxpw>Rn^wsGb=nM*n$l2 z)x~9D%{14+ZMq@14R2|6YAx>hMm}>|`x0qWR>*9}kvmrP0gt19XAD)Xqxk}^4%RXD zwD741%%R;0`=$XW>Bg#Pu&3b%KL%hp@oM&ZoG?`{Fl)@5jlTre4;Z;hSJw`ExCONQ z=tP-gTtkBs0={`o?K<8AMu2d(bSuzd)5Z!F$T~Ps0}h2^KQGtea~^LFF*i4-Rr#h? zc+l0W?{QPn4%vLjY2d(t+3Xyv919KlX^D4%W3MY#B@7Thb@HT`IA_AM47lcr8Re(V^2Ai2PQ+!7iI3^-H@fI`@qwiaJ%`AN|Fz`XUW(|&(HIM#5_ zq$jAiD$=1#>9Q=dVYu!8d+E%;lPo8pm4C9ks*p7yGfCFR(PZMJNrJH{Dl;3KXeY@z zb7cD*TTJ9$vLxA}33*cf_$n{N9SD+HCy&!M)3|715oYG!(T#T0>D1g{2)E+ZJ^=ws z_sJihm0=g!PG;GEX|73O+uQ7BsO}`U@Z#<7(W__#Y0K`bF2FNj2Zn%B9?Mk@_a5>3 z<;yEi)l%Oz`PEJme{6HO0)hx#Bs&QPdx1XvNu4KkBqQ-INB@~yn+&3f$bIT%+%?=) z2Mr!PUfen+w@S2V3IrgEmCGkjnv%B!fyD|GQ$rJ^@9~A+X4^5>5gJ`GqBJ~)|B^Rw zWIkF?R2*vljKTcgQQt+az3H!$^^X5>)>M&F;9%3aYaeu*o47C4y-`lQ*s|=%8dOGt zg`xZ2HHqA*N&!wmdn_!7Lwx=w=nVQZv`?BO^h}f02|Aet1+;Wl)A0}%ju1^40I#5+ zle|5Ak753IrKFzS*Fr>9LN-`<7ZBHN=*+843D}?1F(3_14`eyL)#!kTc2EgQUz1nj z?jmJT@`?v0Qe0Mc4*?k@zmTB3cwvGDn&i5aj`d*tZc2zv26!tWanlk`wOUOd8&9$y zWW+=wbK{Q$6M7?t!G&OSpczOrEqNWSCYXZVQcE*kr9xjeED6f8^wx#&8a0hi^jdEt zZsn-Y%*u+Ut5APdj_IRObgrY#+HGXinp0^rq_XfI)6&gZ!Kgp;yVo~j_M3Q@lbs%$4BxhJ>&A^Ty&6OftaR6O zsT%oef3E#B`#mi|7J-Lsx5|yl+lrl^NEbRS0bOKj#>^9XnR7T}vLpr@9*b)^L|?2cj7h z8Kcj^MW(^Mr;1{~siCG;jVLV!X9#x0%H_+SJ%4`o^1$562Z>wT296xr{L#Z$SOPpQ zOxu)3_BpavNUSLQgyz{<7p8uf|8RI{lzfnjO?`My*Lu=~2@@txOe!{4Y-_H8M5O9e zt7twmX-$FIzRjDj-cgW{kWf&FNjaCOVXYWNZlxRC#vvp`2dscTSPihc+h@<#MO!u* z`z`4vR`WXG@c0{tdx@4^XD`8aqX1RW}<9KHx_i;Yf_+#*S6F zvdZV$HGHhTz(Sa$_k|h8>4jF6)sx*xIfShxKX-8pxupD>&I!wZ>Pm@7tQ?8lbcCGw z4)lF4IUPv@O_V`f8itySC9rE65laO#(wbHVba8mw1^ZfP9BXt}eEO=ij!lEwaiB65 zT2fL{7{xp(tcIex#1|3N({d7{J-rRNp-lWnbntj2(Irmj##cIKKenDK>O|dyKeUVa zehSkc-ePxViy4ktq&zC`@uxi@JAVItBYJws=U@O4yXJ^~f=%`0`i2I&B2K$v6~1Rr zD9=~<%8AR}OHz$lKqO8SRxAA0yj@S4f|tOVGXp0@=IYPV!KEX?Nkq9DhRKE1;dk#^ zPbVCa?4#ta{kr6bPA10epgL`BB>g1lB*jxiT2C$-4HR?E6&<*OhA;BLKBy`V^<&Y| zpOYHhEn~JZ6)KiPJ+Qc-k-^bKW+b*Sw$IO>I`#gBm(=cy(8<{o9i5IJpGq5mp&?!e z>XY3Oq@8_D1$Apz`s5=Ia31t=PjnvAAe%_WJ9xVGM900Dd-=FiWsqcb7t^2hhN=ro z;zDZ&k)cB)5PApXDP}7ervH3*kG+Mi;>)b`v5qJ9_1+!qRUrNTNbAeAE;j8w7M&t= z{;jUf_|;dfJTt_b@v|~A>wEM$PvS}SmN4klkFf9LrSK1Up!iPRs}WN`JN+~I26)zN z(FgBvAzJ0tC+Ox6DX%)24!HjV26G76Fodb-zN&rsn)D5mt4T*kny6q;-45*Aw2DGFBjMenV;T6DFaa^tN0z zew4$8}ImF;gSKIYiJC2={2 z5&uWZ%u|bxk1G-McfQ@V=NROFBxJ;O>H06~J%3x0{;cACms*12FbR;Al~q%26!tsM z9;s360=dtIv;K1or2$H2@8^xkEtIcd%7G6}2;JkVsuvY)tqHN9S#b_6pFlf^SGxPF z66r$Pclo(RKM|1-%>96Sk_xLaW7^psVOO5Nh7c3~R~T66_I~2DQKMa_!Rb?ZIWB9n zJ)R+lT8EPqh}kWh2BQnhr1XvWhKNsCAtKpV=fY?Zi9`A z7)kiiftC`E3^}+@If3vH_y`p-m=d8L{S@#14?`(~Fiqc6dUv{Z%9ny0L^WK#apl3v zb4#~oImW!0Fz;o~n<;6_>PE?hco#c9tzQ=&^EtJ6_u*l|kwfSk5v;{mcEu5W^yrE= zk^cTW$s9Pf!^duo%?lNbLTP%;vu0SmZw;E~qK_ZZ(}jYIkf>pc;Y2?!1LBR1Macx7 zxwY%w^Mm5g<+Z=(jx$BmW%!(3Y&8w*x{s%SOd8&?S*`ZLWdc0G*)AjQERaP#Ka4#wq6tI&OYV8lQ?g)_(eb!qI+K(~wtMmkd<{Dn_^ zPQu0+*_jK42$pcqdCGy*1>cOC>NYG}ycjo^$lTc|kyBbT{!n@6LG?#xemjfcE)d4?~v5tbf z23D9WFNA9b0+Z843h982NpObX!os^n5rKJC#p*&6ToQo-jsk3oM ztMS~SLKAHE?_AdX(H%_8_ec8upPy}qaC+nHbpP`EyL7yAX?tWwN~a~fGZFBl@uziS zfTlWG4LVf0>ZR5c$5l59?%uYFdOBe4#T66RnQdPgobA{4XrL|RO<#rD7xacT&`lIQ z*sA>PpwXjS-x>rTI&!29_Yda$#C=JW;8>_7y~R6-!Yzv?vSs7lRo(IZp+XxlAno;Q zOGJR(2aF#nYo?F;3e~WjXNBOTLnrav_;?`LJ8uj*s_+B`GAGU}JCXestJYD@V)W~{ z!VgQITBN3q{V)z7ds?oliX9X9KW0*d0R|3@AOG=Th1mDoKM;L#|E>Sl>zzLtU<03& zXXZ{$PA^KEQicMB$LlPgUO9M{nBywzCyp&9P2p{Bw?x(VCd*}AiWPCQevLr)&K*gy z1X_meiBK7hc;|8y=<63?SMiG@KglF-ow_go z8JJxQrwxbd$Uct%zZK)-vFQ;!dvbG?ov^Lasr%7g)pv#80Oe2SQI{`|Za4>=y7H3D zOu%b)IPHg)Z2lE~H8*;#Qk`{dyQ*P#br8ioU0%-{YvV$T-z zh-|jMdR4o~3>OXxAR_Si)6_E-fTVZsXoq#YH=EAF!q)Zz`5!xFiUAu{*$IqPf9qD; z>f{Ly3c{lOPoMY(SKrUiUeAuJc|B2o*1NJ2i^qp8?mnKYRj8vQcI@{@KTf#0>gT?3 z^+sr|o+c#?#Xv&B{_7JO5e_Mf9eRoQiqxDq?u~AW{385~AvS*tO-xMa?QE)Ns!Rnh zkq$R|vgIy{t7-Mc%>*rI;$|3!fII8gtxG47b@5h>tf2@7Fd!M=XvJl@ZeP9^o~k5r_8ge|6PFlwy!c zcz==CUBjGU)hdDBi=!P20eJ~9Iv8ANXed&$0Ed3!l9G}zgfzr)p0xBSle17!NdWr9 zFjV~96ExnwiL5vJmT`(z)N0&a_~C8Uv z1zUo63#|G}DS%)hb*7*aW8vmSSxot7fB&ENpXc&%Oxvd5FEOeCXQt@)(F$*CY0G+2 zQS0VmpYB3sA?fifwTf;P8e5tKLI+J8rkGR8TL89sA$fUv-9o;VT<5;~0~e=5n?*>& z4hZd@hx+w7!u!94HK>}JwqGt460{&?`U=0(>NH1Y``Ll_A+H>$eDCugJyTT?@x#qI z_M3H~3|zUa1O~VoB_-Ts`KM2mwi+?}+poQ$ztFi5(TC#!rLrw8v;%~O&tLzmA4R@R zl6CX)-4Sm6u0F}#5^jFPMawim&Oq{_;uJOEpxm6B1H4Kwuo2)fz5T1ZZ3@q#oN9bE zcI;RPr3kO28tsfkG9rs*9d<0A6;%F*0As)2z#&5@lf-~;EF0wEM1c+A+AODy`d$Sf zC^LGuwq=&bGxjYfm-MX$dMtVz5{Ok`L0D?qibz-SAq41y5DE!dJ$X$)IybD`EhX{x z?OA?lvZP{K7P5KURYfDU#r9-IwN$p{J$`Zd{^&&pdx^q)eg8?D*% z=UN(io+iP*ecSq2OMT0H^EK~c8%gU$07>QR73mU39<0XNzw?N4OB>*DbmfpT0La_I zvoHe_S}@Ribr*YnS%IeNl9rXJgHsY=j@ee!`C5AyDk3JIk$f!8hIJ<}K<-DYCr?(@Wa3yZYgq_Wzk2rk^TIoI zYJ30IyGO$EBcrkpjCkIz{t^EFfe~op5AoFSYiCo&=!y;<$_0r#A_)X4pe%zS9X3lp ziL;A&FO=SJqXcuRHU*eYF~W12yNp<+wA%CL&G$& z@%COjnEe7@Vz ztNxev=Qm@=xARhN8Ai2m(_rc6;7O-Aei2OVVVbD=xAHFsg^r>{_`Z0n`}(t3R*e6o zjlgZBY<0+^(F2s34-{$l05QT>oZM_J>y~u=v?dSOcEXkT8lTINU4RCulu%}zm)wb| z$;GvAjMv^@SJS6UpSjm>-lU1tYVo#%YRPfU?JFTx0)+-p%?ZYp#qMQ^gJ=uhwwlL` z^M-~W?WnjT4#rSss7)LQKZQ93_VIVtPX+I%{veMad4*C{yPz3}1M5KLz0(ELZO`Y} zNoU`9g3Igk)w;Th|4er&5*XqjbaCMAB9LJjrKeAwvaHOdBe{vgi8Kcn6FMSpGNB0x z1ex@bl`E+VW^a2c^ipsnP)dH-H&`PDr8!lzU)nG{_L)`j`|rOS4D_%^7!5KOqi{eo%tuAMupvqOQ+#i5P$MQRbOky zqzI$|V{9;@d(a}?3{l=>ShcLHNwEE=D@Q&)^T_zNbZpIfw}KBdnu85CcEW^UGDDK$ zxVDzc;DPH*((gGOe9#9KKV(V8iKoA5HKnyLAd?A%TYysA!8DR1jmY1?Kq&!n&YJnK zytFL&oe52rdGQOQb96BzMTeD^CiE7d*Wgy!$+Y_W`1*P(*r;DwMcpFiNIiKcanDSy zgo$2sx6+mNT4w-dgCjwP0zhDE`F(LsIhAO{n*!jl=;R+pa)k?WC@2y>)MUg2Skh=sELcyEtG?^XTg?*07xvu$)2v5W;mBRM(p>`A*SXFbEW zcZ!ilfC4K!K@G8l=xe*brxHR8pBOOMX{VE+IpN5+hH2u*p{jaJd%E<{UR(<)cX>s{ z^QTWiLuv5Ah=KEa?PPZj;_;^^0cLkQ2?mEm3CHD0`MIG-&E+&iqjR_dJJQ|AzH2xF zhzGzy>jTvzwK3A5V~9>t;00DwP9=a`Ksx#+>}evE=Cun{3B>b+lQyFS$;JcG*3VrV z-1VB@4+;8!q3zTSw+rTqcKGEAYa~A!Ml^&wVUO`#h2})Trf2A9>E@>1Q%%x^l76M~ z!R?RleNLLQ7aV~wiFCn#EoG7bbTZ%)X~6ci_p#IoQmFhr@0J6#lmE&$8@CS5{A_Q@2NC$3^5ijdQ4F+OQF_zjj(01D%IZwfX2mAp>79$7%^>1y)$6Z}>kz1V* zoBuJz3y(fzfM-2CvNAJeIF|U0s-EbiVt5V+1JFS+-KV?QcR-?PfSkduU5xD!khecT zg{GcGSzeDnj93EOz0A@EpG)KdI-qi|c1UvmnMG=M z1LaloH#9KVQ@LjS`k?~`c&i8S!#QghHBm65>ZJQKhMrON6|hO&ZukNEt)0w+ zIn<9=*5}ClZXzQ`mc2=caeHIPTdl9EGF?tFaQfUipzsKqV!Mk$RF1VBR$f`@<>6rv zo&}68KZITsK4c412lxC}Vt&BmTPB%tW2I{|n;A#XE~bASO?Ti|5x^gAT`WO>;ygU4 zVa2*M_qIh;pYhJpv&p?5 z<~Yjf{*#Uz$E2$qM;B@gpT6A*p0j7oI==7&m^;Qa5rDS9GyFuLI6RP%m6_w8LL6zq z#+`ngOpH%1UAjk*pjoB0wIQydOj}bk3W9^RW@%-G>$sffbDFW3PSoY+pX=r(!;=VP z1>H=gb%PUfot4SAg zaz=@WRPi)up=XW^>YWk24s(_F?#WO3QIW}$C`AdoK%30@fLXbQ9ly*-V1;kysn20) zy%ckb&Fgobx_sG4%0tH%T#1gy8T4<8sbCDVcI_F-m2mlZPUIL>mX+PSaibBWhmwpy zM}s_ViXhM8xX}PF2!03^3ZUmiR#{vw@D+=-Yq5^hMnbthBOoYvJegTParOmQm8!~w zA*@U2PXla$Y&p~~CMJgDgniig5))m^phHi7YpHV?BOnIm5**0qJ{D_m+n`8O&OM<` z4?>Ef6n7c{i$&E5kp@TCQ_N@4hsA*q);?S4^3BdJqw-ue(WmH5L@nUDTX;CCuyC5A zr4Y)A%9&3bH*P`W;LN{MbG8aOWbTnTgOIdkrKNosy}rZeF5cy&Ud%t5J@UOUBjDrM zkHQ}CZ`LfeUSCGEs>#KJr-}k?L*&Mx)2*l@86!sBxQUb3^XC=eOT4r@gB3H-WM?5> z9w1t5Nccz+kJPJEZp6D={qmKLt}aP)KZVba^LhFkQtyVRzu~J7CLv523J=$4HrRI1 z{E=fn8nNM@x|#Yu{Y`OscE^mrh}l43g9Z+~1XMz9k9Zu~s6hBuSPi03jGy14ZanrX z%GBlt`?iL>w$=u$+4AFBOXE=AY~5NYd_~Yjl!xaj65cws09oz`eM5N@ZQs`V!{yi5 zGdGbe?9PjA5d;*-I>c=se!5tW>V)$Ek%0|_sz99m_S=s;H4uRC#sw@WP$yan?>Ueh zwmOLx1g}87x{aDU-d%tf0ae<{jqUj@b~_94^*-j}Vj;SbE-@5X9PJ<|d=t(3jMvyW zqd6833VY)6g$vBX6(-Um45#(3sH@VK zU-`YAM$swE)FR>~ozYA<4mKTI?EDhRX7Q*qOSw(vOL>)Zui*B)Q0VQy@QMoq)j_Fb zJXbWlr_iDmKytW^wKd{DzNu-{&iwJpPBfPKrM*c_6(7VPFQHFw;|%R6(oNr`ELR{J zT1G=dYY5n2R{(GvCewR}af1-B!L_x&2)T&x3G)0_kbeJ<_J3NPW+@A9h)g+6CR3&G z!o6#jNejLq1Olc6&L9TkBVFHp>Ry`n?SR)Su+-u4GBS*J2OSh$(u;awFE3vSF$35Z zY48{s85sx_fOH&kNF!LJLDzpnYbnsLoEr zVrDVcR;Vwka7F479&r%t&2Dy2u&gO~i1+WWwtoHfRTELpRP3ui=+S;R5nF!#cC_kt z6C$gXg#~zjcQGCVwLX39YyWz5F~sNr$gjKVILEzY>1R|6;q-haSl3T!KeUGyacCn0 zY@Ehn(1f|xp?;)3#0bG!$!j;bH~&f22`e9X{kjn1EdA3dcsVF zKy|{JN)wv-zk|(*Q=SbQKAhZwkMEgG(&}XW+vG^i&HHK4fG{rZk2?$vf`|G6`C+5) zt}3QNA=B?_P|ynhwFqTkk&zAJrK7*ml3D6y7LwhFOTf1W~l$bikk(eAObgN7JhiInfct zGGwjwn2tjs{#kzLw!dwWP9~$scX3U<$G|!2-m)^os^G}Zm*vxbi2d@ur;zj<+}<@s z+d;ra5%~!^L4sUkAyWG`MW(<1<2mVj1mU(s%|Bqs_ocG zTX8>S)ex&^f=*T_5y?%pBF(nq5|0GmVCT6hcXTG>!X~tg-(m2kko?j-q8>md7*wc^ zjs5@9&z$?MQYVn<3S_%~Kc53kio;oc*gI5I7@-s0Jyk+N=su!iJELvPyi~nd`OOL4 z#2hsP&!)Bk-zo?RDEu#>F1vFn5UTWFnO{{sTM{(j-kxFt$7_A;DS(-egq+aI3{>%U zTj-J$a}nj6+L30A+QV>8DEQu)$PhJ~F0tnqluUADnf?prg(4GH)|yMCi`&PFC9p{W z!fR#7t3EDvhViIqxT^hg>d((Tq*IK-1J+KC)Sj+jy~z5Et3HJQLqPgYP=! zhpNOOM@RP4C)MRV3cS>ZX?V>%^FlMJLkqCwA=zpoCN1oJ>*FV)m!O`yBoh)7lhbm) zsAW21EK9&%DjT9YmRZE~ZwZ+7@@cNWg? z^FzP-)vJB#ykGgwje>VkJI6R2>GC<{r@yd-d3v~_1AD>3LB*(*yx{(P^ztjERpV!m zieD#Tx^m(tX}yi?Mo=t3dBKD{akJ@47b~~PCexydM%8Ausc!0;`goLk$H4Ra6=yG8 z_zG(QaoyKULMo3{;{rxdaPq zl7-|I&$I=L78&P6)v0bJu@xqW38y;E@)NLDCD`MgUbl<%2}}pviG$ROPAF9cv3dZ?)#=EHnEK01S&FcJ%HvNL78RiZ0=XvrN`>k5OG9_DuQLTWXy;RrJQ<@~ty2{f+YbKeRWt6gi4W+U;nFG}gP{z~8AJ)9Jy~**jg5U*{KmE1g9z)r^ zt!bwoj^19mG37TKZ5xf0ea~Nn^Q7DAL*42Rp zj~rp@+=9klX^$Qi!98+>^ytw8$^D8IE9{uFD;O$JaSN+x`}PKpYb7N(NB&K*lTq9_ zuxr<@aaaW+crn8T7;>jCheN{~p&tx?!bvAu=mcXf3#-Ob;zS=7>RnB$Y}rwz8BhN!wULlO#zgErbwd zOVUauX_rdcp4T_R%zfR@{kwn9`Nzd&sI%|+S&rj;`0hTr$lMc$UCfNu5*PxW3V$M7-LW2x~ zAV)0?uEC&2#{~)E&=MoDP~%&FGS=oFMKCEn`xFck;t`cx$`twC>Et&X#(*(JO+P2UrHk{A-m`vX%^a$8N zS!`SD*e^3S&g<*3_PI;u8~+1cN}?Og851O#tIX1i?XDxlPzkjky*ite+9oSc1W&U2 zC>g{PG;;R zCn57>^q08gicjI6Cy5;y=-0304@>vR_Dxf>VrN|p3WAT&LkE!T5jijLSBN`!`BHJv zpn&t|JIW(2LLvn%o~sqWG9cpAzvco<<9vY-5Dtzb5a}O$oF!byTz?SpZy8&Hrd>NX|MB+9Ex*>pM0{xiz=Gix*%;aH+mBUd@Uey6Q2g9{%caLd2b;**imeU#T%Ek> z(e>o-W6z(TLA>vMV`UB8_jYOCjnNB9!w)YtXQm-x z!m3#0J55MtX38<=LNS??&Vjge!@Q(XU52-qASNq)U0^+NQ^Uh=rBmjzme1BSTYK*F z?DQ?w6LX`Vy?ehc?yoghF8uuC{QUd0JCF_(kGVQ)g{&*o-j3LfYF)>LCY5X(c@e;y zu3}$Jdu!_PYqj6Op|+oxh>~`CyagRg-Io8cdB&ed&s(ik5st#G6Mc0Rxz+g#L_*$( z4f?iQEz1QizvYDWW}6*tuCC`zefd(ddR5rt(ck%YKfg8M_dALY|7WZsTH*{)0aY95 zLdMN)Tfi_43=CGTd;`2epiDMFu;5dG*E=(?=%r=@l4rIx^8k%GRa=_s$>ZwIaOvn# z!qPKoRv9%h!eOceyJ$#F0Y7d0+On(s;WTVa`4xu3L!M=;&L$50caR_4jgQ)E~JDSTmu z&mAy9?PT%ER_~8Cel1&P_Nis+?HzXaJ@?$MKInMi$Qq7=hyxGa{kPxFxIb+QnH|p| zqFBTN16ES2q5BS5aF}}P_;G8rYCDr+`w};g#2C!__Zr%!nWyK%f&uypyn6MSNvH@6 z@Xj4O2M6#oG_4GJ!Y7itCidpWVgrMB))P_BZV6IqACYl!-dPo*h%IO1_lh-PoHuOJ zmRIh~{9T&-F70$o*xD=8BLApT+!tH_=+!SBji$TVS(#|3gv(h^(0C>5FeTzaR=p=9 z($?3GXhYsL-H^o!vdC{@?2wVxdQ$RtV#jisBaVq26ik9IIJt+>Ml&-+cm^P-@uoSw z{~uW>k-`6ka+^A|y#wF5|89v+#|ChgjeRx$Q{LY8(W^pQMVG>R&s;@kB?#Z^zvNi{ zY;l$;f61U2ttPhvIZYd$zOnpgy#ssg3byIN2HwAYCaI%3BjSeLvSz3bLte}8QZ!l=h|#X|Yp@^|<~RN^B&I>;mXv@Ln{^vM$; z8w^0MC09TiQ3n5A0C-52p;#B2w`9qBWofFR+}1b2MRF%Q;`-gv(5OKi1N)Uj)G=T%O(ixZk2vfqS^Jx z(%_Iq0fAdn*3WkjOIs1(xbB)(T&DT@((XD3J65{Oy^Stja7;o+sax+3UnD0tngy3$ zFdOCGIj;P`rc?DJWA#eM4_|rzK_}0(Ss~hnX;$xj0&;%IACo@$Y;{8QsXk$bN}ipS z7k{}ZZ`3h8(xv|I$2Dhjme%`b#%zgeJMeBhw@z^>PfImE28W*sO-)-?dH>bv#J`o! z9~6s9Nh`K{9B})?fy-SUB<#Ak`#04n-)V8-PS1^_pJ_gt{v^8VyKOxKM@$O#nW(Yu z+^zC!p#}FN3>?`PEmhe{`gbFlJXH2hriT1>=f49w^w{Xj&++_nVrmh70#tZvb%uU{p;RtK<<|5`uzSX**DI4ma< zfUwcmY%XS8ghm77_kHE?;l)rwr&}^916tg5q+qpS30hieIB(w5SFeV6fYU-|k>6ct zvSf+Z^CB7G>)8)oV1QUuH(fCV3W>bHIlC822PV3ZFYG^jK?Mt#BrTfUKw3tNI+ zQ(LCdWE1JPPrCBQ_l)n<#R5C=^cY{2CV#{8-opYd*mQ&N22%V;c z_6bwPs~y(nL`*zXo6=8iUiu5g-x3GAKhac^Uog`v=cI@7NTtu#hDr0gG4}3w<5K?Z z0;dDjzi4SY+lgjj2kzOhptN9kz@xY$9*6t%vOb@!vgsq_xaC)E4c9Ag+Ou5VbIR{^ z_c~Xre+drHd61><(51p`YRRAHuI#@D`{Vj*`xha$Cp=Tb8yen7UUw^d=~iYit+vwx zNpE=3)$4*K-lpl@(bibAZp!=(J05PR{B$v*)}ZO^mCHG^r29Gf*Bkq-O<%O8;|sgS zyun?^Wyo*?I`>t7Yd*PHui57Bl&LAn`av`2d+REmNRexLN6MO!D_Db~c(2j(=3l1Cc?#UD(=N<|io0LHZQ8aM=^BUvD z?A(mbqGeJ^GR*w~D+GPCDU9pcW;9)t%pX3OL8!ERqZ6RNgz%y-nFG0;XML| zOg(!;R@=1oFsgTmex~=lEOyMezW@+U#Tna zp*6hmxEBJ9hFLrc20H*2!4xG7=sc-4SKDZT5?YWqv*_yk4-f37bo zlPmm?I916{4u(X+#ktM<62-UMHb*$Cn=QC+8t0_Ybd@ppZU4}J)m%R%b>F@X1!F?D zR^}HT8(`ya@xk^=${ZE6`pR1R%N(1YapB(YpK~ZW*>L?yE!*=s-gR43?>afZT=XG5 zJAG_LPU~1lcyh6u7}@NWxGeKa$`|-p)iV?T%-4%;BJ$<)x*Rg=lz%fj*#-z)T;2(KWF}Pp?|4z`*Fp2cY}BZf zM~_ygm?G^Ponguj;lRLGx!aK}iwR!3+}A4JBQ-QM#*Y^g;Mi}?mHnFGYTWY6{fL>a z|-YsKkIk`2qgC)dXB?1Ct5&h9l zLjkVqfHUZPYsV;^{Q3R8s-^0?p4XBZ0!K2FMFD9 z&u-MyHovOtylim?`7sKAM_wMJ;O*;F(R_LK>ynhf+ZTpkN-}mDC;!*=EuTZ{c4|(} z+v=Mz{P~(~Blebxl}C=1+w{)5yxO|2`TN-MRW{$wzt&%3H)ck+z4Aw`)~}bC3E{(> zk?bqRWhRryXshIzM{Z5hNsB3KYlG5S{{?o$v#t!DZv=E0ozqw*XtlLJZf-JJxo72+D= zhH9!(V1hE1yoy*H;{lpnEW({wl14^;kUJkdpnOUJn6QCb!Rqn$F3vQKg*`?3C!Sd@ zplNg zntIIFcVk%k@}t0*OG=xf1Y95Y2B2l|#dMj4=FBmr7OBb;UJse{|O-0lPP3f?ps9E*4DzVGs1cW zDhI)19EH91C2)glZ~rn*ou8|bZd<6>1COti_8dgsG_OHYGl<$uP=;U3!K1W_qrLwh?MFu-(NIlo>Tr-g3Xg!Q*kEj~Sq#L2T*jjdZ%+CKh&LtCi|)%Guwn{%hFFCLrVc*im8eY?rc zRddrT9let3K0I7@f2^MFp=ELQbF)-bRT7L(tXcPZ*Av(2!`>b`8GNsDMvZoK=XV)H zOKg6R?A5*9rDjc<|Jg1QT{&W75SG%`J z^&9QHH|9~~!v*CPpF25UjCo>q-)&*Zk{-^V_pQHW_2yCFpK?-5FPKlvTQpwxbxDb= z_vI_Awl;3t(m2J@;#R^h1)UpfiVkeP@oft|Qu~H>w*H9mJ4?Gv61kPN5#@)vx0!W% z?s7gyNMG)nHLpy|ECrj0Qo)+FUQadE(t_++^(mWWl!my7ozIk(~K~SUjd7R~lRuSyQSh-}x z!}t{<&akC(hH%cU+rnxQl5hocO(CrUF2A31QyuqVp*Vm5lwU+^tUVS#?TL`7xWI{8 z^YQ)riz6*pvN$DY&zU2bhQV-R#r(eO4O|L=_KC{<+R~BUgNc?Tvrj#zu1m)2RAII8 z^{`C@leSVi9})4aVIN84{oBkC{jnedG$i}xw%>R0=v+i+u$RIH5a{vv<083%3J@%L zVSB=dl6wy7^WT4e_>dZ8AJarU(bjg*)PO>@C?DC9WMX{qSY$MG$dKvNr+>!&gfjeA zffWw{UNwo3D?=Bf?SkgwT66-vl0e5wymzmQjOt(dfi!99`z~;Px!F`fE{E<9AWn-% z&CDkU(?%`~UK&A&QSHz`!N!S-j^-S6U1w=IS5X-5>kX6&zjh6Oy~0~83HunPLAtYN z(?&!0aPRckXSYlDj(Z-jAwG9yd)Vk~xD|m5I97O#6`#Lw;do_bWuUngE2w}=0e`=y=zPu`EdTCrGd6wd<2uBkNHZZf{%!D}|7P<6ut&ttK)McI1#Y?gEJtYHnC%H}^ySmHKP60aE znYkf0r(~KWB)5K;JvM)Br;}?uT+dzEx2FAcqmdidxace7Zwj9M$iKKb@jzDoi@$QF zQn~MtuD^J8X@QK2P10Gdx&xZ=7)@2?2d;SYWV@Jo# zRUtcxt<^pI6l9%on3AVD#NpaKYv%kI`{(EYse$n6oIdP=y5V+SB}~9KqgAsud$2L^ zlZwC=j%|dEifqrG?>0vzoj%zGLgLV&t}gI>d@$UTa&>u+bJl<}Or;=Y{ixZfg3D$b za%xXen8zFROe(0V<4QA;R#a7u#GMj{tgc-{fC~;<)hrPN3S;eMNOkCzQHLlf z+}0dI{xu_2{tLEr+QAe-ncHSe>zbi+`=JqO3>2aZ!#ezGPE z&96{b7QcVb$9ow2Dpyx3NgCSGixrNbCZf?lx>6cGGW5agLvJSeR-U}GP1-+&XUh?% zEGCMG%xM{rFPT!(bta3+z4=$Vur=lf$vwkhlBSO!|q zRWU4esz_g6PwCw#*RC!L?Y#$|cbTp}W~J}d?W4v=ICRh=gE6V7mM%l8hrj} zLcV9l-t&DYiHgVGo;vc_w9C~|m$t@E(KhjGD7<+;$8Tet>D4kjg%c?S%h#oLdwT4_ zt&K~&Ne1h7ws;?#dV1`kWfxQmrZ%Z+e~4I{(bm)`$9W*-rA3jg=KV(Jviubtt0HGU zNR^Y!aVS2!MR8+I)yOZCyn5|BT_zt^b!Sxgs9ZTH_Y@uM#(VRd=^bFv??c>pt*jHXF4sg_d)3;F)r?IWn}74MZL8hfw?~(okr1Q4 zV@r7(Te#7hM0#!+{3oI|)q5E8B?S!M>9CjU0DB6-e#BAB87AAK6<0zgu4r!j^h2e% zV^iP21pqDaMqN91UJ`6TTB`f4r}I+c3ZW^(24n*9j+rrz5OV z!;b;_>-AC=#l?^LQE8_**ujCvw1PmY|tDr_>^AbO`3>2zE9% ze`FD%?iUq{8jbE-xzC}JN@YmJY_yVDl)h9ZF+Dr(5tL~%GM}odRy8Za0Yo~<+td&I zw4%9sMfytWc3#|Ar{`XgOw1XJ#fz0jR2H<@L_^gRiV9E`nXF@LaeD6kH64xE!t5tK@67h-p6%-{V{7Xu0t92<^b!J=!nk zEUH^o)i!*4C|37(sjuDYsuCR&>yW=FajD`)8--_wmO52g|0tEN{JyO@6u6SnZlVXrR6e{KxvTHd+1=(Zd>nQ4RO}4z?R#&#rB-W8 zl{#FCb$&N8IX2gs>wW@&*0X0O zVd*~Y;Yc{wq_4&6jzTZkV9Sk6TE^(Kv0J1R*zhXe8&|IuDS39q1CFv_(4e6n58u35 zsbC^~9{GskvAWNnk%Gc_V#v~^bLSiFU0oVSynY(qlOxGz#z6MsTdDl2I=7xxZYz~m z!A`WOlIZ2^?Cj~XVA$4vHocldZ7lN2+^ElPWUA{*_3D-O;stjvU7to5W9fUEyJlG$ z8^@c3{*~0wRv4x7!!?rnZXMT2-gnL-c)i$8jDLsT)bd6qyhdt8`UCXpLS3q5t`0PR}hQ;77af2?-SH}jNXLEh3eNU zdigh{_IXh{**$La=;=x?+!o6`et2Pc$%G!k&GS-6k2du_{c(I;{f7y!%6@xcll3J# zZiRteCq>1Lv~CI=Pjqs9-@MRPrMCBP8g5S3w?}`r%6M|Dy;A%8H%Ay`j11fQ&QO(G zW&f&2eJ?Ea=-Q!vZ(^yRqWw*^J)4Zgk8kVjb*bC2>v2mL7ZmRDaNd|yW_vI1@xhOt z8d3#sV*FO_`stDtew&*dquxdm(3`Q9CuQ1AhT#r_e_iW#x!u^+hm#6y4L&x1?EH`0 zp)KncIT3g}cRPCijoCMEKsXH0_kjE!@C?NKM*H4-SGreNhoTt*=HL{gko1@tjw@#9 z;u0-QC8aWkSxX`<<^5Augqr;3{ZLI%J_vE%ix=O|t0dt8@;kJPNH|A)jnU%W`t-5K zH+_%JWQr%|52qhuyAXGx9PssIG9q%iraOozh@G@4l_hlPv&6`3QMU7(F8Ij z7(aTn{E_MKMO9_o(7|<;I)ZgaQh|n?lZXns;?OC~|6oRz+4iXIn4ruNkDI6M(K{xg ztJkh|Xc!>T6w1IDC2_ssZ<1KM6qS}X_USfTaXy||IDya~;=qGg7{zxgn0{KCC-QiP z2$naN*N6|^IVpb5=B`txOyP-=n7(YFR91}U_robZZD;#@0j2C4u6y*t+VJ@*4mlN( zv-16`&YJAHnUX1eu=7VHms;n-=gCFCtIyZUudXuPTvnOZl$q(AWHR_e^|-WEE6<*I z;MKliVRCT3?D^somu2hxe_NBiXUodx!6so2uL2_u*H@WVJ`WglW~XFV?-%wR=OnHg zt+d?Yop^b5Y2nWhH*4tg%TqVhcaTaqJmjX;;JR{+AKNN^f@{JX=o1gtjho2=nYnQJ za`M3#{H>ZqcRfoPDG`?52+foN*_{;7G?195ovn+mx8A$52`L}C`4#;oRFiLyXn9$m zvu9Sr(YJD3A55)Y-G|O`-6HGn=S488U)_gRrdf7h4b@)lLyzIJ6_3pwLZN}QS#%sq ziS%KhIv*c%EF*N}C1?EaFWL0E5E8ynq=3Ab?Ov7 z+#^2A3Yj|;;Q)Q~Zp#)ftj0`ri>eRrfbJJPNLV^5mm~N+pc%pa9WE)dJ_S7OSY~bm zAsF(Xa1UoVh7yCJ5M$P19{XK9WEE=Z+dO;4413i6>`48z56srJiOiD|fng(_-h4r20ObcoQ%>dVcMs z?PhnI%GzyPVrv{){ajnW`XO{0e1jU1b!k@txLPGS0d7RQc&kTb}Bn1W6f8yP{9roO&)Tr$*iE>Wx z$9fNs>)XpR=X4Sl1o4Zs8g*)mdPUV6-Zebi*VnE_djrRx^98vpwLj{e)_>IcYf~tf zGXANR2#d4nvi5XG{?jH5^eXRT_>+co=1Gxpf6=KR?2-*(J57DL3xWJnc zN)w#qo9mL*%TY808w~H>5syZ4Sb2=&aeYB}?&Gt3-n>6VbhdR>{>|8V%5tm%QLR`J z@^oFkRUOjdMZrtM(M&5?>B^r0T+R;I!LiH88ZE#WaZKf|+f|zEy7kwBVb~dR7O ze|j=G`L19vJZ_xO+y4Z{p|(P^3p#EuE_GzN63taVB6aNM3iZ<0m*c8$%dzzj{_C%0 z7jP+8eC*++Or1M*a-bhTe$TOkLyvImja+hd zcVZsx$YjN1H2Rn-6m#9a%9ZPSpGqzjUqr>ED|J+V`lE{Y2Lq&0U0Kjm7Q zIF=`W9sb{fXEbVXVosh^g#oSb`pU|-o=Jlg0v9Z8nQ60VGj}nN8qu?=&N0TwU6?_A zd)4+Tbn4amfBtX3R?I#*VUrQ+4M1j;F?3G|ieVoMBL}G?3x=VXTe}a|%-3EwaKS@m z@xI5W55y-SFi>y{8F+@L4XN{LoGN_J)vE`3Cyu^*7Q|Cd_s~5?t_lD+GRe&!`W1|J-6FShlCqlG`mpp@&E`;z zc{B8a^s27YgHo@0xlSJ_6*{|0^LHAp2pquGCS3XsXz!^1)leWa|4*;n3=@d6%{7~v z(XM+QKHUGvbd=h=@ZXl0MaRRGS}Cb{EU*gRk{roU89b7AFt|O30!l-D&WCtsg8RQ74fZtw$XErp5l_)D54PdUBWqbEpuI3DnU3>P8WeEu9DYvm<|-tmdF^69 zcGYgUlDPf*I;WQ06896Z@!$WXpB>(;8||$A*)jI)-3DKY19xSTuZ=t%xm+p3q-oAk z6sLeC!3OGCZT7D8iGJW9-bGxT1IGG?h2Cd}9X}m3|Lr&GdY(HQEGN6^GvFx~Gvc<5 zmjj*`;gq47b%*IFbfnLEP3nin4gvx~B>U?ph6=F{0-z8yl4bW!s=( z-@nJ_*LJnh{J$M>=>fj!wbAW%G@HH|r4^Gi==)#!`Wwe(Xi*Cep?t?1q+DYmxhF6y z2&vGBUCOfb^D8SY)vUU*Y44m1?ADP(hD5rL|Hqez*B*i@g4!fQMuW5=BEw>1wE(9a zmZq*SJdl_-d(kdxiBY3gL|DlBrwmr$2Y`3QKiQP@o84U0iJ2?+QmsVmllSuNm8q88 z_{~_h^^d;(nrj1F9_?k8T34fiQW$pGJGz#dDziy=hX-5wqnNmVy}h=^m?51xV**;u zR2z3#5sqBd!Vn#}8&$6h-gYh+XK4Yx$&E#SgI?1a*N6x~Bdubh;*I}(4EGQ%GS0v1`Ug#qg!s#*L=^o=(IRXQ;q!Gk+}io~1cdL5tOrST z=*x|WKM;mgbM*9R1>|}uV3IhxFh6-#Atj5c>9)+{XFYFWwaR?^)k;Q%aDO;T;rvjv zl!(BTdiP#}PPM!|j(4EtpY!@P#XaY(>|I-HYrIh&0{-)0k%}|CFbijkU;>YZT}B2c zF!A5p3YY=&O`B0)&94~eSp13a^Ynp~#~59@EI(RdcT;#v8X9u3L%*9;S*BoZ%Tz|) zd6;S#y9Zf4QmLZxJ`!7WTRRNng8YcL7O{mY*L-@=E%0+UK-Q^$gW zLk_5HALHi&>u$k<7kHN=l0n@k==vXL&HS;4cEol4T*}B&Blq4`avRO+cb{;P{$q!- z^6dB8^-jIMUjg6#MTPs{F#5>S&^ayGA35U>Fk$2CYZzit2Vy~_EZ$8<=8;WDOTq8v znMeG#23Sbgq8DZE`s>P-Cxa4LL#VSJuQ>oKi!p-E>HcRxUEq2gI|iM^k0BBfMbEd( zD_E_!G>*uSorO0-FC)7*4mtIH_2(}c3~vnZ{A1OsyiS;KvPGk;r`k1Er)k#wVOhQ% zB3m|oU7nuPL<|i1ijYOX-ZIc;n=td%_%3o>-}xPbTm#;SJ4|_fjdU?1bU*cT!8fU zXPGL9*avhwC;j}A3#@|v{#!8T>fW*Z+3X*a*EXN0{nOc1SqQ0AA*G4Z~712dP zGNJ3Z+VgfPb=uGFPpOS=P3LG`mphynpwfX*ih~>$B|@v_TphGR62|*t?sg<{^>($F z+a>35_`ZF%D?TQv0ooIk+^J_J#oED?orsYwyM#Qif1a= zQVIX_0nPWrC3c_`m41bthR4jiazTi;XYdWviusYz1{XQzWbRTpG6b0?5WL$mVRKz# zoSXmd9dwacC@uj3Qz+~R{lvKm76uKAVT}D&O!J5mlusaB4C8=TXP4uCt)}oga`P%Y z4>Iz%lj5f#R}N?=SGZqvX7}!P3Nv+ev0jc?q2ivnO7D1Ob+s>zt5XpOq2PnAs~Ekt zxThqw;e!GzB~OR?2S2uXo2Jv7%WQ@JU;FU0aq-;J*rAPy8WyAUl<&ToJ?6UKgIiZm zzuuk~^>WjtgI~+GsCFUn<{;6z=WU&s#oY2j5>Z%qIJw?mHx7H!YLuXaeOhmm_z8h( zS^JiH;1ghY3b+YyBVGy&T)7LLm|P;xY*>ZhJm6fYo+Ez-5l~^JlBSrEL+SWhaku~= zk-zTT;erLUu81>_2t!H%6%`xgr@&c6nr)YNf1r8d!{+(PoYWdNQzLz~#OSkWsJNTM z!j7dB3ZvYVlu<3L1sWCsX(~z6=0wWqV}u6DW2T(@G!X?oXPD?tUge*=cDde%1ZNT| zaYUG&w(i|FxqajPIts1=zH>ZrkYlE@AlN_~t459)fhhA%&SwsBeqg${jRc#j2L6Uf z#9~F#tIyHSut{*#l$b|46{nQ|uy8Zbr7>dWo)xH2JQ6kom5yM=oEU(J*pC`e$j}Wo zh{Kz*I4xvt8vR}$X=%&L=OFLFL@L<|NecS;<26X(gM)(l%F1fu$+dOs`1<*gc)6d$ z3e6-G`_B@XV=Q={BCA}qx&;So|NHN>_P9u?DOl<0IM>aP^-f$92J(qFiUe%LJ2=ul zRu-3p20tS}|JZ|ZqenkwT*Pb9A|_&UMBnL%)FIJ*%Mp*qw=ICP*>u7A%LRbi=BD!I zY>aHM0Qfo!w|sLO*RbpSz^Fnuyc4H~byN97LkP5@A9yV;&i@dJVIT{8bZ%)qUp>I> zM#B@#Fpranjt`zo^eIR}4E?(6_<( zg3Z3U#mq+a9snZAnWqHGo)bfAmO|8Ou?`*T@SslLaDBieUeNcJEa@$oURuLc64bfN zzPzi49jqvD-2s!Dx-z*fP!fyVL&zVZQIQ{)g75Ik^6 zN&ghvOE}La2q`Nn@dc}ML#eA&jatzgzcpOlBUVl^6(@qG>%1TljU z3^s=idyOWUYS6(lY5}aB#hB>7dL`|iSda8u;0U(R`|J-*9pIVdj)Nw}0Rx90H{3_! zpXK`W5dz2XDQJ2(A&wkWH*=&NZb{GJ-}ggS2$HCya~q4o8-)4T4KabitFf!6YaS|FJ2_-BLpiSW93UL;`|cxAPLjL;On74 zq%P)>H#X<}o^c>YvqQAc0CzY$-j9W&a?5BA3=T@ngk5eKgBoyrV^cznK{bSto7^tZ zK+hzB9((WJK&c15aY=miUBz1(gBzwvJ@J32&uPZP0PnR6m;ppZp>z$sbm?GH!PTxZ ztXLR+05h}pa<&V58E^=mAKQ{u2$Y-iuVJ^~RqT(u4tEW6YIEe z+gn;1WMaK!Huh?5I3+h68}imTZRW5PjDVDAHT)NAvHP@E<_tgjJSN z;+cuglP^^rO11`A?;lwsq(OWcwTsI(E;EIwG=mpGev9ShbzKr4N(4jm8@%r?@{{Tp1q#`9r zZK1uPy0VfcT9hv!u`tji!~kw(Jm9_iAoIeBox$}X7Z=z!lPNAC{Z5@am1v^}t3OH) zRQM*4XiT#oOTi&GPCVgC@T>IarrkTpm zg^f`Vj3u}cF;?#C02&>|#6FY1k#*sxh2|Jk@vS7<|M-ll+!z0~_rw7e-;7Z?@Y2+h zi<@RpdT)m=U6g2IhYWeLZXA1<4FFV{#6`-5Z4kV4Q1_04>j8wytz`dbH`k?LiNVtV zt>&h^LB1AKv#gkdT>al#!0i9fKC)N|rz>omimNskGK?$CXr>S3UB3qw{_x>pO3K=} zC&-Dof;qV;r25FoIRU;DZfg3e$ZPrGG6jmiAcP{nTIV#+=yY>dm-sAv=Y)8p?%nSc zSS=iuN?C~saGrGe`#<7aIRzzt@)+GxZE-A$?MvX2MX1e7RGTe}+zDMs1)`U)O1X=&-`iD28(q$4IdBj8zl{3P$k41rvP)AsDy zJdQfj2^1BlV)%4uYND~L2=8D=%Im!=IYF`TIqzGyx%R8~dM~%|HQ5l29)XMCf#)}np?AD30l2pqR=&@^S z>oNYeyGg*O#5`>u1Ofu00Uz5AcjV(Ocqv+D}cJ{}M)_8doCUPP%H_O;YdvXqA}t zsUxNPU3}9)?fOvl#NqMV8(OyZF}bh#DfU~*SjPWhNpsi3(ZEz;?TG8JKJKZje(DiTpaxhY&<4V)S4LL zQ9Rl`$a^N&3o(2rF)>Rub&|kHa&vRx@SXl+x&`Keuz?hyZIx>;NudqjFWmr1LBqJSgJ&rtF1oQ)C?SZo!fzMN&lR)qd&Z>AAeA0P$|blCJfOYc^P3JK6s8 zG92*BvSXs@2RGRlDMeWo2xf?tV35uUzrjS}hUXoIj7A)?GpT^;9+?DbvV^P=7EN^3 z&Ph+;-{j<^bm`_QLX0NLmoqmrBZiZkD0*4Oj{{hzg-g0)v+A)s5|Wke9vv_Gvo5KV z_`XQTdnP_oFi*7zi=y|DoJUQaYKBO4utIbe;^bGOvj5RDH{|teKI!e9)Z}LS9R(O` z?L`fb@{-*yx<=W2J*h$5PD8GKqY5{vpqKJQCISIgfGYFyn3Zn9$%%aouO_aj>8FkQ z^_u7a&#?Bd2dhtAPTJwH2vVC|yRmC6XWTBVk{$U@HnZ2qSGn;6JZEn!F}3XFAmw`Z zZEquJh{>H##~LB0`SyxT<0t^uCCUnrzLx75{_{^afal0%@8niX@6{}QW{BFY#UZ9$ zMu6sjyj8Y+`LCB0jOzQbA7Za@+UZ&={l!A$83ZKV{J#zqWgW^CXZ@Rn-@?tU=!?YM2X`_v9C@vL$g(!YOy0&8hUT*zkNV_v-)BQaTlP0`PD`ar&` zcml>fOt7zPp)b2+5ClCy#`hhb8hAAmw z-=CbguxGDc(e1e9ah(;|!bhQ35U-w8Fff@ma${E1LXxbyWPRnft)|P1A;zSI1E-#$ zsHLsF;==RU5uctsk#GoQXgJOLvv8Vbo?6wz<}`iwf6pPu=~Ln8^nn7vvH}t#tcnEd z8RztiK<{L?!F`2f%V^(&S3T)~cnuZdH(i3>4xjx;=G7&m=5y zxuv+Y77p{Mk^=3X8St!5_2O5Av!?%$vrjLk72~RfNsus%HkePzkAg;8T*T3d|AH&5 z8{z`_OjV=w8BTFc9+{3UO8U#5N;8mDQ$TEyqo0KaEal3i(N4o}W`Kz_-x}eHKF4eI z7v^b5U?!%O%Q2JTQSk9^$#newsYY(`X<-+{XI)s-Z2#%rrglMT`zpoT}FC ztW3~&mms^_gSQ1e*;FI`9E6!~^AG*pLvxjGPq|$(HpK}rUvB&_&|t~WMtA!5PKUEk zBW=r#;EeE$y`CE^TnJ{mFr>x$-~37o!{U=l?OiP&Ku-e}IPP-A#nj|qKvr1cPro}U zw!Y!m-ZKL}(zQ1=UVf|O(0{^@u~5!H9O@!%EJkY^K3P3xVbo|ZUAbd0YNj37<_<@D zOYs9Q&)9Azp(h)?yr&^*-8kBL@C;ZCBYI*`>ub>_BgyJrZhZWXyC#1K7eJdfC+B>f z?o1M)+GDCHnB}ILRfB~YEMKmR8{K3kTZl!388yyJnrkiw2XFrncmcm;A)=l>hpAi| zxF{$K$?KQ-w`gjdrWxuPd{282VIN(mLlx|^U&J0jIwjP^D7Aa5&*{+U`J}%tt znY%=6Bko=s+w3W=pF*4d3JTdRWAI$1Rm&cAD$r24dg}b60rP)3us`^omcm=R-#U7% zms|E|tayUf9fdQz3(z!9B)63(=@SVJxtenZYc#AqZu97RbesZ?x@OHgV&_ygH8rP4 z*IvAstdY~KXLx$Y?YAaN`n&w~heDru{iT2Fac5T4<3sP|BNTltW>38A_44%C2N$yv zm*2b7@YdQV^5wa-2M=d%Fc|EmwqF$q$&noqJH+%&`kHhamiG6Vxq+Rg^mtM3t~ozw zug+^xx91P)tJB_Xi>(jykEwQF8ot4~_7uPl<7Hv=*Sv4XPQj*nG4>}yDuQPcU2niG zPzl=TmD;&g!K+UKQNu2rB1YkE zaqXHA0>FT&Pi2@X^Agr7potLF+vm_djPf`N_<*7R`KfJLv$%vVn6sN{Jkh!54VcXs z8DcfV?4M2;)|T&_2Ku}F6G=W@YWb-LWjZ*v_}ur6KIx+lqhOk$i>L%Nn5jN-8u=Kc6+Dqt13{H z>C%#IDBXM)C;}K>t0KNFE@Ln~$KjUQ9f@;RRt!-ylI{0MO!U1R7nfrZ!3~%F)Op6& z=a`##fJxqte%-4cG^adms5kc2zkK+{7me3}ar4ynUVE^|d21ruj}h*p+Cow@1!?qw zy9!zI$KbFsi^tcBxqeYkW1+9wycu5Ui@n(eRxI)^vmm)aDt=Z&p5x1q73EepIBo-u zEDSQ}97Ix{BTPw&w}slxH^$MBRAGeCK^}i$7#bgJqB-QTa3$8@OMN}~*rvuWKY#44 zzpvPSKCO6@;J4qwcJ(0PlfFf{2hQp7MP-E1&BcKW1S%Hks%+aHI*gyN*T?O|boJ_X zWkJu26zBL1*?kh{WJ-`d5)6_xG#Y>b2HZou3S)PXkc&Xq3HZdSEVYS-?73TliSQds zAr1R@Di8)XCd7E{(K)Rjc+b7xsACUIR;}VrX0}Q|@P_ojufj$7Ch$%J=p6n|%vch8?^3a!t&<=31Y7?7KrAHR-*hXRxl zNp9|6%awZRSa03x>OH}xqF?Q%;hV!=G1L)|pJ%yL+j}HHH?_0`s8UBPBrOBC83xSh z>1q%EWSTF`itwEV0`k(efquw=jY%4N6o(f;fNM9N<91SkOTk@eUm-?S-(41f_2@ z&>b1V?ZmShGhJ!X{pH)`N?+s*S=GMW_#^hC(G*-yH-M-T@nqM&>vu-VKOP5-*QNwY zAtVL%x$!&ExDX$ND1IWR%bGC3&6^16J3`jYoRiA(YHD?E%%AUByt?uRlME=;0{*Ro zwzZ)#r@2um81YaO3O!=y7+1v}hHpaI!C0^vEp@(-J97uXaE}DffkXz_-6T?=ROSgZ z-30??Kny$lfU7G>nhS??=fLW+y!5@ijtjzl5Mc(^@2w{?-GOCt;=~$dX_$42yD^+0 zL6t$2q~!0HyinDC1Z=M^Jx>Fr)5o;r?GM*&7pj0!euKM`4U0E~)vUuqV5nRHw28qy-2dfcF zaC@vITx!&fGiMYC7+LJO4e}m;i6>A|VJR;n1`Uf#uF4prO$NN4nQS+(#e3Q+>$-yG@Zl)M!kp0I;_tMcIOaLr-B64}qAnIqnKEMlx=kTX33D?n?3XJog2Z=aH#aCn@cMcJ!fOvjgokI1Fc1p` zW@YO|FTc$AZ2fBT$QZ*Oy=%gnJ2Dk`VqNIs-4Zz5_t{*@*i+Vl&@Za;PU2 zd}Jwhl;_lbHyqXINwU2%O1pIF(o<*m-o0E(Gv?F!q-fS=KGp%dV@6t<fhbd_h*qK z*bfQJ6?SB?_WPVpMpAwI4&Mmnp3-4u7(;82Vdv__J45+&c{L3f=J7Diq{+K-Q=S|L z#gOj%GsLNf){}(hrE4GKbmv#bnJ1OauS7>@6j(iNwf&0>`$@s@{kymRMq8H&Fy+B( zp3BIWn7K0Sf$g(BD2Ryy0{yg*6*%pzxVG-8>?0Zk+kvy6y?RCX56o8Fa}5oBVMe*S zdW~MSS67ky2~)yTgjL9D$i%iKm4VjSh8d|GSiNWCvU@_*S7$ z5|fY1_=!*0@;)OCd6QIJam%I=E4{C4zu0BdgyQGxYsWk^crxT;_7p-+=`c5{WJE*_ zyzrce(04Y`9y1Gk&DNGD-5ju9YF`4&`|$DO`PKHo7ZWhXfZoA&z*@eeJRViNeV;jn zvKk7pZ5i(~S(VjxYREFWpCgTqvR^-E^$rwzPl~H;%>?IK;WhAKbj;V^egEGb8P(yh z6*4y~c?N-cTgb|O|1WJUjyztY?$i+Zbe%4Qf~2HQ%q%IQ(9CX~XoyXbQ3$9{FP)Ot z;XxNKLVoX(K_8s8ZXD+0>gtq7IY>F?&h6jGyMDll43q$ zm-B==inosPjH}+}5XiQ5`LdkR4!MF>`vfwj+rljIs z3Xy^J$M}mn(bLPvhjjBy3oPCvi1;b8=Fi)#WlHMn0KOLg_uPn`H-I|*AZXG0TP+o117ZS;S7-Ud`9+z|{UvXcms&6u%B=s3T zE_0UVxA8-p2V^@pH*$+KHFl!>V6Fm%a*qVJE{HyUjxsMd#}`=9j|*wd1PdRv*2f!8 zNr{O08EOPfKpG~901p)<&rb4t_mBk@omJ+4cEQJ4bH2Xo+f^r0CZSZ*qe!gjTS6-5*PRnWmjewCp&Mr3jQPTsX2H8kO&#Px$_*#KyeQXr z{`}{(K-{I}FN$ae5?HH;(Is{3CZw z7iS5)J|u+*Q^t1W1HwKa!INOM7CIE0{gZu6V%}FvJD_^28;mcypQH`czU#Zob+k0TQu&Nk~6Wp6_uG0L4cLpxT zq{K&S`$T+Z`8jvC4^KBwFavV4xBmh&NPpR~dZJ4Jx$5^%^ZBU#7D@xBQDYVS066d? zH_}oG{AKtbI9u{bu*E3NfsK$g!s5nAf&Yf+RT#XZMM*bj(ohSswOfL7gjSm`#+xFp zR7_G@VRuCekqdQ?s&s{rxwErN`zC%9`@^4C-6*-cpsbjeYTZ z`}UlCg_f$q9>FpKI==iJW?zVJUNp~sJ;+jd=+MB^r*9QmXWtt8D-}@ux^aZU^wV;* z6Vj}%n+N{=H}ZXFCO736H!(DL`_|;xgHNzNI>`%^#26!O6PGND5F#)6GY*ArsvE-6 zX&t^-KWjbQfSx!_3eB<9=)<;R*Nla``ifcH)lsshA(4nLI9HPKE z`_vH)8uU#HlfEY`$&Xk$9%Kj?Ejay96W|5#Q*-m{SCTWSY;Hyoc{aq7%qaHeCp!(& zDo`*2C+R0rkej#YWajv3sI7lC&^>Yf+_@66vRPOegf9hugYb#?3N``e+7b%H>LE3U zJIJ%safz2GvW)dnuO9VnpX8QZT^bC0VHKT4p%MEB`Ucj;*{9^(ANBNHWMrhY8+*A$ zG_@ehDyT1|q#f9mgz6PrN5O^;Or+yPL&V@z7n|D0k9!DB6DF}|{`zZ@*wgfM;l5(( zQd47d_UVvA-Fx;VXONE_We+=B*K5oau{TyXK(3f|pQ2(vc5J|I2DWEz8KWSsl7($T ztOgw{Im2wD=g-G(ek+Q|7+G!i^(IpCOfn1aC=b{E#e^E}t=6-cgz@Qf z9_qNT-W{_h#9mA_L%q419}b>IPaQmMDN<~r>8{SzI?nQtb00ix*u&y#C)B6lb-pCs zFJ8RZ**R|1F#0bQmFtLo&B75K&o-0Lo*By^Hz*Y+q;5KNU<{A(bh+?6&>(2npMUO_ zz$D4ocv8oHGBU@f?v`lnsS}&e_WycwL9FX7_&rn@0$S$~3IGNe7c&`l*-dDRLP(fP z7=$LShbHaM^+Aw^tL+;pzrkObC0kGHIn;D!ZF2c>6x;ZIpE~uyQk5y9xymv|>Vycd z9z$qn>qVCPruBRB>*viK8SIkRAR$mpfYjNuCNH#p-D%hX@{D7(a6M6Qb23Q06>w0O z4m-zF)e8WKT>T12V)}tl_HHi7eDPx3+ZRKIqk6%5m1!geM}YpJe%egm4!znu$*eOG zco2T|1H0>RSBMFo_lShikx0-1-!8Cn^}aT;BIR3|UePx9|Iqg5aW&^}{6B7tC3{)2 zWhwg>Dp^t~A%tupErg;Xl!`XS(#e*PN@!$BQfZP(T1d7^vL$V{Bx#eB*5CbgqA~NH z&*%2N{chiHf6N$6o%1@+<+>i%V=1?X&OysGbl%A&V*TupJ-vGMqGUSKf71>i3pg<6 z4_|=ltsiDGLs$3l)l32LO*9b#fSIL(mENFeqrQrcUNQ98I#bhJNWQQ`;_Hj8z|-ml zRGLm#FvmMDUqLG>1el=o5Lz^pk8|>@<)OR*7XY#1rXUO~gzt&ynr;YQH)LZ$SO~vR z_>KTF*4Ebb1EyGzS_1k;5h>{(7nl34oH+N@Ts3^;!1+MCioH6Lg?IVVr6c+Y$ejDB zIleRv=Q+h)zi!K=2hoFN=;=vTIkf~o2QA{<)YbLVDKEjk#}0#|#oi)oT}o32Vh}LR zlO2?ONMsY=@PNo`dqOA<*6&A1;gXSYWJM-u$ZF9y0bvU*$j*3fw79a{9YSNjy#j8- z=QQw?2+jyIh-@GNWg=tZ#S2s?>=5Y%c|KUHDS_*2PTw9vy7!#EaedD%O3jeV z+2c99d;7)_hh}z@mLBS)EvZS{#5ZD!@fAipkJ)q6O4KKr%Y?j?f8s7T(ku2#_IEc! zU_k3D)45Oy*{^EI@*B9k8TsrSAFJL+<_{41U|JiN4ju|FyPhQUoz^ws} zLf$9Y6w?Y+2WoGZP#pt)mbUp8ym`uLn!6_*UdHQL)vSE*|FHFlD=8}ZrCpr%CseV9 z24`6wshC7qpGwVZ9(ZayCP6dQtnJqz-Ti<71%=Z(imY7NXydwWYRKlj|6 za^bv3ZmtoU6p*<3?csq7^@i`!orp`!cS_k3#d(l973` z=SL0PLxeMME*X57GvznFGxHg=ue#vJ2Cn`M2@lD!wOsLnqQSwF!GFr5M{17MWmE}~ zmYIvNdHAI!7%-`CFVct`81JB3v*Y2wtsZ);klTAb{9?#C@r||df@}gCs#wSGUsCnf zMP{MU5MngP##P^jhEDZ_`i(yiM$v=Sv%t;@H;Y7}%ONRnjyG@K%&o*C|FXbaVI4?F z&@+olE=mi>8#$2mNVH)`1;!F?LM7idYEHnz4jp(DHRhd)8{ zNg!qZ`}Y!LwJn}E?+~J|D_4Y3!SpVwgZHpM=nN>&KvKZ|Cw7R;DrQZg6`3bu3vvi$s|1U@BsBqN__xmIH@px z#{^=pB*hFoK3sZth4HBn@79p>p5kKUp7k3xxVgJe?A1{d(p&n|r=;p|r}Dr^9Hceu z*ZCgfkqZ+;FnQt(d{t~4Yc#f)9};2^4L7QL-@ZZV>m7YqQPd5^B;4Dr4Awh6zh~dR zm=%tj6ZfB=$8?f#Hgrm(vMCR?i94h7M z)AbV??S4L3{=KttHE}tV6oSW95V1HOgi| zJ;gM=C%R$yTZd+bvxio5Wy0>e&yMUOGwBFF1(Gcb7mK+$NrPF=ooDD!lD9Lq{23pwe)Zinrq~!qWW9O?Jq|eluA$^z|GvQS>raeN zy(6CFfI508b*mrr8CL32j` z3j!f~2SO~h5OL#w$zPG%K9dib!brhTlDYvPtS zw_E2eyQ21F_bTrHMM0UoSX6ijy|8j3%^5Fx0e<8#qwT~a{o`p6@?C_C>8YdhN{|0Pa+PRFaJe>FnAriK$a*wH-soHyRCwv z=GwI-=4Tp^&A-UVPzMZw83Ml8ey`lHVPJD-g&dtKV z`a_x@Mj9&-ULtrDdpmI>`|A!rpThKU5($csx9KvCLMLLfXA;)Y!diW_u>^o3-6fM=#2y#{iAB}8B_lVN@+(YbR2BIOzwjKOH7TpCLoPy6_6=XeB&F6 zz(g!RzthSEuXkbJ!^D`A?fmRxDCrQ+GBl@~U@0?$DkpuNcUQ+tIojV<4R-;sfD`hD zeR{1#IgVb{#WgMs24(?05IfT}A0d(W zBYfl}gZARSe?Q=EK(!yW0}+IC6K`~_i*KxIbgTr^F=m(q!x>FBFb4cRX=;aVJ$ptn z7Nxf~h;y9GN~L(@Ej|=_SJ!zPBJ>-3wD~qxQgeO8t1a*D(ojNM?I7DyrLzF*?`L2G zsgQ*Y!5Njs?Z107 z%NFNLF!ywvWoc#Qbsc_bim5fBNSbGRy=d!lN3u~SLch4&o=^CEKkEL?oagl8f!47P z*51H-)Z-(>fPHQVDbBJ$OkYJ>b$~?lI@WR)%Am zBH%T!MGUO$77|~Nt~vn1RzDTx(dOy?GlaVKIyt!H$=svLy8QeT(CvoDRX%HJ2;#D? z2vd&}j8FO_RgBEy0D-KxR|s=Yn_6*Dsi;xAnyoQrBd``wrIP@DtPzIa@5(tw^UT^A zUz8MFQfQxvXOQ=TLB334JX^vyA0a&B2B2kNx7t1}C1fuy@XN)>r7BOe!$CBm! zof@DN)0FuIB($D)84;mBCKwoz&o*WS_iQ^_;7O5X{AaAWUPQ7IItw?P44N z)5Es-q!45ds=m+Fl|dN!GsiMr^)C!j;e!MC6F(GO=w(G=jTGkbD^#V6wj)uds@em{Q=KfL)c+2XNSP=6o4+F(NV&T~l78 zHDwbqxZq%&9b&sRZRwo@x`>e?WAdSBFZM{n9tTaMf)V;;AXQQd2lf!^G>P#p4UPcP z)E@;OKFpcuMh$*t$w(M!0~kph7#rse?(?ju4qWGg%vv&5%` zH#2uIVs!0C*I)^FvdFFy1fIqM!#4~FnAG+@bQdTWGK#Uwfv}0^^nxxVKqe^cPRqkt z8k5tnUq5ywFY&}k)&9aF&M2w}Ub&0g9UQNz%oMIgcgT{Vm>pQ z_UGP@f}^Ofx+!~-tQLO+0+(b$2WTFlUo+#6ITsM?9=Xl2p5)Tlec<51S{D{oe*OCQ zB!Z{5GixGOV1foUYPkIG=kh{vEwffgQ2E3;4u58q$|&u)_Zu7=-Qk-Qe~=0i z@@_BzxndaeZCBg=7>}|cpTtZSN&tQRkrQ-;CK>dN84|Yi0uzj8AR+U_i4&yiHNF%A zwBVMYvJq!yU(t^kIe73|c0bTmwBz@!pw=LK5&9b;x`wBz3C{DLb1Gl1ai2X4Mc0#k zk|yxTsTz#0Tly>t1kG)vdWASt#mzglB1I98c{Q~LsEP;o??+z7472Zxb*QZm!@yX- zez<_qdJr1+>eUUWT1XYXcua;Z$0NWo31pdj07HjAN#|`6E%P2etlXC-l5JQgt~Qy# zot|Gsplmx?rWNN+t29N!{2aFu|HZk_)0XJe$?)2Gwg5Fvdw3gI714XW+>T>hw!l*a zwaG1B>Ntx7^XuEP)iADb=%zatIiSy^r)cZ^;Z~QGVwlDm?HN!t6?3CGmJ9TR1C-Y* z`>MmtlPaPExw_zk8VP(l?ReyTgJ0s2^+`GL_uEZel7``j3rj7_cHf7BV6 z#zDyD3k+I};V@{|rxm(})nRB>F=+u32gyU9L}=ADfcr(umK8YkjuF$4WKImMT;5Z& zx@3rZ)R~0eK}+htr@5TC9%>v97|*g6{6vJ}d1YkCUw?h!nN^0yC%yD7Z`_b`wcx^p zKJ%6@e+l*YygFlgT6?HxJJ3YZmqYZMDKUQgm$kKYmxv`=_>L{EVb)DTpSPd9xQ-IK<|1VhJ4?n8b%+%Br-kO-EQ)DrIg@N#u{q*TOhvbVoLu=7bM8ONDBy%XpZ@TI}8~~-x zm}vR(aYjZ@XljQbES5l^#haD}?8$x9wKJzqXgtN<=OL)b9H#jMXN*{Vntbrkfz0@r zwc0qN`o-jb&Z{>NHvsD(d%e;{BrN&) z*b@qjP3A(HB8J*Pr9`RYr`bW4eyRtIkv+HtW@FI_I}dTeV3ksqjda8yS^sjaIgNxfwcm-ZT2dO+((87PTAAz;miojSU-= z<9d%IH49jmK*sz;uWOIFKQnQDc_s19B?%^w)8i(Mt9l17|#MOO|Y zi}8&StQ_qHu7?D6;Fu3q!v+r-l9ay{hJ-9{4Re=s5uoH9ZBH)sjDd6~QbW2*>#juQ-o;CHerQcWu` zc|Y7=b>yCpO+)`Gix zBZRsO#yPAx28t$}VRVETTR@dBp{C_-u%>5WY)5fZ(|9}0>_6@=K;*fF%Q4X_yV{CM zW#wIC!?bb#rfkz!3GvuU`H~iT2}}HvOyQmn+eo zg(5_h8iZuE!+{*gDL(VuX8vBahd^5ZqXeb}1V->il@1GBY{>U*KtoyE3yUVx(C5(| zQA_Ts6#)4k{gE}eh3p+nwQz`i3s%_}9GTmv{!c(Io*iwTdBhG@8eO=ih*l`~3Or+B z!rwHGQnCJUP|}33>Y3-pL-RPRyF^d#5zb|LMqhr^L9bm8$p^J)At8I`$C+Mh{VUn8 zypu53Z)Ryn3KIps=p+`o*m@-|r5hMMSy8c~GQ&6z={nqZ0soVem&Y_kJ3O)L9!bV@ zPwrA7P@c>*NK5TZ*Z2#wkpA6v+cw%F96347X76skoaj_{1w`Y2vHAfMd6YccVsb`$ zj#O1Ol#m)QpfN=;O*@?PH|`;GJN;MMbLYl1k-evDYC0}^Dekrj)HzhGuvZdJgWV(< z?$E8#20NC0Lkw$mA}>9iau8#j?7X~Emt^baTSij^Y5}jLb}U16I>`fnt6Kj4;2qVu zUb2MY-|c=YgcHeGu=)mwz2Mv$ZUy%&XPdx8LHNl)KYcxpt2iyWOaNVlMGiNTJJ>>c zi{d{JT}L=W!;jCo@JvNcL18Nufs3GRV-!N*91zkCNq>B}1D-1#Vak{c_>3=a+Tq-{6zD-zw>9qJ7{kRycZ2k78*@*{ua^zvsZ8SjN{~4;)4C|Q7lbN7xivRykzI8OXsPF1tmgNs@(IWEBs&RFn&D3MEf_6%3{#w^C z-;)Xey8JVvC_Z)DFI8dF!)f~G&e9l=X#1w71Y)!rO^moH5lDx7B{|=za$tsSV$U*Q zZ)#IM^R20u1H&AUmNp&940uNzl8|-my9*Yzk_rVCPeM?Mz)sv0xw6ldOP6p|=$yUo z&ZTAnPJ-c&S5mir#Q*TbetnTG;s!MzD7>P77ps7E-8AdU-CeS8Yzxv4?%b}O$3rS8 zsy$8d0A;>}>@QH>`9K;RuHS~vhCda#F2}?-{y$#zFaP0e;3zIO60b_pB}LI9capK0 zBmU(+vJU2f)yl-h6kldTLnjWXJ5 zTwmT zhb+!5{`aQL9{H1Mhb`(gif}R^UF;F`Z5lt%Tr{w9(8tf8Wx|pYGR#kIE~>p@5CY-W zO4>oC_GcZ)r7MM=97O|xQH+gY8bi{+^h}I~h26aA2%HSjl`G|Hiq}=<+wfLcSnUPs zieO-2lC&S?mJkOK@DwLC&U=;yP@?RetL0K&N>?u4ylEg2M!Aei0DXYvkVI2M`DGh6 z6jI-#^MSy!NAky1w91iXKs_p+TS8<4*upj)xz^U`I*LS15x4?80X#kyFMe0KBR(mJ z5>xz@5INI1@`u{w$8QlEUJ-ig{^>x zKv#jJLXVBD2W(>P)8+_R56*mdT2+Rg3hCoC1oMyr05kO%RU?g+)q*>POK$n&>0J<= zHPmFp<4)5jECpd%g}U&_7QS)@^o9cA{J*r-bLrKn4BH-VD?j4u#j|HMB(`99hV@ER z*TxmHT1G~>M2}f2^%;OJ$EBgbMOu>rjDdFT0ESEma7iGe<)+c}P5r=CqCL?Xrt2O_ z{9N9Z)5Q^3x`k^j@AlqiYRt-6O@i3w)zD&d5c?REAH}u+js8f{l+uLPWlGV`0N~}# z?bfU8&LotyXsDzdgW3pAB{XU?XYLC<6r=8b@0gFzcYxay$B$11n|ZQoRmM(Uj)W`^ z63eGPFKb^jQxKD>oKRua5;{@y#kF#f#Ivld80endB;+AF(l)?MR#mMh`40t=6Qaoj z2M+9&9Mrj{m93JbCRZ?bX-P>53}hyGKp;>b1>VV81uUsvQ*}LwZrl0C4z6}q@J$uK zdC_7VqIk`AHTYB&@sZ;aAg%bY@Ia_b>r?a1m?mZwQ+#0uV7GQ} zT#Cxkp<5=&Fgyc2FbcJUQ4F7+7aPZHXye9UNjWhM_l>Es8VJ*A=%XxYmQ*f909_A| z-+64buQMiw-MyBnDX03xQO5*)LKuLl4>4Y>IS% zImC$taRaHJn9(R^@OE!M1HK2vG~?sam-)>nsLJ`9|0CycnF~3lOTQ_!GvRQ8jO*U^ zw2G}fA$gk#DJuiyWmjcfNekvyjbFw#%59S@drqCtLlsL6)auFvdo3m!o#r;NkZ=lK z9K_icDnDk7=Z!YkA|eWHZt$+DWK1aTU<}o(Hx@MBBw(7baut+xz!+P?buzMkdRRYN)71k|4yP{uea@7(-rHD$tD6T2OlR?S3E7qig;DS zI~m>`e1s1IEewfgbK&y@{BTfxtzsIXZ&&;Zx+gb|({5M}F2Hb3L*tMb+az0|MA`^i~=MkpX%%z!gp~f^|05&x)t(j9@odMx6ebu;XyJJ{jUzYU0aAAm=TJEZG5^!o~ zv9M>JEByFTgm&@30gH_rw@s2^2OgJ)ru6@(WTY_YGf>v}HFtS?+C^7*adYMz{l=Y$ zy=0Vtg?ESOm7J3DY`qe=5AQs#sAG!+!||LA@I<)P(Ees;UwLkRVG9;)8(%5O-hpe1 zawqlS;4V|k5La!0Nqd`Ju3?W zG?r%>F>yanziibnVr5XAJ7fV%6iH6UsSE)dUHT?9fPtN1clxF}?^fJsWn~wW)1(5( zTcvt#ZEm2_Y^(%`4iM{Dmn|DGY4e{@@{20l%d+r)UKu}s5ZwU~76_!2W{RJBo~1H- zXl5UsxpVu5#qs_C{9iP9@ z2nJg049(5hvWgy5aN*+-Z#?sbQ6#eUQF~y^6@UIr8!?Ms5=Q|^6V3*F7eGsZMR)B! zcaI4*a85f}ut{KOh^o+TpIse@vPRykit+uoZ*4l~en8(M{)*b&MApC`lJ)(C+iUJ_ zPDMU5--(TlpK~0RFSffeu})>!(P@9|+9P>nr-s%isn+}3N@`pyKCXX3f1^djb^WZk zQXQv$V*@_fWWAWOCNd>tv0p%OghO<&ZAO@0Qn&U?N4CbFv5kyYhx$pS5bLXV+?9DYLkGcCWJsvK>h z)Cb27V+N=+O&qWS!!9&*Ed3X>mc_`s*5HN;7b~=$c{?Tl>|j0oZK|2PSL#1}oTNeD(DUR}Lzq;M8Z*Q->g7$|}#%M*rQz;LevDPcGdWAq_*VFYBn zqjTwiH%V{>&lWKl@l&yrA2w`O&~sa z*SMjZestWz+Ij8Oa)hAl-o4G%7Ek@gRwEdXmmoAwG#K3-!BT$Jq&eh2P0VwAx9yX| zslZH2l(}JaeyE?f$@4NJU+U4IcuCGiM5O zf|49T>5ugYO{kU@EXkwE`DenYs8V`CSz-rR4-{1Im3z=6?}^YFS!-8{?h z=S5qaJvI`&{Ka1oHq^oHjT>t+aNbT^RFXPQB{v9p<5ULmEC!}PceO&D?6~ZXB{ZzRF*9mMM;DrGa zMEd)` zUg8BU#7kUDi`oLxEMKtrk{>-9>W?XYpN{)T$zzwhP}&O2iHtak3fQyc(!o+r=^Ia~ zDUw03p;GQbm&PiWm`#2TA!|<|*X1`u<_jRX92Zj!ELDoL^Xcow-clq3tx#P5a1<`M z2)G0eSV+cIRrfQ5{Y;_is)3q`WSH_ZdOvWJ!{gwujOFFb@h}e0Bz0TJ+!K>OgD+n; z->^Z}pOF}&;;8v#nZCvgh~M5CJ8Pp-A1ma+IHoIfc@S-`(36!<=KT`F>nBWLo^iH_ zE(De+f+1L1Rc3O8yTIASSWe767G?pA$@=4z`|6dx07G)jFQp=i4f*Aa5FTQSj%OL( z2tFJ|MOooy3$~6jex2}>3$S%7$L-@H*ZGq6C~pA#=`0}|L!YIyC|V(_s2Kj|pRbuO zakMbfN)efv@3e@`_`I7v4PS$ff!9af8Ixg`HmGbz`ySTtHAYnCUSU+BR%ff$Gs%gyjii?QnLPDh71P@x6#5kdwhI5FwZ}o>bdrOzI zVC*FEdlCLocbsC?H0@04odYNm6nC>L1jl()#q=!nDBG)ySLNEBz~lNk)QRz{^AXEG zf!hQCbnN8Gk&+Uk^(g9?kyq-SB!cI9s_9%E9Vjk!yiLZ}v?69B(h_rmqI8F!Qrgf} z3RUKF3%|T~Ut^WG=M|-tm6uB$NYcVMiP@H$h>?%|RNvGWj~_GB0;v@2kkJRm_*@`(i)!^!$k_)@+UH@o zJxWRGcspysEr*ie8#7>nGz9G>D+?l@I+bOc;+J`O2+S$T6(HPoQL7$^qXzcaP2~ZT z=>_Pi7*IZV@co{8!<*=>e4aWU^ox+xKfHf0nGU7en2876Hwa7Ww1FHFn0R9h#wI15 z?F*6`VI;EN{Bhz&A<(WH`Ba_naTE)btwn(uY7FhX72$#xvO8X3k<4wuNDU9K2AW7k zsU8rIFJ8QnVb*`$)AdS@YK@#&kT!yze<LytDV@q7Y`#K-oSb1QDp?sBNb;|uaXqVxCq$=(@i8&A z9I^c2)TuXdGQtaoen1Q0`|JHd?vfrxpGLB04Q@y_i30|8+~R zs;+iy;L`;|!mAd|il$acSj#i4iRI)ccI}Eh{^+q|g8v5dqL>%%{Z$13i_+6TUQkZL zPdw8D-V?+ab&~IteNP`bl3)^M5cnH|vcM$@fxm_P=?`O;ontW4bBfGioPa#Nye29s zfzJyNFP8(^qEuQszv~o)T>FE9i(!t&ED~231n_fN47hXC;&W5Oe--EprPpHV|$UPqM2-E1L24dxcpV;HYx1j-ZJ=gMxBx#rMqg*|!ER{Q!^X;V@;Le2>33 z)Qxk0)p;fbxDMeU;-hmne{0p}%;{vVU5<(IT`|t=k<9K})3l7d;4?290qf}DsL*j) zIK$&X2V`GpqcCxLL8|Y)(Y6C3^@G6)Wu7fU2Jxqp+ectRQY^oJJYY7gBpg>R*f0XN z-mcy1ZJWNwt(@5SQP%6kjO=w5JII)dK#HYXLWJO6Ab^iUrgb5fQ4z8y_54Fot#jF zvFjj3bTGhL!{(j*S{2_YWQ7?myRqnl0Aw)2<#GaL#8l0h5`q6l42%89#YKU2S$PfU zw+v=|J@rM$2mC^zS4UVN7#j&nJtzRN-vn=KCcG{zR9+ahAAjD}O-S5;dXaN;yP|92 z>bUZfO>hSBwa1yf@=gmWuvz52qNKNcyp#_V|7;BIM>|{FFW()h>P(W_lc3GL&T_S$ zB*UZU@H(L7&mAA0`S~)}IO;+c%$zwWaN6(nkBXW^!jz~+O9`HdSWL5@|5@-*dE+_& z7h2Qs?awYP6cR8Dx+n<7k0y&g;CR?%gHusaE8A$T7o;CMdX%3bLeDj3@Zdd@^C8_@zPze| z!s5cBj5%o<%j#vjc7nbc-om?x#E=Qjyyu*4kY-G; zo<9%oFxWWWDBvl~*R&q1^p`DzD)4@C(TZ;rY;}nP8jf%fv8&kVh&%;C9sMB4A)t$( zXN4sPzlhp%$|avX;+rX3nG@&234wcq+DCORPVow<5J<+U2(?OhH4X28XNBE7irNb% zL1*T%`61<3+2w-2Pp=(z;NeS7Vz`t^tTUqIWa2&pL4 z6Ha#droNwLijg>4bkef)^`Vn9;AeXN&?Jm9n)kq)8t{we**W}(K+q{0i>Q+cWyv7+ zB@PDC-R3nAfweuyg1ZvBFQXmw+<;yoSx?AYXBMNSgbIX&k~?$cPQp{?&Za(Ba;~!v zdM-F4vagw}2(iXEk#V7d24RW1dPk#A45(Ni{uFj1eNIclgu9K!nVZf4Qc^$&2 z941EM$&)R5-o%?W?0Fpx5A8cQQ?NkYKJ`qhDc~wwlfF9z)05^hj;Rq$+EHEIXrY3R z>kRGCsS}ZLf-_EO?z;J_MKx5E_wEgwG|5{;VMr7c`98j>e0L$j$$qL4v2}}2ZGZ0( z9g0I$G82U<{lo|0uiG=ukEw0it-m_$TQ*Gde9bPKhx<^F&yPo$lr=WkQ`IY3*g;W0#48i52H$h zzD)6f9qX*M%7EX39+h(qPW6(J?6c&$yIXYwckXO)(T5c|K1NWBh~Dbd57=76&)|X% z8TC5zJtq(p%~^7Dnk zJTm*Ux)d0jC&^s=0N6pmYM;J+t4amQ0L*v}Pt5B5)uhO$VF<~+(XQ1WP?qH0mfMqU z9-1+Ca91@yKQg0%Ibb+;brXamrepCY@X+?Y!#H@S@ihu6%BFZ^+bJEY6MITZUgdoZ z2pqMuG$1@&QB{?T*Kl}u9#&hUZ};Zukitc~S zb=dhJ^IjPKtPlOK+9m0rV)@7S-&$nG>M1ZqtH%=M9<)usVAdWfL{U-IY;F#}oH!>H z-_$b->)MAuu{MVjvHJ$7NG+4K2bNfpWmkQKk%PzLq%D7l7~jmAb??tvU0pvkIQE6h z?FR%S=kd{FR{zxv>lJ)(6Xtqnd!59^`{6^;aOiIl4V;xMC59O6buc7~sOcGk1Gw6_ zahMIw8`@0@n{8?pyvCR}BoV+I{{QW@0dt+6#pm<|O zlWpP|=RRENaPV;q6^NfQ3fRr0L|g{Hm*v!e;<7x224G?3NO#rLKcisFM(mH^t!6P zBJPIGp*1{Kna*bPuROB)@IPsXLIMNb4jvrr4?PAi_o_CcOP4P{Tnaz@bCwwKgQ=o81dCBrXB)jhDu)CF2P7~Q z#ciPQ=p6A_X4Aqs4H7g$ygk$s&&;=>rbhQ6_}IHbA){bgJiI&PMZSZ}Teo4NkGS)3 z4Xe(Bl;b0URSK(0^Q@3l2kN*-b2WTiVu|qkShMEbgSCAWO*>Xt7cv}XB4BLnXCQB8 z3n~D-?x?1Y7yj_>H_Y++ZR)x+Gaoq49RVpJKHf!C!%RCUXzuXt5U2sWMiO~n7>*Db z*fukHy^^3>!Z0QA4TIeAva%Y(yI)>%847yUfSb)L?se^IcN<}DrLK}vv6>r+b_nQ? z=^vVN`W3cOr2&Wr;#WLSu^72&m8XVxOz27Swqd|iVbE$c%kFd`Sm1xaW!)B%5HQOBG$p^=rGS8Yg*KfF zOt3s7t3IP>)}cPnv$Gum(9$5!NJWE9v;F-%kWo5LaA za0%mJya5V2v#OfEs<)R{R9LUO5`#s>hmAvf4mELpeC5H~hgGZST|{XGFOk$R241Cti{2M$V7zg2GpdZ1vdnqI-~TvtW2B{y-%I0 zW7aEViIIyXc`WV7i4)g1JRKULPcYY86oFnM>OC$Ij#vcal70I!<1k!Dqlkwb1!U%v zCtr{pj32PHPmLtS6{Y`aJZNXkNP?nO8=zkACc6s2lpLIW7-+j#V6@i)XB4 zbCme5i5{m<8!lY9TB#3%6n4lYn|khlx>T6voIJotHJ_db>G-ibQtU?HPPSy^x})Ra zh9#M-emfex5ZR2&$@on_KdGI@k+&uaZI`nzN)j;q>%`UqNn<6zUGT4a|9$kkA0@+` zlT9T9NmRFDPg*2euVbrPC@U%1u>8PiaBdKS!SA96L!Q~$l^$NuK7)gqh7}w)TSk4x zB4tW9)Hij$w)U#9ef!37~GQ<*`!udGX2n~}Qd2xwv#!aAj5aQ`yzKn8d zbcO=buV3(U^R`LZT`n)s!etqk!dDR%Eq4u6RXt5{c1BBXb=*OIAcr^L5MNqy9F=Mh zKckGIohq2V|K}6@-+!xL0HvftIAqhas%maw#Vk1wZI0~X$*^uIzlfBKEg@x^M_f`V zEe2-~9-rr{9Lso?k;CPX5Zg{b+3*_}uTDiVZys@jP~%OJZCkbK-m~Z2!AHSHa3yxr z+RArhSrfu1I0rE?qAfs^?NXbS#~3~cPb~{(SJw2L5?88U1b zAHWB|>$)Q2#v8~>HBK{;SQ@Oy84n94rVS>N$Y<`DY}vFa#3)n{T`>=CsIOH~QK3ki zAFwjaWG|^DFmz}LCd(Z5^UDKgCv}F|NT#Ljb9^3vFwg2j)*tUC36&6VWBRjU{=0VV z;zb#p)rG$5RFOJSh<3+h&Nubk%tI#gAKts?TF8ab)q^2pWu>R~U$L zXF)o1N*%$cs)%9lye_FP4_TZzeHOYnc_VzfaNx_bH zacRuW&86g~D*H!|L~|vizyd2_e+MZYK+s25LQY_L5cWY4fXM_s?DElZrLxEsNws3- z&CsH$fU^&unqn}qFq@Bf@*Y62KYG$HyWhj=jyeX>wTg=GiVcxjq-HRFv@cu5FoJ3h zv>ef)=g|ji5ztXb?1*ikRneJNCs_%bpB1=y^EfGD2O6C(%W>gZVQs3t{x6r#q9 z)r=GsHMM|X8LbCAmHlZ7OF`6D^C1CFJMBVZY-q}&?bbE*$76gaZISa!Bh)i-bkVkT zn>Lj|Vy56Rax9-wRW7?}U-ZR&ABiZl(rq2eWj#WCiw*c=R6l2L9+$&y6`tU37l|#Q zlh>DTj+&LyZ6O5_1~4(W2tWG&`t`W+w0^>QohX2X3yX-^Y$tT8 zKu;q*_otd-9GnLcs)?p#7M{uNGdjEh@;pU}1FB#!IRjnYG6K(Ysw4$Ch^6D_N13N` zAPH0bUZw>lzjdZTcbbE$UCSR0(Vp)VTSw*Z!*BcFgw_8Mpan!v5-bf z7tJd9cL?vlpQN+V-}A?gW={BD2u>O>=BQ_JLNH?!LlB4OH5u>%KNg-GywY2EzpvvI zX)5PJp9<(Dos6%;O!e`Ot&E`prN5@0s=6AR`cTF4U zIS1MZT1hQAz)C@I1cpV`wrufY9N&FXYA}9a+UGgP)tVCj$Je-4=kc>^aquQR0AC&@ zZ+kw-$gl%0G75m99s3R6xyJM<|ElDE{@*|Uz0)t0i;UhHj{~kVmXI8cNy^=UDfTew z|8-HLmE=`%R|5A=l9|r|%zfIr3EcHnC0CKzylj|20sjS|dtbqk=LAZS>^meS48s3!9p{f{!d%Yx z{jE&X;#yY^ojU^xX9|Djyz-7oxt)I6yK)1m3VF_!5Ycyybv@b>B2^z^$bB$gs$#m` zm(xN*S=AmpIZ_FC?~iK4C(|pnVbg;pB~ley-Me+8?jq|qqYcG5=*}-tTYm}hZV`Ue ze}5%}u2{eGh{!yv)1VxQojn^Z6(!R@wz%cAj16>9R9EMCE*%+X90ZM8`ENIHuC@@A zdl{AF7XS=YU4HTEl{vorF3*Z8nK{6DO|+1C?e!kxwO2e@ZM*W*T)>=34u`{+U!f$! z2tU+;SU>h%?Y_bvtVt|cDkWX0QN=n&j6|EevkhxQQr} zHz@USYG@mNpkNh3&>1uKW?DM$G;5v=mRU?NyLm9x#A$KR#`Jf~%*!gCyxKV8^3$y^ zuS|X??l9Hmnsg8NEJf$VvYI%9kkh6ZCUd^yz&Cy|gy0lgBcuLOLesWtoaDl7+bUh^ z?zzZJvAN%)K~0+}`=Ui%!-F%5)R`Ml`057LXWVn%lozM^(Ngt2^R@+T#%*d!5l+z)hF~77RE~3*UKhe@wZr}MGC7k&RXO0{x6YN>3R8u4bk^r2o8)$4R!9JVF@hlT60VdO?B|VF5 zrpP@(R~Zw_rsNXk1ZeP(|GPA5kubLVFNf35x63Ry%Aj3Ka5%+%2^Pw?V(|sI%hi11 z1Tl02m6cztSK5)2V{t?SAu>%H{#`df1;7T-L6gV}`M-!ajOuNuKj|y9n}N@TQYapW z+xKIF;nu$4Z=~4rN~vlR-{371a_JJ*OpJXoYI$ZJAu!LdG-1~~H&=zz03uEW1HlCe zhlp5OC>VnKVUHf;-M;ZL-;X_<_-1_*anhfUlGy4~NhVSYAuBB(t?Z-22f!yo^0c61 zB6%6DLeXSxA$F~@Qgo-eGU;_9!dlMJX;SNmS81V2?lxmvG=9m<|8RRs@BqJX(?{MO zCF}&}R5dmeG98GNf?FW0^H=z+Lfrt1qyvUFhtb$+PtT<6%&#b1hstq8dl|?N^B2tD z!9ZQUCmX{?QU9tz0n@QfA}P55b&ZUq#_xu3-CM=>N=Bu!??zx&Sag6JFiW)VI6AA0 zAMcU)22Vu6@nxW-W1hv|A6JXAqC5Qxo7>f2{@``bHF!V>6f`&@j8h2X_D^5W5SGal zu0#Tz79~^KEeFpj2!wIqqD7{M#5isuyB7%WO=)gM#xnTIP-;1K_#}TFj5Fxr&#qs) zraky5^nPXzHZ-ro+gP$1VK|&Q+nCcyCW5b4KmblRcorW&e#bPNXt6C@%2~w4whpGI zm`YfzU(Ym)SseH-WeVgu##$bM8*rN~ysg;$uIaRd-rZA74>) zdcOYn#gm`(yJeMQmXtcc@RC{h$Kn}X9%!iz%AxeHJNf+CGq^YkQpLzZnX}M;+avyj z(#3|w_!+lqiUy}5iM_X_Fy4- zjZs8Zpy0mVXTrn0ym*3_L_~}Z>DtaUG1@Bemya-h$7c^QhPE#Vtr{|eK`Y;Qkz^z& zHh;xI#s5q7go-}XUvDcj>cLdv!{$j$DWU1DmJ^Eb`7yP%wRBZo(_t&qDHE^l_7Rhg z9R%gDw@B?ZF?owRf_oefXJHgQirE+7IaM^LSDF1y>{~E;gk6L=A1MHikY;qY3IlhY zp@ZaTIdz9e8OTdv+<_f?H!0q0r%prs8OBlIY8f4f%D~A(Jd@0O4&(kERS5HkFQ}~! z;jRh8ij~?IDjXy;8eoR=85(k5Dl4I*ardj#=QIQ5b*4jR&CM7qlJjr$G;RzSYoY)3 zgGY&k^Ev)K&()&A&RJEe-lc>8(Yv!}-53OK&9mEqB%0Y2kfulioXCoV^+iVuxYxP= zRBunue48nNLe@`@t@yBF*6{9M>~F5_uQYn}mH2qSOw%WCT<@ATj%wqYWYXy*w-t*M zR7zdlPb8SZpZeq1&#HCykI#xp07JR~i=Z3`#ts^l71k(G09R(-_*dM@PGdzzFiV#v zS;m-ff%Z8xGqeX3JN5_N*P}D4F*y6s#%;6Pee3mv`_o2CE52zd3^GI0p*wLVKm4DT z{h>t{EbfpkkMT{VSTGG+{=X!jA#%&+{IPuWri~ldU5Cd9iNP<8n1Yb2zwgVCE7?Z! zY*T}6i(CY_+62QZ9i5I+1ZFUn2W^$|&>fC>2IO8YgU*oQNi`Cdbi$72$I!t1qtijgJl-b2BhP<&?AI zqpSn{HSYjf)U`tR5QD6di;E-+l6xFrZ!tP&=84lf7Y*ueIG@Oj_^^mGK7W2KmpL?P zvv2D**??z9t6f#q!O=;uIYu`>=fafDuUjZ``_uN#kW1e@a-7`~0C%pihuQtO!5XkX zUKXrB;iLSR=J(Me!Ae?uONvBFeNtfvA-;mT#ZK|Ff7?#ZeB(xZShb$z=EhlODo7s? z#43;{a3mK_gC|9m4D+QAtm8Zfl7i&c_u2tURP->UeY?341Yc2Ei6{jg((&Ycnoe(} z4NrjISX-IcIx#80y7jCXP&uUx06%)mITx_|z`|Vrx@B+cHM!wFvXAgn>1=N4y$+xk z{oN@ap9iPbY}qnCym-Z9i@BIB^J0O@nYiOMqoc^soJO|9y(KY!*mKs@)^_u_wd!%9 z4P_84eT;&4#2U$Yu=~MOV~rMQ5kkqk5}1I%`*7(7cWt+LR%k}#wQJSizXvWE`9Wis z#*8Qf6y$ym{p5S9_iNs(O;537lIOr9r%rwDJ^l3r-`7kHjOIe-u7C(b-NIm5b<5jU zu8HM090=JqJF+WA5F?`+n{H&3OIHI0XC(IH#JklsRK>&AML$)Ja1N|P@Hi4K1kX1O2(802Q%rSULIx^Cre_ah!y2p-{r3g02U056O|Sak$^v1Cky~MxwD| zu-?_}Jd|}f@yf~|$=R_EUZUlr^)xhgG2o+^W@f29xP8ZtpG!)<$qdHzT?~fE?fPNZ zLv^g8-DjBUx5l9j%hFGuyRh+lPzJN~fC}#(l=QGj zLa)Z9_cSl-KT$~JSLjrM!rY8d{4FYGk#_WlxOkfanh z9e4PWfs(>300W_KNO8VForZzd%&q;(9DeqK1*OHsM2>&+Ypg2}TpcLcQc^!tRm5W^ zgNlfSZk;y-gHN_9j%X0o1~`^!0M!VVHZ-t!qj_j6vEI-UBTIu#$|uIJ39{&<8l)Fw z3}=rkhEfinV1@)j&5v;`-cuh-ORFqD7!Au3Q+U-cg>hNDIi89^AsI8?YriwGK!-Cy zQSqsTM(7xL0CW#TFxv47nFBRK#?;ZGk*DtwHh_{68hW0R)WYrCqjNTqPM-GY5u*UE zY2sGdB@{iWX=wn1G#;o)`7Vlm4xs>$A2GsbqE&y_M9@OsBXl|H7L6`w1 zT4*pJ49_-#`?$Lmd=4h(mt=;!iqr^wLK;(xK}AiCLh?(?Z@Ar{sb4kz3}foy|0?0wE9H`G64 z^smu#jyIk@jM`-WugXPZ4(^ zOOVLB>s(yS&Pa!rln|_peSFy0_Gl?zz2eTMibUKoKw+Cf43{{!n-em7hDFF}Tv+Bl zt=sHA3%0^_Ca5&^gEyI*|CLn?7nlyS>h!u^hwf6nK=H1xFLgmW+*ZnoYRt&Dd`_^Q z!^Y1JUX}Wft@A);2bOYjpE(mkB0>8ZfCgfqlOM$5 zkH{+K{#5X}f~Gw*1H2ju6I2b-Nam@6Yax!hPtP4oUYrDtNomyb>xxEt;3!Gj%_1={6q zH)F`af~{C2(loNS`4Wvgdvh&(HO(qo#&^PW2qeTsLE(J z#0xOUvK>ZE7a0HCY`oQ_VR8A{1xc=lZKx{YX-HK$#B|)NIexvCoQHkMaOnf8Z4q%e zJ2(7!3!?Uy?~Mg(MuH*ol^2lF_-4O%+v+etR*tjIH9P9ZnYr}A1A?NSL3Z96J}mf+ zgSxt*^M9vS^6uTcf`W+%4B9>u|1k0EsC)J|r!i$zO!K5GWtFAnXyNo0`jpVN1UK!( z#-}#EQQ-3aTh-$%L^P>=U%_FbLyNdrYNN(W3Rd~$|%4wajn;<0= z-;5?pCd_jFnCW-$pU@xEa71v+o@hd6qTgd;z?_#%*JBXIVE5VfvO3FXlYF zEhxyy&1E=GV}`v5G)ACpv~WWGe}%#Vx<4&HXhn+l^y#~U4qJHrC+%+Z=DkVX(*Lyc zEmcY0oO5kWXDtEEfZ$qbc{j*mg7T@qSo*Uq%|a3-TdP)iHc33)x@o<)nF2eFJ1O=g zS3v{$1kBD!dp?i^f-|4%jk+K63`kKMHjIdNvNakl9eMq_LKbHc;pJ%sP*Vkl&r=Jj z+XY4cs_~p1C3^PSlVp&*1%EdLP0u7@99)*uh^FN{Q0n4xNurh9 z6z;eGVs(XD*itydaaUA4CgOoXW%DW4c-~Cw@{9`$!v*niUY?(bJ79i5Uq#b{gsFf2 z3;^EMZ7|n6S*w*h`i8z?UwdhvL`v8dp|mZO$Db7 zJ^}XwvJ|E8_+v}U({cDZYc`i7AC0I?TgkhpXK@rIi1HB3R zsfs+>0^BrkA%3xH+)Z%@^EnTz70zX0gT^4R6zoM*JMfn-Ex8QYo2wi96lA#d_NnTE z+x5hX`aTt-`{HMvm9>(e{``4_OJjp&BA4-*JKJb`evgaV*jR9hev0Vx z6U`iO?f*r9kXIq)VJ0QFHT2!)Nfe4u7;=0^5c(<6ifNRrKbSrD^?=Ghe*gJi65QL0 zA@0W81r_*?%ScM%ZvRHi)@oucnF>8x6D1ii1jJuv^47J`#s!eAuhmTtE_3L-W3^*S z|1wSOBgd2*DhdrON+FKJk`CEn*&S7j;_gP!#J|Z*iT#uv87BJ>eD#NJ3Gah}19z?{ zjQF!44yQVBMq{`y+JkE_W`yC4N3t8L8JEYY3+1{VNaAk@;$_z;cx0mW*t`QswkJ#_ z)AFBH9?@cf>FbgC*r|8u89L*pk>E!7fBULl`Zpp7k|k7R>FYrO#WLnkOl5vmID0>~ z&A5``e#=2`kRZ!C*iYq!QzkuU-@biG<$+E~F^e4_7H-446QWrP0cZl34iauTiW(u= z8hQr@v{5MLG20<`0CM{LrFHz|$tjqXVJQ&>6F_uRdQ0e<$ShQk0DuOkL7R~q5lye` zJ5Q^t+Z~fI+=o=FJN#X2tE-iWhk<3*vXo%FC^A1`+rBSvsxLDBXr|qc&-_T`jsx+9 z3wuSmE{#q@zh=YF6G@O2nx2j^Sd>8t9j6G^qOjCEFrFW@Y|F*YQZy^i&D|~`a{B%b zpB?XaJCr&21Ubv;H55{dZ&|EK904=oA60ATEnt>u&Gn2xb2*>{kUHSk zw1JQt1l+@)A}?ARL~VhuGQ1-y9XW&*E2&%+dvxvk7ZPTN9zV*OjQ@gwX*U|pN=p*` zLn`XszfUOAPb-;ua@*D|sOMioLu| zHPh46x8QQfqvsofp9b2d`Y!FRpeH>qTS8;gO^F^y`bPWqzQ60%>U}6>>C^!3b)2hG(Uhy@$McaC7Z-XHClsl zgw*1Wz>FE+3lVN1#N|qHmdo^0P`D>VsNCQ{b{WF$Ix)xQn3bLuHwJOD`oTZ~#wFW- z3<7%15(g(<4&v9)>FW8E{bQuYnq;4%Tx?Y7TPw=MJp? z5I93|bjj*1K^r7?hgvQ-kn@)=w(q(1G%T9oqekK3nS%2$;Vz^DH{eH=K2f*`*dEom zW@ld8AlP7_h*I5p4uW2#ZBO#Za+5C*;<7r$8n~K-iGW3cfa*PFOlG{oRR&j;orXw4 zci}==IsM{1XY-lo!pK0j+ZdSzE(Xra2Y~gu&t%j4_hrx&W9!u4-DM3|N$Ap8_l%-` z{rmUN-1mdJkkDyQmmUI+5S@QwCFo4~-s^kz?!`+BerYxGTHN+r)cC+d1Fw%YOhF=B zx$Tbg?+(pZ=|7&vYn2(J_N|Wo*wt14_T3oi?6Q4#c!}c=+R0`F(v>nx3`L`g3KQ8d zqT9GLpE+I`@(_?gVpr^QbAj$>DDPFb;NCY7Y`7Y994EZIh7B1aU{6~&$YF`xiwlBm zt}nzIKBNAYiYBvZ#`%DNVWUS|(&{pWLt0;EKXp(~igsr@G`M3dVPF~DRxt-USDOD& zRu0}jCcT2=vx1M-opHeXNW|^9So@dILp{( z8AcwoAaRFx#O(%H3-a zfUwpcp9Hwd5&FP)v81}-7nG8c0*@t*_XH$bwawHxcE>hANR|Q-omSt*GK-?;6^x>3 z8qubW+^=AIQUvjnwy=$j4^ww=Wa2SLkJiy5+r-z`7a$q75#IofQO>5Su^2J>Ot8=+ zFU)^9E=2|;5Yb7N-toBGv3E29vB3CP2^1;dRjk^70o&4L7d5YsPM=P}mzv(z&c0n6 zBihdEqhdXhV8jMUMox&J@f-aMY`^nL$s*37hN)g~X>H`*i= zGe|q_N}-)pNS5s8lPM*wQ(8!AQ3;i;5Zbj+QVEF`5g{SF_x-#?qnW<c zRJ@nh>$=YCJdfizk24}?bK2113d{CfDph==#!WO_ym&myFKk%6bC6dpjmq@aeT}gL z8Vq14<(^3#0N<|?6T1M^{q#&nbPw6}woq9Ud%AnN`!4`UZMojDcW<^96P=V4#JCM5 z(t`uaYxdvE$M*QPPjegCx9bjE%l7TkPDucIO zM2Ca8&hhR$8=9kL&iczTPH1AqBTXkq?*12T!{>jy^k47^79ea<&|;H?3onCxBNcLy zz3CkM(%`|e3sB#R3opKz_C6S#E$9h#P7wkPr%(7yVV=dn_LO%v>}XbV+)6lcs$zvv zj-sD{S)2YE^@f6*YkIh^A30@};mPy?dFm$=bx-ZESG^=}v@64S^*pb!daHKW55Kg7 z26t~&!JfAhN*eLV$(ZeJ|BujIxrIo zk7$9KGpDZt7#s9!_<~`~K4w58z#wTW9}Zo{@;*ol5EmY4Y+W0J*9_S^Cs{{T?iS+? z+qJ7Oc=Y`Fc%+2XRvjBQi>FVS2)xHv%)Qs?_aB|(DKx-tzfY#F&q64yfV^m=-4@O2!jO90>vN}vUeZKJrH!FdBdc??`h7@T@_2Wj;f6PD{AteMvk5O^92MM3F-{Y0 zI6?(}Sd8JmH9ne&pA00y?6hhNujW?me7vL zoz9sz?+L9pa5eN6Va!40f|67;WxcaOyOBdmjw>T4FlT?qj`-RkdVcc6wsDl*&TWbL z(j9vo#4wwBkSt+hKSoUR7G`#tsDl!4yY6u&&-UzT4wy_$!YhG*=)A$b^LXot$nH;K z>1kN!@%Po=K056Ao*}B{DW9fJi+DewuiJ&mua7!w3@a{GY?tP$ z#V7;ACjm3|E)IJ>>cz?CCy0~(*1Bg#-vub^cXS%Mabf{C!J6Z~NM&@`$ET86pMb=s z1wI>CCs#yJW5%8R#jKB_CyfkyR*QiNQ2D`0RNHS^jsW)5VT+y%#aT{BFS+!({oy2h1j-#<&;iqZgVPq&*6rS1I_|y0 zSm2W=(m1L@8|M674vdJq*57sW8>3wXif5vxgv~f~J4Ru#gJpxidZ8J2e0w7)b_>tS1RO~tBZby1~9-hjtITp@8D59~gDG~O-&r#kS< zwtza^a9r6$u-c@7SUAy@3~(OjQmb>LumUqMx-V76jzy6$ah6U$1%&{{^KdtWSp#X)tx26t#5BHSbu1u2OQ){rqqpvI zR9Ph%7EyHl{s;^A#C+dW}3SxieF`z<@Jh%-mw*`l%( z9>~G&3;AL(!Gh<3O?KOnv??ehM1x@)w_lff|LEa4`L|?)jlRuWldn08?xo3JId)85 zT|I^-dTes+V(Mw;r4aU2vn}wmf1&F5;n&qz04nkrHcW)QVG0QCSh~CmF5-q+vr-sx zr#WuiIO}@)mPBti(k_$w0-T(um`7x2+Ez^Brth$D_CIteg90)m;}DRR0_O(!FgqBr zA!%8IilQ^9KazJCc$Bof2BxeBS{teA=zwjb>n_RN1@^}x$h3$_T00hHIgi2H2qyrT zC`@h0O-K%zy#o| zhKR)dr@Kq|Xe?SpYY^=g%uPBsXxr5#Bs%KORaWdf`kfJP;KOqQSVPa0$dSI*g85Wy z)+}O|+87Es?nL9W z?(tH9iH7{&C(i0JvB&7)g9opM)g`z#W`ID!@MpAAPM!4^fGlmnT=dsWRj2%04 z$o#?r1Ve7?p-~|h>F4Y^Q3QAz^_^$D{Gr%_4StWoU3jpiuVoN9VMKwM<+)B*baeVS zf4It-?FJpnn+1#EEWr#Ac$CBfRFB30@6DB3|6UXBCBMea_>mBqh_+Qo8O78TGTZOw z5by+HwPp?JCHXA92sa^QQD`Pyq+iB`S0eT0Kk5P*2F@JTNIKkb?u$q>#%v1(V=ZGb zMjazC#PCi?(YN8Ofj|?ON;T= zRzgyzVnJ3PXWvI>1r2rRGRlk?VcAVa22&>nk(wN?V$koxVf*jNW}%CXVdUc<@iXdB z$K8rmmJE*Dv|q^t#{`aP+(9AyC$2y?(C`zz=~zp`3W(#KvATQw{YwrbHGo)7%GJU& zSG&W6HxCZds)rgGi!Dxf@J^YTkAxXHMA^7;9F-yCF==#xwcp{;VwOOw|NI6A#tgCq z|I_h@(jiKO-+V?y;hG_9S2XPNYD)|6kfB3GY$7ZRdz;gn7$UV zwAd?(3dr>-VUQN-(8uVf7wD;@tGlCpkAp3Ccq^-)`kHujPhZwxy$LG#=;2t;>3(X; z$TP}~afGlOsdV5CR&wQK~SS1Uioh8gy6m4U?wxl9>MH#*fMVs#3-@2z>`|U=kol za&k9#pZ%D9L4gx3dEXox$t=Gbni~e_9 z3Eh|~Req6{HNbXToGs`*BwPT^;YP0Ch>SwSlw zcX~$=BU-LoH)Gng&b#^Sm~CPhP*_m|IKT7uXzTSrhmAyduReVgm6R%79;;;R({9>s zjbA=^V=l9eNn%65_)Y1zJxYlJ18o5X&!~ELx^GmNMrUMd> z=k_D|;L>tfClZK4dJE5GngE2uJpV(-kBUm=h1-3C&YZbSX)T)2nfQ*x++gn9Si0RP z()lp>`aBli(Ah88>h;Xe=@phpFmd-*Xv#sXuOzL)?~aW*oNQ^x5L!`D=v3|QJ4xq; zdBnEK?BC2HCInpLbiz%;&HG6I&!5wMy{?$O(9ogrq;=>hD|?0Th6f=Ehq#Y-hg!y# z>gwp+$oGbtBU?dKCczi%1HNzbb?E*WszBi8P(H|N&$6&IH%FcQ;QoD_1(q_mKq=dP ze~Iv3%UM3YBgs1uEVr+1n>L+y1MPJbd@@)qQx+LP_w|wMCaKM?tgJL$v10rE%3h;a zl#gn8TUvbYZn^h%AE)U$N64)48zwUpQa;i`QBp@T-lCz-L9&+N9;82z-@;>wrc6?~ z_`^V~GYt)E0J!j?5Iw-0vl+Z4j0`JqoMX3ZGO!dOlr0ijlw4HLp%)W{FGl$-q_c!r zhx^_P7zv3fzMGWf2VzA%Aj&sw9n98f=!U{T{mO9@|EzD*!m+yYXuCk_7R!`7UO}R? zn-C#n6Lb%MH1bU3WC#9cOgz;gU9sW}jHDrxtPhzOWd?D!CL;p;{^{e#w2jcfk9bK| z-L9&e|G4$nETVdO-x3bNDgxj%39PzTpIg8&Ssh9;LK{u<*|)ExgN|U};>EN|umwe* zdzEL5k&U^!##s&-FhEe6K5e*PczrxH*to65<^JkhmCZzII@L@zY>p|8o_0LNmot** zi%S=)jHC~R$m7T85>a@?_v+rQ+gJ=RJMw=!@8#aTf4@sd(lV=YtL`6waUcO7J!%w# z5e_ngo!t~P7?w>G$_0tu2F9T&X5^y(Q9#Gk9hOE_2$K(6MC11O9xg_ZL&mt^%nu4Z z)wby!rVSLQrPaJ}!*$cAZx>h{X^DF}`@dFkfSzyn5i7?Yo)l=5WV*#*6{q(Ibef@W zm&Xp>^3^A7@fYVs3^6PyFweF{;0%i1p+luuBL6-ROlBMn7^KkYpJxiS_CI+qMxotW@-^yX#x*`h17z$d_7^WrsKu9L)_|d4u^O2Ln|9}=@ z*@tPNUGZ~=%L*OjG@LO8-`#8C3FIvdG#E3c+PPYl`?I;+;KZy-VnVS7!RH8q@&a(Giw;My^8`T^mE;M?wV)6foQ?I z0eI3cDIG)i?9-?7C7NP1*!tJHUN_lDuX_zvRP58e`v*tr>tk`dsiZ0a&~erQYEZdo zmV%W@r>gUP|LKu1uW8-iifK-Sj{fuKt7eP-Hi57*IYD+q zBrnf0Vg2sJ0Bn|H}JkX!T`-aI(2w@9*6=Fx3GKyV8Y} zmsS{-W6($b!pM$HKx`}V~zuEZQaz8wED9tsSRaiA{_#al;4yb#*h^=k-?XU>#*pIdyH zW)TFEoKbXCju}3Dh7QLW#zbU>+=H;Nu!(O7ZL7jmQMI`_ZrD)f@k?i#F?4PKItM?+ z^2O&KcV%T*IwtT?t*P%Awx#gOYTN+*BkzOKUs~O`d6Nl_lIwKN!6{DB)0=;0u0khi z8Uj&&>Aq$76k{HdXW}UDt-IIHFIYeqgN6+wy^S;s24|t1=~I19w?jci4F?rT9_jPq5-lTiCOFWO3Bq5I z>fi7krumLhM8pKiniPmN|{|(+T+zBST}>rVAre9KNyU+d!I0 zw}2bQ^q(;wUAu!MYH%Oef_L40_wLlFOgyR2n?C5X=_<27Jut$DiGtn1cgmzq6%u`h z1F&TE4~;p4!WVM{GWmBl++K)(+Jkr*;C#pNN8EQ|*Ne601MY{#>eUOQZO(YYrtqjP zV2#ig3kATWPS}-DxB4~YIDq~@-Ry`-9ku~F-z9SEd@HKts5eRtzT6YBs?9~OxJ6V{ ztD&l4^mQcdw0@DWQfFNZnb-Q$^{S;6l9W$P&Zke zCIH`T?Cm9VI|H;7GWn6w4KenX^z4Y~=anR*yOL`MqKt>AA=7{M#bb9?(z*}MlBBS0D< z14>O?CfICXh}*LE7zFK`dNQpLi)=PJc^Z9TYHyEvGG!0gh?Wq17M)M}k8E*C)4q!^ z1IZs|p=`9r%B6cZAJ5Yh)nEMC^b-;kS*6ki*CX(r+sE?pJvzW$ob9o(A8M|UxLOQiLqKE+*!Hv5MUmyGE-$>Q?I za}S_IXv=s4qRDQ8ouz&D@slSQwf)$-wO68%eb&hoGw`M0*=KH@8-lilWKrRx$kIUw z>GjfSsP>mE)H&kt7T?ORC>ZvV@_*z(Eke^&l$C+&nQ*xJQNM|^aF1kXV2LX99{X+8 zj5usPSr4FJbUY}~@hYh0kQ6h1aALplqWKzj&&!j(a_ojTrd8OkSMw7|P|1)MH#Na~prWD$ zIiJ07G{tD6BwLKdesFMfUc96>9_00Hg=6D|*TjSPP1WN)Mq3E}}# zrG4*lIkjUgCrz4!5fYTEmw)Ad9X&e=hMHIXp*-^i=X>*vdSH_{1h|=Os zUhX|`z^t*U*ja_9BDJ@#qpdwXS&`ULWd~s|H~~R+RF)k9vzWzDSU9H(;fEeay6y8h z8995Y4e74}XJ4^oNkU--$@AiyJ6jk;xEK0Od8Kp0!0=X#bdIHSymwsobaC-GO4N=u zrstOw#SjJ^ij?OTm2H$_t+HJzy?wcF*rdd8a*IpmT3^HQJZg!Pkx|wU9mY#{?MjSU zh@~X1Vc@mYP~T!>zNl zpotsp8R{h!6$2f97pfhbT^MFe7D$vhqe!WN*JvT=I&oz8wqVSRe<&^~@gK8#Ha8He z0<9wxY6lG(aX1N3h?Ry3RQbm7-^p{2*s=atOV(9L27SH&jejQC(oedSMr8Zv>$glj zd58%f)Uk|m%fJ+(rspY)HlwK*8B{iU^aj#aZpd*{=#uYWXg_0w4h{9_wy6Q_>^=c> z@lM$yxI(Ak-%0&ak`aM-ECaT9ni`rl(##`(yFyEBCeCt}Q5c20t8iKY)$i%OiVPF* z#u#u9oShctlY^$h`@_ohp2Igjn6f+fOSLXzj8R`-h zG1XqM)7Lv__U_s9*I#~Nb|QVsaIM`Z3{v3Qtr)d>Ol;5QvV&_^HCD=}s_f&|8HS2m zCkR05><9Nz_rryiMSN&;uvT^bc^FL}{RL0?P zhV$nuOy#a$zjya8A1^-)sIHgQe8e!w8__g%LE*BVks_E!t{sal4}H%#EujT*_{e}4 zKOY}hcDparRjbgDbZUoI2ZfSygS&=bv@A{8bEouTtmfURz%VJe&whjx3MF4_xNwVX1`` zah4q)Gzvpz>cBa*Oq_CR?}m%Cj-sg}sVG|S08g_qhXA_?+JX`>Pu}M3{iLvhn*hlY z^hEE_m?^XVdiLzuo;`F&3bZ-(osJHHJZ>1`9gmb)_vO|YP6~%k>v4X+e1lj-8)KZJN3oxbP^FM;jVb^KmFvL+@+(NmxCrne(pz9 z*gSN15bNC#lCN0Nt1^X9Wf5MLNVcDBwEf3V#;xK;%AAN4x-0L!2VWaCY2H4#Jwz?)9^aR6&U6FXi$$IQNXDr+ zNvW)Ig+Z5__7~i~p*b(=#pJe6CBIf_l+8QRU*Ug))`8Gk#6V=SB$qTCiqKpS8Z?PwYh(#8n4##;GuM4Ih zQ`;BEOB!G{gVHfuL-q)?R|A2Lej+v3+U0T>+9SMFewa^whTk_Wa;Hw7+&WobU!Svy z)ThGHh3>uEuX|h`$7~k!h{%YDb{#tS`1tUXI~;2ML6<1Eq)WJsX=nd-0z~i7`DG{n zK^rEXm^h^8o5cPXcJgW3U+(wm=jsh!b3G>q+*h9Re4{~=+U3V4pxmSj%*4t!6Tf*H ztiNm&w-N-!7xY@5-XT%r>2(ix)de<*2&bK z;11XoTrs8`KFipYOiAV56j(`!->%)dp&&;d3ZYE7?yb1|{;rWhKeb%=Exxb%`9SXe z|NJsx;3TJ$C-pO~^_O4#O1q!dKzZ|?gI*f;>Q=d{ZClR>14GA?Ploo1Fbhol-mnSh z%Bi{Gw&(j+|52bt{fcp@CvAiahjr_?Fx+f+iI$EiBfo%pHflR%)w`Xq-=SWdUsP0K zL}zS5+RF(eM_%C8F;Iaiv&U1w#kF-vB2f0`EUGRD3a#mkB1hLhw^w5zR90FPdEZU8 zXV2*WV~zMRrScIi*K>=@&?;n~)mDFb2bmMm(+bu-TD$jcX^2#I$Ehc#>+Mn%Yqg1U zN_f`DyUt@d#YL7h0fTm*fx+b#V-6>o)SOegyJW=TrSruow}Q~_E%rpq*K75mUFuY; zfV%kZ2cHfNc6n6rSA%?y?%gUkru}KzE5gjCQ>T8qdvE+XEmkl8T2rVk?AaJ%Uk>KlZZY4%ZEk3mcqLK>BrrB{UYA-|LT#WtMyOhRk1~Af#Bb z!Z>J*KPf(*BMbrQE&4}o@@IlN2+|5Tfiz@|Q}2JjDff~8Qsz7NAboEvSA9Q={7RKe zL>C2u^idyQnOAv1po6HVojox0d7N|Uz!8nCJ?>Ok#IS9Z&ph;ZnDNM&8k$b_sZ+P5 z6;5DsD7o}sgXb`ek$Bgr*~MW1EUD*_mas$9`&%;o8~WSH%nofW=gjNiy;`>k!Ll4l z3x_0ufq*e<)^1PKJgrFw2pdc2c-_83wtM$Mg9hQ_h%@49Mm78k6>NFS$`ckkRKEVqKolIR1mY3;%bYj zC$a3q-i*|Y9HL2>p4YPaY`VxfYyPzWts*F-C>SU7c|f(o66)Epqr3uSB$69M!cbxx znJ54nj2rhvp;jaHm0}RU0T&c(-!EgqqKrX~A4{Q1e)kF-pE-sHshxlfp|K@zfZwnK zz^~#}zN7Uwgmb-RSu?pq2aF$I2Z2@XQklh^z!7S(pB3qz+qS_&V$?^Ww2>+9@z0Cm zsq-4NA*R;z_tssQCQURQeequG6Z5Y0=M_WlU}7;&RW*It1-grvj11_3tf3zkJVkbe zHqqjHO-+-Nvl&W(XaSGGNLD67Bbu@4ZD4N9UG5Vn6!*UVApZ#Uz&!_aXGS3a0K=1L z#xh96lxBi+70M`#{&|T@LJL4*$N{kuS&9OXKF9^BlhEE6vmC9g9xfR{N$iZD+c(2X zoW;NX*`N>?zeY>N8G)(7SApWHYs(4)+n+2aoBg>5l^WFZe(ZFA>u(QRl^$rn`k2%$ z>p@!I`NRzByXj%krSnGn)KaVG^}bbf%x}j$n>34}`KC$v?~?<9pV`?)p5EB1=ZNdS z|D^n#M=MMTzWYVB)gBLN6D?P_*wF{y_xo|?NO%7Sav`P@D(e@gRl4qpxHh%S*jsMo zvK!g;S=qQ|YvAC6_TLPtE6qw7!FIz0?M2N%IH4m2%3k2=FkIPqOmn|Mp2(^M*9Qn^ zr!SfYDQjsJ!0X2(+$@EqZbNBrJIt1QJn8yctfOmkgeck0Fg7mE6&@1xJNNMoC1Bl| zopM@c>kPSJBi{(ke8@*iG-3{!6{`DZj-xwm6~ZR87YH;`|M;P`1p*f2GMWtVq*YCS z>eREOVyLVk=CGxy2bzW}tazWkfw{=!mee?A_!I;m+_MMpI+YJG>$vXCTer{w+Vf7J zuU5-cXiI@Y;A9v@@gq#c;1d?xKADGVlZVV=tKX$wawh@fQhZra@*eqrRRd9jVli8y z{C#>^d3=1!Q0+cvB}NW)Td?6mY6CQrnjugxq)i(UJDaR1q@ly*)2V^Hp)fEHbgjNy zUo|~J!etAJfBcNL?~swxbal45UxRiRB3PX+XzmH3RWis3mlK6gPDf?CI^FQ>n6flC z8wyfe3NcG>b-T4_1f`b3iV*ZErdZ!*wU6AqD5a9&FaKn(jRpnz$&XLDK=Wsn7( zSzb!z$<2l&lD@_r09VrVd2Qd*`r*;v13yMW(;k1q+daM-$5r&J3cC~G5^Nx-P&JQ? zE+c@^{lhc6Rb7{JtSol9)87Y~H*(SNh`Gqa!Bi0ky24arM>KKg!-@3(nLyBRa30cF zeA?4j!jXr-nSW%LNpoh1fq0#Uqa5vhrLz{7e-i)3)Z4FJWvz5?+S#{iHE!tp?07fc z4#{L-j3$%_l)BeiSuMu;8BxTVuFm+AFwH8@Z`-vQ#!R-AF|wIexVBV89LG{zR-Z#Y z3x-+{v&de~fx#5@H44>j*L}oMbf1n_h|++hm_SA7ZP8>B0MpJA6U{2;(o6-JF-`JL zwEHp|M16n3vtpf_$HUUJrHI7-X{GAz(pQ)6U|h?hP{x&IC<=J()G6ay{{b@&JtlAo z&9MJ?2Wy^&bQ|}YXLb_N&5lfiaq!sa83Ed->@s@XL7sa&OiiPK@n-UZ^x%r27?9O; z9q;iFAoywgMv@FG`r(#L@5D7V@u zKKFYjty*TCXCsJSqH3J97SO|E=LSkdJH3_^F@R(8d8|Vj=vo7ly%iZ+CO4j}fx}1w zKj450Uh>IO^3=9aS_?8pnB0r&X}iPuwt6tKp%)h8G0Bc;FQ?J_3f?lA5o-*j!f97ke3?E zYG{1qEFQh`?q5j3eD>|5izoT8ijrd(=%}Wqgi$;1Qv)9eSOYgw%!#y~F}4t@_V$w< zE74-dF1@}PISUKMzwXUI%KW&uht@E92Yh+4fkCC0Nu2^ZYIcU~bz!T`8}c!-TZj!K z&4bde0Z-9bKltRJ`a_AcfYnpGOe0Xxfk2%o0Z!F96mPoN%RywZQ$ zC~^vI#Pb*0TucPQ0%}F#E@B5jLZmXyNKO?66;DE4mHYQ!3F8>-*7?z&gh8;9YOV>& zUD(DMjm-*bSVxtI&LLLNst`@wk-i2J!(RhN7c!*{kP4VlFSkq6b!z;Q5V)#wL0p5~ z?4`94oh_dO|6_Y1IK^o8#@9luG*fCRR1|CsaUVys7rW%ONe~xRibGwq>S_lqsl#K} z)g;@;ZNOm4XaD{e>u<}Fghko8nYidi8c#1U}??0eIePOcHv2}iPs&kq-I;%eU=#6NMsP?vW zK5i24x_dIB)Bzq=nd_qdl;)Z#LQ|mlL!uz7X2abwLyHzPKe*r$jyTD7D;Ye0O^&hA z44t2kOJzTd2hS@_JBJUsrcy{tmw(2Mp z-FhAsB&S6aLeRN$bw!qLLX5<2_){9;HgX0re5&1e9C(Bkp&$i;uJF! zyJLB>6&BNC0%t_>S`8OxFmIml*^VZ|6DWq9oEx0}1jN6bf~vC$c}b1Z8=WN|I!HwQ z1%k8W>VFyaDjK(;*4C8>N``ora!R(t$COEO;<*luT&|0ZN6e5w1EKaOvFDhV6vfv^c_~Jlai8c=EoM>@ zI^xujM3aVG6DFH)3AWX!3{AY8d*8)W6w+3G)bF{;fx!8FEO{20{4r|%DM{3ONGH}j z+Tuu-&QQ|*%pEcWbgulGs0^G%@uUdJVNoC&Fz1>)t%YTHL7oK`U(@*~QHm&CezWKIO+VWjJ~e5a3FMoa z{4v|>`vjj|{>h)ik%@Kb!0hi^nG9g#F6-B6@Q@+D%5%mE;~eg-=$fYGs&(7$BS5af zjG3qz&u4!fHh8eo^H6L_Q` zx|Wd0oYY?Ri;Jm?Xxa8hr)Ou6VaD^Drdw+(3VrtMxyZJLn*)7?tim$-6fuFgq{%r) z1S8+nmJ%sphgqz!ilR)FLrBy9<00+0HJg#9(psoTaX*j}4Oq)}N7^=pTX&^>5KSP_ zVOdEmy~vnUyR%M(1;iCN!i=KcW6Wkgax;&5T;W+Qk|3?y?}}un+4dfpZCk2nedJYX z=GdY!D<%ahFVpZ~3|yw&H7BWKSqEzElrz_9bX_;;{uXHpJRzTFE$`i%Ix>ODSg=S9 z?;kY0w`nm8kGB(ej~ND4ZrrLjxw*u)Y4RT2Sk51M8aQww9h&a7^_$a_OUaEy?b9fuI`7%SIDZ`!m>v?1kmHHUzXkZ(i#Q{}Bo()032l`I+E zbRmDEy%QaBcGh6M;>C9yHWPk8JTAVjhg%RQJFD7HgRnFP0qj%FBVQpr$-d9_T7KuQ z^hbVpISI9p8q*a;d$xU%{Jv3dt=P{e)Q-f??d_;NiT1#>{c(!@HJovAD+&Z_aJcvWr$%6 z4Iw!C*lRyam%>HlCGs9zKRZWXB%l$-fu|TktyV$e4$ea&NR`)Co)K1&7Twtf9H$ke zqX@pW^3%iew)YqvFby_2yY@w;-rRl^z)F&jO8SzOU!AbcANa$;1N7QR`m5zl@Bm_e zsJ1L_9&boLT%r?l>D4w$%vd%neVZanp|Pql*z_RS(BKd=JNSp(m`fWBx!Wl>%~|B= zj7^7qwSJmkCqd>qL1Ww|yrd#1N`T&6v9ZvsN!huXUf(PT*v5yu(w~3bxO7YZP%q8Z zdQ-+%OG?K(kL-Eqkhau>z0UeApE)5fK|EoYVsw6hXuZtxYyRIV>vw*KF4g|F+_rvT z{pdN->TT+_9I81btz~CE+y3tv(!8E~+3#yv-CrIWruCy{Ye_Bo^u*R)x=N|UWv-0Y zr4fBE$87rYBYcxkEnd0#F)n+1?3mFW=U>$yDsKP1WM%Ht4C!l$)54N3aJ$x-| z%BLP0bE4$J>*12}5_LYHhxE0*(=f+uYLY4J7hhZfJ5Gk#3j;U66P z-5Q=fyR0^92)}M(_aNl#g3A%7OlLn|m)-kWR^uVt{0uqcm$rQMEslZxCw#~=+3Nj^ zWbwt<_Cf6q1!j(qiGKBNrTVhv*M4wo*!TYNjp7|&Ew{X1TE2t2F*P60sSh;nsZ|xY zN49c&)M{}N^ltdvJMx3Ky(D`EPu$nzLsVxaS=)v4?FY8}Fz#iOL`3@XNd9Z}b*1+{ zN9sB##YJ%wRHB~jxU5in*kFasn^SL3^gr3}maV;7vbMMX7=tIu>(UM4`JsI!X}#57 zJQ_W?_zz9VwvMC|eB7!O@ zvH!A)vX3`y-bK%vF(Zi|p&{boyG_)Vejg&+aOg;taxw{KSWR&RPaXANDW z{T0_F2IYlmn$E6Cllqs;^NBUc%Gz3W(bM~vG?$16+0KQp#P$5g9qq;SBxk_%S9BF) z_SjHFAQhHC(xhlbbYW`PUKLt*egKZuuf1`JW8?c&U40w~rSngKTVl?rs2~uTg4-Ei zactLn+<8O{=s?$))MoTZYDSYyhP<25X_bl7yW!c1PA+STdS#kxs@a5}4LMV~_ib_V zO@~4KM~3K!o^XA4r>{~{&D*XEucYpYR&OElY1PWt|8qFiwVzf)9L z-G)&YF=e~w1V@{|u8cRiLb*pCPpCj)2%x(~TIfVcg#lWb^$|}_fkPJMh&T_TGC~^2 zi5OYzk7SIL88ixu*f@l8+=naJg>wq3Ct+PO4|V`$BXJ6>fIM(uzkcC`j})z_Cuz_m z1e51wG#;!EImeNozR!#*0pJnvnA9;8lvIbbRsAB*zgq$WGUBr!I)zjT05H?;oHJ38 zs|^T7;Z3zhx`v>~8BpuSty}Zw&h?O{`-1MjIg1vlgDZ2%=~7>t9hdbbpj182EuUKB zwY0ur*@F1dS@~ot@pLjFmOn{qC4G$!HWDo@DULp2gYMRV*?78tefq(sJh*9LS-E-@ z6_fYRUqG9J)KVIU#0L}dFuNeGSPYp5SSd|px3=_gJPo)MxpwfNK?|rhsWdmY?J?WL zM1pK;v-AsA6zCci(F)*N(Je<7>Iztg7$~gB{B{kP0>yga ztK1jr%y?OwL#8wdXICfNhmg^8l&TkBqPpxM?_p<@aW*uRB`PLz@VUqYKS7RyjxI*d zN{_t$>ecUT(~ML|e5J2}_elyu8-~;*itlPdB{e6!K?md9@K?Bk>hC<57yXeGxhxo3 z%jiTm2dK zzm5&9{Ea@RL)SVZ=_Wc9Tx~6Pj*31ioMIPaRc0{`oG`%!Ew&K;0xB@rGR^J*!Y^+&9vJu+m?QT_7cfEr|o zlqQ120ZNM_@t|fViKmMdOnxODVt#Q!A-%Hjl^f`IXZPe4=$>KAL}85mjMUN(Iahfe zq8`t~&ZF|CnMy3gs#jk6wbPoUF&=FxCVfUzpi-5C6 zTlsQII}&7h4=y7cj5%N%Sp>3`Tcp{XxCUrTu|_PYJ!@v7`TGP4!M|%sW&h7e_zrLH zqN?|+mCc80XlOw8chJ~Ua}Yy#zM%QEfw*8O`Op-VK7Vn4pb#1J zL#u>z3kWqXS_Ue`l|DxEaT9=1AlTSB^>KK!o79sOmrHep+q&J$Yue<=Qu1rFq9e#{ zzX8WSva6U|;BRr{bfi(n@EH_l07noy94^A_s+*GWHw!FQnn)nQ7=az<8yE<7XyCTT zkty&dY$yE&Lv1OEs(k~gd-8(^G|{BvO9iFNyYe}BaJ85q)A;Z$w1|FpN))TW9r7Mc zP$JTaEZG)ucHhG{wOAkma~i&d^tjW=;%;qq$t@X6phK zd+z(|FHwmt|EQO3$BqFq9vT|^hHf`FN zI2A=mU&G;)4G2h*mUXP@!hQad+<7D%P?q0!<8HU@HI~o+e){-t;eASRw*5Mhb75ez z&fJ_4dh4RpD5StM!Lq<0fW4pAf-Mp@QwljxU_gihdIpOMSs8na84@YztH3`1HYn;? z&Y6lp{E@wmyFvP~dO-zkvQ8JR*PGU_6Szl;g z;H!2)n|^LbVO2me7*o40Fr*S+J+CKEYXT4Foe-`aUB;cwnjO=zOx}Z(XwK^Lce=ne zh61xmzWL>V`Yq6yfhL%ZxT(Q`NHN)=z^y)1V#{lADj$p4@D-BLSdX};?%ln6J=v+f z{kBxA|sB`YnlGrl6n8Sp9J9-_X z-h6dM#yt>~aPz}C+2TsYQ%QZiq!PZ#P=L8*=))zzl$q-eHvd%P*W|vXSuF+#P!M(> z`HFxnP_Fn-5utxdH{6y~$w4SriH_N2H$01XG+*h)C$Q2O(L$C~Rp)})fLMue+vM@I zu}6zG<13WT#WTNp<*%wL_t62I{v>y8bWIzW=BFmza&{ltdb zKWyPe5-Xst(OsK~qN)Jje9Ny6|5jCxKNkbzK*1qS#K_7Q{$A$MyRcHCBXqc>UH1uwX%q-y=K}p9+&z_-aWf&;hRVl zWBQMhq9RwalHY?R*Bgna(l-i{XJfUcj-_^&JskP-VSus!>$0O>lzD;mXIs|SUoM=l z|FRhBRNt=igAKcCiPAuT;G5*?j%F2bVi!X@kkg|6FJe`Wt8>K2d$Fo*x?=6ayz^=XyhvmYUbRi|&#G#rEGF{Utbn0b`D zfA<6B;8^%Y);WYiaH=_qnycg&+EVPMEEG8~ZCX;q#h#;9OqN+ zLK_5u-LH7=SG)PfnAXG&%L&yp@BC+|o;D*6V~&Mn-)Nh;C^ zrRKW#tM_m9;xlj%c^E+)A6B@2r?2#3csM?_CAnmDL3;W?Y|#}DXI{*^=r ztFz$T$_{5U|4+30v)jb$XFk3B4M{{T;;W(s18MT`IFH1MOYq=;GsP!ICZ_j{rK-83 z?|Ko>0t0%kXrjM{3+<{K?hTJZ zTcZKROPQQ>_pW*6WBOWYBs+-BA`c%Q6;=w362gjxjfvsfJ!Cw=2ukbm$ulNZ0m-Uj zP5B=<@GN7H$2VDgNa+_B^#0~kLXEQ&*TIXdA9ClLQh%yY)2%P4@$1qYIN}*$5Wc!3BXIIjP`Sa#ceSZv(_xS2_H~%Fs<^b7padIo)!IlFdk!-m67~KE)w-L+Z~M!JTdL+ zh4qvjl$M`3HM1HJN)5s|NvALRC1~|^1FzW|1~MxV7GlE`%suAPH{$1)HF2}zj@0DA zKNpTMhpH^E;dfy+`~xOO<=-lqF5YFbk!f|w^6y$5ozozjxj$-sLF`cR&*L7Gk(sQc^p42wwvEiL3%DJ5p<6cY3ia%HhB#U`A=SF?O%B)Ppx{ z+xuL{ujhW-zGta_WyqAAHGPViK z?b{FEpZ_-#)vtctcUlY9;H&>>HO{AHy86}sSt*KK?wgOC#R7Ku<|ElIM*OGe4IZyJKho_TM(vLHh1eNPTR*k-TB{UEkK{~$g2{_5%GTV zTc*|GBY*kUy=>n9MM8=1iN^=rcIY4L3!fPm*MN)z4>hGhgSrdI?TKB5CLMB0^n?=C~gGs*-BHKFMt^h{7oOSHw=g%7gH}F?KSp2794^##sB;|9BHIc z(E_)uXj@MI!;H1XcFqAJd3&D;HDqhf#h3HqKJE);c%EL_+Kljb>Y&hw6io~b9Wi4- zht=2PVa7^+z37$gc&*IIvW5082|H@(=ot&HAgR`rfWyV&04=iwv5OiZl_b!=|R8@9sp@F+vB(z*JEoHfCSaTC|=~$N?|GmI!SisErtEImgxe+t)^> zv9eCK`~R3N;sg>N!YFzhBuB#EOGzmkohFCqltLW*xPv1+9wO*tw``Fn5TKB>B`IQy z**=%knmlC+{$*|D+v43$zEij{(CLL@`)BVOFjGPJH3}_*#|Y|Hj(VH=Jt%<4h_$82 z5sEffVGf96t7w^`lY*+o2vs{($+G43nz_xp;;XMF#v&1!@=Ym?ofE-_wz(@5)bv$g z4KWZdk}iG=BNr~K1^7biJ{xnW!xk~?_JQlCu#iGbWD#9NSzy|t))*S{Cs#^qAvv4! zI*H!t@MNedr+^>qq9p-dijL^40(uD*e@M2K)G>kbegI$x3QXxyF0f3N2TEJtBS%~x z9s25RH~%Fs=vgsoq-hMgw{Iz0Gm8LnCkeaa1q(LvYLGM|Q025p^gf3!>~O*eT=CUO zmgvedpUgSq7VQvV7&9IcgSB@7)0;bN&GiX-mHIFhGz_yS$uCIoy&{pZPNL`=9QP^z zc{K{zab()3POXB6L%__78n0S)>I+KN{LUM{CipD=9KWZLWb?@Mf^)z(IB)+V3xejI zd-o2j+gp$x#RL{d7lxo+oPhN<87UMOc3vO-+RbHZ%{)76qv4~>l;?nuXO$097h0@#od-f0&$7QUqpwL6zx@tu0{gS&U5 zk;cZCdRxL9atp@yJj2{^VkW>xQTr$FWE7xa5bL0Uz5H@>uaM}1v$P)I=qK=G0KdSB zpT5}>IZko|9gU6s&pEwEQ;)K~MwhO&pVx4)qJG%En5-uqf~BaiE0@PrJ>5N-RCoXd z5HHE^WEFfC0)7^}Wa!QMEEM!I#=sF{wA;6D+ec>@N^Ht}ZA{nrJl$y2`1i0 zIa@#B>Vhrqkyppmw&^I~*O^jC2L#L1tzfq4Tou>P3dLfz77E2!?>Tu!A|xbKUoEL= zm9zGB;Ai<3cdYJCRI66<40P6+bXx9P*Q4n!3%kR}_)ebwpS~|^t`LMEEX4W@@7e6ts zT}ueE`Bxgh{vTy_A0%NLN?xLfi2IPXcf9KEAGO_g>0JB0%cDQ6rAN%aKS(MfdE>S3LpUZ;^vo9 z9o)Ki?z{oOco<0?8G$fWhu7DC-7WCKTQ+GKeg<^-WN1frW$26Ql`?S%30p5y&Dw=N z_LOt@^^JiMQ!If+=Jw;MfUkZ$pc5T0$gW}$+>;SG^}rmr@sYm}x&gCtlfdS8-}v>Y z!Lk}P0iI!=TSDky{$vfsGLn#A#ykTn>6fu8V*W_zwIt=G+JR8kmAU9y$e9o(BTwg+LyVj9OAutHx0lMuoOg z=oziR#-O9bG$|iemey6EBDky%b@%)a4za(A;i#@0tSIK z<{}EObXtXI6qJJ; zLJ)Zk1WsE@fckiqxzrX#*y}nEuCNYlJ~$iAL+h59ExZ^qKgHSJ!j4{)ac`{!v`GQPrW_I~a{t=rd4e+lrVy%70Ezrj4tc(Q{wISsa^Wn8l#iECqCr}_ za5i(>o;NJP%tcJ-`BckU7qT$y6rGW@M{o=A4_w4b0Qv2v#Z{G(7lXtB!%v)G{fVh> z6bhhA#TEA5n^s@Wm_b1n8*QqKRV8JW`sbd-G!)(4)YaDT{)WwuRmRGmJH1F^m)m*h zr{spKHI|AQ4pq;##g;o?2Th=)(tJdWFBBf{~8MwSSZoEU) zJ%p45E5zy37hha)heZ!%sV;-pmeUdXPXs?onY3;bnGr=TVu}F1lMrNI&&r*+m9(`vk+}W2?5N=uICjv*Axxeng{SljtBiltWER7QY12FIXyM zg085$BScS;z0VbS(w-Vt+>TsNiy@7k8}~0wHWX7LI@=OR#)cZI9qKn!{ z{heVaG!tA}rTCwMUGhXlPtyWxo;7yq%$aw99@F*p)4rf@<5KUQ?bT<&#c5s+$(@ph zzjPbs5*Ayt!sILE?$Mp^AZy+F(LboL`;!dFlLHM-LJz}6!fLyQqPYimYs)+st~9nB zMshr8IuW`FmKXB%+(*-tIFNgcSn}JVB)Ur&#jzZ4>IH|RP-}(7obVouU-_oNJ(v=gg&-ZdDFbkW<%rHZH-|86^tk# z^j!+(P+hSn*QFz)cOc{@Z^_P8p<4#r{`E~6leK1MmjGQj{p(R{Tq0LzN0wC9HuJe3 zTPD? zxf=HGw1YtBO5$JX$J^4AOK>3Ovjrf;x5RKL%s{dl9K3GzYBb-gdubviU|>7vi`son zj3)S5`x#HPr39trly1K;kWLF_<%r5VnYtO)pFRvL@~WJ9?A{2YWbETGt8se}K0$M` z=zgf+=%e#Rb9zK-PzSeBV$E0OtKE}`rX-_}_G_K;UaakWO+Sc)wpDy+{ zJ^1WE;vToeUcQGOrv1)uxbKvaO#Bf!MRxM%Pb{~gG0l-{M4*6lFm;1Tt4 zLx*1o?Q=Ff`lWuPOv@)UJ+|{h-iE*bCHb^iPqHs<4ypIAHHjM$m#1ptJNEr8udw7B z#Rv2HH@u0wHPN-wsNnW z*3$E&Vae6-rBl{laPbS+c_mMNvE9-dGOxuAiG`AC-8-A&pW7ad{iMJD@1fc}mEpu% z^5^D9g6hz*13qp&_tTF%teM_%bZrv*)Yv~S$XQ~QS*z2gq~LIp;e_bzaa5y z{eH^{J+(ZydMsQ%TCwMz*>e}hN91Rfs^$&Pvbl7xIzDrb>W23@!%Je-%N~r1^yw`r zI@2O)zu1Q<^Sg zxcDOKd_sbt@z5DFBNWQ0-7d}s~P^NOH|K-y)H_jaD9BAHC&t-kadAT~rZ2dHu ziVrqdcBg0_yS^bybiEUmFM9g({{4w zt+uke#;nxIcp6|YDIG0SG&E>vsD;_#hqYH69R@TnEAjQ=K`|`3`C)qF!yomEF(c~# zAL8BwEa!ax|2Jp8Gcty5!-z;HTVpG`7V4brjAF93XfT9I(Wc!TH%-V+mX@(iND(P5 z${wO5D(w-`PWyWQ9`DH1oO6Ev-~V_0uj}7+E;^>=zCWM$=ly=Yp4;o!A=csHTVxGp zyJAajRn>TBXkW8i*buO1K-K+=ISsGh3_9nP9FR3pGuX^E$=Gu8=8`ydr*TgoXP+C? znTo6~`*pNg`sU5^=QQn+Ic!S0Il#p!X~HYdrcEjN0nM@3eDWO!oNviUiU?T0zU7Vm zstwUA@2F2wE_~d-{At(boBi zLu7kvixQv8te^ktTXkCg%93~Qw}&ti`Ol9nwH=mH-;I|}mKCX{c2`a>SC5zPJ4VCl z!*5{)()0mu_9$n_7TP9UbUeIGa^AqVq16AOh3YRgF?X$VMru2qkBp99b;awJD_H-qBUmzHlgi@XvRdQMY%Y5kJ=t3Ai6KbjSC!Ky^l);erT+MN}J)Aim4 z^lJX8r9z_TI)3OFwKpeKhP_HG&y89qm%r5XRRbk2E4%Ex{gPjrGY?T51bR$bU2Xim zMeV|@#+^#tvX$4UHxH|AuV=}7CAR3ck1gW{>L^y;Y1(Kwv%AL91rfn@o1Gp%I4E_u zavZcz*W}K9_A2?iKY6G>RK} z{(^Ps*j(F7IZ|ueOE2ZWm=n}bPwqjNe%i7k7^fwttyi-{bx4KyDK_2}=NaYd3bym^LUwHIAIlofjNpo?4E z-nVO5^Xobl-t@Iss>TxsOzy3>xhC~NaJMJ@^e1eS?0+SzP&9Wi`ljbHA6b$)%nsd7CxB^GNg4N5KcFAVD&km4~nIa)>f z;C70h+}%ah${JQaMva$rWsUn&``qqa)A;Oc)#aiCcNeMd@40eZgX+Nn)^aMlk~G!r zJmzPAe^jF+rt7%&9*G=7JOL}EoJ+Eu}t4n(O3(!et%aM=J z1|Xs^A)vLbor~@S8sh3Wg>&*aDo_xey=eIPy%#*6G!gZ8&r|D~U+QRAH?i4vNj@Uc zd-wi;_q@j*6Nb1fobjP#=an_yN?BSScWa)$st$~8Q8;yx^Pup;g0y*$ES1VPw74`p zKEC>Dw|TiyYL082pYjbuyXjsm{8>fH`FUXb8SjU)$~GkaD`ETNqrTbUcfAi>4m8!U z$=LQ~q5gv$qpC8_6?xzAxpCR18)I6Y(%vAr&{ z8Hos*V-z6rD)9esBnTu=Vlo2z0#$=;q$XxuBA=^Bp{U5&xw?jMkA7NqYtg@0_#uXY z+XM-sZy@JID$(lYHRBZUe`)cwQ!Qa__qi@^aoI?}2@VxgZCggFP29xh6?wIMmOv%)No5lX1A*BmbRK^a(YbujnE!j_q%kjIX)@j&Acfd z^Vc_(>gGIq?MsO;Y)a0h&9_gaj(TXJ=wFvb$CNnrx%|lN=cWj!l=p{+g_+tNjl6Ap z-8gr1xq5i6hiRG2rBeFl@ZnL@Ly;AL+vvKw+!%EI%8bXH% zHjdQmru94jwO`##^Fy)6m?+Ld)#4pgLL`SM-O8POCG_}SnSJuR6FKF}+pduKyW-|F zBj*;o9{*6q#{|(exu-?r`490{x$=gQNu~`?ityPqUeqW(Byt4=Gz#HFz)@VYaHh~Z z24MD~w`N4}ZehFRF3>cTj;<4_5v&aw1Eo25B8u_MwcJvO#V2}Mz%6cbE~CjGEr0SWnlnEu7wT!wX4gozQ_#K@y+Tv$yQ8lnYeI`23(0aw^B zHRkmRl#4WLSsKSQ4u9*?Ub#gu%ogj`9c3}Mx}F#v6@@s4tuY-c72p9B0Abf|#R&r7 zg5yBTCkRX$TO&h5Tc*G==OYgWc87Pj^Y)M1v;f{@0SN&t*yHTk50Ic;#2X74+kHB# ze0aSWG}Zg~Hl17WZs){i&X>>C7o2-DfM@k`%6AGfT_;&ZN^o@dCGj&?4PW1~ zHnFpQrr)o_-m4l+SQ4P|+7&Z;-@&;dzMR{!6T0zUqHY_jB8y*H{wmgE@IwTmJgokM7D-9)3T8i!~zQ7 z$`~_dBVt@oiAXjU5xkzbHT#fJtg91@?Uo*d*Ad0-(VKsDdZk;p}KGy;woC;#ig7djyV-S?19r zG2{dFEqT3Z;Hl`;S)n2onD!lfn0x^fq`u=7vw>#$xwN!$E6^MwW6CD7jA-kra(+9* zHl!^s9Piq%^-c3f;`9mK0`;aUyqfoTl;%d2gJ$$eJ6n5?|%Eybc*uJ~2#cb2eyO_E$mcG^+h=Gm4+gYMzo(Gt{>5eRtCm z%LE3Ak77DjsMwmzU3>&~N{rprc) z-Dgh+01;w_o5S+hx@c zB6cqf2w5N8P_VH5mHJ(@%3E|vD*=N`O)Uo0gF@if+i5N(9%c15c9ak@67T_v(E(fK zb)btfC)Uwjxt)*XrCP{9=bc#tAslq?Y#3!JcK^XK%_iN3$036)K5t;BU^#`$E z5v(+#0hGL^iDB>TS5V=|Pv7IlW%bIbgxNnZm^V*M%Ds**lUc3!n8+0bHWK}KCNIoLIg}XE0PF+GAE-{5PB~p6pCM4v_(~A)AO589+D~N+Qkg zyr?>u={!z=$Jp-Ba&QV{m=k@YgyxtZ3db~64oVDuO*os4jf_|frpuQvCzoTQ5COBb zVVK)A_`AN7H&-k|qKPIYaZl>%eQE}u-*5X*wu~E&CgN#Y-z|HNu#})#{JpNaEvkPN zUha7=t5D5tt-aie=H?~7CmN7yLCy!Kapv;+N=Bc!{qrXvPqRIc_wGs4b=$|__jlvt zYZ2l{&!X7kdj%TZkD;7M&JY|p>l*adlY`7e_#ifo91K=K-l!s)Mo-rXPpmR%ZJP^E zUulws(l!tAh!1xx^Sc*WJ1uZ}vGEr+4j*F08m&-$6ZcyuoACFUeOupF-YT`$dUWJd z0k1uYyz5$clOj)u9gd81C`l(JhihDGGC*(E+_}Y?Kf&O;{@;+;Ck5Ev_K|lX zyrpGCgVx`g_RUo`%1-Oxa{mO(w|#Agzqi!>vt1|J@jv~4!J+4kyvo!Nj;&{_X}v;BUW=X1(^yC z1;sHdr;)COZd+%XYx}pa;rLd7`9fA#rqhyfMs%Hg1(8(5a=|K;Mwz2s6F$`h{wSBVl(Vi`^jw4_f#oCQxo(dk z{JE$zm=#RifD4xGDVEQiO2PRnt;rx{Cvc@YkXwQMO+`ugB_I3s$x7TmpY)HS94^MhrV@R$j`wD3QF{6#l8X&u-0b9?=YGJDA_PBhqa*H_+?$QuwuEjNfNNLLrQhpweH0FlwO$P~<$ zFGpeb0T~p=4^$zr(5vS;Vct|}#H9?=D2JsI_Y-va?9 ztZaH`DFM!&?ZbmWxFxqAK_w{>_)y7LWS-1avHy|+@QsS-%lVv|lp)C$!G@H@u-?AD zB&XdcM@gdRIWT!`7;}i+{MJ6pZR6fMmFH9DU5xoKhocW$T3po`b+fBKuL#&P6Rmc9&poRB5gfM2dKbuiEbp$ZJm5V17g39fSkmQDtu0@ zRs+Az(N~zGEZE5E1|-7utlA{WElzA+u0Jky2{x`xuw)T2CaiQ^d?{1Um zR31&Lnt!@7gL^Q3(j;1iru}o(x~K@x^`sT-4ZMjk4AYWZh#+0A3|91JFp#H&)eF^| zkqgMS-YsPfRy5?pX0fi35uY(O@hGxkiF(#%@wGpt6D4HCVr}douMnV11(C{|4WSL4+WNK%3S5hgb00o<;Dp1OA#WA5X`3dksqE4dUC)H%2*ym#HP!8 zN42L>rpA6L4SsEhsD`3djVnBD`oHUxv!i``lYY zRa~LLch5Kl6jQS4QuH_C%~Hg&z$-v^7;N*%SF@5}0iuK+B_#Ai2a8*ZV^TDb5c2zVB?&4;NZdW+?rMe40S^E-2I<>O?(UYm}ErS57+%+V&d|v z>z||HYxR;%0IWt!Vr+byxCX$O8K;sZddRDAJ?hEPdNM{virIWi>Ym1S zxhN82jEs#Nv9SJKSJ#8xnky#a@}R!4@!|R<3m(tYCIp4_<@xQbXekx8>0 z85A0;1)TeWnYTCc>1V&Z5z<%WeX^sN5i>V)SDzjTtl0_m(#iYCoIA*LjR@dDA4nQ8 z2IsVivFw9v4a;?AS>)CW2^Vz>$`BR@HaBN(AA=$PWT0D5IEh~C3HM^igb8%D!NF`Ki42A`WXcoWx)9!vzqu%Jm`$-o^dccS`K zT(Ap{w6NtI0VF0589W%ta=8015%YYe|Ec2qeG)mam?s;F$X$gAg-G3RRdAK%Y)Tj< zqSR>%Nd*`r8zOz;ki4wXxSgPbXuAUkXu*kLk1 z+SYCyl1Rbmh4CSXi||RCL5YDoM(u#`jsO`pJPXwMo_ECny>LtF4qvcB>Q&Dn*-Du5 z?omx{rl&O9^k7KPl8cP%q0zgKgh?lTUE3Zk?#d0#85Hw!`EgpOsUEcnhek-oEAkPq zj-Z5S7Ox^9HI%+DoGMV(xH&#Ya&lM{TW8L^CQ3kFMJUacTk@6Zt97Wq#T;=VSY><3 zND{HAK5C{>ym&TitoHaQ!%G+Y7&}J3qwD7WYPo(R($7il=&lmxu6GUWi{et~JrQh) zacpgEw+Pw};kYLrn4D281R~ZdWAdWbt0PudpEA*7WP@1*Ya1cZQHMSb9ugk(|6dgRmW1>$Xqk0)0^LLB>$-c!6`6L>_x{3I|nuY4d_;}r7 zfEhlnzc^c&L7&~-mN5PxJnj1AMP@nWH)8Bfa|piM!4nv!K;!eS_}d#Z9|=2o*RDx- zGGfm+ZOp8_y|B#IM<+~6dWjY|aegzvnTT8|rk|n8bvW{5#U-rv%;LE1OX2TO_iRHD z02~NTcjcQ_7b#b{B2$mom4&yA=3CJN0iH$0Wb!kxclj$nERDP$|M+Oj15pI#`Pv

7u2HDkx8{NxYt-QS1LUOvBdtE0oLyw1myY1PY`qkL=85dKe-+h&GLWzs94axUGMNEH)eXZmpOF! zZ^|FF;%)zCQ>L*Xw)W1xe;qym;5o~6#>>6uytb;B6nDrTxe+P$zqXGpDW{xe$BL%t zTDd!}n)`}FdGLl=%_klVQ^-E3^&zQIOR?=M#ospi9p8H4zk05A37R-1XW{#m<7?)R zj~zDDdH7S4P3JAwJ^v%#;9&WbQO1*-t5T?OV~84~ZSAMWG(p4S>DG3dt^PrV$mG6m zVx5VwhiKtC<$zR?vc^aP6glT0z9DOkR9ib84Y_1$D>KIBKd#d?dS`a!T6)8&}0x8%hfs|~cC0DV-gyW@C zD?}g*XR2mRSRuo`E?iA$LQ(nCqD2z`UwKi0`BgP5+Fz9|@~R(+Tfuxx#xjp3AuXW9 zG;-5w;6z8|-^sf7@evALkX$#VwmvD(a!GCCW%prY_8qx@uIIdWK3Olyo93RJUL1rE zysqF#6cUY!;F<%twT0OMdIZOjci(YuX!E+Ne57?pNo{DB;S2;k*u4KQo`Hs$7q|SS zLyk+>O!;w*D%$uWJ*>hgBOc%*>?m57!9n;PHP&}OLm?b1Xa4x3w}JxVVTiZkIPTk^ z5MtmeB)xz4vSRh(nlzKI_(E!K8GrxNaokHH$r4gUptCO zcwSwb-(oH88OMxLSq=Bn_65zQIZZwrI^{X@o#j->WnrFuJ8(oUpW0AFu#7X;m&>P4 zr^r0c=P;dsK}Iw2cjN+6(2EG~2E+(z@-8YcIvp{SOCRq%D=Iu&q@DWv=isrF=mBF; z{1UUrODEHri9JWD0SEzj@&pjAuO0!Z{YbsHcmpboUrr3EQ4&EpObg<5aX{$FDeXWt zPVG=*e{zAxnzn~VSv|CQyY%o$iQf1ze>lh2_DfLL*=VOq*4Z4$jX z$T@^0#FvPiLG+*}M^u`HVc(G5qI8-tFX;?}exRqcy{7!v;nHJOc>Oq0Ernq6`WA@#y|ThbHhd#c-7eNlD7B zsV7WO0?B|>dTUb~sN1~G^D>P}6x(DR$00W(i)IjTl0pJbfNrObT2_pnB!lyn3mMS@ z5o~&`9^r5_m$0cNpo6GAfJojGEb7Xbn#4r1r*x;_N}*?<*C}Q^?i*QBPF!clWjQXV zWYv!~2jAQ)mF(T}zEjxQ-?#kGxyR`SyWZ+BDWue5o1zWATJGYYC3 ziv5c#Vs&bj*8DuSwmDxUnoR)2q9*2f%BJXtclYNN$2BFyT>yilhbfJIL=2}nv>44Y zk%54e-~n8x<8-1lJu7pYN#Qi5zz4a3HUbY5Ax$v+1n1JuV!^PZv_$`nadDJU7@*+z zYx#L?S^xoL0T+N}AvAa=8Osd;g$efs2aL;=Z#$avcB-hAZT^i>IeI^xj&z@QyU}9c zMiregPZy?S1?TG8Ef@A{Ack!c_MasS7WA;l1B9;S0q{?b6e!}1Q#@_os(|rWGLNr@mLQgA$OtrRFP5`i;~}v(jR=EK5Y(<8=Van9}%nwp)&5g z@}DaX5ppjRd>O|3oVz-UTKJ3T&>9l3pLaf=kL`h!Q>= zy~4fe8?7|WiwoNz5u1>+!=1;5TpjtH&yx&AJ-PR@!Qw1zH5TW77v+6FrYX}ef`*I_ zwyVknJP-4Ik(AH3?V zOkZg$EM`Y!ym;|HbwMr&DS=KMKW<#*uA(*_dh0#Y*>){Njgj&a?EmBG$Xh9VI-XTq zsd)t8g*L|F?)OWw$c=>RD2?!Sp7@3sPTK!>AchmtOc;ihb}^Ud{T?bFW(@0H;|!!N z58sgOeEED7vy<%JK9SrKKn4qwBYV4qykO;~mkMzL!x^urMBU9BA+U0pnOPjqOkx*| znX~83%jO|u<`lp*aHhhWf&yVfhBpC;ei$HYg5-E3(Sta>Fu|1ul4=HqPi_Tr4A3yD z?ZJcjdLU51PsDtZTV1AR6t=BX-zDdF_+Q9wIDR^;Zr0$iX~xC_6$S)(YcKAn;9avj zDfUeKBKgw=CK*m?NEXDP8cq=?FuI^{Him$*Dt1l}tRdpaXGR10bRPt%ExmX-%q$Lt z9192j0SIE)#A_@K4w;n6V^ST(kSuN(k~DC8>kS)(G-dJP!@b){g`qlY_dR+3Ri_&Y z!fgzW+&fx_!6qdyK@Z}9rA0QgE<>t0nd<UIugcM{>dn%-6#`TfOM#RC7KU!*Umobx6gypR_&SMfUO3UidQVcN3^vYdqtDRBeIk*rGXA_ zpxF++Nmb0Y4prcozUlHqxOFp9CPdN_F#j^DV0?9iAwaJ;d)@6&BAIWaw~^?Hcu99G zjm+U7kFPZ``)3pfq)h;{(DMqceeHO~;*+s(;n=_&{7d_5vqNwd#WlLWR|QmR*PcCb znDqSJ8{Tn)Y}o@v%$n_{O<&6oU=X_ll_%REqj%oo)+zC|WyVu8N(W}qKj=0os{)=2 z4=ed?aZT^{cu+dL0Yh_xZ4gE{HXu1 zurzo7n7rL7FOKiuKNi-3dklNDRJWF*XWp^#!=z78VIaX+(M(~+3YsbqK@N~_RkCOj zLU)o1{uV0zEJ>`S5KY->8s?nOqCM|$4dIZ=@EyoT{58vAYUcdBIN;GEgYGKRijNlu z?XFe&aO3DuQhTmc{)}`NMA`Eu=nqIyz(`f}8mTK=#z)|F;=^wp1+-;!>Ssq?>(6XS z92m?@L(?y9cK5~H$&jhS(1@V@NfEZXb2s@!*Str3>nK~DRd~>h$tlmCQC>ZFuVB09 z812#pWtj*K<;vL|5y`v5hZjjS=w#VA*l>A^-5=-jh>1kqJt7#II3da^)e$5npCd*B z$FLP_60)3dw*jsVApX$0Y`yv#nT%=lo}v3bCD+i?cZp89?osh-U5B~dY@Ju7T7YuW zt=|8hPx-pM~P7ErqE&+f_IH5zGVjY8nC#gC4bX*@tF zWnwa!(oBTZOuWX=q$@=yo8!#x%=4yg>BRi3Q^{)?s>+E-$(&)pC2Z!D@LTyh<;_uZ#0drypR#JxyL`cKM?t)^unS05Rcez?lFXoMP2_$bg&rj9>eN(n-JaX!|>T!$+*RCkwzBz`qSN?CF#6n)+9( zRl<{ns#|8N>CZGC!#)HIU>fm^@Y7fl{ck=5W&#VtBa9xCT!?@0XAKYou9|j6h?AW7&crj;&f@};)tcCQyw8?B&28_ z1PV`N##3cx57Yo%R4zcN0Lh5Uk!djR$mo2Sg^{C1T}N>s#7RBpmr34 zr9{p=GED>b4+oHnZIcM*30pT!M;v3^C=tD{dt9a}<{1cAzx*)^7j&J+kZ6S2Tw=J+ zjOD>yR6rudVG|e#*GXsCC@5kkqnbA@YyT|Vi2UIM+tL>G9U!r^DH9MB0Pl3;d1w)J z&8SgI+*1xv%JT2@HUq2D#2ntYFL^~cr-$Dv{JeBKcJPHF){VbZq+op%RkU0loXlW_ zx+}&|j1Y1`^l~{xJ4d|Bt+U}P#k6OL{yV95-BFrw?}jtpg!jNj71jj^F9XL$u9t=E ze^69u^@;=lLy}dKUBLMbyo_jzO@i}5?gVq_NNJ`^6+-|XJ}hD)4Cw*$3ByJVdw0Ok zY(C=uLw}-s&io068SDKJC5ir4*MWIvoKSO zqQ?OgvQ@GrW*13$RiFB8`{go}ZnDg{=1jpBrx*9MLhVsSWkiz$fremeGr47AS}TTc z&r0&Shtg7!W0ujK8S-8J$hI1) z4ovY~JKmWZ8^Fa1?ab-ZgQcU1Cr5=u2}rZp9lnxnn3|6RosrV-12@;TUx79uJBy3{ z)+w*+U!EQ@s5$f|4|g|Z9aq%A{CpvPLoGz$Z67@`be>zImE^FSO;>0*Krf8hV6jj! zJC=l9q;D%eGN278s@;)X_+9d+eVI(&GnYzCJcgBYD35~*S)by zHmz+Lx}HSLDCU_;M&vp4{r#o$iq6Ub-7_@Rh0SFdgz#Y-Ghra>u+OTvqoJ|cdnum`Cx@9$FD z#;CNepTrSeOid|7RW2;Q9>qetaAD-IVeivc zc?=L2copz0p+`UZPp;=NEWKpG%K;`^4iJYJ>E+#>NR%2xH0Ew+5R6rKEpuWt!`};e zf0x??8-XK;nV2%nS#Ic`bgD}|B^lkP*yR1AaA2T8K#qzNEiG%2UTHGNYv#}675xAO z(KyglFETZ41`KBtf6Z2ds^@2_UIa3~#19hcO04C&R74qOb%5GK39LX0+d}i0?qpRArze|~`)u(ZWmUJ&l6g^~6 zZ+SdW@(@Kqe@|r3QCWQ(2&eHYyBZ(VZWs#ikI@gq6Y1i|_|D6Bfj+}$(K(_GnkvUr z%CkYN$=et)g#16iFTM5NvT;LbtnA7X+;nT7;V0Ooq~SB{Vx|6bSoU1zZX(VD@P_TT z)*%!GGJ^deci2kQky?Yp#6+G454@^>R|ahX#{gwLcJyey*O|80Ef&znvIJ1#(?TvO zPNgcjmvKQjOE|Xzz$7Vn*szguWLRrfTR!>(yxl!^NS4=GS55`&VHM8>DoGV7S@EJ9 zg`40cDRq1tpsTCs&HETjd})T!Cp2yWm*A~U76_k~Ckage5n>{Uij**Z$~50YnYt_X zakA_91!C*zHFvIo!Jb8km3&AOrv<}Y0WSjy7{7P`(KIAxfLjXT3P+|;Zb58tFT&5# z39&VUwV#ZNYM^rsHP)Ce(hYf3foJsO*tXG@gC$TT5kpBXeRmb+VGm&Vd~bq%`uFRi zVpp6xYRs5WLhCQG4jaL3Fm(V4{`0+hlt_=K`$qkz z?rfTc1qHqpO8X%V)CqTC&qbuM4Ct1FP;LeF0R9dPtbw-2Lt`u1z?hVVyXggzK!hBu zC?4jp&!HjW=I2fBmG&7J%yiyKOyOXM_sATDGLKlLMv*#Ctxg?OW2`@=Ukdvbn|yk; z2q)r{gcc1it6)>!F+p^ual(`uW9-<|C;Gym9SEQw0>uV!$Jeff-+}{_(vqAEXD#4 zo{E%-J$Q8NfZ5pD0q5QUSp(mRDG;nWZZ4>a)9Gd}E=wQaXvCm^{{8wzayS-};Li35 z{LHyf4c_z)MkUiU%ycr@EbOV!D;!3SY#AK$dUB9I3=Jt^Qjd!XH&{q+@rZ$wUxBZc z)$7X4>8lXs7!-CCe);VBj5aP0T{)f2fo+r5+^gTn)++M|a#9|Ik7(mDo-I8T=QDvb z3t>x8rezXTOuftGBr)tlNQ&@WO{L_c#$CpESW0$IS##PLzn%49NJ67d0{^IGmkVH5 z*02Q^o~^liXQID;op~g+L*@w~cPktS{hFP6a>`KfRH+ReQ%{Hd@(W0DIJ|gJ5m$=} z8BsWZGd&vc&II6o?g7t9%~4ulE=?TgFXbhZhI?Q=ThGBo87??OB;s5=KWYwm+ow-A zaeE|s)W@jUY1yXAQQAOA?y0^&DyW5()s+0s>EbyM9|8JImInw0{H#Uw7H@P0WNjUV zL+g|*M=h_NJNXVJT(<;4FBOFF+UU(h=dpf;9Dr>=K)}*Wq8kz2LZ9HQ5^N;T4vd>b z4C32Jslx#wEEmXmwex3X{*${R{LA1h9t2|DouMZuc5rrEk#*m- zkEpHd_-Dme2S3pU@Lgr!-z&c?f61kQ=XD?AlmZcdqR*zCkGY}I+k4({D6=9-I+5>^Ht zKap~^5$vBgT*HI#;QoDHWoXY;?H@mMl@NAKl}Yi(jywKV#HG4$1Wamtcr)R(Q>Jeo zDZ7%@!iLm9Yf|$+S_-1+{D{v-(A=m(>IgQR-OM67zGteWA1+6wF)QzUoO@(V&NA0H zgv$k9AfN}%PAVQmk-e0al@r7m7evWbLR3ey&GAixFVN;EZ(^sq3uvtc=#k@Y?(Eq| zA^PN0z&OW^yF%O)whC-@w8+Ra86soPE+?x~mJJFIV#o&nF?C~G_I=(+F;T1VCf*OY zh3;DgvZJrBvrHdtsBv7ip=DA+LUGI_mN`Yvvq7ayI-x)0>jUpkp2tCJmB!&4 zFs1`sooKp`r56$+MwO9{aP3-MWqRhK2ZfoD0Yf4aOdIPSN^V8V#+KPW6wku?_3Z2G zbvM(ya&Fd?-sN91bPie_{|ku9LkbfkzC;Wu4Q#nI@e^9w&@V;vyxW+-p6)xe3@Skg zoNo;@*sNX}SKd60myOIxG_n0ODeWl<8~4^6W#8si^8f@KVZySqI#Zh9`Il2*H74zX zr3$BT6zONbd?ivyS=|q4OAY!oI>|oD?&iMh+S0g`{6H1iZmaTy+VQcjj&_S(-O=3< zsK!JpG3k4m!5i1SR)hHObL&P8?BtqU*XH+|>{IbzZl}B$kwSL(aO#TDfIPQnHHMT~ zUE!s%>nbhADXUShYkx$`ekW1A+>OGrQomDL5l3|G>xLCge#|h#w_SFYljZs`L&uN1TsB2^(3my6eP#Ihdo)&U6fMSo{xJW? z=hEmeU%)Vi|0?Bcg;+IwP7l57DN)=#!O>o&!mLP4&tCW7y{TyjQB~VdwTXSQdcYRj z*-2HWC3@3KLqpX5r)BPHD?>RI)hT}kqT9YFQ2{{OM(th7ASQ&ldCXg)z~Jl5_z5b~ zt}dtT>{Z&nuKnLP>h*X>i9=4QKV}v{lkw`-Z+gD_yyVu~xmTj2B%i)GFQHsy_W=kZ z@tgvBCb>mCu}_BzTk0!j#IcxxE+e*+BXnQUsl;d^b?FRyDJUM|`m z67m&%bnc0J&$WlYdNnXj{@LgG8Fj8#{~L1L(rZB*a{TPvIC<7IRu2edc#@^v%$HCS zvo&=IR8&+1#OhT%HV$(K5Syu8@^rR)7O!UUXSzqc`5OvmdP_)ZGyi=_ZNcoRmCG|P zVd;-?sX2Jl)U>-aSItE?BdftX$ffqttg<4bPuGiEN1cM=nB5h-!Wf!sp6(%10V`9l zNp6Xz3B(H~>}u`@T4jWZ6j_{|QmL%wo3+$DxLQcq6?ra#Loa#K9<1|A%tHh>BSrG_KaBV8X zxPMx>uu6oIwg#~xB$HPhzm`2j#1+t{vc*r8Lr~%{sK)>kFgc0}Y)9-|$ z&luB=cvxxqf4|*8Ag7kJVy9WtOQ`&Hy0Ku-VssQmiVGl;FmebxFNztzJ;tqCq{rfW z#UNW6;krB5Rec2jGF47Yp{D7#d?5@LbX}|kL0~l92F?TA^q?AISAfNDqQR0uJHWkc zm!N<0rP2}eGBEj42b!_!S|dNi;nzi3AJ+^@7^W16B8mcPn}k6&-|5j`{K8OH1_=>| zR1H@4?D=z3@c)3K_igQtxD+=cN40|7<0d-%qvp|ZH8;wLT7nl$2S z(9V~We_EVfAsd-{ef`YUCWD)lCz)!!xm*$w(zYdQsKQ&jJv+NVMT#J4(ZYp5LwCNW z19YCD`QOxFN{69Z)>4Y2?^lt6E~qhh_ZJs~9>@K%-_P^ zJ3dIQZDTU1Lke zA&(%F>WGK0Mg?)X!b9Hs1uTQ|zb$k4HxY~M?5F#x^Mn;I zscOh2%}aI4xgd)+_%v~aU@u6K@TfYaj02uNEL61acA6+#7?k)Q^d!+xZB8!+?U_s{ zHn>0qK5akCa(oeS{sSjcGPmY7Bfm<&%naCk%KT_}_r?c*F=odfVQ&_&af`C=9wMlpNli``9PP z$+V?NX;FE}g@!ttRZjB^Z->4K3E8QB;@RoC<=F=sfB9oq?D)opUtdfaw?8^+;HMvy z=L_8)gYOANnFd-R`j;*OX&)=t{Q~sf6`)<#RNgD(fh;zAyYKYz>GKdttjtH ze-Wv>RLdZt{eiyW8x@Tmz|n=-ucI_XSgNz9XWqrQaf#ozfdjNAlhhC zjuX%D59TN{h7KKiF9ZcMvJ4&jXPTvzjjah*Hs84KlD2`|!kFg~#P7Le??VIw#@>8*Hpw!YgqW#v}$;`Dw34Oy!Rb9Otk6%%d(0_dX z*kXI=e_t|x{>l!YBo1k>yXf$reCM{87j*bf8b1HO$t?=E1E{T`9uShyR!=PO!EdI% zrk~1XGk0_7AT$e&+WkAQ9cGH{->L7HMn*;gm|(9+g2!%6L;zjI2@#NOD4I74-K9SD zNrPlkx>fa2h--_|9|D8ncZ7e+aFruQ~ zQI@?|CSKODG=l&XAAAXio4_5QggA4jNaypAELvm_mplDbG7te%;LX>p;rjy741hOC z1=HIalg|`}Q(y_$FCi@MZ8{$mgoB^@3jCS<2AhH&R4K)CMxov2wkoOh647WC15Y zFY+5g(5Q&P$29H`0hkz&!PGzrEyKi&{{(};VO|G67rX)SoNkC_m^xpRWPH$}hMd*j49vv@9$egzwF3C)w49GIJ+7kK&S$%-4o|puPP$Dx< zpDrMhuPCNP40(z0XpEqeRN!S=wUv@&x{Vw+&KByMOXmi9h)LX_@DBF|4ZviWU9>9X zYKXMJojZ0QO*uz?#aKY~@M27s!V4s%!%Mf}a4(l=(?SXH40;QK<-m-wkz5D~Vb~`Y z_a8ZDp}ru91SbM8Zs0#z6Sx+V1Zp1w4<|-CQ*r+9xXY5Ax{o4foh=btj7MI7dM}11l+ana7>)~ zSi!Y6qZnvqA~dU2*<7$|6Vob=8zC>bGQOdED9yv`)~WL!bT-hFn6?Y_rCITc%HE zd5J7Z?g=X&qBG1a3o-~vI_(X08~P_oZ~uzl{}lX+3w^^$P4pa}KQx5ijaMl67=yQ0u*&?{Co+8xm-%wnVr`8!Wqs0NA$90fi zRu~Tm8^$YSP1?D2U8d?6)_;ES;{DXOhr70@?d_miuB`gMR4r2;+3SP?Qow@4joyFo zVD_w8N3nN#huv;xnt zeVLlxQn>F^zRtD2?5#;Mi!5>LCxrBCm?`Q@*UP>Lm6q`qZ{VVHbDiwE!q*4!vh>0CB0IT;5gIF z#;pF~k~fKdE|*^nnBqK{gDya;Nh;*(HamKDcvx)bnh22U)5i@3MmJxd2#CU2yIlgW zB>)v+hz;8LFI!%14u09{*E%0V(&}Va91HUqv=v)duIhAo@7_Loa}#I!zQ6q+rv~l#x$AF-cU;>tW5NIQ z=&`KluY09Kx)LB)8=vyv#O!}8Tsv*~#kkl=pQPs4I4@_@^XFCzbxpaND9D zf+_el4@-;CDYZ`Bu|s%nh3yT5;=!Xw{c$AD3@q-0t_|Hs7Zss%LQV&cR{VBaK$=ha zjJ7M#`nQ?$#*RN;Obr6U;jtMdd?cI;#H7Y+jb7B*nf{JYswRjRPYIeBUA7hT0Jrc{ zQ{B|eV*9nf)}8uy{mZMyy4y`jE9|*A4`9VoyFW+?6@)RZQXRSwQ)J-~iCprlJi9^x z!=VVMpyXF}rS3y^8`#kLlJolXNK5|nx8=R9py6dH2b0IN`ZPcuFMrRJnx&opXqX)9 zI;mat!u~#^U5R_+3qNw9P_fSlx+xwbc4Vdffvea#)^p?p3lJj;-m3e9%6hl@4IRo( zn_XbfZ5MLOmr+bU5mrm8o${>6anegv|Ma)nAXg$IWai8cwf~k?OTte5`7afBg|ixu zHF}O{0=$mX=Pj5=$eHxr^xV9qk#I$AgRKBIr%`kmYIf4lI5UTU=) zKVi035Y-0^be1h%+*?nK&Ozr!xJ`QU39WlWK#}0}gU#Y%SN{S=T?^7iW@g5UqdEcV zx!!GWul4WUJ=z`h6k}M-M##*2U>Fi>LejRSt?x7uitB5Ry&D<_g z<7_1@i^{YHtwmVrfM&4|Du|7Sqt zETyvyEk@>6_O?UfqRn_O2fIJtckC0y;^gewOzEln=^u?;yf^#=|0`!Xuo z@+L=7X7>U2KYF>3@7sqM+83(2tOgWJ&|J7)2>v1(j}np3QMnltN^B`KV8D(Tk>Irw zs4hQRmPs}RNJX4Co^qINlIXDu%dlOi01X{Z0R;{~!|CroKor#>kd_p?=)PU%5`7wQx?=ck3Pe~@J-Ogd_U2~d%-z3ln;s)B;FeVf zb%Q@YqBTH9fhKZmpHOD{!7&L zG!jlk>*Uh2~mpV>J6mAq(DXE3yDo# zO7ZH-`V|6~s<#VJIu@M^1hGm>OA{k<`C_z3AN6_Ei@`hSYlxf=d-e_^(>~dZ&sUSn zdqd%1J6xdueD1q=+=Me@^)EO`J!&0299fFwfjIs=S|dYfHY4dFTBFfhW30odkYS_6 z@)$ZV3gC%-;%NBR&ci1lQNZtpc3}c;AwVVq?>yN0<=tGsfe29dM6k%Z1LP)0AegpA zME?jG|NQyF$wKQw3D0`dM;%BYL=2pw(W19FIYo>V8al6O2w%itLuy4z1st28m9Gm5 zh*`YG)uNl?74hIz;}MzdV2njp^G{^tDGR zdWV=qUe3Nrz^lUukmJ`lc@dH$k~xM7k<6{=OjdtJHd0@Awo^~Za(Gt;TiO*p8zvRL z)4xk?*xDwIA5U=8NFgjVAzF-+1oR;M{9YfQG`0ec2U2Yr#0M0MD3EnH%H-N5ECZD7 z5cn!mQ9oJK@kDZsF#qZGVP==y3ED+P?|UtaQm9&Jqa*_A&K%g-Zs@3Z_S&}v{hzQQ ziaEQBw+fpfEvDU3&)Wk57eR=#O;#5)+C#v ze4wSs%5_-($bR;7eoN9fc=&kMfESZ0k2hb53RG3{GTf~dy7(Pk0>xz2MRdu4G2V(3 zXhRzoVT424A=)a33Z$CW5zp8cG$Go^SnW1o@@CZ7v}&ar)JKiVhAM>IK;|L1`f&S1 z%|c%`I|uq;THNbMr?l;hsu-pDL0CkYDvCX?7Rgi&A(YIZ%ecH6F{cB0F}1mwuo`SX zs?yP@X(YE$?NQ>3$&h7i%hg5C*(w^<)kcnV#e@K-$0IU#&Kyt#1Vxz>lWy*8cj-Fa z7^DA*oIkBvfCk{R7GR6Im(}xX`M8*T`Ett_Y0t8fm*vS`WM8tLx;lIN!>A$3i?U@+ z$2NW$)%@yQeBqkGj&>p4Q(1z7L**bA>=Yt&4BQd?3+Ik*^)o|`3d%!=%$uT{o0f4n z3U{iIb>aZVvdb3{f&ZFa(JF#sCXYBr;qJrj&ZSToan<87cOc6yWgZ*xt{JBSeK$Qs zFqKSCN#BQD{_aONBb6`*Loq@-kZEK4qs#*-21KU6cXoD`TR}+&_bDRDAOsq#i^(fk zKzDpugZ>JQu}BFR{N20M;7lw40(=NxVi7Sb+PeKU>$Lly``)ba_)*SPi)Aacm;2H) z7aZDi)mGQwBMaW0=>-7bw>Kmg?Z{jcoN?XJY-ZZz@+m-FK` z50hRhI6P+NS$Ew30F@6^QF<33 zXr3(&^;VsQr_jv2_3dq0WzwMvb!txQw>r*g#XLjXnT1=X8b&zg8kk?W))E%0(7iM{ zd70MIxkB@j*}KxJv#_^}T>51FW1a`ngFtI^H@e7)Nq~9#Kz;bAQKn(7`*zfusdAm) ztwwA1vETFk9Ni{fL*9{g+w_fOtK_0@M!nH28b86)OgC<5?X`mB=8Sd0iN7L0cuo0L z+_6~uNBqv>x29l*syvO+-iSBVHovmkfn7-IaqoG{`VAHEH zdv38~d3IXzu)J~SgL7-6rx$B$ef8%L<)kIe?lV)g<<#?3(`pZs@T;c`ZxnurUu_(| zD9zEXL&E)*Q$l9h_AxVPy7I#D6DILRbtW|vCa5?3e)&{~@X=2FSGPmtHH;ALpFcI| z#)^s}#daH=_<1@??fzl+VrA>x?BpJKqkqVZ4Lmid?H9KG{g)qU74#xAxku~|V-0(D zjsC;#*}E?9_w|f&)Yt#b!s+eV!86Z&C~DZfyTebgIr!ek^7FsU49a$?wYQV1@94VY z!+>jRpWI9{(YlAMqOCD zH<@>2wEZvt43yUG)=$0})1k52qTW8vyl&*nR|8e6X9Z}T%*%N1me}Xn6dkqi$Xnm- zZ+0;4s_jb4$6k@^%)c!f-~!Q~V(_pf-f)ku`K%4)7Y^EPFBq`4d86NViRurFkNY`4 zPtQ4}|JM2UP8;{#kBH4^RyLU8{xZ+^+O_*Px6bQx#80B!*Tg2PLg#2_qm+R|#J7ri%^ ze=sH1xajCsTb=iB!>8-Xz4JSn+pxa2cxaVo^_>mFyxv=x>1BS^*=wk@sbpz7z3LHEK zYEL=${CddoCxy|sokMbd>Zza*x$?)0GEJA~UCR#{1XLX|G$;wTyS>{s?r`R_UOXU4 z%fes(eP)F5>ACA~9nfuR2rp{rcF5lRTdn-9k0+$H6h=43N#(;AMwnJC^XOeSk_Zqj zN=XV8VS6~R#1p>Y!Uc{8g+25Ak-?xES3dF5Gvq(Fd%fCs@dm+{EFS(Ado<#)vu^6& zTFlL>`Xx`YmCYy({v9n!VcxR@&&BL2pvzxO#a|b+Yei1=m;rvczyIK9l>Ta^DCpVg< zJT|Y6bN%t6dF~6>-_#2w<@Vgl+`g%m5$eG*U3G?yWpT5QtJYk6k+QkSE4%DiZT_PO zoy1wQH&J!PHDXY{*+ zG2vYwIzCrEti9<6;bhX=-0&_Cnnuxk215Qw>Kj9S&DG?N~)%G2w-Ne)euCBvbdKl)H&Vadc}`ZP8)pITv@q|8KpZ z{A}Fy&~x<$BO(|fh|2WCisyH3YIfFrnN)6_nVD|)`-@+l*3EmYviK4=<9Km|{IEwF zcYgNl<9_quhwX0jRHWO2h7awY`0lu$(V|S7ibtL&UoTfx=&#U4<+@>2`AqPQ?@n!e z&}Czx-~N8u2q8{|tavbUQErKk{oeJZy){p`6jF~(nBbXfwyf%D=R+6Wme!~AEq^Yn zPH4LGRsVIkE%oJApk||QzK0@F7(`(o1#cA6JtyKK*ySqcwOco76K+pFWBl4Ag{O>2oyO<9fL9|7_1(9u)sgC zM&#DKy^^R^OoqEYzNAYlZVM+hc~@c<3YVa(g2=&;sa3+9GN|1O*{@ta0u~RD$8#C&ExjxLyb@Jx{55wmK}c-HKy3KQCr;yk5P0iKX_n!P1)rW zmp3@Q3)yk(y5E7HjMfa=7dQD%eDmvbwwvr~bKG1MYwpIHL&)5` zrk`vY-H&B)FE(r8RqfQ(EqOP)4{_bu?T|;8`O8hootd}eUeu$A<26sNW{ns$L`AyS zXP>W2mf0W68-5?Cq7xGCZnmg2N0vB0LY5OQHp18yx$)XHChzZO7Am~aChG*JJ%g&j6rjN^Q1gQkXA}LJ;!yFAGeYnm z0BeZi3{nn#2pJi&YVb=&lYu{sA2etcHYS=yLA$m_)C+o(FkzOCPe6bN`ja<>g(621 zQ~apsBF*ormNT+u?g*Wu&b!kG+$)dg5;CV0dI-j8S;~d3dvuwD1i6PxGCZcmE))ozpg)Km5$VVzT7 zzm@X+Mif8Yf9lIkDU01r;C};BG$*?MULA1OveAFnL8;ogE}0e#%G_GHM|<<7Bk7el z)57{342ZQ%NtE0gwhfKV)6!^N+YE=hMp3%&otKTAu_EoDb=89(f15F*>hU9egWl<<@FFNiOaEV)6Cbf`7egSQD6|J^!l60^ zc;6;+@KGQZNN%x9laC`*mk=vrNKda`7l?NJyAzZ?0Ey~0328wwF126ielZaBJKzq# zV&|Sc2Bh@SvBAJ4BpBl_1D8R~(5jOKtO!l5U?m{z5i_)43Q1<;298&JoRH8}g+1d; zY^;uSFR?7)_gm~cJb!&ox5H@yGRn69A<;A1G=9*Ke2S`OTdne(Xm#oQSPSd_#oC)d zQ@ys~!<|#7=`=}m;!sJVL7At9jgp~^p(uqi%apmIh>#==hDr#b%rhlvFeFpvsm!){ zw(akF>eS)9XMO)~{nux`>$Q(9d+*=xdG6=Fulu^LJ2xwA&|@H}yL#_4y$P2qb&>k; zHXBsEqqQe&w795!baLy%`Cr2VEiV?;zioAXPNz6II@O4;LPDfAmulx&_(^m9p~c=& zkwyZCU#xgd&78cx>Rd*a)#Q~5nN7!!DK-cUMth&_D&BNEIVl4wqyxw6(;r&J#6I)z zponQyTV=+jU96g7Xig(4-s8yN{s?ivmTc-QP@1C0SoO)Q)ZCyOYE0M`_eN%%@ zaebI`#xpAqkzrl6aF-%}`!1KaVXdkvs#fyy?jA0(HP*fKl|ozJB&T1_&cw+BrXK%D z2HLBr+u)p?AWUX{8DE2SIkc%nY7PZH>SG9wKB7ljTpSFF#lpv_sWu?Qpdg09yAjIC zEi0iiNZ6V7A^a+uKqL<8LUE9@4SFO2S8KT--j!CP#CW9QBou+G2}fDi`U z2OQo)#JUyH85DvYn5ec>9P(e_O(Q2yoyvsz0(=&Fu6fSoWGVY?7rVo^)C-%Dg4=Z`dIqj+nbZyE3u98J2yTwe()vxnX2Ubv`xHr8xAe(iGh>ZGS+?kEL=HWY1e~AhwCrb z7RjHY4I{aBFrayTnV9>>pMZO4Mj?}ynctpIFHj%sIZ&5BRID%faZ*&woD<7e!;l?75A_6>xKFmR29n(f~>(qH8}!N$PRMz|iNSG4d9!XM#l0~A`cEnv6P z^c33irlZvCiB(sCiJQN6Sw!$lc>BlWyak4sEVF5%1ZTWa%^2}K2h|fKQOw$KT6hLD zQpi6EMHz5Y0^SP_MA}*mPQnRE+TbjGmg;et^4+%VOLG* zr&R}2Xtj(-aXP-600`2-xcAQU8pl?ehxy*yAFa#z`FNeQU)Z(9j#pmm8l@TteR|M4 zef0hGFx{x+y7I#)#t<_1{V#~J8sd2i!qt{0RcoNzUc!?eJ`Qp&)cDv*-i>A*l9*K`^da1_wBZH;of_AF@H08#ia#1F%r`PODUY8J_CM4n`@P2|UYlUZ1kQi0er0 z)SLx-#YC@3*g*J~nCO*AsDCICj649ELkxiV3e4?8P^91tQ!#2@ZZXt$94;jR0ZcG` zr*?yh0vQK}D~QYcoGtYE;ktg_zrhNIEgR^Te=|PcN(j%0QCf~0IlGMQJ2MGNP?9`x z*SKL&{?Cf(w%eZ%Ri)_Y(aPyr-G}oHbWF~cqV6>q+2@$l7o$gv$xUV>PFW&HDfR2Wc&>vcVol3Jv?MbS^hk8SRiA}KrgEj~$Vf?DE;b(9rKv9rUy|jT@Vte~8=8J(_9tn{u6TU|^H?D- z#^8r`^Po!{yx2j)h?an(T^z;70`h0}%jPgGn#psR^Jo)HrHPAZkwD8$v?4Ad3nt|f z29NE7dCX?@cr-_0%O`;G9mL<|yKrZ6<*bh;MVa}o=On-lb)58{VU76_8{d;m_}Kt| z3N)~QO(QVaUNS(^WQEF>BxC4b6$^DeCxU+{6IfmPnvc4699%#QtZMQ3FdyzxdOTW( z>-Y>$pbihkM$OeeyyDXbBz=cTeM4(AO}$Wf~qCghJ>Vr3=dg&|dynd-B+c69OQ2pzAFR z-#Bv#`VhJfBcG44JL+EMR%R z+ugjLiY2ViPo@rl$4fA?QI?xQcD<|>^d$fUNNXK=6L@HMUxCw0J|K!v#86~7LE=u1 z3yF9j2xSC$0Qx}Zv_As0aiej3rQIg!n*X?V90m7vj6}3@9|Cx{x2{N?fZn5 zKhk|4#I=EoIF8WP0Q+hatg8;5R|feVTuQ3ewhhAum}~jZ7t^6B!C%VXoIPiXlXzZkNxDprXkfK^k(&rvtmTgbJZPgp5E#V~`ePXPQV^7~kp!=nGG~ydM9O*%o z+|}2~tT|$&jE-GKodQ4;av#80tPX^f0!gXd;lp4QOk=0wj@XV;9U$Pv7t37_CWCtW z!9rR#x~FM~U|`aDqRLBFw?P$&?)^}AeDU;>aOl6C&TD`*69@)Y54wi1Gz8bk9#9oH z14#wT=y^wjn;so1`SJzI_fJS;;Hi)SGbRYB;I{@_92oP%P9EL^%VC;;S_N1Z^LP3H z9GuajP%k8!cN1kR*hYXSP&o^=5L$U-$tEES*wTQcoq;(-F>v++&DaFo3c{Fs{&5N< z3&*is7CATopq?Ryo?wGww_FGhw1WE;aYjR8MpTAim5705{-5{>#=L>v)I*oA#Wq40 z9L7vc2Z@I#1PrjoA}x3k0K=_T`Ys2G1moZ7zh3jdwF(ocOiCau>U=2UU0>?r)8YrE^5Qh`-pObQa(C7A0xiJ;9c?dZ8LV%5M0$!ykAPO8 zWlk)az-eH0Ayx_K+iFdJ)5730(5M_CO~SY*5?hJm955+R9Ln{RjH*yN6FdWA7<>>Y z`%EB9g`W%j{M6y+h0%pzs({A{1jTZJG@Q-SQPRSh2Cj_eh&0HtyUHR;$pj#TZWPp9 z|AC^A(bX!eVMstno0ON24;dxw#4!4Y7_@3Sc#WW2zXv z0czs;eT0k#J^*sU6|VujAuy!E@Z)=L_*2s1?v%Siu3eL}PFATuXB_lii!3*`J+<)i zcq6f4wEN@KgynY8Eatj|bCWw_w}ibdHws{Utz~&1v}q^oc3=)`Fnb=9UZ8k8TwZ`c zkF9Bh;)K-&XgdZm2#AW(7>lw0zY~%^0$M=VS+DQ`ndM6Q!WaPxjrHWn563KT7IESo z2peU`8fWcd&_$z1AWo@?CI!u!my~qY#Jgp z+6UDvVyVGgw1bw2^^J+zJVdUx8(jz}ONb&Dz|2G7DR3--lAx|Lf2=Wn4@PU-fO>(E zM4<79fuIYj5V$p9lI_G@cQLKL5DpOsrio%GRN_NUT-vX`u+YtbQ3Z%~?Z_b(HbGH( zU||!^K$G+5Nmf80fK;e*5z^p+Y^cooe@1MyRpn%4ZYEyGO)iELlw=5*aqfJ^=kiZ3 zzPc+({8giKQ3>t8ie# z@jVSnT^z=jq5;uMMra}LzrLKs5m+WxU@Tazpc{(3I}klWT(HsVC&bdTFzp5@2R^_s z>Jk2aL%ZuU(~WK;AZUS@2YL}P6enJkATjNTNqM4U)%5xrNP=}v4uG}bBnO8k;$uQ| zB#3D+S|(cGLkkgKSzWOIkZHg=CL0_MA`u6HbzPT7VG|ELQ&2q`fZ@?F4m~z;(hL@- z16B2M_?qJrRRtO|VSr#NBa{{NN+()nvBQnI@cC#1U*T*q__{Ym$uUSsl=6b#?$9y4 zHUl*&jNe8ZF7{R3gM%oU4U6|P3C^J?N>7Xo{R^W|fdaj(f}jGm6C%@Au+}OvMftwO zi9$F?d|9yQ0Dx;d1In`l;|x~EkS*xZlZk8r$Aj^xKJj{h4hDgfphJhZ#9{w})PjYN zDO=0Isb3=u$no17qP`#u9h{UKNlV|Pd_i{I|FDl_XXeFy$t!|Ci|#X7%u4ZXiENmZ zJ(O2DVt8tUtd~J`C6oW1Ix8CR{2P$w!!!b4g$B1nQP|s{ z&jyeu8(Vh+tWIFhhQ)#$0f^5q?rT!CIS5E(Ry-ms3;2wM{0+7E7@!~d6Ou7LBz9N^ zvBJdM1kkAXB?RdF|v>eE>Uy zI62|3BPBtx_cy*2n>nIhQ-z!_k<$)Sh4DJLQsk?xjj*7=lNv$K%^dzT*mKdSbbi23 zWGVt!+B{%>fszTh>dkkrcQmI!PDk}N|s(%ffX#yQ1pjm_n2xLRY4CVp1SPzkg9Vt(d zZ6mwB`&7Bm$|K>_ELumt*ZG-u)GdlDRX8Sf-^#T{fNNdG-W*=|*hcG%M&&An>$(9$ zbx9iF$YJ3GA%-G^gP@B}1XclNmTB@IUzB zZ%Z-+|L&zLPWPk*iFLvd?4fT&>=Vc^XiQsyu74C0cIB6p;$_ee6CcSyRdMJ&21~59 zJ74oT4P#r-UaoK^P$@Ytuu(vKUKYwl+Eo}kt_Y4*w-kp9YTy(cJqR$6TjFTO=Gg7> z;@tb&xUaa15QN3!hG9w!dR0}^yhJO2Gvfzjg{z-GABMn$hm0+Wmw1bW51wfv1H>Z@ z=>m)h_=px2_b=(r#CWk2QMZF)si&ipCuvM9QH@g`0uPYAX{vl&HtBCxdfj&LDTxkpFo|yeG zVX^BUEeQ_qEUsAql9YcR#x-_-_RBY&0|4#e1UBALyw zWDFRGS)*d)k<}<>)deHg^!iyg%3 zf{(qA?>4BT#P{-UABs04c!M533_;#{7=UBR1BG7xEpOI}$bt9gud$>#{wn1f)_Pyj zTHVk&Qm)K5!epNt9{mX$MrAW9p9SiK9FDiC;*2C-Mq0YsX$x|#P+5B!kaS2}mIHwf z$85E}EKFv}B$l8pFz4=hE5C!}WNNd0Eapt#oq^JheRgL@X(iPewXrm7Amn^~)}aQh zoNZ#jRD(xS{=S33R;nJLrcbx>XO9=uEI&IN<{Y~^6IwhP_1G9BlB~23Z-bmo#*{W< zz|1tYcbd8|ROl8+I%K|#i9N@!!hk$r@|^XSK8SqFU$njdhUKJ?&@5bhj;X*5;IJ>$ zPqZ_9)21I=>oPq!Q+WB!NU>4z=>i$uj|E$Njd-e#K!o@F;2gDcj0x^}Y;Gz?4OVM( zBo6D<)NtBH8)cR!>1&u6^bS`?RYb35SbOX)hsWZTBez~$>$YR})w!+4^S+?hyF_4% z?~2u%B6};fwlxd}v`q@??dE!IKI0Pz(C;+Ol7P>6Zsxly zb!wu;s>zoT5Rjd@xs`U*Vj~l0`mw$<*$unca2#Qov{?(!ey8NW?BDPH2U-5{^j`r$ zMy#l{>j#w3r-ow8wm!T7hN@X8xLz&TT*4w5TZv;lFm`utZI=DOw#JL8I0?TF+iqrK zyD8aXbL30IV1~t?rb2-TT=1nIn52=jKwe%RK?f%ywmW4DCI`VUWT$_Z2zB-%A@AYx zuKRAL|74Os-qsjrTul$M`nbw2-gQf89^i?g{?tTJ15Sr?BiXQujSbHaAZ?XpFTEU( zXzyHOWo?bgq!BM)_Q!qP3EX})ga5}wlt1`Fh74n(zs{}m&W{Id2iz3Bg@Qm~{&P{& zyNQw-0MPHe&JS@&uU)+wPV~lAaa-YajCx!@aiX-&5kqJC7(bogH}~LOKR>nTipC2A zIIP$djvt4`pl+hN#G4Ka*tT>IBf3psOe3?B^J66RBF-*t}928 zmjMk=R5!YKF-|kKw--dG5S6G*O%p{$-#TOdhlKz{kkjQ3S*M;v-DjJbg&IOgNC=kG zx8jk$A?Y#247*C$#D*wDC~=k}SJpUo>``SGj!4k`KGA=9^8dJ;->>s;|6ZzNwE#-V zfF;tQY%6QfjmLkV2jw7G(Wx<`tEY#XgQIWU9xDx1tu?f4Zoph*kWHh@2kZ#de=y+) z-n+-aMs&of7eiH|Hkpp3wgqkclmy#J{3X=cK*2OokfZU95q$9OxeD3?^2P=zh|uVE zz&SC$jo2JRkOWV7lr66ac8z>>eQhUJ&6V9qv51j9K5S`SooEW^hwmXy(0h3Tr(i!M zCrHdX$hahnWCF+yo1_6q!z6F}{qK;oLo)lbr~(l?Sy)>m#eg5xC0G#yG6jJCuBeDgrPd=I zg@$Ru4tP?8QY1vYTak8Rq&Xz}Dp9<`!glwjjf}`{Rg6$V&mN-hb!bySx%=_g|_78Q~)yn(&{-lOF19Xj*j*D>_{o;I3SR##7;)U$V_ zi89NB(AieWBG3!Jq#jcN_#^XfCbWPSpYh1%NZr5%_`K=No7TD#QT7$NB1kU!w1 z3Ux`st{QXF258Pw<6%&wd%Q7C}ZM2CNredCn{u!;9LOb-Kq z<9vva8RrVYk2eA{6wtfFrK92XtueZf-M0h7V-N~3?UUa@tO4M0U0K=Fa(&E2Az{W- zQW1O>he<0xX`S8ca9pv4lw5)w&;Mh2gJNuDjUiuDxsYBFQ>em)M0Jel@(m0Wm2qO| z=;|Vd`_U=}mX^av@BuMWFQ%T{scK=7;FeNn>?z6kE~2taV#{uwdPBbSI^1((=U092 zoo3B+|9%_hG=B8n{*Od}{Os}-0`v6L=q0Mdd%*_=oX{-ZIE)ZxX7aC~KSmrCzxTI0oE>kZdtn|Sj0~?DLJnOb>TpzXSNfX?UFCGa1T>ck*rgC$qQ(jqvixw4=MOEOsjADwa{`dk zl{4Q6+TjLasxG=2LV949#A$*5CAw3I`TJ^0UOa9Ic+y z=}7us6NtcM)T@XOV`LaDI6Qk91X07{09T1QNj$S{GwXlzCu8C#8|aSoexu|% zJ|!Bu#yEVg#$p%)0C}gzF^K3vxV!SW7zZdUqikV00*@e__$t68Nhp*sozhO^yKMz+ zw87-U1qkg`ae7F+Y3ax91B8A7&2n_e*7&@VrEE#@E^eF52>Q!(C!V3j=Lri5{k{OM z;uEBj#vv#MujOoTMrn>teOq&bmm=!Cs4~3Lf^!5e{ZK+RZwc6Qwyy@f5wkO9piYj}cAB`J7{i@gZScKB6@FCmGlJgnen}PJp z9zL9c=}b`U0!gw$D-QtIAC+i-pvXfd=m?k=MkPyJn8LE%hDJu_zs(m8lw;U)Uk1Z@ zl9T!SxZj=LZDDEo2dA*G@an}9jhmPq;l&lZYxj*`t??iGkNp3-n`8^Rd@3n-tTbL~paRcA2Dpy9?N9 zfj=fCBl69kzXxVbaOVHgV-;0y3l%O#Dj5KC0;Q|hQ@>=?zYa~+v`~{#V{=>7q!&HEfLD576 zxb*4_q~-97BXuG`4+0kM^fxe#YTSM0PpQvS@wHiQLndkXd#_kAD{E3JVF8DqG($&w z`$EBMPA>`yWL$HxmqJ29z#k_7x)XgG07%~3x42MM=l5~?eP|3qUIP6cO8iejANTbsLyYVip1=Y}doEEO_VFuOSb_rrGO!}CW=3=By!SHJp}j;5PO;^Q^}Sjev6<0 z`ro|^GH3lcp6#pLbG)uN1KA{`KOh8{n>IycrsyW2v$WKBHSEL|5(F;iTQ2|dAv#yG z78XNx2by&AU7>L{)Yo53eO|85z2+mljOvk*I(f71omVkz>ww{F0Eq{avuV)~sl$-~ zeacGxL|Df(0KQZUDY@tGzqWQSMkiAUCj+!NWML&;!^_s0i$BVCd!`hLvkQ}!BB4C* zqe(}rJS@~jO0!S|R15?oI!5PVF7+b&memY+hVS9rhV~iv>+gq`Uyb>1!@$CCXb3nU z+aN#)cpQKPXlRN=!zv8-29DuS0x(i%SUJqGH>*WV@8Mgw1lw@&HMY&0Ly#cv78g2~ zsSvTGz-p}zGVz>OyNBnZmyX0P=b0i&PqVH{f2(*e;H$S;^`5=sHwV$;D5@Asz$3|T(vR<4RnG$=2SIi|84=0dfqb9yEAL1B-d;LP;o*n%>o-W zwxPF|ZdKBtNP%Z_lZ6n@W`zj&a3;Ck1XcanG_DY*pFY$l#>pDtrNhC2yU)Ot_z3u> zWaQ>KJ-r1BR`?($jU>;avi-Qd^UsouRSz@>J@T<}W2gPd#=)|KkY!dn+qeUbh&I^7 zXMS6lBy~-0HUa(U>jD~V35&r#tFaj`iEKX>(?Ku@6tj;)6?F9Ume-#jW6!ykb9(o>CD(uRP>Hh4 zkv{!q>TIeOru%gq9kWI@&y^dNzry0K9=(it56kWpWz%~;`&ii97Mh4(D!s+J zVDjlM-(y%JjP(***t8q9;+9ecA6?pVRjR-PL=sJ0BXjfkJni*NkKpdq(*HkIH@QN& zr@vnxLEIGV#>;uAjG)5c=lUg3#qTU!8?7=4rw4H5>agg5zOH4scJT2rj_Z+_8t}b! zXx=K5s7}L#+e7_6xZN!{`k=>Ic8|w|=RP?74q{qpsy)&`GYZLb&*&tsnjzoA+@|(j z*gm9_4erjW#S+kJqgz^CQ?o$t&#H6xH0DevBJk8=#Wl&98Phoh#kc9k+aOnTu3Wu1 z4}Fa0{!0fnzx7{2#LXYw@#B`y{Qo7+|4xfnSP0d@)(cw<8QWZ6F9JHEE6vbny9cRXw7A$LL(EVa$b~D0mu~m_kaM#Y zWyR=Pl%+NJ_b+lVafGhqQLG5WqIyTCq4Z|#IAs6-7Ll*n^~k%sRT%@4Q^>9drJEoF{SZtX-m=g52frRp?a=3NJ248uaXS;2&ehlEdXGOVk}@W&y3= z|F(VT-wF3|taeGs>uzWfqQ{AT&aaoogB8q+Bt6{{EQVc#7xwMZ@Ry=Adsdsy)`oxo z{rv*pbBGmW3O7J{6$&xsL#4C*-+%A@9$N;%lE#JBD;m${cWq+3y)xua>sh4CAFuDi zsEDh*4)i!GdW}Ff*7$&A0(}`> z>vt}NMR|L4v8eDqhr_ob#r?jiEP zWhbB(`v#Bqb$4gsAq!*Y`HoCS<#VncXnQ@NH@f>g^O?a>QC{zC#Tcb`G*xd;e*M>* z{tYwYMb4~YpyFGAhGMv0<&hdYossKS*5={)-+CsQ_&=tO7bRy7jL0$ENSSE5pItxR zWLy8h+q+-qscID0@#-z{##UC{xF(o;_untzH(sr1 z?h{E(?;OtcbP#h&iElhw^sOgK-%=$}Xf)`hcv_<20nOLh+#jTQx?Ts)NXCoy`hQeb zQ`^pl+E1wN+OU%Zaz_O4KJZsR76l&4S}n%L_WJz3>muL2D#qq8Cyc~o|YS2viz+`Tvc8x zKG*!oV}rIMH8H+Pn!yc^lNbsK5VS8-HEKiog74WsG9dBwvu}@X$5kg;^Kv z9k+|r$F<$0VKo#LHZ^?vX9HEj}BZ^X@{gYbF>mC$}Gy$ zCr@5$zl8HQctHZ3oRR727`uzQcC4)R=8c*@lfBbP>7C!^4qwaHSnQqbBFvD*d1vu> zwaXh8t`F{5+kyX)f~{Q~hRe3|82yXtXugpS?!0;9j)JPv(RhEax|drftFPWM)%)$T zeDBlbiF5LnKVrR>VCsXRla{tW{wrty6^20o0;t;96wuU$j<@X5ICePpVy8tKv4}%{ zq6J3$q2;0$sJl>UXg)p$uPRvd+UIPAIao^j6Ax%;t^@TZ$sa1(SHo!E!6`=qSqTWD zFy9)**5E=qu-_G2S8zEk!PZ4%Q!Lm7pccRlFOSK-o<^`;PN22fcgH5ZE(_o>;1}qh zI)`mN@?cv+pg>GhuBcFfT*kPlpkUty&&ko=;&<-^940Jmg|fAB^|ZZ|8f?@?JlBTz zh?P%JJ1QoutmAWAIy?Tf-f6$6gE#UGhf$mwzpya%c5TW$U%uM^$P7%+kmR-TU_#d& zPlmyi6=PEauF*P2O43pV%}9t0{`@|uvof&vnlQN~eadf09x-Rm+6~xCNJ#4IF^pDw z_c{t80>ilt^%tm{M*`C=43(J*PCXL!mVLgC=HC;qi8{iy4D93MB~KYV5DuPCWY{?2=(cZ zL>=mN5K=JR+3h6Gip{C%ZfDklO^{1G!qM|t#DBw9vQzftZkl$ov+|sHjQJ`y%>-g?fKPg(RHZDOsYW}r@grD%~(`laj z$iClk;|3zRHira_@Xnzu^izmng3+^+12}R(0)O`dQ6J?hIldO4G|g~iRU z)H~8Tji*idP)TB_*}Vh7zP{$b^Fic~uM)YP^v`Gd=h4X*Z+Xm zCQKJHzTLh_);vDjSmefNIklC7qP5%cudcV&=KsBjpWnQ>1cg3shsgOX#Hh^7@AE=- zq0M0foq$PtPZG!+hF}7ND4uK5kF*y2`zXW*ujz!=@u#wImSd(Q^X&8ZDJwc}o1UN|D*j}FJ<6I^$(mh#`e z<_my>Zn@)64 zsc=bz#s|RIpEfsCq8vaxIjgNb4PMVQW-PDyyZ)+f-X=bN#L&(eXiHD-IE`6rD_6_d8$)6Co#ndrA=d%=+nNFlCjMovU?9T!|To)5{a^owM}L z-wTKg0YD5c2(VrQw!=)_Gc%d~c?E8 zHEYmQouoO2l&m|+(g*PAB3eYtTsNa>)zY5lb@i*Shf=Q+ct$Y13_!h^Z zpTQQK-6c5=O(?|EeH@$$|k)+-Lj=Q7Uh zWcR84F~1OvGWWya0`7LMMC)r3KDJ9O`PkW8u^cA3j)>X)NA3yI)`#zOgdDY#q7F@7 zrf1alaF5IL%P@sC3dfhmW^r`<`EhW4;NG5V_QF$*|9tMgZ|L>nRd67FIU`x%;a09s z!%*+xYqO^R{#-0`f)|pqWvnvE)+$Xida<>;kC0xqQ*_OYwestCXFRz4!fhehK|2LF zL$wWWcRX1VFQ{;;qBil{3G?7$lg|=d>rJZ6URP9?Z)Q8|D|3I5&qHs%?W^Mi8hF@C zPMo#g6y0&}-Wpox86GUO!eUqXkyR+lQQT71FU)>WEUkXt=e>D(KM)-4-QCb&LdL>2ifr|fuZm)_GL z{cZ)$)yYL0hdor~4R>7NlZte*9be~~p8T<{=357?sCy_s$zMD^?dxir zG8~KM%n=+9=@Bbd>+L(HujH$F%CVkb-zM|9rAFSE-d(S$+g{5%yMl%IMq>SM9ImNR z=JjTwc6B07uhM4P=-=<#v7t-v!81p>pjIlQ_!qv`cyI)}#u}SZlO@MYh2E486NHR?_d-=LUV=JCf?OVPYxNek9bIXpsukTeBVD90p z+(UoaKX$A|_fMX)t*viF6UNJSEZErW`5@dlNJu8KA=7fgfRRy4xUBE>g2c`8%nNV% zp0{rf+fI*(6w*u!G4rQSRCUfgSVWW3^(U%GDnv&v=sH)Z)wiLv&} z*A$CnC#!@iO=+vuqd2VAtk&+OuFuH3nlaCJXY)k%nyNHg_HZdDJ*%{>(so4&QOvtK zcbyR9wJ~*Vl`9rx*)^w;@kTmV>40Z|cQ&&X^TgV>4P8-A&F2SX8CP*i)CiaRW!J1t z-@W;QrK5{ln?RWo4d&6_t2}Ma2XTnyCpdKgX)Y3?(Pn#3h`5-i!bGp3~<3{r-eTmfKY2_UgTn&=lNbrgZg8 zCrA8&s11>qwDpx@i(&d9L1CiSTg%t@%f$tmdn9`&4-HLR7kU_MI558TQ)xwce0H3X z^mUsp5t2b7D^4569bsJ=>ODrSUBXa8;jq;Ic8?NL*u>!T`m?S{usp>o;01T!xx%D% z>`y7<67`(MYkb6l>Cw%tdEjA+>$61MF^^Kh<` zJ0$+cdtxBPy#J~CBC@Ft&!{Dx`G+x?~M_Y8iX-(8=Yy~kEJj$?ID zXG}exbtgBYbMb?=r;^3eip zlpUK4df@YPDbtcttX}3S&0Pj|>5=r01$KH;t#2;rZwi!H8saFl8TZ$%OvLKZS*=60 z-_*Ec1LUTuZ{GN&ItJ6fW*eE<_oob}y>#B8SRr$f$(Z^@BiM1WEM-SrhSlhM7UShZ z)_%#!hFnJ{RI-L2woslZCN%zC@zI(rJmQ~xk zJ!SA1?_68Sb!EpDqkGZ~<|?+3d~Y)~4@^+rJoVTu73u#~<6^WV!i3vC>yb;7_LVY6jk_)6Wjxgbf=~Aj z7zK$3; zCrv?lq4>FwzArBfPm~`k-P?6!HG}2zqJ8h1IdC3Q zS3Vr0Ih?A0+jdmqO=W4<;85xgp(QQN6MHZ9Q0w`U`KmbBq&=l6_CZ;vqj5}|y}{^?wIDTTo^-Ki10P6CbQBWYbsL1EN;sSz~AR#y}4Am7Mi zJ6s)>%AU_n_Pp=EX6$K!d1*R_&&k}fg1w(Lyc*+UNlw-Er7%lgY^VYUbSy^AF zqXsKt1F0hu%aoG5-T9aJc48Ur_*0=-_JKyQ&_1QYN_KWWYg<01XUms;Y8sgC4m~@1 z(r>hFCL=>*)}aovAwybNjr;kD?Qixe74PZhz(ld^LANraixE)rA`rJ!+kb3 zoQ7Z-pL3$kK_#Ze896yUMHX>sbKjJMe4!U3AA_J?_4L(;K_cto=FVxH;`y4lHRj!> z7ww}HMN|3dUb(Vq`+UzB+Ebp##MX2fS#g$gT0Y--jB(u_mN*5X1lx5YRPN z*Gg8^IVMGM%J6U-vb5cT#i10oyb{?GJ2m$UZF2t2r@Ffn)!Kwg#q4D-r-vz0_T9Mt zm|5wCPuaYCdSPYnu6Siy#<(vlJ$ICTDj@y_-}~LSzc?>#Ko+)1U}3@NXsWp5j{WcC zPx>?Swl@929UFYXDLcmU=rz8QTeMFivd!TIKc#qNG#Bxihqmg>mOONdY(bYrYmgox zY_Gugum^NO^c|-~9{g`Vgun?uR!oM&G)wlSf@hweC>%X?qHF{H$vb`zujewZR{v~x z<1=4UI*l#cVbDV5>KR+zf}Y|{W_Av27wP3^4QfsvTJ3RI&3v>#t5-zt`V;r09V~Ue z=PG!uZ71?mmiu)!aqG}CL*l}V`DF&W=<2Hk)~#qfW|`0HH2qi6vyP5o!P?AM>!+<% z%WuqgWj|O|U0#|!cEF~l+}q*wjnB3jS<6)0QQYk2o!P~3<4@V%;aH8#0o4Ov-n#pn zO5^%1roO2y9(K)b*We2>t~+VWv^G|jXUK9`Kt34*PnTyYgBWpi?jEzdLWB^CzI^_ zC7)ROi(_+>doHx|eSPbWzZvg#-uEUg{GemAsApY0-{`YoxwY91W>3Erq@BX)!|hye z^)n2NO{JWSfq;MkW1z}9EZR7;KVbxXcdZSTzLo{x4-9q0j=IW!Xz4GjtaOqq{4Xd+ zONSr^f4S_GkG)jrRgVSpV@ANi=cD6O$POEKIlbW6!T)~D>cUau+aTAzW)zOP&dHp! zA)4kL+qP7b{>@<924N9LpNRvN%lslgmf96PI5V%7Dk|tW@nU z39tTOh2liaWO1N0cB7rGu!xaxWT1`_r-O@)?!~|Zr$&=Q-Zuocca89w2>1;J_OtGg zcq6hcl=^-%Du_@=C+W(jR_a+kKef$lt@qzsvdhvMyx1G|9atS2F`fHccBQ|mvQ-}y zVclPMpiJ<0Ep`Vz`*DZfpo#Z263sN1NR3iZ9sX|J0_YHj=(0X0l=Pdw$vW z3s!uY76%_{mwEHqb*2?f?mgbgmgbdsFO0oYN@8@MRepi|a<$eNs-azYb?>Ot*nYX> za9WLobhQ36R2nw-9=y`tc_hmIeC)yKeOdu4GsFhiUs+oe)v#n4(G>Hl&xKS{^&MJn zn%Q4vulnS~`E^@Rf>8FzF4t9@Izt8LVhcM)$9a!jUy=T^gb-ud=^q8$H6-K^B|uIO z!#0jNLxKMPfi!+GM;QYi(YOHGkLfiDC%EQz(j4hwvJYX$N{mV1CldP?<_+xRb0UVD><)P^O>w@muwaGZ;0Hiw@jct`jSsCHy0?5t}yG{g*Pv+LR8g7{&@q$}y?r zI~|=R`*>np9Fz`xoSf1WP}&R(x}aLjm?d0c_Rcp>UJ%p<-=4Y4Uv*eOaSSYcIuk;H zrSlKL7+N7>mCtXoAXcWOr#nwlD1FJ3KUe+C@3~D4kAIuf*P)y!)T^#_vFg%C?_I?) zM&@+YGvkAH22z)d&bsRLGX6vojaIoEZ zvTmSamAiLEv2uvOq*6g`+1<(y8CKRKbInDUp7N>M!^)zUUq68gjO~e6W!L8rNxHsV znNrs=?|prbCWPCj9A6#db>??R0$=uw6sbN8EOo9<_dLZiwECB4h181gT--meh)+o) zlj$J)Z?#@V5_sLV;8=BMhU6h*JL3q2-%ktNnlH1uDij9jVxgfe4Xu}|}RV8PXhJdo5nN?U#kuj1@k%_&WnI z_vRWgY_*(r!=+XJrsRcRAnc+-P zb|ls@rYoK{ZW6h#^Yt!mCU2oYn`K?^W=NdT_)r(oj3aRj4ioF$lsnbYNA&bAN zrn&3{+o7U~pDhx5W@vFhqO`NK!@7HQdIfO`$7Khr6}_u#O#6DR(jh4m0@)bO15WU) zrWKkvZf2{it0N;Td2~KBPT&dX7VAK%M8_O{PNo>9V@d=65WEfzb#=6jFi9^J`5wI4TFdEI9STQyWbR!h4$d!!K-dE z!D6C(x9MZ=EUiGe) zbqN;Z4ZOPGx>TWbEWPnu^z} z(~@z`<%9Z$7CIky>SS_KLKb&)@h=f=NO{sZoc}WiHuYqJqR7C*hGEaTC0ICQy1ZP# zI*g+()<6dk+-EK}IOFcUF9R)H){$%viLWqha)4PI@+ipAO(8DDImHZ7kvR>vR$^ct zG&Y`Qu)(-Y+mGv+nBY%ym;s8>o3VSRVawql+XqrQ`1okS!J6IQ*Ow7f!r4Hh92j=f zN;VGs`0as!88D4Z&Gb4)Pz^xp%1(#1$4k9yL15)NJ3B)TfHPSo3KN19R&Cw0#|-T} zm8is*FH2NeIXK=`ZpebsHY5olC2sFvxKEUW>LDd)aJnC+P+UqoR{6BIw+Bh2Rs4+9 zzit2?G(L%Wy6Z<%yi)0P?q(y`&QqRV`xlJgz8>f|k?`U-M#j0nSQ(dhn1Ol#vP99E zL9zMHtRf;)=;=C|KyS9p^$-QFIIAR}*kEJ`DS5`>-Y^W=2l(#LhNgh6tqDswq6q7n zfWjlbs#`!}YRO&D0JefBK+ zp*acT;T}^f_`CfvA3635X2NP+{w_4bvvK9HY=+9 z{Jse}8HypF1}Fk<&&u`vI*&Rj7n}IR%(5l_d0A38{`N937N|Zd$h-R& z=K8nJ`^St`l>_~9n5W=K>&j}|AMyHtx1&U8r6^p^}?C1>=r9d+80~0&3%J6TtEGCgb_X_#i zaV4d5FHfjMtAEoFg!d_E?a+?F2!s`X2B(-E{77tfbR{2zc|K-?CHsLQfm{#@TTl&G zGx)wovz`w$`Nqb^&z}{%^GhwwV4#+#9T6GX+1}2<#RYZgP`X`%#Lp`-^Lxsw8M1!z z#APQ(2+!~pi(}hxUjt}Fr%r7GC&%#1?(AeR2S8WHk|EUR2;kkabop{|1nt3M@rL+=mBU%DK#J%m-aBLY;$B`}VrXZB zMsZW}EKXX4XB!x)z(6AH~?ytvh1TNJ&Txt2CHggINKN2jk>* zo^SDcNLydL*v-%%SdLIkM$Ny;%Y*#yVPQq;m(#n6v;jOSA}0rl5x$o~EKhf2OH2ry zn0Y~dKDJdrcKc}WoOV5g2{^M@a8s8meT%Kh;!ioUt7nPDyho~&j$+)O80Iv_In<`v zIXlQdQk)5!Z~9 zp~2{~NCV|9wi5h@PJZXo4rCqp9S5a8yO2EXjtbta#KiIr3#eAC0xeQc>c$JQvNkDn zPDYz<@3u+@Up_*~G1dyC?UOsR!)-exvQ&0<<*)nk@%PW^PexImQquSLoH6|Pa;%{2 zqn~m2@2eE!ibaQ^iA=&)&%?qbDHG@SG$_l+$P^z*uM2{uk`d329Y@1U*Dtv)7TIAT zq!m0W#yOVxQsYOw79GXWhvnjb0(bH#!^)MP^OY0TqgA4^wHf|?fmz=s$ea)I^~t1N z`M?#gpHI>r#+FP$`$X9SJ&^aBL9AaGuS=My!m5A_301yrKfL%#^e;EtpZ^Zu_n#)l z#-^LAM+Yz958A(f>Tfll7#pu(xS=97@0Z2#klm|Sukd%X+vA|LbA{qg=<9#Q-#M!L zSN{||`ENN+|M$WypR9+;$KMO?8F||i04f? zUGDLRqZBjTFNtXOE2YaSFXe7ad`oc{YV2Zc!MHhM;DG&}CP!_^rb7eK6HK3K3+jS; z0v0B^#X&v)4|Q)H7UdeQecPBQ21x6Opa>XryL3QB#6mz)MFFLyq+JVRC=n59P*S7> zq)S8;q@^1~N=mw!_k4`C*WP>W{k_NW{`JkV4w!{H%sg@5SDfeXN>hbG+Q1+d8)KsZ zFmdo^L3swYiegM{J%{A74*fkEUXNd#S!=$&V{GT8{Hkvh`7=*sJB5E;!2j*t{rJK6 z%@cYnmrZE9pP=$g9nb*R@D@UN^qm*<1U7;bn1XAM0OWSbA}--nX~=m=~Z;PT9I_pVuHS9blDSMR-+ z?f-e!-G6&i9o)~sn0d~g9MZgV>#GZjE*S7;UF~uFiP2}pVf}_2@uKHRAU+?t4Ki{%t zOY4XcWR)J#$G^NkKnksjF*wn#CoyAFGP;8)=Tmj(rT%NS@y3RR_}#?3bz(FZ8#3mO zd}ygbz5M2_tO*b97P^N8qwvBJsDuSD8wi{Qh?`OHE`lIJm_-S_E0mHUFzR_oKv|je z-8%#Yr&_C@m?0l`|vBHsMZnOre1g!O>*e@jF%f{SS!m9Wj-w zew<>3h}*6tQs}x1VuPy7obef24Tyy-)8TZhAAXW45@=mrk zS5|_rgUZ+(Q>HcMd@w4q_O)q;Woc$b3|qH1sL z018D)uW}cisMT;_tI=5nh2aI?He^PZE+Jlk+PGbJvDHOSz#oBkyoCVMlF`43eLI>i z{9Ik$U6@fVNz|fYtZ^Z+`P7GTq@=xUQd8tp{!8qZ=KJ)h$ttJ$bbEkZfr!T^Lv(!{ zuJYR`E4@icaXx8lJ5P-NZfeTBR_H=7gD}VWzX$9}?Kl2YydJ=F@F2(x8Si_?7S$$@ zNaAfnQVgI{Rh22=F-1iuRsZQ=x zSNAW#Rj_{jdU?)jxV&Ic;38-vD2iZn#_|Kqj1OgkheXmCxFZpqU^DmoHu>jwbvMpR z+fzB~C(oQ9YM}Y3@>h4ZB;4QHg!?{3A zJOI)NfrMFBD*}9^(K#&!L5IOu7!Dxh^I36>ATq&H+iH{+x(}xY6@?_#IPm}A)IA@q zh$r|rtO9zEn}>*b2ryg9$lS+nR#t{|7)$8Ogap7*ws?X$0iijplcn_ndAfA%mO&PL z)0hA8ss4VNzT(GP#vhqOy?SubT?$000}27nB44;vvp)J-kH{DY!e-LhS5b-SgV3$hyB5|zXzMq}mTVa#apTi=R0Wt3=#{|p zgKU^sqWxg%wNMK|U=fCQ2z#h4RW35JXBpp!X|`SpB0B@wl^u!f94=Y9RKg- z7_lD#UPz+DsOlXT1+w}SZB}8BL{I+#K77oqRNs-W^Hzfzv#L;Xw;I9OJzy#LBV)2y zs`}wmKcLXPp-wci@E?}PUFT4pDd>cY9s8C`D8^sb*3|5Dmu+WAo8Q60(lU8*#3<8Y zZQEqnl+;T_ZY^Ugy8for+>xC@s7Pb9T-=3dJlP>5YCC0s1{Ct(506-Fu`mKTdo0sV z-dKPMdA&XYj(4XTaX)UGy9yKwxGdqnDJlN7unV7OSm?yF1ViLt?0bT)uFDMDpT1v-R&1$i9aKz!7~L zy_3nOaQbv}vhG=gu*Z%ayL$D7Y8)ailM44azJE(%-cJ63)bglwSCW;8A*-dUxOHi@ za@uV>y9L7BW}*L&e^coQ3k7N*e=kO|WGr3VBhn@{66V(6-Ujz5P{>f#!NI|Jnp91Czd2pPANGqY6OKRJiIz+XPHuTM{lVG_^sbCZXEW&v{YeAuU^*h0#_&{V z_@I8g{%wE%W>&tl&$lgS=u3I!`}%qM^2~rW56_fu^jNoHy*cUE+euH{h=d00f*cKZ z3PlBGo7&b<)fzH2|hW&YIcv;zupC>PK5K#}7a}E3aWgoZk+=!v~#RswyQhP-C0yQBv|M6HpQHTxh zrxw8EkDpgJa@3j3d8D%hyQ%=RSYWo4x8G>bwa2n;4JI=KpZd-|z5jRve?QxD~!yDI-S@!zFT3a?oswF5iJ`|;zB zfDE)nKDse_1q6uWW&p_J?T7zTVj_Os-M2r3JY*UnWpnT580rGCB+dn;T2_qff2w1s zrTGsA=@vSIO^tf7m|E#PnDT&)-9(4yPq}|2Ie&iy;k7?XTHh~;mfm>Obj;W`hqCXF z#JO|>`_hi14_7Sf7|1HRY&)V`W;j6texMQH>(2oB2eQzza1(>8UitcFC-@l)Da@XN5v3xF-DR~-; zPv%BNHw?VmMkm8uZ|Pvy_jul&F>RF?69h6R=+)+vJh=4^dpMMJc`HlvQ5U!E+2h{y zkN2S;jw3k0&IP`|j{Dj{1BtQT5^kg(!f>UvWtL8x3W|t`z<%2tUVObN!z`-(0*E650yQHMh^vub z&SjPwgRu^%kfdY|W>erc^cm$q)$LJqhW)^9eWJwsvFzRE0>SYdDg* ziSUepKCQv$lYixV872;aJ!NHhAfdV+covkSi_k`PFc`gc%=Ro}Zh!ksNaxN`s9n6QE_-hGDt!cv@-fBgQiGpYf= zhNCe;@N7`Qa4kYK3=~BQDiKF}|FOIN{s(v8hW)6Fjf)I;FaK{fBiIkmo_`8V4NA}G zP%eUG3NnWS#$vz@cv?=5d>zXdF{}h-0^q+9{*U(r7z4yS36kDOb|xk`Vc*5^TmYrg zu2;O>G^-VpYmg41*oDLfS<+Tds0HxaIr=`t8y2^$*jP z=E9q30|FV@w$X3zBmX)QbAE^&8iX;u#RiCl70kcYg1-+G@!ja?uRHhuvi=k-X$u{L z!>Fqk8k3_Sm%qXUxc;+_+$3VcfrdsarT`HPLJ&Uz7?+fm)*_1~eE2Z8e;`@E9^Dj6 zFtmUxm7Z$Q&Mn3;F*_VJhkB4qiD4`l^MJ$`User47D+RsD6U*Ww{bhBZ?^$pvtXujJrOWOxP^6}I!1YrAH!rPfY1f)w6KihX zN1nGlM)XM-lBF)T%(=gsUG2LXeD$yI$Pihr;lowDc9Mokz$_ ze|-);Hm7YmAseIg;Qjq?DX&}=G)Z1Vvi+2tX~iz9cG1lKyBP&to6PAu#{ZLA#LMjo%49NYxZZ?|T-=*x$*oUVrN(lD(Up^xIZx)` z=Dvlo6sQ`dwOTfV;4*`o(K5af*95_)B;c^P_-qy@>vP&p4|VwwonnU!V9>S3yU_rB!bfgyC=BrPCqpTbkukef8;zQykEWI;Qub}&$+^ z1#YXJQbsz{40VLoQ2#>X64*Rs1aS%0$k#=Y!1hQID8#wWZoBvR`)^{VCn5$1P_SDD6Rw5W>ASmFV+{73vacSxHAJuR}fZS1~QivKy z%X-?4m3C8apdyL|%!9j!e>wsP&kU)l( z)%s;R1N=^0Uby6ex_lI1lu0zeQ1rq{7Znv%?yNyIZ~4nhpT4i^68`+I;P{&xle}t= zYOL;L%jW2m7d5bQm4f_A#~6I2l(MeT{G|d}(WSK9g>@@~>P_2TPmzp!t{v$*CVkL&pJ;u9+O$cY2fyi+_r6b; zE2Qa;+|<8mc>3hyxzsAt`4Z;Hjm}J4LKnZtYhRT)u6sW)|9se!f z*LJgE#^<{EZEZ5``I#B>%n|UF1_i&{aN3WJ-xRJ9pb!x{FEX4!)+>mhw+X_ z*b=hmOlLru>!PA0!2fX6=2_qiDBB#yIUz}58M*)$3+I& zIVL4jilBx9^b4?AC87=^={l1-5NpOr^AGm!k9(H*^0xN)kMfFk(>(js=k~q=LGF|< zZ!+BXIE1Fyy7^6OPJH-TgQyp#-L$C;eJ4XhR0)E3I|!O~awFyqptP-`rpC<58ds$U z0cn+Wt$|PoVhgmfG)ffE(lij7|3I{rAuvT91N*D7PF1K(>ovf3Air}V=JtFEICb*m z9gHrPA)kMWF>fW^w{NC2;R9pS6=$K%(R6IoUA643`?ucl2W?Ln7YiF7>`M8zbgKCH zmt*Y>mSUf`Oq9kQ|MX4OKIoI#19F=nUse4LhsJlYYDdCw`L-{*lj+XKJoTWhnMjoq zlAp$3_HS+xi~Dx&hF3e^cmiK3h7VW_W*g?;qiYIl{`*N$5 z^7Q#sCF)+<_SEh6P&j3lDW>Q$*75aeMM+$k7Y%L*GqVeh$q|E2?{4Mk){dJxNZ3}| zZ}U2>ucpY|?R>L8Z=vsf)wdp9Bi3tX>1r&)^ilJkfi*jtOWNC&_mlFn%^KpuzQ_%z zzME*0ss8L^%sa1kka^Owymdt>6J2%k72^?-1i4x5b#Tuk=Ma&Xiy50AxfJoI(Vkjc zKO}m?&@^*or;o`%QNw1}@@c#8h9?GO!h7v>!)DhyP35sMg`M9oz0j4v%l(yE!r}cZ zjhJ^#548_lSll6hEpBvT8XOY7?K696wwHA%7%6bPR91EJt@>H6yde6%T|Y0CbfV`{ z?8W6;1f-8V=S5)Cjc*S&Bs$a^x1=9NU3=fYlVrdQYg0-Vl-;VDA8G96cy)IgW3tsQny1z}f$pdI9l03XVR(RqTIM0CYcWW!F$%WwAtFB~{Y z5`;67uI6$7wtF5u`eXO3P|3T)DVO|84RCz>joSPr1XD+2DQ0L9s%L64ulGMVc;yE|D zWbfslQw|ASNDr@jSs$w@ASJ=k7n-#_#BgDH^5YIipCo=#q>gM(X0*A6=^1mqN?Q;2 z5%C87fU~VaV#8f4VZq7%7TRfhVECfRr?F2TKA+3cDLH#vcJC(N=?|I@OUBu!ueUy7 ztX1=wHS*x+;G3YHk$14_^`o|0D3KkcjQc8jXzd3#7m{udW)Jn}v6))kaS$@@3%%LT z?o+eztU#L>_i))z6!lGlT-*f*>)zMwy>8UZe@q5h07W!xx_g=6i~tRb7yp!Sk<_j^J@uWpBz!GG(gK z*yB8zK7spi+M6iy8mr;SQ>TU`8&8QICs_p^;ySU$LymU7zx~nF;`Zg&ZyB}Q6fyN} zf18pt`MCQ<^t$sOT&bIX4Lw;=g6=8{tyBKFixoB>9u}J`fAy908?!lS`yA9NbZ%~;mEmhp!jm8_`F`!&SOFD=qCn_l$`o}V| zkr~J5es{I`x9YgvzlO>Kguv&&RmW|NSbrA92Qv07!_`r)I@msE@rSBn(NI{|XYGw$ z)dicxEZ7H5a6QbB)YLj)7Eq8g|I}i5r?l3}>auo^fTmWqJfEbk$hv3N`>Qp%mJ7I@ z-jMhH3WG+qnrTQ77q2E=K!HZ{R}q!QuO`+|k>-2yb9~#%u50jZnG6Sy%6Mz^P14rz z^ZhBWcALH+J+X>ys|AYyo447=_nRLHy2-5{cQKGsKS*L_8|f*S#5T;|b$mK#syZoq z#B6GHk=uqzwbzkVRVQYG^JxRes}=T9!>var++sPp9;a7UM=G7L{dmvq`{&GOc>TOq zo6IyCb|&_3#%;Sur$?CRV=p;6UUJTeuvK2fU%`KBCklr|uI3sls)w~+I;Yb=zhl+8 zKW>J79M}Ynk81z-I~(KzdfYuwVf?vRsFQ#8Y;zE}{T62Skn%qJq0#^*e{yJOC_3(! zVw5!UAHkJ?P8rBc&}l+)F{ph5T1qgSkh9n0#FqjMPUk0Z^9jXQJ`zh11~H1VJR-!D zy{Fkp=&%emCPRk7jRyGZ*XQDtpx#LDm9_s*a}j^ODO6X_5sH{TU9@_l;tGsRxjd}J zD$#&@dt>eAmk#zLMT2gXWcvBeS2|{=ZC~<*kG~34-}&+qgX{~NGitUE3oJTM-}rPU zP9tVgedJeQpa-RE`7rXq!ui!&le`#YD| zvJ0qxrc078+`PGAL*0@|&s(mx1O3)TAx~?T^y;3!zET#qr%Q-E+RWCdMQC`w#D690 z^7PaxA3|nFJf5>x_M0OWL~+>}1LKo*+Rr`#U8mDo}qVG?o=DxM4S~b18Y5sR#g-;=&J^|q1>qlfx zoS2_`g)y&0dzj#9!Y7jzSAixFh8$vO8-9X;MfP40e~|xja>}7jGn=(PPg{=`Q5(ju zqP2SL7@u8ljPVINKP0~i{uCb7H$}!h<%OiJOiY--xFV}HzJ34=d`w8BU^a7-Sw7LG zbZ73poquHa;ckkW_cKbJJKtqqB2AKX{``l`u1&)FXc^&mD}k})a>jR z9)cNO7u5oX+g!AGvrhAt84f%8d5+fU?l@yvU(vG(jM3FM=;<=_)vsCSXprgUPf92@ zntw2`N*8lDB-wR>pC)(mvW&X#@QZ+p6_=ak^wk!WhKB;Pnl9a%QmgFpmTHr!xRN8O zv2%IW9WL*>)Tgy+nvDbLQl&mqPWDa|fmMu?{%yIX9kP6nPDfoj&|mdH zE~d3}O#Rb>jGw`fvS3H8?k%H(`wUyO>eTDM3J9iY4X<2LPtlBVS+~K3`FYk&lZLOQ z-_aF2`V)|A$BT;XL?FzESbSSKlarFrUCt-k+zhH2V`8NKaQnXczMohWy*HS-2?;4iq7C47?lP&R8I zL-0gMo_>QrdkZ$tT#;&DHp4#g25h_ZI$Sc$PQiCZjvDJ5F|#VS530`>TIUton=U*U zvpINuDyF$hASEMsv7@M>chh_V%}3mSPTpk+b{D=)-I00U@?~L?%DkWSvAp@2gZVM? zt$@IaIMF%dG~K0PPgBzE^jEVHo48upsJ4j9HC9fXuN=wx-p?2-OmiS0ph>-#nN{ea z8ktr}$X$-@yLCp22hFr}d*_hEPh-hlZzmGP4bx3mNF?M=&4_C3;%8ZRu|T$!LL;4u2liKbl0QlqkY zL8i4x`YW3k4J}%iNzhqF`qpz#LhgHyPNPqhnW}jjRz44kgk$~pR}WI9>U?U`6l`wlwll6j zz+^-nYP)A*Z=al;JYd6~?~oHQ7{sdEBrahen=z8NVSb;c(cFbstBr?7Sg5+1vyMI9 z)AT95T`VH?6G7BD32uRxtwW<0+GjV`yB1NuhDe^*-thS)5ARTrD~b#0`h~rTSH+@A zs%v__b;;X^_Zls?InXz)F*CEN$LHg~VqL-pG3rd%^ybOM4*OCoomA15w1e%0!&Uur2j^Zic+wuG-Cdi!{cZHCML z^m?#ytvL&EklsoY1709I-}fI~C*tS7A9o#pw_>Gv71Bf&OHqswbbn;TPd#GRQF*U2 zkDY(hnYBSdJI1qubmvvt_dDDjZXelMXSQ_T<7|zPXb!1&v9&?%H4?^9eX&WU?9KL3 zL!u*T+P3v=0~)o$)Uad5%yBJd@g8QwVOOHC>eOHHnGbKBsC%^($~%}P=ej<_LUAyt zYpc-H8lkjV={FAKxC;-scIJ7~v$2Kp#uzu=4$m#<68t8J;?A(h)v2J;@2j+B<%=SZ zTaZF8T(?vjM9?Uw-~8fJWYzwaQex+-o9CA2H(kDbn5IIojET-RJkxr5|LKZl+%kUr zM=VWZJKY-NFYLFc2?*K|bLoKg1sX-)p?L+h#rO<8Q>`Y+D4w+IvL~4STCbqCSy`xT zC!H4~!<@DC@#2gR2kU1Z2LIRkkSpchs%T?o*0j9rtDhdfT)w;MV7UOjl7P8V5hIHr zw`ghq)S$Sbq^9;jSI&$itfe;egF_kQddNwOkg|9sov(=5*Se;0>-pYVTt@0fe>>rRq2ue(M~6FiY8cw~wz zjW+(4$pS9%kf}==pWIWola7lM7CEtPmE7>KK~ zvxVBDs3P<*3lXqsCVTNIjl`UVMSE}3Sc&+LXV-`v`s-ctuVDGO4MjD1>)qvI6P>JMyg3p_%qY8Wb<%`DAZ2%<|BN-OJk z=<9j9+qQghT6afKmd7bZljfJ{##GCMn1Vf|v*m0xsIh2i^h^ie3WtDU|G(=A{&8}D zJyqxWb$_=!w+t2-k+?}~?!xSo5wVy>Ra>YXP@go*Rn3pj)b2GLZ);%a+pc^9vEoWLa;ed*J|5tgX}zm;k1{Fl|54^9W#FXyCnyE7E* ziBq!3XR{`Ga%s~xdzPxpuB{_oGe#2XwF~1ZAIV?y*jV_r@5rYy_-tk5A&H;$cg$G2 z_i?~}e5vXpe^{oaA2mFDDtItFaJQ$pg0I&erxSZ0E>0Mqn0JV0b}6jO9SmEqS{g)DrF1_8wacsr%#r52tCk=0I*}ylUTjHb&9|`^WSQUfOJq}GCmnt(! zt~?L+ZrQr_^sZ)(-S-~fyZ+#mPRS8log?G(UGCN9LZQ3 zmsdC=)Bm`^Y$D<;$0TUSW~&%(VrM|{dU-OE6uSIj^2x~c9Z44>@-@@GJC@5Yk3OG& z{A}Ns%f2C3q)&XMTFNmcqy{A18riYtb~d}VQ&Xq;*7G-P&nlkm=s0~w<3S`}fn--0 zrLS%Dyd1?6oE-c{N%yx28#O(iiFku*H=hz;cwhH z(rD36Bo}Xo`0kdpEx4`=krs?I(fNym5_NbYnbMv4Y0k3fsut_&@r<6O<*tTzXOmc6-uRS4nI#n?{v-jA!We@umj8Zml@jTRVYs1*i#Jh}d z^v{r_ge6tq+xc;B(pi)HCE-++Asx*q$Ge!;Vy+J!-?er+G0uC8dIcW7=P&Ogw&)z%dtRPAW|SP-O!|Vdm%3zTvGX2EUsByy z!Hfhm%PjGPb&Jv)D&8%$goW&xQ%LK2H`Zp-=IS)bO;WYCx)6IWFD=vTWr@-9?lY3d zt(BL*jWd4R$z%MDb(s4*geMJ2LgrMl>5yM!mMl`*OzgpJvVq{rUnz0t(E)X1{zXRFshf-V4^W5I( zTtm1+&@b?B0u_3p)P(v*BjQ3aPoipEh~v^M5^5N@eEoWQbkgdkFzW$T@=}$A`m~f3 zI?pm4uaa(bxpKSgV~hXf)te1)NK1d?|oR158vQ! zQkn!*U+})H$gkD$f!)H?q4^#(>`WUUK$-_;0x`T6#W!Ssnp~?_{BisC7`i|4)275l z(9%{aL__C1qi(uor1NItkGmj%qG-REy8Pqui`ufX>ls?lCKZ5`v&e}W86Qn?!SG_B%ETpJvh@XK3$nuvR{nRo+t5zqnd4x7_-W*3XM2w|&Sls`+XI=D=8{sux{Rd9v+U+r6q?74u}qjcJW`UHz)*(n4+;x80ZM}{aDFC2s8^O zA}h+uFhWxoDEm zR@tw28Qyx59-8v;O5!%pggZU<$J%ohi(J{fhGvH*`>XPsm0M?ez&vfyUm|eTV*&IN7WnH4ws0To_kB>2}(EY-tJm9 z+S}@G`LQ;I$!Rh!#NBp4x67t%%EwB0>v`RTN&J?oYfIAXK?}E*RDu$z(;@X4Us`9x zdh=J$$n_0ep5ZQ?57Hc<*bNP{n4cpH+|jRhGRxe$Xyw+tkn7J!YErB2k10~SsOxbf z{q(Z*t4}5CI{ALZCciJJfBSBuWM_=TC#U*F@9a)HB)qI)cF`(3o*Lo;J$q-gbr`VftD#q z`mkGI6f_TgOhm*DlpHa9nA;m8xG^;`TG0l-2|99&P+C}6Kn)3&cq~XNDn;G5p^`@p z(cD~suKVj(pa28~1P*PQkn}p#oH6Dr&xs)!*WRxseH$4$xPLz}oO9MrYMV}?%8C^$ zd=roE+C_qY#o`EBjy&{gJoI5zfJYm*Boi{?^qht@fqC<>d?JsT-`*H-TO>~mdn)yO z7EX$HntWCC_-#3xt5@H_c6E->r)xWdil0PLHM9{>^?B2LEXpc#_!4mGLw^F>xYltQ z{b~CE1zFeGS5h%C1DPT3+Qcds^7a}ouB6pE?2)b9DQ)dKm-k9_VVJRgCg{sED;N9R zPw33QYO-aY3#q=EzkJd1VcRu!mRZLLA7<~lWqfM-eO70Jjrtu-#`}vNAB`!i(odZg z-KNz$sB|~so@U7XkarTBx+&Si@q>vQHD`+V&vHe5Ep3?Wm>Z%^ID9+E`g=CHh`)J_ z%eSQgi_2+J?)mLrIkorJuO!G`i~D&1l` z1B0%P4qCEVWf=JzrFP!&PoC7$YDd4{P)JQjhm%e;NWrTZlbn1#Jv&pC<>lRu z?$R?f>^2dRU^^%z^sMk&;rsV+E5Uz;tu8Xr_UO^0ckYPLVQ4|L;-~K0&if=KgDBhA zul6Z{$!IspnS3op)p?(UL<@g$hXka>yLRn5bm%b!iYKXS?W1Y_(f=ZKy?4js{9j7 zHTY`HNJo{hY&@IoYEJH8A2~Z6NFA?t56V&Es@h?^!G4F%>!t+8t}h2N*q34~0w!wX zTjNHuU0;nzGuj!xnIvb0m`!vT+%_)d*Yf(rDWG0c3+m9sLbRF ziSWH?w5Rhb9<-)CFTAKd9I(&6VNpCp|hzz3@RWDq4^6XivN#`-rg?-zP__@2ivXjw##lC`kqU%k3JpsWq?rmk);1b<*C`AWbG3b(17v$J*Ii-+pc8Emnry<$4B zv~)=HSDZ4m(Vg_MX={@JI*ho`-(g9Fny~2Mt|WGZ6jejKn=+k&Z{I%mn_o*5;pF^q zE9INH7?FxWhR6{*HDw8}Ap-*!y{n%D7JojU4fo$+3~f);ccW9FWmf621U|Gr^$(BS zuTT8Bo$1#G6l zKxi(t(FR>fGI`a*f()G{7nk)F982B3z0zRa;8O!}(*!N(+~fc@8psXN^P-`~i_=9! zM&iofRt15S^T{}+hxhIQztDCqQ9w`-UFH0IXJ=?Z-|_WVloktu^Y}d_1x>u6!#*8@`3F7WY1qy^_FyW0W#K%o?&5s ziJSKz7+yEJ$5MH}eWAye?>#!?nm5zstjw3A`ota14_sarQ0OnrcUv+1^%?DJ$(NTl zl$21unyPHuCi~`=d=y`Q_6K!-(ThXQu1#4N3y$Ak-tA+a^r)>Rkq#w-D7DO(X4@t4 zkB)cR6m(p!Ut3rk(`q{QBtE+ODEW`&fwo-apqu^WOsqmAidB4ERA@@G_tl=4uSZRH zD`j=n>}|Dml4pTI=&7+A66v;e=OY;2Tn;;~z4xyTK@SQhxqH*n z21Q4Dv-`mu8=pM|_e?weOhK+Bs_@j+>R1y4y6_$nP`{37$YOd`Wb_=Y>_At55(3A+A40bXSS)fsXRd+SvjGA|wI}(W!Hmdy zaV*m?{*>Nz2jWZsJ|5n`Kh%)8M_9N%t|a>;2ZXq{MOcW%;%RVjTU}kM#eh;&wV%H~ zOf3_0)QOI5>+fTRCb*~95>?>8ga-jCk5Qfi{U`ZXCD?E)4Va51stj6h`18*{@fJ|s z!2>uSV7ojLPLV$A30zC`?HBoJGyWd-{qwswxG*a;hG{!qJ4#6!nJa#8r`1@$W6i=+ za8;RxY^3x|Y1NC(3XiVNIT`OON*5Q*R;Wtrd$g1E<@M#Pn5Vg4_8ec~=vdJwl`Q%A zWBgFxWYdi$_rKhbDd672PI{T=+u_EA?Lzw$sb0Yz|KdF|f9B=s zPK?EpV+`+>UE>X+bIgnyrDy*#_G`t%WF^_M;yl)IhRY`ou z%Lz!^%a=t)X~`5{@7#Qj+E8hx~P0PPC=>0SvWb|*+fnOU)hks=U3XMh#1f=2hmF4`jw6qxG zF7#v3tu0u@9S>Xy$5vjA%s0u&u$KmwbQ`s0H(Fc@s}c|rVv}~TGiie0G$t!6fRV63 z$v>Qa|DNn8-}8(EbVc}m<-a1vRcHKqTa=$jeE2IQ06y{6I>8kRM9f?!Lp^M3gg~9s z%ekT#c?l33TdSZ2R$mVKPY~cKWjbBsvt*9#>#@`NoyLcR8hF~9%&~P5=0B5eM!W@7 zcL3GYmnC^hKnGkZA}DBqjfdWKFKq5RIxLb>Q(>e})ExP#L++q|x|3c&Td}VstDJwa zJ%s8Q%`ba@u76t6{(4_)bZ5d)&UXuoC`!emUiWq+xPn&E*)8KAHF|Th{oV9blQ_f$ z2i+IXh#&Co%wNvFbjyYMu8k-2&d9x&2{BJYf}d$6-$Bi}n;|7(M1Osc+2#eKo|y)^ z4OGj|*UT2WJKb;#+FAIq+lgaWpsGvFvVUw^x@74`(Ny)F`tp~6GV>yCCS9q7b|MBl|I+kemZO$B~QmH-REJo*$q_s~5`mH!}k;7O@qMZK) zRk!o9Z`-x$jpH_{rHMsf?GFy=?Fyw{7CUSue{bNeec9&2qCewsR3=}qUANBfu=X0d zGJnC-aY~r@cEk(LbEYp_NiZ^_it@DhI#h)uPd$_GATa2b`tIJcmeL3R!45iBDLa*2 zTcADMQUx@VhO{TUO}@h|ZD=9ZuKEkvD$M*{qww%u=1~GU4cHBZsDb|eb!*q|3cY)G zS)^dLT*MQ(h|-dp>T1LjFV2}{wD|h&Bt1FFp%mjyc~?*%i7@ovgsZos_L7~|V@tQH++uCUNXH8>StAMygrG)}adQdJPp=S3B8eLet zgYZj(m9$*vPlY|G(DrcI{>WpK>DC>^ie!Nf6Z&GsdJRr9B?u+`>_4cVwkvat`ugj53HuddBjF*3D{|wMT)Rf1b0(AMO9tl0vU#H8 z;_Q)YM9TZY8WaNeTvfk0Evcc8F{*^o`xPe)2)Zq#L9FLGrhlz;b+)_*zb$C_p4m0sDyV&RoDYI33;>+2y zo+mok9`Q+0HohE@w$<~{;{#hwHqqOrB|4gHJ@t5+&j2U&^1y)?Ngt2phTPY^s=492 zS!zyCOz+KM_A6D6Pv-rnW3TVqOw_gT=;-Mi8EHpM0$523&`5)WgTPphWQHTK5*4+E zZw7P*xC~x58cY~=O@ieE2o_Nz6@^_9YGA~0GJhWZ4j;kBh}XcyfYOS{Bs@GE(aW5( z!Ofe_Zf@qb>+BKCSy%|toe7Z&qSV~7IC-)N1LJw=PhY&~RWPbGvI6(Ggz1-i>UO%FX&9@Q>WqUD1{fmd2GFue?A*Hb$OHjMOVE>&MAz%JNrj{!$xSN#@v?K6f_u@U`Xq zdiDNfJ0qJnFFRd=DWAiYsT|Wg9M8BIxr$J@=*BYLg-HH8rQbPT-KaAt{o(BG4_oGn z=glHM9wUbYDILnZqA-=vbCxk^! zSJ7$I`Db%ZTa+7F^$Px6x9eBLTc;lHjCsQRgyrV}>v*ts<3?D{96Rqb0FddM_A*I@ zhiXi3rM8uUAq{pZU_^lPF=$M}wGQA9mS5<8;eGLb_AD0+a_sCNaDjX=3mO~;kEUE90=rSc)o@@sKjcDECrIp95QY;B#3t{;K< zZswLi!nu9dk1*2h_x=O~iHS&{MwX?8x%qV+9fV=qJmn(9%zE4uxq0{R2f9}+-DJ0y zBLKs45w~IeM!hWe6YgpVH!(l}9v~Fl)swC}H(T=1>zf3ZmzTp2w6I{u+3_=P#~sDt zc@joN-!pl0-wq%J#SWtUD~%TtMm&8Xy2d~Vqg6dma`=?Y+AS4%?rAizJaK}CE+sV; zrs!KKO-O(qKi(2n)zH%7Mx+tK&l-Dnk?2AW(0(Z^p~!o!37Ds$oUE-kW;T%!5R6Q& zII^3M(0 zM{uCXG2J(_``sv|iz~ghy+8F6f6KJ7gis#&qrg0o@W;+rdIX* z`A&LcIQM*tt|#G$fB$a6=aXeUuERO@JB+-ct4n|zY;vR!Nm9T_6kyu4%?v3i3Q!5m zX99$VAc?jE!+Pb46(G_0o>Dd>3ji9-SwWCv+WZeZp+I(vQklUKzZpBgTZq;P9sG#p zI}Raf#WmS%Ak?GFcnoUx*N-zmamulqy{&bMOsXQ1))(v||F#JI{Mp;eUuvUe%Qmiz zEVQ$-vNAB>q1(UR1#CMl_nrd>4zOE)r9(2eZJSp}NQjRQmrn`onmO>@0G34{9VaIz zApp0NqGCX^L7QzHQo6)H}_tFuQxFb6jmUr&NTeF5TNUm-*P zg3g@)DLQuEID$%U0_fdQS4>Bi8LPwtVToJ5HziCW(&IfrMV^BV*En7|Nr*a!hPwAnRRy zK}rKF*&$Ek*M;J+6Nz^)Sg8b%%kVY;0Gd8HZWS9zo)pGaYlz2OQ|o{%YOq)|t|iW> zra02X8%=8dK#iLPo%)|IxMfDW{$36P$_#|+>+7c{CfSrrl8d|hrG480gu-4o z*`(L@JM+vy;RQTmJ|EY@FVJ;hpfzSkJfnd7nD0b`^5ir?ZJ5)H7I|^^ZEv~4-f^p; zChw3Cg5HL6T*W(tmeR&GPRCwgQ$V$&6!^n|)K*~JhMsXrO12K1$=E>*yhsMj+Y{9U zWPf}FDV_B|Ydzw}!_R+l*Ou_8D1ze| z76u+9qKFx3yBSl_$bSGPv9bk)18T-4h38;xFi)jXt_ zGA%VB9aZqxO0aTSJ2gnno3SQ7$T7 zKzsSWw0VkFfluK?frT(aDMos(FDx*SCGzSbDh=oj9Y5}*>oW`UD_FAuCEZ)AP~q0l z=+S5f3c$8!)aIhmYDLsFg2Za|zap5@DGy}avgIflAP@@+ziFqE?gtMZY(1~1*Z21A z+m6$~-9UbUiCxc5a^MNk)a2orsO^9aCRh0Xy0J4o#^)vN*xJyjZ?RQlG__Ls>YA8E z|HFK_Pv$%GRMSpr4K=mSm1n)2Tk^`UmsLCaW?uCF5cej~RPXKIu!hrIl2Rc$J4q^Y z$k?zmWvB?r6hfwCp4Cy=5|V^WX&{6n$vl)PAxX$gGGvS`nLVGM)EPR@|5?ww-u1qF z-Rm58Ic4wPcet+4bQwvm)S4FaesOgoui7+X;P`mlr@!tcmXoogL3z`iv^oC++(DDe z`q!2lfMWyaT_OW@P1JD?25$t!WZQ*o_9E|P@TTCbB=SawS`^5NG1yo92M)lza~i)@ zMB2D2P;RGp5u=a=@-XRBo@Zq>8m54zt9*uz0xgeWF)+=DMlbSxluj=kQM4iL*|a#d zFoCAhcZ>^e^X|$>qhcgIxcT*Rs?|9}$Gs3>R3PqC4++FPf?2|Kp_lByaUOi3r{!r= zjjSBE+4NVf&HQpL=8iGxodL=tQG5IQQxhj2cX@IRNo7QsObz&6+vDVcl<*_1JyYRS z`+fZ-Up4=?YwhQ6w2i%B8C(deX?q?J9Q>iV*<65exe}vKaYRG}?vgoEAWrynpo)_6 zV{t`_E|J_~CP;q*HyF?zn3$38hz|)fZD7gIo#-PF{U?bFPW{c$%`3d3^3{ZMUR2 zgn;^UabijDb&MjI+};Sq@%((_|JyGvh0@G7CHRImLnchfz!lB0F;R*t_25L*@hkJO z*v`c%>cnEW@!$u{`wjs*h-&!;u#a~2>K*s7S4KvxyvQSnwauRFjVB^ep-Xa~YHYpc z=_w>2VAh(e#kRrG5KVRy>Ht&#k;sl@@Wv#K=I7LMe)EQB-)nSn%*-J9r<0mjeR1lL z??O?IdZQIng@D;(XjWhpnzs1(GHb6o72H8cqXcmXArui4gn>U2(_fAR%I&xAl8@~E zA8PZze;SgTn%cP*e!)U?@#XDEpO1<<6m=Yz(+2;;Q8#7Sa4iA#j~M=r8(!`!14Ai+ z9~#UsN{s!bxOe(LM5)FD2MBr7kBllbBtEL~=NjIgNvI|Grca77%8<`hLEHu7Q@5Rk zBcS8PdQl8Ef5Z?AAc9^!h}b-5c>lozFr13m zx_w}{kmd<^oHI}{nCAtyk+}G!Nc2W=U;FA1Guw=hqC5n(rt9SA80`*3)K|WQx)O$JnzlGpw&=mIAcih} zy(=cF>qcwry^@ATa_8d9x4>QHc8J*?BX7L2>KPn90a zU)^)-x>i~|K?w=BFE=z2FpeTP3H(}LA2l0ETWJ?s-#t3!DAt1F0loLFTeomSm zXU)>1@4ph6{_%c^|C3HP|DG>V9%JATs#Z+>F>RHdQ}a9=UxVQ@qmw4&GxC_!9DA0r zqV;C<2ZZ6(XFI0MZNbif0?YYLT}=&Q8y=^neft~}NhG;hs4U8TzGVDza77pH9YR(B zy3|d(@!tQB?V;d!#aj4mPsZAO>F&$fR^c(*Z4(UTFiSxKk0Qi3Vk?UlSnZH znE+cbBJ#i08%08k_aaMoe~7$=TJyWXmYl4NjF7F+ zJR+*anz+V4L$g#3$+>ANdZ#;qff)pY4Gm^nYU1-?h|@52iZ7%e z{lGd;4~nKa?|f2DMR~bApkO5>`x>kaOVbT2mf~T8`Y8YUEO-|wR%NmbG44|dKA1+8 z>oU<>6Q5`AJ<+$9rfm{I0a;o2c!(Fifb4i5gLhpU^jJmSn^D6eNc4qa3eqfyh$g-e zGvr%flnf^w>J$9#r_N3U-C>Rb+MJzJb9(&><3*ZI?6>xVX8ET7E;iEzvlkF2nZ5C8mwgOMFl`id%yv|rsk9E0T{awDQa(ls}E2-q8Jd* zM7BX{3jS*%viZZGhq!{0P>>@!mi#FbE3x^VMQiR%XONCzG1%1x(6UvntwSL%icFal zD&It0c^*vsWIO_fDH-@Vva&=41#zRTB5KPIgM))e3P6L4wAS>-0aZY>&_7*s8nJxA@JK7y*sx~Zhy!a@RDU7 zQOU^{5m=`rHhiVqjz}juKH|WTpRG|EkC}@|C24GUdNunEJd+`oR@P3k)CGqzBY;z0B2K^8dr zas0|x%gw)rWLh30vRi117t+r^}e4%NiAbI%Y6BS=%hX__6;}@@t2fow7Q4{c z?bzUj8jkKLE@4a;X~_wtAYTVBE32n+j{veVcpv51$QdZd;JqKh^yp}ILvwrkG|0zg z*doqj%$H)MM8yrzu;OX-UStT$J*cP+!64P$F!egK2x6FA3rQ#z&}@~br=`^mozUu> zbSPKZA1w7?B`vLygjq~DoWcK53xYQVaa684% zkF|yInZ^JVe(vehs_|b@1W9VTEo^~Hjn&W18?kQr$LIFlxq0(XG=kW**Yo)4d>H{uf14F(v7rO4zK6dXSIR%9Q5N3USS!2Y= z9h!VUuugjT454chJ1@ZK?Bs-!V>*eLTw-bpl{6Cy259RBlad037mdMycdOFjEY&sT}!LJE2L>%F{bDcQ7HMO*6Fkz&CUl%!V7LM?9wbs?C zoj8Fy6tfk3uiNa|P9nXm+y~ubn7FfQd<~A+iv6wc-a!~P-I}|ax+p6xO$ePHB(Z_7 zQA=YOgy*$u_x}nhZ+fG`Sp$_fa(AzOTD z|8IB|j)>a+TplX=`WFL60 zf_HO8obT^rC;rAYMTpUa?D24v<^H=uj6SHj_wL;b;E6w?NH0TMbtA?NSu|&YP=wSr z57OnKyg4_3nsmP{TZXZO$JlNmW$|N;nobS`HTVg~30zA|EITUdEEr0X|0{lLq$HuK zh=2_QQ3}cG%*@RF&%=!(FfnBxRucxWVC29Cufk2ARWH>s8Sx?V>xp*GWMbCfbuTXn zuM^k6O@+ay5y!HlSFKrtq?IOkJ8DdFsBc7(2{wj-B5^8lkSR=x+5h+qFEt)S$A0M0 zAryUx4u`pbis^Q~6r4o>t2K`wM#2hJNg6KU9_vH|Q{*DR}q z?&mJH+O5;4l$EI%Jiyz5&`jt_RM`W-(7dXXq;*RCdg>Ht^hU`|Kmn0;dS@%7$e5uG zMir42kmfP1xrQ8|pgVUEXol=<5cKJpnGFy~HD{$|XKN;?4mD*UVKSV8Aso0J;B!F< z7HlydAxkl~WKrXH`tgQ-{r4rNtD;TBCECR1k#&Y>^{{fG#$aBzOH|Yum57UkBtO43 zjvzwef*%gB2gF(bC6%%Wfp!@IzNk?oP2O{mG?Mj-61B3L_|ol^l$4Abj7J=@5&Z|M zTFpplUOY9_+Ybd8$f>etUCb_W(rVjqHu@IvOc;)a05@jVK^YlyBK>*9b^2TMU z76w#+T83DedX}hrRa6|<0bpBYgi%l`Le?psW?goKj7;Kopr+f_uV0S}HJ&D^5uXRn zG?GT1+stb2Y~55145rpngT>=B11l5L8Fh6Ta(QDEg+oNdX=0?4n9IcC^5qa*O&!Az zPku%W2ritu>YsXt^ydFrgH&G^2LKpzvF6%o-Elp*V}PIvXJGe@x~sU05XNbhp}Cg< z@}<0c_jJ(#K#j@qC^Jq3X_2N@h-|kw3ug&%V!N#HB0Vgkas=haRLeekhn`z7bYGyH zQiK@B$;e>dU1TIHl0F+6;;KJGg_EIaf&4MKM|!jS_anKCiz^Y5*UZej6tQ{#!J1Bn zAFId02n_-eor~LKxe|t0h+y79Fz2tS$m4VihOsq+7F(H_af+A;FhXq{?=yvh7x;h- zn?|P1dECta$%4w7(LnaaNj*STsF>UIc-u2LH&%lr<>Iodz&O#@27GC2fDy?rmuK+q zte2`bHB$P%Kra1GG%Y2*=ElayIiVr)mqCK{wb}DGOFGuhZtq3PX}e&D$=VBiADSAW~i3HjrKbRJQ4eW{&XS+12r=p^Yee^$P5)LGfWAh#MyxEGW=NnBJ&- z_u~_wxdCN7TBP+=06@T*ojbRa{{V1Y$@n{aPh)S~0b7fA$aVTD+wZ@>u4z=M<3@v#V9Yo zh7KrYe2pBry}dm`c3JmNvjTzQJqM2ku+NKpm<)&wdQN<(L{)DY^eYZv*>`xpbar)o z9<|YnTz-%<(5V=LF?|ge6EJcMfnoLZ95|3O4*Hwp8 z{VnbdUZ2pijD^7;C2G@i{KADHXh~g5Pys$(>|(y0MhM7E4MfO5DF*Kn%ZM-n&WtK2 z4Kw;gBeaT}yRz@p)x&gKx0ZGcqa;AxYDe^@l`)5J}82JjDfDR}hz$UP?W_02l>`8S+p<$tH0A9RzOx z?xj84X1O+a!CJvz+xOKZRRlJQf_6fKbRdU4YHs!be#q~yag2w(u`9v>x||4I?S?dy z8crW6DwHk!+=u=Hq@j@jT8I~6uiLj@qKJu7YwPMnnSBvm+?vkx2P^&MgFHB?`zm(?%DGRJ z>A2;k0=|X1-Y)6DBy}E4Er7EQ zrvXB%F<3w--D2Ubrdxck^&F9Oj&UGi;o%68(%fTZ6ciE? z6WQ-W$wu$5k+5#%O2`MZi}cQ$m_Ui^;Q>9b5)1-CWxy$5%@SsQ15>Y<&`9LZkNet3 zaJ%r9I)VP8K(mI_T<1axU4hm@WcQC}hkxhqTl)h>*8R{_&XAKhmJTHjg7+oga(yr0 zTlJ$#4dN0LQQ7L|BC}1{afGeK0f#g&Zv;K;kdpD-x`TBNQ3gaEYnr$P@Y{3s`75zwcj8gZo0}Kp$R#KR#btcW? z^Sejb=VtI1v-|LHlRwF?q+&9({jT!kp zT#0-k*gb`MyaCcN)nJIDjt7T@!D{ODYG3JmnuE~k=&6ppcMp%&RO~P>Yb;l z4CnVeJARXHGv_8T6aTIG{#$8#ELFC2^IZ2GS6+U5;&t|yae5nuyd8^IsXXU&t{PMj zlKXu3rl7*RcV-IJ?5&b46{T$F_lBOE$ewd@>dsA?a*9}`v}T|iiI&SeUL-5RNUOqm z?p-@74t#-TBE$qXruoV;v`BAaY6?SUghfTqB-LfHQ&HASK^Q<<%3i2QS>uf3qmgt72UQsI~*=B-!QD&c6#d zFmRyb)Ri}!#Dc*=NG9WKc=qi5c{f$nI~ob>_dkBr^LU{PjWsJ{x^F+?y8$ptU}MbA zj;+E$tDfhEpjShQ0sE|D7!Tg35xs|m6a=p7C3Fe61qU4KchR3XcrYJsDkQ_sf3BMY zH1FKHr5Abg&K=ao0^UV0U6#V=haxc~2>M;MC+fT>=_DfOFpOgQ{r(?y#HG2f7{x;j zS%6a03G?VB=BBM5{(YL@!j5vdb{ha4@!GOPZBx}TGF&2x$=NuRFxqkTiWR{q3UHNS zFDkGH9Nhi^;|P?L{3;BgKV3~r8wue z7p41`7t0kJ(T7&VD(dOoZw#<9X+!yAz~cY07wdH1l{Pg#P7rvQhEqNc+(|l95A_ln zVZ*^o@OhC1Fd864{*J%@i%u(Cp|~DJL`5;}T7~ng3ucAPzjW7Jy>cae9ojW~t}!ow z66xsZbOldL7y9>6W)>y-X6NLDP#i0>(zTo`m;(m2(25I&x`zLZ%FE}!dbsNC+b;wL z3qcj|R00~1miC<4#rCt1{r-31pZS|k61q~n+Pdvh>2h`yjUWjHEjGB)d*#jUg z#MpI^^oU4h@e6{N1FEdRf_7q(1(L~|A#@3QohkK^osErI!o|VZ7z3V&HYrp{DZb`< z(MPmN+}zyB>Y67{@?o{$5{6A1oB)LH399J!;H5+y$SKZE0ZvF0r{A>c6yETuQ%A{( zM}r6YZLx()4Im+4=9hTKP1eeF$@o6VbSF`YVr6h_1nIYB&9b_OU=-8c(9-&T<0gF^ zc0m1Um5~i#9k^-Yv89U_@e^~*yo+x6`yV2M4mO4_Ly(Ui2ij3G_=&;KpNYXu)>c-* zS?z!#4=^iY7_jNvo^*R{!=NkbU3b*9&&8 z>83=%`}Pmjv5vQF-YiW<5lc9!3fnE0E0(Qxj*td0cMspR9aMF`77zn;8*>MGVc{bA3!!Oz`apzNH*fxYz z7?M`4TW7cLqq;P_lnAbaG_VJ!NkV$M15~K8va$kJd`WqEd1+~BQV$N{XU(s8+tR{9 zPv0?Wzt^t>hA#9$7Rp^Peu|LxniFxo-iev4uzct%Yvh)hB|f(sBYFxaswPt~8G z=9`C}FI-3}(!+|*)U-3{`zrnVNQ;bHJue&S=nr3R$?xMVRx2~n-6#c@%Cp}c+PjvEYOBH_fm6s!=e zJUdkS5B!KU5+p@npg{v>a`j!og(X~b`cGYAh2n?8ZPk&~A+kSTEdAU=W#Nk-$)`_; zNId{qsnp*AS0rjr>gPsY`%)CSSbxY4RpCVO0paxGB}?dd|1CHI~DeDDo9o zHZd_VObEaSp#K3DuYbMr_pKvt9pd%HI;(-w;;-i@&arP_pbQ%(eLz?-HQwO|lD3aI z%|9LeEA&)N7fiF4df;Ey39Sd3T^tA&p~IS2C=l>I zQQbpNKV&z7>IQ?Okc5FFP)8@S#stoJivY*9%RDL!AsQNSam6{^fPn@puO7y=mgfyX z6pcMT*x=wEk;r-5N|*57y=Ewil_Vw%P=zdKb@>A62d}%<)Z`>s6h#=qFj|}#w!`Yw z69w^$5kN0IDu{BShiRuyBnIO80}n6>*#YWju%AFnVg@w(AXo%v>4K^ra3COLiR#!z zX}jL2pnN`!?+1#{L`MgUZ2uzK&}YGg3J|og z?-!wseI~G!?0fg}&;NPvUK=rlI^YL)^ZhBz|I=c1Sn`jScu)k#2~Ol6s+20FqoWP_ zj&Sb4ol0NUx8-3UWvdRt2Eg2fjE=!}1M}AN)Kp&T!0PXfO^CX-s6-^@I-vpkZSf*H zG$;7|ftDP|)vymBZVy*9iY)IKMpa=q{^cxALqt;meZu;$OKf7e7}hl~ux}%@S^EMu z4t)YPMObw4D!M`V?4SdZ?b^R(4XoW`2HNKz@3L$CM0VM6x6Hy zWdMJ$NlHrAO%RpoGh_dmvbC7ju9K$?8@Z=v9N7)#_DQ%X6EvyZ5TLs6+=D_ zJ*eX09sOR$rl!vaH<6z~C)PFg=~=k)HWD#{2E3OG20qTrNSovj*g*nql6sfY;?Us( zX~W%$E{HXz;^S2ltnRXI-3ocM3>o8o1^73xuprKL6$yqYVpwmH-tgEM5J>eca3VyrDRAGYy9Bo=ex#H>=xHsq@Z4ydf-L%SdC!JImkQj{o4ke?GxBMGvAm zN%tm#VGInGE?s)VYF0s^ocW9pTT=D@@Dwbi_;~M-;!Z2V-uTLPy<<2H&B3~jRiY>N zCN0NJo0&Q7k5a)?jVN?0a^H}^7-PTV2oVq%jdQZjHiitxFlFm*NI4PZQd=uU28v=R zEohz5)YD^3*t=WZrUn!mFd?RqmHpzW8&dk%oQDoAqMidAB`do!Kv+^t%;ihl3)m{r zL0sSx?-_wV5z&O{xylAawNOeTkumPWdRdP1L+P}^>x za%`l9e*$NOW(lAXP+)dodq8hlfJzgJyX^n`CuK1ng2TlbWPa-luCCF#QU+GD_QPiyD;72=f{dIvEz3_L^sHQcaP&;fe$U4bCQSW~>oK7e-^aLtM4$ zsva8d^6G5>m=Ohbj_))mYz(86VFPt$^`yS33AD|&Rx?xzpeR=@T}(pO2UL(;TyOM} zZS3t$Q#DYb;{Ff}#SvLe#eMAc7}|J5svJFv>n_?CX4kS#RC^?U2S-Obe`UILp87mn znEOyv$UQpQ)!YSo9)e@4-E9imD%9_Gc7onTBj3J3SZ|3z@Y+dr#sb*%i!bNv@(2hC zK~?Z~jARX05T?i2%-9y{4WoLqH8%xyi$O!Y*Zz`dG^sSET`)S?g-UW3wRcQZ)MX05 zRV1w8C=jV_Ug)o;+vePo9EQ|WY6NRtX{I-Jw0$`iS(g|p*`7T5DtYkNdfj3R(bnfT ze?;{}9)%EgBLjn#a2RAOoPn=V`2qgmp~qCtzBU<5PlKN8%3%!p1OW25u@e+5V92t{ z%3UM~uMrm!8Ts8H#{U%c;r9XbI2F-n16976Rakk3KPe?4p<;iy@`I`-_qiFpl|0yMGzbw1&9U!iDi&C z5y?Av%7Bf2Te`Fya31)2BrvcC$ZlT`i)?aC46=Gq@?7=wR0`qi1i*-}3~jKP;K#v& zo^Y;MfOv8-_Q~A*{CUjk*m)m+BAP`&IDp21ZDAn;3PnQ+%zg9b&HNX3fW$5UHE33I9VTxW4e#J`Lh9I>v7?{{_%VNxd_%I%@;Lo zMkk5(7ut8V_!>x?9AJh*1RAcpaiF~G{a@%>Zex~3jfN-W=r{o`oDY?Mj`on9BRKUW z_Zd?|)I(oUI~^lBO|+btO!wjGxnt<%poywY)H(y83j^A|v>hV7MyB6z(dKh}^(b2i zO&AHWIAlmq^p~Jr!)H)_5&r;AM4x*4)F~uTR^svYzTcgy;R=B+NOUmkI7N^FK`3-$ zVvHbT1Bgy8{A6oqZyzb)dbhO6X5V45uPsE$($dmsR_K85fJVDfq*vwlISheGmX?1$ zdejN~2S&~^ZrQS($Rn&fM8b!T(q5>?nTR8>R6}kqPJQ`8vH7qpboXH2a8ixg>-a)& z0Z0fhFds88f@M#1g`&tNKdk-?A}I~O3a$e<1}6EjirSeuIHW&(NM;Yf8^a-O26S&I zo4SrFRaJ^6FvOFoekU8-v(!{T32SL-)1EymEGfb1l&n7Otuw7hXorlTZV4m{;QE2y zluIj9<<&?i3UfiacOltjh!Gq@nL|4(2UeFdd<8#OE*M=2BmDl`({H6Tp>P zuzgAXG8`L;F9@a`Z+Aaqg}VL1HEf^767E<%D@86Z7$`D%An8_ruXe5Pe|T#w^(~7t z@poK`EX8=vbfCX!xHGYY5CMuK2)HTk0J!R4qis&R5Q%f>5l$hX?Q>r|CCSp#gaU;# zuowG)amET!lqXK`LY9y7>$SmC$oaT}rqF}9B2*Ia15}zgcR4mPU~$e%TF>I1R76R= z0T~}+0s`2(nA!vwrG#vbj6a;%UPT{q%3|Nsu3d}tB{=cW(!*H#^5x-mp4A^dJU$r< z6x9pDzg?W1ak;q>UTyaKUYZ#tVczyOs>oJ(k#006sN-|8vqA6zy_09}8ywWesMy9s zRf9Qy~i!(@)r?akjpAzUQf1$;107BvGvFNnYf2DX8Vou^39GDp>z zpfy8nPI*;QvP)Pvn1a=%z89sH0Js>C2f5*lUQ07qgbLx%d>bNIQTrgA^ zDljT_XawgnMqhu8oSTm6b4k_ELXRC3)cySK;iwgB*M7x+{n>`d1Tab6;6>&P%yd;} zUtfi*9{H}N(>Fb|FpC<%0~B9VZ;#OWoYG%7{>Y>4rGnLMU)1dvS=OxSYNu67HFwzV z_JrxLCB5*SmzZdXUfZ$`1z}lf=`fYL<36ejYvC}!M`<1aG%WUDq=XIXeVojw*^dQr zA$0FzRufct16G$0<{P-W!6XY|%16u|AC1?UxlSQ+O6v+MfuqK(N>kL1Q5NY2Vi~OC z+D)B+@&~b5AZimm0Per)BiPII6EJ?_Xbo#o9d;0lI{u-yw(Bk*DA5l#!yyu2}Bfsp!=Z(7=iwqt_t&@2Sg_NlJX3-=i{sfjf}s; zEBU^a-R_Vzqo%!)Jm^M!(L0ztxVVjR+mk^JM;)^jtdiS)X$~wKj}SOzlkK>Rn}Whx z>!!v=3>b%&web+{v*(8~tyNaG6xw$T;O(mj6>>&ckXB;#=ipI0!?($cAUq{wC15@1 zFT)nVDrjbR%N%G|ebr|p*NtKwWh}-|lZctR>^pTpi>;fSn%Y4WIy7xkUOqmk3Gm>3 z4^bh(M(`JEQCo0bvj|d0pm7%Bc7R;vp`XKEk4XE8`cxYWz)_qGm?j)LWDG3oy&b+0 zNFi}+<8ENPj}s4i0CbIzMgo%r>0v`ciH({Gf)dn0W`fRO^%I#Kxek*dhC^ZNr}L zgOvBbdGiZyrFr{NsR2=~6BHcCx@U4pb?}=)CWm_lN_1d*5YKZVqz^^o$(PKgsSPN! z5Jw3&bsj>)zz3tWROIL9;}h%OxxtGF0q6i>bN@aGY-lKvO3*9vQ6uaCnlgABhx+@= zU%h(u=8av>3g0YDJ%s-7B}z+4KXVHUAO^myJ`f{ZFVaJcR$X1tP3^SGh>UDSnU6ym z^}5$%h_M6&R321ezpPxk*yF`p#0A`Tl)@?05roZ7q?JI*hVje&0#pdlk0Ac|2sEwy zcHfuPmpskLTff;yDQ|wS8fyL|izZ#FK(#S;^dlByxH%Xty8ja%H93F&VnvpppC9%pbMFq|vOvNMQs*+WvTzlm>_G|uaL#(O=Y89M|Gv13W#!~H zthx&9PM3!V1_OA~2;f_3iPZ)M2EsN#RE^uWW1&cl1AYYr3Dp3VjcwOFZ{@|o!C{OQ z3Pe~WJTW1`C**>Tx~67RbMwHnu*z=4vw@>pffi10vL1Ilcw7d6XUXay(_Q)eO7Nr_ z+6z2ks7AdQ(pqFY@Y;cZ{13`q?5dt(b$0NAz)0{xzUXOld}e z`KogSX>>4T$7NBs=_4h?>xnw&Vesz!mu_QZo=;Kz0 zp2`V?0ZRVHmX-(*yvXGP&5ZjwW1a8D)C^1w2I&f55o9-B$O=cJmBpnbFRzKx6t_8U z2Ry6(+b?CwsJNNnNN3zFzT!NN;gF0+)YT)Y z4|E95D^}Jd)p#syd^co%2yEkv`l8s~`JB?2t%!?DsT+mAp0+Clzwq$6Atd(2i$kCq zQGDR)#9=2Qvv4WT9JsR@|d%?5(yFB)eX(RwHya1Q_Zcd1fHhlL` z)}r#~!)xQ><>9f!TgJzaBt!zEL$)?M-PSeNP+$X<%y<)2N(5H81GPWE{08(g5wu+| z*=aor_8DT9dEyOkdk%)q8}Bc9=JfwZW&YZ>aNs3a-QHf43{9?$tFZF1V;~wsc3`uj z1je2svbL-fDhKSC`aE~ZnQ__JGvCQ;@T*VI3qF3l{XPanBeMjlw!lh)gVj}4YwPRJ zLl7)kzH}Gvx=Ps65IFBf4Q&Mq5I{jgJO{taIp~DTj|?uV^Kn}D$Wpyt)X7ZGP0a}sC+ zx=M&-5UX6!suhH2K&0XjWIcqxt*wz;v2OkK-*myjHa68dryW!M+w$f7I}*Jj(+ss^ z8g1SHWRZ`QXg1)hue5)7=#%Zd9`m3kmpvXAN^HW03eFLdei=IInhO^$OfkJVvBA5j zuBOwExs@Rk%-W8l!alh&=*hLT!sQ;pI+PRF!pyCKR=VD-_%Gxjy$qLISL8L+1I@Sx zA3j>W^bgQJnc{!Rk|;a(nQs882h=FB}kkryazyK9WAYB z?t949PMkzb zP1=fSLxh+$X)(KdH1q1YJp`Yj-v82AU;})*DbnT6kHL+I@6ts9(XgXyYu(N9(l6*| zzL<6c(Y1cpV|*QIX6WZ&-+s3gi`FSu(PQDnXb-+OflPS3B5wrebs&ccooc07Zlca* z{?H1*L%6nt;`UrJRXu$=10O+&N9dshRiFg@4Yha*z`N@6h}91)#1|JYDrDrgzJoDD zc)WmH4ZJGKq6gA`+Sv~Nvg){s;g_tl{~_S9R9-XxTJL`{7N$Uys$@J?>B*jcIPQp0 z5x7EUhyC2MVVOV`h5B{&tk#7K+}7Iz<<4km1b3ia?8+aIr**E!#TN)S4&09L0>b9w zhF)4rx`_cDv5&9s?1(hx)%ZZde?ACJ-&8jfD&OIz4b~#%mrduOofQ@qhJ5yKwC$X$-G+DoTO`72A&QYkXaUSk>woa2X^YXeDJf;1+9&JnFz2O0OCRy(hNHn`>h#G1 zV@k<{Yo>|R$t(G8mH~p9ZbDy0coN%5O^^HR&ddq@N_pGKgrH9Qf;>udE1cQInMu4J z*^2159=SkRgSvO7CdsXcnb?H8uhdyHUcl&Y?IhsYIS)L|bkf~4xr9K~Ko!g77i`4S ze!NckcXZu=V5Gh-v1dV135@{aJg+=yR?*}NnizsNi3ms%I=>mjBcOIubz=cW@XHTR z?*0M$(|f}a1K1y{jU!MFEF5~*vho9U*)7AlF5~55*Y>7{h3BD64>a5ZMN( zegNW>uE`8PzzDldX<6AZSy@Mj<^U+b+1W>F{0O`SXeihsprc||pI+(viFdUxxeoaZ zegTEUd4anqP_Ar6^juZn*9ZLprQvy2oe*iC0E6_%3NRNUwxKQM*yua!GQ@jt1wVzA{OV@N*B7bAr zy?d7?Zk3KHC@My?rnsW(hUyj_C}$v?jAWb9o)bh*KLu(3uha_-jXj7O6&)S-&exlW z^lMOSEQ5OgS8N5kF(Q8)k9|)-Ddr16OmUQS0^q2A1(-Qlq7d!QdLF{jHETAmSW3W& zxPaiVDbo8qI9O|vdN_&)J~=Z%po7uffT!qBKxS2CeB=7{r!m2}7c(^9bPPkv5#ZFN zas|;-YnGLWU^SeKy`A9!A{@0YVv+c2{-3ZF-=88+7cyN5dlX>jd-v|aX1AUWl*bqO zVQA}rw;k@Eaf&R%3A_mB6o>m!$!F57CBn@n= zTE5b`UPlY|9LT>>Ng>Y7&Tb6%I?`FHR|J*Wn(z3jFktg8x{l-LdkZ1efX>peInx&B zNfN@eAO+<|+dyRHjUQT@V(`#=>%0`;GR9c;z?go(apd6(-4&}>mz9?@*9iTlXC0j#I5yn_wQPeM)Xc-TlEzF zc}X!LHkvADGMavY(Wyz1rQ~Zw5cA3Ai|1M%zSTH77vjyBw$>q8ovM6z*Oifm_fp*4 zcRY)&0uE=_KiSROp;1#z4SHrFYX78vs6acIam@ADh1$Y<7iU{K&0QZQHBeY{W8+0`o6mlAv1U6e)6_ymcN^%wb$UMG zc|phO;X%fa?)T!#Qh6D?r(HgnF_f7%KFH4g{>cCKPs@^nKU7{feB!V7*uHN3`t92s zh+m{l9zXsT%Aw#TUgVeU(~Wc8kVI$&K~{c+0$-pv*q{$f%oW(H!9xbhb>bchK4=#x zcS=J8qv&wM0gNTsBb$~FcktEPOU>ICK=58{ zIyOu}&rfQAj$Scl2O((`sV>l75NDvPhmdAo{FCBt_>llxC@9(gM1t$Q3C}_>6l@It zJ1+7lLWGDcT9iYQ*L6}&0;{Ki#h{cVIl=D{;*atNpES>|afFwm(Z{1qRu2PXiPj@k zseOTuywv!94=sDsW>(FXmcD|qNxzU2^aYDsMD2Fp?565`Q!*PAp;Y$+p^E#>%5s@7rOWy19KyZaJ7vpqtA;m{yHbIS?(^OMSLm&WZ9eCXk z3ITz24-orZPhA($3~C^M4_q&x%=v&Gx)T`2bT|q#4I%~3-|EwPf=t`YOpW>J8Q3^L zeIPDc?+^cAY^;~JHxX5bv0@O^gQ=2X!*H+mVTWH@Pu{Htz976m3*5SS(-MIls4*D4 zYu>%%LvN9wioJ=k-bnl`)Vm1i7VsYSFSOODn1IkC?gc^Yo&_)@0-YtUUm}QoUh-Sn z#G&QQ(^%iP#YZZjRKTK1*s#g%%tb3)S?F6qss&LHFNKo;Kai18%)B(NoH^<^>RJpC z4_^JFqfWbxtkF86fzZ_K7l3P{zpoEJRCw_~<(YF}z=19ze%&788$`g&Ac=+VU3p|v z+3cgfm{o~8EWE*W^GEvJunOv%9)F41WNtSo3)=ciS!A=Db5B-Y4jmKXq5Hx;M{=vZ zaxmtJoiu;R@|Ml4(=i^KbK`nHPF}an3z6oTBZ>)BeqS!yC=_Y?LKk>{qAVb#$7}xSj49%5m;o!}>hP z(*#@h&N*^MZK>=U^kyt`rm-55!ut)Iu&tsNx2DnRJkwcTcQPXBhJ4H1>lP={q$C2< z6;?S8eRvd^eQSAqCd)Cu@~|xq_fKrw^eUWrr^B$0tp!sG_r4IwUh8 z=RsjcX>!5g0~8*Za%E+uPL|z1Is{FD*h2qFG%7wqE!*cWr6O=L%tJb47%7lK_kU*U zLY7|!s>id{yxij;U|Zy{LF^3+2Ba#8r-SE8K_BTEnp{w*1j451>?|!M1;h%uy(qT< zXoD4m9+)&TJiKzKDVpm5#Y)v{dB>OOL2F4o|X>-mP5|p7B^qplBl2O)>X;&sOHAzN02qOIuBLMBmep zRIjZS-KQ#iw^*vx@nX(vKC_+o>3w>SDi_ipcGU1FvaWpaB24Y%(#WH1ZB}j}+m4YX zn7Jh{Bzc`(wA+8Np){$NU*nC=J8X>psD}5!7cKh2@*bu(^bA!#49~uI!2SgFUAJwQ zKR0^;HSj>yhXQ65J5AXYwBw}{)kS|ELvzF2elq<^R;_qIT6e(lS`X1=lRd#It;Z5L8sQTf!&;4JB|ym|y7>Limad z_%gJ-&2#`bk@3vo8?M#~gvy9xBQ&5HEiaMX36mp|)sK-NhX*6F!Ruj8PV=xor=q(L ztFUDoY<7;&KM9$Autd10B>MRW{rlh+LSPtD4#3c2Y8^5zK<Nw)-VNH1?Sw@g~y*?DUSg{NWvA0bx=`x5608t(ZI)v?YDb zk9L3Fa3ZUiBj8*7SC2)xvtw$fpRlg`pe@P#+xSI!kAfw4&UTgEVe#-RUE`QE6?wtn zOGcPmz)>NdLYMm3{k*%W5ll=KOS9}MXxBcrF(iGQunN9C;m^pjvn%_`Yzukg@1v_( zzZHy^t~NvY1T zRqG|sVlkbNJ<+UOspl<&k3NYEs}xqR`P!5{yqK$d_V%9zsm(`JLmP|xsYy}hKcD}P zFVd;$ezOZ7Lb@Xu*Q2B=8M>TAYDjkTKPB|1%!OVfk}MD6!vli@1F7nJ5mig+uOHld zCq~Co@2M+%mfKQXadDw7Bsgxf-rxaIo-YMS!-%{ic=^7hF}H|<#9}m^!D}g5n>@_oq`xJ)w~y@B#=L@$%QZi z%rYD3@3(2Z(M=+T%Yjx2IpfvX30?r1GvAp;kd3PGr#J)SYD^xTJb=M;BE$wmqjFG*QnaKkKUQ#Vw{IY5Ahnvts(-eMjS9ih~5Rp~jV)Wz06l zH(VqY^@JlQ_zp3*ogFdea9WPFL25yGweU`-uE$rUk?nz}l-{;>e@3S>%3(J?@ zAfIn}&Vy<0@#~nng@kq&4vVBS&IE3qnSNl4LA|y*nh#$M>7Lq5=V;u&OXnB;-KDIh z|8zk;C~f?jKVZfFI43styn{nCn%I-$A555zu{e{pEuP$?}rGkY)^c{co0ke<+3W;^`xC<$oOWSt-KjE{3;vaSTV)mC-40#Z2j#6zZ=VHkQKTE1yhHe811a0WveeRPAViC zNQGG*<{0wxW8=EZIVf~mQR}!4?`c7a^{ks-xf(b*TvI75XC>B$WlnwHP~`Zl(J%LC zB6%(+ZT1#%R`9KRk-C#stvI2odsI^sr$E!jb@|nT z)O|by832$lp$~>Jip5V_a#Iy?55tbd@6`)cN79ogX6EMDTZ+~F^;wF`ErLpliwzA7 z%8~VghgJTGKtICmTTX+Yz=Z>71-~)wlB>V|&zXCO0TL1t+P*#iqCI;f($5-FToEV> zZrMDg9%>Tk6&mM{mY@EEwEEn{qfLfWe6que{q?zkD$8F1e6*+>`|da(PM&m5fTsrz zAkr=(!bv3xha^|5A$psR~9pzt+*_!e3 zd!R}xXh#rhI3>7e0t6lo3lf6$0vmH+Q!tQRw_=4lrU+mh7ZPwsM)YQ1D#^+wE6E%? z1}^w+k=|Jmn9ac&mmkC5f|h?v?25=rcjPtn+p@ziK0m!|UFo=1?X_oDRV7!+8^e0W}_9wwBqp}SH+m)7w z&YHFt<|Qds_bmUW#*xzDL6H&S84b-lm6vY$vH0l9ZH)ToO}8Z2o#M7h61UQgD#VvCm^z-((d4N-qK_rL@uBoGsw*xo=2+_0*t2nN)Rqxew>44; zLU~zxuTpxs`vhINPnVMP0BHNJC#Zva?SG}~~UBV(g6Qtvmtz@ShV?Wkev!Tt%l{T7v_K-?`aF^0w zceY4+(}U><#$}#!1E1W)n*FKk4 z=G+_F9l3o8jivvcJDAaB$6xDvsx!;H^-NQFozjM?2{l7M$OGq=&7E7EKhU?QAY@5# z3RxgBRHAh*A~dt^56Qsl$8*mG=0)PDRDJ1)kl`IiM>qJ3U-;J0V4bBIQ$0N45)%Sx zHwQ;ggWW|vzfRk!UU(qI8^7K4hG-JfYsv9854FZn<>y1tOznp&6eL7^f_04E;H>aAz&pohs2HB(*YGCQEN zfVPFmw?LpkP8SKNHtthQsrBmPS8I!FGI38IRFw8{(ZLv#MkYDcfDZj3W+?&UW$?y{s>_GLsi zHJESXX7DPR*gfZ(+hJ?jIq_PvV0wAXbscq{_V#a;-$G~8gwlL`Mov|JIlo4escAWm zN{jvJqJOW)n>rJDL!k+4vnyPx1H;V?tK9A_6@50!-hM4>OIvLe8qFXv>+RKxM$95W zGLqFc@+>>l?>GMLZ>ds}DyR2X-wP^HOsV-BL_{ZID%Z^h({Qa!|X&ip*5JD zc3kj>>?1-Sp=C%b!_C`W5gMbyi3N24+Gd>TIt7OTDBy5CemvjhG^}|LOtHP8rKM#> zSPMJ56eO|+e2-3s1Oyx*gGJl4VkuT7IlDNhEa&pB-_kaAA$-aG z;~)=GZ?J?wLe?o4nhAn~V4_{yKM2jDKr+Ap4c&F3PO| z>sfB%*lRBx^Jf>`;76Sq^4y?RqB9kj+;_cR%BH?qBhBY?#gT|z=~k=ESrrN->r<-l zDPIvUkosh|n)Xaqf_`d7hQuPb{y8@e$A@E5j_3Nt%Kg@kwzm64fwWe?+J`+Wc3?$wVl4ngis~mi4%ZuEDvVlmv=u z72Q@JsY*Zdw|!p;SzM_B96eBv;MqpHO~w}Ktz5N=2<^4r?k^)8=04R1OXs;6$+1E4 zxY#{ItaH1BwqJg@NNat%d zt9;sJ^Q)=k2`P+LPQN1YKX{thBvxb1-FMAs*%3eCBN0>btCv3L&F}GjNtbeL*Ip z{)06^ULOf0aGekV$%j@r2CWwFjEA6o{VL?4-hnJ-VK8`6Os|= zs9;-1n8eMS#~~Bc`~xm2LO_LKjtJm*`V@1kGw@lpTf#|%vk4&+RmO%mWRT+)M>!cQ zuw~7l2;vbQJkUo#M7iK6D@PQfP}_t^E(CB4AZ;n?_^VDUFrw&YaQ2y*^}|NmG`9zy zSa&Fg(_jDENF{YQbzifNWE%X&HAs2EH{PV9^38cOnS9l@8UMqVI?B}w)R*ExL*Kam zz1V2lrsgr6FZ%84a;KB#CXSohk@M5Q~_`6A(5P-Wszgvt?Ki=8CzqLU|1_}{%t*bedjHdKL!mD=Zj`?iXv z=7Lw^%o$u)MtmWF?%{X~t+-Qa0F40zr63yc#{jQ_+slBD_dK#Qe}yyJw|wHz7JOH+L3#R(7ybn2W86jJf*y1AKfNpk==SmKlOJ z2$v_ketC@l^$Shb1U7t$b+!GMPDn#@s9b)ml7sw9t7AY^b0N0VB-JXTiO{&sjh9FQ zql3g=fYC>NFNXSRK-dXaB?aGuKv780hcbH<5_s+^*7!RKp!P2Ga?w|an0Ux40Ie3sJvQkMwVds5R zF0L~tO&V%P&9N+-d>%T7vA zE$g(}f#?hlz(wtr>!GI@=K6TLM3-kAhuYMX-^EFI4ImtV%8i~~e*675ZxjRNQf)qC zl!h)yTL`vravG+1{48{^!Lqf=2R6?ua9t=$;JE=&@ zRv{{tvJBOPrZH4feXZHkL}^nbq0%H>+||+ z0!Yg(ee!*EL$0`f5vi6e%)8n1Z{5D#hfy!=2VAL0qlRJ@!xp6#aF=8Uplix53TEgO zAl(xEbC%HS>6_V0;BHHV8_9~YB7^G_ZVz^?;QZ8YJgKEwfeMmBpt!tzY>uw08g6{< zH*e)tj-Ilj&<6JjL}i*|##q5mrpUtZ0YA2xFxcs4U|%5r%lt`FTAvzHl_1t_t0*j) z*RL->rCxzr0!!=M+)|xJxW&QBb-*>X+efN=q%WXl)FF)r1!3 z34ma)wR`464-wM}dgWnCN{j{I!XhWb!x+$P#m!C@h6-LqCTo{1+qT+2wGiHx;l+;r75T*<~JhNsc zpBnfc5ZAM}3i|~!^*eWF5_$rO-cd!}PFC2(qw6XzE9>oWeZ{aj;Nq+7p1 z^*=q2LWKY(bgv?xYAMQ)jgd?k%F5@qoTcxr5k^Db^S%w-zY=c?f(C}LN1R=7)`RSj zQF?l&1H0}y^dLPQrsfd#=9wpO5geaO3D~O_noIardLu^ME;^c0^E*%#T`SsP9Hfzf z+(}Me@f*7ZGf=qn6fwBiLV;u|to!cPV3fGt3(gwG!*to9^?uHgUkKd75I2j|kP2mdn4afMns%8( zIvnyVW; z<;-$0DnsUqW>soOIULM>ypJm~v%-S|>@#Qr= zWq0k~jT`t*7Oc8|D&)T01fjdQdCahLPzI9*idxQjV?)DholGvRN{873b$^ui42nNU zIoD&h-)`tN)czQsowsoR75p=pSa=|c$%SwCNw9@ETyZozY!D1I_*!E2|Q{kEv@eqpueDB&bU}8F_+2d8g)W z`*ms?x+taKS;M~OJ5}C*IrkXz`MH z_t{dv9w5ARFZ0`| zaq0|($?No@PDbqaN-LFLG zwXD(R%ka;y+p>RnhXUrH*O$qXbD<6A6O2INeDeLS0h{e~J>RF~_3%tA zy_AY;U*SuRpGj0X+}lnvGJH}>pT9ESpkpa(DUY64)Izo;#s=S8>KOM+ORP9WDNNBC z#Uz1fpLxJ(U=6#hU?aI6$(7MdmD8r-K5%W>z@q@f`_{Za?1DQ>SSFsJg72!T!_qg6 zbBRq~wJC1SD!f%WWA&YoQ>Pqw#eTRo@DVPNPfDOMLTb-i7rt#gh(TgZ||kYES-rea zwmGtCxwA$Y0=Z2J9gkmz?qa>U}p9# zr%!;cPqj?m@v=3IC(|ya3NIZp60IZXQ$w}9<4E*swZ7)Pb0Z(ppH?O+N>sWNhYn4& zyby)-*Ut^Vy@~dVhw!OFLk*>N>mipWq|J`TO5*AI z{E;n#02evXm5P2((IJzKtF#OwwVwmEGmGBCl19#$C>_0^4obRl1HZqhB-iRpOS)@k z-5__D#)_akYeU_jwE9C@IyyPl5qZ|Wz%rhmgOB1m!2*(%^-1pOA>uWd-ig+zBDs{- z0EQLtCG5K346gl8+(djQ#!r~wwLv+M&S1uj_Oj^XIx&w|c=hHDL??90on>SeoSw%6 z#Q29AL4F4L6R-wMn1vy z`cPa@8XHbtq6TA$_uG4u5{XuVR!0%JdXQ^ljT6CFogT^$9d&qHYs0i$Waw&akzSM!Woz1Os;Z+y~_`*oA_q~Dvm zSZ?gLvPOlD`PBYXdHZ?(JsJ}7(7~LybZpGD~W!yvxrRj>JsTOAe z$i2KQ8y`cjH#8(>Vzz{~gJA}RKevnBAMv00O%zBc$$KHdfOi@i>g~=X61rB2U7e0* z^N2}~<6%AC9}CWIMhe(rml;*b3a>9qunDg^zodE=1jP{}HcXTciFtR2V!X_}OOsTB z^4&4EG5^|5`zyBKJFvYnOR8yl=#0Sn3kwP^^FGwo_YBaxO7JCi?{Zb=rvQ)aCAik}Ql|5;-He3hSlEjCYlhHYhMqrL75X~Qrr?&146 zV2S6>y_x04RN$X(>#16rHbW&;{DfO~m&zImy+V;#`WE6MK6TlbbW!!F?n;B>bcS3B0c!%@m{i!t$YzQR@4GwaJA?Nmvq2^)Wq1hq_NooJUrB3*_@m6hUklUCm|H|1LQJLgLD6v!IUHbn#r0~^k!0f$M! z27>BJ4TP9*5gbk6ONY&XtUc$ne3k!>?0|Flj4}5?xsNq8W$+PDcA6IcCB|?2YCXPQ z^evCl6SWrhV_6iu+%!M6=}P-W0tb8mpkS`{i8<6DG58uEi~=? ze%OVtfAe@;tci;E4Bwb4bP@Cy+uSL=c_*jd^2t@kjG>n!NW8Y!b)7)WAZ*yQMp=X{ zR`ka2h30(EnQ}%IxT~m^;QcJTZy8?26D0)C5Zhtfm%(}s#jt?nCCn((LS;aLKA;qrpZ)L``ESaW4o1G0LOQXf-( z&y?i;6fNzlv?olUtNJsoXx52)_~76eK|4SUvG9At&1#0ezWL2)TbsC?G=|2d{i1Vl zHhD~bB~PrJ+zcTz=Q)OUMM<1H$PDeGmR22f8LUjG+pu3BcoZ{3;WtF@*A(*tygtF# z-p`?8QUlg$PZ(057QvpvcRBe|K~Uigf-ylC_ytakSYdkHG7AL-IezkFsVEyCo|jx& z^Wco(EPPd==%T2k2El5K9@S4@i4jXc0N6MzVXC(&Q?BzY6Yd~UL>Go773Ca^;mF9v z!5QN`)*)NtAmiNBZ-3QZ)?$))%K34vzuN05s?2!cmhGffkch zje!~GZHgR*>d@IC=>;|4QRnWUqD496+)!{&-+YpscmUysvP~G{GE52`<&cI9+0-gS zBI!XA$Qie!=aGX8%M{4Bjrhm-cE#9;1O6fX`$nGFILXP~J+Wh0-r-*AjU$dYKWxZF zdHdzd*=tbyPo}w7U-wcm5uUGk^@S5?lW9XFm3oDqqwO4Ib}z|0>d>`>fdHMRX|MQSUwZEZM3 zr$3_|43w>q5N#ocxqJGmL;n68mD+2BLyF*Rcj$nzCWziI!|P`z=RB>1e96E@De;Z> zbOoLhu0QoUJrT2a_j?&I&7;#I;buejq~H-5Z86QB)`?7TBljYVrh zqPn&RZ%JPzX_jln>r7z!3KE%Hx{9I?Hy!k|WmlVzm-w3N+Zr8hQe_Sv`>iN#W9TaL z8$S-t8Wel-(Z>D5_O$<9`~CPeh?Cc0)&x{udQ&H_dLh!SLw~gf0+N*oyq&G$2CsP1P@a)GG}2@gZ6<@W|G&&5@PnP zWN;W(Dv_2Oq)n0EpMPGm&e4R8^sHoE#<B z*OzuyO7vCsS?l27@Fw2z(~5fUC>#Y`s>AAHn*}P{%3`nH>~d>C@qk+jeFk+%>8AaD zRQM_-w%bK;!&K|_-;Z4S} z9ZD9Oii(Xi9`I#olEPr3ia!Vc>0n{HgiYsDih?nolL7pX`n*2vV}07=QBlV>ZoT;q z4?EK<>j!CRX-%3`s}MA@RV(KR`tU>gN@O|oQMb9gMA)5OO+5bBUvtRkHHx^qO8qLz zj+A4^?e7+Cf^>W0L}G)&pOhP<2Gt=U#&*;d^YfwIaJ88^fBpgcYhbvi=V`v$@`%m= zNK5e$h9t;D9Hj=z$9ZD#H#GdAoFM_V_x)As)It=_@-jtG$|_A(y@3tgx38wE>OHL8 zdwEiHtEdENZ}|&bxYw@-?07s{W9_PC6JH#;yyKSJl>i?nm8In!&9gN-c$iekpUWtQMy9wQ*U3Ae)RbE@ zBrukmVEMsE0TmE|c+aRj@fuv|@{&~j+i7Xob>SxV5^JTDlzGE@NbZx7OtnHIkJ#$+ zk_O5qCzTtQ`pYDpio|u11Bz4S^gOb~32RUkCg(r=u>F_emARNLvhM(!YcS&oRe0c3QIEf4c*9Tz@S)QL4ezklfG8TEi+@-=?WaB>s%a_>v`k z_dAhiP!w>O#i=)smbJ~G1_u*I#@bHLUICGu#+O-u5 zHzDfO9NGiWsUR;i*jlvilR`vk|iFJd-v~edT~qk$S*IIe^gNUc?5j? z;^ID+nKO3k*b#_WzT(X|Tg7%n2VhdWXpt`xb1vF7p5VDB^+z;CYA2fAzIAJ$smjW? zi*MMofQIT^=)_BD;=g&73#gV3qKPA3C0N|yVOOQ>)k)5(^=e2>oh{}mE z{Lal6^n!SoX=1jbH^kZCV;l*k4QHDFo+w>V@bkN@)-bo$Vnz5h>l6eak*5J4@ zwhah|3)yD5x1&ZLSc5$nR62Y?{4uNV0bbgGzZVyFJB&jCu~ca-JGF0Lu0WP1BSXlHL%V%X6lAo$N(O^e?S9nuZFg>WFN8O7=Be!m+-j+A zsicTsNUp?b9#5z$dU$p9KZ~jO4XAH20>`iIg|mI_i}S%WNLRA)tOL@#oVkuNi^=Tw zwvZq;cR_JX4DxRo#pVW+AjoXF(R60JDpNO^H^kliCc_0@B5u61^fiKdpE zq(7K>4=tlp5ZWkSAn}1gc3ZbLfD~{2n(b}>&GfF*E*L02YkM(uuhZe(r`za^v~J~O z{y4GP$I%OM_(a>nJyVWgdg+LvSgvzLYDny*2W#j;Sxl!v+CB%?>1P=BYshudR>1di zvzSs?FTCM&Aui7K3%tJu*RN7K2hPShr@hn=V6hwsDjuc7_hMcGj60= zg>v!A);Ib(O`B!vA#Bh%K?K!6cxLmLj#cL?yxF?ye(KRcU>+L{f0`83g z{fi|U@p=nf7HSONYC@q?)MNJBQR(;{ej>EuI;EGE_VTQPVnuSef|q^BY?*wg)0ZyM z?yHe6jgb|#Jy>xcrQ3ebsD=Mn#{HA~Y z1%OT1d#IEcKg$||7|xveTblcp34Z!^6GnYFTw3wnuu}Kh=wV&k-<)`d34r`v<6b`* z7+9}c$9bbWV2r}fqF`K;px6Aa`l&x@`OJAM*Hw27WlraEZh7|5y52sE);%j&P!-?SE{1F-)(| z;FY;f*0{S#DJ$zB3Q-Uu5xllcZbd(|d<-}7R>sqgGbZJ{%D-EVx{}@F6maB)+5s9g zZ0Jxh4IBcHvND#~QhEfDX`jPEL3*$LmU9|Kw7j5$gk*tnp`sfH#e>RH5yXvYbhS1N zParCcpZdznpPO@9s6{(;c)YIq@poTW>!qLglrMSoup9Wmu+dpzbJ9we2^g>4i%xbUeRMus?=K~&7?0UX?9$5gXsVarYZ^hM3V(2ZKzCzgjs zD)*L^P4XffYI)yFdw*XRHL>cavJq?>yf`yKe!%vcGHSN^{D|RoKnQMUep;jO()gC=M=v(`5Ef&W|vXRA-Mg}TYOcxq864^mQwv*Vm>6y?R` z16PQBP+t?YdX>WI)&=ZCZb$M*oms>!5?8xX3FWgIAdf$5Xd;!#(IuDV@AD{z!TSR>r-eus4NmqpyL-b z69;VtSt8KH1TX|M57^<4&KuF8RWr~S7vZ<{!E(L2%rq>^ao&v*=_*1ae@f@d^nDv{ z6%CsUlWqR|mFj)-Tt99-8Fu+{)!m>`%QqHrMh*2z?%bAp^$7A&Q(Mwv*7eV`(kf5A z^b<)hskv5X$RDLOrdKkB2}D&Gkx-qIR$?T}@Z50vcdfVEXEs^80)5RJ>9&_) zmPNwz&f@KAXm4LbLqO%^4hiWjCa@|h7qCD2MbrKmf&a{uk) z>8r3gE!a58*0bW2;!HiC7o5NJf_lEc)%MYXk zw1x}}Eb2%VE>Z?za#8mN_P+4{86suVB=thMx2efjdwhINx9;Nx3@q&CouRR=Y{0?0 zOUl&kWo5JVMo-qr5u8>yqwrZ)1LU%bIHLz0Wn+RgWe4CvtwY-FIoH98_6hz)NB(0d z!diQLY4uzZGiD4CeYIMO)1V+*T!LWTFdpO_n{s3k^G8}d+)5cU3cgFy0ByoAUs1R5 zBdH>=f?UTQ;p7zUWK+7k<{~X%&0gzj{fvyX>b3v z06u+L({%?#$owQTX!=Z#c~?A9U{@f#Lq#|lEh6g(XI8xKjgI_6er|f)b5%Cs>HT$> zmz??w_7aEuRxET#9%amieGysn_R5yV#yMC}#ve}s`D_3KO-W9k`!CkH17#Jbbrznh z{{D4$MuiBAJ0=UH{Px{zLETH+gzZHR)09{JAL5hxkj!|(OGQ<+Y87tsg*3ITw+|dL z4TC5_L>2Vg)J_q5d$fEA~+acWJ-!Y%#1yeTPiH*2NJsI)$es}4&eLOt&;U4lw8 ztz>)c@R%->Lpf;tT@^&*BpWa#@Dnpf{Zcv=-$3_rm7BSqte-8whZ*6hg ztn~kLyfR@+(Tf+7AAbaeHwTJDdJOPW#PmkVi%Xre_e?b`?iaV_yTU@{+0=!0 zJ2?v}*iYU4^Uofj18E9S&i8p(mJ?bNynWBLB;nz;aX9#8KhGz--wo_qJE(n+MHd3kue^-I2O5w^9ISTo33e(u-=GZi0Q zSoj72q)1X3o!4-;coSDfkjy#w*>@oy9vjJdLC46^fnTlEWEMT%%=zAedDtaVJ(|izj4k* z-G}M>UbHXE4T)OXG#zT3Zy9;w_;JqKqP4T*+_WMC$W#Tn30V|+U90;?7b`)r`}~z3 zEe+EsUm@GG=jN(c^G|Ml{cz054ewsu#-X!O1otwa1B!M5^>8%kQ#X9Dy85M~N1uUm zAdJoZYh_1hHT?Z5?M`Os7!U8Ent2F7odalG24~g+!j(AyjvdphFP|zD3xL^Z zc#2Nrha@I0>ol~+jq^@4%ek@v^FnP5$@$r^a@kvy6zyLI|1$jkn#=k`M6-ABG|RZD zjck|q*~}&7hT-!6eWnCRJO09Gbgwc41_>J@NxPVy=r4Mu_^snWlYqE{G=y=nmuvko zi6SlTX#$1D?};3ZLng znqJNsn>2IS!I4(+nltAf3}rDA6!r(8p)`8E+kbn^f@q;0J$rg2nw^+~9&P$wds>-Y zySN_E5@yew`7W~bR0pW|!qGGxT@egCIRWszI}l_E_u zr7r)|vzb5r`s#jmzHU}GkDRL9Yr2|H9J&&h>dqyv>fmS4LQ612Mw{6$ztcDQuVs z`ce1~(cgAbQ?LTaV3lJ7`OC4dN1Mc4fnRw1IMX?S>GO!*{klV29+3@jO`CHnl7<=@ zfk?t>P40)M zl*M=K-#iq(JPCDtn2~`R2-Ppd^d8;1(WAs@c_2uOT6zJPS?m2c>0_9~^d-e}pK~?A zi>vVGqVB=NhccKNe7VV<7lGH+v5IUW`EM=0H?-`SWFB)60Ik?x)5cJ>Lz$qy6*6jf zloKCoZ5EuZGC8c?{5ZC9?l1JBDA-fQsB-J8)4?W=#Y069vuI4w$??yE&+=n^#wIN??;O@?8Ch9O(l)|i;#+wpZUm~w!)oWX za>zqMCkl2A=aA7oZ}HyiDy%!HNCzsqB^WMR^f)8KmLr;V0{A4W`0m{EhPC#eKJNSF z9sR2P4o15Dw}^cMQ@Y5_h>PIC^)I`r+orxw@`e^)hrt5_2m7=qr%d$A`Uji*#&7 z(Ts6M6Pd=-gA8ToHL{~~c7k99>-){Y)zmDMH!uM@wo(t5`$_1>ipDB<4eRCkvrvs+ zwJYf>OZ}rdyR3Wq|3TzeRF&(*K9HQaQk)I(5l=s3AvN^fyL)vD*q`2@@IO`{zQ9rn z(>SC{DyEFXVNtnvYMXHCn10m$U=DNkF2yCGX5VFWhg`X_V5T$`mayl#fY~kgr94Lj z8eq!5YYO_LN@|W+(%2-((C3eQfbnZgQg71FNervbS_>M)umor~@HugrCwbT%b%N6J zs3X~PA!3!E=xO5oHjx33Ro+$OvkxpRE#oTgYT;%xYSdbcYa}mpF?}#zxG*?<6@HUY zSji(Kd_+p;se+u0eJb{o=qph6(%vJx*H=pBd=AUR)&>k?(4gh?TOb*V-UPl8@yRDt z_Q`(ogkkN!62)-Gto<=kT5kq8)$jbYe{L(&UR^z_MjB7o^6{I#C{J*k2#EP!78>>E+T&~Mc)Pe?c1*(7$G`lUel~r<2y*<$6ioc5o>Ju*?i`SO6jc3 zabq8))O7e4(e^4_YT1g{`GQ|n<#=Fb;wCJozGmfrbbXWKv}mqfn#<0wSZ#GVAnA4S{ZIp=%N1Drlhu7huhb7;BYqm{(^3-lqw#B%f)5&}@WMKG6g{whv2jdcAOD|vQ-DAPk zQ3D754>#=aM%?d3QdmW;q>^N-&S5)BbbM(4;3dxZ`DbuJ_ANWTqs(P5(rWS(K>B`bq++Q=`r+`KQ%;+oGMr}(p zo3!9!zjbig{8O6=tXD?$-FuQr4=Tc9#to1#>4V@VU$|g!_5nyDyq(AQQk&o3?$gW| zqocDE5~iM*1ANF6g*9f64%Ai|RcIYSjSx_20qn9vqe>&R)M_h}e5x+L14Jx>Nzkp? zpSuVUYViuTv(R)w(Z2!%h>Jr&(X#w$I5w1(xiUysM9a+!0K&kZ33{|k10*AvjvZG> znLQKHH(+z4Ho2ZeM_Ab$d-S@BylcpDFjX_(Y#$%cYfy~oKZRcNhiUn> zbXawOkNBOeEOpix8A4%a)QmS{UO^F#$T&pA=AuVbThxl}AijY^bKM4weGnxR%?2UR zz6f|@U;2Nc?D`Ih`hQP3Qq70?+%)=5FVtVwWAeF^`9jCw^HY{nK20GhXu%m?2 z@!wv4^zflc)TR*=CprKpFz*JASn0Cc#$PBrnZYuT02jj?fjtw?eZ-9m7y9IkV1mP; z1=oph<1qt4kfWn6K9X?fP+Bk<&40!XMmfoBopN> zT_#CyVnX*_>uV5&Yu;oIJ}?t@428)XgF!ty@P@Dvf+_NoL_o_T>E}&e96axA zvrr;`vdy}5@q((udFa|u^@yn#MSsfA7ta=7YHxDo>wJ}#J5kfq^7tpk#qfGM?a5838&@8UP6x$)^?3;URMb@uzmfG)7p; z1dUrUZP6mRFq0E=fZClKK0U(Qq6+}2U;aG^(6^u<(fp*S=3zaGc}2&L9ZMb(V_Q^M zNEF}M2Y2e#6T$=E0*YC&;e`FqTei^YP|Ree z^1f{zU&N%EHh%0}gnt_xjoTRE-os8f?O1wh>fTff6i(d)!erHvt>mOZ0Q@CiQ*(B2 zc+0ADN%Nt=?R(B0=7umBf8*cG=xe#z|9r9DzU#^4_Y!SWDuv5HGlP0^Hx*&);fmYwtdV;=w^XH)lcD4!cse6UuaMwLkHJ;S2I433kCx?vwzcwM8LA^iC3l-D}4q3dINl>v=7>LWphy!<63yc{jwoM&;w0Emk z3WnfbV4H7{<wo`SMwiK$Fg9b(*GKk3RL!xD^QBQ&Xhu5~ zjo<#yBhmboS09l)E?)6FL3DJ+ngzOZ$)Q6p0p?z_M!x%I*>u=(UKa?56UOQ6M;JJ+ z-@F;yE*u=hbcwpOdMAqkN)&0tsL~>YTdj!O^V~$+SVO-aA`>i&0RZ%J?B_Ybd6`{ zjSL=9;jEjNm*<-AzT~_v7>WYLlSRoG_UK414-=o^_oR;s!*)>;}#%0T>UO0o%# zw79&aIQPfOKzI-2s*D`@%36hSMc{gs*vdITu%H;GTMBwAE@3YB_2G*a9H5V_I3_k0 zH8mNiZ+?SU&kV40#h#Sjmw~EKz6I$x*`b`owu#-7S6tl3Koj}qtJVB#Cr|0V4km!7 zFXel5w9~}{3`gl(Ir1S{@yJNyQXvH0kmm|!zx|sNpQ#+90P-v_LHPG!>-QZaADE4q zu}=1w1n@cBCVD^5Wg}IItKW!*if=7k{HID7oHIV(7vP@w3@;8L_Ygi;9B+`Dtim~$ zOEcx@V||i;RubNxn6*qff_q5cikGu&ZPjE6|2*|z&G`lWIA(hF>ZPDyvT)&q!%kn{ zrE=dEZj<&ZNFThvwmX;S{}0*Un>U?0bl4d6oop57?s-JQB?$F^7u%PhU7A!Ba zrdw}c#zp2cdCxo{@*d$iYg#|K^7!$hSd%=Wy~-1Zu~KnoushJsX>SLwB;){GG+I?c z91a|4cyD88>ilWXYQE~N^1oT8Sg56`iEB46gGlZA`HqPxfQ>9#m^dil!FlMN|Hg34v7N%M<9la3mKSIWWhmL zh_cd9QAy)|1Q^(JYZ?8+<3>V3syk;sJ!p5FK!zTzuC~MDaQoz6=FQs#D-bxV_QMC6 zqQI69-SUOD#l*ompMIyk0rZe}!Q3_|D9FvN9btxTrN}4^P=NJvMMuED5=BQE1mt#O zj!w|gF&=q`|O{?V8lrrN>Q_{1tUU76kU5`11`F==xfV{j~L;nxp~c&Ewvo~Y^KC=0g*yrU$>5S>+G~+ zObCTM#`NQB*Uk%WY*6t^svy0GM2cr+WglzeK2iiWAbiRMMq+jk%eOKafB+p#{DOvu7n^eZ0OX7LFhP)g4>ibH5A+7JKjP!uCadNO=j&j@&}!>Z~t6 zBm2AZKj#2Wfy~N534Q;!MRCr^1E7Z&y=IN;n%=SecZ>i;cB9+T*Xfe7StI zJ3)tOCoDfnBMk~NW$uq|kVZ~E!okt;?xFFX?$ipzDfn%wGQF9Rv42t`Rwv{fQBTOi zex{TH^&hOO8@T1x3oQBjD6Y)iP)5lC^$27QK-t9M=`K7a_D-`+vfyA~6ZW&bS(p}N zGs|y4Yqtc-cQGhJ3e?sBEx!+r-ou7@N`vQ_v?Gw#@ZXwr=szx8ckS``g3K0aD#Fw4 zVkS!o-i(veO^$A$zU}Q2Zm8QvMDNz9EXc^o`vwVP=pyyLsr0|Do9#a?Om&*SSFqU^ zFaAkFKd-0vk&&7R;Mwe$2Per}(KM;{l7 zikod(?&;m`CJw)HY%-nT#ltDPdRxL%vU-E(Vn(W_24@T)6uaN@J6LmO5&;l{`2kw5#c%8lZHJoI(j1=E-D+DR^ zIj3G{OV2Um10#Riju{-NBm(`=MI4so=|$M&DH#0x)&1C(BxNq-|8#u8S;CQ?Z-O6h z1;SjTz0!nGTIf9a*VaEi^t7Uu;-%({-yr3n(ngubt*5%R?-^?peyHYnUpn%G2M#dJ zWnK)Ef<7E10;@cn6uTi;njsxOM!8v{>en*cQAoZAuifsx!z7ihJMEMnzGf!b4ALh_ z{&t2kI)8poTjo5jABu+wLj*A{V>@thxoWi%)*XTjp+o2xGH+zlsV>fc^}gt>-&|e& z;;jQN0{F zQGQSVI{aF$&wrkqFfWQcRj!h22)7TvssTEVmD~(#z}H2KPAxba2a;?0_f6b&p!GtP z#GC;+9wL$O^-r(EfM7NP9fb4c(Bi^M$v!8_S?smcH$1z6yhjDTCG#74~1R4qKby|pr8YZTudi7po$3|Ar>~)Zl!48oM2G%x_MHn1Oj+(Bw{OW$UQdoW1 z+nPVlzm{ISi4x?}B7u{IUtsS4cl^FY z+Hv|p*o0h!XWJaLHqVSccU6;#xU zZh6L#6*u>ghQ#9y3oWHHVMS~Com?kXzdf1vpsV4~`1~!nB0(YNEofG;fn7A3>xbBD zNHdMMahI!_y*sAFUAz7NXw{K55xm%Ts`Mb=i=+$3+fVNu1fcx1qVG4@HF)}jj zXO=Eq7oEmAx{MJ!Er^yfpM{rGtA-Kob@}!c4+F@Ny!5KCx`@sY9Degah?29N9^aCp{UEJq1H9sJeW)Lc@xtI!m zB#3rm^>g3n#fvb0+p~Jw=w4#ILlh_@H)6$GxB?sxz$kd*pty&nEB>L6aie|SR!gnb z+&auLRy;bs;^3({RO}LGI0NGM<*xnDnvYU=FSBTo;Gdw zwPod1Rbxht^2e){@&uwW6`kc+Ic1ZW_bjQ$Yrsdj!tyYR8TLr=1X@M*#4u4r~D!PU!C0jwlPjH8>PU_V|tW zM?3UK!qb#P<6oCVD3_HK6+{$PgWNDJm)LM)17JAG*dEXtUlNqu3UL+{V?O%7kc?3D4BJMKC>m^`+*iT zHHv+QuIbpR1W)eHOGY1j@xuJbFTMc*=QD~i$iyh;BZw>$Lr|&n3rPQ%2_>6nju{#A z1}yGlrP`V@ISzsllp#U5iZop&>nM` zqEbjQs$c*^01cwS>oNXGYcBWQdy}aIgKG#QK#4rOjO~y7GDE`Nw(q`xuvkf|e;&{0as{o497U1j^kNXA7glO6L9YE)5jI+^UIJqXXRW zFz0?SuqZ#9v!9+^`YL~nxg0C?)R{9JwG!b?Gk9>B+#X%Pzi6B?)gPOEh5)wRhcv)Q zKj!>|!pIL=fwwkC=0dMJ{(iA-5gA;R-Qpkd(wyzdcj8MD5x`N zL%IymO*!|bq=dc+mn0@RB5+&F?%d>oFH1|q53scWSO8yV6mO!XN*UV8Feu^am8d9o z%Py$zj*e6qBMU}VGQfLef#zo>lAJ> zl^fCxPgu>)yG#Li*{gdqyJyr!>G>Z+HDC@W+%$CS%M;kxFkIRSb6G;R5nB5GMx@-Q zY|luf8by2#=Gw7Km$F$&dbYkXtwxShrcE$0K9dJ7Li}DaU79H#M3g68OjAGEHJy>> zy4P47Z2)tj_rc0qz~Jl{FFy!rH&SHG?ep(ut>@Wk?@GpTkRrmVJ);bN? zHTL$F7jPl>`st`}QFZtgCg-b7nvBl2|4;#;G%O5t-mT(;AgRR^U?5QD_k7@@f53-f z!Mu6eT%@KDS|eylEwCfFD##xog0VNgZXicp+waa8vR}&;fP%*jU6z5L>W|7k_I7sN zyn};-#~k>Fj-xOV1Q2Bh+EUyDU;)K7l-P(lx3D&1fvd!nx2~vrxSdT06a^H7U@U#5 zFe7{bU_!N2-|q+AB`a8_za|mj*bfG>4m)8wcrAQ@uJa;AZz?0koBU{oRE*Xrx75Pm zlwlRt%QLb1*nKjIBbS!GpK5?t&z#fzl*yA@$yQZYgT=D@7WOPo=^MOL>YYvS&;>hHs=TD8*R=tTj% zFB#-w7GQ3x4}EUYW`WN%w9y?QzT@YwddFMkty^syCOk+X1EAI8;vz6e?v!;@)MtJ# z^_6{Q2|+It*L`98R{D%yJO@LW{rgvF;HjJI%oW5iMX9v25&ck;{NFTj?fG_A@-Y38@A^_qc_v0Z$s06$a0k=I5eem^Tu&+;~}jAcrOP z5wEH~VDqxQOq~wFYVF#vv)YemdEu&}uf&k%F;~nT7XOS`P0|;{avjx`gOszC5}t!C~NuU%a;JKA#|9I z6l#8Ba3I*H_X4>;_kxZN!8jcMmn9`adqSnnet<_l)xwV_4?Q0!9PcDbUudkzjDU8grrIuCel`s0va+-n4&A(sN5G6!4_les%c72Y#BI32&Ll^fig%2| zk#t$v$A{h~*a7Bnhi_XOtu$KplE=d8(aTHiEDom?(Khk(Q1D~`3e#J$H6o_^i1`%4 z&85mf)b<-TEMG&vFi~4O1`9L{Ttk=Eb4?`7vHQ=+mL-JTOI#3D# zXD^Fpd5buTe-+gU=3`|I$!?i)WR;aw)w_2%!L#Qo9-WZqoDsefJ5IatbQ<(O9xq{V zEuRK_wBY=bAF;rD9a$6@7W<%?1i~1yCzU*w0q$O2X?N~8k~1nwIl=8?WI(yOd1=sr z16<^fK5_Mll%;qaqe!TWuM#-M@E%ZJ(u!zcgP9aE!8S;%qw+76d$-ASAMaFB_@wBJL6 z%W{H7J{%(#F*?iUxYPD_FW?G6p$6o;%P{=6-};VUbAN{Yry2HVPxx&07pGdcitlbN ztSB_B0NA>D{Mu(j-+(RBrUf?=k5&2W0NiMRu=!i0M&EnPOSehkS3_1^Ti6(w9ypT1 zV4l=Hohk)zHoi@g{A|UIqgSpi#5_sv+Ah1C!{fBRb2CbqKPUw zv?--qe>pi#qIeZCHx$8+YW;fmwlu1(BROpn#t3(y)lt%m&deJjIJ+u*Y@=5%I#sNH9^K+k#k@X7I9?iMdP?M(bW9xwP z>n?nmVKp;B=)(~Ew~Q)I@9V(YvY2A@>{&%S4s{2vV%9@EIkr$Q3nN_EO+2BNq4Y@c-k7*=OI=R2Z?t+LK+Fo~pZPQns!#E%%WzXKdOb~`1 zWumJ#qQU^$+^3p1guikAJPe)98#W9&I&Q^HxLXXXfTogu0FSS+XHws)mCJ#!%Y7v& z2?_tpoB2`Out@FB7+rnMd$I9b?IBH(BlFR$aoB`m!-`-MH3+97RIpx~{-e)sRsLd% zuuafjOk2V0P22v*)coAHL@#b?NCZLpj~W}hx#2zDUz?cvcGKwb7yX|07;rRgxk+RE zeod=;={aq8W2L?Q`!al_9=jT;UObue?CC|%`K0qwi>-qSc-wqmXF)biwUAC+;*WWL zf5>Ltx*BB$ zWvKeVCjM$u6yE~h0Hr?7N8qym(HUUV%@zp<(=3#|mZaBThQpRIcm&y8pzmx=^odld z*#E+a3abPyuX=UjNtMDk$zM|9jZ1r8E5K4+_l(wOb~ z0d6e=EWM2{+B1+r(6nx@h;7SzR)VQ32fLh>5q^C0}Z$NA97x&jx!3f(e{XS^>y0$-T0Oc5= zW8tjFBGgJ#lh&Dnk*QDFU-rCL@p4c^pb81PH#2TVelX8O+vwN;AjLC)?b>@p<&@u< zu@9}80J0-+HWGt}#0cKXfOB`*xhPgBC9o5vN1v;r5(3vNIGc@#sTi9(q`{>|M$y=@ zQeg4p5j0R9A!X*x0S3_owt(~pC;j+|C%A>S7QQ@(4RZk8UjaS%+SWD<5NTtI`7h6wiYPqxz(=! zF=lJks*A!W?%EX}0pd-a8eo70<~6(TzWw$|1i=LPKggYS&t=xi#DvD2siCTDtkQlU zr=RSz^|<=mY?o^>+>d~OZZ=~UX^{i)E`QG z{ua@|ZF9_D=n=6fqYedpC72>I($AeNdInt!&H`b-tE>dTXG446t=W8SAM7OnNvP>? z0lUagoGk2a-FrJg0vm*SJ}C)sXeb;{Y6I3%m{lxhFvzpWRz>eZH+0qYqf1f;{RTEJ z9P&i|FdaTM0h-orzo1UrWtT0+wa&sMm0Qh(!=&c~rbGFA3T^Bwn`VTWUEZc@@PLhF+Y;QngLs0QRk z_meWIrml{*x_jlG#y#U!kCU(5i*mHfUp2_)c)#s+%-EGQHM6Y8a@eZ4)+W1Gwjf7M zPqp;FlbZ?0+ordcQqTs#-cy_!WaP`c{a9u=(EAI{WEAWH5XGKKVpocC#cjtu#ihxBu_dso`VCmIHu0 z)HdsjCw@i%Jbvo`Bml--|4#y7=6rWgPp0LPOTtj;^`o_ymt@bL^(MS~Iuo_5tVa8& zmx2Mk6PU%inF{z=!I6+oI77c}j5?~-VDszFR zOjfl3JmTA|uRe1!Z%zMV98mUEv#qN1`D^}9lh~83{_m+06*h{a zEIo4dem``GSs^;CT~h|h!cAp&WC!V%4uXhNO#kWsRm^ON+SneNw{Q`aC>Fnd-EZOp zQW&KTC$n&TQbZXo1|QX1BV|AR{PI=5xw}86kzN+YK7@`a?qp*~i1dHXKIz~8q__1q z@sn0guc5W8NhiuC1_m0;@6bj15(cI8Ff_mpWwABWqQ-BNox5a76v%v=b~5!l4us1l z?c|}CX3wqHbBfdYha|Xe%a%w_PvN*srjN04z=E@QQ+LAQTj3psY_y{*7a(t7Sg6RP zj$VVKTiFNP4Y6_X0k_56sb0N%!%wSy|6WATCz?^5LgCSaDqd5+p!v$S{2HIo*6#u-9;=`cfM}%bV85Hxe~{uQurp6! z{lumPk8)c!YcI~4c5`VG;S4K!BdNy?0~8#1<6~CGPkZ;aB+sSFuEi&OrbRV5csjkh z5a@0FG|=1OO52$^(_h?Q+IzvNi1@w9;r;i_=;!5U7rW)S(Y89Fp%Y35m|DUKP;m)$ z7JZ`IBU9I{{I9_|eYI8pVZPU_csHj5WP6%i)9^piiUeGI*lZfKN*F463@Y^cHYQ?+ zwd`~av{SUxVE13i2Lczbhj~kM!XwueZPD(4zH_V*Tg9;vut34$hqDh3d3&cLWu#rF zWFo;rSWJx=HEM;zl@=7Y`JQb{>KE9iZL4i=$*Z=H(lH78xIJmx$z*+rN$cDh6IzQ> zxoNRhtl1qjSvn17oIY;pw z1|UyeFCMHtYDeG6U4eTz=QMu^7YHuXj3H4qpTimXCTdlcdpC8g(ck!I+1_>;g(*IGWNrEVCYR>+usO z3W|!<27fL+Af}`Qfp#204A>i0^YhEQHf?7mM(n~-`3ar6KCOnCLw9JZZR$SYx6rg7~x@~GmL;( z?jR*23_rFG76X;()TwRM)@lKGqC{t@Q=Q}W?ha3f;$U3~B`P*NvHYp<9zzY!-{M7> z1l<+FdjUZkF_cF}2SaBxrey2~U?2P)d6{A0THHG&rIVm95fMHF0+ryyZz0G!H}`Oo zbvHCJ@;3-Jy0{F7_ge^hpKO*)*wM@d$jRY}?*DPx?!~{Hm_unqG!Z!tm3RU|2L`L* zaF{re^T*+0oFH?2{&H9+)sHABUp3Q}eQ>Ih{UZLO;numcB`#(W-qzo?%D=s<=@4Vk zddMAXDB5GQ6)UP7w^Alfo*WOeh?zXwF~nN<+t1tozmP!<7IOTAU%s3fko7iocqhoJ z(&;=2J|d2gj=&k3UQxu(|Qvo{%UJZo>~d|TsbQJ%89{abbExoZkN^9%`dX{zVJ zIWpR+O`M7W;uS;-J7`BCBsc6f!x0xiRZ#)H($#GQn*i|*fj@WZ%a}CT~prD zLJKv@=iueeYh9srLP|GZxe{#7>cN@$1`!jP-hatDUAr)nWFR&do;>U2%b$j&>7tx+ z6q&=mV9x9h`}glhL@1H4WpZ${1KO-!y_hWv)}-$TJHbMON2+`A8;j#`1KbJ0rP|%6 zp!1Qq}LvpeaKUA*K}6i~0HTaACd%W(^~*?_S|H1bjed7=5@bo-L=Lt`rT-{1yP%uHJtYN-GifI(X^6KiV)MO&|k^xI) z#%#6OC$joj{19L;?7&RprAys!B`4#XnQg8rE9hRR9lL%U{Z$#2|2Dn}Qf*WTeLlqJ z!t1+BAB=YYbMGdVR{sxW?*UKc|Avp(r(Kd&lu%ZvL_{)9<)lHVgk&T_Rg|LakG=J)sd|9&Mw8eM) z?^tqx8JLJZ32y@JHlXuBE$1xYZ-~q(3qzm+cSr>u1y-hNBj$*uw0VoAdN^P~RJc1q z*u?#ZLa6XeyI`aZ#>R5wB#~5tQjW-V8h%)J zd71GhqgUj{{lQ10-onSgy^oLg^jj zvn+g=#n&+(@GQMtB zIE$-RtRT)G#EaokMJEF%7a-v5euP0IXby|Ulsmb&F5y;@bp@C}4uRO`VOUseZ7qTw z#kN+uuV=O%Y17cu9L~JChAX3{wbcoj18y7$C@N_6AOhd4`Xih&r;q&vx=y(F!m$$L zCydn-l#NhK17ODQpv3`cBU+IMgUtN7@3L^*K!btNR0ywW#@_AQU-b{!_lDVEnlcJH zCVFcqJ}Mqbo=3ODc@H%w0z-tv#2T;q6kj}-qU%LwkHe|P%e$H6oLln_t5Qtt91jB| zX#rZx!93d)z;cQheNW!4@fvJJ68uc3nXAdiSFxnubQi~F=^^+sL zcUIt7hYmLt1r<-Z}6zB>s-uCVCRq-_$*j>Pb|>X&_TI-GNU zrmI}Y+l>>&}6dp#Aor+&s zdv<49YV=xG6ux7(84eF$Q)@G2Z8c>b?4aefzQO9*LXK>OJoAFDOThZEJB=Fk_Ry;o?P66`5_s#- zYhmPh=RD@aii$L}fR502KJ3S`UJBt-CdsN`%@bkMi$s|%?0|E0Pk=D}9%+h2 zoix=rc`%`LLP&1OZel9i3rEyY7$nnHAn_+b8N_j_=juPPa0$bdKZzuUpLlw#)&ZIT zrxkS$&SHFx2YyjDh7NgeF^fvuC_xmo0ID=QHNu8<)o84lYnxni3CT@%o0Qo7K;2%i zT!CuwvdlIb0hLz(P}LKGxWOdN#f1Vwd~g7E7=k^r36A#XZ$iLMI<}95c@Mo@T}E7PRBYLiTyB^VEU3I!{QW@EW)Bq?4tYY_K!wtRQd zNbc8Y=b{Z8^PJ{GpvA%C7NX%zxXga2!M?s}*Y;5^(FX@}tn`>)&$ejLV zbMy0y5nKqZO-tK{Iy^sLlZOF)KhYh661X=tGa^F!#cuiYL&P*;fzp^Wo5?fa=rT8A z6r`;e#O#ryeQ;QYL16tAFS=7pldaPBetciSWs-Jacr=hSW^9)lqh6nqnm*L?XfX6n zOlsOAL!n|SI&U)XzE_8s6qkQ7UHK}jOD{-VFX+d@)hvtED>-Yv^-Rn~l@#~dyR?N* zO>Ay5VotR4MYtp0p&%8?qMEw8o(fP8ft5FwVk{9;gY+Q82$f6{`4{>-F@`85s$85~ zU|&HXRRGtZ!TYcLI2!X%kBzh!kYH*AyZB;7r-sItj3)i#bo6lVHWW zwzK_h9sT?=bBt=Lfgd1Wtg849?!xw@%(pKnFZEs;UCU`*wPW87!}aX>?GMG0qcjMJ zqHsOF@fk%$c!mrUMXq65iW|3oKLQ>Juzmf?B1I1J7qk6R(3Qb53;UJrs#QnfgX}=c zcndcS_{;01Vn%FfX^Hg+Ud?2xBf%s^8#!T*^j7p1pu$7={X8kDAh`KoZ`LMEFKXhI zsJx+E`jO+>1(jPxIh46+%{xjNNSdz4G+t@boIJisl%wh zp+<(zw8XM^7MU$lLJF(tQ?-|g=$E}T+faQf?T+V6%cCg6Fj63W5{(u`5_8Dr}$%I<7Q^&S?N?%f=K@ZPvB&bK*Zz6 z9YlCqqw)MQR);~sfD;oLAVy&rLqVw~c8^yR8#Qha*!_oiEJ*`ZMk+hrnDSK zZ#Eh`quIm|9%5C%;$uV>qH#Kj@}mk+IHo}OYe=wx2@Yru0RJArc0Xpro$+(ani~+} zmJWuPClS_wIoTvY0}Ud48VXA)+r1_N$*L_dVXhw-vUY%?bG1kS2n~(K2!lo^Uu__a zk}{yYd&|~M^z=HyThi2^)zCsl9&+fYsjZ3mbu0Nv{QxAjeqh!p^1yHnFQlger-slK z0~ic%0sX*`M^RDH((+|ZKlE~7fa9b9^9g-PpvdbRP>@;YmkG&ibwH z>3f2i*eBVB%!wz{^cKoYV(8}Kp%A>c8&n72*3AVj1?Al*7Jn19TgKDRWKP?;RJ@H} z(f6L3oo+OX+s7j4`ccn3{&P!wJ=t}ye-l(G@zoOEAL_)OA6{IopEAA>wbF=^&@j75%L zSaOAP=WC7F7cb1fT?e?{<_AcfP_coPfw@sj@6}L7Ed17F} z0|1ZWe;LxQ6m(s{^I>N;)HPxuo7aT|c7z<^lYlr2hBeC1jjNY0ix!~bp!32M!Fs&! zl)E-$QeZmT5nMGS#$jSVH0BH?4*qiT8PLgTw{DdHy9u-6wl+<_WA_6BAY3K06YjKx z00UP68PlLf&{w0|3-I$3gj8w7n?sI?hUV^r2g(3XPM^k1-eod1Joyz2<+=TnS$h9f z7Gcms?e1{{zbN0|#Fnf5YMQjMj`B42P{NRAxETN5WBZ$qywV^WrQ}VVE%H)Z<`F@0 zc{SZg??{p+Mtx@Dn0jKG=8XOj-3pi@P*bj8=i}vt{}cjqaE&p5!!>q0O0WS_A|nsO z8$&k*HUdNzd|Pg#{udxg?tF!aae%KXfEsL*d;#8`psYtK$DcWU8V+gLRZ%y~L|x5k zMKe4bXZsc;>`=z(4G><{Vo=>(e|{IOK+C1lAvLHB06O#K8W?B{;u9i+>?j*tD(Uy`Z7pRIQEE? zYds>wzQYu4J(D_s1dwj4FR{8q#<1h$Lra)pr&mkRrlqH2(As8EB?-El*&O-}c$~av z9cj&}7f-A;Y;;3Ga|IyJ1p!FEQ#r8oCKp&S3ALAC6`4i_0!E=*3|bmI$x8aLc$ApCPwl-G$Rph!4HcFFm z$e2ALLfs+wS-J|oiy*awVWsifK-iu#bRIjUYYM~xAg~p)qAQ0Q`5_@X5e2QDSSHD= z8#kt5S~zJ7&U0J8g47RA2LWWyKY7BL)5=O?HsPQi85NbMkM$Emm$b? z1PR1LCB9lJh(#7BHQa2d&j#!Y}av@(KB2;e}#>#Z_Pmc*bdrF-zHYfCkefspNx1z+Ellr}Ex~i4(r1s5 z)7$bdSEr0@IpFS97QC^w%Zx?BA&qVH-eubL2X@l#4%>VxuHSI4su-0;>xvEEP9`Kb z_sm$ie;?Aht)bjo=Rs%d9J=gM!Vdl|**(6^DLl?Lhvwg_o_m*h&>_hoDDQi4FUgx( zbl&)S`OuH(IwtOJ3#N~j4Kr6>bA@$h?_~Hk?Izmmc4jw8VeR>Fv0;2y?b8c;*gQ=I z8x5Ns60cYcFHy;6!FSJ35KXgcvTCIcNgZjj80H%-Xqry*&zF)Xw{Tr)q0Dxvl+f2N zvf3ehvpzq@@zVACBN!w%KFN8{jQEV{@6!8<=8vJH_c4;e!MPY)lO@QzCG( z2<;at5@7c$oz=nj6WE*>Y<6%Io)XaQ^!+CjXNj5U!9YBvnN}5#XdJ(VpIOLx@}nj- z(1*Vd|2vw)o_XGkNewiVB%zXykf(d9fS z(W*0b+T8^WXbV(392eu?qw>R;2%u+Xo)n7WfcHU`H zQi2rSXy8QAm92ckSJQgio>EA#cD(i#mUoyx}bw4LlP_L21OtP9j|Nu6k3 z-E5E#2TRbFyL~SUk|g4k)IjR*4%C8BDFM`1Kv8ZwUpRPxP1W?T8o3uS~oBr`K>pisi+&wM(!%vM6KSIhgpX;Y7Y!C4`p{ybB<4~^Z(AFi$(X!g6_IB7Zx4C(CCQ9v=rq5 zMi&BGZvX6VI3qEZg)SG;d|>QT?Jn)TtHm=h$AN_b5jYEe6AC!+Nk=y~e)zC0upF)X zu@e_(D?w5K!W?h{o~hh{<$KgKX&4x8Y=YMC*DDGfurM(TnFvLK?a0X~F%B9C@&cbJ z$9u(s3IXZ}hIq^L&=P|k1^p}1KOtq@)&@S=bz+h9fI!X@P<^Q?R=cQ!54r5W>(Ai!k4Q3ld^Xja~PUX-d2FBd##@6|Vy#N2pBD>jKidEm=wXNQ

G3OCpKh<)*cwBnUQqCQ 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ⅈo6go--6`awaYyA!lkKVj0=9+1!u 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

j@{Hj!?Tf#0 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 z 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∾{)m%Uy2Xw?`PA1+Cn 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

Xq#X-iWxZEnVA5Aj?uXv?6j-hG>x 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

@9*MO%jrBQVrrEjhR6L0Z%Mr=*1%=DUiKc^H zke29P{h@^TH`W#0-_GiduefQ`JK{8{_$&ZkRN7;@F7N^FAPDw?#EjlmeASsM^LbPg z^3dvODOf=o5h$Okb~3^Z6}3(ib3r#-pcs=Q@3sR>y7d*But~{?_}`T0+6t+N$FPE7 zoaH-o7vgS+XzA(cpgZLI!W@Z?j-Kd0J9tr!8aPSwtM2M2wo*=G%=$2U_QR}t0;VZ{ z{4V+0e7XkKky(~i0ipD-bRs4-PO_i>=I0;dQafMIY27OBC5c}0wr{RercJM0%d$k| zp{ND~R$3(s+5PxU)0OS0o!8eSgA)_AmUy7e@4|M`$ms31NUBWwA?ofcvme@Af}67V zqG8^q2p3&NdXkis0jD`(CdCP!O{!mUxh=mgt*`6}MDoXcycJkwMJ@qUy^crHBtKZG ze};vjo8eUC)qX$<*ItN>`u8`zQvGBX?YI#22Nbl}K~!H~J+fzQ$kXPXkVWL?rpexJ z?|>pqaD5VA5NxKR6q^Gd38;ltACxT)JDz3^d!3q>vfCD}wI+5DDpb^}M9I)}N8$Te z?a`>Y{o@u>)91uzj9O>1HDVc#CNuOHap|4(ZoDW*t%X=dUq1<0!WYdya4NL{01VmB zW_XQ7-q&!0$-0>A`1&t&DRJN7!^-X|LF1v=q*`rPWrg@}=X?zKv7?rP$M(MzF)VO& z)Uv$*eKjV=3FAt5I_58igpi z{-{2W19b8kDvweWrmvAx8J*w)ujI$@jQuUwnbzm_0WKdn0A9tozI!EC1W1wXTY~!7 zr839Bb7xMQrfL6vpfpGw`>rsfdH_NNE!%^MFSJ?J#_xYHc^6uFaM8g>Sd0M54IDPi z3F{g*%fp>(lJ%?B#47lW$#egOoC;1_Vb?*H3V$@$S`(KPaK<7F@eDlcsdmVERA%#dFw|bNBh4ONFycvh9Qzc&pnEup0UQIm}Zy|M0YW*kRl*#L>4ZrgrCkvT7=&)_dp}z`F^>$t?UDe zMK+wi;6=WN4k;d*hSx~1r|yJ3n9}@n?`ykZzn1T_y-U?7Hqu%9nST7 z*Z5Fs*3XufBJ?FPi|KX(d#&KoDKlrLaKa%`z!@q%9xWY;1K)EiYVYM-+c+6rsoGHh zMw&goI#x@@Oif73;hu_4LV9TTh#4*+|BQx`E{wCPMBk&eZPlu(3%_G~#N&PtTu}yp9}WoPwFnWjC~Tnn>%&pz^*t>v&RG*3C&6cQGn$) zPl-<&qO-0eO^%h7Rj$sLCB26nJa)-tJ-T*fRkXCt&!gpIb5f0+(Ibt`SRC{i{oIu_ z_O+HPGFPa#(SQc;6zjj?4eQ%FC!GnA4po+sSrgYiyLjX0;Xg>ZdSa%|eLH6A! zU=5zbr6isXIJJxVz>IB^wbgr?^7YN;EzXhVYg--v+qXb!t2mvVJfio1^iJ-UIoxkd zbIHt=retQ0X?S9(TCGvldBCA*tXoHAvsTKu zzkHG&BjcaiW!ahL*iXj+Uk#bdhJ}9t)BC$obpfxsb@&N}8$IvjF4}r}9Eq$_FeUYe z@HXX)&uCOnAWwsjfD;V{jS2{GsbBLr&)N}Y7o7yL2KZC5JmyO@3N-vs>O^B1=#d@p5GeCw3P)~e;KMlk&#HJkDS(d&j zQ&6xC88EOQkBUw$lva^WP+a*&@b`R^mptBM-*$GZCe|3ux-efOW> zc&8{__i%V`n7p`rxqCAl-(~p^;-ihTffx9Hh5IyUbm%vWLu_J`l9Ovo8ylGVRL_sbM@z+&1{zbVPbI?h*eP8d(+y_GI9IbDyfD^Bj1QUPjBTW8G-I#ZYDxh~2 z#0Pni9!s0kr~k^|1f07^@>d{Y!@C6)08am@fN%@WZd#jtc|rgEx#OO%$y~4JD!r?% zM|wN>$eq*9=yXaDK8birAX)J7@nMILr;6TQbk&43-x}}70?6(K6-L$-nFpCVTSG`XwEU|M!&xy8xlpe4+1}7dF;}qDFNdBn+ZpX zHOyl>vZlvGtd|;bDvV1^_N)-8mD?hg(Y^q1fLV-_27hDAF452>QhCdq;6-CKH2#R) z`t^n5zv9N;`rqTA4bLdoQd27e%miv>>sOPnQ03RhLHse9R0Homzqm1 zyJ!*{6BTu$_^yz$LNDYYjI((C&iBZI<;$Tba+P*@L-?R8{^&SStexmbkln-Gaf;O$ zGv=}B6*$n7E`PJ0u$W)ne$9;I%9`wBKJOy1qBGFry6`G0Vrd6DxEUtwl`A9M^+=Pt zooCI)OShf-ZPP0_ASiUPdc<`=`Ns!_LkPbI1_?34Y5sIpdoyOt(ARJ8pNc=Z(&>af zUFd&bSK2GREiE{+3iRK_05CuRR|4LjWXZV(V`AW*vh7zF)t2r^_ zVd10~qNw#RF7rEl`0s}gN2;qsph$U9&OTtW9>E|h5`<_nZqu%K>%E?!RzALcRIU3c zD8!iF?109jYX_E4mX^b$*Q{RMrnUG-NCx#t?BBJ6`!on@OerU+M!d7E6i@DGj2YX! zyL)0>D6-t(MOftVnlW%4Lk`CxQ#jO&a0Lt85YP&#X!l@gaFI1OvSZ@Q3=M?=A}qjZ z%ATx*m?O>1&7s9CTCkwEruB~cd0vo!I=cSFdT^uw;>nIbBDA($yQ&#S*|JL(7<&GZ z#k%2SS7B>^k2S`=DKB`>3`(ujS&IB=TmBr{ABSN*{s_0RNx;CUbtuABM{Ex|wH1al zLQTW`#j^hs6dt|_mNXI9SB-{BWBg$ooeiRe_UDQr4g%@Vo?VzTkPe5|JiWURW6@A= z(d-Q;?$MhqEEMTuinp;J9N4u33=tLv!vC@LUfNMNbEJ&D}rr~=tdv=cwu9OXmX27B#R5PwEaVBo%oVEpfhVf%VdpEt) z;Iko}*s%)tdN6S12(Ep`^`;9I9 zp!vVI>4BwIT4tseqFvvVTY1*tBFvcVA#0sd0=}Sr^r?;bW{xMc;Yu%Y@k&#~`47zZe*Gmn-Sk zsYgJYl+BvRB#1PNzfD~xx^d|^{jiqTv{8J z6L4E$W&QQ4OYrK4wfEE01Lq86i}(FaPE)ei#IXsK0x4Kk6~XE5q=XgpQj zfkgZB6yBw1jk=t&jJv^EQN(txS@U>qmoKE=`2wBs9}Gv$b_}J0)Z~H`e39 zm!S;R6hQvO{Y1QJo%{q_%gd|3jJw-wATpKHJc@huSPpbjqHI0kYPt+)o=T$qMy@ds z6?om~GLxM3F)WN_@*+AD@n15r+~z+<1lr_8`bP0n@wmZbvm z?v_j4|D2YB{zFe$N&?RwcRtJ?Vq8@InK)MEoP=?>LdTrBYqD3Hf-8nHv7gmESnu6O{3b1O`qV0zUm+q z|1k7kRob%V?*t>?3KK!5p#Am+Y-6 z<%TNN7Bon#XU{$IVfC)1b;8#-k_Q_YL(rbtfAVay`lNF~A9(Tnc@b>w(g7+W(&}yu za6Hg##`rDTZ=V^&6t36sg{Cs}LcO%2$;%}?RhGG{Q*a2*!N}I4a3XY zy9QPPm~!x<o_mBS zlZ9w_#`3vyagHIgEPe$_@>8h=z6WWXjns}#QaEDp_|c>J3l`|yJmqhq zP2?`d`%jT=9}$TIyJFn6M^fg$6RWx1GY7$6Yt~~`U)lQ=dR-<9>2M1nlOMz}$#=sh z^ZwlJ4?~mztafrBZj{_JS&wm0??#OEh#zV8fdtqW+oO-hsmfaOgb7-@qQC#+02q?% z3OWbaO@SZ4#!5$B{kM66D%wA-U;h?shon4fN^H;FLUYd0!BPzpI}|wvUbiOg&)62D zp!T#lQBx(_v<^uttf+bF%1#?Bb_opRj0l2Bi7Z$}VbY^YJRMepgnG*yweGd`0^!fy zUHQ#(U$%8)%y^8qoi0%mc>}P-f1lyADU`6ado=L$6(>k;Z+g6&Xwu)D8_v+S-CkoO zBJ|HEwKqN|UvfG!VYUt8)Zxf(`}}*WU3ECydBm@PlU&Ch*9rOzfo6qJ@AVjlAy0nf z=qf(zZ7jA|SEog0Inmq!htd{ZJ9q9J)L7`8kRYkdkz2!xN`#YUUcw&HKS2=By6Abo zc9I^Q6sd&mFDYXI9g^k{oz3?Qpo6r^Hw8~v+z(9XpS(#1EdThaiHk?7{NwjZw$DtQrG+cHG6SG!=SH^upND4X|0>t zi<$aJl*sI;EKb~$y)(o&uaHFQom0#{e>`Q{SX(S%cfD}ok&NPO9(Pn!s-0IY4I*a= z%~LxMcuyiT77|-=cn*SZA`dz*j|8&e?B!5`o;qUOIHV_S|2V1RY}{g0ZlC=#Oi26a z7*cY%R~VXbC4J3-w0N<1Lf)~<+?yA0a4jyLIemJ6C2WSEciuaJ*bd}_x@B$M6gq=8 zkxyj&$xGqkHV^yfe92_dxc29tA7Iy^x&->+)hU6ECc0V?|2SrhD=Ak~rogbj|D)0- zv3Jlx5T&Bia*-sY5K(}*-snmkw}2$OxU+M z`J04khF|rGEg!(U2)Ix>Dny;O-nywXiJ?5t{@l=hL?<}1KeFy+3cF6#ic(Nr40Y@O@ADZ@e zR#wWy-dg{kks~)1>U^Cb(yA;~_cJ*%Qy-39+4i^L{ohMEW_2?0Zf=)L-hIYy;)YV2 zF=b>jJ_`eafu~&;g`%RO)pEN}c3wtDKunv69mTLj!VgePEO7lDN+Q5y1XW^ZmF6$V z)&-v&M0DA(v5+4L%R$I#@n=+;YE>Yl4aSY&2(i?bbAb0 zBRg^Y%%3wSPQ%rI&IgKQLbYQIix;ul5Z=goe`6>6^y%$;qICaH=_}?r$G<((t=gvM zfWFKGAGv?-Csj8Ok46k3o)&_*>{(Z#48+uoZI(_d%1(NhqGol6&T(02)6YBVO4kD`XsekJo=NcD0uSy#=Dy~z)oO_b} z&1L%iI#zwZ%lq^5f{=wSyrl#_bo>a{Yv-I8dyLaT3OU+k2+239x}FxT5IyW* zLj8#e=h6zb9c+p5#IP+XE3#-?BnFZ0?r*@^H*7f4%K|8gsWUWPxJZmbBOep<=*>Rf zwS>e$v9Uw?+=Oi9m%iyT4a5mgAMJ|!TbsFAxkqgYcqF@!7y`T?T%N`R#a28R3J1(peLUGcs7)LnPiEb+gi|$vcJyW|ugs@}AG(#{;y%#T}r}%=a?| z_3c~41y}w3P3YX`1@_h&pZ06Hi0#<_n1pmBzX3))J_uJb)(pT z2qCzXDP@WgMrZ5W!%a3w+)jP0O9X|HOUuXKd!nN)CLnO)QXyoSKog!&at#}TS}I68X+tRZXb3Q=kTT5esQ;BYyN>qpavrA1hF8Zav_{Am_z>dZwH-u zP~Eq&yf37f!Z&a9XU{ev{fAv{R$9+@Q+6fI&Nb@!(&{&dTln8{^Zd2FkRkz>n|>Z9 zC(aNe(w15tP{7^DY8_Yb3gaoCAa`y8N(>zD#MjzXy3a4oKupVFU1b6t3F57dk zRjY&gp305q3wM;a0^ty981 z@R7C+A0J~ePv~hFp;Miv*0z~ z;lp*Xv4#yAR9;n;6YK2Eeuw!)c=N;;JS+YHg#)UIAXn2c3TuZqZ^$)O8$Mizfr%#G z3KlDXNe;n~jO;WD_;W-=EIB)GC>$_`tJo*9BxWH%WDo}NHVie}FZCRsB+}#g^X!ut zjDTuIL1^;t&(6+f@)AzfVU_^|5NqXgd+r(~p-8KB<-0>L3SphYRrXZIRtzkbG-I*{ z5u&^5o=PiZt4L=L?u4X|T7{nq0}`VV#xb;7kOp5WtfaZ-xS)OavK%R6W(As&DHpc-Ph9s<*`~27{)mKPTb(@|TFVR5um3-vSe#@c%@@H) zzu`+@qd!&GPcs;k6J43tN#m)dYE4S0+k#e1I`X{U}aDly@-TvO= z=6Ndbil4J+5!Mi5P*W}c@ZqSl)M=J7A!*5DSxU?3-j1%sGEzzjX-r8{H$3b#-OWEa z4(4V6fO4%V*kEv+xoC)sCe`}0VUDqZyA45SwHRBbK}k(JMP`Lua13% zs}w*N_`trsdmSKpa_7>x;pDcGeOWe1EEq+DqLU>|fY-Qj5x@PG3-J}-4PjolTWhgp z?XX^D^&hc_VmcNg7P$3%=!*t+Wh~=%@mdV{cd4RHX8n__#hAd-(7dbWdEhqU3EUW~ zBYa!ZA|8az0w1jgteMy^A&k^rM?OOQ0u>d1^b8QP5)Mb2G;tpi7{`vmRm#}dxMV$A z)BGzv3$w$2rK9Tj)ac>bSlftn-_mJ3#_$OV4c9r*js&5mu|< zWh5e3P@~?YIbfLy!eHfSh0&_)Y^}NT=Wm7)01bE}wF5MJJLtTLZJsO0vj}h<5nRd|}#C zq40AaoWVAR;I|_<&8=RuhSerr-%F7yCoo_Cc86W3Fkt)jSqyX^dp> z!|d9sDl5}zbWkk0UN}rdWPhlt>O0D82C6KMGCVoWt&tdVhOo)O;Pk;-w1MGS+cI)n zU-Ad9`}Q^a*F3Q~tJ{mF95d7G8M`4<)0!+@_^B$3zmnUQW`v1H8JkcB@{dTqR9y}# zzZqXDQMIhk2-6!p>_YI2*8)ys^>A=I0NS{_`)F=7MNybpnAt~X^<^nj3JEtUHX%*E zgCGD5kjoo0<0}YJBOL;U1TTiGWmnf?vh*G^DzU`F;EogdyA7FpW)v#0Vyyu16L}9< zf(xAh#2)+i!g74pG4=Qr>M*TL8mCMaeotdGcS*72N7}SCj>zt@rZ?Q6r!W&L>H$SH z^_f)oo+C{4U}q73+YapuI&$ima2Emu#n`4|nB`=ZyftN9g`CAivL5Gi3xE5bi9v@Z zV)89qTZnWq9$vx=Tq;kW$#$#7obPp2 zZ#dPdA7iY8<%5sBH7a$*y$O3g!L*EyielNwsYW8ltP`5Z9yikIXFtE* z5_hp}N!)d8=dydZq#t$Dum1TOf+|0N@}4NC))mP+Zyzh;xT`?&_s8qAUT~5z+Hf9m z$6MsY)RWRuE59yl=&P(6ZI6R?*{_Fq$c;?s{I0Sx`rZW=V}p;3^$`zN&Rh-O4b(|E zv#h{_&YwR99aqZ)^Z}??U9KdubmH*gA>TzZ69KrmNsWRaMQcwOPi}$d)_<;(d~pRopP6n&TBY zcW7`FwxY%%rLSKTzz6+&^+-fCcyhSvD#pIJaO#wzn%Z4r?+OYS9ubwm89wmMK0R*i zuPuJ9taxi;9~)dy%8i2fr`ZjCT>NBn$JENIs*u3Iblh230QeD(4QQ@-W9;^mdG@AU zlWLnMh!wD9(4U8RhK?yKBV&k-56~LtCGQ_;yIAJc7KgX9V8>(&6+u~_Bb}C%TBqW* zj?Fc)>AyH;1aBN0Uv_-BD2s+z__GLmZU#yOe`Gxg!mgQ_h?1s-rOWVcw;B}Ri8S<5 zR5=8Q@n>k2IGY)`l0r5z_9iDKl^2b)VhOCEb&Sc^$O!xzBplHsMzjP>n}->>O3^8^ ziUDz82T%TX19D6nnV9rMj9I^W)n%N4F76n$42n{9&10q6l zKO;7qbM%qPM@zBiu5b~9jx^FIDmq$RSG;u;Z>;jr-WD85MNOrh9ystkYaDt!i4oh1 zp0a6TWxIch7dtRoQhtYvOFQUmxAx!fviWB*o~GA;jxrC=(XryldN3x_wN+#CbL;ks zx^<4bBU{k@cI1V#kDy09zhJQ94dBJB3iQICTiKBW|KYCm}fpbI`Z%LeL)T`d(Gl!XmN$PpbSrPJ6QD-bJ^Kcw{Z zoVwJ~Q@0n|u^S=-iunf=Kv|jQN9d!(yDuBM7`>jgrj|L%nlYeJA&2fnZ?wK=b@-;K zc$U*LmeSoVT{^_&8n++Q20SOa!6DA?<}6-pQ`VQgYi}LfKR^|(U;o&>nXCQz8;qMo zo4lj+&$}7FxJdasn)NKv-O;%9^1Z<>x1)yIa%DdM!R8<3gtM;+ml=F$@scGqL|{8c zEA#vV#Q#wsj|vp9dS$5 zgMfkXwVk6Ou{;E68)z`p3a zT%{;gJ_&hc4ejibbCY-?h|{d85GUQgukaJ=o1X}Mcg4c#G1V_G-dtViCh@S7&A1(F zWB#@~fA92yX| z|Dvr2iBWg&+}TvH3{Ib_zayH{vFraHsHnGja|Ns$>K{t(f~k3kDR_8AYv%%k(kK|H zp2-B6hlcOae*NNBsDlk)VBumtUW85Sx`8ip1wp*4rkfB(h-7Ac7*+n=bknxV#JU6Q z_}P($gXn(B8Q|RofeU~eJ(X)de(c_@+ZuCoC}bi=h$FY+&Mwt4@-x{nFwMZwuuL-P z{qHBu&t^A25z-A4N8NhUXn!F;tiE#iT?OsT{8pw3*~70p)RyXZ?((>%lg-et{$8tA z32>ok)rcfhyg@IF=dqMh6VP${J1>=)Jl~=_-m#yv5;0GS&O}sgG}7UQYCzs4`e8=V z+iSPsFf1eU+_Fuq1-skiqf3IHK<~m~Omj1FX|?a6tKa|%AD(9}X%rp{@=`k7C;;bx zKJY{ARIo!qGpsA2?+NPfM?*J!`0!|BXC5o2QUq2Z6#<;|i($v{K6q^Tf7btX#0dZ; zKuq8~h5QcZmV%2iE}`by58rt_Y9AB`*x(ixAQIO%z#$iO~KIY7FN$gV(- zt5zVw350_m_ad~(rYk~K5l1eJ>S)8krza)Z{`N#Le`>4z2%V zFmbj5oGMx;Aqx+`*Y||p#CsB@OB(<$bwlWB!IdXP99l9NkWi6(6WCZ3`C0x^;MjcGHFVJBhcfih=#D1AQ{^np&|pHnx$y*vs-R zPG!6BL{`*e=9@lU*!6NN#=LVA3@$ex^_9Bd$e@?#RhJJ-W3%4Q8&?<3F>;CK1-_@; zvbJrB4Mo((sFXI z5%i0M_;r5wwfv_3sa<;e`03}eJ{TlLq!|95sOupOD^C8T z=x#DIa%ka)+`LOI8mru;#LkN3=WwlH;}GZ9r}kLd8IhA)#Y2hGcZdf77Ema9jG~gO z!}K5K4rM;l&dJC?ui+v^&)ZcbwDcOMMEZpFQ*IvE2ld?NV#ig|x-D4&BFX{k2iY^q z`a<*z2SxF0ZPge%HhC4jw1)3?M@Q<)vdb9<^|dN&9UQ8dK`JYg zdQrD(AxD|5VeKg*H!oqo$rRL4WYROEL!c(hRF(3>l*ZVu-NK;g+QP0TeOkAw9(GM< z`^&}%o%FP&HA&`2?VQywWp4ZZ+V92FgF?>)*<72RP&I$*;!^KL<{M{b{JO#XReike z<$I?q=QjA)dKCnC^e!2E`N7Yhxd0EpIDHyVP(o9vuGfODDGJn=(adFP3dG`%+<;C* zflJCcT=(hdr)BpJiF<6s1uHis4^@4dv5vU0>%ZN3_8d9GGQt>+S4ORKz5RiNylU*P zo<4YR1w;+Z3EFlq9n(qo_9)oDhP8!gSiqPrQq*+GJ*y^N;P;!UWH)Z;{R@22iv|V- z;gnI)i76QsfQnaOczD{{(PWHuwhJp%mDXjiLk26&??Op|&Vd&MrWGQRr?*|B@5vGq zw|ywf)C7=kIQ1+(MCqo5;p#&l-*fRR;4Cg>PG_6%TJ2b>!cAD*Xmu-NPfX^vce-zK zQqDS$?PBv&waux6H=OtNEN^^y)3w^J%a_Oc4(H=j&bY%KC>d;t`ECQ-(HlDJ@s>vE z@J4tAikr>v#dnbi?{|LRE+*TZnC^=gi&TtSjb5&IjUFs;*0?X{Eh}c*iMa6g_+Sz7v zc~Q_zeSK^iJ(UNc{24xcwq*yM-=hA{7ICeP{F-C-6T} ztbAd!vA!bXg!#I=E)*M%@{Wp-yI_U?B-*xJ)D>^NZ3;XB>iUNKDNGlE_VlD}g|tJLy?`jBop=n;AF8wCuTc$&bGWa_znM6?NO){q)c zcSEm2yCAavKxfPVv8T?NbDt*>V{SnwiQN8)PO?3w1)XH+#+Gyvr+&~%Fw0*anqo#U z3>#K*!Y%(A(+>(d=BHJ6Cp!z!8SpP8kET*cso`Xa^ji30%dT(HHx~Q9%<$!3Z0fMD zP6`t5EOd#)M(V9FT=B${&{U(~C;k}uytBo5W%8m4;HXtk zQ&WWx7(^bVo?U-!Iy(`uPv{2>H(wznv(EYIILAy# z1&nP@CRYJ<%pI~**9~GNYyx@>Tc?eiZYKf4%sn%uv)%B|H(1k;W8HIxeZQmhl)AHj z?ZZx0XM27Pc36ku?SrpV{4gMiKb~!y1HfAu16;QzIdvN+7`&23 zb6bhH2AFoDOBSFG#kZrPh;Fvl1h!Nl?EqfGY>7j@zJ)#O$h?SwRKfEc+fW(8;ylXq z=C4d+y!qh(-=Oi|+fRomw;m}e_!edeX-tUlC6EmPvf|&fQo}cv!T}2t)&gNb{59Mm z?qy_5fI#gTz}GtG?{pm|=j~w??1fRVaA+}LL1|zE&|MeDSK9X%aCN%tp3t(}#A6{+ zQ#@eLw^K&p+Y$$)y{;#bY?+fi%*h7CBUcy&VErR9MTRAwq3+#!9-3v1x3VD_G4qWjTMcAZRSX5tdiX$h%pRPOWz3IXi8p z{SmfqAn|t$45jUfa7A}OQyUr^KbmKA@AOn9< zW<&-2T1Z!m0~g?+W71Gppc84+S<;EU0$BgTdGp>CnlxSy2)F^nMsT3`D7*B9ju76? z|L5=wB)1|E3)&`S(w|4;+&NWs^~+IFbu6V3>#)VL!n?}3u{I|>EbQ^)$LMOm#4)$u zj_f^t3ue-cv=G0L7nWv5Jc@pQ2Pb#Z$XJ&x11RQc%Y30&5yhPh+?jE8omX9}J@CE1 zno6qbK!uqGV->V))kznZD1W-jqw`bf5{5ACA3f@?KaY`&c@iBGhLCseU~NaShq^d% zB5(T~Xo0dalID1`(4mHxao-gg3&FudMe#+kBr7ewk>{gnSj|;_x3NSk?fR#FvtbQ& zc5$##l;H#<+JHQL+TZ%FSO75Sd%5N4e{ObIQll_`|(~6)g zE;bmdt{aU!?&FNgcALOA)6$hfaBYLxG@*b0$r2B8a!R+1hg8hk(x&L?sYO9VAN@Y- zD~fZhP2a|0HsHf1mB|6g;egXAmwm9lx#{TrB%-KCv6W24wFjn8B zj@)LHg2Ms`adFPTOgIsVw{B5o@C0GXCm55SQFK>aOW{d&uz<+%s;58=n+IuX;)2V* zKqrR}haD--Eo9RQ!s%lw)z4W2Fp4U5Zj96-`TWje?ch^j5x^^{Jz3Y-Z0ezVt@d7I z#x;kDoK8!DYyACV>6L|QByBt!^*lTevCKv!;;Fn{EIhg>klX{YIFr+hNoSCYb=q%_ z-mr1{dbJ)hSz^R$nbdDA!o_*)y!6))$*)G?R-OFWqhJ9JM_wce;TS)9^!r;?-Me-r z7@ZuYOv(e?M#$REQ>P|!l}HRUTCm_f8Sjp3So$&v2m@p`lAO5QwA6P;7UB(|;cVA? zpgRL<5J1+kV{%l*ob6SFSPRw^<{BdBWa}m99NV7XXdm?WCaI9LD*Ki+Ns=~8AyH&$(Q?1e zD`wQpeILL3dG6;p?&muG$Nc=J@fcp>u_Q2MH=oOO!#l z;BwcjVRu2rMlZhS60I=O0m+irW)N_urUje|R+&w64K^7zwFAEnC%BcufbJV{a$(yi z$jABCEfO$J>fEp1G&DF((b5}t?#!-eP>~t+9n-gONOH2Nax%GzS?ZKM6%_L2>o|-` zoqTQ-YMnul#J^ju;&G)%EXu@e&Qwup#<7r)NMwC12BMJq^;_{%YU#y>mOiDZ8qmJE z*>$jNQyUHm+Zab3?>dm4bKH17HtbpX3rL-2Zaiw?%mxX{O>m4H$6VOmowwEa{U{Uw zoKP9XxR24(u&XNW4h($Rb_%{J9UX+-2$5up;ra=rlR5Qo0By6T0#80oJE(0Yp6E(l zWWJ)>W6v}1w61}4w^prp{FOk3debKdAKNoEa3BR~Moy0K1ksd3UqJLx(-6Xl6LEUz z+?(|&uhCS+v<`yv$e~tU9g}w~eFYi%jh_q}WO)eb7k~S@hXm|@9lhlG58M4bl{FuT zP4X&`P?SZ@`@AWy+XQL&>xZrN0$kb;PS5BUM&9;rBRB!rpCgY6g>ItaN=0r3pZ2SB2@&T%q%r*^y_!Mpukjdu{>Z4XBIOEP=lo|XE^ZC&aFwuSsv9w z3f4@nmgF&_z=jU1Rwv<$7VFSVG>8AY{Kc@gK{!9SP6(%=TH>=^n}C@L=Li4X7{OMk z{1E?Sr-lds3D0CcEujUq154uEpJC-7Jm6(sLIuht(#t1`QMQl!WVFrtMl8XIOOI@r zF^G)=1%j}sa$1lAMuQAnltR8EjnAM#Y*$JwM0W|o?|EUF)AkP9Es6yq7d}w)(K3Kd z(f*hVr3#@1-Nr6~732l$fo@~t`^@=hyV!iC&&Wd9sT-1#nmQ_A`kZ6ag)|*%s~Sv% zCv}?l9%h5{R3gPE+BN3fIXakHPHCzf;ksoZ36PI_Dh89Na`vrZGgKWksJ)DolRAiD zkX^JcNC*m$6`{Ri=7-yuwJ+vkZJ-9FTW70g@;m+ayY)bU&g2;9eys&a2`UVx#R6c$ zFgOVTYDPHlh=M4{&9xjJ0B(~DYw?2)v5cT<&qz(w#Bd8_;4XpK;$^Ezsx+yAup-5@XEBmzUd zB&T&>rw-`fA15x-&#s1DLGC{jV3(h7 zGHcduZ|~FeXH-QD%Z4$d(zgS7fN$E}t9YOn5z!Ro)t6N2gs)XMu+p^tz3HSQvu>+& z?1+-OY3BkCOI*g6y@avi8^YE0O+N;=2-U^ojV}XNy`nU?2wX#N-^d%5qnU)g5#3N^ zQuPb&SM$4j|Bto@UE+GwH#7%KLpyThNptPWU(AQ0a3VTjAJTdG*llWLt|2~z2G`^S z-Ih|68sIo6IAF-s-VA93FY=UBt`~TC)7R@6W7%lvvzUS;c^sl$8!8cFvH0Um+R}zDso>8BnkBx z>5`9@7P4ICtwY74DvvnI28GG+<^5BRxofsc#2TfERy@Q2nO3b1=$cQTe(RwQsq(z2 zpu;k!HrcTlrX1F%77O;Jl} zVNjW=(`6CulmLG&1_QO)}^gWhZiD<#vS#dw6tyO z*4=03f8rGc71md~>bH-xzxgDRr3_*oF``P6zQ!>@0=|KY%-Aunch*xB{90$CqUI>) zymE*eK!mRLw=v+VPf<6Qg1MBG_|&fh-r}faILA%RYTBsWip&)wZNqA%C~VPOayACF zDfvpFUTf;KX+7F*eRhi;jv(e*-)`1JUry3Z?j34{jPQRU|H#SA?Cr*&c8y9U9@CvF z;}!}hiSfqm5skVoXV-sCBHcfn2OpFS&Y#%@bUSc>t-JJznauPPR21(69mjMRAQ;Hg zXv_Pk%Y7M-*>iGdIWkFEw6pWD$IP%^3ess_$Ab>vk4j4n0gH{T1O#ImZA}_mHGM-Q z1Fo5fy(>faU)@#T>~w(|;(3T8b7!)$(?msv5orJ3AyPt1b%+w2vwhgGS&BekT(@gG zx{zK&4V3Hoa2Yi!RhHTC_a8oBAw=>dRmu9>Uxhz(Kywvt9bF16GOL~1{d6xK5MWRp z>U|)s4{zVLYT1&qWiz*hmCbLUZJ3}BnWNlLoxRwkw3-?2R57u(}f1bpC)lsHW?lW}#AUC|jEs!< z{q$vn6We{cqrBGqy=!Ts8`to!NijULalnN5tPn(j6f*s$h^-rmNm%K4hSM{94Nw?; zrcPSsu3ftzh2NNKe_V(d7d*1CG--Wp&-EKNfKK;!G;jr~6N9c{TE^DHmT@ivH`Maf zO!aQxrAyU4L+jvU$B0v`gAK#YhoJ!+vY{U$M}(8V3LJv(Lb7r^qqvujtzTa^s-b_7 z6gPA7uuA;ZxwuR4f&Dkli_iXxO0ngzbC+Q5*p|uur@TZcr|R|x5}y+%_RJ@W^cV0? zusV5Q#r}f_BMC;?yjgHWr1}2z)269c${s45ub2vifhz$}iyIx}?@!QOpX4LKv9V)D zjVZ~02WMY^j<2$i=WNH6FVjj*h4tRE$G$M}6?WJzS zS2|bP&>Nw6p(}Kc)HAkV>6?sGqZgdoKP~JCH zRB=6|6cM{4Q-qUMQ5oVk#q!w?^=C6ZGJN0>K)vEs8bMwPxbj$GB=z=74l2YNjf0DMk|TAH@QOMfq~G{ih&j7^$xX~(zUKu0jV>;=7;$ibLzWGP7-UAmc3^NqoM1W;RA z?@A~zab@IZW|3_=>W3tAmd^ii=}j-4uI0Zoav;NOIA(u@-vGP7bb}V2E@aF8Mi+C% zKWpxw5IQ!afjI{vmsLl9)&e-@kBzmI>wic8F6I~jA~UUC#~V})55%gdY#JH>N!g)4 zOWw1YK@(`!Yj1E=>9Fj8c3r)uT5jv1J=MNxeO^&aT$q>wjp|;XgVI@VM?7zv3rbrAzBZs10p< zsirRWwxf$(=UxVD-#o3VEP1?pN)=%wN? zQ}Iz*8L3^?=r}fRwEnYsBUm){mAH>hUk^V>AX@-wyD96-ec9;t%fPsVQJJT0Qq(}Y zGPWEPa!3l*5|5Vj^|_&pa|Sd zge@D`x205MyBB8;UlkqCqzN(|FJF#TYB0^MTet4rhYwBEK{k!-aGx&t`8-vibCjnw zKN}JN!pmy5rrJb`khPOMwrz`-`YI?`^`~CrAobaabq3zHUHkThFL!CZO!=9QV3%tZ z1MDUA)wrowebgEhZD7pMq#mY;>(ZA;Vd0H6N3G)w%pd|}*-(rL=lM zqvr6Zy0_CBFGI%&j$qY=r_D};#ePM(KckONrBcvtCMi06`$?bkO7u?%tSLx1@6hC- zH7Gloa#X(<6(xnk+FY~Y8?jEX@I}@?Xog~$k(d~VR2yqEqV@gONerY0y3dP(a)cR; zSQym@VgL^u8FZJHtBihd(urCmc*sp7O-Z<6qYlsdi^)QHT)!-Z-m%}WDDjzoSYpRh>ev~0g!bFsTm8OjYm_+ zC*(P%k9(<(>Jr{vF!87_nU!&oqgc~@I+HKWa73*`bQwf80m}zG5%8)9zbsr|=>|EF z^a)3|yu`#j#;M#4@rk|tnLQgBV?5iTVny4nm(E#ACxUr7IGjCr@Sugxs%UkpOdFe- z45}4Id7e3jvOTpK!=u52n7+bZmB|eP{RNqs-ltXDwn1QHciX#MU)i?X<+TBfO(ovy z!lKs|71{)yOAdn$Ff4E%+Q2F{E>0`j8+QNwB=`BHP+;aZcbA}k2C@t-biLB3lc?85 z|K7Qzt3vK_M2~DX)>rdSZFAOi`n-WwR=j@2T;ELzIn`Z?>$JOnC+lu}(CJc7AWtr> zQAh^V59TMW^6Ndt-g5TA0|V(q!Yy#RA#N?%D~)0>A9~W@;NCn|TsSnS0C4~kl1~yI z;mw0d$^*l5m(a7VJtbMfRsai!b(Ox0o(Q=V^QjPs(u2Vf*rXz{Ttn?dPeVi|kpj11 zc3I^s3Gc^_xL|?5y!ON{fmc86_U*PpuF|>n7S32S+G+dMNDdxA`L$>MPl}6&2P9EQ z0dNSN?8}!(BT-pD#>bE*FC`Wrb%xd9s&afcSX6c*73Z)9;raZiNx$pPq^Ik5m@4_r{ zC^h}C9!>%HM#C~opKzrhMTZAq86%6fbpXL$l;O5@_j7W(LI2r)kdvtzh1-uTj!KyP zF=pYQj?5D&o;KK#J!E;5(}oSEdb^Nq2Wq?KS49VDY`sKKk6Ph0-HHp=NmYF)!p4qu zDqLcP#DmHw5xVB_~h`}pTIBY*hLhleo+3Hb|~1wo>JqJ2IK!$!#y zb^Q1$@=OSh95-&9nwsNv771AcG~V2E7s9GxA>T&2)|SAT3e4ACf|fD-P=UQJ&bHeF{RE(4` z{!D5}6?uV(v_4?U=DwVJeX$jrDh4zjSKc35GvE0pOc}W35TNp*C2?--!=nZbvgD`2 z$sI&2FL%)cezVVoN|+>$g4dk)k65f<|Nd1dNf0ekjThJcJxa2qg&G7TpiE{B=#H9gygQMBNFj2#pSD z3`5C}mPlrD4HhmWIH5{d+?n}Hjvit=s}(C4q6<-pvmaZ14G701*Z=U1IL1XgxiEC@ zZR{*D4MDr;2}WDzzqHhUPX)s^W6ip`(}58onY&K%JIUCf0UI80;?$`%;07qKLo)EB zPeTA|ACFlE${CpSe^T{cx_Hq|0+U6`1~3H7eMebr^WAsGKG{({|5Lph^9y!rl0J8= z?GU3HF#Q8>7Rg*mizU$pIN}(t<$1i3wJ~-?Q%KKhWmnJTfE6;2Teohpvf24o+Mw;~ zX}Nnj$Pcl)h{)U}98*h9iCN{%n+u%}rzkQ!5fIn5`!0vLAzJLE=XE<2c@%4JNLx_2>em6Pd-$)C-A>`J^NFQ9TzH6|K&T9|h;Z69C|g`~zVx z70OwmJSVKt70p!X{6zrRTnrvn>JOem8s_UAeW!}^#SNDr$3v&BZHSDEm>mk7*uEu2 z@HM0}%Z4wc7G)UCg+&6App2DpaL-xQrT|Y-M)A>KF?qO2W^b<%umUcEO?L-O3(Jge zzQ*&D*E@G!;E*jfG2F?#U5#@jG+H-hU&QL>RaR2M2_*HofeeQVgc@~vpM-lIpIHI~ zLAD+qbMA5rv}VJZ99WwJZUS41BT@*_bDY>FEoK z@8e;5_imk&Q~&lYvn=|#bsp_u(bypM>FJL+So6&9%bh?$;p%N<9$RxZvR+KV^R4kA6S=qcXa^bZI zNCY}1gy8~T+8J>#rVD~OILXk2#73w%PyxYU)BOq7dKhOiH8(EX9f4UJYuK_{^MZtx z$B8&Iln{kxjAb?#Cz8-3L=GP@ch$8#!LW8k8mW;eo;j32!P#bmLqeFdRtIYv;X6i& zh66SImWfnduQFS-`2y#GVbn)Tw` zPo4{7`f=bMHwn$75i_cGT>uglxcdDu4MQWcZr-_fkE|Cr30Z=yRALt>;Ir0;ecyN? zDQv1ASG0iC{V!jge~XE!5bo-Xj3b$=f|nPG$!)@F=Ek5`G;$N}!IW_U$GD0BFA9f0 zvP#%q12+@9aQg{xJ8|6YIs(Dcq!m~46r9t~r`Q8DEndfte)|pmjQQ-S?3XrUj&3RE z2a*T8FYolS?MRkKqoY}y{52ga8xy*4s{YWqNw60(55ft!WP)w82}&1E&b8ZIxglH6 zCEoGfQ(0BT2%gIfuR||aRL(tUDFqS^Y(=HrfXv|Ec9-xpu;<;GyI{e6F;_nPhgH$l zR3$2B#pi$6i5&TT8je;#kRP}2qYV@O)(h<8IOE%NLz!bzvRaSU55*rGz8kTtB(~#Q z`0ck)ya**FG^-yY>IZ#!EybUWw3{y7)jy0GbAKaEek_6ytW4zO#O-8fjdk!;$zIXX zYj~sveBHA(h)Q*JZ=;I?g-@!hE)iO?`zP^`dAH4tB!02m@E@c7lXa;Vd)}hMbC<0- zFrHs%6LZQS9OEKTIV>25vdjannaMtS{zJzrrgK6X8`p~MZy_NGWJdES3j=ER?ty-O z&mKLRWn?tStrFamB5>sn%lBP3+%*xk~I z{>FN%MJAq;=HOFkiIc7G&4nq%BqXq0RqUCHcaaBB;bU20Jr zB(X)1K{r?NO?62m1AgFS?603@nW!3`9R$;;sd)}r4>B310ELO-0LP$6Zk-T+ixN;c zNMSmaJ9kD_#7r78gK>jSArVj_7z)s&=#<0@i^f1j;5_5uoEpprr>>2|=7;u_p4nZ3 z?-s6>&4^Q$^$jrrS5WO`GN$Qz$(q!J7KmL-f|4ns-lfJ@Qon20?hQhXorzCxCyDkl zwi_%=(+ZE<{fY%1hv+FP`^4M<1PrB+kC3}DoAYvdpE>Zb#HF)d6INzmqNOEIq;f~I z3ju93@CgoLOuoo$LPDM){GjD_lMrqZe{cQ%RN-7i+CmphbtAnDfXa+*y7zelP)X0G zfy8)+l@>kcj96LIk5<>C$*q=uLF__iuzI*o~zu`a`J6X`M%p9Tm*s*wC{iH5x(Uy3N>4eamxh}PyF~gJiL0#RwE+@jm zzL!n0&W>ZTVnv`a=74(g`0>$aKa$u;W0$gMC?FI(X#e)x=rlNYu$|_`HV$jB>Q;WL z!FbZ>ay;DWyMI69IE{!m0I6-?sgw4H`%8J)WgcJF6t-^5Ca`%aN=dfk{8#KkXgw(+ zychEKlBaE^>Bcv_XVkQf&p4wP`V^K`LM6wS^8BGMA-aDqLmikU&gW2$46&;VDqoO`icz~DhzV~<0EZm^aA@@20O(@Bmnh7TPFj9 zeIpm}p92R(o}5|A$x&?n?rv@(8Id|9xjHklZ4Y%bRGJeeP>eWjjzm4Wlu4ybTf|t7 zWkP${uv5VJhY$Zadh}T?1TUn~mo6QNja{Jl2Fx-wU_=OMhl*@6(!6UtM%)hyUu6s; zvyMq*{?m_fd6K9>LCuldm<^BX+d+o^aw7@U4y}y_ZM9!D4r!FQN7a-4mh}=Gkx*2v^d7xHIkAJ#zlW z^TMJPe<3mX3r6(vm>o*2QN$V)ZWyhExaKk0io6Y4x!GqZTZ3l@Fv8d820Afx44?pP zUw|p7tsr3cr;`4d%(2U1P0|2QRA8q@vZ2@wO?xzPYajM8__A^_x&~4)*~EbWk>ZD> z?T+l~DN~Fya(VZB7Ec`l5`Mw$wI5F`i~=&WPvpVGbhR*C-#qLdHlOuV<_SVNEv=L6 zgi+k=t}R-%+Q8^^cggU8mn33FXIl~?NPT?C@H)RhcnJ_w{h!PkoX``h&oZTc2A_XUZUO3n3B9h5e0~nj2ul4@!95HN` z-fyzcbE>wr9l?=7_lq7ZO9H@$d=(Y)8a5$r4TmKUEA#};ZLns}C%SL6!l92gAVSA} zPp&l$BSk$7%#oS>pl~n{>4tDtpyx=vb&G1F`**$giIG_vPuQVMVr>@V?VH_&Gcsy< zs)&Vsw-mYO^yxe7bJNqId*Kf!9eMNiEzz+I(AHwBpF4NYnIGu-5EeB)R?ZuHG;s!r zyRM+-M;p7V4#>vE}jXAsjK@z0CzYzd3~H#(tY-hxBea9Ds0k#^wI&iplg{L zTuu4wMF@be@3P?m*lpNZgqsjWatoJyc zV+UbVCu0%fK^!onP%r`!Q`D)exX3T>r~hoqY5T87XkT_m!d5$%4B)Uc=4i77DG_dZ zX|#p*y4Sx?4W6o_(@r*>qc1Yj`g%vtNh6lsY+t+%eJN0Bdzsm?Wozy25rzE7*hlj@ z$R6SKAS6JOw`^%9?+f${P@95boGVy{{{hU2Pe=8THNbk$Z<8edEu4XnTpFK{zzAo7 znP3!XAtZU!6cp$ZT=3^tMYqHg8NNZ1MZ1+xXp100(-FIqms z+&Rvu6w%(JN9j2^(;63fxvLA88h?2i|N8TJ*C}uu%u^M79a2ZBo6XtremBfY4gbN{ zy-=)=>QC5JExZc8?OK-DGoo&aY{qPvaa=zv_@rF0_dp)}+wNw!Wrue|L5Yw|c2TSh zyKa~f)0{zCPqe{mOcmhrLw?5eX`_F?pkPRkZk`kplca9Ue2Dlh`& z3X`zo;K`*#_42si?o+q^oJm+_vu4e1nw4~p(OT(Sv4PyjBoL@vSsmJ(vR}L9-f}YQOjqnSn(XwvSn2EmKo|`ZX7Q_KlJY4 z=5xX_$=0erY}aM%ET*5`FzfnVFJy2XWgXG;|Dd2Var|5`bchxqiDT{|VmM;nkIoLI z2HG<6SB83*zIw&>LEbwJE{)iwj-zcQB1G#?h`qagT<*W3Mo8jdL7#<=5AJT{m@%C@ zb;45oWo^V0Ch*+sM>gLQ{$z9L@9PFnq~UFQf&j5EUpspHPVLa8%h-GKa@XB{OQqD% z&t4mBi~S?|+_{Y>!WzCjcEkTmy3TH7|CbIM#*hEyuE9o(9Uu{wR#pyr@ry3}DrV8J zZPg=Qxc?()68JG~c8p=|^S_l!_N^=B8ZAFjWZ2*S2)nSdnnCufsj1Rz3@ zO`e2FBm;YHU!iTMiyw@I{)QP9EQwOoyWUab1Y@lFmK9o2q1L(e?2t++g7v;`e*o`B zMC_eJA|xK2`Y@bf)D+C?fC^-N-q~XkSy53je?XN|)R)&Tw&Z&Ew$~P9DLfqQvu~fl z!i7#FKJ1)VSaRd@H9nub)jEW=o11qpZAwM`qg|56&#P~BQ;vh1=CEViZSc%PH?lc8N(Eb`GdaCN95yJPw6-CJyZ1Wh=;1t z{U~!UQfVk5nIj;`6Fjd``~_bOx<@~FB=KvR2NzoKKPc@Q0OHa&U{*)pRs-rY{&AbY zA2_4|RJ?EB-M9f>5+s*l9XOP1Y;2$*IbZ2Q*f}k-!bznd=RCAvuYC3mQx@WJmwSrvcAs~_ex+N7jy~BoW4Mg3(GACMe z*xN~Klx3|QRgdV|GY;hn5|QesHxCe;g`bXNQv}0_qew<2Z+GzE@W@ELBk3m$ zVXi8=PFJjAlya82+#k4T^nQLD-Ry9l zO+Z*A|UA{w2qpu$Mxq$uV>#u_taRa-MU@eleAkKLU9l!gI;jku984DIvW}9<> z`vN1xIRsdiBe|3fK{LYfL+v|bQ|giRIx16+V}AxlN7#};H5O?ORH!n zaf_*oTe@Flre?>EFYM!ip+SWpW!OEW;}K}SUw>|dE**nsoed8(uiQ*9HeN0c*(V1- zb(f&^x%11FCH=|o8NMGw+57s~ozP6P_NrBPe7hvpuFJ;57G27%QltWQI~05S2g*h2 zXh5Dj8vQ4yMPG4-o6cNy05WCBwuY7P>A$&Mn%Wp*&QMEHUxDKzd4a}Dt|9`apBqu7 zJexe*Jsh^%ojrE!DYk7+9ln^;Y9TXV$*JTKNB%iG6o6-lc72WAGu4VKc+?o@wpd5! z21#~|{WEjG`j^f@7R8= zlWQG#&PhnRVFqtUNViyfcsGYu4}AU4ay5$;@mpDL9q$H#w21iNPTleN_yLa5MDYJj zs%OULjXLVzprrfdm#+e*-@AXGiSkC9FW}IHUg(XsTiuxLiR31B6W9&?Fz6V%o|Fb1>cH7tWq_b8@aQ^tYOcD?>wmS5YFOl+WcBnGXd%z;FU)_2CfGv;Z^S(V^0 zSuLL@)ixBx1AGVc?)|gkFsJfDcKyW_TmDO(+a7~UtcMbN_2Q8YY~Rw_zu3N?o3MRO zbg~g6WXPo2gf?!=do)!ETCHS5<;8oU`9}}HtRY58G6~V_w8iQ*w~6W@0~uBSG*L!k z6QT!U)=nHze!;U5=C`D@hQk(d?(qEhJc&{V-{4e*N4~dWq>!SXbP7&-^&PBeRwybN zRyv*YtGon9zSK5uoT@6J0!!~$&Y6=jB>ro_>|@6!?K`*b&EeGL`-y_yRY@dgfnt{V z^$$EIXb8=%E80bb3wOjLw#q#zMHtR$`9TEK!GW1ah*=1Yv0mU9shcRGpYr(l?Bv0t zrR4099kMxBF7ptYw?<3v(+WKA`+pznH}s!HGU2ZqrZ_)y2%WWoEh5j#Z&Gdy)_%>8zrz$FjqYuw6M=P^cH}vusmXQ6*noFs%f4Fl4oC^e;J?+ZVfe8jXGmDQ zii??TJ>kJlvO#IFq=sng*~^S3AKkf&jr+)rG5f9@xm9x8ay0KF^pG=BNUJa_l>cYwzB?iK|=j-S#V|Q6x5$Z?42kAg5&e79rT%w|~rx zbisBS!xzxM;uPuT`$qd|$9l7`&(FAW@R!)0d8I0r|576A{sVz_F+tby@%K*^h<{+< zxT84GwAN?fds@mHYPTLw(4&>RWK(C6UQ4obX%QXy6nnUUYxp(4&(R zEo!8>hPM)|la+f`ToXgb-5;xqq_l@0mW|#ItxaqN741Q}Ek|Eu8$*9z2jObmsNCu3 zbK@Pw16)`iIt+93PMy#Z;2sSFR01rBHrQ%8>@z>u?NR7`%@ZgREzClnB$jO04;JDk zq1>RHnB8qXC==O&^5JR7c}N@uIT_q>8bIH>pUBc-;sr1zP0E=oX2U6CE~KOkBz#67 zWqo?}f@ffE5qEF%g@+uJ%E~U>q;`+deG_cT^`;kMcEZn-Cr?|8GVk)0D>~3!8DN^h zTVK;`Q{&DEp3NZnAcQoKgK9OMnvmZLod-6?5;5%mKV~Df;O>2VGIDbReSF?RsJbAV z#^C&gAWw}*1q`r&aw5}140?_$<$=}|>cqSqJexl)cPwrNB3WdkRPrWM$JZ3^K) z-h20s1~yPp5w3ZQbGkP)#rb1kZ2W46(O=*#;YW(;q~RA8z2_DZ((>YcHBc=RB_Oqc zuHpOuaVYJTwOz(B@=4Xtm0%;<<#FQ@@%a-u%+bi=5`Aj6r7C1YN{Zc8iWL?K2{}9# z3}1qXBAyYcX=iC2^*v)HLuU44J4awXjM+RyZ%8i_ze4K55aCqgp}8|H=#0T?S65ds zJ1;Li2t$V4{v+CXlSYfC@X)>BjAEDC5>qeWArW~3(K)t!pTsZ^pz(xWe(Z{gWGC-?`~*2=OoHQ*E&pb3vx`NE2h=q?b$c5=M1RrM7XCaP!Y(Tf%tB6t`Yl zd};wrss?EfjbYhWUH{ye0uHXpl={$wYGf#pnaf-XPab)OapKi`0xg91`FfEpE}Z?T z_ww_#NCzTie`OK%J`6i~mC#XL?_Bm^47do$bnp!K=;d&zca z^E|0{&z_gE4QjD4WF0r-(^HrqxJHM%7FQIlOlrNW;OA%?gff9{jJ=ZHkLD?&M5tUi z0U5%AxPeen(*Y~pDrFwDOQ9PRuPkXtJnJgvb<)34Pf6YIK;AI())$DYyfapWu*M(Z zr=I?e!q5{97Kp-oH%Q=k1J+<_an2;N08K^oa&%ZkeoHu21@W_I53GW2{4Wh1l(+`G zVtxLVPFuc^c9RW$&6-mr%j26sDp#V;PX2G?F?c8(54>WFHf?HwXAwQ2vX>l26a`st zT_wyUNS5eA!CaE-Ys<2ZU)DS!xj4!eAU5jfgo&ztt)vXG8h3N=JAM$w(W0R{x~WA_ zI6}Gr9w5)*T3|SVEJDg2F^pd83undVyZv3v$S*|(il77MHm4wKux-nhUAuQrv@O~u z`EmI0(*#|yRK<|VY9={{nxFe@oj5WUfG3YIRXIuRYaBeA@j&rAS$sseJvS(UrotI{ zat?I_Z{&_=651=yAGCD5HI6B@vwzK{mS57P|2+G}-{+nZvjUmofoyF-=vR3AK^aj; zqEET~a6;@>`e_!o!z6U4mI$0JQVa-z;b@>U60zPbH-taD6AL>tZJGu-vDlT#S7V?J zPvG|L+qJ6-zh{(UMltvW#YKBNNNk`Gq=;0oc4NBJ6d_5Qvj3y>jXSF6!%$8M1G-)e=*C|y|j8v^xu52e8$vAE|H+B}vvK1q{ zMrAvLm*N*KyJ|XBe!D;aXX#{2C|Bc~DZ~VD*0b36pK?6$qp6@y#bxPU@~|A1er;dsPx zazuN(;kRC~0*x(8I}iPXl!Zb zDW9Vcg*rwiObe)!K$Flo;i95JcbC*xxYjdQr~?O#Q2`Zh2XrDQW{0x1Q@N6)&TpB+ zcLS55f;k!zLa-ef-W1AUHh2q!+d-{n$z#9xJnPb$+D=rAZ5+)%-^Wb}f#ps0yW-y- zs-ykoWo&Wp(xs(SwmV7PgrM*71I7G}+u6f;*;}4kz*D!?l1LdrQ!8ooDnD7|IkZGq z)i1$e9klSuRocCt?z(d1(F2SH#3s!}5tWz65`S#+)8F`G>emXfb9#)iIWPCW_V>Lh z!U<4N+URaXr~pPM@~Tu&_|BS?6J@T4>XGohk6?hz89`~1aO%{XCdgwkbF;tj8DzB- zL&izCdGLU4FAnR;ufKl1(izP`)`KNc+31b2^ey1(gPO^OThv>?W$Y=qeNUXQT)C3- zor1DkQI|$oNUZU{9ydGTRE3!oH18_G%Lm8W9s3wNz0U>`Z6E?q5)zGHRG@k{GQU!= z>L$j9f)fV&{f_>kdm&$(EBU1Ch-Vx1uTd?r0C*CgIB@TV=wv}(qoCW zB!yhmJ(CpYEm(lAYdW=s^fHIU0pq8W$#tQbaThr)!X|heDJ()WOz4o_oZ|o|VDx?| zMMuUpj>3)60%+XCI0qCKsQbcY;rgO;{>;*SUPLtbhoF$eq>05L0#u7eS@Gi7yl)j^ z2jf)~Ds^=$h_#(za|ck@w;O%4$oAQ^8G);xLuvrIl2shTgMlC#b^5BC~Ul? z%PS(D*}q(8XtA6S1HGxh%+V4NTS9Hm9x2L0 z%_r<$R0hBx^S}GC;y^t;A_EZ_kWGh&!%fUloHTLbpGz7!sw;QTGAe6SmMJJ?`51)n z^zus1pXa>c$=&)HUiWfxHgH&n&GoZx!x1Ui`LeR)@yfBtL$IQ}|CCPiP#qtCE`lK* zXiRQoekR0BBdF1P+y%QwM7b>m#23?sSbV4-#;wM0!wRA7;>BK%%>o77#VvS6hy$Tx z6_IrCR31Bayt`e|w_wJUDeK@H%3`0i-F#u_$dQEsrpCs3nVCh&X1D&JV&NW&3J(X5 zX=vb=RKzOvQfs2P1t)#|n0GZ1V4t67w z5v*J0L8d8%BiloiG>%g=dv;Zj8nFiqX+izn@D583X zdVwNg5;Og-O1EyrpRohbIYC;buh{Y1Z|!8D7y!`FQ5>ioXS~m0DneIFZ^6B%HYM8P zx!qOv(Kwg-Gr-4HeAJj5X7I)N369q6Rrq)C)FQZJ{Lh{H_x*S8UOckvM&&2IiIO_^ zDwT{mm%wJ-C20NXIHkua<@Q~COWj=pd3&eiy>0S{g?#LZ6W#Q~I*3M+iVW8W&IGWP z{i(+?ibqYq{Nu6)OlXl^v4ED&3e#w)N7Z14m}R z*}qkOYaVV*MOT<-6_q{6?S7(DRGw8Q8MzRM=A15KNFub5{OhF$-SHyQBi&QMy+ON| zmY~C>XpNW{PSW!2=&3zXoDiht8Nl%Ms|w`ky(k&<6t2wC#MSYgBu;-H%XQx zS>4VNErQlt&^QcAv!$1XPrwU#8U2EhqEzP&TLCexBtQS2RU&>dH-MhYx;FO9m8Ot; zveK~eJ{`LTCT|Iw3Ev>{z{TWb(waye=Ym;%4jTbgIml9@EC#}YoTCjVi#%O0WaP)_0YCfHu1* zWiH=qh1?YpA_7978$wq2GXPki*2eW@{z393UsxfVTpmXcO@)6~P2N~&VWiMY7zXZ}H5VRz+IzwnGz_VgNe8ZmnP zkvx<*T5H85SD6RuGEA0bs&6R=*a#_KUCQYyXc?&52{vY@5l{6wtx=<*FVrH z6Cei)6s;$!AXKoyvx{xxkdLCxys`vEC}m*R9zEW-7}nJjuZ@pSU|`LwB=3g0!m2x$ zfddom4gKB&oE6B1UTBj~4h;UWHG>kH{pUYUTIbUYSFHFWZ3+&ykSjGE`fNB{labWF z>Qbv^XZ#!C<1Qzfa=B_}SRu4(ToVe>kMqG~$T=S3W;3Qc&Ai}p?S6Y^g})!SDHdei zkQ@*LNL&=~V_oZ^Xhy=-VBtvIgy24njh|?e(sGC$>y1SwypKzrrMB zp02l$6rN6d#cWrcqois#$nGg&&>EI&Jpq_-rBfOg%7HRdzayk?!Eq^?OCsJuI9HBae}=sXCrPla?8x>+}@z zxp2;OI;myLieA4y*-NLPm?tQKn@*DAp_y2T(B9D@2|oVL9kg5geoP2F+`dyYIp*{7 z23L$3IA{>nqlQ!Y(cEtfv?u1@_IVqv*Kl||yc&|Zir>nj5pXq~iWyHxogIci5l&%o z>SOe@M(T{$b0#!a<|)J;S{eNS2ux85Ar1J42c@r);C=&pm*=sGvuUD{m%0%`r+$FP z0z!-R%Q9duSxb~B)6M`(ZXs;otWlaS-T6$TT2Rb#f z_oQwNd|nle4<3g}jyz9r3HlxOear)tR15}|hY=!m@GBWElF||T(A-ETVoRDDtj^`A z|GpCG>NP#&Y~tHI7|yYp4S_2FHUT`a8u8A`m3VUs-nmy2d;i$fzkV3`bwfIhd7AG0 zA~DwhB3?fXWC-~q31F0ey~QL_VXxkgT4V^0d@=s0U(A-W(o*oT^0zmxUzf%EWS<^Uwn+Y7Yyg>D^`0VLL{@f|j z{*I(i@wSia9h5-jL=A$73bA@#Dd9BO8OK#V+|1EECv+}k5dgJ#hIoPCf)!Gyu!Yf5 z(f|A$u1`~1u`@0*cc?LGK!qCz0{ig5V1~)%w(+&hG{Pl=9I_~Z9qLJ7Fay<-l7MQ7 zH3hkV$4&db^1(>GOZHBg1;{1DUbqq0yqNgP-d11fRUd2gm9o~5iIfDS3+pYeyC&+J z_8Bu6 zgm4am1kENcY<((5+`$;2U0#_Cxp2MEyetc3oE)c|}{8)Ce8-&T1+<3fqpce?-U za-yJ)gj~r9bh)t^aw9T}2)__L+ToCp z$zhq8W~eX3*Y4c8UQc)W^p~$*joP0|70d7=ByG1muPQZaFF#$S+%f;$#HmfOi;WyN zu0|Z(wPmhDnCq?MeKaMtB1r?2CpK}x3-W{u^;S3Q#CBb}1nk)}5;Zp#9SClxG!?tk zk|oIN$ShegvZa)cg}GzQs}#^UAWWqNAK&ma>}4M=w&fziBRQS`qS zKuC(1M!72UI9ngsEzz}1gI-tG+te%IX~5GFriyR=oS@V~3J8eKVUN*X1NOPk zbbl&#vzQ!BA8ra|BZ^3oO!&T{0+rcEOKGb5m8~9_sch0!1iqTuH5eO@?S7U53d= zU{3z|X9Nn7n#NSu)LYk_r8TYIY8_Kb$cso{;oR(+_5(EvVX(3eEwA`HPM$OgEd$Yq z$x(#D=nz#^B7A}%1y-yEIaNfC4#8?)!s_%3$d1%?v>etr8w3lCuL8CYPHdr@&BvYf)R-!le?=YyY*64ZSz-mjHUAy^>i74hoiFV@hq$g>hu{VXW@0di6Dz>~;4D4~kquP;l} zTV-wS<>A2yb(tb-J||~CkKf3VcQZ4WMP<{aTv%iiXEb{M48=$G>cj*U?IR4A=ma`k zJ6Miv%eHOW5YMq!yWo1?iSj(DvhD}+ZnJNnI#LA#gRUJq zu-78nCsmy>X$TxZQTbKw63Q;b(un2v7{30v^?HtzZN$YCu`IrP)ja=K*mEC~nm%K+b-Vm1xcwXv$7 zeVA%HGYXRCg+Cc4bn6ib}FYma3@AwdkvCZOi>f9SsgXptaH9&`kcI z<1MTJ82b^kFwjRt`I0OIBNboB`P;PO%4qI-OHxKWM^ba1jtxA#Fs5}qo;mwf6&%Q1 zrRnf;0Z&@Yf*g6mH)%0=P8cGN8Gb)^#M}G3&Ykbyxnm21c1Wmo?_`2f^yaNwgZlM*t&(VT7t8_t zfq8eNoU$b{wegyfa;HvWI=asd20%rvEzz$Jq@@fwbZ9Y49PEv>9V%Wu_&|0H`0W{L zd1pY2Ma(HSY6K6-1skbRuPiBk{+y?vlU&9Z{Q#{)Sf&_)k)A%Q><0SsbLY+xZe?b6 z*=#sYtsPDgZzho1?gAU8O#E{~+8aD5*q@ROjSF@(z>qNup4+Q)oMWgX#ueycLP$n{ zx3?|Vgk5W*A|0bC$?VPRT+6?!zW@jf@dm^mw(iF-pBIHEGmV=9qT=6O&ae)dFhSVR z+UI{B@-tb#5=w$X8!VoFI)OM6HS3`I-^HNts>$IHqer~7wt0FYx!@9mZ7Q~C@y0ZW zcqL9|Az>hkfV$UqkK@5Cl&eOHYDI;grQo z4;$y$rlHirp#7=TN@u(YcOxd}z}~&f(F{5ynA_q>f@?u&*INftRuz<=;gZ@9{H05^ z*gPXT?oZV>F+n1+fQAu5MPI*<7Zp5lnrVxMqCotq?hpTzF03~8Hgof5NPS_quk9f5 z2~pSgGBS?|KVUEB@J2}t=|!R=;Q>=4vo^Sf;jrdJ-IaXf!GD1V3P_V(lD-?=Ptfpx z2LzW658!>mlWy3MFg5rl6iBcBj2An7dN@IwQ0O927&DH`*L9mwHH{rxMR;#{XroiY z$fC&+A;0sn`t4g@0r^`Vlf#g47neE=6f9n9ea-LnBTZh7VA`44sRddBWc-8T5C;MP zr9*;dkCnB4)4bnN$JR2Wohj->Bkyi5#}!MB^zORWJ#%GdgAZRhV8B%6zwt+Q@1otf z-gh|tSQZG-4W-PS3A%0eSgLL*E#6*p8QmLq4=pFvpt}TMfF9e|8oe3#V~wqpVG-o+ zB%d~Kt#DpVG-U(_>v&V=Q1xpJAO53b08SGmp3s8eE%(`D2-BXC=EE0%M#z}f}i2Lb@Z!}J0Qqj?dK+nbns+Y zBz_GcN;oIx%<(aa)SEFQ9M_cLd18XFEW#u*lDyLyGkPd1BSG}swhb*flOI?e^FrrB4pE$x$CLx# z0B_Re-OI{qC9RoI_-fo(-4MG)iyo3BAK*BQRcf(fMJy9$s9?#D3(Ew}rGKPb$9B`j zZl<^lsE8Tx<*$88{+xXNPi*|ZUe={8l$39uxh+U?j;jd(>IDhDSZt3twMq%A0IzSq{g#8LNoa1R za=!?M6#v_+z=w59GEr50czEgv1lpLDB6^KKl1@mY$=|3?WzmvlLHVWLy*zyaQEy|D zqagt*{i~kf@nxPCr$yc?hgQ;YKa>@P+qRVET2)-X?%{Z8eWN#?)zoMGu+fJX1P)h0;4Q@PaW$&}caIwtILm z5wUKw5Eim)v#m!~E^O3@ReqS8^^c)*N9FYei#f}u=37`b26^OVXLlhvBW`SdPu?q! ztagO)JZc{5y)0D~`Biw>m!z{b$ROZHAm|7c@+oL5IM7~BzdpOT)%-TFt(azlyozBG zeTbk(iAClI0V|i+KlSQjVr;w`<}H86ofRX60JcYuOpyf*VufA?%T9b=>6tSl@gz2a zQu@p1ERs5#+deOS^xRtcVIZXRf#l}JowN_~47 ztvgWa&dVS!-|yJwnc|XOV5GkStY>}j5z?O6SLTSf`U}tP?a<)bdnt^-jrcv zq9?=GGhguyr|l5q__^GvyFaAuwvfx?w`}1OYC1B1BRH$%oW`%rZ=5`F;`MXqu`}Zn zojv;wO%c#oZUosmu|}|=ecWv1GdRk7+NvL*eN#U`C|9Zv~EJ&>i6%0lN+y&|LfCF6W>e z`lo*6DJn9Ahae;?*~nwkkvP&jHOF$SXwg4%=yFS(^DDlWO-EA*6M$|d-}>jBWAFd@ zr%lS>m>o`ylYr*;aBWPGD5ymUQqbT`zcFJfBN9s2gLvb_s=^`4og!svqIa*&7iJn5 zyokE|%nC^;n(==9?xRkjL9>ai}zLIh?}?b#+*PYGiFr>K-Wi+js1^ z-Z8)$H`MCY467>l>GJ;t%2HO@yMY&YeZ&t}t&tJ=;E#Z_!RJKEOr0IG@))_7wg|El zd3A-yvo?nZ?x=Ne)>?jN>!)I=SI?eL=x{_;a&1DjPr=5nt|w8fH_T}GVo#~eZwgdc zt)MhudrYCjqQ{7Ic^@Wse&X5Vm^nsI{PerDJm6Af`S?5z=*B=i{Jgy*`Mg3%ND^T1 zY~U={4VdjT!)p3!liw(&$HIFmlV%CA3K#cH^R^`Ui?5iUZL?Hz@}42DGD4Bpa7qjqaGdgk*~{!&!Lvt^*zD+tW22>%q6_tfpg0)h z<@Q=>cg)*DqX^rEo3RcBz(3H(`apnxu-5A1*YcrOe4O%Le$(KNWxjd<+b z*-?g^1a^*g28bNqigL)j-4XJLMx9m-W3TUSbyX<&lwU0;Y4|FL$({gK#UkyBWP6 zyW1WySP|A4l@2C?vAv)huMl&K+dl4RG%GGxoriQKl_M~Lyhz`5p&5rcSqwD;UE zyEaB8X`MS^^AS^ffAQeZ$xE8rTDIWi;nlfo*9Y0zR0l--Am5#Igt36O)5bX>2ZO*z zw$$4VLPG?$=;%11cqGpL*z8b9yJIu^jpK6j!q7tiI}{a>Ih1Rx(Cr4{AJE|Turn=l zctzKg9|K{;MkIhy3O&pFC&z<|9X;Az%XvXk&b@mMaZy}!<_$U>V`e+&C&>Esp2SG- z?pi7-ajZRgspYbIzADb3gY`8b&b8!@d1{XxJopuxG;>(-S$Q8t#DyllpN7T;0&qo( z&EO&tpz~AEiS!kNI&ODf9g~ALA3&OPhl*Cc{->no>+cUW1;jR$JmZ`r3}elh?vaV* zQ%MN4w}0mw$+HcNL2^KR@v;3MO7k`lci*OU>p_NRPsn9f<>Y(SJh&nA00Dc(n`R@1 z8Rzt*94aNAGP$@v!OII^3VeN|iTP#XHvVElP55phhfPYVd!J>RoO|)#5VU_KI+Isw z))h{A#T(AKUVMJ*Tv*C8x59t@TNx@E{g zv_T$&AJo-fXpV&dkBP~$9PPDZ2PHaYw_&Y1Yd3OMe_CX(Gn&qpiakVUw~<~CC52E# zBJtfIbrV&tu~kw<9)b;4!6Tdj#8WZZBP)O16Hg?-EDEF#AV$*}9J!&+A7vc7o?Sv7 zY8}N{Byjork6Cte&zp+(DyBs0045+Q;Dy2(C9r>;e|!4 z$8s|$FUPfOs|KNC5W^QS>NM2ft)-XmQGc(_84Y9036YRj8qmFKS9QuI;BwJ{BqwVV zL6(2FuidR(Ymz#1@oYAe9`m8z= zAMw?BrRktQ0zw#kFW>)$_NZ|KKYdlD%WD@xVK*hKyi1!BQ(vdTEV_GX@h@(W=}mL# zLN|<*m`kary~ZzvgfZv6TyOGzoV-vzEDR?S;r_tvH&gqVK1!;i$jo`Qx7$r%JP2xg z@JyKpe28_<*;jN`e%nzm%CW1PAN85zliR$0!0DVS4%^`eu(O7jLa|Ppucj430edA|6FA@WuKj z9?Z)1(9w0986FxR|G<3ch!GhfIU7))bU5pueDTKo*vMom^t83;h5+56HPASNX}v+B zu=D$YZ{yZx8s2Ip#M)qVSGA2%a#f5^+KqN>O)1C*cB>x1(!7go21!fA@Cj4q2}}(} z4fZ!=TGWDLyl(SSWU=#^S;ABnH!+tG{|?1#WJ=M4I6HI12Mlj_aY>ReZ-OasWc_Gp zU`jioU-E_26NH76zMGveG++k}3{0fa!8^dwwrP`s^fHzllxsCkvrf}3dU!CZdZ63M zoL5|2q(BhwfIIL^9I&mMu{cDeGd;klQS%hnkO9J96B(6JT-cprN}d@>-C3kGyIhQW zLqw@DIry>l;=fmG!=I#0u^_e6;EYv_Ux>@i`&2Z1Jn?KmDLv~yq*F4F65H-7StX&g z;}5SLPf9X@oi{&N`?ynbY)J&+Gl^*9#G&Oxwvgy_*!=G7oIoZIu28Yi}OVbH4w5XPlw26=Nq&WnYt&Bpo4SiA0u?H3^l{ zs)bW%gvOF2ib=MVHSLQDA%rApLn@UPY14W?-Ze7^^SiElx$f^DXF4-U-_Q5Gyk5`O zbCE)Ha@5C%OOnG1y-rbeJ>LtYIOi~!C?iLPxDYgJHHHPR36WrSi8w6@roHgr**FzfqN&~}UH*>{ zOXpiu@6O||~XTt3iSeaegS`#Mc_s~Kb^kuJo;dd)T zqT+wl*-kwF%oOjq_a(r0ocaVVc&XvKr)lz^!E;0?E`%IDb5LqXX_#X2Nwy{*n1?q| zv>+$o%>YRqhRwcy{d)QyA7htD*cTLm!+Y+7Z)tPVams=0{QNu|tks?CZ{i<3ckYqF zMG%1Zc9VJd6=wikv$^LrOoK?n+F)zD{{IcYzL0re{#w&s&4F58C(3>EY3i`ME z@c+3av`-=L4z<}fuzZer%xu`{g)hA=vQaVR)=fnlxAq$IS++rE5zYng7OWe4dJL{% zHq^f7Z9yKokugO{i6k-*(R*2@jj$9#FY=zrO3IOx^U1S{r0%U9)0?RU04tAy?g4uX zh&n_mokXz$J)^sp6N64#(p@b9F?U??a0`ly%PAa&{O_w*y3ao@O7UMS0(%V_8Y^tiYti+m980GHI|s{*QUyQcJFpDz+Osl#U@X_lxDVD znvnz-C7_K>bT$)ZDA?xVJBBh6qni%9eqHbISuQ_{Jo>7Z2?zUGMb2s`kzlvxMg}sa zjvYJB)zJYcpgep3iH??jALCLE`unoI@=96hlz{xui_+*wZ-7VNy!oQ_>V2rdW37Dj zCpW0vpWguTcxCPU=>L0W&~9n=3Ak@7u=iwf7y|WNIL0q@aow2Yd=*>KQrTO-it+?a3@M@}|_nyKQE_J92B8hc_9^decc?Mk%Vic4T ztuu7R=cMJai=H4y%ZAwu)d$oXEe|N40M8G@*RESfdb3NUG=@|djd->E)=r{M8|z9; zE)?eIfzYv!fc@W({R}&p$<4TN<&4}oBX%GSb?%M7#Q&DIB%~4Vec={!w&xfXz~x|a z2+l734wUzQBMdNaC)=kF+CmbJ2pF7kQyK1Q0+HQmHVp?Oib*ly}IeKt-36_=>SXwlZ?1rOMLv8u_KmA8a)S~FxPG@5{M=Uh1sxm}f3@a86=QQUbu>^?;gvWMoU{5XN zu?)TTCXR3R>izYjl896N4rFTmuMyWUXb{%3>CqhdE+>Ts1?7{s4r)>2_|7NCtO!Bj z+fyscDtQbjL`3DkTUkvU4SFLbV;!FrkNCk!zc|6@|qO>9xQ)l}QQk=Wu0%qH^@; zd(FO}I=rN%pZ>$l_f3a05jlUcS-*Mz5>C1dn_1TRCBS|u5i3HvNlNzJct-2YZ#$wp z%f)0qg?%*VaGY%}0V_iMGudY3*H{Wblc}Z8aBWfoD_Qt3doK@yBXR=XER%VgkeNx>7ai7KAC?T zpZTW#_itCZMB`cE*(^HZ=zSIzC+p*jo`vQGR^$MTL}4w`s5S_2k95rk6E8g^7jMZD zqd?2n_r9}a1Ev66$ihnyp`Gw4$`@!Ry#ggRSL-eF?8#3aF??;Yvq$Ceza)0s_rIMC zqyW+5vB_s9q7T*=fB4YXI`GqUcWEvF_BUdQqr+q|Vu0Y0R#MFh;B|N~=sWoWA|I1d z844Yj1KJ8#qHHZEWtrPS)A80E|IG)Le)J!=ZG=B7ox-a+^j+qF^UW5HH{0&{RY6g4 z{d6z>sj~d|k-VVjtbrDPjT;yJHEtZ<7Vq@N5i7JmC6^={!tZ=vyGGzJbNt^#R`52y zWgAs02kfro;e|07ao9U6@EKR_n(f=UWgc$&e{#{vM~;YbozpCrllsFCKfsH{60B%D zI-nqFu3%oP;-c3-IE<&gh~(uU0187O1%#)hBp%S3uoc{mI(Kt}z8Sx&c5?CSC{f{h zKR)Q|BF$W+oUja@l~i+#a}Ov-L<}8 zETnZvzXN$E&XuG~k^_bg)t3Bc(Q(g7lD=Qv_9NWnlZffy&ZP9Cs(fGHlnR$DUr1Aj z9vMM8Bg{G44;l#oV=6Z+!{%@T!UPu|(|%x@Z$_16#;@vhS2src>*0(t%H5vZlS}5( zGt-#P6^{-{H87>Z>TUO)Jr5Py^qD!Qk{PvPj`cpb1DS|lqXAYc$76nF71`?5LK%7P z+{1B4{w89@{!PTnTKMR1X0zjg*5Z2S0N)4etwaRnazTPOi45Pt06NXgdsr4zFA{G> zg|YlNW>qb(qH7~AB*%PeN$1=@KJ7^tg^demZ(HI%yqnzc*HgDoTr@$o&t`+*>TTg) zEJK!Tmfae@a%wj+1lJwiJRn$j#+iM+Fo;g#xpQ1vq_f7-zl@k>eKR4uA=URXM zaqt+=%juu5c%@gz<)k-6t#-?ASDpf8qKO$I*ng7lkpe0ihRH=4ht@-ON;EI^=&8l& z%cKb5C+1_3hW=t;;PLCP+x`U^nKqZ1dsIY(q#T+spp~;1A)N?)kIo$Gc2vQo_a{*C zqSgZ6pm3k2naTjvPh|{#ky})x8o#`{D&nie`2OwMZyJ%t`*rGLB@$eP`|{|~V!b9O zGk_mJHma$?*U;+>2Zt|AzKskG8BBa8G=xyFV))@;9IXe=>l~L8Jl1 zPa(~ZxJ9)Ne9*OcHqhq9=(4D}fzQNMiQT@3mzS#FV>Ew!ZMtcb&=@l1;s+a%q{JWN zKEp9wR+f}reim>k21}Y-e7^7}>gwu1m}wZ22JP4a&`5w#W5NVj1i9?$_%Dww_LxlQ z+vWK)3itA;lCd!QC}Wr=0A6k(gOK+PUlM8vBeJ#B&fA9>JZF-B=+L4iOZeYU1W<`E zSju^~PJX0@NvbMVHciqQGh#${ErGqV!QG-BsjsDNV(@{%Dpp^BeQbr@($wGlx%SbI z04P>PSjuT=7}b9u!bBu0zPgqOLkM@R%a`Y!Pn|hq2APNt)+tzc*lPz~>gPm<;a)0HY_B9oSO?Yauz zXnHKX+iFn_mcuE{&TgWB=eFcbcc6yfTb7xT!5ozGZ!)DbV}4j3>FHQ`Enm3MlFyn! zvmloP7>LD0v(NbcWEYuWv$v1$anP0fFG?x!?g<`jlS^L*ujb; zsDplqm=t)2h_Mj58;-?kcbT8>Ut9pm zLnt=-_O*wdcd>o*)4|Ve4^C0Y9o)K{5-w0~W9XhtYNLgPE2BIvkiGZt;e)lBr|Gg) zlMqP?P||~sl^-G6j+r-k3MEUR>ize%v)oH8n@{;Z#&IN`U5RgYWQvNJo)9B0F)+|X z54md9Dmv0YBbopHF^Tx?>~J2VmIvS`xXinEYd0-)Jk{uZZ1xTAKiq^s$b_=ST*;Th z!O7VfJJYxC-qGyyR2<$UwA+;S^o?MBGJL>5m+=7^m<OjJ-- z)|Z6%NkrZ#cX(a=%?!Eb9ve+3<5`vb6JPz*t()-0px_PFAGuqapBty=^M&J@nK;M2 z+#THcj_TyYf8CRlz}+zG30!hUqVCdQM+kz!8aWWS^?~Ys|6MCM?O@}gNl=c~uKm4r zFbvmMT8nrdE7LU!Svw8K%C1@Z(AwL|$_o31RuL^{HhIZFmY5I51F}3%G7<^^!ccWkhVK#k-)||Qg3G6D8X47$kGUqrH%6#KPtys*C z=fx?;4qUIaoR1pYU9xc=tT$Nk?l^9G6f5yYb$W3AzVqrv38gH z_h&#~P+WW|y@arrzCZtb#Mk%BqX{Vyob20@WD?8NuP%wgrz>HEg+)2TSw;gUlr3mI zF*#;>2u07w1cv&oNppc>s+`E2M+Z<;l);qpLx;GDeu4d>ZWhy_#&f(2{W{hLg@uJJ z&^n^^+99#|4Y~BJX0Dqxod>+_aL1$8dOnD1e0}k#qDUet-0yS1iiE+jK7{V98hXSi z#{Lt-EdUx!-7ca!9yzjy)+9BxIk#7Y;03zCk==}pnPUyiroHAIcj?5T{k|3I|GDxj z6n=BvAt~{uu#8#|P~5EpdIW(3jI91@Z|vNKaW^TS&pG}u&<|=2NnO?Snq!LD0M!Ma zQt-=aQB{#$1&+^v2je78ysXb5;3Y8B#9*CU8#*>4BB49tybZ1H32PfOPpX#XFq#-l zX`NYyPKzm)I5b&`!ahZ(bDR4|1k4y5Oki-lPDm&a9--ExcUZMY!M-*CWj z$aa{C4|yDyB9~Gt8Ta|~cV%T$F-C#=yJ!(La)%DgO4{Nq7*mr&hKFXC=!W}qzItST zf2rB+n-z%JBg-Pfj?4{D)|1-Jp_xPpF{4MJnp{g%F0gU!1C(UX+@;f zhS{_43oUKPN+?ieZ{MDIX1Yg1&^Y~_YcjZL?k6QdA)FxV+IWpv_XwY=DO*%#y*h0# zcZZp^yEJVbZ5ZP>Zh4M)1w+8@b*fulDN>Q*u0(N$C~U3i8qP6=tc3fudB^eIK*v9O z{(KF`st?}g&^YYD?bv6CZsQ?k2^%$UE_wvA0qAxk%d zKqe0p_`cAYx~XTrZZXqVB-dYeEl-xD|a!^X>DVS*}j z^IJhZpNYA?Qgrsz*ApcoZc`;A7pvU6tReML<6KKR5SWqM;nb~7Fp@!@BccHq`)f!3 zB}J<9eYY{4pD{iAX|6(cW$ie3>7+q(W6OM{22F{85W%`fYfX{Zr8s}FdF@!r863qetaPZ8p6H zHO$L!zx3}oDI_J$B6T&t2tl-aPd&*26KM6*tA=^9(1*}vs*d3H{OAp=W|nG z-1gq;%hem~4S?snck>$t_nWDi)zWv{^oF-_ce0)u$5=XldLYr*rEya3YzkGbgzIr} zE+6!fK#;IvY6>u~Y1&m&hK?IhjY!=urhO`p+zXG8aCuN?@r%nb^D5mf%`LdYXijvp z`P(_7ZuerB)`LY5f7s=nx^`tv^wa`JA~xx-(&jXan ziMTT@JLlBNlcCq|HZJL4oF6wGC5M_nARXf+_9%y340t$$9f$Wf73{2JPi%d!GdS^9 z`M@(>9-O{dl7j`@nT5mSs`q4PWp&6YOtZGJk#X3(TkDg?5kAJ%(y(ArdXa3uEB6oH zo(wjNs}*OECvg6Jc`I9%{|aLWg59(mi7xFi0f21hW99 zahFDWAaL$Sk9ulB5P~sOpG@Tpkij`$jx5C>G^?Ih%}jSw;%ZYPq#Ta!(J zdz~r3kPXg?RuG??&+G|`{6mzwg6jj#Ah z$Wl1#IWz=jzg{VJl_rxR8fP>;8`iHE)EV*C;ag(91{y33hCqLC#}(n8|3hOXxsB5Z zpop3d05Bpd%F)4rQ<2C&xFo>JzVoOh@RU4`-D_IfL}3B&#~*Np@EYgyK5`^5m00Cs zksY#l@m7`0(}TGenN}X0!cC@`(^2ZLXZ`0t>wXFZcqDR;iVW|bDKxBdGw3q72Pd06 zI{s|z*Pp87sRgw}Xqev&t~)~#p|F|Me7uF9lu&I2?Un13#o?_J25plPLC*d5Y7+lk z@bvW7*#Mso>RKVcEZb9)gkLCRbSrKqd(UM9Mj?$cmr z;au?K(Icl1XZD8bFM*=T4UX=Mj?i4OFZ`|-X4PC{?C4*4XrQ=QLOa^qe`GpBQ;X^v zyNA1{yRaoV$9@yj#Q7e(8t)vY28&!^($3PXXec7urtNsG*yS{*n>w}tp2 z*4+tzWCnj70wD@xNcHa0(~r!~RI4<+;??=P$7)FzIz{45JmWMrAA618OyDGE&przk zdj79p5pVI8BKHnJS?&(^WYE~p|ERCK87fs?7Mq-5E1klxo}Mr^=77b~3ZoSTA!%ie z64AmBu!?kgbqU%5?iXzO@5}NjaD0~rPn46JCURU!jzoYdP~M<01=0fx%ErGezMJn$^Xs30BlDYh&_Y{|EIc@vZ$ zBz!Zp5$|_!VoRtZvELvOQw2SCw>0GZLg7OCI{)kEA->k^$S48q;kh+Z#;OXoU9M|O z6V!@^S}Gb^b~KZ_=4$(U6F`nXC|2!Nq~lbh#%=SO!6|9@V{jmZG8FLGGhW;gt^8qG zXqp*>FKKy1kzrv=`U~r9lmQs*Qg=^nl0^jw9dAI5DR-iTMqn$Z2lVx*Fh}o;MGBO;9ToplmeP48ReKoi}4Pr%mHLxL!rs7u4qZk1VsZD8_ zez|EWTakMvck5RAC$#g@@8FoAPtO7=<#PxscS8Qtt;q|ct`RODR`VUVS4S*hX8YC4 zWt*UHNQ);Qh5f-u1%>I7<2iH~Ip`Z0c-b!c>U+hP30=n_k=E2~VZ?-%4xQpbs3 z_3hpJmSeRUo*NWS$!1|XMlT@NLdDtpq}zOgs?VXQK|_eu8JEMzp8GJ*p%^8BB$@&f zpsnW9Ctp;M_#45@;&5S351zHRK;XZdHWk5*fk7lbY6|QBxs(?K*Vj|*aE;}D1i%)T zmIoa?CW9igB&`^<%MHl~6xjUeMm?H+&%RWDR#*MoT2wUW9 z`hT-Q>+%;Kv~4G`Gr*ne$i6Hq^0~!E{5Mz{kfcRiK>yOH?;iNh0W0Y!=^3!RTN-Hy zA)Y1VE{($ZJ}G=PH5hKOoite>ID-G&qX*_{bXWGy0bul$rGi$yuZeSStR;3NHW=iZ}#vn8tXxtsJ_b}ta*alm`Miy~JH zLJKu74QRxc47N3*m#TXMEZ9B7yVEM*a?|DVwBR&8{>&{Z9I)nM zm|T}Kw`s6|y0Wnsnm3eC3<&G@_zh$>OzPsd-V{n_?vZDvS#bNXNC!lKqvC^0#sS#m z3_NtNq>nRu~6#-eSi1hGaCL3|1W0IrI&vCTw^^^ca259485r zDi#SvCy{y$P{n8$0}hDf%I```$ISG{JNpg~9!k@Dfo z1-3eGD8(L+K$pcu_yLL-9JxFAZ~t(b0b}RRY$JRlj@D!axQj#qT4U;W z@DLS9OPO6fx$q5C(%RP)|N729|M_O)8{rjz1H;|5pDHU4YctE~(qTGAfmqDxU34l6 z@}WsMC{qGaR8Vktac4GcVJmWfC!D0;=5hd>Wc2vV%oZzA&WKH$H(OWz4t@dpUqgg3 z_==&CQPAx+GDG^IV$GJ%n!-epq&~XAP3y5qq2Xhv+1$KiMEv^ISp$wU6+@47AIHgv zi2M1KaJJ=UpdwQc;lLCxOM{oxkJ&)6M#;8mnm-Y8J08ZY~p1uJA0mOJ*O?HB?L{HwTt7Hm<@V|4nZaLT1?F|kN_VF>m z9cRILgptf2j;u()pPOHR^q>PW>bI_56(cZi$+g$$X&Aoq0$+XcLZ8!W_#7@Ae99Gc zIb(@G2l;4~rZec%)4)ldGJCyJbxjR8x*!tLSaXX4-UHE1hw{KN^iRq|g^UpX`~vvg z=jWdT(@SI&7=rX>OBGnLqV-vDW43<+i@3ry7I}j0(=E z?Up{+`*SxiY6YJ{AYl}PmUp<)o~>;@G08DQYA&r!&wb^-=(x*^z@(YBvLAJVtPpYm z8|+(G%uM4HD+(oq@R2p#^yTz%;r0hx9ix+ZfJeAiamOK$T!@} z8Y$>`X{O551Ys+9=vx*0A{#@xs__wdCkkQuv*_p@uPj7e``_38ovpYp>M{+Mm|F)X z-!U7Kdw++%@cn_wsi~hioMlT#(gJ;X#m-_L01>)X{&H~aXPg(H7)XwXB#$7yYqahA zzBGL>DdlFs3&Mw7TI-@d!veeQ+mWXmZazhSC9oGY?JMa3f4uA6T5m}*#{|W9o{+qM z{(L|?k24scURn#jbzPmL93D8#k+;{hA*NgZLQL@rlKumD%k=Or2fF$tBhwPXU+A}< zne+Xpd^zW5-a{*k-TFLu17R_c1|O`awU(LuftG^T`}Z$izSRD1kg`H#%bCxfFLP|V zarhv$jawqJQnS{KU)d0E5cSD*nRUX*ZccLU3v)hYjlte4J}J74p8L?P^)V zS$!O#a&)i_O*ac;;j9!WCfc^oRKff~{tZ(?IG5Z+eo7m3SY6CurTh>wzA4o#+wjlxXM<9&Z!(x!ken2dxufirL*8AL)Y`4%r5Y6@Hav0yj-l#y|qd)?ei6%rSCmh>%GUUP=1Zh{7*DWvK@yzyE0cZWnvI- zADr z>NUijapyKWy8z`)hk^7jT)3LCrM(+IkQ|IOqtstGqo9P|lWqEbu$Cm6A<}1_J(K%U zut%_M^c*d;g-f#N9`Y2x>d@R~n-67)ltv5G+_0e=;o&h&ZJ9=Nq#h{>k z&v9`Ptx<$@Pgl+*H{N#$9TAeT1?Qk^D?;Gn20k;~@Z^x1)heGYJ>a|P>Gi-_!u=J` zl$M@CiTe>TlC(S?usB7D_zdx~%L7iP3PJKjs0=bpbq_1?xm(q z-~zyJ_w?!2uXbN=w`V@8KJpYQg;Wo34ct#V4Y=u3b<)Qt{lyDq(@01IEHkpm?CgB5 z|0D;KCknj{qTb*%WNbx}w$|2u2yPgU3Dy!YGe^jp6!k5Kcdem7Ut=AqdXoIx&UM1`0_ytj(PE9NPdAzWin*N|G*{Hc6weOnR|`*#{gx7#`3UdLg@ z&AvMh)>KAp^L1=!sa%v%y!?>eJujKk6@Pvw|9G?KSyq4Ooney@S0y%wyt1f0Em;okzXFEzWpoiJ@T(ZTA_~r>|bwSABTK z&9ljqdx*+n&6T^R%0d+j^vQtgS`3Z~_YWy_aFc_Ztf4_?VFPPL%L8Yn!OSd!^tw(i z_pa=sWQBHg=&1#&SN)vk&p#mjJ4OHS;iO9aBnRo0kvO~O%9UCWc2d4BU1G6NIXv%p z6E9$T0g;r0~fAdeQF*Kq|!-F z#Uf|)#5JT~YqKzVS~4qz@+f@5++`<`qjqdyZ-`OW4dw$J6Da!ww zeNtoi--XIo+TwDH7(eimY0%v%E*-Yme)=QMy4^ZMy?Z;nY{&ffTP@c?wk31ynx|(n z<&AKl#jZjFN+k!WFd-6S%vEObQ=gvBppE7XWD(*wzKJmfrXSU$4AoH;|0L({SbPx+ zco@D2C&$nmNgnd|pQ>1gDftctv>ceia0peM`KzlqgP8FnSi!=l^z_R`RIT_KMkBo% z6P|S)H!O0tZe)BcD~sdnHu67W<{UIT6kq(Yix(~|yr@rKKsF3ND?7>t;6Bl|6~`2a zrp#w56`ZDJfeZGoN`@-mPgd6AMh2NIxOHOhI>wza$OE39ol$Bq+~Cv{ohWa_`_Cf% z79Qt(vd&K(aAez4(C_`qR0!Jy!gc*9EDwjen}X-r+D^54Kbz{9vlGS{+nEF>9BY`D zQJ^8a;A^llCJRiSsS~Rmof!_H!ob*^5*S%0|B}Hg_KWZCBkB)bI2;u8E&KRF-?Wu~ zaRKu4mn>b1u|CS%S@&Hre_{%{TZ^%{p}xK{wHKB(ax?y_&)FiVqfq%$eo1xe6h+Q> zzEz|+&z<0M{>7nHy@{Baj}vr=s)5G22^zql{ZaMSRJn#=1-ZOW?94-qkZfolsRoV~EKzn%F#jOLPuhG3be=AVlS-yvY)3Uv3 z(akCT&c}Lxu5-AWaW{8rQ?Xk|^O|Ruw4=Xb`bLZgmV%lwj<86)tw6}iMf)QuM;Qq; z$U2$)u}2a!+ai`BPo0|xt!)?|7KJ}_e@Lq2@F76>fP%x4iM6nVV5|x!rCgAo!Yu-# zqZ_b6XC+|UScxZRx9o5<0nh~?Rb!_K4?v(%S5k1iJAL{MNE4hC;X1)3E3{`cPiVWi zk6O{fNd9)Lk@Fi2lfej(@$oxRiy}uQD}1*!N9gy|liku@Q!2%fF~Fg~7c}5ZA$;+Q zr&HYapM05;VgbS4?btm3DH*F32M->M+~UD_)36nN#;iD-W>)(#W1Vt;5##!L%Pn>i z>VGwLb*z$*y3Y&JgS3Geknx#?5s{HNhv6SYtN^>{K7A~h$G2=0=9CKWG32YQO~HNZ zd@6s~6)lM%EoVRwe2gD)cQG>|ugddo54^YF=&&wZ-OSO|a;NZ#FfR%%%4@6dDpKE; zm94_e3^YF{rx}AW-dwi>pQ@^y8b2jnX?Ur*@bw~6$IPQkRXp!jIv<8VMV|>%CHB%c z3{jUwtu@fj^!N)(wKZP0y%KCvw-&iJEljId%bOJ~+&uq$MU01eK$2-EIdCURUkc-( z+pwSZU!8FRkIubmX2gg{6H-BSOLD`Tl9K3kN!^&DAP`1sh|R$4;5{7zFug}b3`>D! zMOS&pxVh2?6%Kw_y2lme*f<~JC^xvfv^;Q1L3AtUu6L1zR{r6`GFZ#>jcxKjb}8YsE#O2pLXu}LQHtS1_&!qQS?@N5uQPAI}&U^$}vo;4D%BX$+g zfQ52@vUoedTa*iPHb(qia+W9h6J)iOHkYbyW|DkM7pz z?Ron$wVcA91R8yXMrKK{f_VLZC#1ZXXQ-q+Y4qqv6cAU^EwUnD<_^Vf3Kw;X_jtU{ z_GBBFZ5Vs#gtvMdv@T-C0H<>zwgnn8os>dU5}~|u`ErM#8>C3$+^K<{w@4@bFmYIV zdh+w}_n9jd;M)9!33rR2Wg5rB=V`HE113C5^jB3>tRMuU|Iv-V9ZFrLaWOG&#+ij( zPU_(}cEE(e<#WyXLyu5?5)Xr4BU5~Z*iFB{jqdKsEC<0A_v?ILB?Mb>7cQ8-Z`2ZS z0LqOZJ+NJOX$UIRNgP8aHy-3$fq~3QayX!!nwx8JZ5hib+Z_8D*{a)L^;Umw3hdbG z-scYbL89-Hy>aGY8Kr?nKU$uu&iuz4IQzg}XyR+OSz9--<$I4_W*Kt+ z)y++d5q99(M7w}z5@y$cARON<)mL1(U}I`tZ#GyVJeV*5g_H99`E{`QQAWu;Xcn$3 zM-37!{@z*pQ1HTvUm5EdMy?`o2R3B8rK$h5@GjlQxh|z)fy%n|^yGQ9@Ym2uw)dHx z-I$q~S!z(b;}<|g*cjS@+o%~q<^gFmu|@z8pb^261YAb+$~W*J%g%O2+D3tiBb><% z=aSwkex-C#^x17}Z5j+3HUvt<%L`W8mar9wwz=p5Z~3)F9uB7hy);E=u-gCh$-LPs zA|mQ8s#`so^m>SdriVh|H~LkByBQh6$&&Gt&?)D(G~3C!3&P8KgMG4-O2}b?K*T4u zN%@4hbkN*YkUxnZHJBwpDn@C2HMh`9aGWth2Md=3)85b6P8^Cc;`Kk42m8fyZCtT>) zFzrigIwa;w!p+I@tri9x(hU6`AY>Bm`5Z7@4#eo@IF^J!NGssRKem)=pSda%|20Qo zR=im$GI}Vi3{D8?-E&o|+>AeQii)=*=iD_cxpe4&lhd|RRqVYswlY*8sK(pbwCH{f zPXNU;t7lqdM~p^QH+TtFZnrI+!@uTku=x_k{mb>kj}n?T)jp2`jee+byAb_i0;}Qg zSHgkYoW?Y=)N-%_^*k&7Y%3&*$`x#xyBpW9=P6BUj-qD1k#s;y-~=zRBQ#Jv&T+63OW5|X6f^flqA%Gd*^@K z)X@96Z+4(JgvLZH75VFDkHa){yGFFV0R|nP0z;D>Pj6Q$XV)2Qh<;4623v6eIy8d}0n-S9|W7sc~7HBZy z0=B|;gL(3SNmiZY0F8hfT4_2CXzrxfl09JXkjwbW!r^qcq^qC{dUyPk@+Lj1Qp|Nk z7^@P&PGI{~YL2Ns$Bs>YF02RCfp@;V^BlM56rPeNF!Z6Z_RdMD%7&>1pULt~Vwz=7 z)ZNs3p$6j>1{xbSbUpsK;N;1Z>^w{D|N9Ij18yO%%% z;QpkDvZlhv=xJcTeiUC<(hvUq;kJEIw_7Ox8efEMuRdt|lj_KEs@^YWI$V3K{CcOsII=gn~bvW zy!H)u=b~eSO5TcqZ(7}_`jFB5iX~<0MBpD_H2XzXog{hmMO~72Jkc)Hi3f z23&#}Q0_trgYOSUL($m3|45_NU{X+E&;artZ=PkQ!i)qmyTGu`W<7y&3XqH0%2$*l zbY`>eTd4R^lcM}$eH|aajvDdoWROG7r63RwBjoyUg*)wjhp_^OH+%(dD%MZ?+-~1r z9fn;2=M!{KMTWcHoEx!d%)ZnV-^+e2@2-vdG3!WAr;II+$C}rT53XMtHGXV)=*gNS z;&-F$zvzs2edw|5gtY06%$BIU;Ft+xG))}Ry9Z?cwRFJsCjP&mDH(2fedtR5cqz zG{gz^q|``^ruqA}t`-i+D#ELVCh;@gZqR<1H*nN)An;RYmERIBo}Ny@&eu3A4)ICm z^vYrVVpN`0#Xsl5&@VgVCFhaaZhrfHDM)h@huH#agH0$8us>p@Go-cA~)tZ8%B{ zc3dK_AO4SV%kO44gZo|%3AW4IxG{J|^em4#`>Q5fg_gdRdbriL!E34TG5YhhTAyj4 zNSX>Xx+^t=QWtEbsat2)ob*ZsOCV0>?^hRtZX2xVMbG0#pr}NJwe9~2b&A&f_G-@N zKW+4YPJ}3(p>$T($9M1G|DA$uj$?Ay6-!pE5T1?jNk5`BHhRRr2Ml=k_HFU@(8$de%dO)dhuSQ9vhP!}X6Eac zX`|dD`0oWJQNcIojQzRa&rSEfY&P3p@ccxL@s9_-ROu&r|0n6fDU$_N8b;Yut^Z@Z z+$hN>_h#3XI}L~W^~&p0RJb(F>~Qi11%2=F&r;^d`3;zdhWed$&l|cyy~<`~<)kau{EM#)h_3Nb&Dj-`>u81_GV!?O~uUjaKfbVDTQ^znPiq3Av zI4v_hT~%IQEASZy)+90CB&M#h(TQNDFO?gLBo*EpjP$1a7Q{}Nt8msiYFHsmt8Hz2 z3*`dicAW=|pn|%~xpNa8IRef;;9I592&WH6L7&bHGVuKhQ*1ra0_EG<^~3%&hCzFUBvBmu z!U*GvF&BGFczn~=H-`^x9Kv9M;iH(+ZeYH;G?+`rTX0GtW%lOEr6Lp06GiE-0^+i`)#pa&?W@yGW&{h1pkTs~lkCjSPld zqP$C_ssdgU9GD5HE#{v3&`u&yL_#pNc`rOivnK@5<!K9-=fr8!Z zv^NYDD^8bCPqFHlieLfAkkJ*Dv`!EvR+cg0+96Aml9D>h?df*R$0u{kEtqXaSMpk) z?qB~CKfLl8Lc@yB-QSg-=v!26Ut{2fF=V~-blYvy*Pc!H{*T446;WGbQWmSnuln@z zqWY@IFEiG~o*1)l+^Q$`HTPdjJ=}BZfYj%C{mPrFLigpyFOT`qGO%2^_Q1ll2|MD7 zuDzbBo>uYX8IEm+Bj24@3B8F zr+eD^n;ZJ}zhtv0XJDB_!{C-awE-!Pv8HcZ)cozvebF>=-w}B+wBY`p*9UW(bC1}? z+g`s=Y*jx$PRpZOHekGMZGr!$oUNwyPrg5bD)R0#JWELtcmmfHGAxCzs6(-~30W13 zIaUiES=U=zo>sJi8VcwG~;jH+zzmUF$*LNVy$_;`S)nSsw>Jnd4WMulKY1{@yf(7iDA2scN& z0}`H^o{mbkH^3=t5wP(_2ID|?Y2a}7L9WwhCVsHEnfMhiCp#W2l7)Pwpr^!6*#$ff z47*)D9Z9*>XFH3n=UEG_p?iGU(L2x|$0a>IIsTbN%mQofxs_fgU2n~FoU|l+P_NVd zCRIC&2K4LKnGg9|lIQ38C&ZEon1IqEu6EI}|mLoBH04Q1@)NOslPf&w=^2S-PpyHgO4KCeXX zdf+$1hb_(rjh8R)*Q3X~h+Su95*{efq`)t^x#t;))_nfl0Lp!SzF)zlysHyu=RpL* z0t)v8NUSeRmC5^ZjCEm!LkA3PmA`T}QLsK#!_pI;Cq+Hei`S(snmcOy_sMq{<(2XD>N?Jv7|<+>Xs3l>|~4LgvL zscaiQzrWw~`DQO}j-T08=Y_pi_aFCn{9$-|$u4e6ii(dUQatArYUcMmZ0b=^>zwLm zb7iwpNmQ7u{G-c7L_FSHHd^CeR_%px@@8T6@M`ExvG<{r=-C|rJ@6Sr7Yu{~0*o;y zg2N{WYtqt|LRV$5Tre*`_(P4TdyOcDw?Y~w=6=Dj=`hhNvnRxx(v|5RW4Q9>fAzFr zq+gbzlL40$w3GTWOAVR@{C5C$0a#%Eu+bA~Jj4IuYDc>}Z!Lvq1sy0|u7*Zz3Sr*= zf$dcvym0AK6D8l6csXK08Bajv+voAv1ovrVB#@+-jh0#bo5>Caj%H!|JhIJonSUIj z(R_a^`Nwj*O8I3A6O3oc~+IB$l+IeasKNBrNaNnd!$bR~|ZK><6d7*jHIw zHWf)$e6G!^j@d9hL~q96e+O?W`LM;#Hp(r(Ye-IzwBbpLsUu>%zA8$4#8T{K`@;>J&2PnHdAnUehFUdoBf;c7Exl%F5}L3vDR z=((5O%H^juYZ#klolo8xAagz>aPc8mhyKPvn5Ta8ic^6BY6O^^_*Sx8H``hCX3UJ> zzu^Xprv{b4IC%(G*E6;dLNX(!TmY5y4-7+cCXzHI;3;8O2_cASP}v(af6)D&0fhO> zjFSh(z~-^xooGxWt%B~ZCI7BMzr^Ta>LVekt~PLjY6*e2tOQ0nhamk!?W7&p>i^>@`&AJqLOBni)xlioOZi8vda(1{1nU_hpk??XSNBt!TtJ=t`~(Gs45e8yZ|| z%-(WnMi_?DETjxvqdUL*@~f+NWt&4HBU%|=qP&vXiwn)g&~A{rLrG??u{mr-3KOy< zM(g*Il00W4Y2nn39Uy&(E5h;N4-#=W0Lhf4Or4{nvx00qG;}*2#-y1&W_`?^o5_{M z0yicDa!}{FbLR>NWZW@;BtcstM~fJ~OtxAUz~#bT+0 zBeziCH)S)SPsJPa`1m{~H_MUD@y$8W;aoXF*$@5AdFlO>l$87TEBuv=;ng!|_w^ki z4-t%*7X|J8gpT6I>xzH`)Rk0N6r9P))?Pck_U(gxZUC3R;%y>_9dmf7#ffiUk>B-T zJvM0cUJ!1|X~q@}=66_o&Au3^qY;EKU;+6aFo*^WC@DLC>(Kh5*)C}B9>E^Er@A!AK5N``exG465bfYdxI zDNnnI$unn^H)N=unjN@c##rUoU02Mva(}CTVE&B5^8#XH!cyK(yJT*rTHo-mBIgq; z#x`#S5&A`9&WvgLr{tB!*6(Q-Wo2zFbuxA3;~?Aa8QUXXpOXFgo$E?1OSh2eC4oH- z`31Ju)i>&WXwG=;?&DR%X7&y15K?gNeo8lWxq=Se)pAW`8=uvym!}Q?PVBRD)PgIR z(bW%{1|3l0-JtQgd7;_nh?GkXsX11e#=918OP=s!oF=GrjzU4Uqfe!|iQ?UkAFO{% zs?E8XGIYo1d3$9C;|-zl)@TOfNQ=-0{^F%Wc?UYX4BmRS5Kx_?QO zZClr)GLx{zqV}J(?T;-g$bSHXRznj6Av(Syr0mKA z&i3jHzsQrm_HQp?atMUzlN>Z$2U8Y?KOswlSyOZ85(_=_ND((2sN-0lQ80~^m2Wa9 zG7B3^ZUtFCQ=Ox*UTo^B%CS%O8g(~Vp8WG@j~(i|GMEWsjh@(5)n1iK%$oTYdD@T7 z!Y=8Lgi3buB(S!jfq^On&8cqkYnA)cqELPBXi5L3T-dp5JkwRnyEoOMXWTiR*0;&o ztxyM?7?7#qkxfB8&pjr%7{hg1o* zx##wqZi~1zF!)oBX-mev0+n>v_4i_9&cC~!{l!!Lh|`Npk7oskO?8pCN_W3s=@{)X z`uISH>%|;@Ib|OWk9Dt|y|giT$H+ZD);pKq>fYz_){WzCIo<6TSAIF)?C5tmXM(B@ z+BwMmd!js3>_Vy>y!##ye9@YNqxLCneXYDV@mb+Wtl^yNx6fP@YGo&}(^beZIXV)X zrYRt!ubJn|722;~zt$6vo@#1(@%AW2U>^4|^#CB8aTc0~fV@kC9*8r~vLu*4r1-Z7l!iiIdRh?okJc zgkDGNE=}FB{nZs~?JpO+KOd;kl#RH${-MXAxAoWSU!Kp=Y)EyD{`7e7P}N)8w~V?x zU$@J(u;}Kz13zmvgby%CnG^NYblioAqtfU49O5#`c_7~Z82Rk%_7g21lo^IaR{a`% zSan=>C}m7ayPPOthS$B);c7(+I7=gy3oi$pU=+Xf&6Ra+P= zF$R-=r{;r^AV!+TG|8CS0wg2d(YqM4xn}vD=!2}ZeI-*xhF>uBI(>>P zQnYi_<81CXzLdMs;FvRaZ@lU9udd2^Ysl?PG0mA;Ul>rd(zO)bQ_#6{j5M8o4KsF3 z9d&o@wSgG4sjD}POlym%NsuT=324EIx{4WiUq+r_YYkVHZKc8z$SQW!UJQ#+nW;eP zg6zu16QRj?6!-7bM}$W%pCK*_hxdo@&Y6=$FEY>Zy&=B=(qVUr94{3b}0t5xPWJ~~xa>QC0A@Yuk9g8vmispiv@%TgLvOQ^4lf3_h$p89u5&mk1Tc+D4ChemDm?5?0)#l6j;iKUW;%TN== zzSIhs2=waPcep$R08UhzT{xs|-5%xM5je)f<{kgd&o6km4y;Z5n>no=1Hx0}b2d@a zv^u=PxxxbzPCg)#NYGuI+DHEt*wFgjB@?uj^Ol5dC-;R+r?=~b|PuDd}tBE_=%^>|^|CMt! z6$*CL-ShwIy016@^yiAW6YGEA$)iWN7oM`)H=9R~_Q3=3%2;%3Tn9VmctxWO=Gp=) zV%;!UW#FF!iG+@Jggg&{h0BPJ^W?;iki@qY3wj?SBI_}i=6WUEEm?i=b+bo$UxF@; zhYo=&ISs&q)JuXh%I6J(#Fs)$xW;p8u~~3N^SF=ROeC=(Tk`dVxjI%JItC;Xj3v2Q zM~)tCc++%|Ys#6kXV>GZ#rA^^Qv2x>Eii`^`M^9zc6s|PuLFQ722Ha31*`w;F8~PC zM;a-Qcl;q#YY)~}4$58v41ojGpw~ng;NOqc6}H3Jg6#-hN|0URTSx`+Yr``UpJpY6 zXO_|-@G%-CnT4HrY!bT)f8Rp?3u%F*nbDC{hbCTa<38`a!eHh!9P}+Jp7&uXWlevD zn>!z<`Wk=~DEW|OHG1dZqD9B%KQN`LrnT3*CcH%&l61apBSpZJ_b7uEqkGrthGO6d zLgqDwhJDJ`s?Z8pQ8f;~)1ldiVrv3HYIS%f*MUyZ391ec#9a4|2ula1e3MQsAj3f( z=md3q*-B)cjHF7hc%YlcNnnc2y@N7*iv49}HOWmGq&c$ZArRR4CnsGa_^IK%k8=lI z;)-bXrlx#TSgl?iliNi?asAZE>%M&0zu`i3#Np9nWO7}@EH8YWgJ@_#nG1|~Ar}kwY#Ak%RWGCI5kTT^48fLQH$YDeC7FOVDfRc2_{)3ZU8tY*F z$N;r))P}B#os6YE zP@`xhOM9ebS3#db)`wS6w`9l}u$I7F_A(XMNmpn%on8D&<$UHn7vpG8x`UHMn z5^l5omd*BJr?lzWohy8o&N}b$p{Y*&CkX?Q-ORhg%n%k8sqK}ROjSR@=95!U<3H$% zLFP)XT(0$SP>o$hCl{;0spc;=Yv7~av7@@^dFh_}NVaNlT0l$FhBxAjy`l|@};~$?OK=Dc9Ej;)GWZ<1a8Y4rE)hIDH%P!nJn`BT9;+bbTAk9U{rTgyP zTeG8<1gBAyi7pAlurfY2(HX&Y;DWwRm#>$YF9GqY3>-Tw3 zYwu8|8H>feHb5k9&d9n^&8IPQFp@NleWPgN?YfswW^qScl6Tuqe|moN)_J~3s!78p zs&wx+sOoO>ruGtj_oJ4eQs`#WCp`wB>&mh6~K35-!A)prx>>u@l>o>F6*BULBZu71d0>hAhbHJ!Q_-Jq4_VHhr1Jgb9j{fqi%{gN*~ zGqzba(lY3yM&@w&#k2Nwu~GQ?aq)HCP(A1Gk~&s@fKW!scP1>%21WmFuI6fP(#ef<1(v^3SanqT+e2+4K8OaM~_re5gFbI}e`vN%6m zJO!g3st&4|(!3$=P_HFe8pRg2yD~%3~92NcI#2RA&JL zx*7`Noje7{2fK;X1Bga_shY9ZmGWKBDoS1XFh;G?z=cv9Wo>zsOK$szll5ma$Fofm>F1IQJo-eC@x#@O`LFgoT#;b%d_G zXJG@`*_&E`NAgCdV_6M9xm5tr9I$e|B6%KoPh8Y@&OsT8_c}VP;GVY&qa0f{-kDfh z?CcqNF5cno!*}D_TRNLwRqMTV_*J{@Qzb#8ztiu9P4trI6OMJ+NC&LHg1S= zg58D8c0149*8IH9DC%X)+Rx?2m@90mD{Iq6^292}obOls%|J&&A^>XeWji#J#3ENq z(mY2cEwjb0VA{dsvg<2gUp&emJ+l+s-aIHhjG4py_$lZc7H#91ZU2z<=yJ z{u@A@2$W_;;Lp&mdj|zfeKAJD;Q5~)-`^ki&drJQRkLrxiEb{Voeo)kqoCwtVW+YI zefv^438!N*PK6>yPG`?U!P`!ranun@s&~+^J);9AR^C0eVO+j83en9&~T_wu9!WD~=bU6KyVp1m4Igm}Hb$ z$w`_sp*NP>Il4`Ej8w<39rX3z!`JQCJ^Y71l|({|x9z(7$68dY)0_))HI^Q!oijaW zSl8*<-Q&jS?`zC_wWj4zFWLTY)G0Z>eZBEJ$Z=ySV-|ii%y{&NvI~8>-&HkKA3bw` ziq!?buNu_WKNi|g+cluqjafN6R#wH`IM9$X@ui{Jm2kD!lPB+u8fUn7dtC9FT`q^T zOJ5w4OFgXBx<9*1IL(#Oba4W2!2vkVaV0j}ZE%la#&v^eYtOq@07A(5#$Bu7{-L=A zz$qICv2dpffg@0^VbW*zgznfhI9XD-&CM`@T8`i)rA2p zTLU8oq0jAt{_(7#SWLrS3Kkd&Xk{wNIH^rvTY3h9_x4BtGt*=b{5 z?!@B$2Q1F(0^~$t*CD);-p+E+{PIdQ;$(plugLR zsONQ9aJ(6F%mwEc&w%0qIzZj#015-+_V)JgKUOwdiCdbPbH2BMOG9R^s3@2K*W7`G zAxbokugKh8&sQ>AgW=|nLJD$ju6elUeJ&k?r8OCuwj)Q4B0lrw#@BqqjQ6y3oOH3} zT$zPT%?b*dDe|pm#o*7o4FlJ*60mtDHB~;wKr-0K#^N7!Ju))G8O{kmY37}x?I#`= zh&qvYbKFkw&*DB^vg8z@F{oP&Lz&D0ee9ESaqSD5%k&lE?YRA-X7D3yB2yHJTBSU@ZKwso&-U7~DFq_9%QwPrtpE&4;cuK$a*Gmq;z-}^qtnS>n zql_&inPew~Bqd{4QI<-j#Ry?SLXu=ll1kE|RrZ9GY13+#v{+iS-p@~AYR+8ub={Bq z>W?!WwEVum&+>l1-mhhl0-J1E@ET{;=fne810q$4E?>{$-V$tJ6w{G1!X0!$D3T*hzOmbtQu`I}~=Tvlb$(f>gI}!{1H2#`^ zmh7cWsgE2zDqsz-A0G|{&TB5pQ-01U zYm-^iV&T4-n?fw5az9a$jRoTf6buAW6U9@BW(=#?fv4;n-^+#`cCkb7~8!nlf(W`CDq zNQ}ZrNhgdtX*5laVTVd}Xh7+WDI_;9_n zvLH|dPSRqDxYy!c$PF34##Ut)qp}xTn@_G@PWP!g07nSSYSfV1Ua0x7R-GwW_Lf97 zR2$h<0Z!LKL!q{5ksx!(r{tB0oH&(-(EiEKq%I6rQAvBfdGJ2q@`tB{Ossh5{J13<0-EszIc8e&+mb-Z|E7D|e@C<)f`UAL3^>dXVcQ$`wQO8?PzO;9;pB!A zCI@44Vli(Mon`km!4O8(C>52tp5sfwvkci{IFCJvbpDI20NenR$C3#W>LTh`wmI+N zlvf<}`~>N?ZELcOPH8hj2H5iRQ*ARb8&gDCXg#qU{#p z-{b2BD{wx`?wPEKQq-pF$AFbVx^(OST$&;-SS8C$Oj~f%nQ|U86>n{G%%t3~`rSuB z2_K1lcfx9;sl`%QP%i%ZxDj^JsNqyFs{1W@n8MklOD5iRw)wX|5A(X5wr-JuXZDcT zlAN!Y4M9LqLlBOhlu?CnUq$*V(j&w@lC2zRVrp8K3I2`EU=)BAQ-$i>x*Ega41FD) zGWl$gA9{U zVAJjFB=w58c3E*PdvEJ2k(^1~?(=jU4i_*>fksi~?-#Rc&3>atFY2mys8>Jd3=>jF5eO3*xm2^$l&FD{$VNT+RgbK4!toeWV3KV3a!{>P7B9Q1%ECJg@Z zTz7Z3;_!=*FX@>@szz8?WZ;G|s55=Z2zqarbKu!pU>5otB{x{>vzVL+S4-{>bTpc; zP+52+yf(shX)VBz;=UKf#ekPByED7N{BY~RD~;dQW-*V%^ee6N(FgtaIXT^3+`ei@ z=v>1NRn0>VCMP|6t^VRb&ew*O+0_MZ9{HINlYoXK))yoM38*gd2fnhv{6o_eO7wSK|qH`QR z1RW|Mjs0-yc=3En5?x(kagOjT3%NOs^Ny;{et)gWX4~aK*|uZYvp6v3&Wa4io+*Cc z_UiU2%t+|Cwu5mnj<&0-%57)&8+!w~9d1&hug5ho9{c2%!hMjIn&Sn%CtG*NG=7MHbrQ~^8= zhNbZLDDNn=s0nFU`G*r#dW1VUp^bsC#rNEQ-;(=-(u2w6R;IN@_eO)`qwA_4m~p#o z-Fj{6xxEJt^j>v^*cc|){rbJy(x<_l>)S&xvlab{zIu-~rxuudbUvC4!{BV$qEUKN zymiKZFnHm$qGxb;d54{Grw8qGf*gz^Yi#*kpr`};_jh#RXO)#%v-`Rcx z23T;E7zQ=6g}xE?>-QSpw!Ws{Qu_W|A!s8()dCPqJVS7(=?vYXzP+k_`RYja54qD1_i_ShwytiM?H0 zGp;(9bTMgNrOk>)3$)pduzv@hY3@*Tbd-lYo#n8m~ct+^c@ZSQ}4{H!3GuzP91o;_bl3oHYE)dfMH8oopS2$Xw{l{S5 zFybwMZ&byL{W~uoLyEWGu=)kFOH3CMIAXcd>TSZ*?F* zz8ybcz=gzXl<;`9KxJX#TNY05qC&J%`%Pne!dZ_uQq=uchpBdSH4y^+@ttC#!mjfMGlNF(0st71t=J`GEs=^r2a%gUdgE zR>e^jH)0wC9K0rAJIpm!E1WDbduJHMDr_rttJ%@$uoC@k4~b9S;%7DFk8Zz+6iy*i zo#{Pu#*9rZxpV-CZDzX{N4t1H@kXl+_FIn1J_q|@JY(k@8yAoXo~699(Ihp`!x!BK z3mGsDF*`GpI$!7%9JvyBI%&rs{;sbUNA|jec7k(UA+B! zU!Mu?>_rG_Ik8rO^)a`J0(_;2iqsFFaKqd{MA5uX&rM&m<^ndme`2j(rPq64!{+YGs1^7d zg92uRv@;2_l%xMtrOdWzcfe9!&H5VUXZ)%j50z{$SmmfbHFRlSR=WN6%g#wJ&nena z2iJplGqkjnh7I$_S*l&T;*r04YnKL;T#rLuzvot5Qv_^M{T;ny_s+U|c4a^L&p)TF zDC?0h{Qba*WlED@oJ}+syB38BL-CmHAA;_o%3B|#3)nn?9$Z+G?B2Z_8`1K{Q+Ku9 zInT}Dseie6^4PI8LAsi&zR{`k*f2O237ExZM6@51Fu|-|JX153F)X&=dv2kz_;6qX zc~)wlc>OWRZ`+HaC))+C4!7Apr?Z2E-QLsuFPxd~vxR&guXY{3nyi+M-v1jX;&NtkUYus znW!)J(0vq4j z5$l;fwRkHGQoxY+nOOcbtI_phrnVkEr>Q9~nj&Z4Sq?tvIJ8Pr=2t!>in%DGNFf0)L+SJNEY*|X}f{rsP@=#)E2UbmSFNj^ZqmQ9$g?bjDU#C zRG@XEq{a|2C4Va-^uqV=KWQDa=CJj;s3z)AJp+6W{1J0qI7JZ1R&J@%z&|ittKRq@ zeE&SpW76n9|7L$&NmNBld314G^RD0jS>yladF=Yzh_mtE{`lN%*l+(Z>fo;{bW}M} z2uj<1Wd|>nOHw)LO5$UHJj_{MC?+lLLqWwE8I$#lvV_0hcb{Wl%(Gb0w1N0jJKd*& zDz9CD_pNHINTH>jO26&<8i&bzzy{rcCC+co_KGMrISNV2@^iTn1fDp}YhGubNxb zKYAw?m+<#!K^K>3{&*04a%1$&k>V)_OcwKb@-ZoWqIW|1BOfkX7}(`}MP7>63wOS) zj$c54Y`b>w@5nZ1y#h*7VDqiH)GuxQ2dJpvM2ZnUOU5=fRk#{bZ{t7s>VVskBN+bE zEQ@0d#AW9aaYE?p4^`kC1pTDBtOPp4=L=H}WIeE#g_Q^Ej(0*^6Cj^gU4+jk!5GEY zhy-%F&!CtPX}Y~9FE>KPF7E=ClQWFd1Q^ZgnK1GtpJiE~<+KM69^ffEX_CXhSe!D5 zNgFrVJvGPkf z0nPK+F`=U&{5Yoay&rE4Km>h5y)c2uIwXC)>t|)*bzi;e2&onNF=kKIL=i^u^AtWo zcmuksu8OUzqKS-t%9%Pqh~f0Y&CXCGAB+@j>e~Idp7b{8+_kGZML&228Y}={mI2Qi zbfitIR_$GIMfu|onPST#LT?*bbNfUvqk&Qy6d!z^-&4+FUaGAP%nmPs(kScaJkrXr z(oA9Gj~gcU5oadq3bV1HL?exGhjc=4JB>5c3hPes4<9mUKQ*333}Nv&Brm7iaE$KW zji_oM*brd}2`nnA8XOXW5m+O3dX!>tcG-1=2~HOD`9>e&yf2u;R0g>TmDErLi%46h zjx}vh1mbC{q}0U)u%0L^9Dx}@T@Ops&dyF-I~j>~en2b*EdLz% z4q^S5CF7tPeI7A~M3SP&V!}V8mlYpi#DN62xT{a)*RNRLV=IDAU}qd+rVzai;N?i} zFJ0>30t^J*h!@5*6h0iQhQ-SYH#&+!Xg6O13FC3I0}$Q@lkGEYy_1N7LqF(Bc!b|>$ssO|W= z(Gss3!M-LO$~Ar~0V(*_x+NTSb?w-rhaP#6A$sJiAV}4M!e(gLr+s^g!ar5NNbz_T z@*BhBBHeM6<3JZIT?!^|ZJ;qM7}$FZ;KXs>y;J*hN$D`K*yL8R1nvCwQBo*~HsJx` z(;ljf9^ID8Q7nXE_(q3Z7@PxWY>t#%E%@E5`em^8snNrUh26`<&Vn!`e|x1X=)&u!ds&_B#Q^S z1uunno<+cqq1WSnLE>d=%XgYI=>{h%>>?DHDwMT;rE-l=qK21fR%2aPQ|A?}dhpU! z{XTW}#jVn1A|FNlx~A>C;q4`}B|rHjE^+T~lpfSmYfQS{DgEAxr6+ZK4&FQGKT|bh zT9t*)&I||74#V!Wm$V!{f09%?m*ykdc@#D?NjF(uSGz67tLA0G)bq*b@~cYIZq?|Q zn;Vw5FrL3nJuOES!j8B0U`N2y-62b&a6gzmyORd=z4z4Plf8hO7?3-PxGmUlyf)mM zxfix<+SFbHKn@Ws9xmfJ-c?nZu`C+knz4IH+vB$*Zi~ba6%s$VF(tPV*Wp4E%9H@N z9oi-wiG3F`=yF}A%snxpn+$BpVk!&GL@IyKHPs69$j)bG2~-T!~Mc$ws^v?k8`EB zHV3ANGimf;Iqs`J1{h|yK=YtlO&|6K=T<&AO)cPnh!fMoLUyb->3{4%5o-ztmB^{h z9lguXZ!h8u?Kq?b0S3F|>b-r@x^kMa$aohRdYp}pRs(KGo6tnd z(D2H#Jdv=Vlk+Y>^HzXiBk5_e%g=Jr&mPcGL)c|O6aT<>7kX*BXSB4^5*(qKvGGeX zw0_Fb8UOlI^IMmtqKpkz$Z=S5Wh9qEnwQ!u!%R%1-RpkHLZC?09!1ixGoSIkF;9oZ zsPFBTmg zy*O~$(cfY1SRgmybOV(qBX!9DSK2X7H}Z(s1dpj!c`j$>rOUP!J|={`;MOhY^@F7* zo{O1}cFud6N0oko!`}1yexKCHijiSO zug82%#ao+eYN%dw1qeZdTAKZC@RV8!kxRAFvha_Pu+9cwYxo#Pb_VgtP(<75_M%E{&3!S)Kzy zXt7?3Xyl*Q~UZut|V5H7}Za%Ul>o<2P(qKZy{*$tT}7ybMa2w_B4 zv-vtsGuamNgtwJYM8?ZsZM4vvg=cQsE!C{3C$%uOP*PHm>AA0*$*dG!W!s4=yeTh(i%eXfnvGn?Uvw z9ayqHN_!PuX%`kISEnabn8l2EM}ucy*FVK?k&!VDi~pDc))9vQu!ka@6)hP4cRTIo zLlA551;CDH4g?jPrRtMusZcpcaAO@jI6fg^mh^AKy8-I3^!eTSu5O19kI0+MNg}Rm z@I}}Pc&eT|hdgmI7a=vzwT-;#M0m)(CdbJNl+X8F$ZUe?)89Fs_h z^x8|8sxn3NP1=rEDR#i{-*Ecc5LItBos2_BIg~BJKw1&fTU=a6QgJv*6%vv&ASIzk zDJUwcWtfQiOhoW(N7yC891k5T;SXm_TO4?FT;IOS@rOo2m%4jxQM$f=z>Z%sx}_RKg?jUoeg zC~JU9sBcQH@hk^#tpeN9NL4&ysrJwaVF$m7pDyYv+$6q|H`z*3TU#Crr-;M^k=e^4 zrsVA3zqD;_f?@4dBs9Pmw%6yaJYd*kQR4C=`$x4Z!ypb+rkPe z9)}f$Q!wLmH3Ue>Ijo8>a%_B;q_DI&#s)eL?zmCw?PcYs;R|i z#foedF%qs=+0!hWJ#H6?4mV##!8N|pzcd%C4D6QuE?*YGnd0;VnY>AjV*RE?fcCt3 zeGBh!<8i3+Gyt`W-99s|LKP9isR-*}M~jw}-Q`eQq$S+%@bjvAKV&nI7(-s<;h1Th z=0KVBkt{vDf;gIq=|hRb?J~msAvJPhVlgc^@D_%S~rX013(uIxM zbNg924MH=$WiqeC6z9tvUv=XW!z31~zv1|C<7Oy#snHMhx|!})A6*hVVg~0OI|#t( z%Wux1=VOPqoygls!fF#U_GZnb>q|pTe;pK1C)Mqj8I4kQ1mR&a-)pqd5fl;|s<8+G zP+MQK89|nxj(>7NDerFTuPs~d!IzY>kX<$1IZqT47@L55`L;!h^x)B>Lbq`sP8>UF zBGoz4!XJUsmMyMRh1ZGQN1oPF&Rn?_yuM_3PKmT3j&hi2GwS4Y;GFb%3a8eV<=A3l zBXW#`Do#CbStcwj(jbN9C1RRirO6-Q)K?)}rn!%9F$e&R-hc}iruwA-VkB}5a#3-q zk_dtS(_ zZY8pv2$Msm#Nz?c6ETYo_WcNsNu%Z~V8D_;u^4?g!|&$h+6xzUB1;L;3I^Ng2Zac* z$M6r{Zp)ql`9r(lXxijwtRjP0T21OG8>FcLkt_^s(D$A4`BIZ_6a9zfY%OG4 z(vXnQGGosSHV$+)ydsoG$A!&N7`FD&$h@!yo^PJT>7;ddP|>JufBoPn9SB8J=H2j! z2m#}TzD)Dnw!pyeQf_Pa*<~n+Pt3kx=*nbx&WTYotdp8hg~Jn)Xhn+#!I$UoZwLVD zs=+rR8bl^~VB}2i_n9kl9*}C2OOEC;X?hq=Kk!=1o!PJ~uqR9SZs>pNYtV3+h_P{Wi zR{daawIPqLwqb{FtNM!Q@lq<|B zHJl)f)70x1%*Sv2QhlN`z=O80z)9=xAUY-)saw2*_01k-6anKjp`Ka;Z4Ke`?vhI$ z*qkqIEz!rKQ)&4(=%E3-3HO8-Fl@=ySL);1cPQASS-XOBRpopW$SO~El8E$rI^Fq= zqN3t1Iao}w7Y0_r@)vi;wm%4MBaWnUzgzvu`R#wwQfR4&(|h%5p`jt!&HrlA0;3U1 z7TWWW3%bRmK{RcW==8fNFFSeS1l~lT{{7q%{DVz+FLzS!0YIhsFU6#q49RNff+Wt+ zO>VtmUe$ZyyQ=o38q&1lfE|78t2aU2#16nU;WgY=ad>YHJA3wpp3PV2l3rvYr!BMD zz>!H2Euxin$+4H-n=3hnZ_Phk2=JR-zMzm_lF5Vr$NIJ`L5h}$iwgsar02@v@b?|h=x;h*DsHn;KSdZX1MRGw06y#Ri|R42J9;W zq|&Y(@2Y{PvoNWcx~TEI$j+URC{`}TlxfCQY-Qt~KHc(e3$qd4K6+GP)3CE;yNPA# zD|xoePafRAKNfxqs7avwP{(Z$t3)sYOCDOuz=1xZKR%^a^|ojQN)cUv1g)nY;Z? z-53>RGz9tiL37aBy~4i@@&wN#28}c;REXKSP7qK1O0OUTVQWhI4pokK+;K7L1M@`V`>Ivfwql4YVO>*{2~OG zIkahestI-b+v7G17Drm+kB!DOgsf+ttVoxDldJMAASG>Iu}xZLrVV2&=-Q4PJ>b>q zI8?ACxtq9C7!e%k_RCq*YKJ%tCv5Pr;1hYzw;|}UD>%5N4AU&O6Wzrx#U;)MSC`<< zLqDb#1HbS*a)cBvF5Q+{kHHIe31kDeq2t)<@|u~`!8O3$5qCbqc`%j(%wn&D8V#6p z;)thbc36k}6{(k(h!hfN<9W}YZ=$AT%RT^IENNKW;xS`mB*ak^768n2a!~tDnCCZN z98?5b@U31cn2Vjw5r7NWnq`@+r2RZsLRzMtYp(%gvWb;hJC?i@+J1XPFIX-Xg*(c7@&3*eJ7=A8&~lmSt9LI{B^4LOzQ;3pIACZEFHofM`TJ50ddgX~r}xg);)A~zn1oT0`a;kM2_$8APy zl@>wTJf%fo?ZATTI|>+gGB3f^(D3@^)ieS;Q4OcuB8$df`~CBZxn~J2Y5b8D15X;A zxs{(^_!3|<(Wv@0raS-m$9ZAX?EISaqd)$t=_l1P-!lrE{&_RY5Pkp@y=5vUTr6Dk zWT5}qxBKqn@70UfbR|8S5~@1k4aM!TBS&;&M|G0{0ikEmkj7mdwhiYRygA*WT?Q{7 zw3AwZ?HaprZsQ+vW5f5fv&MhQ=Xn8$(hj@3kJ~nzCW#Xj2;<{D_1aB`WG2rrpOy9D zCIdjO73JeN7hpBX9eQ4wz8a*464g--I~mMyY5q7Ygl_23qh6KE@z#a`iWJZ}Q=#$C zGqX9vQ_hNJEW}(`^-Bff7%}h)sibb( z?G?41@FTOYtHp|nU^B--0$mvr5tQ&_`TqEkS&yh%go}r;&JeRLeyIOTS~+Y8X3m+@ ztK_u{pzZNTYb-4-v8QnaXsCemC_?Rj)e9@%KV!}uHl~~g@zJ*2%;Je-Ll*VngNej3 ze$_MHG18o%J8fET4M0UpDcf^w34IJi6gmYcp2~y<XwH8cG?z z0u--|jzaryRr-EWegv->j8}xh@LVYl{4QNWxyQxLeZz+se{dx80Rqml201LZ4duoX zwZJvi%zhe9c2?&Plt6shr*2z$?TeoCwf#I>00Ti(04%p(zux!GitaB?@7y_=%Tu7d zrNWlwuMfKd(Ii?1Qr!Rg_)6K+^z^aNQ03EC$6UYu6%eE9sBzoFn$ql}Ak*B5!5Npa zc=YtNxAJfCI!cn!Z|b=q$OcrqXfm@S!y0f~h7F)b8cxv1!R+a!<-?mSiTa;@!+=+) z2vSb-!^-9dAfs}*3*VIs3`W^?MvxeurCOZ*vrR2HAbJ?i7fJ;ia(5b4bbM0 z3$pGRwF6)v4sF=D+bOnLs;=?ZaMNSh4Wa@C2M6T(H56uQ2rZvckoU5$p)7sd&&0@} z0Nu5F_sm&oDJh7feq-#DYPt`tQI8ua%}&!G3q*pi}o9wI=cdSjTr*$q?IPdads z!iN$1=+F-UD903dQ^+6T_N6Ng2(gY0f$fQ=i#L#BfZm)L3wbn9A5B%h zGKrKR+1LeHOv|UEKs12~Li7w8q_W`rOO~KEAdISKuU@<4m|(&6;Ee^QPCmlgKmc4obyQe*XR& zxZ?5WJ~NL&pu(6jI{rFL7BJ5l!;6!$PiwLP>K9|t#0IJgUkgzY;Nuzku+miVe$MrZ zq3DHan64!zgVg>tb+yHH42*2}zkh4ld$w<%q+AOywKn!Rl&sz)s0$(0)^~>>!Gd@J z9${+rm52HdpauPdh7@c+!K8H`-n|n>U5;WPL1P2Rz%jD3lQ7|5yLO-f z9BPRs=lzqGyj4thc-wNr4*hkqAkkBm5>Xy!+2;cWU)y)u)N6&%+Y8C?wv z6OjjIW>=O4Cf>gf(!pY6uu%5t(|cm=gM(G^wPbz2-uxBsEly|pMs7tAZg~5g@S|ZZ z@U~G59XZm;_%Ug6yEGWEzTswh^F~KsA37HfTfa;fK}fwOZr43CkDec&FAH!DW+@s@ z+#B^dv`Ac-O-A=*|B^{j<>p`6`>BbWUyc8QVMa6{W!}Xbq zzJI5bq{lp2jbil&R=%L$4G5<;%# zxxNdL{63#+U%9~AIsyofWr!G|E_JCXz-=`51lXY+dNsD-?&G}kpFs+lb#XrlIXV&` zGb%6Oz7r>UsH#S?0_{K=TLhe924jF-ehIE`d?V&m4CWD(A%p-QbJXRHi2WBF40zm~ zx^_(~*AIll0AvZQLjgg(BJ4gHTf&%NBE+Gs{>O!8?2902^Ku|6*{%?~q)|0Y|?9Ok=*X_x6%s z$)^MR#7h`Ir`V5o<$E~4p)BhBk8^9-&h?m$yWGv}Y&E(-(Z|Kw*MX+d$}pv<@*jk2 zbxu+8zSI%tWzw)0u6#OI9nJ+Z3L=)lkwH)I2+!InOe8(kY;>f5v(@A`qohhEvC5b> zO_XkD4kf&{-6DIOMa3J&Ihd2PjHi`Wz&3`Jib0~>3+g#0nM@B|6_|n3K0%PyaF&j8#G!Q^!0s+PO(QnifEHD_wL-`x%%q{-CQ>c7u%(w zGj{WKKNg9}7_3KSiAHN+{IjA2+#$pE*g5CSV$3PmG#z>1*lRIDJF$wy**apPi; z1c)bqS0Qis@E0c8Rx()n?$Y>e=}~g( zIo^4^^x9BVCQcUsPN=;~oBtcZgB=$W$8?@fn_WvOLem;)1#g-y^vn>C$ccW*AO-|+% zI#`E_Z*U=ue$iYAgUPL1M^JU)1uV3vtbYu!JmW?Z;OrXT&%iKZ>x>8jF!|`DfdOE` zs;f6{Ou~TKxN9j>Iep{O824z(!J3-#>OkIPlJ(LDbRSRVa&(d93F;oW8i^H#KrbAZ z+ku4pSiNe`FUt8wKN0h>0Z2R!paGo>E-~IJ(L4u{1Y7TBBSLb2*I>ARS1}g~;%5(zk(Hj7Ies>>;;;$sZIpR??c_ z>%@@v_`uA8xfE^Tb|{lThzv+uOpE}5ZHwo=o=42Js39A?uN7b~Q>~Z|znRID-?^ z)HZndAdfJJwq{Z!6b}5N$;&Y&!LkxsiHQA!ugXQikVLo~GWBaED_e`x8U=oC2#hHR z0L%3CC&2UIpOY0{%U#HDuh>mfn$U`(*RT6~793@rN^VoXRhkFH9>YBp`f3lE-F(9G z0^i_RP#HA}A$me~b~LT7lH1ZP%o^UjSwmz!^)Sa93}D{{)p;D7iC*gJ*uB1Zv4X@J z3U+o8&(&{nAU7RrR-|&U2RHXTC=%QLEhRK6Xhhg0UL1e$z9Nz z7ejBPUF=WgLZ8o>8Jv;DfOvQ}s7_RF@v9E&tp>l~-I`U^Ks|vI`C#SnZqQ07YayC> zFKAtJn0#sK+!(8OhZ@edk}c$V>J2?cH6*zWr0o4TpW!~_Q|%i#^;}FV5JuUiD@;sG za>Ev)iTpM*E|}Fvdv}bl$x7yk{xbw&Am(ctx(uU~A<@f}Yt-gQ|HAy9LG;Wt)(1~A z*?0h-3~*h4qqP8ZU|D4H|0~x{Hr^ext8M!E7}G1)UQl{5)}ukuS3;(GR>UPI_mJz@ zaU_G1;EWG>d3_ztHgDEr481jhRs>7pw3#f@tIOm5WqgVmFlrEt0d%K7G9x zr*+l>Z;ox9-1ysZ%!DbA+lDV_vN>gMWUg*zR(?31Fz4CQL5x^2d7V}Gm{Aip*Xryl z4iZ4&L7n#T-I-@Ri;I)|#b}Eev7vMC-ZATv&VmN`ExZH@F>5`Gx(O+zl>~V+EX|KM zTC{^+!)V{w-wtdu#uz(@qP+u89g1HCv@cu@;oxp?m6mWl3u;PC>;`TyyzXdQ56G)% zwGNiboY-38NJ6=@^CL?BhYx`jPK{cBI54mn^(IzP61M~_N}t}iw+a#IByX67Tos2yu9J&?-xoOXL=_ag(Umsu|z1Dp_Sm=70xXw z!h&W5f3c3%@q6uQ_Se%3S4E142Vr7d-19Tc+L3pk!g`BkucoYAj2#VGy!89rIyD!* z{Fhvq!6AW_I9-xQ^5(;b>W3o}Svb=K=<}yag|hwEgbQ;#Ai|5xHj3*&gUB)PFCf!! zd7d0?tP`vB8L+5<#Vnl0NZ6s9q>zIbz~>Yb_7pKRayUvMiew32y?ps0B~ztO9oQtr zK{;g=U>WF6?rjhs$!(Y}!iS&#R8~|#yMBX)0&ZKNzetf8ezA)Ka0xN1_6^ ziC+~jO(-isDL5^#KeeEPotXza6MYUmRoZQU1USAVZ4=$-Kl49 zP}40K)QQ8s7#kSyhMZpCxo=K#3JvFtZ5ug_PF=ceKGn$axM&Th5Yi>Gpr+5ATSrO| zVty%!CUpqi1be>a$raH{b#=D^YH}8HznnTXk!U)OBC3MO=x77qg|!8Sb%57C=EpXa z;Nv5fD0U0c7*+6%vF8Q<0-LA+I)-F6In$guTbnj*fawI@!tFyRiS;M-1NQ;tBqeX` zrw580I~W7$z>23*=SyJTY5VGj7^N_*Y?(ES@-TL(^_@I6DN}*hy2%sX4R=bW2VS(G95aZ$+4}o8-f#Kb_TEK;_3e)dTH3i{;P+){G0(D8>i*w zZM^XJZu8WrZm@;!cgo)gi6z5?Qm3N^QzNqT5Vz;&i}Ya1wGSVJ`ve`tOxO{OvtbE_ zVC)KR&1%JSH-P~t6pnLKoexi(8{MZdvqk2=XSO8ACWt^ZJ%cwJ22$ka>p(n#Vhg5* zf|7Fe@}9O*_G5QKR%ygck*Syj>CI#y72E$CJ*7}>!UTP3iFqa-U7ZDEXlAbvx?z(a zBnSt?yNQXWQ~+TSt*h&HSB!H}pGB+Qwy9xdmX4T=R9I0Eh-A2e-QOmTbvvx>CZmQ# z2C?DZ>Jjy(gwZ`W5_Bn8OaolAU%hX%9Kr%ARk$!{(y~4+TTxEF7dRrI{aQ_XwuHUeT7{yg}5Tu5NDSA_bsRCt>_J*=ta# zF4PiLYMsB)P_j$|Mql;udHc4@(14mr981^_R{peS_in)pT)cSCu3fDpaKs2o#t8_8 z7e^&?que|ckW}N`#<0b?lHlt$Z_{l;6B69F*Pgd=>fh(z{u!B>w93@~pto-JRhhYh zPzl}HKryD+fU*xPP7Mf=wTJUz4O~043LNJ^QF8L~szBB;A6xKLU_`DC(xnJN&vRjR zD;b$T_U-Gj-5~QL$rHdKM0$&lsw$y+0xA*an~-#1*OQN8VbR-6HMAq+fd)>3%L{$eJG%%RbP%l(MflRXw*rIlP&yz)=Z~Psp>I2 zzHhGe_jS?ezc;cc|F080WMBS&6Fmx5=QprA7&m;cXVUbjrEz7f{oSa)dO?2aKl3<# zw;Su~&^$ZJ@R!(p!)4(?6~BpByK!u-N*~Mfxs~n4)YY|VcB622?&BX%!ScFsj7}pC zEq@ViyUp7AnJh^_%--#GLV~KP^r720qcWq<%o4dY!4zE;%|we4`7@@*tj<_C<7^ho zL)UBv&OG1cvxYQPX2sdoyI#00QvAAPZeSm_SX>*bnb;BkxMGVm|Gr}XUl)8egh^ z{qq|J!_?L7sj|}AW@0A*Wpu$@wb9deOD%!pt zLpYG_T-9ynkfja4+uO&LOYD~XHkp2u1H~?md1zpT&%g1~w2NlR`DWYM778?%J1`Hv5W%mWR><<%g-u)FKfL}b6$u-o0-xc7^x zw1Cm{GlEaOrW4a|GG>5h%i0L$%8*Vt8afGS9Bnt67v@G#1s*>RfID~Q%&)B%_@z*{ zYe;9taR7n!(1zz;Ed230fwQ0g$dOM8OD@J^T0Xp+JYZDI z(&`r#G4I|b$B?9npvR$2sUUYS9lxsO!{{1x=mgRLeI<~Wf)5{hPTanYGE(mBKk0bh z>-|)o^5n@O>TseD9WMq3VikvbQ~+5%Lxvol%Gv6DpGx!H*6|$51zE((g1TW$>bMRF zaQ*sLty_=qc*L>CbQa-!WhEk-opF5~hxc%%V(qH2aM7af&Qrm4^LI>d7y3i-BjV31 z`_CUD2IRJ%r}uh}ZPk(IJOX%S5tz-I8XJ3zTzjBi27pPIle05KoCcnUw@)JFO2CAk8tX_RCW!{=KZ{|sD03ozT0I%Ys#MrLss)2PMj1%&?q;4HL2%8M> zz19+8&kV&hvabJ}pk6YqS`8jFh`uv?hia2$T>tKc|BSle&fUA@dP@MiuI#CasS(n9j<&gl4&+ca46-_BRKn*8ad1c)z zebvOU27D5?rFZ=43ePB9l^Z&i7F{Q)3DFftOhRLxa!j+J1 zmU)sZvgyr3;2%yBQ1Y-a6%4{4T>ATqf{&m6w4hYTkWo`JEQb&jX=%!sj>!Y-6S9Te z%~c}=(hwB%5j-6fq^m|cL+3A#o|1vOXc2>~A;aK8STZ((FrpXxGbJ0XvKW0PK?F@o z`sGU;Q#S}d1$C2tYyj~|?2-pd4IpnFqa$%Xc+f2Xwh(U*6FhEXG;oC?wxcPR0}4OC zO-?jb!gyw563KHtUy}?i6C)#VZzQx6x0RfR-9B^XKBlMj>bbg=#X0BB4o#D)&E4|i z;lDSVO?uqzP+pg|XFDyF+fck{{psDF!^^c5(~RDZP%O>%w+LJkn&rL0#xG@AFO#%L zfB&=IPCXuU>D+nBzc;zIoOj@+%+8y`hs!>!uH9x=T>VC+h2w?wUu&vM&2r1lv(r95 zyu3>`am%AP>bLOla1ac*jf1OcXn|^(jHAaW$y>im4pT_DI`F2SK3&j*H}WI_OrJho z{RthPh~EGnmKM(r9%%daaH$9tqn$r^a4sEo{3;|Yf-={wSFd57zDes?u1Fn%3fawh z`T5i$gWVE#$;r+*GIKRbMcY$Ijt~R^J+qs^JHc5%Rh~be4=wrFF$%gez$Ugsy4Quz z#I4z^TJ?%|d4uwxCT~^!|EUaNi5w{%03BuI*ph_=C zl3ZPGUuOx!hzSt58Zx}>tSr1mPI!9u>eHwAN-Y!O$Xh2sieTPV;fv4UA1~q@Rv*cp zV0Y?OA4XQ$y+bc3NWhZk7^xc4hxh%d-4xV{OO|BtRN<4gT)&E4ENi@C&dV4#yLKvEXReF8lZ};G8nv!qT#<##T$qcD7H5e&vIc zxNKn)o2?T0pJP*im^Zq!FhH?eOMvhwF~z)umk#v+ce1x4+Iu48AMHHO5ik2%+T*EH z?=sQXMlf;oXz3dd(=v}sx&EFl*eKNVpRtoWLcxU;ht(eqZJe1G(<}^)x(w611`a$p zl#}Pdk-^|qph6&M9EO>KOdqJ|I0#T`{raGG#6_xEd^o;!J4`J=7v@fg z%LC<%Inh)dQV z>S(5=;CLkwyJ(JJXv&Uq6lwtBF7c~0oS2wUmBIW(Ktjg=Bk3sZiJ(AmU!QEbOAdsv zOr_(0lKf8_W`>!1ap!6KcG3`@fuVvT!xTbt`{Mj_Pz_qn)vo7=DV0w48nfYqwy#KW zog2^{>j9D(b^JtBFy4ySOmkz9fH|XW88YO-L?9S7i3D!|sH2=uM2|ztKIgl%h4J7RY;~Ydw=o#0uexZD5NaH(XZ*MQrgj_%MoXbo!Lrir#Xt3w_ z1`@~mu|x-rFCMoi9@O%|P=iyivj+11ynx6eZNC(5cR`l2xUO#pm2$A=KGJ1io;dA< z<&Whv$F*Kyx5k^Y#Q029{i2FyF7@Qe6F5Y}MveM{?2H@Qy!WO9mo8o$3k_)UB_|>B!0IU&CBStwAO;9$(vk-Y;RqT>`JmY+! ziPaxdSMnwpSZ1#_oDDih?~l9v>9hjUB{;QMZp^P3Br>K+FFq}I^T$qn`taBTc#?AUFHznB7WDx-&; z@0W6LV&%ojri?duvZH8_2TzLJ}Dc)rx+C$6u9c8H`y|=Gd_7O`&Y9He-!>fxW@Q*dWJl z7Go5KYC~GWoy~c;!P2eF!-9GOk=CK2%S>Z>zH5zC6apAen2=WNSe(24aY#MU z%c7iuSvOEYVFd&wF*~Mc#KIfj4vucid7=T^rHp+4LO;6N@3;M)S^TriUs6 zOaBZox5fO@-!i4t|61WT)u`5JWr3T+LK~8291L$TilN9B{1eI<0rXTJo(-`VBNCt& zKHvf#h>f-1zP);0D%8N2tVRq$0J(XGsyV*V=x&@IC+W0RamjZsfJDN^2h7#;7rfz} z{Vx0ZZmPXD1p8p>MhL8sJ*Cg27^N7Mg0-+p6HkugK>g5l&z?ODu12%rOG~j9!+oGU zGD*$-=p+ z=g(K})NfK`=PjONB}4&P*8Cms2gg5oC~pCip$>va^_)8OVDDk(T3t1mVziN<(xGA_ zR%U=BAre#w`~LXjNWyE`9S}`6r3d8VkEP?=HA+rnfNLuW7+w{0=rS^1bYr$#fve!p z)OCGmVBlQQCE%vf&(Unl7WsY~I1A7+^;sWB)hu;g8vX&|Nw>db zvu9HW9=6Uvx4J$kEX)#)?bfV}3~YGWKAl_dT6la;?2HeeS!_^^FxMV@B_g5{vMF?j zde$Px4^y-(Bwa!$X9+uORFAe&J3pW1S=Vo_U{l>jUVJy?IC%iYXww67`<5CO_%f2G zQZ{wkPr=5?$EJYF5@6%K;a=wRMTn}YOa59+lh7hDk)vN&GpffuXZeA)>wb2PKR-?H zcAZ-0h;UB7Isi=Dk9VN7L>2g0kiW5>dC zCl&LasDOqUJBAZ6KG3m(ZY0xQf5A|plpW51%)$C;(_@1ibK%Hp#DbB_Cta_Krb!K=~X0}pNuZ$F0J78Rv0y@`vk zjRXpTo-NR=`n40|Z%lvam zf+Q*}agE0!4wV@5Xo@->k#IuI$ti-h{_gvxo4hTq5jqh&0RJ9_S1Id8(KK)f9GvjU zNsd_KAfc>C%E~&48#=VoJ}-v*%^O5Ttygbqa+noD5e0WLUpbqj5eoqOyd5pI7cB7B zg>Dq9D;>ls&hLOY4Qo6uKR9g+-#L;%Yq{<-i!-ybw!_Q-#bvUJwY8|~h3kWf$wPQ2 zty^~x5)zDUnEo@j#7U^NFi6L3?nlqGC*j@0GqwDKR`u#K4-aaIp4u6U(f^w$ z!hx)sqjdC{sb@`$5~nUvhh^pJLRd`Wq}}EU@Gz5NCnsqbA<&`C^IOZxj&YxD9bGS| zh6(8H3Lyl|Yv`C|*3mK8hCneHF#;k_8%a+=2*FOUYQm^*s9LNNM>7`vU^~)57KM7g zR+Wf3gj?Bis^syWMI0ZpJDBLh+%J3Cz^F@3Oif`e4MRyjc?aN|9wu~kKCf`?}L`I7grbsmZOiWB1cl2{ijnuP! zF0DIiJoHkxr)bnB5Npd@lFTva(HY>1&^Zu4XUsrK%ggIv7DA~#pKkXQ55{53qAEym zVED|#)_(KtEK~aY<1kAOPUW`~H36x?DMrqF_a;Hg?scmJ&js-TLy!BbuEH}Iyx;;m zGeaj<+y!ow*if_byMJJA(pn-M)Yg=1I6=zV4qgM5D#p6>5`_;UdFo6I*gu~ZJ{HUn zN*;bwR*EN9T?X8R7$+0k2toXSZ%qUC1?Ns|B-NN*jc^}YZ<&`Vx&503M;dO;^m@!4 zO1Zrl^54V2RL95=imYjO87bN+dPEc-3#6GI{uW!2$o0o8XtAMT9h!VoULn>g90+W$ zV%8jrj-n^4MJgE06*xi!$39>xbW>0~(xmyE3PO<4;Ma*L;Gm#QfL5H5JTaHr6Mf|6 zBhe;7O|gr72tg1LD~7wXVep9`%r(!CQLEar&@TlDVLR;Blfm36Gkp;FjOLqgUeH~m zi$aBlnS}%hm^DcGBW5_D4A;-X9U` ztbG3@wr<>?r25nb=caiBTBxaI*VgW#a-%`y>dFs!S6GPe3ta(4Z#T&6a8gF~n8WOq zx~;wvmZm}vUVAWZIgtXu!1-)e+yMc#h_xqR9^w|^8qkASxzi83xDW_xV#SoqzS6eA z!OTo`ud_20Paz)XZbP^K31^+LfdqBHWR?|fzp(3McZQaI+}Z8HiC@QdoiN=h)U;!i zM5@kcYJ=c&&0#7G*ahO8^BC+I|9bOV8TE1L$;r5>Hih~fa>rOF{p*IOF)cd2qtee` zzb2k09WEXiSYmJ0gB%TA*(NlLLD?Iwlj9CU{r%Pmnxyr&B_g~F$FEz0Q1o~Q>j`%d zw*#Q2gF?0jUcMZKQXk0@>;=3s1bK`ev$gPAod{R6skv?5=NK{`T-3@>IQkrR{y z;P%v&Jk^M;`Fr}|8stn~dmZ zTD217ap*a`B;mYRTd~qxdmJ(!GFjJ`ES9LN=bouuyv%Af@^bo27VHO=qy9J1*@)RT zf71Qp+|<72vR@)NL31U;$BYRD$_)!!Jiry_798v#BREfWJ#k`)Tf*obbGRYc9N;V# z7NPVdkXaA}J$gjh58;zCBe_>slptJ&h=Yzjd#5_kB{cZ;*Z7eQuy=SiE($==g&D!3 zITcIY*==$e>qQG$?m;n!l;62c`1!ibE?arawGHH} zhy6IQ5RmYzw@{mkv((9vV`cC&JU)8>PC!3?;0@EGdj7{^u5X9Sg6rVr%d>mnEYY){ z=7~oM2_rooaYAWG*O&LqkD(&c%rUO!o~39<{-QW#oHDzdoSaHtHqI4HaRgz4s)$42 z8(?H**r$&dWrjo(BWG-{Qg3LJE24ES}k;NB);DPuTM24+{Uhz~8sj za9o_|F(@T3FlkcH_nlfqDe+8Yckt9`&1pmGiPLo3bXq^v16BE@mDKQXy`?2o8s}3> zc!UtmBUbQ0HKcu~#co|JA{_oqPsq*99kp;XEn@Ts)a77-icn6T0Av&X<>%lG|Iux5li4h#KU<2No`^w(E8 zWbz335Pmdp+GY=E)2^NA#*NVUdcRV>6Pm%rLiIpV+e&g-r+}l6(?nSO5`zFK?T zo0lH>{DKY}_B@;)`a|>rtJbciikRxJgQv#1nj*#0-`$|hJevzI5`LzTsZlo4=+T*i zF``9sS%bW$)xMr9XCV5{Jo0h7?mW!SE!DVPw++wR& zpZ=HBr8>b@y&yGnbcOLKxjp0WGz**+8}xtgP{+d}m4nxw@qo(u$N|nE$Wx5(G|pVH zpCv7+oU_8K>9o7yiJ8s1Z*R?HI^6yIv^aaM-OOWoK=O+kb)e zP9`6G^!RZMmbBcKMNrNutWkfgWO30V4x>dHG)Uws+HDS!TY;nt*6puTr%uJ=n!<;( z)b;35bN{tLNK^QF9`Delp+glEn9yNl8hrWk2P|!Xk?NRNOSL{ph0CprK%I|VtGB&i zxzmxnT|N2Xnguj>NL+xzxbmUJzFiaiRj{$4`tYywEQdr{&wkkPt>{9cuB1#^jCZGCwAfUk?{=R=bv%p~-dBCl z6#DtK93Sbmb&m2`HCTji-VAU{sPY7uxQXd$3I6~0+!y+{33O3FGX06IU3bZxi# zqg=W9oBaIss=$~3QGd#uvN+V`bIlt0s19TgZR*|gybLcvd;ixR+8Gd5(kzqurF~I& zCW_*yA-gm_j&yDM9yRmUnjzyq_lz_ z{t1_tKcL!6Z^~X@^~l0@WAdWtMaoTpoo_!ZPi61lB)w);@Nnt=zQBiDL+yi2WKN-b z)2Gt##SWS7)k5z7-+qKk{q043{|d`%u#(Z`6zpyZPXo!0*Zj13DwXc|pNJQt9LnW! z>C%I;b5ua2p6U)2GgMuD{U{DW;ul#>!@50KPHnMz_3K2{CU;w2*ulTOux~#!?*Nb? zUOq7e(qjJCwr!#1B}gG7M}D4a?jBpzdJm&>ba)2Su#g+7tc+Ow|4{cPU^(Y+|F^mQ zCfP6hR!q!f4^diWE(T?fLR##Uq-c?)%qW_%FG(t9C`l?Lt(3uJtEQ49DHD>kkVNbA z`dk+?W#;$4|M&77&+&BJ$IWjf_5FU9^L%gT0XOC%aLcb2fgFHtz=c+*&p1aY$bcFq z^h2%2af;;kibHU-**A3xB5TRMO8{X;WE3UVU6I4nEmJhbOvn|vdpBMlNBy|ud|m&b zCV0}P@3lKTzlbVttV?U;5`2eA^!)DQv^o?gq(+>qj~uwI6+#ZcA)`n%4nlm+c0vQ~ zDPd=ImfAi}h>eWQTzor+tC*O}{>msqrY3VdQ~mQHAh`5ZhgJy7(C@JgXkkINGaQh( z(9L>Cu#<5}^A;$rIM>+M9MxB@G|+6LALb)0Bt)BKC-T|S7&-L^X`Yu_tx-ClsG{@+ zr3m*`P!(rCm*u5MWYDw$!UY%`QwUjfSRBlyeVFE%(v*bKZE4Wf7PvXgYm7i!8 zoGB`F?k6xmj8q`d2IMoChEnYEl)Ff=N^mT5H=+gSqpgZRj+$4M^M@U#-vRcuF5#WC z4alj!>a0%?qAXA!b`CBZZtcZ3$|RO?c6H}Jk2mp9Toj+llJtj??@oRi2`L|F@dyor z4Y+g(0Cg_v^KRYH%8Yw+bAVKl><}cJtT505pj+z&lqW#3B!*IggB-$ku6LvNB7st6 zBJG@;+ZA|AN)fU!D#bjY4$3-&bPe|)C_`=V;Qf07qMi5X%fu7s*AB%(&xGu__;}U_ z*gvGFpWi~potmpr7xa+gbs?RQ5u+%=@htjn_Wk=7v5$Wc?-Fr!(JEV8z889~dce3f zbC?isfa&HPUen7A7tZcF$b-OlcDtD0$Vg#pAKqZ=> z=~NHj_Vz`db?qo-5qfYMP2Xu44G#MHhGdt}tTEgYu5Z;C`b2#3;GA%cT!&QiZ0xaP z8C(WANAjD(mtVFPoEz#kq-w*fl3ix>U$gQKdP}G_NI5l?>)3eEp`%z8m)UT_;{?#N zhsEwG;r~tO#~3~OzG8-i3Fa`WS+P_$=8asH!ym_iFp16w6o>?*=2N-lXhaEe)>o%UBS`IxnVlQTk0h|51MpKpxoZg7C*_By?EN!Vs1J(up8sm8|qxq_IK$5lLnt1!;&H3gIC7^ z$8u|{V!N`av^4L*gF(vZ7ijTN5_w9o2$rsYCv+J|HrB3q z9uoTR)B*Jh&!0WhUaNn7J{jstnzlzIOLzl(JMZQY;T3~o>7I=f5&;R5L-H0kT{13S zA8RGkc@AqZ6t7tmY&ob_{YISUv`6Bm9J|n<<+$=F}v-!FM!<;g_xXJ5_IT`aO@BFPy^11@_gbsDL z*Z~|2FcpW!633|z2419y@hP;Iax+frR-CNfDI0wV3Og$ zikviQ`?blIkN=zO@^PoX_!tIoVddI9iDQu(0UIeFbjgX0_2m)Pvt<0sAa6Z|W@&}( zymD8!C`i>HBb6#cq=;x}RN+)5Yl_5U18!h0MS%!$x6ttjY(&h&ac``4rwHcI5`YOg zS!cq-ubkR#%E1fpL?q!}o;0^{?YRF{CfCp(+Bv>Y-UilM>3lmTL<&8iS+B{`+b7?k#XD9uf*_ z{Ov*^_uSuK2?1%XWXA&hf=!C2i+pd0fW*{3F^|C$0F%)nUukHV{KU=jZl|Y&Y<$3& z3veDbHt5@qBC0l5!|g*Y(96Irq5cXn5#%hjYuD}(;cetsLEws0j+rR%?J^bCXC;_K zic$;f_1m}b!l04EFo5OnERe*k&ZgpEAEFq>JcbT|oHdbMp{@=L@@l44P3k7=Ac0$2 zb2hEX{x%{TMM{pXCXo{l@9SFmvs=hdtM%*7fT59MQeJi3!Ai&Lqfk!Q(3@U%$SKL7Avc8%Ez%5xfa`+-LGf z%YVF&7tdEueo=?3olb0b1cA)}A^>eS*u`*ahBN1&mnOPx6|^DuIi{H2a!cs(jV}kI z@!)2cBU@0tA>YMIeswOGW_AgGDux7>f-L;&5^_>zq>lWftZW=L76D9FLB?qA47F?X z9%|=8aR=<*|K#`OZa<%aI3qA95f%~=3vz=#&KgaRFKxIn!aYi#KYz!}waWx65v{zD zVG9s2eF>)K8&Xp84+tog{4o-9+C2u}B3ocXZsaHW7?;3UGpn{Lk2jVK-*&a&*|R8$ zO1POeA}8Qg55hm(-LTFPUm=pfxOmRaKTm4jJK7V*H{SwkQ-(jGkA`FATtO+)2nj|) z2*n3ND}K+-jD8PQj_~2oU#pS)jrfaFjV2H_S5s5qcdX}nXJ53h&Wg16J)}xFEipf<;dCwcp>>umo6;i?%_LYY1X$Y5RjMTx*P0b*f7VQo56^o2A^DQS(7iYzM(3jhRV&BJeG9GpIJPf z6osxo9rqQv=7!KY5WbktFq$W4Uq9bbvQ zX{p{D>ff^qqluil(V#lJC=3CP(vlv-<`Vbl{YH2X46RBauBJ+5g+>7Y<#brX1Q}|UO0~Fr^$9h3xMEA z=l2_;k)0q$to%ig?Wum6~^JDAxVg}$>uNL0TC8zK~<7q|?ZFyXaqJ}^K zWd%wNE{ve1Fi|@e6m>!mQgpZ8u2gB$blc%g-M%sPd_&+lZB^j1h#5x-8hDl7;#+B8 zPC|lSWRCxV1L)n&!em1T2YvO`S8P_US=mIW^{~Lkylvh;hhl_zENnaw$y?z(;{t~D zN4yR==3ia)`ZeKg6481ZR`9lD*+%pckCck3U?!a3U0TlNi%Ezvsz{9 z_Zcpa+o}ND`OuyKfRM`zPeO;ZBeS2!dUO=Mt!?BIU3)Rn5yIHW;(6_5Ex{gI6Ey=m z0NjLDk`TgCOV|x>t1H$>G$DaGs8PO8 zy`fzpAR|``ekOdC9~$vbwpW0 zPbG|U`^02QPBA5Q9u&cA2%MRV*XB=k=0#lDP1KqEEmi<{GH??IquU6inSVZ>Cckm{ zs;N+bKS)}W!f8rx!`~ItI)TLpd(h$2(*0cZE)u0I!Rya(#e#NKiE@v}%ktnb22hwe zV+Io~1M6$tKvj`p*+rS5C6pV_J9eCj=3ui`(Q5%+_R)l96(5A65a^619Y3-KF|gdk z^d|z04lY!BQBvZ^rSLPyCkFfm>ZRU_W>T6No@9hG(79<*NbJ=Yv-#|?=m zQ8$dg{i;VWj4)W4N+h*5g$9EcSv!*cV)6@;+U>CB5Sl!5kdKGmDZa@9Mm$nLsR)`5 zK9$jJ{mmRf^EGKv{(N#<^YwhQY%XVMw0Q4rXk>(p_Cbo*W&P3l>#7q!tW~-G#9(Gz zmS>Bxo!8pR|4zZY`Wy-iCJux)jLk@?9sPokNFZ*8H=oV2!Lg~_d#B&DQ<#Nz?8B_h z?OEH2FmBluzx_httnM8htX6U^<9VUXC!x_{9kCa)s5*QaMu&|z%BQm0SP+u+D$Is9?KCY$kgJSW}*HD`-p+f5d$jX(w2DrZ*Y3^cKs)u z-s;`B;)r-mcp^e&O9l8)qL^?cvZoFMA@ALDRQ{f*c<%inLyT(D35&-fD^$YVKg4xn z;mYE=0I(+!p~IGuLx!9|Uc{00TR{I$Kd1P$V)Y3*0_B2kPl)j#8f;rd$Mv5*fBq3B zRT9M)IdTw$3Y{s5LBadxp|8JyNM`6`L zVZ({b*rB2%h@-l?&49<`FQ7tcqSYpjbq$WezIqU0z4#6ov;otxV8LKP+sv3gUEjSS z!4V1j$>!Si6`?kt9I@+vzRe8|tN#ll3I>~SGGXUk(*rMg?(L6QK`Z-@SV5E-0zp1) z_3E8oUL*Zd&<@J12?MpX9xPL59;}K-`l?-f_8gv(vuX^v)2Id?yhHGT`r0>B1f9VL$(AU6C4|K^a zzu5y!TDw)oVaMb_*+5OCH5A;JFCj)-8`s^tYm(TGRoM0fSv{s6jBf&i=GNugo35G(L(BC?=}lk) z2fT+w-re%jWf0*FsbbOBQpH+5{7(o(aDF_Dqog875lh-R3ujgk0JTR&b#*!Iby->8 z8sb#vlBlk6r5Tp8HUA^CdFP*aOfR5cWgW*sy1EO68^he#_=IVwySfQ6dkjSF3X1UA z(uSQP9OuIFoy--ydlz&KV(e7qq>S@S6!b#)btf&Y`t|EuH*XRU_XtCfWC=R~x(p<> zLuCEoqJ5F9C%M;!k^w;%6cvP!AZwa#vnNkpH=c7TpFR8VrozSuZTp@IzkREqv@i0@ zLowg|Fy_l{vr1ft62j9c&vM|soCz8?V*D07u*}& zcHS_yvWk#f+!+F-J40x1ISx@t6jB}*>o_1Fr2b-Rq7jXoZg~RSD;d6?0E0Bns)Ghi z*?8{{ynjqW5+oe!2snf>NqZfYuGP{}diJ#egX&QKa9@cp4?3lC3a z6d9qtEQ4+N`v+7~J1JcSk*e;~y-y!Mu>QXdHLW#<6N<^MRT*&Fu zM-cUaB|%RR(7az(xCs-G2zSZYO4mBB>fW4fh9*1^a58@Oa7M5)qETPJ-m`}#I)=2n zcQ>OW#jGwsIIG4gMsSuwuWZE9(rW(cd;&>C!h(3b6y$JaB0!}6EsF8d7ccDfOD-k2 zX(R3Cxo?4~;2d9h%vDvkWwWwSfnG$;$Q=ehGo0wdqnnB|f;i1+XhHh{3zuxYDD~o} z=D;8Oc*9a&E6#^Q+q;1hX=rHA$tlk}pmXr|_otHGc|#ntzy2zX%t>HO3VLC@ zVh?REaTy>b1M{K=6qzUx(sRN%1bH3alkz7|Mj3K9n6#Z&GzH zCnpy73FREK`^FJ2#@2j3b4J#mTa|l{#R}er;6RM`+<8 zcuP)DO9JgQJ2nD~o#R;Ctedl+Gf}xf#KPt8jSBujYebiAB!A3bjc@9`UK%qd?S@P$Xf<2ia`f<|$!`Al4GD z0G;x9)%}OpKRs_2hMa4{_I3_xr}!g;zr+?$-awTP@g4%)OMS~_i$cJ;Pgm)xsE4$y zq!~n+)pyAs)$Ev%{f}(U?6(3?DMY+AnHUb&4IA2x9QD;#KVt~OBM-n3R-&*@}msF0g3fEx0Dxzjt+x!eRg8Q zH@oYoAj0R8ql`lzmtR;#z`S0}n!F1m_w=JhUzb@i9O=X`F&k{cglph@o{~K~3mEUi zSWacE)6etD(F^?JDPi6+bQ62PV4w-yk);3M_Z#2=W@2x< zc9)rFqcG(U9T!G8LPr2gxIA_Zmh{)td*oV&fk#1WQ;}rG||8i-6e`JAG;3De%H14=GZdH z!STv!QleH+;4n0x+%CTK5{e?|eS+XsAzK(yLJ@??at(fd09&$!9zD`a3T>kDi&?;I zBq3nWj{j-sxl(UYb!1-)#%v{=^LB8FJ3cripU4I1nIF&P{W~nh@;Nsn6C$vcXD)OJ8?e% z$DgI)S8vN6{~|19`j$qgW0y+Env=wWDefK z8YPVQQNwzOBi6bi1V{>KOwu1Di%ezCF{xsFo*Tp*$7I=q^Amb=I4v(8ujUi4_Efeg zIpjoYK-B7N5KvMB2JF@QWBwTSd43MLc5jE?)dljz~fhqFC zsfK{3X1doL>`L4m@gY(#UIl*G%a3t4mFrosj^Qc(x-K(5A*&?f z_UPVS%=G#C>oH@-Ou76jsCHM->V=L19_6UGI0@mAM-`Ohbu>W1MWbE}z1DLK2hsz!xNrs_-GJ zH2qL$8sEyi(DYJxKm3m?y;{7V&gjdBRN26-Q9zd5%W@BpY!^vzkC1_IeBWpxV+cNu zMtv@EZx|R%39p$y|2;$Th@XCYc%dD0?`8%rw(GGjK$ixRMjA;t(Ip#YLJsLmU(6%E zd}S0N3@cCh@M_V^92C$cBez|Zbn6xcbIzOFYtVqsX5mi@haKj(8({FbsZnF>{qe_G z`UF;2~wk-#Cl1_;pjLegk=isfmz(D)<5pxrCzmfa==bu3f zNJ^op&dAPo0V07GUDv*i3b99}&YOt*?Iw2dr;n|xe_J(%ADduKCTo)MB4mBCi4iE? zRVFgBj~in1=FR@WZ*|EMfDRpj1OsT72Tz$vJg{-ii&(UC7cai$wl^{~-2WV{UlHSZ zaeFfNjrp*MFS>T^diR+ALNy;I4mdhHlWz0aH4h;PM*><^BH+IoH%{2xFc>&-N3B?~ zLPWY?`4&bj*=Q+!S|&w;qiCKpb8@svRlFB0ki&gBu}75f)Ieev>z~ z!0ZFOJ@cXh3@${-d&+wTOuGwh)UADXTwO#p!O<)AqPH{Lk_EcY zgs3sX{EvN!Y~FfR0FR=gqNy`Yv>M9ZGMC^|R21k7Lrd=5A-LmoX7M4TXRJ{V2}X#E zV_wNL>sM-(LNJnDaV$1w=yQGXvz*e*Pb$h>*6(f6^uYNBgK(|y|(8?wE zQ&9E|a5;|#BRbbb?Hcc%i;nA%2tG9*X03dy2ya>5bKjvuV`TYN@Z)R6SOm`U!!r=i zr1_04H!|e#X5km!8|;`loJp+*myo~+I<69kdPNnEN>pLGIEmOHckfQiY3wA`>R_&Yyf;@TCx5>! zZ)d~XQ5r+FS1=7TMB>Hva0NvEiF@~y^FrD;ow_3^g_8?i?M34z1Da^6IG6QLq@ zvkqf~C7TrCJ=QP|4tho5ro7VK?x0pjY&X9%C!%F3_gptAVn?HtGHzvqI(rhqQA*Qi z-m|HaMF_aU640>`=?8GxG3l?SBq{M*60J~}aG#)Dc}$kq8rpvmMQ><$i%5uJ2X9ei z(T>ziFLn_T0xU}Q*T)EfL|_-jRKJAFkw{6M?}NyLHNuM(GY%#FG19wM+!>LW0Cz$s ztB2nJ5fFKBLh_;P^5{I$3ux);5_NZ0Hfmt}WX#vFLob9pg}R>^;rw3ppa9c;{P9P~ zypV_pD-;`?XB3A)d$WPRh_bn#o2zT@^MR8e&xain8IDb%g-PB64W3Iencvvp679`t z6c`kw?Y_(khDRROW|Etk*#%WC;U=HpkZaDKq}!CawKwr!;R#Z^W0?U-#4t2!%ki ze1Z+KM{yvKjcH|%3kNk2`fDq5n^7acjJ6HC#z*Xpgo(_Zded>%w!*fZB7StUTAH(0 zmQZRi+K|=4Xi#h~SKKnZ&DC5|Do$QKbxPGQ<+FV2x)rxxIoDQ&e~~m@b?{(uX(V2M z)Ms?1)7Y{qcLc^;Tr)J%HiI#fhRf1I>=rPi=+T}!lrNMec5BNn=GYR2Xf=`qO!5!3 zGZ@am^wPCXz#UAtBE9n_tHf5*uhsmUPIjb>cH&^?+cZVOw#50;4k0mWlgSH{kMRx(B2$_`k zDauDY&TbK2t1C((5`mho-`qc-mD-9HiI4hxj9H6W@aUd!d3XmD>k9(Cr*J zc8mqnw_m?R6s5@Jk^Mz`$6va_jE|fA6P&%bmXUCkLka~&>&)Zh0#Jzf+#wf%#3XJt z=kmt^-rhkn2VzGhEy8%i=AuL$I=uT-GH*eM8Y&GMM^omaSmUx1K|ndSWj@P*AxOY- zc^bRDyj9(xGQ+J46Cdq8;#aeyNBHo^BFG|1qk3nU`^+VeO z_Hez`|G>!BSJ}%SU%PhFs@zG~6G9Xs_m!B_IIP`u@sK3QWz;vyU|DJ$aPFx)RTi91Zv_$7T6 zQ4%A>)Ik(KLofjS0PNRt+Wyq%PoHAH1um>dkRw|^Z3jNUgGh;E6*R1 zvQC-tdt!(c;_Rc-P6-YSH78nmMRfK2gSAmdeE1o$lgrZE9Vh%?9CB~f7-|Y^S(K$q zCr+G*jFXxPkc>`MmvF`6I|V56%h((4`+7_aGDel#R)xeJBs&g4w=EL&^}qg_|7e0WJr3VXLzWWe`}<{fbE^XGdgD?e^P^8?99WkG;>>{V)7Kntsz2 z$tf{Es8u9yGm>_zA|il*rP0klY;~f?W|G7-J{$EgQ5fD5Euy(RrsqfX7i z9#}1&BD8UT^Y;7tyAR#kB25SC4VwJOoj_+z>x{3N&lPs2i6yArS%xz|*Zx*RK|w76_E|;(2APZNV)gifoG}?WKvh?* zB$NBNBzLo47@I4KYzoMOpMv0Mi>MQz3t1Kf?8uUe!T+?>mTuW{+3^vnOzOTAE|7VZ z-w`-e%-oyMnmBQ!ikMHUTy&TtQ|X|cjwLm5OA+NVXvw`uW`LP4sKNP z7NJcO`wf6OSHrn+a8gT5nLfRJyLL)-kN7cxdAW4*2wWvl$nC{1I|w+XR`R3cBJuQn z;oimYN1&#(ZG;KQEB7y(Ru${a`FhA_r$pTGE1bM($_-gx#G5` zJKYe~+Wq1ix{sYVGS)65>jGga7cia@PdGBelj$gi*`fguPXv9t+Ov@9Ah~;SyIfra zPxnJ^R;w9J-ua)8Bx%IAu9uq$?OU{Hcb$B36edGW&*Er)0JHVcG(U8=%Q#)!?(DB| zDDBb7l6^rga2q~NQL!hXjM(j|GXKzfT*{BksV2O0BDz%s-TpFR2hJk}%WMtm;tV)K zbY)17j~wu_5joo;>^`Mf@P<>+6p0wF>e>&r+U9p5vG$RfKNqj`$zBtkCuV#N4IutY zOu}pos4~Ci#F!D1C*GCi)l%UI4GK4z)T`uz@~1D=^jABbzkOLB%Lw;Z=aa)-x+NZ> zgalNyDF4T43NasUMz}PAa+-eKroZ1BI{vd!5Fh`v!q1tD77FQ+R*1q3AeFV}=Z7y& z*;c(%%|?br)@D9uF1X3uxmpc585tMAZvdQBJhE(PZ8+}c5eS!O=cCY06?+}?(Hbh> z$=z2Uzkb~hp9ffc`~$a4s8rUOePN(+$Xt*AvbWmYi=l^109Y_9G4rm0?g7 zT~x8ZLLkxn6(6S?=lUZpq>J=HDeQVQ3`*X*JHr8t(UDhNrMBc#srOb#f7kR06qubr zyOXqA*vN=E1+@l*+_$=}hnd~TZ|4cI4$g=OSHsS7BJ8+kH0R)n6H-M7s0->ok>E}* z6B;^Ik!*V3UmFMHdA!t=|Ilu`Fa7->+S+I(pAz~uzp*}_MysA6H09Tvt6^wQ;L8!N z+6_c4?^bcO6|x7--n(UJAsCy9PS%45FSNQ#fo5OPpNnC|-p^%_Ng_e6iFMCLa0&%T zPVg$&jd<^IM=~iLw1d9vx z9T3*Sm{_t;QCg^#-i+Gr_NeS;>`25U0re2cg!xuJ;x-V$U@=q`r%p{$Oh<8o_Kk?n zg$wC`G9N#7qiYj6YZR|=U3>r<3$S_fhYOXVb6}0BX8BeJXN>sKvDjbCP$14}OaqXw zb9~~gu4Ud-%)gM?@O#3kp@1Pd-XL#Qlqe^6MHFGtXMo9Ok!yWgSoJ4OM{ zlH5jh;4+XCA&a7Ipta^%3!0dU8m9?seKMA1nP-+hp0Sc_tmp4%h_<*DI(Ee=CQNc zC43!*z%fKvvlO+9eTAe@-~2s)w1D%t!tp2lz7yfa^$Y(NG#@z@{L>fV z+D(r@`R~JTlVeM}MujPlgu@qAu2qG~3g6Wl%0Uq+RB|2acsqi9<_ogTL`Zb{s)UTr zpK-fpu)rl`mSzCXQYjdRh#HF32f#=lBkz+}kdt<9Ch@??TEe*>klO(TDg=KrjkbRGU8Vg5OjUWfYYkT#_4#9H|%2IK_8# z5$%iA3o>al5l+a*I6NJ93AfTQwAyGE-CnzqmLT*wz*4{~Sk){PxnD;?4e+}17md_o z&v2mSr)e(ST=HZLw~ z_Dt|Cde+M8v?rW1ay8qTGnmiNPQtxM%^!wVfl3(303u4^_TZXF2FE=_H%QbG!yQTH zll;0Ovh>0ElW_fq(3XpdF4wr{aQn}x{$ zG!y!-p~HulilOSl{;%LE0r=qJFnImt-&G-7cXHDU^gd*68x^*oo#5ZW7h0>++1`ZZMSFu-~zRV09L z-@XEWBifFB25`>wlrS04X>nj>-!ZiD-n_pI@fmwiu6jyX=VdQm^xRw@Zr*l1p#6Vc zH{$8_*T4l%1u@_>F=d6k(My)OO>ua(RzWhSh01C7q|Ap8hj_#gl4-6+cF2KKQ`SRg z^P$iSX76=H1#;ECb@CtE*KKI|Co~!T>Jw}HM{|Z z)$vVb+SYM-+_YOZp%>-E#e@anr7`{?EfQK^urjzyluV4qZ6hMW@*@HV zX%GS42)-^`9+$ySRU5ZBIK1Y&B@3P+jA5gk6WqFFL>h~*Z33#G9;IGf-IU8r%S6K5 zM#Y@bqS|lfhuvqBs!Z6f)gzN5mTDy1!iAHVsp%Y)J$f)Nr^s3b|kmxf_H(79R4~Up@ZB?k0HV^;CH4$>@KF! zA&pn^2ai~)2+@%p3q{V>aysNt_uhdD4!IOFZW31UkFQ)AY!+rm&fcwMe9|7xk`9;eRL(Dck+K^(QUBr^l7Fd(ua2g10ha z$PiQ_qSi)VC?>S<1Q2yGk?P^7-!bQI>0*c~-?{mfnXSP;>$FqzegiY#&cu&mr z@h}cyfKewYq~_G>n=)CAY_IC%>zTnl^ZJF43K(l4Q9;y)6mMKmLb{9}2AD*1kVnOz z+x2Z|6GuXl33HUMQ|rS z!A29}dZ+XRCp1(F%wqnz#S_@Vbk_GQ>fw6!1e>YOJZ3wxC#*~sgP2HvMv#Rls>3O_ z>{0U`?guCyGI^%+4(5{rcyO;l;kNmcPCjH5q_h6{G+3+30x&sna+oH>H>9aQ`Sr`_ zw(b2VDt3}c@Y7|BqizGp6D1yY^91-gmFv{pES|ia9M^ZR7O0TH@*P|=Z=-G7KFiKg zB-ur``q#hO*$@7-_{6VUOFVH+ROD(vAo7OUnLMPG2wwpAo<6N3f5xRR^Vr%eOn}V- zWNej6?l!}pFO@d34h)d)Dymfd&_jB2nYzk#0RKusaXKU`H`XRL){^%P=uymriZEA0 zZ^Fb7#V4hu`r{vR3_+AzC&8(W9B(3r{c35bn(j=7yl>oCgLWV=D@b>>rx=4l;hW)r zSrLLs0$(%5v&p_pc1X5C=fNG!{LrtW!p1UoWQ7>{4q7Ca83848&;<0k{})Tw!ajwN zSFrOEiyJe?j<25=A0?M~w6lMy5NoRGM-1hYjq~IXf_)^T0tIMuVfh{E4@3`Kd?6AY<_RPBckxTl7V969S``ji|G2_@}A z_8>wN4$tOV5N4rt*?FVC{>H+Muk%zL`Z8gR%yH&mJi1~7M?z7<0uzDYL``$6MSRkM zggE*sHCoB;hYm1EZE6Q@4-px{L{0mG@yxgpks*{g98FZ! z!UQ~#6fW*eDtJl@1_g+|jxhP)$jJ4`Kj^?|3D<4v1pbYS9QXJJ`e}IJs@y`tzk+Hk zB0q2o1an6?X8!u8*5etoF3!)VvYHFkhN0-#vB%}=aT@m0=pGf6@7YNEqsJf^Xvb&R zL~@SafAmPHS1+d5=kZ_B#%I}}S%ewA*X@o?)E+XC<2K49AmrH_xpJ>jw-b~!ckUr^ z>b#wLV(t()(SXX|+sXUn@xo|<7Jzv|k|n5ljq@vEo{?>|KSCg1jx8ex7bX4(P0p^# zDD1n(;QeMa>fj*c1OykBiy`T(7eyFP3E^K=6NC#QpcYW&Ly(Upa&JaPOT9SZpzzc7 zU$@olr)8g%n=4Yy`D?+Mh9S&+V72Gozb~-ZV1s(Y-igrl6e}p3b&pN(B}EYILrM3* zrDAiOpzGr&XDc%#YD+zH7Gl;Ik7)0#1f8FHWYjgAD1e|l&)&$UHc@sfw?t;cjhdO4 z2W>IjgH%}Bpo|cjCV`R;{_*(neCkvs*Gap3n-D;ttX%5FMU6;kmd+kzP|pr81RMxx zRM5J)Xu*OUz_l{x;HJAd$tk(z(iRndnviZ{QnkLmg&1kz0EPgJqvCP*N68-@-QQnh z;T_-b$B(EUrvDW4Pl^#ng=ncy(e{*}>cdm-U2~3<$!Z!ub{thua3;Qs=L{XZSM12K z=gpHJlfC948}G)>9{Gf-!6IpEFSzY5Q@K5kxRbz7#xcgy4Qv%jSPj=QXWO#qT&@)A z1IKM=q5S`eC`fFo_{jaQDn2&+b(bWqUGV>F#YbBGpNfx?OLsPNRTAMyL_TU^!NAjx zfXv=^-HUPrKofp6arGsD4eQm^3b1<}+O+A-nMAw5)x@Je1fr^>q=!6N0J2;c85+GF zv}g@Cm>7R~E9s($lG*2T!Aea`49D7{^*s?BJdnz3;6Mm7fl2|AVqOFTx|x>db88t# zAUbu5Vj6H<++%yTV<+OHmvz|_BB+Y8NoQojJxZ1cs{^o5OxnHK1+XWp+(5R7Nk6BN zf_uQ@4du0(Er~YgSV_;&tfQ=-5n7B)rQ3k=9#Qt*GRX~rPR)1bMYNfG)UQeb1FP>Z zuGVWx!=JY*IK6nQzNPhKgOsHF^3%kmw7HQsturmt?AeRQ^bU%McBJ*N7+tsOTu8{R z6_FzBwaLfWVR85WBWW$i)lnFNJpsoLrQW=W;Zf>^+GOwr26GlC;VQA!WIpEzlXdIf z$Rksr9Y}QuD&Ty@Q~9;BP)XSob0H(y{Vrfe@Z2F|Z6AE);q}u`>>{Zb059iw$kO00;o7STZT z#9XPXzk!z>E*P$`(&A$B#IRTa<>F0l?)Csw23(^X3^I;|z+}nims&QE>5Y8^We5>- zR3Y@&R9@^0R3u%b6vgfZw*NT-5F5J1qUM`~j4z3fa7+C0e`@gv@*4!qh|K{>iiMfk z5D)w5{f8IbTp!g(PB*=eB3g*;#3 z?bEmHLRbRCm!@Co!&6Z?w)htg9CK<$;@FKBw4Av{^PPj5w#c$#9`3cg-?*b6{g!vi zgs}`!8zoimiuhmNpR25>J=W=tS3MZJ;zbYYnF~3#&Dg$GV|o|srVgBb6p1=Ypuk1s znzfh{82M-a+YOq_IW$X@+&z09L2AaeS5l%2K7to%YNUB9h!`?ex1c*f>qcKJhJb(H zvK4v{>{9PQa9&CWh8GpfS zWkVVJ0IoN6>cJ}`{~G%cE*tyMawUV+GUlaI*b)CZfSMH7j;?NeLP8xCCWpv2*Wn6N zHUzch(7EZ><&z5|O8N``PS0_hV~A>z&8=Q#ZOxz<(!zp8%Gey6_G`!VW(4QOD3SK= zac`PcTsn>_E1P4;j{ee=Y@I;JC#AjUm1jg`8!#ULb&20K?_+;_(B`L)aGlZQFltfI zTkwAcXQY2=jkxzRFH!=C^Z*BEM|NI#qLq*At)^hWyS6Y4K zjUw~lR6O$R5;weFfNjvbC`9$h?Bk%?3SuIwKG71MXo2tXhiX(Y#ifMFAdR-DXH zvd9iv@Q*HpOz$=^2i#iU=%)7b|F!faeEi>}C#wf~*yDQn#}t?Bi86R6DeK^|K8@PF zc<$Jm!cFv>K143SZ1R05Q8~Hy5$Myir`G$}f8$BH8=yNDFbqzU=BF_oP>-0v0`#RY zF{F;n3(ev{T#kr7t85901<oY<8>TrQH~375Eyl#0r&^NBCbQ9 zWty%2RL{fVi?jwR@OkkA=Gl!PR^9u?lH#%I*a}JfhI8Wt6M@iy>8mI$(T>5tWoBm= z>1p-ve}ayM#GB~o>_sCP>vpyDWy^t0E`mRwMcwT|pR@H_zvtD{8E-(ViccC3dM5!j zAZQADow{;I`#zV@9!>7IWv=Q$ltNnw`r@z9euE7#n>&|ET(!*i6b)$Hye40{GpGnio_BG$s?2p>Fav*6d;{xQ?p>oFgdE%7LoKMIru5yos( zhW#)*{+3-d;W$T9p2H6$FCthL?Kdt$bk>}1l-Wp5vUT!QdlhVHb{KzrgfSui+sYP= z_W!ramS=JQsBCF9g&BmyoG!cE(Z~e{Q&5|v=ffTJp zIz!w|n&F#;N&2nrOMGfOt)J6a@oUr#Ke1+Fp1;@VmuNJ$wvS)Fh;d1;$ownDW$cU( zLg>}>BYWZBWG@DeLiRFN|38tvvMN~+M7{G&T*`=32^;)fGazG0_ly9C`?vA5_@ zUptr4q4Duf@sS6^qMYB1E499JDKF~&#HkhEPx%jT$F7p=%d=WIZ8+LX!F%zdo<}~^ zzpl@#EKL4+cJYCCZuL$MTO!hmYRs*)T6vaNi=Jm|zY(bMiBsR}+%0=5frb?Rdq@An zSmqWj3|72JS8Mt_{>|?zls|uPA3w1!5aMe%Id%#|ehv)0ZWHCUH>qFQ#&VoTOesyY zvIX0snXjFI&wuXRr;a+F5|F!ugv~%gw3BK+Q_V&mz?dILJVig}<{V_)zsan5Z-_;j zQQk>|y8mn%N|4*67$ymAL8NKy^P#-!hUwEfT zm!t$*i-;9)A}mAru`%lIp9#3iaZeDjdHjH8J2-p$x{II_ivj_tEM1>@!{=Eoe{O`u zDGrB}xCygQj*QGP=iChlsMizfo7K@k@LDpqG-GMq^q!t1NTJ1m zEL6mJ0z%Wwe?*A$GBhH5rUl#t_m1~VF}1Kz?$^&?sJU7hvYaLzd^7m8X(OF;+!H^U54_XRn#vNk)c*%LHhiXJUV$L;%SXr+J z3=dGeM39J}N{iw60>5a)%w8mV*_Lxm@r751L@)3)v+^-3Mnbm^Evb zg~ggEGmLp#U=kwpM?ueTNRFgStw+AVz3@ac#&pF#fpB*%4!!9%2O>=j?I* zqQ%zP#D)kUH?x=kQ;t$9GLDk7WM}7mkOcqPw71?k$-VjUD6&0y|%f`3C2Fz7uwiCq~qD#^` zfHqpIQ2OJxprj?O!!qqI4s&|=IuwRP8w;O6BcpQ6Ng;qQrEfDdbS(*s7RT+?cs(YX zV8@ukxDo^s+8EKudUygJIYIqJRSmk7%K+nL)h^+4{fZ_*Cm=VWm0UuIWS_MOz&))J zSFP_>w$u#)Vc9KcvHNYZF|#+k)P(`a2_xA-amOuQB3B21Kr zjlHpC!IjOiaP|=q&{r@SQZImb3RdcP!{Jr>2dCu5R`O<8ikM5kQ%uj!o@ZvJv-5r}$+AxN&m^RugITTAfg=;{{91iDTS$Sx` zpk*XWiz%zNc6O<0X$Cy^b7@C9wDw1DgQ~7y_wJfV^Dus49&8{wt9n==3D=>L6R-+G z|MWa%(-Y4gZxF*=xDbBm9q}<)saYXf-|+h zHY8{VuUXNLJ9p}`5Ks+yNa%0)FxCe`qQ9WL0Aqw3#Ku5p4_Cl5BvAF8e^=@Cg*g(I-B7tt-!?$>!2{35cveY?V(w`9b(YFfpzzlFqVP{oz zAVNnhS0<Y|vQlf(MwN(tQe{r6u8h8BhM0ROjDRVE>G(KR-Ia7lZA+AJ!gU8h*d zBHthPK@AoQXjqOkJYRr<3(U>yKo6OPe4Z2&mN7#-h-085#OEE;b^e?=>jAS^%E-H_ zkeqMk3~8mHfMJ%~(UOt8XnF|0<1~paJoh~-1S^nWHU)WzJVeD~WiR8HJI@}nWI0sh zFj9*g?Pu#OzFEUPLi;YHc>-A4Ke_LIkO`4QyVxG(8R+J8Bq>;&v9BOAus%gYHn z6HJXl59A&6tfSFxz|{KO$+B?*C&ugvgfnz-a8aN{$`Eszm7ww5h`(2UTm7u?iW3Aq z20e{q8bF=5k&|~4Bnt(cHM0YY?X`HTL9U|TzI&Vzk5mogC>RpKQ&B)1vfSY?*3joa zcD#>htcd_{V=vi^IXZNC&&6ww^?^5?H+QZQv^Gw2GYoYiJ}k|aqUvR-+Vb^lN7+Ul zV-<=Z815%5AUKgY%AtNeJv^2zU(T63{Y?IrP^3eYra=xQFFLj)$k@E0anl#h55C@3 z2{wSQKsR893S$Kjh*R)o_!;5PTj1`V$PZ&`d1dngbf8p2A3p51&v>>D3(u6{ubNg& zTl;mSp-P&0bka$B{5Z)HifPq@%sm%#-sJm>tho)yNU(Kb@6%tIsuW~A*keA^(!0)| zHLJj0>l6c1WC2t*6mXO@etsp6I?zsT4VA~+s+>4^Qr|^M6Y(k;Wr`}QGyESA_2p49 zY(kqvULp;?ipR~ncWoIQfdOo)`pDXoBN*Z6R@^JCNb|P`(x{!s!5l5gAy!v+oO01jow8-ZuleTL?n z`3X}TQYSo^_ropv^yx$TfnGKyB(Ve{vMB*^vseZ_q-u1T=^RbSH_Zt88wOl{jB^k| zNX8_xFYhTn9uBT`^5nHeBN?Z`_0K1^i%-uYrG;o-Y`ij}pP$2ur_Mt|w&p3pI|Y5b z1X6(R#zR7JMTvkE8TGWsL8@pqpP^b>?}tP;Yx~|;%L~W!d$dn9P(?*T*>ms~QZ)h6 zkx)~IJ=Tpnl2ce{YIMhqYY^7C8jfje32TLP3o)+4ZB;cN+r6T27;P)$gWz;1lZ58}DBJ9>G90TFTGZAD#V$Za`O8FnYuAh8! z_K7t=cH{`E6$lu>bnXl+g@LFKLwqj3eH$j}57-qOyP!8l6J)FaIEd7{J=e57aMcyX zB3Ck`R9Bq%?%V=A8MM!B5sek{PuSsw7m)_evF4h7DUbv+*r;*l;jnC1nb}*Sg!P`(lg_bzj-bIsP&-^Zbv~a9V`_NDIuVA!y1Kk?6kp$J?ra7S`VA zUcJZ*0&~ry7>BGgCU^|*+`Rb!{U!Mt1xbrX6CS>f|7hItEs+h(cw+0jmOV=)DCHET z7FV#f8y5%(R=p2A;bn6V2QYM)PPyy*u&CHpz}16CjDY)?H>fL=Bp1}_B11-t%sV@O z6e&Rjz5{;eH1;w+BRPRYZs^ddIw1@BrwLv0pAkIiI~3RhuZIZ_1xGU2z4;o&(KV6bz(%Sqp+GIzgyij}=)DMn<yeuC+ z%SnFrtSz0TPC%JVT#9_w%#5*uTx&3=Ps+>tb?r)KT(S0G4@~#0L~6@<^|npUIlC$3 z1wkA!#)-&Ioc^Rwc9Nph$QHSO+~D{wh3jfZyVx_c2I1xTtA~4q1B^p0V?;b|3fkZD zn8H150i*Ny1S*!OTt~cvSL$SDF(feiTgZN5%}LhHLEul(e6<#Z;xR3U{&+5lPbE>F z9<~t#8fzGNXi9ziGJKMhv)QxvGaB;tZJ|RFZUCBHY9&fWwkxMxhfQ6!$%Ft1_bCpoH@r<)21+_lL<3>P!5Xes(vYl_wD=2 zg!GmE0|w*;oEg@A=ha1gDRJsFWYp~wUJRy7+V|Z!TYmEIQe*DZy4ZFK+ayasc#M-P zk-{<9)cPva+T9hEWHRme7pMtoD|{fmjL9#Yk9QS1A>x2GM=(EsSQuBs#E`jmj}sOs z?)UL2dc1nd7a1L^w^!V)V5k764oVV5l|bMko~6i|SvJ7ky^*r5cuiM&tN6TeuM7>a z*CI~Lq#&&?oLoJsRetDVzk3}mhm|51H|8!WEF9o-2b+sEwOcIbeMEncz&3JfXvq2517%s(%t+ZH?8A+$nv zN*|7?Wn-SW7Ktr#NBc=y6Yb}w^2vlnYaS(Fm}^4 z)Z20}(*kx$POzbEoJV+|1Z+j!%3SAsD59bwA0!1ncaSyc5AQ^5f z5|M_(7xI?YbLlcuM0uwX1 zIpq$D8eQroLLmq~#Dy=$&7rySkN~f2>ycRTYg=SX{V;}A_~qBF;GOV)aAijUJGnrS z=x=xQjW}~Ajx&skJ$Skwinlmi%4qU;Pl7NaMEotrH#|J!SRCZLfu+%wy?gWKfZH#} zsSnWvbF(duzY74=vGv)oFz+^H&HGy8%3)~(6jeA1Mvord%3$R0h*f_7eIL{COdjXw z_ahaQdb6YiV%71@Q^Ih3_U)TxY}{Xlw-CF_KExqK5J}a>dWuC#6y^SPv}(vpA-gUW^`@dF(RJB6jxo*@ zsiI4t>isJj-EDBrHmx1=s#U`0=1R&EA8znI7}t334~bqHJ>+c zC0ZDRb;YE4Zd&pF{w>;(_`Dg-?Y4D_>3h1jaLb?!A^T;qx-Ym$pu!6}YkFH!F{yZs zg4O{HVBvbU4&X=SI&nUa>hI&Fh$VCY!i<$~{TmZ*0Vhzh5=&QGORx#3Y=@jtgyoDr zM{U@fY0^_~moL~ZW+jdM?ou-9RY+WKl!!^w;uB&`3Yi<$bbPSPoI7vI!wYI zhKNfloV;lig6CAqLMah%!QSWwoM zV{UV=^vf3-{*&pO8P*D-f@Ha-@_6H`*tKvIbgU!@p*FNwxNsAY8#@KSo>p0|qP+~Z zN?p4);q~_PReD^-SvG6z?1&jVNPe!@O{F&SZYy`Ue9@ zMHASVq2K=$8_O8bhM`=Xbd+KT8ZIWR>};*;a%{i*EQl zs8+1o3mMEoxeR8cAtx%tRr)HS(RcoSnrh|Uk;{ai(Jnf(DTipcgrmHs@EPBrrtdU5 zK=gF^8ua^b?Fj-1y2QiGKfiN-Gv8RG%y9y z?*ShP`VZwY1Wse9RlN;vJ`ONM3=B?Feip06@spiBmQ{gZopS`TjB7b=(#a3cM!0Lg zy24>nb{-bIU@GP4=j|Mah=|z@MQSroXXna-G`Dx7i;X|^Zkvgk9IE`p$hV6OTKRX~ z+hG(EZB@9PYY*d&om$9NJ$UOWBim;UQpg`KN1B?#B%f~Mf}{J~Yng;Q-6%Lyzpmoi zfCV%>zCJ$DV88pLk0dJ^j)-pD*ACnt$|Czr6CONi?<}x&u5mDWq=WwZ_jl^uTj$LK zu5I!N*{jU{3qwOklTnM<-1O}H*~Z4mARk-RznqsJH(${Ksis(}+}AuZ7&@9`axix$ zmJ9}bCTfW+rVCuM4<5{CwkDkmJeFw1;^JyJ&XipX3Vy&72UBt%n?L!%md_MHAWA%6FPGkvdElASy|64UlkRNC6xd~^#7sl%>${<`~Lr~Yi3H*Mw?1y zsI*gBNXm>PNi}KFVrkz-F4TYy!0I6!s9&58uZosYKlw*uszA{3LdiPbspE(kDes zLmVVrCuW{c6jv3^(kQF8XsZ0S2{0NNAQu&HovZ#5tG{&HqLjy%>ZDCTeqgDdUx8kY4PIg1vZ$fX=@^b zx2XIpDcUJ-sr4W0%_FbXEER7lcwEDA&*Nzx4Lc!`KsawomUrd^XK$mO{@5;{dJn@-Pxc zL?@^vGT*p={;raDasT^qPYK`DPlwZdkI!p{k9r}>y_h>!IE)iu-H1a^Nw_pZNskx{ zL=6<36V!a}7r|`3e*JpMS4f|ee*29x`@^Z^rL{Q0_%<`5P9$9Vhi8ky=D(J7Y)Clq z9AAy;qD4bp(R9!uplPCd6a+FqTQcG7ouF4^dYi;Lyujum#_fy%Zn2cG;FN&B0q(o+&tq)jX_P?A6~+fAa3#}Z{ABNRwhHZ zB`IzH!%mB=9>fvBCa0voZ_}?MPr+>w115yEaK7v^Dwnj_1ICbZnum2l*BwfbVvJ6WTD|d>^QT*qC@I>4ljriU}%3ZInHjDmNT0a1$VEi4#(iYv>A%<<}H!jB@1@gg>w?~&TOnm4kpX< z>;{BZ)N$!0%(g?gNHm~GIv6^1lmybZaC|#?)248&>zw;dNeARK^7-$S1&YN*3G4yp z8yjmXQ{bZ~Gg8wty+j*;3asENe)PLQ(qJqF@o`*&BuUB0b?%%7>dolncPSjTcooWP z2e+W9tc~vo>DY+14ez`YG<)yI%fKvWV*0s0sJpN$Gw||TB>*v)z@4&?vnY7_%>D64 zSwdQ<-%?#c-r)gRlI^+=GcYvlth?phI!nv(46Yze@JQ6@(@TMk9O5RbstQ9sbv~jd z>QiYc5|VP3t<9pXfZM(^7}T;%-G{Vx4ggQjnZ)^bEM%u2P2&}+sCO$=*n zFgh##0QloLB|X{?dO5Z!t(jAOsfAcv&L7kLcvTNqlXs9s0MCpW58!>kh)9uT1XU#g z7tF9oRC{3R8?ytxQuo*bCLtae15t@mrmVailMN*ieKxZ!c*{H)*t&pp;;s7k@Bg8? zx|lJguCB~(B(jx87g`x}1mmp)5($Szh^{sf-YgLzthwqt-t+!S#*+)K(p46W6v|3O z$PgIw3*9ZQnyJeqlk11qC8UhxqQ76b5KYCzEox{DncK@8U#isgc@uH< z)>IS_4lkpG8`4#lQF6ppKu>V!jaqpx(mFzFZ&x|j)L zy6)^T`a6o7Chb6A)<;qlS!%erPRv+ECNyO7MkPI@__z1k%iDDOU!xbroQxi0{}b^K z3nxYV%MP9=NdF6Rg7IPeTuFw~=SL#>cjv;@@~v9+7$b(ah<+d@uihFhXKRTNGvw|og0YyecDrp5^G;Z9G z-M*bnRHJAYSK0hS(W0c++^20o*Ru^}2c=%nt=3F2md@IWj`aEdckrDRmRa!@h`W!kKh-s-w#r}0J>|_5i%rY?m@sV|$N_OgOvW@iHhStp4pPzeA#eieTynVgINRkcVsi3j z-lE3(^u|6R#&{trCM`zY$c!ZXL1^$yuzvB0xXMyOP|muj_0ir^!H57HBalAbbqTER zxIk(-UH5==yOBG4O@9ihU+DbnU-g{K%^n%K<#WAy-D4g8TW}RYbTJ7x!)*f-9JX2j#VD`ErsZnDsR!B(pp#EFdVTR1EHJ+qM>BOJuA{ z^U?2#x@yTsAA*lg^;1OrKo@QiX`?iF@KhP_PeeX!SVG3hQ>NU^Pv&Mp8Uu*Cc=7ik znf%EmPdtK85(m+{_iH;XfBUV}lkt+fH{e!vI>({L5S=JouXtQkZ?%i25ZZK-7!k|7mTt)Ok zRNl;}GzC?cOd#3MT{KY%qQVC4oZ8`cN|H{B6ETO?U?vuM7V^5o7G7OVkQY|SZ`-yN zDRI03Tr-6z3$R}CMOG6E*GC&eSOE~iM#smBkrzCOr}hR1(?~fvOU-1krHLAWIAwPB zk?As_css<51+uRTY!FvQ$&ziM3N>q6S0 z@IJ9OfeeNZ7g1$MsXqXH_#Qo~**}F&qmBXEOf_APH-}-(u?sJWu!RZfz1r_0wHSRm zn^34E0{eRz4sg}n{?QH#87BzpsIzT0CwM)wZ$R!rb$a-uF~L*@%PNj=OCs3J*$3#OfuMBV!A6D5G~w;~CNA@-m@X*IWl9NLAML!eGK?uQ24k|V z7)xYuY2MI6hE;OEq^9Bpo#D`Tu|a2lV-g1@Xm+|E&~%vOpUW&YQ}s?kn ziD2!d1`Izs#uB+8sR8*1uG6SN7)0tgBG~|0W{Z$FpL-ZUkLNJL$B57AO~=X9ZlhIj#;7HN=8$uuGaMZy;Y8&Pm)R#KjSckf9&-y=o~9jZ zCg0gM$`Q;}*B!%k_0JUaT!!O&cSP$arfKD28}^@ul2a(v3_HupRuDuL{od&4h*MyG zT#^$6C{8-i)EA&&Q0P=<(KAQC`wz^e&VpFYHmzhCP)2n?HWYzB`GjON zIUUNF;KYP45SFS^i^iw#ABuu2cu|Bkv@V?!)5`!u8O!v+==g~fV&DXKE~Nmc*4+lr zZT;5BVt->#Qpb3EdEuKNjHW}0db#;H*N6yv9J(ZN#;<;;>^sB0LwRSZWB!a_7iHeU z2{$6J6JskG$Dz$ELZRag3^@5QNwMMg++0QNtyC0HKfC$PYJv3G#RDbk;>(f@Tdr0@rHI$B&Ft;es&^NM|)dEl?Z)+i@Qf>=Km0Oz!z{ z<~l4h#v(*yBdA9;j50cLF#(m=z$Fi%CAn)gHs(DBGPA~+U7H?cJT^4n7Wf*f3+xzs^af%h#a!)VAF_Fo!i&n2bUwk$uIrc_sYWbpS+s49V%cV97 z_A{HZey{gO+{#8G$^2tK?~_cVT(xVxFGekvYD=YNt6fcadtk;|@4Ev$aJcb>lqAP9 z2v$|B;Iu6eN)-8NI6|ISM{L{dgQ~YNx7?|k%MvCZjNf$dB_owOmgqCb_tS-(#pNW| zP}*Yl68xF2Oq6NEpR7NoqxM;r2;w+s<52+FgEvR{& zm-}2@QsR zU-}0#(&s@z;ep7g#4pQiJZ>HOztJR|(^#~2`5`C+iIzysiYh+2NOW6bF#G?g+Zwd# zHB)DsdaWame$JD0TB&1dnjH!GDyJW=7A9p=Q^5rwSk)RcCS&9D#f$T&sl|OT8ihM;ca=myVTCYWhb%=DjGLb|D2#D1z6{mH+RN=uSpZ7&xP zFM(c1*PU?$Mwr?G<$y)^$>(Xe9@Zq z!vw9Ny^8kf%Y6Q?1yNY@0AY~;SRV#Ub+9}9erYP?|I*aD`BK9qt(585G5Gv>O^%I| z6Sh4Lu~75A>()Vp7e+@+JM7Z#fS48v#Ux^$t~3QS^7G+ek)m~m@C!yD!(LiqX<%d| z6wu5*1Zy!;5iBt63au(MAsn~JwrgF#sg_rPj(80S{tA-wBJ2JOA~m!2^2=CEIB0r zrB)@>{dahpZNWkR=r+zjceeMJsI*B}>C5Mz)Pm?hv7JgJ;JR_{Y|($ON~w0MkBykdbR{o2q86&TN(68Vdku zZfL1o-HUtLug=vs3{|?3sdle#neGnD-D*}%eHM)~#Z<{)sc&r1oDtKeK$%y$<#F+humQXqtm^%lZ9= z+0hRZF4s1y;Vm8OX#c0vu4cDHP5b$Mihu7|Utm2_&9%a6Wcj!?VOcmqc3tc#xd0=m zjUslnBhs=gV;TxdzWQpPF%FEMvUjV}jkyk4?Ucln_)|4MO_lzJpMM>h@}*hTdMt+s zCv4j4=DfJif3*4E!Sb~N)%d@D)pQgm$^Z3Bqw^PpO!ME^;dhlj7kO>NagE`F2P1aM z?4MB?oM$x_)Z97Y35qlVMyuV(C;^-=u@ke47j4~I%K-$zL4kX9asR_y_*CIKuZ^T% z#`O-KUocC}zl)rdNN^;IXuiR7i|-$|zZ8AXqWmKh?0|i%Wf*k?&JQt?=7v3!Kgh)> zQ(zka!gG2Ns@%TrYH9wM%*T~?wXp@Ls;V|Pg(8&UElC38`w~*bxl-BKXBfnjzwR)A!}xnuYu&G0e~4=DGE%;Go1=M(sZYb^?^x;YQ|nY;S+R9u zUTSsS_Fdt>`xMt2ndM5f;~*z(8mC9gZN9M>Xd1*})6>7Z;jXW{v0PoycIz>t(B}!c z=$=e+0uZ*LQtIfo?8Z+hNjXW7&1lhFm&OBsv@dP~xcUF~dA5 zupzwhTP2~g8hd=FEGQ6A#~UPl6l(e>qAy)qhYmXJE$0+U)+`b^F+M8;bG{5a1zs>l50`{5+ptWz8fg-yr6J^UXV|uhHoTOyeug(nRg6_kzY!B zZ6z`}boB-Yl_tB&PI^V&J;IYC&R|mk=_OBh!iym3!h}~#{}3&)E}Jj=Jt>KM`Z<8O z$(Ef`bzG|*+5Z-#p{_s|YjM_lY$1+wF|H`AB-@FM4h~(2K?lChRhG)Lq@<+ZW*_@P zQ+tizcaRqKfTKE#g@2oPqJ8^bmzP6rMBHCVe}cH_1009MvKpSebVHrSn%fnNsX2)m z0es(-BPYE#B)`6{_KZ&#2>6%aU3MKhv~~#y zScP6n*fZJ>CcY3^XTBEe4$%`{AjV(@&N+AXEV5TJlo?SBAO+r3U!;*BM%<}As`z!` zrTy;inoP6857w!n1<2R*yd!gw0Ol(f%wr5iu32r zr57LUlK5-JTDm#;;R~-a*OCtr04Hy4IDZwiUDPuD&b3t<)_ocu0I)ahW*o&1*N}&T zMm)Y*&=1!A^wmd7eYeRMvWqb7zZfBznTV~v)7@Md-NFODh4)n z>?rZ`D6>4*Xqj+cF&%9i5tTAZ=-L?c2RzUo+s5EBI(lns>ohLQ?z$+v%(oGoXdZ2s zvNpV<(})%)bL1s)?^|1N&|&Cf!E*s1oI#FctUY}A{lz2Dm|7y|p(h2vl+#73X-o4; zX@Js_f1(+$L2P+~rA&~+jV?0{d<*G{D#^|5_(okVcLafX53#CrC|Az|eiB>g!w1g8 zi}ORDb1slt#zd}AvZ22H_L#uK)&o-ywj=KDzIOn?VqoCl ze*KmqghpMkn`yovjCfaA7jPq(wCgCsiTMsVcdlc60>?t=sZ&bBhff!A`nZebd-XbY z_^=pd4J-i@5ofO0t(%|&!*_H-vQFimycFQo2+snmU!pipy?Zykv=Sy3uo?o9Cp2jf zk)Y(InfNw^8UrbQt3;#DmwzRj^oKJK*#|r@ob`-!K|?oe?AXW5p<@?p`B7x#qf@m= zlNLla9~${jkzZ`%@!}zs8A;P);=PrGIx)JUhlaJOy?u4XPvAG8*aBBCu+xGn14bY> z6+_2HTU!#pz|2`*V)mQ%^b25SD09*3a=_=`p@SkHmqUPn2(TN5&&S=2L&=44ckr9^ z7XjByn%0%^ouLtXJ70^D4jh}n2{Ix_bNrjgB#Z%UqHelO!2=iM(M+3!nMsVR=AD`? zvmtG7h!^GB-j)SfxRr0vqdp`I@VWaqDXP`+oa`-i+Khb6|VbN zfdLc`1I4Tk%6y?Rn3xGiEqxRWFT}$X!Br)hIENs$mV68-QCVF_@|px<2Ck2oU&VDk z6BrL<;haReLMMg4fw7iEn7}@iRsusoMu%h)>W%-N0t#dSz!x9f;S?mf%vmHSka~v( ze5WiL3p57k=YCoEs*{@X^x_N4!m_w{gaapWFYbOv1Vv`{xpZ`_T3(e@?@36$>wUx~DlE~1|huxrQIsAuw#ls=Q4FTc+R~s!~ z$~vf3b)VM&2hXB61(9ZOW%+JXRmG9i%1IfnW-5m}1frtDzfTH^4;!6Ud7i4b=o}69 zOBlU&N~Y5*n3Ywrw%?xp`x~12dpoTm)qMu_(f3>gVZ!ejQGy`u801ajJ5YuQZ{J$>bgS(XhT0P4K?uL@MA_P+a>v8WXYO1blLxxoaP*rToF)LS^18Ss!0>;FK8XKu8w9+`v1ym)5hu}3 zNrZS$Zb}jzEkpuaz?4a9=r&l`U}Q!zmN?TaY|_`?d=n@v>o=+P0Fen8_`@z59tTYu z2|DF@utW(KG6h9N=h91DWdYpjG6cU)$TAPlRTh7y7*t(=|0g$K{L+Joo5-9wempy0 zVLk{iRPlS%yRXD(AkHhq1zK1i!DE1|8C(N*Am@T$?uhju&{}hy#0l^;I3ekUAt-{!!?ci|yBtK>{rwH{?SQnxSWDBPz#<586F%WlP zH28l1o@Se%WvPA6a+c)${`+^Xh%nQ-o9Yi!kKBL!_#&L&rNLR8a|rHjLCB1=Kknb( zG4RUOb^+-?5BlxDRYHNmTgu;6`PYuxVR4dkm^;2aV?{jdG0m~Y>IqQZ{rkUc-7R5r zQ;(vtty|Myi5wt!u$;)Zq+;Mw1AP@*dl`rq2h-$DBlO@Tp-2@S{!pS;6&*4auJK+5 zT34`UF_*HVstng8mDbhNV12%SV%&SwMjQK;dK7hi4LZsk~ZOYN(m5QB)CG@4zm zt}Le84fp4!Z!(2IM*gxqQvXa_WWp01u2SUAf&7FKhdV^yfba%)ks)vC#OO7~=)>A5 zIxY^KfA*I7E{k6{h-MIriAZa?y2q9YC~zRi0c9vc;+TQNYuq04>%-NLFs}OB-gy4k zV*-9E+Yz&>ReqJ1k53dT54s(2Uq||$;QaKNI%bTPfMO7^KdmvcLz@mPcKDk4@s1*) zfuy2x8%<=@=ocyO+0A5Ns4xFEFx-K4PBkE)&@g%lY^u(*Ttat?teM@x;SzLj%yU&F zITi4y^b!xK@TjLSECcQ(rBk31$nPKHWQGTU^qHNq5<3RH5*LoAqK=@8xUPc9lxHiE z#(_PJjYYx$PU+m5@i#K|$|%t-(t4nKmrPhG=5QC$ftjV?XM9o8T3tAOvJ1`LbttVPiNt%@)0u_m*7rWu&rREajsJjtBmX2k)A@ymFkrNJa*^?Y~W!` zhCs{ob*%Wo#P{usTX=`{_4T8b`9Sd@9<}RD2n(1DXJ*u9yRt-THSijb$mTcO^p^9- zCcd|AWm88TY8LNUOZ7s$v_$6PBTV>Y9uh6KK)y6 z?sjx8EKibF;4F{qfp09i&L>I8Gernm&m(>H><^|ahwy+G!(VZ0lUA+>l7b}drTN?x z;cjqPunYIBn3~7gGJA*@>nbaHQ>oBRX_Kln2f0pj;d>Xb`I#I}-3?6&$cxr5Wd`=5&8!M3Nu=hU}2nam&3z1Vees|gG2~xDVO?q$5%o~1X@{9T|Lv#koU?E@j5y^S6TKm zHL8nFcoQ|uQQk#&&YU?M!y+f|BF6com&9gSwzAnf)xba#U6MzSy7w0y)2G+JFwu2C zW4ZF#uOCURvW_4XsAEU1-W}P({^J)gkOasmzoB?|^4cSS|b$jRcplH5=w#8PQC z0qMeM|I(pjCnv}!8eYQ5Of2rDrh7CbH**S34b~;q!i8deU=c19jW^4FhjQa5vU^0B zP-A^UBY*?)ii0S6eSET>JRyX7l=c>O6Cy;4LM4BZLhjt~3EwL)Qf6tyx@?3b_=g!~ z!eQU!EoNnscO~K%&CMrLW5S<_)G~1DI;^m8;rFQm(TWAuK#Pr8{tDgBdJYxV8V8RE zvStI)`{?I9LX8bHfHnd3A0nnBCr`d9DA+(b!f4_s(`R^4Bsp=WDD{1Oh{wVh{^y{2 z8Ymh!;8RL_fjMIfr%ES9prP8iG2-Fs-o`Jv&9xbI7W80~^QMYXHzu_0@zA5L%f@Mq zZ-1*ymc+x@@khU~ zMfLSV8yefSx}Ms>`L9X!)*JI4UX^cEv9}n|wxncS|MSLy!H<@j%bdzAb<=~jnR|}< zOW>D3^SPndpzIIY*Jom;droey|5}}AUJixR{-0y z7i(6WzjTRX&MUs>c63sP{_i;7`?a1sB*VQMo^^4_kuuH)URdaL@?`wxvW0F*T|BO zye@rD!Q|GN&Cqy%x?e7nxU8T^vmAHx3Uuw6aV>&RZSI~Df#18{zkR#4#NXSxYKW6Q z_D7DDv&GrYBd|X*i3*2W+&rl|y~Zbf^=N?pG+{87q$BhkxjJ;d{>ASOr}PDbrUC>K zq%*l)Xxm)7$82sZ%3eGSlxwiKq@7GW1ZT-`!wJo_cd!}aLFdXK3$qmyf^WXbtKGdB zejSJq87p~iO)^%d{2e`TU<7A}*d|D3WD3@Lhdf-(bMP1SI2j&TqkkO4g`9t^U-zD- z|3rQ6uxMXvkDO~q>2wFf##?hR03yaoFfWy26h2u^?UM#=L19W+#QBPbOT-N_$P21{ zLD%hf=K`)x+>fg)Iu}YjRD1vm+#>*IE{E~^&``8*J&7a>;3&v6 z_bz5}fA5+hYj4;#{iu)kx)V%JP2m z+I8yWH+CH_$CQ$qarl9eSiiK@Yep{ScFDK5yRG{sSfV$@VQ9 z+>*$0k=LF$oQHS;>8A!#~WyIc2T|j@y5n~x2o8fWU=b=o7j=PqGH0Aw72x{{`qU`0beY}&%YB9&bC3D zSH5auCUr0uyJK$VD74ASjDR*X%>CWca&)iivh3=ln=pkqsH2@m`xw!8@R^7N8qz4P zpn8RrqU#x8I_)yoF$UjTWokVz%^MN1$gnCKy< z{wNBF%=LSvU(fY!gV$H_Nk#1Aoss}WZ(b09q!{Qlf@{*xX>Q)#xz`qt?#1M4oRs># zpFDkv2%iuCtm1T)^oM7rh|q@Hg^m{Oq`$4?*Vl(L8sq43sAw2Ly!>0k-9l?l0Vg;y4(F0$FE?xS$;=r3E z@;DA1K5Sq16ox3>;2h9Iy_rtASdZ6+GHNo z`i-o^z~5MafKhgi3|D0J;SU)i>IH$pBQ&z?q_3w3d!x=k^C4<2^l&z2zbnYMvYC!y z5$qEcxBIG?=x8Q(R&-G-sf+&Dok6eexwzt33CM0cx=s4H0r{Oo_fVie{2$IXjeGy! zh-0@-!_?FgXezqH#5vVFP<#BHNd9eU=-Ge(9r7K(5D1oi0;MgxbPIauO0t=+vEaPT z9j0FRMEW%Ilmq&yFu)9GNQA0^emlMny%l^VL}^(_s1r^XCSckCUZTaF&@@w7=ZErhHAZVDo||STwgHF0CBqRNIwy}ab__G2VCIsc1_YbF zqrTbT%M^1@8XOUiM|9)58=*)(NZaQsr#1wjLI};y)X{N%czQA}3x*D@M}5PqSa^v{ z%lB+McpbNZss6ZewBTZbGVp+j^(yQW^TTlKSdC@mqJ~BUefkg$4f`8AJ1Ej$#endY zUsQ8t0zLYYzd9dRSvZVO%upd+yi!C(qOuoZPR*?ou9C#m7pA_Y3&rX(UQSHTBwI?Z z|3#MROz`QD&#&VPk4K4;FSsV+RC_EujqT7EM{`phd=Tj+gF-S zzQSJpl1{EFeH}f|L=FYVydW}5;m-~Idl9|y;U!oE-Cy*Ux2LaeV4#fejDfCT(W3ve zlvhv~>Uto4_;=0B)v}1}owB%fw|r)=j&se*J|`Q|K4*g)2OqO0hl=1Rv=iWFzwE-u zD~WzF^pC!o55PHR$XpW>`IZ%<&6y@98Q1g^*j~Xzp>^RFhErqe?<*uX+?VETYm@|_ zDM53F0BKa^Y)s|!7W@S8AyJfhxRAft`jV8rnieO>r3)8u@ywQ}PTK5$_qmOxFxi%tE@Fe2o2yD_e_krVcefcqNo zbXmq2U2#)%+5%ev)d4CCQG4Shh>J63ZsX~J9X`76^7PoZFZP#@z$U>euhSm4MuGEX z+bkkR`;%BQEiQMbtV_)MnBa_z$x|p7?`sg{r=_(}n_d9`+oV8Z z-6PN|v17wd`yyOf!LT8BaH|~_=Yge=X2OZ|)p7cS6=FOCXSufU5RoNGmgot@RKC6< z0a;83r*3j-BZQjVx}V*kBAZPzfABALhy6d1&RukyBpS11sKv*O7(qy`Fd{9K5phF~ zJCg=pXu@}n#WtC(PfpzKa3hy);4>(*>tf?8=mzv#BKkNYA;GyqOyJ0cv*z5UL6De^ zm82VvoF5r#fG+2)*8|)hQ6GEeb`;3#vSzujO_?;u+r;a38hQx0@X@0=gp-q-Mv^a) ztM$BbcHDWUgby2bHM@*3if0^j?rVaTnZh!dj$zOs5k(y`hgBXH8CgRMjGjdi=%spL zYWO3?&|{B0;_yWfG=wRR8&WN{LYIPB_f(IQjL6Huzb-MYM?u#GnO+qzMEMf^DN`b7 zqpn`1>czc2emt*&_rtIgU=YHkTMu;Gxs$EYv;8iFTr>}`#c~6q9pohbGSNIfD#y;93n6F)VU^8VV>zmo! z3orfhM$rpR6j7H1u}%~69{^=!eGqn|dwCeCbP>s(UcdZua@@w1xXU@rz3vtgq{p&1M>k%E(I z+Op`K2%PVCa_#!{I2lA%1eM~<*bB##n_A43AOks}=dEuZD;#@xgJ8nSpZ%ms!Et((hc< zD_1wSna9VLL0@1kh%=tvlv0@2G(>mg$hU@;F=;p?`1tubQ)!|L zB~J9vp?4hD9sRV%j@{gnK59RBXdg!NP>glh+G+Nghxip>klBCJGT6_kd7j&8QJF)` zF-~Cs)awj}v;O)k^Bz5#ocQ$ry`852#rR0%k#6O;QNBqyNR*AtX)V=AsJ&nPE$8bc zZ1nG1wLnj-HLZ>RwIll}QyK(mD*`@udwMcrDd*a{MUyA*ls%1`f}}Mh!EBYLMDYV! zw+Z2d8gfYd`I}Vj_eLB=IQi#=2%kQ$N&BoV5&VCrm4kv5PFzM_VHUF))49!Wu5B^m z7!T^&Pj&rmJvQzZtkEJ|5Da)!0uNp-AUX6*V!y~;2p-|8OsTqN-H1?+~e;T?B(Q5@$ZNH)8M41dV%fMbn z0H9FYDT}@I_JaqYTazB_?=@!amMn>_@z0Jz&6Vh6F=>_d|D2J}A#sRe@*Z#d(m;%I zdM;!e{{HmgO>K#>Fcy~B;eNsfaG#ljDk}P7L`};U1|TK_!KqFlmRlHUuaEkq6@i72 z#p#xWK3O$=Y(e;nEFS@W2*)iXuSq%5&gCO|kT#31`)ul4x2`DKh}W^{6Ft6Z z`{WdXzmktFG2G@v&RV-vB=Vu$7=UpmY4vCZO|8Ct9i9{Sg;7x(|uV&SObe78gsmY zcknJ#RUL;9O@N_TQ_zuM1vG=X){0IGaKDR8;fQAr@T>PL=e?w@Aqrb#c|t$@xrfYd zQ6JJZ`+WutC1NKAgTxSL)R`=Xmo}PIE3UGv42+s-fk3Goo#uh=`e(Lc{WaUf321?E zrf1KRJsg4BB3gI@pg5H&it^Dl_cJWpgO71mSl{q%0Rd*pce?wp>+9Ch9uRFIh5|`O z8W6}tlJsfWr8Gat0pU!+vba+M&!3Nk%_K;KbDAMaN7?LOo*{Hq;g6imWR&`_zfq}G zopS4YC}lZK7O{#z`FxPUSCJ4i@P-)VAzk-iWR+Xrxev_Gf!#*jB(l4-d@qRieVJD4qV|@6Y6;$ zIXFDE6rp))hg0};IjdSy#k92!Or<)j`d<7BbuBkAx@8WFVTV)Dg3=FfL_CSnWX1C3 z7tP~7lCb21K$i~yyDkD=1o%|nf_&!6f;3L_dxQc>jIPlb{{JKMJG1(E(*w(2HJF%* ze*IpshRCj;1DVP07AHzhHv`d~6%=@e*$*EoZEsU-Lp8f)XL!bHq5?5AKR7L)6VNubyN+@=})Yt+XTOsuj@t@>Y zP`bFC=wl9cq61CZ$+>0{(qmLuJ5mh>lCK1ZZ^$-UJ5ooP%Btl0$}n-xk5iDBFK$>rX-3q-doioS zp9ZPvt8ZzSw>KzRTdLgD@dr&5P+?S5TO}mm{;Kae3IHPRKX||$790|y_-;*2Mylc8 zd0aS0)S<6{bzDi}*iWbpLC8pZH_W9$pvmg0i;P{mcac#tXDaU(FaypsYlEHt75OV^ z|5s3O299x*$jFJ)Xrj{eEGD&J7zSYCh_y_o@)`rVqWwjDb*5Ia4fk255GTB1DRZ{)^{@O5_F z5L|V6)ZK}bf}Q3)|GSFWQc^va5M$Ov6OTN8-?)17;6HjXk~) z(N=JqNKDO|z7Oa{Fbc>;bnnxr9;+BlDS^aL(dgK~iBUlU zwl8tfSt^$paaU?b{`uydHoVMhd1tnYoT@%*6kr|7egX+AfwK)0`Pg|CfOu`b{yMg? zp$-)P)#)aMt+%kfvJkJZwOrVjJ>2c;)65vrRp7(_9J zFEq2TAisEo=D1V6GDqH}Xa``6c$Wgh03%V6 z2z)6k(LYeepuJ)+5Us&h`htR0pjB>1%qY0XzC7Y7vset>g7{R7jy+rz``%5o8E z2{b}Cbv6s-z1?@N>J^O~>;Iy}zz!ST4(ts;&BG_i$q+(UIz?`Y&c(s3dRCwgVkeRCO` z32*myX!&ftPd41n1evd<~1c%+Mp#;$#Ie(3O2$ShH`7VkkvE0HbMOwbrY;3>`>PMEh= zQfj7(yEp$)fAcoa@so1ytArX z4MlhBUy?dOhXKj5&xgdl-YMG@7IItp^AnZ+ z_osh<$r(GPum;3*wLfL>(to~HE1L-^627$M|NV#m%KMV&{)a!)s#X5H)3I59XHLbR zjr948h7Ahf_P{y=Wmi8sD0(wmGpYzGrZ)RPC~5Q18HwhQE(98q2sbiG(S1{bavvNy zH!lb==1$op7q%+Jwa9ce&u+2WY=*zo*w*6z{P}VIM3B*_Ey)1t^XdHFX-k%z zl3hw5!pg9%kbJ_V^PH|zjBT4T!93I3G*f|I(6E3@RkcZ^p$^E(C&!Kfde;Ve2^ zu1kXu%|Fj39FZzsRK~{XfJXb$+CVOOMdw;uU^7Ozo=}%tJ`qpKPYU2Z?qvGiD71}Z z$X_1$wO${Y+kuTo42&Z8>*t^Uedb{eqRjd>IyFDJzbr0>q&lo}Sj<@3iYC*mk{!u1 zv0?5E>M9RgF)J9yS4bwbGHpPgj<;}jBM-(P3)zZpgkdAO*3|?ncI>0Y8=MRKoR+4n zY#k9JVHHj0&K*3d?5jz7%Wd{&ma=;hF0Ok& z6+>|)dC9oLM0zPREox`R!QVsm)QK^!VSe?)Y+lfUM#0fq5S|MZOb>NZ$JvRa3%4JW zK|BT0u1o-L3^)!A1#;o_PVbKcTjW91gV=s>5JO;r#u%+fhl|Z}RR3`kCJ1Jpo*e&S zXy^tW3*%fCkKhrW$Jm@`LkKE=8!A9;(KV)e1qTMEFk_YR-J_48U)`I0h!IlCoUrsf z}e7j;4ha)Eq#tW+JWi`e5l9mIinBticJ(&?y=8mWY3#eym?*{ggyvlQPs z9XeH4NKufKK9Qq7?I__Hky=D2(yxhlF=|UB2h{qBvx~^1VC7QgY~30)BY?q8>*+by ztXXh%^}+iqyU6kCjvafNk+F$p9t$qXpo{w14{fo}B>z#9hQ}ro$c*4WcZM6@&{<&~ zkj^&SeVY&8kvjFR8*s`h_{EU8s)aZhv&-U3gJaMz62m(NpQ_w~%Zq>D#3yF@#oH}V znv-u7zo!HNkcZy=`W%HGl0BRmvt0gdtNE822f#wmD9s#a4TzYD zdW_X%;S~Ofhlt;zc^;6F3%#U_h@v`9_{OAr9NN#n=LIT`=F^{FA8x2hX|A= zrsGKN)IEkp~G5^xMvLcxkm!FJ1 zo;VV+oMhq!|b`hR9h%GGID16_KeJK2wXc z!!1pa+LGZ#0Rwh4xj#MP>d`~OQkve2%}!jhmpS2uOa@&YQxJ9fkgMD+X|p ztPOuv>ENONKG3{Ni%-t4b$RB$b|_GPKj8%S+gjv9T&sw&-&Sp%eXVRJA?SrOJG`Zb zzmT!kEoqji>8E16qJE8^0^CV1M+a+B(B`t2#vzQyr!HUqajW+$Xc5HG9_t-nC^Q`W zAobI7ZsP}It@HLEQ4{{K(c}nUt?q+H6T1e{D0<7YudPF_i|}*OgIzm!esdGJlo|@o zPj$hS{*2PoBWjC$Sp*AkjJ`-ktVWT1NcGFo2Kon!PtvbFzTnF8sgT)MR7T`14V`0R zLUP&>FE2rokwZ<}m7eRw`^_IH+q<{+*%VAsJ=*U|T)&dR4c!iMOCTwAN&HTEMnL+? zFfLLkL z(C!|wU6*D9GS>TLYd-a*3s<+heZb{o^QX^ zg3m|oIU``&)Tx1&E>-F@>zzL>Vi!;J3xRXj!wqrPXgyWp!Hl(YyK^a!AktUUX7TNt zSY<@IjJ-Vp$wRswzhC8B?szNVJEjSunt%@A9=mgEIa7Wr&=$_W^w`z)>&7cw!5y=o zKsndn!f6laPi8ef2W*)%Gs@}&(Kr6g(a$~XpnVeGi(K1Ioz#X5F`hxxrU2-TmH5;E zS`u_tAv53{L?47!NXR7){30QQ9}n}sJEmsUzNGFrW31WoOUhexk=Mukc7%@V6w|Ps zV}OVf-g$*k9P_b#r0g?(rc3dC=eTJ%``k_5?l`($Vc{nWpp=q(s50dOvgS$W?sa-L zW)G-EM3QEYMDnTLqOjqU~NL^&-plTd9R3=yOhi8_vtmIw+t z21D(~ae`yF{kS@0W7`cbCKU`CG-$Q8wd$ZjH4i_D z6RK@BkN_?RQmHv(aD-C9QO0A8Vu_MQ1a!m~A>6_q#S6ek%hcX9KOa&_x^|soYT6qK zMVBrNw3&(pjz4qvC0P#EO&Vx=aaN#cLO5h5lSZ-v9$R^7L^cE}3QfKK6sla&Jzsbc zj>eDRZjhV;rcqoVl)ls_Y7D4mF(y!ze3c1ENfo7(+;mM0>Q^LAJVHUyP&gvg?tR4y zp_oe}6>%HSqm6pI>KhDn3hQKamT_+ClhvQR6pC7L^G}BU-x~EWChHm0XYl9PNy$&X zUc8V0VKZr(kx@>9v-6(4+M_;e0VEwRqPy5bv(f#G>oI=wMLLDChylVU4T0e&tGe?+ zp$iCPXv3gorC66T&_n>QacTZV< zCncqp+*~Z#=)&vb%D0C^M?0X66FzIWI_fF66CL*DhOP2USxz^bR$>PwI1%|FyN(Wm zPn$$SRN~-?P?(+_vQV0dWz2l}ICBe*p!xG7mn7}Fex9%@<27PB+nt*_^(8Ztb`h7v zM=X+YBA7Ohd!{0Ay@lQ zTsNWz<0iBvD{1d-2wIbbk8@oTe@{z$#}zMP>s7sJw>^4|F%+#eOo-P+j#BqQvx}Nk zw=fc1hXWhyn#wqvezYN4=)Y)GMdlX)_e2E^wV4jB3+cbjM-;;Bs0kl_pL8d6t=`LX z$E_WJKtiV8$~`=Rkno*0NKYs+@W@-6AHy!FH#;n=q~4%T5P99wfyfhh=<%vgX7~Tj?f-G zdQL$4bYHExdJw5^KGqyB*LhLaDf=aJJAz-XY15|7&@~*}h7ojl;^sNYrA2xcNvA7T za14-^lUiIy^*NHoL_>)dpIoMoXW&jb4|vgB%+!8fiz1EUi6ZFOu`jYo_x>s>=)(z4 z_rBW=xl`xP%F0Z}3<;UpR*?Y(o_W@C-MgOy9vZ7KyE&*fm}Bk*x{vw=o#}u1YHdQF zPKi>J^|6-_Q2C8q0_I@i|3wkv?r>H?s!-sUrfGbqPhrV?w!ij{rFHD2^QnSTtMM)A zZe$a`t95jVFm1TF6xGPQpt+*mc^bXR5)9E<>k}0SH3lo;fEhn?>eQ*@b*dhWFQ;1k zTK^mKH^v2bUT>143^ggOa$9Hnq~d$j^3J_6AlDqBk0s^cT_~Uq9l}RTi@K*G^PL)m z004^cj^>RIrzp;yH}7V0GGkIi`mf<(?-coi4Gm5!9AncNUN_fcS?n zQ3UP>jgXg|MU!8`EKuhEwCby6B7~62o=k*@?D{i`^?#s=p*~xJWdZJxgQ=d(EK+K$ zi4XtjK2ZTU0BzAk(al5VQb_+a%jNj2vF1~2Rz+=>du#DQRN+=c=04OpZAQSy?t0-GM+x=u#ZQngy@NufgmgDaO|0hKGYm2Qy|-cq$NCt;+5NjrUhnXa{s}Dg~dRWwgN!L|SJ<$2*zr;NS_b7OC ztFd+E8=mw%5{E(S5gnfOTK?pb1DI z(=rs;y0>2RR4;Neh<7K^hi+aNwbxl$QNDGRLz0zQieM+r2FDWDl=$8t(`=a`F&F0r znTMFDJouB~kXnh>y@&XvYNSnQRr51(fDG7;>b@-`^`)GB_WSZZw+{x$@3ZT7J>!Oj zRny^{ zofPmQ&L);;#b8FTDkyC8S*hLElYtKy8co~p>y>lQ%hlps>d@HwMEO3~QkIlYCSK0z z{$g_x5vYN1(W0chyqW`IQtMS*LKLeciLXD5C{bW@+~w!_W1~kuvT(*&n#$^c6*Ir^ z6IjzmE>i*+qTa>S*uH=bdK_Liu&7U*01uNv5J7$10w06ZS9i-v%M8Zs&TN6wQ<Kn1{Vi$FJHhKB&qjgF?le$~%PV84Sxj%7q@$t`=hN6UOGj{RV z<3P0lW}l{h7C=gUdc>HVUUo;Cuy57M(FbX>@QL)xO-`tuT=Kpbd54s+?JfcVa2v$r zzFA@)mHURB0m@>TBb5d5=XcJJPNHUS@ud%y^MumFZ9+FiMdv^>!Q8CuBUK*#`KN;| zUmdjm^S}P{FDlx8xwV`BY|ihvZ3yppmwF{AHa4fg#`KcYXI!T?Lq`z-92Kjd^?D8< z>O}Vw-1_u)^heyk++%t~xti66V&q$~eQ_wya=E&h|DqNzHNO29pxx(}Y0WT}b=Z0Q z?C9s1Y~EQ8M3qd|AWcc|5SK>WZ$Zx1Io8!6Wje|Fq!x|tMa_)@nA)W(Tn@hZBb~H3 z1jcG~Bwe@BT2YIkNwnoyqq8Ln5alpHd+RoB{3dP}sc{QP?*f$3>wkH^g++O#15Sg@ z;npoMx289lc?_;qRrO6-Ssa66g)vkEAmo;lRD4Cyxf8KNd zex?=59pw6v%R)8E(N7yf*^1DEh5=SdErW4 zKZwT&)|hpTKf)O^g8<@%Zs*xECr(%j@tP1QJusXmTe-ex-#A{{rFq+m?)7v@l$Db! zNLb3xF)}imGv|mqoiH*<5*s{k;Xdc=Bm2_G$Sx+Ad8c|OW)vg)_FA-A%NGzmy|l6+ z0N)vdpHCh-begMfxdAFd%qcxj%x1Rqv11p~OEAcd={4QjI+%u|UAyeKZT9^7{>m5{ zG{H&~cbU(Sc&=!e%R7SC{_E>UPst~U!=4xmHD&lGqGHZw*B<%bTPDpP-3$v05iiCx z<1orFeD;^j;}!-oeiI~KOn71j*c-6j-jO1ql7r;hwapY7Tw%<=2EokEYq;j#!$V(g z9J5pJ7T!rsbw;Fzc^0qgdy;l7F1T@^XMe@VdcACAh4WGYwk<5R=!4aFu|BT5+@S@tVAi5Tt6HlqoYgKc2P%n9aTx#gh{kXh>0J0|zp|7;<*=_a+1ziKfZ*QSs0 zvr`|E4JF8mshAH%Ug7HXLW>H4Ch*ReI+ZwLg@zmg?VVVM*F6BNDaM6D9EB`2rRCn_ z=Q<**RZI@?PWS}HQT&f&*)BaFqjM)toDh@JnP>qelvnqxTJJ2nA4&xVzG-TTY0xk` zvIkLPQv1T7g*a6PsT>aEhbAQG5J!i}%H=CKPQ>1bP9-r$#J$g z3m{J{2F`~vd;fKAaDCevOU{mitJHnsLC9$6sg!kq0oWm6S3>P|5V(oXKW({sE`_L= zN#*`1Gc#mi_$!(p(sP_hq5}%jJNx%7pY#Ta3JOpcwOomb=1gxz9j90d{?f|s^74=y zZb@Q_FAn3NjA-B)yv0P&Mr6lf^8gNqV8qiNarLS@OP(_gftqB`%~kH)Ls{8nW32gl z);LtGdw-@mEF_N3c((ylduZ3vOJ0|jT3T7rBL_TO{kp8I+rho^YCzVY^Wo^(Hf}v7 z{Ty03s>2*T0lDJsQ#*^^f2TpyGPL9&2=%l689BKXo1^e5OOuG#Jwz~{LmZq)B>m*% zz2f4D8)p0Qn82%#@L}mmqc2u~0iP@pEc=5UE#v%QY zPX>v-y8%cF@*oZfh?rls&!fY~mt6RYP-NxKefqEzCog|;AaNY_7)?#h{{3&{P2ITh zy%2)l9UhSb`3Ti07-_sWyb+!yF(}+@mnX}$ZP$)iLu!>L3N3c9_2^@w__B$6@^`q2 z#7d#vd;FMaB|bOO=rpXJe5VXT%`Tu35eRMFZ|&6F4Il>D%J8m-j~w}c0Q%|DP*{Q1 zZ_I#04(x@O5?Cf7k`h)3#RzkXP~A!+LPXHODPy3*+`&@LDyu>zS+m~eq4`u+2O9=Aw^)$hXc$JX(ioiR^3?6emFaukv6S8$&Q-M?lNv%dSOtG$ zBE_d*3T4alk~I-ety_1=y+%>@|CNO$wMvTi)G!kHTiNq{UVIGBEeC4I}^)CnNkk(waMH>=^VhL~p`has$`E+{8 zxf#Aglu_K+vxlxwriEmVC(smhey$$A4ClbONz{@}{JiJHj|M>*l!{}K^Nt*eU~DN> zF1HJlcXzlm9pzSX@^1I!rMT~@k@fhbQJPNHJM)n5u*ZO)Q3hQfTr#P3F|5Y_q3u1x zqCVTMUyO-Hg9Up*h}cEJjwmJ3v3FEZq}Uq>h)Qn>QL!Q_qOlNz1`z=jktQt`P@=?w zfK&xUM2aBNnfG^rNg!tL=Xv*W?D=rVI~tt%&sENIt#z&i1`}60e4CjWS5PPn=Lu?# z5qK=(HA!7Of6*cVXj3K-{B?7<5}J8zG&cqtMtZei3tUWIvKJsj6m>K}&Yo2+@6&5f*{H##G-`mE`s2AJY0HDRX5t7+0ih zYw9L*Dz*a;GMV{~{dD^A=6d|{Z1R~x$yl*?@ffV)1ry1HG_D-Zb5C6oK|yHAkXW~7 zgv$$03oSggFquc%(24?2evtGWm{^y>Vd+xpO{T}n`$7 zt=lX434=1xnb?h8^ZS?5S#b!#x0;xMg`*XV-hi1B(gwDQI&2PK5T-2;;>~aL6c8N- za`|Bt4}|XsV1M}RfJWo&)8kANa?bpP-uasnGdCG3jx-0s&{Dk#`v}6oBxstF3b4%l ze^D;veDggybVG)88ez3-R}>~aw*#q;0BLWZ!+D$E5FvQF{-FJf7+Ar50!3D0egsc6 z&@x-bVuSd`kccljIVR4yFJr#B?%L5DlT<-P5@Q|gSfc0zv08KkT{uku=K@#XJTk{!UY@!LD%U5NDRFu_Vil~{=j zGJ7U>6Dh#2Dr)FG;H6rV*_dRAhKPW3k-~CQ%<~f1an+tJ7Y192-W=&fDS^n4e9U(JU_W*0R955O zTj~=zeQovLpdTEn^f#VagmRo=g_NQJw`>5Sar`tjF@cgJ?7cII0yy@r*7oWmCzr1o zhSc?0Q6>K+hc_oT5ijhS-g2IEmoHf&N1-ubfaBk43*O0By=Krs#1~X_s&g`KQ2=R0 zvT%>xAFRX}JM|1R3rsS$?l7?b1Z;vHfo-EQU-~&`ZplgM-0wQc^MAG6dLuVII>V{z z>YS+9t=rl$eGCLst;eOp6cVHpEiwjPj7hj*AOuTEKh4etmZs(5GzFiDoxP35*Urw2~V}=v|h<(dez%m!bbT2SEd`R->PPzJmzmqV4Kkl88gnboFZCp$?GkGE8 zJ$$Y)+2gF!;=`ug0ZQk;(rQxNg)u9|y7`O~XLs`fSZA<;$zqm}TfZ(yS{npZM>oI> zb}0gCqfoO}WGpkU`JeTP)MfCM zOP7wPAmL-KrX}!Bcl}f%1}=s!$8np=uXnd@*J*h~q4ltk3Xq z<8;*j+#2!#@OBmx%CSe7PEIsQ1)JvCUt9u?fauq$}yxjmJSpemYXHZ5Zr=$>V(j@B02%oP1GdLhq zI%sloLVxYNikX?*hkpMYRxT!&F}r1T^W*uwsoP&kkoFq|u?EpIWL#b2>IMs0k`_D+ zZ=xGFKA@R+&8qzmrh5USr#dy|2>RlJA$j{5|fj z5GOFC5V4@C40O<9%9;x!oSv7vpK!E6bT%Cgx-(3LLcz#0(eUmiRTZ*dFnpmo7A-+u4^m!)E{0I}4=lVhh# z{%T`yx>Y-9;l%srpTCS+9KFU7ZksD7D7tp5kMK1R4G!rH~jVo79xL~R#Tlk zd4;5xs?nACr($GjW3j7K0&#*$bX^p3^QQ0(Vb~v`11c*N>Hu_LR^IPB$i(`VA@W)W zYD)9T?<-m2{KkMmvx4sJUr*2sL?o1zBp0v0Wv#TT z;(ESbMMI1*@RX~=2;QwdtdD0d-)4QfQ~lE1w$AI!LiB0MkN5pRJIg)Qd{ukD+tVgz z>q+!W;H30zT}1DZfZpheZqXojjb9x`$5)MY=P^*PoUO*a=e9)4Ub?cIFyDX& z38`&yDCU$?nm^CTZ~#h&{$yxAV8ylH^DXzyrgTPdj2WwGl`KRTtwQ=q#}6SM1*XwwtZYpf@6Y zgBZCiyabeZPE5(xat#JmG+oqxz5nKa=5!p}`cRSyG;WH^84*t{ZA;CqV3YF$;!w=* z#DI#BQPHgn_c@%Ea2RP|z%~YzHXxia2HxwyWNG1>Ir_W}M83U z83KRW__?g0$yCMgtuz-I{yCdh9dMdEawJEUGm-d;D7pdcv-*B1rSirVB^QxZ-|3}R zbP4`@2N&e!kq?kx4Qg18dD0uJNWyiFKcKMQdqt6Lf;7ub1HH*yu)sC6nM%KsfB7*a z$W}uE`S+MUW;CHZdnN?^KlYHxd1{w?NR8R)_Z%dFQ=KT^Q82oT!l((2Leu<3tG_F2fm-GV)})csCxuO2&4;!!Dei#()GZUl z8G<)~2rc3GrSJM+xA0$YSNyoZBcBO99P9vBLD=LARb+A^a;+joHRDiY>3s3()iP=) z5Wy(3|9qG6|7IR#97Jr^Ccrmfv&Om8rv1+K#uSTn=FnCwO!EiRJKS0$#=ot;Zp&8! zr?a;Qn3sqhESl8ZYK4zbRmG)NFS@ZA4~Vg9IQVTd5U?mTR7`e78%aoUGltcJcHt`~ zZA}RsP+6xh_heejql$t8Q7urPupW_U;D-% z+Sjpf;bHNEGs6DZSOK1mXqKKl(BiLACKhkKz!^(h?6m(7TG!1JIBYu0%Hr;0 zLLJ0S33!f2oT_T6v9wl?8fO0dg93w5UiHNReizo~?1U{x7y3rpRkcDEGlmPwwAz?L z1iCM%Uh}%QZ{mlIA^N0u7=dfNy9daPJrqiW`p0IWicn04rAmvYtcp9c|pNYYzA z?`?mJ%1&>7be$Q|JLg_V)ySuX3aeuvZg z9SSvnMsGd3kS0W*Hk=M zP?Cxo&8+m@I}HLH3HXs*Ad(gE6OPQp+#Ijexf_rY15VI3LurEFgL)~wV)edDef;7D z=38e^pH^1-)KqC3Jk7|E=VoOfQi+3n(&^Fa>S?*}8EI|mdHEe|{_!1WoEb5- zNhVX2QBWQ}os`SelgE$u$nUN;ecFV63$QrM`DfgX*zKlqH;4^2UusU z8Plhowtp-DbhD0_jH;RsLBs!f$l$*|Ya`frQV@FzZL7)hgEAAwsAQj>=@b5Jy@OZc zavhyl?`@82(+uEn7#b2{=-)E~TD=2NokKaKRtaQ}dTME_0yd~i*1>8=(J(_vOupgk@xl8k_+1re%AtMP3 zOWizSiu_@E(`CB40E5WkO9+a<7bCMo*cDCLDJDReJi+@@f~DWaRP-PgOhJ7-mf(HXW_*z zKhY<^43{&GZMAK3^J>$F z1tj#F`XoyHl(1_Wj5cBbS&O?#4dI%UZ7WBe;M_%OJ8IQUBw7mGAy9wi>?{n^QT0K#a`iJ|1&f8;9~4Xxvt^Dz78j;YNCKb`ckkZa zf0F46L2LX3u96vPjUOXA8Q5ZoC>U7RI5FC!>))x}ZCC;RQ-)4sXm?p7tU-*?mo2;S zcr%kHsCcJM`_YY5N$B$uZm0)eH^z3&w``Oruh%jhrf_1|DFIeC4V021gdyVDgT=f#IQ(kL*#hOz~^uK zg~8--i3cRvvEsDF&~T-&{E+U<26^zEje z!{5s;`Fg}i{nHzcZZr(hw@xdp^~^F$H`7lsJ7u4yztS)zBr+yGD=S4e#jJRvZ9?~c zyZ1_Fc(`^|YGc{8&z?4?*6dlc`gP+vtD5a?kDgLF5mcb4rFARDJE^Xs@sGv#KQu%$ zU9*gv1ppa!nj3Q(#t3S$$?AJ+*&e+(Gnr*@lGl|ataCGI=hAX(x|JSTbu zV<&ayqN(a8^pOR7{au)RZF}*Ib&Bsc@ZI;sZ~gXLBeT#uRPm}FHGKF<#$2F^Caw-3 zV!)-I;V)GrGh4PW?}r#xT$YGd(RRhHF8lbA90q%;FGL-Ct~^|OjV&gOxXJlr>vr{s zW(2o^vfjyWy1M*fbTD7FYX@PV7YUOMMG1UHUJXzAEKqN1wTVVVaHYpKgf0Ybs6tXsQ24Zo7h=_k*k*8d7}C zIy|>KymPepQD&2oPjj_snwgmFm@H2w#PoKU&mHLtB!+T;+aQ!jU0IZ(?D=4z7seIV zRaVwlo!j6BApwSfRLbd0H;4x?92#g2XV-MVT|K@CWR*uIk~ZXsQzrcEf*j zR4~yEp50ZB@j!-?MazX8YJ0c=4jpT+$#$--t`0K@q^W7_)H3x0{r1rO&_!)z>Sv2< zyKpDOK&EBlXr*ohRa3c0!i$#Eth6sY9HsI-Akw2oe7lI|GM>pNgK1prSjGH9v4N}Z%x=-+~v0+X^LH* zr$&UkesyG_eW_xX#6rB6DbQOo_NdBFs=cZ-3Xxo zn<_@Ci2uBNxnD-97K1h1u;fQFbta)2;NubX%)J8f1}rJP58cPj%k&kLH*b#{ZTdNr z>cL9P3 zv2pdUz7s3>uUAfOlj+!Y_!ySS0LJUlF&NO$0}rQL7m5K4%_|gJPyy2cCq-XWs*##q&%(hilUf6FMZ9UJ1 z?<0#uFi}Vg5oj49wwyYo1wFmGkFvRY`TJ%0C;CerOyAs_FB5pS%i-q(E|00T^HYe? zw7XyuZt!rxN5dHp2N`~a?qT_}XKQb|fBIH?up5!=32?7-XD88^2k0~OV4$n}+NoM( zm-UrjHoV7lt-Ny7Z)i9vOL;Lzam66qG9e#G59Pejm4Lv0@x>PzezgU-R*7B;xyq%d zg|M2!MUk=4E5(@Vc55r%JKXOn(^9Avs5+Q%cV}7I# z?Z~}@eK9G3UCmw(NCd_v5?R?h#|V0vJNM{$h1-3{&5>?ljUi)OKW<+FsIcS$J+!$r zr-`NdK>aSF_z=~>h&DyFZnjt~fc=HOC>OFz4O403x za4IY7O6|O#o96DFI}HC}r&Jjut&2fi6&g6;j4-N)U^5`6mP&zXID|cb*&i5_#v)yf zsdDVBiBQEtaV^L{Iw0yt~n&#bMK|l(T7ABjWI_;XJ8)%@Ow~r&ZqC!}fCT}I&S9hc**m(~R ztc0UGaF8=X!NtLGtMsaLMktfLnCtATFBTMe~{0CV~SfSOMhdCU~`-`!h=l zJe;)dY+Kcy*hnyYd3vwLCp+clXXx_sv0-l+GXvg`1NKv!n_f&V6K3D`i!ZnvaZkyQ zo+x-xDr4RhV|EOpkd~Ku(J>*!wE}stn3?0FB7UVBXH@Kg5Q}0xb45R7Bt8IG^MTs) zNI}O4_hZz-gh2_cBws0J%&BeX7{WO+Vc0O=@NnB$E64He%gW226jfqmla@22#TRX0 zSh)Rr{{r{k9@0PjYVXEhtQ?v?Tkp&Igyhqvs`UXMVk|F9@}%dqwYE+BGgKwq$zl1H zeudp!iW2oa0|pt2&eNs;0bT#%{#E8YF7aRcmDYuon+KDb>*BG0yt z5Rdg-!u{wG*e14%&^%H`1>Jp7G`_+uvNFU~$@1OBl_|rWn@-uc&cpn%_01kixML4_ zc}6i}b_HabA*oihmc)=ijMy>4S21|HBkZ0Sw10cl{Wr*5cA`DoY_lj*L!!p$U4 z-+A39xGN<_@x!JRK5l0)<^mNp>?|6HJs^>e3UB}TXV0HA#)rkI|BB>YC3_nWJxq$BDlo4OV)C;2 z72B!g=polOGHPFQptbRco>an>9SZw+3fUVr)!ku1Ai#y{LmIa{8TzGTZH!K1_U!^~^<4uCicXvfT16IU&a8QUN2U%tRFe{ZEzarO zAj3rK=W7cU3cES|@r9#iNY>kmfae}6c^z#p^>`c?y=$n6*KPGDA@vn~{`lyj($r{_ zWjaVp%IItLE_VCtJ&S+l+!M}EvCF%5?OFz+zV(8Ci{H($J74jBMeyqS+o3b$12=10 z23Ah9_lh$O-BopXr(vx74?OF8*~;?^G8c^xBFN4%@^oq}0WMUr;Ry7aU!8vM6Eo#lKv>DEJhvsr4w>Wf@|N^-x9vWwce2qL>)^)u)8jpM z1WfPs%d+9GhrNw2ax^)pdr@cX{53nw`W2tonZHkd`L-Jhb@wK$&v&iJo}ywg_b2BA z;dK@>Ob(=#bbchSIAKIac2=&&$3ulhGlSj2-0PFWpQq>k*w#_g-D%xOzsSi2uODw; zSASS9r04USb#{)4U-}Y*`2OQEzaIPl*jL+lvDW07U#{z`>GhAES?4*fyKYrwR2(Yz z`E%0#%qvjQ1#U*lWv1}whDQDo&CL6(%Y$X!lwOR?HFy6;YghEcr5EeHR^1+U@V$LO ztlAIJ=lJrbZP?)(xxN064nI^a{ALHS4PiT96>pE*)Ne|!MP0hfdFm`#VZS}$zMXTB zclOxxx1Zl@>$_cm7DXR{cq&JA1lyzxThE|%wO`oR+ry?lBV=tt|%X{bYxzG=N#pYGfSpEb%?((w$!Qd zq4D8l|Kt04X4S?!)@iGnY*$sc3#`nx)~mMl4|blk<4Nig>zHFH`4){I8~26Af7SEZ zjV{_RbL;m+2dEWKP0`!>{NNbgV4QYd|IwLC2hGwPH(sZ-biP|!vjd*3Q0Z>)5Rn$^r33yT62 zHa6y2NELh&Gmm9vB=5*OQ@AR$`c=`15(VF=c=f#GeQWf6=Vf#_bfVrDA8rgQQ7*de$cv^(!jvmZrD1tA~-V36p9|0}g)keut{M&CTQ?YfIj4 ziAb$nzJb$rgi@z%hU;e98o&N2?y%!J%ZR+BMMDD&`vg6;sehHL)9RT2^m#K9_Sn0$ zDEax<77Z&%MW7CTiYR89ggNFw!$^9oC=Zp6G7^bK@&h%mAw%Q8^3otY?IW%q0i0}NDSf|Rr4pgY} z+BG!&#_-J0URLVeC4+Y!5A{jeGQm1B=H2#)jH&t&b}yzx)_L{L$$k7}4FgOnd#9G{ zB)e>iVPN!`>?v!mep76?sJ`%n#I&yU{kLs>5Yla#h-g8sstotmNpjoSYr%Qg59PAf8 zre@aEx-~;TY`K-1e_m(kPqpFx4KYuAes4R$SnX%7&C|a(I{ma|iH{_YpsA?!saEg3 zCZ5-}p2HeFlu{Rc-N#_yxIy|=CDWI_&YDo`dMl#zNUJfn=8vSU^uR-<<)`DD3@?c& z3KZIFIS;{fWAl+R+pDdN^QIk>XGn?yp4Zr9cxz13x|1|7poiS_Sv-GRW1ZB=QKhd6 z&!6f(E3#md_t>4Oc1|_N!oJ#9%OO^BuHU#n@)FE1fXut<$rlA8sb-9}D>PzNM$pW2sNjvO{~{)=V9mF;#OyLeh?dFs&QT{y%cf@_E%X|-((=&$@ZavMGP9&%krV3~FdC`z=+QkrAjJ@3Z``yA zSA3Lj2WHQhareA4?YMQ4qWma?7b8Z5&z;q3@0<1bxBsl-9$I6jY3{Ec;|4TeEv!_~ zy)`cq%LlT?%Wp=X*i{id(XVRA?kMLQy19P+f~s~!7{sJ4A3M?VnYZ_ByZVoBioZIf zvVEUhxPO7M)Hfk3*C29?)(Cws<4m){x9~zU?m()Q@^V z_R`>WRsqq)eg{u>DSvC3cqqFjph>djhRQ7oso2zAr*NWc!2C97iDt7EW4|FW4w!#( z1nONys0GsraL*G*6`Qy@w0EsXP6mM^Dw-1WO=6n1eZk|9C&J?((gx%=iq0esLzTI$< zOfFz{sJZjY%D-vBcFO3*V>TlszrrGnd?7KykIG~mB^$ovlkhYn2>yb9TMM5ZA0nJS zKJKfn8se+JRt9ZKD%zNk8J(q)s>;90)K z{siT!tYz67BcJ8Xon8q>@F4jVr^TEPtt&DaE*AHm?@N^M_ zbpS<_*)Pwn4o+*=e(wz-;OagM6wpY5&nR>}B6%YKG8A}BdN4hQhrS$Y)8QjV$O$Vn z!EPM7hZYS-Fa#xUDr;R_T%z5p+nM4zg0mDV4gOln&?wWiaaB*1VS?#28Wew^JMJJW zOMq8zhIcbwyy(ZIjm2cfI~NQ+w$K+QB)BPTLxSQ5Hwwvxn>T4r$gwKgImKGx*!^XU z&lVMt@0shQvhllaA^Mr%b=r#nGw|D(>BCQFbPSx3CK+EJTwnP$Kms{pvyiw*Q?^+w z_Ib=HPQ2UxMN?buY?s7YqQ#g9vIk|)8!Eu60F6&UL5j1+ljKel9JXx@snrqbA23lu zom5h{lL-z0_Our-?6xJgs0A`s3;7;HZju=@h`D@&P|gr*QNU5ajEcs((x=uPVt4(% zwp6aJ>w6<#|7%eu-{lz>+`G58)^W-6Zi;Wc)VF_7>~b#VSzhC`nYIn-njKtogGxr3 zM{Ks?BqDJ=^M{i9yO|m2Vbd}5eY{S z1P6-mbqyw)nnYlVR1MTyjAFXvT-4b{2t2yZbf$1N$<;hGcUpICg|JBCTV;|BY}Fq9 z7IRKcWNc%TrQlHZ{qAYFkXQkGZ(6@zh;P_zCeN=B#KG#YC1OG-R^wKoAj%YadnSM9 z%t@mpf+pv&O_w7@@L@v28|kHaV5Qh00K7_slLpugOA@@1L~quJ2JziEEwKtX%`-;l zu$jquXF}=T;Q^X;t2BL@xQ&#&pbGDo$)zLG2pQgwYf2> z!s|xlIowyFaYFRPAj0L#EO~{VJyBkQ*kwL`Ja+PMC5|BMbK8aGBParRM8a<2Y zMep8aFnx?;1(HJ;nHhIB28(0>IAkQ|3^{Za+XFppl#w*w%b4N;iHb9(Ts$P${?45` z4QSl@-FM%CB%_pcBV%+JpnRz|BZwJLDX_YbP55oPO_(r&Z5O6yc+>RMP|Wo~D8dDDL&VM5NljK*7^g!*$KSa_mZ$K{MMw`U*t4xmzN&Y z@xzTK5II{zfUAMD_-2=m^yFJm(lInd=vwgdC9`227=+)Jt={~xn-=;Yd0&!2GnduNV~jt(f|Kx(wS(rDRhlHm>QititXs5A}m zmgRnAdW~5eTL3k{vn8JsNN{bF1duQ2E?_JGK0jT5p$Ln?OoLH1gqOT+M*UcnsB0au z7McNjj_2NLx)8Cd0nd12@^W(T@hL-)A8qQ)d{28*P22MISfg^wpFCL&Y;Kx*HBPhQ zeY~RL;yDm|oN`ca1PZelN#B@1bSY;Alau5Vbm(wDF%f3L052q6U0p^7krv%wuitc( zs;H`}^^q06LPtG3q{@T|L~#XB{oSYSafY5?H~&+gWlfe`v2zR#6cNHjWJA^qDiJ!D;Xo{5t)~lX3OQ zkZzRjSj+YV4@(usI}zq%cDa{^T2m-55fW$j0^SKV&~%KMqyL zaB^sd4Z}i`ON7V3b_GTUZ`)5X<#y;0?zVncuAD&=D#Ah**(~N{{+qaxwX?C2J;luZI&^#DfT0YjsK6^Gi}}+5g5TZm7G|K* zl-8)C#B3z&T~810xQ52682A1A*^>H9-w{F#rG2mb&w#FqKb#Ro4#4OT3ncGuy@*AdQc!8R}crlkdti>y5TvG_9!T*-Sm5^K8 zyLWHs0g>( zkXV~oH*nU%W$fQ9v}@!a#*gGOs=_;OytV=o7NekSLL&%WmAxc3Wz4gp*JN9c*6-1$ zj}2>^aW?U+=K`MbMa{kV;Ne4Ij*%H!(c*x%=$Q#wjt1l;S*y|vA~Y{Jiv$f4gZ zUuFcGWNo<)9Xq11V<~1}ftC_v9JFktFbtlr>3AqJGjXq6@7}@ zbtMwtr?}D_n2nA}T*Z28{_@E>@XFl7y3*$~V!mQYIA7gf+KEout@@&-S z{P6ys%3{6z{PWMzv+>PBsi0_^=OO3+$=|2CjivSMAe2|gVUm)FP7O*k72dBH*YUkG zm-{X*Zq0RM-AcoTiPEoR(OagADQ6j@6VoO*PJ#Y8$L>)6530CU#jx=?(+;lvvk{$7 z#HuJcnW3u#7)2Z))(Gn=wm4yY%+718j~scKje&6mrbc8D1_qiX9NM!;NeR9RRcFKS z1vvDfs~NiJ91dP3FPohVTgnAc@$A0`o-M(<0o^~s8oJAmtu{tjwmY>f-}}5LuA0&nW5~S9dY2g zgP0!$N3ANhzXhn~g

N8xsjSY2tz1-qlY1F2SAo2BL=|b+FZbe4RhX(W#mfjBX zj}b6Cw2?GR=oq44DtQ|y6c`$@XO17$%|Aj1K4-nA+FwjCUM5wCdPDIdWk*u85vhpu zy`uEmn%jFgQycv!F{9U;R&~j;o^hCSE)Fh>q4C|P{1?Di7rni_z|PTutsgF zUKs7KTlk!F21)rd$J3^Sp~WjY3k&+_6D>`J9h?D*^!V1`)2J8AGoiz^LxB%S}dgkn(g!RYQLU(ii{7ZzWZFPnW8)k27o1d5Wp-XgY zdX_m-My;k*rJ|33q$J}v-!fd$@DyLk zb2wWL+K}5r31hrewSg#@_*y&fZK@0$934rrD~ayWub=RUFdE6qaC~!qZ*BQ};ytM# z7}Xkp$n@z3TAp)nBDV&Xz9K$0KsV{+*j&up zJ9g>f+^lTa#chC!u}OWQzkAxtk~3N^zk0t6YWL-r2%0g{EQ0Tc4axqn_1vsJ7U=nF3($qD6}3uTv7$r%{S?YMN2|lBot`A6ZeAeaZaK7~$^9 zx|e-3PCIYT3=&A^1*JHDOxuJ%_9B|9{OFb+z`>f5hfN|USLOX_V+S5=N!JeebAgd$ z=)yB^IAd%A_U@epYdf%}wzl(*T?ux9^QDtYTv0T6&aKouhQJL0YCqX_QAXN%f~K8( z+hz5R9l@DqzOBL4va`b(Vw;@;wJ;Q|DDGt`Yl|yS+1|;leeu1V`o||%Opa$a(XV1Q zJdQbXe;c*Sr_)SJBI|CNzq6QpaAxip>xbBgL=beTtsR*u<}h=%T3TKwoHk$n{3ot< zm45q_nzQIIc|gi5Y}Q3Q&rWUrkg=7e?Hkf2a>7phJ=;Si8{q^pZc#~QAE^7-L8hVM z7xUq-%!O@0?DBY@_S)Z)dtnxe3d~^po)<6l&CN^aRr*QC)|_`nGRGJRIWgwKA4jLe|#KBH=6R!=q@?YYf2`^~n7`2i8Xe0;b3 zvVD(7d(NF0ApYezT_<%?pF0!^IK9=`4?>qIiK=ko^}tDXs@6rg+1OcsO&4f^2GVK2h#^W zum3n+(J3hpsDw$c{?`+4&GaD`pifuA(bR3qa*p^RCq=4r#LIM2I>1V%;cN14vN4}x zs2!ylRb#21*5{9+NvPav#qekP91gJxb@$dezwE=#%63`TA8dLz`fbFzZL<#B)Q$`Y ziJW1iFeZkP3+9$lGLaHYW}LaH=_s6-iYkqn_$GW7AuLq|Ly%V?wh_pnuagrM!3kC4 zz~rrU1s%Trno??qJAP*PCE?!A8Jy|C@INM;job2Rc96)LPFh8|rRyIM6of02f|}VG z9Y3a6yL(_47-f|G;>FLWP8F7xW~ZgmUaI3nY*O{)-yeq0qpkZdj2`iNpn7q;yTfN> zdv&a-Tj8fOxp+^TW21Y`+qiKf9|>VLWF3(|(=Y1OU?xhcb|!@=MoSA8F1(p$%JImr z=|o3-0@g+wM(q5~tERb+eg$q^R9J}peY2t6RE}wpn~~St=9Z3Q2#GMC<4C}et3TdM zDh)8twrxyO?qJk^#+}t;KqUD)&uZ9?8#(eV{~8=D<@Lm-HI#Gx44N$#frz>~qQ_Z* zGN@KsR+qbRLO(Js&Yn7D`;`gNe-x9bA=A+v6I!uql@CTP>()`sVKq#hlkt@Lm9x=J zwlm@9=+)*N8)_Jk+iHbq+kM6m$;jMZQgcww%gyb@sx2yxzEN*FC8kKvf7G2~Z#Y-A z!R3B)XX$tOvK=Fyc=8l8i{R##W-2VSeZ8HgpdzQEr=K1$+2R+J~o(e15 zF0B+Et^8?<_X0pS9Ja$<#S|c@-<~t27L)1WwVCKaNe>?8CWNOF1k^Lop$;C*n23V9 zB?!>?Ns~U-#Wb&WgKK;|%QSF~z!{w!83+jLgB480?s* zUKOU0gA5afP{DAK^EFm>iAWT4^ZC8C*Pko8Gcn+AVxpqsbJ|cw7{J>3`}K5n!8y?B z-o1AZ07`e+GH|_cUxJ1(PL%5_7%2R>j}2WAp&#FJnTM?z;i>s+SGgtjBkclaZOfKl zK72<0`Kzbx9hFM^jj5qvrtZehLy|GzW!1YhpQnYt`uNNkJZ_vN@P`r(i}>*)(N*zv z0m(+{|1|UcHl7r@#)?kSAQG~&JqS*ZrG#qqLNE&Idt%f|ig)U_t5m6&l%tkT9MQBq zUHtE^ALj^)Nokdm5~{lS+6rXz{_G6uYbp@%$O8%N`0FU=$N|c^OdXX&>k?9;c)Q?_ zQ@M@17(p#2s2sCgiY<&x_6Wa=W^{9&q+kF3sKRLDnBoA1$q=ASxIrNA8(%2QdA}8^ zTo`C(%kX()XV3%8xPT4j;K3K9<453bg{2bPS845}(_&Nj_yG4%j@)05(>p4DqMs0M zx?!{-{TRlb4y2->5cssP*62)atsNq%lPCLBCB18V6gyblFB)wHx3O*=UX)nJ=m#uZ zv`BAw541PDfq9D-L4if#NXbc78>8#$3J*4P=xfGJDC6~BYPK5AG?URdhSpPs>2Eo? zu}_v8=wRRi_&BOpqDxrhJIWp5;a8Uzu3%8~f)9wGF>v*H+V4@LSeQtNGeb-NBz?4z}*VPjCt+a^B&<+7)e{M(NY)_+v(Co=VMQn2Q40Hpdu&d={v1B zVDaT1nYzB!gNwQ;%8$_=Ir0G$SMlf!88+-GM~xHR0f-_yWDoOjB_(E6!h1b?N=%T+ zt!d}`Slr({0hd$6xrAmjc7qXM;=7$qWkGB*Uxmn#7ZwA2zm5ajQVt@rkPgU{6MSU>nPfzaT$)R#B7`iQ8cf|@8_Fwx=|R!C1~-xOQ!9Geuwq2NNBIlATYjso9{@ADe2T1|l(Pz_S3g zrPA8qG%c`O2n-Hf&`!Z;!-l)>+lNa&tilKIo)&DPEjS^_kbMz|ah0biJIGIB+p|{p zCmfmaF^So%_V3cE2E1$`Bp70dEwcD3zVG#eaqT~pmAx@uMZFCv;q7glJ@bFRRR>TP z)Ex@e55S#>i|lOt`f-?KkdsJcOqgQ!fFmGS)(D}Kj(K}4_V4ficr!o(FchrHwDV*I z!$lc$+?tpaK?=(O&`3A*m4DV0W(7j`)*jL1Kd&;wkk{tdk4F^-ELHCDB)zzs`!&rI zGv(we`z-%+XYo&aZ@I>IS#h0?oj7fksUn*&jr)MfUXemKW|fVNjhj#vut2zI6Cv zrCL-}#KkU>gHWU&0G*qI3zuSJS^E%u>~d>GcAmDjGc^O#di?N`fRo9b-oN?dn^k6zfTh?+@{lHJqV)kt(r6EKBu1; zQXgndJH`WE#p4165!PwNFL-GGbv9wM0v{8G9a%+1g*TJ1T%eJq)5$1f7+HDv@D-RQ zVv*2nL6@U~x9T?VIRJN>j+K#C0g+eZW_--YpUbtX*gO2fh4rz1LGLC{KQXr2rGbPy zQ^rVW6B?>62L@`{mS3=UVAcn#A~dGtj*`)Q;4XtX9sofw_Dt700GT1Nu!?k~{DGmT ztQD5g!qbq!XK}Ntsc~xI_I4ZZ-hFN#lCXXRy}<@UG8j)+KFeZ|#3!k#q{G0ZBAnrf z!axw!Kx9OO7~5XQkORdh^lEgj+R%SClZ;GbV9;GG6Rt#^9lF=NzMps4M6K;6^=A6r zCpQ$(zO@hP_xS`zPtcO+w(DiAHBh(?8L|Nmowq%}@<%s(astUgx|wdqWrs??Wc9*@ zk6fl2Wz5^7aR9c@C`bxA#_b6_ZCRERC(Hrcxvl{f%5K=*bfV_irvZc#vBZ9wv7RER zB!_N~!6*6_k<;Vd_`#PfVd>GAK@p#gRjq_0L_<+rJX#3|P0v4>HS2ZxL3XxSNJ^H7 z_Az!nG;@%WJ8m3e5CMXd2z4Bg6cuCaDz`TAO7u4Rp@woQ@Y2W_+ zcK~C`$lANTjq&W+@8;{f$-?5Q8^Kvej&u#tAFad$3|n6mbo^n-;BUW;HA9FdX3AJB z%pP)YJ9?7I@{TW+6Gts`=Tb&KM8-Ayn&bn1tEuFfvVO6I*=7w54eY{IOV74K1#@0)O2M;|qf}R4$IlpCuPc@GU2NE_$H^m?YyyW_Eqm82t z7$o)b!cP^sfgJ8qUz5nCth_@lMDfg>C_`ff28V;w1WO)slCcavhDa+JdTfs0vaJ(- z=4zxarY=B_AltVG{-4C{acC446-~`EX+dVmxXjyfzb+u;)oAmx`hGg84>ez$c7DBP z*Vfz?{K9fYjmQabo1YF_<-ct_d3S4+f6Jkbp&hciwYgc&W zyQU3Owg{j0MwGvi@p$&^?4kwAPkCSNNfZWzJQsRXZjtf0`sJZe8l;w@g(K0|nkX(T zh?{x1AS}$Axr^YmcO_XRoj;CF*&0$}oYf0M-<;Ss)>j#=rEbP;8%Ik%kJ2m4aGF@m zE%#{XlVd?{gwL{(oJc)7-eqj53*Ghc;}fV8dFV)c=1N%0wN_Y3TDU*lxC2aqFO9!_ zq-Vp9&ZjOoE5IO~JEy?#x6zx%p9b=T8r%*sR|0fFKAZ$|($Mf_+A~hXyeCoi z(mj7xd!4h%-fv;(wYm1^ai`_$ou13F`)zH$W)# zA;Mvx6~Wy9NPP2&(l7{5>z|pPZE}~R=gs`pZiLs1P}Pe3GqvUJ<5SDp%fFMZE6wup z8Cl^VbuKz_;pnm}gJ)dINcd|07cUi_d_ViApH@Y-Gj|JEm_AwM`$hKm_9zzHv`H#7 z+ZIuoaPY;)8;*9pa(~f$`u5vjel&0$>+*HaZwC*S#AZx4TkiRt&T_wHM{66d>7_jL z>nJBT%&jy5Y=BI@u0K{ zGuUJj+rD8wKDSLLp~8{7|KI@?{0TS4@Ce0|Bcx4N;d_NiceLZtef{)PwYIw$YX^Q| zlopn6EWz1~@|~kq1ht{urGiFo&riI`4%`hFjHWTwxE&cAAW`HI8srO8<5T@J+slAn4tWtq7=zD~)*o~5BA z(~mP{ge$h=$O6$mK(2_er*W%5h8F556#fc+wUpb!<3Vao!-+-r6`-Ag&M}&e;g_yUc0pV)()!SX;uxfsJpxj1->30<`++rntm-#J=Q*Y-waJ7Sl z1^mi^+4$PI{j__xU-DZQrMBIEtRh$K!;tpbd!b;A?&gb+xawX)@5xsXtWfgm1n8nx z!`G21LTXVA6&HAG332M&b&lDmL)*EYr@~c7ticRCvw?(^J}@lr%Q75BY+loJ-t3ht zmM-0a*%sXGl`Er!&xbfL_+CaSp*1Z+ne+(ABqxrceEgOtPkxhqwN!?Zemo4kjw{M}bYusw&F7LPun@lg6qfSZT;!Z27qRTp&* z@hh6mxl5~E(kGg_Nhd(3PUwf%I?`1Cj zy$*21j9D|S?6*OC-Q3FWR8WE;enf+_WlJH|EH@x-z;3L4o&rA$vp9}Y420=4ckbHt zRhRv4w_ldoMX`SeWwfgOWD|4ccUH+x+17T>({u90`c21b*kj~#YbZd>LRZ}^S&WB(l;r~-%wvsSdz^wFSuX>B)UG_-Hk*2qAp;BVgb&aBp--C~RF8Uk_FTOF zyGIFi?Xvg!N1g$n$r<;f>X=_{QcY2{yQox9#S2r5>C;8t34eY$w=KEJK`E!PzX{Pt zjO1_(MHCk2*N~jyy2-DoUkUiB`zQ`b=bsn)Qf>mIBEO$%y-YV3WR&2r9c?!E2sVyQ{;CVC&|dPsk{&(kys+B5 z?%pSqIdD~Wp>rhvr}{*h^#$els4qaAwc1oiwrP}2G8o&Jeib4c1Ui>oTOlCAVgc^0QktQ%Gag3Eqd$dr5M zlSj^;9Z;*+#y9#peZIqnx=Na!pi%$&h#~w32?=M5aN3#aQ?q9vY#!1p-iVj|7`=-+ zUk&?Gmhy%$G)OAP4P#rbk>+1lFRXi=`I6Kf>jka(?`UnoN{4Oybg>?^>Y4IKCo6U1 z1LQiOh9#~|t;6=nOpu$Ue#=rWw_?XX|7&DieiYNatNY-jnLTC=`!MA~tGVR=_)or* zsTAeV|M;rz_rK!Lvxj`fW&X#Hb}8-l8MmC{51(j>k8B%PIw<>`AKLFZYaXI6%o)RP zoH)_TJ${f9$10cwV6`Sy8#;@LqxyXQ)5CrcBGOi`oT;(-mS;IAK~9i6`RE9h|H6fx z`ydvpXTW6d*`VaD=#%$qqSygr^xJs~y`DKf;y|%Y-*$3HK$Fd5s~;;9wxnr&wf>h5 zU*U;|^o=}Ek-5ac2N?P7M=;?CgL`;Dl>n_R0-XfiMzE=>8YJw6I2^&GHcmQCP#kW{ z!d_^IGtewAczpn{+e3k`3knL9nLdyssQc)KRSMr8QQO zQGhf+v0-60fW$Z{3JVC@dL<=c3&x{lzhjk!2~ae8FYZ?o$PFS9u(p6ff$ylwO5KIbn$E;Fp*0N4Td?Tmc*cpN5uC~cimYZTl!p~Dl)L0ug}NNL=*7Zc=| zAi&U$RWA}dcD^}+o_5h9>Cmbsxr8JcQNYLv**Qw=IJ*d=Dr7u+efbm70z!y z5TvqO0!%5}Qrv}z@8R>C;-L_Z1O_ggGbh|&4jOGn2FxIr+(scHgq|H_{3Ai_`}T>| z(dXjBs6|j@(D2~A3e7nX$PR3nh+xReB;(trH5RQEnc2v+mc52TcKkLuoUS#Ic5q-a z39@9#V;DC{9tVfzq$VYQS7MXP-w%XLj2(bihM-= zW*;KF7^}ko6L5^SY>kh@-BByA57yQ;KGj_wx2iSQR?wl+pfON%QXFl*PYpBkNi?m? z{sBDBMTuo(KIwErDl_QF+SOK=+1Cj1*n8JinnKK&IKgk@VuT392< zZ}`XS7qG>H7DQ4(f?7~Y-8cYmil+G7E#~H->BTdB#ts~Ko;CCnZlvIoXyW0{%_9nj zX2b+m_>z3JH+VFZ52vq;Ry<4O{SlAwLf%7 zQ!F9gpoG%9-MD%4^0Lcx4w$ZvFoDcyj?B9eAxn7Sy}Wyjjz>Wgbx6i`(@dWRaHsIJUP)#Nl3!MQ7=HB zvra_`;R_$3Bj^$8ok(2clKu5)D|tjF+}sQ-3>#KJ76WBvXr@)V@V*Z4Z6>@glLy2K z5s+(_{`tzUp$_IgyuF8uB$M`2IM3f*E1vO9G`#-N4s!2f+Q!YG|GW_zS~o1+bdmru zc+o8Pl*3xtS=tCv%ZD${imJnc9l@IfYMFb8?B2mjob!|IK3pQhB+|N+y%P}`nQdRH zN%%PvycfGftL|vFF@gsNedZ$A+j+pq(W3{b$N2l30JpO#$&VyRQv4L1O=uK^+5^%l zHFbrcNiaVqA=Y-yFos{^Hx``yTMKaW(uA|ON)0I;lWU5_yHrZ zdXU4!H#)V`kb3xGz1cbC-`jQx-mmy~&6}4_drkC#2+G(%>S{I|7?&^n9=GpyPW^o% zN|KR0z%_^zOuVHfDqbcnD~Jar}HJB_DDr=A4$$VqD##l2+&px&bg?KA2OzPjE$da%pH2@X3T-T!0zzxQO@ zzyU2EpxOnzjUzKTu}ZQxXT7wbjll)-@GUElT9GCxB6*OtVJh!K?fL&%8oBeF!`A%;jXm=!xpwk$dUbt@WnPDzvr4CS2|w_??*{>&Cie|hxv@q%q6 z(w#hU!iwM>3O6JpNS=lI?OakbAGb>IbZ}R&B%F1~&mB0sm2^PG@e*cGoAKU9r^Xi) zXiLNIuEpI=&&a7JpK+Uf&Cb%`I9k+_0K{DH-Vyu*`7I{Dxx;yi=$*JJZbBJ>=(4}s zU%7ng67|3`#6YBgfm2d!Wr?}($!}4T=1%=H~V&tIj5e*nM$}CQF^cC5^#OI1(>$ugaQTBLDOVeW-(rE^P>^OL7T3?vn z1eh9wM(NtM?WjhZ2IkjNOv9{$G^ltbdU57r)}3bhC`k~D8-r`m$`hm5XP~hJ6kYn- zyz!ptB(+JCoKU+68)pOlqx=XGHY68Fi2*S6TN;#dfE-yA=xY5AQKWN@w8V-kXd7wr9_M2^`^Ql0*sy6gXQ0u?1BHRTVpo(G=y;IiT-o#!}MLPoF%A zw1@dca6*Dam`rG5jOI1Vu>^oKjS)9mdsUdU0KP8{8l|H@|NPeeE(c}u>M`tF1ZIdF znHKpCc7DSK-VX592#`ujFJ!rkS`Fp7l)7?u>Mman^Ft8B$bg49%z}a=^`WjPb0FGY z$M1OVe?UY_nQ?c+k;DlUjC1I~p+lLJY{*6b1Ll=GN_QN};}tfy0lLav>fL73#RBqt z=Vfa=qzzaJ^qHVbrXlmqk)=paaR12ji?pD`T^jj)$YI?4AETK`z2Db$o#%NRuk9d6&d5It z_>TJ}Y#7p8Ng)(vg4io*FuDkhGkCEWLAlu1l6qH@pcVFvmuYF+kY(_sMpnEsq5PI| zrW%3hXH+s=nBY_;?W=Y8@6#C+9nB8wVuokcQ#&;pKl`VP*Z zZ?_vzCE4!X7vevUSxHJf!3^YWlH|c@08}INVslY0xVp}#0u^P<9l2P`h^9nsQ)0Z}~St2OC ze>1nUi%4F-;4p(gui>)_N@I4Br+|YR?~(Y-p8{ zS87dd{Bnc4+LraAJ0~B9SJWt!4HnEk&l7^k*gGN+67_N&rVAV17@&il*a3(3sJ<$X zW`*h}_IDIp=Dy*BJjo@w*IwVb`KrOjX@Td{Di7pc92&84BZz}iqoOJ%&<7D2_9YA@TH5_* zoX9?%1(E^HhwqMK-55)iSR(lcqS5$fXP;vffZAD+QQaiuWXD4*#~ke9xZew&^>drn z1zy!4hi`ng?;8{-*!^;2`*>+=)7t-R6YeO6H3?y)BVKNlN75%5$0yW`0Koy*u9?wZ zk!Z?1ay$5Z*L7c4`oO+amM0)d%M30Szkb4&y;a?vqm<_sw;21Ym=rLdCV$zo^JPZw zxZdc&Xa}yz>6K|T z!dqs(r1FC$B~uD4&@dNf$~S+8ZM)I`^2}nb4Wdp!=RIW#l#KD#*_QCtS<5p?U>W{H z-CI|39=UY~b}1(KRT0ivwfM1dAHHMU#RrXHRN0a7Z1Q{<_7TW!g1NmqEFOFeyoPHd z7&-{Z`F5jDIi7(WGBX=iwZZJeS*y%NbLL!MlORK{$$8FVi1*OUT7I2yTpuFJyp9`< zI5~sn{muh2KA^z92*Qeb*vam5U$(>EdBz8CluWxD8Iu=htQi8eRUw8ZE8nzZWdlOqVD0je!K9{GziI;y;@#Y2)lfBwwj{pFeK zE(%h{n8VBbrp+Wjy58Bdoy=pG4r3Qqe8hePlcc6*lX^s{TbLou?zNG0&Ol<*A#0tT z&(FOK&cV2dHMDL}_F(+IHSG*)jh2n--T^o$_IFYwxDa^w7`5p>xBS1CUsfIM^%Pf4 zxT6?feAN8|P7GTr^(pRRa@qkD(^rBTAJA+Y;SJ^KVQ}&gNL5u;{jK9xW1z$UpuhNt zCW$VtkSi z{EvUK-rSbk!F(&miO>n@yAO(eJ$yoI`7QJ%S$!mw%_(re(b(G}auE=7U$}{i0|q>@ zI&|;Fxr00f)Qe4~24)|6$S(z)0qm1ew;ncPM46a$c_VgxAe4ny&Nne}W*Rv? zx=|6_{vK;g0>*D8Dx`NDJ9cYzJj25(SZYu@%aU;Yy4zRnwXgc*(V&i(NnmcV*{pR& zWbI=?2;dR@?-zz<*)`N;DS6|CX+Y>tewLD^X2aiWn1lF^oW8PkD3l)C482gp0KG{H zefxTbg&AnCPH-P051>oo$JQ&9W=NC?|8K}eF@-)Iu_r5U$>6SsCJT>zcE*%W%ubz< zMk$V56!Mvah*N{o8S%gLoXhhmxA|GPGsyDYIQ>9;S zy=#JYZ355h)8*IM^QzX+7>;kK{RAg380M2RVzZkO$$t!9cr6M9PgWgS8c)Xs91>1W zm0qo;RPV1Q7Jh3;3GEPqS6BAsaIf?E6Q z*>5;&)?r750RzO?@z|HOwYFK0#k|beJ8W-UgjXpkOceAxC<>FMOQQWTdA5zQI#SCJ!IqL&!dw&~BDR#Eto{jLo^bfmM2aH{+y>7Uy*^2@T99L}~ zKZYKy^Vu;kLb>EP@Jj8H$4WarYY&9Dlt{l1yBk-TWsxestNQjmV>x07vR)f%?=(JH zn$Y2dZ9l&CfcS8nLGVS$Gt7R#eS?iWtUFZ z70yNwk^gr4bcQT8vB8JbVWD`^4<)`xUw++|dXWp>)fow89!EFz)Ft!SoKo~NaT=4* zliErKw000<%qt@swnx2u*8Az+|Y2K}qa zJGL#{hy%Ukrb$UQH7%p1s{luw4}`dHPiy9b9#^+1g$tPVbNyk9ykPyPjyoO=Xko7! zDzzCm8$C0v%j$rwxott~#Qa;E&!EBY*a_-F?-g3ymbQtgS^T)o zUg6H6DE{FS0Z&tut#dz4mP$<1*zr#~KgWFbDUOzGhaGodvVzhySY!T!|NhO5=UwAJ zs_XzlWN$%AA57G?gUQWWJn29GSJd;9Mf_W!GzwJo^8oaQOgq>&!2JYQbM0<}1eyWg zpv?D{p^-WOgYK%E+@X~97BpX^&41q4uOpT;5z?UXGEnt}a=A7utnQz-X#+1nHFnsiet)r$!9NsCRPn2y zpxW;B>t|)Z(si=@{)cRE8tyD7|LkR&=BwQ;QVs^D z43WPWo%mF_IS^0M__ysdKi1a23s<0`;&AK>K_^AnR!6U@N(gyhvgvg4`V3qsOtM0z zB*uC*y=N5qC`(My{e6!lq?Rx1snZ&n<%l#3d*`K^|dqr&99hb-m( z`Y?@u1W!o(FX-%)VFbNz2k!7pUS;H;GGM>}Cxbolt81_``^nc{>1Na_C{6rtpM~Jd zP-{te4p*Xcp+3ZT2`Io`VdQVcCX4a~&<x%H{~S{0Q^< z=ry<|ajr~SnLDB}rw@#E=G3XdfOPc5Vw|wdc-vqUvPf)*0A!Z&_3Nc%Yme@Eh=T#l z>G%@sztQmaL>^!#Bhg0OT$$7H$3W6btr468KRjJa;GbD&hGnQ>NCW6YH=^_=^XXh& z8C&Ppn-L|9^n>1Iz?q)UB!yqKeUeeBH}s~ua(DMjDGUt_#U=!j38UP*(<4rL2%7&1 zPvutAxKXHHTQYK{|A)G=q@E@L8E(IL%6>H8vFVDJPjU7lpUJ+rM;-lks}COi+!GVg zx39@)lZxNJM_R^Np=1p=37|XW_)EcnYG-w-7IbwlDYu4nG--m!`67%AV zp=3y`v%L@8$$H$jPPM#AC>d`WN441>|5^*oxNz zy3I441+xb(m25jeY(7y|v8k65y^`X8oS2y|s=^e6w1HP1%A3*UZw>p?k-nhc7||B8 z-JuBf#9Z1DTJ`$w3l8e;c|%~07^Kr{Q&?$QR=u7!fEcTbf>M*QJmToCh1`IT5Ts~I z!xv*ZUjc2V5>EL+OL~z&@2vlO(K}z2c*#z4Zhgud1AG#w@OXK7@b63<=CY-iYAGh^p z+z)=4X&$58+yf^&tk=strN%MS?3MlSe4{8POQ%UU^24sC^B|-w%irx&;4y109C5= ztxkto--8AZp1(M4s8QHLpJZl)*{`Zk{#Z2IKc!pOuKS}245OLVUJ0oK9RP580{H_C zP-iYMogHFMuL~Dyv)gFuR`j%deGR;-DHeiEKt_kon4xlV2FrqGON?A2w3_k? zrU8?~#GD*GZ9Y0EmY2bNG2IYTacBnP9RIdXz!dBkM&KruLj)8s+7|&K)530boT}{_ zsCIUiHY#!OKXMH3hBj8zS%xb*oR7S1^5^1y4F(1^`F&@48g?>s%N+mg^TPpw>)mSK z`|Z0JedMX~H}$t_CvnV2+#=!)^+9W^lL)4HaDl}{GT7p=v3EDkB`hUTSUmP6OJb~;g4b@ zHPfV2KirMO2v&tJ4qb*vGZcu!hejESgqgCnfia=Nxkp2m7wqlree0H<2=ZH8*PwoC z+y+PcS%fkH$I_TPF7(wq8uJU-^xVrdglyq}^tMjxgj>UF?(V&N51@rXwiI@ITw^X? z*4S1(uA6k7E#;imEoFS2$AWlEqq9*~IsqBw&$lh$7Ana%WW8xyt@`M&uJ_Sj5;; z`A`yI$r_2E1QpAo1>{;_yyv7-Y)C^1v!zfkFE}u8!PtttwSkLQEh{mSUmldk6vEF5 z4YdjU_-#n6_J$v!V@b;?h0VF>XtY?V&ty@mpnCf%&=kP@&JhN5^h8wMqZp};3^ydHRc~Ix8cf0Eqytx zx<~In(=Go~MUZKUwh9Xc!0H)NbC)a`H*6R&*(4~BSN6dFT6-kM|8HTh9S_Gf3n8JH7v zMnZ;!t>qx&>xnEi^4Hu}akcpOUnhOF2Fdj9eRJVpz}tJKDu26!2F_N-V!6Z@mi`5~ zq)jyajI(Ni{{9^Ao8^UG{>+)H$?JtNNYSv|Keus6aa70bDIxnB@~0fVH&MmIZdrJP z)3Nem{o=71PnT}K{l))XUxkva$H|(hOE(vd&A47v_r9iK?LZBaLlVig9GLbgR>z?vu+-WK%`l+xQ&h<590A8y6_=! zj?uzTz|+ngv^T=Ye0jcL7U#?n2(cKXmz*3(LLOV#c$j6B4Rr)!Z$>oOP^ww~2y9L} z7d}8Bb;pM+(K9mg%N0=$7|BJhT8R;8>67?)d~)=*xW67FUjoGIW;=um>7*lAFmt}L zWr^u44#}5k2%tO``A+!>_J|2nNCr>eoZtrj*|jUSt}ky!wlczu z)Daj0MEYp6AOJS!&%)jXj+dUUj$43|ZpRS+~oIuD7OL1zp7^f;J-=aBOL58lAR4d z9R862o(U?A?6}_F`W<>6dML{o?qT=k^1asr>}Fwb2%(MX1ZvDXq0AK}Oza?_Mp~G| zjpEf34QKn!A6`Tz)THd{SS%ZU zEWtmN+O)-Of|)jmw;d3Gz=Is#0yJL;FgKZ+7QK5XSWwcec~JHIjfTi0!NQSul6J$y zKl~O#PU=_zGGP-reBeN5AX^g6_6c)VR-~~`g-tjgL4bbz2r(Rqzp$*mHF6l&Gwho+ zt$(Z_hV(bAu#F*IBJ`&Lsc45@<)G5_VgMhIExTvSSqr|ySu>zA6ert`b*v4vBr@H* zv-rpXf+V?__7T92lLO~j{9EqWLBzC3$lrViU#H`jr;N&K+gpOO> zCd=Dx8WRA>WTz|vM1cR*ZnP;I-fFZdEA0l;+2{DIohEYGuUzqo85gsq8hYbIqjvB4 z#d!7s>P@so6bBnwRPtre#Yh6Bk(_cgfs}AO-`Pd52``+Ys{_6T_Oe?e^k%RuVv3Ac zuLj9Ou)xnAHyQ3P(XnH>y<(mcv0&_CJMQoa5+mD<$-}F>@sRGrhJ?)UDU-Hj*2vmd z80`3A&yy&}^r0&z{c>pEa=CWHvo{9D=S@{U)qn3*zY9TEH@jS|Q2F@uYL0*0+nbBZ zRR%0FTsJ#l!-}J$`)hhW+~01RO80&-=j1CDTeiHnrL}X&*bXB<)vRbxJ1}zB{r0U7 z6{i@VUgItd-|oK;zg)G8Oy+UE1xI`V;x61RTJ5UBz6#Lh~|(1+6|Z_EwWj zqu-oU%uYd-aTjE5Oa73$TU=RLUcPGe>RDq(Dk&ARaWj)wNol&v1DgKaj-1IKd6N;_%h7T!#c`AE@v})1NgV?c#p7aUS4@@o63rcN5-X)vS1Kq z{X6xdmIT^Xs~F^-=XXJ8+C^p+mK!Ap-1)k%i$8-GL?3#KMA1Qt-SKG9iOAMA;dXE` z^GJnWDH5zFswV+y;ir_KF{c`bINT7%(#{I5eI|^MgeTDrzjm6+Cp6Oh!M+2 zoJ1Rfl+JSZSS?4~!|zZ+3PTM5jbOq|#>8`419_kwp**JI(nME=OC6HKG^kDdri~LhSnmKp@86#?tBjfGAO)l{-ec3s zmD=tG3l?kvC}UZ6z@aNCIo(Ahi6gvYp>Q}s%{+SeaFAPU;siMdG_o~y{M8gQx8@hw z>=Us}cvmO|i(G?FJo*e+H+$yH@VhaT@jM!;H^0%hH2u}|pXVou#GqFYfQ0?MrXj&O zhWbHBgJITaD!DZwJT$cZST82}Bu{fu&~XXV9-mlPj*1-?&>wM|&4SgKO|jmHo*zDq z8q{dv!iALgG{|UM8L^FywwG(bx}^SF6)gNIv&2a)bgoGSST5#p66Fr)GF76tFjeAT zL#6AWpu^*gyWr4)1441ZN7g;1=YucnVnY4_tPWbF?-As_0UJee<(gHi77gxtI=<_P z-oO|shE^mp{^oLl)Bh@mt7$vg`3XGF-j|ctpPhx=`$AH|6L$?IhfBgSHHK*ui9{UZ<&xJQVV5d#_J51aeB1;I&j~t5o@$? ztIEr3ndZpE7M8=q<1H<0yUx@UhekNVAcqE}7grK6bFQ$fS};Zyast2rW*9x5`DU{H zwWf1y$LXvgO?;VZv~N|P0==s}qGs+)8?d7^qNTljm0sgV4enD?2@hsEy4Lb2}HEJ+tx*4cmJO{qSeJiiJfWt zvhR2(zqva*mh@rQZJ`>7QkGQ=ZYwZKXsS6iDG}F ziO4QwqCi5%EUJV4U@hS*GdD zWWSjBjb@ntx?{u(TJrWX3RjTY0g@WyywxwT|>+DAexLiX&Y zhhugYF&3I=0T<}&I~_bIAs1#Oz#8J{pRV1oem&~=6YAc7{`m%if|8GSYrf6K^C^1$ zLi3P|?>7AV!kC%p&a`S?&53WRYS}m`qX1o=mIQRo(W6AE{4U5SPr@dc@r)XZoxh-Q zB)SDRp0`TJLIT!%fZG%CZ&BINvK~8ryuF-AO?dW<2#Q|6tO`nFz_lK}9F(9226!n% zHb0?SX0^PMnbV){UDDD`Jx;3!OO z(B0PzIb{ISZi z#(PPBWKUSu@ZrO`vJ}3D#}#40qhLT_L)R93YxZ}1$EK71R(AGMBIBgq zaC|YOW6I9kj~OTc^TC}&_gfN}V#E}(TCA!z(CMNHHa}j?LEZ3fisqn!1KT>-au)XP z*>f>d<-yv7-geHMQg6*V96h+<2%lU@`!^Ku4(GtU`SXRiR>uX+k^(a?Q&WRcHPX%? z5=Aua>gE>CyY1XnAT>I(X8P)JDgpChP704?b`<`qY7q;9g#ySWC-gBc47B^O(Cy`B zomC?Mm}2J^Xbczm#Gmek8R)DdJI}1@C*rOW<8BQO%sj~ zr`xNw5ip?<5q2==*rOTrMib8D2h5tR9ael+eMJziKnO32C-?_6wL-23pH+)-jgc>s z`>)_8QBSWJl+q_PLF8S9zfS_L(x0HxEi;)|f~B z5Lk43IRzb@On#RyqirjzwiRkkR6``ly+gFoFXtR!b+}OMyvD6@m@Uge|1adQ`d5vIbjkPr}Il``s-rgt> zX>Tb8@F>KP-5u}JZ@Poj`CTklDq?Io^R}ope-^6VQ^d$*EjN-t!2&QV;+&p6GY4{R z9p3=m0(y5v>@m=lu2Rd9qpO`&?%Q{w1Z4W?6%RYeIZX3nVe?F!Tv>>x92b(?v11%h z9%DC8_DMF~wlQtge2{cbcXKsR~gYi^95CQ^?BT)eLi#Z%tpOn? z@F-9;@m?_k`$_%j<5S2ph|l{P061777#B)irpYkPn&xt`@4xm*E^qL5#m0*5CL9u3 zzFoCQW`k)Q8ri}lp;F*M%+A4u;ASG>`q>Ml&Fg)PZGT-ffGVL%Q~OM;>0EVtK(w9 ziiPqdnF|B4hsV(3E@K!(v<-(qb?WK>aJ;s1Y>Qf@kwtN5hpn`oMOFgqH6cGVebQP+ z7FfJX1eC-ioF{$Y0bT>Zuzor)%sshD4IV8bvx>`Y{AjXcWpr^iB}%71ruy)<_e?`2!g*nsU>PM*!R6 z;F%sgD6qKwTgM;H$D#B7XjxM=mPe*+qKlTq>G=MdDut!i7+k69)Ec)(Oj;BL`uZs_ z2;-R#L-EEdF>#o>dhcjXcfd&cN`vfu@#mzf-yBRpn#z^;df8ySP#; zVQL2!Ssv*V`T3m0x=%XvA%M8)C=ZUcY7R=a2ojJxkMWq^hf8-M@L{t@RBusF$kjsL z4`B(Gp~3)W-%ua(Deq!F2}Y$h;S+|QoB{FkSnwTi(4w)=JH49<9BP4hAeafjv4~;X z5+dvI)QpQ@`hXh{VlSB_nVW0yx?r}^<6N;G>Gpc|L`ICqrylDaqpDCDpG!O9AO$bL zh(o-+Fk@Pd03$RHjjY2d_N|{r?L_S!wAh!82ocrF5$tj^gKKi-v>bzj$9N=k3;uDC z#a3t4)QaUc;gBQ51yMaoyfzzCYiEy+shd&f=DS|g*S4z! zlldz^ek3WFX&)=l!3zF{f);WJ@~4XyNt}@=3Ne8TQU@jQK!>#uACYz<`Gffk?zoAl zJLR;&eCf%d%xW>p9iK(|-Fg!f9w^+az!s~T8U%vl2wR1YVO}ZPCdp2n5OS0KFi+yOWhlWK5WNiU z9AtG-$m6W%Tt8wBj?aLGr)c&`IT#)tKIZ?F_)?)VHuB)D0cB@IVtr`toHp zHUTXch3fiazm^4qg~!D$!N+Q=nP4qqprz!Mm5Zq8zOdXF)v;~cw!h&Ek5i|vq!i}m z{>I?8Eld5Q?vMv^jbKc=#V1RL5$OLh^?Kj_{a4?0dDyM%FC&%>KkD%ci7&)U?fuTP zDT71;TN9GubM-dQt(ET>mf$+W0P7&tJTVsFduqccORF_MBc>RXoX==vdh>c$YDZ0y#jA z(dGHaLofXM`Ko&FTx-{0!Kk9HM^B&b^{!AO@LSNrHufl0+f7_$%n6hgH4w!I8NNLa zt)}Im*Ab#SPT*HWT_hFYJFSfFOFwoHPZLEbtqID31_DO5!})U3+10R>3u+ww6z=ne z!pM4`Mib*+zXgNba@wQ)14!f;r7&_fv8G_ja{)7pFbk3T6L(M4A3yTzT@D%x$`C<}H}02-;(aQP`LfBhZ~=OlPp%MR9oPO2|#o zKzzn=Hm|;G)??H3HoclIa`1xmXAPDN`Zn8@zCX*^^uehg(iQyPS1^G#8LEdGf zGK#vsbQfMgpX6CLkPrcvwZD?Ia>UHwV&Y!AjvVXsh>r(v>2JI5F%A%IZN*>qw>4%5 zBG1JoD0`X~W5E;MG`EN_R1fO@@)OdRBNc+LQp;e3Q z)%P~7`T8jBNK0R!zT(FgRqJd1S&F^s7Fo5s$rGzpRcGg&G*EL2g&JOup$-d!&CWA+ zPwVQEpdumtMiK|hN3#k?Dyq!HK>d2D9JU+3m0PKWCVLX!p-=E~pc=D!U7&+6z@-sp z86$b4og61n?xR&;^3+keQ)VEm-YrEF>ou3>psgGoWi@gIBc&Y3f30J>Xx(tQ8>>n^0f7fS4^2FiRi zB#N^1fF5IhmmfcVJdv_&rBYn~dLk7#G}#q?OWC61k}LdRtSs(zQC6e~)Tbl98>nye z*llP6B1%GLw9ZGz#)8iyxQ9t&10pME4f1SG5C^ICfs5TyNDwDw%LHC9bTA?8-3-p~ z7`rUG>I{!2F)SVl1BMc2RgH83<~a9BIo%V&Ui^Hwq_jMrMjMt~Ik6hdN?_?VznvEq5Qx09PP`v*~Bp#yKmiVjv$G$rBoyR#;9M z!f$SC<)N-E0kE9^shVOXH%5pynct4RiwC8o!6WMe~Y$aHMi7pt+=B1*V|OfB0hWU*)|U3bpfQUllNsh}YJ((6 zQGw7$(!#c66K*7@jr|=(VENg9pk(4|MX3L)y$@~`Y~aV^#tS>$%w-#>=40KI`~%`_ zf4#px5L1KomGz-p8$15_a`!uGObANLNJ`q=QN&Zxw?AF$Y7dCc)D4*)J*2hB#zqE7 zv*P(QmD=S)>hP_zkQky7fk8!KoLljEvgdUm`8@NPPhbA~er7+M`~L@MeO;o@c#ol% z_Rwt$_!V#tOoaVa-zZtU*y z^3|(TxU)HSx)V{w7v;gJ9-1OoDk+Fo;sYAhYw|0tuY&}7NoN9y}LEe*Ybk~h6eW3R5I z;{vxR*?Wxc!i9xJ=QHy2MNTxLIHu;j@HggUJL};glJ`)u@RZV5i|Oc{I=9x%%58$%bUVVuU`Ntu{|_UK>DDtcwu3Ize@Th71FeBcREcR-T2ps^ zjiIqIow|Jky1jNQ#Sp(sm)6=IuZFMzTX^$kx!iraX=D`?y2N;h6#8Dhm?K3Z)G#bG zv9Z%aUJLS_{)p0u^t+gq@Cdu-UbYC$K&rz-2QCpBx{c6D9!A9r!NIA^um5DuLqOAu z(6aAw=aVOyZ)EoQ-JI%2l(7&w)xiwp^GU``$kj#;&ej6%!q$QqIi@qiW(m0y8}~n7 zX4C&^wQCU-AD3qitH8)vykk=)O=>Ggm;tdui19fhw0gzslZB9y0tUcT5bU%f&a74tv$IQK;ekNSay_jSSeqd2`iFcXwj)*!%E&$ zvTB)#uy@=Jc03l$B7kid&k0AbNYe6P7*66Pgw60c&?~q#X~#8){1By3?oRDVlMG`P z39-$DzW?ozebN6JWZ(0jw~eEJwKx(Cb|)a{Cq@jY$I5R&E|X0fa%3AsvOhOw)`Dd} zr06c=nSu?Z(0n)D{Bpb9cneT^WJnVD?bEfSlaC`)97a=pCKm8THz;$}fJxtds>T;RY=L)k$TWXx5q5fZRn(0xZ`;ZOP)r{X>35otlnn&SFwFHH z(|&;bNk&o{GGu|`FJLA(tkwrU`=|YrXCwQq_lY9*@*o#rOd$rh`I+v782d;JHl)H? z5@A}rUg<+|v2lpG7ejQm57d31U{?{qgeN%%as;s5xhC7R!V*pMH)=4%FGw#-j6Bwi zPy%9*3Ij_sGo-B?@dcZS-m8!-b4er$;4iwpx0HG3 z>R+KFeD$1UpRNyNWBH?>jMEhV6qCTkIxfmVTe6eenk>AwbOMrA?lEwc@!Yv$R4B1A zb!h369OnEboU6SDPkZ9z$+0o5PMSSZf_L4*CFfA0&C_w=9UB984(pC&6-Qg%rKkt| zI$$psr;Vdo2B)R8sGxsoD6G$HJMm#YH=JX=+BPC?K{8Ag_$Wvmvb)&6OtEAn?!$-E zT=)&6DD@ibe{7P?RS)=1W1r**>|nNp`ClA1nJAsbn5ekE%Et@+=}@^A4}<2(_UviH z9CpFSMJ0KE!x{{Tk({}$&^L&zPpFMq-l4Z_z~I0pSOH?oZE~f|Sh$SvC$wXEIhmQ6 zQNJg41wzwu6eIjr2ej(aS#i|Jkpbt<{rWCBQ7Q4&tDet&BRoAP+EvVzSQhXyca4pP zjMy^Kz%^~^xI(}c-oO6>9|ZTx3+$N1z=rY2xPdJe>ZO&;PaWGiCz#kCX3|8@LlAI2 zKGVJCasngF8b{1Esh2n^*9S6hMv)2VjQj&JGhhAg+}HZ#eqJUTr2o8Z+X8;TH{gwV zD5=)_Fujk!aH`3>S;|`@Nfq@2g$OFa0SU)XyV2i1EG%y=2G($P3L2fRy}mlZ{#bD` zbpgjREC)CzfuA*ZrR465%Rk~|MRC@qfR{$hh2C}N$kC&lcYA9t>sYo<2$__Wl}Y}y zIFi9QGfR`nSby`}E|5FTMXU{v>sgPY0Pr?&D;w0CufBM=oDLHNK zWO^Eyi<-1#oc7%4fS^&9-QACEz z@f5uO-|`S+m(@E64^cNQF&!;3vfsOQ=Sf&6#TvPFY` zUh;73X(Gqu*U`UzZpVmHg?AV5Q)ArB&0)?5+YoDvrHq&4)yE1_j)SjU!64ZigF@o@ ziTrO&yr_bB59HpZGo*+NHL1HFElHpy^Hx^FW`5CH*`D$a-92(XRa0F9NjOMx>q%fa zu7L6;Ee&%6fmPI^OO~VoAL%YxB6vZ$`{07_&Pj1vGVW_;#qj2(a#Y9BkYyC=qfh^M z=q)(G%MCaZ;z;Q@>v85x7?p2R@bMN)%X%QvBMLeZe<(PrWAbJkFqzHDS;IzVlA1ll z0WhP60+U!zG^Q^yGu_Xg6}a@<{ComU-{;VEy|~mXM2_z={w?3@8o_8Agybhi^&<0OCfF;!)ad$kOKM z&8d>l;2e#T%k9OoxW{IB*F02>C}k>JIP>;^1&R1OI)Jbqf!kc}f3W!#ZF)|lW=<-r zsY^2aamSJwbOz^suXyekKK7`$Vf|3epLtx~lntDniBy!yFgQvldx~&keDXZ14LO?i zE1K7b@LJFXeB8pKB2MUSZ%?kl5VM^;H99zE5dEk8gN{VMpx6+JZE#`|ns5FC1pu_; z=J;}$w{HoKOe|67+Tk5!P)I|yN5j^oOMjF2ogYg^!3~D}SR7d6zP11G;nx{(h4AW< z%<;H>$6sO0YNS_e7{FV7&d;xCn%{4nvI|TLk@BU*DcSXHV9Xulr+*ppb#qpIag9 z{qir4LqMO@nzf19h=sWLz&MODfJLNVb&wJ^E}#>5431zUBX=pZ`Qy$$L6eo(ragUm z<0IuCfK(SH{Yd+ITeS^83xfxsTq4G?d~)yQ|Ne}^N-gSYD0sHtDM`KNQ}}swb(ZTdPF}W$4%n>gGM5x z@}t3jh>$1+)wMI%)_PxxjLiCInQ&UQ_{w*tl?*c!ZETQGm?QIzeZ)FPKuE49=to&J zcoh!|(>x&mOihoq!QQUu;MgdXuOr6ILCP*N5=q#|kt0>?@7^r*f0Sq5>dO^DPD}Xe zN(keH`-ieuaU18*U9ZwFv=6zf^s56D$^TPaN!T~aXVafTp4v{CvR6u;6h|&)%5RMx zx^?SEM%HfkE*yOEtb&fPa%LaCY?5OcdR!bduKyOLAW436z#CNYPZ`^iJ5(GDFNWF2 z^Nfr_z+NmqcoW?3IPFGv?*Mm6!%e?~{ud>Y$VPUM`Yx-Yzm{?!#d!9+yNSS6Xh(Uh z_+e&dW}GO;)3k~nqvq)0pRz6QxanOb4D73e(sr#zp>s0+EsYPS6ZgMeODG&T_lRIX!OS7yHf@zS(O;WE zl|hXuMUMG<`SV5a1b7|6v4}Ex2&5$!Mpf2_m6@DZYLYHp5xLY&?J~(C7G~`eT|rls^0zf?yrIeR4GJ_zINE% z%CbZ68P=`DkZc6V&`ow^a{q0waQ1os?p-Q#KC_A;18*!GOt$+lRG9ApR4_{JP|(4F zw-8(^{g?5V+-Z4cGn-89EWv71y^|Q_rYA9n5_icGrN}RcTS?x&^yi<;Ei6TeA> z#5VP)c)V#aqf5y4F0MG;5vNe zbS^Hkwzgh7v^?=x5t0L5Ia5fqJ$L7JQURK_4vWF!`VQE8aps7Ic7<)bEIu!##h&}5 zLk8XHthr5}sNa95wPI*zppTgk=;|9mj_nYIczc`=ydisxjO^-hs zm(k^iqfalnl@5Qs@3!MAW2f*nhnKCMQDyPXT#c_k)A(QGrtY7M4=;aL9hp+Gb$fk* zU#sA`%1)JG$y+nu*XE`tDs}Ol^m1hVs@=oqbQ_+rI(u5VW*F>PkK%_Z~l&<5f0?qg#X%~*J)i4c-SQ1HJ?2>I6{ z&~cDDd$z$Te4CTg4fRTU`*^v%IwO|#Z#&lG4+W_s^KSes*Sn?m``Lry<`25n)ufBh zRlnF9FAO`?tqZ*R%GYpV=WDF)z5(4O$=@uXexs|o2RP+?jhNT27=f9c+xyz~o% zm#v&ioDle1o0O;Pw;uk-11lag``oxgb^(z5BBn`*j&>w7g!#ZEYpBBT2o{0q8X`F3_G9n?;WLG| zaF-|iCE(=-qhPaTWIIs*1R+Khk`O%~0gFLA;DZG(Fb-V50LX-lOOhW%2Jqa8_(0Dw zmlz2N%Jk>72Yi=3*<;ePkVS@j!a=0lH`IwaBHkaMdss+qtWNqfs?68d@Y>Qp93e0e zJrM0tjKJ{MUzt}emNHOpQ)&~O{SQCEFvg`?fH!H-81o1X`w99S<}Tcjjj3)x3z1wkyi* zxHHF-)6$kOLNYlSEWUI1?uzn=I+=&wG9AL0#2TRSqyom(ex}O=_9o^H zP89Nm;SF9`IL@EH(}*BrBLSNB?4@dI%h(UZM0;J4c0|X-h|%i=m-4)eP-O$<3*N$_ zrY+cvNM?dCjCnWlK34K&q!ckUN?<}YHN?1#1T-8w_T~CO@=%uJ)5%PxSw@Ts^hw(Z zv_;H`h%J`x@%k4;QJ(t*1=z8N&dixZ6cx?X&SJ2*b<2|3yhuu68X&uT^`=aoEJKzS z(jnSRe*WOWSBY@gFuEzifuJm`H?WKQrh-r4rXoh>nORn-t9_O;PdPX5ZUa+`%P!n7v*u+2Y$W;qxBXWeV@Ns-74SAM zZ~GsCz_pB7VX_dsB_TeDYoQ6LIZ=Ee-$hIr%PivKCr=KP&)fy5gL#2)1pW8T3fvu= z{3d#jGcc_Tob`jjq#u2H#&z&23q*@lu zB=?09&M}>pA%6o)0J!Lh6N>Vj;Sd5{M6ejhTSkV)-4|4h(ed$yn4);ioO#H|Uv}nF z-q-2VO7aY#y=`6krz2zskmaC`rD7r%Z73qr-n~EcF%n_CBn7&;^^-RZN?RR(>F+?a zg!c)6scw#qi2}F@8bc3IKk;xeHHg}t9`Kat9h7kgNSBtEFIap}+@Q&msk5cYhv_VR zG=>;u>iT*WD?~kSp0XDL2n6T)L#tHsA0qhLXXf?YTCs4KLOUc#h#Zy}N-Ih$SG%A$Pj{@Fe z%BVM~V8ezbE*%E%x-DV$)Tw-QT|d38H%=evHEmiI)+gfmLm#F-OiE(Kenv9$DL+A zgi6`KJ%`k$(Z-3EhylRJ5~g{n+1J-XCWC#@qcJbl*R|}-RR0v>2nMDwDEaSbFin}* zKDVN?zp?o=UGJ#lLShi?H%dh%jC3n8Uygx$levmyI+hdk+d5%@f%PKunxJvU zTn~X590F0RZ-j{y^Ll8^N;JW|tQn%jfD)9f+7~!>wFyxF$f`%1Jn$2KH{{;>#R^y% z7LD3)MXqn=50fP{Qw#kgi_FF_L#AWvd)a-42Gz2nCf?2k=!4`?;!{kjKH+!owa^_i zp?K|DwhBakY{Nu@lA1lsJE_ql!$=Jvy103dHjE}Tz+;@%lRWc*eJAc$4BBpXmaq#D z9AxRKsh5)1=L4mZPfh`kik`77FJB5}I9V9H*y;w23U9MTh(YG+=)_#BY$pCQGYm0v zj=a!2%kJWV?I~(^yC5PkW0WYZm^Hnm<(4h|`uDdHr*a zQQ*bck5uyR9VI2y8VM&XKPh&%ga=R_S}1@ZF%j)RoC@H+u~GFLa!WLWar*@w}so zsw%#Jn1ZY<<0VT%af6^SA(c$%0LOFePdD4yA_8A+`{KXFL1~~uqN(iE?3VEt&hg!u2W&^ zE?I!YT(h-R)*>&#@T|P(21!&H#f8(7SpC?f{u32*n7l~jCX9S+(x_b+o3_g{mq=u_ zVjiL>0BHigfI36QGEQ0f$y${`ZW@yg%V@lR8Mpa&AaJ4Fk<|E%Y-u6R8n(8byLRn8 zbb*iqYnUQ28|K`(bHWltwg^g~z8=d{FI}178pB~T(Ou$a>2M?B)`wFAqSTe1Q}iA> zSZG?Mr7_^3LtSG|ei`c*P~B*Ic`|Vf(1&*hly|=sEivUg@Wl9`9|Jiif>&1*WiSG+ z67Pr_77}QziQpcv3!tCO(q&E>&l_bYp+x~yj!61&1)iN1#1tq2(oj5RCS!5ul3qmF z1OPv%uPB5_Wh8p5fU5%L#K33AGTyY5^^pZ1h_!W#yuz9m@ z076}ju~QcM*?zXThUabP&X(Ru)T4NIP$;b&eHzFO=?0JiPzSCu=4j(+ll146 zilKVBX{Fn#F2*-g*m=w&`DM;Y1BHLQGj(Q-85icl)Tubq=lw*iQozzjHswS(5 z=|Y(JS6^TF*`|(c9KQ~ngDFWKb)4tqC+y`hM%(Eo0-GEiGfamnE6ccO0?m>bfCG3c zNNrizAx9B7-`C^rxb@MXcz*+w)v zQ;qVha7ekayl~o3HELqZ{3Q_7@R0BQoeI64?%g z{v4StRw-eFY4Jfya1(1EEKXRVy?Y{9w5 zIGDQHT6G<)ahP>4B2YrKC@tpexgPsM#1M2Npylx4Pqz)Dcl!0$s7H^y0|LIuyWUY4 zyZ>eBPeJU+bQc(FBu>7{-gdHS*c|!pBx|fy_2p-(@Dn^0ahzvMga_Ygi9nu z0vMa2grsFp*G8BF@y7#%jexVnwI9nD1fCjVj*aJmXtaxN?Fk>6ds#Ush5h3bfxsuR!M%+r=EdSWW1xsj#m zT`8aq*uB})Xosjp^?cf-^cIyJx0F(dnx{PttyAx@Ad{XJew$28LP_|bOwiWG4`f(I z(Hqw0$CfP-%(6w~f01a;Y215uX+dYt&m({Cu&0Gbz($ST-mh94n1)AIT#R|$#%G+` zwl9-bE_WTjZbMXNnaG?|7^-2brLF535)@YYtmE%1GHY&bPmNh&G5)}_N5@7PELIs< z>w38+`s9;kKVDjJ<#hkOkc?N0uU$^QBE56Si7_vxc%JI1dC~8l<%cs{Q*$%R10L<3 zaj3m%&}Uh{f(=2nb&Gbt%$ewYzjfMKzZLn9Jw}tcJGN}^8nyh34!eK)VrTKh;HmYx zI~T4Gl%61)Vl;T;yLO*z4z^Vex-|byvCq>>^S2hf-sNdj^w#+D2Ib02Zyl%V-S~Zd zdiT(zEuYVXT=bfv-O_fHYL?XR?=03laX8Z5v&dq4La5tDQ|AQros~6(hPB3PwE0D& zt;#cOC*F6zaV(+MG)zYE&|88ICXp4gF1PC^;~h`e+LCAFw;|sDQ^ePm|DQjjR7Dz2 z_801$**rak=p;~5WCWTVM_H4Qz*OvpO7R~o(>982kB(E<&=4QyGXiq+*#Yp#QA0w~ zZzCB40kY_YI(NqGXdCin+TPFX1@vn5Bw;L$wA&673b3KMX;85H9s)SAZm5Glii>0JW`C@2V}CO`&&Hx(&|9#JWo zp-u+c+SKW=rGzWoS-N)9CPt7a66b@!8R@k)dgwk3I2to1b*&1nE;OaP9UMq5d%8_m zo1vF!ADQpcC$G7rKHL0-z3LXzX$xbj4@C4Vm%OoJfc8&yrBNYAe#WK@S-k9hy!~6BIVR7qI3(_%!s2nd*I#yS?fJ0ZtyVv9-xzRZ zep$(zQq5Y;M+sK1WQ?vN~<3%`8X?RNzv`$rgLxBJGFVT{jKz#u*i{} zJ7zuza5-eRc+1r}$DP-niwi@>ahkYUP=o(GVPC(>Hu*z{*XnF|P&&zuCz;C&^WWo> z0U|1M#}2kJA{;knG0So6?CqGdDDP}+o_WU}OuL%ck|1#H``2C%oiZvq?-)C$82LK!_G1zV z;M-wsdiNeI4}HgpPKRR|n!$sJVjYRz$g#tQnSmMc$k6+KNWG4R;RA6Q=}Jz^4s>vT zo0GF*Sa;-`cb1Mpa_Z=M?AW0AqDi?3SkF)xAu;2Hqy;?>TPP#ZD$hBhudVhs*6TMYt$I-^uD9ORkxYDMokU5W ztp_^iht^jj#=&erI7#EQ}ztHNUwt8hzh^o`5bwYZ7F;~hf2ies$AhbMuCnnltac<6l03r#Lay7 zPD(m(@ph~%2Oa=-Ou7&d@Coc!N;)*d$iP5dVFrV-Zmdt8p9w0k$AN%Dq3FFaef8># zI5J%3Rc}cRAfd`UbxHo%t3Ov&q-`R2hQvO`VNub`Gmm6tf&&c%u+F&No$T%H1$t%x zUs^U7fgp$Q<`8)#ykhX0_Y)=ulI2fGh?uR%$B}audE6Y|)Y*4bSEk;f#%9`L$8E}g zUy2qjCKua!Z!DD^KTV=zaNZur``7^^qpMScycITn~)w!ulr3b1f_m@`=s;z1m^84-d z$|pKz2Y#7tw=EiQ$lC!LCPa3@a$+79%R~4qQy|zBNSv7o+^U|{w12+GxeP7?FqH@k`M~U~>QYYmuEzjEa(qlug zYtJq!Uv?=L7vEo7ckMx3uc6!h(!Nsw{WZq9T$%M4jZ`BcyX&WRR2rI^k$3u{RZ}Tv z3OE@{E1WdQt0*DBM_U{FJ}t}sy;YnI588kdAbgd&n9q*4jdLS{tGkccEvLzB>kB<)Ogk|aqRqnIRZTD9EIvoKli z@Avy#9{1yMUw@1k>bltKCZ+0)kJRj`j;szggs~eq8T#{kG$C z8|nt%G|I?OzyGq^oVcKM5qn20O5S*Gvr`MZV;7^-mgjF6Y&7^Ckdc%$yoZ z+#G{a@-+ZFg@RJwJ|%RuXQ;cDKQ7}TlHV*od=GxzwdqcKIjHQ?|Q}y#MkH*sx^EUrO)k4Wmp&O* zSFiR;$;K(UvqI{MX7BjJmzVaszLi5)9O8nRrRi^yRGF7N5-<+~y%EpL97u}jOZn8lUj?3&~mh;c^ z`n%lxeNjpEXuqks(`T)5%c>6Bc`JY9l|{F%D;VFYO_QZYd z{;b%&N)Ap+i@vrxeiDnL`OD#(sSDOA_!QQztN-&?=QVuRnsB!s8{>}f{f0-pQ{SAX zy<4H|dR_O*#95iPC(?&m$envTzM-&TNZ3R}GtWO)_wDg}L6lw1QBUvJHbdg~cK+ke zi>lO%w=bOfV_jf<-tm}{e&vR@Ywvt-UzAcYe$erPcyGJN){53;?d8gJ6Et#lLsuqV zJX5uA`>aashOEMT=h>UzOi0eOzEvN%&SP%N22V%Tx`^rncOTUo#cjHsUt@oFc|ugy z-!_gFPL6S}Y<9a0cy+c_{P}d%(7hvG>V`gVs3{mUWqXlh&Y1FWkJ0aXg$%G+&=6Lo zo;{%Qj~;y#mKVRXkNmrIQBLz~@ZoE#WAh@byLH)~1Xt;~Fk@a>m=;z##J$Vn@D8qxMt+b^8am;$`a537bx*l~kAQef0E{k+1pj$#HeFJ^ho$AGzf> z{;#gX>mwc3`RY6^X}#>M+ z_gd9qe9wruO`A3~rBgXW!ysGZtYUcDoMQ79m|6r>>e4u)QMLb|tYN-7N=d1xZO||! zr8E;|&WqcggkJt2g3EWiB(BDBjXxvLi!t#TE&nq?K^r5N(3(X4`s~Ycw|JfOv(f2g z{b%gc3P;~udNgReCiwin)28;1i57uWl@(Ly@D{rJBqUEovt7|A# zYH){U&c`N@8zS?NPY1e9m)T+QmqBp_A=pNsCO~ngxFReaIBlAVz;^}u{NTZP06h>z zrgOMZVO0S8NzAfUvNoom?OZv^O91YmP$C*zT9b)6M$q%D9)$pZn!fw%hZ!DDN4NgEbQ{ zuKNtdgAASI`OtK8MmiC_J4^$;m08}>nMqR?9B}x2dU}s=6V}LOd;=1*qvw4lIH0KC zwQ9B71sA5*ueG(cH#W*%SBGH?g-;JTZDHv_nJ?iw{wB1B9~cfkTWCEQ5ktXcaHz4X zGtwWD#XpR3{8!bY3_#J=>xUms%r}Dsz(?lYV?+vP5Ihlm$%pyP3^)WYYxKTcK9@KB z`YE@T`($LMwYwVkGc2V=b{Oj~W{F=l$TZfFH8nN-mqK@4`uVBBdP+uds?574PPC_| z$7?G#HkLM;3BWo_OQm7Me%#M6mcf_#bkAz4R0>n>6r&~KB!!&O7Woj5jr^9U-}v8g zV5W~{$YEdKqCwVWi7LbvFu#0}n;V18Hut81OkeYG16Z=C_HbknA>1HH?@h&tT%9n% zV9=PuDfyU<@VvlPnCMVt1%j3LSGx`kP|yRu;6#un0YUqU;R|M#0;(Rm@Fzt^;>?x7 znBYZnt7TfZ9#7mKur-(?Ao~2l3x59jXHts*yzq`e&WAD!tsiEi)Gv^`!2nn+O{!F4 zfA%Rd8e%S5{E!FG)Wl?A%$9RM^r7J!FyJL7LAO1b@+&K&I&=YIT*$l_vr>Kl9#V`X zW`6c$H$Fq{c7J)pjJWO$*g-nsLa<^KG2Y?PAW*CStRuNuCfi`nB1{J4fGf$If?a8b zjm^btD+VbkLD-MUJG7Y55?U#=TFEA=#0dDgsYS6K1AMnlP*ru9ewvRC!4St!jPLFp z8B>78&b2(L-S0;yY|_#Y5-{=u^54fd4NxS6&YEk0J`ME^@HEdEZAS2ial;$KLOwfl zS#t9jZ^F#PxFcpsx1>1csf@;0_SD!gm)La{Ba~%GrShjWg8#{re@V%o-sJe-= zofI5$bPtv=!@qKx6%NGfVFuI`lMm4aLnjD7rs0E&zGB2ZqMJB4^dGZxtH6;!w=Fm5 z!%+~WWiRqP1ha(E;Iy#kNFN&>%v4G|I=*ZTtcv$x&5O!YSs$qQjh8OX?z(U>2{_3n zY=R(3Xwov$)4iCk9zFWHpkOhp>cN8(+6;Pm)D-`ov~ba)d|ZXKy{!HBHgE5@hc@20 zOC+;?*Rmy#F=k;f7etK0&05q-TNnyyg_SZ;*VkZ-WHzE3>t$+RY_5SE6i=j@qCevy zoA%fa)hqrxsCRg7iQGhb>DQVno~t<37`Bbb%G}QrOh%Nyq<)r47OV!YEm(bQ!VntL z(ah)lOKOOZJV+1XoQ}dW;Tg>JALJTk7!0b(`E;HSr-V>pZWxNr8#i#v()8DzI&GSQ z>X!TFV@0yGH#cS1&Yiyr{TiM`vVh_cBW*d{CG}BH9bNTlD(11Nx58rDH*I>V#*&vf~`#7|+h0O(4tTSo?^? z)iY<$h6`T9c{DYbSszo_xQ0K5mdMlX4<9y+$1?WU0nNM6%lc0tXKVVcpYB_Nco&CA zBcq~8L}eUD02vt)7zlIS+ht(y>>oV~HoYkn`cx56iCzkRg*P!tdvKltX9&Ka*HzB{ zw^~^|G}gMm;b8odU%}%r$uLdHFiKh4&5Z+=5x8MPakhOC=X(3as{Q)qK|g1|oi$?y z(-Y)7fSn9OA7eQL=gs51Pc6A0ghWJMTsV|bvj~8H_^P2q=FQouEz=;s;QYcRdpwTnZ6YLWmh-XyH~&kTF!ngFqzpOvEQKk3}e5 zp&i!5`WI0Fi04JL%pGjtJUlTLgXeBB%8PQ0mmn6j*4YKo+k7iz-`Ji3i4X39P0 zo}~{*dM84ng2__mV7zg+~vcqW1PXB{4K9Pg%g zISt!5?8v*=7qDFexBhF!qcC_txb^#VdwY8;t77me1o*RNCGOKKW@gAI=3oHcEc2lW7Lx2N#9PNg7+wQ0VRQ^i2sB#bip841ph^3^k&}wS8Vg=t7(~C-XxAv zt2%gP$nL4SZ41NGm^7VqIBE@I%Q)Nwx0!VjSrsst^fWl`32P8$=)KjqsrKo!63++0 z<4`T$uKOnx&MU1HRI#&Ua*A;Bd;lf_WUNrG#tWSG_nV9-vXRsoVS;(P7Bg@=wM7#a zg3xJdUMKJrZ@vpi6mZ!be9hUsuOd9Z(WA@M8_LvK%OU0>BEt9vrM#q^9FRV86cFrA z<##KK)ykQ4ur0PqI*nWEw%SY9TN`6$4Lt9JQ+!eUQn=w+*NdcCKfmV~8KMTUSiAOg zmPHN%mm(-WmeP};xV6DVgHqs%RCYI6>Hs?npc5rEX=xhB;}1X-+v{=!NH+j z%N^y#}T3RxQS z3t?6Qw}#^NONQwYgj1NJ(ACk6F*+B;2;M6dA*;g;bdHW2iTD{djDB}psuRp^tB@F` zrKTnxn-~E}3eGS7pAL-nV?6mLPv`xl5K=EKg4BeXaf#N|C}DZ>h?j3KA40_Hz`vlrLh~a*%uWQ zlx6D5(Ng$|XtQY_u4%Jhg-S9lbmE&!&$&S8MX|ZOgg_2?Gu1N=3bgndWL@K$%<1^P zP^EOyctf&}IKAJ7bm`Sgb={K-%T=OyY@rcF(2625j?UT!Rm(2PYvf8z8sXo6lL#-f<|5LV%TYtK$DT_!hmMlHg9d{ahMAmh zpCY1FtC=OjPo{~3UD`z?CllWl**J%Yzmjy+p+A9)^XDrYQ@ms)B`J*>^}s&v%Cchl zUeC@c?1Y=^OaO6a95q&U$EbEauZM-Yxw!>gt9?1@Qbgk{Le;fw)$b58M6_&p_)cf% zjuR&b>vaslY6DtL{#SgNw%-u}E=%Is4e?dBV^}K8im=Y20mDje_;3p(5Q;d+Qe{HB zME8ib;vYjfm^fSsMcVT~VyHoU$f+e5&vr8rm7jzwcBz~skeDYl>OK{Cy zWo)eNJ+_d7oH|yK73Qan<8A)~Gen(A#m)ZP=-<*YWIQ|bCR#okzB_rkU0~BIVE6#< zK7UEhqenJ`Q@8Ha-^B$lz=wDl>3EHr8jwOcg9!i10k$DZR_`N6uzvw4L3!?+wKZ2!P%vLvN74*<++vs> z^=wzqChi1{I!e{1iiTM>hZ;#AQmGWK60_`&)m)8tvqJasvaP+>M9*Fqx#e%St~#~n z3LYMcs|ZV*AZN9eC#VywT9^VqT8?xJ)odEP3>#;S;o_QZjMro2O?cYxJe&c=r(gxe-P~g3+?Gu{QY&`8Z%BJT?QU zYS2xyEH-nur%iLdwxUG4L%ViI)wbG!q-go~0OR5T@iP3T7(OcuJVl{D-a{@FzQaQ$K zIg({TzB71_&;CZiMGh2?{RQ}W#4c4*gbNFHQ5E6%PNiwSZfw9L-PhNMf`Arw-`IZ= zER1QgZ0x5`cd6V<^@Wvp!XpLA%d-LU?Li=^ZZE8_9NQRu4H+_Cdq1j_w?Ml>`a`f; zp-p8)MTf|#**l72%I*OXiUz1dS?Z-HIUh_a(sER48Vp&lOZw$pRqwO4(`b8#5QVIY zaNl(kYtP=^mU%-b&xQ=3E)kcGT0{&V?eNC2+S#?ieL0XD=i#o}t;I$veVj0r%LOrl zfBd35JFboh@?CZ3(DIod2MU&t^+6uDY`Mffe{IEhy3KTRo@%Yxv+>r@&;2RQEws9< zwNcrY%lfYu7wcSAsnKbY;qUpOp$_MXwD$26KR#AVUS9B>^nHus;4a;|jWfQ=0~4Jd zg`8vG@WTIo{QaJU_~Wjuf#^dfM&h`Xji29E6?8WQTP7m8(=2*At_lS!ZF>X2) z8ChMBxoTVPKA;B?eQta=T@Fff|KGQ4AB)CVUw|trS-%_fW8ZeJ(H}D>bAc6~BAVqVSADqmz(t zeN`-dwEUxViCX{oO8aqfg3tD!!nJ~}E808N-kI{v$c7W^RBcLb%H{kV9=zP`=KbMi zwCwOmK|{fr2s&S9VS#i2vVbE{69~0K$}ANT&(!}w{>2OnI+MX4kPYxoIHKcwdccp70hn2y;UQCYREc;`x!pFB(aOUe0{$mtT?0n&6I1~3l7}LKG~xzDgMcl zeva{aX7h*JXY9L0d&M?N-_L&`T4$VJMUR5puPt01f)t*Fo6$ytCIDzsnq*{WFEub2 ztcb#anMC@&mT$8CfigcIDb%Go)}?{yPCKPu8c1mdf{*Ivh`M7v2XZ(OYeYxrflh$(h({uo2@);!_plv zXJe8=X!x<&;$q=hc>n%ct7m@!PRgw{GXv5Ayh5k21$HgBuqs*o;}ZJ!i)AA|2Qt-m z^#4hk>8g05Tz~Okj3y2zr`bshLT%b#O5HZ4;gtv)|GX(g_yZPCn9#_PC5IMU5T}Q( z0(lXnX)twQ5L5x*r(fRvfeRoM0&9!ncV;ss9VW&`-hZ#QLFYpKgd z2(P&@W4gE71=28_OAgOS=wdctgva$2ln~^HQ|Q$gB?x`higO^<)ipICm}&!x-LB$X z+#K1DgchnWjEjKHU|T!6XyXdWl_M@JAcf&1cudT>bIEzu{RRwh{6*y}D!LZM>poYQ zUS2aN@YsnTFNq(^TKy|Qe&wszX^yjf!+}+_{^Wh`U$U#wg{$RJ04?I^cpW6Dl-$JVd--NYmiKfgvGX zwsa*+(6JMG1TiRq5Z* zzEpa+QrHNM2fYp=WE1y)7sbC{#g%_DB}ioGY6F9&y_x8UeSTHd7BumX9#OAg7}v9NXN}#qnd8{k^&5uwp7>`> zj02O4=enuWg=T^xM)XxlyJC*6Nj|4vdGtm5VWoq;5?3b$m@EmTzdv%MM^XZPII~gP zXbb@<1yMR-6Nc=o6g-*JDJ$Nwfh{1SaafeTto zmQ;MR*z=C#ZO!3<`bd46%FKapmmRcQ&|M+0;L_=d6TN_5x+hxSxJ{iiNKo z-;l$=Szgg{&)h!;3?@G(VOM*YnMAsf0psHYE&~|1-+2$Q$~@@c%h(ZSXcxDC9Sh8WvjkvcDW-=)}ZxGCmD|JB^t}{AMIChQ>4i8_D z&Hh7r3^S;A*jn#;fwq6yLgMc@{h4%LSU40|wDcx+1mnf^cO;Qg6?a>v+*r-aFG3Lt zXFg^tN+6oK$mxNpuZS=Wnl1rdk4iW1B8_3}!o(5yd*HyEVVjA{On8C%9U6d)M4l{9 z+rFx*wdZcgcalzb--tIU;D4jF#aWKXrBNHjIJs)xo+1S{s1e)#bsmX^8~G`tQ= zVqc^o^W49GdE<0G*9qP&DxR%{Q3RFlzmwOdLkAoJB4P+?f;!A_bkZ~?Mo9_FTTjtR z8NF`d0;vnbQm_@4CY>?t+~7rF*YTt{eq1ti=up%~VRN9XQ2iigmHi9a$k0QKGRgj7 zc0m4Vswq<2qqEllYt`EI>)TgGLYD}LNRz7<=&^yW(_ryp*gVglKNsHaD;ByCw2^K; zWdoZuc{T>YU8J1Tmk1#*Yk$K;8E0=)J~Q2OU%vFjTphoR$Z|(LJw1MS;%YM!lf%Sj z8wBrla}yff`)j^}YDaYWynxY6-t=nBx(jZyf2~qDyST=0^(6aQ&hPlVRaHys9B_AA zxNw~L2pkq(7VRo5y>M8eD_guzm$H=vw=#p%KQk|z7++rT^>(Tm7Y;jD+3&9Al*Tzz z;sl$8d~996YPL<9aq43J3pNgGY1Z*ML59&|QEai7QKc~fYOH&y*dkB@oH!wE3@gL` zYS}{1Y8b6dLe&Ag0mOx>ojIF2_J*ve24Suleb-lQYmH}o?J9T{0|Y}K9>2jw^F?-c zHHbyy=sJW^BQT)ghZGhv1hL1@-Pi8bX;?DC@zWiNsm%CSW@(cc>d5{L;zOBRdL5P& z^{k+k#n~2 zf&h=TD;$*rvkE(O92%Sk!bmGBawCYAAw3;3ONfCyoD|R(k&|0I2^TJ=M=VQ77hr0F z5jNO^2UST)i9|``QN$Vw1#Y2D$F}Gg5!m@0<({#1Gt|1hih`aqL;>s5ZQTH+x^^94 zi6;VmhKJUVh{0uL=NK3;@dO%8C!5UnR}v++6#w)&El=!T7KUG(C(=Aj{`&=l8;vgP zzToO**QH3nVo@5Z*m)Fe4t)4q(GP6YuqRSdI(6?p$Z^+XNCX%FcWVb1re}I1J%;ND z1Zx^D0GLVCWguFqroll$dv@=RCL@NYo+pKb1kN51cj1CeK_P~lXnqq;@V}{Rb8KJs z_RtCkV-^!9t*LfW7!Er{25~Y~nm9r5t!?Nmt)=iaXFLWisEIbl8d(|&lb>-SL!s_o zV_!wZlj=>vqIwLwF{B<^YGI7dNR;5*ai){{2$SDk$6nk#!?Cwkq5*S=w*_{ev*o!f zk%Nn5ke=$ayW=}*l@|Zj(J{X73|cdmZPBY&48msW=;#mZ3~a&~!)%pDo-Tm>o>mSP z5u6%qNT>m!8`K-q>cQI@xZ}!C5%~(;6_sAzVopf@tUzp4->mJfeiuIoyhETt4RqRv z9&FHQY7`UYs4NQ(vZN-%YIc#dhAZ7ZJ%_~a4$F$$S*t*q!oLIz&skO!k-1JfAAJ+;uWtG%tdn8e;#j@Kizi;d3I4Af9-L9C24@hHqX**zo} zYruz+y3jxDmrU7!atJUOHAA_mqq!3L9XKP)n=d$nX#YF6!N9{8 z7l~^tz6fsT;$9x6H8L3l$wG+d#KI~lc-PWCehg+FOoeiu{tVi-y7=*9_I zXZ4wf zX4m5Vmw3a%S168s1do*iMHp3sSV~<`+e@y()Z?@#qz}{pY(r7SSRo1qZ5SGTucMe+ zzDSop)ZdB5zS|>@xX8#want6?EDtxx%UFVr(ag+@tp`w)H=4M5G=mYp67CSY0xz}= zmK;cn℞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

UyWm=T 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

jkAhKlCnT-NzZHP0~%q^c>t#;Bs?cBAI?a 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 z�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 nAK6X$rw)I|L-&E>k7cUYaNDReugiy`A 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�)LajQ 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

;7yAql z7ysqhf~;vA$Uyx9`Rv$&l~`;vb$j)cm80pWoCT7^V47BgdCEUHxQr{#o+V{vw49g4 z|Aw+Ye*B}1a4bQ;pxqfA%Aa^)I-K}kkXB<^1!4%r8O}K_WCGxBG&vK{M-WxJii2&? z7{iX`1Z&E`iO?sf>E5;(f-@!#``DJZ5`uXRyN)?txP*bR$O_LH7rsG=7;|XcRpciA zH)sL-Z+R74GDv-9TG~o|ePQrR8pr4NOE(W}{O4dzNN@tI-?F7xFgxSSVWIoj&iuy0 zGZkFD!QOFsn*dqXG!p1n`VKan<6XtNc0Dn9t*VL1rH31^E%*X5AC^=q5kTgY5$ru* z;Nj=Sa-0J~@_}I4x%T!xKof=>rx8xGCySY!JJPgX6pJz7z7b2!{Z9 zx#7yb&lHPe3m80E z5gUMX$P5VZG!Qk095mTn^jf@@*@>9v$8N^#ySuaydw`)0^Ku$Y&l$CnZSi-nUkk@U zGmodB!o;KE>@#BoOujz>k4u1`n>jV=(HCNVTQyFEF`tqsYJUWoPx}pejCpz|qdzr7 zU`*WLC)qdNt+g(y=+#wP*>GCXzA=#JONqzB?-D|>Erl?viNavM|G0@0A3uDEn*o6p z_+H4f_6l#E~ z6LE!7QEA1^Ci@s(J1De&nKsRm**(_`%CwNWNQ_!?a>S~Mf+;(OdMn4L0p_r3u-*a1 z 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 z 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

hLs!?-)+SBtz3NPhX){smZ~T7Y(eqa35vna| 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%0DWv>5yjUgPY*Rs=EOz5_Wi9|@LBZLRX74}Ah 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 I`24GX0&UQK0RR91 literal 0 HcmV?d00001 diff --git a/schema/Untitled.svg b/schema/Untitled.svg new file mode 100644 index 0000000000..14e714627b --- /dev/null +++ b/schema/Untitled.svg @@ -0,0 +1,60200 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 270b32e9f51c7989abc1c854f1d3b19d9d329112 Mon Sep 17 00:00:00 2001 From: "Sean P. Goggins" Date: Wed, 11 Aug 2021 13:10:42 -0500 Subject: [PATCH 199/201] Data model release documentation updates. --- .../schema/20210811-augur-0.2.1-release.png | Bin 0 -> 2864891 bytes .../schema/20210811-augur-0.2.1-release.svg | 0 docs/source/schema/data-model.rst | 16 +- schema/20210811-augur-0.2.1-release.svg | 60200 ++++++++++++++++ 4 files changed, 60212 insertions(+), 4 deletions(-) create mode 100644 docs/source/schema/20210811-augur-0.2.1-release.png rename schema/Untitled.svg => docs/source/schema/20210811-augur-0.2.1-release.svg (100%) create mode 100644 schema/20210811-augur-0.2.1-release.svg diff --git a/docs/source/schema/20210811-augur-0.2.1-release.png b/docs/source/schema/20210811-augur-0.2.1-release.png new file mode 100644 index 0000000000000000000000000000000000000000..7459c36a9a4e1516ef7968e0486ea3b485983da8 GIT binary patch literal 2864891 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 z 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�p(g$ik77;a;*7RTBc{ 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%0DOQGG^`X>Vp$dM7C{v6g8#6(!&{ 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

    JSrNBurKP6fp@+|Td|M|)Huj9AAj2K4XI~fD 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≫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�a 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

    j@{Hj!?Tf#0 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 z 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∾{)m%Uy2Xw?`PA1+Cn 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

    Xq#X-iWxZEnVA5Aj?uXv?6j-hG>x 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

    @9*MO%jrBQVrrEjhR6L0Z%Mr=*1%=DUiKc^H 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℞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

    UyWm=T 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

    jkAhKlCnT-NzZHP0~%q^c>t#;Bs?cBAI?a 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 z�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 nAK6X$rw)I|L-&E>k7cUYaNDReugiy`A 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�)LajQ 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

    ;7yAql z7ysqhf~;vA$Uyx9`Rv$&l~`;vb$j)cm80pWoCT7^V47BgdCEUHxQr{#o+V{vw49g4 z|Aw+Ye*B}1a4bQ;pxqfA%Aa^)I-K}kkXB<^1!4%r8O}K_WCGxBG&vK{M-WxJii2&? z7{iX`1Z&E`iO?sf>E5;(f-@!#``DJZ5`uXRyN)?txP*bR$O_LH7rsG=7;|XcRpciA zH)sL-Z+R74GDv-9TG~o|ePQrR8pr4NOE(W}{O4dzNN@tI-?F7xFgxSSVWIoj&iuy0 zGZkFD!QOFsn*dqXG!p1n`VKan<6XtNc0Dn9t*VL1rH31^E%*X5AC^=q5kTgY5$ru* z;Nj=Sa-0J~@_}I4x%T!xKof=>rx8xGCySY!JJPgX6pJz7z7b2!{Z9 zx#7yb&lHPe3m80E z5gUMX$P5VZG!Qk095mTn^jf@@*@>9v$8N^#ySuaydw`)0^Ku$Y&l$CnZSi-nUkk@U zGmodB!o;KE>@#BoOujz>k4u1`n>jV=(HCNVTQyFEF`tqsYJUWoPx}pejCpz|qdzr7 zU`*WLC)qdNt+g(y=+#wP*>GCXzA=#JONqzB?-D|>Erl?viNavM|G0@0A3uDEn*o6p z_+H4f_6l#E~ z6LE!7QEA1^Ci@s(J1De&nKsRm**(_`%CwNWNQ_!?a>S~Mf+;(OdMn4L0p_r3u-*a1 z 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 z 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

    hLs!?-)+SBtz3NPhX){smZ~T7Y(eqa35vna| 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%0DWv>5yjUgPY*Rs=EOz5_Wi9|@LBZLRX74}Ah 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 I`24GX0&UQK0RR91 literal 0 HcmV?d00001 diff --git a/schema/Untitled.svg b/docs/source/schema/20210811-augur-0.2.1-release.svg similarity index 100% rename from schema/Untitled.svg rename to docs/source/schema/20210811-augur-0.2.1-release.svg diff --git a/docs/source/schema/data-model.rst b/docs/source/schema/data-model.rst index 58d5db61c3..98aef18619 100644 --- a/docs/source/schema/data-model.rst +++ b/docs/source/schema/data-model.rst @@ -1,14 +1,14 @@ Data Model =========== -The latest version of Augur includes a schema_ that brings together data from : +The latest version of Augur includes a schema_ that brings together data from : 1. git repositories, including GitHub 2. issue trackers 3. mailing lists 4. library dependency trees 5. the Linux Foundation's badging program -6. code complexity and contribution counting ... and MUCH MUCH MORE. +6. code complexity and contribution counting ... and MUCH MUCH MORE. This document details how to create the schema as well as some information on its contents and design. @@ -72,8 +72,16 @@ the DoSOCSv2 project: https://github.com/Nebrethar/DoSOCSv2 .. _schema: -------------------- -Complete Data Model +Complete Data Model, With Key Table Types Highlighted -------------------- .. image:: schema.png :width: 1200 - :alt: Augur Unified Schema + :alt: Augur Unified Schema + + +-------------------- +Complete Data Model, For Current Release +-------------------- +.. image:: 20210811-augur-0.2.1-release.png + :width: 1200 + :alt: Augur Unified Schema diff --git a/schema/20210811-augur-0.2.1-release.svg b/schema/20210811-augur-0.2.1-release.svg new file mode 100644 index 0000000000..14e714627b --- /dev/null +++ b/schema/20210811-augur-0.2.1-release.svg @@ -0,0 +1,60200 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 2649eccb8b8b017da59f7021fd0ffb12bba24c44 Mon Sep 17 00:00:00 2001 From: "Sean P. Goggins" Date: Wed, 11 Aug 2021 13:15:35 -0500 Subject: [PATCH 200/201] version update --- metadata.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/metadata.py b/metadata.py index 74ded242ec..35614388ce 100644 --- a/metadata.py +++ b/metadata.py @@ -5,8 +5,8 @@ __short_description__ = "Python 3 package for free/libre and open-source software community metrics & data collection" -__version__ = "0.2.0" -__release__ = "v0.2.0" +__version__ = "0.20.1" +__release__ = "v0.20.1" __license__ = "MIT" __copyright__ = "CHAOSS & Augurlabs 2021" From 0bc54652cf523827863f7a2b0d660d6f87bde271 Mon Sep 17 00:00:00 2001 From: Isaac Milarsky Date: Thu, 12 Aug 2021 12:04:25 -0500 Subject: [PATCH 201/201] Updated docker docs while I think about how the container will work when it is more usable Signed-off-by: Isaac Milarsky --- docs/source/docker/docker-compose.rst | 23 +++++++--- docs/source/docker/getting-started.rst | 6 +-- docs/source/docker/quick-start.rst | 6 +-- docs/source/docker/usage.rst | 60 ++++++++++++++------------ 4 files changed, 56 insertions(+), 39 deletions(-) diff --git a/docs/source/docker/docker-compose.rst b/docs/source/docker/docker-compose.rst index 76b42305da..4f839667fb 100644 --- a/docs/source/docker/docker-compose.rst +++ b/docs/source/docker/docker-compose.rst @@ -50,6 +50,8 @@ Stopping the containers To stop the containers, do a keyboard inturrupt while the script is running ``Ctrl+C``. The script will then ask if you want to generate log files to look at later. +If not using the script, the standard method of stopping the containers that you started should work such as ``docker stop`` or ``docker-compose down`` + Once you've got your container up and running, checkout out `how to use them `_ @@ -58,6 +60,21 @@ Docker Compose without a script This section of the documentation details how to use Augur's Docker Compose configuration to get the full stack up and running as fast as possible without the recommended helper script. +.. warning:: + + Don't forget to provide your external database credentials in the ``docker_env.txt`` file. Additionally an ``.env`` file is needed for the ``*.yml`` files' environment variables. Don't forget to set the variables specified specified in these files namely ``AUGUR_DB_TYPE`` and ``AUGUR_DB_HOST``. + + Example docker_env.txt: + .. code:: + + AUGUR_GITHUB_API_KEY=your_key_here + AUGUR_DB_SCHEMA_BUILD=0 + AUGUR_DB_HOST=xx.xxx.xxx.xxx + AUGUR_DB_NAME=augur + AUGUR_DB_PORT=5432 + AUGUR_DB_USER=augur + AUGUR_DB_PASSWORD=somePassword + To run Augur **without** the database container: @@ -65,17 +82,13 @@ To run Augur **without** the database container: docker-compose -f docker-compose.yml up -.. warning:: - - Don't forget to provide your external database credentials in the ``docker_env.txt`` file. Additionally the ``.env`` file is needed for the ``*.yml`` files' environment variables. Don't forget to set the variables specified specified in these files namely ``AUGUR_DB_TYPE`` and ``AUGUR_DB_HOST``. - To run Augur **with** the database container: .. code-block:: bash docker-compose -f docker-compose.yml -f database-compose.yml up -If you want to use the ``test_data`` image with the data preloaded, change the ``image`` line of ``database-compose.yml`` to\: +If you want to use the ``test_data`` image with the data preloaded, change the ``image`` line of ``database-compose.yml`` to: .. code:: diff --git a/docs/source/docker/getting-started.rst b/docs/source/docker/getting-started.rst index 494928bd20..e5b8f5e439 100644 --- a/docs/source/docker/getting-started.rst +++ b/docs/source/docker/getting-started.rst @@ -7,10 +7,10 @@ For the Docker Saavy Who Want to Understand How the Sausage is Made: Augur provides several Docker images designed to get you started with our software as quickly as possible. They are: - ``augurlabs/augur:backend``, our backend data collection and metrics API -- ``augurlabs/augur:frontend``, our metrics visualization frontend +- ``augurlabs/augur:frontend``, our metrics visualization frontend (Experimental, will be replaced in the future) .. warning:: - The frontend is very out of date and will likely not work with the backend very well. It is still available however. + The frontend is very out of date and will likely not work. It is still available however it is in the process of being replaced with an entirely new frontend so the old frontend is not being actively fixed. - ``augurlabs/augur:database``, an empty PostgreSQL database with the Augur schema installed - ``augurlabs/augur:test_data``, a PostgreSQL database loaded with the data used in our testing environment @@ -34,7 +34,7 @@ Before you get started with Docker, you'll need to set up a PostgreSQL instance # TYPE DATABASE USER ADDRESS METHOD host all all 0.0.0.0/0 md5 -If you're interested solely in data collection and do not care if your data is not persisted, we recommend using our Docker Compose script. This will start up the backend and frontend containers simultaneously, well as an optional database container; however, if you are looking to collect data long term, we **strongly suggest setting up a persistent database instance**; you can find instructions for doing so `here <../getting-started/database.html>`_. Remember to save off the credentials for your newly minted database; you'll need them shortly. +If you're interested solely in data collection, we recommend using our test data with the Docker Compose script. This will start up the backend and frontend containers simultaneously, well as an optional database container; however, if you are looking to collect data long term, we **strongly suggest setting up a persistent database instance**; you can find instructions for doing so `here <../getting-started/database.html>`_. Remember to save off the credentials for your newly minted database; you'll need them shortly. If you don't care if your data doesn't get persisted or are doing local development, you can use the database containers we provide. diff --git a/docs/source/docker/quick-start.rst b/docs/source/docker/quick-start.rst index 88087e1ca1..444e9cdf63 100644 --- a/docs/source/docker/quick-start.rst +++ b/docs/source/docker/quick-start.rst @@ -3,13 +3,13 @@ Docker Quick Start Before you get off to such a quick start, go ahead and 1. create a fork from augur starting at https://github.com/chaoss/augur 2. clone that fork locally - 3. Checkout the appropriate branch to work on (see notes below). For right now, to checkout the ``test`` branch.: + 3. Checkout the appropriate branch to work on (see notes below): .. code-block:: python - git checkout test + git checkout dev - 4. Usually, we'll have you checkout the `dev` branch, but through August 9, 2021, that branch is undergoing refactoring, to be be maintable, and is not reliable for new development + 4. Usually, we'll have you checkout the `dev` branch. 5. Make sure to install all the pre-requisites here: https://oss-augur.readthedocs.io/en/master/getting-started/installation.html#dependencies diff --git a/docs/source/docker/usage.rst b/docs/source/docker/usage.rst index cf08e3586c..1bb1efd1ef 100644 --- a/docs/source/docker/usage.rst +++ b/docs/source/docker/usage.rst @@ -3,32 +3,6 @@ Interacting with the containers Once the containers are up and running, you have a few options for interacting with them. They will automatically collect data for your repositories - but how do you add repositories? We're glad you asked! -Using the repo loading UI --------------------------- - -.. warning:: - The frontend is very out of date and will likely not work with the backend very well. It is still available however. The recommended way of accessing augur through docker is through standard api calls at ``localhost:5000``. - - -Augur offers a special graphical interface for loading repository groups when using the Docker containers. This component is called ``augurface``, and is available anytime you are using the ``backend`` and ``frontend`` services together. - -To use it, first start the two services (we recommend using `Docker Compose Script `_ for this): - -.. code-block:: bash - - # this example uses the docker-setup script - $ sudo ./docker-setup.sh - -Then, navigate to ``http://localhost:8080/augurface/`` in your browser - **note the trailing slash!** Once you're on this page, you'll need to enter in your Augur API key in the box on the top right. On a default Docker installation, you can use ``docker_key``, but we recommend changing this as soon as possible if you are planning to use the instance long-term. Commands for working with the API keys can be found `here <../getting-started/command-line-interface/db.html>`_. - -Once you've entered your API key, you will be able to use the UI to automatically import GitHub organizations as a repo group, or manually create and edit repo groups yourself. Deleting repos or repo groups is not currently supported, but would be a great contribution! - -.. warning:: - - Because the UI only requires an API key to edit the database, **we recommend that you do not publicly deploy any Docker instance outside your local network or intranet.** The Docker build is intended ONLY for short term data collection usage and local development. We understand if this inconvenciences you, but the functionality is very new to Augur and still needs time to be production ready. **You have been warned.** - -If are not using the ``frontend`` service, you can use the `database CLI <../getting-started/command-line-interface/db.html>`_ from within the container to add repos. See below for how to start a shell within the container. - Accessing the containers --------------------------- @@ -39,7 +13,7 @@ If you need to access a running container (perhaps to check the worker logs) or $ docker exec -it /bin/bash -You can also step into a running container at every step of the build process and see the status of the container. +You can also step into a running container at every step of the build process and see the status of the container. (This is typically used for debugging) First, build the image to output build stages. @@ -66,9 +40,39 @@ By default, the only logs shown by the container are the logs of Augur's main da # to watch the logs in real time (like tail -f) $ docker-compose logs -f -If you deployed the augur frontend and backend together using the script, you are automtically prompted to ask to save logs to a file once you stop the containers. The logs can be found in ``/var/log/`` + +As for worker logs. They are currently a work in progress to be made easier to view. In the near future they will automatically populate on the host machine and it will not be neccessary to step inside the container. + +Using the repo loading UI [NOT RECOMMENDED] +------------------------------------------- + +.. warning:: + The frontend is very out of date and will *very likely* not work with the backend. It is still available however. The recommended way of accessing augur through docker is through standard api calls at ``localhost:5000``. + + +Augur offers a special graphical interface for loading repository groups when using the Docker containers. This component is called ``augurface``, and is available anytime you are using the ``backend`` and ``frontend`` services together. + +To use it, first start the two services (we recommend using `Docker Compose Script `_ for this): + +.. code-block:: bash + + # this example uses the docker-setup script + $ sudo ./docker-setup.sh + +Then, navigate to ``http://localhost:8080/augurface/`` in your browser - **note the trailing slash!** Once you're on this page, you'll need to enter in your Augur API key in the box on the top right. On a default Docker installation, you can use ``docker_key``, but we recommend changing this as soon as possible if you are planning to use the instance long-term. Commands for working with the API keys can be found `here <../getting-started/command-line-interface/db.html>`_. + +Once you've entered your API key, you will be able to use the UI to automatically import GitHub organizations as a repo group, or manually create and edit repo groups yourself. Deleting repos or repo groups is not currently supported, but would be a great contribution! + +.. warning:: + + Because the UI only requires an API key to edit the database, **we recommend that you do not publicly deploy any Docker instance outside your local network or intranet.** The Docker build is intended ONLY for short term data collection usage and local development. We understand if this inconvenciences you, but the functionality is very new to Augur and still needs time to be production ready. **You have been warned.** + +If are not using the ``frontend`` service, you can use the `database CLI <../getting-started/command-line-interface/db.html>`_ from within the container to add repos. See below for how to start a shell within the container. + + Conclusion ----------- This wraps up the Docker section of the Augur documentation. We hope it was useful! Happy hacking! +

    G3OCpKh<)*cwBnUQqCQ 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ⅈo6go--6`awaYyA!lkKVj0=9+1!u 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%0DC?+TWcLKL@0@q4}{;$_S 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 literal 0 HcmV?d00001 diff --git a/schema/20210811-augur-0.2.1-release.png b/schema/20210811-augur-0.2.1-release.png new file mode 100644 index 0000000000000000000000000000000000000000..7459c36a9a4e1516ef7968e0486ea3b485983da8 GIT binary patch literal 2864891 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 z zX@>&>h&;Oml{I2@>;v_KLT(3BAmb==#=f+DjKTRvY&mZiS62kd5S00Uc1R)@Dme+b zwTZ@k;2PjlW4N5sjTfRqJf|SV4=0!N)y z8Ph>^LG#4i(>&@vP${f#-8pc6z!)B|u!hEV?`wP_bJP5V3kUn-3dYI%CC2KpX3Z}? z>^}W-nFNY)!CAtLME;?m%8f|z39Dv@=9%~JtpyaB?B=Mb8r4DcW)Y*$#>F+ks9y-L z_5S_wa5m=8cLN}UV}@ncNCiLb_Bfv;K$%XR$cVYP@Do5AexF!&S)eZ!XKu-dvamK;6E=~=*0rncFVTDlbao%v%ZL+c& zCMDIQcki%^7wP)Y)WixN#8F8}Zp>-Ij3PZCQ!`AidtnvHaF4D4I{89K0N{5iS5WZ$ za`x7aX6yDV-dj4}E7E6iGLY4sStIAzJojmoivR zPQ<;}JQ(JCZ%Is>BF>|C4peu}c*+Z+X()e;k{;eA%)ObVC)4awv4+YmXbZ zxvC&Jr8nZWgTto><1y=!96WZ!T;n7V$+Z0tPQfUlPK+Am`)uNy@cPC^@rT>xPQO*b z3Wfj!S{tB&eZj0#L0wIW${jP4Wd?snR~PzMvUKPPLCGU}p1`|)*qno2+4 z1A`a;KTQ+pOaD47s7rl{;t&sL&ypjHW-=~x!FtR`lW+jI2m9xI9y;BFw1e^;^*lbG z{7XtNR6ha~0Qq6x9Fz{WQ{0@KV(+X+@FD99`T@{10|Ekm_RXPLB!);Zt&J-_$fct%yW>~lN>rnaj{nAq!|LWlO|Jf< zH|rB+9D_dADv+2>tSc}J4>R6iuW+@qGb_u>T|2qz?m=<)R;z%=+}fxXsvfE3xY~D{dyc z+}qDljexj2w5v+Lsp2!g)wW7KkF!0!YqEVb$@cZgzaCjku;WYvsS(7RM z%k^W#De(8}M_nF%keg3y&i@sGRyYi6Ppv1BQhCf_&CSi9SURFgV+9QzK0L`H<3x8^ z=kLyCLL+rVb5AKTEaH_J;0)UUEKFsaReR4H-Kmv6v5aEz zQK2!U93lkMhgHW=mayEk@_M3)o>y!S&6=Jxosa>*CguVAg6Cr%fHNd`h+Lc9tv>Nj zJ~3d#?DqfJ8(MVsgT?t>@R!AMtY0W~*L_{=I62bQe#Z{sJ}bz~lvfb+#WY12GmlVU z@`_*oLP}b=QxGDlqW)bXfu4u)N0Hq$kM<8igd0mzFPQOn7A+zuV!_Rd+vj9f^2bNV8xK16>sJ%@P29+13Ll3K@R(VC zRjPPUO7+mczt>ZColmy^PIsoM`ZnWBsBa+Im^WO>dOLjEnk#;gtu+wo`{x+k{wujn zsdeMq0P*V!tlZ3Ml@jjcCO&uAzP%FGyP(H$R~US=lN=cO^OE&Ft5z{GV=UmPxtK z4#}Rv^KfuRjFl$&!Klwy)qQENkf^oFAQVO@R1@;RaQSk9B7LOofC?i%rz*4@oh7cD zQ_Z3tVi9*e<*uewYmaG39WL+)SMMpmcipV*;oj5};l=r%9`WBiH)FX!d0g+_onY|p zWO+9!w?eqHKR4AWiBlLx?Oc8B`sfzh#xt_D2c6`ugmaKG{EZCMJp61#?# zoA&)15$Sfd0HGGPH^g>MAK3UvYbBq<^k%>S8s`&Dhk0%t=4yEVe4f=D{R_KE;qmk5 zABE#$(4f6@SjyaCOP2U|;uhgR53b1t3_K}!AfTuaTCbaD<3wdbagC<{DCej7&h9;X z`WgNIn()-uzqgNP_)hdo^$m;?sfb`*;HRXk=Y_-|C1s{)xbGfGyN*X)q*1h}k66UD zHx8)=FK+wnC<+@|dpFX_v$;^a<@;Y}uIX}>FvYNfL`C2k-5NcD3k@B>qvS`>1pq?M zMS(<8*jDL8lZK3&v39x~?cd_iEZ=D@0@$Hzy>4AGSJ(%n43KINb)n}Tx9{-ZQID`8 z@@$9>`gs1nkbfmwS5~PDUSYD@$gTR zBs(GTZT9qV+uZAI&s0|5YioNEQDHgHN$b6`;`s}kM#_GD?1;us`$pdV{@^$7?oaIV zjgY-ua?ktwKYo8-?bhn(S{T{lm|Cg6%fx8gM;8(OOKz3vn5nz?GoQ^_PBMF`n5uAbmO(py)+V z70(T6hOF-=r!6=LBJ_ZTk0luu+ryLURf6y|$$6_^AHwnq@vG3+_tsSq3OHs?1Xd!x z0{t0#Y%afmcuru-i_FYP9m;`ae0;bb{QUFifP0KO-~vhrrWBAq1$27z=C`~zFNw+@ zjME)U;#X>aIx-S4)SB0(mK$-TJ~p9O(HPsDI|*q{d&CV~3*PDc-J|Q=TDR6)Sd1P$ z+Qr$qhrAH^_D)qB@(?S5nimbeq2YPMuteLpuGt$XpoRK_;XI8sT1+{piA$FrCjHYu zakqpJC3mj`Q3@u)IhWiz)EpDM1P(95U<1Wt60g`=Lv)hbo68|c6S3F>z9Y>(Z*Z85 zO#X;n3qzM(G~gV@gBg;vTq?z1K2*`-fjsR03Aj` z2>K(k-g-%3dV?sS$JxwHc}E-`c0%}e(RJ;j1!C7q9>tIL&e{eWm zmk%XwEh2decPHOS)8u#3gx&}ao(Ft=^Rae-et1fhxO_=rm@;Ayw0|5OQ2Cs3MaT(X z9cmZ`#BUr1U;)jYq%Fl`2??=@qZ6-^^oB#FR}W&^EiLUA7#bM-8X5|;%gU1x)u#iHIL`1^c||IJNn21l(yR1o_v@@3DHnJ-86;c zl&6@oy{cDgmo6$0q!vXk+mCkP4nimoIgQf!5GS1>c6Z4%-t=6#RS04^}Z9@71GE zpW#!jSCFiFXMKWwi9pu+^@k%!oAZs}Lc9FxUKwA?!HBo3@R~IXy`?HW42p*FtFO*K zmw6OX3kj@(iOdDs)b;RC0V-Lr5n1GSTYc*#HD%KyWKvk%ye%y?f;I>Dho_&6xgBtG zT}{nLSQ#_vxKR*5c!c~Qt9C&M2Kj|a4ZrIpPkZbo!Bn)6q(s{Dd>i%S^G&XUED9$U zc$mO)i+(_uUfuX2%`EdViIoqFpQgvC+tM>(&}n(2ujS zT85gfSkXk{lBlInl(Kia?bsbofJ0`eX5hTp*8MUQGAl$cJkA;tRxMkGqt2jSyYH;m zAVGH9wrI4!K0b%;tXGfP6ZE6pN0ldjcN^O-lj)ja(Yr^FvY9Ixr(|xzd6j7!elaP2E5nt z&hMt82p0ywI0MBB#~4<;}JYM-FkACSnE%j=I!a$Hm54j1QtCn zKiDAoVUzi@L19|wE;Mux>y>k(D`RA_rX7=|eTlv-^K@e?!5`1a*fHx)B6j(jT&1zo zE{NO5C+QczS4LKW-2iuSXUGdp9o9wcRq}+->G>waZxB=8&$s{vrQaQHTG`1a6W%07 z(i`Fq*XVQL;6Xud^l+S4StcH=FY#q{+QAdymA`Rdue8`rlT^IQ&IKe(=!`y6U%Ex& z&z&=log=2bar54_axzI>e)3{P>B`78p((kv{nE17*f&A!^Idt14PqQ^@ zR2nU`c@(!BB*Fz8E=+0L=3@qs1Wh$DzaaTxjB72B?QC6L!7E6(NKT+FVKU9JQdy9k z`|zO(!qKp71_Is5kQSBH*46dt*N>Blxe|HZIOSh75Q0S%kI_@~6uv28H6X|f7JxIw ztQZgI?{GZ*;bAZ-(hawN-aSq6{sr&87AqPQ;xpq}m=;-n> z1y4ULxFlLIHr{IeqpDEd`v-ddJa?44!6>gezE2g`9}fKOtKvP~j8)Fhiwqs3+oU~d z^X(CP*ZN;K^K>sMk$3%e;SlLxniu?06neP6#zj>5Lx1mo&Qx2Oy2-qWAEFEVe`k;n z#}32)6B%!8ql`k9(gJuSM%y?<&Ol&^TMq!XAf8rtY4!yr=8ohtkVQPiwbGKBX&HkO z5@w(LO(>rX$cR%}3Uhtw(%K1kuPyp1%^XUKI};ap^BeC6)*zRSd+6Zj$skgM~X zX*gWKxtHbN!Je3;uHJ}_M~Ce7v0gyo)o{^kYS^hwuHc6jqi(BJA0--(NJa zSihce53|gMK>Cg2O3oA_K_tv|YFJz{-Z*G5^E$@Z!QVg1;q7BO(V>6sa^AC@zUWQP z1O_(w-a$oet$G~ZAwN0-&l5uOw%sCSuN7A|W#WSJ{Mj=p35nkrPBLn*C`g_G7nL#; zrU?u)C*;_aLC}NEV{_qN%ScGr@%dpwCa;TR3OU-GIg2~UTi~+1YkWLi#6ROUd6@!P z^*iTZa=g}l6}jQm)|j21Z!2&2yzw>b+_kT)`jnyvb25UqpKf`tdwSJ4QTpK(+A4mg zBNCMo97;s%Px;qf9T?fTXkQ;USEuI&a+Xo*aWUvu*?FGU*QO!jbI78%3wP(}5HDRe}%v1=7( zuk8clv2kfsLY&r19;y+nsfkcED!U_o%53`)ZSo(E&H41Y0P}Uzn249Dr+)O+RX`_$ z(?HVFi|-3IP-U13l{OU1vJ=o|aC$tMZ-ZqimUke?xy-?@+7?!F!M!^V5`eA)Vg7Cj zR*Oq=L3(;97FuZgF#m&AQrNQb>sSm2e}JhXgd~%Jw?H{SRH`j{J89XfRUkg(!WTkP zVCagswy{d?&ab{Po>0v5#8{J2ut}ueoO$!Ghov<@LIXP%{v^vy$A>g_;~xIUj@A3# z;j!ZBX`-?)kjZS=y;f9?E+dEN8~}&`@&QR7I@2vK!{Vfxl_9N&nW#Aj+8Ks&2#y=u zcKm#=ggLH`4~it9uF83=VOo8z73Oj(ii$6iU7a|43>1@pO#ei9DGJypI?_W-z36b1 zV{>Bs@{FghdjD**nXCI=LOZ55A+lUb?HPQA)}$*-daSi9pJtyDudVO4^?X$FjkV== zaVoRRpY#j08)dB;JH*)ft>^N#%Sq*RnQOlpsnc}nwcn`S+CLAhln+oG^f>pYl=gS( ziB|~zu?PbqpFfkzB%!l%gNNCo2%bOj~}4nOq3V&~s3?4V;-+ik zBSGJU+Ak+ABqYry)_eEv`atf8Av(^ku6P#*96c)7Ipy4Y`uzFZcL|kue=$(x$H9wf z5jT_#)=`*6E)1QlshLE^^&o&U|1)O_f?odzU=TOPDMMw|l}#`>1@amk5KdhNdprz! zMxmfVdJ7#Q!ms<|Y&BB_|GE{J05BD06%q%cs``6!avNZk`>&s>ubs*cg12*#d_a52 z*(IXpEpDsK15*Qn@8l^D4;tv9dHpt43ed&1N5 z(-DSuB3D+NzuGTHF6=~j;fm#+idFRv+A6yxbV@^q%f6qi`7C{zvX*niorc0hV^t5C zr)z%iDW9ZOVtFht?`fv_=BhL4h4Z#1e-bqRWtG`wL1D87XJa?_r~wj7B^m_53a|p< zjXk)Nr^FkhPgV3{-*)7|u-R9Hi^|QK@edzOQ8i)07A)JCUHxX2{qUjf?L*l1Bcm1o zNX(KO>+35r`@GQF68YSvY4GfX^7?NZyVv@9Q-R{qo)9FS6cRE!G)r(}zsa~92x|Ul zM0R{#)D(gV4q~0gCKwwu$*2?=4*E)~S>laCaAnZOm!TWL?%-tuMoc;3}=hzP;4O~`@m)vKAs@_u^@ z^f!1n44jEQHl*X^=4>As1UkzL;t4PnOdqSqTJcux%x;y(kI&-yA7y=-dR6bA4dxT~RpWtP z`*K=T+S2cQ^vv+IDxIz(eq2|s(Xa(( z>i%+r-jz$=+|$xi{?h8pY7@3thO`VU*RNrde=9~Eo9O=HK-basv#J<3MZ>VYy^aH_Djeh;e6Bp2%MZixt+_sTT1IZD_5 zvOvgAZ6975ym)NFi$Yu+yl*TqGIByB;j71xUKQ6J*~TqjZoFjulOC;4ei+$5r*tFV zLa;uk9wRtm!h{8j7I_LprTcL+ts|PaelXsv!Mv$ljnJN{KbHTQ5rA;fsaqeZLzHS; zi}l3C{Q$Un%L}9ZzQd>wHmM$ek(*1>2inwlfK0>YGzPw5#~BiLhucFEN2tq&@9VXsaE3-)@{Ms`ai*>6&9CMc zS1naAO;&&Ru;p&CcT>LP%wL|Hrsv79)#R! z)}Ft&spz}ehayXF6yH!h8NR`>%{}om`|-|2Ley%hS z@#ff!<^?GLT$#$vp{^;f!veN();4?lg#M;+cHg5;Yig?7dVzaFst?5kqqs4P&Hxn9 zcv4#l&QMlXm^N>lHe9F2MFT}I?2Im%MpA0vkdB^?S-jxk^Wj6{S*ut2HgvfrDpQ?> zyqX1TU?KE)`LJUO5@qS;` z!p948BMbJ1dPsE88HDG?z=_)?%T941PALx<}^Bgn{WG~@hryz-y^47wJ`gw zE9DV28g?6;8ft3G!wt<++;%`$W0g{IP|cvzYieSwj=vku+*VY8f{WOS@#y>zleV=# ze-(Nu?5vyIWE0R)e7#-g>*?zwp*f@4N^ZeyAwJVQL80zLJ`bVxs^zr$lu@7^nUTetAeUY|a6^oLb zxQK{_=Q449KDqR;a7ffg&mjplD5!9q>dcubu8S&6?`;?0g{p@~KI#Ez<_}wsu^k1| zMS~Yww`^ja)SgsIif|?Nyq$VZZpRMog_O~7kpzqY1Tj3KWQg}7Yf;VR>Uq~nJEX)r zD{UU+NP#7pUv=!U`r)00-q8(nSNk0=T(DP4_SJ{kn~SR@f}WK92!Q)U-z}i%t23gF zhDTdkhXtJuPqf_DYioS0Z?a*1eXDv}-SuR@q=B!TE(%Z9yPMjx^lvsH1$ExU%WU$49GfF4UL4B4XzV}vR=C_F*b0BPTi)VRkRth zS=r_VTCz7ih#zs-ChZ81lhwrRs_5|M?lD|bXCm|P~ zo`OHf$+Y1IAy5|FEbe$`-)RfbM2bqlfpC@3fcbJ~-5Vm-W>456vTfMCKtHS{I;!&0 zmbcmqJqk1)7RId5D#2tSmPGtOJO=}8={|dySn=dwddc5J{YLf!G(NxODk>_CSNAQ!B3OKS(ScdRQ+BN2*8PqQlmFmT=SpdhH+ zb;k}z&##&1Ywa7aq9Wd}UuD696uw9gCccsYgv@`vpju&niUm8$4B94P)aYDe4k7fA z{48Vf-=d>G&_WL04}hO=mBJZz3~YMrHl zjada6v0QQamMs;)5SU|_I5G`|a~roE!m_|vBxP^?@7&-w(}m0_VtDy5>Q8lSnQP*E zlt29K)BW@>U2-xrCFSIV`0#!*E(|0vtC81*O!EZ>1e@pI5hA~Age?totfrm>MMU); z2zvq_4Ri;H9t2;y#O)I(M2SmSiFhhV)Vi_J1(F3|A5}*Z04bPzYVBR6%8Qu9yi~kZ zSSS+rY`Q^O)|#jlc}Hk@$FKP9yRhuhBS&IUs?NL#ib!E)vk<4PAz1Swvo!Kkpu9n} zo#=F2UD{X2XV0E)ixxeEKf5$CN60PNxRFd@_GD|*)^Nkz%uL2>g3}T#f{O+TRyoT1 z)8L};{U@24sdi2(sd-+gzD`2oxb>gA{U?Rdw) zF1fe=5!qDS#X+9!@$*N2XlRg~ zY(YNvLw=~shE_%kkIh9R1)`$4^_4F9SwMSeRtbKdS=(D)(DdLx#4S&|!gj+G3y&cH zp|8H_);BbsXLYeI#jj-*}1SQ3&-(jHk#TF|ETd4EsLJ^z_8&;NP; zUjOC3XV5vn<@#RNXS?ucgdabo3nMOdA*=@3(vU+lRBxfrfCt7^k4hqDBf8?hYE6p7 z!q~vL&7cz{@i4qIe0z>Gc9QhrN}7b^94x9@wi+{(MDky_}^zqOJ$U9NJG=s*43i9xni<(8BefBI{<3nTlV%~TjDOLISa!bVS-BTgu zCDQXLG{rEUO9K|SZ{MDZr0OI+vmT{MKjLyN6BJc(v9a|jX}u4t$;2<+5rtw*`|_{r z9*==MqHJ7^qHR*gJmm=x3hQ3IqL>fRACS&evb@G{TgxWdi5uf2gghH-^sTFLi(@Tg zUCyc_i~Rv_v)>s3mN=6HGxw!KR>l4(8(C}Bz8&KeA{}ItE01S+t{7h0lee&B=HNs3 z;^NlTI41B|lORIZpUb30Id|Q=7j;Yz$k$!>ppyNw(D znK&2QZr{$OW;rPfLc_w+O|2#qqdB|JzU@19v}AE0n9X_rP7~$dyjoQp)nESgT`8L# zK#Uj6o40awPoCJk<9`QaqCO3G+pMf2Ws&DS5oz+=BX7j-N-$5=+w@U{+>x)vzkrM; z!+yDU5+6CL+g3aq99y~UeMGq;!k-Y_+FmTV9j;k9;G=a!jO1+5BfK9`-FEPb1$HeS z&dN5$&9o{z*1brNj9X*Q&W(E0_= zd1udjh@gsxjjBLeCfoaX>R?xZ2Bj|OhM@UL^=hq(0UObY!9=p=TvH0$v}yA;ahUvK zU7tPaU!*_$mS_st@)*01xZm&`WSgNTzF7oOd*5^AUWYmX7R*~tg5@} zPH0LnsR)38%rQDiCrK;k-xCvMB$O?((9=tPc5^pLMX_TwH3@XP5rV5JJ~1&db#v3B zSod4sdb=G;JB`k5Hdnfq+D}1OMXrFE`OnYk&gF@z2|FEscJm5S`MA5zc9=TwxT@+6 z_>$7g{BY)P_LJs5N)EH&+!T39c%aU$-nzlWWH6So*|U+NoI5wgKb6*n(0{H4`G3)d zDjhng9*8$HZW}vL_r1{tl|!YqOP3DqdLp5#MDob~ihL@uG*>s%I3{o0nr0HUAMNa} zVL?t6D*(Xn2RApRq;F^b4?T-4A-IdE$%dF=Q>}(%r z`PyO}<(^6vxfT-vZ)#QF?5#YD@?oaN?HHiRHPV`)~|nL5>oOF`{4-Ok&CH$@RdndkLF3rl zTK}%PKA*dG$dWDZo=;YtL|aRf%_&Bd-G&j}fy3z&xsi4C^+Jp)bPIRoKsIHLbM2(A zql3!Kz;p3jBI2KI(wP2GG$>w>~UTtKGscALY9bvSx{;uKvtm}rcSQeuTzZQ-3n zr~9U;Xk*Y4MC^qc9!BFZJ>s4%UabEv!C~+=hq+X1%%It?`*n%}NK`|*ON4Zgn~unGGGjQaC9UaQ|8T{oiHkK!UA?La!#H+nN{EIGGT1IhY;DoM7+EH zspy!ff|q=3Ol`Gx#HLxO+qqwS zO|Hsybi@@S`F(9L`<&5#HbwbIh(V08BYEWrwh*zNi{TEBaI_&ZkulsyKIV|ldksB` zf|6*##~9IevG0)uFhK39lgL*=^Icz8$8*0z3Ef!{3LuuyV?gJ!M7_S`?@x*?5_h+v8dS(aVY#m2&e%Y`x|P=Kv<98oLs`GG9hQoe23UKtXMmFHCr8K_pQ z$Mt66;?0}h8?Ugvfmswlf-v^;DJ@ms{%@5c;|*RpYKpyioCYzluW(ej*`e&+wMz!F z$C+ntw~7N>Kq2|dLE$cZ&DjJk5V4->3FPDPhM`Iu+yu{g4<_a zowa_juEA8NHt^%ys8^#L%?25+x;W0#zvv6v1->13qlZL+4v@PL6!yYpX$%jZhdt?SnzCqweC7p?C(NuCb|K} zDZ|7qxdq3~H*63Q<%Whiq!z;0Y$j`pFT@PW@cOIrM9Lo9Y{_2gW@I-K{WFGeY=E<> zt}=MrVW5w^6I)+wP9QwXLT$=f0ajemsw8U_4b&?L8ulggIaIW*E^V}Xd9O>Aabyd2 ziwUX6+>#oeNN;~-(J~9aff%+PJ-Q5qcSCv*(|@aO>|5OydYkagu`TFdXCrfhluANH>UobpsXjQ?% zd)j^7kGtPd8g_eQ#_@ZOmo*5L6XD3K-qWwfeoQd8aYIX=fz`0$3WIBS%m6g;e0SzP zZ9b8Q`nG>=#T2f4IK{7K2>{~KOvD6GG4#P~?#U(c^T-ivz9i3DwcIOa|?o`=Cdi@uLG>nvsLLR-qdvu$Lf@kni;-EVq% z=u18#XC%MZ?hE=0KaXC*wJddEITb;Nl{U`G@6ufHNPUt<08B;R5q+ucuyaFJGMc~@ z6rXaWX_UHzhmWJCA&31xOC^%LG#ok-oG__R2kGAp5OdafOw-riuIe--rqmZW2X;FA z4(5$$<%zUmm6cX$)wl!#Z&ch90yFY_gzKN0gUy7DqE~>ytdu`GGM_}36>Q<;X_?`h z=8vRex_1&>_O!nHS=Pa;N=Qq^zRyODm~RASc|9@i(Efz8V{%jUpCpwW+&;IgRnL^g zMtw)xrzahEd|Cb~FJ9I#VhxWq6O!@)#wu8hw_^;4A3?)c9!ZD_Vj;{07v>FQmVeEw zvHGsa5+}Oe(VWk4swACQMXM`N}KK@h=iH1xbNi26@)FY{#*VcaiWhU?ij!eO&BY0WfCQ&dbg2MMLJw^BBG2V??iV^QLFC7#z9gIU@DxtgF-_+qNev8 zK48Fk4t<7Q1GnD|&_gs8qN37LBND{{qj)<5&9bYfZ?)eqLIqrsmBd zB)1t(S4?{JNDNtES@?^X@^TqWq>4brz>;($6m$$whWE?l+R?Kc(S!u){z$1(>HUzK>G_>$)8q2zT!5>efa^16q<(YBM1kn8u%*0(hfreq_N(uXw`H@juYHN8N_ii?QNrtjn;HTZ1V}O@YUPE47<@>wx*!M#&gaQc>qio zmS#F_$Be_;kKTCZ4#e~J5dCOAJbbTjyX8N4tW4APB^e>irotpD`xF7jtg*vwD0V9a zgynRU@>3q17^}`cWyA$yCozrJ`k*DGs{^gw=3yphm!N=A(T9H=(f!o+=PktvKNbF+ zY{m0DeGzM&BOqUiH z@%3=~aae{zw$UwID^H$@4`pBcYR<`riHW(yg2%76Vf~?eH?5_9#*JMq1TBHMgySK<>##ppk2a<=i6g3w=80j_HdwUiy;nedfN}E?9 z-3nN?4W}AqfnJNRze3hVpUk)F#|!30+@aTEc;ar+S#u7cAzyZ7bv)fsl+o5lr@sdS zV~HUC>TL;l7KSdnI!#e^-!yvXn8~hPziH9J0~y+lpTA)~d&Cz(7#tHDCm*F06!N;w zbntJjQ1(IfL#vJt0o7Lw8guBHxw-tT)1RT_Imhq(lZiRTL7lsF$!6aW#HSWf@J!Nh z&dfL>z5|zYYk|yjQb6*E0w1SrJ9OZ{zlhG)F|R_`r1`)82MR=>fkx^%W?^{yw7>l} zPwdg1JXwB*?Ycpr+-W_wQJ=+K!Er)WVD+Q5H`fyoJo_l->L3 zZc{#xaA;dzki@Cdx@AkAOGa(6z?%Ef1W2M3<<&fhIsrTDV7AiP@VC;JoS!$4h0_kW znEx!jU?PYxIy3dhXv5&z1BE)LkPWNcR#YV!Vu7BXot<4^)pchHmkeZ^adFJCS)408 zlE{-`BQfDw%QF%vhOmWkaWrwDb$=~4Ec1NZ=uv&1mbe^iTx{wh#do{H#?9k59}vuX zKM{Zg;YTF%tHQzv-aYWsQ6$Vwon>ix74WVJzsg-B)(VEC83MJ~5hxm&7-fDzGhwk-7JCIUhspT|ju+Nq~ z36Bd$Zr@P$LO-enXN`btSpx&=Br@$qnF2~v1fYM-k%DV8o3oT1(HOVxuhwwA{hWr1 zK8nVLvtCgZr3lkD9WrZYepOy$M*tL%H4LK2h0!;%53#Ss1Vm+Vz#E7lB|Z8rZzoFh z2?*YZPzo%y9c~nJ^3b6WMp8(0hC44xhAC}78Ee!tpsPm5%94r0-)NOKHrgJ2Hlp{r zucmaL^B=wMOm_Ti@y&kk(4s-}lVf@;US?+KpZv<|<(W;c6^9L$uC2VE9k}g&#>TDD z3r9Db+^t`9=PqA$X+Np?z)?Rx7;*OIhTiRBb#>ClghhSyj=8 zpMsV>4p5#MuRTnr)F(AenV+p$TGSHvXkmp{_w*tHk5 zU2Dw@pkwS$Tfx(@)KzBJ9EWo2ypl1E=O^9kQKr5_#2*vkPB7p#via+sqB@VUh`ti) z(yX?!rfAgmT1%~LVrSq6-a}V{G`+W)0e(blKaulI7*8)w%-Y=eCN@a7e@PdIcGaIU zKMZr*YbxZ`nhf3%=Qnl0R=sJmz~7?oI!PuPJYTjv%)(<)d;8?gd&=LVhXOVP0qU%h zo05`(?HidWof+B=IlDaH$VmM_JVZLdZ~X$I?LJ;fHHm(ge=IL=W#O44lIL`}W23*$ zTrfSZ+n!!-QwW;K&sTGD`SsVK!-hqpw<7>)!|c3s4Yje2w)nfmI7zr)+hen=Am)8% z9(hQ;!>bg#{GY>McP`(OQaT&2BFo_5BUiEX1H99AhtWD+D{;mhjb^Ek`DJ!U1@JDU z71qZ?Mb9_?mz#A4T-nrjbwh1a|6P@N>ZyS?_HU9aW0 zuI1Nxoud1M9w5cR9wE61X9R-<)e7G@znQMr*Slz9*8!=!AKcrds!{V*$m$1DEV6!3 z$(pKhM}{oE^z_<}t-4kf_99+MP}G=^p2&=HbEC`K6JQGcf{Z=aOZ5uTmgspc+EVC>>a!=Sl%(JJcJr1kdqHBs zVhyjBF}b%vP>bd_s@MExW9N(rAC=Zjq5j7D(JZ$~_n_o*Bs!S9-d#{qf->6y;I<*R zvDUFZduA+et9b1CB8Vkz+%m|1>eNY?ND>D4vsM!-v^mmg}0en5ZrV9>4zLR69td=M-FGa9-;_@-K(_r~ev0+1|lCBRhK{>8W&@7~P@uiNkVt zb)D(BO|d+RBOku40n^EF?2&Ysc;EomMq%e9W@heji`u43o6R~Lae$zL0CK$Jp+Zc} zB34|H_()#~1lE>l1XPW}4`?X!!g(T#b?pnnK5NE|WRnms_RztDg*6yr7(xRi4g3q8 zPncQuGO&J5DF$m4JoD$PI$e;-^!-yq`#@XJ(@|l_8=YX0^g5LETDS3bx%}OE#yCRko~L$n>GdTz|QdPC+SM28VZ8if+NNN+B<2OpS+8Yt?q@Dz?!re|g@x-rpv1c7VnH`$J#Nk=;-? z+E}Dq=Bn>--4OrU`q3E;KW!)H5oHJMxMue@J>Bl;DALGJ-+P9XNO7LMVOJH8LPo>W zj0}^YCG=Si-^~oY+Czs?NLOv8q+Hj+j|PM~MW7gCu@cB)i5 zufLsNy0_Q49tw?b9Il@HN@rK~`0x$Q+nM60Y5i+s54vd^xT0}4u7LK0xB<%|X~NLZY(#g{JrgxOCcK}F-<%tP9u5j$Z zI3f4rk#8gzWCfGOjTS2W4d~xk16fLiMCg_}%WEr*)sLB$TvjHH%3)%$3k?KYt1Ur~ zCC2b^0P{I4sgOBT3>iB%4AsoElpG}QaZzJIp9vnV#!OgUA#%(rzNeM5oV|92 zy#U7ju3XuICr4<&4aFvh?X1wYZ*{FWQouSmKx(KZQ}8KKsa# zBc7g|$y?(3iERNDG(-Kyk6$`t?~%8eVKSC$Vy#yUa%^m%NRn)Vlr4(qx4QcA6EsB` z0E#TfJ2vZ8Nr?{fEA$uuQ(u4c4K`sO=6f&S1A=4nVK1wVJUf)3fU6LSk%&t_Z)3LXFuSnH>;RWy>>qngh!Yqzze@*VO)@4~a-x zZ-?6d9JDQ+b^61cwU58^@|v_foe3Z%riachg%}wrL-=L7w`uOH7vWG}Lv_Il1s~xx zVTT4WCYZ4RRCve=-o7obtQ)!nRowBB&Cj`)B|wBg0U9xc4Gpin#x4$jTYJ=u*vi*jL@N6Jx3L zcLtOJ&eD;fuVP(W)1!&3hsY#(P%2sMtuBq|5TL7jI|`$VbMlki1e7eVfJ^;8%Rzga#3GPKhQ$jFnm}v%PSP0 zEt!<@aPj%XrVvAgxBG~;3LUt@^W+N+*NBvjW%u`957b`rkyl#0*>0~vaYVymZLuJ4 zsz{v`|Ki&Aku-{$7r;YZU5#*oIhcN0Nd4Dm%xu0_?uobL zLP~IM)dVd%9Xm~BH{+OST_FE#(QCm0y;XZt+hpsmP)!LEa+Bi8!DR0t?|} z;@D8V1-8u#@~zXnft^v?0>8L-!Txgcz=2gGy7S1@l#=jD;Q|rQ;~_#8WXYk=!AeAe z>McqSF(V+k3kRn%&iaNBaSUC=ZA`YRJUHVeN2IfazHK9$F{J{;;vH_~EL9xIx^$fd zuViE6LN|B~8-FKm=1e}Hnp1bkGPxGeb9h?=ZE+12^R9=MbMcmu@{gq`KR{m)@^_jA_TU8F*kF1dLza4)myq?f!dM# zplt*#uhv+~h8F0|_|+z6W`}bIymLvq!-cZFYCtdjT2tSov1#w8V%Sl&1){z65Ok^#h2z+I@%)+kde zqb}(?z(@ zi5lWOq{-yD?>)}qTLLcR5nkx?NYk5^!d#Ak1OGYaFn#Lif@ja>>*=utwGiE5`QVNB z`-RO`27CsR3P{yCA%FMnLwQyDuJN9^EBSk_AOoo6EN1im2Z#^J$?IRf^vS!N%7}e3 znfd0;@A%OUAMYEzdhr6eSPSy%x3;wX4m2pNWWC%>HpUjnG;jw9>F8CJvXiB$E z_abmKmR1r6_v9&4?ybJU)hx}8HEK%HQl7YM8CB6VO0O_fQT4&vV9PN4IWnIHo&Vmw z$qYc5&quwnR-PZbsJ&4ZlTqVE)(SV|>o$0wKE0BF-XM+)jPdrN!bMHfvVVWaT{kZOc(eJ2R}5|F{nIis zA{pec>(c&aoetBvua%RjGj>_TmNlr8czXrSOqqySQL-c!o(B!Ewss~0b3~{_3|Fqh zT12mc54Hl*2%uU7+e4z*4<~%kj3~QB6ErkXkh1`b^4(Gu&Sr+M2!ls8&F3X8y8Z<; z-nn!A!G}{*7eVN=SmJfth|L}3bVRz=a%g9)kIr(F4?dumW9WsGio4QY zFSdMapVJ|%K)La|>;)y2(Ih$|@bON{vRuZoBfIhR=@K5UUh060?<*>z1G+ksKs}zA zOG>Dd1k-g6uLgpff^h*?uRhjX2l@*=5pnx4T5kh7_UvqDiD=;&M4`!UtbDY7G!$o7 zS#}VoR7mdKb6m3X=i^dRJ~Zz|1znG1Lz?uu3tDhIof64P-R=4P#-0&YSSb6f}$5&Bbo|qG5S*XYCNbHQ)pbue7e7gDS z_2}5~y}f?=0zkw{H79iEiTCf5iE)^xilz|X3uYEHw9Lq2{aj{x=jycQZ{FCX_-t35 zgu0z)L3RW5H_NiPcq+IB!z^NQkKW_?O<+AwPM+)?x0b`^7~NLJtMVQ{I7S~vLXdxz z;xVm7*!E)gHAYZGTqlC=<%VpdufFlYMocj$yFE3v9c zq--KC2fPoN?aHQB-p|{{=>(R6%3|puE>QBER}PPa&SJy8YmxM^|BxS~yucenQU=$b(fTQ}0d4yNfA_QKM9ry=ZVMVs%iGt#DD~!~EKN z{FTHFVH&T`i5;sH>kN;&^=Ub=W1B*qv$Rjv{9DX?S`W87+&zc%4C5er%^;)D<}otT z3rOIj-4$7kOtw-NX7ti+#81N{7%q8EFGm$8ha%&@tNN$mG=!h}-} zU{hW`fuW0-n<~;MSs9X3T-!3Qg<`vQ4wdQaC=KQk6~`f4%@956kW!|*eZ2f-x?a4X z-1?vKUh(fOT9DC6qLb<*b|C%AZm}&NVJ=_{L3og%`o7~)BZh$wW6l9hc@SHSX1D2( z_gM=7{Ydq0_MiVaNw{`gqe~YqxVXFXNJW5O2b^9O5W4B$i4#Tn`J?#s@ElEjI42A1 z3RQ14;X6=2o3{LaLwFQbK^v$nUD4cTrmfZ}wA5m-Ei1FYKnC30rB5FGgK((kXe zaWJJmbF42iHh#{xBj`02ojj&RcOxFAHZo=8?vxe(9E>%L;eNj*PO4}}hmm(bd}in?F& z`>?O&x0mqk+pC)X(?9)R-EVkM=jwd)nbp5_n>G*b-kmmgE{r;71A{wG1VjAN#CP#Q zxk7?#CWh-XLKH%=-F4#;srmepNJe0qg8diEp2P_HGc#@SaPFsw_#g!e!5JsVM<`@g zxQi5TdL52@z5tOam4iOOCWFf&9hSOqM45k!eVB$!lKC9jqJCwv4`f2bCCdi{r0*Ap|j`rTAi)J3u| zE(?T3N&s1Sm)KjtM*;8Qy{xZeisD(H;n64)EKXx9iOf*rfX-%oh?YdKJBaodH)-QDbIMOrlJKGGpLFd{t!dv-AwE-wskh zGs|t;(!H=Qa*0mp*hiw!2f79Lr%;za`4pe0Q2maXS|QAr#WJK~38>qRLTpI~E7D%P zK0ulMFPZ^^!Y_D=c6uF#NW&R~)Zruv*+@Bv-w#+!KG3?gYlknrGD$=vAyeqVGRq%- zcjDy`G6pLvRv1CIVQfP3UB@C*zB9Dv4!{z0svCx|C+=IPyAK~WP!>=d>aKru8pKYW z#8LQLcBq)8a15bjR# zrs@)3!`0$#=CjMSyWa_28GDlKxN}54k(=N;Ei?U1-GwTpYF%Csy*D<{ijvOuax%i9fQ5sZkIgT;HqB_bq{NuT4?$Z- zZ}ilvvMRQ*o^FD+;H+pBxp%-cltg^s<>dfhS=CByLLYBGHtR{z!KC$%*N@g~ZqM!x zjtA7RV0r;rO=lR38uPce=)Y6@5@|>}wuYegQwZJ{KEcPaV5(NuRM}(@a9{+`i4j zkDnD#oYK-t72nK~B}XO37~RAhiI4?_SD<0E7Vs$3EZHKv8JEde;d~EMALulqdmFT& ztRgr(m_q3t6(z#-_DxmZ*QzpI4@HBX-z7gk0aOMDZ-vL3;@z@M8;FVwT;7xh_5wRe zfa~-|+W~7W_DAa{b>V9hYULL%{KCR4ciXsww0!BUn0AlUX>4>zr$Q^q)ZK>M60#ir zK8Wf4Y)6TqyQOLh`zb!Tpd}bmL%Da$)7Q{b0D5zdGR^6u@_(@Af{_;7_>mc8Q`G}PI$%;u&o@j!@0$b~> zBkt(S=dQDa3PU|6IfXk%M*&H?|BZQeWC&iN#~0>PQ`0tz1;KREmX^fo1+t+JI4L?5 zz@>5<+!C2%#44)J#(4Aa?%jgmucm_OzyKwm!!pJk%d8z5%sZK45>grTp0CA09UYy$ zas*fiXDJ_%tpdCN1Q)4JnmyYM1Rv!F_O}_nY{#2uU2?KMbN?4)S=TH0OGI>46Wx6m zv5vEZ5`ZC-Le2CTHdkr^hGG=OlPuiAB)A}L88mos4XadF8qMQ6KAVrl?bN9l;2p8O zIxQ`XjbpT>*%4cbn{r3;ZO+8669q+Fhx&->0Yb7yBVC9BOLJ8^bs9xihNYOstd*)y z)}{?pqYc%S*ebj0M&6q@gOA+zJ-P9O93FA7BcI(nNo2uMEmGEx#u2n-^X6mFx-<(2 zwm{-}Q4LTWW@V8!J(fNO!SsOs{ZZgpKEJhx_JLahNms{cW~!o<`Mo+nSO>fgk;97N zjLJeI0_f=*&%`BOseT9A^wNAwXU-vtn1|7ldV%|{@Kru8AL%d2-)^bODh*VQvTmb|7B8-Zs-zNwi@~%Lt1PEFuHwXp?#CQV z)2uaWR0^dO@SSkGI}ovss9M<3W*BWVMn}hif&>!fNcvsxAwnIeskylS0Up`tnm7Iw zW6sdaxn__8g3Q?_$R7atWiyWH!hwh_+57fAdwQL_S{!aLdGhVn>eoiVn9_i-j}XR$ zX}`LrX2v@7vuON_y#^ecb&e}fw@9Omy@wtRa*cD!=iE8XF=JY)LPC+{&y$A2s4JEZ z8fC*$gO~r*8S&5ZY=F7C4qajaYQ-c1J7vYuit~ zp{#_W8|AQ(581e(mZ{!C=bNxLn3hKJT*%G|^-4D-r(WuUVuaA%E<%rwN<{3OE6*6H zsTs=QA)nZ%)`a_>J2%6hgy-J9mZR^3&u9|mjDF9SpsM4YI(LQ;=;tINntWKZy^}cy z3gke%vSZz5Ciu5+FQuA@iJFaZI-?ftZ0J%DaBZcD?9$i+8XjI3gS#b2UA{GMXf97k z%X1Wb!9#{~UFU(nZ=%`=RZ)P4{u~?R7lL-=h-Bh#4Qmb3HBa{#G%+T3Ay?Fa8 zN{*(QcxtRcD zq@Sp%;zDbOCcjSoN;ifwV5r79kmk~Pr21wojN7&q2QT~+N)jF!IYV_o*j)soT}L+F z90xG!zUOFM^q>X@uba8YVjAv@GjlO=tolz@ms)=Wsqd<4E3MV!7bR;5u!qIElM`*9 z=!o3*XU{rx?(CCN2;l^@SQ0+TS8sa$U%To4(e?0oZnWx(BN=~o-6&&RXTY23v7|}p z`0(WT{G%F;abAJ=Lp_~Arx^&R1 z@vThpPUhabAQ2U-PGfQnnw4zg)aTT&akT!bZsYdRGlFfZtc~=0ZaY`GQe}-}ShK7j zYwjzxxcKXq0qNfJIVr?$jX*IQ!CU>WN2 zaXBLeByB)qRax2P$qyXWd8b0lzM6^!Z12%n&pyJV=Xj{-*0YR-fnLrN$ z5&2_2L%M`qhzFFKGWtXUDmKzMduXh7SrtN}1?LThI!A5jL9}0Q$FVfZPv4Wc71A$4 ze0&%P7`$(22J1Hieh$CU4{>zPe+uB8Ka25n(L1BDSh3@{NJqN7VP9kk=LNQ!Kt z3@njQGBRvhD{EeJ&BE_Jd@lHx<2zR)oLD$umpk(=k(NJxcwz8C>NE0j>?T9I-d98G z0{AFG_vx>pY}2Ak|KXB+`bUbYPTlif*4)W&uN8l*QGZE&nDNiA-gSDnV{>+-ed-*I zcl;ZZ2?jM$O7cHYqI!jD+fee=_2`Y|DzROqy$y9L7x(9ba>BhrMUClLsu*opT3kG_ zX$V-p)a&1apHkTIrb9pSYl9D#NTDPwXFRhsW z&+pGpFU=Uj9In~c9jQ|`Z(rb?`&4D+f;|oO*{>sQZ#^BD@blyEZ|K}>C{e8b$?{xf z`-Y{_vG)r4c2akX(jBFFAy!-d*XHG%EhufSP-lsB5aLJ#CBTO&zKibj%2^_RKX=&j zC>M+|cKrqa{Se-yZIuK;9;1{(+9N4N%~nHxtfBeTTC}51%K}Qa9uN3QC#)Cm%&;{% zw0JCRvdPTugPc_Iv&)Vz-ooou?v;f-3@JNy)Y0Ye29J{syC85@%cs8J*0at=!0mR((6 z66+F2PAOg8w{CFBimK4!dP|o^h?6eLO0244G#6vL6TQJF!E~P)b!w(!~t(gp^Qw((IDx}|%m_ykNPYSwErZ~s(;aZnVA^XFePDRHNm;xcn` zV2vQDO-6Kwt3umL9w&N4q|cp=*pn%fCUx%G_1r2_S-@ z^8?|#Z43}Ab-|$qETno1g&Y_6=Uux1s5Ys4&UsBcudG~x5XPxs(WEo;*jk*C7G&_B zvYV)Nc^rRncAkB7#F?{apCcLpY^5h8?ErJp-*D&`BJ+Qg?LBw=Sw^}UhSJ)?XLSmgHu0tF#jAcS?=bT@)@cB+Z$1~ z05_@*VH~vUIF`9=qZzfMqYZrZSWEnPM_;Ej2Y3I6DoWZ6j)532-40B zm;RlUl^eY4PM0lUwIX1vlLY9d_lT7{CDJqVu&o1om7pA!Bhe_ZZESdW82o(a{>0eF z61=RKjQ=UuE8H6QH}#rN`z@cPYgU^#caV~KF)gW#K8}vh<_sgqRS7x4B&GZrQl^uN z>r?qTG~slv03z0%`GaI3qW)J`*I>uXHZ7o!sqWN^sQL0N+P~dq1%<4G>83gen2;2( z0TS#)P>|S?i;Ed5>9YO~Ss3nkc?b$17HpCJ{}0Wn;F|_5%7l)eJlXliO4f4HB%{8) zuYvf-=nF_anFE;9N+Cv_bgKs=lzpxwobMhzZp!hyky zg?!E!%t@Gci@6fmU*k;ZOB{2L9FSZy#>7>WlM@h~C!ksyzN*hF{9@-N0 zLF3p1hw1-=T1n=x);43;{YM^E#@9a!*K~2uaDECy!?0mpqykB>N-C;I4oWvgNY9D2 zB_fM*9kbSJ^4p?Mx8l24HPQP#$;si(7$VkAhB>}TiA7h%Lh3)xqEfwk*KQj}AQsBL z@CANE!OVGCK)cqhJ4s;|EXc6?F9Q-uwANp>l;sr_Apwj077|+&CbL4ygff#Yr>eK` z>X`-YMtvFQ=Cc5Hj)8(IEp>s_8nh;7{%2xj-~E>yG<5%X_D77keBlCM5Z=O>T@Y0G ztgnVGhSr=nP%c3d0|L|!hncg4BKc<#X30e`T67YeQYLhnqC*HWp1fv_Z|4j{mTR;2 zBwVb82M$HVhkR}sa3B#>D6KXl7kK=T1;f~IFb%e3_Yt? zL(^+JHq-$q12q5AUc~`O35rtHsdM76ZGmY;zL>X7M|5XIq97l%U7513L#@{JP4EZN zI+H5%0RaC_C={2JU{j(^c{@aQ&3O4nf1ur~(EJFR26x_z@)R~~Gw36IM6}*3gs*_A zly=`2zk!odr-=okC{CI(g{Y^@b#iJ(1m4n}k{XN(N?`9}$7+XWuiK|1`{eXisA(N> zN1>$qAmfJr&b^MvXp6o{ICALFMA*G#*DIhWXsrNn|3_oT?;@V3$=Lzp&fpaNpt7w`~HMyl|^ z|2$#SD|ANhBeMu-diJ|B^8z{zx;3EYu>BgP;YpCu>$OAZ2cXTIckgyY_mjL*ZjU#T zJ$?&5Cg;NmuNWp6Tcqu0b}PRrC_pFv2K>vbch8=bd>#ZOaGwsJSY4b9BV_~VpEsS66|jQ*%MNkwB=nGrFN z_YZ(J*{_LXsI-|3#CQt)GBfh?9AfeMxBmrw&^&?gd3M>jbsza0x{UC@M}?Mn&X5`5 zOCb|WiY&>U1`^_q0Bqf=tgXB+TAqPHK}ir?@CP{C5Pl&bFJ1)K9*vxdUgyj_kqE{P zn=76+FAwQ2mKoMR)GkF5mEfrzmiGJqQO_{n#_rH(HA9cW9|Kl(*r2`KQ@e817apIy z*TR3l`bv>o?LX;T!(irF7m0aScJ2M%O#uOOkZFT3b1}#Un&Q?ogw&Ab>DimrZ~+xQ z{x5De4siL-of*5xm;Xy0Sj3*|KIGq%Is^B?phvx8&LLp7KcWzkZO1vJamUP5?_1xy@J%N44r1qWNY1Kt@(@k$a1g;LbKVWY1>#E0nr<6IJ zm$aNefBdMOUmyCgdFNN2&31#@6Pfg~*~`|Dt>H<+doW z^XxZLpt<}kln1SxpKt8{2{zcN?JCm!Jb((@ij2#$_wSFBkVR)q=Y{d6K%%0evS9)Y z=-Ob~x0b3TcHA~b-*~t`i70aw#e2-jE=Cisn%>PC-WWhHjJQb#uMmq|L0~CTj>Kxa zU#yR*2-ta$My?5P<$E1A3hL(mayY6`9sbTp*U>Np0hXYh`9P&deRm7Sxwtj<2}?@;y}* z2l=5HAzNS1*R0tl;t1=zI0J9jEzuS8Kv%6d}~h z!+Xh<{1YY{FTE(bE=-R(EKzg5@ zJp8P;HxW&!0f=s0qp=i1mgA-Xe)A-BO>6LB39@; zU;S@4p)Qm0q|G)56$C?fTGB%EtCMue(8ECE9ju8M@`>uSblUTmFUOpneDiCNa`&zJ zXP~3@%8va3)!XTd2)SZ11_{<-2hwgw*A1E{Y;A2>p%UjIHa9`eGKC;4j1fwr%rG9E z)~f7)ddH2QfC!YMi@mh)DR$VPfx!9c*BBTmwS2mybO#>X#uDq;T48vCWI^RrdeeNm zTQ(Ps4ipXtsWZrCSxcx+{P$89VP=*mF(Kzf21WtJI~J9#V|7VcDU;h7fYiB@tf){Ph`~UH;BtMI{@d#4`4&>0QS7)K>F&S;Hc>*Grri5sS zsfkB~e|%PCyH>3-7=Kvl!sN_22HRU-U+*m8pbqobnT}j;lCW5o!8A4#qK#y#0x8|5z8}=uq{PF$1^dI_9W9NH`Wm|=q z=n~uft*W;^9_cn~^%jU>gaTj+oMz5KTniD7JdR$YQ%kbNd0}Zzl06907Aj72b8}EP z^0&)E-!j+h^|J9#B~xL9)*`4!$Wmts%y|w0BS1I56t{TQpmzOWUQY*XlX*yUnKd10N3U-dLk#z-A zb*X`vWI9Q+^jtykU0v_bbN%>?XKL!N(}qC<&_N9tu=s1>ygnRl-`2hJPb>U#%6LwT(6AcJ&K@Ugwrsqw|<{Hf* zie*kMTV5YT1gB&xtPZR)3%mo1$MZxX2v|q#9E)L=}@6{V)EG z-|FTxtqu6MAB9Hn8&)I!`)}dj?kw%d7yjaJ+nM<-n>1Ey%(int)V#OLkeCRYlG7Y8 zG@jXopK&cauYXOUw=+O-LGv5-cufpuW`dG(S4_A5jd-|Co1#+|efr_mI^JK*eFHRU z&e2Ja8(u7|;$e?NZGSc!Q>>qpy{V;&-l9bnz~&6$dEAn)&QFt*jf2yjBvZVDE?+L= zxd-W0?%lhtrr(cunOB@7T)#d?)fzPxIf`J$w1k73aTCU|}^Dj}L>W`kiH#~Ycoi$n zkX?()>^OY$xZaev)@|DY{4K*Tf2$d3jW|{ZZ#$+7E=7m|s#A_dGJ(^Ew!C>rXy4c} zl$)A5hLN2_*Pzp<^YG%@@z{%Lc}IEP5~d+4E3-JsZo2@C4#dA0eGLPth(PSDheWJA zWo~O#tkA@u1fdLrd}bc>@%3eHO#s39rv?u z*w%&xeMTD30el3hl4Q`}Hd?LWIeu$@b#)m68t%S`6lKdrs>wt|s7T^ThbGk$?Xa_i zt&}hWJc?qM!{a0eOMK2{6Mjf2_|(VcojYh9`NcOuA-pa32KCNklM2ojGINd$T`EEi zAqn`b6h7ig7H>o$4o0e{2dHr9EXy|0;4qp3jxjLCuO2*bAPMNgGDm%fumQR`Iecs% z)bR^?sslJABmhJr2lSJiMWqaym6pZ|88(u&Rs{xu-odJ%$vuF}eKtNbGZQz=kyEFJ zZyG=vrODTgyae1ivck_VKRWHlwZR|xzThnFCzO4M*ojBq=PJV(3yp8;9}JAk$X-w5 z18|8_5&W0^0avdIIc|>ucIC>*&^=3vAWBH1fNLLE$pmf{#gUMmn!0Vh1)x++45TtP zI@}M6s>J;b_IjIX6B1wta+0iT@q6ZF6C(ZW|IwbdyFTa~rG*P&RlS)>^=3u^5>wv9N1@y`%A~ zp*}OYFWd$UFaYhpB%jiCbhx!Q|LsFRI-*##n#mO~gdfRKa#PW<@mN(XqBXp|S8cyk zzKRq9%brpfN*quL@Y(mWGygwj2h2b6GEjm8y9P*79FJHD)jf{$NmasA#9S7PW zia1q}B7QhBIX@Iz`mE{G84bEg$**J^4>w}GQtu%*d7lUnrzr!|k>k3tz7|NbC`NLo z2`?!8lB$zD)PoDo56v(Q}#C=gRbpZuM<<$LMDC~7>m4XuJelUh0V89qFahMBjImxsn3$1^&*06)JC z=H^GvVG?}csjaWbN=oV}ARDG;&Q#=8kRioZwZNQauMdCW5vB0|T{w7@Uw>jrG znwqk0gq51e)DRA%oMc-tWzj;%wN$bjX6SJ_nz-e_EWvPsrEUPYz#IH($ z{rGXb(&%He=8UQaNO}F5oW75kia>!5+66o_ z_Yafj`7vakBG|&HL;?T{g?{)beWM zIJR)Fi=f(5$B(nzdhj6xl4&v{5=O43n}SD<966Fx2lgIB9|&zO{2;r)cyfg>xX|$> zpb!&(YgKgnW1cjoSoa+06kZedKwQ9C0iJ zV(96V<(V>Umd|Cl41ktIxN60B2*+#CZmBq)39@>OZiAEo!iaf>g~{s0J$Lw}Dc2$PQwP)<)}kW~_4p-X{- z#FhukQ(pCN*YUQ3yj@-vpdMYGjEbK(rl_chN2r7xLVSP|uoL2CrYZ8S&E~nGQyo2K z4E9t-v6>8Ome>#Bgjld()bn_jz0(>p;L;F7@Ic~iiIlxN@VQV8lh0pu-!-LV3vY8K zWtDj2KlL?Tq?kRaRwkp5b4jS40Ln`glSt>s2n4l{OpU5KF5&Iyc_I*uxIq7uLUMlT zi{yd-BG`-r)koy;@N&0l+4AE@blA_I(-w9?XO6J#U<3vgG6;BTq>A22PqVX;!L!7K ztvUoDpcLfhq?&+sNfljhYam2XorHXwu;R9D8QTuM$NP#TnWhjpr*P9vwfzun!RZqw zu(9I?(2XeYMMb!qXwu?WGa#~S6N3{4N%v#?T!ylFetMy}hJZJCuZ^f0W??*$tkvKn zGjirWO#H%NyVJa_pKa7Fkl^ZJAs#>^777!eju~D`u{YpQA zLooMx%g>Wm#Hp+r_JV6Ra@@FqV>dM-F`VsAJP^q*{s5yM z=Pbk581Upwlv>wqkEbt4cS6;{0YBGD*MP8#S;ut*HKE1>ei);L9B!Qg+X7( z^v6EI?S@h0>7BD7Z2>rZ{S(y+I!z* za1e7e{8dDF_)s(rGsaAK&De&34|?~8D(bO$U&>WXOao2`_Kko$@%ecV*Iz;00%zu-qB~r!_31{~Qf8*M&Bi$g ze*JL%b3wcFJ=520XM0uOj9REZ_q;tFva^A z+%E2>$N$m6V8>8|TnEcAmk(kB=Vj9%#C9vnIPD|~LkicV{fu4=_Gc#G6JrWtXxJ&~ zLlw7K6Db(l*@OTMJxm{p&kb3aYM(xRG&P^l+Xn}a8aPlWZP6vr8&ZvBd@(*HAAsr(+2p{e4Mp&Euv-^4!;2+ZLIpv;K{?~L zk3-DQD1B*ZFfo8I6C}k{liOXv-GQY;CXFBgk42Qlv!6Tvx3)rXQCp1^pOISRbivOL zlc8ngHvnWOx>g2LZ;?NW)v_pzNSEq|8ys=UpiPKbT)M=iXD@kzqHa}OJ64T=2%h-G zBPV}JEz8Ll`KPM&bo7vP?8r7xCVKX~EnSKVruO>voftnj*=lNQ0YrH?B~p`X7Q887 zOW5NXK?t3vM8@n{I{b=$Jthzo=E5)UGn?=`$N>! zeu(S>qCzEiKZN)OYx=5A+N(aDBGtMAcX#J=LDr+S9?nwSzqgf660la$+?j-MbjH@C z%6NCtAy+s~-f!_)3t$tCkchK~OdZfi)J0R)DR-zouUk(VBd>?ZGNPWbiB-7iDemC0 zxi&?V-eHsLX*Y>8i$?d!J^#j#zE-Xh`u0<0ZA%iD_-@MsyGB8Qrw;iKC`r-dG3 zUdQw4eZ89%y?F!74Ys=+%MuRzZ@&IoIJ=OA0-XM(C=)i3!K{Y`da-|YtYa)j;ENM9 zHTkC@0AyYuv7AX%bu=N+?mvIinlF5HS#g1Aw|K5`E#PWoU!!mxapwH60U6Qk^u6Y-i9~$Bl^#u&?qH64^DvS$GE z{*(uMTwMi&lF?_C<--#(gRjFgij$feA%NxO8qcHKsR?dR`fki09nshEz1zik27Yxt zEY05BZn)F9#`iyGo)Qt{TzfQIG!Wz*W-#|c{0?%m7}uLYHSofPM@1Fb1YD414eU$= z5L-d%5k=h+T+@=FU3pr_2oPwQng)%z&7?dI7JkbIU7`ksXSdLjCUWqhi!}Y?#)VUW zy_4*i%fT_YImh|PBp1bSJbEV;TzxAd3NeT_NV&(~cnRkjOlm%+D zA`b&*HiaP#5fW0-rr1Zb6^?w%B$&5ZCO?w6))NH;G#dIKk!dWLNEc27bErYSdsvb8 ztx0xUV`u#Jv2ObBWu9BtHMWM{<4NtAWDtpIorM{G3$@zfH0E4TYfc|s^y-!7VtC1o zROESct%B3vT8x`wIkU8+#42Owaz)h&mF_vaA=%n(D^bq)JwPZ><(9O3`OiJk~y^DpOx~J6v5d6iS3Ks=7B%5OvwIp}1mL>8P?{>g~J#G@xtK zC+zO}!SUx7I~|)9&d!i3${W1?As%!XplqC4>|fy3i;c}?#qs|`+nWdEoc4d;W6UH= z%Gi^d#>iSoDoV}7AWKY>EUCyIDx_VRDaw)%iX@FlQVB_=k}WAxNobcOX;Z1RocHS+ z=9|lW7O$4x;lf2Q>?Kg_gFB}a`$t}uUa2~*!Lk%wzKZ>n*1+x?&6AkLZ-*F({aH%Jkc=GCV{pvdEcX|z(qWI$0 zdBr^QWt=;PIP~msii>Y$GrHuQ`u>{YX%R2$Pae6_OR;3Sb(-8_vvbWKzoJu_z+C!+ zaJG}+NA)4Ip%b7PXhTGJct0H!Ms4tIL>9yiyW7p*l7E;({I<;@b%L*2*o~aIQyF)f=l{&uq>6V{3ldTt91<*+1>` z%JmO_85&pZnZ8}B%+#dDa$)MKi>#}}L(kGa&H|2y9SDKD&eU)tE*va-)`pj1hU=J0 zJT#fWaa`$j2D2yRXh-8h2E64_X9Ltf&RYHjgJopEMp%SQhovyJ3H1RK(RuZ)vQh`D zg1DdFWAW&I%&CD>)QMhWtcU-S-D**P2+VZ*KEyRJ!t*Q%PQ7J_f03f*0LWuRJBI5SY_zr zMuj=InU|FxnmJ#=-rH+P2Oo=;J0)e{Mq6;3<==t^^crHCc8ID7Y^%1OSU6N@qh{o6+RR&Kg7vSLD@(JQMC*OV zBteOqZQeFXmyjezmKDlRD$jN^%_^iauCVomT8YakrYz z8-vbm&2Q`V`^abwWASY+(EyzhW0AV-nO35<@blZxw(9Q>&D;VVFMOa@5tAVBCeRm{ z`rNTWoVWa1*1f<+LRhuL&;WJX@GRvp2PQGI+1$r9MSn%pO$TX}Qo+ zwo~3VR_ZH}1_e=dqDqN0M%S4$kJ{x{MU>;% z79(u;aL2h-}ySrU9bP!kbS~I@SJhhl8ft#Jtqj2^CdC6DI)w zL(a{ZyK_dDJHEiwqT@m8){h;h4_S)!h`@xkK_r&x#s-t&syA5EZY)YY_OuS2G&ZW~ zvi3L4qd?yo9{Gr{((+R&Gt&$1Eo68TIw2%T{f$_}gUvZg!x$%S|2};{xct>O{y;xL z_SyLzB6Q#g$g$!?3ve~ipErVj1>YRY6hd&=?2HUlMXb5l;jk_wEtL|~NyHp<2(%UZ z&04dD0)dEw$xFwosHr*H+Y1WX(oOO=J$|GFcD<@(`bh)5OH=y1e-O9HDKvjm<{xj? zG_B$*=Xv){$`i7N{^J?_@Eb*{1SWuJ*H=os=eP-{HjTJsgq5P1a{#9ffltDX6VBDYr-gd~7iO%D=>3r`%f(v{XOMQ9( zsq%ua803nWsv5c)g+sXx7AH*ytI=eAyATa@ssjCL9r{ip`c9vwpnOqqmZE7wE4`~y zI(<4|Vl#juvaI4^(J(fK1~MP|9R5Pg44$r#5TVW+^US3r)zA@1F|v+ogY zoPvbiL>CBa*|I=ubk6!lM(d(;;k9SYnl(oui!&C-FGP9pmJI@Pcla>JOKfw;G;G6x zXCTTWBYzdZJrwg#GcwR82%T&Fbv!bdS#H!lu6&!@l=0!RHkllK={M5I@m)g3q-}Bs z4-feJ>#bMkCYepOLHHZwNne76PKJg*)Zj`9qy^CBLsGaHwee}=* zzwj`Cp6=`w%6P2|!2v5>kfZI5I2uDfr3`*Yo{VOXfP)wXP4Balp-2($! z0~0WQwcgB`cWaKZ(lhgc-TPej4hR_2;3ImEG*j}JrPu>W2g>9#8Ecrr009W=U-seE z@ZJ=@IBI6#yghnmV+W8K)teJQY3WcmNU>SK0v7ZtbDp^z9j#q+tuweCX#BpJ4uTr< z#hwB>020e}Wk2^Kt~lqq#X$=kK`;IJ|05=S(pFXH^Z#Pb)^XP6NDFgHj4k`_O?2Zn6^g@yyDud%uAGpPI^lX@-HW=KLsy2cudLUuW z)!5QduD&BbL6fH$u*(f#IiGxDy?K?rE6xkP@5 zP>}2%F6dc8~Wo~>iq($WUTtThDNxzhJi4agFB_y-A_+Mm!LkuG-9WcNb z00msa9$H42Z*;`{^@bVy&OVLtk4c)94$@k7;-(d6f?#uIZa!vV{=={s7g0NDrSoH* z>+Y%1O>i=@r_H&#ffcjg_qyyzo~ey|b>^@UmG97f0~~>Kz)e6NN9R`ZpfQFkc$ahL zLO9BA5JpWAVrpDc^xEQ;}tDb*=~7 z8;=G56o+Jx1X>5^+WIGJ*b%qV!R`Np_m@kQ1-5N!vXj3FHoW8bu8hx-`riK+r2aLO z`u`yH=LpkG_3a|z5sdm_-1ERiM+4d_Th%uo_mwNiU7b48q9uBMgRz>m+0nQ>QH=Bb zEYavuYhSj#FpQ}@k~lxXC~;oXX-*J0f(3JcUjIK_)XM$d)P6K9eEQ@@-&~_YChzoV z)3gYH>aZMaT)OmHdioed6eOFGw@2&))T@SuBYO>6ZInJt=oCTVf<8vCNnN^jqDB5B zS{ecZ(Bp_`*CP-)zg*{J=TjTqZ)|*ir&pMvAC+7lmhxsTPty1+nG_zEwx+3Ob@0Rn+ zc}#i9)XZMMs+9nIV-!1jZ`Io8px~=6PGpPBR1A=fVE3X*k!O){9zYDkzJN*5_J z95^#iT|gH6N8IMv?HO4l-6HH6=C<(s(w|W-Z`>HE;=6C(Si=MC*k~3_&13x!A6C`O z6~NU`1VB)q=jPoSt;nN zlul4^FyZo)*W{5u%aCCQIzL@gmZ6dCv5ibuba}QwUlos8>f4kl@cn}d{|nzgj{LiS z@clqlAJ&$oKOBr6wO>ccPxf5wuwBNHDkYlHaSTLE=Rs7EG<6Jum8eFc8ZnLU+p?vv0BO2 zOX(*iZ^fMp=KkiGZM*3CrYB9?75DxYH+;p#>(yr~E*wiVx00M^O z*)-WU`^37~!|zUBd-;8J_o&IIJmaTq_CDQouUlN|q^0SJ=4aN53Pt*_O9GFn-P4{{ zVw~YLS#&mO({ihGNs)K091NE$mL1G0J+`XGdcLOm_~F&5RnOyw&3RkbbRoZf?WqFv zp1rdsm~OV6KYYc7uE*0B7?rlpzwu3@@}uROv))|IQ!q%(N?&<%eEEwXsuP!KJC?d= zAKB==_4GFmvPv7|%BD0YAR7?;bpY@}rozozw{#0dp7`t`{oJH@a6=8lAXsstv3RhS z;3*dm{O8;`LWBs8gDKz@c-k`+*48nfC_{s)1O8n-`bt<`{)_sw!sCFO6d)*z8-VVV z)a;y`xkpumqE+!_D$=|^SUxuVn^F^Cow;n1_kTXI=~~Ll?nh~N^xlhN`-69L->QAV z+rF*Zz1XuSMD>os&*+=ZV13qxc@p>%bY)BwLQe;|nyV^w#KA0Y7kyAaG)Vl<)eqVK zrhdqXf(7FTCr#cDL=QawFsz4W4&9Kv_5iFMyMk`9eu;-Xiwio>1L1HDps)Car=NRi z{Tqi0waL0iX1~4JdoG1sb3+WEdkvL*h76#74n$l2_gAQ$$ z?esB~R_Z&xcJIHBIO?NECtZ!hwR}pS0rg3xO-S+#6v;4yqy$u333LO%DWJ=P6-Z`a z;^io7Qt3 zP`5xrudK&P!_YkEM(?xEaUs#bQDN5ZrO0NGUad}mx z-C7y1V^6NLZGBU5Jlg$yI z#c7T8^@2M|JOd(`#Bals%@9w(-Tl$G5R}d74d*uJIaFhL2)~H*FrnA}{Rsg6PMa}M zc$aoa3~H}&*G3fD$a4l9E|idQHmTuwu+sX)`{M~dV`Ms5d*uij5)zC#0`Szr`mDZp zv;mp^91{Pb@d?>r>P}#2yv(R*Tb0L-jfxh&K(MV{xdObgcet+jei)|%2b5bKPk=iR zuToxF%6Sdi9GZ{W9bFG-5$#e`eP9(qr2ziQZ_;_mTgM~>;DW_#Az5TPfy^BO;kiZy zRip6T_8WaZw{pkjfsaF+E3ETAr*+$dmCdzIEL>$_8caL zBVMtUI$ZpO`@)j6++UXnAF`M;Mmf3d+b4w<{^7%*j5XYM^pIV|#F&wg0A>^x65p~s znh@p8b)8vzFuTv^d!aheFjPpJS)2Le;xsQZLGi^~sz_tmrH~7Y2TvMG4R-}iV6P!! zf?_H&a}!%vuMk8|(6NWa=H1k8(q(Uuu*l8h&?ZX2avcC6`Z>#wf$ z-l1kLSDX;y%_3x1cgM$lX72o|yDs4YB^BikS@U-dauDs?l2RV3S~jhD?a4OVRXHpA zMSp7-*Patmw#W3bQSumV_3E*M9BVv?HncBO-qvX~L}Yx!a4wIaR*Av2pPYV_7A=@iXLOUsQ~dJM*1RtMN=lKINH{@Mff5K&N2GfuhKP!B?NXEAVr^P@*k6C4GfkV%f>f!_pHS z^)0q6c=@B(z(6fO?Xxn8=c@w%k9jz_H9{&39Hl%e_dM1hd{igp+U~49NhQO_)e6JMl_{b`5mjcv!|XG|^WdQ*Jr&l#(d7Y~iyAU)-%q2Fzj z5R==c(wmU}i$<9CP|c83jTb7aHnvHAQIf3Lzyae3hQy1F{|SIT2n z?)LHuKsv-?jqeCu0HHWmR#-plF!NqDvBYXcqu7)6{5GwMs6^QkDM5aPZ3u%1V(W+f zWL)8GTf*BCe(BO`2!gHr| zmHpKl0crELIPaXl4&qARu7W1&o0)o z$=Ebr=y05ChKthf`L7q5vKs zctxK|+^l$@Vd$wxH4p_P0t>w@FlJolIde!IoHS{%crR(`SDRwoq&OV7de?ukO-$?x z;}Q682kV1phQE^1fghXx%P+cNX^=XVHgUusZPCOFB7Aa6sUwOTz%q&bkuBB9w# zEWlODj1vW3xXm$35DsQ~7#xria&Cl-_VucM5#_%}1W|=*ac0iFV-tx<%(6XzTg)no z7Z@dri~GjJh#4T@W6MfxH7Em+JAYU|r1eRQRoaUTu*+boasZbca0H8oaN8b7Z7!mVGI z$68dq>YCX)x5Tn=^NPN2(j)%(`r!TJ2^O{i^<}4eI*Qi2mJB_uS2pk4Z`K{k@wYIt zji@i{8~WQTWo@TrYQJ4gZ?K5AF0Qq^clmgFM7&A4j1MM^=ThqGi zs(^Uowx6ce?-^HIH%!_n+(z_Fdv42M72Ad;#T(U&B%+QL-l&bss~H%MB42m)+<@6V znq`Ux9ZwSvS57ktGMW;B*2a%V<<^YG z#G{~i65fWq`}g&ta|iRVMh`HZYg6cYuCXe=g-K{KDodV2OkCd1fv-iI^S7<;-=eto zOg!~vLciCh7)|V?3f{)h87LT0EaD$oZ(%|2M;{%0qlMw%SwZVMcwG|S-s6f^$N$s2 zknqi+nc0c`V*sanj=xoGRd4C4M0+@~BU9$kH&rDn+qR>}ccyA@lW2_C)+^-J)tk}Z zCT{nX(>946Fv0xcyyja{Whb)ATMv(Pgw+Di&y}wf8Nzj ziX~gyD!PmwXQ26U{*S(O$NEU3sOnDI%?Ev5G>x}3pOrGpy)Z(5`RWCh0a7}_?M{c* z#2d!0xupI_=Ywm1O)B%-pyM&_c6z`C4TDyR30rI`I?oTBG(R|B(al%NF}Y^DZcs(> za;K{|-uAFec&h03xLw!#;E!6GHOHTy?`f2N^NNOkk67Yk?z;ININ?$f*!5zS^!zOA ztu;%1LUTSWxvh_0MDGYx{^rbcXYYFLNI&f(y_T%>jhE3ZRNCR3+e36ce{7LLp{$Na zqW?MzW=TF$?L8U z_sdJi%wAG%{cf<#*&d0jCp_Hbysj=Tum9b#MK>*8{Io;+@R;~rh4D`1(f95Rcu_g- z+I;txlDYSGkDs0sWn;WP+H0vqVIQzN6g+DrX|LBhSc;`O;w+2Tk?YlLV;eR~{ zd7JL`O3`;ni2r`;!-($5XZu`8?U$^PEWP`5@~HvV{c|f5?Gvj+dA4P7+NtNQ8~QAW zdVZQYhiNIXDLrd$zHM2o{c>r=y}RCprku3a5%W z7n9`E2i_gvWH?2!tkG)6*(6J`YRFj4L(!1!!`{BG>fYwMW8#s(S67eBm(5?irOvTd zbUEf%d$k@?QxdngCJdXU7hQVF(?Mh%ns~6#nUXqMUg0{JI+#)V>EP8vlmelw`u+Dy zty+a`8ls|Qv*4wAbPf{*!s3J^IC7#TaC71!ogwiEj)>8~eD|#%8k}rnmOzhnRxYF_ z9{FKrgW!MOV&~=M6@g=T!v;?e4-A-@q&{wzM^VN0i^1 zj33-@^y;VtVb9+##ZjZ~TfzipgCAGg%o=tws~ng#$cPUkxYy_DlDmZENj~x0kB`BZ z{=2QZ=Mh`qg37kpEe(N#Zhy1(p!umh^Xh?P!}q23kU#n;G(X|cfobJcx;=9jJ$YF9 zmhd-Is|71OUX)cIlOEZwkmBZ%+2xX{t;EY{ErVr0ORt<808cW0c3S_wvO!hl4Uc0T zTO{wUylyxBr&LkF{=%fBl|5Vxoqg(3t2dbrcWo*h_ICT8*CU-9-<&E`Ra=yK@9N|P z?Tjl97I!5J)SdI~OZ;U`wU@h{jf)COZ@;$y5iV~TI_U}WHwWA1fhko*-)guJEB_>^ZvZ1_~sYwFX-CGUL|r9z^kBYWWtZ_-BlAB5?)xo ziLkf7_SMzp9|W0!!>5m3;1jywO6#6R`>Toz;=1f>z6SfWUP-zu zN%pQ@esxNnWnGq-S7J@h(?{!+BBbuMEA*Vd&?mHU$2il2r&8w*+2oZocbRjSEiFR(4H?=-ACemkFfvRb~M4@bL@$ZF$ESr*o7!ej*p1#!@?Q0l{ zId#2Ie#d@MJ1g3^zfRtk9AlR5fm#YGD%Kd>OdY>XeLdA0G45 zxL@t{ z#`9!iC8iQgH4WKyh|Um3HHCh3IREQQefqPe!!eVM3I1_!U#3+rSy#EZ&2Rg~ckeU` z*SEA=dKFfEOs)C!@BQo7HU8fx=Kt3Rn?IlM)fWwJ{NHW+gk+rA$@bHav$(Q*I! z{Ga}8z(Bq{q!b5YwSlI_#_@~~+~mB>vliVsjqt(d&9jQ@o@Bc_+ni>!;M__k&V(fN zo2*ce025E0DlIFMQ@8p_JQ58Z`#*{1ooqpSy994ozdkS8GQcDPcLOE9I^w}uLhL*m zv=P6Z?g(>$6`@GWaN)w?Zfn-AC8nLE6Cn;IBxL_I8Wo>4I3OG4524-CSd}(F-YvCs zq>@qs_7#+P%%)P$&{UG;Bg&bJpZE)qyLD`C7uV9M}xywvYS&&FDwqz z5qG~qyW{9=tRa9!v^P~-p@`QDo;7>+!PHV6k50NIHRM}V2TTtM(*3ACl&_Wa`1Hd4 z_3H#7{Dq635A<1Q{6eu`DpgR{vqEEyIm-b&u=f=zBLC))B2dcY(T^$&4OX@UT_)oPm%|1BpA0iFgtPu{eW1V9WUNbzu4! z;CjDtx-`J zHVkjX`=U2&-`JN3O7)bT9Q)^=0+ruw`}NXIh*@}3=^XJ+QCWVw2UFwsy2L6xS^u_F zclPYovUs}>*EHdGOoD%1-%oy0l#6DmvyKN|Sx{=E73_Uj(up(`B2&9rP4cHoo{HHk zA0(5{Oz|^^UrEAhWn4zMoqD$CgcYAu0K(ZPMnb2wj zO(Sp<3f>_dMyV6ru=D4wfbgcwUm2YXO-&~9C0<3oz}~$*!wlmnBImdVY3;AI^(h~- z;T^gaMa*@K8o>91_AR596G1E0GGL7OMv0@ljLlx!69}Kfdx!jpBybE~h{wP-5Yrfi z8J6!pgX^EqFmmKfaXPE}_wKzJ{2tn;tGpQTICZ51LvlW>rq`kmwc7lL^s*s8nddoC z%7D0*3P01fR|^3NY9MGtPRr@>dQ~}1J3JcNngsr)mO5ZgWT8V69f=#0JnoK_ zjAw4$It{|8NX&7Qa`hIMe^*v(r#YnM&mxUe^pR?4a0v;zNI$M9K>_K+j?jWNq)$C@{Yy^@EDa!_rM%wN+2(i|3GpU&vzxrr zU>!~f|3s6j1F|d+w0~5oEwy_y$emckS<|N{gU;`ei)oJ0(hI&wVOgaODrFpOy@p>h zz0cD?XdU1LD)KjM=LAlZ(84bO%1AtrqBf-*LzHvCt1mc-uBqK3435hIEK1wKi!>5q zxU!8J>IOUh@p2_Rs3-1)Z>F2P&>##Ku?`!>&AIqxfk~I~*jPksK!LDYqW1yYWWjJ9 zPb|i|sHa%907XL$&Qjq)g9g7z5LxBp$P%<$j;5x-QelR(!iu@agaZlLQU83C3|=Kv zs_BX}uPykMVaL$W2BK~Etv7_R&TwTlgb?McQdsLmZG4_Z^uu3-z+W;^YVwoT3c7x5 z^yD*7Cb$*zAwoU{Te_K2#MW&(#Q<_>>5_w<6(m2I#FgK4Sx}{@JC0!2(C@&^) zDy*EcUcoL_Nc}o`UoyqWVSCniiYmIBZ>$zMoV6>XrHW_0)A|TE-_FW8#27s_W=KGSapNLUNE2^5)nv`b zHSLrCwm0*N2~{)3l(xj?S3P(zFVWT2QFj)mGm_JI@w1o-mvWS6^R5;I?OQB;#9I0z zTK%8A=tS9sgb;algz{km>zN3~n9?<4MNktABKi+*&vq&OXp6PCnD@$`Vu!T0rYU8+ zj=WE5OIf{Nkc(_lDCT;jDD!Mo?L&N05m}y^n?(8qnn|HzS2lf!m!`h4@mA(t#J?r1r?6SBa80M4MRz5vMv}xgKJiC-0t{`G_vqeT z1Lsf18q)g)D!5P|M6Dm1T7(9K=zwz)2InRemh)Zr)mbRyV_5Mhxv@W@V6~a#&pXW5 z00WT!V)ALBx_)Rq>klE9@rmTo{ZgYUeBDbBJE>_l@BAr9IVa173w>3- zlaoWYllAnebgy36V?h6Za8vK#{JQt-*-xiFvE}Zl2uScI*(2Ylq@_`W6O~&@?t9}n zp#bXxd$_@4wt{0zWi%IM3j*~41BOeWE)))h2?oe^u8&XGq!fgmA!z?!M5e$-4q-EE zjEicwXH%gd?YWgY8|d>*_GI!)nQ_w-wz2I47{}ySk@YU`rWcGD@_+>wa5CPJDMP#V z?CJb6&^_UC;0Hr?Q+Vur;};tm+&2UyRKysTZi((HzvAqS)pZ9?Xt?w_W>>AaxYsqc zz4;aqXU`r*l7zR74&DvQM_`WS)GOrDzV3d1XuMVtASXiB}$mTc|(x8-+10%hhCt37f~AkM`UCznOvNk==#+Qu4A9r zw|4>K!WL$4dAElvxv6lfxs^8ldbaCKKF&~|Yzkjl>_nLM*J9fAndK73y*0^I$dU1u z(2GLshE)*f=ZHSLxST?kt(aKP8kM%`82%z|wf28jv9j8SH*0tw({UdG%N`|%t&db! zU3t8yZCBbB{ZsqxS6(lv?Kbx}OZSkAp^N&;43;V`laDT(!#R%-Dl{h3MM(llT5z=) zTz!xXLGrk`x_9f=x{5d_WuYMD?y8Gzh#HVFGMlkPsnto|yS71K&j|XJ7c%1WEo@n5 zrLI>rAU1)x8?lt*s*VTy9R_A0q%tiv)mt`QWA%NRQ~LHCo|BAU;Db5lsinN!XcvYC zWI~M&@j}=O)g3}lNS{6r^Ybfb^+g##!?&R!=oxgv$ZUp`Q~Du>p|C;Qr5FndMnSk& zZcWKjxw{fHZ&ucjq16=?y+v&^-V&Q}Xy(eug?Crw|h4wy!>Je|y!%U*JK8 zfNmIHT;&P6G~u$)tXw#_AzdgY`Y&vTqBxnR)G}DJSiK^xcJN4DB!yEXCtGh`-6L-? zgd2jSEBPOj$*-y1P(<$2kmq>)*TAm7*1xq|8C(AQe($*4vnwv2jNiK}bamnQ`%Z5S zN57jxWi;?immW6O)-q_uEw9p@Rda2bTyWMReSKk-K(dI~R*^AMUcMNBffpV8PqsMr z_g+6teqbbyotn%9@=S)f)i}h%net4rs&Oy)f$8hisb82m2B|Ug>mAJ{^w=g2RJ2Pl zSlvGlg1vRH)C*y|-L7C+DE#oe9K0)PK03JOP8Z~;efp@_RxK%?3xp*rn?P%Ua7kk} zox*l0zW=}*ZLiWR$ivtrsaaCs=uUb$c$AZ~{8ZA>InU^aSgXtEcz_2ZDx^})E15Bm z#B1`I`q;O<+rlE#wxqJb0SrM*bJM_27pwQb-e$QAuW;cOR7F!HctaSvI*sd)V@(Ur z%D0LY8u=tm4^VeqBiD>B^=~itfIOF?-5;A+zWSdD9-$IejlPIZWDxqdpl zhs@;p_N8`Z$#S7vHcel?Q%V$?>V&J1a~+#CIIao{80VhWh6oqVGK;D9s-H4r`SKF> zn|g<>pqCxC_OM4>Vt%9_86S-Q2qThn>VUD4U`5O>Y&V&IvZf=EO&>d}@cj8tuydAF zRSeH$0X1)#l+XNmd+*>;ZlrHcqW1}SyNkg9Y3ZZh-b0Mx|3N5Y^DPQ3XMH%BYu!N7 z6PSKv;tZs`>jgxsMdvCi))L2aOw(Q&eu(^?S`B4`q0U2up3kuZ-nr;dDkk*|@)F|66#-49)6Uc;3o!K2KgW%4f5LE-Ca#Z(4 zZ*+Ch?wFy*FD8c*3!z*Xpj_J=wM4$|%F{02pk@}KtnbmS+fnucW-=Bkf4$Wd1@d#k zNVO1bqoEaq_#A{;;KC^d3(aOcN2~)pz(=#@B|+ZCpwL-?n3#8THpV<$*^VGiuwWC# zHX$wZMt@EhykP$r-T!_@pbYC7BPpPVn-rrPWvhepRwkT2{bIFt%ahKMnh$bw{f-%6Ks`6jp7(sQF!C2d6cY{6QKepE?qL9m$1hUW+U1~?;o9zY8ELj|1>uj z|BCA$e*i!Z#1~42!0lVNwl?(dbEU74H}|&LXUd8d&(X323WNBtKmme{+}e$(R798@ zq589UAOHnr{fCTH^&mYnG`Ejj?CCdlMSYCX>Da3o~j1Oj_9xunN31-ZJ1HnrWnA{ z9nw4&N&7o=hT*dnjLt9pJ-5;@#DJvgjvgH$8Y0%u+q-196UU68-GFulXb<_pX)$3r z`FvyvkfbSHTiQow^x{i*imkZmlu6>#l)uTs?S8kAF!FiB0m-sR8J3bNiqk;z#2HlA zv?r%HhV-`XQaa#bw|zdJNb~XD^Is>46iZ!w`-pvA<=ylZd+%L-KfT>peeVc^3$k&; z##Xf_)&5Jx>O(?>5R466#!=oBf-1RWC%WcITh8{W;kXa3^P8Yh#bcpiAmKXf!_EE- zMR4#tw6Gnp|3<i*=2H)PJ$TGiwA7)C&18Q|@L5&Cqac=+I(LXj6Oh4sH= z1n31<6wWKCzBBJolV^S0?m@Tfhk^ds+VPqly4y+joroZU;XW>r5moI%8xL?C$)b&~ zJv)6%9u05*f8xI1U)q{2s^`D0Td+FBZc){Ql;<-e$WrTLenjee?l1=#*{#`nTop_`^4*&UBi5y33`4emZni z(`p^k-v&4nL<3_BRTUDOzcy79+|9_dc6fc*dbER&Tgt#&`uk6|!)TWe8In+aqtgXPow-LrFN%zNwuFrJMj;hElhVOovcK^^Y4cbbC!R}ggAEU1;}hbanp`Ca_Vj^Veh0C;fxfF98ols^0I|Lr$x=6kO2 zu@AZBw9SOt#`z}q=~J<}wSF^CW{~g9 zGZ(ug96nEWlJ!fpb{3YF;CXKc{ntI_tD-?O85b-SES^S4c9q{75iri+r|He2k~5Bq zKSdlIwL;0rvgYwHN15ZlHfm1zVgA!f8~Us#93%^!z~sj;ptuk@Pchvx)^m%+W&;}m zU$+gL8Ez6!whp?E=|Sh&B6*xS=NtTl4g;P*$ifCOH`t$`jXpiK6l$O)v*Aj<1@2m7 z24lE2r*eZUTP&K^zFXY9YJPX84Yj}iB?T`(PF? z`Xf=wly$MsJc*vCxF6)}XYG%eS4oSx>k>C8p!8KVcWKY$gkV~$xy#l9Ql;kSJr<33+ zl$E$WX0{D8s!b)4>|L>>i(t1{DDc2&aT9m^^7;EA+?=t`7-$J^dfsS=R1{>BZ*$t^ zRJfaF#;tdzc|Abi__hel6y%BoSCSTt)R73QpwqKIJQ4}9y(*NeZR%szZ|ynDGRQd>NpY5v#07zIlsul7l$KH+vupgp;G+ z#lp0=yk{)|+c0jlGUi*XvN-sUW`b8eeoVSmhYKcb%xWk#2CBGx7*fN~`4Kq)^*E|}co&vi zgH13=qtMc*x-vvd%jE1uwBfW8hi1Nqk8avI8EL5iL{g1cmPi~c*YN_bV z*L}^W7tR>^SIgwz?ncK?xB2BzRmHK5FXLCOY#F&wnA(jDyeLNY^o;){#qxM+skwzk zLjL?Bjlk$=HR@4IY8hVSV0<(+(SB!T(Q(|XZ{G>auDhuf*bSk8ROl4h$eY2{Vz2Mi zVKeEp7VkP|fqzpwp)nit8ReAfmE*0gPAHQgfQdj8#PGs zE{)FZGEAF0$m=tOTq-0XE~54W2M!>ls!rV?LXXm*7)u>M_10>~&bvmxKWB+1uZmpg zCIwi7ZX2W&;D#72PF#3hdhFo1!Kx2JLfSj(0j_w=l6L02+{(9@qS%JPbZDJf%d5=H zX%k1jsS{61!Z98`NL)x~CR+SDyh;diIRcISUa&YQdl$JD@O4$Cq}R6-{EUfdQ3QP|iyqp7~YibO|x|OQMy3>i{&%Kj(9r`AU2wv_!ka{4(9iG(40WhT-e$i%QX zj8Ls#$dr-#^D`X6qF;ZFM6B&&>ilHsSOY`Do>w%~D+N-5!`j~kS4*ziW&Bfoa_t<{ z0BppkLM+$cCKHjNKaOj8NTHntyv7eQJCvsZlwHUKQ`_*g{!}zI!-_}}CtbP2Kq7HR zlb3`q3+#_IsPF^?(4{rMf@!kpg&9_OIoA*IO1=nRfrgEBCUW6nC1W;v1{-wyQ}8xs zm9uvM3|qfQ8yK8bo=SlpRArEjZ_2Zsh?BMR4Wa8+e?S;JGM z$6v87*qA(6P+n#b=d>vXjS~C&6KW3EJ;DiS5`mNHa&F}$|EkpZ zRMk;cNj;;hP4s4rXcMPpniMCKZAHHFsC&5*)cn5J0vMjNtBlIQ*-4MjwxmFPL2V(} zTsg~(a%;M0>713F9R;%anO7f@$)P5RdXh!J2%HA%-n@~e$K&+r(;Qam_64wOeZ5-S zk*q(lF>Un6i`=za1Cy5CxqJ6%qKgYo3r6>0Zo@wSEh~is)&F}H<<-(L0}{3X1TlbS zn@35R0gmbWH2_4Fm6js);8QbyV{mN@P;ND5Kyp$h&o0c6t5H7JWu)7}1SflvzbS%{ zG6Rd4dFl;zgv^uDPV|*C*>&)+a81QlRDJZ+BSCf2Qp7X&CG_aSBdR3XbI>q1-?7X7 z$SRlFU)iFljGtkZ9xAq3PXHi;%)$RUb{?V}GFLD8zhNLYEc0!hc}hRb5K^g|ybwzg z7sq3mRW5*5p3`>q(aB@Yhu}k&%vuRT46w+u2nAynNmlrW^{f}^RW<(eI;OO2k=jGQ z#Fq4BA8DI}n|Zu=KtQZiod1L~jH;g^0!K3KF~%{b0LPMQPW2F5VwhoohVA{5+C4;~ z-2BqH>{_Kzr?3HrsMN=lxjHUog}J4rq_{Y#d@%bc%}U{bx=8jsB#;gMlV>mV(U`d!r{vx!#Z@XhRGf*elj`bP+-JSxZJQ|YIT>1FNKV#&^j1%{s;kZ>~Y zOQX=<$M~cF97Y3DMOUh~vHx{z33=PG)bP1Tad75-N)n#${?74t)ZL8TJ zk>D}Ripyi*Mg)h$w8((F()n3i$tQyt9LB(=p-Z7M{4ZN z^AFs{{w}3?smsM5Q+n<&3XSs%*svvRuH*RpEk>KwEMpeM6mGDLt5|(eYr_V)U(S6i zd25%i*&iNX&s?!h`Phyly#@~)(8ae?r}NRa#zH#2C8FhUw0MrAE!#$3U2 z!MJpzr^yKU_Zm260w-2yE(apk_zs1YKZ!#)!kLIC`QOJpC@=J#5^daJ29_Q$z+>;; zgp$1)Zc->Zhvbml57{}|4KpyW?er@9%2Vk;mc@EpA(Of@vPBc)@t#i}NPr6J>~ zyF9GtLuo2VeP=6#Otwa>4Iv_>6JmfaSzMk@m(@CDs3n?l%L9t;le$55*R5=dMv1nT@{;RkoR0f(u)=Wkd_BM zx7Z3R?l^)Fa8#}tCxFWnCI|t*1@Vq@c16DnK{vl9+?p}WWKPq97$K z@EtKR zF$frfUMRM5=6Y_99xz}4o1_7``FsR2AZTNOn&8yJfV^F}wot+BWdtyj(X&S7RfB^d zoQO^?0jP*M`q6P+6LT;i@tdy_I^i*9%hMq+>oUS=_ zY)6bZ0v91Dy4(orO-WDZg@r3$Y-srC&~++lncVvH>2uKEpMXLx;3zkC*6AFSW-Dlr zAjwIXn}vXcq6}N1ih!@l4bm4<{xWM%sL0>sI?om;u5Gr-e0r!wxaJNy-jnqLau=5m zq)h+s@ZrOM_yNlSfmXC_mQ!TweE?-5bb8_oGgL1ES7{v*CHq*yJ-@y?Tb za4(KA#MQ8g=UrVFPjn=AOs=)43&B6+8_+?tvqSQM?}MrNI~|nV90@T{?ARd|Z-NEX zO$rd0@1CsJa$Z{C;4wa_mT{Grd%a?RD~O+#a180U(7~eQL$m5|hpHrxvXB$D@pOWWh& zAxNJwKacQ9g%Bl4TPJXzGMe6iefu5|zOW%z)hoHToE&nU=}q~=2eadI)fpV#H8-;l zc91^8bD}zewolHAFiL_uW7^66{ltYLXJEj3>5pn+Q~%c^P3KH(YsQl@WZn40Vux*m z3L6?WynAtWD@&hXgrp^o-aV>tgfk(52@neJHAn&}!Us=mjIV~*+KQgO5Q!D_NiGec zrZ@mN9*k2|oFgsB)OIK^bmlv^R8k#8YxgWxX0{3;JC(L%q)$z@i7okDaTJRL2jX6U zG!)i^`Jslo7a7sEB6%O(Z?}{g4=_ija&p6u_LGvTp%rbys8O?C^%?VoGNBcZs)L0;PBC-S$naaoH|9o zs>1m3o9WP;H-nH@w!8R=g8e*MyL}^=`K-$7?NY2kI7;cHB)-ETJ0=L0AuzBQ2wF;q zgbWH>-4VK*ws`ejuxabo+RtNfOIjc`fhwoP?HW_=*V3CNvVN3hQvB?9&xRX-p#OAm zFyQVB0ZE1QOLP$d+N-UpDe=>+1T1o%&y|+sKCPiu$K#Me>kLKLA3FiRMri0P z@r@XkI1Emd=_#CjUFoK(R8kb$pco6nrG5as7(4bn-+D+$Ifs56HUjB@>4XtpNLeOh zXR0`Yn>JKxZE=Nd7It<`9Jr|hAQ452WNAd|@U%~#GV0e6^dKQ&|2i@mS$4&}qy-y2 z8wWO>P9+ZCCT0nDF+u3OV6sZ6yfwI|yGewc3VRp>VwZ1E2L&O}^+_$YQU?y)8cg2D zLyh*CsK~R;1)0!b8R=4^v}`x8d1doW5~@$%=r{3olv7~iPslfsf6^G^I2{yUQ`XDU z!}4@id3{~op!#XMmN9%(SC`$%p_EEI^1^d0JEN z+!;P{qyu8<8`rNBigL@Wwyti}@ZqRE7ja_eFn8iH7aQ~g<)#k{FITl1(;hO%i`*r! zpGY2F&Mj#Ay;;@9Ex%1ICyDR(VcE^r?4Oc_%#kzlq%}{FIwQu(%E=k#odU+hh_fL& zmjws$S$%r}b1ps*HjiV+jv>3l^b?nV+{cG(BY0ch#CqRh3`v~a@h;#;Vj_{)f4T03 zy8nG<1V4+|6eC@PCa}$H?oI)NxQ>A0g4F+@me{x7HoSdnV{3~gKjQ89FCcA2(qz{E zwQ7S6Tr#`0i|v6ja0;f4BXR^Y^Gkezb(gheSAd-n!Xqepc&yx{fRhAUA?<4T2GK>w zZdr%7vbtPQR3Oe}l|i42+?#iUys)4rfkuv+vei2izD1u;*skO&Wje6A1AKTAbhk?} zR##z zT&&}2Mp(eq6Nh+2j*2F%F@G*Z4N>KG$+6|ZnLx!C(|gJV-VeR%R5-_7anqSG56w)( z(VK5IO2exk6(e_W;+op*nhoRV37#uCX(a1wg+A;E^hDejvmj zFl$)LNJ-5jo)D#CtzD36E&1GUR3{IJ6{7G@xyDt+rsgU*kCa@4l}+LJ7$h-S65 zwQ(ge8M*mt+F!8!nci~FD%f=%p87dB3w@UEZ=l=4IrWeZf?~`E%5Ua~CHzWESbpr5 zlg78o;!Iw(?jUScH&I25$Vwr*;XbK{jvPtJ9sM3**cOrDnYYp;G@FXNp3;b3 zG>MKpPoZ$>iRdPWhWdKOcM|#+p3+AkJBH_i$BWYkZ2-~vHn}-V)M~=y;{~msiZohF zya%j2cA6~OupYE>1AYR324|reVv^((BFJURj%&Ms&VZ2yMt){ogh^et_7!!vBGja< zsL;r@j13BU&dwiIy%YaOi^uhr?`_sR#rL}-{(mq}UN0++C!q+r;UpV%8FD26U;^iH zbSX?*#uM|Ua?9(Of`8{Ysc#Eo^b4o zXUuJg#bjG9`zB@*1tjxuj*0kwUtjgtaxZvAEO$3ALjv4um3vrOYHeeq+%iK!)4MBT zz}H{hc+=RJ$UEikuPp7kV3MHc92EMYx~J)|bemG${||?n^C@Dk@-T{%05Bnztm5(u zlE<>SjXN?sVM8fse9DSfU{SAMKdfj#FiRl6l9Ha14|{%hdFere;BoG)5=u%KlaQ@* zy5Z$<+QOMfu=>uKbB``6`YSIGfG-@CZ=%39Wi1fun$g2BT%(;8EU+96va(1U%M+x6 zTpg84Qo9~Uty_Sm0$PnkPx6``ddGu7qF>@sf=i+|LFgA|gKsL_TZwH+Aa|I}$BY5c zYK7$wKd9iw@p`PZr)$BiURVw0&mZdMtF@KRUz%gE+d%vCV1`9R(B)BMET9Qw5nOyC zBP%PE2hJOgIB0DB;%Pm5>EM@POc2J|;lpQ~(jTnlq|O2B#~;aYMVGwMz#S+FNu;S;=dXh;ZZ_TeTM(2b9_WhqX5k=rR5O{hKj^L6RkuYRcFt zTP2kSWfx;tDngq!wC^*vMwYRCLK3ni71E;BmNiR~0=OC#A5SU3v3p1i#V>E5FIc^i!eG@z;(8e zhD6P*5;n;0d`Ji%n3z^XSsl8zk^vI)Y}Gt0wnLcA~ZINK-X zPepx6IAhRc;z#S@h?nIY)(ui(iLSizC?Y_dyG%tmCMRIMat0P<%32Jm_c-_P(%=gxn1M5Fo2 zZUUzecr!XbMBJPosDwH`5Eyf2i<4wgT~p(Cno@M@>6r-y+Y*MBuV;KO5n$LuD6;Y8 z&7R#$7!scu_p`dX3yZ}jTJ-4AJRxEguj|QR1eN4|zMG}sn$Waoy4;6?ESg1*l_%jr zq;vc-Xb?eg%Y#xoE08sh^l0lds_vP=FDHHDuKewH0RMPY)H9Qd{RFqCK=-8>3lIDK z{1f-vLgxPVw#Be2?^_aDbR{cy;}zqOrcbx}UM+g-Sk+a*Ub-pti?rfK%;4A*emBbZ z&1|dxM1A`CCO_eJi$o!5#q@IwAw)Ta+xpbTHV~qHTFia1NxkoE!Fpav?}3E&ncTbnoo=C@%h{G^nU?(Zj$HJ z`Uc!7*LG?V7DwDA!BLnGzX6uMc@B%deR~)G2i3?>XKdmffkMUJyM8jU0?`4K0uu?q zn?b*!MA+_5Cu_bJ=b#nDAm&Tgd;DdTy8eJK{&-V6yT0T}tUxNomSP_NU63i3@lVHaA(g*dJ5|oM^_4&%t@o+4H zI1rlbONT|T$2zud>9BVHHJ}Y!8wVmuT-GKWXn>Sc=k<@80pB`aIu|?wU&L)$rvZ4V z8O9#HY$V6F@$1mGyYOFM?+V{F2sJIA z&Gl;X?(yo*ixk@!(jzHPmV~Gvp{S2RwD4nBDSLJ_M@JOK^{Rhh##tca>UV!JQ+kFn zVM{kC)mfV!Gj2r~yI}Z&gR@TU-31@i_{sUopu`x9u0EUn~wt}W7C6hfbtvJzSRnBVtlz#za z`FUX)tA0Q1vT#nhtZl=MBx$2%2PeG97h76+uT$Wa2CbTGIX&Mm#<`WtGEDsHCJP}c zQ0RLyP-jqSG`hY0ms*4$o>w3FF04pm-Kaqh&!TsY*B-02;qv|OwtgshS@6U)L@#KW zYesEq*cTB+%(T1H_dUy-ij6lDrW! z&9IZ;kd0A*@VCA^yX_bK?F(<2C0KC5n6?JIEh;()^%i~Zemt5SYirrk;da({eI%Bv zJN?n)l|-_5Qf;7qM1tAn5o9M^w<>oj$bQkhFze^dwRKrP6{~IA;i&uhM_-Mct^R_y z|9(^?m$U`4LIhAp4^jmjG{py_=qTP@l*mS=^zGkXP1_&xV%J2AgjB;8iI&rQu*YrP zWzS)Dg4uZZFelC_yoU*DJ1|4o(#Ha)b!kv?bE_8M@pHjF+@}v>%(Z4_l-@!_<~(#~ zNZKg;fNNR=Izn>w-Ma)1L`G6b=D&GE@&LAk*#pUo`RJ?(a7)cA6l9=3TZEt>tP^Nx zV0qvRIpgk6ji88EBfJ`D=itG9sGv9Z>wRL;aOiH2jr(UwKh3%$H>1Cdw1SBt~-~6_A7n+e$FBFc6O%k2nkO-j8Kbda)PIp`AA{-w8l5kH;8Ws{fHy0 zSe|Hd_zH?5CelD(5Wfz|efrd?P{36rxXKBYPXPNoKkf^hVOTKl$b=67umB;5YJ^c| z7)wc#hbf}sCpb(P#t9Og1409q$882)ps5lvZs>S`+pQ_uAuMhE>KGo$zSpAlhu^@1 z1}F&SR9s#zKVZNLrXh?y#M?rjw07(vRua^aFpL4Fe5b5N6jfVms#PB;sl#(l|K~qa z5t&C09a0}Xdh}3&d*IStHy0}-Dx2_3-#s>>*1phu>1JDv zD|6gyo?U1@*hfbCm|Us;=j-dePL^jh%bVW~9PJ_RXVjIc#JotR0gijI1z0a4v*}Zz zb`qIkRG3fhI3-pDkcUpJ6>q1wdFkJ7)7L+&I7KYi!~xwSGQo5RY%qf0*?gAAXWqPK z%pWAon57*2fL!5#pC9mk9X5EfFL_=g22nV>3SVHayMChRhrp&1> zEL;jHvTt7m2;+#w=}hj!2?&i$;R|ez?&x#G6co#}mNBx|tyDYx_#+QvenA1{vMVL` zrk;2RV~{p6ROHZ{XOAC`W)2)g-Pl7UlAs%bTpTfiJ&=0n{@uH%<)ML5PxG)d^eZgv zA>I+M^rHt3sK7sQ{z8xZq_B1C43W#m#IV4wVe2P1om=cQZ<)K47iw<6K8| zU-~G&DK)HXuA+XV;>h{EB;WX{D!d8%Q(<-G;nc7%-AK$NVbuK2(?LP2LD(rkGW7ji z{O$|dmluokUTnZ-Mjz#7kRoJjP?>o07XVSam#q4F>Dzy0r!{=!NF?N#!CG7wvkePu zlNzhhXK@3$S|t7?7?r!-yA!b&w2v7s>!88z-o4BIgI1JzaSTm`-sv@kp)Oc@k4|)$ zrQ|1Ju(*{*XXf1p3iiwTp*>y+lB6E5K-xFPWdqicmU{cO{Y3C*sO3(BAkGnc0!*Xw zS`aMQ4qHY7(2by&!lh|{w+2Kk1QXwb;D?wMN(wsW=0%Tt zDNJ}X2|rczyU&O_2nZ>ip9KR7tc6ZC<;1kwg8$01QR$&NC$ohCSnQ$vj%9n zK3y}Gj5zEnA23-+PC#={o{ryqVGeiQGKn-ht zx(9r(_=`rK5%m1g^E`NVNd9NuilCHzZWYA?MEE@FySQvQIA}@9mm97KJ?iyhdmL>) zDd1Wtw4aDl20`#I`2@J|oTL@=44=GxW78DgGX0tDuF9uUYToQWlLrcec{lffXq1a} zhRS|&-YA?js^+a9Ti<#6&$T`2=Ainf$8`}CYw~JW#Q#{F_b<@guz`U#;P-{rdi$(~%i@v;aA z%X~a))A{nB1dy-w&0US$@i19z+H`CmQzf*1N$9UZE)B}D&orlyAAzfYUrzi5kV{En zVT~Y_V?_#MQw8?&TO0o4H|Nd`SGWoHF`)ZxujU#rNW3lzi0oG&*Or!^ICLWyaEcG; z>f|`T{rlIfU0dgP$QEgfxjBV^)D*_%#fOJ040De9-e<*rwCMl!Rvaldu7Y`bp?4~JDaiL2>)Cyd zzU`|jyOb)#rp?6w!twwvB45viv?d_J-n|Jg*zfNjhxA|Yi z?sE(z^>{is^}B3AL9rT=gXJvtFVu$mOvds<4C}H9p`Kf}o^S~?wuHRcYfjP)_ zR$!CIm;8u;7v|UL`Ky-lLVoJn)qt!ZKm)|C9PUUl7}?Gd12^Bv;Skd%AOm@2U(mqK z2yf^f2svSlE~CT#h6WDYcbDle<4C6t3sbV~Z**g8H^a7Y@UXcV>;38ky+BsX2T*I- z(kVCDm4#8sjC#qv#=}G&Qyo0LTx<@$WNlA(c9I*XQLcc)0D;*}5Jqsbe`86OkqMbU zG;z<{-&1=bb;1d(aFZRJ0vm*`2e}>as6gfx*LXFXd+;1XQ;>#l`d@0bsc|W8*+82B zaKbb$s(M2uVcw{O?8Nay(YszEIJ2k>#&OdVGH@>ITd!Un1WFXVi1$J86^t4BF*Nz$ z)&gP$z1Au{JGEe#Ks2IdxO{o&fmy+aVy>;Eat-B%LbO9QcraLvPb*^6PBlYETm^O^0Gy6Abqc!1C#Ezl^Z;upi?!iwY7mp*M z^Gl65LVW@KC{lA%*l($8nZ8UZVBM5x3H27Tgqb*`16b>B z34t4QT-l4r*`1m7fu$XV-$<$1#8es6u5_%N>rZTLoJ5Rh)PxabsK2=0XaoN z)iVRgYaw#;=~a*Uq_R|Ah?DS_!V8b|3DA+JfS!qsg=h*21Hek)<@h2r7iRJb%~mFxw6&@T!4hf%dSxuqQ~g}Bu5xx9Wh68hK4=$2+FByY1(l%>w(%rNYr)k6u+Gtg zIjbCcf->vO=Lu!w$J;;G%X;E>8A&Bvh=4L;>g6Lr`BcCC>gcCeIkA2SY}#Zb9G3rA z^w{MWd#2j0Hb4hx|JT8TwZwJpuo?4TH~#ZqC~UsAQW$e)zO)U7dS5p!>Ha4M0t)ib zz~;I@8hJOi1(H-Jp!eX(#^)X~$^v$ig!nBpc- zbwdg*T(+zheS$=n;IOc!)ZL!;2(fCas*ton0}|;VtLZ%7HQnw@Gahc)LZMBhZhZC1 z1ey7GX=+8(qG}jKzEEf^7L?C)j5I^S;QK|3o~l*%5}US-*5vM*C+okVE%fjpg90Bb zIfa>oc0!h&IdzJwVnMtzeddEZcb+52FE_ZB(5>Ut*2C5UO$)1t2=y~_{RcnjelPw> z8QQ$e%*;&!bYG97nR8H3o$64V6TSvBrYSd%Aj@=1CR*hrPYkeuY(amGM1VNmLn`a= zf%?_#P1q{lKen6NNh}u|{tbBhdgE942{#r3Dh|g!UhHOq)Q#!zgj8o#MN_wRZ_My& z%%JM*`}azT{0){r@r$U6Vx7v36mC*~3z9T;CrTzZIb=-#XutJ4ztmd${QHhSc6Xo= z=g31>ko5812+o*(FZDro{@*FGgtr=9R>-%=H*z$~Z?``{vNVbc3yD0)&CKkNms-Wh z7~YjbNf4lI%^^12&rf2O-prZmNHA}_{LA&R$SNxE)0-g!*L06-Kz!Y}Xjo63Y8hPk&hRg4Ze-AqmYhkO9~aw$7d%;nf{tKZ$5TBLjG9Ruao;0q%>es) z2mbL@qONd5s0$E9@k(7#a|+W~5uNVdzFm+FapBn;C>Tzbr2sS%MZ_KG(yiN(v1_;6 z+kmHz2#?>({BUZ!Z&oS_o6Cny-KjZ3IPMmRiokP_fk`gG*$Ehi=Stxw;?7e_6$1%| zK*-mUtAzSLHy9Zfh;%8E%Fezr3tCL(cEL4r_{nd?|0e8Qj#|FFrF z0*dp@U~oMk9n0f zHS-t|3&;#MiIHaGh7BA@>^L?MpkNx4hlu-}|85!kdW?rGlR$i~5{!fDf z_C{zi`vX5M$gKnQL}*4JCOrsujnL^%ojRqN$mOaI-dBu}s&V*Fi0y=HivT_2;Qw}& zkA55Wr&0w?Y>l%f?{A9F@(5FuaY)H^rE_`xULP&TjQSnw5~{ zYV9=ITbcCB{vEb~L{hY6G*p{zQNeKcj$Ol~x^voV4Q$h=mW04IZWB*B{1*kY-~B!V z2Dl&iQ6k?lj>p?Riv%9-}+qp!i}!A?J7Kod>dpPW#-F;={SX8Zl3q_;>7M_#DKI5` z#M})`aU|?eVY8@|l)v4KMhD#`q;_);YEUFM#^sK!zkP?||BwR{lWLFL1|#tEU^Lrw zz+R<9h^mT!+B_t}wnq0O$Buv!hd$%3=ld#qc5-!fC7S}(ABuv`oon@nSDJc`vgpZ$ zUc9)EjLeA5XonG3Q1Ii=K7W2rXGs|u19VRgM_SvHypG2PV6*zSkGzsq|EDC?1(i!b)q4ghw9o-Zk1B=sm$tdM z3?V38jezk`nNoQNFFL2}RL7=}==5vo5{cm-zW}5D?i)8o2u5&F!6$3RG6GHS%mdRj z%Scc^&J}<)vMV=C48Ts~XR{JbClwvYXR7&ry(?g42sOq_&u#HxRhizpeH#&8v?x0@ zm3NJbhYneYVxA&Iuv4ky)mpbMuK2V+kmRX}g0pJ%>PY?2-jU89Ob*QI)3c{A)Z+Kw zzvCv6oAd7Zm~xL+uplpXn%@^T_8XU4?GJR-bh4CUR721j#2j^2;8&xyMt*h_8#}-Z zLg&p}81jZ`d#}HLNUC|q2Z?lZn@og}))bon8Js>Kae_7AAqDQtnOAsa`uZ;@^dU%^ zp3GJj4;=!VW2H(%QGupz8Q2Z~xNREz!pvlNVamCWf@;64OitR!z@UL#bWAGvqF_yt zdL}|~8JB&`B^|H)G;CUK-9x92eaL&n@}4hRn`0XBlLA`sX+i4PpRgmPTaHpvqMs$a z6yg_ib$Ix^&?WL(uHzYQqU6_H5!j4XX_t==Aw7pRT{eJudU`gY*hX805L?LMeSn2; z@zCB_?>Kiz^$!aUMkIm!tDizMC$JFqPAtIo?LxfZsOYS{1ody8K%fDuY1C$5Uc#6K zh={2>?9t^hue%Ezq@Z$QoJDclT$Y$I0xP2O7E+TkkwUsbP0}V(f498$B(ALT`Z8)r z6ym_=M7lx2F^!izQ$qOkLxn(kTU)>XSVX=M@&Il=zJ}O^J4p>uRTBGe&F{~fClF|G zK>D54E3|Ens0idf4$xjvke>Wg0t=4>&f8QzbwD zIj5=B86LFbFXhce<>ictNwOV#h+58xGm-$0AUfGIX9`dI+w`0Q9QN$l5{@t?yZ`o^ z5CXx`{*wYaJy$n3ItKK7ehq4^Pv6zZO(3^nzp46LqhrjSAJanqH})KYXA{XJS-@;8 z!sI~?Zd{^l*zjV@moMjG_;bqf&Vp9!EXlC@k8k2%F@ObP3Fj=W5Brx2#M?HG4G;pN zIJ|+@Y*gfO7%>sWG^iC<5YCURwsL_G5kg_f#+_mKy=UzW`7R1H@BiUZ5~}-y8ct!% z3?>=?AF9?mpnqmDFw<1Pe2{?IXO3Oass&&vJU+{QJ6V*Dk6pZ`qJj;OYEEhj!Z$?P z?xXy)t@Z%=E!~LyC2~JTsh<~*KpQjsfT+|48AQK+g0k)MC0K@Ee!2Pj!zTb}`EjOm zNGvCR6I4lUI2KSv#S@IHu!(kZaG2>gdP?GgVBG3}sZ$6p_aW~iB>hENS`aXr^v=r* zI)7lgV+M{%mMpjy`wzKnT;`S#;nY?KyO>>vWA`<^F~;S1;@xGt6F4;ku037&XJ}?T z5ip9Onk~>tm(HEv9~C`)+Izr&0f=e^*Ae#=%{kVqpr9Kz(a^BEIy%sJaoI{jcL1m| z#fSbyJ>Vfpq&#CY)g9v+n^%|TygqThqPaQAwBO2U{ocH>o1vrm^N&Xr=8XSQS2R{- z$ zn%WIGSl2ivSHf88@r9=!-p4dMd`QdzY>w}!++=4{arooM4SoCi9Xs~3C~lMNcDSfb z*B&S8f#ZQya|Bsf1h+VV&rdndPI;T68_vpL>CzhX0k!q@QAueJeMxM@_*1>MAo|0g z)}{TA(bjfdsFIBx75sDF{@)vZ(N72Scgoo%5qd;RrEsXfWLR z?vk_F@bu;Y!`FFvkDK;S3u1ULJI|%k>98;P`6?dum8cVVycw1)*?;uPUqww+<&0VT znIY=LI6?7f0v_%x@fEy)>(+%ZrCNHY;)!%i76U{CXA1GV>(^WOPbh!;mi?7f6V67= zi+r!O?3at+?H2GP=Q}aYV|oD-aU3?DD;4G;_1^P2BK+p<+stUchjQg1E$HHSn(W+`4DH5Cm+%Zzif#lw4dO+AJd&R#4?LcR!lpO4So zHM8c-fg70Q%$&PTopeubl$5kEzHM@mBw~dL6PD@JSC=vhz)BIWwe+Oc!1W6 zyGutBWt$>Qe=F3LET$313}o$f;9K=JZ_xQKfF^F>T2s?!>FFMfNQg=%k)A3V^%167 zcSO2K@>5fP(*ZE$xYGzMUEv5kM8`$3P6LG&Pw-=M#KEfofsvwAOCU2FCgX7&yDx-{ z^Yc@~-vR8)5yyNRC#CdBJ4&yY^==*$t*mH07Yyl{`Wl|8ZGYC0UZI0aj9cKe7Z-_& zsw$a-U}X^;A{fV^DA;f4`9UZ*IykV?l&-^;7<1){xSS@#;GnFD@h!Jrb#WQg47ZrA zkrENUfoV_4Ce$U{edw!D4w3W$V}i)?t^GujJrtpcIWb*a912^FO=2oPh<9gIq7Geifz(XY~2RS`fs=K)OvR|y2kfTs@kpW z0!=j`dYo=NE8Zo-M=)qin+6CK6`D0TY8pqWYGz%#hQX#$$VSFrJbZX86cfBSPMClrM*vy4go$Xq{=5U= zgL+0l`=jn-_Cb0Id4<~&EYzty2Uf>jvUt9btWFVZ?SOdvJ;l|FUDmUZ;w)Tzux>Xks;Xt=i|%HaMY+7&{(wc~&cnc5yqGEy z#We;)UE&^=*^CB(O%<}Ew6BJrrTl4)WZS8hsJ z*r$^%Bcqg`B%V$+r`DhlavOn(a|{-F26_;(yEr7>x`Yay*&?nyz1G?+@u1Y_P_I#$ zmBI)R>OF9)IIq6i-8QzJnNC-=K82p+I3;pIhk^`#VcGKKnNb`3FRN^Da7f5BS`t#l z^F=4djt$2Au4xMyKWu0S4%XY-GuLJP#*HOZf-u_5#QaNPs!h{i@3<`sf|<+_^%_}S zWT+@ntHDiKm_z1NcBDn|&w@bZqHUM=D~K)GgXCo| z*#QG4#)m#%yQkWLgAS1rM_}o7;7uWj3jQWa`R22dDn#W(?e&%fYIF;_h$O1QgdOek zu^16iA>sMmx9%$s%ddWvc6>}6iR#gDnT2+GLa8vYhC~0tI7Zync{xmQcr96>_=RH(T2msXk>cbiw8~h{1ihEMW1?X@}?JwKQV^N1(1yc6LaN` zUAv_AaMn`DUWtpthe|d)t{~hHJ~N0x@exQcPVcA#OnKeBb!+#2qkq-m5rFGQyN22h z{eTgoi2nW6=?|4|Ak*L^***gS2aWPbsrwKrY~lz6XzgA|laq1Tq5Q}~9dr%u9v(cm zqTz^jxcHI!rElImje7p%$pU?S%kk2XiC}5Egt{SZKyblM)X>ntG&Dw8Ny1R!1!k{g z1F^BO>A30m*|R>wDq_x5m1Q?TVD#_bAHdO&&Q07Ay$0IYYKi?m*g+^ieD9D!tiwii z>%jwSstOkQsG&n~U6ra4tuKU|$H!-3yc;<12KYvG&GAh#eI+H8m6d&y3BBmUmI)Zk zqUa{0n!)?`w{%0!V9*`fq=1Y*U6P3$;1b8i-&->lMTy?=`B??_t^Y4eVU}B`zkqNt zaWH4h)Xa=QuG)gCMfc{)(K`mHe`Nk3&`<5%d7ey*c*4>K^+4b9ieM#qRjXy}Vp!q% zgR)}O%rxPoW}R5Cm zRB<>B9yEwtoQ;CW1kh*!4#|v?bjvDoi%@@4eiD-8NdkyqG^u;!#a?CYCy;PRX@z^|=DeuC(y9*hfun-z*@gH;CX)mvUZ$trVfr%u}*u7cHs=6(P22CC^X zfP#SY*p8Xv$uQF<2V|F_zlq|04A{u7ib~y%%1QQ~kaf-Jfb5BZ%~1#Fi@>;W0P+KQ zBKY|P3SsVLH$li;_{O^=jk!$OW(p5HHEUoXXJ{Q3-`NNYv|r29U2@5H$A26fmx!Ax!bmE ziL~x4A;H~^$+V&;Rz$yoXMLpxUB4QMF(rLcEh8~jS{Ve;QUqd9MUlsWCa2|Uzioz) z)<4EXhdoOqYiP@u%|hI6SFZT|+vD4Ir+?Kc+dHg+Hx{+(0jMaVvb*>0O+-;eYO{5} zN+y2-)6>KN@}M~&5JB*-vxoBPO8T%1m!*ef0Pawr17LtCF`$j4IWRTdn=L_W!t+ZT z(chGIPI0WsO&?Y%K3R61KmPchSXY;gg-2kX0mibglyE?zSriS zG$*2YMr>x@y&K%v)Y2`U2OL3sk7SKHl--%6^|H$E%k)_u(HHa^#*_u9Pncj|m)%os zF>2m7bPV|aTyy7!&L28)Y0-schK3B(I@kvDwOx&We&KmA&g9-F>SYZ2Z(qGyuzY#& z{GnWjNPTPOSe3qG2xN+Bh4*(IP;ZkUhmk$fB)JR9oi%su{HdN^tTBx9pkczH5y+m&p%U#lMa{b$%_ow>_51EtuHJrd&S~oK z%%-RRe7FDg=d6*Z5<2+!2mwCGS>vv)tOXsVMHO*DkhGbtS@Z5iWC+zTs47t%IafBC z0o6i{l{2LQu#_8k*|4mrXs99(3&^{*FPIAmf)M?JzES5Ff_8wzl$C9P^5{l+5UohW zU4QPsJJ>55gC43=vgw`#3MWJ6Ru$(gVdcx0AIh|v1RACvYGYwR`6Z+2d|_J9u$Hq? z5le~g$>YZr06Ae9SUN;S!4S}Y?l{=#-Sz6wKH8_J@GOBrhTi)ZPu0}~-Pdn^R(z15 zpX4;ePI>G>echYMnJ?X(T3fdFtF!tnEI@fD7+PPxyvW6k&h<3VIgK`f`E%SI{A8rN z3T}hY=$wy0xp=E9D!O*=ybLC(#f+)Qf0U#eLDtV^BcjPI6*&RlQZjew*sTY`o4`IJ zmhjSVGkuw)CVk)nW@8opVy&Y4&2CU6EvvraW>myRObH_tDFJE9GUAL4e8G2q3!271 zuE~yd0M^;QbEoXsHUDV7D9|%AkzJK$T}fLrR%qFf05pS_lhubNWmF>q-+%dVnxedP zh-9!utZDhrSFL{&t?4OgyVT6BQ)|VURoEMRSEFHCLV~f*uEa5A{~01QhrB)Sp34(R5BI(cKUm8$-9?{QhX-5!>@9k$u#He!@r#;b2; zv}c85bl?Op4ftM6PN$~QIB!tN#@$Clns1DgnAaseQ=_Y0N$JB-&yBY;Q#)ujk9E6{ z5Yc)`%FND{=WaMtNnlTf$+px|@P&-HPj1swe0>lxTHlQKVMM%e=F7k{Ys@(W>`EO>VQ{sD%aVjVI2ZKSc4j4xY6- zZ9b;h8%+xfaQ(j&AozzhRqx*~LyR6!-gf;wCH}b5*{NZx)H}|)4R#!_;U3L=tP*v3^^tQ~GTxSXBncYIGONGkW#9Ky&RuTi@jRXj|XXfFEO$Cq3WzFw4@z^`NbCXhgf~ zxv@I%-!|)*X!pjd4ETSlYsI}F#Yh%`v_u-c`3;xef4C~A*WJQwU9-pKl$_<>1_izY z*LLb+X?R3dN;4-TXL;)@uF*c->KSYOtJcpp*QxHFg&8&wB>Rc{*q(a?CPpY*QJFD+ zNx^M;2eGVit`-5ghnp@eP-xz#|7q>SO$F<(p~b}O%Z{O z?_3)IN&)9KCPaX30J@akrtbs&q-mIaqIG|3{V6SF=QiGWotClLoQG*iQG>kr zhR-*lY5cg6lU}u4!Oy=&bLgUK)B;YssIoeDHct{@Rb0F!rI>)gWekrJnXWfy&Jkw5 z^CrX1Ct`N2R>uY66x+%rxqMK zaKM3KD1a1zu3)5;?++L&r7A*zk3TvAY#ZGrbcf;sf@KK+SEPj{%;znSdBZLsb@X$R zd${h{#-Zw91EM03_d@-a-oA$#7}Fk@D}$2oGr$%wWHZUj>(m0~)(%#r_@UcF6CjKk z)DLxfwYYVGeSQCYbs<`a|KO!VciScjY#};mjX~dwWr?!fCMX4Hu6(%qyG~u-cJK4d zFy4J}uDNC6Gt2T7S9h8p8Q`9Eq%k}Fw+`{_3hA>;tjcx1{Alk^-4_;o_k7#6mC!sf zz||ZKGPdy-%~MYZ)S(dWD;NbDM7d!G(Pbp~%8WOE40^(u!#qWF)8vmMgo4sQJ_O9I ztOy*1V3yY?Xyd>H*RdQh-sd8qp?)BO{tTYbCrFv z`UATLQ7ce;k@^X&RmvBkUc>B#T9xEg>shn5`}>Qi7(`_Dk%WRXKrQ>kHiBh94E}7pg!VdS;4XaT5DnLrM7ni$+#ehMkwYfD}~ptnbKWb_ug7 zQqeVOYH4BmpbFAigL{u26TvyS_h&^@jDBcha=7H**3FkcTs5?y6cJobU6teWN=rv6 z;?l#S=RsiOwB2&n<>u}Fm*&v@)!pq3gneE`1+qujah%M80DoEER@59ARn#0-F|{E)b3JR!|FUVYG``EF4J1u3; zJz&RC=;`=46?aU7z+DN2Cgt8@*D7 z71#rfJ?l*~C!jni;8TArbRx$*) zDze@cS>RHHyP2l+lguPQm)+Ca3!@NNLfrY>$-279>>X4Ujo{X(QOd^m+=EKg3v_|@ zBnLX)`V`~{8-Pdt_3Kl7lTR!O5uG+|p%Ou=Ad*E{E)kh4$mQL)k8xI8FpfwL8!@8S z9`u@kWn}abpNKyN)+Q>hLzw~_(<9W>fIlP_3T#qosVq`nMN(SXF$t-L zd55%NTzM9RoLyQh_!o5rg=wA~KA$V*&`EQR~UJ}r4@yu|`I zCX~JJWbwdljBTp@8EKo}lCKnMD!#>x9Zbmp-h99s5=V1#C=dPe~VPl3o;#^=1Htcr|bP-Tn zWNfVdsRecQ^`0QJlp?ZkjjwD-hK%#Lz`NrcNYh=1G9%ln5?vVH)#hlU@TDQ?a38x_ z^uvbz)UDe)yZbEiW^g#uhes?v&$2}I!v|Y_JG5;-rxu4&3)*%MT#5deUuk;!uQ@+z{#+K?Nxt>ExBKi}UWJU4ggxO20Uc*ag?lxI z_{4wuc)$ALk75!%M8+$jzgj=Mv(LVhCAK{%6(!!EcbH+$W3Ib~9TkBUGkbK1B1ko- zAFZMWW6$*=v8s+PzULmEEuHDphk#KP6iD^%O^K&eA`B{eo4$_!4SNPqh*WaKlJiCL zn|X4HtCUr;2ju_>uaOCuS6btD-~f`#2M5Q1=?#QEq@t#tY2R@hO6kchNzSO{_u9&^;s2x#WEwRC;gZ&CIXV(qCH-;b*KC{LhF+E z*F{ObrMPn>^^l_xGDblWcmT>5L^n!am+j}K;{{Noz6`zwJkgJ`S`H&b>UHK?58T0E zD#VtaU33nX6$#P9D&(0HjZtM;?}^Qv5t0r8|9lrh$Th0|TAG@%6`lX$j)r-r+CQVAbVZv^YT=3oAb{K|t zr@!vydgxY|gj zMOtfekvxbRsCzme3K0reHZx52E(X^q2?e<}J2i+|(WOK`zYOs|93oONGz;)8v4fnb zyWs=5O!}dY2n{GyqOKa|B>Mc&vEwdjmA5n}#0K&V(Kq0hz)A++NM;_75A-zu#9{DR z;lPQ)p)kFsJlA$~KU5Q_I&4anzxgzX#bhit9wS>DR&Dp2M}B@t{fN`18$%L$Wl#UZ z>q@0TgnOK^&Z4wt&9|kE&1PC_UN&ppn)_tJ#3I_REZQzjdHFY`uM57mU0iGLxWg?c zL||#cry$!MaSvRYHnnbiz4mah!v>7RV4)+7Z6H*W^D{FF@}~tHYaTNu>EcC*Wygrb zyKC;xn~en&%@Ovajz-GEF)tDq1M?YAq3uTdrp^WSaw_Mn$o;9 z2}j#gKbGlh&iZ=e+rF|Jl0N?MGdazqadGF;pM***?BFDGYRZYJu8rEg>g%pltluD( z(FgJJp+gq!o}vpf={2?&<=Of~J}#2|$D7Z$vU&%d1m#T+UQeGCYV8jjT(~aD>85)_ zJ#h~zDv>ub0hZ`O<8q6(?L63bPxpbZ-RM+Y=81gj9yY9(U^0VXyL}gMqAPdO9|%5S zp_s%Ea^DJqi;?Z#`>9f{XH=bjNWvyD?IX#+&9&yJeN7Ec{kKD)C47uBGl5&fGDHbn2eB zWVF#b4~K<0duMhqou;{_{7XEq@It-gcA z%&7Exu}~W5J8rRCauuoGaA@B|Dv2tq{FTfII3i&R6SA zxbz^~iNSXdnJ9#uGJef^V5sfFzGB(eD%xztZ5M#)nD>S>%=QnDe4+89ok71jp@9R2 zMmn`C>8@t$lK&YOVf$3nK(#FM+Ge9%UXz*IVg0D)`c5mD#s<6VwJcZOG1Rg?aEqCI zZR)$Kyl+4`S3}W0qVhH?@13#OBe^nV+wGCr4MpSalsC*D9+lKPQvhgw7AsT4>Vwp- zTJLMu5cgZAhS+=Wx9{~zsqSf>lWJf2BAG;0Bn+}Z*Jf=d^iI=tbmpLw{Lf|BoI*$* z2))!*+0XKYNq`MjQK`?PMf`0BI}4q+yz$#M8C6Agl)M+-`=b+mv@!+mIKhKP}~T(=*G9a zUoWtjUEj}_nB?crQ6(vCKd6tiF&ePkX6R6e6J6R|lGL=0C8fB5tx5>m6(ZLvE8`c3 z;*Jw!aiZ)~8u;g;tujqi{ZSIUkU}Fv(@VWh8V2;+2t|@2nH99b$!RwO{fg}cxdvHB zA?MC9#7@)v@iE>$W0)jS?h7F?)~Xcef0NT3#ak>nQ%_H7513N5rd|4To}0)pW++O5VH-c4r|MrwT=I9i^u?ORWXh) z+Dgy}@Qxva2b0BPq=QfazmaI(A!RCeC8b?|{wcW!Z9n-&0%bt+pygWmzOpjq{{0Hr zrQ9Sh5<^-<`B+Y8c zkfB41^qNkStttNPQ=r81a9F0s^~M`%$umQi1cZ;v*=xD0`}V{frL|SJmiR{AxVAVV ze@UO_52wn0s-Lzmq5V-(ra0$Nr+2SOX#voi9;?|$T3YbYWtE9#l#Hci6lK3CK!d<4 z10SY);fZ;Hsoe*({Rm1Cluy~&T3m)nlW>%(|NL_vLqt3X3Jz@kWJU%*)U3b1!9oTC znNwoA;R|4{bIVjy75CcrROnHWF(mW=ypfTF(1Bd8E4-A#151stk33+tAU-w|Rs1)S zt1xxzcoh|33FI3d%u$5kx?H;A!ph0p4Elj~gHIu0CI$=%H`)l~!*B}TedPDhUkbX^i^~vJ2$A`cg5;Un4{Ree)m-NdX?*!OZ#zi}>^^<(HYwyPC|{)Z zfOatI5dhp_*LsjrIGRZPQHuKp&&7hm6+_8M2AvM&#EYyf_XLCYH8pJcbPg0mPWJZh zMaQ?rx9IgCBZS%3f>QSAx*T^-Q+rMJOQg>$=arM@%`KesM6>Qza^smQGc2j4h8ZHEfw86Cgm6SAT#;m$bpXbAD44`kYA}EVJRBY`-@OA2 z!^E~tN@$Z@tIqlQ&R)Cr6b2_CoKFtj89g;*$ZbdW;wOV5GT*&?xys)|SutRpV-IY? zWm)R%+XDt5N`FXhJ1P#O!E_vk@y^16Z;^>U3psJ(x?>h~z`}*E2{X&fJGQ9lc3)5X za<;*?VZYBE<0&E>tR~7{(1dK%LNCOO0BF7(^Mo~p3jqc z8Zv!>UZl^^K0Rg5$rQcTUy^%d;j_`d94m}Avy9EkTKIaxn9CW#UB!FJr{*tSp}uHY z##*scQ^pLNqxNgz0{wN1hWAnHELCBrJiSx$<4IbxEq6|TlK`c28S_g9W)Nbr)yi{~EIbivRN5VvUY zV$>Z-YxHyg_Sj?)-o?%#$!(+}1k6lA-NV8ddu6S?gv~NDBO@A2AN_ksI%(BtEt(n| zMjW{JKgd;`kKs5G0+c8)$-;q|b`iZIoP|T9CS}|scjj5K4GMGFKZ_zq+ZR2i>n0?2 z4oO@<8*Jc&UVSPFPYO#lKRqunXRR-JEy8eFFGPxTL^pW&t7$+9?G#KaFK#`+aM?tD zpx{#>DlW&P#t@YVy`NG@pB9~LcjKRhw8VgbQHnv+cJ|zZjD*$D0!-n}y?u*KQpA;tl zPQ9@BRi$W1N2$d!R-0Z2b#&E}FSGR@n>2h<<%gB!@!Ll{+VQ@xWT#V#4O6E2`8(J= zO!6?vJ5V5HHhrz$@*7pBQ<7xlC#pUl(QNX1$NO!)yIipvZ>)T9-=-&%gF9Egm3;Tw zwQ_}r-`zN?RdE5Yq*q%9&D6;`BK734mFl5U6({Q5FBE3gug({i;nDpIvppZxO?=%P zoM~^p-l{oJw_53}<$~dT9_=n^DA*O@rdOi1Vt`s=t@+%bV)uX#cNID$g;=@PHQ&D? zp7iV2w<`ATDoPPn7q`p`ohS1)sM1i-R+VHhmH~E``>CU=n?Mq)K>SfY1MDX?H`+?p z0a3wgjfYlXoFB9RtpTE1VZysmzKBZ`NSOSODrq;O!N-C)JE=ZB+=^dJxADqXnRH5r zLyuLL)>6owI@ z-UL~Mr?7c`K>-Ze@rq9ia7D}s2unQH8q6^yhe=7Ig{C^=I2vV~2oFazjvyIi6NJT~ zV2^XDFvSI#sBe%5Rlt=3vq1H?d-v{S6Arard!U%8=b$>syoPb2Eu*T8dH_uXA)K4w z7ER@b&=LnU?(eL`Epz>JC)$3ag%T61+4gI=Tu>)xkc?ZZ-#0nU>$qDk&n01bsp8mk zNrkLuuTKSW;SnL1Ez|pUogQ0b7rWl~e1%`LTf?Cek7Z*N@2s}EkP$cYN71F>35Efa z8uIVR{NP_zvm>zEhr0ST`K&!P|M-M`eWi^u4`!HLOjIBBrtX7BlKSFw1xvqV>#5bE zYM?9YrQ((A17tHB4gR7lT6;~O=-6#%QhhSQC37ONQ(i-DWsTC7wf(OmSBP<4oci!&?11SY#ss=&BW7L zr?``8ON~89;o8Ve;8{ob4u%Y$gU>Ph7^cQq6c2Of5*xN0RU^xlP=<;22zrZ6uP-%n zSqp864*96w8G{QeuT>pB{Gfnr0vA`;g8Y2o@)m5LBN=_GiZn4FGgx*g5R*;t>E-Tr zmHgf9F)xzgH7fh=z9}xwjEVv3$o*8H_SxPNb%3E*o35>l)E5noZ)UW)Gtwnme`qP) zlT>-Ag)asi{wx+QT^71TI1f<#6M3h4$}o5lQs2uh(48<*0=5<<1)T^9j+Cd?`NUI1 zZMrS*6>mM~6K!T(yl>Pq#aD0NPGmwvD~d;H?*m2g|4nK9Zf@e$c6X%h%RD)|#D^2= z9!>u~!Btb`<{4XMzdat=D5`8Oc+IelmhyG5_1x(*-pHCGS9|T*@|_0mZl??Mee+$- zrZz@Og*@-_Ox5uI$b|8lj}tVm*{A|b>XpnLB_&x`J;&PWY?!ff-`A1Ps(-VcA74@0 ztt4%s!mHE2X{o8s*EzCiR%FnIW4lXIH&#i7d}`S8zA-mlcG!70hct_{D&uxYvsl?E z$ORV+F#gvyIe-cZOeNL7sG7S}w2&nScJH1?!9y{M;hd5SASed$F0q~c`wxSJNH-sU zlpV37A@e^~T`SFZP8+Bw2wQa5z!l5J658uDZj~A%Q$@8_Ftn%_s?Q*JVRu4>4*s$S z$q94-^*p)e#sgv`P=4_7srg;DoBRI!g!0B*t=n@3_Zre^@64Y!|I*`x_kh(sdj3A+ zq>`k{kHJzOE}Shr;g+<JK|ET`tt6BXUy^*G*o@> z4?70z{i|Y?Y3D;J#Dt}2dSzKVI`&i?-tR(Sjq%d3hSqY~8wR1O6$?$iU_wgHxxr-S&20TvgjT z`Al6t-TzF^O^RQU_EK)`#d9BC zneU!qFeg?iJU2biK$w2UT}Sf^1$Qph9E%Uuq#Uni56Pc8 zZbGI^U>n4xpT;2UaSZiYbepG_uHnYKKeuoHSm)khT+kxtEgfTTN#qiviV7`Vu9B{Z z?_d?7?C6@`A?64SRUMhP{Yr+ndtqO{oOD|&`qt?oy63$L*A#Ejlgzwi6IO4I(cV}m zWoy!;o^rM-!JAyS-R^l}wr|7{8^=HIEHZdL)HhrwEm>~e*-6*WClyuu-bvZ)KTUZ~ z)3b-3`+p2v7q9YW(Lz6;l$n>e&q&j?^)YfAq8%fOX9;e-eOi!-Zh<5%vd6yzJbQ!<~w9kI27cEKKUQlsNCe+MeOvRuz76FgMO^ip#*<3z8tR)H z5-fTt&Xq{{(?7sDt!RsjTZ7rW%cpN1RF3{t=b6&MgBog{`=@$c_@($i&a(^lpS69o zQ#m~8Y2JYPv$aEC-e@fBKix07d|T$sjYF0XxqYztcB938v&`6d&wWM>Dbc61w1+4S zPw63J^K|GFyY-jNp0vXjV}38X6)W~zZ{0eP@lN@Ef;a)$2~_w~C{=7758I8)mt> z)^jr_;vyw8?rH~#v%d{o(oa&7%Ph$HD0-L?ff)_7L;Om(@)1oQ)c{_K13qZo6V8^y{{L z#^?$9-v!7uM~LPn*n7RGu8OXz?J&q8VBd)cLA|T}=4mWBwR?9|zoVa~X66r1YIyd% zS}FJ8-h!l~1G;tZf5f_^saY;C=r61~r{zcLxmL?B&{&b^v`ek`5>faw<#rMr?~A8? znBF|?YHmt%@hZu>+AX>nF-MON=sq2>r?HKCV#00bln?)Gycy59Ka$q;Qla>U6f5zq-n%euK?<%il|+ zY}-G!tq*}(EGR#n(r$-7ey1kga+un6+}mywccx`)tT77t&E)#d&;YFtySEJ4JudfX z&nrPEgKx|C*yC50q^_D(yD9qq^cC*;z4uI5H^a>@T=~6Msocd2ql3btwI7T6_B-|Q z(OOl@xvrrJZkKl&kJlWY!r$6eRf->dI@Ba?*vb6a2_rLPjxPRT^mB)%@NuoLNGwbx zds*N2>eFn;C?nnRoZ;&t`N3Heo5<9`#0i*w@=u)y2fK7xj^8@Iqr<2I-OW-JZU4Ld z7guwy*cb=aPCHmG@q@ucx2-9t-QNVSU*)BqJw`=oq}hv@T=_)1E6JNOZN@g;-+uXJ zMRUcY^iV(d$$JX+RPS20EIQn_^2epuOG}&@>Zco5=-!YWSan|Fhv|tb?S74od4`)` zo$?UiS;8X*{L8j3mNz^u@4aSpcdH-sXS%VK?yj zzfSvV_n)(7*snGe6Wf6x_Z`4!CUm=6!Lc!B(E=}lm@@HZ4r8rCmuNs3;_?>4RR-*$ ziG1^B&8BO1aQp=GI2JdtUAnVk3X}o>bfz{pfEtGVOl#)!b1WKVo77#~qqO zrEYvW76D%t`b5b0=AfC=%7xuOuaTfpE+19>PdIpl}eyJwEQF#WGKC zYtnDg-2%~CC@Cw~xF#(9u&do~`R13k4JTzvz8CuxU}1mfguDQS5_A96nHG`&2^9aI5A$O>}8BM(fms>z%UCA%Djlz?rr zv)p)jaJ>o!gdKp6*?URa?XpeH<*9J`8O)8!wW(aO=iqz^cgmPs11sy}Es zp-w*Ceu9OviFUKo1L(zneRmDcZUX!W?Ad+-|MlnYi3MTnQDQ(e&-)ST?!>ZDGEpM0 zF*Ws!Y;H@!`{sS%FKgYVla;pmHF^$a3wHVGCtu|H{|zii$dS+=Li}aV!6exi^o?G5`C&eaB2fTI^dj zX9n4dCL}E;30WdkwAq)Uvb0DGUs0B94Iv4kNvg55NeeNRB%wk(ib@NWQtJFY4`#{r zbzRr}yC3%-cmK?3sLt~^KF8?UXcoe}ZjSOa_rSY@P#dC?F+i)cse0U!U z7c$(yoDN;5Nq2uexfo14ot8f%1IC+RJe!xFA8`6~gz`P!o*)Bd_=Rkcq5pd_!FN1g z)y|w$++ZZWj^}x4ly9u5z?`J@qbmJ`z!ii6KOQTRas_|lc&8L5!Za+* zw)wozPs4{RYPlTx-?tUFXu6I)orBg0UOpEb|2 zd{f-Wkt2BrTe7s9NGjmNqKCq+iP2@j`Uzwx3TX!{CPM0)aalfZH$al?fM#4WL5L8| z#c@mU%5?wL6};2?e7Jc`1gd*xcc{$842av{w)%X|LFWoxyf`dyu7Fe0lqbdAzMfId zKu=@q`<2Mca%_-Rh@q$o10a5AkFGrFHefuAWzH#c73sJgH3KIEz}#h+MA{0J;E?m@ z8yXvV@(iX=&&$olAOw&S(^o`mSZ@&=Ew`9E$}NJ{4pmb{DP`)DmlB&ukk6}1z%)>z zABqMGSfRviPY#?*$4VB^qepy{{O8YEgA-ny7l3?>(PHv9ObAFy^BnQ5C&c3LL2EPh z+@YQF?tKbUP^jwJ;UDGs54xJ+hLZ*6yjL00W?7O?u?Nq4A&Y*9)dm}zy?ge+bVuHb zzt)3Ap>r~yR5h9oor8xO22h;GARq1Y2hU=4?MY)8K<3PFB{E{Qv~GrlG3BrYBm}x4Em<(}y1RV9 z43nvLaF1Ema8%|5YUaGI52w!k)s@5JXRXYYYIC@P`uuvFcc!gmkH=sKV_K!FGz}T# zXO7!&Cjm_7eQO(>Vx^u^650wz%v3;xc7KnDBSvxv2MIXItAeZ?scZ;uix8B@#1_9* z?=L0H&>5&sJD-qHxcXY?8n%-?KF|ILBubB0oHsI#ypMF}oR4X(*j% zJKSj)S2sYtmX7`HfsFK4L5||yRLEl`Y%-n4JejV({CV=R9fBVeIJ={Txp|m0hrsje zmimHqN!)e0CQd-cW;ewX1r-oqz{CD`o!tZyRv9Uh2I)=!=~pTM567!xmMv&0Q!==Jm1+WL>}FLm2j&|1M5 z>2sK48+sRCXtFcbssr|s5NIVB=nGjBSU&W4%YFb7Uh7#OP)wMTV>y?PLStvvhP7*D z53}BQp07RA$2$*(*wg9{6!|1k$&vpo#G5`JyjY)HaLiw<=g-f6{`}H|EzZu!kz2S@ zHbG50W=Cb;9Q~KK$#LwMej*tZS^Ou7+~rS>+U8{6$?wUE!YX^`*>!N(-k!a1R~Q?(02W zVJoG_O7Lp|F)=mjb=aOLZJrD0T8eNn#cilh15W{0vfu=g&Gc0ED;56uQ@jtOo{VENSe;hYF2{F~*a zy?w67#0>KN13xb1&+rGyU2hs&m?FSkqrm3$K~2GHh8dU~y)BH-t9HU%1yER+=@53s zLq}E0uNS{;CmWFI&E$k3?D19)~f|W@WyA1+2fLL07Bpdv# zpe4eVhkbqL9oQ_zx~|0>lhyj~TT9`^kf#%8(Rp9y>UwrTq!8?ka3G zZYisac~u-8k1GhAgDThOFuN|(g~rOMGTMU4E)?#D4X|-J5Gw06!hCACQ$jxuKQdAzdY=J`bPle-hFLZ41EDl$l%dw~6 zC#@8)=R<9=82`slut*~>UDEt7#fvZh}d zwMkU)Smq+9#Ba$yzIs9=a~)Uv8x_ME7pe7^vI!jKH&g$KNa$=Z^cK=Z3dOlkvs)tjpJ)}0$fYijprnnqap>i&!iL@Zc}fE7y}#6@AJ!M$TpYNt zw?KqU5w}>2nY`24SVct3HSJB?%$`6|$qrA&=UBe2xV6Yf^?8XootAmrrVFVr>05!@ zdGdQ7hTbAG`Z&v)#n$HGDLCI@YCzR^$shI06Z1ji?kvCJhPYHd?F0-)_8lmA=r|cj z{aZ9t!0Xs2D~CUN;|FF+&zRxU^eyIja^A&|mj!pP&e&FP)?e8=a`$X$V;N6`t z8eTdAq*i5{=yBG}4f&bYaMGm3VL4WQ9l1!!c`t6fQDg6mh#q5geJw}BbcA~pMV~x8 zvE=dje&;U-Qx{lT$}1@7VEuDzkYKjIGQDTiw)gb37ams##qzv)LeNr_NXR&2EMS_p zbSwy`96??SR(y_iXliZ4er?B;rReZ0@1auSgrE*$4RffG!os8rms=@)kTmu~7%&v) zq;y7|p8uX>8{M+6Z=b`A2C1#dOl)-hT-EiKORy>?oP2jvQ&ZT_N<9Y-yp&fZFHNBE z#+?J%6-;OU{%pN}yufx~YRyqBWLqh{c;^CBVfW<|6E>V|QE4qu&!G=QpCu%D1!u>y z36W#sDIdEsYRUA-4ZkJ;d7UAzNG;a4)d8u2VdBg2t}_s}aI?PzHyK!*QNCB_CGx{^ zSSRS@+&z<_s0@~R4HWWkC_aAcR^NFF}t*!8 zLxov%C*N|px8yf#UUqGIPQVIcOw3E8Fcy%Jw^+Gx_`t#7(y z*ER_h2*I!S&7ef|^h{!ha?z?RY~=PeHvaJ4zbL>a1YpCK zbCi>}b9DgYSL8V*3eS>zl;Yg#@zQr62Jzvy+gwm=0YQ?u)y|+gOg?L!6J#LV#?5^E* zI7YjVX8Q!ol+=FWdfgtYeM3Bg(mWM6nqp$Idi6y?7^?C)Hx*4woDbZ>MJ6VDsoFE3 z!*t$}jKk$Z=FPxNSOF3d>9XV5`qR{lIGmre6OLV)R~6@D07US=ifc)b>THSy88HwN zF-HNG$vdiQWZT3x0fGU$=;suO#}6O=s084^{gd_{0{;y^%4(;e$<9Ks;Xhvm57k## zZugl13_>Aj9+Tfjf<5FrVUz&dhF<8>B^!b@VcwD3eTJtdQ7DR_{0naE8D*{%OLSPY zlgFTAQlzoE95hHV-r%?jyZQ6tnScFH#4&>UcQBlPUqQVtgc zo`Mo`|Nc|BXPTKECk*Tq9g-Zo2t#habm8Ed@?%}x^zXmhLG#Z7ShQ#n-?Yoi3;xOv z-|YbMl4BG?*w>_OA1?dQ-j77|R=v2^DV}u!CV#Zx2ZuHua6y_7r8AVKC8;e&+*eL+ zqvMLu@yKndhgwo~6Af=uDG^E#VWR!dwfg6k+q!>Q$Ddmy;j!>l z+f3u#H0R}&<-6$rAEO7$30{Q$m7QZ}-sHdsJS!G> zuH!Kc@hLd?rN9l8mhUO&ogxw%C?txbM_(r2f{KdL#`oYs@e$RIs>oO!VfG{^_r+(P zyG=Qbv4y2R)f5u%GO#k`y;zmi@i<|DIPGIq)6c!9%}+(N_>|^*fsr=;7`woYfuqdv ztGs&^h9H)FmciLr%7%^V-mM#0Sjz3&5{d(R^};ahG|GcZwi55X=e@={l$n%3B$L-9 zXdoJVfejlt6n-w+Bp?|4qbST)N0?nvLf{CQlIwA6DeY#CU5w1S&ALBX>l0^4Z-54t zdC6y;F$b7UlxE;up~oDE|2n!c!7HDFTfiqPaS6xdKj%Ql#sAL@?PL(r!}sXYojz~$ z)FT!oeaL^^aQ$edp8AgVGk^52kIUbAtE4Dl8$Z)0=~l~nETI9H2+*fmqjwU?r%xO{Od~}nNUk?cyv@GhQNU(Xn(k;$*txCTgyy$ zCl`pyud z{9P(L0YnlkD|e{W2a~~7*(;a1DKg8Qs`R>0I7ygO!z-T$95DpQ7X*`_fR0fC5k`60 z;zmV^j4AuJ9<_>8Tsuzp#;q~six>}3EhtOeNU;|A8vGoa67K^KP9)mtNg8h3IqUHL z1z1OM)7^Bew{2_n`Qdt0)JHecaK1fR>2BqE`7bVj>FxOq-RJy1KU?|M86ThAGjH^I z`>2!rtt#QCQaD9cZZ5q2ozz zT=zEqJ}xMk0*%njbleBrNLdx$S)=|scIBKux+MzPi{g$7(+EF@Mw^d~8rSXk6=wLvPZ91_7D0u_(7D6j>uxr;Wz!R^Ba&qJPAQ zb%;cnqEi4JE3Q>MT?fYibdmwhOHw@tm7M|Rz_$d8c<+>VLJ;76TzWuotV_p)xxc1h z;2*Dy$wvYJ$Rk9FrllcCcHJfF@GeUy3Y(^{{>M{U^A?{m<$b2j@4ag2 z8D&GlJXJm3?Zd*am8RXZ<#7-hNy!7{7Jq5R>C=I71rmpeiHW)SWEYezsj07Dy`r&4 zZR>o;IH!^8Qh@sr40$-am>qWMNxA!F*WSH;z_@#B)q(uj-q!FyzyrvqpQEWp!^urc zdegmwQm0eID8sS+Zys^1_jEPW*YQ}EJwBpKb9wxgqB#>yqLLl=#dL(O|NOMu2NiM- zvZbZo*qhN(kQ%FbK&*TE=cH~|D%F?VeO-C2;C--_(b9ry-S$VraZ5t%4Rz0Ti4hm#veZ>rG^2+`RPIR1|@Q+ol0u`^Q$qHv8Iy1mj-Xg=Wsa} zFCIbFF$S`4u1ypGirw0^3*x(Lq@gSMKXj zrUx%n`w3sXEe@MVkpD8EHM0iB2ZK>iPyrFoD0P^9Qa!!4DJCk4sccxzKt)C1YGSQ? z7}!z93kV%~cJO$9UlML};Bf^`oazCYjQQ}t(%PH3*#ZFF+>MIcF_5(e9mE#}|4Y$XP=ejoj=sC2wuB{t`X zZn=_OSQv=jnN(0ezxq%0S;DO8*3vqJx5mAPGF3tDFnoB(SGXw_54)IP06b8$XA(t) zk6+fkdpK0~IV@!Ek(b$b-_XgEx78iPAY?)Z&{TcoNSix`yHg>U#j_$hr&Ipo(K4W5 zRU*I-Gr!4`&Gi|%BX1i9&6C5Iu{$^F(xs6Bna7SCF`hT?O!Rj0dv2q^eu|ikY79t- z`ey-=Zf*b<9~ihY4xkL@%wdI#MBG!hjvt4Q7=gyo1KygF+B)(V{f31$GT8^IIGFl4 zKOfndpc_M@fonZ|2=?DSDEyh70L?x6Z=UMEpB5feIUdygzTk_1SUds@hL|~bV8+H%e_6g+RaY!OSK-+FvQW4YHdfUA;in(Yy=C_w6n3noSCm} zh5T^oMW+)N=Y%6wNd{m^{gpEw98D@o zc6{+IzHKuGn*Yhq%`-CACs62_giO<~n}EbYfQ2f1bN;VnBLHq{x6)U-_6 zbDvtyA$V^04u>hvQ0|#<4j#R>536c%$uCXU(GaVV=Qh$j_j=c1Aq7gkkJ^55q zr>6KE-LIge#OobXrnH?xy{YkkKi0F%w*PPZZ2!5L7Dj(0X1Fm4_i+Q(XV2z(3zlQd zVr#fUG`CCW&ztJfGsy8Kz6UF$t@L?<(K#o2^{E>mM+;`#f}Gw>hlaBikr24WC8z6(T*aN6 zcgLKQi137vQj9nYlP3bkS)=Ik&NF>eu4IRQiksC|W;Lj3l0IhI7tvh-nDc1vnE~^ zE3O%+vf8f?j6WfmszGw6eJr}@u+W=CI8%e zUaioF)o*&$uH8sxUs|f_=o^)Nu17~BHzPiZM!wp*z04ZSovaT48$l>;ZXQp8Q0fN| zg>76^N@@R|LTp%NaeH;KK!M<$kx1^3Y*NSu^tO+Ti10wR&d-?kld5VhfyBT~`QTW1 z8<9D}k4XS%q3-+V_@*mjq$UW(JJODL{I4&mKJ*>NvmCcz4`IspC_%2VxPWQ_G~q&# zBE=WCnb+l*ivPts67pYgpVthG;HSjLPgYS8RK?;t88JnT7vIY`Sddn-{AZ*&C$$P8 zjZ&{H8m+rUgxWUQ-RK+P81Xxrma=FJCf-0FYU^Zi%<*h-nm2iwtq$=ehmP~RI$`srCItfB^-yePnRxP68}K#_;>72 za@57vPeZN!XL5)=Qen0S|F zGIO=#+b@Hu^+61#pe!j&{^_HkR7JIp7pU41`{lk0q_sPNWx-X0Q6Se(d9Rw*vb2?S zAz82E34GUy>Hm%U(#gU13qwid$5!txqo}a)|J@`hR>xwxW%-!Cv*%q*uZ4!wQ$IMunN8+^o@80LV`m@?3UdpNF6^r4LLj}Sr}eamkt_qzwFFR6KLPxbaYZro_Msp-rr({O;`hn zCzTnU#DC~}FhcV-vQnuOl6lh8PcUzywVsSQFKq7@ABbk9sp0$nl<&AafGq|e=x|UF z4eDuJL74{q_{{-PIJHAjt4!kVJU?6uA|_!$pxj|_6!yzoRe^JbV;nA= z8LBAEq~P#zlu||S@kuF_70P@>hJE{*SXj7GvvE+sPPBg9uVYcVUj*pzBexy^0L`@~ zl@TPh)2@}F?AzQX<}YN!3o@YQ^8&p_>YyvuH`D_I`}GUSv0?g<*pyHUTUfgI^s!?f zz(eq70GijWOYUs*q~tzCVf%vEjU+B$Xvc>H(BAhy@n;x~+#1i+kSb!zkFo+J0jhy& zi%~77D@`FMa@nRHquF!#JP$H57W7`l&u2M)1s{Wo0 zZ{~m9(As?lI?Hlf|1Tyc<6Sxq^O7BZ`7bqufg@qE%mfZl(^5PgLbd{mNN;^;JbgJ^ za2_ph z3h|}Po#mxdg>(*H{kCzk$2MWa`)!29ewMS z)NbDWR5uf%$h>)DS7y?C?KcR1w!XcfT4^~n3e|LiJ$(PT^)t~vv##U*H{bQyJ|A?u zHc{5&zFie2M=cd-uX2Yu>M)>qk=KOl&{L@YC;>g8j zyO%jEHIrD`Pj08dLP>)uomFNITrni)_^`eKCINq();Buor#|c8oY}7TCq|EJ{B-10 z!_zyjuFn}XbqvTzeZ&}kO?|C6$UksFWADUc^)qB0BIw2GLQQ2WJm>T)lQ&no|%eU zn_vKRW%;hz!@76v`s{{d*xZm_dZfn&5_W{cY+l6{@Es#VL%|0CbOuK>T$LynnOYdk zknYh#2-kxoHo`xnSI?g3Z?U5QGyTi5ymjP&WL9o*v6!RH9ODK~_>K6mFs9nReLF=& zRs5h1*R7;ngi0p(#KfwjL-c$Ws6I%z)!3=nEhaaTJxj^|TqCH!)1*>1k6?tg=mC67tDd-p=*T{lmR zFFG5X?^~}Y8J2VM=+W^dpor_mD)oR>;U=DUZ?_y+H?D&bW%5J?0Li~T(&zsc8_(Gg z9o)}1RW)GHlK7MP>jOU&U5St^wi(%PSCYT^nOyA=_trf4skoDBjIH&bM|8=sv0LB2 z!hCMOR%(9!Ht2`eMjdzD5_3Hr-h1;0!7mL~oClQSgIZ%~ukZ!?r1u%*$Ix25sIPo4 z{QcpEtg!6(QIli-eQSAsY|Q93U2%IrXMZEhai%9OUq7CDyy|+B$%)G$5yw3@m%KkR zCd8`w{Q0v{wwL$)dB+?!u%AE+yk%zE@na@BQa6=oR=s_D6KyM^+Z#6wTobcP9SE(h zK{Mnb#0CpAc&d2o-?)note(iLZ;nGIL1)9eOVr_z9rTqjqxqQTlGSc?)dhiT2D!>V zxDxS0|C1>ruB!A`*xEFE?um7mZ9Be&KQFq&&&CHBjwH^fQKxc^uu2%|1?10>h`eR$ z1A07}YNvP*Uz;e5&w#Js_#U6Mc{My&*>jL|e*0~PWcI^{XL4*>BktY5-|+6;35-!Q zSLc)7MZwBw$Ix)^7Fe8~d?crM%WxCx&DrgJI?&1R3YpVAf2R@@)OF z32O-E(DSLRv|+F@cyNJp0AV!I(I(+0aK+NfHi_bm;tMhI2f9z;gOudVS+gJk zyHBE2%@ar6$$LZiXA$lSNuM&31d_bkiMLD-1hGFQxIc2Hub9nsJ+@rGPv2UwWboW8 zAMO1+r^bco%e*_G{Ed53yaY*^gF7bhcv#0oM-yUX6>id9#O+~HW@>D_DStyu4?FcF zT6AX=D>zLF^Ey~ia7frBdB>PxK@}b41>;2nfFE_J456J~X50l(K!F0pOo%F;-s>}5 z{~T{X74zt~C=D~x)6v({Wby>TSbat#Rif0|H&A`uBf+db<_<%ZE>FhdZ@2HRv6)$a z1qBb@12;kN)Ng2T*|rTW;3kN>FuMlIl5BFGQkK6+TX~h^8(|D>9kyV&bOBqqwxQyo z+IYyiIDNXNs>*!+d{PyG<#00Mmf}FObmUz5~2E9GwD#X z>xtPHg-bx!e8|dObVs1}Aj@S2&S@t~8r|X1=;XFeV&8_g2gXb8zdZKRVXt-djXM9J zqSCO9@>NT|aTf|kzhXcjt49w4@O_Ze!=oL3uKm1m6V=@sa5%+uEA>XVlJ2o^cg4c7 z619YB8pqi}80oinG1;SAFdo#x1B+q%kt01tUIf`$Se#N%T{`wA#x__{f*tGmuvp^@ zPai+7!LJ2oxYh{@%FJO~lind-7!KvHn*jkRy!2(DUT6W5c}WjXa8CkGnqg zB5Lx`g_nSN8S@dVM9)K(lEe=`kRCytb{mglZFO}Yz1SN!48u!t>~C~UFb?gl2g(Eg zVb(0XNxO1^02hAvGBknl0*Z@+42psXe&R$*Jjp zW1nRI>}6GLZQ1v(M0}$hNS>q5@$AD;k-LwG!o}6~!26z%7%?duwD6$e1wrEaOKC9V zP26BVU(??%UFz1OM>UFg{JWQg3xS4_)}NLR^u74|@AEXtKV)iOR8++HDL9*jm3WFy z7mk^5RmCll;!4C(u)b{bR775%=fnH)!IYLxbSV9|x|l*gI5f_FkI44W$p^EjHVk_8 zmzQ@Z1SifyL0*20UpmtUp}|Dc(yyN>l1P95;a(0KH&&P@0Gn%)%)qIanK|d|ytFd$ z>sH;}QWZfv&3zgyziUe%H$l&bA!?7)H-YXdE*k{%Fj-IiD@IOOXBK`2!Eqad3U6ee ze7-(DYrL;;{bE`zUS68C%;V&I_hTKIQhzSY`t;*`;Jhm-Q3!*%V0lrE$bt(My(w7HWu|4|+ZLZ)k3K z{y~AD7&5e=kOoB*`7=JD-}LqI(ct&e-GjAXP{~4qK$vY?{3}xvla}UY7tRL}Tu1oK zGBR{}9IW_chUKvOV0m17Hd;8cnbphc;izFQn0_r~5tn@lH;h^$FDEA&e_BD7{7Pa! zTV5+4T_HaCA|I90{m=0~4fg7w3Mj?~!dJV!OOTnf|6mO5f9ljHOuGs0U{Z}|U{lab zf+ZCdlhCUP`dj85vy6;9G1&$W5KO@-!ETbmf~t$==c_V)r|QB_hsN)Bo5|!PDM`FN zGL<2vin6k-9z4ETlFK0R+`K99AaZgbDVIBFv=~Wu?>?DloriDf(xrBG5qf72dARi$ zyGhb+j9}*?PNnRp841#HcZFHic{M0{((D;C%&52X%;Y=lHhB}82j$v}rmGH=pZl6Z z%x!Ce^y}<>7i;f!@pTk+_=kVJwCnc%iprE3@+S}ytWqDyZ~KU5h&Ui@fD?qo5LuYV zE9y!d=mioz+FUD|g%l|mU#22`X!rEDB!OM$dI)SyNugCCgNdzwJ?=;>31CG|e8I_v zVCQYyw$bPtdA#=%`BQ{@U?W<2vUH6 z5XVFqdKet?C_z3Yv&)4nE_B=hnbDww@T`a;hHybCB*JZgF@h1^JeC z@V3c=tR>HWji) zX@_i!$@$Y2US1si6 zq?22(Sxr*%(rA29P-VqHWd)0m@giLLhFWoZEo~iz@nq*3#Q%}F55Y&(av@TYCp=(w z=b)o4kWm7>8TGs%Y}iLieMmc@>dteJHuzEz6%5b73KlLrYgW6 zGiIdOd(;P@uw`O5!VOP>&d1tQ@T>)Q>)WT#oD*tgnXon>baTph-wXvgSJ}cw(GA3e;R@4V4luMD{A*H$YG-KuL3gRman)Pxh3y(40y?%W^Rg>g=Q&S9w@#%pdrE@Za zMB%w1gWNZO;jLB2Me&0o-U#$9uyjyvQ2-_nrPyWP%e%5Wn|+J-y6NM?;>zs&eA}4( z$hc`kyi3X_zB0#uxgE@e4frX^es4+yn7=+{7496Q8FfEXfy|64r;&UaV?ByU>YcO|QC|O!oh9S>zFCmi^F1$R> zmF&`(Lr|tu5Xx1~4_$~Ipqw72so~c)KkXvTqquP7BIYD|XE}8T;Oh#0W>n!kR6$cv}0gn}mdDMrcA zHO+Y#r%v4|`=Wc)@qT)4*&k}y*E%n`-(5tm_mc3wdKeG@mHcZB57+b>HP1qG{)#9Z z1C21ET)N#gmAW-%jJCErP-8783`fx}p%?SO-H`7{y`l2gHqCz%*GW}#$8S592Rr4& zjtZNd8|k^O->%UGrj{$BKWLtM^oxJtyGH+aW1g(P^3PM>jy<_NAW7N+PExuT`?YJC zya|PSQhQaBFqO65yfqkXgi0Gs0-sc@7aga zSL%KuUbp4VkPF7>Hw@z}YQ9loDPvc;R-N5f60-rkw70VPPz!B%`ui^`{$%r24|(#q zX}(0odpXpM=s>2a_@kH0SSb+uvAJeA0Dp=IbY|yWMJ>ouK7Vl1zj56u`-|9XSRH(Xp%U{YunUKl-O`yUx`< zdE<}Kkzzr!4x~J`2lV$mp?X-~mz0%_Cr$LIVTa1?=g)I#9vI#ajpbAo^-Yove)B>X z@+7lp-}jF`-o>sfaV>Yu{5ve2PKoJiNAwn{?6u8mHHa@C_WNJl=!j4T6Fh?0wkUr& zp9Ei=#0Bh&FrooJE{BI((n8UA?2@Hb14j*+%N6M=V*i8VKw%>Y>Ax!Do^Of?xA7P5859Vm_9MAH}`Qa3uKL6OT&PJZVuS;no5P}qGYeg4w(xh2x` zX`dwRO=J>pb%`V@w06)LAQX{4n<*{Ml5jpNAPlA?BZ*I_tn8@=v#y6iZ#{hj1KhTY zOH4Z;tK03>%9#1laFR;H3|L4q5|UXgKLx+qFTL0 zvsLA-^%QvjOO~7r30WgHR3A8p0xqSr?*03oLMIIC)Q&vWiY?GUpv&*O`)K0ga1)FL z+*$Oj{;Vt_*tT-~?5y3GcBnM^>qghXeZ;G)={rsiShghGJEN@pL+954+vMl^#&0U^ zEq-ep9GYM*Id0OtUZtcQ&8fsCV+7cL+ zs41Qxu6Nv!s&ZoY=qW0GV@|zLEQ^d#UsAT|ndG7|K8?=v(=P5h5H@xRXs^tq5YMaL zVK0jEJJ0ox`N`;sZ@oi$*!s-ywF4ra&$r7vH1TNv3hgl~Plcy$e7`sD@|CurrlIA< z<%;1=mnS%%j@%G1`24fY5gWa7yrte5k61IkVpxTCR$g@A&E?TfP0~-jZuOBqJ$B`L z$;j4svo21`PSml<>t%X>+IZ8)cJ=$D>ppGUI_nq5u#`#qGlL5>|9oC12JjRLkuN;; z6#H#d;0*#3@R18=543&AK14$Z0AhWR*h2ChigM&HgGgj;iQV{;1J??<9jwj`MK?i5 zqvPV96&AX)RA}88K*7ZLvo=M42BiX?my1iYFpS441iJ&A;H#_MDYWrX5Zv^q@RQ~| zPxACMGCDYW*eF$19Q+fXt*4FsT!vai<_VA$z$|49zX8f2?F?!`I-JmjNKnyPbP?cQ zDxRG?chYB^FK^yC^?X^&rpqR_OnrIFE&Udt$~7}{c^&9{GIMpDMTBuE05dx}54b?S z6Lr}o3y{GR792b^+@!dqUx(HQHgCkVutQKQ1dC4wR!?h$LYVyCp8kC0coh& zwPNWpu#>~ms7D{?4f7zUc52a*;*pQ^XaOmIgmO0y544$*&7)lJVwr`8tVywulp*Qe6Ow|aHfD%Ntj zJH5KazG?Q&f+wQ!Q;kl(sZVY=ldx;fApg4$_I%K`&Wm1Ya7dN|zWSbhf4i$m{`pCT zKVJ#ImYO-u%51Y^tV(_4n0<5hbWRRleXZ%MWbOVoC; zxR8DFaPOA<&i*n-)n!!HUH8oS^C2l%NdpAyaE#Y+<`QU3Q0l6q@7)he7z7hqKH&tY z;4JjM)Zh(+-!Xz9qHgBQJ%1vJzl7!N_V(^BLfAkp?j=hEW=2L>c=(32WC-D$diYw+ zQ>K*{p#9G{JyIr;T#>TyC3_o$J1@^vGP|IFImS`L3$jY�p(g$ik77;a;*7RTBc{ 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%0DOQGG^`X>Vp$dM7C{v6g8#6(!&{ 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