Move the content of the full folder to the root folder (close #644).
Change-Id: Id9243839b6288fa4cd9ea250ad9f659a0ece613c
diff --git a/src/main/resources/ESAPI.properties b/src/main/resources/ESAPI.properties
new file mode 100644
index 0000000..b822b21
--- /dev/null
+++ b/src/main/resources/ESAPI.properties
@@ -0,0 +1,188 @@
+#
+# OWASP Enterprise Security API (ESAPI) Properties file -- PRODUCTION Version
+#
+# This file is part of the Open Web de.ids_mannheim.korap.news.Application Security Project (OWASP)
+# Enterprise Security API (ESAPI) project. For details, please see
+# http://www.owasp.org/index.php/ESAPI.
+#
+# Copyright (c) 2008,2009 - The OWASP Foundation
+#
+# DISCUSS: This may cause a major backwards compatibility issue, etc. but
+# from a name space perspective, we probably should have prefaced
+# all the property names with ESAPI or at least OWASP. Otherwise
+# there could be problems is someone loads this properties file into
+# the System properties. We could also put this file into the
+# esapi.jar file (perhaps as a ResourceBundle) and then allow an external
+# ESAPI properties be defined that would overwrite these defaults.
+# That keeps the application's properties relatively simple as usually
+# they will only want to override a few properties. If looks like we
+# already support multiple override levels of this in the
+# DefaultSecurityConfiguration class, but I'm suggesting placing the
+# defaults in the esapi.jar itself. That way, if the jar is signed,
+# we could detect if those properties had been tampered with. (The
+# code to isSystem the jar signatures is pretty simple... maybe 70-90 LOC,
+# but off course there is an execution penalty (similar to the way
+# that the separate sunjce.jar used to be when a class from it was
+# first loaded). Thoughts?
+###############################################################################
+
+ESAPI.Randomizer=org.owasp.esapi.reference.DefaultRandomizer
+ESAPI.Validator=org.owasp.esapi.reference.DefaultValidator
+
+#===========================================================================
+# ESAPI Encoder
+#
+# ESAPI canonicalizes input before validation to prevent bypassing filters with encoded attacks.
+# Failure to canonicalize input is a very common mistake when implementing validation schemes.
+# Canonicalization is automatic when using the ESAPI Validator, but you can also use the
+# following code to canonicalize data.
+#
+# ESAPI.Encoder().canonicalize( "%22hello world"" );
+#
+# Multiple encoding is when a single encoding format is applied multiple times. Allowing
+# multiple encoding is strongly discouraged.
+Encoder.AllowMultipleEncoding=false
+
+# Mixed encoding is when multiple different encoding formats are applied, or when
+# multiple formats are nested. Allowing multiple encoding is strongly discouraged.
+Encoder.AllowMixedEncoding=false
+
+# The default list of codecs to apply when canonicalizing untrusted data. The list should include the codecs
+# for all downstream interpreters or decoders. For example, if the data is likely to end up in a URL, HTML, or
+# inside JavaScript, then the list of codecs below is appropriate. The order of the list is not terribly important.
+Encoder.DefaultCodecList=HTMLEntityCodec,PercentCodec,JavaScriptCodec
+
+
+#===========================================================================
+# ESAPI Encryption
+#
+# The ESAPI Encryptor provides basic cryptographic functions with a simplified API.
+# To get started, generate a new key using java -classpath esapi.jar org.owasp.esapi.reference.crypto.JavaEncryptor
+# There is not currently any support for key rotation, so be careful when changing your key and salt as it
+# will invalidate all signed, encrypted, and hashed data.
+#
+# WARNING: Not all combinations of algorithms and key lengths are supported.
+# If you choose to use a key length greater than 128, you MUST download the
+# unlimited strength policy files and install in the lib directory of your JRE/JDK.
+# See http://java.sun.com/javase/downloads/index.jsp for more information.
+#
+# Backward compatibility with ESAPI Java 1.4 is supported by the two deprecated API
+# methods, Encryptor.encrypt(String) and Encryptor.decrypt(String). However, whenever
+# possible, these methods should be avoided as they use ECB cipher mode, which in almost
+# all circumstances a poor choice because of it's weakness. CBC cipher mode is the default
+# for the new Encryptor encrypt / decrypt methods for ESAPI Java 2.0. In general, you
+# should only use this compatibility setting if you have persistent data encrypted with
+# version 1.4 and even then, you should ONLY set this compatibility mode UNTIL
+# you have decrypted all of your old encrypted data and then re-encrypted it with
+# ESAPI 2.0 using CBC mode. If you have some reason to mix the deprecated 1.4 mode
+# with the new 2.0 methods, make sure that you use the same cipher algorithm for both
+# (256-bit AES was the default for 1.4; 128-bit is the default for 2.0; see below for
+# more details.) Otherwise, you will have to use the new 2.0 encrypt / decrypt methods
+# where you can specify a SecretKey. (Note that if you are using the 256-bit AES,
+# that requires downloading the special jurisdiction policy files mentioned above.)
+#
+# ***** IMPORTANT: Do NOT forget to replace these with your own values! *****
+# To calculate these values, you can run:
+# java -classpath esapi.jar org.owasp.esapi.reference.crypto.JavaEncryptor
+#
+#Encryptor.MasterKey=
+## default key
+#Encryptor.MasterSalt=434fsdferbs7sdf5sdf+d23=a
+
+#==============================================================
+Encryptor.MasterKey=Nowq7w96tBckpYCPkoBtjQ==
+Encryptor.MasterSalt=vRaKzzh7hLp9v3CXi7KDI/1yO3A=
+#==============================================================
+
+#===========================================================================
+# ESAPI Intrusion Detection
+#
+# Each event has a base to which .count, .interval, and .action are added
+# The IntrusionException will fire if we receive "count" events within "interval" seconds
+# The IntrusionDetector is configurable to take the following actions: log, logout, and disable
+# (multiple actions separated by commas are allowed e.g. event.test.actions=log,disable
+#
+# Custom Events
+# Names must start with "event." as the base
+# Use IntrusionDetector.addEvent( "test" ) in your code to trigger "event.test" here
+# You can also disable intrusion detection completely by changing
+# the following parameter to true
+#
+IntrusionDetector.Disable=false
+#
+IntrusionDetector.event.test.count=2
+IntrusionDetector.event.test.interval=10
+IntrusionDetector.event.test.actions=disable,log
+
+# Exception Events
+# All EnterpriseSecurityExceptions are registered automatically
+# Call IntrusionDetector.getInstance().addException(e) for Exceptions that do not extend EnterpriseSecurityException
+# Use the fully qualified classname of the exception as the base
+
+# any intrusion is an attack
+IntrusionDetector.org.owasp.esapi.errors.IntrusionException.count=1
+IntrusionDetector.org.owasp.esapi.errors.IntrusionException.interval=1
+IntrusionDetector.org.owasp.esapi.errors.IntrusionException.actions=log,disable,logout
+
+# for test purposes
+# CHECKME: Shouldn't there be something in the property name itself that designates
+# that these are for testing???
+IntrusionDetector.org.owasp.esapi.errors.IntegrityException.count=10
+IntrusionDetector.org.owasp.esapi.errors.IntegrityException.interval=5
+IntrusionDetector.org.owasp.esapi.errors.IntegrityException.actions=log,disable,logout
+
+# rapid validation errors indicate scans or attacks in progress
+org.owasp.esapi.errors.ValidationException.count=10
+org.owasp.esapi.errors.ValidationException.interval=10
+org.owasp.esapi.errors.ValidationException.actions=log,logout
+
+# sessions jumping between hosts indicates session hijacking
+IntrusionDetector.org.owasp.esapi.errors.AuthenticationHostException.count=2
+IntrusionDetector.org.owasp.esapi.errors.AuthenticationHostException.interval=10
+IntrusionDetector.org.owasp.esapi.errors.AuthenticationHostException.actions=log,logout
+
+
+#===========================================================================
+# ESAPI Validation
+#
+# The ESAPI Validator works on regular expressions with defined names. You can define names
+# either here, or you may define application specific patterns in a separate file defined below.
+# This allows enterprises to specify both organizational standards as well as application specific
+# validation rules.
+#
+Validator.ConfigurationFile=validation.properties
+
+# Validators used by ESAPI
+Validator.AccountName=^[a-zA-Z0-9]{3,20}$
+Validator.SystemCommand=^[a-zA-Z\\-\\/]{1,64}$
+Validator.RoleName=^[a-z]{1,20}$
+
+#the word TEST below should be changed to your application
+#name - only relative URL's are supported
+Validator.Redirect=^\\/test.*$
+
+# Global HTTP Validation Rules
+# Values with Base64 encoded data (e.g. encrypted state) will need at least [a-zA-Z0-9\/+=]
+Validator.HTTPScheme=^(http|https)$
+Validator.HTTPServerName=^[a-zA-Z0-9_.\\-]*$
+Validator.HTTPParameterName=^[a-zA-Z0-9_]{1,32}$
+Validator.HTTPParameterValue=^[a-zA-Z0-9.\\-\\/+=@_ ]*$
+Validator.HTTPCookieName=^[a-zA-Z0-9\\-_]{1,32}$
+Validator.HTTPCookieValue=^[a-zA-Z0-9\\-\\/+=_ ]*$
+Validator.HTTPHeaderName=^[a-zA-Z0-9\\-_]{1,32}$
+Validator.HTTPHeaderValue=^[a-zA-Z0-9()\\-=\\*\\.\\?;,+\\/:&_ ]*$
+Validator.HTTPContextPath=^\\/?[a-zA-Z0-9.\\-\\/_]*$
+Validator.HTTPServletPath=^[a-zA-Z0-9.\\-\\/_]*$
+Validator.HTTPPath=^[a-zA-Z0-9.\\-_]*$
+Validator.HTTPQueryString=^[a-zA-Z0-9()\\-=\\*\\.\\?;,+\\/:&_ %]*$
+Validator.HTTPURI=^[a-zA-Z0-9()\\-=\\*\\.\\?;,+\\/:&_ ]*$
+Validator.HTTPURL=^.*$
+Validator.HTTPJSESSIONID=^[A-Z0-9]{10,30}$
+
+# Validation of file related input
+Validator.FileName=^[a-zA-Z0-9!@#$%^&{}\\[\\]()_+\\-=,.~'` ]{1,255}$
+Validator.DirectoryName=^[a-zA-Z0-9:/\\\\!@#$%^&{}\\[\\]()_+\\-=,.~'` ]{1,255}$
+
+# Validation of dates. Controls whether or not 'lenient' dates are accepted.
+# See DataFormat.setLenient(boolean flag) for further details.
+Validator.AcceptLenientDates=false
diff --git a/src/main/resources/annotation-scripts/foundries/base.js b/src/main/resources/annotation-scripts/foundries/base.js
new file mode 100644
index 0000000..a21cce6
--- /dev/null
+++ b/src/main/resources/annotation-scripts/foundries/base.js
@@ -0,0 +1,15 @@
+define(["hint/foundries"], function (ah) {
+ ah["-"].push(
+ ["Base Annotation", "base/", "Structure"]
+ );
+
+ ah["base/"] = [
+ ["Structure", "s="]
+ ];
+
+ ah["base/s="] = [
+ ["s", "s", "Sentence"],
+ ["p", "p", "Paragraph"],
+ ["t", "t", "Text"]
+ ];
+});
diff --git a/src/main/resources/annotation-scripts/foundries/cnx.js b/src/main/resources/annotation-scripts/foundries/cnx.js
new file mode 100644
index 0000000..9316cbd
--- /dev/null
+++ b/src/main/resources/annotation-scripts/foundries/cnx.js
@@ -0,0 +1,63 @@
+define(["hint/foundries"], function (ah) {
+ ah["-"].push(
+ ["Connexor", "cnx/", "Constituency, Lemma, Morphology, Part-of-Speech, Syntax"]
+ );
+
+ ah["cnx/"] = [
+ ["Constituency", "c="],
+ ["Lemma", "l="],
+ ["Morphology", "m="],
+ ["Part-of-Speech", "p="],
+ ["Syntax", "syn="]
+ ];
+
+ ah["cnx/c="] = [
+ ["np", "np ", "Nominal Phrase"]
+ ];
+
+ // http://www.ids-mannheim.de/cosmas2/projekt/referenz/connexor/morph.html
+ ah["cnx/m="] = [
+ ["Abbr","Abbr ", "Nouns: Abbreviation"],
+ ["CMP","CMP ", "Adjective: Comparative"],
+ ["IMP", "IMP ", "Mood: Imperative"],
+ ["IND", "IND ", "Mood: Indicative"],
+ ["INF", "INF ", "Infinitive"],
+ ["ORD","ORD ", "Numeral: Ordinal"],
+ ["PAST", "PAST ", "Tense: past"],
+ ["PCP", "PCP ", "Participle"],
+ ["PERF", "PERF ", "Perfective Participle"],
+ ["PL","PL ", "Nouns: Plural"],
+ ["PRES", "PRES ", "Tense: present"],
+ ["PROG", "PROG ", "Progressive Participle"],
+ ["Prop","Prop ", "Nouns: Proper Noun"],
+ ["SUB", "SUB ", "Mood: Subjunctive"],
+ ["SUP","SUP ", "Adjective: Superlative"]
+ ];
+
+ // http://www.ids-mannheim.de/cosmas2/projekt/referenz/connexor/morph.html
+ ah["cnx/p="] = [
+ ["A", "A ", "Adjective"],
+ ["ADV", "ADV ", "Adverb"],
+ ["CC", "CC ", "Coordination Marker"],
+ ["CS", "CS ", "Clause Marker"],
+ ["DET", "DET ", "Determiner"],
+ ["INTERJ", "INTERJ ", "Interjection"],
+ ["N", "N ", "Noun"],
+ ["NUM", "NUM ", "Numeral"],
+ ["PREP", "PREP ", "Preposition"],
+ ["PRON", "PRON ", "Pro-Nominal"],
+ ["V", "V ", "Verb"]
+ ];
+
+ // http://www.ids-mannheim.de/cosmas2/projekt/referenz/connexor/syntax.html
+ ah["cnx/syn="] = [
+ ["@ADVL", "@ADVL ", "Adverbial Head"],
+ ["@AUX", "@AUX ", "Auxiliary Verb"],
+ ["@CC", "@CC ", "Coordination"]
+ ["@MAIN", "@MAIN ", "Main Verb"],
+ ["@NH", "@NH ", "Nominal Head"],
+ ["@POSTMOD", "@POSTMOD ", "Postmodifier"],
+ ["@PREMARK", "@PREMARK ", "Preposed Marker"],
+ ["@PREMOD", "@PREMOD ", "Premodifier"]
+ ];
+});
diff --git a/src/main/resources/annotation-scripts/foundries/corenlp.js b/src/main/resources/annotation-scripts/foundries/corenlp.js
new file mode 100644
index 0000000..ff3b44a
--- /dev/null
+++ b/src/main/resources/annotation-scripts/foundries/corenlp.js
@@ -0,0 +1,1374 @@
+define(["hint/foundries","hint/foundries/stts","hint/foundries/negranodes","hint/foundries/negraedges"],
+ function (ah, sttsArray, negraNodesArray, negraEdgesArray) {
+
+ ah["-"].push(
+ ["CoreNLP", "corenlp/", "Constituency, Named Entities, Part-of-Speech"]
+ );
+
+ ah["corenlp/"] = [
+ ["Constituency", "c="],
+ ["Named Entity", "ne=" , "Combined"],
+ ["Named Entity", "ne_dewac_175m_600=" , "ne_dewac_175m_600"],
+ ["Named Entity", "ne_hgc_175m_600=", "ne_hgc_175m_600"],
+ ["Part-of-Speech", "p="]
+ ];
+
+ ah["corenlp/ne="] = [
+ ["I-LOC", "I-LOC ", "Location"],
+ ["I-MISC", "I-MISC ", "Miscellaneous"],
+ ["I-ORG", "I-ORG ", "Organization"],
+ ["I-PER", "I-PER ", "Person"]
+ ];
+
+ ah["corenlp/ne_dewac_175m_600="] = [
+ ["I-LOC", "I-LOC ", "Location"],
+ ["I-MISC", "I-MISC ", "Miscellaneous"],
+ ["I-ORG", "I-ORG ", "Organization"],
+ ["I-PER", "I-PER ", "Person"]
+ ];
+
+ ah["corenlp/ne_hgc_175m_600="] = [
+ ["I-LOC", "I-LOC ", "Location"],
+ ["I-MISC", "I-MISC ", "Miscellaneous"],
+ ["I-ORG", "I-ORG ", "Organization"],
+ ["I-PER", "I-PER ", "Person"]
+ ];
+
+ ah["corenlp/p="] = [
+ ["ADJA","ADJA ", "Attributive Adjective"],
+ ["ADJD","ADJD ", "Predicative Adjective"],
+ ["ADV","ADV ", "Adverb"],
+ ["APPO","APPO ", "Postposition"],
+ ["APPR","APPR ", "Preposition"],
+ ["APPRART","APPRART ", "Preposition with Determiner"],
+ ["APZR","APZR ","Right Circumposition"],
+ ["ART","ART ", "Determiner"],
+ ["CARD","CARD ", "Cardinal Number"],
+ ["FM","FM ", "Foreign Material"],
+ ["ITJ","ITJ ", "Interjection"],
+ ["KOKOM","KOKOM ", "Comparison Particle"],
+ ["KON","KON ", "Coordinating Conjuncion"],
+ ["KOUI","KOUI ", "Subordinating Conjunction with 'zu'"],
+ ["KOUS","KOUS ", "Subordinating Conjunction with Sentence"],
+ ["NE","NE ", "Named Entity"],
+ ["NN","NN ", "Normal Nomina"],
+ ["PAV", "PAV ", "Pronominal Adverb"],
+ ["PDAT","PDAT ","Attributive Demonstrative Pronoun"],
+ ["PDS","PDS ", "Substitutive Demonstrative Pronoun"],
+ ["PIAT","PIAT ", "Attributive Indefinite Pronoun without Determiner"],
+ ["PIDAT","PIDAT ", "Attributive Indefinite Pronoun with Determiner"],
+ ["PIS","PIS ", "Substitutive Indefinite Pronoun"],
+ ["PPER","PPER ", "Personal Pronoun"],
+ ["PPOSAT","PPOSAT ", "Attributive Possessive Pronoun"],
+ ["PPOSS","PPOSS ", "Substitutive Possessive Pronoun"],
+ ["PRELAT","PRELAT ", "Attributive Relative Pronoun"],
+ ["PRELS","PRELS ", "Substitutive Relative Pronoun"],
+ ["PRF","PRF ", "Reflexive Pronoun"],
+ ["PROAV","PROAV ", "Pronominal Adverb"],
+ ["PTKA","PTKA ","Particle with Adjective"],
+ ["PTKANT","PTKANT ", "Answering Particle"],
+ ["PTKNEG","PTKNEG ", "Negation Particle"],
+ ["PTKVZ","PTKVZ ", "Separated Verbal Particle"],
+ ["PTKZU","PTKZU ", "'zu' Particle"],
+ ["PWAT","PWAT ", "Attributive Interrogative Pronoun"],
+ ["PWAV","PWAV ", "Adverbial Interrogative Pronoun"],
+ ["PWS","PWS ", "Substitutive Interrogative Pronoun"],
+ ["TRUNC","TRUNC ","Truncated"],
+ ["VAFIN","VAFIN ", "Auxiliary Finite Verb"],
+ ["VAIMP","VAIMP ", "Auxiliary Finite Imperative Verb"],
+ ["VAINF","VAINF ", "Auxiliary Infinite Verb"],
+ ["VAPP","VAPP ", "Auxiliary Perfect Participle"],
+ ["VMFIN","VMFIN ", "Modal Finite Verb"],
+ ["VMINF","VMINF ", "Modal Infinite Verb"],
+ ["VMPP","VMPP ", "Modal Perfect Participle"],
+ ["VVFIN","VVFIN ","Finite Verb"],
+ ["VVIMP","VVIMP ", "Finite Imperative Verb"],
+ ["VVINF","VVINF ", "Infinite Verb"],
+ ["VVIZU","VVIZU ", "Infinite Verb with 'zu'"],
+ ["VVPP","VVPP ", "Perfect Participle"],
+ ["XY", "XY ", "Non-Word"]
+ ];
+
+ ah["corenlp/c="] = [
+ ["AA", "AA", "superlative phrase with 'am'"],
+ ["AP","AP", "adjektive phrase"],
+ ["AVP","AVP", "adverbial phrase"],
+ ["CAP","CAP", "coordinated adjektive phrase"],
+ ["CAVP","CAVP", "coordinated adverbial phrase"],
+ ["CAC","CAC", "coordinated adposition"],
+ ["CCP","CCP", "coordinated complementiser"],
+ ["CH","CH", "chunk"],
+ ["CNP","CNP", "coordinated noun phrase"],
+ ["CO","CO", "coordination"],
+ ["CPP","CPP", "coordinated adpositional phrase"],
+ ["CS","CS", "coordinated sentence"],
+ ["CVP","CVP", "coordinated verb phrase (non-finite)"],
+ ["CVZ","CVZ", "coordinated zu-marked infinitive"],
+ ["DL","DL", "discourse level constituent"],
+ ["ISU","ISU", "idiosyncratis unit"],
+ ["MPN","MPN", "multi-word proper noun"],
+ ["MTA","MTA", "multi-token adjective"],
+ ["NM","NM", "multi-token number"],
+ ["NP","NP", "noun phrase"],
+ ["PP","PP", "adpositional phrase"],
+ ["QL","QL", "quasi-languag"],
+ ["ROOT","ROOT", "root node"],
+ ["S","S", "sentence"],
+ ["VP","VP", "verb phrase (non-finite)"],
+ ["VZ","VZ", "zu-marked infinitive"]
+ ];
+
+ ah["corenlp/c=AA-"] = [
+ ["AC", "AC ", "adpositional case marker"],
+ ["ADC", "ADC ", "adjective component"],
+ ["AMS", "AMS ", "measure argument of adj"],
+ ["APP", "APP ", "apposition"],
+ ["AVC", "AVC ", "adverbial phrase component"],
+ ["CC", "CC ", "comparative complement"],
+ ["CD", "CD ", "coordinating conjunction"],
+ ["CJ", "CJ ", "conjunct"],
+ ["CM", "CM ", "comparative concjunction"],
+ ["CP", "CP ", "complementizer"],
+ ["DA", "DA ", "dative"],
+ ["DH", "DH ", "discourse-level head"],
+ ["DM", "DM ", "discourse marker"],
+ ["GL", "GL ", "prenominal genitive"],
+ ["GR", "GR ", "postnominal genitive"],
+ ["HD", "HD ", "head"],
+ ["JU", "JU ", "junctor"],
+ ["MC", "MC ", "comitative"],
+ ["MI", "MI ", "instrumental"],
+ ["ML", "ML ", "locative"],
+ ["MNR", "MNR ", "postnominal modifier"],
+ ["MO", "MO ", "modifier"],
+ ["MR", "MR ", "rhetorical modifier"],
+ ["MW", "MW ", "way (directional modifier)"],
+ ["NG", "NG ", "negation"],
+ ["NK", "NK ", "noun kernel modifier"],
+ ["NMC", "NMC ", "numerical component"],
+ ["OA", "OA ", "accusative object"],
+ ["OA2", "OA2 ", "second accusative object"],
+ ["OC", "OC ", "clausal object"],
+ ["OG", "OG ", "genitive object"],
+ ["PD", "PD ", "predicate"],
+ ["PG", "PG ", "pseudo-genitive"],
+ ["PH", "PH ", "placeholder"],
+ ["PM", "PM ", "morphological particle"],
+ ["PNC", "PNC ", "proper noun component"],
+ ["RC", "RC ", "relative clause"],
+ ["RE", "RE ", "repeated element"],
+ ["RS", "RS ", "reported speech"],
+ ["SB", "SB ", "subject"],
+ ["SBP", "SBP ", "passivised subject (PP)"],
+ ["SP", "SP ", "subject or predicate"],
+ ["SVP", "SVP ", "separable verb prefix"],
+ ["UC", "UC ", "(idiosyncratic) unit component"],
+ ["VO", "VO ", "vocative"]
+ ];
+
+ ah["corenlp/c=AP-"] = [
+ ["AC", "AC ", "adpositional case marker"],
+ ["ADC", "ADC ", "adjective component"],
+ ["AMS", "AMS ", "measure argument of adj"],
+ ["APP", "APP ", "apposition"],
+ ["AVC", "AVC ", "adverbial phrase component"],
+ ["CC", "CC ", "comparative complement"],
+ ["CD", "CD ", "coordinating conjunction"],
+ ["CJ", "CJ ", "conjunct"],
+ ["CM", "CM ", "comparative concjunction"],
+ ["CP", "CP ", "complementizer"],
+ ["DA", "DA ", "dative"],
+ ["DH", "DH ", "discourse-level head"],
+ ["DM", "DM ", "discourse marker"],
+ ["GL", "GL ", "prenominal genitive"],
+ ["GR", "GR ", "postnominal genitive"],
+ ["HD", "HD ", "head"],
+ ["JU", "JU ", "junctor"],
+ ["MC", "MC ", "comitative"],
+ ["MI", "MI ", "instrumental"],
+ ["ML", "ML ", "locative"],
+ ["MNR", "MNR ", "postnominal modifier"],
+ ["MO", "MO ", "modifier"],
+ ["MR", "MR ", "rhetorical modifier"],
+ ["MW", "MW ", "way (directional modifier)"],
+ ["NG", "NG ", "negation"],
+ ["NK", "NK ", "noun kernel modifier"],
+ ["NMC", "NMC ", "numerical component"],
+ ["OA", "OA ", "accusative object"],
+ ["OA2", "OA2 ", "second accusative object"],
+ ["OC", "OC ", "clausal object"],
+ ["OG", "OG ", "genitive object"],
+ ["PD", "PD ", "predicate"],
+ ["PG", "PG ", "pseudo-genitive"],
+ ["PH", "PH ", "placeholder"],
+ ["PM", "PM ", "morphological particle"],
+ ["PNC", "PNC ", "proper noun component"],
+ ["RC", "RC ", "relative clause"],
+ ["RE", "RE ", "repeated element"],
+ ["RS", "RS ", "reported speech"],
+ ["SB", "SB ", "subject"],
+ ["SBP", "SBP ", "passivised subject (PP)"],
+ ["SP", "SP ", "subject or predicate"],
+ ["SVP", "SVP ", "separable verb prefix"],
+ ["UC", "UC ", "(idiosyncratic) unit component"],
+ ["VO", "VO ", "vocative"]
+ ];
+
+ ah["corenlp/c=AVP-"] = [
+ ["AC", "AC ", "adpositional case marker"],
+ ["ADC", "ADC ", "adjective component"],
+ ["AMS", "AMS ", "measure argument of adj"],
+ ["APP", "APP ", "apposition"],
+ ["AVC", "AVC ", "adverbial phrase component"],
+ ["CC", "CC ", "comparative complement"],
+ ["CD", "CD ", "coordinating conjunction"],
+ ["CJ", "CJ ", "conjunct"],
+ ["CM", "CM ", "comparative concjunction"],
+ ["CP", "CP ", "complementizer"],
+ ["DA", "DA ", "dative"],
+ ["DH", "DH ", "discourse-level head"],
+ ["DM", "DM ", "discourse marker"],
+ ["GL", "GL ", "prenominal genitive"],
+ ["GR", "GR ", "postnominal genitive"],
+ ["HD", "HD ", "head"],
+ ["JU", "JU ", "junctor"],
+ ["MC", "MC ", "comitative"],
+ ["MI", "MI ", "instrumental"],
+ ["ML", "ML ", "locative"],
+ ["MNR", "MNR ", "postnominal modifier"],
+ ["MO", "MO ", "modifier"],
+ ["MR", "MR ", "rhetorical modifier"],
+ ["MW", "MW ", "way (directional modifier)"],
+ ["NG", "NG ", "negation"],
+ ["NK", "NK ", "noun kernel modifier"],
+ ["NMC", "NMC ", "numerical component"],
+ ["OA", "OA ", "accusative object"],
+ ["OA2", "OA2 ", "second accusative object"],
+ ["OC", "OC ", "clausal object"],
+ ["OG", "OG ", "genitive object"],
+ ["PD", "PD ", "predicate"],
+ ["PG", "PG ", "pseudo-genitive"],
+ ["PH", "PH ", "placeholder"],
+ ["PM", "PM ", "morphological particle"],
+ ["PNC", "PNC ", "proper noun component"],
+ ["RC", "RC ", "relative clause"],
+ ["RE", "RE ", "repeated element"],
+ ["RS", "RS ", "reported speech"],
+ ["SB", "SB ", "subject"],
+ ["SBP", "SBP ", "passivised subject (PP)"],
+ ["SP", "SP ", "subject or predicate"],
+ ["SVP", "SVP ", "separable verb prefix"],
+ ["UC", "UC ", "(idiosyncratic) unit component"],
+ ["VO", "VO ", "vocative"]
+ ];
+
+ ah["corenlp/c=CAP-"] = [
+ ["AC", "AC ", "adpositional case marker"],
+ ["ADC", "ADC ", "adjective component"],
+ ["AMS", "AMS ", "measure argument of adj"],
+ ["APP", "APP ", "apposition"],
+ ["AVC", "AVC ", "adverbial phrase component"],
+ ["CC", "CC ", "comparative complement"],
+ ["CD", "CD ", "coordinating conjunction"],
+ ["CJ", "CJ ", "conjunct"],
+ ["CM", "CM ", "comparative concjunction"],
+ ["CP", "CP ", "complementizer"],
+ ["DA", "DA ", "dative"],
+ ["DH", "DH ", "discourse-level head"],
+ ["DM", "DM ", "discourse marker"],
+ ["GL", "GL ", "prenominal genitive"],
+ ["GR", "GR ", "postnominal genitive"],
+ ["HD", "HD ", "head"],
+ ["JU", "JU ", "junctor"],
+ ["MC", "MC ", "comitative"],
+ ["MI", "MI ", "instrumental"],
+ ["ML", "ML ", "locative"],
+ ["MNR", "MNR ", "postnominal modifier"],
+ ["MO", "MO ", "modifier"],
+ ["MR", "MR ", "rhetorical modifier"],
+ ["MW", "MW ", "way (directional modifier)"],
+ ["NG", "NG ", "negation"],
+ ["NK", "NK ", "noun kernel modifier"],
+ ["NMC", "NMC ", "numerical component"],
+ ["OA", "OA ", "accusative object"],
+ ["OA2", "OA2 ", "second accusative object"],
+ ["OC", "OC ", "clausal object"],
+ ["OG", "OG ", "genitive object"],
+ ["PD", "PD ", "predicate"],
+ ["PG", "PG ", "pseudo-genitive"],
+ ["PH", "PH ", "placeholder"],
+ ["PM", "PM ", "morphological particle"],
+ ["PNC", "PNC ", "proper noun component"],
+ ["RC", "RC ", "relative clause"],
+ ["RE", "RE ", "repeated element"],
+ ["RS", "RS ", "reported speech"],
+ ["SB", "SB ", "subject"],
+ ["SBP", "SBP ", "passivised subject (PP)"],
+ ["SP", "SP ", "subject or predicate"],
+ ["SVP", "SVP ", "separable verb prefix"],
+ ["UC", "UC ", "(idiosyncratic) unit component"],
+ ["VO", "VO ", "vocative"]
+ ];
+
+ ah["corenlp/c=CAVP-"] = [
+ ["AC", "AC ", "adpositional case marker"],
+ ["ADC", "ADC ", "adjective component"],
+ ["AMS", "AMS ", "measure argument of adj"],
+ ["APP", "APP ", "apposition"],
+ ["AVC", "AVC ", "adverbial phrase component"],
+ ["CC", "CC ", "comparative complement"],
+ ["CD", "CD ", "coordinating conjunction"],
+ ["CJ", "CJ ", "conjunct"],
+ ["CM", "CM ", "comparative concjunction"],
+ ["CP", "CP ", "complementizer"],
+ ["DA", "DA ", "dative"],
+ ["DH", "DH ", "discourse-level head"],
+ ["DM", "DM ", "discourse marker"],
+ ["GL", "GL ", "prenominal genitive"],
+ ["GR", "GR ", "postnominal genitive"],
+ ["HD", "HD ", "head"],
+ ["JU", "JU ", "junctor"],
+ ["MC", "MC ", "comitative"],
+ ["MI", "MI ", "instrumental"],
+ ["ML", "ML ", "locative"],
+ ["MNR", "MNR ", "postnominal modifier"],
+ ["MO", "MO ", "modifier"],
+ ["MR", "MR ", "rhetorical modifier"],
+ ["MW", "MW ", "way (directional modifier)"],
+ ["NG", "NG ", "negation"],
+ ["NK", "NK ", "noun kernel modifier"],
+ ["NMC", "NMC ", "numerical component"],
+ ["OA", "OA ", "accusative object"],
+ ["OA2", "OA2 ", "second accusative object"],
+ ["OC", "OC ", "clausal object"],
+ ["OG", "OG ", "genitive object"],
+ ["PD", "PD ", "predicate"],
+ ["PG", "PG ", "pseudo-genitive"],
+ ["PH", "PH ", "placeholder"],
+ ["PM", "PM ", "morphological particle"],
+ ["PNC", "PNC ", "proper noun component"],
+ ["RC", "RC ", "relative clause"],
+ ["RE", "RE ", "repeated element"],
+ ["RS", "RS ", "reported speech"],
+ ["SB", "SB ", "subject"],
+ ["SBP", "SBP ", "passivised subject (PP)"],
+ ["SP", "SP ", "subject or predicate"],
+ ["SVP", "SVP ", "separable verb prefix"],
+ ["UC", "UC ", "(idiosyncratic) unit component"],
+ ["VO", "VO ", "vocative"]
+ ];
+
+ ah["corenlp/c=CAC-"] = [
+ ["AC", "AC ", "adpositional case marker"],
+ ["ADC", "ADC ", "adjective component"],
+ ["AMS", "AMS ", "measure argument of adj"],
+ ["APP", "APP ", "apposition"],
+ ["AVC", "AVC ", "adverbial phrase component"],
+ ["CC", "CC ", "comparative complement"],
+ ["CD", "CD ", "coordinating conjunction"],
+ ["CJ", "CJ ", "conjunct"],
+ ["CM", "CM ", "comparative concjunction"],
+ ["CP", "CP ", "complementizer"],
+ ["DA", "DA ", "dative"],
+ ["DH", "DH ", "discourse-level head"],
+ ["DM", "DM ", "discourse marker"],
+ ["GL", "GL ", "prenominal genitive"],
+ ["GR", "GR ", "postnominal genitive"],
+ ["HD", "HD ", "head"],
+ ["JU", "JU ", "junctor"],
+ ["MC", "MC ", "comitative"],
+ ["MI", "MI ", "instrumental"],
+ ["ML", "ML ", "locative"],
+ ["MNR", "MNR ", "postnominal modifier"],
+ ["MO", "MO ", "modifier"],
+ ["MR", "MR ", "rhetorical modifier"],
+ ["MW", "MW ", "way (directional modifier)"],
+ ["NG", "NG ", "negation"],
+ ["NK", "NK ", "noun kernel modifier"],
+ ["NMC", "NMC ", "numerical component"],
+ ["OA", "OA ", "accusative object"],
+ ["OA2", "OA2 ", "second accusative object"],
+ ["OC", "OC ", "clausal object"],
+ ["OG", "OG ", "genitive object"],
+ ["PD", "PD ", "predicate"],
+ ["PG", "PG ", "pseudo-genitive"],
+ ["PH", "PH ", "placeholder"],
+ ["PM", "PM ", "morphological particle"],
+ ["PNC", "PNC ", "proper noun component"],
+ ["RC", "RC ", "relative clause"],
+ ["RE", "RE ", "repeated element"],
+ ["RS", "RS ", "reported speech"],
+ ["SB", "SB ", "subject"],
+ ["SBP", "SBP ", "passivised subject (PP)"],
+ ["SP", "SP ", "subject or predicate"],
+ ["SVP", "SVP ", "separable verb prefix"],
+ ["UC", "UC ", "(idiosyncratic) unit component"],
+ ["VO", "VO ", "vocative"]
+ ];
+
+ ah["corenlp/c=CCP-"] = [
+ ["AC", "AC ", "adpositional case marker"],
+ ["ADC", "ADC ", "adjective component"],
+ ["AMS", "AMS ", "measure argument of adj"],
+ ["APP", "APP ", "apposition"],
+ ["AVC", "AVC ", "adverbial phrase component"],
+ ["CC", "CC ", "comparative complement"],
+ ["CD", "CD ", "coordinating conjunction"],
+ ["CJ", "CJ ", "conjunct"],
+ ["CM", "CM ", "comparative concjunction"],
+ ["CP", "CP ", "complementizer"],
+ ["DA", "DA ", "dative"],
+ ["DH", "DH ", "discourse-level head"],
+ ["DM", "DM ", "discourse marker"],
+ ["GL", "GL ", "prenominal genitive"],
+ ["GR", "GR ", "postnominal genitive"],
+ ["HD", "HD ", "head"],
+ ["JU", "JU ", "junctor"],
+ ["MC", "MC ", "comitative"],
+ ["MI", "MI ", "instrumental"],
+ ["ML", "ML ", "locative"],
+ ["MNR", "MNR ", "postnominal modifier"],
+ ["MO", "MO ", "modifier"],
+ ["MR", "MR ", "rhetorical modifier"],
+ ["MW", "MW ", "way (directional modifier)"],
+ ["NG", "NG ", "negation"],
+ ["NK", "NK ", "noun kernel modifier"],
+ ["NMC", "NMC ", "numerical component"],
+ ["OA", "OA ", "accusative object"],
+ ["OA2", "OA2 ", "second accusative object"],
+ ["OC", "OC ", "clausal object"],
+ ["OG", "OG ", "genitive object"],
+ ["PD", "PD ", "predicate"],
+ ["PG", "PG ", "pseudo-genitive"],
+ ["PH", "PH ", "placeholder"],
+ ["PM", "PM ", "morphological particle"],
+ ["PNC", "PNC ", "proper noun component"],
+ ["RC", "RC ", "relative clause"],
+ ["RE", "RE ", "repeated element"],
+ ["RS", "RS ", "reported speech"],
+ ["SB", "SB ", "subject"],
+ ["SBP", "SBP ", "passivised subject (PP)"],
+ ["SP", "SP ", "subject or predicate"],
+ ["SVP", "SVP ", "separable verb prefix"],
+ ["UC", "UC ", "(idiosyncratic) unit component"],
+ ["VO", "VO ", "vocative"]
+ ];
+
+ ah["corenlp/c=CH-"] = [
+ ["AC", "AC ", "adpositional case marker"],
+ ["ADC", "ADC ", "adjective component"],
+ ["AMS", "AMS ", "measure argument of adj"],
+ ["APP", "APP ", "apposition"],
+ ["AVC", "AVC ", "adverbial phrase component"],
+ ["CC", "CC ", "comparative complement"],
+ ["CD", "CD ", "coordinating conjunction"],
+ ["CJ", "CJ ", "conjunct"],
+ ["CM", "CM ", "comparative concjunction"],
+ ["CP", "CP ", "complementizer"],
+ ["DA", "DA ", "dative"],
+ ["DH", "DH ", "discourse-level head"],
+ ["DM", "DM ", "discourse marker"],
+ ["GL", "GL ", "prenominal genitive"],
+ ["GR", "GR ", "postnominal genitive"],
+ ["HD", "HD ", "head"],
+ ["JU", "JU ", "junctor"],
+ ["MC", "MC ", "comitative"],
+ ["MI", "MI ", "instrumental"],
+ ["ML", "ML ", "locative"],
+ ["MNR", "MNR ", "postnominal modifier"],
+ ["MO", "MO ", "modifier"],
+ ["MR", "MR ", "rhetorical modifier"],
+ ["MW", "MW ", "way (directional modifier)"],
+ ["NG", "NG ", "negation"],
+ ["NK", "NK ", "noun kernel modifier"],
+ ["NMC", "NMC ", "numerical component"],
+ ["OA", "OA ", "accusative object"],
+ ["OA2", "OA2 ", "second accusative object"],
+ ["OC", "OC ", "clausal object"],
+ ["OG", "OG ", "genitive object"],
+ ["PD", "PD ", "predicate"],
+ ["PG", "PG ", "pseudo-genitive"],
+ ["PH", "PH ", "placeholder"],
+ ["PM", "PM ", "morphological particle"],
+ ["PNC", "PNC ", "proper noun component"],
+ ["RC", "RC ", "relative clause"],
+ ["RE", "RE ", "repeated element"],
+ ["RS", "RS ", "reported speech"],
+ ["SB", "SB ", "subject"],
+ ["SBP", "SBP ", "passivised subject (PP)"],
+ ["SP", "SP ", "subject or predicate"],
+ ["SVP", "SVP ", "separable verb prefix"],
+ ["UC", "UC ", "(idiosyncratic) unit component"],
+ ["VO", "VO ", "vocative"]
+ ];
+
+ ah["corenlp/c=CNP-"] = [
+ ["AC", "AC ", "adpositional case marker"],
+ ["ADC", "ADC ", "adjective component"],
+ ["AMS", "AMS ", "measure argument of adj"],
+ ["APP", "APP ", "apposition"],
+ ["AVC", "AVC ", "adverbial phrase component"],
+ ["CC", "CC ", "comparative complement"],
+ ["CD", "CD ", "coordinating conjunction"],
+ ["CJ", "CJ ", "conjunct"],
+ ["CM", "CM ", "comparative concjunction"],
+ ["CP", "CP ", "complementizer"],
+ ["DA", "DA ", "dative"],
+ ["DH", "DH ", "discourse-level head"],
+ ["DM", "DM ", "discourse marker"],
+ ["GL", "GL ", "prenominal genitive"],
+ ["GR", "GR ", "postnominal genitive"],
+ ["HD", "HD ", "head"],
+ ["JU", "JU ", "junctor"],
+ ["MC", "MC ", "comitative"],
+ ["MI", "MI ", "instrumental"],
+ ["ML", "ML ", "locative"],
+ ["MNR", "MNR ", "postnominal modifier"],
+ ["MO", "MO ", "modifier"],
+ ["MR", "MR ", "rhetorical modifier"],
+ ["MW", "MW ", "way (directional modifier)"],
+ ["NG", "NG ", "negation"],
+ ["NK", "NK ", "noun kernel modifier"],
+ ["NMC", "NMC ", "numerical component"],
+ ["OA", "OA ", "accusative object"],
+ ["OA2", "OA2 ", "second accusative object"],
+ ["OC", "OC ", "clausal object"],
+ ["OG", "OG ", "genitive object"],
+ ["PD", "PD ", "predicate"],
+ ["PG", "PG ", "pseudo-genitive"],
+ ["PH", "PH ", "placeholder"],
+ ["PM", "PM ", "morphological particle"],
+ ["PNC", "PNC ", "proper noun component"],
+ ["RC", "RC ", "relative clause"],
+ ["RE", "RE ", "repeated element"],
+ ["RS", "RS ", "reported speech"],
+ ["SB", "SB ", "subject"],
+ ["SBP", "SBP ", "passivised subject (PP)"],
+ ["SP", "SP ", "subject or predicate"],
+ ["SVP", "SVP ", "separable verb prefix"],
+ ["UC", "UC ", "(idiosyncratic) unit component"],
+ ["VO", "VO ", "vocative"]
+ ];
+
+ ah["corenlp/c=CO-"] = [
+ ["AC", "AC ", "adpositional case marker"],
+ ["ADC", "ADC ", "adjective component"],
+ ["AMS", "AMS ", "measure argument of adj"],
+ ["APP", "APP ", "apposition"],
+ ["AVC", "AVC ", "adverbial phrase component"],
+ ["CC", "CC ", "comparative complement"],
+ ["CD", "CD ", "coordinating conjunction"],
+ ["CJ", "CJ ", "conjunct"],
+ ["CM", "CM ", "comparative concjunction"],
+ ["CP", "CP ", "complementizer"],
+ ["DA", "DA ", "dative"],
+ ["DH", "DH ", "discourse-level head"],
+ ["DM", "DM ", "discourse marker"],
+ ["GL", "GL ", "prenominal genitive"],
+ ["GR", "GR ", "postnominal genitive"],
+ ["HD", "HD ", "head"],
+ ["JU", "JU ", "junctor"],
+ ["MC", "MC ", "comitative"],
+ ["MI", "MI ", "instrumental"],
+ ["ML", "ML ", "locative"],
+ ["MNR", "MNR ", "postnominal modifier"],
+ ["MO", "MO ", "modifier"],
+ ["MR", "MR ", "rhetorical modifier"],
+ ["MW", "MW ", "way (directional modifier)"],
+ ["NG", "NG ", "negation"],
+ ["NK", "NK ", "noun kernel modifier"],
+ ["NMC", "NMC ", "numerical component"],
+ ["OA", "OA ", "accusative object"],
+ ["OA2", "OA2 ", "second accusative object"],
+ ["OC", "OC ", "clausal object"],
+ ["OG", "OG ", "genitive object"],
+ ["PD", "PD ", "predicate"],
+ ["PG", "PG ", "pseudo-genitive"],
+ ["PH", "PH ", "placeholder"],
+ ["PM", "PM ", "morphological particle"],
+ ["PNC", "PNC ", "proper noun component"],
+ ["RC", "RC ", "relative clause"],
+ ["RE", "RE ", "repeated element"],
+ ["RS", "RS ", "reported speech"],
+ ["SB", "SB ", "subject"],
+ ["SBP", "SBP ", "passivised subject (PP)"],
+ ["SP", "SP ", "subject or predicate"],
+ ["SVP", "SVP ", "separable verb prefix"],
+ ["UC", "UC ", "(idiosyncratic) unit component"],
+ ["VO", "VO ", "vocative"]
+ ];
+
+ ah["corenlp/c=CPP-"] = [
+ ["AC", "AC ", "adpositional case marker"],
+ ["ADC", "ADC ", "adjective component"],
+ ["AMS", "AMS ", "measure argument of adj"],
+ ["APP", "APP ", "apposition"],
+ ["AVC", "AVC ", "adverbial phrase component"],
+ ["CC", "CC ", "comparative complement"],
+ ["CD", "CD ", "coordinating conjunction"],
+ ["CJ", "CJ ", "conjunct"],
+ ["CM", "CM ", "comparative concjunction"],
+ ["CP", "CP ", "complementizer"],
+ ["DA", "DA ", "dative"],
+ ["DH", "DH ", "discourse-level head"],
+ ["DM", "DM ", "discourse marker"],
+ ["GL", "GL ", "prenominal genitive"],
+ ["GR", "GR ", "postnominal genitive"],
+ ["HD", "HD ", "head"],
+ ["JU", "JU ", "junctor"],
+ ["MC", "MC ", "comitative"],
+ ["MI", "MI ", "instrumental"],
+ ["ML", "ML ", "locative"],
+ ["MNR", "MNR ", "postnominal modifier"],
+ ["MO", "MO ", "modifier"],
+ ["MR", "MR ", "rhetorical modifier"],
+ ["MW", "MW ", "way (directional modifier)"],
+ ["NG", "NG ", "negation"],
+ ["NK", "NK ", "noun kernel modifier"],
+ ["NMC", "NMC ", "numerical component"],
+ ["OA", "OA ", "accusative object"],
+ ["OA2", "OA2 ", "second accusative object"],
+ ["OC", "OC ", "clausal object"],
+ ["OG", "OG ", "genitive object"],
+ ["PD", "PD ", "predicate"],
+ ["PG", "PG ", "pseudo-genitive"],
+ ["PH", "PH ", "placeholder"],
+ ["PM", "PM ", "morphological particle"],
+ ["PNC", "PNC ", "proper noun component"],
+ ["RC", "RC ", "relative clause"],
+ ["RE", "RE ", "repeated element"],
+ ["RS", "RS ", "reported speech"],
+ ["SB", "SB ", "subject"],
+ ["SBP", "SBP ", "passivised subject (PP)"],
+ ["SP", "SP ", "subject or predicate"],
+ ["SVP", "SVP ", "separable verb prefix"],
+ ["UC", "UC ", "(idiosyncratic) unit component"],
+ ["VO", "VO ", "vocative"]
+ ];
+
+ ah["corenlp/c=CS-"] = [
+ ["AC", "AC ", "adpositional case marker"],
+ ["ADC", "ADC ", "adjective component"],
+ ["AMS", "AMS ", "measure argument of adj"],
+ ["APP", "APP ", "apposition"],
+ ["AVC", "AVC ", "adverbial phrase component"],
+ ["CC", "CC ", "comparative complement"],
+ ["CD", "CD ", "coordinating conjunction"],
+ ["CJ", "CJ ", "conjunct"],
+ ["CM", "CM ", "comparative concjunction"],
+ ["CP", "CP ", "complementizer"],
+ ["DA", "DA ", "dative"],
+ ["DH", "DH ", "discourse-level head"],
+ ["DM", "DM ", "discourse marker"],
+ ["GL", "GL ", "prenominal genitive"],
+ ["GR", "GR ", "postnominal genitive"],
+ ["HD", "HD ", "head"],
+ ["JU", "JU ", "junctor"],
+ ["MC", "MC ", "comitative"],
+ ["MI", "MI ", "instrumental"],
+ ["ML", "ML ", "locative"],
+ ["MNR", "MNR ", "postnominal modifier"],
+ ["MO", "MO ", "modifier"],
+ ["MR", "MR ", "rhetorical modifier"],
+ ["MW", "MW ", "way (directional modifier)"],
+ ["NG", "NG ", "negation"],
+ ["NK", "NK ", "noun kernel modifier"],
+ ["NMC", "NMC ", "numerical component"],
+ ["OA", "OA ", "accusative object"],
+ ["OA2", "OA2 ", "second accusative object"],
+ ["OC", "OC ", "clausal object"],
+ ["OG", "OG ", "genitive object"],
+ ["PD", "PD ", "predicate"],
+ ["PG", "PG ", "pseudo-genitive"],
+ ["PH", "PH ", "placeholder"],
+ ["PM", "PM ", "morphological particle"],
+ ["PNC", "PNC ", "proper noun component"],
+ ["RC", "RC ", "relative clause"],
+ ["RE", "RE ", "repeated element"],
+ ["RS", "RS ", "reported speech"],
+ ["SB", "SB ", "subject"],
+ ["SBP", "SBP ", "passivised subject (PP)"],
+ ["SP", "SP ", "subject or predicate"],
+ ["SVP", "SVP ", "separable verb prefix"],
+ ["UC", "UC ", "(idiosyncratic) unit component"],
+ ["VO", "VO ", "vocative"]
+ ];
+
+ ah["corenlp/c=CVP-"] = [
+ ["AC", "AC ", "adpositional case marker"],
+ ["ADC", "ADC ", "adjective component"],
+ ["AMS", "AMS ", "measure argument of adj"],
+ ["APP", "APP ", "apposition"],
+ ["AVC", "AVC ", "adverbial phrase component"],
+ ["CC", "CC ", "comparative complement"],
+ ["CD", "CD ", "coordinating conjunction"],
+ ["CJ", "CJ ", "conjunct"],
+ ["CM", "CM ", "comparative concjunction"],
+ ["CP", "CP ", "complementizer"],
+ ["DA", "DA ", "dative"],
+ ["DH", "DH ", "discourse-level head"],
+ ["DM", "DM ", "discourse marker"],
+ ["GL", "GL ", "prenominal genitive"],
+ ["GR", "GR ", "postnominal genitive"],
+ ["HD", "HD ", "head"],
+ ["JU", "JU ", "junctor"],
+ ["MC", "MC ", "comitative"],
+ ["MI", "MI ", "instrumental"],
+ ["ML", "ML ", "locative"],
+ ["MNR", "MNR ", "postnominal modifier"],
+ ["MO", "MO ", "modifier"],
+ ["MR", "MR ", "rhetorical modifier"],
+ ["MW", "MW ", "way (directional modifier)"],
+ ["NG", "NG ", "negation"],
+ ["NK", "NK ", "noun kernel modifier"],
+ ["NMC", "NMC ", "numerical component"],
+ ["OA", "OA ", "accusative object"],
+ ["OA2", "OA2 ", "second accusative object"],
+ ["OC", "OC ", "clausal object"],
+ ["OG", "OG ", "genitive object"],
+ ["PD", "PD ", "predicate"],
+ ["PG", "PG ", "pseudo-genitive"],
+ ["PH", "PH ", "placeholder"],
+ ["PM", "PM ", "morphological particle"],
+ ["PNC", "PNC ", "proper noun component"],
+ ["RC", "RC ", "relative clause"],
+ ["RE", "RE ", "repeated element"],
+ ["RS", "RS ", "reported speech"],
+ ["SB", "SB ", "subject"],
+ ["SBP", "SBP ", "passivised subject (PP)"],
+ ["SP", "SP ", "subject or predicate"],
+ ["SVP", "SVP ", "separable verb prefix"],
+ ["UC", "UC ", "(idiosyncratic) unit component"],
+ ["VO", "VO ", "vocative"]
+ ];
+
+ ah["corenlp/c=CVZ-"] = [
+ ["AC", "AC ", "adpositional case marker"],
+ ["ADC", "ADC ", "adjective component"],
+ ["AMS", "AMS ", "measure argument of adj"],
+ ["APP", "APP ", "apposition"],
+ ["AVC", "AVC ", "adverbial phrase component"],
+ ["CC", "CC ", "comparative complement"],
+ ["CD", "CD ", "coordinating conjunction"],
+ ["CJ", "CJ ", "conjunct"],
+ ["CM", "CM ", "comparative concjunction"],
+ ["CP", "CP ", "complementizer"],
+ ["DA", "DA ", "dative"],
+ ["DH", "DH ", "discourse-level head"],
+ ["DM", "DM ", "discourse marker"],
+ ["GL", "GL ", "prenominal genitive"],
+ ["GR", "GR ", "postnominal genitive"],
+ ["HD", "HD ", "head"],
+ ["JU", "JU ", "junctor"],
+ ["MC", "MC ", "comitative"],
+ ["MI", "MI ", "instrumental"],
+ ["ML", "ML ", "locative"],
+ ["MNR", "MNR ", "postnominal modifier"],
+ ["MO", "MO ", "modifier"],
+ ["MR", "MR ", "rhetorical modifier"],
+ ["MW", "MW ", "way (directional modifier)"],
+ ["NG", "NG ", "negation"],
+ ["NK", "NK ", "noun kernel modifier"],
+ ["NMC", "NMC ", "numerical component"],
+ ["OA", "OA ", "accusative object"],
+ ["OA2", "OA2 ", "second accusative object"],
+ ["OC", "OC ", "clausal object"],
+ ["OG", "OG ", "genitive object"],
+ ["PD", "PD ", "predicate"],
+ ["PG", "PG ", "pseudo-genitive"],
+ ["PH", "PH ", "placeholder"],
+ ["PM", "PM ", "morphological particle"],
+ ["PNC", "PNC ", "proper noun component"],
+ ["RC", "RC ", "relative clause"],
+ ["RE", "RE ", "repeated element"],
+ ["RS", "RS ", "reported speech"],
+ ["SB", "SB ", "subject"],
+ ["SBP", "SBP ", "passivised subject (PP)"],
+ ["SP", "SP ", "subject or predicate"],
+ ["SVP", "SVP ", "separable verb prefix"],
+ ["UC", "UC ", "(idiosyncratic) unit component"],
+ ["VO", "VO ", "vocative"]
+ ];
+
+ ah["corenlp/c=DL-"] = [
+ ["AC", "AC ", "adpositional case marker"],
+ ["ADC", "ADC ", "adjective component"],
+ ["AMS", "AMS ", "measure argument of adj"],
+ ["APP", "APP ", "apposition"],
+ ["AVC", "AVC ", "adverbial phrase component"],
+ ["CC", "CC ", "comparative complement"],
+ ["CD", "CD ", "coordinating conjunction"],
+ ["CJ", "CJ ", "conjunct"],
+ ["CM", "CM ", "comparative concjunction"],
+ ["CP", "CP ", "complementizer"],
+ ["DA", "DA ", "dative"],
+ ["DH", "DH ", "discourse-level head"],
+ ["DM", "DM ", "discourse marker"],
+ ["GL", "GL ", "prenominal genitive"],
+ ["GR", "GR ", "postnominal genitive"],
+ ["HD", "HD ", "head"],
+ ["JU", "JU ", "junctor"],
+ ["MC", "MC ", "comitative"],
+ ["MI", "MI ", "instrumental"],
+ ["ML", "ML ", "locative"],
+ ["MNR", "MNR ", "postnominal modifier"],
+ ["MO", "MO ", "modifier"],
+ ["MR", "MR ", "rhetorical modifier"],
+ ["MW", "MW ", "way (directional modifier)"],
+ ["NG", "NG ", "negation"],
+ ["NK", "NK ", "noun kernel modifier"],
+ ["NMC", "NMC ", "numerical component"],
+ ["OA", "OA ", "accusative object"],
+ ["OA2", "OA2 ", "second accusative object"],
+ ["OC", "OC ", "clausal object"],
+ ["OG", "OG ", "genitive object"],
+ ["PD", "PD ", "predicate"],
+ ["PG", "PG ", "pseudo-genitive"],
+ ["PH", "PH ", "placeholder"],
+ ["PM", "PM ", "morphological particle"],
+ ["PNC", "PNC ", "proper noun component"],
+ ["RC", "RC ", "relative clause"],
+ ["RE", "RE ", "repeated element"],
+ ["RS", "RS ", "reported speech"],
+ ["SB", "SB ", "subject"],
+ ["SBP", "SBP ", "passivised subject (PP)"],
+ ["SP", "SP ", "subject or predicate"],
+ ["SVP", "SVP ", "separable verb prefix"],
+ ["UC", "UC ", "(idiosyncratic) unit component"],
+ ["VO", "VO ", "vocative"]
+ ];
+
+ ah["corenlp/c=ISU-"] = [
+ ["AC", "AC ", "adpositional case marker"],
+ ["ADC", "ADC ", "adjective component"],
+ ["AMS", "AMS ", "measure argument of adj"],
+ ["APP", "APP ", "apposition"],
+ ["AVC", "AVC ", "adverbial phrase component"],
+ ["CC", "CC ", "comparative complement"],
+ ["CD", "CD ", "coordinating conjunction"],
+ ["CJ", "CJ ", "conjunct"],
+ ["CM", "CM ", "comparative concjunction"],
+ ["CP", "CP ", "complementizer"],
+ ["DA", "DA ", "dative"],
+ ["DH", "DH ", "discourse-level head"],
+ ["DM", "DM ", "discourse marker"],
+ ["GL", "GL ", "prenominal genitive"],
+ ["GR", "GR ", "postnominal genitive"],
+ ["HD", "HD ", "head"],
+ ["JU", "JU ", "junctor"],
+ ["MC", "MC ", "comitative"],
+ ["MI", "MI ", "instrumental"],
+ ["ML", "ML ", "locative"],
+ ["MNR", "MNR ", "postnominal modifier"],
+ ["MO", "MO ", "modifier"],
+ ["MR", "MR ", "rhetorical modifier"],
+ ["MW", "MW ", "way (directional modifier)"],
+ ["NG", "NG ", "negation"],
+ ["NK", "NK ", "noun kernel modifier"],
+ ["NMC", "NMC ", "numerical component"],
+ ["OA", "OA ", "accusative object"],
+ ["OA2", "OA2 ", "second accusative object"],
+ ["OC", "OC ", "clausal object"],
+ ["OG", "OG ", "genitive object"],
+ ["PD", "PD ", "predicate"],
+ ["PG", "PG ", "pseudo-genitive"],
+ ["PH", "PH ", "placeholder"],
+ ["PM", "PM ", "morphological particle"],
+ ["PNC", "PNC ", "proper noun component"],
+ ["RC", "RC ", "relative clause"],
+ ["RE", "RE ", "repeated element"],
+ ["RS", "RS ", "reported speech"],
+ ["SB", "SB ", "subject"],
+ ["SBP", "SBP ", "passivised subject (PP)"],
+ ["SP", "SP ", "subject or predicate"],
+ ["SVP", "SVP ", "separable verb prefix"],
+ ["UC", "UC ", "(idiosyncratic) unit component"],
+ ["VO", "VO ", "vocative"]
+ ];
+
+ ah["corenlp/c=MPN-"] = [
+ ["AC", "AC ", "adpositional case marker"],
+ ["ADC", "ADC ", "adjective component"],
+ ["AMS", "AMS ", "measure argument of adj"],
+ ["APP", "APP ", "apposition"],
+ ["AVC", "AVC ", "adverbial phrase component"],
+ ["CC", "CC ", "comparative complement"],
+ ["CD", "CD ", "coordinating conjunction"],
+ ["CJ", "CJ ", "conjunct"],
+ ["CM", "CM ", "comparative concjunction"],
+ ["CP", "CP ", "complementizer"],
+ ["DA", "DA ", "dative"],
+ ["DH", "DH ", "discourse-level head"],
+ ["DM", "DM ", "discourse marker"],
+ ["GL", "GL ", "prenominal genitive"],
+ ["GR", "GR ", "postnominal genitive"],
+ ["HD", "HD ", "head"],
+ ["JU", "JU ", "junctor"],
+ ["MC", "MC ", "comitative"],
+ ["MI", "MI ", "instrumental"],
+ ["ML", "ML ", "locative"],
+ ["MNR", "MNR ", "postnominal modifier"],
+ ["MO", "MO ", "modifier"],
+ ["MR", "MR ", "rhetorical modifier"],
+ ["MW", "MW ", "way (directional modifier)"],
+ ["NG", "NG ", "negation"],
+ ["NK", "NK ", "noun kernel modifier"],
+ ["NMC", "NMC ", "numerical component"],
+ ["OA", "OA ", "accusative object"],
+ ["OA2", "OA2 ", "second accusative object"],
+ ["OC", "OC ", "clausal object"],
+ ["OG", "OG ", "genitive object"],
+ ["PD", "PD ", "predicate"],
+ ["PG", "PG ", "pseudo-genitive"],
+ ["PH", "PH ", "placeholder"],
+ ["PM", "PM ", "morphological particle"],
+ ["PNC", "PNC ", "proper noun component"],
+ ["RC", "RC ", "relative clause"],
+ ["RE", "RE ", "repeated element"],
+ ["RS", "RS ", "reported speech"],
+ ["SB", "SB ", "subject"],
+ ["SBP", "SBP ", "passivised subject (PP)"],
+ ["SP", "SP ", "subject or predicate"],
+ ["SVP", "SVP ", "separable verb prefix"],
+ ["UC", "UC ", "(idiosyncratic) unit component"],
+ ["VO", "VO ", "vocative"]
+ ];
+
+ ah["corenlp/c=MTA-"] = [
+ ["AC", "AC ", "adpositional case marker"],
+ ["ADC", "ADC ", "adjective component"],
+ ["AMS", "AMS ", "measure argument of adj"],
+ ["APP", "APP ", "apposition"],
+ ["AVC", "AVC ", "adverbial phrase component"],
+ ["CC", "CC ", "comparative complement"],
+ ["CD", "CD ", "coordinating conjunction"],
+ ["CJ", "CJ ", "conjunct"],
+ ["CM", "CM ", "comparative concjunction"],
+ ["CP", "CP ", "complementizer"],
+ ["DA", "DA ", "dative"],
+ ["DH", "DH ", "discourse-level head"],
+ ["DM", "DM ", "discourse marker"],
+ ["GL", "GL ", "prenominal genitive"],
+ ["GR", "GR ", "postnominal genitive"],
+ ["HD", "HD ", "head"],
+ ["JU", "JU ", "junctor"],
+ ["MC", "MC ", "comitative"],
+ ["MI", "MI ", "instrumental"],
+ ["ML", "ML ", "locative"],
+ ["MNR", "MNR ", "postnominal modifier"],
+ ["MO", "MO ", "modifier"],
+ ["MR", "MR ", "rhetorical modifier"],
+ ["MW", "MW ", "way (directional modifier)"],
+ ["NG", "NG ", "negation"],
+ ["NK", "NK ", "noun kernel modifier"],
+ ["NMC", "NMC ", "numerical component"],
+ ["OA", "OA ", "accusative object"],
+ ["OA2", "OA2 ", "second accusative object"],
+ ["OC", "OC ", "clausal object"],
+ ["OG", "OG ", "genitive object"],
+ ["PD", "PD ", "predicate"],
+ ["PG", "PG ", "pseudo-genitive"],
+ ["PH", "PH ", "placeholder"],
+ ["PM", "PM ", "morphological particle"],
+ ["PNC", "PNC ", "proper noun component"],
+ ["RC", "RC ", "relative clause"],
+ ["RE", "RE ", "repeated element"],
+ ["RS", "RS ", "reported speech"],
+ ["SB", "SB ", "subject"],
+ ["SBP", "SBP ", "passivised subject (PP)"],
+ ["SP", "SP ", "subject or predicate"],
+ ["SVP", "SVP ", "separable verb prefix"],
+ ["UC", "UC ", "(idiosyncratic) unit component"],
+ ["VO", "VO ", "vocative"]
+ ];
+
+ ah["corenlp/c=NM-"] = [
+ ["AC", "AC ", "adpositional case marker"],
+ ["ADC", "ADC ", "adjective component"],
+ ["AMS", "AMS ", "measure argument of adj"],
+ ["APP", "APP ", "apposition"],
+ ["AVC", "AVC ", "adverbial phrase component"],
+ ["CC", "CC ", "comparative complement"],
+ ["CD", "CD ", "coordinating conjunction"],
+ ["CJ", "CJ ", "conjunct"],
+ ["CM", "CM ", "comparative concjunction"],
+ ["CP", "CP ", "complementizer"],
+ ["DA", "DA ", "dative"],
+ ["DH", "DH ", "discourse-level head"],
+ ["DM", "DM ", "discourse marker"],
+ ["GL", "GL ", "prenominal genitive"],
+ ["GR", "GR ", "postnominal genitive"],
+ ["HD", "HD ", "head"],
+ ["JU", "JU ", "junctor"],
+ ["MC", "MC ", "comitative"],
+ ["MI", "MI ", "instrumental"],
+ ["ML", "ML ", "locative"],
+ ["MNR", "MNR ", "postnominal modifier"],
+ ["MO", "MO ", "modifier"],
+ ["MR", "MR ", "rhetorical modifier"],
+ ["MW", "MW ", "way (directional modifier)"],
+ ["NG", "NG ", "negation"],
+ ["NK", "NK ", "noun kernel modifier"],
+ ["NMC", "NMC ", "numerical component"],
+ ["OA", "OA ", "accusative object"],
+ ["OA2", "OA2 ", "second accusative object"],
+ ["OC", "OC ", "clausal object"],
+ ["OG", "OG ", "genitive object"],
+ ["PD", "PD ", "predicate"],
+ ["PG", "PG ", "pseudo-genitive"],
+ ["PH", "PH ", "placeholder"],
+ ["PM", "PM ", "morphological particle"],
+ ["PNC", "PNC ", "proper noun component"],
+ ["RC", "RC ", "relative clause"],
+ ["RE", "RE ", "repeated element"],
+ ["RS", "RS ", "reported speech"],
+ ["SB", "SB ", "subject"],
+ ["SBP", "SBP ", "passivised subject (PP)"],
+ ["SP", "SP ", "subject or predicate"],
+ ["SVP", "SVP ", "separable verb prefix"],
+ ["UC", "UC ", "(idiosyncratic) unit component"],
+ ["VO", "VO ", "vocative"]
+ ];
+
+ ah["corenlp/c=NP-"] = [
+ ["AC", "AC ", "adpositional case marker"],
+ ["ADC", "ADC ", "adjective component"],
+ ["AMS", "AMS ", "measure argument of adj"],
+ ["APP", "APP ", "apposition"],
+ ["AVC", "AVC ", "adverbial phrase component"],
+ ["CC", "CC ", "comparative complement"],
+ ["CD", "CD ", "coordinating conjunction"],
+ ["CJ", "CJ ", "conjunct"],
+ ["CM", "CM ", "comparative concjunction"],
+ ["CP", "CP ", "complementizer"],
+ ["DA", "DA ", "dative"],
+ ["DH", "DH ", "discourse-level head"],
+ ["DM", "DM ", "discourse marker"],
+ ["GL", "GL ", "prenominal genitive"],
+ ["GR", "GR ", "postnominal genitive"],
+ ["HD", "HD ", "head"],
+ ["JU", "JU ", "junctor"],
+ ["MC", "MC ", "comitative"],
+ ["MI", "MI ", "instrumental"],
+ ["ML", "ML ", "locative"],
+ ["MNR", "MNR ", "postnominal modifier"],
+ ["MO", "MO ", "modifier"],
+ ["MR", "MR ", "rhetorical modifier"],
+ ["MW", "MW ", "way (directional modifier)"],
+ ["NG", "NG ", "negation"],
+ ["NK", "NK ", "noun kernel modifier"],
+ ["NMC", "NMC ", "numerical component"],
+ ["OA", "OA ", "accusative object"],
+ ["OA2", "OA2 ", "second accusative object"],
+ ["OC", "OC ", "clausal object"],
+ ["OG", "OG ", "genitive object"],
+ ["PD", "PD ", "predicate"],
+ ["PG", "PG ", "pseudo-genitive"],
+ ["PH", "PH ", "placeholder"],
+ ["PM", "PM ", "morphological particle"],
+ ["PNC", "PNC ", "proper noun component"],
+ ["RC", "RC ", "relative clause"],
+ ["RE", "RE ", "repeated element"],
+ ["RS", "RS ", "reported speech"],
+ ["SB", "SB ", "subject"],
+ ["SBP", "SBP ", "passivised subject (PP)"],
+ ["SP", "SP ", "subject or predicate"],
+ ["SVP", "SVP ", "separable verb prefix"],
+ ["UC", "UC ", "(idiosyncratic) unit component"],
+ ["VO", "VO ", "vocative"]
+ ];
+
+ ah["corenlp/c=PP-"] = [
+ ["AC", "AC ", "adpositional case marker"],
+ ["ADC", "ADC ", "adjective component"],
+ ["AMS", "AMS ", "measure argument of adj"],
+ ["APP", "APP ", "apposition"],
+ ["AVC", "AVC ", "adverbial phrase component"],
+ ["CC", "CC ", "comparative complement"],
+ ["CD", "CD ", "coordinating conjunction"],
+ ["CJ", "CJ ", "conjunct"],
+ ["CM", "CM ", "comparative concjunction"],
+ ["CP", "CP ", "complementizer"],
+ ["DA", "DA ", "dative"],
+ ["DH", "DH ", "discourse-level head"],
+ ["DM", "DM ", "discourse marker"],
+ ["GL", "GL ", "prenominal genitive"],
+ ["GR", "GR ", "postnominal genitive"],
+ ["HD", "HD ", "head"],
+ ["JU", "JU ", "junctor"],
+ ["MC", "MC ", "comitative"],
+ ["MI", "MI ", "instrumental"],
+ ["ML", "ML ", "locative"],
+ ["MNR", "MNR ", "postnominal modifier"],
+ ["MO", "MO ", "modifier"],
+ ["MR", "MR ", "rhetorical modifier"],
+ ["MW", "MW ", "way (directional modifier)"],
+ ["NG", "NG ", "negation"],
+ ["NK", "NK ", "noun kernel modifier"],
+ ["NMC", "NMC ", "numerical component"],
+ ["OA", "OA ", "accusative object"],
+ ["OA2", "OA2 ", "second accusative object"],
+ ["OC", "OC ", "clausal object"],
+ ["OG", "OG ", "genitive object"],
+ ["PD", "PD ", "predicate"],
+ ["PG", "PG ", "pseudo-genitive"],
+ ["PH", "PH ", "placeholder"],
+ ["PM", "PM ", "morphological particle"],
+ ["PNC", "PNC ", "proper noun component"],
+ ["RC", "RC ", "relative clause"],
+ ["RE", "RE ", "repeated element"],
+ ["RS", "RS ", "reported speech"],
+ ["SB", "SB ", "subject"],
+ ["SBP", "SBP ", "passivised subject (PP)"],
+ ["SP", "SP ", "subject or predicate"],
+ ["SVP", "SVP ", "separable verb prefix"],
+ ["UC", "UC ", "(idiosyncratic) unit component"],
+ ["VO", "VO ", "vocative"]
+ ];
+
+ ah["corenlp/c=QL-"] = [
+ ["AC", "AC ", "adpositional case marker"],
+ ["ADC", "ADC ", "adjective component"],
+ ["AMS", "AMS ", "measure argument of adj"],
+ ["APP", "APP ", "apposition"],
+ ["AVC", "AVC ", "adverbial phrase component"],
+ ["CC", "CC ", "comparative complement"],
+ ["CD", "CD ", "coordinating conjunction"],
+ ["CJ", "CJ ", "conjunct"],
+ ["CM", "CM ", "comparative concjunction"],
+ ["CP", "CP ", "complementizer"],
+ ["DA", "DA ", "dative"],
+ ["DH", "DH ", "discourse-level head"],
+ ["DM", "DM ", "discourse marker"],
+ ["GL", "GL ", "prenominal genitive"],
+ ["GR", "GR ", "postnominal genitive"],
+ ["HD", "HD ", "head"],
+ ["JU", "JU ", "junctor"],
+ ["MC", "MC ", "comitative"],
+ ["MI", "MI ", "instrumental"],
+ ["ML", "ML ", "locative"],
+ ["MNR", "MNR ", "postnominal modifier"],
+ ["MO", "MO ", "modifier"],
+ ["MR", "MR ", "rhetorical modifier"],
+ ["MW", "MW ", "way (directional modifier)"],
+ ["NG", "NG ", "negation"],
+ ["NK", "NK ", "noun kernel modifier"],
+ ["NMC", "NMC ", "numerical component"],
+ ["OA", "OA ", "accusative object"],
+ ["OA2", "OA2 ", "second accusative object"],
+ ["OC", "OC ", "clausal object"],
+ ["OG", "OG ", "genitive object"],
+ ["PD", "PD ", "predicate"],
+ ["PG", "PG ", "pseudo-genitive"],
+ ["PH", "PH ", "placeholder"],
+ ["PM", "PM ", "morphological particle"],
+ ["PNC", "PNC ", "proper noun component"],
+ ["RC", "RC ", "relative clause"],
+ ["RE", "RE ", "repeated element"],
+ ["RS", "RS ", "reported speech"],
+ ["SB", "SB ", "subject"],
+ ["SBP", "SBP ", "passivised subject (PP)"],
+ ["SP", "SP ", "subject or predicate"],
+ ["SVP", "SVP ", "separable verb prefix"],
+ ["UC", "UC ", "(idiosyncratic) unit component"],
+ ["VO", "VO ", "vocative"]
+ ];
+
+ ah["corenlp/c=ROOT-"] = [
+ ["AC", "AC ", "adpositional case marker"],
+ ["ADC", "ADC ", "adjective component"],
+ ["AMS", "AMS ", "measure argument of adj"],
+ ["APP", "APP ", "apposition"],
+ ["AVC", "AVC ", "adverbial phrase component"],
+ ["CC", "CC ", "comparative complement"],
+ ["CD", "CD ", "coordinating conjunction"],
+ ["CJ", "CJ ", "conjunct"],
+ ["CM", "CM ", "comparative concjunction"],
+ ["CP", "CP ", "complementizer"],
+ ["DA", "DA ", "dative"],
+ ["DH", "DH ", "discourse-level head"],
+ ["DM", "DM ", "discourse marker"],
+ ["GL", "GL ", "prenominal genitive"],
+ ["GR", "GR ", "postnominal genitive"],
+ ["HD", "HD ", "head"],
+ ["JU", "JU ", "junctor"],
+ ["MC", "MC ", "comitative"],
+ ["MI", "MI ", "instrumental"],
+ ["ML", "ML ", "locative"],
+ ["MNR", "MNR ", "postnominal modifier"],
+ ["MO", "MO ", "modifier"],
+ ["MR", "MR ", "rhetorical modifier"],
+ ["MW", "MW ", "way (directional modifier)"],
+ ["NG", "NG ", "negation"],
+ ["NK", "NK ", "noun kernel modifier"],
+ ["NMC", "NMC ", "numerical component"],
+ ["OA", "OA ", "accusative object"],
+ ["OA2", "OA2 ", "second accusative object"],
+ ["OC", "OC ", "clausal object"],
+ ["OG", "OG ", "genitive object"],
+ ["PD", "PD ", "predicate"],
+ ["PG", "PG ", "pseudo-genitive"],
+ ["PH", "PH ", "placeholder"],
+ ["PM", "PM ", "morphological particle"],
+ ["PNC", "PNC ", "proper noun component"],
+ ["RC", "RC ", "relative clause"],
+ ["RE", "RE ", "repeated element"],
+ ["RS", "RS ", "reported speech"],
+ ["SB", "SB ", "subject"],
+ ["SBP", "SBP ", "passivised subject (PP)"],
+ ["SP", "SP ", "subject or predicate"],
+ ["SVP", "SVP ", "separable verb prefix"],
+ ["UC", "UC ", "(idiosyncratic) unit component"],
+ ["VO", "VO ", "vocative"]
+ ];
+
+ ah["corenlp/c=S-"] = [
+ ["AC", "AC ", "adpositional case marker"],
+ ["ADC", "ADC ", "adjective component"],
+ ["AMS", "AMS ", "measure argument of adj"],
+ ["APP", "APP ", "apposition"],
+ ["AVC", "AVC ", "adverbial phrase component"],
+ ["CC", "CC ", "comparative complement"],
+ ["CD", "CD ", "coordinating conjunction"],
+ ["CJ", "CJ ", "conjunct"],
+ ["CM", "CM ", "comparative concjunction"],
+ ["CP", "CP ", "complementizer"],
+ ["DA", "DA ", "dative"],
+ ["DH", "DH ", "discourse-level head"],
+ ["DM", "DM ", "discourse marker"],
+ ["GL", "GL ", "prenominal genitive"],
+ ["GR", "GR ", "postnominal genitive"],
+ ["HD", "HD ", "head"],
+ ["JU", "JU ", "junctor"],
+ ["MC", "MC ", "comitative"],
+ ["MI", "MI ", "instrumental"],
+ ["ML", "ML ", "locative"],
+ ["MNR", "MNR ", "postnominal modifier"],
+ ["MO", "MO ", "modifier"],
+ ["MR", "MR ", "rhetorical modifier"],
+ ["MW", "MW ", "way (directional modifier)"],
+ ["NG", "NG ", "negation"],
+ ["NK", "NK ", "noun kernel modifier"],
+ ["NMC", "NMC ", "numerical component"],
+ ["OA", "OA ", "accusative object"],
+ ["OA2", "OA2 ", "second accusative object"],
+ ["OC", "OC ", "clausal object"],
+ ["OG", "OG ", "genitive object"],
+ ["PD", "PD ", "predicate"],
+ ["PG", "PG ", "pseudo-genitive"],
+ ["PH", "PH ", "placeholder"],
+ ["PM", "PM ", "morphological particle"],
+ ["PNC", "PNC ", "proper noun component"],
+ ["RC", "RC ", "relative clause"],
+ ["RE", "RE ", "repeated element"],
+ ["RS", "RS ", "reported speech"],
+ ["SB", "SB ", "subject"],
+ ["SBP", "SBP ", "passivised subject (PP)"],
+ ["SP", "SP ", "subject or predicate"],
+ ["SVP", "SVP ", "separable verb prefix"],
+ ["UC", "UC ", "(idiosyncratic) unit component"],
+ ["VO", "VO ", "vocative"]
+ ];
+
+ ah["corenlp/c=VP-"] = [
+ ["AC", "AC ", "adpositional case marker"],
+ ["ADC", "ADC ", "adjective component"],
+ ["AMS", "AMS ", "measure argument of adj"],
+ ["APP", "APP ", "apposition"],
+ ["AVC", "AVC ", "adverbial phrase component"],
+ ["CC", "CC ", "comparative complement"],
+ ["CD", "CD ", "coordinating conjunction"],
+ ["CJ", "CJ ", "conjunct"],
+ ["CM", "CM ", "comparative concjunction"],
+ ["CP", "CP ", "complementizer"],
+ ["DA", "DA ", "dative"],
+ ["DH", "DH ", "discourse-level head"],
+ ["DM", "DM ", "discourse marker"],
+ ["GL", "GL ", "prenominal genitive"],
+ ["GR", "GR ", "postnominal genitive"],
+ ["HD", "HD ", "head"],
+ ["JU", "JU ", "junctor"],
+ ["MC", "MC ", "comitative"],
+ ["MI", "MI ", "instrumental"],
+ ["ML", "ML ", "locative"],
+ ["MNR", "MNR ", "postnominal modifier"],
+ ["MO", "MO ", "modifier"],
+ ["MR", "MR ", "rhetorical modifier"],
+ ["MW", "MW ", "way (directional modifier)"],
+ ["NG", "NG ", "negation"],
+ ["NK", "NK ", "noun kernel modifier"],
+ ["NMC", "NMC ", "numerical component"],
+ ["OA", "OA ", "accusative object"],
+ ["OA2", "OA2 ", "second accusative object"],
+ ["OC", "OC ", "clausal object"],
+ ["OG", "OG ", "genitive object"],
+ ["PD", "PD ", "predicate"],
+ ["PG", "PG ", "pseudo-genitive"],
+ ["PH", "PH ", "placeholder"],
+ ["PM", "PM ", "morphological particle"],
+ ["PNC", "PNC ", "proper noun component"],
+ ["RC", "RC ", "relative clause"],
+ ["RE", "RE ", "repeated element"],
+ ["RS", "RS ", "reported speech"],
+ ["SB", "SB ", "subject"],
+ ["SBP", "SBP ", "passivised subject (PP)"],
+ ["SP", "SP ", "subject or predicate"],
+ ["SVP", "SVP ", "separable verb prefix"],
+ ["UC", "UC ", "(idiosyncratic) unit component"],
+ ["VO", "VO ", "vocative"]
+ ];
+
+ ah["corenlp/c=VZ-"] = [
+ ["AC", "AC ", "adpositional case marker"],
+ ["ADC", "ADC ", "adjective component"],
+ ["AMS", "AMS ", "measure argument of adj"],
+ ["APP", "APP ", "apposition"],
+ ["AVC", "AVC ", "adverbial phrase component"],
+ ["CC", "CC ", "comparative complement"],
+ ["CD", "CD ", "coordinating conjunction"],
+ ["CJ", "CJ ", "conjunct"],
+ ["CM", "CM ", "comparative concjunction"],
+ ["CP", "CP ", "complementizer"],
+ ["DA", "DA ", "dative"],
+ ["DH", "DH ", "discourse-level head"],
+ ["DM", "DM ", "discourse marker"],
+ ["GL", "GL ", "prenominal genitive"],
+ ["GR", "GR ", "postnominal genitive"],
+ ["HD", "HD ", "head"],
+ ["JU", "JU ", "junctor"],
+ ["MC", "MC ", "comitative"],
+ ["MI", "MI ", "instrumental"],
+ ["ML", "ML ", "locative"],
+ ["MNR", "MNR ", "postnominal modifier"],
+ ["MO", "MO ", "modifier"],
+ ["MR", "MR ", "rhetorical modifier"],
+ ["MW", "MW ", "way (directional modifier)"],
+ ["NG", "NG ", "negation"],
+ ["NK", "NK ", "noun kernel modifier"],
+ ["NMC", "NMC ", "numerical component"],
+ ["OA", "OA ", "accusative object"],
+ ["OA2", "OA2 ", "second accusative object"],
+ ["OC", "OC ", "clausal object"],
+ ["OG", "OG ", "genitive object"],
+ ["PD", "PD ", "predicate"],
+ ["PG", "PG ", "pseudo-genitive"],
+ ["PH", "PH ", "placeholder"],
+ ["PM", "PM ", "morphological particle"],
+ ["PNC", "PNC ", "proper noun component"],
+ ["RC", "RC ", "relative clause"],
+ ["RE", "RE ", "repeated element"],
+ ["RS", "RS ", "reported speech"],
+ ["SB", "SB ", "subject"],
+ ["SBP", "SBP ", "passivised subject (PP)"],
+ ["SP", "SP ", "subject or predicate"],
+ ["SVP", "SVP ", "separable verb prefix"],
+ ["UC", "UC ", "(idiosyncratic) unit component"],
+ ["VO", "VO ", "vocative"]
+ ];
+
+
+
+// for (var i in negraNodesArray) {
+// ah["corenlp/c=" + negraNodesArray[i][0] + '-'] = negraEdgesArray;
+// };
+});
diff --git a/src/main/resources/annotation-scripts/foundries/dereko.js b/src/main/resources/annotation-scripts/foundries/dereko.js
new file mode 100644
index 0000000..e31f42e
--- /dev/null
+++ b/src/main/resources/annotation-scripts/foundries/dereko.js
@@ -0,0 +1,9 @@
+define(["hint/foundries"], function (ah) {
+ ah["-"].push(
+ ["DeReKo", "dereko/", "Structure"]
+ );
+
+ ah["dereko/"] = [
+ ["Structure", "s="]
+ ];
+});
diff --git a/src/main/resources/annotation-scripts/foundries/drukola.js b/src/main/resources/annotation-scripts/foundries/drukola.js
new file mode 100644
index 0000000..b57f8a4
--- /dev/null
+++ b/src/main/resources/annotation-scripts/foundries/drukola.js
@@ -0,0 +1,104 @@
+define(["hint/foundries"], function (ah) {
+ ah["-"].push(
+ ["DRuKoLa", "drukola/", "Lemma, Morphology, Part-of-Speech"]
+ );
+
+ ah["drukola/"] = [
+ ["Lemma", "l="],
+ ["Morphology", "m="],
+ ["Part-of-Speech", "p="]
+ ];
+
+ ah["drukola/m="] = [
+ ["CTAG", "ctag:"]
+ ];
+
+ ah["drukola/m=ctag:"] = [
+ ["A","a ","Adjective"],
+ ["Y","y ","Abbreviation"],
+ ["AN","an ","Adjective, Indefinite"],
+ ["APRY","apry ","Adjective, Plural, Direct, Definite"],
+ ["APN","apn ","Adjective, Plural, Indefinite"],
+ ["APOY","apoy ","Adjective, Plural, Oblique, Definite"],
+ ["APON","apon ","Adjective, Plural, Oblique, Indefinite"],
+ ["ASRY","asry ","Adjective, Singular, Direct, Definite"],
+ ["ASN","asn ","Adjective, Singular, Indefinite"],
+ ["ASOY","asoy ","Adjective, Singular, Oblique, Definite"],
+ ["ASON","ason ","Adjective, Singular, Oblique, Indefinite"],
+ ["ASVY","asvy ","Adjective, Singular, Vocative, Definite"],
+ ["ASVN","asvn ","Adjective, Singular, Vocative, Indefinite"],
+ ["R","r ","Adverb"],
+ ["RC","rc ","Adverb, Portmanteau"],
+ ["TS","ts ","Article, Definite or Possessive, Singular"],
+ ["TP","tp ","Article, Indefinite or Possessive, Plural"],
+ ["TPR","tpr ","Article, non-Possessive, Plural, Direct"],
+ ["TPO","tpo ","Article, non-Possessive, Plural, Oblique"],
+ ["TSR","tsr ","Article, non-Possessive, Singular, Direct"],
+ ["TSO","tso ","Article, non-Possessive, Singular, Oblique"],
+ ["NPRY","npry ","Common Noun, Plural, Direct, Definite"],
+ ["NPN","npn ","Common Noun, Plural, Indefinite"],
+ ["NPOY","npoy ","Common Noun, Plural, Oblique, Definite"],
+ ["NPVY","npvy ","Common Noun, Plural, Vocative, Definite"],
+ ["NN","nn ","Common Noun, singular"],
+ ["NSY","nsy ","Common Noun, Singular, Definite"],
+ ["NSRY","nsry ","Common Noun, Singular, Direct, Definite"],
+ ["NSRN","nsrn ","Common Noun, Singular, Direct, Indefinite"],
+ ["NSN","nsn ","Common Noun, Singular, Indefinite"],
+ ["NSOY","nsoy ","Common Noun, Singular, Oblique, Definite"],
+ ["NSON","nson ","Common Noun, Singular, Oblique, Indefinite"],
+ ["NSVY","nsvy ","Common Noun, Singular, Vocative, Definite"],
+ ["NSVN","nsvn ","Common Noun, Singular, Vocative, Indefinite"],
+ ["CR","cr ","Conjunctio, portmanteau"],
+ ["C","c ","Conjunction"],
+ ["QF","qf ","Future Particle"],
+ ["QN","qn ","Infinitival Particle"],
+ ["I","i ","Interjection"],
+ ["QZ","qz ","Negative Particle"],
+ ["M","m ","Numeral"],
+ ["PP","pp ","Personal Pronoun"],
+ ["PPP","ppp ","Personal Pronoun, Plural"],
+ ["PPPA","pppa ","Personal Pronoun, Plural, Acc."],
+ ["PPPD","pppd ","Personal Pronoun, Plural, Dative"],
+ ["PPPR","pppr ","Personal Pronoun, Plural, Direct"],
+ ["PPPO","pppo ","Personal Pronoun, Plural, Oblique"],
+ ["PPS","pps ","Personal Pronoun, Singular"],
+ ["PPSA","ppsa ","Personal Pronoun, Singular, Accusative"],
+ ["PPSD","ppsd ","Personal Pronoun, Singular, Dative"],
+ ["PPSR","ppsr ","Personal Pronoun, Singular, Direct"],
+ ["PPSN","ppsn ","Personal Pronoun, Singular, Nominative"],
+ ["PPSO","ppso ","Personal Pronoun, Singular, Oblique"],
+ ["S","s ","Preposition"],
+ ["DMPR","dmpr ","Pronoun or Determiner, Demonstrative, Plural, Direct"],
+ ["DMPO","dmpo ","Pronoun or Determiner, Demonstrative, Plural, Oblique"],
+ ["DMSR","dmsr ","Pronoun or Determiner, Demonstrative, Singular, Direct"],
+ ["DMSO","dmso ","Pronoun or Determiner, Demonstrative, Singular, Oblique"],
+ ["PS","ps ","Pronoun or Determiner, Poss or Emph"],
+ ["PSS","pss ","Pronoun or Determiner, Poss or Emph, Singular"],
+ ["RELR","relr ","Pronoun or Determiner, Relative, Direct"],
+ ["RELO","relo ","Pronoun or Determiner, Relative, Oblique"],
+ ["NP","np ","Proper Noun"],
+ ["PI","pi ","Quantifier Pronoun or Determiner"],
+ ["PXA","pxa ","Reflexive Pronoun, Accusative"],
+ ["PXD","pxd ","Reflexive Pronoun, Dative"],
+ ["X","x ","Residual"],
+ ["QS","qs ","Subjunctive Particle"],
+ ["VA","va ","Verb, Auxiliary"],
+ ["VA1","va1 ","Verb, Auxiliary, 1st person"],
+ ["VA2P","va2p ","Verb, Auxiliary, 2nd person, Plural"],
+ ["VA2S","va2s ","Verb, Auxiliary, 2nd person, Singular"],
+ ["VA3","va3 ","Verb, Auxiliary, 3rd person"],
+ ["VA3P","va3p ","Verb, Auxiliary, 3rd person, Plural"],
+ ["VA3S","va3s ","Verb, Auxiliary, 3rd person, Singular"],
+ ["VA1P","va1p ","Verb, Auxiliary,1st person, Plural"],
+ ["VA1S","va1s ","Verb, Auxiliary,1st person, Singular"],
+ ["VG","vg ","Verb, Gerund"],
+ ["VN","vn ","Verb, Infinitive"],
+ ["V1","v1 ","Verb, Main, 1st person"],
+ ["V2","v2 ","Verb, Main, 2nd person"],
+ ["V3","v3 ","Verb, Main, 3rd person"],
+ ["VPPF","vppf ","Verb, Participle, Plural, Feminine"],
+ ["VPPM","vppm ","Verb, Participle, Plural, Masculine"],
+ ["VPSF","vpsf ","Verb, Participle, Singular, Feminine"],
+ ["VPSM","vpsm ","Verb, Participle, Singular, Masculine"]
+ ];
+});
diff --git a/src/main/resources/annotation-scripts/foundries/lwc.js b/src/main/resources/annotation-scripts/foundries/lwc.js
new file mode 100644
index 0000000..600bc57
--- /dev/null
+++ b/src/main/resources/annotation-scripts/foundries/lwc.js
@@ -0,0 +1,57 @@
+define(["hint/foundries","hint/foundries/negraedges"], function (ah, negraEdgesArray) {
+ ah["-"].push(
+ ["LWC", "lwc/", "Dependency"]
+ );
+
+ ah["lwc/"] = [
+ ["Dependency", "d="]
+ ];
+
+ ah["lwc/d="] = [
+ ["AC","AC ","adpositional case marker"],
+ ["ADC","ADC ","adjective component"],
+ ["AMS","AMS ","measure argument of adj"],
+ ["APP","APP ","apposition"],
+ ["AVC","AVC ","adverbial phrase component"],
+ ["CC","CC ","comparative complement"],
+ ["CD","CD ","coordinating conjunction"],
+ ["CJ","CJ ","conjunct"],
+ ["CM","CM ","comparative concjunction"],
+ ["CP","CP ","complementizer"],
+ ["DA","DA ","dative"],
+ ["DH","DH ","discourse-level head"],
+ ["DM","DM ","discourse marker"],
+ ["GL","GL ","prenominal genitive"],
+ ["GR","GR ","postnominal genitive"],
+ ["HD","HD ","head"],
+ ["JU","JU ","junctor"],
+ ["MC","MC ","comitative"],
+ ["MI","MI ","instrumental"],
+ ["ML","ML ","locative"],
+ ["MNR","MNR ","postnominal modifier"],
+ ["MO","MO ","modifier"],
+ ["MR","MR ","rhetorical modifier"],
+ ["MW","MW ","way (directional modifier)"],
+ ["NG","NG ","negation"],
+ ["NK","NK ","noun kernel modifier"],
+ ["NMC","NMC ","numerical component"],
+ ["OA","OA ","accusative object"],
+ ["OA2","OA2 ","second accusative object"],
+ ["OC","OC ","clausal object"],
+ ["OG","OG ","genitive object"],
+ ["PD","PD ","predicate"],
+ ["PG","PG ","pseudo-genitive"],
+ ["PH","PH ","placeholder"],
+ ["PM","PM ","morphological particle"],
+ ["PNC","PNC ","proper noun component"],
+ ["RC","RC ","relative clause"],
+ ["RE","RE ","repeated element"],
+ ["RS","RS ","reported speech"],
+ ["SB","SB ","subject"],
+ ["SBP","SBP ","passivised subject (PP)"],
+ ["SP","SP ","subject or predicate"],
+ ["SVP","SVP ","separable verb prefix"],
+ ["UC","UC ","(idiosyncratic) unit component"],
+ ["VO","VO ","vocative"]
+ ];
+});
diff --git a/src/main/resources/annotation-scripts/foundries/malt.js b/src/main/resources/annotation-scripts/foundries/malt.js
new file mode 100644
index 0000000..c8c837b
--- /dev/null
+++ b/src/main/resources/annotation-scripts/foundries/malt.js
@@ -0,0 +1,47 @@
+define(["hint/foundries"], function (ah) {
+ ah["-"].push(
+ ["Malt", "malt/", "Dependency"]
+ );
+
+ ah["malt/"] = [
+ ["Dependency", "d="]
+ ];
+
+ ah["malt/d="] = [
+ ["-PUNCT-", "-PUNCT- ",""],
+ ["-UNKNOWN-","-UNKNOWN- ",""],
+ ["ADV","ADV ",""],
+ ["APP","APP ",""],
+ ["ATTR","ATTR ",""],
+ ["AUX","AUX ",""],
+ ["AVZ","AVZ ",""],
+ ["CJ","CJ ",""],
+ ["DET","DET ",""],
+ ["EXPL","EXPL ",""],
+ ["GMOD","GMOD ",""],
+ ["GRAD","GRAD ",""],
+ ["KOM","KOM ",""],
+ ["KON","KON ",""],
+ ["KONJ","KONJ ",""],
+ ["NEB","NEB ",""],
+ ["OBJA","OBJA ",""],
+ ["OBJC","OBJC ",""],
+ ["OBJD","OBJD ",""],
+ ["OBJG","OBJG ",""],
+ ["OBJI","OBJI ",""],
+ ["OBJP","OBJP ",""],
+ ["PAR","PAR ",""],
+ ["PART","PART ",""],
+ ["PN","PN ",""],
+ ["PP","PP ",""],
+ ["PRED","PRED ",""],
+ ["REL","REL ",""],
+ ["ROOT","ROOT ",""],
+ ["S","S ",""],
+ ["SUBJ","SUBJ ",""],
+ ["SUBJC","SUBJC ",""],
+ ["ZEIT","ZEIT ",""],
+ ["gmod-app","gmod-app ",""],
+ ["koord","koord ",""]
+ ];
+});
diff --git a/src/main/resources/annotation-scripts/foundries/marmot.js b/src/main/resources/annotation-scripts/foundries/marmot.js
new file mode 100644
index 0000000..a6e5b61
--- /dev/null
+++ b/src/main/resources/annotation-scripts/foundries/marmot.js
@@ -0,0 +1,120 @@
+define(["hint/foundries","hint/foundries/stts"], function (ah, sttsArray) {
+ ah["-"].push(
+ ["MarMoT", "marmot/", "Morphology, Part-of-Speech"]
+ );
+
+ ah["marmot/"] = [
+ ["Morphology", "m="],
+ ["Part-of-Speech", "p="]
+ ];
+
+ ah["marmot/p="] = [
+ ["ADJA","ADJA ", "Attributive Adjective"],
+ ["ADJD","ADJD ", "Predicative Adjective"],
+ ["ADV","ADV ", "Adverb"],
+ ["APPO","APPO ", "Postposition"],
+ ["APPR","APPR ", "Preposition"],
+ ["APPRART","APPRART ", "Preposition with Determiner"],
+ ["APZR","APZR ","Right Circumposition"],
+ ["ART","ART ", "Determiner"],
+ ["CARD","CARD ", "Cardinal Number"],
+ ["FM","FM ", "Foreign Material"],
+ ["ITJ","ITJ ", "Interjection"],
+ ["KOKOM","KOKOM ", "Comparison Particle"],
+ ["KON","KON ", "Coordinating Conjuncion"],
+ ["KOUI","KOUI ", "Subordinating Conjunction with 'zu'"],
+ ["KOUS","KOUS ", "Subordinating Conjunction with Sentence"],
+ ["NE","NE ", "Named Entity"],
+ ["NN","NN ", "Normal Nomina"],
+ ["PAV", "PAV ", "Pronominal Adverb"],
+ ["PDAT","PDAT ","Attributive Demonstrative Pronoun"],
+ ["PDS","PDS ", "Substitutive Demonstrative Pronoun"],
+ ["PIAT","PIAT ", "Attributive Indefinite Pronoun without Determiner"],
+ ["PIDAT","PIDAT ", "Attributive Indefinite Pronoun with Determiner"],
+ ["PIS","PIS ", "Substitutive Indefinite Pronoun"],
+ ["PPER","PPER ", "Personal Pronoun"],
+ ["PPOSAT","PPOSAT ", "Attributive Possessive Pronoun"],
+ ["PPOSS","PPOSS ", "Substitutive Possessive Pronoun"],
+ ["PRELAT","PRELAT ", "Attributive Relative Pronoun"],
+ ["PRELS","PRELS ", "Substitutive Relative Pronoun"],
+ ["PRF","PRF ", "Reflexive Pronoun"],
+ ["PROAV","PROAV ", "Pronominal Adverb"],
+ ["PTKA","PTKA ","Particle with Adjective"],
+ ["PTKANT","PTKANT ", "Answering Particle"],
+ ["PTKNEG","PTKNEG ", "Negation Particle"],
+ ["PTKVZ","PTKVZ ", "Separated Verbal Particle"],
+ ["PTKZU","PTKZU ", "'zu' Particle"],
+ ["PWAT","PWAT ", "Attributive Interrogative Pronoun"],
+ ["PWAV","PWAV ", "Adverbial Interrogative Pronoun"],
+ ["PWS","PWS ", "Substitutive Interrogative Pronoun"],
+ ["TRUNC","TRUNC ","Truncated"],
+ ["VAFIN","VAFIN ", "Auxiliary Finite Verb"],
+ ["VAIMP","VAIMP ", "Auxiliary Finite Imperative Verb"],
+ ["VAINF","VAINF ", "Auxiliary Infinite Verb"],
+ ["VAPP","VAPP ", "Auxiliary Perfect Participle"],
+ ["VMFIN","VMFIN ", "Modal Finite Verb"],
+ ["VMINF","VMINF ", "Modal Infinite Verb"],
+ ["VMPP","VMPP ", "Modal Perfect Participle"],
+ ["VVFIN","VVFIN ","Finite Verb"],
+ ["VVIMP","VVIMP ", "Finite Imperative Verb"],
+ ["VVINF","VVINF ", "Infinite Verb"],
+ ["VVIZU","VVIZU ", "Infinite Verb with 'zu'"],
+ ["VVPP","VVPP ", "Perfect Participle"],
+ ["XY", "XY ", "Non-Word"]
+ ];
+
+ ah["marmot/m="] = [
+ ["Case", "case:"],
+ ["Degree", "degree:"],
+ ["Gender", "gender:"],
+ ["Mood", "mood:"],
+ ["Number", "number:"],
+ ["Person", "person:"],
+ ["Tense","tense:"],
+ ["No type", "<no-type> "]
+ ];
+
+ ah["marmot/m=case:"] = [
+ ["acc", "acc ", "Accusative"],
+ ["dat","dat ", "Dative"],
+ ["gen", "gen ","Genitive"],
+ ["nom","nom ", "Nominative"],
+ ["*","* ", "Undefined"]
+ ];
+
+ ah["marmot/m=degree:"] = [
+ ["comp","comp ", "Comparative"],
+ ["pos","pos ", "Positive"],
+ ["sup","sup ", "Superative"]
+ ];
+
+ ah["marmot/m=gender:"] = [
+ ["fem", "fem ", "Feminium"],
+ ["masc", "masc ", "Masculinum"],
+ ["neut","neut ", "Neuter"],
+ ["*","* ","Undefined"]
+ ];
+
+ ah["marmot/m=mood:"] = [
+ ["imp","imp ", "Imperative"],
+ ["ind","ind ", "Indicative"],
+ ["subj","subj ", "Subjunctive"]
+ ];
+
+ ah["marmot/m=number:"] = [
+ ["pl","pl ","Plural"],
+ ["sg","sg ","Singular"],
+ ["*","* ","Undefined"]
+ ];
+
+ ah["marmot/m=person:"] = [
+ ["1","1 ", "First Person"],
+ ["2","2 ", "Second Person"],
+ ["3","3 ", "Third Person"]
+ ];
+
+ ah["marmot/m=tense:"] = [
+ ["past","past ", "Past"],
+ ["pres","pres ", "Present"]
+ ];
+});
diff --git a/src/main/resources/annotation-scripts/foundries/mate.js b/src/main/resources/annotation-scripts/foundries/mate.js
new file mode 100644
index 0000000..f0d5c12
--- /dev/null
+++ b/src/main/resources/annotation-scripts/foundries/mate.js
@@ -0,0 +1,130 @@
+define(["hint/foundries","hint/foundries/stts"], function (ah, sttsArray) {
+// var mateSttsArray = sttsArray.slice(0);
+// mateSttsArray.push(
+// ["<root-POS>","<root-POS>","Root Part of Speech"]
+// );
+
+ var ah = KorAP.annotationHelper = KorAP.annotationHelper || { "-" : [] };
+
+ ah["-"].push(
+ ["Mate", "mate/", "Lemma, Morphology, Part-of-Speech"]
+ );
+
+ ah["mate/"] = [
+ // Inactive: "d" : ["d=", "Dependency"],
+ ["Lemma", "l="],
+ ["Morphology", "m="],
+ ["Part-of-Speech", "p="]
+ ];
+
+ // Inactive: mate/d=
+ ah["mate/p="] = [
+ ["ADJA","ADJA ", "Attributive Adjective"],
+ ["ADJD","ADJD ", "Predicative Adjective"],
+ ["ADV","ADV ", "Adverb"],
+ ["APPO","APPO ", "Postposition"],
+ ["APPR","APPR ", "Preposition"],
+ ["APPRART","APPRART ", "Preposition with Determiner"],
+ ["APZR","APZR ","Right Circumposition"],
+ ["ART","ART ", "Determiner"],
+ ["CARD","CARD ", "Cardinal Number"],
+ ["FM","FM ", "Foreign Material"],
+ ["ITJ","ITJ ", "Interjection"],
+ ["KOKOM","KOKOM ", "Comparison Particle"],
+ ["KON","KON ", "Coordinating Conjuncion"],
+ ["KOUI","KOUI ", "Subordinating Conjunction with 'zu'"],
+ ["KOUS","KOUS ", "Subordinating Conjunction with Sentence"],
+ ["NE","NE ", "Named Entity"],
+ ["NN","NN ", "Normal Nomina"],
+ ["PAV", "PAV ", "Pronominal Adverb"],
+ ["PDAT","PDAT ","Attributive Demonstrative Pronoun"],
+ ["PDS","PDS ", "Substitutive Demonstrative Pronoun"],
+ ["PIAT","PIAT ", "Attributive Indefinite Pronoun without Determiner"],
+ ["PIDAT","PIDAT ", "Attributive Indefinite Pronoun with Determiner"],
+ ["PIS","PIS ", "Substitutive Indefinite Pronoun"],
+ ["PPER","PPER ", "Personal Pronoun"],
+ ["PPOSAT","PPOSAT ", "Attributive Possessive Pronoun"],
+ ["PPOSS","PPOSS ", "Substitutive Possessive Pronoun"],
+ ["PRELAT","PRELAT ", "Attributive Relative Pronoun"],
+ ["PRELS","PRELS ", "Substitutive Relative Pronoun"],
+ ["PRF","PRF ", "Reflexive Pronoun"],
+ ["PROAV","PROAV ", "Pronominal Adverb"],
+ ["PTKA","PTKA ","Particle with Adjective"],
+ ["PTKANT","PTKANT ", "Answering Particle"],
+ ["PTKNEG","PTKNEG ", "Negation Particle"],
+ ["PTKVZ","PTKVZ ", "Separated Verbal Particle"],
+ ["PTKZU","PTKZU ", "'zu' Particle"],
+ ["PWAT","PWAT ", "Attributive Interrogative Pronoun"],
+ ["PWAV","PWAV ", "Adverbial Interrogative Pronoun"],
+ ["PWS","PWS ", "Substitutive Interrogative Pronoun"],
+ ["TRUNC","TRUNC ","Truncated"],
+ ["VAFIN","VAFIN ", "Auxiliary Finite Verb"],
+ ["VAIMP","VAIMP ", "Auxiliary Finite Imperative Verb"],
+ ["VAINF","VAINF ", "Auxiliary Infinite Verb"],
+ ["VAPP","VAPP ", "Auxiliary Perfect Participle"],
+ ["VMFIN","VMFIN ", "Modal Finite Verb"],
+ ["VMINF","VMINF ", "Modal Infinite Verb"],
+ ["VMPP","VMPP ", "Modal Perfect Participle"],
+ ["VVFIN","VVFIN ","Finite Verb"],
+ ["VVIMP","VVIMP ", "Finite Imperative Verb"],
+ ["VVINF","VVINF ", "Infinite Verb"],
+ ["VVIZU","VVIZU ", "Infinite Verb with 'zu'"],
+ ["VVPP","VVPP ", "Perfect Participle"],
+ ["XY", "XY ", "Non-Word"],
+ ["<root-POS>","<root-POS>","Root Part of Speech"]
+ ];
+
+ ah["mate/m="] = [
+ ["Case", "case:"],
+ ["Degree", "degree:"],
+ ["Gender", "gender:"],
+ ["Mood", "mood:"],
+ ["Number", "number:"],
+ ["Person", "person:"],
+ ["Tense","tense:"],
+ ["No type", "<no-type> "]
+ ];
+
+ ah["mate/m=case:"] = [
+ ["acc", "acc ", "Accusative"],
+ ["dat","dat ", "Dative"],
+ ["gen", "gen ","Genitive"],
+ ["nom","nom ", "Nominative"],
+ ["*","* ", "Undefined"]
+ ];
+
+ ah["mate/m=degree:"] = [
+ ["comp","comp ", "Comparative"],
+ ["pos","pos ", "Positive"],
+ ["sup","sup ", "Superative"]
+ ];
+
+ ah["mate/m=gender:"] = [
+ ["fem", "fem ", "Feminium"],
+ ["masc", "masc ", "Masculinum"],
+ ["neut","neut ", "Neuter"],
+ ["*","* ","Undefined"]
+ ];
+
+ ah["mate/m=mood:"] = [
+ ["imp","imp ", "Imperative"],
+ ["ind","ind ", "Indicative"],
+ ["subj","subj ", "Subjunctive"]
+ ];
+
+ ah["mate/m=number:"] = [
+ ["pl","pl ","Plural"],
+ ["sg","sg ","Singular"],
+ ["*","* ","Undefined"]
+ ];
+
+ ah["mate/m=person:"] = [
+ ["1","1 ", "First Person"],
+ ["2","2 ", "Second Person"],
+ ["3","3 ", "Third Person"]
+ ];
+ ah["mate/m=tense:"] = [
+ ["past","past ", "Past"],
+ ["pres","pres ", "Present"]
+ ];
+});
diff --git a/src/main/resources/annotation-scripts/foundries/opennlp.js b/src/main/resources/annotation-scripts/foundries/opennlp.js
new file mode 100644
index 0000000..d790eba
--- /dev/null
+++ b/src/main/resources/annotation-scripts/foundries/opennlp.js
@@ -0,0 +1,65 @@
+define(["hint/foundries","hint/foundries/stts"], function (ah, sttsArray) {
+ ah["-"].push(
+ ["OpenNLP", "opennlp/", "Part-of-Speech"]
+ );
+
+ ah["opennlp/"] = [
+ ["Part-of-Speech", "p="]
+ ];
+
+// ah["opennlp/p="] = sttsArray;
+ ah["opennlp/p="] = [
+ ["ADJA","ADJA ", "Attributive Adjective"],
+ ["ADJD","ADJD ", "Predicative Adjective"],
+ ["ADV","ADV ", "Adverb"],
+ ["APPO","APPO ", "Postposition"],
+ ["APPR","APPR ", "Preposition"],
+ ["APPRART","APPRART ", "Preposition with Determiner"],
+ ["APZR","APZR ","Right Circumposition"],
+ ["ART","ART ", "Determiner"],
+ ["CARD","CARD ", "Cardinal Number"],
+ ["FM","FM ", "Foreign Material"],
+ ["ITJ","ITJ ", "Interjection"],
+ ["KOKOM","KOKOM ", "Comparison Particle"],
+ ["KON","KON ", "Coordinating Conjuncion"],
+ ["KOUI","KOUI ", "Subordinating Conjunction with 'zu'"],
+ ["KOUS","KOUS ", "Subordinating Conjunction with Sentence"],
+ ["NE","NE ", "Named Entity"],
+ ["NN","NN ", "Normal Nomina"],
+ ["PAV", "PAV ", "Pronominal Adverb"],
+ ["PDAT","PDAT ","Attributive Demonstrative Pronoun"],
+ ["PDS","PDS ", "Substitutive Demonstrative Pronoun"],
+ ["PIAT","PIAT ", "Attributive Indefinite Pronoun without Determiner"],
+ ["PIDAT","PIDAT ", "Attributive Indefinite Pronoun with Determiner"],
+ ["PIS","PIS ", "Substitutive Indefinite Pronoun"],
+ ["PPER","PPER ", "Personal Pronoun"],
+ ["PPOSAT","PPOSAT ", "Attributive Possessive Pronoun"],
+ ["PPOSS","PPOSS ", "Substitutive Possessive Pronoun"],
+ ["PRELAT","PRELAT ", "Attributive Relative Pronoun"],
+ ["PRELS","PRELS ", "Substitutive Relative Pronoun"],
+ ["PRF","PRF ", "Reflexive Pronoun"],
+ ["PROAV","PROAV ", "Pronominal Adverb"],
+ ["PTKA","PTKA ","Particle with Adjective"],
+ ["PTKANT","PTKANT ", "Answering Particle"],
+ ["PTKNEG","PTKNEG ", "Negation Particle"],
+ ["PTKVZ","PTKVZ ", "Separated Verbal Particle"],
+ ["PTKZU","PTKZU ", "'zu' Particle"],
+ ["PWAT","PWAT ", "Attributive Interrogative Pronoun"],
+ ["PWAV","PWAV ", "Adverbial Interrogative Pronoun"],
+ ["PWS","PWS ", "Substitutive Interrogative Pronoun"],
+ ["TRUNC","TRUNC ","Truncated"],
+ ["VAFIN","VAFIN ", "Auxiliary Finite Verb"],
+ ["VAIMP","VAIMP ", "Auxiliary Finite Imperative Verb"],
+ ["VAINF","VAINF ", "Auxiliary Infinite Verb"],
+ ["VAPP","VAPP ", "Auxiliary Perfect Participle"],
+ ["VMFIN","VMFIN ", "Modal Finite Verb"],
+ ["VMINF","VMINF ", "Modal Infinite Verb"],
+ ["VMPP","VMPP ", "Modal Perfect Participle"],
+ ["VVFIN","VVFIN ","Finite Verb"],
+ ["VVIMP","VVIMP ", "Finite Imperative Verb"],
+ ["VVINF","VVINF ", "Infinite Verb"],
+ ["VVIZU","VVIZU ", "Infinite Verb with 'zu'"],
+ ["VVPP","VVPP ", "Perfect Participle"],
+ ["XY", "XY ", "Non-Word"]
+ ];
+});
diff --git a/src/main/resources/annotation-scripts/foundries/schreibgebrauch.js b/src/main/resources/annotation-scripts/foundries/schreibgebrauch.js
new file mode 100644
index 0000000..850617f
--- /dev/null
+++ b/src/main/resources/annotation-scripts/foundries/schreibgebrauch.js
@@ -0,0 +1,117 @@
+define(["hint/foundries","hint/foundries/stts"], function (ah, sttsArray) {
+// var sgbrSttsArray = sttsArray.slice(0);
+
+ // Push specific information for Schreibgebrauch
+// sgbrSttsArray.push(
+// ["NNE", "NNE", "Normal Nomina with Named Entity"],
+// ["ADVART","ADVART", "Adverb with Article"],
+// ["EMOASC","EMOASC", "ASCII emoticon"],
+// ["EMOIMG","EMOIMG", "Graphic emoticon"],
+// ["ERRTOK","ERRTOK", "Tokenisation Error"],
+// ["HST", "HST", "Hashtag"],
+// ["KOUSPPER","KOUSPPER", "Subordinating Conjunction (with Sentence) with Personal Pronoun"],
+// ["ONO", "ONO", "Onomatopoeia"],
+// ["PPERPPER","PPERPPER", "Personal Pronoun with Personal Pronoun"],
+// ["URL", "URL", "Uniform Resource Locator"],
+// ["VAPPER", "VAPPER", "Finite Auxiliary Verb with Personal Pronoun"],
+// ["VMPPER", "VMPPER", "Fintite Modal Verb with Personal Pronoun"],
+// ["VVPPER", "VVPPER", "Finite Full Verb with Personal Pronoun"],
+// ["AW", "AW", "Interaction Word"],
+// ["ADR", "ADR", "Addressing Term"],
+// ["AWIND", "AWIND", "Punctuation Indicating Addressing Term"],
+// ["ERRAW","ERRAW", "Part of Erroneously Separated Compound"]
+// /*
+// As KorAP currently doesn't support these tags, they could also be ommited
+// ["_KOMMA", "_KOMMA", "Comma"],
+// ["_SONST", "_SONST", "Intrasentential Punctuation Mark"],
+// ["_ENDE", "_ENDE", "Punctuation Mark at the end of the Sentence"]
+// */
+// );
+
+ // Sort by tag
+ sgbrSttsArray.sort(function (a,b) { return a[0].localeCompare(b[0]) });
+
+
+ ah["-"].push(
+ ["Schreibgebrauch", "sgbr/", "Lemma, Lemma Variants, Part-of-Speech"]
+ );
+
+ ah["sgbr/"] = [
+ ["Lemma", "l="],
+ ["Lemma Variants", "lv="],
+ ["Part-of-Speech", "p="]
+ ];
+
+// ah["sgbr/p="] = sgbrSttsArray;
+ ah["sgbr/p="] = [
+ ["ADJA","ADJA ", "Attributive Adjective"],
+ ["ADJD","ADJD ", "Predicative Adjective"],
+ ["ADV","ADV ", "Adverb"],
+ ["APPO","APPO ", "Postposition"],
+ ["APPR","APPR ", "Preposition"],
+ ["APPRART","APPRART ", "Preposition with Determiner"],
+ ["APZR","APZR ","Right Circumposition"],
+ ["ART","ART ", "Determiner"],
+ ["CARD","CARD ", "Cardinal Number"],
+ ["FM","FM ", "Foreign Material"],
+ ["ITJ","ITJ ", "Interjection"],
+ ["KOKOM","KOKOM ", "Comparison Particle"],
+ ["KON","KON ", "Coordinating Conjuncion"],
+ ["KOUI","KOUI ", "Subordinating Conjunction with 'zu'"],
+ ["KOUS","KOUS ", "Subordinating Conjunction with Sentence"],
+ ["NE","NE ", "Named Entity"],
+ ["NN","NN ", "Normal Nomina"],
+ ["PAV", "PAV ", "Pronominal Adverb"],
+ ["PDAT","PDAT ","Attributive Demonstrative Pronoun"],
+ ["PDS","PDS ", "Substitutive Demonstrative Pronoun"],
+ ["PIAT","PIAT ", "Attributive Indefinite Pronoun without Determiner"],
+ ["PIDAT","PIDAT ", "Attributive Indefinite Pronoun with Determiner"],
+ ["PIS","PIS ", "Substitutive Indefinite Pronoun"],
+ ["PPER","PPER ", "Personal Pronoun"],
+ ["PPOSAT","PPOSAT ", "Attributive Possessive Pronoun"],
+ ["PPOSS","PPOSS ", "Substitutive Possessive Pronoun"],
+ ["PRELAT","PRELAT ", "Attributive Relative Pronoun"],
+ ["PRELS","PRELS ", "Substitutive Relative Pronoun"],
+ ["PRF","PRF ", "Reflexive Pronoun"],
+ ["PROAV","PROAV ", "Pronominal Adverb"],
+ ["PTKA","PTKA ","Particle with Adjective"],
+ ["PTKANT","PTKANT ", "Answering Particle"],
+ ["PTKNEG","PTKNEG ", "Negation Particle"],
+ ["PTKVZ","PTKVZ ", "Separated Verbal Particle"],
+ ["PTKZU","PTKZU ", "'zu' Particle"],
+ ["PWAT","PWAT ", "Attributive Interrogative Pronoun"],
+ ["PWAV","PWAV ", "Adverbial Interrogative Pronoun"],
+ ["PWS","PWS ", "Substitutive Interrogative Pronoun"],
+ ["TRUNC","TRUNC ","Truncated"],
+ ["VAFIN","VAFIN ", "Auxiliary Finite Verb"],
+ ["VAIMP","VAIMP ", "Auxiliary Finite Imperative Verb"],
+ ["VAINF","VAINF ", "Auxiliary Infinite Verb"],
+ ["VAPP","VAPP ", "Auxiliary Perfect Participle"],
+ ["VMFIN","VMFIN ", "Modal Finite Verb"],
+ ["VMINF","VMINF ", "Modal Infinite Verb"],
+ ["VMPP","VMPP ", "Modal Perfect Participle"],
+ ["VVFIN","VVFIN ","Finite Verb"],
+ ["VVIMP","VVIMP ", "Finite Imperative Verb"],
+ ["VVINF","VVINF ", "Infinite Verb"],
+ ["VVIZU","VVIZU ", "Infinite Verb with 'zu'"],
+ ["VVPP","VVPP ", "Perfect Participle"],
+ ["XY", "XY ", "Non-Word"],
+ ["NNE", "NNE", "Normal Nomina with Named Entity"],
+ ["ADVART","ADVART", "Adverb with Article"],
+ ["EMOASC","EMOASC", "ASCII emoticon"],
+ ["EMOIMG","EMOIMG", "Graphic emoticon"],
+ ["ERRTOK","ERRTOK", "Tokenisation Error"],
+ ["HST", "HST", "Hashtag"],
+ ["KOUSPPER","KOUSPPER", "Subordinating Conjunction (with Sentence) with Personal Pronoun"],
+ ["ONO", "ONO", "Onomatopoeia"],
+ ["PPERPPER","PPERPPER", "Personal Pronoun with Personal Pronoun"],
+ ["URL", "URL", "Uniform Resource Locator"],
+ ["VAPPER", "VAPPER", "Finite Auxiliary Verb with Personal Pronoun"],
+ ["VMPPER", "VMPPER", "Fintite Modal Verb with Personal Pronoun"],
+ ["VVPPER", "VVPPER", "Finite Full Verb with Personal Pronoun"],
+ ["AW", "AW", "Interaction Word"],
+ ["ADR", "ADR", "Addressing Term"],
+ ["AWIND", "AWIND", "Punctuation Indicating Addressing Term"],
+ ["ERRAW","ERRAW", "Part of Erroneously Separated Compound"]
+ ];
+});
diff --git a/src/main/resources/annotation-scripts/foundries/treetagger.js b/src/main/resources/annotation-scripts/foundries/treetagger.js
new file mode 100644
index 0000000..78a692a
--- /dev/null
+++ b/src/main/resources/annotation-scripts/foundries/treetagger.js
@@ -0,0 +1,66 @@
+define(["hint/foundries","hint/foundries/stts"], function (ah, sttsArray) {
+ ah["-"].push(
+ ["TreeTagger", "tt/", "Lemma, Part-of-Speech"]
+ );
+
+ ah["tt/"] = [
+ ["Lemma", "l="],
+ ["Part-of-Speech", "p="]
+ ];
+
+// ah["tt/p="] = sttsArray;
+ ah["tt/p="] = [
+ ["ADJA","ADJA ", "Attributive Adjective"],
+ ["ADJD","ADJD ", "Predicative Adjective"],
+ ["ADV","ADV ", "Adverb"],
+ ["APPO","APPO ", "Postposition"],
+ ["APPR","APPR ", "Preposition"],
+ ["APPRART","APPRART ", "Preposition with Determiner"],
+ ["APZR","APZR ","Right Circumposition"],
+ ["ART","ART ", "Determiner"],
+ ["CARD","CARD ", "Cardinal Number"],
+ ["FM","FM ", "Foreign Material"],
+ ["ITJ","ITJ ", "Interjection"],
+ ["KOKOM","KOKOM ", "Comparison Particle"],
+ ["KON","KON ", "Coordinating Conjuncion"],
+ ["KOUI","KOUI ", "Subordinating Conjunction with 'zu'"],
+ ["KOUS","KOUS ", "Subordinating Conjunction with Sentence"],
+ ["NE","NE ", "Named Entity"],
+ ["NN","NN ", "Normal Nomina"],
+ ["PAV", "PAV ", "Pronominal Adverb"],
+ ["PDAT","PDAT ","Attributive Demonstrative Pronoun"],
+ ["PDS","PDS ", "Substitutive Demonstrative Pronoun"],
+ ["PIAT","PIAT ", "Attributive Indefinite Pronoun without Determiner"],
+ ["PIDAT","PIDAT ", "Attributive Indefinite Pronoun with Determiner"],
+ ["PIS","PIS ", "Substitutive Indefinite Pronoun"],
+ ["PPER","PPER ", "Personal Pronoun"],
+ ["PPOSAT","PPOSAT ", "Attributive Possessive Pronoun"],
+ ["PPOSS","PPOSS ", "Substitutive Possessive Pronoun"],
+ ["PRELAT","PRELAT ", "Attributive Relative Pronoun"],
+ ["PRELS","PRELS ", "Substitutive Relative Pronoun"],
+ ["PRF","PRF ", "Reflexive Pronoun"],
+ ["PROAV","PROAV ", "Pronominal Adverb"],
+ ["PTKA","PTKA ","Particle with Adjective"],
+ ["PTKANT","PTKANT ", "Answering Particle"],
+ ["PTKNEG","PTKNEG ", "Negation Particle"],
+ ["PTKVZ","PTKVZ ", "Separated Verbal Particle"],
+ ["PTKZU","PTKZU ", "'zu' Particle"],
+ ["PWAT","PWAT ", "Attributive Interrogative Pronoun"],
+ ["PWAV","PWAV ", "Adverbial Interrogative Pronoun"],
+ ["PWS","PWS ", "Substitutive Interrogative Pronoun"],
+ ["TRUNC","TRUNC ","Truncated"],
+ ["VAFIN","VAFIN ", "Auxiliary Finite Verb"],
+ ["VAIMP","VAIMP ", "Auxiliary Finite Imperative Verb"],
+ ["VAINF","VAINF ", "Auxiliary Infinite Verb"],
+ ["VAPP","VAPP ", "Auxiliary Perfect Participle"],
+ ["VMFIN","VMFIN ", "Modal Finite Verb"],
+ ["VMINF","VMINF ", "Modal Infinite Verb"],
+ ["VMPP","VMPP ", "Modal Perfect Participle"],
+ ["VVFIN","VVFIN ","Finite Verb"],
+ ["VVIMP","VVIMP ", "Finite Imperative Verb"],
+ ["VVINF","VVINF ", "Infinite Verb"],
+ ["VVIZU","VVIZU ", "Infinite Verb with 'zu'"],
+ ["VVPP","VVPP ", "Perfect Participle"],
+ ["XY", "XY ", "Non-Word"]
+ ];
+});
diff --git a/src/main/resources/annotation-scripts/foundries/xip.js b/src/main/resources/annotation-scripts/foundries/xip.js
new file mode 100644
index 0000000..ff7ac5e
--- /dev/null
+++ b/src/main/resources/annotation-scripts/foundries/xip.js
@@ -0,0 +1,12 @@
+define(["hint/foundries"], function (ah) {
+ ah["-"].push(
+ ["Xerox Parser", "xip/", "Constituency, Lemma, Part-of-Speech"]
+ );
+
+ ah["xip/"] = [
+ ["Constituency", "c="],
+ // Inactive: ["Dependency", "d="],
+ ["Lemma", "l="],
+ ["Part-of-Speech", "p="]
+ ];
+});
diff --git a/src/main/resources/annotation-scripts/variables/negraedges.js b/src/main/resources/annotation-scripts/variables/negraedges.js
new file mode 100644
index 0000000..7dc9b0f
--- /dev/null
+++ b/src/main/resources/annotation-scripts/variables/negraedges.js
@@ -0,0 +1,51 @@
+define(function () {
+ // http://www.coli.uni-saarland.de/projects/sfb378/negra-corpus/negra-corpus.html
+ // http://www.coli.uni-saarland.de/projects/sfb378/negra-corpus/kanten.html
+ return [
+ ["AC","AC ","adpositional case marker"],
+ ["ADC","ADC ","adjective component"],
+ ["AMS","AMS ","measure argument of adj"],
+ ["APP","APP ","apposition"],
+ ["AVC","AVC ","adverbial phrase component"],
+ ["CC","CC ","comparative complement"],
+ ["CD","CD ","coordinating conjunction"],
+ ["CJ","CJ ","conjunct"],
+ ["CM","CM ","comparative concjunction"],
+ ["CP","CP ","complementizer"],
+ ["DA","DA ","dative"],
+ ["DH","DH ","discourse-level head"],
+ ["DM","DM ","discourse marker"],
+ ["GL","GL ","prenominal genitive"],
+ ["GR","GR ","postnominal genitive"],
+ ["HD","HD ","head"],
+ ["JU","JU ","junctor"],
+ ["MC","MC ","comitative"],
+ ["MI","MI ","instrumental"],
+ ["ML","ML ","locative"],
+ ["MNR","MNR ","postnominal modifier"],
+ ["MO","MO ","modifier"],
+ ["MR","MR ","rhetorical modifier"],
+ ["MW","MW ","way (directional modifier)"],
+ ["NG","NG ","negation"],
+ ["NK","NK ","noun kernel modifier"],
+ ["NMC","NMC ","numerical component"],
+ ["OA","OA ","accusative object"],
+ ["OA2","OA2 ","second accusative object"],
+ ["OC","OC ","clausal object"],
+ ["OG","OG ","genitive object"],
+ ["PD","PD ","predicate"],
+ ["PG","PG ","pseudo-genitive"],
+ ["PH","PH ","placeholder"],
+ ["PM","PM ","morphological particle"],
+ ["PNC","PNC ","proper noun component"],
+ ["RC","RC ","relative clause"],
+ ["RE","RE ","repeated element"],
+ ["RS","RS ","reported speech"],
+ ["SB","SB ","subject"],
+ ["SBP","SBP ","passivised subject (PP)"],
+ ["SP","SP ","subject or predicate"],
+ ["SVP","SVP ","separable verb prefix"],
+ ["UC","UC ","(idiosyncratic) unit component"],
+ ["VO","VO ","vocative"]
+ ];
+});
diff --git a/src/main/resources/annotation-scripts/variables/negranodes.js b/src/main/resources/annotation-scripts/variables/negranodes.js
new file mode 100644
index 0000000..b6be581
--- /dev/null
+++ b/src/main/resources/annotation-scripts/variables/negranodes.js
@@ -0,0 +1,32 @@
+define(function () {
+ // http://www.coli.uni-saarland.de/projects/sfb378/negra-corpus/negra-corpus.html
+ // http://www.coli.uni-saarland.de/projects/sfb378/negra-corpus/knoten.html
+ return [
+ ["AA", "AA", "superlative phrase with 'am'"],
+ ["AP","AP", "adjektive phrase"],
+ ["AVP","AVP", "adverbial phrase"],
+ ["CAP","CAP", "coordinated adjektive phrase"],
+ ["CAVP","CAVP", "coordinated adverbial phrase"],
+ ["CAC","CAC", "coordinated adposition"],
+ ["CCP","CCP", "coordinated complementiser"],
+ ["CH","CH", "chunk"],
+ ["CNP","CNP", "coordinated noun phrase"],
+ ["CO","CO", "coordination"],
+ ["CPP","CPP", "coordinated adpositional phrase"],
+ ["CS","CS", "coordinated sentence"],
+ ["CVP","CVP", "coordinated verb phrase (non-finite)"],
+ ["CVZ","CVZ", "coordinated zu-marked infinitive"],
+ ["DL","DL", "discourse level constituent"],
+ ["ISU","ISU", "idiosyncratis unit"],
+ ["MPN","MPN", "multi-word proper noun"],
+ ["MTA","MTA", "multi-token adjective"],
+ ["NM","NM", "multi-token number"],
+ ["NP","NP", "noun phrase"],
+ ["PP","PP", "adpositional phrase"],
+ ["QL","QL", "quasi-languag"],
+ ["ROOT","ROOT", "root node"],
+ ["S","S", "sentence"],
+ ["VP","VP", "verb phrase (non-finite)"],
+ ["VZ","VZ", "zu-marked infinitive"]
+ ]
+});
diff --git a/src/main/resources/annotation-scripts/variables/stts.js b/src/main/resources/annotation-scripts/variables/stts.js
new file mode 100644
index 0000000..f7d3b62
--- /dev/null
+++ b/src/main/resources/annotation-scripts/variables/stts.js
@@ -0,0 +1,59 @@
+define(function () {
+ return [
+ // http://www.ids-mannheim.de/cosmas2/projekt/referenz/stts/morph.html
+ // http://nachhalt.sfb632.uni-potsdam.de/owl-docu/stts.html
+ // "$.", "$(", "$,"
+ ["ADJA","ADJA ", "Attributive Adjective"],
+ ["ADJD","ADJD ", "Predicative Adjective"],
+ ["ADV","ADV ", "Adverb"],
+ ["APPO","APPO ", "Postposition"],
+ ["APPR","APPR ", "Preposition"],
+ ["APPRART","APPRART ", "Preposition with Determiner"],
+ ["APZR","APZR ","Right Circumposition"],
+ ["ART","ART ", "Determiner"],
+ ["CARD","CARD ", "Cardinal Number"],
+ ["FM","FM ", "Foreign Material"],
+ ["ITJ","ITJ ", "Interjection"],
+ ["KOKOM","KOKOM ", "Comparison Particle"],
+ ["KON","KON ", "Coordinating Conjuncion"],
+ ["KOUI","KOUI ", "Subordinating Conjunction with 'zu'"],
+ ["KOUS","KOUS ", "Subordinating Conjunction with Sentence"],
+ ["NE","NE ", "Named Entity"],
+ ["NN","NN ", "Normal Nomina"],
+ ["PAV", "PAV ", "Pronominal Adverb"],
+ ["PDAT","PDAT ","Attributive Demonstrative Pronoun"],
+ ["PDS","PDS ", "Substitutive Demonstrative Pronoun"],
+ ["PIAT","PIAT ", "Attributive Indefinite Pronoun without Determiner"],
+ ["PIDAT","PIDAT ", "Attributive Indefinite Pronoun with Determiner"],
+ ["PIS","PIS ", "Substitutive Indefinite Pronoun"],
+ ["PPER","PPER ", "Personal Pronoun"],
+ ["PPOSAT","PPOSAT ", "Attributive Possessive Pronoun"],
+ ["PPOSS","PPOSS ", "Substitutive Possessive Pronoun"],
+ ["PRELAT","PRELAT ", "Attributive Relative Pronoun"],
+ ["PRELS","PRELS ", "Substitutive Relative Pronoun"],
+ ["PRF","PRF ", "Reflexive Pronoun"],
+ ["PROAV","PROAV ", "Pronominal Adverb"],
+ ["PTKA","PTKA ","Particle with Adjective"],
+ ["PTKANT","PTKANT ", "Answering Particle"],
+ ["PTKNEG","PTKNEG ", "Negation Particle"],
+ ["PTKVZ","PTKVZ ", "Separated Verbal Particle"],
+ ["PTKZU","PTKZU ", "'zu' Particle"],
+ ["PWAT","PWAT ", "Attributive Interrogative Pronoun"],
+ ["PWAV","PWAV ", "Adverbial Interrogative Pronoun"],
+ ["PWS","PWS ", "Substitutive Interrogative Pronoun"],
+ ["TRUNC","TRUNC ","Truncated"],
+ ["VAFIN","VAFIN ", "Auxiliary Finite Verb"],
+ ["VAIMP","VAIMP ", "Auxiliary Finite Imperative Verb"],
+ ["VAINF","VAINF ", "Auxiliary Infinite Verb"],
+ ["VAPP","VAPP ", "Auxiliary Perfect Participle"],
+ ["VMFIN","VMFIN ", "Modal Finite Verb"],
+ ["VMINF","VMINF ", "Modal Infinite Verb"],
+ ["VMPP","VMPP ", "Modal Perfect Participle"],
+ ["VVFIN","VVFIN ","Finite Verb"],
+ ["VVIMP","VVIMP ", "Finite Imperative Verb"],
+ ["VVINF","VVINF ", "Infinite Verb"],
+ ["VVIZU","VVIZU ", "Infinite Verb with 'zu'"],
+ ["VVPP","VVPP ", "Perfect Participle"],
+ ["XY", "XY ", "Non-Word"]
+ ];
+});
diff --git a/src/main/resources/basic-config.xml b/src/main/resources/basic-config.xml
new file mode 100644
index 0000000..d882532
--- /dev/null
+++ b/src/main/resources/basic-config.xml
@@ -0,0 +1,397 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:p="http://www.springframework.org/schema/p"
+ xmlns:util="http://www.springframework.org/schema/util"
+ xmlns:aop="http://www.springframework.org/schema/aop"
+ xmlns:tx="http://www.springframework.org/schema/tx"
+ xmlns="http://www.springframework.org/schema/beans"
+ xmlns:context="http://www.springframework.org/schema/context"
+ xmlns:cache="http://www.springframework.org/schema/cache"
+ xsi:schemaLocation="http://www.springframework.org/schema/beans
+ http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
+ http://www.springframework.org/schema/tx
+ http://www.springframework.org/schema/tx/spring-tx-4.0.xsd
+ http://www.springframework.org/schema/aop
+ http://www.springframework.org/schema/aop/spring-aop-4.0.xsd
+ http://www.springframework.org/schema/context
+ http://www.springframework.org/schema/context/spring-context-4.0.xsd
+ http://www.springframework.org/schema/util
+ http://www.springframework.org/schema/util/spring-util-4.0.xsd">
+
+ <context:component-scan
+ base-package="de.ids_mannheim.korap" />
+ <context:annotation-config />
+
+ <bean id="props"
+ class="org.springframework.beans.factory.config.PropertiesFactoryBean">
+ <property name="ignoreResourceNotFound" value="true" />
+ <property name="locations">
+ <array>
+ <value>classpath:kustvakt.conf</value>
+ <value>file:./kustvakt.conf</value>
+ </array>
+ </property>
+ </bean>
+
+ <bean id="placeholders"
+ class="org.springframework.context.support.PropertySourcesPlaceholderConfigurer">
+ <property name="ignoreResourceNotFound" value="true" />
+ <property name="locations">
+ <array>
+ <value>classpath:properties/basic-jdbc.properties</value>
+ <value>file:./basic-jdbc.properties</value>
+ <value>classpath:properties/mail.properties</value>
+ <value>file:./mail.properties</value>
+ <value>classpath:properties/hibernate.properties</value>
+
+ <value>classpath:kustvakt.conf</value>
+ <value>file:./kustvakt.conf</value>
+ </array>
+ </property>
+ </bean>
+
+ <bean id='cacheManager'
+ class='org.springframework.cache.ehcache.EhCacheCacheManager'
+ p:cacheManager-ref='ehcache' />
+
+ <bean id='ehcache'
+ class='org.springframework.cache.ehcache.EhCacheManagerFactoryBean'
+ p:configLocation='classpath:ehcache.xml' p:shared='true' />
+
+ <!--class="org.apache.commons.dbcp2.BasicDataSource" -->
+ <!-- org.springframework.jdbc.datasource.SingleConnectionDataSource -->
+ <bean id="dataSource"
+ class="org.apache.commons.dbcp2.BasicDataSource" lazy-init="true">
+ <property name="driverClassName"
+ value="${jdbc.driverClassName}" />
+ <property name="url" value="${jdbc.url}" />
+ <property name="username" value="${jdbc.username}" />
+ <property name="password" value="${jdbc.password}" />
+ <!-- relevant for single connection datasource and sqlite -->
+ <!-- <property name="suppressClose"> <value>true</value> </property> -->
+ <!--<property name="initialSize" value="2"/> -->
+ <property name="maxTotal" value="4" />
+ <property name="maxIdle" value="2" />
+ <property name="minIdle" value="1" />
+ <property name="maxWaitMillis" value="15000" />
+ <!--<property name="poolPreparedStatements" value="true"/> -->
+ </bean>
+
+ <bean id="sqliteDataSource"
+ class="org.springframework.jdbc.datasource.SingleConnectionDataSource"
+ lazy-init="true">
+ <property name="driverClassName"
+ value="${jdbc.driverClassName}" />
+ <property name="url" value="${jdbc.url}" />
+ <property name="username" value="${jdbc.username}" />
+ <property name="password" value="${jdbc.password}" />
+ <property name="connectionProperties">
+ <props>
+ <prop key="date_string_format">yyyy-MM-dd HH:mm:ss</prop>
+ </props>
+ </property>
+
+ <!-- relevant for single connection datasource and sqlite -->
+ <property name="suppressClose">
+ <value>true</value>
+ </property>
+ <!--<property name="initialSize" value="2"/> -->
+ <!--<property name="poolPreparedStatements" value="true"/> -->
+ </bean>
+
+ <!-- to configure database for sqlite, mysql, etc. migrations -->
+ <bean id="flywayConfig"
+ class="org.flywaydb.core.api.configuration.ClassicConfiguration">
+ <property name="baselineOnMigrate" value="true" />
+ <!-- <property name="validateOnMigrate" value="false" /> -->
+ <!-- <property name="cleanOnValidationError" value="true" /> -->
+ <property name="locations"
+ value="#{'${jdbc.schemaPath}'.split(',')}" />
+ <!-- <property name="dataSource" ref="dataSource" /> -->
+ <property name="dataSource" ref="sqliteDataSource" />
+ <property name="outOfOrder" value="true" />
+ </bean>
+
+ <bean id="flyway" class="org.flywaydb.core.Flyway"
+ init-method="migrate">
+ <constructor-arg ref="flywayConfig" />
+ </bean>
+
+
+ <bean id="kustvakt_db"
+ class="de.ids_mannheim.korap.handlers.JDBCClient">
+ <constructor-arg index="0" ref="dataSource" />
+ <!-- deprecated property -->
+ <property name="database" value="${jdbc.database}" />
+ </bean>
+
+ <bean id="entityManagerFactory"
+ class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"
+ depends-on="flyway">
+ <!-- <property name="dataSource" ref="dataSource" /> -->
+ <property name="dataSource" ref="sqliteDataSource" />
+
+ <property name="packagesToScan">
+ <array>
+ <value>de.ids_mannheim.korap.entity</value>
+ <value>de.ids_mannheim.korap.oauth2.entity</value>
+ </array>
+ </property>
+ <property name="jpaVendorAdapter">
+ <bean id="jpaVendorAdapter"
+ class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
+ <property name="databasePlatform"
+ value="${hibernate.dialect}" />
+ </bean>
+ </property>
+ <property name="jpaProperties">
+ <props>
+ <prop key="hibernate.dialect">${hibernate.dialect}</prop>
+ <prop key="hibernate.hbm2ddl.auto">${hibernate.hbm2ddl.auto}</prop>
+ <prop key="hibernate.show_sql">${hibernate.show_sql}</prop>
+ <prop key="hibernate.cache.use_query_cache">${hibernate.cache.use_query_cache}</prop>
+ <prop key="hibernate.cache.use_second_level_cache">${hibernate.cache.use_second_level_cache}
+ </prop>
+ <prop key="hibernate.cache.provider_class">${hibernate.cache.provider}</prop>
+ <prop key="hibernate.cache.region.factory_class">${hibernate.cache.region.factory}</prop>
+ <prop key="hibernate.jdbc.time_zone">${hibernate.jdbc.time_zone}</prop>
+ <!-- <prop key="net.sf.ehcache.configurationResourceName">classpath:ehcache.xml</prop> -->
+ </props>
+ </property>
+ </bean>
+
+ <tx:annotation-driven proxy-target-class="true"
+ transaction-manager="transactionManager" />
+
+ <bean id="transactionManager"
+ class="org.springframework.orm.jpa.JpaTransactionManager">
+ <property name="entityManagerFactory"
+ ref="entityManagerFactory" />
+ </bean>
+
+ <bean id="transactionTemplate"
+ class="org.springframework.transaction.support.TransactionTemplate">
+ <constructor-arg ref="transactionManager" />
+ </bean>
+
+ <!-- Data access objects -->
+ <bean id="adminDao" class="de.ids_mannheim.korap.dao.AdminDaoImpl" />
+ <bean id="authorizationDao"
+ class="de.ids_mannheim.korap.oauth2.dao.CachedAuthorizationDaoImpl" />
+
+ <!-- Services -->
+ <bean id="scopeService"
+ class="de.ids_mannheim.korap.oauth2.service.OAuth2ScopeServiceImpl" />
+
+ <!-- props are injected from default-config.xml -->
+ <bean id="kustvakt_config"
+ class="de.ids_mannheim.korap.config.FullConfiguration">
+ <constructor-arg name="properties" ref="props" />
+ </bean>
+
+ <bean id="initializator"
+ class="de.ids_mannheim.de.init.Initializator" init-method="init">
+ </bean>
+
+ <!-- Krill -->
+ <bean id="search_krill"
+ class="de.ids_mannheim.korap.web.SearchKrill">
+ <constructor-arg value="${krill.indexDir}" />
+ </bean>
+
+ <!-- Validator -->
+ <bean id="validator"
+ class="de.ids_mannheim.korap.validator.ApacheValidator" />
+
+ <!-- URLValidator -->
+ <bean id="redirectURIValidator"
+ class="org.apache.commons.validator.routines.UrlValidator">
+ <constructor-arg value="http,https" index="0" />
+ <constructor-arg index="1" type="long">
+ <util:constant
+ static-field="org.apache.commons.validator.routines.UrlValidator.NO_FRAGMENTS" />
+ </constructor-arg>
+ </bean>
+ <bean id="urlValidator"
+ class="org.apache.commons.validator.routines.UrlValidator">
+ <constructor-arg value="http,https" />
+ </bean>
+
+ <!-- Rewrite -->
+ <bean id="foundryRewrite"
+ class="de.ids_mannheim.korap.rewrite.FoundryRewrite" />
+ <bean id="collectionRewrite"
+ class="de.ids_mannheim.korap.rewrite.CollectionRewrite" />
+ <bean id="virtualCorpusRewrite"
+ class="de.ids_mannheim.korap.rewrite.VirtualCorpusRewrite" />
+ <bean id="queryReferenceRewrite"
+ class="de.ids_mannheim.korap.rewrite.QueryReferenceRewrite" />
+
+ <util:list id="rewriteTasks"
+ value-type="de.ids_mannheim.korap.rewrite.RewriteTask">
+ <ref bean="foundryRewrite" />
+ <ref bean="collectionRewrite" />
+ <ref bean="virtualCorpusRewrite" />
+ <ref bean="queryReferenceRewrite" />
+ </util:list>
+
+ <bean id="rewriteHandler"
+ class="de.ids_mannheim.korap.rewrite.RewriteHandler">
+ <constructor-arg ref="rewriteTasks" />
+ </bean>
+
+ <bean id="kustvaktResponseHandler"
+ class="de.ids_mannheim.korap.web.KustvaktResponseHandler">
+ </bean>
+
+ <!-- OAuth -->
+ <bean id="oauth2ResponseHandler"
+ class="de.ids_mannheim.korap.web.OAuth2ResponseHandler">
+ </bean>
+
+ <bean id="kustvakt_userdb"
+ class="de.ids_mannheim.korap.handlers.EntityDao">
+ <constructor-arg ref="kustvakt_db" />
+ </bean>
+
+ <bean name="kustvakt_encryption"
+ class="de.ids_mannheim.korap.encryption.KustvaktEncryption">
+ <constructor-arg ref="kustvakt_config" />
+ </bean>
+
+ <!-- authentication providers to use -->
+ <!-- <bean id="api_auth" class="de.ids_mannheim.korap.authentication.APIAuthentication">
+ <constructor-arg type="de.ids_mannheim.korap.config.KustvaktConfiguration"
+ ref="kustvakt_config" /> </bean> -->
+
+ <bean id="ldap_auth"
+ class="de.ids_mannheim.korap.authentication.LdapAuth3">
+ <constructor-arg
+ type="de.ids_mannheim.korap.config.KustvaktConfiguration"
+ ref="kustvakt_config" />
+ </bean>
+
+ <bean id="basic_auth"
+ class="de.ids_mannheim.korap.authentication.BasicAuthentication" />
+
+
+ <bean id="session_auth"
+ class="de.ids_mannheim.korap.authentication.SessionAuthentication">
+ <constructor-arg
+ type="de.ids_mannheim.korap.config.KustvaktConfiguration"
+ ref="kustvakt_config" />
+ <constructor-arg
+ type="de.ids_mannheim.korap.interfaces.EncryptionIface"
+ ref="kustvakt_encryption" />
+ </bean>
+
+ <bean id="oauth2_auth"
+ class="de.ids_mannheim.korap.authentication.OAuth2Authentication" />
+
+ <util:list id="kustvakt_authproviders"
+ value-type="de.ids_mannheim.korap.interfaces.AuthenticationIface">
+ <ref bean="basic_auth" />
+ <ref bean="ldap_auth" />
+ <!-- <ref bean="session_auth" /> <ref bean="api_auth" /> -->
+ <ref bean="oauth2_auth" />
+ </util:list>
+
+
+ <bean id="userdata_details"
+ class="de.ids_mannheim.korap.handlers.UserDetailsDao">
+ <constructor-arg ref="kustvakt_db" />
+ </bean>
+
+ <bean id="userdata_settings"
+ class="de.ids_mannheim.korap.handlers.UserSettingsDao">
+ <constructor-arg ref="kustvakt_db" />
+ </bean>
+
+ <util:list id="kustvakt_userdata"
+ value-type="de.ids_mannheim.korap.interfaces.db.UserdataDbIface">
+ <ref bean="userdata_details" />
+ <ref bean="userdata_settings" />
+ </util:list>
+
+ <!-- specify type for constructor argument -->
+ <bean id="authenticationManager"
+ class="de.ids_mannheim.korap.authentication.KustvaktAuthenticationManager">
+ <constructor-arg
+ type="de.ids_mannheim.korap.interfaces.EntityHandlerIface"
+ ref="kustvakt_userdb" />
+ <constructor-arg
+ type="de.ids_mannheim.korap.interfaces.EncryptionIface"
+ ref="kustvakt_encryption" />
+ <constructor-arg ref="kustvakt_config" />
+ <constructor-arg ref="kustvakt_userdata" />
+ <!-- inject authentication providers to use -->
+ <property name="providers" ref="kustvakt_authproviders" />
+ </bean>
+
+ <!-- todo: if db interfaces not loaded via spring, does transaction even
+ work then? -->
+ <!-- the transactional advice (i.e. what 'happens'; see the <aop:advisor/>
+ bean below) -->
+ <tx:advice id="txAdvice" transaction-manager="txManager">
+ <!-- the transactional semantics... -->
+ <tx:attributes>
+ <!-- all methods starting with 'get' are read-only -->
+ <tx:method name="get*" read-only="true"
+ rollback-for="KorAPException" />
+ <!-- other methods use the default transaction settings (see below) -->
+ <tx:method name="*" rollback-for="KorAPException" />
+ </tx:attributes>
+ </tx:advice>
+
+ <!-- ensure that the above transactional advice runs for any execution of
+ an operation defined by the service interface -->
+ <aop:config>
+ <aop:pointcut id="service"
+ expression="execution(* de.ids_mannheim.korap.interfaces.db.*.*(..))" />
+ <aop:advisor advice-ref="txAdvice" pointcut-ref="service" />
+ </aop:config>
+
+ <!-- similarly, don't forget the PlatformTransactionManager -->
+ <bean id="txManager"
+ class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
+ <!-- <property name="dataSource" ref="dataSource" /> -->
+ <property name="dataSource" ref="sqliteDataSource" />
+ </bean>
+
+ <!-- mail -->
+ <bean id="authenticator"
+ class="de.ids_mannheim.korap.service.MailAuthenticator">
+ <constructor-arg index="0" value="${mail.username}" />
+ <constructor-arg index="1" value="${mail.password}" />
+ </bean>
+ <bean id="smtpSession" class="jakarta.mail.Session"
+ factory-method="getInstance">
+ <constructor-arg index="0">
+ <props>
+ <prop key="mail.smtp.submitter">${mail.username}</prop>
+ <prop key="mail.smtp.auth">${mail.auth}</prop>
+ <prop key="mail.smtp.host">${mail.host}</prop>
+ <prop key="mail.smtp.port">${mail.port}</prop>
+ <prop key="mail.smtp.starttls.enable">${mail.starttls.enable}</prop>
+ <prop key="mail.smtp.connectiontimeout">${mail.connectiontimeout}</prop>
+ </props>
+ </constructor-arg>
+ <constructor-arg index="1" ref="authenticator" />
+ </bean>
+ <bean id="mailSender"
+ class="org.springframework.mail.javamail.JavaMailSenderImpl">
+ <property name="username" value="${mail.username}" />
+ <property name="password" value="${mail.password}" />
+ <property name="session" ref="smtpSession" />
+ </bean>
+ <bean id="velocityEngine"
+ class="org.apache.velocity.app.VelocityEngine">
+ <constructor-arg index="0">
+ <props>
+ <prop key="resource.loader">class</prop>
+ <prop key="class.resource.loader.class">org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader
+ </prop>
+ </props>
+ </constructor-arg>
+ </bean>
+</beans>
diff --git a/src/main/resources/codes.kustvakt b/src/main/resources/codes.kustvakt
new file mode 100644
index 0000000..3365699
--- /dev/null
+++ b/src/main/resources/codes.kustvakt
@@ -0,0 +1,93 @@
+# generic non localized messages for API error and message codes
+# below 500 generic status codes for low level function
+# 501 - 999 specific section codes for database, validation,
+# upper 1000 service messages as feedback for user (partially masking low level codes) with optional descriptin of low level error
+
+
+# standard system errors
+100 : "Default Kustvakt failure!"
+101 : "No Entry found!"
+102 : "Entry exists already!"
+103 : "Unsupported operation!"
+104 : "Illegal argument found. Request could not be processed!"
+105 : "Missing argument!"
+106 : "Connection Error!"
+107 : "Missing arguments!"
+108 : "Function Not supported!"
+
+
+# 400 codes for authorization and rewrite functions
+
+400 : "Policy failure!"
+# permission denied is a service code, here it should be more
+# specific about the nature of the error/message
+401 : ""
+402 : "Unsupported resource"
+403 : "Failed rewrite!"
+404 : ""
+405 : "Resource could not be found" --> missing resource
+406 : "No target for resource policy!"
+407 : "No condition for resource policy!"
+408 : "No permission for resource policy!"
+409 : "No policies for resource!"
+
+# 500 database errors
+
+500 : ""
+501 : "Database retrieval failure!"
+502 : "Database insert failure!"
+503 : "Database delete failure!"
+504 : "Database update failure!"
+505 : ""
+506 : ""
+507 : ""
+508 : ""
+509 : ""
+510 : ""
+511 : ""
+512 : ""
+513 : ""
+
+# validation messages
+
+600 : ""
+601 : ""
+602 : ""
+603 : ""
+604 : ""
+605 : ""
+
+
+
+# 1000 service status message codes for logging
+
+1000 : "Status Ok!"
+1001 : "Nothing changed!"
+1002 : "Request could not be processed!"
+1003 : "Access denied!"
+1004 : ""
+1005 : ""
+1006 : ""
+1007 : ""
+1008 : ""
+1009 : ""
+1010 : ""
+
+
+# 2000 codes for REST API services
+2000 : "Account deactivated. Please verify account before using this API"
+2001 : "Account confirmation failed. Please contact an adminstrator"
+2002 : "Already logged in!"
+2003 : "Authentication credentials expired!"
+2004 : "Bad credentials!"
+2005 : ""
+2006 : "Password reset failed"
+
+2007 : "Login successful!"
+2008 : "Login failed!"
+2009 : "Logout successful!"
+2010 : "Logout failed!"
+2011 : "Client registration failed!"
+2012 : "Deleting client information failed!"
+2013 : "Client could not be authorized!"
+
diff --git a/src/main/resources/db/lite/V1.1__annotation.sql b/src/main/resources/db/lite/V1.1__annotation.sql
new file mode 100644
index 0000000..e81fd53
--- /dev/null
+++ b/src/main/resources/db/lite/V1.1__annotation.sql
@@ -0,0 +1,391 @@
+INSERT INTO "annotation" VALUES(1,'opennlp','foundry',NULL,'OpenNLP',NULL);
+INSERT INTO "annotation" VALUES(2,'p','layer',NULL,'Part-of-Speech',NULL);
+INSERT INTO "annotation" VALUES(3,'ADJA','key','ADJA ','Attributive Adjective',NULL);
+INSERT INTO "annotation" VALUES(4,'ADJD','key','ADJD ','Predicative Adjective',NULL);
+INSERT INTO "annotation" VALUES(5,'ADV','key','ADV ','Adverb',NULL);
+INSERT INTO "annotation" VALUES(6,'APPO','key','APPO ','Postposition',NULL);
+INSERT INTO "annotation" VALUES(7,'APPR','key','APPR ','Preposition',NULL);
+INSERT INTO "annotation" VALUES(8,'APPRART','key','APPRART ','Preposition with Determiner',NULL);
+INSERT INTO "annotation" VALUES(9,'APZR','key','APZR ','Right Circumposition',NULL);
+INSERT INTO "annotation" VALUES(10,'ART','key','ART ','Determiner',NULL);
+INSERT INTO "annotation" VALUES(11,'CARD','key','CARD ','Cardinal Number',NULL);
+INSERT INTO "annotation" VALUES(12,'FM','key','FM ','Foreign Material',NULL);
+INSERT INTO "annotation" VALUES(13,'ITJ','key','ITJ ','Interjection',NULL);
+INSERT INTO "annotation" VALUES(14,'KOKOM','key','KOKOM ','Comparison Particle',NULL);
+INSERT INTO "annotation" VALUES(15,'KON','key','KON ','Coordinating Conjuncion',NULL);
+INSERT INTO "annotation" VALUES(16,'KOUI','key','KOUI ','Subordinating Conjunction with ''zu''',NULL);
+INSERT INTO "annotation" VALUES(17,'KOUS','key','KOUS ','Subordinating Conjunction with Sentence',NULL);
+INSERT INTO "annotation" VALUES(18,'NE','key','NE ','Named Entity',NULL);
+INSERT INTO "annotation" VALUES(19,'NN','key','NN ','Normal Nomina',NULL);
+INSERT INTO "annotation" VALUES(20,'PAV','key','PAV ','Pronominal Adverb',NULL);
+INSERT INTO "annotation" VALUES(21,'PDAT','key','PDAT ','Attributive Demonstrative Pronoun',NULL);
+INSERT INTO "annotation" VALUES(22,'PDS','key','PDS ','Substitutive Demonstrative Pronoun',NULL);
+INSERT INTO "annotation" VALUES(23,'PIAT','key','PIAT ','Attributive Indefinite Pronoun without Determiner',NULL);
+INSERT INTO "annotation" VALUES(24,'PIDAT','key','PIDAT ','Attributive Indefinite Pronoun with Determiner',NULL);
+INSERT INTO "annotation" VALUES(25,'PIS','key','PIS ','Substitutive Indefinite Pronoun',NULL);
+INSERT INTO "annotation" VALUES(26,'PPER','key','PPER ','Personal Pronoun',NULL);
+INSERT INTO "annotation" VALUES(27,'PPOSAT','key','PPOSAT ','Attributive Possessive Pronoun',NULL);
+INSERT INTO "annotation" VALUES(28,'PPOSS','key','PPOSS ','Substitutive Possessive Pronoun',NULL);
+INSERT INTO "annotation" VALUES(29,'PRELAT','key','PRELAT ','Attributive Relative Pronoun',NULL);
+INSERT INTO "annotation" VALUES(30,'PRELS','key','PRELS ','Substitutive Relative Pronoun',NULL);
+INSERT INTO "annotation" VALUES(31,'PRF','key','PRF ','Reflexive Pronoun',NULL);
+INSERT INTO "annotation" VALUES(32,'PROAV','key','PROAV ','Pronominal Adverb',NULL);
+INSERT INTO "annotation" VALUES(33,'PTKA','key','PTKA ','Particle with Adjective',NULL);
+INSERT INTO "annotation" VALUES(34,'PTKANT','key','PTKANT ','Answering Particle',NULL);
+INSERT INTO "annotation" VALUES(35,'PTKNEG','key','PTKNEG ','Negation Particle',NULL);
+INSERT INTO "annotation" VALUES(36,'PTKVZ','key','PTKVZ ','Separated Verbal Particle',NULL);
+INSERT INTO "annotation" VALUES(37,'PTKZU','key','PTKZU ','''zu'' Particle',NULL);
+INSERT INTO "annotation" VALUES(38,'PWAT','key','PWAT ','Attributive Interrogative Pronoun',NULL);
+INSERT INTO "annotation" VALUES(39,'PWAV','key','PWAV ','Adverbial Interrogative Pronoun',NULL);
+INSERT INTO "annotation" VALUES(40,'PWS','key','PWS ','Substitutive Interrogative Pronoun',NULL);
+INSERT INTO "annotation" VALUES(41,'TRUNC','key','TRUNC ','Truncated',NULL);
+INSERT INTO "annotation" VALUES(42,'VAFIN','key','VAFIN ','Auxiliary Finite Verb',NULL);
+INSERT INTO "annotation" VALUES(43,'VAIMP','key','VAIMP ','Auxiliary Finite Imperative Verb',NULL);
+INSERT INTO "annotation" VALUES(44,'VAINF','key','VAINF ','Auxiliary Infinite Verb',NULL);
+INSERT INTO "annotation" VALUES(45,'VAPP','key','VAPP ','Auxiliary Perfect Participle',NULL);
+INSERT INTO "annotation" VALUES(46,'VMFIN','key','VMFIN ','Modal Finite Verb',NULL);
+INSERT INTO "annotation" VALUES(47,'VMINF','key','VMINF ','Modal Infinite Verb',NULL);
+INSERT INTO "annotation" VALUES(48,'VMPP','key','VMPP ','Modal Perfect Participle',NULL);
+INSERT INTO "annotation" VALUES(49,'VVFIN','key','VVFIN ','Finite Verb',NULL);
+INSERT INTO "annotation" VALUES(50,'VVIMP','key','VVIMP ','Finite Imperative Verb',NULL);
+INSERT INTO "annotation" VALUES(51,'VVINF','key','VVINF ','Infinite Verb',NULL);
+INSERT INTO "annotation" VALUES(52,'VVIZU','key','VVIZU ','Infinite Verb with ''zu''',NULL);
+INSERT INTO "annotation" VALUES(53,'VVPP','key','VVPP ','Perfect Participle',NULL);
+INSERT INTO "annotation" VALUES(54,'XY','key','XY ','Non-Word',NULL);
+INSERT INTO "annotation" VALUES(55,'mate','foundry',NULL,'Mate',NULL);
+INSERT INTO "annotation" VALUES(56,'l','layer',NULL,'Lemma',NULL);
+INSERT INTO "annotation" VALUES(57,'m','layer',NULL,'Morphology',NULL);
+INSERT INTO "annotation" VALUES(58,'<root-POS>','key','<root-POS>','Root Part of Speech',NULL);
+INSERT INTO "annotation" VALUES(59,'case','key',NULL,'Case',NULL);
+INSERT INTO "annotation" VALUES(60,'degree','key',NULL,'Degree',NULL);
+INSERT INTO "annotation" VALUES(61,'gender','key',NULL,'Gender',NULL);
+INSERT INTO "annotation" VALUES(62,'mood','key',NULL,'Mood',NULL);
+INSERT INTO "annotation" VALUES(63,'number','key',NULL,'Number',NULL);
+INSERT INTO "annotation" VALUES(64,'person','key',NULL,'Person',NULL);
+INSERT INTO "annotation" VALUES(65,'tense','key',NULL,'Tense',NULL);
+INSERT INTO "annotation" VALUES(66,'<no-type> ','key',NULL,'No type',NULL);
+INSERT INTO "annotation" VALUES(67,'acc','value','acc ','Accusative',NULL);
+INSERT INTO "annotation" VALUES(68,'dat','value','dat ','Dative',NULL);
+INSERT INTO "annotation" VALUES(69,'gen','value','gen ','Genitive',NULL);
+INSERT INTO "annotation" VALUES(70,'nom','value','nom ','Nominative',NULL);
+INSERT INTO "annotation" VALUES(71,'*','value','* ','Undefined',NULL);
+INSERT INTO "annotation" VALUES(72,'comp','value','comp ','Comparative',NULL);
+INSERT INTO "annotation" VALUES(73,'pos','value','pos ','Positive',NULL);
+INSERT INTO "annotation" VALUES(74,'sup','value','sup ','Superative',NULL);
+INSERT INTO "annotation" VALUES(75,'fem','value','fem ','Feminium',NULL);
+INSERT INTO "annotation" VALUES(76,'masc','value','masc ','Masculinum',NULL);
+INSERT INTO "annotation" VALUES(77,'neut','value','neut ','Neuter',NULL);
+INSERT INTO "annotation" VALUES(78,'imp','value','imp ','Imperative',NULL);
+INSERT INTO "annotation" VALUES(79,'ind','value','ind ','Indicative',NULL);
+INSERT INTO "annotation" VALUES(80,'subj','value','subj ','Subjunctive',NULL);
+INSERT INTO "annotation" VALUES(81,'pl','value','pl ','Plural',NULL);
+INSERT INTO "annotation" VALUES(82,'sg','value','sg ','Singular',NULL);
+INSERT INTO "annotation" VALUES(83,'1','value','1 ','First Person',NULL);
+INSERT INTO "annotation" VALUES(84,'2','value','2 ','Second Person',NULL);
+INSERT INTO "annotation" VALUES(85,'3','value','3 ','Third Person',NULL);
+INSERT INTO "annotation" VALUES(86,'past','value','past ','Past',NULL);
+INSERT INTO "annotation" VALUES(87,'pres','value','pres ','Present',NULL);
+INSERT INTO "annotation" VALUES(88,'malt','foundry',NULL,'Malt',NULL);
+INSERT INTO "annotation" VALUES(89,'d','layer',NULL,'Dependency',NULL);
+INSERT INTO "annotation" VALUES(90,'-PUNCT-','key','-PUNCT- ','',NULL);
+INSERT INTO "annotation" VALUES(91,'-UNKNOWN-','key','-UNKNOWN- ','',NULL);
+INSERT INTO "annotation" VALUES(92,'APP','key','APP ','',NULL);
+INSERT INTO "annotation" VALUES(93,'ATTR','key','ATTR ','',NULL);
+INSERT INTO "annotation" VALUES(94,'AUX','key','AUX ','',NULL);
+INSERT INTO "annotation" VALUES(95,'AVZ','key','AVZ ','',NULL);
+INSERT INTO "annotation" VALUES(96,'CJ','key','CJ ','',NULL);
+INSERT INTO "annotation" VALUES(97,'DET','key','DET ','',NULL);
+INSERT INTO "annotation" VALUES(98,'EXPL','key','EXPL ','',NULL);
+INSERT INTO "annotation" VALUES(99,'GMOD','key','GMOD ','',NULL);
+INSERT INTO "annotation" VALUES(100,'GRAD','key','GRAD ','',NULL);
+INSERT INTO "annotation" VALUES(101,'KOM','key','KOM ','',NULL);
+INSERT INTO "annotation" VALUES(102,'KONJ','key','KONJ ','',NULL);
+INSERT INTO "annotation" VALUES(103,'NEB','key','NEB ','',NULL);
+INSERT INTO "annotation" VALUES(104,'OBJA','key','OBJA ','',NULL);
+INSERT INTO "annotation" VALUES(105,'OBJC','key','OBJC ','',NULL);
+INSERT INTO "annotation" VALUES(106,'OBJD','key','OBJD ','',NULL);
+INSERT INTO "annotation" VALUES(107,'OBJG','key','OBJG ','',NULL);
+INSERT INTO "annotation" VALUES(108,'OBJI','key','OBJI ','',NULL);
+INSERT INTO "annotation" VALUES(109,'OBJP','key','OBJP ','',NULL);
+INSERT INTO "annotation" VALUES(110,'PAR','key','PAR ','',NULL);
+INSERT INTO "annotation" VALUES(111,'PART','key','PART ','',NULL);
+INSERT INTO "annotation" VALUES(112,'PN','key','PN ','',NULL);
+INSERT INTO "annotation" VALUES(113,'PP','key','PP ','',NULL);
+INSERT INTO "annotation" VALUES(114,'PRED','key','PRED ','',NULL);
+INSERT INTO "annotation" VALUES(115,'REL','key','REL ','',NULL);
+INSERT INTO "annotation" VALUES(116,'ROOT','key','ROOT ','',NULL);
+INSERT INTO "annotation" VALUES(117,'S','key','S ','',NULL);
+INSERT INTO "annotation" VALUES(118,'SUBJ','key','SUBJ ','',NULL);
+INSERT INTO "annotation" VALUES(119,'SUBJC','key','SUBJC ','',NULL);
+INSERT INTO "annotation" VALUES(120,'ZEIT','key','ZEIT ','',NULL);
+INSERT INTO "annotation" VALUES(121,'gmod-app','key','gmod-app ','',NULL);
+INSERT INTO "annotation" VALUES(122,'koord','key','koord ','',NULL);
+INSERT INTO "annotation" VALUES(123,'drukola','foundry',NULL,'DRuKoLa',NULL);
+INSERT INTO "annotation" VALUES(124,'ctag','key',NULL,'CTAG',NULL);
+INSERT INTO "annotation" VALUES(125,'A','value','a ','Adjective',NULL);
+INSERT INTO "annotation" VALUES(126,'Y','value','y ','Abbreviation',NULL);
+INSERT INTO "annotation" VALUES(127,'AN','value','an ','Adjective, Indefinite',NULL);
+INSERT INTO "annotation" VALUES(128,'APRY','value','apry ','Adjective, Plural, Direct, Definite',NULL);
+INSERT INTO "annotation" VALUES(129,'APN','value','apn ','Adjective, Plural, Indefinite',NULL);
+INSERT INTO "annotation" VALUES(130,'APOY','value','apoy ','Adjective, Plural, Oblique, Definite',NULL);
+INSERT INTO "annotation" VALUES(131,'APON','value','apon ','Adjective, Plural, Oblique, Indefinite',NULL);
+INSERT INTO "annotation" VALUES(132,'ASRY','value','asry ','Adjective, Singular, Direct, Definite',NULL);
+INSERT INTO "annotation" VALUES(133,'ASN','value','asn ','Adjective, Singular, Indefinite',NULL);
+INSERT INTO "annotation" VALUES(134,'ASOY','value','asoy ','Adjective, Singular, Oblique, Definite',NULL);
+INSERT INTO "annotation" VALUES(135,'ASON','value','ason ','Adjective, Singular, Oblique, Indefinite',NULL);
+INSERT INTO "annotation" VALUES(136,'ASVY','value','asvy ','Adjective, Singular, Vocative, Definite',NULL);
+INSERT INTO "annotation" VALUES(137,'ASVN','value','asvn ','Adjective, Singular, Vocative, Indefinite',NULL);
+INSERT INTO "annotation" VALUES(138,'R','value','r ','Adverb',NULL);
+INSERT INTO "annotation" VALUES(139,'RC','value','rc ','Adverb, Portmanteau',NULL);
+INSERT INTO "annotation" VALUES(140,'TS','value','ts ','Article, Definite or Possessive, Singular',NULL);
+INSERT INTO "annotation" VALUES(141,'TP','value','tp ','Article, Indefinite or Possessive, Plural',NULL);
+INSERT INTO "annotation" VALUES(142,'TPR','value','tpr ','Article, non-Possessive, Plural, Direct',NULL);
+INSERT INTO "annotation" VALUES(143,'TPO','value','tpo ','Article, non-Possessive, Plural, Oblique',NULL);
+INSERT INTO "annotation" VALUES(144,'TSR','value','tsr ','Article, non-Possessive, Singular, Direct',NULL);
+INSERT INTO "annotation" VALUES(145,'TSO','value','tso ','Article, non-Possessive, Singular, Oblique',NULL);
+INSERT INTO "annotation" VALUES(146,'NPRY','value','npry ','Common Noun, Plural, Direct, Definite',NULL);
+INSERT INTO "annotation" VALUES(147,'NPN','value','npn ','Common Noun, Plural, Indefinite',NULL);
+INSERT INTO "annotation" VALUES(148,'NPOY','value','npoy ','Common Noun, Plural, Oblique, Definite',NULL);
+INSERT INTO "annotation" VALUES(149,'NPVY','value','npvy ','Common Noun, Plural, Vocative, Definite',NULL);
+INSERT INTO "annotation" VALUES(150,'NN','value','nn ','Common Noun, singular',NULL);
+INSERT INTO "annotation" VALUES(151,'NSY','value','nsy ','Common Noun, Singular, Definite',NULL);
+INSERT INTO "annotation" VALUES(152,'NSRY','value','nsry ','Common Noun, Singular, Direct, Definite',NULL);
+INSERT INTO "annotation" VALUES(153,'NSRN','value','nsrn ','Common Noun, Singular, Direct, Indefinite',NULL);
+INSERT INTO "annotation" VALUES(154,'NSN','value','nsn ','Common Noun, Singular, Indefinite',NULL);
+INSERT INTO "annotation" VALUES(155,'NSOY','value','nsoy ','Common Noun, Singular, Oblique, Definite',NULL);
+INSERT INTO "annotation" VALUES(156,'NSON','value','nson ','Common Noun, Singular, Oblique, Indefinite',NULL);
+INSERT INTO "annotation" VALUES(157,'NSVY','value','nsvy ','Common Noun, Singular, Vocative, Definite',NULL);
+INSERT INTO "annotation" VALUES(158,'NSVN','value','nsvn ','Common Noun, Singular, Vocative, Indefinite',NULL);
+INSERT INTO "annotation" VALUES(159,'CR','value','cr ','Conjunctio, portmanteau',NULL);
+INSERT INTO "annotation" VALUES(160,'C','value','c ','Conjunction',NULL);
+INSERT INTO "annotation" VALUES(161,'QF','value','qf ','Future Particle',NULL);
+INSERT INTO "annotation" VALUES(162,'QN','value','qn ','Infinitival Particle',NULL);
+INSERT INTO "annotation" VALUES(163,'I','value','i ','Interjection',NULL);
+INSERT INTO "annotation" VALUES(164,'QZ','value','qz ','Negative Particle',NULL);
+INSERT INTO "annotation" VALUES(165,'M','value','m ','Numeral',NULL);
+INSERT INTO "annotation" VALUES(166,'PP','value','pp ','Personal Pronoun',NULL);
+INSERT INTO "annotation" VALUES(167,'PPP','value','ppp ','Personal Pronoun, Plural',NULL);
+INSERT INTO "annotation" VALUES(168,'PPPA','value','pppa ','Personal Pronoun, Plural, Acc.',NULL);
+INSERT INTO "annotation" VALUES(169,'PPPD','value','pppd ','Personal Pronoun, Plural, Dative',NULL);
+INSERT INTO "annotation" VALUES(170,'PPPR','value','pppr ','Personal Pronoun, Plural, Direct',NULL);
+INSERT INTO "annotation" VALUES(171,'PPPO','value','pppo ','Personal Pronoun, Plural, Oblique',NULL);
+INSERT INTO "annotation" VALUES(172,'PPS','value','pps ','Personal Pronoun, Singular',NULL);
+INSERT INTO "annotation" VALUES(173,'PPSA','value','ppsa ','Personal Pronoun, Singular, Accusative',NULL);
+INSERT INTO "annotation" VALUES(174,'PPSD','value','ppsd ','Personal Pronoun, Singular, Dative',NULL);
+INSERT INTO "annotation" VALUES(175,'PPSR','value','ppsr ','Personal Pronoun, Singular, Direct',NULL);
+INSERT INTO "annotation" VALUES(176,'PPSN','value','ppsn ','Personal Pronoun, Singular, Nominative',NULL);
+INSERT INTO "annotation" VALUES(177,'PPSO','value','ppso ','Personal Pronoun, Singular, Oblique',NULL);
+INSERT INTO "annotation" VALUES(178,'S','value','s ','Preposition',NULL);
+INSERT INTO "annotation" VALUES(179,'DMPR','value','dmpr ','Pronoun or Determiner, Demonstrative, Plural, Direct',NULL);
+INSERT INTO "annotation" VALUES(180,'DMPO','value','dmpo ','Pronoun or Determiner, Demonstrative, Plural, Oblique',NULL);
+INSERT INTO "annotation" VALUES(181,'DMSR','value','dmsr ','Pronoun or Determiner, Demonstrative, Singular, Direct',NULL);
+INSERT INTO "annotation" VALUES(182,'DMSO','value','dmso ','Pronoun or Determiner, Demonstrative, Singular, Oblique',NULL);
+INSERT INTO "annotation" VALUES(183,'PS','value','ps ','Pronoun or Determiner, Poss or Emph',NULL);
+INSERT INTO "annotation" VALUES(184,'PSS','value','pss ','Pronoun or Determiner, Poss or Emph, Singular',NULL);
+INSERT INTO "annotation" VALUES(185,'RELR','value','relr ','Pronoun or Determiner, Relative, Direct',NULL);
+INSERT INTO "annotation" VALUES(186,'RELO','value','relo ','Pronoun or Determiner, Relative, Oblique',NULL);
+INSERT INTO "annotation" VALUES(187,'NP','value','np ','Proper Noun',NULL);
+INSERT INTO "annotation" VALUES(188,'PI','value','pi ','Quantifier Pronoun or Determiner',NULL);
+INSERT INTO "annotation" VALUES(189,'PXA','value','pxa ','Reflexive Pronoun, Accusative',NULL);
+INSERT INTO "annotation" VALUES(190,'PXD','value','pxd ','Reflexive Pronoun, Dative',NULL);
+INSERT INTO "annotation" VALUES(191,'X','value','x ','Residual',NULL);
+INSERT INTO "annotation" VALUES(192,'QS','value','qs ','Subjunctive Particle',NULL);
+INSERT INTO "annotation" VALUES(193,'VA','value','va ','Verb, Auxiliary',NULL);
+INSERT INTO "annotation" VALUES(194,'VA1','value','va1 ','Verb, Auxiliary, 1st person',NULL);
+INSERT INTO "annotation" VALUES(195,'VA2P','value','va2p ','Verb, Auxiliary, 2nd person, Plural',NULL);
+INSERT INTO "annotation" VALUES(196,'VA2S','value','va2s ','Verb, Auxiliary, 2nd person, Singular',NULL);
+INSERT INTO "annotation" VALUES(197,'VA3','value','va3 ','Verb, Auxiliary, 3rd person',NULL);
+INSERT INTO "annotation" VALUES(198,'VA3P','value','va3p ','Verb, Auxiliary, 3rd person, Plural',NULL);
+INSERT INTO "annotation" VALUES(199,'VA3S','value','va3s ','Verb, Auxiliary, 3rd person, Singular',NULL);
+INSERT INTO "annotation" VALUES(200,'VA1P','value','va1p ','Verb, Auxiliary,1st person, Plural',NULL);
+INSERT INTO "annotation" VALUES(201,'VA1S','value','va1s ','Verb, Auxiliary,1st person, Singular',NULL);
+INSERT INTO "annotation" VALUES(202,'VG','value','vg ','Verb, Gerund',NULL);
+INSERT INTO "annotation" VALUES(203,'VN','value','vn ','Verb, Infinitive',NULL);
+INSERT INTO "annotation" VALUES(204,'V1','value','v1 ','Verb, Main, 1st person',NULL);
+INSERT INTO "annotation" VALUES(205,'V2','value','v2 ','Verb, Main, 2nd person',NULL);
+INSERT INTO "annotation" VALUES(206,'V3','value','v3 ','Verb, Main, 3rd person',NULL);
+INSERT INTO "annotation" VALUES(207,'VPPF','value','vppf ','Verb, Participle, Plural, Feminine',NULL);
+INSERT INTO "annotation" VALUES(208,'VPPM','value','vppm ','Verb, Participle, Plural, Masculine',NULL);
+INSERT INTO "annotation" VALUES(209,'VPSF','value','vpsf ','Verb, Participle, Singular, Feminine',NULL);
+INSERT INTO "annotation" VALUES(210,'VPSM','value','vpsm ','Verb, Participle, Singular, Masculine',NULL);
+INSERT INTO "annotation" VALUES(211,'cnx','foundry',NULL,'Connexor',NULL);
+INSERT INTO "annotation" VALUES(212,'c','layer',NULL,'Constituency',NULL);
+INSERT INTO "annotation" VALUES(213,'syn','layer',NULL,'Syntax',NULL);
+INSERT INTO "annotation" VALUES(214,'np','key','np ','Nominal Phrase',NULL);
+INSERT INTO "annotation" VALUES(215,'Abbr','key','Abbr ','Nouns: Abbreviation',NULL);
+INSERT INTO "annotation" VALUES(216,'CMP','key','CMP ','Adjective: Comparative',NULL);
+INSERT INTO "annotation" VALUES(217,'IMP','key','IMP ','Mood: Imperative',NULL);
+INSERT INTO "annotation" VALUES(218,'IND','key','IND ','Mood: Indicative',NULL);
+INSERT INTO "annotation" VALUES(219,'INF','key','INF ','Infinitive',NULL);
+INSERT INTO "annotation" VALUES(220,'ORD','key','ORD ','Numeral: Ordinal',NULL);
+INSERT INTO "annotation" VALUES(221,'PAST','key','PAST ','Tense: past',NULL);
+INSERT INTO "annotation" VALUES(222,'PCP','key','PCP ','Participle',NULL);
+INSERT INTO "annotation" VALUES(223,'PERF','key','PERF ','Perfective Participle',NULL);
+INSERT INTO "annotation" VALUES(224,'PL','key','PL ','Nouns: Plural',NULL);
+INSERT INTO "annotation" VALUES(225,'PRES','key','PRES ','Tense: present',NULL);
+INSERT INTO "annotation" VALUES(226,'PROG','key','PROG ','Progressive Participle',NULL);
+INSERT INTO "annotation" VALUES(227,'Prop','key','Prop ','Nouns: Proper Noun',NULL);
+INSERT INTO "annotation" VALUES(228,'SUB','key','SUB ','Mood: Subjunctive',NULL);
+INSERT INTO "annotation" VALUES(229,'SUP','key','SUP ','Adjective: Superlative',NULL);
+INSERT INTO "annotation" VALUES(230,'A','key','A ','Adjective',NULL);
+INSERT INTO "annotation" VALUES(231,'CC','key','CC ','Coordination Marker',NULL);
+INSERT INTO "annotation" VALUES(232,'CS','key','CS ','Clause Marker',NULL);
+INSERT INTO "annotation" VALUES(233,'INTERJ','key','INTERJ ','Interjection',NULL);
+INSERT INTO "annotation" VALUES(234,'N','key','N ','Noun',NULL);
+INSERT INTO "annotation" VALUES(235,'NUM','key','NUM ','Numeral',NULL);
+INSERT INTO "annotation" VALUES(236,'PREP','key','PREP ','Preposition',NULL);
+INSERT INTO "annotation" VALUES(237,'PRON','key','PRON ','Pro-Nominal',NULL);
+INSERT INTO "annotation" VALUES(238,'V','key','V ','Verb',NULL);
+INSERT INTO "annotation" VALUES(239,'@ADVL','key','@ADVL ','Adverbial Head',NULL);
+INSERT INTO "annotation" VALUES(240,'@AUX','key','@AUX ','Auxiliary Verb',NULL);
+INSERT INTO "annotation" VALUES(241,'@CC','key','@CC ','Coordination',NULL);
+INSERT INTO "annotation" VALUES(242,'@MAIN','key','@MAIN ','Main Verb',NULL);
+INSERT INTO "annotation" VALUES(243,'@NH','key','@NH ','Nominal Head',NULL);
+INSERT INTO "annotation" VALUES(244,'@POSTMOD','key','@POSTMOD ','Postmodifier',NULL);
+INSERT INTO "annotation" VALUES(245,'@PREMARK','key','@PREMARK ','Preposed Marker',NULL);
+INSERT INTO "annotation" VALUES(246,'@PREMOD','key','@PREMOD ','Premodifier',NULL);
+INSERT INTO "annotation" VALUES(247,'marmot','foundry',NULL,'MarMoT',NULL);
+INSERT INTO "annotation" VALUES(248,'base','foundry',NULL,'Base Annotation',NULL);
+INSERT INTO "annotation" VALUES(249,'s','layer',NULL,'Structure',NULL);
+INSERT INTO "annotation" VALUES(250,'s','key','s','Sentence',NULL);
+INSERT INTO "annotation" VALUES(251,'p','key','p','Paragraph',NULL);
+INSERT INTO "annotation" VALUES(252,'t','key','t','Text',NULL);
+INSERT INTO "annotation" VALUES(253,'xip','foundry',NULL,'Xerox Parser',NULL);
+INSERT INTO "annotation" VALUES(254,'lwc','foundry',NULL,'LWC',NULL);
+INSERT INTO "annotation" VALUES(255,'AC','key','AC ','adpositional case marker',NULL);
+INSERT INTO "annotation" VALUES(256,'ADC','key','ADC ','adjective component',NULL);
+INSERT INTO "annotation" VALUES(257,'AMS','key','AMS ','measure argument of adj',NULL);
+INSERT INTO "annotation" VALUES(258,'AVC','key','AVC ','adverbial phrase component',NULL);
+INSERT INTO "annotation" VALUES(259,'CD','key','CD ','coordinating conjunction',NULL);
+INSERT INTO "annotation" VALUES(260,'CM','key','CM ','comparative concjunction',NULL);
+INSERT INTO "annotation" VALUES(261,'CP','key','CP ','complementizer',NULL);
+INSERT INTO "annotation" VALUES(262,'DA','key','DA ','dative',NULL);
+INSERT INTO "annotation" VALUES(263,'DH','key','DH ','discourse-level head',NULL);
+INSERT INTO "annotation" VALUES(264,'DM','key','DM ','discourse marker',NULL);
+INSERT INTO "annotation" VALUES(265,'GL','key','GL ','prenominal genitive',NULL);
+INSERT INTO "annotation" VALUES(266,'GR','key','GR ','postnominal genitive',NULL);
+INSERT INTO "annotation" VALUES(267,'HD','key','HD ','head',NULL);
+INSERT INTO "annotation" VALUES(268,'JU','key','JU ','junctor',NULL);
+INSERT INTO "annotation" VALUES(269,'MC','key','MC ','comitative',NULL);
+INSERT INTO "annotation" VALUES(270,'MI','key','MI ','instrumental',NULL);
+INSERT INTO "annotation" VALUES(271,'ML','key','ML ','locative',NULL);
+INSERT INTO "annotation" VALUES(272,'MNR','key','MNR ','postnominal modifier',NULL);
+INSERT INTO "annotation" VALUES(273,'MO','key','MO ','modifier',NULL);
+INSERT INTO "annotation" VALUES(274,'MR','key','MR ','rhetorical modifier',NULL);
+INSERT INTO "annotation" VALUES(275,'MW','key','MW ','way (directional modifier)',NULL);
+INSERT INTO "annotation" VALUES(276,'NG','key','NG ','negation',NULL);
+INSERT INTO "annotation" VALUES(277,'NK','key','NK ','noun kernel modifier',NULL);
+INSERT INTO "annotation" VALUES(278,'NMC','key','NMC ','numerical component',NULL);
+INSERT INTO "annotation" VALUES(279,'OA','key','OA ','accusative object',NULL);
+INSERT INTO "annotation" VALUES(280,'OA2','key','OA2 ','second accusative object',NULL);
+INSERT INTO "annotation" VALUES(281,'OC','key','OC ','clausal object',NULL);
+INSERT INTO "annotation" VALUES(282,'OG','key','OG ','genitive object',NULL);
+INSERT INTO "annotation" VALUES(283,'PD','key','PD ','predicate',NULL);
+INSERT INTO "annotation" VALUES(284,'PG','key','PG ','pseudo-genitive',NULL);
+INSERT INTO "annotation" VALUES(285,'PH','key','PH ','placeholder',NULL);
+INSERT INTO "annotation" VALUES(286,'PM','key','PM ','morphological particle',NULL);
+INSERT INTO "annotation" VALUES(287,'PNC','key','PNC ','proper noun component',NULL);
+INSERT INTO "annotation" VALUES(288,'RC','key','RC ','relative clause',NULL);
+INSERT INTO "annotation" VALUES(289,'RE','key','RE ','repeated element',NULL);
+INSERT INTO "annotation" VALUES(290,'RS','key','RS ','reported speech',NULL);
+INSERT INTO "annotation" VALUES(291,'SB','key','SB ','subject',NULL);
+INSERT INTO "annotation" VALUES(292,'SBP','key','SBP ','passivised subject (PP)',NULL);
+INSERT INTO "annotation" VALUES(293,'SP','key','SP ','subject or predicate',NULL);
+INSERT INTO "annotation" VALUES(294,'SVP','key','SVP ','separable verb prefix',NULL);
+INSERT INTO "annotation" VALUES(295,'UC','key','UC ','(idiosyncratic) unit component',NULL);
+INSERT INTO "annotation" VALUES(296,'VO','key','VO ','vocative',NULL);
+INSERT INTO "annotation" VALUES(297,'dereko','foundry',NULL,'DeReKo',NULL);
+INSERT INTO "annotation" VALUES(298,'sgbr','foundry',NULL,'Schreibgebrauch',NULL);
+INSERT INTO "annotation" VALUES(299,'lv','layer',NULL,'Lemma Variants',NULL);
+INSERT INTO "annotation" VALUES(300,'NNE','key','NNE','Normal Nomina with Named Entity',NULL);
+INSERT INTO "annotation" VALUES(301,'ADVART','key','ADVART','Adverb with Article',NULL);
+INSERT INTO "annotation" VALUES(302,'EMOASC','key','EMOASC','ASCII emoticon',NULL);
+INSERT INTO "annotation" VALUES(303,'EMOIMG','key','EMOIMG','Graphic emoticon',NULL);
+INSERT INTO "annotation" VALUES(304,'ERRTOK','key','ERRTOK','Tokenisation Error',NULL);
+INSERT INTO "annotation" VALUES(305,'HST','key','HST','Hashtag',NULL);
+INSERT INTO "annotation" VALUES(306,'KOUSPPER','key','KOUSPPER','Subordinating Conjunction (with Sentence) with Personal Pronoun',NULL);
+INSERT INTO "annotation" VALUES(307,'ONO','key','ONO','Onomatopoeia',NULL);
+INSERT INTO "annotation" VALUES(308,'PPERPPER','key','PPERPPER','Personal Pronoun with Personal Pronoun',NULL);
+INSERT INTO "annotation" VALUES(309,'URL','key','URL','Uniform Resource Locator',NULL);
+INSERT INTO "annotation" VALUES(310,'VAPPER','key','VAPPER','Finite Auxiliary Verb with Personal Pronoun',NULL);
+INSERT INTO "annotation" VALUES(311,'VMPPER','key','VMPPER','Fintite Modal Verb with Personal Pronoun',NULL);
+INSERT INTO "annotation" VALUES(312,'VVPPER','key','VVPPER','Finite Full Verb with Personal Pronoun',NULL);
+INSERT INTO "annotation" VALUES(313,'AW','key','AW','Interaction Word',NULL);
+INSERT INTO "annotation" VALUES(314,'ADR','key','ADR','Addressing Term',NULL);
+INSERT INTO "annotation" VALUES(315,'AWIND','key','AWIND','Punctuation Indicating Addressing Term',NULL);
+INSERT INTO "annotation" VALUES(316,'ERRAW','key','ERRAW','Part of Erroneously Separated Compound',NULL);
+INSERT INTO "annotation" VALUES(317,'corenlp','foundry',NULL,'CoreNLP',NULL);
+INSERT INTO "annotation" VALUES(318,'ne','layer',NULL,'Named Entity',NULL);
+INSERT INTO "annotation" VALUES(319,'ne_dewac_175m_600','layer',NULL,'Named Entity',NULL);
+INSERT INTO "annotation" VALUES(320,'ne_hgc_175m_600','layer',NULL,'Named Entity',NULL);
+INSERT INTO "annotation" VALUES(321,'I-LOC','key','I-LOC ','Location',NULL);
+INSERT INTO "annotation" VALUES(322,'I-MISC','key','I-MISC ','Miscellaneous',NULL);
+INSERT INTO "annotation" VALUES(323,'I-ORG','key','I-ORG ','Organization',NULL);
+INSERT INTO "annotation" VALUES(324,'I-PER','key','I-PER ','Person',NULL);
+INSERT INTO "annotation" VALUES(325,'AA','key','AA','superlative phrase with ''am''',NULL);
+INSERT INTO "annotation" VALUES(326,'AP','key','AP','adjektive phrase',NULL);
+INSERT INTO "annotation" VALUES(327,'AVP','key','AVP','adverbial phrase',NULL);
+INSERT INTO "annotation" VALUES(328,'CAP','key','CAP','coordinated adjektive phrase',NULL);
+INSERT INTO "annotation" VALUES(329,'CAVP','key','CAVP','coordinated adverbial phrase',NULL);
+INSERT INTO "annotation" VALUES(330,'CAC','key','CAC','coordinated adposition',NULL);
+INSERT INTO "annotation" VALUES(331,'CCP','key','CCP','coordinated complementiser',NULL);
+INSERT INTO "annotation" VALUES(332,'CH','key','CH','chunk',NULL);
+INSERT INTO "annotation" VALUES(333,'CNP','key','CNP','coordinated noun phrase',NULL);
+INSERT INTO "annotation" VALUES(334,'CO','key','CO','coordination',NULL);
+INSERT INTO "annotation" VALUES(335,'CPP','key','CPP','coordinated adpositional phrase',NULL);
+INSERT INTO "annotation" VALUES(336,'CVP','key','CVP','coordinated verb phrase (non-finite)',NULL);
+INSERT INTO "annotation" VALUES(337,'CVZ','key','CVZ','coordinated zu-marked infinitive',NULL);
+INSERT INTO "annotation" VALUES(338,'DL','key','DL','discourse level constituent',NULL);
+INSERT INTO "annotation" VALUES(339,'ISU','key','ISU','idiosyncratis unit',NULL);
+INSERT INTO "annotation" VALUES(340,'MPN','key','MPN','multi-word proper noun',NULL);
+INSERT INTO "annotation" VALUES(341,'MTA','key','MTA','multi-token adjective',NULL);
+INSERT INTO "annotation" VALUES(342,'NM','key','NM','multi-token number',NULL);
+INSERT INTO "annotation" VALUES(343,'NP','key','NP','noun phrase',NULL);
+INSERT INTO "annotation" VALUES(344,'QL','key','QL','quasi-languag',NULL);
+INSERT INTO "annotation" VALUES(345,'VP','key','VP','verb phrase (non-finite)',NULL);
+INSERT INTO "annotation" VALUES(346,'VZ','key','VZ','zu-marked infinitive',NULL);
+INSERT INTO "annotation" VALUES(347,'AC','value','AC ','adpositional case marker',NULL);
+INSERT INTO "annotation" VALUES(348,'ADC','value','ADC ','adjective component',NULL);
+INSERT INTO "annotation" VALUES(349,'AMS','value','AMS ','measure argument of adj',NULL);
+INSERT INTO "annotation" VALUES(350,'APP','value','APP ','apposition',NULL);
+INSERT INTO "annotation" VALUES(351,'AVC','value','AVC ','adverbial phrase component',NULL);
+INSERT INTO "annotation" VALUES(352,'CC','value','CC ','comparative complement',NULL);
+INSERT INTO "annotation" VALUES(353,'CD','value','CD ','coordinating conjunction',NULL);
+INSERT INTO "annotation" VALUES(354,'CJ','value','CJ ','conjunct',NULL);
+INSERT INTO "annotation" VALUES(355,'CM','value','CM ','comparative concjunction',NULL);
+INSERT INTO "annotation" VALUES(356,'CP','value','CP ','complementizer',NULL);
+INSERT INTO "annotation" VALUES(357,'DA','value','DA ','dative',NULL);
+INSERT INTO "annotation" VALUES(358,'DH','value','DH ','discourse-level head',NULL);
+INSERT INTO "annotation" VALUES(359,'DM','value','DM ','discourse marker',NULL);
+INSERT INTO "annotation" VALUES(360,'GL','value','GL ','prenominal genitive',NULL);
+INSERT INTO "annotation" VALUES(361,'GR','value','GR ','postnominal genitive',NULL);
+INSERT INTO "annotation" VALUES(362,'HD','value','HD ','head',NULL);
+INSERT INTO "annotation" VALUES(363,'JU','value','JU ','junctor',NULL);
+INSERT INTO "annotation" VALUES(364,'MC','value','MC ','comitative',NULL);
+INSERT INTO "annotation" VALUES(365,'MI','value','MI ','instrumental',NULL);
+INSERT INTO "annotation" VALUES(366,'ML','value','ML ','locative',NULL);
+INSERT INTO "annotation" VALUES(367,'MNR','value','MNR ','postnominal modifier',NULL);
+INSERT INTO "annotation" VALUES(368,'MO','value','MO ','modifier',NULL);
+INSERT INTO "annotation" VALUES(369,'MR','value','MR ','rhetorical modifier',NULL);
+INSERT INTO "annotation" VALUES(370,'MW','value','MW ','way (directional modifier)',NULL);
+INSERT INTO "annotation" VALUES(371,'NG','value','NG ','negation',NULL);
+INSERT INTO "annotation" VALUES(372,'NK','value','NK ','noun kernel modifier',NULL);
+INSERT INTO "annotation" VALUES(373,'NMC','value','NMC ','numerical component',NULL);
+INSERT INTO "annotation" VALUES(374,'OA','value','OA ','accusative object',NULL);
+INSERT INTO "annotation" VALUES(375,'OA2','value','OA2 ','second accusative object',NULL);
+INSERT INTO "annotation" VALUES(376,'OC','value','OC ','clausal object',NULL);
+INSERT INTO "annotation" VALUES(377,'OG','value','OG ','genitive object',NULL);
+INSERT INTO "annotation" VALUES(378,'PD','value','PD ','predicate',NULL);
+INSERT INTO "annotation" VALUES(379,'PG','value','PG ','pseudo-genitive',NULL);
+INSERT INTO "annotation" VALUES(380,'PH','value','PH ','placeholder',NULL);
+INSERT INTO "annotation" VALUES(381,'PM','value','PM ','morphological particle',NULL);
+INSERT INTO "annotation" VALUES(382,'PNC','value','PNC ','proper noun component',NULL);
+INSERT INTO "annotation" VALUES(383,'RE','value','RE ','repeated element',NULL);
+INSERT INTO "annotation" VALUES(384,'RS','value','RS ','reported speech',NULL);
+INSERT INTO "annotation" VALUES(385,'SB','value','SB ','subject',NULL);
+INSERT INTO "annotation" VALUES(386,'SBP','value','SBP ','passivised subject (PP)',NULL);
+INSERT INTO "annotation" VALUES(387,'SP','value','SP ','subject or predicate',NULL);
+INSERT INTO "annotation" VALUES(388,'SVP','value','SVP ','separable verb prefix',NULL);
+INSERT INTO "annotation" VALUES(389,'UC','value','UC ','(idiosyncratic) unit component',NULL);
+INSERT INTO "annotation" VALUES(390,'VO','value','VO ','vocative',NULL);
+INSERT INTO "annotation" VALUES(391,'tt','foundry',NULL,'TreeTagger',NULL);
diff --git a/src/main/resources/db/lite/V1.2__annotation_layer.sql b/src/main/resources/db/lite/V1.2__annotation_layer.sql
new file mode 100644
index 0000000..03ae9fc
--- /dev/null
+++ b/src/main/resources/db/lite/V1.2__annotation_layer.sql
@@ -0,0 +1,31 @@
+INSERT INTO "annotation_layer" VALUES(1,1,2,'OpenNLP Part-of-Speech');
+INSERT INTO "annotation_layer" VALUES(2,55,56,'Mate Lemma');
+INSERT INTO "annotation_layer" VALUES(3,55,57,'Mate Morphology');
+INSERT INTO "annotation_layer" VALUES(4,55,2,'Mate Part-of-Speech');
+INSERT INTO "annotation_layer" VALUES(5,88,89,'Malt Dependency');
+INSERT INTO "annotation_layer" VALUES(6,123,56,'DRuKoLa Lemma');
+INSERT INTO "annotation_layer" VALUES(7,123,57,'DRuKoLa Morphology');
+INSERT INTO "annotation_layer" VALUES(8,123,2,'DRuKoLa Part-of-Speech');
+INSERT INTO "annotation_layer" VALUES(9,211,212,'Connexor Constituency');
+INSERT INTO "annotation_layer" VALUES(10,211,56,'Connexor Lemma');
+INSERT INTO "annotation_layer" VALUES(11,211,57,'Connexor Morphology');
+INSERT INTO "annotation_layer" VALUES(12,211,2,'Connexor Part-of-Speech');
+INSERT INTO "annotation_layer" VALUES(13,211,213,'Connexor Syntax');
+INSERT INTO "annotation_layer" VALUES(14,247,57,'MarMoT Morphology');
+INSERT INTO "annotation_layer" VALUES(15,247,2,'MarMoT Part-of-Speech');
+INSERT INTO "annotation_layer" VALUES(16,248,249,'Base Annotation Structure');
+INSERT INTO "annotation_layer" VALUES(17,253,212,'Xerox Parser Constituency');
+INSERT INTO "annotation_layer" VALUES(18,253,56,'Xerox Parser Lemma');
+INSERT INTO "annotation_layer" VALUES(19,253,2,'Xerox Parser Part-of-Speech');
+INSERT INTO "annotation_layer" VALUES(20,254,89,'LWC Dependency');
+INSERT INTO "annotation_layer" VALUES(21,297,249,'DeReKo Structure');
+INSERT INTO "annotation_layer" VALUES(22,298,56,'Schreibgebrauch Lemma');
+INSERT INTO "annotation_layer" VALUES(23,298,299,'Schreibgebrauch Lemma Variants');
+INSERT INTO "annotation_layer" VALUES(24,298,2,'Schreibgebrauch Part-of-Speech');
+INSERT INTO "annotation_layer" VALUES(25,317,212,'CoreNLP Constituency');
+INSERT INTO "annotation_layer" VALUES(26,317,318,'CoreNLP Named Entity');
+INSERT INTO "annotation_layer" VALUES(27,317,319,'CoreNLP Named Entity');
+INSERT INTO "annotation_layer" VALUES(28,317,320,'CoreNLP Named Entity');
+INSERT INTO "annotation_layer" VALUES(29,317,2,'CoreNLP Part-of-Speech');
+INSERT INTO "annotation_layer" VALUES(30,391,56,'TreeTagger Lemma');
+INSERT INTO "annotation_layer" VALUES(31,391,2,'TreeTagger Part-of-Speech');
diff --git a/src/main/resources/db/lite/V1.3__annotation_key.sql b/src/main/resources/db/lite/V1.3__annotation_key.sql
new file mode 100644
index 0000000..f713062
--- /dev/null
+++ b/src/main/resources/db/lite/V1.3__annotation_key.sql
@@ -0,0 +1,503 @@
+INSERT INTO "annotation_key" VALUES(1,1,3);
+INSERT INTO "annotation_key" VALUES(2,1,4);
+INSERT INTO "annotation_key" VALUES(3,1,5);
+INSERT INTO "annotation_key" VALUES(4,1,6);
+INSERT INTO "annotation_key" VALUES(5,1,7);
+INSERT INTO "annotation_key" VALUES(6,1,8);
+INSERT INTO "annotation_key" VALUES(7,1,9);
+INSERT INTO "annotation_key" VALUES(8,1,10);
+INSERT INTO "annotation_key" VALUES(9,1,11);
+INSERT INTO "annotation_key" VALUES(10,1,12);
+INSERT INTO "annotation_key" VALUES(11,1,13);
+INSERT INTO "annotation_key" VALUES(12,1,14);
+INSERT INTO "annotation_key" VALUES(13,1,15);
+INSERT INTO "annotation_key" VALUES(14,1,16);
+INSERT INTO "annotation_key" VALUES(15,1,17);
+INSERT INTO "annotation_key" VALUES(16,1,18);
+INSERT INTO "annotation_key" VALUES(17,1,19);
+INSERT INTO "annotation_key" VALUES(18,1,20);
+INSERT INTO "annotation_key" VALUES(19,1,21);
+INSERT INTO "annotation_key" VALUES(20,1,22);
+INSERT INTO "annotation_key" VALUES(21,1,23);
+INSERT INTO "annotation_key" VALUES(22,1,24);
+INSERT INTO "annotation_key" VALUES(23,1,25);
+INSERT INTO "annotation_key" VALUES(24,1,26);
+INSERT INTO "annotation_key" VALUES(25,1,27);
+INSERT INTO "annotation_key" VALUES(26,1,28);
+INSERT INTO "annotation_key" VALUES(27,1,29);
+INSERT INTO "annotation_key" VALUES(28,1,30);
+INSERT INTO "annotation_key" VALUES(29,1,31);
+INSERT INTO "annotation_key" VALUES(30,1,32);
+INSERT INTO "annotation_key" VALUES(31,1,33);
+INSERT INTO "annotation_key" VALUES(32,1,34);
+INSERT INTO "annotation_key" VALUES(33,1,35);
+INSERT INTO "annotation_key" VALUES(34,1,36);
+INSERT INTO "annotation_key" VALUES(35,1,37);
+INSERT INTO "annotation_key" VALUES(36,1,38);
+INSERT INTO "annotation_key" VALUES(37,1,39);
+INSERT INTO "annotation_key" VALUES(38,1,40);
+INSERT INTO "annotation_key" VALUES(39,1,41);
+INSERT INTO "annotation_key" VALUES(40,1,42);
+INSERT INTO "annotation_key" VALUES(41,1,43);
+INSERT INTO "annotation_key" VALUES(42,1,44);
+INSERT INTO "annotation_key" VALUES(43,1,45);
+INSERT INTO "annotation_key" VALUES(44,1,46);
+INSERT INTO "annotation_key" VALUES(45,1,47);
+INSERT INTO "annotation_key" VALUES(46,1,48);
+INSERT INTO "annotation_key" VALUES(47,1,49);
+INSERT INTO "annotation_key" VALUES(48,1,50);
+INSERT INTO "annotation_key" VALUES(49,1,51);
+INSERT INTO "annotation_key" VALUES(50,1,52);
+INSERT INTO "annotation_key" VALUES(51,1,53);
+INSERT INTO "annotation_key" VALUES(52,1,54);
+INSERT INTO "annotation_key" VALUES(53,4,3);
+INSERT INTO "annotation_key" VALUES(54,4,4);
+INSERT INTO "annotation_key" VALUES(55,4,5);
+INSERT INTO "annotation_key" VALUES(56,4,6);
+INSERT INTO "annotation_key" VALUES(57,4,7);
+INSERT INTO "annotation_key" VALUES(58,4,8);
+INSERT INTO "annotation_key" VALUES(59,4,9);
+INSERT INTO "annotation_key" VALUES(60,4,10);
+INSERT INTO "annotation_key" VALUES(61,4,11);
+INSERT INTO "annotation_key" VALUES(62,4,12);
+INSERT INTO "annotation_key" VALUES(63,4,13);
+INSERT INTO "annotation_key" VALUES(64,4,14);
+INSERT INTO "annotation_key" VALUES(65,4,15);
+INSERT INTO "annotation_key" VALUES(66,4,16);
+INSERT INTO "annotation_key" VALUES(67,4,17);
+INSERT INTO "annotation_key" VALUES(68,4,18);
+INSERT INTO "annotation_key" VALUES(69,4,19);
+INSERT INTO "annotation_key" VALUES(70,4,20);
+INSERT INTO "annotation_key" VALUES(71,4,21);
+INSERT INTO "annotation_key" VALUES(72,4,22);
+INSERT INTO "annotation_key" VALUES(73,4,23);
+INSERT INTO "annotation_key" VALUES(74,4,24);
+INSERT INTO "annotation_key" VALUES(75,4,25);
+INSERT INTO "annotation_key" VALUES(76,4,26);
+INSERT INTO "annotation_key" VALUES(77,4,27);
+INSERT INTO "annotation_key" VALUES(78,4,28);
+INSERT INTO "annotation_key" VALUES(79,4,29);
+INSERT INTO "annotation_key" VALUES(80,4,30);
+INSERT INTO "annotation_key" VALUES(81,4,31);
+INSERT INTO "annotation_key" VALUES(82,4,32);
+INSERT INTO "annotation_key" VALUES(83,4,33);
+INSERT INTO "annotation_key" VALUES(84,4,34);
+INSERT INTO "annotation_key" VALUES(85,4,35);
+INSERT INTO "annotation_key" VALUES(86,4,36);
+INSERT INTO "annotation_key" VALUES(87,4,37);
+INSERT INTO "annotation_key" VALUES(88,4,38);
+INSERT INTO "annotation_key" VALUES(89,4,39);
+INSERT INTO "annotation_key" VALUES(90,4,40);
+INSERT INTO "annotation_key" VALUES(91,4,41);
+INSERT INTO "annotation_key" VALUES(92,4,42);
+INSERT INTO "annotation_key" VALUES(93,4,43);
+INSERT INTO "annotation_key" VALUES(94,4,44);
+INSERT INTO "annotation_key" VALUES(95,4,45);
+INSERT INTO "annotation_key" VALUES(96,4,46);
+INSERT INTO "annotation_key" VALUES(97,4,47);
+INSERT INTO "annotation_key" VALUES(98,4,48);
+INSERT INTO "annotation_key" VALUES(99,4,49);
+INSERT INTO "annotation_key" VALUES(100,4,50);
+INSERT INTO "annotation_key" VALUES(101,4,51);
+INSERT INTO "annotation_key" VALUES(102,4,52);
+INSERT INTO "annotation_key" VALUES(103,4,53);
+INSERT INTO "annotation_key" VALUES(104,4,54);
+INSERT INTO "annotation_key" VALUES(105,4,58);
+INSERT INTO "annotation_key" VALUES(106,3,59);
+INSERT INTO "annotation_key" VALUES(107,3,60);
+INSERT INTO "annotation_key" VALUES(108,3,61);
+INSERT INTO "annotation_key" VALUES(109,3,62);
+INSERT INTO "annotation_key" VALUES(110,3,63);
+INSERT INTO "annotation_key" VALUES(111,3,64);
+INSERT INTO "annotation_key" VALUES(112,3,65);
+INSERT INTO "annotation_key" VALUES(113,3,66);
+INSERT INTO "annotation_key" VALUES(114,5,90);
+INSERT INTO "annotation_key" VALUES(115,5,91);
+INSERT INTO "annotation_key" VALUES(116,5,5);
+INSERT INTO "annotation_key" VALUES(117,5,92);
+INSERT INTO "annotation_key" VALUES(118,5,93);
+INSERT INTO "annotation_key" VALUES(119,5,94);
+INSERT INTO "annotation_key" VALUES(120,5,95);
+INSERT INTO "annotation_key" VALUES(121,5,96);
+INSERT INTO "annotation_key" VALUES(122,5,97);
+INSERT INTO "annotation_key" VALUES(123,5,98);
+INSERT INTO "annotation_key" VALUES(124,5,99);
+INSERT INTO "annotation_key" VALUES(125,5,100);
+INSERT INTO "annotation_key" VALUES(126,5,101);
+INSERT INTO "annotation_key" VALUES(127,5,15);
+INSERT INTO "annotation_key" VALUES(128,5,102);
+INSERT INTO "annotation_key" VALUES(129,5,103);
+INSERT INTO "annotation_key" VALUES(130,5,104);
+INSERT INTO "annotation_key" VALUES(131,5,105);
+INSERT INTO "annotation_key" VALUES(132,5,106);
+INSERT INTO "annotation_key" VALUES(133,5,107);
+INSERT INTO "annotation_key" VALUES(134,5,108);
+INSERT INTO "annotation_key" VALUES(135,5,109);
+INSERT INTO "annotation_key" VALUES(136,5,110);
+INSERT INTO "annotation_key" VALUES(137,5,111);
+INSERT INTO "annotation_key" VALUES(138,5,112);
+INSERT INTO "annotation_key" VALUES(139,5,113);
+INSERT INTO "annotation_key" VALUES(140,5,114);
+INSERT INTO "annotation_key" VALUES(141,5,115);
+INSERT INTO "annotation_key" VALUES(142,5,116);
+INSERT INTO "annotation_key" VALUES(143,5,117);
+INSERT INTO "annotation_key" VALUES(144,5,118);
+INSERT INTO "annotation_key" VALUES(145,5,119);
+INSERT INTO "annotation_key" VALUES(146,5,120);
+INSERT INTO "annotation_key" VALUES(147,5,121);
+INSERT INTO "annotation_key" VALUES(148,5,122);
+INSERT INTO "annotation_key" VALUES(149,7,124);
+INSERT INTO "annotation_key" VALUES(150,9,214);
+INSERT INTO "annotation_key" VALUES(151,11,215);
+INSERT INTO "annotation_key" VALUES(152,11,216);
+INSERT INTO "annotation_key" VALUES(153,11,217);
+INSERT INTO "annotation_key" VALUES(154,11,218);
+INSERT INTO "annotation_key" VALUES(155,11,219);
+INSERT INTO "annotation_key" VALUES(156,11,220);
+INSERT INTO "annotation_key" VALUES(157,11,221);
+INSERT INTO "annotation_key" VALUES(158,11,222);
+INSERT INTO "annotation_key" VALUES(159,11,223);
+INSERT INTO "annotation_key" VALUES(160,11,224);
+INSERT INTO "annotation_key" VALUES(161,11,225);
+INSERT INTO "annotation_key" VALUES(162,11,226);
+INSERT INTO "annotation_key" VALUES(163,11,227);
+INSERT INTO "annotation_key" VALUES(164,11,228);
+INSERT INTO "annotation_key" VALUES(165,11,229);
+INSERT INTO "annotation_key" VALUES(166,12,230);
+INSERT INTO "annotation_key" VALUES(167,12,5);
+INSERT INTO "annotation_key" VALUES(168,12,231);
+INSERT INTO "annotation_key" VALUES(169,12,232);
+INSERT INTO "annotation_key" VALUES(170,12,97);
+INSERT INTO "annotation_key" VALUES(171,12,233);
+INSERT INTO "annotation_key" VALUES(172,12,234);
+INSERT INTO "annotation_key" VALUES(173,12,235);
+INSERT INTO "annotation_key" VALUES(174,12,236);
+INSERT INTO "annotation_key" VALUES(175,12,237);
+INSERT INTO "annotation_key" VALUES(176,12,238);
+INSERT INTO "annotation_key" VALUES(177,13,239);
+INSERT INTO "annotation_key" VALUES(178,13,240);
+INSERT INTO "annotation_key" VALUES(179,13,241);
+INSERT INTO "annotation_key" VALUES(180,13,242);
+INSERT INTO "annotation_key" VALUES(181,13,243);
+INSERT INTO "annotation_key" VALUES(182,13,244);
+INSERT INTO "annotation_key" VALUES(183,13,245);
+INSERT INTO "annotation_key" VALUES(184,13,246);
+INSERT INTO "annotation_key" VALUES(185,15,3);
+INSERT INTO "annotation_key" VALUES(186,15,4);
+INSERT INTO "annotation_key" VALUES(187,15,5);
+INSERT INTO "annotation_key" VALUES(188,15,6);
+INSERT INTO "annotation_key" VALUES(189,15,7);
+INSERT INTO "annotation_key" VALUES(190,15,8);
+INSERT INTO "annotation_key" VALUES(191,15,9);
+INSERT INTO "annotation_key" VALUES(192,15,10);
+INSERT INTO "annotation_key" VALUES(193,15,11);
+INSERT INTO "annotation_key" VALUES(194,15,12);
+INSERT INTO "annotation_key" VALUES(195,15,13);
+INSERT INTO "annotation_key" VALUES(196,15,14);
+INSERT INTO "annotation_key" VALUES(197,15,15);
+INSERT INTO "annotation_key" VALUES(198,15,16);
+INSERT INTO "annotation_key" VALUES(199,15,17);
+INSERT INTO "annotation_key" VALUES(200,15,18);
+INSERT INTO "annotation_key" VALUES(201,15,19);
+INSERT INTO "annotation_key" VALUES(202,15,20);
+INSERT INTO "annotation_key" VALUES(203,15,21);
+INSERT INTO "annotation_key" VALUES(204,15,22);
+INSERT INTO "annotation_key" VALUES(205,15,23);
+INSERT INTO "annotation_key" VALUES(206,15,24);
+INSERT INTO "annotation_key" VALUES(207,15,25);
+INSERT INTO "annotation_key" VALUES(208,15,26);
+INSERT INTO "annotation_key" VALUES(209,15,27);
+INSERT INTO "annotation_key" VALUES(210,15,28);
+INSERT INTO "annotation_key" VALUES(211,15,29);
+INSERT INTO "annotation_key" VALUES(212,15,30);
+INSERT INTO "annotation_key" VALUES(213,15,31);
+INSERT INTO "annotation_key" VALUES(214,15,32);
+INSERT INTO "annotation_key" VALUES(215,15,33);
+INSERT INTO "annotation_key" VALUES(216,15,34);
+INSERT INTO "annotation_key" VALUES(217,15,35);
+INSERT INTO "annotation_key" VALUES(218,15,36);
+INSERT INTO "annotation_key" VALUES(219,15,37);
+INSERT INTO "annotation_key" VALUES(220,15,38);
+INSERT INTO "annotation_key" VALUES(221,15,39);
+INSERT INTO "annotation_key" VALUES(222,15,40);
+INSERT INTO "annotation_key" VALUES(223,15,41);
+INSERT INTO "annotation_key" VALUES(224,15,42);
+INSERT INTO "annotation_key" VALUES(225,15,43);
+INSERT INTO "annotation_key" VALUES(226,15,44);
+INSERT INTO "annotation_key" VALUES(227,15,45);
+INSERT INTO "annotation_key" VALUES(228,15,46);
+INSERT INTO "annotation_key" VALUES(229,15,47);
+INSERT INTO "annotation_key" VALUES(230,15,48);
+INSERT INTO "annotation_key" VALUES(231,15,49);
+INSERT INTO "annotation_key" VALUES(232,15,50);
+INSERT INTO "annotation_key" VALUES(233,15,51);
+INSERT INTO "annotation_key" VALUES(234,15,52);
+INSERT INTO "annotation_key" VALUES(235,15,53);
+INSERT INTO "annotation_key" VALUES(236,15,54);
+INSERT INTO "annotation_key" VALUES(237,14,59);
+INSERT INTO "annotation_key" VALUES(238,14,60);
+INSERT INTO "annotation_key" VALUES(239,14,61);
+INSERT INTO "annotation_key" VALUES(240,14,62);
+INSERT INTO "annotation_key" VALUES(241,14,63);
+INSERT INTO "annotation_key" VALUES(242,14,64);
+INSERT INTO "annotation_key" VALUES(243,14,65);
+INSERT INTO "annotation_key" VALUES(244,14,66);
+INSERT INTO "annotation_key" VALUES(245,16,250);
+INSERT INTO "annotation_key" VALUES(246,16,251);
+INSERT INTO "annotation_key" VALUES(247,16,252);
+INSERT INTO "annotation_key" VALUES(248,20,255);
+INSERT INTO "annotation_key" VALUES(249,20,256);
+INSERT INTO "annotation_key" VALUES(250,20,257);
+INSERT INTO "annotation_key" VALUES(251,20,92);
+INSERT INTO "annotation_key" VALUES(252,20,258);
+INSERT INTO "annotation_key" VALUES(253,20,231);
+INSERT INTO "annotation_key" VALUES(254,20,259);
+INSERT INTO "annotation_key" VALUES(255,20,96);
+INSERT INTO "annotation_key" VALUES(256,20,260);
+INSERT INTO "annotation_key" VALUES(257,20,261);
+INSERT INTO "annotation_key" VALUES(258,20,262);
+INSERT INTO "annotation_key" VALUES(259,20,263);
+INSERT INTO "annotation_key" VALUES(260,20,264);
+INSERT INTO "annotation_key" VALUES(261,20,265);
+INSERT INTO "annotation_key" VALUES(262,20,266);
+INSERT INTO "annotation_key" VALUES(263,20,267);
+INSERT INTO "annotation_key" VALUES(264,20,268);
+INSERT INTO "annotation_key" VALUES(265,20,269);
+INSERT INTO "annotation_key" VALUES(266,20,270);
+INSERT INTO "annotation_key" VALUES(267,20,271);
+INSERT INTO "annotation_key" VALUES(268,20,272);
+INSERT INTO "annotation_key" VALUES(269,20,273);
+INSERT INTO "annotation_key" VALUES(270,20,274);
+INSERT INTO "annotation_key" VALUES(271,20,275);
+INSERT INTO "annotation_key" VALUES(272,20,276);
+INSERT INTO "annotation_key" VALUES(273,20,277);
+INSERT INTO "annotation_key" VALUES(274,20,278);
+INSERT INTO "annotation_key" VALUES(275,20,279);
+INSERT INTO "annotation_key" VALUES(276,20,280);
+INSERT INTO "annotation_key" VALUES(277,20,281);
+INSERT INTO "annotation_key" VALUES(278,20,282);
+INSERT INTO "annotation_key" VALUES(279,20,283);
+INSERT INTO "annotation_key" VALUES(280,20,284);
+INSERT INTO "annotation_key" VALUES(281,20,285);
+INSERT INTO "annotation_key" VALUES(282,20,286);
+INSERT INTO "annotation_key" VALUES(283,20,287);
+INSERT INTO "annotation_key" VALUES(284,20,288);
+INSERT INTO "annotation_key" VALUES(285,20,289);
+INSERT INTO "annotation_key" VALUES(286,20,290);
+INSERT INTO "annotation_key" VALUES(287,20,291);
+INSERT INTO "annotation_key" VALUES(288,20,292);
+INSERT INTO "annotation_key" VALUES(289,20,293);
+INSERT INTO "annotation_key" VALUES(290,20,294);
+INSERT INTO "annotation_key" VALUES(291,20,295);
+INSERT INTO "annotation_key" VALUES(292,20,296);
+INSERT INTO "annotation_key" VALUES(293,24,3);
+INSERT INTO "annotation_key" VALUES(294,24,4);
+INSERT INTO "annotation_key" VALUES(295,24,5);
+INSERT INTO "annotation_key" VALUES(296,24,6);
+INSERT INTO "annotation_key" VALUES(297,24,7);
+INSERT INTO "annotation_key" VALUES(298,24,8);
+INSERT INTO "annotation_key" VALUES(299,24,9);
+INSERT INTO "annotation_key" VALUES(300,24,10);
+INSERT INTO "annotation_key" VALUES(301,24,11);
+INSERT INTO "annotation_key" VALUES(302,24,12);
+INSERT INTO "annotation_key" VALUES(303,24,13);
+INSERT INTO "annotation_key" VALUES(304,24,14);
+INSERT INTO "annotation_key" VALUES(305,24,15);
+INSERT INTO "annotation_key" VALUES(306,24,16);
+INSERT INTO "annotation_key" VALUES(307,24,17);
+INSERT INTO "annotation_key" VALUES(308,24,18);
+INSERT INTO "annotation_key" VALUES(309,24,19);
+INSERT INTO "annotation_key" VALUES(310,24,20);
+INSERT INTO "annotation_key" VALUES(311,24,21);
+INSERT INTO "annotation_key" VALUES(312,24,22);
+INSERT INTO "annotation_key" VALUES(313,24,23);
+INSERT INTO "annotation_key" VALUES(314,24,24);
+INSERT INTO "annotation_key" VALUES(315,24,25);
+INSERT INTO "annotation_key" VALUES(316,24,26);
+INSERT INTO "annotation_key" VALUES(317,24,27);
+INSERT INTO "annotation_key" VALUES(318,24,28);
+INSERT INTO "annotation_key" VALUES(319,24,29);
+INSERT INTO "annotation_key" VALUES(320,24,30);
+INSERT INTO "annotation_key" VALUES(321,24,31);
+INSERT INTO "annotation_key" VALUES(322,24,32);
+INSERT INTO "annotation_key" VALUES(323,24,33);
+INSERT INTO "annotation_key" VALUES(324,24,34);
+INSERT INTO "annotation_key" VALUES(325,24,35);
+INSERT INTO "annotation_key" VALUES(326,24,36);
+INSERT INTO "annotation_key" VALUES(327,24,37);
+INSERT INTO "annotation_key" VALUES(328,24,38);
+INSERT INTO "annotation_key" VALUES(329,24,39);
+INSERT INTO "annotation_key" VALUES(330,24,40);
+INSERT INTO "annotation_key" VALUES(331,24,41);
+INSERT INTO "annotation_key" VALUES(332,24,42);
+INSERT INTO "annotation_key" VALUES(333,24,43);
+INSERT INTO "annotation_key" VALUES(334,24,44);
+INSERT INTO "annotation_key" VALUES(335,24,45);
+INSERT INTO "annotation_key" VALUES(336,24,46);
+INSERT INTO "annotation_key" VALUES(337,24,47);
+INSERT INTO "annotation_key" VALUES(338,24,48);
+INSERT INTO "annotation_key" VALUES(339,24,49);
+INSERT INTO "annotation_key" VALUES(340,24,50);
+INSERT INTO "annotation_key" VALUES(341,24,51);
+INSERT INTO "annotation_key" VALUES(342,24,52);
+INSERT INTO "annotation_key" VALUES(343,24,53);
+INSERT INTO "annotation_key" VALUES(344,24,54);
+INSERT INTO "annotation_key" VALUES(345,24,300);
+INSERT INTO "annotation_key" VALUES(346,24,301);
+INSERT INTO "annotation_key" VALUES(347,24,302);
+INSERT INTO "annotation_key" VALUES(348,24,303);
+INSERT INTO "annotation_key" VALUES(349,24,304);
+INSERT INTO "annotation_key" VALUES(350,24,305);
+INSERT INTO "annotation_key" VALUES(351,24,306);
+INSERT INTO "annotation_key" VALUES(352,24,307);
+INSERT INTO "annotation_key" VALUES(353,24,308);
+INSERT INTO "annotation_key" VALUES(354,24,309);
+INSERT INTO "annotation_key" VALUES(355,24,310);
+INSERT INTO "annotation_key" VALUES(356,24,311);
+INSERT INTO "annotation_key" VALUES(357,24,312);
+INSERT INTO "annotation_key" VALUES(358,24,313);
+INSERT INTO "annotation_key" VALUES(359,24,314);
+INSERT INTO "annotation_key" VALUES(360,24,315);
+INSERT INTO "annotation_key" VALUES(361,24,316);
+INSERT INTO "annotation_key" VALUES(362,26,321);
+INSERT INTO "annotation_key" VALUES(363,26,322);
+INSERT INTO "annotation_key" VALUES(364,26,323);
+INSERT INTO "annotation_key" VALUES(365,26,324);
+INSERT INTO "annotation_key" VALUES(366,27,321);
+INSERT INTO "annotation_key" VALUES(367,27,322);
+INSERT INTO "annotation_key" VALUES(368,27,323);
+INSERT INTO "annotation_key" VALUES(369,27,324);
+INSERT INTO "annotation_key" VALUES(370,28,321);
+INSERT INTO "annotation_key" VALUES(371,28,322);
+INSERT INTO "annotation_key" VALUES(372,28,323);
+INSERT INTO "annotation_key" VALUES(373,28,324);
+INSERT INTO "annotation_key" VALUES(374,29,3);
+INSERT INTO "annotation_key" VALUES(375,29,4);
+INSERT INTO "annotation_key" VALUES(376,29,5);
+INSERT INTO "annotation_key" VALUES(377,29,6);
+INSERT INTO "annotation_key" VALUES(378,29,7);
+INSERT INTO "annotation_key" VALUES(379,29,8);
+INSERT INTO "annotation_key" VALUES(380,29,9);
+INSERT INTO "annotation_key" VALUES(381,29,10);
+INSERT INTO "annotation_key" VALUES(382,29,11);
+INSERT INTO "annotation_key" VALUES(383,29,12);
+INSERT INTO "annotation_key" VALUES(384,29,13);
+INSERT INTO "annotation_key" VALUES(385,29,14);
+INSERT INTO "annotation_key" VALUES(386,29,15);
+INSERT INTO "annotation_key" VALUES(387,29,16);
+INSERT INTO "annotation_key" VALUES(388,29,17);
+INSERT INTO "annotation_key" VALUES(389,29,18);
+INSERT INTO "annotation_key" VALUES(390,29,19);
+INSERT INTO "annotation_key" VALUES(391,29,20);
+INSERT INTO "annotation_key" VALUES(392,29,21);
+INSERT INTO "annotation_key" VALUES(393,29,22);
+INSERT INTO "annotation_key" VALUES(394,29,23);
+INSERT INTO "annotation_key" VALUES(395,29,24);
+INSERT INTO "annotation_key" VALUES(396,29,25);
+INSERT INTO "annotation_key" VALUES(397,29,26);
+INSERT INTO "annotation_key" VALUES(398,29,27);
+INSERT INTO "annotation_key" VALUES(399,29,28);
+INSERT INTO "annotation_key" VALUES(400,29,29);
+INSERT INTO "annotation_key" VALUES(401,29,30);
+INSERT INTO "annotation_key" VALUES(402,29,31);
+INSERT INTO "annotation_key" VALUES(403,29,32);
+INSERT INTO "annotation_key" VALUES(404,29,33);
+INSERT INTO "annotation_key" VALUES(405,29,34);
+INSERT INTO "annotation_key" VALUES(406,29,35);
+INSERT INTO "annotation_key" VALUES(407,29,36);
+INSERT INTO "annotation_key" VALUES(408,29,37);
+INSERT INTO "annotation_key" VALUES(409,29,38);
+INSERT INTO "annotation_key" VALUES(410,29,39);
+INSERT INTO "annotation_key" VALUES(411,29,40);
+INSERT INTO "annotation_key" VALUES(412,29,41);
+INSERT INTO "annotation_key" VALUES(413,29,42);
+INSERT INTO "annotation_key" VALUES(414,29,43);
+INSERT INTO "annotation_key" VALUES(415,29,44);
+INSERT INTO "annotation_key" VALUES(416,29,45);
+INSERT INTO "annotation_key" VALUES(417,29,46);
+INSERT INTO "annotation_key" VALUES(418,29,47);
+INSERT INTO "annotation_key" VALUES(419,29,48);
+INSERT INTO "annotation_key" VALUES(420,29,49);
+INSERT INTO "annotation_key" VALUES(421,29,50);
+INSERT INTO "annotation_key" VALUES(422,29,51);
+INSERT INTO "annotation_key" VALUES(423,29,52);
+INSERT INTO "annotation_key" VALUES(424,29,53);
+INSERT INTO "annotation_key" VALUES(425,29,54);
+INSERT INTO "annotation_key" VALUES(426,25,325);
+INSERT INTO "annotation_key" VALUES(427,25,326);
+INSERT INTO "annotation_key" VALUES(428,25,327);
+INSERT INTO "annotation_key" VALUES(429,25,328);
+INSERT INTO "annotation_key" VALUES(430,25,329);
+INSERT INTO "annotation_key" VALUES(431,25,330);
+INSERT INTO "annotation_key" VALUES(432,25,331);
+INSERT INTO "annotation_key" VALUES(433,25,332);
+INSERT INTO "annotation_key" VALUES(434,25,333);
+INSERT INTO "annotation_key" VALUES(435,25,334);
+INSERT INTO "annotation_key" VALUES(436,25,335);
+INSERT INTO "annotation_key" VALUES(437,25,232);
+INSERT INTO "annotation_key" VALUES(438,25,336);
+INSERT INTO "annotation_key" VALUES(439,25,337);
+INSERT INTO "annotation_key" VALUES(440,25,338);
+INSERT INTO "annotation_key" VALUES(441,25,339);
+INSERT INTO "annotation_key" VALUES(442,25,340);
+INSERT INTO "annotation_key" VALUES(443,25,341);
+INSERT INTO "annotation_key" VALUES(444,25,342);
+INSERT INTO "annotation_key" VALUES(445,25,343);
+INSERT INTO "annotation_key" VALUES(446,25,113);
+INSERT INTO "annotation_key" VALUES(447,25,344);
+INSERT INTO "annotation_key" VALUES(448,25,116);
+INSERT INTO "annotation_key" VALUES(449,25,117);
+INSERT INTO "annotation_key" VALUES(450,25,345);
+INSERT INTO "annotation_key" VALUES(451,25,346);
+INSERT INTO "annotation_key" VALUES(452,31,3);
+INSERT INTO "annotation_key" VALUES(453,31,4);
+INSERT INTO "annotation_key" VALUES(454,31,5);
+INSERT INTO "annotation_key" VALUES(455,31,6);
+INSERT INTO "annotation_key" VALUES(456,31,7);
+INSERT INTO "annotation_key" VALUES(457,31,8);
+INSERT INTO "annotation_key" VALUES(458,31,9);
+INSERT INTO "annotation_key" VALUES(459,31,10);
+INSERT INTO "annotation_key" VALUES(460,31,11);
+INSERT INTO "annotation_key" VALUES(461,31,12);
+INSERT INTO "annotation_key" VALUES(462,31,13);
+INSERT INTO "annotation_key" VALUES(463,31,14);
+INSERT INTO "annotation_key" VALUES(464,31,15);
+INSERT INTO "annotation_key" VALUES(465,31,16);
+INSERT INTO "annotation_key" VALUES(466,31,17);
+INSERT INTO "annotation_key" VALUES(467,31,18);
+INSERT INTO "annotation_key" VALUES(468,31,19);
+INSERT INTO "annotation_key" VALUES(469,31,20);
+INSERT INTO "annotation_key" VALUES(470,31,21);
+INSERT INTO "annotation_key" VALUES(471,31,22);
+INSERT INTO "annotation_key" VALUES(472,31,23);
+INSERT INTO "annotation_key" VALUES(473,31,24);
+INSERT INTO "annotation_key" VALUES(474,31,25);
+INSERT INTO "annotation_key" VALUES(475,31,26);
+INSERT INTO "annotation_key" VALUES(476,31,27);
+INSERT INTO "annotation_key" VALUES(477,31,28);
+INSERT INTO "annotation_key" VALUES(478,31,29);
+INSERT INTO "annotation_key" VALUES(479,31,30);
+INSERT INTO "annotation_key" VALUES(480,31,31);
+INSERT INTO "annotation_key" VALUES(481,31,32);
+INSERT INTO "annotation_key" VALUES(482,31,33);
+INSERT INTO "annotation_key" VALUES(483,31,34);
+INSERT INTO "annotation_key" VALUES(484,31,35);
+INSERT INTO "annotation_key" VALUES(485,31,36);
+INSERT INTO "annotation_key" VALUES(486,31,37);
+INSERT INTO "annotation_key" VALUES(487,31,38);
+INSERT INTO "annotation_key" VALUES(488,31,39);
+INSERT INTO "annotation_key" VALUES(489,31,40);
+INSERT INTO "annotation_key" VALUES(490,31,41);
+INSERT INTO "annotation_key" VALUES(491,31,42);
+INSERT INTO "annotation_key" VALUES(492,31,43);
+INSERT INTO "annotation_key" VALUES(493,31,44);
+INSERT INTO "annotation_key" VALUES(494,31,45);
+INSERT INTO "annotation_key" VALUES(495,31,46);
+INSERT INTO "annotation_key" VALUES(496,31,47);
+INSERT INTO "annotation_key" VALUES(497,31,48);
+INSERT INTO "annotation_key" VALUES(498,31,49);
+INSERT INTO "annotation_key" VALUES(499,31,50);
+INSERT INTO "annotation_key" VALUES(500,31,51);
+INSERT INTO "annotation_key" VALUES(501,31,52);
+INSERT INTO "annotation_key" VALUES(502,31,53);
+INSERT INTO "annotation_key" VALUES(503,31,54);
\ No newline at end of file
diff --git a/src/main/resources/db/lite/V1.4__annotation_value.sql b/src/main/resources/db/lite/V1.4__annotation_value.sql
new file mode 100644
index 0000000..256cb83
--- /dev/null
+++ b/src/main/resources/db/lite/V1.4__annotation_value.sql
@@ -0,0 +1,1302 @@
+INSERT INTO "annotation_value" VALUES(1,106,70);
+INSERT INTO "annotation_value" VALUES(2,106,68);
+INSERT INTO "annotation_value" VALUES(3,106,71);
+INSERT INTO "annotation_value" VALUES(4,106,69);
+INSERT INTO "annotation_value" VALUES(5,106,67);
+INSERT INTO "annotation_value" VALUES(6,107,73);
+INSERT INTO "annotation_value" VALUES(7,107,74);
+INSERT INTO "annotation_value" VALUES(8,107,72);
+INSERT INTO "annotation_value" VALUES(9,108,77);
+INSERT INTO "annotation_value" VALUES(10,108,76);
+INSERT INTO "annotation_value" VALUES(11,108,75);
+INSERT INTO "annotation_value" VALUES(12,108,71);
+INSERT INTO "annotation_value" VALUES(13,109,78);
+INSERT INTO "annotation_value" VALUES(14,109,79);
+INSERT INTO "annotation_value" VALUES(15,109,80);
+INSERT INTO "annotation_value" VALUES(16,110,71);
+INSERT INTO "annotation_value" VALUES(17,110,82);
+INSERT INTO "annotation_value" VALUES(18,110,81);
+INSERT INTO "annotation_value" VALUES(19,111,84);
+INSERT INTO "annotation_value" VALUES(20,111,83);
+INSERT INTO "annotation_value" VALUES(21,111,85);
+INSERT INTO "annotation_value" VALUES(22,112,87);
+INSERT INTO "annotation_value" VALUES(23,112,86);
+INSERT INTO "annotation_value" VALUES(24,149,197);
+INSERT INTO "annotation_value" VALUES(25,149,179);
+INSERT INTO "annotation_value" VALUES(26,149,181);
+INSERT INTO "annotation_value" VALUES(27,149,206);
+INSERT INTO "annotation_value" VALUES(28,149,190);
+INSERT INTO "annotation_value" VALUES(29,149,146);
+INSERT INTO "annotation_value" VALUES(30,149,134);
+INSERT INTO "annotation_value" VALUES(31,149,180);
+INSERT INTO "annotation_value" VALUES(32,149,130);
+INSERT INTO "annotation_value" VALUES(33,149,148);
+INSERT INTO "annotation_value" VALUES(34,149,126);
+INSERT INTO "annotation_value" VALUES(35,149,184);
+INSERT INTO "annotation_value" VALUES(36,149,159);
+INSERT INTO "annotation_value" VALUES(37,149,153);
+INSERT INTO "annotation_value" VALUES(38,149,149);
+INSERT INTO "annotation_value" VALUES(39,149,141);
+INSERT INTO "annotation_value" VALUES(40,149,132);
+INSERT INTO "annotation_value" VALUES(41,149,133);
+INSERT INTO "annotation_value" VALUES(42,149,173);
+INSERT INTO "annotation_value" VALUES(43,149,207);
+INSERT INTO "annotation_value" VALUES(44,149,185);
+INSERT INTO "annotation_value" VALUES(45,149,140);
+INSERT INTO "annotation_value" VALUES(46,149,193);
+INSERT INTO "annotation_value" VALUES(47,149,189);
+INSERT INTO "annotation_value" VALUES(48,149,142);
+INSERT INTO "annotation_value" VALUES(49,149,161);
+INSERT INTO "annotation_value" VALUES(50,149,175);
+INSERT INTO "annotation_value" VALUES(51,149,170);
+INSERT INTO "annotation_value" VALUES(52,149,137);
+INSERT INTO "annotation_value" VALUES(53,149,160);
+INSERT INTO "annotation_value" VALUES(54,149,195);
+INSERT INTO "annotation_value" VALUES(55,149,187);
+INSERT INTO "annotation_value" VALUES(56,149,177);
+INSERT INTO "annotation_value" VALUES(57,149,194);
+INSERT INTO "annotation_value" VALUES(58,149,171);
+INSERT INTO "annotation_value" VALUES(59,149,183);
+INSERT INTO "annotation_value" VALUES(60,149,152);
+INSERT INTO "annotation_value" VALUES(61,149,154);
+INSERT INTO "annotation_value" VALUES(62,149,157);
+INSERT INTO "annotation_value" VALUES(63,149,156);
+INSERT INTO "annotation_value" VALUES(64,149,151);
+INSERT INTO "annotation_value" VALUES(65,149,209);
+INSERT INTO "annotation_value" VALUES(66,149,208);
+INSERT INTO "annotation_value" VALUES(67,149,176);
+INSERT INTO "annotation_value" VALUES(68,149,198);
+INSERT INTO "annotation_value" VALUES(69,149,155);
+INSERT INTO "annotation_value" VALUES(70,149,204);
+INSERT INTO "annotation_value" VALUES(71,149,174);
+INSERT INTO "annotation_value" VALUES(72,149,210);
+INSERT INTO "annotation_value" VALUES(73,149,196);
+INSERT INTO "annotation_value" VALUES(74,149,188);
+INSERT INTO "annotation_value" VALUES(75,149,158);
+INSERT INTO "annotation_value" VALUES(76,149,135);
+INSERT INTO "annotation_value" VALUES(77,149,172);
+INSERT INTO "annotation_value" VALUES(78,149,200);
+INSERT INTO "annotation_value" VALUES(79,149,164);
+INSERT INTO "annotation_value" VALUES(80,149,186);
+INSERT INTO "annotation_value" VALUES(81,149,191);
+INSERT INTO "annotation_value" VALUES(82,149,125);
+INSERT INTO "annotation_value" VALUES(83,149,165);
+INSERT INTO "annotation_value" VALUES(84,149,145);
+INSERT INTO "annotation_value" VALUES(85,149,182);
+INSERT INTO "annotation_value" VALUES(86,149,192);
+INSERT INTO "annotation_value" VALUES(87,149,162);
+INSERT INTO "annotation_value" VALUES(88,149,168);
+INSERT INTO "annotation_value" VALUES(89,149,129);
+INSERT INTO "annotation_value" VALUES(90,149,201);
+INSERT INTO "annotation_value" VALUES(91,149,203);
+INSERT INTO "annotation_value" VALUES(92,149,128);
+INSERT INTO "annotation_value" VALUES(93,149,166);
+INSERT INTO "annotation_value" VALUES(94,149,139);
+INSERT INTO "annotation_value" VALUES(95,149,147);
+INSERT INTO "annotation_value" VALUES(96,149,150);
+INSERT INTO "annotation_value" VALUES(97,149,178);
+INSERT INTO "annotation_value" VALUES(98,149,143);
+INSERT INTO "annotation_value" VALUES(99,149,205);
+INSERT INTO "annotation_value" VALUES(100,149,127);
+INSERT INTO "annotation_value" VALUES(101,149,144);
+INSERT INTO "annotation_value" VALUES(102,149,169);
+INSERT INTO "annotation_value" VALUES(103,149,163);
+INSERT INTO "annotation_value" VALUES(104,149,202);
+INSERT INTO "annotation_value" VALUES(105,149,167);
+INSERT INTO "annotation_value" VALUES(106,149,131);
+INSERT INTO "annotation_value" VALUES(107,149,199);
+INSERT INTO "annotation_value" VALUES(108,149,138);
+INSERT INTO "annotation_value" VALUES(109,149,136);
+INSERT INTO "annotation_value" VALUES(110,237,68);
+INSERT INTO "annotation_value" VALUES(111,237,70);
+INSERT INTO "annotation_value" VALUES(112,237,71);
+INSERT INTO "annotation_value" VALUES(113,237,67);
+INSERT INTO "annotation_value" VALUES(114,237,69);
+INSERT INTO "annotation_value" VALUES(115,238,73);
+INSERT INTO "annotation_value" VALUES(116,238,72);
+INSERT INTO "annotation_value" VALUES(117,238,74);
+INSERT INTO "annotation_value" VALUES(118,239,77);
+INSERT INTO "annotation_value" VALUES(119,239,75);
+INSERT INTO "annotation_value" VALUES(120,239,76);
+INSERT INTO "annotation_value" VALUES(121,239,71);
+INSERT INTO "annotation_value" VALUES(122,240,78);
+INSERT INTO "annotation_value" VALUES(123,240,79);
+INSERT INTO "annotation_value" VALUES(124,240,80);
+INSERT INTO "annotation_value" VALUES(125,241,81);
+INSERT INTO "annotation_value" VALUES(126,241,82);
+INSERT INTO "annotation_value" VALUES(127,241,71);
+INSERT INTO "annotation_value" VALUES(128,242,84);
+INSERT INTO "annotation_value" VALUES(129,242,83);
+INSERT INTO "annotation_value" VALUES(130,242,85);
+INSERT INTO "annotation_value" VALUES(131,243,87);
+INSERT INTO "annotation_value" VALUES(132,243,86);
+INSERT INTO "annotation_value" VALUES(133,426,385);
+INSERT INTO "annotation_value" VALUES(134,426,379);
+INSERT INTO "annotation_value" VALUES(135,426,381);
+INSERT INTO "annotation_value" VALUES(136,426,370);
+INSERT INTO "annotation_value" VALUES(137,426,364);
+INSERT INTO "annotation_value" VALUES(138,426,365);
+INSERT INTO "annotation_value" VALUES(139,426,377);
+INSERT INTO "annotation_value" VALUES(140,426,373);
+INSERT INTO "annotation_value" VALUES(141,426,351);
+INSERT INTO "annotation_value" VALUES(142,426,355);
+INSERT INTO "annotation_value" VALUES(143,426,374);
+INSERT INTO "annotation_value" VALUES(144,426,380);
+INSERT INTO "annotation_value" VALUES(145,426,359);
+INSERT INTO "annotation_value" VALUES(146,426,349);
+INSERT INTO "annotation_value" VALUES(147,426,363);
+INSERT INTO "annotation_value" VALUES(148,426,378);
+INSERT INTO "annotation_value" VALUES(149,426,368);
+INSERT INTO "annotation_value" VALUES(150,426,347);
+INSERT INTO "annotation_value" VALUES(151,426,350);
+INSERT INTO "annotation_value" VALUES(152,426,356);
+INSERT INTO "annotation_value" VALUES(153,426,375);
+INSERT INTO "annotation_value" VALUES(154,426,386);
+INSERT INTO "annotation_value" VALUES(155,426,358);
+INSERT INTO "annotation_value" VALUES(156,426,348);
+INSERT INTO "annotation_value" VALUES(157,426,389);
+INSERT INTO "annotation_value" VALUES(158,426,352);
+INSERT INTO "annotation_value" VALUES(159,426,388);
+INSERT INTO "annotation_value" VALUES(160,426,372);
+INSERT INTO "annotation_value" VALUES(161,426,360);
+INSERT INTO "annotation_value" VALUES(162,426,376);
+INSERT INTO "annotation_value" VALUES(163,426,366);
+INSERT INTO "annotation_value" VALUES(164,426,382);
+INSERT INTO "annotation_value" VALUES(165,426,357);
+INSERT INTO "annotation_value" VALUES(166,426,384);
+INSERT INTO "annotation_value" VALUES(167,426,354);
+INSERT INTO "annotation_value" VALUES(168,426,383);
+INSERT INTO "annotation_value" VALUES(169,426,361);
+INSERT INTO "annotation_value" VALUES(170,426,390);
+INSERT INTO "annotation_value" VALUES(171,426,362);
+INSERT INTO "annotation_value" VALUES(172,426,367);
+INSERT INTO "annotation_value" VALUES(173,426,369);
+INSERT INTO "annotation_value" VALUES(174,426,371);
+INSERT INTO "annotation_value" VALUES(175,426,139);
+INSERT INTO "annotation_value" VALUES(176,426,353);
+INSERT INTO "annotation_value" VALUES(177,426,387);
+INSERT INTO "annotation_value" VALUES(178,427,376);
+INSERT INTO "annotation_value" VALUES(179,427,369);
+INSERT INTO "annotation_value" VALUES(180,427,347);
+INSERT INTO "annotation_value" VALUES(181,427,371);
+INSERT INTO "annotation_value" VALUES(182,427,373);
+INSERT INTO "annotation_value" VALUES(183,427,360);
+INSERT INTO "annotation_value" VALUES(184,427,389);
+INSERT INTO "annotation_value" VALUES(185,427,386);
+INSERT INTO "annotation_value" VALUES(186,427,384);
+INSERT INTO "annotation_value" VALUES(187,427,361);
+INSERT INTO "annotation_value" VALUES(188,427,365);
+INSERT INTO "annotation_value" VALUES(189,427,356);
+INSERT INTO "annotation_value" VALUES(190,427,351);
+INSERT INTO "annotation_value" VALUES(191,427,355);
+INSERT INTO "annotation_value" VALUES(192,427,390);
+INSERT INTO "annotation_value" VALUES(193,427,350);
+INSERT INTO "annotation_value" VALUES(194,427,370);
+INSERT INTO "annotation_value" VALUES(195,427,388);
+INSERT INTO "annotation_value" VALUES(196,427,377);
+INSERT INTO "annotation_value" VALUES(197,427,139);
+INSERT INTO "annotation_value" VALUES(198,427,387);
+INSERT INTO "annotation_value" VALUES(199,427,381);
+INSERT INTO "annotation_value" VALUES(200,427,364);
+INSERT INTO "annotation_value" VALUES(201,427,354);
+INSERT INTO "annotation_value" VALUES(202,427,375);
+INSERT INTO "annotation_value" VALUES(203,427,382);
+INSERT INTO "annotation_value" VALUES(204,427,362);
+INSERT INTO "annotation_value" VALUES(205,427,359);
+INSERT INTO "annotation_value" VALUES(206,427,358);
+INSERT INTO "annotation_value" VALUES(207,427,366);
+INSERT INTO "annotation_value" VALUES(208,427,357);
+INSERT INTO "annotation_value" VALUES(209,427,368);
+INSERT INTO "annotation_value" VALUES(210,427,353);
+INSERT INTO "annotation_value" VALUES(211,427,372);
+INSERT INTO "annotation_value" VALUES(212,427,349);
+INSERT INTO "annotation_value" VALUES(213,427,378);
+INSERT INTO "annotation_value" VALUES(214,427,383);
+INSERT INTO "annotation_value" VALUES(215,427,348);
+INSERT INTO "annotation_value" VALUES(216,427,367);
+INSERT INTO "annotation_value" VALUES(217,427,379);
+INSERT INTO "annotation_value" VALUES(218,427,374);
+INSERT INTO "annotation_value" VALUES(219,427,385);
+INSERT INTO "annotation_value" VALUES(220,427,380);
+INSERT INTO "annotation_value" VALUES(221,427,363);
+INSERT INTO "annotation_value" VALUES(222,427,352);
+INSERT INTO "annotation_value" VALUES(223,428,390);
+INSERT INTO "annotation_value" VALUES(224,428,379);
+INSERT INTO "annotation_value" VALUES(225,428,348);
+INSERT INTO "annotation_value" VALUES(226,428,362);
+INSERT INTO "annotation_value" VALUES(227,428,384);
+INSERT INTO "annotation_value" VALUES(228,428,369);
+INSERT INTO "annotation_value" VALUES(229,428,353);
+INSERT INTO "annotation_value" VALUES(230,428,367);
+INSERT INTO "annotation_value" VALUES(231,428,360);
+INSERT INTO "annotation_value" VALUES(232,428,382);
+INSERT INTO "annotation_value" VALUES(233,428,356);
+INSERT INTO "annotation_value" VALUES(234,428,378);
+INSERT INTO "annotation_value" VALUES(235,428,357);
+INSERT INTO "annotation_value" VALUES(236,428,352);
+INSERT INTO "annotation_value" VALUES(237,428,381);
+INSERT INTO "annotation_value" VALUES(238,428,370);
+INSERT INTO "annotation_value" VALUES(239,428,373);
+INSERT INTO "annotation_value" VALUES(240,428,349);
+INSERT INTO "annotation_value" VALUES(241,428,372);
+INSERT INTO "annotation_value" VALUES(242,428,376);
+INSERT INTO "annotation_value" VALUES(243,428,366);
+INSERT INTO "annotation_value" VALUES(244,428,368);
+INSERT INTO "annotation_value" VALUES(245,428,139);
+INSERT INTO "annotation_value" VALUES(246,428,347);
+INSERT INTO "annotation_value" VALUES(247,428,389);
+INSERT INTO "annotation_value" VALUES(248,428,363);
+INSERT INTO "annotation_value" VALUES(249,428,383);
+INSERT INTO "annotation_value" VALUES(250,428,365);
+INSERT INTO "annotation_value" VALUES(251,428,364);
+INSERT INTO "annotation_value" VALUES(252,428,371);
+INSERT INTO "annotation_value" VALUES(253,428,359);
+INSERT INTO "annotation_value" VALUES(254,428,355);
+INSERT INTO "annotation_value" VALUES(255,428,351);
+INSERT INTO "annotation_value" VALUES(256,428,387);
+INSERT INTO "annotation_value" VALUES(257,428,358);
+INSERT INTO "annotation_value" VALUES(258,428,361);
+INSERT INTO "annotation_value" VALUES(259,428,385);
+INSERT INTO "annotation_value" VALUES(260,428,374);
+INSERT INTO "annotation_value" VALUES(261,428,350);
+INSERT INTO "annotation_value" VALUES(262,428,377);
+INSERT INTO "annotation_value" VALUES(263,428,354);
+INSERT INTO "annotation_value" VALUES(264,428,388);
+INSERT INTO "annotation_value" VALUES(265,428,380);
+INSERT INTO "annotation_value" VALUES(266,428,386);
+INSERT INTO "annotation_value" VALUES(267,428,375);
+INSERT INTO "annotation_value" VALUES(268,429,382);
+INSERT INTO "annotation_value" VALUES(269,429,383);
+INSERT INTO "annotation_value" VALUES(270,429,374);
+INSERT INTO "annotation_value" VALUES(271,429,364);
+INSERT INTO "annotation_value" VALUES(272,429,380);
+INSERT INTO "annotation_value" VALUES(273,429,365);
+INSERT INTO "annotation_value" VALUES(274,429,377);
+INSERT INTO "annotation_value" VALUES(275,429,357);
+INSERT INTO "annotation_value" VALUES(276,429,371);
+INSERT INTO "annotation_value" VALUES(277,429,362);
+INSERT INTO "annotation_value" VALUES(278,429,376);
+INSERT INTO "annotation_value" VALUES(279,429,381);
+INSERT INTO "annotation_value" VALUES(280,429,355);
+INSERT INTO "annotation_value" VALUES(281,429,385);
+INSERT INTO "annotation_value" VALUES(282,429,378);
+INSERT INTO "annotation_value" VALUES(283,429,384);
+INSERT INTO "annotation_value" VALUES(284,429,361);
+INSERT INTO "annotation_value" VALUES(285,429,388);
+INSERT INTO "annotation_value" VALUES(286,429,379);
+INSERT INTO "annotation_value" VALUES(287,429,369);
+INSERT INTO "annotation_value" VALUES(288,429,356);
+INSERT INTO "annotation_value" VALUES(289,429,351);
+INSERT INTO "annotation_value" VALUES(290,429,358);
+INSERT INTO "annotation_value" VALUES(291,429,373);
+INSERT INTO "annotation_value" VALUES(292,429,354);
+INSERT INTO "annotation_value" VALUES(293,429,389);
+INSERT INTO "annotation_value" VALUES(294,429,372);
+INSERT INTO "annotation_value" VALUES(295,429,386);
+INSERT INTO "annotation_value" VALUES(296,429,390);
+INSERT INTO "annotation_value" VALUES(297,429,375);
+INSERT INTO "annotation_value" VALUES(298,429,353);
+INSERT INTO "annotation_value" VALUES(299,429,139);
+INSERT INTO "annotation_value" VALUES(300,429,366);
+INSERT INTO "annotation_value" VALUES(301,429,349);
+INSERT INTO "annotation_value" VALUES(302,429,368);
+INSERT INTO "annotation_value" VALUES(303,429,348);
+INSERT INTO "annotation_value" VALUES(304,429,363);
+INSERT INTO "annotation_value" VALUES(305,429,360);
+INSERT INTO "annotation_value" VALUES(306,429,367);
+INSERT INTO "annotation_value" VALUES(307,429,352);
+INSERT INTO "annotation_value" VALUES(308,429,359);
+INSERT INTO "annotation_value" VALUES(309,429,370);
+INSERT INTO "annotation_value" VALUES(310,429,387);
+INSERT INTO "annotation_value" VALUES(311,429,350);
+INSERT INTO "annotation_value" VALUES(312,429,347);
+INSERT INTO "annotation_value" VALUES(313,430,374);
+INSERT INTO "annotation_value" VALUES(314,430,377);
+INSERT INTO "annotation_value" VALUES(315,430,356);
+INSERT INTO "annotation_value" VALUES(316,430,372);
+INSERT INTO "annotation_value" VALUES(317,430,371);
+INSERT INTO "annotation_value" VALUES(318,430,383);
+INSERT INTO "annotation_value" VALUES(319,430,382);
+INSERT INTO "annotation_value" VALUES(320,430,388);
+INSERT INTO "annotation_value" VALUES(321,430,354);
+INSERT INTO "annotation_value" VALUES(322,430,386);
+INSERT INTO "annotation_value" VALUES(323,430,380);
+INSERT INTO "annotation_value" VALUES(324,430,360);
+INSERT INTO "annotation_value" VALUES(325,430,358);
+INSERT INTO "annotation_value" VALUES(326,430,359);
+INSERT INTO "annotation_value" VALUES(327,430,381);
+INSERT INTO "annotation_value" VALUES(328,430,375);
+INSERT INTO "annotation_value" VALUES(329,430,363);
+INSERT INTO "annotation_value" VALUES(330,430,139);
+INSERT INTO "annotation_value" VALUES(331,430,350);
+INSERT INTO "annotation_value" VALUES(332,430,347);
+INSERT INTO "annotation_value" VALUES(333,430,373);
+INSERT INTO "annotation_value" VALUES(334,430,365);
+INSERT INTO "annotation_value" VALUES(335,430,355);
+INSERT INTO "annotation_value" VALUES(336,430,364);
+INSERT INTO "annotation_value" VALUES(337,430,370);
+INSERT INTO "annotation_value" VALUES(338,430,369);
+INSERT INTO "annotation_value" VALUES(339,430,366);
+INSERT INTO "annotation_value" VALUES(340,430,367);
+INSERT INTO "annotation_value" VALUES(341,430,376);
+INSERT INTO "annotation_value" VALUES(342,430,384);
+INSERT INTO "annotation_value" VALUES(343,430,352);
+INSERT INTO "annotation_value" VALUES(344,430,389);
+INSERT INTO "annotation_value" VALUES(345,430,361);
+INSERT INTO "annotation_value" VALUES(346,430,387);
+INSERT INTO "annotation_value" VALUES(347,430,351);
+INSERT INTO "annotation_value" VALUES(348,430,385);
+INSERT INTO "annotation_value" VALUES(349,430,390);
+INSERT INTO "annotation_value" VALUES(350,430,349);
+INSERT INTO "annotation_value" VALUES(351,430,378);
+INSERT INTO "annotation_value" VALUES(352,430,348);
+INSERT INTO "annotation_value" VALUES(353,430,368);
+INSERT INTO "annotation_value" VALUES(354,430,379);
+INSERT INTO "annotation_value" VALUES(355,430,362);
+INSERT INTO "annotation_value" VALUES(356,430,357);
+INSERT INTO "annotation_value" VALUES(357,430,353);
+INSERT INTO "annotation_value" VALUES(358,431,363);
+INSERT INTO "annotation_value" VALUES(359,431,385);
+INSERT INTO "annotation_value" VALUES(360,431,368);
+INSERT INTO "annotation_value" VALUES(361,431,387);
+INSERT INTO "annotation_value" VALUES(362,431,375);
+INSERT INTO "annotation_value" VALUES(363,431,367);
+INSERT INTO "annotation_value" VALUES(364,431,356);
+INSERT INTO "annotation_value" VALUES(365,431,390);
+INSERT INTO "annotation_value" VALUES(366,431,388);
+INSERT INTO "annotation_value" VALUES(367,431,359);
+INSERT INTO "annotation_value" VALUES(368,431,371);
+INSERT INTO "annotation_value" VALUES(369,431,373);
+INSERT INTO "annotation_value" VALUES(370,431,386);
+INSERT INTO "annotation_value" VALUES(371,431,357);
+INSERT INTO "annotation_value" VALUES(372,431,377);
+INSERT INTO "annotation_value" VALUES(373,431,362);
+INSERT INTO "annotation_value" VALUES(374,431,381);
+INSERT INTO "annotation_value" VALUES(375,431,382);
+INSERT INTO "annotation_value" VALUES(376,431,350);
+INSERT INTO "annotation_value" VALUES(377,431,376);
+INSERT INTO "annotation_value" VALUES(378,431,139);
+INSERT INTO "annotation_value" VALUES(379,431,358);
+INSERT INTO "annotation_value" VALUES(380,431,379);
+INSERT INTO "annotation_value" VALUES(381,431,384);
+INSERT INTO "annotation_value" VALUES(382,431,380);
+INSERT INTO "annotation_value" VALUES(383,431,360);
+INSERT INTO "annotation_value" VALUES(384,431,366);
+INSERT INTO "annotation_value" VALUES(385,431,378);
+INSERT INTO "annotation_value" VALUES(386,431,361);
+INSERT INTO "annotation_value" VALUES(387,431,353);
+INSERT INTO "annotation_value" VALUES(388,431,374);
+INSERT INTO "annotation_value" VALUES(389,431,352);
+INSERT INTO "annotation_value" VALUES(390,431,347);
+INSERT INTO "annotation_value" VALUES(391,431,389);
+INSERT INTO "annotation_value" VALUES(392,431,351);
+INSERT INTO "annotation_value" VALUES(393,431,349);
+INSERT INTO "annotation_value" VALUES(394,431,370);
+INSERT INTO "annotation_value" VALUES(395,431,369);
+INSERT INTO "annotation_value" VALUES(396,431,372);
+INSERT INTO "annotation_value" VALUES(397,431,354);
+INSERT INTO "annotation_value" VALUES(398,431,365);
+INSERT INTO "annotation_value" VALUES(399,431,348);
+INSERT INTO "annotation_value" VALUES(400,431,355);
+INSERT INTO "annotation_value" VALUES(401,431,364);
+INSERT INTO "annotation_value" VALUES(402,431,383);
+INSERT INTO "annotation_value" VALUES(403,432,388);
+INSERT INTO "annotation_value" VALUES(404,432,387);
+INSERT INTO "annotation_value" VALUES(405,432,359);
+INSERT INTO "annotation_value" VALUES(406,432,382);
+INSERT INTO "annotation_value" VALUES(407,432,348);
+INSERT INTO "annotation_value" VALUES(408,432,369);
+INSERT INTO "annotation_value" VALUES(409,432,350);
+INSERT INTO "annotation_value" VALUES(410,432,372);
+INSERT INTO "annotation_value" VALUES(411,432,375);
+INSERT INTO "annotation_value" VALUES(412,432,363);
+INSERT INTO "annotation_value" VALUES(413,432,139);
+INSERT INTO "annotation_value" VALUES(414,432,384);
+INSERT INTO "annotation_value" VALUES(415,432,358);
+INSERT INTO "annotation_value" VALUES(416,432,381);
+INSERT INTO "annotation_value" VALUES(417,432,390);
+INSERT INTO "annotation_value" VALUES(418,432,360);
+INSERT INTO "annotation_value" VALUES(419,432,377);
+INSERT INTO "annotation_value" VALUES(420,432,379);
+INSERT INTO "annotation_value" VALUES(421,432,364);
+INSERT INTO "annotation_value" VALUES(422,432,385);
+INSERT INTO "annotation_value" VALUES(423,432,371);
+INSERT INTO "annotation_value" VALUES(424,432,353);
+INSERT INTO "annotation_value" VALUES(425,432,365);
+INSERT INTO "annotation_value" VALUES(426,432,376);
+INSERT INTO "annotation_value" VALUES(427,432,352);
+INSERT INTO "annotation_value" VALUES(428,432,370);
+INSERT INTO "annotation_value" VALUES(429,432,347);
+INSERT INTO "annotation_value" VALUES(430,432,373);
+INSERT INTO "annotation_value" VALUES(431,432,357);
+INSERT INTO "annotation_value" VALUES(432,432,356);
+INSERT INTO "annotation_value" VALUES(433,432,366);
+INSERT INTO "annotation_value" VALUES(434,432,389);
+INSERT INTO "annotation_value" VALUES(435,432,349);
+INSERT INTO "annotation_value" VALUES(436,432,383);
+INSERT INTO "annotation_value" VALUES(437,432,355);
+INSERT INTO "annotation_value" VALUES(438,432,378);
+INSERT INTO "annotation_value" VALUES(439,432,351);
+INSERT INTO "annotation_value" VALUES(440,432,386);
+INSERT INTO "annotation_value" VALUES(441,432,362);
+INSERT INTO "annotation_value" VALUES(442,432,380);
+INSERT INTO "annotation_value" VALUES(443,432,374);
+INSERT INTO "annotation_value" VALUES(444,432,354);
+INSERT INTO "annotation_value" VALUES(445,432,361);
+INSERT INTO "annotation_value" VALUES(446,432,368);
+INSERT INTO "annotation_value" VALUES(447,432,367);
+INSERT INTO "annotation_value" VALUES(448,433,372);
+INSERT INTO "annotation_value" VALUES(449,433,370);
+INSERT INTO "annotation_value" VALUES(450,433,382);
+INSERT INTO "annotation_value" VALUES(451,433,377);
+INSERT INTO "annotation_value" VALUES(452,433,368);
+INSERT INTO "annotation_value" VALUES(453,433,386);
+INSERT INTO "annotation_value" VALUES(454,433,355);
+INSERT INTO "annotation_value" VALUES(455,433,347);
+INSERT INTO "annotation_value" VALUES(456,433,349);
+INSERT INTO "annotation_value" VALUES(457,433,363);
+INSERT INTO "annotation_value" VALUES(458,433,139);
+INSERT INTO "annotation_value" VALUES(459,433,348);
+INSERT INTO "annotation_value" VALUES(460,433,359);
+INSERT INTO "annotation_value" VALUES(461,433,378);
+INSERT INTO "annotation_value" VALUES(462,433,371);
+INSERT INTO "annotation_value" VALUES(463,433,376);
+INSERT INTO "annotation_value" VALUES(464,433,373);
+INSERT INTO "annotation_value" VALUES(465,433,384);
+INSERT INTO "annotation_value" VALUES(466,433,356);
+INSERT INTO "annotation_value" VALUES(467,433,387);
+INSERT INTO "annotation_value" VALUES(468,433,362);
+INSERT INTO "annotation_value" VALUES(469,433,390);
+INSERT INTO "annotation_value" VALUES(470,433,380);
+INSERT INTO "annotation_value" VALUES(471,433,351);
+INSERT INTO "annotation_value" VALUES(472,433,374);
+INSERT INTO "annotation_value" VALUES(473,433,350);
+INSERT INTO "annotation_value" VALUES(474,433,366);
+INSERT INTO "annotation_value" VALUES(475,433,381);
+INSERT INTO "annotation_value" VALUES(476,433,385);
+INSERT INTO "annotation_value" VALUES(477,433,375);
+INSERT INTO "annotation_value" VALUES(478,433,352);
+INSERT INTO "annotation_value" VALUES(479,433,364);
+INSERT INTO "annotation_value" VALUES(480,433,365);
+INSERT INTO "annotation_value" VALUES(481,433,389);
+INSERT INTO "annotation_value" VALUES(482,433,360);
+INSERT INTO "annotation_value" VALUES(483,433,388);
+INSERT INTO "annotation_value" VALUES(484,433,357);
+INSERT INTO "annotation_value" VALUES(485,433,379);
+INSERT INTO "annotation_value" VALUES(486,433,358);
+INSERT INTO "annotation_value" VALUES(487,433,367);
+INSERT INTO "annotation_value" VALUES(488,433,354);
+INSERT INTO "annotation_value" VALUES(489,433,353);
+INSERT INTO "annotation_value" VALUES(490,433,369);
+INSERT INTO "annotation_value" VALUES(491,433,361);
+INSERT INTO "annotation_value" VALUES(492,433,383);
+INSERT INTO "annotation_value" VALUES(493,434,382);
+INSERT INTO "annotation_value" VALUES(494,434,356);
+INSERT INTO "annotation_value" VALUES(495,434,380);
+INSERT INTO "annotation_value" VALUES(496,434,352);
+INSERT INTO "annotation_value" VALUES(497,434,354);
+INSERT INTO "annotation_value" VALUES(498,434,361);
+INSERT INTO "annotation_value" VALUES(499,434,384);
+INSERT INTO "annotation_value" VALUES(500,434,367);
+INSERT INTO "annotation_value" VALUES(501,434,377);
+INSERT INTO "annotation_value" VALUES(502,434,365);
+INSERT INTO "annotation_value" VALUES(503,434,370);
+INSERT INTO "annotation_value" VALUES(504,434,357);
+INSERT INTO "annotation_value" VALUES(505,434,351);
+INSERT INTO "annotation_value" VALUES(506,434,376);
+INSERT INTO "annotation_value" VALUES(507,434,348);
+INSERT INTO "annotation_value" VALUES(508,434,387);
+INSERT INTO "annotation_value" VALUES(509,434,366);
+INSERT INTO "annotation_value" VALUES(510,434,375);
+INSERT INTO "annotation_value" VALUES(511,434,360);
+INSERT INTO "annotation_value" VALUES(512,434,358);
+INSERT INTO "annotation_value" VALUES(513,434,381);
+INSERT INTO "annotation_value" VALUES(514,434,363);
+INSERT INTO "annotation_value" VALUES(515,434,139);
+INSERT INTO "annotation_value" VALUES(516,434,373);
+INSERT INTO "annotation_value" VALUES(517,434,372);
+INSERT INTO "annotation_value" VALUES(518,434,386);
+INSERT INTO "annotation_value" VALUES(519,434,362);
+INSERT INTO "annotation_value" VALUES(520,434,371);
+INSERT INTO "annotation_value" VALUES(521,434,350);
+INSERT INTO "annotation_value" VALUES(522,434,379);
+INSERT INTO "annotation_value" VALUES(523,434,355);
+INSERT INTO "annotation_value" VALUES(524,434,347);
+INSERT INTO "annotation_value" VALUES(525,434,385);
+INSERT INTO "annotation_value" VALUES(526,434,349);
+INSERT INTO "annotation_value" VALUES(527,434,389);
+INSERT INTO "annotation_value" VALUES(528,434,374);
+INSERT INTO "annotation_value" VALUES(529,434,364);
+INSERT INTO "annotation_value" VALUES(530,434,378);
+INSERT INTO "annotation_value" VALUES(531,434,359);
+INSERT INTO "annotation_value" VALUES(532,434,368);
+INSERT INTO "annotation_value" VALUES(533,434,383);
+INSERT INTO "annotation_value" VALUES(534,434,388);
+INSERT INTO "annotation_value" VALUES(535,434,390);
+INSERT INTO "annotation_value" VALUES(536,434,369);
+INSERT INTO "annotation_value" VALUES(537,434,353);
+INSERT INTO "annotation_value" VALUES(538,435,374);
+INSERT INTO "annotation_value" VALUES(539,435,368);
+INSERT INTO "annotation_value" VALUES(540,435,383);
+INSERT INTO "annotation_value" VALUES(541,435,350);
+INSERT INTO "annotation_value" VALUES(542,435,379);
+INSERT INTO "annotation_value" VALUES(543,435,387);
+INSERT INTO "annotation_value" VALUES(544,435,381);
+INSERT INTO "annotation_value" VALUES(545,435,351);
+INSERT INTO "annotation_value" VALUES(546,435,389);
+INSERT INTO "annotation_value" VALUES(547,435,366);
+INSERT INTO "annotation_value" VALUES(548,435,388);
+INSERT INTO "annotation_value" VALUES(549,435,376);
+INSERT INTO "annotation_value" VALUES(550,435,361);
+INSERT INTO "annotation_value" VALUES(551,435,380);
+INSERT INTO "annotation_value" VALUES(552,435,364);
+INSERT INTO "annotation_value" VALUES(553,435,354);
+INSERT INTO "annotation_value" VALUES(554,435,355);
+INSERT INTO "annotation_value" VALUES(555,435,359);
+INSERT INTO "annotation_value" VALUES(556,435,370);
+INSERT INTO "annotation_value" VALUES(557,435,352);
+INSERT INTO "annotation_value" VALUES(558,435,385);
+INSERT INTO "annotation_value" VALUES(559,435,367);
+INSERT INTO "annotation_value" VALUES(560,435,386);
+INSERT INTO "annotation_value" VALUES(561,435,390);
+INSERT INTO "annotation_value" VALUES(562,435,363);
+INSERT INTO "annotation_value" VALUES(563,435,349);
+INSERT INTO "annotation_value" VALUES(564,435,378);
+INSERT INTO "annotation_value" VALUES(565,435,357);
+INSERT INTO "annotation_value" VALUES(566,435,139);
+INSERT INTO "annotation_value" VALUES(567,435,373);
+INSERT INTO "annotation_value" VALUES(568,435,365);
+INSERT INTO "annotation_value" VALUES(569,435,353);
+INSERT INTO "annotation_value" VALUES(570,435,362);
+INSERT INTO "annotation_value" VALUES(571,435,382);
+INSERT INTO "annotation_value" VALUES(572,435,377);
+INSERT INTO "annotation_value" VALUES(573,435,371);
+INSERT INTO "annotation_value" VALUES(574,435,372);
+INSERT INTO "annotation_value" VALUES(575,435,358);
+INSERT INTO "annotation_value" VALUES(576,435,384);
+INSERT INTO "annotation_value" VALUES(577,435,356);
+INSERT INTO "annotation_value" VALUES(578,435,369);
+INSERT INTO "annotation_value" VALUES(579,435,347);
+INSERT INTO "annotation_value" VALUES(580,435,348);
+INSERT INTO "annotation_value" VALUES(581,435,375);
+INSERT INTO "annotation_value" VALUES(582,435,360);
+INSERT INTO "annotation_value" VALUES(583,436,359);
+INSERT INTO "annotation_value" VALUES(584,436,358);
+INSERT INTO "annotation_value" VALUES(585,436,347);
+INSERT INTO "annotation_value" VALUES(586,436,368);
+INSERT INTO "annotation_value" VALUES(587,436,352);
+INSERT INTO "annotation_value" VALUES(588,436,387);
+INSERT INTO "annotation_value" VALUES(589,436,383);
+INSERT INTO "annotation_value" VALUES(590,436,390);
+INSERT INTO "annotation_value" VALUES(591,436,366);
+INSERT INTO "annotation_value" VALUES(592,436,362);
+INSERT INTO "annotation_value" VALUES(593,436,350);
+INSERT INTO "annotation_value" VALUES(594,436,375);
+INSERT INTO "annotation_value" VALUES(595,436,389);
+INSERT INTO "annotation_value" VALUES(596,436,357);
+INSERT INTO "annotation_value" VALUES(597,436,373);
+INSERT INTO "annotation_value" VALUES(598,436,385);
+INSERT INTO "annotation_value" VALUES(599,436,354);
+INSERT INTO "annotation_value" VALUES(600,436,364);
+INSERT INTO "annotation_value" VALUES(601,436,382);
+INSERT INTO "annotation_value" VALUES(602,436,349);
+INSERT INTO "annotation_value" VALUES(603,436,372);
+INSERT INTO "annotation_value" VALUES(604,436,351);
+INSERT INTO "annotation_value" VALUES(605,436,378);
+INSERT INTO "annotation_value" VALUES(606,436,348);
+INSERT INTO "annotation_value" VALUES(607,436,371);
+INSERT INTO "annotation_value" VALUES(608,436,369);
+INSERT INTO "annotation_value" VALUES(609,436,388);
+INSERT INTO "annotation_value" VALUES(610,436,360);
+INSERT INTO "annotation_value" VALUES(611,436,376);
+INSERT INTO "annotation_value" VALUES(612,436,356);
+INSERT INTO "annotation_value" VALUES(613,436,384);
+INSERT INTO "annotation_value" VALUES(614,436,386);
+INSERT INTO "annotation_value" VALUES(615,436,379);
+INSERT INTO "annotation_value" VALUES(616,436,377);
+INSERT INTO "annotation_value" VALUES(617,436,367);
+INSERT INTO "annotation_value" VALUES(618,436,353);
+INSERT INTO "annotation_value" VALUES(619,436,370);
+INSERT INTO "annotation_value" VALUES(620,436,139);
+INSERT INTO "annotation_value" VALUES(621,436,374);
+INSERT INTO "annotation_value" VALUES(622,436,363);
+INSERT INTO "annotation_value" VALUES(623,436,380);
+INSERT INTO "annotation_value" VALUES(624,436,381);
+INSERT INTO "annotation_value" VALUES(625,436,355);
+INSERT INTO "annotation_value" VALUES(626,436,361);
+INSERT INTO "annotation_value" VALUES(627,436,365);
+INSERT INTO "annotation_value" VALUES(628,437,365);
+INSERT INTO "annotation_value" VALUES(629,437,347);
+INSERT INTO "annotation_value" VALUES(630,437,388);
+INSERT INTO "annotation_value" VALUES(631,437,357);
+INSERT INTO "annotation_value" VALUES(632,437,373);
+INSERT INTO "annotation_value" VALUES(633,437,386);
+INSERT INTO "annotation_value" VALUES(634,437,367);
+INSERT INTO "annotation_value" VALUES(635,437,366);
+INSERT INTO "annotation_value" VALUES(636,437,383);
+INSERT INTO "annotation_value" VALUES(637,437,368);
+INSERT INTO "annotation_value" VALUES(638,437,377);
+INSERT INTO "annotation_value" VALUES(639,437,376);
+INSERT INTO "annotation_value" VALUES(640,437,374);
+INSERT INTO "annotation_value" VALUES(641,437,358);
+INSERT INTO "annotation_value" VALUES(642,437,375);
+INSERT INTO "annotation_value" VALUES(643,437,349);
+INSERT INTO "annotation_value" VALUES(644,437,379);
+INSERT INTO "annotation_value" VALUES(645,437,381);
+INSERT INTO "annotation_value" VALUES(646,437,359);
+INSERT INTO "annotation_value" VALUES(647,437,139);
+INSERT INTO "annotation_value" VALUES(648,437,352);
+INSERT INTO "annotation_value" VALUES(649,437,387);
+INSERT INTO "annotation_value" VALUES(650,437,369);
+INSERT INTO "annotation_value" VALUES(651,437,348);
+INSERT INTO "annotation_value" VALUES(652,437,361);
+INSERT INTO "annotation_value" VALUES(653,437,363);
+INSERT INTO "annotation_value" VALUES(654,437,362);
+INSERT INTO "annotation_value" VALUES(655,437,380);
+INSERT INTO "annotation_value" VALUES(656,437,382);
+INSERT INTO "annotation_value" VALUES(657,437,353);
+INSERT INTO "annotation_value" VALUES(658,437,372);
+INSERT INTO "annotation_value" VALUES(659,437,356);
+INSERT INTO "annotation_value" VALUES(660,437,350);
+INSERT INTO "annotation_value" VALUES(661,437,378);
+INSERT INTO "annotation_value" VALUES(662,437,354);
+INSERT INTO "annotation_value" VALUES(663,437,370);
+INSERT INTO "annotation_value" VALUES(664,437,371);
+INSERT INTO "annotation_value" VALUES(665,437,384);
+INSERT INTO "annotation_value" VALUES(666,437,390);
+INSERT INTO "annotation_value" VALUES(667,437,385);
+INSERT INTO "annotation_value" VALUES(668,437,351);
+INSERT INTO "annotation_value" VALUES(669,437,389);
+INSERT INTO "annotation_value" VALUES(670,437,360);
+INSERT INTO "annotation_value" VALUES(671,437,355);
+INSERT INTO "annotation_value" VALUES(672,437,364);
+INSERT INTO "annotation_value" VALUES(673,438,347);
+INSERT INTO "annotation_value" VALUES(674,438,383);
+INSERT INTO "annotation_value" VALUES(675,438,364);
+INSERT INTO "annotation_value" VALUES(676,438,359);
+INSERT INTO "annotation_value" VALUES(677,438,380);
+INSERT INTO "annotation_value" VALUES(678,438,378);
+INSERT INTO "annotation_value" VALUES(679,438,356);
+INSERT INTO "annotation_value" VALUES(680,438,355);
+INSERT INTO "annotation_value" VALUES(681,438,376);
+INSERT INTO "annotation_value" VALUES(682,438,139);
+INSERT INTO "annotation_value" VALUES(683,438,379);
+INSERT INTO "annotation_value" VALUES(684,438,362);
+INSERT INTO "annotation_value" VALUES(685,438,352);
+INSERT INTO "annotation_value" VALUES(686,438,374);
+INSERT INTO "annotation_value" VALUES(687,438,371);
+INSERT INTO "annotation_value" VALUES(688,438,367);
+INSERT INTO "annotation_value" VALUES(689,438,386);
+INSERT INTO "annotation_value" VALUES(690,438,389);
+INSERT INTO "annotation_value" VALUES(691,438,361);
+INSERT INTO "annotation_value" VALUES(692,438,385);
+INSERT INTO "annotation_value" VALUES(693,438,373);
+INSERT INTO "annotation_value" VALUES(694,438,375);
+INSERT INTO "annotation_value" VALUES(695,438,387);
+INSERT INTO "annotation_value" VALUES(696,438,363);
+INSERT INTO "annotation_value" VALUES(697,438,354);
+INSERT INTO "annotation_value" VALUES(698,438,370);
+INSERT INTO "annotation_value" VALUES(699,438,390);
+INSERT INTO "annotation_value" VALUES(700,438,358);
+INSERT INTO "annotation_value" VALUES(701,438,366);
+INSERT INTO "annotation_value" VALUES(702,438,372);
+INSERT INTO "annotation_value" VALUES(703,438,351);
+INSERT INTO "annotation_value" VALUES(704,438,381);
+INSERT INTO "annotation_value" VALUES(705,438,357);
+INSERT INTO "annotation_value" VALUES(706,438,368);
+INSERT INTO "annotation_value" VALUES(707,438,377);
+INSERT INTO "annotation_value" VALUES(708,438,388);
+INSERT INTO "annotation_value" VALUES(709,438,353);
+INSERT INTO "annotation_value" VALUES(710,438,360);
+INSERT INTO "annotation_value" VALUES(711,438,349);
+INSERT INTO "annotation_value" VALUES(712,438,348);
+INSERT INTO "annotation_value" VALUES(713,438,350);
+INSERT INTO "annotation_value" VALUES(714,438,384);
+INSERT INTO "annotation_value" VALUES(715,438,365);
+INSERT INTO "annotation_value" VALUES(716,438,382);
+INSERT INTO "annotation_value" VALUES(717,438,369);
+INSERT INTO "annotation_value" VALUES(718,439,389);
+INSERT INTO "annotation_value" VALUES(719,439,378);
+INSERT INTO "annotation_value" VALUES(720,439,347);
+INSERT INTO "annotation_value" VALUES(721,439,373);
+INSERT INTO "annotation_value" VALUES(722,439,366);
+INSERT INTO "annotation_value" VALUES(723,439,384);
+INSERT INTO "annotation_value" VALUES(724,439,349);
+INSERT INTO "annotation_value" VALUES(725,439,361);
+INSERT INTO "annotation_value" VALUES(726,439,360);
+INSERT INTO "annotation_value" VALUES(727,439,370);
+INSERT INTO "annotation_value" VALUES(728,439,351);
+INSERT INTO "annotation_value" VALUES(729,439,376);
+INSERT INTO "annotation_value" VALUES(730,439,372);
+INSERT INTO "annotation_value" VALUES(731,439,358);
+INSERT INTO "annotation_value" VALUES(732,439,353);
+INSERT INTO "annotation_value" VALUES(733,439,363);
+INSERT INTO "annotation_value" VALUES(734,439,365);
+INSERT INTO "annotation_value" VALUES(735,439,364);
+INSERT INTO "annotation_value" VALUES(736,439,350);
+INSERT INTO "annotation_value" VALUES(737,439,382);
+INSERT INTO "annotation_value" VALUES(738,439,359);
+INSERT INTO "annotation_value" VALUES(739,439,355);
+INSERT INTO "annotation_value" VALUES(740,439,381);
+INSERT INTO "annotation_value" VALUES(741,439,386);
+INSERT INTO "annotation_value" VALUES(742,439,375);
+INSERT INTO "annotation_value" VALUES(743,439,354);
+INSERT INTO "annotation_value" VALUES(744,439,369);
+INSERT INTO "annotation_value" VALUES(745,439,367);
+INSERT INTO "annotation_value" VALUES(746,439,357);
+INSERT INTO "annotation_value" VALUES(747,439,348);
+INSERT INTO "annotation_value" VALUES(748,439,362);
+INSERT INTO "annotation_value" VALUES(749,439,352);
+INSERT INTO "annotation_value" VALUES(750,439,368);
+INSERT INTO "annotation_value" VALUES(751,439,374);
+INSERT INTO "annotation_value" VALUES(752,439,383);
+INSERT INTO "annotation_value" VALUES(753,439,388);
+INSERT INTO "annotation_value" VALUES(754,439,387);
+INSERT INTO "annotation_value" VALUES(755,439,380);
+INSERT INTO "annotation_value" VALUES(756,439,139);
+INSERT INTO "annotation_value" VALUES(757,439,390);
+INSERT INTO "annotation_value" VALUES(758,439,371);
+INSERT INTO "annotation_value" VALUES(759,439,385);
+INSERT INTO "annotation_value" VALUES(760,439,379);
+INSERT INTO "annotation_value" VALUES(761,439,377);
+INSERT INTO "annotation_value" VALUES(762,439,356);
+INSERT INTO "annotation_value" VALUES(763,440,377);
+INSERT INTO "annotation_value" VALUES(764,440,365);
+INSERT INTO "annotation_value" VALUES(765,440,350);
+INSERT INTO "annotation_value" VALUES(766,440,363);
+INSERT INTO "annotation_value" VALUES(767,440,382);
+INSERT INTO "annotation_value" VALUES(768,440,356);
+INSERT INTO "annotation_value" VALUES(769,440,379);
+INSERT INTO "annotation_value" VALUES(770,440,347);
+INSERT INTO "annotation_value" VALUES(771,440,376);
+INSERT INTO "annotation_value" VALUES(772,440,364);
+INSERT INTO "annotation_value" VALUES(773,440,372);
+INSERT INTO "annotation_value" VALUES(774,440,374);
+INSERT INTO "annotation_value" VALUES(775,440,367);
+INSERT INTO "annotation_value" VALUES(776,440,370);
+INSERT INTO "annotation_value" VALUES(777,440,373);
+INSERT INTO "annotation_value" VALUES(778,440,387);
+INSERT INTO "annotation_value" VALUES(779,440,355);
+INSERT INTO "annotation_value" VALUES(780,440,383);
+INSERT INTO "annotation_value" VALUES(781,440,368);
+INSERT INTO "annotation_value" VALUES(782,440,390);
+INSERT INTO "annotation_value" VALUES(783,440,371);
+INSERT INTO "annotation_value" VALUES(784,440,380);
+INSERT INTO "annotation_value" VALUES(785,440,352);
+INSERT INTO "annotation_value" VALUES(786,440,369);
+INSERT INTO "annotation_value" VALUES(787,440,362);
+INSERT INTO "annotation_value" VALUES(788,440,349);
+INSERT INTO "annotation_value" VALUES(789,440,139);
+INSERT INTO "annotation_value" VALUES(790,440,378);
+INSERT INTO "annotation_value" VALUES(791,440,354);
+INSERT INTO "annotation_value" VALUES(792,440,385);
+INSERT INTO "annotation_value" VALUES(793,440,351);
+INSERT INTO "annotation_value" VALUES(794,440,375);
+INSERT INTO "annotation_value" VALUES(795,440,388);
+INSERT INTO "annotation_value" VALUES(796,440,381);
+INSERT INTO "annotation_value" VALUES(797,440,389);
+INSERT INTO "annotation_value" VALUES(798,440,361);
+INSERT INTO "annotation_value" VALUES(799,440,348);
+INSERT INTO "annotation_value" VALUES(800,440,357);
+INSERT INTO "annotation_value" VALUES(801,440,353);
+INSERT INTO "annotation_value" VALUES(802,440,359);
+INSERT INTO "annotation_value" VALUES(803,440,386);
+INSERT INTO "annotation_value" VALUES(804,440,366);
+INSERT INTO "annotation_value" VALUES(805,440,358);
+INSERT INTO "annotation_value" VALUES(806,440,384);
+INSERT INTO "annotation_value" VALUES(807,440,360);
+INSERT INTO "annotation_value" VALUES(808,441,383);
+INSERT INTO "annotation_value" VALUES(809,441,355);
+INSERT INTO "annotation_value" VALUES(810,441,374);
+INSERT INTO "annotation_value" VALUES(811,441,350);
+INSERT INTO "annotation_value" VALUES(812,441,364);
+INSERT INTO "annotation_value" VALUES(813,441,363);
+INSERT INTO "annotation_value" VALUES(814,441,361);
+INSERT INTO "annotation_value" VALUES(815,441,376);
+INSERT INTO "annotation_value" VALUES(816,441,386);
+INSERT INTO "annotation_value" VALUES(817,441,387);
+INSERT INTO "annotation_value" VALUES(818,441,385);
+INSERT INTO "annotation_value" VALUES(819,441,369);
+INSERT INTO "annotation_value" VALUES(820,441,358);
+INSERT INTO "annotation_value" VALUES(821,441,381);
+INSERT INTO "annotation_value" VALUES(822,441,360);
+INSERT INTO "annotation_value" VALUES(823,441,348);
+INSERT INTO "annotation_value" VALUES(824,441,388);
+INSERT INTO "annotation_value" VALUES(825,441,377);
+INSERT INTO "annotation_value" VALUES(826,441,373);
+INSERT INTO "annotation_value" VALUES(827,441,382);
+INSERT INTO "annotation_value" VALUES(828,441,389);
+INSERT INTO "annotation_value" VALUES(829,441,379);
+INSERT INTO "annotation_value" VALUES(830,441,384);
+INSERT INTO "annotation_value" VALUES(831,441,371);
+INSERT INTO "annotation_value" VALUES(832,441,356);
+INSERT INTO "annotation_value" VALUES(833,441,359);
+INSERT INTO "annotation_value" VALUES(834,441,353);
+INSERT INTO "annotation_value" VALUES(835,441,372);
+INSERT INTO "annotation_value" VALUES(836,441,366);
+INSERT INTO "annotation_value" VALUES(837,441,349);
+INSERT INTO "annotation_value" VALUES(838,441,390);
+INSERT INTO "annotation_value" VALUES(839,441,139);
+INSERT INTO "annotation_value" VALUES(840,441,351);
+INSERT INTO "annotation_value" VALUES(841,441,367);
+INSERT INTO "annotation_value" VALUES(842,441,370);
+INSERT INTO "annotation_value" VALUES(843,441,380);
+INSERT INTO "annotation_value" VALUES(844,441,357);
+INSERT INTO "annotation_value" VALUES(845,441,352);
+INSERT INTO "annotation_value" VALUES(846,441,347);
+INSERT INTO "annotation_value" VALUES(847,441,354);
+INSERT INTO "annotation_value" VALUES(848,441,365);
+INSERT INTO "annotation_value" VALUES(849,441,368);
+INSERT INTO "annotation_value" VALUES(850,441,378);
+INSERT INTO "annotation_value" VALUES(851,441,375);
+INSERT INTO "annotation_value" VALUES(852,441,362);
+INSERT INTO "annotation_value" VALUES(853,442,353);
+INSERT INTO "annotation_value" VALUES(854,442,389);
+INSERT INTO "annotation_value" VALUES(855,442,378);
+INSERT INTO "annotation_value" VALUES(856,442,382);
+INSERT INTO "annotation_value" VALUES(857,442,380);
+INSERT INTO "annotation_value" VALUES(858,442,381);
+INSERT INTO "annotation_value" VALUES(859,442,355);
+INSERT INTO "annotation_value" VALUES(860,442,384);
+INSERT INTO "annotation_value" VALUES(861,442,139);
+INSERT INTO "annotation_value" VALUES(862,442,358);
+INSERT INTO "annotation_value" VALUES(863,442,354);
+INSERT INTO "annotation_value" VALUES(864,442,365);
+INSERT INTO "annotation_value" VALUES(865,442,360);
+INSERT INTO "annotation_value" VALUES(866,442,361);
+INSERT INTO "annotation_value" VALUES(867,442,387);
+INSERT INTO "annotation_value" VALUES(868,442,356);
+INSERT INTO "annotation_value" VALUES(869,442,367);
+INSERT INTO "annotation_value" VALUES(870,442,364);
+INSERT INTO "annotation_value" VALUES(871,442,348);
+INSERT INTO "annotation_value" VALUES(872,442,383);
+INSERT INTO "annotation_value" VALUES(873,442,371);
+INSERT INTO "annotation_value" VALUES(874,442,369);
+INSERT INTO "annotation_value" VALUES(875,442,368);
+INSERT INTO "annotation_value" VALUES(876,442,374);
+INSERT INTO "annotation_value" VALUES(877,442,377);
+INSERT INTO "annotation_value" VALUES(878,442,351);
+INSERT INTO "annotation_value" VALUES(879,442,350);
+INSERT INTO "annotation_value" VALUES(880,442,372);
+INSERT INTO "annotation_value" VALUES(881,442,379);
+INSERT INTO "annotation_value" VALUES(882,442,349);
+INSERT INTO "annotation_value" VALUES(883,442,390);
+INSERT INTO "annotation_value" VALUES(884,442,363);
+INSERT INTO "annotation_value" VALUES(885,442,385);
+INSERT INTO "annotation_value" VALUES(886,442,347);
+INSERT INTO "annotation_value" VALUES(887,442,388);
+INSERT INTO "annotation_value" VALUES(888,442,362);
+INSERT INTO "annotation_value" VALUES(889,442,376);
+INSERT INTO "annotation_value" VALUES(890,442,373);
+INSERT INTO "annotation_value" VALUES(891,442,357);
+INSERT INTO "annotation_value" VALUES(892,442,386);
+INSERT INTO "annotation_value" VALUES(893,442,359);
+INSERT INTO "annotation_value" VALUES(894,442,370);
+INSERT INTO "annotation_value" VALUES(895,442,375);
+INSERT INTO "annotation_value" VALUES(896,442,366);
+INSERT INTO "annotation_value" VALUES(897,442,352);
+INSERT INTO "annotation_value" VALUES(898,443,364);
+INSERT INTO "annotation_value" VALUES(899,443,382);
+INSERT INTO "annotation_value" VALUES(900,443,388);
+INSERT INTO "annotation_value" VALUES(901,443,374);
+INSERT INTO "annotation_value" VALUES(902,443,353);
+INSERT INTO "annotation_value" VALUES(903,443,375);
+INSERT INTO "annotation_value" VALUES(904,443,363);
+INSERT INTO "annotation_value" VALUES(905,443,366);
+INSERT INTO "annotation_value" VALUES(906,443,379);
+INSERT INTO "annotation_value" VALUES(907,443,368);
+INSERT INTO "annotation_value" VALUES(908,443,354);
+INSERT INTO "annotation_value" VALUES(909,443,389);
+INSERT INTO "annotation_value" VALUES(910,443,361);
+INSERT INTO "annotation_value" VALUES(911,443,347);
+INSERT INTO "annotation_value" VALUES(912,443,383);
+INSERT INTO "annotation_value" VALUES(913,443,378);
+INSERT INTO "annotation_value" VALUES(914,443,358);
+INSERT INTO "annotation_value" VALUES(915,443,352);
+INSERT INTO "annotation_value" VALUES(916,443,362);
+INSERT INTO "annotation_value" VALUES(917,443,385);
+INSERT INTO "annotation_value" VALUES(918,443,372);
+INSERT INTO "annotation_value" VALUES(919,443,390);
+INSERT INTO "annotation_value" VALUES(920,443,351);
+INSERT INTO "annotation_value" VALUES(921,443,386);
+INSERT INTO "annotation_value" VALUES(922,443,384);
+INSERT INTO "annotation_value" VALUES(923,443,376);
+INSERT INTO "annotation_value" VALUES(924,443,139);
+INSERT INTO "annotation_value" VALUES(925,443,387);
+INSERT INTO "annotation_value" VALUES(926,443,357);
+INSERT INTO "annotation_value" VALUES(927,443,381);
+INSERT INTO "annotation_value" VALUES(928,443,355);
+INSERT INTO "annotation_value" VALUES(929,443,373);
+INSERT INTO "annotation_value" VALUES(930,443,356);
+INSERT INTO "annotation_value" VALUES(931,443,377);
+INSERT INTO "annotation_value" VALUES(932,443,349);
+INSERT INTO "annotation_value" VALUES(933,443,350);
+INSERT INTO "annotation_value" VALUES(934,443,359);
+INSERT INTO "annotation_value" VALUES(935,443,369);
+INSERT INTO "annotation_value" VALUES(936,443,380);
+INSERT INTO "annotation_value" VALUES(937,443,370);
+INSERT INTO "annotation_value" VALUES(938,443,360);
+INSERT INTO "annotation_value" VALUES(939,443,367);
+INSERT INTO "annotation_value" VALUES(940,443,371);
+INSERT INTO "annotation_value" VALUES(941,443,365);
+INSERT INTO "annotation_value" VALUES(942,443,348);
+INSERT INTO "annotation_value" VALUES(943,444,383);
+INSERT INTO "annotation_value" VALUES(944,444,351);
+INSERT INTO "annotation_value" VALUES(945,444,350);
+INSERT INTO "annotation_value" VALUES(946,444,353);
+INSERT INTO "annotation_value" VALUES(947,444,374);
+INSERT INTO "annotation_value" VALUES(948,444,368);
+INSERT INTO "annotation_value" VALUES(949,444,348);
+INSERT INTO "annotation_value" VALUES(950,444,380);
+INSERT INTO "annotation_value" VALUES(951,444,359);
+INSERT INTO "annotation_value" VALUES(952,444,360);
+INSERT INTO "annotation_value" VALUES(953,444,357);
+INSERT INTO "annotation_value" VALUES(954,444,370);
+INSERT INTO "annotation_value" VALUES(955,444,361);
+INSERT INTO "annotation_value" VALUES(956,444,366);
+INSERT INTO "annotation_value" VALUES(957,444,385);
+INSERT INTO "annotation_value" VALUES(958,444,388);
+INSERT INTO "annotation_value" VALUES(959,444,367);
+INSERT INTO "annotation_value" VALUES(960,444,378);
+INSERT INTO "annotation_value" VALUES(961,444,373);
+INSERT INTO "annotation_value" VALUES(962,444,382);
+INSERT INTO "annotation_value" VALUES(963,444,377);
+INSERT INTO "annotation_value" VALUES(964,444,389);
+INSERT INTO "annotation_value" VALUES(965,444,355);
+INSERT INTO "annotation_value" VALUES(966,444,364);
+INSERT INTO "annotation_value" VALUES(967,444,371);
+INSERT INTO "annotation_value" VALUES(968,444,358);
+INSERT INTO "annotation_value" VALUES(969,444,376);
+INSERT INTO "annotation_value" VALUES(970,444,369);
+INSERT INTO "annotation_value" VALUES(971,444,347);
+INSERT INTO "annotation_value" VALUES(972,444,375);
+INSERT INTO "annotation_value" VALUES(973,444,349);
+INSERT INTO "annotation_value" VALUES(974,444,362);
+INSERT INTO "annotation_value" VALUES(975,444,352);
+INSERT INTO "annotation_value" VALUES(976,444,356);
+INSERT INTO "annotation_value" VALUES(977,444,381);
+INSERT INTO "annotation_value" VALUES(978,444,384);
+INSERT INTO "annotation_value" VALUES(979,444,372);
+INSERT INTO "annotation_value" VALUES(980,444,139);
+INSERT INTO "annotation_value" VALUES(981,444,363);
+INSERT INTO "annotation_value" VALUES(982,444,379);
+INSERT INTO "annotation_value" VALUES(983,444,386);
+INSERT INTO "annotation_value" VALUES(984,444,354);
+INSERT INTO "annotation_value" VALUES(985,444,387);
+INSERT INTO "annotation_value" VALUES(986,444,390);
+INSERT INTO "annotation_value" VALUES(987,444,365);
+INSERT INTO "annotation_value" VALUES(988,445,348);
+INSERT INTO "annotation_value" VALUES(989,445,383);
+INSERT INTO "annotation_value" VALUES(990,445,364);
+INSERT INTO "annotation_value" VALUES(991,445,347);
+INSERT INTO "annotation_value" VALUES(992,445,361);
+INSERT INTO "annotation_value" VALUES(993,445,376);
+INSERT INTO "annotation_value" VALUES(994,445,370);
+INSERT INTO "annotation_value" VALUES(995,445,363);
+INSERT INTO "annotation_value" VALUES(996,445,352);
+INSERT INTO "annotation_value" VALUES(997,445,356);
+INSERT INTO "annotation_value" VALUES(998,445,372);
+INSERT INTO "annotation_value" VALUES(999,445,386);
+INSERT INTO "annotation_value" VALUES(1000,445,378);
+INSERT INTO "annotation_value" VALUES(1001,445,390);
+INSERT INTO "annotation_value" VALUES(1002,445,355);
+INSERT INTO "annotation_value" VALUES(1003,445,366);
+INSERT INTO "annotation_value" VALUES(1004,445,139);
+INSERT INTO "annotation_value" VALUES(1005,445,385);
+INSERT INTO "annotation_value" VALUES(1006,445,368);
+INSERT INTO "annotation_value" VALUES(1007,445,365);
+INSERT INTO "annotation_value" VALUES(1008,445,360);
+INSERT INTO "annotation_value" VALUES(1009,445,362);
+INSERT INTO "annotation_value" VALUES(1010,445,367);
+INSERT INTO "annotation_value" VALUES(1011,445,357);
+INSERT INTO "annotation_value" VALUES(1012,445,388);
+INSERT INTO "annotation_value" VALUES(1013,445,382);
+INSERT INTO "annotation_value" VALUES(1014,445,379);
+INSERT INTO "annotation_value" VALUES(1015,445,381);
+INSERT INTO "annotation_value" VALUES(1016,445,359);
+INSERT INTO "annotation_value" VALUES(1017,445,350);
+INSERT INTO "annotation_value" VALUES(1018,445,387);
+INSERT INTO "annotation_value" VALUES(1019,445,358);
+INSERT INTO "annotation_value" VALUES(1020,445,375);
+INSERT INTO "annotation_value" VALUES(1021,445,374);
+INSERT INTO "annotation_value" VALUES(1022,445,371);
+INSERT INTO "annotation_value" VALUES(1023,445,349);
+INSERT INTO "annotation_value" VALUES(1024,445,377);
+INSERT INTO "annotation_value" VALUES(1025,445,380);
+INSERT INTO "annotation_value" VALUES(1026,445,354);
+INSERT INTO "annotation_value" VALUES(1027,445,384);
+INSERT INTO "annotation_value" VALUES(1028,445,351);
+INSERT INTO "annotation_value" VALUES(1029,445,369);
+INSERT INTO "annotation_value" VALUES(1030,445,353);
+INSERT INTO "annotation_value" VALUES(1031,445,373);
+INSERT INTO "annotation_value" VALUES(1032,445,389);
+INSERT INTO "annotation_value" VALUES(1033,446,374);
+INSERT INTO "annotation_value" VALUES(1034,446,373);
+INSERT INTO "annotation_value" VALUES(1035,446,381);
+INSERT INTO "annotation_value" VALUES(1036,446,380);
+INSERT INTO "annotation_value" VALUES(1037,446,383);
+INSERT INTO "annotation_value" VALUES(1038,446,362);
+INSERT INTO "annotation_value" VALUES(1039,446,356);
+INSERT INTO "annotation_value" VALUES(1040,446,353);
+INSERT INTO "annotation_value" VALUES(1041,446,359);
+INSERT INTO "annotation_value" VALUES(1042,446,363);
+INSERT INTO "annotation_value" VALUES(1043,446,355);
+INSERT INTO "annotation_value" VALUES(1044,446,358);
+INSERT INTO "annotation_value" VALUES(1045,446,382);
+INSERT INTO "annotation_value" VALUES(1046,446,378);
+INSERT INTO "annotation_value" VALUES(1047,446,357);
+INSERT INTO "annotation_value" VALUES(1048,446,390);
+INSERT INTO "annotation_value" VALUES(1049,446,354);
+INSERT INTO "annotation_value" VALUES(1050,446,371);
+INSERT INTO "annotation_value" VALUES(1051,446,372);
+INSERT INTO "annotation_value" VALUES(1052,446,367);
+INSERT INTO "annotation_value" VALUES(1053,446,351);
+INSERT INTO "annotation_value" VALUES(1054,446,379);
+INSERT INTO "annotation_value" VALUES(1055,446,350);
+INSERT INTO "annotation_value" VALUES(1056,446,386);
+INSERT INTO "annotation_value" VALUES(1057,446,139);
+INSERT INTO "annotation_value" VALUES(1058,446,388);
+INSERT INTO "annotation_value" VALUES(1059,446,352);
+INSERT INTO "annotation_value" VALUES(1060,446,360);
+INSERT INTO "annotation_value" VALUES(1061,446,361);
+INSERT INTO "annotation_value" VALUES(1062,446,365);
+INSERT INTO "annotation_value" VALUES(1063,446,349);
+INSERT INTO "annotation_value" VALUES(1064,446,385);
+INSERT INTO "annotation_value" VALUES(1065,446,348);
+INSERT INTO "annotation_value" VALUES(1066,446,364);
+INSERT INTO "annotation_value" VALUES(1067,446,366);
+INSERT INTO "annotation_value" VALUES(1068,446,377);
+INSERT INTO "annotation_value" VALUES(1069,446,387);
+INSERT INTO "annotation_value" VALUES(1070,446,375);
+INSERT INTO "annotation_value" VALUES(1071,446,347);
+INSERT INTO "annotation_value" VALUES(1072,446,389);
+INSERT INTO "annotation_value" VALUES(1073,446,368);
+INSERT INTO "annotation_value" VALUES(1074,446,370);
+INSERT INTO "annotation_value" VALUES(1075,446,369);
+INSERT INTO "annotation_value" VALUES(1076,446,376);
+INSERT INTO "annotation_value" VALUES(1077,446,384);
+INSERT INTO "annotation_value" VALUES(1078,447,370);
+INSERT INTO "annotation_value" VALUES(1079,447,371);
+INSERT INTO "annotation_value" VALUES(1080,447,360);
+INSERT INTO "annotation_value" VALUES(1081,447,376);
+INSERT INTO "annotation_value" VALUES(1082,447,387);
+INSERT INTO "annotation_value" VALUES(1083,447,373);
+INSERT INTO "annotation_value" VALUES(1084,447,348);
+INSERT INTO "annotation_value" VALUES(1085,447,375);
+INSERT INTO "annotation_value" VALUES(1086,447,356);
+INSERT INTO "annotation_value" VALUES(1087,447,384);
+INSERT INTO "annotation_value" VALUES(1088,447,381);
+INSERT INTO "annotation_value" VALUES(1089,447,351);
+INSERT INTO "annotation_value" VALUES(1090,447,353);
+INSERT INTO "annotation_value" VALUES(1091,447,385);
+INSERT INTO "annotation_value" VALUES(1092,447,368);
+INSERT INTO "annotation_value" VALUES(1093,447,389);
+INSERT INTO "annotation_value" VALUES(1094,447,352);
+INSERT INTO "annotation_value" VALUES(1095,447,349);
+INSERT INTO "annotation_value" VALUES(1096,447,380);
+INSERT INTO "annotation_value" VALUES(1097,447,359);
+INSERT INTO "annotation_value" VALUES(1098,447,364);
+INSERT INTO "annotation_value" VALUES(1099,447,363);
+INSERT INTO "annotation_value" VALUES(1100,447,377);
+INSERT INTO "annotation_value" VALUES(1101,447,139);
+INSERT INTO "annotation_value" VALUES(1102,447,355);
+INSERT INTO "annotation_value" VALUES(1103,447,383);
+INSERT INTO "annotation_value" VALUES(1104,447,382);
+INSERT INTO "annotation_value" VALUES(1105,447,350);
+INSERT INTO "annotation_value" VALUES(1106,447,354);
+INSERT INTO "annotation_value" VALUES(1107,447,357);
+INSERT INTO "annotation_value" VALUES(1108,447,379);
+INSERT INTO "annotation_value" VALUES(1109,447,367);
+INSERT INTO "annotation_value" VALUES(1110,447,378);
+INSERT INTO "annotation_value" VALUES(1111,447,361);
+INSERT INTO "annotation_value" VALUES(1112,447,362);
+INSERT INTO "annotation_value" VALUES(1113,447,366);
+INSERT INTO "annotation_value" VALUES(1114,447,374);
+INSERT INTO "annotation_value" VALUES(1115,447,390);
+INSERT INTO "annotation_value" VALUES(1116,447,386);
+INSERT INTO "annotation_value" VALUES(1117,447,358);
+INSERT INTO "annotation_value" VALUES(1118,447,369);
+INSERT INTO "annotation_value" VALUES(1119,447,347);
+INSERT INTO "annotation_value" VALUES(1120,447,388);
+INSERT INTO "annotation_value" VALUES(1121,447,365);
+INSERT INTO "annotation_value" VALUES(1122,447,372);
+INSERT INTO "annotation_value" VALUES(1123,448,370);
+INSERT INTO "annotation_value" VALUES(1124,448,367);
+INSERT INTO "annotation_value" VALUES(1125,448,351);
+INSERT INTO "annotation_value" VALUES(1126,448,364);
+INSERT INTO "annotation_value" VALUES(1127,448,357);
+INSERT INTO "annotation_value" VALUES(1128,448,385);
+INSERT INTO "annotation_value" VALUES(1129,448,390);
+INSERT INTO "annotation_value" VALUES(1130,448,353);
+INSERT INTO "annotation_value" VALUES(1131,448,384);
+INSERT INTO "annotation_value" VALUES(1132,448,350);
+INSERT INTO "annotation_value" VALUES(1133,448,381);
+INSERT INTO "annotation_value" VALUES(1134,448,376);
+INSERT INTO "annotation_value" VALUES(1135,448,369);
+INSERT INTO "annotation_value" VALUES(1136,448,377);
+INSERT INTO "annotation_value" VALUES(1137,448,139);
+INSERT INTO "annotation_value" VALUES(1138,448,361);
+INSERT INTO "annotation_value" VALUES(1139,448,352);
+INSERT INTO "annotation_value" VALUES(1140,448,388);
+INSERT INTO "annotation_value" VALUES(1141,448,374);
+INSERT INTO "annotation_value" VALUES(1142,448,383);
+INSERT INTO "annotation_value" VALUES(1143,448,371);
+INSERT INTO "annotation_value" VALUES(1144,448,375);
+INSERT INTO "annotation_value" VALUES(1145,448,379);
+INSERT INTO "annotation_value" VALUES(1146,448,386);
+INSERT INTO "annotation_value" VALUES(1147,448,356);
+INSERT INTO "annotation_value" VALUES(1148,448,365);
+INSERT INTO "annotation_value" VALUES(1149,448,387);
+INSERT INTO "annotation_value" VALUES(1150,448,354);
+INSERT INTO "annotation_value" VALUES(1151,448,360);
+INSERT INTO "annotation_value" VALUES(1152,448,359);
+INSERT INTO "annotation_value" VALUES(1153,448,378);
+INSERT INTO "annotation_value" VALUES(1154,448,382);
+INSERT INTO "annotation_value" VALUES(1155,448,366);
+INSERT INTO "annotation_value" VALUES(1156,448,349);
+INSERT INTO "annotation_value" VALUES(1157,448,347);
+INSERT INTO "annotation_value" VALUES(1158,448,380);
+INSERT INTO "annotation_value" VALUES(1159,448,358);
+INSERT INTO "annotation_value" VALUES(1160,448,355);
+INSERT INTO "annotation_value" VALUES(1161,448,348);
+INSERT INTO "annotation_value" VALUES(1162,448,372);
+INSERT INTO "annotation_value" VALUES(1163,448,363);
+INSERT INTO "annotation_value" VALUES(1164,448,389);
+INSERT INTO "annotation_value" VALUES(1165,448,373);
+INSERT INTO "annotation_value" VALUES(1166,448,368);
+INSERT INTO "annotation_value" VALUES(1167,448,362);
+INSERT INTO "annotation_value" VALUES(1168,449,377);
+INSERT INTO "annotation_value" VALUES(1169,449,348);
+INSERT INTO "annotation_value" VALUES(1170,449,382);
+INSERT INTO "annotation_value" VALUES(1171,449,351);
+INSERT INTO "annotation_value" VALUES(1172,449,390);
+INSERT INTO "annotation_value" VALUES(1173,449,361);
+INSERT INTO "annotation_value" VALUES(1174,449,347);
+INSERT INTO "annotation_value" VALUES(1175,449,352);
+INSERT INTO "annotation_value" VALUES(1176,449,379);
+INSERT INTO "annotation_value" VALUES(1177,449,372);
+INSERT INTO "annotation_value" VALUES(1178,449,365);
+INSERT INTO "annotation_value" VALUES(1179,449,376);
+INSERT INTO "annotation_value" VALUES(1180,449,363);
+INSERT INTO "annotation_value" VALUES(1181,449,387);
+INSERT INTO "annotation_value" VALUES(1182,449,368);
+INSERT INTO "annotation_value" VALUES(1183,449,386);
+INSERT INTO "annotation_value" VALUES(1184,449,384);
+INSERT INTO "annotation_value" VALUES(1185,449,389);
+INSERT INTO "annotation_value" VALUES(1186,449,360);
+INSERT INTO "annotation_value" VALUES(1187,449,358);
+INSERT INTO "annotation_value" VALUES(1188,449,139);
+INSERT INTO "annotation_value" VALUES(1189,449,380);
+INSERT INTO "annotation_value" VALUES(1190,449,353);
+INSERT INTO "annotation_value" VALUES(1191,449,359);
+INSERT INTO "annotation_value" VALUES(1192,449,375);
+INSERT INTO "annotation_value" VALUES(1193,449,371);
+INSERT INTO "annotation_value" VALUES(1194,449,355);
+INSERT INTO "annotation_value" VALUES(1195,449,354);
+INSERT INTO "annotation_value" VALUES(1196,449,349);
+INSERT INTO "annotation_value" VALUES(1197,449,385);
+INSERT INTO "annotation_value" VALUES(1198,449,378);
+INSERT INTO "annotation_value" VALUES(1199,449,367);
+INSERT INTO "annotation_value" VALUES(1200,449,374);
+INSERT INTO "annotation_value" VALUES(1201,449,370);
+INSERT INTO "annotation_value" VALUES(1202,449,364);
+INSERT INTO "annotation_value" VALUES(1203,449,366);
+INSERT INTO "annotation_value" VALUES(1204,449,383);
+INSERT INTO "annotation_value" VALUES(1205,449,362);
+INSERT INTO "annotation_value" VALUES(1206,449,381);
+INSERT INTO "annotation_value" VALUES(1207,449,388);
+INSERT INTO "annotation_value" VALUES(1208,449,357);
+INSERT INTO "annotation_value" VALUES(1209,449,350);
+INSERT INTO "annotation_value" VALUES(1210,449,356);
+INSERT INTO "annotation_value" VALUES(1211,449,373);
+INSERT INTO "annotation_value" VALUES(1212,449,369);
+INSERT INTO "annotation_value" VALUES(1213,450,389);
+INSERT INTO "annotation_value" VALUES(1214,450,360);
+INSERT INTO "annotation_value" VALUES(1215,450,370);
+INSERT INTO "annotation_value" VALUES(1216,450,390);
+INSERT INTO "annotation_value" VALUES(1217,450,372);
+INSERT INTO "annotation_value" VALUES(1218,450,375);
+INSERT INTO "annotation_value" VALUES(1219,450,381);
+INSERT INTO "annotation_value" VALUES(1220,450,362);
+INSERT INTO "annotation_value" VALUES(1221,450,353);
+INSERT INTO "annotation_value" VALUES(1222,450,388);
+INSERT INTO "annotation_value" VALUES(1223,450,377);
+INSERT INTO "annotation_value" VALUES(1224,450,351);
+INSERT INTO "annotation_value" VALUES(1225,450,358);
+INSERT INTO "annotation_value" VALUES(1226,450,139);
+INSERT INTO "annotation_value" VALUES(1227,450,357);
+INSERT INTO "annotation_value" VALUES(1228,450,385);
+INSERT INTO "annotation_value" VALUES(1229,450,366);
+INSERT INTO "annotation_value" VALUES(1230,450,365);
+INSERT INTO "annotation_value" VALUES(1231,450,363);
+INSERT INTO "annotation_value" VALUES(1232,450,387);
+INSERT INTO "annotation_value" VALUES(1233,450,364);
+INSERT INTO "annotation_value" VALUES(1234,450,354);
+INSERT INTO "annotation_value" VALUES(1235,450,386);
+INSERT INTO "annotation_value" VALUES(1236,450,382);
+INSERT INTO "annotation_value" VALUES(1237,450,361);
+INSERT INTO "annotation_value" VALUES(1238,450,384);
+INSERT INTO "annotation_value" VALUES(1239,450,368);
+INSERT INTO "annotation_value" VALUES(1240,450,347);
+INSERT INTO "annotation_value" VALUES(1241,450,374);
+INSERT INTO "annotation_value" VALUES(1242,450,369);
+INSERT INTO "annotation_value" VALUES(1243,450,376);
+INSERT INTO "annotation_value" VALUES(1244,450,355);
+INSERT INTO "annotation_value" VALUES(1245,450,349);
+INSERT INTO "annotation_value" VALUES(1246,450,350);
+INSERT INTO "annotation_value" VALUES(1247,450,356);
+INSERT INTO "annotation_value" VALUES(1248,450,378);
+INSERT INTO "annotation_value" VALUES(1249,450,379);
+INSERT INTO "annotation_value" VALUES(1250,450,373);
+INSERT INTO "annotation_value" VALUES(1251,450,352);
+INSERT INTO "annotation_value" VALUES(1252,450,359);
+INSERT INTO "annotation_value" VALUES(1253,450,380);
+INSERT INTO "annotation_value" VALUES(1254,450,371);
+INSERT INTO "annotation_value" VALUES(1255,450,383);
+INSERT INTO "annotation_value" VALUES(1256,450,348);
+INSERT INTO "annotation_value" VALUES(1257,450,367);
+INSERT INTO "annotation_value" VALUES(1258,451,389);
+INSERT INTO "annotation_value" VALUES(1259,451,350);
+INSERT INTO "annotation_value" VALUES(1260,451,381);
+INSERT INTO "annotation_value" VALUES(1261,451,385);
+INSERT INTO "annotation_value" VALUES(1262,451,356);
+INSERT INTO "annotation_value" VALUES(1263,451,372);
+INSERT INTO "annotation_value" VALUES(1264,451,374);
+INSERT INTO "annotation_value" VALUES(1265,451,355);
+INSERT INTO "annotation_value" VALUES(1266,451,354);
+INSERT INTO "annotation_value" VALUES(1267,451,388);
+INSERT INTO "annotation_value" VALUES(1268,451,364);
+INSERT INTO "annotation_value" VALUES(1269,451,361);
+INSERT INTO "annotation_value" VALUES(1270,451,366);
+INSERT INTO "annotation_value" VALUES(1271,451,368);
+INSERT INTO "annotation_value" VALUES(1272,451,373);
+INSERT INTO "annotation_value" VALUES(1273,451,384);
+INSERT INTO "annotation_value" VALUES(1274,451,351);
+INSERT INTO "annotation_value" VALUES(1275,451,369);
+INSERT INTO "annotation_value" VALUES(1276,451,363);
+INSERT INTO "annotation_value" VALUES(1277,451,352);
+INSERT INTO "annotation_value" VALUES(1278,451,376);
+INSERT INTO "annotation_value" VALUES(1279,451,362);
+INSERT INTO "annotation_value" VALUES(1280,451,382);
+INSERT INTO "annotation_value" VALUES(1281,451,378);
+INSERT INTO "annotation_value" VALUES(1282,451,139);
+INSERT INTO "annotation_value" VALUES(1283,451,390);
+INSERT INTO "annotation_value" VALUES(1284,451,359);
+INSERT INTO "annotation_value" VALUES(1285,451,383);
+INSERT INTO "annotation_value" VALUES(1286,451,387);
+INSERT INTO "annotation_value" VALUES(1287,451,371);
+INSERT INTO "annotation_value" VALUES(1288,451,367);
+INSERT INTO "annotation_value" VALUES(1289,451,353);
+INSERT INTO "annotation_value" VALUES(1290,451,349);
+INSERT INTO "annotation_value" VALUES(1291,451,365);
+INSERT INTO "annotation_value" VALUES(1292,451,380);
+INSERT INTO "annotation_value" VALUES(1293,451,358);
+INSERT INTO "annotation_value" VALUES(1294,451,386);
+INSERT INTO "annotation_value" VALUES(1295,451,379);
+INSERT INTO "annotation_value" VALUES(1296,451,347);
+INSERT INTO "annotation_value" VALUES(1297,451,375);
+INSERT INTO "annotation_value" VALUES(1298,451,357);
+INSERT INTO "annotation_value" VALUES(1299,451,348);
+INSERT INTO "annotation_value" VALUES(1300,451,377);
+INSERT INTO "annotation_value" VALUES(1301,451,370);
+INSERT INTO "annotation_value" VALUES(1302,451,360);
diff --git a/src/main/resources/db/lite/V1__annotation_tables.sql b/src/main/resources/db/lite/V1__annotation_tables.sql
new file mode 100644
index 0000000..b0299d1
--- /dev/null
+++ b/src/main/resources/db/lite/V1__annotation_tables.sql
@@ -0,0 +1,53 @@
+CREATE TABLE IF NOT EXISTS annotation(
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
+ code VARCHAR(20) NOT NULL,
+ type VARCHAR(20) NOT NULL,
+ text VARCHAR(20) NULL,
+ description VARCHAR(100) NOT NULL,
+ de_description VARCHAR(100)
+);
+
+CREATE UNIQUE INDEX annotation_index ON annotation (code, type);
+
+CREATE TABLE IF NOT EXISTS annotation_layer(
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
+ foundry_id INTEGER NOT NULL,
+ layer_id INTEGER NOT NULL,
+ description VARCHAR(255) NOT NULL,
+ FOREIGN KEY (foundry_id)
+ REFERENCES annotation (id)
+ ON DELETE CASCADE,
+ FOREIGN KEY (layer_id)
+ REFERENCES annotation (id)
+ ON DELETE CASCADE
+);
+
+CREATE UNIQUE INDEX annotation_layer_index ON annotation_layer (foundry_id, layer_id);
+
+CREATE TABLE IF NOT EXISTS annotation_key(
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
+ layer_id INTEGER NOT NULL,
+ key_id INTEGER NOT NULL,
+ FOREIGN KEY (layer_id)
+ REFERENCES annotation_layer (id)
+ ON DELETE CASCADE,
+ FOREIGN KEY (key_id)
+ REFERENCES annotation (id)
+ ON DELETE CASCADE
+);
+
+CREATE UNIQUE INDEX annotation_key_index ON annotation_key (layer_id, key_id);
+
+CREATE TABLE IF NOT EXISTS annotation_value(
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
+ key_id INTEGER NOT NULL,
+ value_id INTEGER NOT NULL,
+ FOREIGN KEY (key_id)
+ REFERENCES annotation_key (id)
+ ON DELETE CASCADE,
+ FOREIGN KEY (key_id)
+ REFERENCES annotation (id)
+ ON DELETE CASCADE
+);
+
+CREATE UNIQUE INDEX annotation_value_index ON annotation_value (key_id, value_id);
diff --git a/src/main/resources/db/mysql/V1.1__create_virtual_corpus_tables.sql b/src/main/resources/db/mysql/V1.1__create_virtual_corpus_tables.sql
new file mode 100644
index 0000000..590e318
--- /dev/null
+++ b/src/main/resources/db/mysql/V1.1__create_virtual_corpus_tables.sql
@@ -0,0 +1,90 @@
+CREATE TABLE IF NOT EXISTS role (
+ id INTEGER PRIMARY KEY AUTO_INCREMENT,
+ name VARCHAR(100) NOT NULL,
+ UNIQUE INDEX name_index(name)
+);
+
+
+CREATE TABLE IF NOT EXISTS privilege (
+ id INTEGER PRIMARY KEY AUTO_INCREMENT,
+ name VARCHAR(20) NOT NULL,
+ role_id int NOT NULL,
+ UNIQUE INDEX privilege_index(name, role_id),
+ FOREIGN KEY (role_id)
+ REFERENCES role (id)
+ ON DELETE CASCADE
+);
+
+
+CREATE TABLE IF NOT EXISTS user_group (
+ id INTEGER PRIMARY KEY AUTO_INCREMENT,
+ name VARCHAR(100) NOT NULL,
+ description VARCHAR(255) DEFAULT NULL,
+ status VARCHAR(100) NOT NULL,
+ created_by VARCHAR(100) NOT NULL,
+ deleted_by VARCHAR(100) DEFAULT NULL,
+ INDEX status_index(status),
+ UNIQUE INDEX unique_name(name);
+);
+
+CREATE TABLE IF NOT EXISTS user_group_member (
+ id INTEGER PRIMARY KEY AUTO_INCREMENT,
+ user_id VARCHAR(100) NOT NULL,
+ group_id int(11) NOT NULL,
+ status VARCHAR(100) NOT NULL,
+ created_by VARCHAR(100) NOT NULL,
+ deleted_by VARCHAR(100) DEFAULT NULL,
+ status_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+ UNIQUE INDEX unique_index (user_id,group_id),
+ INDEX status_index(status),
+ FOREIGN KEY (group_id)
+ REFERENCES user_group (id)
+ ON DELETE CASCADE
+);
+
+CREATE TABLE IF NOT EXISTS group_member_role (
+ id INTEGER PRIMARY KEY AUTO_INCREMENT,
+ group_member_id int(11) NOT NULL,
+ role_id int NOT NULL,
+ UNIQUE INDEX unique_index (group_member_id,role_id),
+ FOREIGN KEY (group_member_id)
+ REFERENCES user_group_member (id)
+ ON DELETE CASCADE,
+ FOREIGN KEY (role_id)
+ REFERENCES role (id)
+ ON DELETE CASCADE
+);
+
+CREATE TABLE IF NOT EXISTS virtual_corpus (
+ id INTEGER PRIMARY KEY AUTO_INCREMENT,
+ name VARCHAR(255) NOT NULL,
+ type VARCHAR(100) NOT NULL,
+ required_access VARCHAR(100) NOT NULL,
+ created_by VARCHAR(100) NOT NULL,
+ description VARCHAR(255) DEFAULT NULL,
+ status VARCHAR(100) DEFAULT NULL,
+ corpus_query TEXT NOT NULL,
+ definition VARCHAR(255) DEFAULT NULL,
+ is_cached BOOLEAN DEFAULT 0,
+ UNIQUE INDEX unique_index (name,created_by),
+ INDEX owner_index (created_by),
+ INDEX type_index (type)
+);
+
+CREATE TABLE IF NOT EXISTS virtual_corpus_access (
+ id INTEGER PRIMARY KEY AUTO_INCREMENT,
+ virtual_corpus_id int(11) NOT NULL,
+ user_group_id int(11) NOT NULL,
+ status VARCHAR(100) NOT NULL,
+ created_by VARCHAR(100) NOT NULL,
+ approved_by VARCHAR(100) DEFAULT NULL,
+ deleted_by VARCHAR(100) DEFAULT NULL,
+ UNIQUE INDEX unique_index (virtual_corpus_id,user_group_id),
+ INDEX status_index(status),
+ FOREIGN KEY (user_group_id)
+ REFERENCES user_group (id)
+ ON DELETE CASCADE,
+ FOREIGN KEY (virtual_corpus_id)
+ REFERENCES virtual_corpus (id)
+ ON DELETE CASCADE
+);
\ No newline at end of file
diff --git a/src/main/resources/db/mysql/V1.2__create_admin_table.sql b/src/main/resources/db/mysql/V1.2__create_admin_table.sql
new file mode 100644
index 0000000..39a7114
--- /dev/null
+++ b/src/main/resources/db/mysql/V1.2__create_admin_table.sql
@@ -0,0 +1,5 @@
+CREATE TABLE IF NOT EXISTS admin (
+ id INTEGER PRIMARY KEY AUTO_INCREMENT,
+ user_id VARCHAR(100) NOT NULL,
+ UNIQUE INDEX unique_index (user_id)
+);
\ No newline at end of file
diff --git a/src/main/resources/db/mysql/V1.3__triggers.sql b/src/main/resources/db/mysql/V1.3__triggers.sql
new file mode 100644
index 0000000..7bc25dd
--- /dev/null
+++ b/src/main/resources/db/mysql/V1.3__triggers.sql
@@ -0,0 +1,14 @@
+delimiter |
+
+CREATE TRIGGER delete_member AFTER UPDATE ON user_group
+ FOR EACH ROW
+ BEGIN
+ UPDATE user_group_member
+ SET status = "DELETED"
+ WHERE NEW.status = "DELETED"
+ AND OLD.status != "DELETED"
+ AND group_id = NEW.id;
+ END;
+|
+
+delimiter ;
\ No newline at end of file
diff --git a/src/main/resources/db/mysql/V1.4__oauth2_tables.sql b/src/main/resources/db/mysql/V1.4__oauth2_tables.sql
new file mode 100644
index 0000000..ff0230f
--- /dev/null
+++ b/src/main/resources/db/mysql/V1.4__oauth2_tables.sql
@@ -0,0 +1,96 @@
+-- EM: modified from Michael Hanl version
+
+-- oauth2 db tables
+CREATE TABLE IF NOT EXISTS oauth2_client (
+ id VARCHAR(100) PRIMARY KEY NOT NULL,
+ name VARCHAR(100) NOT NULL,
+ secret VARCHAR(255) DEFAULT NULL,
+ type VARCHAR(50) NOT NULL,
+ super BOOLEAN DEFAULT FALSE,
+ redirect_uri TEXT DEFAULT NULL,
+ description VARCHAR(255) NOT NULL,
+ registered_by VARCHAR(100) NOT NULL,
+ url_hashcode INTEGER NOT NULL,
+ url TEXT DEFAULT NULL,
+ UNIQUE INDEX unique_url(url_hashcode)
+);
+
+CREATE TABLE IF NOT EXISTS oauth2_access_scope (
+ id VARCHAR(100) PRIMARY KEY NOT NULL
+);
+
+-- authorization tables are not needed if using cache
+
+--CREATE TABLE IF NOT EXISTS oauth2_authorization (
+-- id INTEGER PRIMARY KEY AUTO_INCREMENT,
+-- code VARCHAR(255) NOT NULL,
+-- client_id VARCHAR(100) NOT NULL,
+-- user_id VARCHAR(100) NOT NULL,
+-- redirect_uri TEXT DEFAULT NULL,
+-- created_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
+-- expiry_date TIMESTAMP NULL,
+-- is_revoked BOOLEAN DEFAULT 0,
+-- total_attempts INTEGER DEFAULT 0,
+-- user_auth_time TIMESTAMP NULL,
+-- nonce TEXT DEFAULT NULL,
+-- FOREIGN KEY (client_id)
+-- REFERENCES oauth2_client(id),
+-- UNIQUE INDEX authorization_index(code, client_id)
+--);
+--
+--CREATE TABLE IF NOT EXISTS oauth2_authorization_scope (
+-- id INTEGER PRIMARY KEY AUTO_INCREMENT,
+-- authorization_id INTEGER NOT NULL,
+-- scope_id VARCHAR(100) NOT NULL,
+-- FOREIGN KEY (authorization_id)
+-- REFERENCES oauth2_authorization(id),
+-- FOREIGN KEY (scope_id)
+-- REFERENCES oauth2_access_scope(id),
+-- UNIQUE INDEX authorization_scope_index(authorization_id, scope_id)
+--);
+
+CREATE TABLE IF NOT EXISTS oauth2_refresh_token (
+ id INTEGER PRIMARY KEY AUTO_INCREMENT,
+ token VARCHAR(255) NOT NULL,
+ user_id VARCHAR(100) DEFAULT NULL,
+ user_auth_time TIMESTAMP NOT NULL,
+ created_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
+ expiry_date TIMESTAMP NULL,
+ is_revoked BOOLEAN DEFAULT 0,
+ client VARCHAR(100) NOT NULL,
+ FOREIGN KEY (client)
+ REFERENCES oauth2_client(id)
+ -- these will delete all refresh tokens related to the client
+ ON DELETE CASCADE
+);
+
+CREATE TABLE oauth2_refresh_token_scope (
+ token_id INTEGER NOT NULL,
+ scope_id VARCHAR(100) NOT NULL,
+ CONSTRAINT primary_key PRIMARY KEY (token_id, scope_id)
+);
+
+CREATE TABLE IF NOT EXISTS oauth2_access_token (
+ id INTEGER PRIMARY KEY AUTO_INCREMENT,
+ token VARCHAR(255) NOT NULL,
+ user_id VARCHAR(100) DEFAULT NULL,
+ client_id VARCHAR(100) DEFAULT NULL,
+ created_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
+ expiry_date TIMESTAMP NULL,
+ is_revoked BOOLEAN DEFAULT 0,
+ user_auth_time TIMESTAMP NULL,
+ refresh_token INTEGER DEFAULT NULL,
+ FOREIGN KEY (client_id)
+ REFERENCES oauth2_client(id)
+ -- these will delete all access tokens related to the client
+ ON DELETE CASCADE,
+ FOREIGN KEY (refresh_token)
+ REFERENCES oauth2_refresh_token(id)
+);
+
+CREATE TABLE oauth2_access_token_scope (
+ token_id INTEGER NOT NULL,
+ scope_id VARCHAR(100) NOT NULL,
+ CONSTRAINT primary_key PRIMARY KEY (token_id, scope_id)
+);
+
diff --git a/src/main/resources/db/mysql/V1.6__user_tables.sql b/src/main/resources/db/mysql/V1.6__user_tables.sql
new file mode 100644
index 0000000..9df4a20
--- /dev/null
+++ b/src/main/resources/db/mysql/V1.6__user_tables.sql
@@ -0,0 +1,4 @@
+CREATE TABLE IF NOT EXISTS default_setting (
+ username VARCHAR(100) PRIMARY KEY,
+ settings TEXT NOT NULL
+);
\ No newline at end of file
diff --git a/src/main/resources/db/mysql/V1.7__query_references.sql b/src/main/resources/db/mysql/V1.7__query_references.sql
new file mode 100644
index 0000000..6d636da
--- /dev/null
+++ b/src/main/resources/db/mysql/V1.7__query_references.sql
@@ -0,0 +1,14 @@
+CREATE TABLE IF NOT EXISTS query_refernce (
+ id INTEGER PRIMARY KEY AUTO_INCREMENT,
+ name VARCHAR(255) NOT NULL,
+ type VARCHAR(100) NOT NULL,
+ required_access VARCHAR(100) NOT NULL,
+ created_by VARCHAR(100) NOT NULL,
+ description VARCHAR(255) DEFAULT NULL,
+ status VARCHAR(100) DEFAULT NULL,
+ query TEXT NOT NULL,
+ definition VARCHAR(255) DEFAULT NULL,
+ UNIQUE INDEX unique_index (name,created_by),
+ INDEX owner_index (created_by),
+ INDEX type_index (type)
+);
diff --git a/src/main/resources/db/mysql/V1__create_tables.sql b/src/main/resources/db/mysql/V1__create_tables.sql
new file mode 100644
index 0000000..b4572ec
--- /dev/null
+++ b/src/main/resources/db/mysql/V1__create_tables.sql
@@ -0,0 +1,72 @@
+
+CREATE TABLE IF NOT EXISTS annotation(
+ id INTEGER PRIMARY KEY AUTO_INCREMENT,
+ code VARCHAR(20) NOT NULL,
+ type VARCHAR(20) NOT NULL,
+ text VARCHAR(20) NULL,
+ description VARCHAR(100) NOT NULL,
+ de_description VARCHAR(100),
+ UNIQUE INDEX unique_index (code, type)
+);
+
+CREATE TABLE IF NOT EXISTS annotation_layer(
+ id INTEGER PRIMARY KEY AUTO_INCREMENT,
+ foundry_id INTEGER NOT NULL,
+ layer_id INTEGER NOT NULL,
+ description VARCHAR(300) NOT NULL,
+ UNIQUE INDEX unique_index (foundry_id, layer_id),
+ FOREIGN KEY (foundry_id)
+ REFERENCES annotation (id)
+ ON DELETE CASCADE,
+ FOREIGN KEY (layer_id)
+ REFERENCES annotation (id)
+ ON DELETE CASCADE
+
+);
+
+CREATE TABLE IF NOT EXISTS annotation_key(
+ id INTEGER PRIMARY KEY AUTO_INCREMENT,
+ layer_id INTEGER NOT NULL,
+ key_id INTEGER NOT NULL,
+ UNIQUE INDEX unique_index (layer_id, key_id),
+ FOREIGN KEY (layer_id)
+ REFERENCES annotation_layer (id)
+ ON DELETE CASCADE,
+ FOREIGN KEY (key_id)
+ REFERENCES annotation (id)
+ ON DELETE CASCADE
+);
+
+CREATE TABLE IF NOT EXISTS annotation_value(
+ id INTEGER PRIMARY KEY AUTO_INCREMENT,
+ key_id INTEGER NOT NULL,
+ value_id INTEGER NOT NULL,
+ UNIQUE INDEX unique_index(key_id, value_id),
+ FOREIGN KEY (key_id)
+ REFERENCES annotation_key (id)
+ ON DELETE CASCADE,
+ FOREIGN KEY (value_id)
+ REFERENCES annotation (id)
+ ON DELETE CASCADE
+);
+
+CREATE TABLE resource(
+ id VARCHAR(100) PRIMARY KEY UNIQUE NOT NULL,
+ de_title VARCHAR(100) NOT NULL,
+ en_title VARCHAR(100) NOT NULL,
+ en_description VARCHAR(100)
+);
+
+CREATE TABLE resource_layer(
+ id INTEGER PRIMARY KEY AUTO_INCREMENT,
+ resource_id VARCHAR(100) NOT NULL,
+ layer_id INTEGER NOT NULL,
+ UNIQUE INDEX pair_index (resource_id, layer_id),
+ FOREIGN KEY (resource_id)
+ REFERENCES resource (id)
+ ON DELETE CASCADE,
+ FOREIGN KEY (layer_id)
+ REFERENCES annotation_layer (id)
+ ON DELETE CASCADE
+);
+
diff --git a/src/main/resources/db/predefined/V2.1__insert_predefined_roles.sql b/src/main/resources/db/predefined/V2.1__insert_predefined_roles.sql
new file mode 100644
index 0000000..0c307cb
--- /dev/null
+++ b/src/main/resources/db/predefined/V2.1__insert_predefined_roles.sql
@@ -0,0 +1,28 @@
+-- roles
+INSERT INTO role(name) VALUES ("USER_GROUP_ADMIN");
+INSERT INTO role(name) VALUES ("USER_GROUP_MEMBER");
+INSERT INTO role(name) VALUES ("VC_ACCESS_ADMIN");
+INSERT INTO role(name) VALUES ("VC_ACCESS_MEMBER");
+INSERT INTO role(name) VALUES ("QUERY_ACCESS_ADMIN");
+INSERT INTO role(name) VALUES ("QUERY_ACCESS_MEMBER");
+
+-- privileges
+INSERT INTO privilege(name,role_id)
+ VALUES("READ", 1);
+INSERT INTO privilege(name,role_id)
+ VALUES("WRITE", 1);
+INSERT INTO privilege(name,role_id)
+ VALUES("DELETE", 1);
+
+INSERT INTO privilege(name,role_id)
+ VALUES("DELETE",2);
+
+INSERT INTO privilege(name,role_id)
+ VALUES("READ",3);
+INSERT INTO privilege(name,role_id)
+ VALUES("WRITE",3);
+INSERT INTO privilege(name,role_id)
+ VALUES("DELETE",3);
+
+INSERT INTO privilege(name,role_id)
+ VALUES("READ",4);
\ No newline at end of file
diff --git a/src/main/resources/db/predefined/V2.2__annotation.sql b/src/main/resources/db/predefined/V2.2__annotation.sql
new file mode 100644
index 0000000..e81fd53
--- /dev/null
+++ b/src/main/resources/db/predefined/V2.2__annotation.sql
@@ -0,0 +1,391 @@
+INSERT INTO "annotation" VALUES(1,'opennlp','foundry',NULL,'OpenNLP',NULL);
+INSERT INTO "annotation" VALUES(2,'p','layer',NULL,'Part-of-Speech',NULL);
+INSERT INTO "annotation" VALUES(3,'ADJA','key','ADJA ','Attributive Adjective',NULL);
+INSERT INTO "annotation" VALUES(4,'ADJD','key','ADJD ','Predicative Adjective',NULL);
+INSERT INTO "annotation" VALUES(5,'ADV','key','ADV ','Adverb',NULL);
+INSERT INTO "annotation" VALUES(6,'APPO','key','APPO ','Postposition',NULL);
+INSERT INTO "annotation" VALUES(7,'APPR','key','APPR ','Preposition',NULL);
+INSERT INTO "annotation" VALUES(8,'APPRART','key','APPRART ','Preposition with Determiner',NULL);
+INSERT INTO "annotation" VALUES(9,'APZR','key','APZR ','Right Circumposition',NULL);
+INSERT INTO "annotation" VALUES(10,'ART','key','ART ','Determiner',NULL);
+INSERT INTO "annotation" VALUES(11,'CARD','key','CARD ','Cardinal Number',NULL);
+INSERT INTO "annotation" VALUES(12,'FM','key','FM ','Foreign Material',NULL);
+INSERT INTO "annotation" VALUES(13,'ITJ','key','ITJ ','Interjection',NULL);
+INSERT INTO "annotation" VALUES(14,'KOKOM','key','KOKOM ','Comparison Particle',NULL);
+INSERT INTO "annotation" VALUES(15,'KON','key','KON ','Coordinating Conjuncion',NULL);
+INSERT INTO "annotation" VALUES(16,'KOUI','key','KOUI ','Subordinating Conjunction with ''zu''',NULL);
+INSERT INTO "annotation" VALUES(17,'KOUS','key','KOUS ','Subordinating Conjunction with Sentence',NULL);
+INSERT INTO "annotation" VALUES(18,'NE','key','NE ','Named Entity',NULL);
+INSERT INTO "annotation" VALUES(19,'NN','key','NN ','Normal Nomina',NULL);
+INSERT INTO "annotation" VALUES(20,'PAV','key','PAV ','Pronominal Adverb',NULL);
+INSERT INTO "annotation" VALUES(21,'PDAT','key','PDAT ','Attributive Demonstrative Pronoun',NULL);
+INSERT INTO "annotation" VALUES(22,'PDS','key','PDS ','Substitutive Demonstrative Pronoun',NULL);
+INSERT INTO "annotation" VALUES(23,'PIAT','key','PIAT ','Attributive Indefinite Pronoun without Determiner',NULL);
+INSERT INTO "annotation" VALUES(24,'PIDAT','key','PIDAT ','Attributive Indefinite Pronoun with Determiner',NULL);
+INSERT INTO "annotation" VALUES(25,'PIS','key','PIS ','Substitutive Indefinite Pronoun',NULL);
+INSERT INTO "annotation" VALUES(26,'PPER','key','PPER ','Personal Pronoun',NULL);
+INSERT INTO "annotation" VALUES(27,'PPOSAT','key','PPOSAT ','Attributive Possessive Pronoun',NULL);
+INSERT INTO "annotation" VALUES(28,'PPOSS','key','PPOSS ','Substitutive Possessive Pronoun',NULL);
+INSERT INTO "annotation" VALUES(29,'PRELAT','key','PRELAT ','Attributive Relative Pronoun',NULL);
+INSERT INTO "annotation" VALUES(30,'PRELS','key','PRELS ','Substitutive Relative Pronoun',NULL);
+INSERT INTO "annotation" VALUES(31,'PRF','key','PRF ','Reflexive Pronoun',NULL);
+INSERT INTO "annotation" VALUES(32,'PROAV','key','PROAV ','Pronominal Adverb',NULL);
+INSERT INTO "annotation" VALUES(33,'PTKA','key','PTKA ','Particle with Adjective',NULL);
+INSERT INTO "annotation" VALUES(34,'PTKANT','key','PTKANT ','Answering Particle',NULL);
+INSERT INTO "annotation" VALUES(35,'PTKNEG','key','PTKNEG ','Negation Particle',NULL);
+INSERT INTO "annotation" VALUES(36,'PTKVZ','key','PTKVZ ','Separated Verbal Particle',NULL);
+INSERT INTO "annotation" VALUES(37,'PTKZU','key','PTKZU ','''zu'' Particle',NULL);
+INSERT INTO "annotation" VALUES(38,'PWAT','key','PWAT ','Attributive Interrogative Pronoun',NULL);
+INSERT INTO "annotation" VALUES(39,'PWAV','key','PWAV ','Adverbial Interrogative Pronoun',NULL);
+INSERT INTO "annotation" VALUES(40,'PWS','key','PWS ','Substitutive Interrogative Pronoun',NULL);
+INSERT INTO "annotation" VALUES(41,'TRUNC','key','TRUNC ','Truncated',NULL);
+INSERT INTO "annotation" VALUES(42,'VAFIN','key','VAFIN ','Auxiliary Finite Verb',NULL);
+INSERT INTO "annotation" VALUES(43,'VAIMP','key','VAIMP ','Auxiliary Finite Imperative Verb',NULL);
+INSERT INTO "annotation" VALUES(44,'VAINF','key','VAINF ','Auxiliary Infinite Verb',NULL);
+INSERT INTO "annotation" VALUES(45,'VAPP','key','VAPP ','Auxiliary Perfect Participle',NULL);
+INSERT INTO "annotation" VALUES(46,'VMFIN','key','VMFIN ','Modal Finite Verb',NULL);
+INSERT INTO "annotation" VALUES(47,'VMINF','key','VMINF ','Modal Infinite Verb',NULL);
+INSERT INTO "annotation" VALUES(48,'VMPP','key','VMPP ','Modal Perfect Participle',NULL);
+INSERT INTO "annotation" VALUES(49,'VVFIN','key','VVFIN ','Finite Verb',NULL);
+INSERT INTO "annotation" VALUES(50,'VVIMP','key','VVIMP ','Finite Imperative Verb',NULL);
+INSERT INTO "annotation" VALUES(51,'VVINF','key','VVINF ','Infinite Verb',NULL);
+INSERT INTO "annotation" VALUES(52,'VVIZU','key','VVIZU ','Infinite Verb with ''zu''',NULL);
+INSERT INTO "annotation" VALUES(53,'VVPP','key','VVPP ','Perfect Participle',NULL);
+INSERT INTO "annotation" VALUES(54,'XY','key','XY ','Non-Word',NULL);
+INSERT INTO "annotation" VALUES(55,'mate','foundry',NULL,'Mate',NULL);
+INSERT INTO "annotation" VALUES(56,'l','layer',NULL,'Lemma',NULL);
+INSERT INTO "annotation" VALUES(57,'m','layer',NULL,'Morphology',NULL);
+INSERT INTO "annotation" VALUES(58,'<root-POS>','key','<root-POS>','Root Part of Speech',NULL);
+INSERT INTO "annotation" VALUES(59,'case','key',NULL,'Case',NULL);
+INSERT INTO "annotation" VALUES(60,'degree','key',NULL,'Degree',NULL);
+INSERT INTO "annotation" VALUES(61,'gender','key',NULL,'Gender',NULL);
+INSERT INTO "annotation" VALUES(62,'mood','key',NULL,'Mood',NULL);
+INSERT INTO "annotation" VALUES(63,'number','key',NULL,'Number',NULL);
+INSERT INTO "annotation" VALUES(64,'person','key',NULL,'Person',NULL);
+INSERT INTO "annotation" VALUES(65,'tense','key',NULL,'Tense',NULL);
+INSERT INTO "annotation" VALUES(66,'<no-type> ','key',NULL,'No type',NULL);
+INSERT INTO "annotation" VALUES(67,'acc','value','acc ','Accusative',NULL);
+INSERT INTO "annotation" VALUES(68,'dat','value','dat ','Dative',NULL);
+INSERT INTO "annotation" VALUES(69,'gen','value','gen ','Genitive',NULL);
+INSERT INTO "annotation" VALUES(70,'nom','value','nom ','Nominative',NULL);
+INSERT INTO "annotation" VALUES(71,'*','value','* ','Undefined',NULL);
+INSERT INTO "annotation" VALUES(72,'comp','value','comp ','Comparative',NULL);
+INSERT INTO "annotation" VALUES(73,'pos','value','pos ','Positive',NULL);
+INSERT INTO "annotation" VALUES(74,'sup','value','sup ','Superative',NULL);
+INSERT INTO "annotation" VALUES(75,'fem','value','fem ','Feminium',NULL);
+INSERT INTO "annotation" VALUES(76,'masc','value','masc ','Masculinum',NULL);
+INSERT INTO "annotation" VALUES(77,'neut','value','neut ','Neuter',NULL);
+INSERT INTO "annotation" VALUES(78,'imp','value','imp ','Imperative',NULL);
+INSERT INTO "annotation" VALUES(79,'ind','value','ind ','Indicative',NULL);
+INSERT INTO "annotation" VALUES(80,'subj','value','subj ','Subjunctive',NULL);
+INSERT INTO "annotation" VALUES(81,'pl','value','pl ','Plural',NULL);
+INSERT INTO "annotation" VALUES(82,'sg','value','sg ','Singular',NULL);
+INSERT INTO "annotation" VALUES(83,'1','value','1 ','First Person',NULL);
+INSERT INTO "annotation" VALUES(84,'2','value','2 ','Second Person',NULL);
+INSERT INTO "annotation" VALUES(85,'3','value','3 ','Third Person',NULL);
+INSERT INTO "annotation" VALUES(86,'past','value','past ','Past',NULL);
+INSERT INTO "annotation" VALUES(87,'pres','value','pres ','Present',NULL);
+INSERT INTO "annotation" VALUES(88,'malt','foundry',NULL,'Malt',NULL);
+INSERT INTO "annotation" VALUES(89,'d','layer',NULL,'Dependency',NULL);
+INSERT INTO "annotation" VALUES(90,'-PUNCT-','key','-PUNCT- ','',NULL);
+INSERT INTO "annotation" VALUES(91,'-UNKNOWN-','key','-UNKNOWN- ','',NULL);
+INSERT INTO "annotation" VALUES(92,'APP','key','APP ','',NULL);
+INSERT INTO "annotation" VALUES(93,'ATTR','key','ATTR ','',NULL);
+INSERT INTO "annotation" VALUES(94,'AUX','key','AUX ','',NULL);
+INSERT INTO "annotation" VALUES(95,'AVZ','key','AVZ ','',NULL);
+INSERT INTO "annotation" VALUES(96,'CJ','key','CJ ','',NULL);
+INSERT INTO "annotation" VALUES(97,'DET','key','DET ','',NULL);
+INSERT INTO "annotation" VALUES(98,'EXPL','key','EXPL ','',NULL);
+INSERT INTO "annotation" VALUES(99,'GMOD','key','GMOD ','',NULL);
+INSERT INTO "annotation" VALUES(100,'GRAD','key','GRAD ','',NULL);
+INSERT INTO "annotation" VALUES(101,'KOM','key','KOM ','',NULL);
+INSERT INTO "annotation" VALUES(102,'KONJ','key','KONJ ','',NULL);
+INSERT INTO "annotation" VALUES(103,'NEB','key','NEB ','',NULL);
+INSERT INTO "annotation" VALUES(104,'OBJA','key','OBJA ','',NULL);
+INSERT INTO "annotation" VALUES(105,'OBJC','key','OBJC ','',NULL);
+INSERT INTO "annotation" VALUES(106,'OBJD','key','OBJD ','',NULL);
+INSERT INTO "annotation" VALUES(107,'OBJG','key','OBJG ','',NULL);
+INSERT INTO "annotation" VALUES(108,'OBJI','key','OBJI ','',NULL);
+INSERT INTO "annotation" VALUES(109,'OBJP','key','OBJP ','',NULL);
+INSERT INTO "annotation" VALUES(110,'PAR','key','PAR ','',NULL);
+INSERT INTO "annotation" VALUES(111,'PART','key','PART ','',NULL);
+INSERT INTO "annotation" VALUES(112,'PN','key','PN ','',NULL);
+INSERT INTO "annotation" VALUES(113,'PP','key','PP ','',NULL);
+INSERT INTO "annotation" VALUES(114,'PRED','key','PRED ','',NULL);
+INSERT INTO "annotation" VALUES(115,'REL','key','REL ','',NULL);
+INSERT INTO "annotation" VALUES(116,'ROOT','key','ROOT ','',NULL);
+INSERT INTO "annotation" VALUES(117,'S','key','S ','',NULL);
+INSERT INTO "annotation" VALUES(118,'SUBJ','key','SUBJ ','',NULL);
+INSERT INTO "annotation" VALUES(119,'SUBJC','key','SUBJC ','',NULL);
+INSERT INTO "annotation" VALUES(120,'ZEIT','key','ZEIT ','',NULL);
+INSERT INTO "annotation" VALUES(121,'gmod-app','key','gmod-app ','',NULL);
+INSERT INTO "annotation" VALUES(122,'koord','key','koord ','',NULL);
+INSERT INTO "annotation" VALUES(123,'drukola','foundry',NULL,'DRuKoLa',NULL);
+INSERT INTO "annotation" VALUES(124,'ctag','key',NULL,'CTAG',NULL);
+INSERT INTO "annotation" VALUES(125,'A','value','a ','Adjective',NULL);
+INSERT INTO "annotation" VALUES(126,'Y','value','y ','Abbreviation',NULL);
+INSERT INTO "annotation" VALUES(127,'AN','value','an ','Adjective, Indefinite',NULL);
+INSERT INTO "annotation" VALUES(128,'APRY','value','apry ','Adjective, Plural, Direct, Definite',NULL);
+INSERT INTO "annotation" VALUES(129,'APN','value','apn ','Adjective, Plural, Indefinite',NULL);
+INSERT INTO "annotation" VALUES(130,'APOY','value','apoy ','Adjective, Plural, Oblique, Definite',NULL);
+INSERT INTO "annotation" VALUES(131,'APON','value','apon ','Adjective, Plural, Oblique, Indefinite',NULL);
+INSERT INTO "annotation" VALUES(132,'ASRY','value','asry ','Adjective, Singular, Direct, Definite',NULL);
+INSERT INTO "annotation" VALUES(133,'ASN','value','asn ','Adjective, Singular, Indefinite',NULL);
+INSERT INTO "annotation" VALUES(134,'ASOY','value','asoy ','Adjective, Singular, Oblique, Definite',NULL);
+INSERT INTO "annotation" VALUES(135,'ASON','value','ason ','Adjective, Singular, Oblique, Indefinite',NULL);
+INSERT INTO "annotation" VALUES(136,'ASVY','value','asvy ','Adjective, Singular, Vocative, Definite',NULL);
+INSERT INTO "annotation" VALUES(137,'ASVN','value','asvn ','Adjective, Singular, Vocative, Indefinite',NULL);
+INSERT INTO "annotation" VALUES(138,'R','value','r ','Adverb',NULL);
+INSERT INTO "annotation" VALUES(139,'RC','value','rc ','Adverb, Portmanteau',NULL);
+INSERT INTO "annotation" VALUES(140,'TS','value','ts ','Article, Definite or Possessive, Singular',NULL);
+INSERT INTO "annotation" VALUES(141,'TP','value','tp ','Article, Indefinite or Possessive, Plural',NULL);
+INSERT INTO "annotation" VALUES(142,'TPR','value','tpr ','Article, non-Possessive, Plural, Direct',NULL);
+INSERT INTO "annotation" VALUES(143,'TPO','value','tpo ','Article, non-Possessive, Plural, Oblique',NULL);
+INSERT INTO "annotation" VALUES(144,'TSR','value','tsr ','Article, non-Possessive, Singular, Direct',NULL);
+INSERT INTO "annotation" VALUES(145,'TSO','value','tso ','Article, non-Possessive, Singular, Oblique',NULL);
+INSERT INTO "annotation" VALUES(146,'NPRY','value','npry ','Common Noun, Plural, Direct, Definite',NULL);
+INSERT INTO "annotation" VALUES(147,'NPN','value','npn ','Common Noun, Plural, Indefinite',NULL);
+INSERT INTO "annotation" VALUES(148,'NPOY','value','npoy ','Common Noun, Plural, Oblique, Definite',NULL);
+INSERT INTO "annotation" VALUES(149,'NPVY','value','npvy ','Common Noun, Plural, Vocative, Definite',NULL);
+INSERT INTO "annotation" VALUES(150,'NN','value','nn ','Common Noun, singular',NULL);
+INSERT INTO "annotation" VALUES(151,'NSY','value','nsy ','Common Noun, Singular, Definite',NULL);
+INSERT INTO "annotation" VALUES(152,'NSRY','value','nsry ','Common Noun, Singular, Direct, Definite',NULL);
+INSERT INTO "annotation" VALUES(153,'NSRN','value','nsrn ','Common Noun, Singular, Direct, Indefinite',NULL);
+INSERT INTO "annotation" VALUES(154,'NSN','value','nsn ','Common Noun, Singular, Indefinite',NULL);
+INSERT INTO "annotation" VALUES(155,'NSOY','value','nsoy ','Common Noun, Singular, Oblique, Definite',NULL);
+INSERT INTO "annotation" VALUES(156,'NSON','value','nson ','Common Noun, Singular, Oblique, Indefinite',NULL);
+INSERT INTO "annotation" VALUES(157,'NSVY','value','nsvy ','Common Noun, Singular, Vocative, Definite',NULL);
+INSERT INTO "annotation" VALUES(158,'NSVN','value','nsvn ','Common Noun, Singular, Vocative, Indefinite',NULL);
+INSERT INTO "annotation" VALUES(159,'CR','value','cr ','Conjunctio, portmanteau',NULL);
+INSERT INTO "annotation" VALUES(160,'C','value','c ','Conjunction',NULL);
+INSERT INTO "annotation" VALUES(161,'QF','value','qf ','Future Particle',NULL);
+INSERT INTO "annotation" VALUES(162,'QN','value','qn ','Infinitival Particle',NULL);
+INSERT INTO "annotation" VALUES(163,'I','value','i ','Interjection',NULL);
+INSERT INTO "annotation" VALUES(164,'QZ','value','qz ','Negative Particle',NULL);
+INSERT INTO "annotation" VALUES(165,'M','value','m ','Numeral',NULL);
+INSERT INTO "annotation" VALUES(166,'PP','value','pp ','Personal Pronoun',NULL);
+INSERT INTO "annotation" VALUES(167,'PPP','value','ppp ','Personal Pronoun, Plural',NULL);
+INSERT INTO "annotation" VALUES(168,'PPPA','value','pppa ','Personal Pronoun, Plural, Acc.',NULL);
+INSERT INTO "annotation" VALUES(169,'PPPD','value','pppd ','Personal Pronoun, Plural, Dative',NULL);
+INSERT INTO "annotation" VALUES(170,'PPPR','value','pppr ','Personal Pronoun, Plural, Direct',NULL);
+INSERT INTO "annotation" VALUES(171,'PPPO','value','pppo ','Personal Pronoun, Plural, Oblique',NULL);
+INSERT INTO "annotation" VALUES(172,'PPS','value','pps ','Personal Pronoun, Singular',NULL);
+INSERT INTO "annotation" VALUES(173,'PPSA','value','ppsa ','Personal Pronoun, Singular, Accusative',NULL);
+INSERT INTO "annotation" VALUES(174,'PPSD','value','ppsd ','Personal Pronoun, Singular, Dative',NULL);
+INSERT INTO "annotation" VALUES(175,'PPSR','value','ppsr ','Personal Pronoun, Singular, Direct',NULL);
+INSERT INTO "annotation" VALUES(176,'PPSN','value','ppsn ','Personal Pronoun, Singular, Nominative',NULL);
+INSERT INTO "annotation" VALUES(177,'PPSO','value','ppso ','Personal Pronoun, Singular, Oblique',NULL);
+INSERT INTO "annotation" VALUES(178,'S','value','s ','Preposition',NULL);
+INSERT INTO "annotation" VALUES(179,'DMPR','value','dmpr ','Pronoun or Determiner, Demonstrative, Plural, Direct',NULL);
+INSERT INTO "annotation" VALUES(180,'DMPO','value','dmpo ','Pronoun or Determiner, Demonstrative, Plural, Oblique',NULL);
+INSERT INTO "annotation" VALUES(181,'DMSR','value','dmsr ','Pronoun or Determiner, Demonstrative, Singular, Direct',NULL);
+INSERT INTO "annotation" VALUES(182,'DMSO','value','dmso ','Pronoun or Determiner, Demonstrative, Singular, Oblique',NULL);
+INSERT INTO "annotation" VALUES(183,'PS','value','ps ','Pronoun or Determiner, Poss or Emph',NULL);
+INSERT INTO "annotation" VALUES(184,'PSS','value','pss ','Pronoun or Determiner, Poss or Emph, Singular',NULL);
+INSERT INTO "annotation" VALUES(185,'RELR','value','relr ','Pronoun or Determiner, Relative, Direct',NULL);
+INSERT INTO "annotation" VALUES(186,'RELO','value','relo ','Pronoun or Determiner, Relative, Oblique',NULL);
+INSERT INTO "annotation" VALUES(187,'NP','value','np ','Proper Noun',NULL);
+INSERT INTO "annotation" VALUES(188,'PI','value','pi ','Quantifier Pronoun or Determiner',NULL);
+INSERT INTO "annotation" VALUES(189,'PXA','value','pxa ','Reflexive Pronoun, Accusative',NULL);
+INSERT INTO "annotation" VALUES(190,'PXD','value','pxd ','Reflexive Pronoun, Dative',NULL);
+INSERT INTO "annotation" VALUES(191,'X','value','x ','Residual',NULL);
+INSERT INTO "annotation" VALUES(192,'QS','value','qs ','Subjunctive Particle',NULL);
+INSERT INTO "annotation" VALUES(193,'VA','value','va ','Verb, Auxiliary',NULL);
+INSERT INTO "annotation" VALUES(194,'VA1','value','va1 ','Verb, Auxiliary, 1st person',NULL);
+INSERT INTO "annotation" VALUES(195,'VA2P','value','va2p ','Verb, Auxiliary, 2nd person, Plural',NULL);
+INSERT INTO "annotation" VALUES(196,'VA2S','value','va2s ','Verb, Auxiliary, 2nd person, Singular',NULL);
+INSERT INTO "annotation" VALUES(197,'VA3','value','va3 ','Verb, Auxiliary, 3rd person',NULL);
+INSERT INTO "annotation" VALUES(198,'VA3P','value','va3p ','Verb, Auxiliary, 3rd person, Plural',NULL);
+INSERT INTO "annotation" VALUES(199,'VA3S','value','va3s ','Verb, Auxiliary, 3rd person, Singular',NULL);
+INSERT INTO "annotation" VALUES(200,'VA1P','value','va1p ','Verb, Auxiliary,1st person, Plural',NULL);
+INSERT INTO "annotation" VALUES(201,'VA1S','value','va1s ','Verb, Auxiliary,1st person, Singular',NULL);
+INSERT INTO "annotation" VALUES(202,'VG','value','vg ','Verb, Gerund',NULL);
+INSERT INTO "annotation" VALUES(203,'VN','value','vn ','Verb, Infinitive',NULL);
+INSERT INTO "annotation" VALUES(204,'V1','value','v1 ','Verb, Main, 1st person',NULL);
+INSERT INTO "annotation" VALUES(205,'V2','value','v2 ','Verb, Main, 2nd person',NULL);
+INSERT INTO "annotation" VALUES(206,'V3','value','v3 ','Verb, Main, 3rd person',NULL);
+INSERT INTO "annotation" VALUES(207,'VPPF','value','vppf ','Verb, Participle, Plural, Feminine',NULL);
+INSERT INTO "annotation" VALUES(208,'VPPM','value','vppm ','Verb, Participle, Plural, Masculine',NULL);
+INSERT INTO "annotation" VALUES(209,'VPSF','value','vpsf ','Verb, Participle, Singular, Feminine',NULL);
+INSERT INTO "annotation" VALUES(210,'VPSM','value','vpsm ','Verb, Participle, Singular, Masculine',NULL);
+INSERT INTO "annotation" VALUES(211,'cnx','foundry',NULL,'Connexor',NULL);
+INSERT INTO "annotation" VALUES(212,'c','layer',NULL,'Constituency',NULL);
+INSERT INTO "annotation" VALUES(213,'syn','layer',NULL,'Syntax',NULL);
+INSERT INTO "annotation" VALUES(214,'np','key','np ','Nominal Phrase',NULL);
+INSERT INTO "annotation" VALUES(215,'Abbr','key','Abbr ','Nouns: Abbreviation',NULL);
+INSERT INTO "annotation" VALUES(216,'CMP','key','CMP ','Adjective: Comparative',NULL);
+INSERT INTO "annotation" VALUES(217,'IMP','key','IMP ','Mood: Imperative',NULL);
+INSERT INTO "annotation" VALUES(218,'IND','key','IND ','Mood: Indicative',NULL);
+INSERT INTO "annotation" VALUES(219,'INF','key','INF ','Infinitive',NULL);
+INSERT INTO "annotation" VALUES(220,'ORD','key','ORD ','Numeral: Ordinal',NULL);
+INSERT INTO "annotation" VALUES(221,'PAST','key','PAST ','Tense: past',NULL);
+INSERT INTO "annotation" VALUES(222,'PCP','key','PCP ','Participle',NULL);
+INSERT INTO "annotation" VALUES(223,'PERF','key','PERF ','Perfective Participle',NULL);
+INSERT INTO "annotation" VALUES(224,'PL','key','PL ','Nouns: Plural',NULL);
+INSERT INTO "annotation" VALUES(225,'PRES','key','PRES ','Tense: present',NULL);
+INSERT INTO "annotation" VALUES(226,'PROG','key','PROG ','Progressive Participle',NULL);
+INSERT INTO "annotation" VALUES(227,'Prop','key','Prop ','Nouns: Proper Noun',NULL);
+INSERT INTO "annotation" VALUES(228,'SUB','key','SUB ','Mood: Subjunctive',NULL);
+INSERT INTO "annotation" VALUES(229,'SUP','key','SUP ','Adjective: Superlative',NULL);
+INSERT INTO "annotation" VALUES(230,'A','key','A ','Adjective',NULL);
+INSERT INTO "annotation" VALUES(231,'CC','key','CC ','Coordination Marker',NULL);
+INSERT INTO "annotation" VALUES(232,'CS','key','CS ','Clause Marker',NULL);
+INSERT INTO "annotation" VALUES(233,'INTERJ','key','INTERJ ','Interjection',NULL);
+INSERT INTO "annotation" VALUES(234,'N','key','N ','Noun',NULL);
+INSERT INTO "annotation" VALUES(235,'NUM','key','NUM ','Numeral',NULL);
+INSERT INTO "annotation" VALUES(236,'PREP','key','PREP ','Preposition',NULL);
+INSERT INTO "annotation" VALUES(237,'PRON','key','PRON ','Pro-Nominal',NULL);
+INSERT INTO "annotation" VALUES(238,'V','key','V ','Verb',NULL);
+INSERT INTO "annotation" VALUES(239,'@ADVL','key','@ADVL ','Adverbial Head',NULL);
+INSERT INTO "annotation" VALUES(240,'@AUX','key','@AUX ','Auxiliary Verb',NULL);
+INSERT INTO "annotation" VALUES(241,'@CC','key','@CC ','Coordination',NULL);
+INSERT INTO "annotation" VALUES(242,'@MAIN','key','@MAIN ','Main Verb',NULL);
+INSERT INTO "annotation" VALUES(243,'@NH','key','@NH ','Nominal Head',NULL);
+INSERT INTO "annotation" VALUES(244,'@POSTMOD','key','@POSTMOD ','Postmodifier',NULL);
+INSERT INTO "annotation" VALUES(245,'@PREMARK','key','@PREMARK ','Preposed Marker',NULL);
+INSERT INTO "annotation" VALUES(246,'@PREMOD','key','@PREMOD ','Premodifier',NULL);
+INSERT INTO "annotation" VALUES(247,'marmot','foundry',NULL,'MarMoT',NULL);
+INSERT INTO "annotation" VALUES(248,'base','foundry',NULL,'Base Annotation',NULL);
+INSERT INTO "annotation" VALUES(249,'s','layer',NULL,'Structure',NULL);
+INSERT INTO "annotation" VALUES(250,'s','key','s','Sentence',NULL);
+INSERT INTO "annotation" VALUES(251,'p','key','p','Paragraph',NULL);
+INSERT INTO "annotation" VALUES(252,'t','key','t','Text',NULL);
+INSERT INTO "annotation" VALUES(253,'xip','foundry',NULL,'Xerox Parser',NULL);
+INSERT INTO "annotation" VALUES(254,'lwc','foundry',NULL,'LWC',NULL);
+INSERT INTO "annotation" VALUES(255,'AC','key','AC ','adpositional case marker',NULL);
+INSERT INTO "annotation" VALUES(256,'ADC','key','ADC ','adjective component',NULL);
+INSERT INTO "annotation" VALUES(257,'AMS','key','AMS ','measure argument of adj',NULL);
+INSERT INTO "annotation" VALUES(258,'AVC','key','AVC ','adverbial phrase component',NULL);
+INSERT INTO "annotation" VALUES(259,'CD','key','CD ','coordinating conjunction',NULL);
+INSERT INTO "annotation" VALUES(260,'CM','key','CM ','comparative concjunction',NULL);
+INSERT INTO "annotation" VALUES(261,'CP','key','CP ','complementizer',NULL);
+INSERT INTO "annotation" VALUES(262,'DA','key','DA ','dative',NULL);
+INSERT INTO "annotation" VALUES(263,'DH','key','DH ','discourse-level head',NULL);
+INSERT INTO "annotation" VALUES(264,'DM','key','DM ','discourse marker',NULL);
+INSERT INTO "annotation" VALUES(265,'GL','key','GL ','prenominal genitive',NULL);
+INSERT INTO "annotation" VALUES(266,'GR','key','GR ','postnominal genitive',NULL);
+INSERT INTO "annotation" VALUES(267,'HD','key','HD ','head',NULL);
+INSERT INTO "annotation" VALUES(268,'JU','key','JU ','junctor',NULL);
+INSERT INTO "annotation" VALUES(269,'MC','key','MC ','comitative',NULL);
+INSERT INTO "annotation" VALUES(270,'MI','key','MI ','instrumental',NULL);
+INSERT INTO "annotation" VALUES(271,'ML','key','ML ','locative',NULL);
+INSERT INTO "annotation" VALUES(272,'MNR','key','MNR ','postnominal modifier',NULL);
+INSERT INTO "annotation" VALUES(273,'MO','key','MO ','modifier',NULL);
+INSERT INTO "annotation" VALUES(274,'MR','key','MR ','rhetorical modifier',NULL);
+INSERT INTO "annotation" VALUES(275,'MW','key','MW ','way (directional modifier)',NULL);
+INSERT INTO "annotation" VALUES(276,'NG','key','NG ','negation',NULL);
+INSERT INTO "annotation" VALUES(277,'NK','key','NK ','noun kernel modifier',NULL);
+INSERT INTO "annotation" VALUES(278,'NMC','key','NMC ','numerical component',NULL);
+INSERT INTO "annotation" VALUES(279,'OA','key','OA ','accusative object',NULL);
+INSERT INTO "annotation" VALUES(280,'OA2','key','OA2 ','second accusative object',NULL);
+INSERT INTO "annotation" VALUES(281,'OC','key','OC ','clausal object',NULL);
+INSERT INTO "annotation" VALUES(282,'OG','key','OG ','genitive object',NULL);
+INSERT INTO "annotation" VALUES(283,'PD','key','PD ','predicate',NULL);
+INSERT INTO "annotation" VALUES(284,'PG','key','PG ','pseudo-genitive',NULL);
+INSERT INTO "annotation" VALUES(285,'PH','key','PH ','placeholder',NULL);
+INSERT INTO "annotation" VALUES(286,'PM','key','PM ','morphological particle',NULL);
+INSERT INTO "annotation" VALUES(287,'PNC','key','PNC ','proper noun component',NULL);
+INSERT INTO "annotation" VALUES(288,'RC','key','RC ','relative clause',NULL);
+INSERT INTO "annotation" VALUES(289,'RE','key','RE ','repeated element',NULL);
+INSERT INTO "annotation" VALUES(290,'RS','key','RS ','reported speech',NULL);
+INSERT INTO "annotation" VALUES(291,'SB','key','SB ','subject',NULL);
+INSERT INTO "annotation" VALUES(292,'SBP','key','SBP ','passivised subject (PP)',NULL);
+INSERT INTO "annotation" VALUES(293,'SP','key','SP ','subject or predicate',NULL);
+INSERT INTO "annotation" VALUES(294,'SVP','key','SVP ','separable verb prefix',NULL);
+INSERT INTO "annotation" VALUES(295,'UC','key','UC ','(idiosyncratic) unit component',NULL);
+INSERT INTO "annotation" VALUES(296,'VO','key','VO ','vocative',NULL);
+INSERT INTO "annotation" VALUES(297,'dereko','foundry',NULL,'DeReKo',NULL);
+INSERT INTO "annotation" VALUES(298,'sgbr','foundry',NULL,'Schreibgebrauch',NULL);
+INSERT INTO "annotation" VALUES(299,'lv','layer',NULL,'Lemma Variants',NULL);
+INSERT INTO "annotation" VALUES(300,'NNE','key','NNE','Normal Nomina with Named Entity',NULL);
+INSERT INTO "annotation" VALUES(301,'ADVART','key','ADVART','Adverb with Article',NULL);
+INSERT INTO "annotation" VALUES(302,'EMOASC','key','EMOASC','ASCII emoticon',NULL);
+INSERT INTO "annotation" VALUES(303,'EMOIMG','key','EMOIMG','Graphic emoticon',NULL);
+INSERT INTO "annotation" VALUES(304,'ERRTOK','key','ERRTOK','Tokenisation Error',NULL);
+INSERT INTO "annotation" VALUES(305,'HST','key','HST','Hashtag',NULL);
+INSERT INTO "annotation" VALUES(306,'KOUSPPER','key','KOUSPPER','Subordinating Conjunction (with Sentence) with Personal Pronoun',NULL);
+INSERT INTO "annotation" VALUES(307,'ONO','key','ONO','Onomatopoeia',NULL);
+INSERT INTO "annotation" VALUES(308,'PPERPPER','key','PPERPPER','Personal Pronoun with Personal Pronoun',NULL);
+INSERT INTO "annotation" VALUES(309,'URL','key','URL','Uniform Resource Locator',NULL);
+INSERT INTO "annotation" VALUES(310,'VAPPER','key','VAPPER','Finite Auxiliary Verb with Personal Pronoun',NULL);
+INSERT INTO "annotation" VALUES(311,'VMPPER','key','VMPPER','Fintite Modal Verb with Personal Pronoun',NULL);
+INSERT INTO "annotation" VALUES(312,'VVPPER','key','VVPPER','Finite Full Verb with Personal Pronoun',NULL);
+INSERT INTO "annotation" VALUES(313,'AW','key','AW','Interaction Word',NULL);
+INSERT INTO "annotation" VALUES(314,'ADR','key','ADR','Addressing Term',NULL);
+INSERT INTO "annotation" VALUES(315,'AWIND','key','AWIND','Punctuation Indicating Addressing Term',NULL);
+INSERT INTO "annotation" VALUES(316,'ERRAW','key','ERRAW','Part of Erroneously Separated Compound',NULL);
+INSERT INTO "annotation" VALUES(317,'corenlp','foundry',NULL,'CoreNLP',NULL);
+INSERT INTO "annotation" VALUES(318,'ne','layer',NULL,'Named Entity',NULL);
+INSERT INTO "annotation" VALUES(319,'ne_dewac_175m_600','layer',NULL,'Named Entity',NULL);
+INSERT INTO "annotation" VALUES(320,'ne_hgc_175m_600','layer',NULL,'Named Entity',NULL);
+INSERT INTO "annotation" VALUES(321,'I-LOC','key','I-LOC ','Location',NULL);
+INSERT INTO "annotation" VALUES(322,'I-MISC','key','I-MISC ','Miscellaneous',NULL);
+INSERT INTO "annotation" VALUES(323,'I-ORG','key','I-ORG ','Organization',NULL);
+INSERT INTO "annotation" VALUES(324,'I-PER','key','I-PER ','Person',NULL);
+INSERT INTO "annotation" VALUES(325,'AA','key','AA','superlative phrase with ''am''',NULL);
+INSERT INTO "annotation" VALUES(326,'AP','key','AP','adjektive phrase',NULL);
+INSERT INTO "annotation" VALUES(327,'AVP','key','AVP','adverbial phrase',NULL);
+INSERT INTO "annotation" VALUES(328,'CAP','key','CAP','coordinated adjektive phrase',NULL);
+INSERT INTO "annotation" VALUES(329,'CAVP','key','CAVP','coordinated adverbial phrase',NULL);
+INSERT INTO "annotation" VALUES(330,'CAC','key','CAC','coordinated adposition',NULL);
+INSERT INTO "annotation" VALUES(331,'CCP','key','CCP','coordinated complementiser',NULL);
+INSERT INTO "annotation" VALUES(332,'CH','key','CH','chunk',NULL);
+INSERT INTO "annotation" VALUES(333,'CNP','key','CNP','coordinated noun phrase',NULL);
+INSERT INTO "annotation" VALUES(334,'CO','key','CO','coordination',NULL);
+INSERT INTO "annotation" VALUES(335,'CPP','key','CPP','coordinated adpositional phrase',NULL);
+INSERT INTO "annotation" VALUES(336,'CVP','key','CVP','coordinated verb phrase (non-finite)',NULL);
+INSERT INTO "annotation" VALUES(337,'CVZ','key','CVZ','coordinated zu-marked infinitive',NULL);
+INSERT INTO "annotation" VALUES(338,'DL','key','DL','discourse level constituent',NULL);
+INSERT INTO "annotation" VALUES(339,'ISU','key','ISU','idiosyncratis unit',NULL);
+INSERT INTO "annotation" VALUES(340,'MPN','key','MPN','multi-word proper noun',NULL);
+INSERT INTO "annotation" VALUES(341,'MTA','key','MTA','multi-token adjective',NULL);
+INSERT INTO "annotation" VALUES(342,'NM','key','NM','multi-token number',NULL);
+INSERT INTO "annotation" VALUES(343,'NP','key','NP','noun phrase',NULL);
+INSERT INTO "annotation" VALUES(344,'QL','key','QL','quasi-languag',NULL);
+INSERT INTO "annotation" VALUES(345,'VP','key','VP','verb phrase (non-finite)',NULL);
+INSERT INTO "annotation" VALUES(346,'VZ','key','VZ','zu-marked infinitive',NULL);
+INSERT INTO "annotation" VALUES(347,'AC','value','AC ','adpositional case marker',NULL);
+INSERT INTO "annotation" VALUES(348,'ADC','value','ADC ','adjective component',NULL);
+INSERT INTO "annotation" VALUES(349,'AMS','value','AMS ','measure argument of adj',NULL);
+INSERT INTO "annotation" VALUES(350,'APP','value','APP ','apposition',NULL);
+INSERT INTO "annotation" VALUES(351,'AVC','value','AVC ','adverbial phrase component',NULL);
+INSERT INTO "annotation" VALUES(352,'CC','value','CC ','comparative complement',NULL);
+INSERT INTO "annotation" VALUES(353,'CD','value','CD ','coordinating conjunction',NULL);
+INSERT INTO "annotation" VALUES(354,'CJ','value','CJ ','conjunct',NULL);
+INSERT INTO "annotation" VALUES(355,'CM','value','CM ','comparative concjunction',NULL);
+INSERT INTO "annotation" VALUES(356,'CP','value','CP ','complementizer',NULL);
+INSERT INTO "annotation" VALUES(357,'DA','value','DA ','dative',NULL);
+INSERT INTO "annotation" VALUES(358,'DH','value','DH ','discourse-level head',NULL);
+INSERT INTO "annotation" VALUES(359,'DM','value','DM ','discourse marker',NULL);
+INSERT INTO "annotation" VALUES(360,'GL','value','GL ','prenominal genitive',NULL);
+INSERT INTO "annotation" VALUES(361,'GR','value','GR ','postnominal genitive',NULL);
+INSERT INTO "annotation" VALUES(362,'HD','value','HD ','head',NULL);
+INSERT INTO "annotation" VALUES(363,'JU','value','JU ','junctor',NULL);
+INSERT INTO "annotation" VALUES(364,'MC','value','MC ','comitative',NULL);
+INSERT INTO "annotation" VALUES(365,'MI','value','MI ','instrumental',NULL);
+INSERT INTO "annotation" VALUES(366,'ML','value','ML ','locative',NULL);
+INSERT INTO "annotation" VALUES(367,'MNR','value','MNR ','postnominal modifier',NULL);
+INSERT INTO "annotation" VALUES(368,'MO','value','MO ','modifier',NULL);
+INSERT INTO "annotation" VALUES(369,'MR','value','MR ','rhetorical modifier',NULL);
+INSERT INTO "annotation" VALUES(370,'MW','value','MW ','way (directional modifier)',NULL);
+INSERT INTO "annotation" VALUES(371,'NG','value','NG ','negation',NULL);
+INSERT INTO "annotation" VALUES(372,'NK','value','NK ','noun kernel modifier',NULL);
+INSERT INTO "annotation" VALUES(373,'NMC','value','NMC ','numerical component',NULL);
+INSERT INTO "annotation" VALUES(374,'OA','value','OA ','accusative object',NULL);
+INSERT INTO "annotation" VALUES(375,'OA2','value','OA2 ','second accusative object',NULL);
+INSERT INTO "annotation" VALUES(376,'OC','value','OC ','clausal object',NULL);
+INSERT INTO "annotation" VALUES(377,'OG','value','OG ','genitive object',NULL);
+INSERT INTO "annotation" VALUES(378,'PD','value','PD ','predicate',NULL);
+INSERT INTO "annotation" VALUES(379,'PG','value','PG ','pseudo-genitive',NULL);
+INSERT INTO "annotation" VALUES(380,'PH','value','PH ','placeholder',NULL);
+INSERT INTO "annotation" VALUES(381,'PM','value','PM ','morphological particle',NULL);
+INSERT INTO "annotation" VALUES(382,'PNC','value','PNC ','proper noun component',NULL);
+INSERT INTO "annotation" VALUES(383,'RE','value','RE ','repeated element',NULL);
+INSERT INTO "annotation" VALUES(384,'RS','value','RS ','reported speech',NULL);
+INSERT INTO "annotation" VALUES(385,'SB','value','SB ','subject',NULL);
+INSERT INTO "annotation" VALUES(386,'SBP','value','SBP ','passivised subject (PP)',NULL);
+INSERT INTO "annotation" VALUES(387,'SP','value','SP ','subject or predicate',NULL);
+INSERT INTO "annotation" VALUES(388,'SVP','value','SVP ','separable verb prefix',NULL);
+INSERT INTO "annotation" VALUES(389,'UC','value','UC ','(idiosyncratic) unit component',NULL);
+INSERT INTO "annotation" VALUES(390,'VO','value','VO ','vocative',NULL);
+INSERT INTO "annotation" VALUES(391,'tt','foundry',NULL,'TreeTagger',NULL);
diff --git a/src/main/resources/db/predefined/V2.3__annotation_layer.sql b/src/main/resources/db/predefined/V2.3__annotation_layer.sql
new file mode 100644
index 0000000..03ae9fc
--- /dev/null
+++ b/src/main/resources/db/predefined/V2.3__annotation_layer.sql
@@ -0,0 +1,31 @@
+INSERT INTO "annotation_layer" VALUES(1,1,2,'OpenNLP Part-of-Speech');
+INSERT INTO "annotation_layer" VALUES(2,55,56,'Mate Lemma');
+INSERT INTO "annotation_layer" VALUES(3,55,57,'Mate Morphology');
+INSERT INTO "annotation_layer" VALUES(4,55,2,'Mate Part-of-Speech');
+INSERT INTO "annotation_layer" VALUES(5,88,89,'Malt Dependency');
+INSERT INTO "annotation_layer" VALUES(6,123,56,'DRuKoLa Lemma');
+INSERT INTO "annotation_layer" VALUES(7,123,57,'DRuKoLa Morphology');
+INSERT INTO "annotation_layer" VALUES(8,123,2,'DRuKoLa Part-of-Speech');
+INSERT INTO "annotation_layer" VALUES(9,211,212,'Connexor Constituency');
+INSERT INTO "annotation_layer" VALUES(10,211,56,'Connexor Lemma');
+INSERT INTO "annotation_layer" VALUES(11,211,57,'Connexor Morphology');
+INSERT INTO "annotation_layer" VALUES(12,211,2,'Connexor Part-of-Speech');
+INSERT INTO "annotation_layer" VALUES(13,211,213,'Connexor Syntax');
+INSERT INTO "annotation_layer" VALUES(14,247,57,'MarMoT Morphology');
+INSERT INTO "annotation_layer" VALUES(15,247,2,'MarMoT Part-of-Speech');
+INSERT INTO "annotation_layer" VALUES(16,248,249,'Base Annotation Structure');
+INSERT INTO "annotation_layer" VALUES(17,253,212,'Xerox Parser Constituency');
+INSERT INTO "annotation_layer" VALUES(18,253,56,'Xerox Parser Lemma');
+INSERT INTO "annotation_layer" VALUES(19,253,2,'Xerox Parser Part-of-Speech');
+INSERT INTO "annotation_layer" VALUES(20,254,89,'LWC Dependency');
+INSERT INTO "annotation_layer" VALUES(21,297,249,'DeReKo Structure');
+INSERT INTO "annotation_layer" VALUES(22,298,56,'Schreibgebrauch Lemma');
+INSERT INTO "annotation_layer" VALUES(23,298,299,'Schreibgebrauch Lemma Variants');
+INSERT INTO "annotation_layer" VALUES(24,298,2,'Schreibgebrauch Part-of-Speech');
+INSERT INTO "annotation_layer" VALUES(25,317,212,'CoreNLP Constituency');
+INSERT INTO "annotation_layer" VALUES(26,317,318,'CoreNLP Named Entity');
+INSERT INTO "annotation_layer" VALUES(27,317,319,'CoreNLP Named Entity');
+INSERT INTO "annotation_layer" VALUES(28,317,320,'CoreNLP Named Entity');
+INSERT INTO "annotation_layer" VALUES(29,317,2,'CoreNLP Part-of-Speech');
+INSERT INTO "annotation_layer" VALUES(30,391,56,'TreeTagger Lemma');
+INSERT INTO "annotation_layer" VALUES(31,391,2,'TreeTagger Part-of-Speech');
diff --git a/src/main/resources/db/predefined/V2.4__annotation_key.sql b/src/main/resources/db/predefined/V2.4__annotation_key.sql
new file mode 100644
index 0000000..f713062
--- /dev/null
+++ b/src/main/resources/db/predefined/V2.4__annotation_key.sql
@@ -0,0 +1,503 @@
+INSERT INTO "annotation_key" VALUES(1,1,3);
+INSERT INTO "annotation_key" VALUES(2,1,4);
+INSERT INTO "annotation_key" VALUES(3,1,5);
+INSERT INTO "annotation_key" VALUES(4,1,6);
+INSERT INTO "annotation_key" VALUES(5,1,7);
+INSERT INTO "annotation_key" VALUES(6,1,8);
+INSERT INTO "annotation_key" VALUES(7,1,9);
+INSERT INTO "annotation_key" VALUES(8,1,10);
+INSERT INTO "annotation_key" VALUES(9,1,11);
+INSERT INTO "annotation_key" VALUES(10,1,12);
+INSERT INTO "annotation_key" VALUES(11,1,13);
+INSERT INTO "annotation_key" VALUES(12,1,14);
+INSERT INTO "annotation_key" VALUES(13,1,15);
+INSERT INTO "annotation_key" VALUES(14,1,16);
+INSERT INTO "annotation_key" VALUES(15,1,17);
+INSERT INTO "annotation_key" VALUES(16,1,18);
+INSERT INTO "annotation_key" VALUES(17,1,19);
+INSERT INTO "annotation_key" VALUES(18,1,20);
+INSERT INTO "annotation_key" VALUES(19,1,21);
+INSERT INTO "annotation_key" VALUES(20,1,22);
+INSERT INTO "annotation_key" VALUES(21,1,23);
+INSERT INTO "annotation_key" VALUES(22,1,24);
+INSERT INTO "annotation_key" VALUES(23,1,25);
+INSERT INTO "annotation_key" VALUES(24,1,26);
+INSERT INTO "annotation_key" VALUES(25,1,27);
+INSERT INTO "annotation_key" VALUES(26,1,28);
+INSERT INTO "annotation_key" VALUES(27,1,29);
+INSERT INTO "annotation_key" VALUES(28,1,30);
+INSERT INTO "annotation_key" VALUES(29,1,31);
+INSERT INTO "annotation_key" VALUES(30,1,32);
+INSERT INTO "annotation_key" VALUES(31,1,33);
+INSERT INTO "annotation_key" VALUES(32,1,34);
+INSERT INTO "annotation_key" VALUES(33,1,35);
+INSERT INTO "annotation_key" VALUES(34,1,36);
+INSERT INTO "annotation_key" VALUES(35,1,37);
+INSERT INTO "annotation_key" VALUES(36,1,38);
+INSERT INTO "annotation_key" VALUES(37,1,39);
+INSERT INTO "annotation_key" VALUES(38,1,40);
+INSERT INTO "annotation_key" VALUES(39,1,41);
+INSERT INTO "annotation_key" VALUES(40,1,42);
+INSERT INTO "annotation_key" VALUES(41,1,43);
+INSERT INTO "annotation_key" VALUES(42,1,44);
+INSERT INTO "annotation_key" VALUES(43,1,45);
+INSERT INTO "annotation_key" VALUES(44,1,46);
+INSERT INTO "annotation_key" VALUES(45,1,47);
+INSERT INTO "annotation_key" VALUES(46,1,48);
+INSERT INTO "annotation_key" VALUES(47,1,49);
+INSERT INTO "annotation_key" VALUES(48,1,50);
+INSERT INTO "annotation_key" VALUES(49,1,51);
+INSERT INTO "annotation_key" VALUES(50,1,52);
+INSERT INTO "annotation_key" VALUES(51,1,53);
+INSERT INTO "annotation_key" VALUES(52,1,54);
+INSERT INTO "annotation_key" VALUES(53,4,3);
+INSERT INTO "annotation_key" VALUES(54,4,4);
+INSERT INTO "annotation_key" VALUES(55,4,5);
+INSERT INTO "annotation_key" VALUES(56,4,6);
+INSERT INTO "annotation_key" VALUES(57,4,7);
+INSERT INTO "annotation_key" VALUES(58,4,8);
+INSERT INTO "annotation_key" VALUES(59,4,9);
+INSERT INTO "annotation_key" VALUES(60,4,10);
+INSERT INTO "annotation_key" VALUES(61,4,11);
+INSERT INTO "annotation_key" VALUES(62,4,12);
+INSERT INTO "annotation_key" VALUES(63,4,13);
+INSERT INTO "annotation_key" VALUES(64,4,14);
+INSERT INTO "annotation_key" VALUES(65,4,15);
+INSERT INTO "annotation_key" VALUES(66,4,16);
+INSERT INTO "annotation_key" VALUES(67,4,17);
+INSERT INTO "annotation_key" VALUES(68,4,18);
+INSERT INTO "annotation_key" VALUES(69,4,19);
+INSERT INTO "annotation_key" VALUES(70,4,20);
+INSERT INTO "annotation_key" VALUES(71,4,21);
+INSERT INTO "annotation_key" VALUES(72,4,22);
+INSERT INTO "annotation_key" VALUES(73,4,23);
+INSERT INTO "annotation_key" VALUES(74,4,24);
+INSERT INTO "annotation_key" VALUES(75,4,25);
+INSERT INTO "annotation_key" VALUES(76,4,26);
+INSERT INTO "annotation_key" VALUES(77,4,27);
+INSERT INTO "annotation_key" VALUES(78,4,28);
+INSERT INTO "annotation_key" VALUES(79,4,29);
+INSERT INTO "annotation_key" VALUES(80,4,30);
+INSERT INTO "annotation_key" VALUES(81,4,31);
+INSERT INTO "annotation_key" VALUES(82,4,32);
+INSERT INTO "annotation_key" VALUES(83,4,33);
+INSERT INTO "annotation_key" VALUES(84,4,34);
+INSERT INTO "annotation_key" VALUES(85,4,35);
+INSERT INTO "annotation_key" VALUES(86,4,36);
+INSERT INTO "annotation_key" VALUES(87,4,37);
+INSERT INTO "annotation_key" VALUES(88,4,38);
+INSERT INTO "annotation_key" VALUES(89,4,39);
+INSERT INTO "annotation_key" VALUES(90,4,40);
+INSERT INTO "annotation_key" VALUES(91,4,41);
+INSERT INTO "annotation_key" VALUES(92,4,42);
+INSERT INTO "annotation_key" VALUES(93,4,43);
+INSERT INTO "annotation_key" VALUES(94,4,44);
+INSERT INTO "annotation_key" VALUES(95,4,45);
+INSERT INTO "annotation_key" VALUES(96,4,46);
+INSERT INTO "annotation_key" VALUES(97,4,47);
+INSERT INTO "annotation_key" VALUES(98,4,48);
+INSERT INTO "annotation_key" VALUES(99,4,49);
+INSERT INTO "annotation_key" VALUES(100,4,50);
+INSERT INTO "annotation_key" VALUES(101,4,51);
+INSERT INTO "annotation_key" VALUES(102,4,52);
+INSERT INTO "annotation_key" VALUES(103,4,53);
+INSERT INTO "annotation_key" VALUES(104,4,54);
+INSERT INTO "annotation_key" VALUES(105,4,58);
+INSERT INTO "annotation_key" VALUES(106,3,59);
+INSERT INTO "annotation_key" VALUES(107,3,60);
+INSERT INTO "annotation_key" VALUES(108,3,61);
+INSERT INTO "annotation_key" VALUES(109,3,62);
+INSERT INTO "annotation_key" VALUES(110,3,63);
+INSERT INTO "annotation_key" VALUES(111,3,64);
+INSERT INTO "annotation_key" VALUES(112,3,65);
+INSERT INTO "annotation_key" VALUES(113,3,66);
+INSERT INTO "annotation_key" VALUES(114,5,90);
+INSERT INTO "annotation_key" VALUES(115,5,91);
+INSERT INTO "annotation_key" VALUES(116,5,5);
+INSERT INTO "annotation_key" VALUES(117,5,92);
+INSERT INTO "annotation_key" VALUES(118,5,93);
+INSERT INTO "annotation_key" VALUES(119,5,94);
+INSERT INTO "annotation_key" VALUES(120,5,95);
+INSERT INTO "annotation_key" VALUES(121,5,96);
+INSERT INTO "annotation_key" VALUES(122,5,97);
+INSERT INTO "annotation_key" VALUES(123,5,98);
+INSERT INTO "annotation_key" VALUES(124,5,99);
+INSERT INTO "annotation_key" VALUES(125,5,100);
+INSERT INTO "annotation_key" VALUES(126,5,101);
+INSERT INTO "annotation_key" VALUES(127,5,15);
+INSERT INTO "annotation_key" VALUES(128,5,102);
+INSERT INTO "annotation_key" VALUES(129,5,103);
+INSERT INTO "annotation_key" VALUES(130,5,104);
+INSERT INTO "annotation_key" VALUES(131,5,105);
+INSERT INTO "annotation_key" VALUES(132,5,106);
+INSERT INTO "annotation_key" VALUES(133,5,107);
+INSERT INTO "annotation_key" VALUES(134,5,108);
+INSERT INTO "annotation_key" VALUES(135,5,109);
+INSERT INTO "annotation_key" VALUES(136,5,110);
+INSERT INTO "annotation_key" VALUES(137,5,111);
+INSERT INTO "annotation_key" VALUES(138,5,112);
+INSERT INTO "annotation_key" VALUES(139,5,113);
+INSERT INTO "annotation_key" VALUES(140,5,114);
+INSERT INTO "annotation_key" VALUES(141,5,115);
+INSERT INTO "annotation_key" VALUES(142,5,116);
+INSERT INTO "annotation_key" VALUES(143,5,117);
+INSERT INTO "annotation_key" VALUES(144,5,118);
+INSERT INTO "annotation_key" VALUES(145,5,119);
+INSERT INTO "annotation_key" VALUES(146,5,120);
+INSERT INTO "annotation_key" VALUES(147,5,121);
+INSERT INTO "annotation_key" VALUES(148,5,122);
+INSERT INTO "annotation_key" VALUES(149,7,124);
+INSERT INTO "annotation_key" VALUES(150,9,214);
+INSERT INTO "annotation_key" VALUES(151,11,215);
+INSERT INTO "annotation_key" VALUES(152,11,216);
+INSERT INTO "annotation_key" VALUES(153,11,217);
+INSERT INTO "annotation_key" VALUES(154,11,218);
+INSERT INTO "annotation_key" VALUES(155,11,219);
+INSERT INTO "annotation_key" VALUES(156,11,220);
+INSERT INTO "annotation_key" VALUES(157,11,221);
+INSERT INTO "annotation_key" VALUES(158,11,222);
+INSERT INTO "annotation_key" VALUES(159,11,223);
+INSERT INTO "annotation_key" VALUES(160,11,224);
+INSERT INTO "annotation_key" VALUES(161,11,225);
+INSERT INTO "annotation_key" VALUES(162,11,226);
+INSERT INTO "annotation_key" VALUES(163,11,227);
+INSERT INTO "annotation_key" VALUES(164,11,228);
+INSERT INTO "annotation_key" VALUES(165,11,229);
+INSERT INTO "annotation_key" VALUES(166,12,230);
+INSERT INTO "annotation_key" VALUES(167,12,5);
+INSERT INTO "annotation_key" VALUES(168,12,231);
+INSERT INTO "annotation_key" VALUES(169,12,232);
+INSERT INTO "annotation_key" VALUES(170,12,97);
+INSERT INTO "annotation_key" VALUES(171,12,233);
+INSERT INTO "annotation_key" VALUES(172,12,234);
+INSERT INTO "annotation_key" VALUES(173,12,235);
+INSERT INTO "annotation_key" VALUES(174,12,236);
+INSERT INTO "annotation_key" VALUES(175,12,237);
+INSERT INTO "annotation_key" VALUES(176,12,238);
+INSERT INTO "annotation_key" VALUES(177,13,239);
+INSERT INTO "annotation_key" VALUES(178,13,240);
+INSERT INTO "annotation_key" VALUES(179,13,241);
+INSERT INTO "annotation_key" VALUES(180,13,242);
+INSERT INTO "annotation_key" VALUES(181,13,243);
+INSERT INTO "annotation_key" VALUES(182,13,244);
+INSERT INTO "annotation_key" VALUES(183,13,245);
+INSERT INTO "annotation_key" VALUES(184,13,246);
+INSERT INTO "annotation_key" VALUES(185,15,3);
+INSERT INTO "annotation_key" VALUES(186,15,4);
+INSERT INTO "annotation_key" VALUES(187,15,5);
+INSERT INTO "annotation_key" VALUES(188,15,6);
+INSERT INTO "annotation_key" VALUES(189,15,7);
+INSERT INTO "annotation_key" VALUES(190,15,8);
+INSERT INTO "annotation_key" VALUES(191,15,9);
+INSERT INTO "annotation_key" VALUES(192,15,10);
+INSERT INTO "annotation_key" VALUES(193,15,11);
+INSERT INTO "annotation_key" VALUES(194,15,12);
+INSERT INTO "annotation_key" VALUES(195,15,13);
+INSERT INTO "annotation_key" VALUES(196,15,14);
+INSERT INTO "annotation_key" VALUES(197,15,15);
+INSERT INTO "annotation_key" VALUES(198,15,16);
+INSERT INTO "annotation_key" VALUES(199,15,17);
+INSERT INTO "annotation_key" VALUES(200,15,18);
+INSERT INTO "annotation_key" VALUES(201,15,19);
+INSERT INTO "annotation_key" VALUES(202,15,20);
+INSERT INTO "annotation_key" VALUES(203,15,21);
+INSERT INTO "annotation_key" VALUES(204,15,22);
+INSERT INTO "annotation_key" VALUES(205,15,23);
+INSERT INTO "annotation_key" VALUES(206,15,24);
+INSERT INTO "annotation_key" VALUES(207,15,25);
+INSERT INTO "annotation_key" VALUES(208,15,26);
+INSERT INTO "annotation_key" VALUES(209,15,27);
+INSERT INTO "annotation_key" VALUES(210,15,28);
+INSERT INTO "annotation_key" VALUES(211,15,29);
+INSERT INTO "annotation_key" VALUES(212,15,30);
+INSERT INTO "annotation_key" VALUES(213,15,31);
+INSERT INTO "annotation_key" VALUES(214,15,32);
+INSERT INTO "annotation_key" VALUES(215,15,33);
+INSERT INTO "annotation_key" VALUES(216,15,34);
+INSERT INTO "annotation_key" VALUES(217,15,35);
+INSERT INTO "annotation_key" VALUES(218,15,36);
+INSERT INTO "annotation_key" VALUES(219,15,37);
+INSERT INTO "annotation_key" VALUES(220,15,38);
+INSERT INTO "annotation_key" VALUES(221,15,39);
+INSERT INTO "annotation_key" VALUES(222,15,40);
+INSERT INTO "annotation_key" VALUES(223,15,41);
+INSERT INTO "annotation_key" VALUES(224,15,42);
+INSERT INTO "annotation_key" VALUES(225,15,43);
+INSERT INTO "annotation_key" VALUES(226,15,44);
+INSERT INTO "annotation_key" VALUES(227,15,45);
+INSERT INTO "annotation_key" VALUES(228,15,46);
+INSERT INTO "annotation_key" VALUES(229,15,47);
+INSERT INTO "annotation_key" VALUES(230,15,48);
+INSERT INTO "annotation_key" VALUES(231,15,49);
+INSERT INTO "annotation_key" VALUES(232,15,50);
+INSERT INTO "annotation_key" VALUES(233,15,51);
+INSERT INTO "annotation_key" VALUES(234,15,52);
+INSERT INTO "annotation_key" VALUES(235,15,53);
+INSERT INTO "annotation_key" VALUES(236,15,54);
+INSERT INTO "annotation_key" VALUES(237,14,59);
+INSERT INTO "annotation_key" VALUES(238,14,60);
+INSERT INTO "annotation_key" VALUES(239,14,61);
+INSERT INTO "annotation_key" VALUES(240,14,62);
+INSERT INTO "annotation_key" VALUES(241,14,63);
+INSERT INTO "annotation_key" VALUES(242,14,64);
+INSERT INTO "annotation_key" VALUES(243,14,65);
+INSERT INTO "annotation_key" VALUES(244,14,66);
+INSERT INTO "annotation_key" VALUES(245,16,250);
+INSERT INTO "annotation_key" VALUES(246,16,251);
+INSERT INTO "annotation_key" VALUES(247,16,252);
+INSERT INTO "annotation_key" VALUES(248,20,255);
+INSERT INTO "annotation_key" VALUES(249,20,256);
+INSERT INTO "annotation_key" VALUES(250,20,257);
+INSERT INTO "annotation_key" VALUES(251,20,92);
+INSERT INTO "annotation_key" VALUES(252,20,258);
+INSERT INTO "annotation_key" VALUES(253,20,231);
+INSERT INTO "annotation_key" VALUES(254,20,259);
+INSERT INTO "annotation_key" VALUES(255,20,96);
+INSERT INTO "annotation_key" VALUES(256,20,260);
+INSERT INTO "annotation_key" VALUES(257,20,261);
+INSERT INTO "annotation_key" VALUES(258,20,262);
+INSERT INTO "annotation_key" VALUES(259,20,263);
+INSERT INTO "annotation_key" VALUES(260,20,264);
+INSERT INTO "annotation_key" VALUES(261,20,265);
+INSERT INTO "annotation_key" VALUES(262,20,266);
+INSERT INTO "annotation_key" VALUES(263,20,267);
+INSERT INTO "annotation_key" VALUES(264,20,268);
+INSERT INTO "annotation_key" VALUES(265,20,269);
+INSERT INTO "annotation_key" VALUES(266,20,270);
+INSERT INTO "annotation_key" VALUES(267,20,271);
+INSERT INTO "annotation_key" VALUES(268,20,272);
+INSERT INTO "annotation_key" VALUES(269,20,273);
+INSERT INTO "annotation_key" VALUES(270,20,274);
+INSERT INTO "annotation_key" VALUES(271,20,275);
+INSERT INTO "annotation_key" VALUES(272,20,276);
+INSERT INTO "annotation_key" VALUES(273,20,277);
+INSERT INTO "annotation_key" VALUES(274,20,278);
+INSERT INTO "annotation_key" VALUES(275,20,279);
+INSERT INTO "annotation_key" VALUES(276,20,280);
+INSERT INTO "annotation_key" VALUES(277,20,281);
+INSERT INTO "annotation_key" VALUES(278,20,282);
+INSERT INTO "annotation_key" VALUES(279,20,283);
+INSERT INTO "annotation_key" VALUES(280,20,284);
+INSERT INTO "annotation_key" VALUES(281,20,285);
+INSERT INTO "annotation_key" VALUES(282,20,286);
+INSERT INTO "annotation_key" VALUES(283,20,287);
+INSERT INTO "annotation_key" VALUES(284,20,288);
+INSERT INTO "annotation_key" VALUES(285,20,289);
+INSERT INTO "annotation_key" VALUES(286,20,290);
+INSERT INTO "annotation_key" VALUES(287,20,291);
+INSERT INTO "annotation_key" VALUES(288,20,292);
+INSERT INTO "annotation_key" VALUES(289,20,293);
+INSERT INTO "annotation_key" VALUES(290,20,294);
+INSERT INTO "annotation_key" VALUES(291,20,295);
+INSERT INTO "annotation_key" VALUES(292,20,296);
+INSERT INTO "annotation_key" VALUES(293,24,3);
+INSERT INTO "annotation_key" VALUES(294,24,4);
+INSERT INTO "annotation_key" VALUES(295,24,5);
+INSERT INTO "annotation_key" VALUES(296,24,6);
+INSERT INTO "annotation_key" VALUES(297,24,7);
+INSERT INTO "annotation_key" VALUES(298,24,8);
+INSERT INTO "annotation_key" VALUES(299,24,9);
+INSERT INTO "annotation_key" VALUES(300,24,10);
+INSERT INTO "annotation_key" VALUES(301,24,11);
+INSERT INTO "annotation_key" VALUES(302,24,12);
+INSERT INTO "annotation_key" VALUES(303,24,13);
+INSERT INTO "annotation_key" VALUES(304,24,14);
+INSERT INTO "annotation_key" VALUES(305,24,15);
+INSERT INTO "annotation_key" VALUES(306,24,16);
+INSERT INTO "annotation_key" VALUES(307,24,17);
+INSERT INTO "annotation_key" VALUES(308,24,18);
+INSERT INTO "annotation_key" VALUES(309,24,19);
+INSERT INTO "annotation_key" VALUES(310,24,20);
+INSERT INTO "annotation_key" VALUES(311,24,21);
+INSERT INTO "annotation_key" VALUES(312,24,22);
+INSERT INTO "annotation_key" VALUES(313,24,23);
+INSERT INTO "annotation_key" VALUES(314,24,24);
+INSERT INTO "annotation_key" VALUES(315,24,25);
+INSERT INTO "annotation_key" VALUES(316,24,26);
+INSERT INTO "annotation_key" VALUES(317,24,27);
+INSERT INTO "annotation_key" VALUES(318,24,28);
+INSERT INTO "annotation_key" VALUES(319,24,29);
+INSERT INTO "annotation_key" VALUES(320,24,30);
+INSERT INTO "annotation_key" VALUES(321,24,31);
+INSERT INTO "annotation_key" VALUES(322,24,32);
+INSERT INTO "annotation_key" VALUES(323,24,33);
+INSERT INTO "annotation_key" VALUES(324,24,34);
+INSERT INTO "annotation_key" VALUES(325,24,35);
+INSERT INTO "annotation_key" VALUES(326,24,36);
+INSERT INTO "annotation_key" VALUES(327,24,37);
+INSERT INTO "annotation_key" VALUES(328,24,38);
+INSERT INTO "annotation_key" VALUES(329,24,39);
+INSERT INTO "annotation_key" VALUES(330,24,40);
+INSERT INTO "annotation_key" VALUES(331,24,41);
+INSERT INTO "annotation_key" VALUES(332,24,42);
+INSERT INTO "annotation_key" VALUES(333,24,43);
+INSERT INTO "annotation_key" VALUES(334,24,44);
+INSERT INTO "annotation_key" VALUES(335,24,45);
+INSERT INTO "annotation_key" VALUES(336,24,46);
+INSERT INTO "annotation_key" VALUES(337,24,47);
+INSERT INTO "annotation_key" VALUES(338,24,48);
+INSERT INTO "annotation_key" VALUES(339,24,49);
+INSERT INTO "annotation_key" VALUES(340,24,50);
+INSERT INTO "annotation_key" VALUES(341,24,51);
+INSERT INTO "annotation_key" VALUES(342,24,52);
+INSERT INTO "annotation_key" VALUES(343,24,53);
+INSERT INTO "annotation_key" VALUES(344,24,54);
+INSERT INTO "annotation_key" VALUES(345,24,300);
+INSERT INTO "annotation_key" VALUES(346,24,301);
+INSERT INTO "annotation_key" VALUES(347,24,302);
+INSERT INTO "annotation_key" VALUES(348,24,303);
+INSERT INTO "annotation_key" VALUES(349,24,304);
+INSERT INTO "annotation_key" VALUES(350,24,305);
+INSERT INTO "annotation_key" VALUES(351,24,306);
+INSERT INTO "annotation_key" VALUES(352,24,307);
+INSERT INTO "annotation_key" VALUES(353,24,308);
+INSERT INTO "annotation_key" VALUES(354,24,309);
+INSERT INTO "annotation_key" VALUES(355,24,310);
+INSERT INTO "annotation_key" VALUES(356,24,311);
+INSERT INTO "annotation_key" VALUES(357,24,312);
+INSERT INTO "annotation_key" VALUES(358,24,313);
+INSERT INTO "annotation_key" VALUES(359,24,314);
+INSERT INTO "annotation_key" VALUES(360,24,315);
+INSERT INTO "annotation_key" VALUES(361,24,316);
+INSERT INTO "annotation_key" VALUES(362,26,321);
+INSERT INTO "annotation_key" VALUES(363,26,322);
+INSERT INTO "annotation_key" VALUES(364,26,323);
+INSERT INTO "annotation_key" VALUES(365,26,324);
+INSERT INTO "annotation_key" VALUES(366,27,321);
+INSERT INTO "annotation_key" VALUES(367,27,322);
+INSERT INTO "annotation_key" VALUES(368,27,323);
+INSERT INTO "annotation_key" VALUES(369,27,324);
+INSERT INTO "annotation_key" VALUES(370,28,321);
+INSERT INTO "annotation_key" VALUES(371,28,322);
+INSERT INTO "annotation_key" VALUES(372,28,323);
+INSERT INTO "annotation_key" VALUES(373,28,324);
+INSERT INTO "annotation_key" VALUES(374,29,3);
+INSERT INTO "annotation_key" VALUES(375,29,4);
+INSERT INTO "annotation_key" VALUES(376,29,5);
+INSERT INTO "annotation_key" VALUES(377,29,6);
+INSERT INTO "annotation_key" VALUES(378,29,7);
+INSERT INTO "annotation_key" VALUES(379,29,8);
+INSERT INTO "annotation_key" VALUES(380,29,9);
+INSERT INTO "annotation_key" VALUES(381,29,10);
+INSERT INTO "annotation_key" VALUES(382,29,11);
+INSERT INTO "annotation_key" VALUES(383,29,12);
+INSERT INTO "annotation_key" VALUES(384,29,13);
+INSERT INTO "annotation_key" VALUES(385,29,14);
+INSERT INTO "annotation_key" VALUES(386,29,15);
+INSERT INTO "annotation_key" VALUES(387,29,16);
+INSERT INTO "annotation_key" VALUES(388,29,17);
+INSERT INTO "annotation_key" VALUES(389,29,18);
+INSERT INTO "annotation_key" VALUES(390,29,19);
+INSERT INTO "annotation_key" VALUES(391,29,20);
+INSERT INTO "annotation_key" VALUES(392,29,21);
+INSERT INTO "annotation_key" VALUES(393,29,22);
+INSERT INTO "annotation_key" VALUES(394,29,23);
+INSERT INTO "annotation_key" VALUES(395,29,24);
+INSERT INTO "annotation_key" VALUES(396,29,25);
+INSERT INTO "annotation_key" VALUES(397,29,26);
+INSERT INTO "annotation_key" VALUES(398,29,27);
+INSERT INTO "annotation_key" VALUES(399,29,28);
+INSERT INTO "annotation_key" VALUES(400,29,29);
+INSERT INTO "annotation_key" VALUES(401,29,30);
+INSERT INTO "annotation_key" VALUES(402,29,31);
+INSERT INTO "annotation_key" VALUES(403,29,32);
+INSERT INTO "annotation_key" VALUES(404,29,33);
+INSERT INTO "annotation_key" VALUES(405,29,34);
+INSERT INTO "annotation_key" VALUES(406,29,35);
+INSERT INTO "annotation_key" VALUES(407,29,36);
+INSERT INTO "annotation_key" VALUES(408,29,37);
+INSERT INTO "annotation_key" VALUES(409,29,38);
+INSERT INTO "annotation_key" VALUES(410,29,39);
+INSERT INTO "annotation_key" VALUES(411,29,40);
+INSERT INTO "annotation_key" VALUES(412,29,41);
+INSERT INTO "annotation_key" VALUES(413,29,42);
+INSERT INTO "annotation_key" VALUES(414,29,43);
+INSERT INTO "annotation_key" VALUES(415,29,44);
+INSERT INTO "annotation_key" VALUES(416,29,45);
+INSERT INTO "annotation_key" VALUES(417,29,46);
+INSERT INTO "annotation_key" VALUES(418,29,47);
+INSERT INTO "annotation_key" VALUES(419,29,48);
+INSERT INTO "annotation_key" VALUES(420,29,49);
+INSERT INTO "annotation_key" VALUES(421,29,50);
+INSERT INTO "annotation_key" VALUES(422,29,51);
+INSERT INTO "annotation_key" VALUES(423,29,52);
+INSERT INTO "annotation_key" VALUES(424,29,53);
+INSERT INTO "annotation_key" VALUES(425,29,54);
+INSERT INTO "annotation_key" VALUES(426,25,325);
+INSERT INTO "annotation_key" VALUES(427,25,326);
+INSERT INTO "annotation_key" VALUES(428,25,327);
+INSERT INTO "annotation_key" VALUES(429,25,328);
+INSERT INTO "annotation_key" VALUES(430,25,329);
+INSERT INTO "annotation_key" VALUES(431,25,330);
+INSERT INTO "annotation_key" VALUES(432,25,331);
+INSERT INTO "annotation_key" VALUES(433,25,332);
+INSERT INTO "annotation_key" VALUES(434,25,333);
+INSERT INTO "annotation_key" VALUES(435,25,334);
+INSERT INTO "annotation_key" VALUES(436,25,335);
+INSERT INTO "annotation_key" VALUES(437,25,232);
+INSERT INTO "annotation_key" VALUES(438,25,336);
+INSERT INTO "annotation_key" VALUES(439,25,337);
+INSERT INTO "annotation_key" VALUES(440,25,338);
+INSERT INTO "annotation_key" VALUES(441,25,339);
+INSERT INTO "annotation_key" VALUES(442,25,340);
+INSERT INTO "annotation_key" VALUES(443,25,341);
+INSERT INTO "annotation_key" VALUES(444,25,342);
+INSERT INTO "annotation_key" VALUES(445,25,343);
+INSERT INTO "annotation_key" VALUES(446,25,113);
+INSERT INTO "annotation_key" VALUES(447,25,344);
+INSERT INTO "annotation_key" VALUES(448,25,116);
+INSERT INTO "annotation_key" VALUES(449,25,117);
+INSERT INTO "annotation_key" VALUES(450,25,345);
+INSERT INTO "annotation_key" VALUES(451,25,346);
+INSERT INTO "annotation_key" VALUES(452,31,3);
+INSERT INTO "annotation_key" VALUES(453,31,4);
+INSERT INTO "annotation_key" VALUES(454,31,5);
+INSERT INTO "annotation_key" VALUES(455,31,6);
+INSERT INTO "annotation_key" VALUES(456,31,7);
+INSERT INTO "annotation_key" VALUES(457,31,8);
+INSERT INTO "annotation_key" VALUES(458,31,9);
+INSERT INTO "annotation_key" VALUES(459,31,10);
+INSERT INTO "annotation_key" VALUES(460,31,11);
+INSERT INTO "annotation_key" VALUES(461,31,12);
+INSERT INTO "annotation_key" VALUES(462,31,13);
+INSERT INTO "annotation_key" VALUES(463,31,14);
+INSERT INTO "annotation_key" VALUES(464,31,15);
+INSERT INTO "annotation_key" VALUES(465,31,16);
+INSERT INTO "annotation_key" VALUES(466,31,17);
+INSERT INTO "annotation_key" VALUES(467,31,18);
+INSERT INTO "annotation_key" VALUES(468,31,19);
+INSERT INTO "annotation_key" VALUES(469,31,20);
+INSERT INTO "annotation_key" VALUES(470,31,21);
+INSERT INTO "annotation_key" VALUES(471,31,22);
+INSERT INTO "annotation_key" VALUES(472,31,23);
+INSERT INTO "annotation_key" VALUES(473,31,24);
+INSERT INTO "annotation_key" VALUES(474,31,25);
+INSERT INTO "annotation_key" VALUES(475,31,26);
+INSERT INTO "annotation_key" VALUES(476,31,27);
+INSERT INTO "annotation_key" VALUES(477,31,28);
+INSERT INTO "annotation_key" VALUES(478,31,29);
+INSERT INTO "annotation_key" VALUES(479,31,30);
+INSERT INTO "annotation_key" VALUES(480,31,31);
+INSERT INTO "annotation_key" VALUES(481,31,32);
+INSERT INTO "annotation_key" VALUES(482,31,33);
+INSERT INTO "annotation_key" VALUES(483,31,34);
+INSERT INTO "annotation_key" VALUES(484,31,35);
+INSERT INTO "annotation_key" VALUES(485,31,36);
+INSERT INTO "annotation_key" VALUES(486,31,37);
+INSERT INTO "annotation_key" VALUES(487,31,38);
+INSERT INTO "annotation_key" VALUES(488,31,39);
+INSERT INTO "annotation_key" VALUES(489,31,40);
+INSERT INTO "annotation_key" VALUES(490,31,41);
+INSERT INTO "annotation_key" VALUES(491,31,42);
+INSERT INTO "annotation_key" VALUES(492,31,43);
+INSERT INTO "annotation_key" VALUES(493,31,44);
+INSERT INTO "annotation_key" VALUES(494,31,45);
+INSERT INTO "annotation_key" VALUES(495,31,46);
+INSERT INTO "annotation_key" VALUES(496,31,47);
+INSERT INTO "annotation_key" VALUES(497,31,48);
+INSERT INTO "annotation_key" VALUES(498,31,49);
+INSERT INTO "annotation_key" VALUES(499,31,50);
+INSERT INTO "annotation_key" VALUES(500,31,51);
+INSERT INTO "annotation_key" VALUES(501,31,52);
+INSERT INTO "annotation_key" VALUES(502,31,53);
+INSERT INTO "annotation_key" VALUES(503,31,54);
\ No newline at end of file
diff --git a/src/main/resources/db/predefined/V2.5__annotation_value.sql b/src/main/resources/db/predefined/V2.5__annotation_value.sql
new file mode 100644
index 0000000..256cb83
--- /dev/null
+++ b/src/main/resources/db/predefined/V2.5__annotation_value.sql
@@ -0,0 +1,1302 @@
+INSERT INTO "annotation_value" VALUES(1,106,70);
+INSERT INTO "annotation_value" VALUES(2,106,68);
+INSERT INTO "annotation_value" VALUES(3,106,71);
+INSERT INTO "annotation_value" VALUES(4,106,69);
+INSERT INTO "annotation_value" VALUES(5,106,67);
+INSERT INTO "annotation_value" VALUES(6,107,73);
+INSERT INTO "annotation_value" VALUES(7,107,74);
+INSERT INTO "annotation_value" VALUES(8,107,72);
+INSERT INTO "annotation_value" VALUES(9,108,77);
+INSERT INTO "annotation_value" VALUES(10,108,76);
+INSERT INTO "annotation_value" VALUES(11,108,75);
+INSERT INTO "annotation_value" VALUES(12,108,71);
+INSERT INTO "annotation_value" VALUES(13,109,78);
+INSERT INTO "annotation_value" VALUES(14,109,79);
+INSERT INTO "annotation_value" VALUES(15,109,80);
+INSERT INTO "annotation_value" VALUES(16,110,71);
+INSERT INTO "annotation_value" VALUES(17,110,82);
+INSERT INTO "annotation_value" VALUES(18,110,81);
+INSERT INTO "annotation_value" VALUES(19,111,84);
+INSERT INTO "annotation_value" VALUES(20,111,83);
+INSERT INTO "annotation_value" VALUES(21,111,85);
+INSERT INTO "annotation_value" VALUES(22,112,87);
+INSERT INTO "annotation_value" VALUES(23,112,86);
+INSERT INTO "annotation_value" VALUES(24,149,197);
+INSERT INTO "annotation_value" VALUES(25,149,179);
+INSERT INTO "annotation_value" VALUES(26,149,181);
+INSERT INTO "annotation_value" VALUES(27,149,206);
+INSERT INTO "annotation_value" VALUES(28,149,190);
+INSERT INTO "annotation_value" VALUES(29,149,146);
+INSERT INTO "annotation_value" VALUES(30,149,134);
+INSERT INTO "annotation_value" VALUES(31,149,180);
+INSERT INTO "annotation_value" VALUES(32,149,130);
+INSERT INTO "annotation_value" VALUES(33,149,148);
+INSERT INTO "annotation_value" VALUES(34,149,126);
+INSERT INTO "annotation_value" VALUES(35,149,184);
+INSERT INTO "annotation_value" VALUES(36,149,159);
+INSERT INTO "annotation_value" VALUES(37,149,153);
+INSERT INTO "annotation_value" VALUES(38,149,149);
+INSERT INTO "annotation_value" VALUES(39,149,141);
+INSERT INTO "annotation_value" VALUES(40,149,132);
+INSERT INTO "annotation_value" VALUES(41,149,133);
+INSERT INTO "annotation_value" VALUES(42,149,173);
+INSERT INTO "annotation_value" VALUES(43,149,207);
+INSERT INTO "annotation_value" VALUES(44,149,185);
+INSERT INTO "annotation_value" VALUES(45,149,140);
+INSERT INTO "annotation_value" VALUES(46,149,193);
+INSERT INTO "annotation_value" VALUES(47,149,189);
+INSERT INTO "annotation_value" VALUES(48,149,142);
+INSERT INTO "annotation_value" VALUES(49,149,161);
+INSERT INTO "annotation_value" VALUES(50,149,175);
+INSERT INTO "annotation_value" VALUES(51,149,170);
+INSERT INTO "annotation_value" VALUES(52,149,137);
+INSERT INTO "annotation_value" VALUES(53,149,160);
+INSERT INTO "annotation_value" VALUES(54,149,195);
+INSERT INTO "annotation_value" VALUES(55,149,187);
+INSERT INTO "annotation_value" VALUES(56,149,177);
+INSERT INTO "annotation_value" VALUES(57,149,194);
+INSERT INTO "annotation_value" VALUES(58,149,171);
+INSERT INTO "annotation_value" VALUES(59,149,183);
+INSERT INTO "annotation_value" VALUES(60,149,152);
+INSERT INTO "annotation_value" VALUES(61,149,154);
+INSERT INTO "annotation_value" VALUES(62,149,157);
+INSERT INTO "annotation_value" VALUES(63,149,156);
+INSERT INTO "annotation_value" VALUES(64,149,151);
+INSERT INTO "annotation_value" VALUES(65,149,209);
+INSERT INTO "annotation_value" VALUES(66,149,208);
+INSERT INTO "annotation_value" VALUES(67,149,176);
+INSERT INTO "annotation_value" VALUES(68,149,198);
+INSERT INTO "annotation_value" VALUES(69,149,155);
+INSERT INTO "annotation_value" VALUES(70,149,204);
+INSERT INTO "annotation_value" VALUES(71,149,174);
+INSERT INTO "annotation_value" VALUES(72,149,210);
+INSERT INTO "annotation_value" VALUES(73,149,196);
+INSERT INTO "annotation_value" VALUES(74,149,188);
+INSERT INTO "annotation_value" VALUES(75,149,158);
+INSERT INTO "annotation_value" VALUES(76,149,135);
+INSERT INTO "annotation_value" VALUES(77,149,172);
+INSERT INTO "annotation_value" VALUES(78,149,200);
+INSERT INTO "annotation_value" VALUES(79,149,164);
+INSERT INTO "annotation_value" VALUES(80,149,186);
+INSERT INTO "annotation_value" VALUES(81,149,191);
+INSERT INTO "annotation_value" VALUES(82,149,125);
+INSERT INTO "annotation_value" VALUES(83,149,165);
+INSERT INTO "annotation_value" VALUES(84,149,145);
+INSERT INTO "annotation_value" VALUES(85,149,182);
+INSERT INTO "annotation_value" VALUES(86,149,192);
+INSERT INTO "annotation_value" VALUES(87,149,162);
+INSERT INTO "annotation_value" VALUES(88,149,168);
+INSERT INTO "annotation_value" VALUES(89,149,129);
+INSERT INTO "annotation_value" VALUES(90,149,201);
+INSERT INTO "annotation_value" VALUES(91,149,203);
+INSERT INTO "annotation_value" VALUES(92,149,128);
+INSERT INTO "annotation_value" VALUES(93,149,166);
+INSERT INTO "annotation_value" VALUES(94,149,139);
+INSERT INTO "annotation_value" VALUES(95,149,147);
+INSERT INTO "annotation_value" VALUES(96,149,150);
+INSERT INTO "annotation_value" VALUES(97,149,178);
+INSERT INTO "annotation_value" VALUES(98,149,143);
+INSERT INTO "annotation_value" VALUES(99,149,205);
+INSERT INTO "annotation_value" VALUES(100,149,127);
+INSERT INTO "annotation_value" VALUES(101,149,144);
+INSERT INTO "annotation_value" VALUES(102,149,169);
+INSERT INTO "annotation_value" VALUES(103,149,163);
+INSERT INTO "annotation_value" VALUES(104,149,202);
+INSERT INTO "annotation_value" VALUES(105,149,167);
+INSERT INTO "annotation_value" VALUES(106,149,131);
+INSERT INTO "annotation_value" VALUES(107,149,199);
+INSERT INTO "annotation_value" VALUES(108,149,138);
+INSERT INTO "annotation_value" VALUES(109,149,136);
+INSERT INTO "annotation_value" VALUES(110,237,68);
+INSERT INTO "annotation_value" VALUES(111,237,70);
+INSERT INTO "annotation_value" VALUES(112,237,71);
+INSERT INTO "annotation_value" VALUES(113,237,67);
+INSERT INTO "annotation_value" VALUES(114,237,69);
+INSERT INTO "annotation_value" VALUES(115,238,73);
+INSERT INTO "annotation_value" VALUES(116,238,72);
+INSERT INTO "annotation_value" VALUES(117,238,74);
+INSERT INTO "annotation_value" VALUES(118,239,77);
+INSERT INTO "annotation_value" VALUES(119,239,75);
+INSERT INTO "annotation_value" VALUES(120,239,76);
+INSERT INTO "annotation_value" VALUES(121,239,71);
+INSERT INTO "annotation_value" VALUES(122,240,78);
+INSERT INTO "annotation_value" VALUES(123,240,79);
+INSERT INTO "annotation_value" VALUES(124,240,80);
+INSERT INTO "annotation_value" VALUES(125,241,81);
+INSERT INTO "annotation_value" VALUES(126,241,82);
+INSERT INTO "annotation_value" VALUES(127,241,71);
+INSERT INTO "annotation_value" VALUES(128,242,84);
+INSERT INTO "annotation_value" VALUES(129,242,83);
+INSERT INTO "annotation_value" VALUES(130,242,85);
+INSERT INTO "annotation_value" VALUES(131,243,87);
+INSERT INTO "annotation_value" VALUES(132,243,86);
+INSERT INTO "annotation_value" VALUES(133,426,385);
+INSERT INTO "annotation_value" VALUES(134,426,379);
+INSERT INTO "annotation_value" VALUES(135,426,381);
+INSERT INTO "annotation_value" VALUES(136,426,370);
+INSERT INTO "annotation_value" VALUES(137,426,364);
+INSERT INTO "annotation_value" VALUES(138,426,365);
+INSERT INTO "annotation_value" VALUES(139,426,377);
+INSERT INTO "annotation_value" VALUES(140,426,373);
+INSERT INTO "annotation_value" VALUES(141,426,351);
+INSERT INTO "annotation_value" VALUES(142,426,355);
+INSERT INTO "annotation_value" VALUES(143,426,374);
+INSERT INTO "annotation_value" VALUES(144,426,380);
+INSERT INTO "annotation_value" VALUES(145,426,359);
+INSERT INTO "annotation_value" VALUES(146,426,349);
+INSERT INTO "annotation_value" VALUES(147,426,363);
+INSERT INTO "annotation_value" VALUES(148,426,378);
+INSERT INTO "annotation_value" VALUES(149,426,368);
+INSERT INTO "annotation_value" VALUES(150,426,347);
+INSERT INTO "annotation_value" VALUES(151,426,350);
+INSERT INTO "annotation_value" VALUES(152,426,356);
+INSERT INTO "annotation_value" VALUES(153,426,375);
+INSERT INTO "annotation_value" VALUES(154,426,386);
+INSERT INTO "annotation_value" VALUES(155,426,358);
+INSERT INTO "annotation_value" VALUES(156,426,348);
+INSERT INTO "annotation_value" VALUES(157,426,389);
+INSERT INTO "annotation_value" VALUES(158,426,352);
+INSERT INTO "annotation_value" VALUES(159,426,388);
+INSERT INTO "annotation_value" VALUES(160,426,372);
+INSERT INTO "annotation_value" VALUES(161,426,360);
+INSERT INTO "annotation_value" VALUES(162,426,376);
+INSERT INTO "annotation_value" VALUES(163,426,366);
+INSERT INTO "annotation_value" VALUES(164,426,382);
+INSERT INTO "annotation_value" VALUES(165,426,357);
+INSERT INTO "annotation_value" VALUES(166,426,384);
+INSERT INTO "annotation_value" VALUES(167,426,354);
+INSERT INTO "annotation_value" VALUES(168,426,383);
+INSERT INTO "annotation_value" VALUES(169,426,361);
+INSERT INTO "annotation_value" VALUES(170,426,390);
+INSERT INTO "annotation_value" VALUES(171,426,362);
+INSERT INTO "annotation_value" VALUES(172,426,367);
+INSERT INTO "annotation_value" VALUES(173,426,369);
+INSERT INTO "annotation_value" VALUES(174,426,371);
+INSERT INTO "annotation_value" VALUES(175,426,139);
+INSERT INTO "annotation_value" VALUES(176,426,353);
+INSERT INTO "annotation_value" VALUES(177,426,387);
+INSERT INTO "annotation_value" VALUES(178,427,376);
+INSERT INTO "annotation_value" VALUES(179,427,369);
+INSERT INTO "annotation_value" VALUES(180,427,347);
+INSERT INTO "annotation_value" VALUES(181,427,371);
+INSERT INTO "annotation_value" VALUES(182,427,373);
+INSERT INTO "annotation_value" VALUES(183,427,360);
+INSERT INTO "annotation_value" VALUES(184,427,389);
+INSERT INTO "annotation_value" VALUES(185,427,386);
+INSERT INTO "annotation_value" VALUES(186,427,384);
+INSERT INTO "annotation_value" VALUES(187,427,361);
+INSERT INTO "annotation_value" VALUES(188,427,365);
+INSERT INTO "annotation_value" VALUES(189,427,356);
+INSERT INTO "annotation_value" VALUES(190,427,351);
+INSERT INTO "annotation_value" VALUES(191,427,355);
+INSERT INTO "annotation_value" VALUES(192,427,390);
+INSERT INTO "annotation_value" VALUES(193,427,350);
+INSERT INTO "annotation_value" VALUES(194,427,370);
+INSERT INTO "annotation_value" VALUES(195,427,388);
+INSERT INTO "annotation_value" VALUES(196,427,377);
+INSERT INTO "annotation_value" VALUES(197,427,139);
+INSERT INTO "annotation_value" VALUES(198,427,387);
+INSERT INTO "annotation_value" VALUES(199,427,381);
+INSERT INTO "annotation_value" VALUES(200,427,364);
+INSERT INTO "annotation_value" VALUES(201,427,354);
+INSERT INTO "annotation_value" VALUES(202,427,375);
+INSERT INTO "annotation_value" VALUES(203,427,382);
+INSERT INTO "annotation_value" VALUES(204,427,362);
+INSERT INTO "annotation_value" VALUES(205,427,359);
+INSERT INTO "annotation_value" VALUES(206,427,358);
+INSERT INTO "annotation_value" VALUES(207,427,366);
+INSERT INTO "annotation_value" VALUES(208,427,357);
+INSERT INTO "annotation_value" VALUES(209,427,368);
+INSERT INTO "annotation_value" VALUES(210,427,353);
+INSERT INTO "annotation_value" VALUES(211,427,372);
+INSERT INTO "annotation_value" VALUES(212,427,349);
+INSERT INTO "annotation_value" VALUES(213,427,378);
+INSERT INTO "annotation_value" VALUES(214,427,383);
+INSERT INTO "annotation_value" VALUES(215,427,348);
+INSERT INTO "annotation_value" VALUES(216,427,367);
+INSERT INTO "annotation_value" VALUES(217,427,379);
+INSERT INTO "annotation_value" VALUES(218,427,374);
+INSERT INTO "annotation_value" VALUES(219,427,385);
+INSERT INTO "annotation_value" VALUES(220,427,380);
+INSERT INTO "annotation_value" VALUES(221,427,363);
+INSERT INTO "annotation_value" VALUES(222,427,352);
+INSERT INTO "annotation_value" VALUES(223,428,390);
+INSERT INTO "annotation_value" VALUES(224,428,379);
+INSERT INTO "annotation_value" VALUES(225,428,348);
+INSERT INTO "annotation_value" VALUES(226,428,362);
+INSERT INTO "annotation_value" VALUES(227,428,384);
+INSERT INTO "annotation_value" VALUES(228,428,369);
+INSERT INTO "annotation_value" VALUES(229,428,353);
+INSERT INTO "annotation_value" VALUES(230,428,367);
+INSERT INTO "annotation_value" VALUES(231,428,360);
+INSERT INTO "annotation_value" VALUES(232,428,382);
+INSERT INTO "annotation_value" VALUES(233,428,356);
+INSERT INTO "annotation_value" VALUES(234,428,378);
+INSERT INTO "annotation_value" VALUES(235,428,357);
+INSERT INTO "annotation_value" VALUES(236,428,352);
+INSERT INTO "annotation_value" VALUES(237,428,381);
+INSERT INTO "annotation_value" VALUES(238,428,370);
+INSERT INTO "annotation_value" VALUES(239,428,373);
+INSERT INTO "annotation_value" VALUES(240,428,349);
+INSERT INTO "annotation_value" VALUES(241,428,372);
+INSERT INTO "annotation_value" VALUES(242,428,376);
+INSERT INTO "annotation_value" VALUES(243,428,366);
+INSERT INTO "annotation_value" VALUES(244,428,368);
+INSERT INTO "annotation_value" VALUES(245,428,139);
+INSERT INTO "annotation_value" VALUES(246,428,347);
+INSERT INTO "annotation_value" VALUES(247,428,389);
+INSERT INTO "annotation_value" VALUES(248,428,363);
+INSERT INTO "annotation_value" VALUES(249,428,383);
+INSERT INTO "annotation_value" VALUES(250,428,365);
+INSERT INTO "annotation_value" VALUES(251,428,364);
+INSERT INTO "annotation_value" VALUES(252,428,371);
+INSERT INTO "annotation_value" VALUES(253,428,359);
+INSERT INTO "annotation_value" VALUES(254,428,355);
+INSERT INTO "annotation_value" VALUES(255,428,351);
+INSERT INTO "annotation_value" VALUES(256,428,387);
+INSERT INTO "annotation_value" VALUES(257,428,358);
+INSERT INTO "annotation_value" VALUES(258,428,361);
+INSERT INTO "annotation_value" VALUES(259,428,385);
+INSERT INTO "annotation_value" VALUES(260,428,374);
+INSERT INTO "annotation_value" VALUES(261,428,350);
+INSERT INTO "annotation_value" VALUES(262,428,377);
+INSERT INTO "annotation_value" VALUES(263,428,354);
+INSERT INTO "annotation_value" VALUES(264,428,388);
+INSERT INTO "annotation_value" VALUES(265,428,380);
+INSERT INTO "annotation_value" VALUES(266,428,386);
+INSERT INTO "annotation_value" VALUES(267,428,375);
+INSERT INTO "annotation_value" VALUES(268,429,382);
+INSERT INTO "annotation_value" VALUES(269,429,383);
+INSERT INTO "annotation_value" VALUES(270,429,374);
+INSERT INTO "annotation_value" VALUES(271,429,364);
+INSERT INTO "annotation_value" VALUES(272,429,380);
+INSERT INTO "annotation_value" VALUES(273,429,365);
+INSERT INTO "annotation_value" VALUES(274,429,377);
+INSERT INTO "annotation_value" VALUES(275,429,357);
+INSERT INTO "annotation_value" VALUES(276,429,371);
+INSERT INTO "annotation_value" VALUES(277,429,362);
+INSERT INTO "annotation_value" VALUES(278,429,376);
+INSERT INTO "annotation_value" VALUES(279,429,381);
+INSERT INTO "annotation_value" VALUES(280,429,355);
+INSERT INTO "annotation_value" VALUES(281,429,385);
+INSERT INTO "annotation_value" VALUES(282,429,378);
+INSERT INTO "annotation_value" VALUES(283,429,384);
+INSERT INTO "annotation_value" VALUES(284,429,361);
+INSERT INTO "annotation_value" VALUES(285,429,388);
+INSERT INTO "annotation_value" VALUES(286,429,379);
+INSERT INTO "annotation_value" VALUES(287,429,369);
+INSERT INTO "annotation_value" VALUES(288,429,356);
+INSERT INTO "annotation_value" VALUES(289,429,351);
+INSERT INTO "annotation_value" VALUES(290,429,358);
+INSERT INTO "annotation_value" VALUES(291,429,373);
+INSERT INTO "annotation_value" VALUES(292,429,354);
+INSERT INTO "annotation_value" VALUES(293,429,389);
+INSERT INTO "annotation_value" VALUES(294,429,372);
+INSERT INTO "annotation_value" VALUES(295,429,386);
+INSERT INTO "annotation_value" VALUES(296,429,390);
+INSERT INTO "annotation_value" VALUES(297,429,375);
+INSERT INTO "annotation_value" VALUES(298,429,353);
+INSERT INTO "annotation_value" VALUES(299,429,139);
+INSERT INTO "annotation_value" VALUES(300,429,366);
+INSERT INTO "annotation_value" VALUES(301,429,349);
+INSERT INTO "annotation_value" VALUES(302,429,368);
+INSERT INTO "annotation_value" VALUES(303,429,348);
+INSERT INTO "annotation_value" VALUES(304,429,363);
+INSERT INTO "annotation_value" VALUES(305,429,360);
+INSERT INTO "annotation_value" VALUES(306,429,367);
+INSERT INTO "annotation_value" VALUES(307,429,352);
+INSERT INTO "annotation_value" VALUES(308,429,359);
+INSERT INTO "annotation_value" VALUES(309,429,370);
+INSERT INTO "annotation_value" VALUES(310,429,387);
+INSERT INTO "annotation_value" VALUES(311,429,350);
+INSERT INTO "annotation_value" VALUES(312,429,347);
+INSERT INTO "annotation_value" VALUES(313,430,374);
+INSERT INTO "annotation_value" VALUES(314,430,377);
+INSERT INTO "annotation_value" VALUES(315,430,356);
+INSERT INTO "annotation_value" VALUES(316,430,372);
+INSERT INTO "annotation_value" VALUES(317,430,371);
+INSERT INTO "annotation_value" VALUES(318,430,383);
+INSERT INTO "annotation_value" VALUES(319,430,382);
+INSERT INTO "annotation_value" VALUES(320,430,388);
+INSERT INTO "annotation_value" VALUES(321,430,354);
+INSERT INTO "annotation_value" VALUES(322,430,386);
+INSERT INTO "annotation_value" VALUES(323,430,380);
+INSERT INTO "annotation_value" VALUES(324,430,360);
+INSERT INTO "annotation_value" VALUES(325,430,358);
+INSERT INTO "annotation_value" VALUES(326,430,359);
+INSERT INTO "annotation_value" VALUES(327,430,381);
+INSERT INTO "annotation_value" VALUES(328,430,375);
+INSERT INTO "annotation_value" VALUES(329,430,363);
+INSERT INTO "annotation_value" VALUES(330,430,139);
+INSERT INTO "annotation_value" VALUES(331,430,350);
+INSERT INTO "annotation_value" VALUES(332,430,347);
+INSERT INTO "annotation_value" VALUES(333,430,373);
+INSERT INTO "annotation_value" VALUES(334,430,365);
+INSERT INTO "annotation_value" VALUES(335,430,355);
+INSERT INTO "annotation_value" VALUES(336,430,364);
+INSERT INTO "annotation_value" VALUES(337,430,370);
+INSERT INTO "annotation_value" VALUES(338,430,369);
+INSERT INTO "annotation_value" VALUES(339,430,366);
+INSERT INTO "annotation_value" VALUES(340,430,367);
+INSERT INTO "annotation_value" VALUES(341,430,376);
+INSERT INTO "annotation_value" VALUES(342,430,384);
+INSERT INTO "annotation_value" VALUES(343,430,352);
+INSERT INTO "annotation_value" VALUES(344,430,389);
+INSERT INTO "annotation_value" VALUES(345,430,361);
+INSERT INTO "annotation_value" VALUES(346,430,387);
+INSERT INTO "annotation_value" VALUES(347,430,351);
+INSERT INTO "annotation_value" VALUES(348,430,385);
+INSERT INTO "annotation_value" VALUES(349,430,390);
+INSERT INTO "annotation_value" VALUES(350,430,349);
+INSERT INTO "annotation_value" VALUES(351,430,378);
+INSERT INTO "annotation_value" VALUES(352,430,348);
+INSERT INTO "annotation_value" VALUES(353,430,368);
+INSERT INTO "annotation_value" VALUES(354,430,379);
+INSERT INTO "annotation_value" VALUES(355,430,362);
+INSERT INTO "annotation_value" VALUES(356,430,357);
+INSERT INTO "annotation_value" VALUES(357,430,353);
+INSERT INTO "annotation_value" VALUES(358,431,363);
+INSERT INTO "annotation_value" VALUES(359,431,385);
+INSERT INTO "annotation_value" VALUES(360,431,368);
+INSERT INTO "annotation_value" VALUES(361,431,387);
+INSERT INTO "annotation_value" VALUES(362,431,375);
+INSERT INTO "annotation_value" VALUES(363,431,367);
+INSERT INTO "annotation_value" VALUES(364,431,356);
+INSERT INTO "annotation_value" VALUES(365,431,390);
+INSERT INTO "annotation_value" VALUES(366,431,388);
+INSERT INTO "annotation_value" VALUES(367,431,359);
+INSERT INTO "annotation_value" VALUES(368,431,371);
+INSERT INTO "annotation_value" VALUES(369,431,373);
+INSERT INTO "annotation_value" VALUES(370,431,386);
+INSERT INTO "annotation_value" VALUES(371,431,357);
+INSERT INTO "annotation_value" VALUES(372,431,377);
+INSERT INTO "annotation_value" VALUES(373,431,362);
+INSERT INTO "annotation_value" VALUES(374,431,381);
+INSERT INTO "annotation_value" VALUES(375,431,382);
+INSERT INTO "annotation_value" VALUES(376,431,350);
+INSERT INTO "annotation_value" VALUES(377,431,376);
+INSERT INTO "annotation_value" VALUES(378,431,139);
+INSERT INTO "annotation_value" VALUES(379,431,358);
+INSERT INTO "annotation_value" VALUES(380,431,379);
+INSERT INTO "annotation_value" VALUES(381,431,384);
+INSERT INTO "annotation_value" VALUES(382,431,380);
+INSERT INTO "annotation_value" VALUES(383,431,360);
+INSERT INTO "annotation_value" VALUES(384,431,366);
+INSERT INTO "annotation_value" VALUES(385,431,378);
+INSERT INTO "annotation_value" VALUES(386,431,361);
+INSERT INTO "annotation_value" VALUES(387,431,353);
+INSERT INTO "annotation_value" VALUES(388,431,374);
+INSERT INTO "annotation_value" VALUES(389,431,352);
+INSERT INTO "annotation_value" VALUES(390,431,347);
+INSERT INTO "annotation_value" VALUES(391,431,389);
+INSERT INTO "annotation_value" VALUES(392,431,351);
+INSERT INTO "annotation_value" VALUES(393,431,349);
+INSERT INTO "annotation_value" VALUES(394,431,370);
+INSERT INTO "annotation_value" VALUES(395,431,369);
+INSERT INTO "annotation_value" VALUES(396,431,372);
+INSERT INTO "annotation_value" VALUES(397,431,354);
+INSERT INTO "annotation_value" VALUES(398,431,365);
+INSERT INTO "annotation_value" VALUES(399,431,348);
+INSERT INTO "annotation_value" VALUES(400,431,355);
+INSERT INTO "annotation_value" VALUES(401,431,364);
+INSERT INTO "annotation_value" VALUES(402,431,383);
+INSERT INTO "annotation_value" VALUES(403,432,388);
+INSERT INTO "annotation_value" VALUES(404,432,387);
+INSERT INTO "annotation_value" VALUES(405,432,359);
+INSERT INTO "annotation_value" VALUES(406,432,382);
+INSERT INTO "annotation_value" VALUES(407,432,348);
+INSERT INTO "annotation_value" VALUES(408,432,369);
+INSERT INTO "annotation_value" VALUES(409,432,350);
+INSERT INTO "annotation_value" VALUES(410,432,372);
+INSERT INTO "annotation_value" VALUES(411,432,375);
+INSERT INTO "annotation_value" VALUES(412,432,363);
+INSERT INTO "annotation_value" VALUES(413,432,139);
+INSERT INTO "annotation_value" VALUES(414,432,384);
+INSERT INTO "annotation_value" VALUES(415,432,358);
+INSERT INTO "annotation_value" VALUES(416,432,381);
+INSERT INTO "annotation_value" VALUES(417,432,390);
+INSERT INTO "annotation_value" VALUES(418,432,360);
+INSERT INTO "annotation_value" VALUES(419,432,377);
+INSERT INTO "annotation_value" VALUES(420,432,379);
+INSERT INTO "annotation_value" VALUES(421,432,364);
+INSERT INTO "annotation_value" VALUES(422,432,385);
+INSERT INTO "annotation_value" VALUES(423,432,371);
+INSERT INTO "annotation_value" VALUES(424,432,353);
+INSERT INTO "annotation_value" VALUES(425,432,365);
+INSERT INTO "annotation_value" VALUES(426,432,376);
+INSERT INTO "annotation_value" VALUES(427,432,352);
+INSERT INTO "annotation_value" VALUES(428,432,370);
+INSERT INTO "annotation_value" VALUES(429,432,347);
+INSERT INTO "annotation_value" VALUES(430,432,373);
+INSERT INTO "annotation_value" VALUES(431,432,357);
+INSERT INTO "annotation_value" VALUES(432,432,356);
+INSERT INTO "annotation_value" VALUES(433,432,366);
+INSERT INTO "annotation_value" VALUES(434,432,389);
+INSERT INTO "annotation_value" VALUES(435,432,349);
+INSERT INTO "annotation_value" VALUES(436,432,383);
+INSERT INTO "annotation_value" VALUES(437,432,355);
+INSERT INTO "annotation_value" VALUES(438,432,378);
+INSERT INTO "annotation_value" VALUES(439,432,351);
+INSERT INTO "annotation_value" VALUES(440,432,386);
+INSERT INTO "annotation_value" VALUES(441,432,362);
+INSERT INTO "annotation_value" VALUES(442,432,380);
+INSERT INTO "annotation_value" VALUES(443,432,374);
+INSERT INTO "annotation_value" VALUES(444,432,354);
+INSERT INTO "annotation_value" VALUES(445,432,361);
+INSERT INTO "annotation_value" VALUES(446,432,368);
+INSERT INTO "annotation_value" VALUES(447,432,367);
+INSERT INTO "annotation_value" VALUES(448,433,372);
+INSERT INTO "annotation_value" VALUES(449,433,370);
+INSERT INTO "annotation_value" VALUES(450,433,382);
+INSERT INTO "annotation_value" VALUES(451,433,377);
+INSERT INTO "annotation_value" VALUES(452,433,368);
+INSERT INTO "annotation_value" VALUES(453,433,386);
+INSERT INTO "annotation_value" VALUES(454,433,355);
+INSERT INTO "annotation_value" VALUES(455,433,347);
+INSERT INTO "annotation_value" VALUES(456,433,349);
+INSERT INTO "annotation_value" VALUES(457,433,363);
+INSERT INTO "annotation_value" VALUES(458,433,139);
+INSERT INTO "annotation_value" VALUES(459,433,348);
+INSERT INTO "annotation_value" VALUES(460,433,359);
+INSERT INTO "annotation_value" VALUES(461,433,378);
+INSERT INTO "annotation_value" VALUES(462,433,371);
+INSERT INTO "annotation_value" VALUES(463,433,376);
+INSERT INTO "annotation_value" VALUES(464,433,373);
+INSERT INTO "annotation_value" VALUES(465,433,384);
+INSERT INTO "annotation_value" VALUES(466,433,356);
+INSERT INTO "annotation_value" VALUES(467,433,387);
+INSERT INTO "annotation_value" VALUES(468,433,362);
+INSERT INTO "annotation_value" VALUES(469,433,390);
+INSERT INTO "annotation_value" VALUES(470,433,380);
+INSERT INTO "annotation_value" VALUES(471,433,351);
+INSERT INTO "annotation_value" VALUES(472,433,374);
+INSERT INTO "annotation_value" VALUES(473,433,350);
+INSERT INTO "annotation_value" VALUES(474,433,366);
+INSERT INTO "annotation_value" VALUES(475,433,381);
+INSERT INTO "annotation_value" VALUES(476,433,385);
+INSERT INTO "annotation_value" VALUES(477,433,375);
+INSERT INTO "annotation_value" VALUES(478,433,352);
+INSERT INTO "annotation_value" VALUES(479,433,364);
+INSERT INTO "annotation_value" VALUES(480,433,365);
+INSERT INTO "annotation_value" VALUES(481,433,389);
+INSERT INTO "annotation_value" VALUES(482,433,360);
+INSERT INTO "annotation_value" VALUES(483,433,388);
+INSERT INTO "annotation_value" VALUES(484,433,357);
+INSERT INTO "annotation_value" VALUES(485,433,379);
+INSERT INTO "annotation_value" VALUES(486,433,358);
+INSERT INTO "annotation_value" VALUES(487,433,367);
+INSERT INTO "annotation_value" VALUES(488,433,354);
+INSERT INTO "annotation_value" VALUES(489,433,353);
+INSERT INTO "annotation_value" VALUES(490,433,369);
+INSERT INTO "annotation_value" VALUES(491,433,361);
+INSERT INTO "annotation_value" VALUES(492,433,383);
+INSERT INTO "annotation_value" VALUES(493,434,382);
+INSERT INTO "annotation_value" VALUES(494,434,356);
+INSERT INTO "annotation_value" VALUES(495,434,380);
+INSERT INTO "annotation_value" VALUES(496,434,352);
+INSERT INTO "annotation_value" VALUES(497,434,354);
+INSERT INTO "annotation_value" VALUES(498,434,361);
+INSERT INTO "annotation_value" VALUES(499,434,384);
+INSERT INTO "annotation_value" VALUES(500,434,367);
+INSERT INTO "annotation_value" VALUES(501,434,377);
+INSERT INTO "annotation_value" VALUES(502,434,365);
+INSERT INTO "annotation_value" VALUES(503,434,370);
+INSERT INTO "annotation_value" VALUES(504,434,357);
+INSERT INTO "annotation_value" VALUES(505,434,351);
+INSERT INTO "annotation_value" VALUES(506,434,376);
+INSERT INTO "annotation_value" VALUES(507,434,348);
+INSERT INTO "annotation_value" VALUES(508,434,387);
+INSERT INTO "annotation_value" VALUES(509,434,366);
+INSERT INTO "annotation_value" VALUES(510,434,375);
+INSERT INTO "annotation_value" VALUES(511,434,360);
+INSERT INTO "annotation_value" VALUES(512,434,358);
+INSERT INTO "annotation_value" VALUES(513,434,381);
+INSERT INTO "annotation_value" VALUES(514,434,363);
+INSERT INTO "annotation_value" VALUES(515,434,139);
+INSERT INTO "annotation_value" VALUES(516,434,373);
+INSERT INTO "annotation_value" VALUES(517,434,372);
+INSERT INTO "annotation_value" VALUES(518,434,386);
+INSERT INTO "annotation_value" VALUES(519,434,362);
+INSERT INTO "annotation_value" VALUES(520,434,371);
+INSERT INTO "annotation_value" VALUES(521,434,350);
+INSERT INTO "annotation_value" VALUES(522,434,379);
+INSERT INTO "annotation_value" VALUES(523,434,355);
+INSERT INTO "annotation_value" VALUES(524,434,347);
+INSERT INTO "annotation_value" VALUES(525,434,385);
+INSERT INTO "annotation_value" VALUES(526,434,349);
+INSERT INTO "annotation_value" VALUES(527,434,389);
+INSERT INTO "annotation_value" VALUES(528,434,374);
+INSERT INTO "annotation_value" VALUES(529,434,364);
+INSERT INTO "annotation_value" VALUES(530,434,378);
+INSERT INTO "annotation_value" VALUES(531,434,359);
+INSERT INTO "annotation_value" VALUES(532,434,368);
+INSERT INTO "annotation_value" VALUES(533,434,383);
+INSERT INTO "annotation_value" VALUES(534,434,388);
+INSERT INTO "annotation_value" VALUES(535,434,390);
+INSERT INTO "annotation_value" VALUES(536,434,369);
+INSERT INTO "annotation_value" VALUES(537,434,353);
+INSERT INTO "annotation_value" VALUES(538,435,374);
+INSERT INTO "annotation_value" VALUES(539,435,368);
+INSERT INTO "annotation_value" VALUES(540,435,383);
+INSERT INTO "annotation_value" VALUES(541,435,350);
+INSERT INTO "annotation_value" VALUES(542,435,379);
+INSERT INTO "annotation_value" VALUES(543,435,387);
+INSERT INTO "annotation_value" VALUES(544,435,381);
+INSERT INTO "annotation_value" VALUES(545,435,351);
+INSERT INTO "annotation_value" VALUES(546,435,389);
+INSERT INTO "annotation_value" VALUES(547,435,366);
+INSERT INTO "annotation_value" VALUES(548,435,388);
+INSERT INTO "annotation_value" VALUES(549,435,376);
+INSERT INTO "annotation_value" VALUES(550,435,361);
+INSERT INTO "annotation_value" VALUES(551,435,380);
+INSERT INTO "annotation_value" VALUES(552,435,364);
+INSERT INTO "annotation_value" VALUES(553,435,354);
+INSERT INTO "annotation_value" VALUES(554,435,355);
+INSERT INTO "annotation_value" VALUES(555,435,359);
+INSERT INTO "annotation_value" VALUES(556,435,370);
+INSERT INTO "annotation_value" VALUES(557,435,352);
+INSERT INTO "annotation_value" VALUES(558,435,385);
+INSERT INTO "annotation_value" VALUES(559,435,367);
+INSERT INTO "annotation_value" VALUES(560,435,386);
+INSERT INTO "annotation_value" VALUES(561,435,390);
+INSERT INTO "annotation_value" VALUES(562,435,363);
+INSERT INTO "annotation_value" VALUES(563,435,349);
+INSERT INTO "annotation_value" VALUES(564,435,378);
+INSERT INTO "annotation_value" VALUES(565,435,357);
+INSERT INTO "annotation_value" VALUES(566,435,139);
+INSERT INTO "annotation_value" VALUES(567,435,373);
+INSERT INTO "annotation_value" VALUES(568,435,365);
+INSERT INTO "annotation_value" VALUES(569,435,353);
+INSERT INTO "annotation_value" VALUES(570,435,362);
+INSERT INTO "annotation_value" VALUES(571,435,382);
+INSERT INTO "annotation_value" VALUES(572,435,377);
+INSERT INTO "annotation_value" VALUES(573,435,371);
+INSERT INTO "annotation_value" VALUES(574,435,372);
+INSERT INTO "annotation_value" VALUES(575,435,358);
+INSERT INTO "annotation_value" VALUES(576,435,384);
+INSERT INTO "annotation_value" VALUES(577,435,356);
+INSERT INTO "annotation_value" VALUES(578,435,369);
+INSERT INTO "annotation_value" VALUES(579,435,347);
+INSERT INTO "annotation_value" VALUES(580,435,348);
+INSERT INTO "annotation_value" VALUES(581,435,375);
+INSERT INTO "annotation_value" VALUES(582,435,360);
+INSERT INTO "annotation_value" VALUES(583,436,359);
+INSERT INTO "annotation_value" VALUES(584,436,358);
+INSERT INTO "annotation_value" VALUES(585,436,347);
+INSERT INTO "annotation_value" VALUES(586,436,368);
+INSERT INTO "annotation_value" VALUES(587,436,352);
+INSERT INTO "annotation_value" VALUES(588,436,387);
+INSERT INTO "annotation_value" VALUES(589,436,383);
+INSERT INTO "annotation_value" VALUES(590,436,390);
+INSERT INTO "annotation_value" VALUES(591,436,366);
+INSERT INTO "annotation_value" VALUES(592,436,362);
+INSERT INTO "annotation_value" VALUES(593,436,350);
+INSERT INTO "annotation_value" VALUES(594,436,375);
+INSERT INTO "annotation_value" VALUES(595,436,389);
+INSERT INTO "annotation_value" VALUES(596,436,357);
+INSERT INTO "annotation_value" VALUES(597,436,373);
+INSERT INTO "annotation_value" VALUES(598,436,385);
+INSERT INTO "annotation_value" VALUES(599,436,354);
+INSERT INTO "annotation_value" VALUES(600,436,364);
+INSERT INTO "annotation_value" VALUES(601,436,382);
+INSERT INTO "annotation_value" VALUES(602,436,349);
+INSERT INTO "annotation_value" VALUES(603,436,372);
+INSERT INTO "annotation_value" VALUES(604,436,351);
+INSERT INTO "annotation_value" VALUES(605,436,378);
+INSERT INTO "annotation_value" VALUES(606,436,348);
+INSERT INTO "annotation_value" VALUES(607,436,371);
+INSERT INTO "annotation_value" VALUES(608,436,369);
+INSERT INTO "annotation_value" VALUES(609,436,388);
+INSERT INTO "annotation_value" VALUES(610,436,360);
+INSERT INTO "annotation_value" VALUES(611,436,376);
+INSERT INTO "annotation_value" VALUES(612,436,356);
+INSERT INTO "annotation_value" VALUES(613,436,384);
+INSERT INTO "annotation_value" VALUES(614,436,386);
+INSERT INTO "annotation_value" VALUES(615,436,379);
+INSERT INTO "annotation_value" VALUES(616,436,377);
+INSERT INTO "annotation_value" VALUES(617,436,367);
+INSERT INTO "annotation_value" VALUES(618,436,353);
+INSERT INTO "annotation_value" VALUES(619,436,370);
+INSERT INTO "annotation_value" VALUES(620,436,139);
+INSERT INTO "annotation_value" VALUES(621,436,374);
+INSERT INTO "annotation_value" VALUES(622,436,363);
+INSERT INTO "annotation_value" VALUES(623,436,380);
+INSERT INTO "annotation_value" VALUES(624,436,381);
+INSERT INTO "annotation_value" VALUES(625,436,355);
+INSERT INTO "annotation_value" VALUES(626,436,361);
+INSERT INTO "annotation_value" VALUES(627,436,365);
+INSERT INTO "annotation_value" VALUES(628,437,365);
+INSERT INTO "annotation_value" VALUES(629,437,347);
+INSERT INTO "annotation_value" VALUES(630,437,388);
+INSERT INTO "annotation_value" VALUES(631,437,357);
+INSERT INTO "annotation_value" VALUES(632,437,373);
+INSERT INTO "annotation_value" VALUES(633,437,386);
+INSERT INTO "annotation_value" VALUES(634,437,367);
+INSERT INTO "annotation_value" VALUES(635,437,366);
+INSERT INTO "annotation_value" VALUES(636,437,383);
+INSERT INTO "annotation_value" VALUES(637,437,368);
+INSERT INTO "annotation_value" VALUES(638,437,377);
+INSERT INTO "annotation_value" VALUES(639,437,376);
+INSERT INTO "annotation_value" VALUES(640,437,374);
+INSERT INTO "annotation_value" VALUES(641,437,358);
+INSERT INTO "annotation_value" VALUES(642,437,375);
+INSERT INTO "annotation_value" VALUES(643,437,349);
+INSERT INTO "annotation_value" VALUES(644,437,379);
+INSERT INTO "annotation_value" VALUES(645,437,381);
+INSERT INTO "annotation_value" VALUES(646,437,359);
+INSERT INTO "annotation_value" VALUES(647,437,139);
+INSERT INTO "annotation_value" VALUES(648,437,352);
+INSERT INTO "annotation_value" VALUES(649,437,387);
+INSERT INTO "annotation_value" VALUES(650,437,369);
+INSERT INTO "annotation_value" VALUES(651,437,348);
+INSERT INTO "annotation_value" VALUES(652,437,361);
+INSERT INTO "annotation_value" VALUES(653,437,363);
+INSERT INTO "annotation_value" VALUES(654,437,362);
+INSERT INTO "annotation_value" VALUES(655,437,380);
+INSERT INTO "annotation_value" VALUES(656,437,382);
+INSERT INTO "annotation_value" VALUES(657,437,353);
+INSERT INTO "annotation_value" VALUES(658,437,372);
+INSERT INTO "annotation_value" VALUES(659,437,356);
+INSERT INTO "annotation_value" VALUES(660,437,350);
+INSERT INTO "annotation_value" VALUES(661,437,378);
+INSERT INTO "annotation_value" VALUES(662,437,354);
+INSERT INTO "annotation_value" VALUES(663,437,370);
+INSERT INTO "annotation_value" VALUES(664,437,371);
+INSERT INTO "annotation_value" VALUES(665,437,384);
+INSERT INTO "annotation_value" VALUES(666,437,390);
+INSERT INTO "annotation_value" VALUES(667,437,385);
+INSERT INTO "annotation_value" VALUES(668,437,351);
+INSERT INTO "annotation_value" VALUES(669,437,389);
+INSERT INTO "annotation_value" VALUES(670,437,360);
+INSERT INTO "annotation_value" VALUES(671,437,355);
+INSERT INTO "annotation_value" VALUES(672,437,364);
+INSERT INTO "annotation_value" VALUES(673,438,347);
+INSERT INTO "annotation_value" VALUES(674,438,383);
+INSERT INTO "annotation_value" VALUES(675,438,364);
+INSERT INTO "annotation_value" VALUES(676,438,359);
+INSERT INTO "annotation_value" VALUES(677,438,380);
+INSERT INTO "annotation_value" VALUES(678,438,378);
+INSERT INTO "annotation_value" VALUES(679,438,356);
+INSERT INTO "annotation_value" VALUES(680,438,355);
+INSERT INTO "annotation_value" VALUES(681,438,376);
+INSERT INTO "annotation_value" VALUES(682,438,139);
+INSERT INTO "annotation_value" VALUES(683,438,379);
+INSERT INTO "annotation_value" VALUES(684,438,362);
+INSERT INTO "annotation_value" VALUES(685,438,352);
+INSERT INTO "annotation_value" VALUES(686,438,374);
+INSERT INTO "annotation_value" VALUES(687,438,371);
+INSERT INTO "annotation_value" VALUES(688,438,367);
+INSERT INTO "annotation_value" VALUES(689,438,386);
+INSERT INTO "annotation_value" VALUES(690,438,389);
+INSERT INTO "annotation_value" VALUES(691,438,361);
+INSERT INTO "annotation_value" VALUES(692,438,385);
+INSERT INTO "annotation_value" VALUES(693,438,373);
+INSERT INTO "annotation_value" VALUES(694,438,375);
+INSERT INTO "annotation_value" VALUES(695,438,387);
+INSERT INTO "annotation_value" VALUES(696,438,363);
+INSERT INTO "annotation_value" VALUES(697,438,354);
+INSERT INTO "annotation_value" VALUES(698,438,370);
+INSERT INTO "annotation_value" VALUES(699,438,390);
+INSERT INTO "annotation_value" VALUES(700,438,358);
+INSERT INTO "annotation_value" VALUES(701,438,366);
+INSERT INTO "annotation_value" VALUES(702,438,372);
+INSERT INTO "annotation_value" VALUES(703,438,351);
+INSERT INTO "annotation_value" VALUES(704,438,381);
+INSERT INTO "annotation_value" VALUES(705,438,357);
+INSERT INTO "annotation_value" VALUES(706,438,368);
+INSERT INTO "annotation_value" VALUES(707,438,377);
+INSERT INTO "annotation_value" VALUES(708,438,388);
+INSERT INTO "annotation_value" VALUES(709,438,353);
+INSERT INTO "annotation_value" VALUES(710,438,360);
+INSERT INTO "annotation_value" VALUES(711,438,349);
+INSERT INTO "annotation_value" VALUES(712,438,348);
+INSERT INTO "annotation_value" VALUES(713,438,350);
+INSERT INTO "annotation_value" VALUES(714,438,384);
+INSERT INTO "annotation_value" VALUES(715,438,365);
+INSERT INTO "annotation_value" VALUES(716,438,382);
+INSERT INTO "annotation_value" VALUES(717,438,369);
+INSERT INTO "annotation_value" VALUES(718,439,389);
+INSERT INTO "annotation_value" VALUES(719,439,378);
+INSERT INTO "annotation_value" VALUES(720,439,347);
+INSERT INTO "annotation_value" VALUES(721,439,373);
+INSERT INTO "annotation_value" VALUES(722,439,366);
+INSERT INTO "annotation_value" VALUES(723,439,384);
+INSERT INTO "annotation_value" VALUES(724,439,349);
+INSERT INTO "annotation_value" VALUES(725,439,361);
+INSERT INTO "annotation_value" VALUES(726,439,360);
+INSERT INTO "annotation_value" VALUES(727,439,370);
+INSERT INTO "annotation_value" VALUES(728,439,351);
+INSERT INTO "annotation_value" VALUES(729,439,376);
+INSERT INTO "annotation_value" VALUES(730,439,372);
+INSERT INTO "annotation_value" VALUES(731,439,358);
+INSERT INTO "annotation_value" VALUES(732,439,353);
+INSERT INTO "annotation_value" VALUES(733,439,363);
+INSERT INTO "annotation_value" VALUES(734,439,365);
+INSERT INTO "annotation_value" VALUES(735,439,364);
+INSERT INTO "annotation_value" VALUES(736,439,350);
+INSERT INTO "annotation_value" VALUES(737,439,382);
+INSERT INTO "annotation_value" VALUES(738,439,359);
+INSERT INTO "annotation_value" VALUES(739,439,355);
+INSERT INTO "annotation_value" VALUES(740,439,381);
+INSERT INTO "annotation_value" VALUES(741,439,386);
+INSERT INTO "annotation_value" VALUES(742,439,375);
+INSERT INTO "annotation_value" VALUES(743,439,354);
+INSERT INTO "annotation_value" VALUES(744,439,369);
+INSERT INTO "annotation_value" VALUES(745,439,367);
+INSERT INTO "annotation_value" VALUES(746,439,357);
+INSERT INTO "annotation_value" VALUES(747,439,348);
+INSERT INTO "annotation_value" VALUES(748,439,362);
+INSERT INTO "annotation_value" VALUES(749,439,352);
+INSERT INTO "annotation_value" VALUES(750,439,368);
+INSERT INTO "annotation_value" VALUES(751,439,374);
+INSERT INTO "annotation_value" VALUES(752,439,383);
+INSERT INTO "annotation_value" VALUES(753,439,388);
+INSERT INTO "annotation_value" VALUES(754,439,387);
+INSERT INTO "annotation_value" VALUES(755,439,380);
+INSERT INTO "annotation_value" VALUES(756,439,139);
+INSERT INTO "annotation_value" VALUES(757,439,390);
+INSERT INTO "annotation_value" VALUES(758,439,371);
+INSERT INTO "annotation_value" VALUES(759,439,385);
+INSERT INTO "annotation_value" VALUES(760,439,379);
+INSERT INTO "annotation_value" VALUES(761,439,377);
+INSERT INTO "annotation_value" VALUES(762,439,356);
+INSERT INTO "annotation_value" VALUES(763,440,377);
+INSERT INTO "annotation_value" VALUES(764,440,365);
+INSERT INTO "annotation_value" VALUES(765,440,350);
+INSERT INTO "annotation_value" VALUES(766,440,363);
+INSERT INTO "annotation_value" VALUES(767,440,382);
+INSERT INTO "annotation_value" VALUES(768,440,356);
+INSERT INTO "annotation_value" VALUES(769,440,379);
+INSERT INTO "annotation_value" VALUES(770,440,347);
+INSERT INTO "annotation_value" VALUES(771,440,376);
+INSERT INTO "annotation_value" VALUES(772,440,364);
+INSERT INTO "annotation_value" VALUES(773,440,372);
+INSERT INTO "annotation_value" VALUES(774,440,374);
+INSERT INTO "annotation_value" VALUES(775,440,367);
+INSERT INTO "annotation_value" VALUES(776,440,370);
+INSERT INTO "annotation_value" VALUES(777,440,373);
+INSERT INTO "annotation_value" VALUES(778,440,387);
+INSERT INTO "annotation_value" VALUES(779,440,355);
+INSERT INTO "annotation_value" VALUES(780,440,383);
+INSERT INTO "annotation_value" VALUES(781,440,368);
+INSERT INTO "annotation_value" VALUES(782,440,390);
+INSERT INTO "annotation_value" VALUES(783,440,371);
+INSERT INTO "annotation_value" VALUES(784,440,380);
+INSERT INTO "annotation_value" VALUES(785,440,352);
+INSERT INTO "annotation_value" VALUES(786,440,369);
+INSERT INTO "annotation_value" VALUES(787,440,362);
+INSERT INTO "annotation_value" VALUES(788,440,349);
+INSERT INTO "annotation_value" VALUES(789,440,139);
+INSERT INTO "annotation_value" VALUES(790,440,378);
+INSERT INTO "annotation_value" VALUES(791,440,354);
+INSERT INTO "annotation_value" VALUES(792,440,385);
+INSERT INTO "annotation_value" VALUES(793,440,351);
+INSERT INTO "annotation_value" VALUES(794,440,375);
+INSERT INTO "annotation_value" VALUES(795,440,388);
+INSERT INTO "annotation_value" VALUES(796,440,381);
+INSERT INTO "annotation_value" VALUES(797,440,389);
+INSERT INTO "annotation_value" VALUES(798,440,361);
+INSERT INTO "annotation_value" VALUES(799,440,348);
+INSERT INTO "annotation_value" VALUES(800,440,357);
+INSERT INTO "annotation_value" VALUES(801,440,353);
+INSERT INTO "annotation_value" VALUES(802,440,359);
+INSERT INTO "annotation_value" VALUES(803,440,386);
+INSERT INTO "annotation_value" VALUES(804,440,366);
+INSERT INTO "annotation_value" VALUES(805,440,358);
+INSERT INTO "annotation_value" VALUES(806,440,384);
+INSERT INTO "annotation_value" VALUES(807,440,360);
+INSERT INTO "annotation_value" VALUES(808,441,383);
+INSERT INTO "annotation_value" VALUES(809,441,355);
+INSERT INTO "annotation_value" VALUES(810,441,374);
+INSERT INTO "annotation_value" VALUES(811,441,350);
+INSERT INTO "annotation_value" VALUES(812,441,364);
+INSERT INTO "annotation_value" VALUES(813,441,363);
+INSERT INTO "annotation_value" VALUES(814,441,361);
+INSERT INTO "annotation_value" VALUES(815,441,376);
+INSERT INTO "annotation_value" VALUES(816,441,386);
+INSERT INTO "annotation_value" VALUES(817,441,387);
+INSERT INTO "annotation_value" VALUES(818,441,385);
+INSERT INTO "annotation_value" VALUES(819,441,369);
+INSERT INTO "annotation_value" VALUES(820,441,358);
+INSERT INTO "annotation_value" VALUES(821,441,381);
+INSERT INTO "annotation_value" VALUES(822,441,360);
+INSERT INTO "annotation_value" VALUES(823,441,348);
+INSERT INTO "annotation_value" VALUES(824,441,388);
+INSERT INTO "annotation_value" VALUES(825,441,377);
+INSERT INTO "annotation_value" VALUES(826,441,373);
+INSERT INTO "annotation_value" VALUES(827,441,382);
+INSERT INTO "annotation_value" VALUES(828,441,389);
+INSERT INTO "annotation_value" VALUES(829,441,379);
+INSERT INTO "annotation_value" VALUES(830,441,384);
+INSERT INTO "annotation_value" VALUES(831,441,371);
+INSERT INTO "annotation_value" VALUES(832,441,356);
+INSERT INTO "annotation_value" VALUES(833,441,359);
+INSERT INTO "annotation_value" VALUES(834,441,353);
+INSERT INTO "annotation_value" VALUES(835,441,372);
+INSERT INTO "annotation_value" VALUES(836,441,366);
+INSERT INTO "annotation_value" VALUES(837,441,349);
+INSERT INTO "annotation_value" VALUES(838,441,390);
+INSERT INTO "annotation_value" VALUES(839,441,139);
+INSERT INTO "annotation_value" VALUES(840,441,351);
+INSERT INTO "annotation_value" VALUES(841,441,367);
+INSERT INTO "annotation_value" VALUES(842,441,370);
+INSERT INTO "annotation_value" VALUES(843,441,380);
+INSERT INTO "annotation_value" VALUES(844,441,357);
+INSERT INTO "annotation_value" VALUES(845,441,352);
+INSERT INTO "annotation_value" VALUES(846,441,347);
+INSERT INTO "annotation_value" VALUES(847,441,354);
+INSERT INTO "annotation_value" VALUES(848,441,365);
+INSERT INTO "annotation_value" VALUES(849,441,368);
+INSERT INTO "annotation_value" VALUES(850,441,378);
+INSERT INTO "annotation_value" VALUES(851,441,375);
+INSERT INTO "annotation_value" VALUES(852,441,362);
+INSERT INTO "annotation_value" VALUES(853,442,353);
+INSERT INTO "annotation_value" VALUES(854,442,389);
+INSERT INTO "annotation_value" VALUES(855,442,378);
+INSERT INTO "annotation_value" VALUES(856,442,382);
+INSERT INTO "annotation_value" VALUES(857,442,380);
+INSERT INTO "annotation_value" VALUES(858,442,381);
+INSERT INTO "annotation_value" VALUES(859,442,355);
+INSERT INTO "annotation_value" VALUES(860,442,384);
+INSERT INTO "annotation_value" VALUES(861,442,139);
+INSERT INTO "annotation_value" VALUES(862,442,358);
+INSERT INTO "annotation_value" VALUES(863,442,354);
+INSERT INTO "annotation_value" VALUES(864,442,365);
+INSERT INTO "annotation_value" VALUES(865,442,360);
+INSERT INTO "annotation_value" VALUES(866,442,361);
+INSERT INTO "annotation_value" VALUES(867,442,387);
+INSERT INTO "annotation_value" VALUES(868,442,356);
+INSERT INTO "annotation_value" VALUES(869,442,367);
+INSERT INTO "annotation_value" VALUES(870,442,364);
+INSERT INTO "annotation_value" VALUES(871,442,348);
+INSERT INTO "annotation_value" VALUES(872,442,383);
+INSERT INTO "annotation_value" VALUES(873,442,371);
+INSERT INTO "annotation_value" VALUES(874,442,369);
+INSERT INTO "annotation_value" VALUES(875,442,368);
+INSERT INTO "annotation_value" VALUES(876,442,374);
+INSERT INTO "annotation_value" VALUES(877,442,377);
+INSERT INTO "annotation_value" VALUES(878,442,351);
+INSERT INTO "annotation_value" VALUES(879,442,350);
+INSERT INTO "annotation_value" VALUES(880,442,372);
+INSERT INTO "annotation_value" VALUES(881,442,379);
+INSERT INTO "annotation_value" VALUES(882,442,349);
+INSERT INTO "annotation_value" VALUES(883,442,390);
+INSERT INTO "annotation_value" VALUES(884,442,363);
+INSERT INTO "annotation_value" VALUES(885,442,385);
+INSERT INTO "annotation_value" VALUES(886,442,347);
+INSERT INTO "annotation_value" VALUES(887,442,388);
+INSERT INTO "annotation_value" VALUES(888,442,362);
+INSERT INTO "annotation_value" VALUES(889,442,376);
+INSERT INTO "annotation_value" VALUES(890,442,373);
+INSERT INTO "annotation_value" VALUES(891,442,357);
+INSERT INTO "annotation_value" VALUES(892,442,386);
+INSERT INTO "annotation_value" VALUES(893,442,359);
+INSERT INTO "annotation_value" VALUES(894,442,370);
+INSERT INTO "annotation_value" VALUES(895,442,375);
+INSERT INTO "annotation_value" VALUES(896,442,366);
+INSERT INTO "annotation_value" VALUES(897,442,352);
+INSERT INTO "annotation_value" VALUES(898,443,364);
+INSERT INTO "annotation_value" VALUES(899,443,382);
+INSERT INTO "annotation_value" VALUES(900,443,388);
+INSERT INTO "annotation_value" VALUES(901,443,374);
+INSERT INTO "annotation_value" VALUES(902,443,353);
+INSERT INTO "annotation_value" VALUES(903,443,375);
+INSERT INTO "annotation_value" VALUES(904,443,363);
+INSERT INTO "annotation_value" VALUES(905,443,366);
+INSERT INTO "annotation_value" VALUES(906,443,379);
+INSERT INTO "annotation_value" VALUES(907,443,368);
+INSERT INTO "annotation_value" VALUES(908,443,354);
+INSERT INTO "annotation_value" VALUES(909,443,389);
+INSERT INTO "annotation_value" VALUES(910,443,361);
+INSERT INTO "annotation_value" VALUES(911,443,347);
+INSERT INTO "annotation_value" VALUES(912,443,383);
+INSERT INTO "annotation_value" VALUES(913,443,378);
+INSERT INTO "annotation_value" VALUES(914,443,358);
+INSERT INTO "annotation_value" VALUES(915,443,352);
+INSERT INTO "annotation_value" VALUES(916,443,362);
+INSERT INTO "annotation_value" VALUES(917,443,385);
+INSERT INTO "annotation_value" VALUES(918,443,372);
+INSERT INTO "annotation_value" VALUES(919,443,390);
+INSERT INTO "annotation_value" VALUES(920,443,351);
+INSERT INTO "annotation_value" VALUES(921,443,386);
+INSERT INTO "annotation_value" VALUES(922,443,384);
+INSERT INTO "annotation_value" VALUES(923,443,376);
+INSERT INTO "annotation_value" VALUES(924,443,139);
+INSERT INTO "annotation_value" VALUES(925,443,387);
+INSERT INTO "annotation_value" VALUES(926,443,357);
+INSERT INTO "annotation_value" VALUES(927,443,381);
+INSERT INTO "annotation_value" VALUES(928,443,355);
+INSERT INTO "annotation_value" VALUES(929,443,373);
+INSERT INTO "annotation_value" VALUES(930,443,356);
+INSERT INTO "annotation_value" VALUES(931,443,377);
+INSERT INTO "annotation_value" VALUES(932,443,349);
+INSERT INTO "annotation_value" VALUES(933,443,350);
+INSERT INTO "annotation_value" VALUES(934,443,359);
+INSERT INTO "annotation_value" VALUES(935,443,369);
+INSERT INTO "annotation_value" VALUES(936,443,380);
+INSERT INTO "annotation_value" VALUES(937,443,370);
+INSERT INTO "annotation_value" VALUES(938,443,360);
+INSERT INTO "annotation_value" VALUES(939,443,367);
+INSERT INTO "annotation_value" VALUES(940,443,371);
+INSERT INTO "annotation_value" VALUES(941,443,365);
+INSERT INTO "annotation_value" VALUES(942,443,348);
+INSERT INTO "annotation_value" VALUES(943,444,383);
+INSERT INTO "annotation_value" VALUES(944,444,351);
+INSERT INTO "annotation_value" VALUES(945,444,350);
+INSERT INTO "annotation_value" VALUES(946,444,353);
+INSERT INTO "annotation_value" VALUES(947,444,374);
+INSERT INTO "annotation_value" VALUES(948,444,368);
+INSERT INTO "annotation_value" VALUES(949,444,348);
+INSERT INTO "annotation_value" VALUES(950,444,380);
+INSERT INTO "annotation_value" VALUES(951,444,359);
+INSERT INTO "annotation_value" VALUES(952,444,360);
+INSERT INTO "annotation_value" VALUES(953,444,357);
+INSERT INTO "annotation_value" VALUES(954,444,370);
+INSERT INTO "annotation_value" VALUES(955,444,361);
+INSERT INTO "annotation_value" VALUES(956,444,366);
+INSERT INTO "annotation_value" VALUES(957,444,385);
+INSERT INTO "annotation_value" VALUES(958,444,388);
+INSERT INTO "annotation_value" VALUES(959,444,367);
+INSERT INTO "annotation_value" VALUES(960,444,378);
+INSERT INTO "annotation_value" VALUES(961,444,373);
+INSERT INTO "annotation_value" VALUES(962,444,382);
+INSERT INTO "annotation_value" VALUES(963,444,377);
+INSERT INTO "annotation_value" VALUES(964,444,389);
+INSERT INTO "annotation_value" VALUES(965,444,355);
+INSERT INTO "annotation_value" VALUES(966,444,364);
+INSERT INTO "annotation_value" VALUES(967,444,371);
+INSERT INTO "annotation_value" VALUES(968,444,358);
+INSERT INTO "annotation_value" VALUES(969,444,376);
+INSERT INTO "annotation_value" VALUES(970,444,369);
+INSERT INTO "annotation_value" VALUES(971,444,347);
+INSERT INTO "annotation_value" VALUES(972,444,375);
+INSERT INTO "annotation_value" VALUES(973,444,349);
+INSERT INTO "annotation_value" VALUES(974,444,362);
+INSERT INTO "annotation_value" VALUES(975,444,352);
+INSERT INTO "annotation_value" VALUES(976,444,356);
+INSERT INTO "annotation_value" VALUES(977,444,381);
+INSERT INTO "annotation_value" VALUES(978,444,384);
+INSERT INTO "annotation_value" VALUES(979,444,372);
+INSERT INTO "annotation_value" VALUES(980,444,139);
+INSERT INTO "annotation_value" VALUES(981,444,363);
+INSERT INTO "annotation_value" VALUES(982,444,379);
+INSERT INTO "annotation_value" VALUES(983,444,386);
+INSERT INTO "annotation_value" VALUES(984,444,354);
+INSERT INTO "annotation_value" VALUES(985,444,387);
+INSERT INTO "annotation_value" VALUES(986,444,390);
+INSERT INTO "annotation_value" VALUES(987,444,365);
+INSERT INTO "annotation_value" VALUES(988,445,348);
+INSERT INTO "annotation_value" VALUES(989,445,383);
+INSERT INTO "annotation_value" VALUES(990,445,364);
+INSERT INTO "annotation_value" VALUES(991,445,347);
+INSERT INTO "annotation_value" VALUES(992,445,361);
+INSERT INTO "annotation_value" VALUES(993,445,376);
+INSERT INTO "annotation_value" VALUES(994,445,370);
+INSERT INTO "annotation_value" VALUES(995,445,363);
+INSERT INTO "annotation_value" VALUES(996,445,352);
+INSERT INTO "annotation_value" VALUES(997,445,356);
+INSERT INTO "annotation_value" VALUES(998,445,372);
+INSERT INTO "annotation_value" VALUES(999,445,386);
+INSERT INTO "annotation_value" VALUES(1000,445,378);
+INSERT INTO "annotation_value" VALUES(1001,445,390);
+INSERT INTO "annotation_value" VALUES(1002,445,355);
+INSERT INTO "annotation_value" VALUES(1003,445,366);
+INSERT INTO "annotation_value" VALUES(1004,445,139);
+INSERT INTO "annotation_value" VALUES(1005,445,385);
+INSERT INTO "annotation_value" VALUES(1006,445,368);
+INSERT INTO "annotation_value" VALUES(1007,445,365);
+INSERT INTO "annotation_value" VALUES(1008,445,360);
+INSERT INTO "annotation_value" VALUES(1009,445,362);
+INSERT INTO "annotation_value" VALUES(1010,445,367);
+INSERT INTO "annotation_value" VALUES(1011,445,357);
+INSERT INTO "annotation_value" VALUES(1012,445,388);
+INSERT INTO "annotation_value" VALUES(1013,445,382);
+INSERT INTO "annotation_value" VALUES(1014,445,379);
+INSERT INTO "annotation_value" VALUES(1015,445,381);
+INSERT INTO "annotation_value" VALUES(1016,445,359);
+INSERT INTO "annotation_value" VALUES(1017,445,350);
+INSERT INTO "annotation_value" VALUES(1018,445,387);
+INSERT INTO "annotation_value" VALUES(1019,445,358);
+INSERT INTO "annotation_value" VALUES(1020,445,375);
+INSERT INTO "annotation_value" VALUES(1021,445,374);
+INSERT INTO "annotation_value" VALUES(1022,445,371);
+INSERT INTO "annotation_value" VALUES(1023,445,349);
+INSERT INTO "annotation_value" VALUES(1024,445,377);
+INSERT INTO "annotation_value" VALUES(1025,445,380);
+INSERT INTO "annotation_value" VALUES(1026,445,354);
+INSERT INTO "annotation_value" VALUES(1027,445,384);
+INSERT INTO "annotation_value" VALUES(1028,445,351);
+INSERT INTO "annotation_value" VALUES(1029,445,369);
+INSERT INTO "annotation_value" VALUES(1030,445,353);
+INSERT INTO "annotation_value" VALUES(1031,445,373);
+INSERT INTO "annotation_value" VALUES(1032,445,389);
+INSERT INTO "annotation_value" VALUES(1033,446,374);
+INSERT INTO "annotation_value" VALUES(1034,446,373);
+INSERT INTO "annotation_value" VALUES(1035,446,381);
+INSERT INTO "annotation_value" VALUES(1036,446,380);
+INSERT INTO "annotation_value" VALUES(1037,446,383);
+INSERT INTO "annotation_value" VALUES(1038,446,362);
+INSERT INTO "annotation_value" VALUES(1039,446,356);
+INSERT INTO "annotation_value" VALUES(1040,446,353);
+INSERT INTO "annotation_value" VALUES(1041,446,359);
+INSERT INTO "annotation_value" VALUES(1042,446,363);
+INSERT INTO "annotation_value" VALUES(1043,446,355);
+INSERT INTO "annotation_value" VALUES(1044,446,358);
+INSERT INTO "annotation_value" VALUES(1045,446,382);
+INSERT INTO "annotation_value" VALUES(1046,446,378);
+INSERT INTO "annotation_value" VALUES(1047,446,357);
+INSERT INTO "annotation_value" VALUES(1048,446,390);
+INSERT INTO "annotation_value" VALUES(1049,446,354);
+INSERT INTO "annotation_value" VALUES(1050,446,371);
+INSERT INTO "annotation_value" VALUES(1051,446,372);
+INSERT INTO "annotation_value" VALUES(1052,446,367);
+INSERT INTO "annotation_value" VALUES(1053,446,351);
+INSERT INTO "annotation_value" VALUES(1054,446,379);
+INSERT INTO "annotation_value" VALUES(1055,446,350);
+INSERT INTO "annotation_value" VALUES(1056,446,386);
+INSERT INTO "annotation_value" VALUES(1057,446,139);
+INSERT INTO "annotation_value" VALUES(1058,446,388);
+INSERT INTO "annotation_value" VALUES(1059,446,352);
+INSERT INTO "annotation_value" VALUES(1060,446,360);
+INSERT INTO "annotation_value" VALUES(1061,446,361);
+INSERT INTO "annotation_value" VALUES(1062,446,365);
+INSERT INTO "annotation_value" VALUES(1063,446,349);
+INSERT INTO "annotation_value" VALUES(1064,446,385);
+INSERT INTO "annotation_value" VALUES(1065,446,348);
+INSERT INTO "annotation_value" VALUES(1066,446,364);
+INSERT INTO "annotation_value" VALUES(1067,446,366);
+INSERT INTO "annotation_value" VALUES(1068,446,377);
+INSERT INTO "annotation_value" VALUES(1069,446,387);
+INSERT INTO "annotation_value" VALUES(1070,446,375);
+INSERT INTO "annotation_value" VALUES(1071,446,347);
+INSERT INTO "annotation_value" VALUES(1072,446,389);
+INSERT INTO "annotation_value" VALUES(1073,446,368);
+INSERT INTO "annotation_value" VALUES(1074,446,370);
+INSERT INTO "annotation_value" VALUES(1075,446,369);
+INSERT INTO "annotation_value" VALUES(1076,446,376);
+INSERT INTO "annotation_value" VALUES(1077,446,384);
+INSERT INTO "annotation_value" VALUES(1078,447,370);
+INSERT INTO "annotation_value" VALUES(1079,447,371);
+INSERT INTO "annotation_value" VALUES(1080,447,360);
+INSERT INTO "annotation_value" VALUES(1081,447,376);
+INSERT INTO "annotation_value" VALUES(1082,447,387);
+INSERT INTO "annotation_value" VALUES(1083,447,373);
+INSERT INTO "annotation_value" VALUES(1084,447,348);
+INSERT INTO "annotation_value" VALUES(1085,447,375);
+INSERT INTO "annotation_value" VALUES(1086,447,356);
+INSERT INTO "annotation_value" VALUES(1087,447,384);
+INSERT INTO "annotation_value" VALUES(1088,447,381);
+INSERT INTO "annotation_value" VALUES(1089,447,351);
+INSERT INTO "annotation_value" VALUES(1090,447,353);
+INSERT INTO "annotation_value" VALUES(1091,447,385);
+INSERT INTO "annotation_value" VALUES(1092,447,368);
+INSERT INTO "annotation_value" VALUES(1093,447,389);
+INSERT INTO "annotation_value" VALUES(1094,447,352);
+INSERT INTO "annotation_value" VALUES(1095,447,349);
+INSERT INTO "annotation_value" VALUES(1096,447,380);
+INSERT INTO "annotation_value" VALUES(1097,447,359);
+INSERT INTO "annotation_value" VALUES(1098,447,364);
+INSERT INTO "annotation_value" VALUES(1099,447,363);
+INSERT INTO "annotation_value" VALUES(1100,447,377);
+INSERT INTO "annotation_value" VALUES(1101,447,139);
+INSERT INTO "annotation_value" VALUES(1102,447,355);
+INSERT INTO "annotation_value" VALUES(1103,447,383);
+INSERT INTO "annotation_value" VALUES(1104,447,382);
+INSERT INTO "annotation_value" VALUES(1105,447,350);
+INSERT INTO "annotation_value" VALUES(1106,447,354);
+INSERT INTO "annotation_value" VALUES(1107,447,357);
+INSERT INTO "annotation_value" VALUES(1108,447,379);
+INSERT INTO "annotation_value" VALUES(1109,447,367);
+INSERT INTO "annotation_value" VALUES(1110,447,378);
+INSERT INTO "annotation_value" VALUES(1111,447,361);
+INSERT INTO "annotation_value" VALUES(1112,447,362);
+INSERT INTO "annotation_value" VALUES(1113,447,366);
+INSERT INTO "annotation_value" VALUES(1114,447,374);
+INSERT INTO "annotation_value" VALUES(1115,447,390);
+INSERT INTO "annotation_value" VALUES(1116,447,386);
+INSERT INTO "annotation_value" VALUES(1117,447,358);
+INSERT INTO "annotation_value" VALUES(1118,447,369);
+INSERT INTO "annotation_value" VALUES(1119,447,347);
+INSERT INTO "annotation_value" VALUES(1120,447,388);
+INSERT INTO "annotation_value" VALUES(1121,447,365);
+INSERT INTO "annotation_value" VALUES(1122,447,372);
+INSERT INTO "annotation_value" VALUES(1123,448,370);
+INSERT INTO "annotation_value" VALUES(1124,448,367);
+INSERT INTO "annotation_value" VALUES(1125,448,351);
+INSERT INTO "annotation_value" VALUES(1126,448,364);
+INSERT INTO "annotation_value" VALUES(1127,448,357);
+INSERT INTO "annotation_value" VALUES(1128,448,385);
+INSERT INTO "annotation_value" VALUES(1129,448,390);
+INSERT INTO "annotation_value" VALUES(1130,448,353);
+INSERT INTO "annotation_value" VALUES(1131,448,384);
+INSERT INTO "annotation_value" VALUES(1132,448,350);
+INSERT INTO "annotation_value" VALUES(1133,448,381);
+INSERT INTO "annotation_value" VALUES(1134,448,376);
+INSERT INTO "annotation_value" VALUES(1135,448,369);
+INSERT INTO "annotation_value" VALUES(1136,448,377);
+INSERT INTO "annotation_value" VALUES(1137,448,139);
+INSERT INTO "annotation_value" VALUES(1138,448,361);
+INSERT INTO "annotation_value" VALUES(1139,448,352);
+INSERT INTO "annotation_value" VALUES(1140,448,388);
+INSERT INTO "annotation_value" VALUES(1141,448,374);
+INSERT INTO "annotation_value" VALUES(1142,448,383);
+INSERT INTO "annotation_value" VALUES(1143,448,371);
+INSERT INTO "annotation_value" VALUES(1144,448,375);
+INSERT INTO "annotation_value" VALUES(1145,448,379);
+INSERT INTO "annotation_value" VALUES(1146,448,386);
+INSERT INTO "annotation_value" VALUES(1147,448,356);
+INSERT INTO "annotation_value" VALUES(1148,448,365);
+INSERT INTO "annotation_value" VALUES(1149,448,387);
+INSERT INTO "annotation_value" VALUES(1150,448,354);
+INSERT INTO "annotation_value" VALUES(1151,448,360);
+INSERT INTO "annotation_value" VALUES(1152,448,359);
+INSERT INTO "annotation_value" VALUES(1153,448,378);
+INSERT INTO "annotation_value" VALUES(1154,448,382);
+INSERT INTO "annotation_value" VALUES(1155,448,366);
+INSERT INTO "annotation_value" VALUES(1156,448,349);
+INSERT INTO "annotation_value" VALUES(1157,448,347);
+INSERT INTO "annotation_value" VALUES(1158,448,380);
+INSERT INTO "annotation_value" VALUES(1159,448,358);
+INSERT INTO "annotation_value" VALUES(1160,448,355);
+INSERT INTO "annotation_value" VALUES(1161,448,348);
+INSERT INTO "annotation_value" VALUES(1162,448,372);
+INSERT INTO "annotation_value" VALUES(1163,448,363);
+INSERT INTO "annotation_value" VALUES(1164,448,389);
+INSERT INTO "annotation_value" VALUES(1165,448,373);
+INSERT INTO "annotation_value" VALUES(1166,448,368);
+INSERT INTO "annotation_value" VALUES(1167,448,362);
+INSERT INTO "annotation_value" VALUES(1168,449,377);
+INSERT INTO "annotation_value" VALUES(1169,449,348);
+INSERT INTO "annotation_value" VALUES(1170,449,382);
+INSERT INTO "annotation_value" VALUES(1171,449,351);
+INSERT INTO "annotation_value" VALUES(1172,449,390);
+INSERT INTO "annotation_value" VALUES(1173,449,361);
+INSERT INTO "annotation_value" VALUES(1174,449,347);
+INSERT INTO "annotation_value" VALUES(1175,449,352);
+INSERT INTO "annotation_value" VALUES(1176,449,379);
+INSERT INTO "annotation_value" VALUES(1177,449,372);
+INSERT INTO "annotation_value" VALUES(1178,449,365);
+INSERT INTO "annotation_value" VALUES(1179,449,376);
+INSERT INTO "annotation_value" VALUES(1180,449,363);
+INSERT INTO "annotation_value" VALUES(1181,449,387);
+INSERT INTO "annotation_value" VALUES(1182,449,368);
+INSERT INTO "annotation_value" VALUES(1183,449,386);
+INSERT INTO "annotation_value" VALUES(1184,449,384);
+INSERT INTO "annotation_value" VALUES(1185,449,389);
+INSERT INTO "annotation_value" VALUES(1186,449,360);
+INSERT INTO "annotation_value" VALUES(1187,449,358);
+INSERT INTO "annotation_value" VALUES(1188,449,139);
+INSERT INTO "annotation_value" VALUES(1189,449,380);
+INSERT INTO "annotation_value" VALUES(1190,449,353);
+INSERT INTO "annotation_value" VALUES(1191,449,359);
+INSERT INTO "annotation_value" VALUES(1192,449,375);
+INSERT INTO "annotation_value" VALUES(1193,449,371);
+INSERT INTO "annotation_value" VALUES(1194,449,355);
+INSERT INTO "annotation_value" VALUES(1195,449,354);
+INSERT INTO "annotation_value" VALUES(1196,449,349);
+INSERT INTO "annotation_value" VALUES(1197,449,385);
+INSERT INTO "annotation_value" VALUES(1198,449,378);
+INSERT INTO "annotation_value" VALUES(1199,449,367);
+INSERT INTO "annotation_value" VALUES(1200,449,374);
+INSERT INTO "annotation_value" VALUES(1201,449,370);
+INSERT INTO "annotation_value" VALUES(1202,449,364);
+INSERT INTO "annotation_value" VALUES(1203,449,366);
+INSERT INTO "annotation_value" VALUES(1204,449,383);
+INSERT INTO "annotation_value" VALUES(1205,449,362);
+INSERT INTO "annotation_value" VALUES(1206,449,381);
+INSERT INTO "annotation_value" VALUES(1207,449,388);
+INSERT INTO "annotation_value" VALUES(1208,449,357);
+INSERT INTO "annotation_value" VALUES(1209,449,350);
+INSERT INTO "annotation_value" VALUES(1210,449,356);
+INSERT INTO "annotation_value" VALUES(1211,449,373);
+INSERT INTO "annotation_value" VALUES(1212,449,369);
+INSERT INTO "annotation_value" VALUES(1213,450,389);
+INSERT INTO "annotation_value" VALUES(1214,450,360);
+INSERT INTO "annotation_value" VALUES(1215,450,370);
+INSERT INTO "annotation_value" VALUES(1216,450,390);
+INSERT INTO "annotation_value" VALUES(1217,450,372);
+INSERT INTO "annotation_value" VALUES(1218,450,375);
+INSERT INTO "annotation_value" VALUES(1219,450,381);
+INSERT INTO "annotation_value" VALUES(1220,450,362);
+INSERT INTO "annotation_value" VALUES(1221,450,353);
+INSERT INTO "annotation_value" VALUES(1222,450,388);
+INSERT INTO "annotation_value" VALUES(1223,450,377);
+INSERT INTO "annotation_value" VALUES(1224,450,351);
+INSERT INTO "annotation_value" VALUES(1225,450,358);
+INSERT INTO "annotation_value" VALUES(1226,450,139);
+INSERT INTO "annotation_value" VALUES(1227,450,357);
+INSERT INTO "annotation_value" VALUES(1228,450,385);
+INSERT INTO "annotation_value" VALUES(1229,450,366);
+INSERT INTO "annotation_value" VALUES(1230,450,365);
+INSERT INTO "annotation_value" VALUES(1231,450,363);
+INSERT INTO "annotation_value" VALUES(1232,450,387);
+INSERT INTO "annotation_value" VALUES(1233,450,364);
+INSERT INTO "annotation_value" VALUES(1234,450,354);
+INSERT INTO "annotation_value" VALUES(1235,450,386);
+INSERT INTO "annotation_value" VALUES(1236,450,382);
+INSERT INTO "annotation_value" VALUES(1237,450,361);
+INSERT INTO "annotation_value" VALUES(1238,450,384);
+INSERT INTO "annotation_value" VALUES(1239,450,368);
+INSERT INTO "annotation_value" VALUES(1240,450,347);
+INSERT INTO "annotation_value" VALUES(1241,450,374);
+INSERT INTO "annotation_value" VALUES(1242,450,369);
+INSERT INTO "annotation_value" VALUES(1243,450,376);
+INSERT INTO "annotation_value" VALUES(1244,450,355);
+INSERT INTO "annotation_value" VALUES(1245,450,349);
+INSERT INTO "annotation_value" VALUES(1246,450,350);
+INSERT INTO "annotation_value" VALUES(1247,450,356);
+INSERT INTO "annotation_value" VALUES(1248,450,378);
+INSERT INTO "annotation_value" VALUES(1249,450,379);
+INSERT INTO "annotation_value" VALUES(1250,450,373);
+INSERT INTO "annotation_value" VALUES(1251,450,352);
+INSERT INTO "annotation_value" VALUES(1252,450,359);
+INSERT INTO "annotation_value" VALUES(1253,450,380);
+INSERT INTO "annotation_value" VALUES(1254,450,371);
+INSERT INTO "annotation_value" VALUES(1255,450,383);
+INSERT INTO "annotation_value" VALUES(1256,450,348);
+INSERT INTO "annotation_value" VALUES(1257,450,367);
+INSERT INTO "annotation_value" VALUES(1258,451,389);
+INSERT INTO "annotation_value" VALUES(1259,451,350);
+INSERT INTO "annotation_value" VALUES(1260,451,381);
+INSERT INTO "annotation_value" VALUES(1261,451,385);
+INSERT INTO "annotation_value" VALUES(1262,451,356);
+INSERT INTO "annotation_value" VALUES(1263,451,372);
+INSERT INTO "annotation_value" VALUES(1264,451,374);
+INSERT INTO "annotation_value" VALUES(1265,451,355);
+INSERT INTO "annotation_value" VALUES(1266,451,354);
+INSERT INTO "annotation_value" VALUES(1267,451,388);
+INSERT INTO "annotation_value" VALUES(1268,451,364);
+INSERT INTO "annotation_value" VALUES(1269,451,361);
+INSERT INTO "annotation_value" VALUES(1270,451,366);
+INSERT INTO "annotation_value" VALUES(1271,451,368);
+INSERT INTO "annotation_value" VALUES(1272,451,373);
+INSERT INTO "annotation_value" VALUES(1273,451,384);
+INSERT INTO "annotation_value" VALUES(1274,451,351);
+INSERT INTO "annotation_value" VALUES(1275,451,369);
+INSERT INTO "annotation_value" VALUES(1276,451,363);
+INSERT INTO "annotation_value" VALUES(1277,451,352);
+INSERT INTO "annotation_value" VALUES(1278,451,376);
+INSERT INTO "annotation_value" VALUES(1279,451,362);
+INSERT INTO "annotation_value" VALUES(1280,451,382);
+INSERT INTO "annotation_value" VALUES(1281,451,378);
+INSERT INTO "annotation_value" VALUES(1282,451,139);
+INSERT INTO "annotation_value" VALUES(1283,451,390);
+INSERT INTO "annotation_value" VALUES(1284,451,359);
+INSERT INTO "annotation_value" VALUES(1285,451,383);
+INSERT INTO "annotation_value" VALUES(1286,451,387);
+INSERT INTO "annotation_value" VALUES(1287,451,371);
+INSERT INTO "annotation_value" VALUES(1288,451,367);
+INSERT INTO "annotation_value" VALUES(1289,451,353);
+INSERT INTO "annotation_value" VALUES(1290,451,349);
+INSERT INTO "annotation_value" VALUES(1291,451,365);
+INSERT INTO "annotation_value" VALUES(1292,451,380);
+INSERT INTO "annotation_value" VALUES(1293,451,358);
+INSERT INTO "annotation_value" VALUES(1294,451,386);
+INSERT INTO "annotation_value" VALUES(1295,451,379);
+INSERT INTO "annotation_value" VALUES(1296,451,347);
+INSERT INTO "annotation_value" VALUES(1297,451,375);
+INSERT INTO "annotation_value" VALUES(1298,451,357);
+INSERT INTO "annotation_value" VALUES(1299,451,348);
+INSERT INTO "annotation_value" VALUES(1300,451,377);
+INSERT INTO "annotation_value" VALUES(1301,451,370);
+INSERT INTO "annotation_value" VALUES(1302,451,360);
diff --git a/src/main/resources/db/sqlite/V1.10__oauth2_alteration.sql b/src/main/resources/db/sqlite/V1.10__oauth2_alteration.sql
new file mode 100644
index 0000000..2cedafa
--- /dev/null
+++ b/src/main/resources/db/sqlite/V1.10__oauth2_alteration.sql
@@ -0,0 +1,36 @@
+CREATE TABLE IF NOT EXISTS oauth2_refresh_token_scope_new (
+ token_id INTEGER NOT NULL,
+ scope_id VARCHAR(100) NOT NULL,
+ FOREIGN KEY (token_id)
+ REFERENCES oauth2_refresh_token(id)
+ ON DELETE CASCADE
+ FOREIGN KEY (scope_id)
+ REFERENCES oauth2_access_scope(id)
+ ON DELETE CASCADE
+ CONSTRAINT primary_key PRIMARY KEY (token_id, scope_id)
+);
+
+INSERT INTO oauth2_refresh_token_scope_new SELECT * FROM oauth2_refresh_token_scope;
+
+DROP TABLE oauth2_refresh_token_scope;
+
+ALTER TABLE oauth2_refresh_token_scope_new RENAME TO oauth2_refresh_token_scope;
+
+
+CREATE TABLE IF NOT EXISTS oauth2_access_token_scope_new (
+ token_id INTEGER NOT NULL,
+ scope_id VARCHAR(100) NOT NULL,
+ FOREIGN KEY (token_id)
+ REFERENCES oauth2_access_token(id)
+ ON DELETE CASCADE
+ FOREIGN KEY (scope_id)
+ REFERENCES oauth2_access_scope(id)
+ ON DELETE CASCADE
+ CONSTRAINT primary_key PRIMARY KEY (token_id, scope_id)
+);
+
+INSERT INTO oauth2_access_token_scope_new SELECT * FROM oauth2_access_token_scope;
+
+DROP TABLE oauth2_access_token_scope;
+
+ALTER TABLE oauth2_access_token_scope_new RENAME TO oauth2_access_token_scope;
diff --git a/src/main/resources/db/sqlite/V1.11__oauth2_client_alteration.sql b/src/main/resources/db/sqlite/V1.11__oauth2_client_alteration.sql
new file mode 100644
index 0000000..7bcde43
--- /dev/null
+++ b/src/main/resources/db/sqlite/V1.11__oauth2_client_alteration.sql
@@ -0,0 +1,25 @@
+CREATE TABLE IF NOT EXISTS oauth2_client_new (
+ id VARCHAR(100) PRIMARY KEY NOT NULL,
+ name VARCHAR(100) NOT NULL,
+ secret VARCHAR(255) DEFAULT NULL,
+ type VARCHAR(50) NOT NULL,
+ super BOOLEAN DEFAULT FALSE,
+ redirect_uri TEXT DEFAULT NULL,
+ description VARCHAR(255) NOT NULL,
+ registered_by VARCHAR(100) NOT NULL,
+ --url_hashcode INTEGER,
+ url TEXT DEFAULT NULL,
+ registration_date TIMESTAMP,
+ refresh_token_expiry INTEGER DEFAULT 31536000,
+ source BLOB DEFAULT NULL,
+ is_permitted BOOLEAN DEFAULT FALSE
+);
+
+INSERT INTO oauth2_client_new(id,name,secret,type,super,redirect_uri,description,registered_by,url)
+ SELECT id,name,secret,type,super,redirect_uri,description,registered_by,url FROM oauth2_client;
+
+UPDATE oauth2_client_new SET registration_date = CURRENT_TIMESTAMP;
+
+DROP TABLE oauth2_client;
+
+ALTER TABLE oauth2_client_new RENAME TO oauth2_client;
\ No newline at end of file
diff --git a/src/main/resources/db/sqlite/V1.12__plugins.sql b/src/main/resources/db/sqlite/V1.12__plugins.sql
new file mode 100644
index 0000000..1de97b4
--- /dev/null
+++ b/src/main/resources/db/sqlite/V1.12__plugins.sql
@@ -0,0 +1,15 @@
+CREATE TABLE IF NOT EXISTS installed_plugin (
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
+ installed_by VARCHAR(100) NOT NULL,
+ installed_date TIMESTAMP NOT NULL,
+ client_id VARCHAR(100) NOT NULL,
+ super_client_id VARCHAR(100) NOT NULL,
+ FOREIGN KEY (client_id)
+ REFERENCES oauth2_client(id)
+ ON DELETE CASCADE
+ FOREIGN KEY (super_client_id)
+ REFERENCES oauth2_client(id)
+ ON DELETE CASCADE
+);
+CREATE UNIQUE INDEX IF NOT EXISTS unique_installed_plugin
+ on installed_plugin(installed_by,client_id,super_client_id);
diff --git a/src/main/resources/db/sqlite/V1.1__create_virtual_corpus_tables.sql b/src/main/resources/db/sqlite/V1.1__create_virtual_corpus_tables.sql
new file mode 100644
index 0000000..2a62319
--- /dev/null
+++ b/src/main/resources/db/sqlite/V1.1__create_virtual_corpus_tables.sql
@@ -0,0 +1,106 @@
+CREATE TABLE IF NOT EXISTS role (
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
+ name VARCHAR(100) NOT NULL
+);
+
+CREATE UNIQUE INDEX IF NOT EXISTS role_index on role(name);
+
+CREATE TABLE IF NOT EXISTS privilege (
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
+ name VARCHAR(20) NOT NULL,
+ role_id INTEGER NOT NULL,
+ FOREIGN KEY (role_id)
+ REFERENCES role (id)
+ ON DELETE CASCADE
+);
+
+CREATE UNIQUE INDEX IF NOT EXISTS privilege_index on privilege(name, role_id);
+
+
+CREATE TABLE IF NOT EXISTS user_group (
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
+ name VARCHAR(100) NOT NULL,
+ description VARCHAR(255)DEFAULT NULL,
+ status VARCHAR(100) NOT NULL,
+ created_by VARCHAR(100) NOT NULL,
+ deleted_by VARCHAR(100) DEFAULT NULL
+);
+
+CREATE INDEX IF NOT EXISTS user_group_index ON user_group(status);
+CREATE UNIQUE INDEX IF NOT EXISTS user_group_name on user_group(name);
+
+
+CREATE TABLE IF NOT EXISTS user_group_member (
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
+ user_id VARCHAR(100) NOT NULL,
+ group_id INTEGER NOT NULL,
+ status VARCHAR(100) NOT NULL,
+ created_by VARCHAR(100) NOT NULL,
+ deleted_by VARCHAR(100) DEFAULT NULL,
+-- interprets now as localtime and save it as UTC
+ status_date timestamp DEFAULT (datetime('now','localtime')),
+ FOREIGN KEY (group_id)
+ REFERENCES user_group (id)
+ ON DELETE CASCADE
+);
+
+CREATE UNIQUE INDEX IF NOT EXISTS user_group_member_index
+ ON user_group_member(user_id,group_id);
+CREATE INDEX IF NOT EXISTS user_group_member_status_index
+ ON user_group_member(status);
+
+CREATE TABLE IF NOT EXISTS group_member_role (
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
+ group_member_id INTEGER NOT NULL,
+ role_id INTEGER NOT NULL,
+ FOREIGN KEY (group_member_id)
+ REFERENCES user_group_member (id)
+ ON DELETE CASCADE,
+ FOREIGN KEY (role_id)
+ REFERENCES role (id)
+ ON DELETE CASCADE
+);
+
+CREATE UNIQUE INDEX IF NOT EXISTS group_member_role_index
+ ON group_member_role(group_member_id,role_id);
+
+
+CREATE TABLE IF NOT EXISTS virtual_corpus (
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
+ name VARCHAR(255) NOT NULL,
+ type VARCHAR(100) NOT NULL,
+ required_access VARCHAR(100) NOT NULL,
+ created_by VARCHAR(100) NOT NULL,
+ description VARCHAR(255) DEFAULT NULL,
+ status VARCHAR(100) DEFAULT NULL,
+ corpus_query TEXT NOT NULL,
+ definition VARCHAR(255) DEFAULT NULL,
+ is_cached BOOLEAN DEFAULT 0
+);
+
+--CREATE INDEX IF NOT EXISTS virtual_corpus_owner_index ON virtual_corpus(created_by);
+--CREATE INDEX IF NOT EXISTS virtual_corpus_type_index ON virtual_corpus(type);
+--CREATE UNIQUE INDEX IF NOT EXISTS virtual_corpus_unique_name
+-- ON virtual_corpus(name,created_by);
+
+CREATE TABLE IF NOT EXISTS virtual_corpus_access (
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
+ virtual_corpus_id INTEGER NOT NULL,
+ user_group_id INTEGER NOT NULL,
+ status VARCHAR(100) NOT NULL,
+ created_by VARCHAR(100) NOT NULL,
+ approved_by VARCHAR(100) DEFAULT NULL,
+ deleted_by VARCHAR(100) DEFAULT NULL,
+ FOREIGN KEY (user_group_id)
+ REFERENCES user_group (id)
+ ON DELETE CASCADE,
+ FOREIGN KEY (virtual_corpus_id)
+ REFERENCES virtual_corpus (id)
+ ON DELETE CASCADE
+);
+
+CREATE INDEX IF NOT EXISTS virtual_corpus_status_index
+ ON virtual_corpus_access(status);
+CREATE UNIQUE INDEX IF NOT EXISTS virtual_corpus_access_unique_index
+ ON virtual_corpus_access(virtual_corpus_id,user_group_id);
+
diff --git a/src/main/resources/db/sqlite/V1.2__triggers.sql b/src/main/resources/db/sqlite/V1.2__triggers.sql
new file mode 100644
index 0000000..d2e9b6d
--- /dev/null
+++ b/src/main/resources/db/sqlite/V1.2__triggers.sql
@@ -0,0 +1,22 @@
+CREATE TRIGGER IF NOT EXISTS insert_member_status AFTER INSERT ON user_group_member
+ BEGIN
+ UPDATE user_group_member
+ SET status_date = DATETIME('now', 'localtime')
+ WHERE rowid = new.rowid;
+ END;
+
+CREATE TRIGGER IF NOT EXISTS update_member_status AFTER UPDATE ON user_group_member
+ BEGIN
+ UPDATE user_group_member
+ SET status_date = (datetime('now','localtime'))
+ WHERE rowid = old.rowid;
+ END;
+
+CREATE TRIGGER IF NOT EXISTS delete_member AFTER UPDATE ON user_group
+ WHEN new.status = "DELETED" AND old.status <> "DELETED"
+ BEGIN
+ UPDATE user_group_member
+ SET status = "DELETED"
+ WHERE group_id = new.id;
+ END;
+
\ No newline at end of file
diff --git a/src/main/resources/db/sqlite/V1.3__create_admin_table.sql b/src/main/resources/db/sqlite/V1.3__create_admin_table.sql
new file mode 100644
index 0000000..5066799
--- /dev/null
+++ b/src/main/resources/db/sqlite/V1.3__create_admin_table.sql
@@ -0,0 +1,6 @@
+CREATE TABLE IF NOT EXISTS admin(
+ id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
+ user_id VARCHAR(100) NOT NULL
+);
+
+CREATE UNIQUE INDEX IF NOT EXISTS admin_index on admin(user_id);
\ No newline at end of file
diff --git a/src/main/resources/db/sqlite/V1.4__oauth2_tables.sql b/src/main/resources/db/sqlite/V1.4__oauth2_tables.sql
new file mode 100644
index 0000000..58b8ccf
--- /dev/null
+++ b/src/main/resources/db/sqlite/V1.4__oauth2_tables.sql
@@ -0,0 +1,98 @@
+-- EM: modified from Michael Hanl version
+
+-- oauth2 db tables
+CREATE TABLE IF NOT EXISTS oauth2_client (
+ id VARCHAR(100) PRIMARY KEY NOT NULL,
+ name VARCHAR(100) NOT NULL,
+ secret VARCHAR(255) DEFAULT NULL,
+ type VARCHAR(50) NOT NULL,
+ super BOOLEAN DEFAULT FALSE,
+ redirect_uri TEXT DEFAULT NULL,
+ description VARCHAR(255) NOT NULL,
+ registered_by VARCHAR(100) NOT NULL,
+ --url_hashcode INTEGER,
+ url TEXT DEFAULT NULL
+);
+
+--CREATE UNIQUE INDEX client_url_index on oauth2_client(url_hashcode);
+
+CREATE TABLE IF NOT EXISTS oauth2_access_scope (
+ id VARCHAR(100) PRIMARY KEY NOT NULL
+);
+
+-- authorization tables are not needed if using cache
+
+--CREATE TABLE IF NOT EXISTS oauth2_authorization (
+-- id INTEGER PRIMARY KEY AUTOINCREMENT,
+-- code VARCHAR(255) NOT NULL,
+-- client_id VARCHAR(100) NOT NULL,
+-- user_id VARCHAR(100) NOT NULL,
+-- redirect_uri TEXT DEFAULT NULL,
+-- created_date TIMESTAMP NOT NULL,
+-- expiry_date TIMESTAMP NOT NULL,
+-- is_revoked BOOLEAN DEFAULT 0,
+-- total_attempts INTEGER DEFAULT 0,
+-- user_auth_time TIMESTAMP NOT NULL,
+-- nonce TEXT DEFAULT NULL,
+-- FOREIGN KEY (client_id)
+-- REFERENCES oauth2_client(id)
+--);
+--
+--CREATE UNIQUE INDEX authorization_index on oauth2_authorization(code, client_id);
+--
+--CREATE TABLE IF NOT EXISTS oauth2_authorization_scope (
+-- id INTEGER PRIMARY KEY AUTOINCREMENT,
+-- authorization_id INTEGER NOT NULL,
+-- scope_id VARCHAR(100) NOT NULL,
+-- FOREIGN KEY (authorization_id)
+-- REFERENCES oauth2_authorization(id),
+-- FOREIGN KEY (scope_id)
+-- REFERENCES oauth2_access_scope(id)
+--);
+--
+--CREATE UNIQUE INDEX authorization_scope_index on
+-- oauth2_authorization_scope(authorization_id, scope_id);
+
+CREATE TABLE IF NOT EXISTS oauth2_refresh_token (
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
+ token VARCHAR(255) NOT NULL,
+ user_id VARCHAR(100) DEFAULT NULL,
+ user_auth_time TIMESTAMP NOT NULL,
+ created_date TIMESTAMP NOT NULL,
+ expiry_date TIMESTAMP NULL,
+ is_revoked BOOLEAN DEFAULT 0,
+ client VARCHAR(100) NOT NULL,
+ FOREIGN KEY (client)
+ REFERENCES oauth2_client(id)
+ ON DELETE CASCADE
+);
+
+CREATE TABLE IF NOT EXISTS oauth2_refresh_token_scope (
+ token_id INTEGER NOT NULL,
+ scope_id VARCHAR(100) NOT NULL,
+ CONSTRAINT primary_key PRIMARY KEY (token_id, scope_id)
+);
+
+CREATE TABLE IF NOT EXISTS oauth2_access_token (
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
+ token VARCHAR(255) NOT NULL,
+ user_id VARCHAR(100) DEFAULT NULL,
+ created_date TIMESTAMP NOT NULL,
+ expiry_date TIMESTAMP NOT NULL,
+ is_revoked BOOLEAN DEFAULT 0,
+ user_auth_time TIMESTAMP NOT NULL,
+ refresh_token INTEGER DEFAULT NULL,
+ client VARCHAR(100) DEFAULT NULL,
+ FOREIGN KEY (client)
+ REFERENCES oauth2_client(id)
+ ON DELETE CASCADE
+ FOREIGN KEY (refresh_token)
+ REFERENCES oauth2_refresh_token(id)
+);
+
+CREATE TABLE IF NOT EXISTS oauth2_access_token_scope (
+ token_id INTEGER NOT NULL,
+ scope_id VARCHAR(100) NOT NULL,
+ CONSTRAINT primary_key PRIMARY KEY (token_id, scope_id)
+);
+
diff --git a/src/main/resources/db/sqlite/V1.5__oauth2_triggers.sql b/src/main/resources/db/sqlite/V1.5__oauth2_triggers.sql
new file mode 100644
index 0000000..96329af
--- /dev/null
+++ b/src/main/resources/db/sqlite/V1.5__oauth2_triggers.sql
@@ -0,0 +1,15 @@
+--CREATE TRIGGER insert_authorization_date AFTER INSERT ON oauth2_authorization
+-- BEGIN
+-- UPDATE oauth2_authorization
+-- SET created_date = DATETIME('now', 'localtime')
+-- WHERE rowid = new.rowid;
+-- END;
+--
+--
+--CREATE TRIGGER insert_access_token_date AFTER INSERT ON oauth2_access_token
+-- BEGIN
+-- UPDATE oauth2_access_token
+-- SET created_date = DATETIME('now', 'localtime')
+-- WHERE rowid = new.rowid;
+-- END;
+
\ No newline at end of file
diff --git a/src/main/resources/db/sqlite/V1.6__user_tables.sql b/src/main/resources/db/sqlite/V1.6__user_tables.sql
new file mode 100644
index 0000000..9df4a20
--- /dev/null
+++ b/src/main/resources/db/sqlite/V1.6__user_tables.sql
@@ -0,0 +1,4 @@
+CREATE TABLE IF NOT EXISTS default_setting (
+ username VARCHAR(100) PRIMARY KEY,
+ settings TEXT NOT NULL
+);
\ No newline at end of file
diff --git a/src/main/resources/db/sqlite/V1.7__query_references.sql b/src/main/resources/db/sqlite/V1.7__query_references.sql
new file mode 100644
index 0000000..5d71fc6
--- /dev/null
+++ b/src/main/resources/db/sqlite/V1.7__query_references.sql
@@ -0,0 +1,16 @@
+--CREATE TABLE IF NOT EXISTS query_reference (
+-- id INTEGER PRIMARY KEY AUTOINCREMENT,
+-- name VARCHAR(255) NOT NULL,
+-- type VARCHAR(100) NOT NULL,
+-- required_access VARCHAR(100) NOT NULL,
+-- created_by VARCHAR(100) NOT NULL,
+-- description VARCHAR(255) DEFAULT NULL,
+-- status VARCHAR(100) DEFAULT NULL,
+-- query TEXT NOT NULL,
+-- definition VARCHAR(255) DEFAULT NULL
+--);
+--
+--CREATE INDEX query_reference_owner_index ON query_reference(created_by);
+--CREATE INDEX query_reference_type_index ON query_reference(type);
+--CREATE UNIQUE INDEX query_reference_unique_name
+-- ON query_reference(name,created_by);
\ No newline at end of file
diff --git a/src/main/resources/db/sqlite/V1.8__oauth2_alteration.sql b/src/main/resources/db/sqlite/V1.8__oauth2_alteration.sql
new file mode 100644
index 0000000..3c0eaaa
--- /dev/null
+++ b/src/main/resources/db/sqlite/V1.8__oauth2_alteration.sql
@@ -0,0 +1,3 @@
+-- ND:2020-04-15
+-- Needs to be dropped as null-URLs result in non-unique hash codes
+DROP INDEX IF EXISTS client_url_index;
\ No newline at end of file
diff --git a/src/main/resources/db/sqlite/V1.9__query_alteration.sql b/src/main/resources/db/sqlite/V1.9__query_alteration.sql
new file mode 100644
index 0000000..02cf486
--- /dev/null
+++ b/src/main/resources/db/sqlite/V1.9__query_alteration.sql
@@ -0,0 +1,37 @@
+ALTER TABLE virtual_corpus
+ADD COLUMN query_type VARCHAR(100) NOT NULL;
+
+ALTER TABLE virtual_corpus
+ADD COLUMN query TEXT DEFAULT NULL;
+
+ALTER TABLE virtual_corpus
+ADD COLUMN query_language VARCHAR(100) DEFAULT NULL;
+
+ALTER TABLE virtual_corpus
+RENAME COLUMN corpus_query TO koral_query;
+
+ALTER TABLE virtual_corpus
+RENAME TO query;
+
+DROP INDEX IF EXISTS virtual_corpus_owner_index;
+DROP INDEX IF EXISTS virtual_corpus_type_index;
+DROP INDEX IF EXISTS virtual_corpus_unique_name;
+
+CREATE INDEX IF NOT EXISTS query_owner_index ON query(created_by);
+CREATE INDEX IF NOT EXISTS query_type_index ON query(type);
+CREATE UNIQUE INDEX IF NOT EXISTS query_unique_name
+ ON query(name,created_by);
+
+
+ALTER TABLE virtual_corpus_access
+RENAME COLUMN virtual_corpus_id TO query_id;
+
+ALTER TABLE virtual_corpus_access
+RENAME TO query_access;
+
+
+DROP TABLE IF EXISTS query_reference;
+
+DROP INDEX IF EXISTS query_reference_owner_index;
+DROP INDEX IF EXISTS query_reference_type_index;
+DROP INDEX IF EXISTS query_reference_unique_name;
\ No newline at end of file
diff --git a/src/main/resources/db/sqlite/V1__initial_version.sql b/src/main/resources/db/sqlite/V1__initial_version.sql
new file mode 100644
index 0000000..1930f39
--- /dev/null
+++ b/src/main/resources/db/sqlite/V1__initial_version.sql
@@ -0,0 +1,75 @@
+ CREATE TABLE IF NOT EXISTS annotation(
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
+ code VARCHAR(20) NOT NULL,
+ type VARCHAR(20) NOT NULL,
+ text VARCHAR(20) NULL,
+ description VARCHAR(100) NOT NULL,
+ de_description VARCHAR(100)
+);
+
+CREATE UNIQUE INDEX annotation_index ON annotation (code, type);
+
+CREATE TABLE IF NOT EXISTS annotation_layer(
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
+ foundry_id INTEGER NOT NULL,
+ layer_id INTEGER NOT NULL,
+ description VARCHAR(255) NOT NULL,
+ FOREIGN KEY (foundry_id)
+ REFERENCES annotation (id)
+ ON DELETE CASCADE,
+ FOREIGN KEY (layer_id)
+ REFERENCES annotation (id)
+ ON DELETE CASCADE
+);
+
+CREATE UNIQUE INDEX annotation_layer_index ON annotation_layer (foundry_id, layer_id);
+
+CREATE TABLE IF NOT EXISTS annotation_key(
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
+ layer_id INTEGER NOT NULL,
+ key_id INTEGER NOT NULL,
+ FOREIGN KEY (layer_id)
+ REFERENCES annotation_layer (id)
+ ON DELETE CASCADE,
+ FOREIGN KEY (key_id)
+ REFERENCES annotation (id)
+ ON DELETE CASCADE
+);
+
+CREATE UNIQUE INDEX annotation_key_index ON annotation_key (layer_id, key_id);
+
+CREATE TABLE IF NOT EXISTS annotation_value(
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
+ key_id INTEGER NOT NULL,
+ value_id INTEGER NOT NULL,
+ FOREIGN KEY (key_id)
+ REFERENCES annotation_key (id)
+ ON DELETE CASCADE,
+ FOREIGN KEY (value_id)
+ REFERENCES annotation (id)
+ ON DELETE CASCADE
+);
+
+CREATE UNIQUE INDEX annotation_value_index ON annotation_value (key_id, value_id);
+
+CREATE TABLE resource(
+ id VARCHAR(100) PRIMARY KEY UNIQUE NOT NULL,
+ de_title VARCHAR(100) NOT NULL,
+ en_title VARCHAR(100) NOT NULL,
+ en_description VARCHAR(100)
+);
+
+CREATE TABLE resource_layer(
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
+ resource_id VARCHAR(100) NOT NULL,
+ layer_id INTEGER NOT NULL,
+ FOREIGN KEY (resource_id)
+ REFERENCES resource (id)
+ ON DELETE CASCADE,
+ FOREIGN KEY (layer_id)
+ REFERENCES annotation_layer (id)
+ ON DELETE CASCADE
+);
+
+CREATE UNIQUE INDEX resource_layer_index ON resource_layer (resource_id, layer_id);
+
diff --git a/src/main/resources/db/test/V3.1__insert_virtual_corpus.sql b/src/main/resources/db/test/V3.1__insert_virtual_corpus.sql
new file mode 100644
index 0000000..d9d2c13
--- /dev/null
+++ b/src/main/resources/db/test/V3.1__insert_virtual_corpus.sql
@@ -0,0 +1,118 @@
+-- dummy data only for testing
+
+-- user groups
+INSERT INTO user_group(name,status,created_by)
+ VALUES ("marlin-group","ACTIVE","marlin");
+
+INSERT INTO user_group(name,status,created_by)
+ VALUES ("dory-group","ACTIVE","dory");
+
+INSERT INTO user_group(name,status,created_by)
+ VALUES ("auto-group","HIDDEN","system");
+
+--INSERT INTO user_group(name,status,created_by)
+-- VALUES ("all users","HIDDEN","system");
+
+INSERT INTO user_group(name,status,created_by, deleted_by)
+ VALUES ("deleted-group","DELETED","dory", "dory");
+
+
+
+-- user group members
+INSERT INTO user_group_member(user_id, group_id, status, created_by)
+ SELECT "marlin",
+ (SELECT id from user_group where name = "marlin-group"),
+ "ACTIVE","marlin";
+
+INSERT INTO user_group_member(user_id, group_id, status, created_by)
+ SELECT "dory",
+ (SELECT id from user_group where name = "marlin-group"),
+ "ACTIVE","marlin";
+
+INSERT INTO user_group_member(user_id, group_id, status, created_by)
+ SELECT "dory",
+ (SELECT id from user_group where name = "dory-group"),
+ "ACTIVE","dory";
+
+INSERT INTO user_group_member(user_id, group_id, status, created_by)
+ SELECT "nemo",
+ (SELECT id from user_group where name = "dory-group"),
+ "ACTIVE","dory";
+
+INSERT INTO user_group_member(user_id, group_id, status, created_by)
+ SELECT "marlin",
+ (SELECT id from user_group where name = "dory-group"),
+ "PENDING","dory";
+
+INSERT INTO user_group_member(user_id, group_id, status, created_by, deleted_by)
+ SELECT "pearl",
+ (SELECT id from user_group where name = "dory-group"),
+ "DELETED","dory", "pearl";
+
+INSERT INTO user_group_member(user_id, group_id, status, created_by)
+ SELECT "pearl",
+ (SELECT id from user_group where name = "auto-group"),
+ "ACTIVE","system";
+
+INSERT INTO user_group_member(user_id, group_id, status, created_by)
+ SELECT "dory",
+ (SELECT id from user_group where name = "deleted-group"),
+ "ACTIVE","dory";
+
+
+-- virtual corpora
+INSERT INTO query(name, type, query_type, required_access, created_by, description, status, koral_query)
+ VALUES ("dory-vc", "PRIVATE", "VIRTUAL_CORPUS", "FREE", "dory", "test vc", "experimental",
+ '{"collection": { "@type": "koral:docGroup", "operands": [ { "@type": "koral:doc", "key": "corpusSigle", "match": "match:eq", "value": "GOE" }, { "@type": "koral:doc", "key": "creationDate", "match": "match:geq", "type": "type:date", "value": "1820" } ], "operation": "operation:and" }}');
+
+INSERT INTO query(name, type, query_type, required_access, created_by, description, status, koral_query)
+ VALUES ("group-vc", "PROJECT", "VIRTUAL_CORPUS", "PUB", "dory", "test vc", "experimental",
+ '{"collection": { "@type": "koral:docGroup", "operands": [ { "@type": "koral:doc", "key": "corpusSigle", "match": "match:eq", "value": "GOE" }, { "@type": "koral:doc", "key": "creationDate", "match": "match:leq", "type": "type:date", "value": "1810" } ], "operation": "operation:and" }}');
+
+INSERT INTO query(name, type, query_type, required_access, created_by, description, status, koral_query)
+ VALUES ("system-vc", "SYSTEM", "VIRTUAL_CORPUS", "ALL", "system", "test vc", "experimental",
+ '{"collection":{"@type":"koral:doc","value":"GOE","match":"match:eq","key":"corpusSigle"}}');
+
+INSERT INTO query(name, type, query_type, required_access, created_by, description, status, koral_query)
+ VALUES ("published-vc", "PUBLISHED", "VIRTUAL_CORPUS", "ALL", "marlin", "test vc", "experimental",
+ '{"collection":{"@type":"koral:doc","value":"GOE","match":"match:eq","key":"corpusSigle"}}');
+
+INSERT INTO query(name, type, query_type, required_access, created_by, description, status, koral_query)
+ VALUES ("marlin-vc", "PRIVATE", "VIRTUAL_CORPUS", "FREE", "marlin", "marlin test share vc", "experimental",
+ '{"collection": { "@type": "koral:docGroup", "operands": [ { "@type": "koral:doc", "key": "corpusSigle", "match": "match:eq", "value": "GOE" }, { "@type": "koral:doc", "key": "creationDate", "match": "match:geq", "type": "type:date", "value": "1820" } ], "operation": "operation:and" }}');
+
+INSERT INTO query(name, type, query_type, required_access, created_by, description, status, koral_query)
+ VALUES ("nemo-vc", "PRIVATE", "VIRTUAL_CORPUS", "ALL", "nemo", "nemo test vc", "experimental",
+ '{"collection":{"@type":"koral:doc","value":"GOE","match":"match:eq","key":"corpusSigle"}}');
+
+-- virtual corpus access
+INSERT INTO query_access(query_id, user_group_id, status, created_by)
+ SELECT
+ (SELECT id from query where name = "group-vc"),
+ (SELECT id from user_group where name = "dory-group"),
+ "ACTIVE", "dory";
+
+--INSERT INTO query_access(query_id, user_group_id, status, created_by)
+-- SELECT
+-- (SELECT id from query where name = "system-vc"),
+-- (SELECT id from user_group where name = "all users"),
+-- "ACTIVE", "system";
+
+INSERT INTO query_access(query_id, user_group_id, status, created_by)
+ SELECT
+ (SELECT id from query where name = "published-vc"),
+ (SELECT id from user_group where name = "marlin-group"),
+ "ACTIVE", "marlin";
+
+INSERT INTO query_access(query_id, user_group_id, status, created_by)
+ SELECT
+ (SELECT id from query where name = "published-vc"),
+ (SELECT id from user_group where name = "auto-group"),
+ "HIDDEN", "system";
+
+
+-- Summary user VC Lists
+-- dory: dory-vc, group-vc, system-vc
+-- nemo: group-vc, system-vc
+-- marlin: published-vc, system-vc
+-- pearl: system-vc, published-vc
diff --git a/src/main/resources/db/test/V3.3__insert_member_roles.sql b/src/main/resources/db/test/V3.3__insert_member_roles.sql
new file mode 100644
index 0000000..effbbcb
--- /dev/null
+++ b/src/main/resources/db/test/V3.3__insert_member_roles.sql
@@ -0,0 +1,52 @@
+-- member roles
+
+-- marlin group
+INSERT INTO group_member_role(group_member_id,role_id)
+SELECT
+ (SELECT id FROM user_group_member WHERE user_id="marlin" AND group_id=1),
+ (SELECT id FROM role WHERE name = "USER_GROUP_ADMIN");
+
+INSERT INTO group_member_role(group_member_id,role_id)
+SELECT
+ (SELECT id FROM user_group_member WHERE user_id="marlin" AND group_id=1),
+ (SELECT id FROM role WHERE name = "VC_ACCESS_ADMIN");
+
+INSERT INTO group_member_role(group_member_id,role_id)
+SELECT
+ (SELECT id FROM user_group_member WHERE user_id="dory" AND group_id=1),
+ (SELECT id FROM role WHERE name = "USER_GROUP_ADMIN");
+
+INSERT INTO group_member_role(group_member_id,role_id)
+SELECT
+ (SELECT id FROM user_group_member WHERE user_id="dory" AND group_id=1),
+ (SELECT id FROM role WHERE name = "VC_ACCESS_ADMIN");
+
+
+-- dory group
+INSERT INTO group_member_role(group_member_id,role_id)
+SELECT
+ (SELECT id FROM user_group_member WHERE user_id="dory" AND group_id=2),
+ (SELECT id FROM role WHERE name = "USER_GROUP_ADMIN");
+
+INSERT INTO group_member_role(group_member_id,role_id)
+SELECT
+ (SELECT id FROM user_group_member WHERE user_id="dory" AND group_id=2),
+ (SELECT id FROM role WHERE name = "VC_ACCESS_ADMIN");
+
+INSERT INTO group_member_role(group_member_id,role_id)
+SELECT
+ (SELECT id FROM user_group_member WHERE user_id="nemo" AND group_id=2),
+ (SELECT id FROM role WHERE name = "USER_GROUP_MEMBER");
+
+INSERT INTO group_member_role(group_member_id,role_id)
+SELECT
+ (SELECT id FROM user_group_member WHERE user_id="nemo" AND group_id=2),
+ (SELECT id FROM role WHERE name = "VC_ACCESS_MEMBER");
+
+
+-- auto group
+INSERT INTO group_member_role(group_member_id,role_id)
+SELECT
+ (SELECT id FROM user_group_member WHERE user_id="pearl" AND group_id=3),
+ (SELECT id FROM role WHERE name = "VC_ACCESS_MEMBER");
+
diff --git a/src/main/resources/db/test/V3.4__insert_admins.sql b/src/main/resources/db/test/V3.4__insert_admins.sql
new file mode 100644
index 0000000..d8dbd8c
--- /dev/null
+++ b/src/main/resources/db/test/V3.4__insert_admins.sql
@@ -0,0 +1,2 @@
+-- dummy admin
+INSERT INTO admin(user_id) VALUES ("admin");
\ No newline at end of file
diff --git a/src/main/resources/db/test/V3.5__insert_oauth2_clients.sql b/src/main/resources/db/test/V3.5__insert_oauth2_clients.sql
new file mode 100644
index 0000000..6b318e3
--- /dev/null
+++ b/src/main/resources/db/test/V3.5__insert_oauth2_clients.sql
@@ -0,0 +1,66 @@
+-- test clients
+
+-- plain secret value is "secret"
+INSERT INTO oauth2_client(id,name,secret,type,super,
+ redirect_uri,registered_by, description, url, registration_date,
+ is_permitted)
+VALUES ("fCBbQkAyYzI4NzUxMg","super confidential client",
+ "$2a$08$vi1FbuN3p6GcI1tSxMAoeuIYL8Yw3j6A8wJthaN8ZboVnrQaTwLPq",
+ "CONFIDENTIAL", 1,
+ "https://korap.ids-mannheim.de/confidential/redirect", "system",
+ "Super confidential client.",
+ "http://korap.ids-mannheim.de/confidential", CURRENT_TIMESTAMP, 1);
+
+
+-- plain secret value is "secret"
+INSERT INTO oauth2_client(id,name,secret,type,super,
+ redirect_uri,registered_by, description,url,registration_date,
+ is_permitted)
+VALUES ("9aHsGW6QflV13ixNpez","non super confidential client",
+ "$2a$08$vi1FbuN3p6GcI1tSxMAoeuIYL8Yw3j6A8wJthaN8ZboVnrQaTwLPq",
+ "CONFIDENTIAL", 0,
+ "https://third.party.com/confidential/redirect", "system",
+ "Nonsuper confidential client.",
+ "http://third.party.com/confidential", CURRENT_TIMESTAMP,1);
+
+INSERT INTO oauth2_client(id,name,secret,type,super,
+ registered_by, description,url, registration_date,
+ is_permitted,source)
+VALUES ("52atrL0ajex_3_5imd9Mgw","confidential client 2",
+ "$2a$08$vi1FbuN3p6GcI1tSxMAoeuIYL8Yw3j6A8wJthaN8ZboVnrQaTwLPq",
+ "CONFIDENTIAL", 0,"system",
+ "Nonsuper confidential client plugin without redirect URI",
+ "http://example.client.de", CURRENT_TIMESTAMP, 1,'{"key":"value"}');
+
+INSERT INTO oauth2_client(id,name,secret,type,super,
+ redirect_uri, registered_by, description, url, registration_date,
+ is_permitted,source)
+VALUES ("8bIDtZnH6NvRkW2Fq","public client plugin with redirect uri",
+ null, "PUBLIC", 0,
+ "https://third.party.client.com/redirect","system",
+ "Public client plugin with a registered redirect URI",
+ "http://third.party.client.com", CURRENT_TIMESTAMP,1,'{"key":"value"}');
+
+
+INSERT INTO oauth2_client(id,name,secret,type,super,
+ registered_by, description, url, registration_date,
+ is_permitted)
+VALUES ("nW5qM63Rb2a7KdT9L","test public client",null,
+ "PUBLIC", 0, "Public client without redirect uri",
+ "system", "http://korap.ids-mannheim.de/public",
+ CURRENT_TIMESTAMP, 1);
+
+
+INSERT INTO oauth2_access_token(token,user_id,created_date,
+expiry_date, user_auth_time)
+VALUES("fia0123ikBWn931470H8s5gRqx7Moc4p","marlin",1527776750000,
+1527776750000, 1527690190000);
+
+INSERT INTO oauth2_refresh_token(token,user_id,user_auth_time,
+created_date, expiry_date, client)
+VALUES("js9iQ4lw1Ri7fz06l0dXl8fCVp3Yn7vmq8","pearl",1496154350000,
+1496240795000, 1527784020000, "nW5qM63Rb2a7KdT9L");
+
+-- EM: expiry date must be in epoch milis format for testing with sqlite,
+-- on the contrary, for testing using mysql use this format: "2018-05-31 16:27:00"
+-- otherwise criteria query using greaterThan does not work.
diff --git a/src/main/resources/db/test/V3.6__insert_default_settings.sql b/src/main/resources/db/test/V3.6__insert_default_settings.sql
new file mode 100644
index 0000000..5bd5264
--- /dev/null
+++ b/src/main/resources/db/test/V3.6__insert_default_settings.sql
@@ -0,0 +1,2 @@
+INSERT INTO default_setting(username,settings)
+ VALUES ("bubbles",'{"pos-foundry":"corenlp", "lemma-foundry":"opennlp"}');
diff --git a/src/main/resources/db/test/V3.7__insert_query_references.sql b/src/main/resources/db/test/V3.7__insert_query_references.sql
new file mode 100644
index 0000000..0507380
--- /dev/null
+++ b/src/main/resources/db/test/V3.7__insert_query_references.sql
@@ -0,0 +1,10 @@
+-- query references
+INSERT INTO query(name, type, query_type, required_access, created_by, description, status,
+ koral_query, query, query_language)
+ VALUES ("dory-q", "PRIVATE", "QUERY", "FREE", "dory", "test query", "experimental",
+ '{ "@type": "koral:token" }', "[]", "poliqarp");
+
+INSERT INTO query(name, type, query_type, required_access, created_by, description, status,
+ koral_query, query, query_language)
+ VALUES ("system-q", "SYSTEM", "QUERY", "FREE", "system", '"system" query', "experimental",
+ '{ "@type": "koral:token" }', "[]", "poliqarp");
diff --git a/src/main/resources/default-config.xml b/src/main/resources/default-config.xml
new file mode 100644
index 0000000..073bf26
--- /dev/null
+++ b/src/main/resources/default-config.xml
@@ -0,0 +1,365 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:p="http://www.springframework.org/schema/p"
+ xmlns:util="http://www.springframework.org/schema/util"
+ xmlns:aop="http://www.springframework.org/schema/aop"
+ xmlns:tx="http://www.springframework.org/schema/tx"
+ xmlns="http://www.springframework.org/schema/beans"
+ xmlns:context="http://www.springframework.org/schema/context"
+ xmlns:cache="http://www.springframework.org/schema/cache"
+ xsi:schemaLocation="http://www.springframework.org/schema/beans
+ http://www.springframework.org/schema/beans/spring-beans.xsd
+ http://www.springframework.org/schema/tx
+ http://www.springframework.org/schema/tx/spring-tx.xsd
+ http://www.springframework.org/schema/aop
+ http://www.springframework.org/schema/aop/spring-aop.xsd
+ http://www.springframework.org/schema/context
+ http://www.springframework.org/schema/context/spring-context.xsd
+ http://www.springframework.org/schema/util
+ http://www.springframework.org/schema/util/spring-util.xsd">
+
+ <context:component-scan
+ base-package="de.ids_mannheim.korap" />
+ <context:annotation-config />
+
+ <bean id="props"
+ class="org.springframework.beans.factory.config.PropertiesFactoryBean">
+ <property name="ignoreResourceNotFound" value="true" />
+ <property name="locations">
+ <array>
+ <value>classpath:kustvakt.conf</value>
+ <value>file:./kustvakt.conf</value>
+ </array>
+ </property>
+ </bean>
+
+ <bean id="placeholders"
+ class="org.springframework.context.support.PropertySourcesPlaceholderConfigurer">
+ <property name="ignoreResourceNotFound" value="true" />
+ <property name="locations">
+ <array>
+ <value>classpath:properties/jdbc.properties</value>
+ <value>file:./jdbc.properties</value>
+ <value>classpath:properties/mail.properties</value>
+ <value>file:./mail.properties</value>
+ <value>classpath:properties/hibernate.properties</value>
+
+ <value>classpath:kustvakt.conf</value>
+ <value>file:./kustvakt.conf</value>
+ </array>
+ </property>
+ </bean>
+
+ <!-- <bean id='cacheManager' class='org.springframework.cache.ehcache.EhCacheCacheManager'
+ p:cacheManager-ref='ehcache' /> <bean id='ehcache' class='org.springframework.cache.ehcache.EhCacheManagerFactoryBean'
+ p:configLocation='classpath:ehcache.xml' p:shared='true' /> -->
+ <!--class="org.apache.commons.dbcp2.BasicDataSource" -->
+ <!-- org.springframework.jdbc.datasource.SingleConnectionDataSource -->
+ <bean id="dataSource"
+ class="org.apache.commons.dbcp2.BasicDataSource" lazy-init="true">
+ <property name="driverClassName"
+ value="${jdbc.driverClassName}" />
+ <property name="url" value="${jdbc.url}" />
+ <property name="username" value="${jdbc.username}" />
+ <property name="password" value="${jdbc.password}" />
+ <!-- relevant for single connection datasource and sqlite -->
+ <!-- <property name="suppressClose"> <value>true</value> </property> -->
+ <!--<property name="initialSize" value="2"/> -->
+ <property name="maxTotal" value="4" />
+ <property name="maxIdle" value="2" />
+ <property name="minIdle" value="1" />
+ <property name="maxWaitMillis" value="-1" />
+ <!--<property name="poolPreparedStatements" value="true"/> -->
+ </bean>
+
+ <bean id="c3p0DataSource"
+ class="com.mchange.v2.c3p0.ComboPooledDataSource"
+ destroy-method="close" lazy-init="true">
+ <property name="driverClass" value="${jdbc.driverClassName}" />
+ <property name="jdbcUrl" value="${jdbc.url}" />
+ <property name="user" value="${jdbc.username}" />
+ <property name="password" value="${jdbc.password}" />
+ <property name="maxPoolSize" value="4" />
+ <property name="minPoolSize" value="1" />
+ <property name="maxStatements" value="100" />
+ <!-- <property name="testConnectionOnCheckOut" value="true" /> -->
+ <property name="idleConnectionTestPeriod" value="60" />
+ <property name="testConnectionOnCheckin" value="true" />
+ </bean>
+
+ <bean id="sqliteDataSource"
+ class="org.springframework.jdbc.datasource.SingleConnectionDataSource"
+ lazy-init="true">
+ <property name="driverClassName"
+ value="${jdbc.driverClassName}" />
+ <property name="url" value="${jdbc.url}" />
+ <property name="username" value="${jdbc.username}" />
+ <property name="password" value="${jdbc.password}" />
+ <property name="connectionProperties">
+ <props>
+ <prop key="date_string_format">yyyy-MM-dd HH:mm:ss</prop>
+ </props>
+ </property>
+
+ <!-- relevant for single connection datasource and sqlite -->
+ <property name="suppressClose">
+ <value>true</value>
+ </property>
+ <!--<property name="initialSize" value="2"/> -->
+ <!--<property name="poolPreparedStatements" value="true"/> -->
+ </bean>
+
+ <!-- to configure database for sqlite, mysql, etc. migrations -->
+ <bean id="flywayConfig"
+ class="org.flywaydb.core.api.configuration.ClassicConfiguration">
+ <property name="baselineOnMigrate" value="true" />
+ <!-- <property name="validateOnMigrate" value="false" /> -->
+ <!-- <property name="cleanOnValidationError" value="true" /> -->
+ <property name="locations"
+ value="#{'${jdbc.schemaPath}'.split(',')}" />
+ <property name="dataSource" ref="dataSource" />
+ <!-- <property name="dataSource" ref="sqliteDataSource" /> -->
+ <!-- <property name="dataSource" ref="c3p0DataSource" /> -->
+ <property name="outOfOrder" value="true" />
+ </bean>
+
+ <bean id="flyway" class="org.flywaydb.core.Flyway"
+ init-method="migrate">
+ <constructor-arg ref="flywayConfig" />
+ </bean>
+
+ <bean id="entityManagerFactory"
+ class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"
+ depends-on="flyway">
+ <property name="dataSource" ref="dataSource" />
+ <!-- <property name="dataSource" ref="sqliteDataSource" /> -->
+ <!-- <property name="dataSource" ref="c3p0DataSource" /> -->
+
+ <property name="packagesToScan">
+ <array>
+ <value>de.ids_mannheim.korap.core.entity</value>
+ <value>de.ids_mannheim.korap.entity</value>
+ <value>de.ids_mannheim.korap.oauth2.entity</value>
+ </array>
+ </property>
+ <property name="jpaVendorAdapter">
+ <bean id="jpaVendorAdapter"
+ class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
+ <property name="databasePlatform"
+ value="${hibernate.dialect}" />
+ </bean>
+ </property>
+ <property name="jpaProperties">
+ <props>
+ <prop key="hibernate.dialect">${hibernate.dialect}</prop>
+ <prop key="hibernate.hbm2ddl.auto">${hibernate.hbm2ddl.auto}</prop>
+ <prop key="hibernate.show_sql">${hibernate.show_sql}</prop>
+ <prop key="hibernate.cache.use_query_cache">${hibernate.cache.use_query_cache}</prop>
+ <prop key="hibernate.cache.use_second_level_cache">${hibernate.cache.use_second_level_cache}
+ </prop>
+ <prop key="hibernate.cache.provider_class">${hibernate.cache.provider}</prop>
+ <prop key="hibernate.cache.region.factory_class">${hibernate.cache.region.factory}</prop>
+ <prop key="hibernate.jdbc.time_zone">${hibernate.jdbc.time_zone}</prop>
+ </props>
+ </property>
+ </bean>
+
+ <tx:annotation-driven proxy-target-class="true"
+ transaction-manager="transactionManager" />
+
+ <bean id="transactionManager"
+ class="org.springframework.orm.jpa.JpaTransactionManager">
+ <property name="entityManagerFactory"
+ ref="entityManagerFactory" />
+ </bean>
+
+ <bean id="transactionTemplate"
+ class="org.springframework.transaction.support.TransactionTemplate">
+ <constructor-arg ref="transactionManager" />
+ </bean>
+
+ <!-- Data access objects -->
+ <bean id="adminDao" class="de.ids_mannheim.korap.dao.AdminDaoImpl" />
+ <bean id="authorizationDao"
+ class="de.ids_mannheim.korap.oauth2.dao.CachedAuthorizationDaoImpl" />
+
+ <!-- Filters -->
+ <!-- <bean id="authenticationFilter" class="de.ids_mannheim.korap.web.filter.AuthenticationFilter"
+ > <property name="authenticationManager" ref="kustvakt_authenticationmanager"/>
+ </bean> <bean id="piwikFilter" class="de.ids_mannheim.korap.web.filter.PiwikFilter"
+ > <property name="authenticationManager" ref="kustvakt_authenticationmanager"/>
+ </bean> -->
+
+ <!-- Services -->
+ <bean id="scopeService"
+ class="de.ids_mannheim.korap.oauth2.service.OAuth2ScopeServiceImpl" />
+
+ <!-- props are injected from default-config.xml -->
+ <bean id="kustvakt_config"
+ class="de.ids_mannheim.korap.config.FullConfiguration">
+ <constructor-arg name="properties" ref="props" />
+ </bean>
+
+ <bean id="initializator"
+ class="de.ids_mannheim.korap.init.Initializator" init-method="init">
+ </bean>
+
+ <!-- Krill -->
+ <bean id="search_krill"
+ class="de.ids_mannheim.korap.web.SearchKrill">
+ <constructor-arg value="${krill.indexDir}" />
+ </bean>
+
+ <!-- Validator -->
+ <bean id="validator"
+ class="de.ids_mannheim.korap.validator.ApacheValidator" />
+
+ <!-- URLValidator -->
+ <bean id="redirectURIValidator"
+ class="org.apache.commons.validator.routines.UrlValidator">
+ <constructor-arg value="http,https" index="0" />
+ <constructor-arg index="1" type="long"
+ value="#{T(org.apache.commons.validator.routines.UrlValidator).ALLOW_LOCAL_URLS +
+ T(org.apache.commons.validator.routines.UrlValidator).NO_FRAGMENTS}" />
+
+ <!-- <constructor-arg index="1" type="long"> <util:constant static-field="org.apache.commons.validator.routines.UrlValidator.NO_FRAGMENTS"
+ /> </constructor-arg> -->
+ </bean>
+ <bean id="urlValidator"
+ class="org.apache.commons.validator.routines.UrlValidator">
+ <constructor-arg value="http,https" />
+ </bean>
+
+ <!-- Rewrite -->
+ <bean id="foundryRewrite"
+ class="de.ids_mannheim.korap.rewrite.FoundryRewrite" />
+ <bean id="collectionRewrite"
+ class="de.ids_mannheim.korap.rewrite.CollectionRewrite" />
+ <bean id="virtualCorpusRewrite"
+ class="de.ids_mannheim.korap.rewrite.VirtualCorpusRewrite" />
+ <bean id="queryReferenceRewrite"
+ class="de.ids_mannheim.korap.rewrite.QueryReferenceRewrite" />
+
+ <util:list id="rewriteTasks"
+ value-type="de.ids_mannheim.korap.rewrite.RewriteTask">
+ <ref bean="foundryRewrite" />
+ <ref bean="collectionRewrite" />
+ <ref bean="virtualCorpusRewrite" />
+ <ref bean="queryReferenceRewrite" />
+ </util:list>
+
+ <bean id="rewriteHandler"
+ class="de.ids_mannheim.korap.rewrite.RewriteHandler">
+ <constructor-arg ref="rewriteTasks" />
+ </bean>
+
+ <bean id="kustvaktResponseHandler"
+ class="de.ids_mannheim.korap.web.KustvaktResponseHandler">
+ </bean>
+
+ <!-- OAuth -->
+ <bean id="oauth2ResponseHandler"
+ class="de.ids_mannheim.korap.web.OAuth2ResponseHandler">
+ </bean>
+
+ <bean name="kustvakt_encryption"
+ class="de.ids_mannheim.korap.encryption.KustvaktEncryption">
+ <constructor-arg ref="kustvakt_config" />
+ </bean>
+
+ <!-- authentication providers to use -->
+
+ <!-- <bean id="session_auth" class="de.ids_mannheim.korap.authentication.SessionAuthentication">
+ <constructor-arg type="de.ids_mannheim.korap.config.KustvaktConfiguration"
+ ref="kustvakt_config" /> <constructor-arg type="de.ids_mannheim.korap.interfaces.EncryptionIface"
+ ref="kustvakt_encryption" /> </bean> -->
+
+ <bean id="oauth2_auth"
+ class="de.ids_mannheim.korap.authentication.OAuth2Authentication" />
+
+ <util:list id="kustvakt_authproviders"
+ value-type="de.ids_mannheim.korap.interfaces.AuthenticationIface">
+ <!-- <ref bean="session_auth" /> -->
+ <ref bean="oauth2_auth" />
+ </util:list>
+
+
+ <!-- specify type for constructor argument -->
+ <bean id="authenticationManager"
+ class="de.ids_mannheim.korap.authentication.KustvaktAuthenticationManager">
+ <constructor-arg
+ type="de.ids_mannheim.korap.interfaces.EncryptionIface"
+ ref="kustvakt_encryption" />
+ <constructor-arg ref="kustvakt_config" />
+ <!-- inject authentication providers to use -->
+ <property name="providers" ref="kustvakt_authproviders" />
+ </bean>
+
+ <!-- todo: if db interfaces not loaded via spring, does transaction even
+ work then? -->
+ <!-- the transactional advice (i.e. what 'happens'; see the <aop:advisor/>
+ bean below) -->
+ <tx:advice id="txAdvice" transaction-manager="txManager">
+ <!-- the transactional semantics... -->
+ <tx:attributes>
+ <!-- all methods starting with 'get' are read-only -->
+ <tx:method name="get*" read-only="true"
+ rollback-for="KorAPException" />
+ <!-- other methods use the default transaction settings (see below) -->
+ <tx:method name="*" rollback-for="KorAPException" />
+ </tx:attributes>
+ </tx:advice>
+
+ <!-- ensure that the above transactional advice runs for any execution of
+ an operation defined by the service interface -->
+ <aop:config>
+ <aop:pointcut id="service"
+ expression="execution(* de.ids_mannheim.korap.interfaces.db.*.*(..))" />
+ <aop:advisor advice-ref="txAdvice" pointcut-ref="service" />
+ </aop:config>
+
+ <!-- similarly, don't forget the PlatformTransactionManager -->
+ <bean id="txManager"
+ class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
+ <!-- <property name="dataSource" ref="dataSource" /> -->
+ <property name="dataSource" ref="sqliteDataSource" />
+ <!-- <property name="dataSource" ref="c3p0DataSource" /> -->
+ </bean>
+
+ <!-- mail -->
+ <bean id="authenticator"
+ class="de.ids_mannheim.korap.service.MailAuthenticator">
+ <constructor-arg index="0" value="${mail.username}" />
+ <constructor-arg index="1" value="${mail.password}" />
+ </bean>
+ <bean id="smtpSession" class="jakarta.mail.Session"
+ factory-method="getInstance">
+ <constructor-arg index="0">
+ <props>
+ <prop key="mail.smtp.submitter">${mail.username}</prop>
+ <prop key="mail.smtp.auth">${mail.auth}</prop>
+ <prop key="mail.smtp.host">${mail.host}</prop>
+ <prop key="mail.smtp.port">${mail.port}</prop>
+ <prop key="mail.smtp.starttls.enable">${mail.starttls.enable}</prop>
+ <prop key="mail.smtp.connectiontimeout">${mail.connectiontimeout}</prop>
+ </props>
+ </constructor-arg>
+ <constructor-arg index="1" ref="authenticator" />
+ </bean>
+ <bean id="mailSender"
+ class="org.springframework.mail.javamail.JavaMailSenderImpl">
+ <property name="username" value="${mail.username}" />
+ <property name="password" value="${mail.password}" />
+ <property name="session" ref="smtpSession" />
+ </bean>
+ <bean id="velocityEngine"
+ class="org.apache.velocity.app.VelocityEngine">
+ <constructor-arg index="0">
+ <props>
+ <prop key="resource.loader">class</prop>
+ <prop key="class.resource.loader.class">org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader
+ </prop>
+ </props>
+ </constructor-arg>
+ </bean>
+</beans>
diff --git a/src/main/resources/default-lite-config.xml b/src/main/resources/default-lite-config.xml
new file mode 100644
index 0000000..da27995
--- /dev/null
+++ b/src/main/resources/default-lite-config.xml
@@ -0,0 +1,201 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="http://www.springframework.org/schema/beans"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:util="http://www.springframework.org/schema/util"
+ xmlns:context="http://www.springframework.org/schema/context"
+ xmlns:tx="http://www.springframework.org/schema/tx"
+ xsi:schemaLocation="http://www.springframework.org/schema/beans
+ http://www.springframework.org/schema/beans/spring-beans.xsd
+ http://www.springframework.org/schema/tx
+ http://www.springframework.org/schema/tx/spring-tx.xsd
+ http://www.springframework.org/schema/context
+ http://www.springframework.org/schema/context/spring-context.xsd
+ http://www.springframework.org/schema/util
+ http://www.springframework.org/schema/util/spring-util.xsd">
+
+ <context:component-scan
+ base-package="
+ de.ids_mannheim.korap.core.service,
+ de.ids_mannheim.korap.core.web,
+ de.ids_mannheim.korap.web.filter,
+ de.ids_mannheim.korap.web.utils,
+ de.ids_mannheim.korap.authentication.http" />
+ <context:annotation-config />
+
+ <bean id="placeholders"
+ class="org.springframework.context.support.PropertySourcesPlaceholderConfigurer">
+ <property name="ignoreResourceNotFound" value="true" />
+ <property name="locations">
+ <array>
+ <value>classpath:properties/lite-jdbc.properties</value>
+ <value>file:./lite-jdbc.properties</value>
+ <value>classpath:properties/hibernate.properties</value>
+ <value>classpath:kustvakt-lite.conf</value>
+ <value>file:./kustvakt-lite.conf</value>
+ </array>
+ </property>
+ </bean>
+
+ <bean id="properties"
+ class="org.springframework.beans.factory.config.PropertiesFactoryBean">
+ <property name="ignoreResourceNotFound" value="true" />
+ <property name="locations">
+ <array>
+ <value>classpath:kustvakt-lite.conf</value>
+ <value>file:./kustvakt-lite.conf</value>
+ </array>
+ </property>
+ </bean>
+
+ <bean id="config"
+ class="de.ids_mannheim.korap.config.KustvaktConfiguration">
+ <constructor-arg index="0" name="properties"
+ ref="properties" />
+ </bean>
+
+ <!-- Database -->
+
+ <bean id="sqliteDataSource"
+ class="org.springframework.jdbc.datasource.SingleConnectionDataSource"
+ lazy-init="true">
+ <property name="driverClassName"
+ value="${jdbc.driverClassName}" />
+ <property name="url" value="${jdbc.url}" />
+ <property name="username" value="${jdbc.username}" />
+ <property name="password" value="${jdbc.password}" />
+ <property name="connectionProperties">
+ <props>
+ <prop key="date_string_format">yyyy-MM-dd HH:mm:ss</prop>
+ </props>
+ </property>
+
+ <!-- relevant for single connection datasource and sqlite -->
+ <property name="suppressClose">
+ <value>true</value>
+ </property>
+ <!--<property name="initialSize" value="2"/> -->
+ <!--<property name="poolPreparedStatements" value="true"/> -->
+ </bean>
+ <bean id="flywayConfig"
+ class="org.flywaydb.core.api.configuration.ClassicConfiguration">
+ <property name="baselineOnMigrate" value="true" />
+ <!-- <property name="validateOnMigrate" value="false" /> -->
+ <!-- <property name="cleanOnValidationError" value="true" /> -->
+ <property name="locations"
+ value="#{'${jdbc.schemaPath}'.split(',')}" />
+ <property name="dataSource" ref="sqliteDataSource" />
+ <property name="outOfOrder" value="true" />
+ </bean>
+
+ <bean id="flyway" class="org.flywaydb.core.Flyway"
+ init-method="migrate">
+ <constructor-arg ref="flywayConfig" />
+ </bean>
+
+
+ <bean id="entityManagerFactory"
+ class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
+ <property name="dataSource" ref="sqliteDataSource" />
+
+ <property name="packagesToScan">
+ <array>
+ <value>de.ids_mannheim.korap.core.entity</value>
+ </array>
+ </property>
+ <property name="jpaVendorAdapter">
+ <bean id="jpaVendorAdapter"
+ class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
+ <property name="databasePlatform"
+ value="${hibernate.dialect}" />
+ </bean>
+ </property>
+ <property name="jpaProperties">
+ <props>
+ <prop key="hibernate.dialect">${hibernate.dialect}</prop>
+ <prop key="hibernate.hbm2ddl.auto">${hibernate.hbm2ddl.auto}</prop>
+ <prop key="hibernate.show_sql">${hibernate.show_sql}</prop>
+ <prop key="hibernate.cache.use_query_cache">${hibernate.cache.use_query_cache}</prop>
+ <prop key="hibernate.cache.use_second_level_cache">${hibernate.cache.use_second_level_cache}
+ </prop>
+ <prop key="hibernate.cache.provider_class">${hibernate.cache.provider}</prop>
+ <prop key="hibernate.cache.region.factory_class">${hibernate.cache.region.factory}</prop>
+ <prop key="hibernate.jdbc.time_zone">${hibernate.jdbc.time_zone}</prop>
+ </props>
+ </property>
+ </bean>
+ <tx:annotation-driven proxy-target-class="true"
+ transaction-manager="transactionManager" />
+
+ <bean id="transactionManager"
+ class="org.springframework.orm.jpa.JpaTransactionManager">
+ <property name="entityManagerFactory"
+ ref="entityManagerFactory" />
+ </bean>
+
+ <bean id="transactionTemplate"
+ class="org.springframework.transaction.support.TransactionTemplate">
+ <constructor-arg ref="transactionManager" />
+ </bean>
+ <bean id="txManager"
+ class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
+ <property name="dataSource" ref="sqliteDataSource" />
+ </bean>
+
+ <!-- Initialization -->
+ <!-- <bean id="annotationParser" class="de.ids_mannheim.korap.annotation.AnnotationParser"
+ scope="singleton" /> -->
+ <!-- Search Engine -->
+ <bean id="search_krill"
+ class="de.ids_mannheim.korap.web.SearchKrill">
+ <constructor-arg value="${krill.indexDir}" />
+ </bean>
+
+
+ <!-- Filters -->
+ <!-- <bean id="APIVersionFilter" class="de.ids_mannheim.korap.web.APIVersionFilter"
+ scope="singleton" /> -->
+
+ <!-- Authentication -->
+ <bean id="authenticationManager"
+ class="de.ids_mannheim.korap.authentication.DummyAuthenticationManager" />
+
+ <!-- Response handler -->
+ <bean id="kustvaktResponseHandler"
+ class="de.ids_mannheim.korap.web.KustvaktResponseHandler">
+ </bean>
+
+ <!-- Controllers -->
+ <!-- added via component-scan <bean id="annotationController" class="de.ids_mannheim.korap.web.controller.AnnotationController"
+ /> <bean id="searchController" class="de.ids_mannheim.korap.web.controller.SearchController"
+ /> <bean id="statisticController" class="de.ids_mannheim.korap.web.controller.StatisticController"
+ /> -->
+ <!-- Services -->
+ <bean id="scopeService"
+ class="de.ids_mannheim.korap.oauth2.service.DummyOAuth2ScopeServiceImpl" />
+
+ <!-- DAO -->
+ <bean id="adminDao"
+ class="de.ids_mannheim.korap.dao.DummyAdminDaoImpl" />
+ <bean id="annotationDao"
+ class="de.ids_mannheim.korap.dao.AnnotationDao" />
+
+ <!-- DTO Converter -->
+ <bean id="annotationConverter"
+ class="de.ids_mannheim.korap.dto.converter.AnnotationConverter" />
+
+ <!-- Rewrite -->
+ <bean id="layerMapper"
+ class="de.ids_mannheim.korap.rewrite.LayerMapper" />
+ <bean id="foundryInject"
+ class="de.ids_mannheim.korap.rewrite.FoundryInject" />
+
+ <util:list id="rewriteTasks"
+ value-type="de.ids_mannheim.korap.rewrite.RewriteTask">
+ <ref bean="foundryInject" />
+ </util:list>
+
+ <bean id="rewriteHandler"
+ class="de.ids_mannheim.korap.rewrite.RewriteHandler">
+ <constructor-arg ref="rewriteTasks" />
+ </bean>
+</beans>
\ No newline at end of file
diff --git a/src/main/resources/ehcache.xml b/src/main/resources/ehcache.xml
new file mode 100644
index 0000000..077e260
--- /dev/null
+++ b/src/main/resources/ehcache.xml
@@ -0,0 +1,29 @@
+<ehcache
+ xsi:noNamespaceSchemaLocation="http://www.ehcache.org/ehcache.xsd"
+ updateCheck="true" monitoring="autodetect" dynamicConfig="true">
+
+ <defaultCache eternal='true' overflowToDisk='false' />
+ <!--maxBytesLocalHeap="200M" -->
+ <diskStore path="./cache_store" />
+
+
+ <!-- EM -->
+ <cache name='authorization' timeToLiveSeconds="1000"
+ eternal='false' memoryStoreEvictionPolicy="LRU"
+ maxEntriesLocalHeap="100" overflowToDisk='false' />
+
+ <cache name='access_token' timeToIdleSeconds="3600"
+ timeToLiveSeconds="15000" eternal='false'
+ memoryStoreEvictionPolicy="LRU" maxEntriesLocalHeap="500"
+ overflowToDisk='false' />
+
+ <!-- <cache name="named_vc" eternal="true" memoryStoreEvictionPolicy="LRU"
+ maxBytesLocalHeap="256M" maxBytesLocalDisk="2G" diskExpiryThreadIntervalSeconds
+ = "120" > <persistence strategy="localTempSwap"/> <sizeOfPolicy maxDepth="3000"
+ maxDepthExceededBehavior="abort" /> -->
+
+ <cache name="total_results" timeToIdleSeconds="3600"
+ timeToLiveSeconds="15000" eternal='false'
+ memoryStoreEvictionPolicy="LRU" overflowToDisk='false'
+ maxEntriesLocalHeap="500" />
+</ehcache>
diff --git a/src/main/resources/embedded-ldap-default.conf b/src/main/resources/embedded-ldap-default.conf
new file mode 100644
index 0000000..00cd2a2
--- /dev/null
+++ b/src/main/resources/embedded-ldap-default.conf
@@ -0,0 +1,10 @@
+# default and sample configuration for an automatically starting
+# embedded LDAP server
+host=localhost
+port=3267
+searchBase=dc=example,dc=com
+sLoginDN=cn=admin,dc=example,dc=com
+pwd=admin
+searchFilter=(uid=${login})
+useEmbeddedServer=true
+ldifFile=src/main/resources/korap-users.ldif
diff --git a/src/main/resources/embedded-ldap-example.conf b/src/main/resources/embedded-ldap-example.conf
new file mode 100644
index 0000000..0fa5f9f
--- /dev/null
+++ b/src/main/resources/embedded-ldap-example.conf
@@ -0,0 +1,10 @@
+# Sample configuration for an automatically starting
+# embedded LDAP server
+host=localhost
+port=3267
+searchBase=dc=example,dc=com
+sLoginDN=cn=admin,dc=example,dc=com
+pwd=admin
+searchFilter=(|(uid=${login})(mail=${login}))
+useEmbeddedServer=true
+ldifFile=src/main/resources/example-users.ldif
diff --git a/src/main/resources/example-users.ldif b/src/main/resources/example-users.ldif
new file mode 100644
index 0000000..103582f
--- /dev/null
+++ b/src/main/resources/example-users.ldif
@@ -0,0 +1,39 @@
+dn: dc=example,dc=com
+dc: example
+ou: people
+objectClass: dcObject
+objectClass: organizationalUnit
+
+dn: ou=people,dc=example,dc=com
+ou: people
+objectClass: organizationalUnit
+
+dn: uid=user,ou=people,dc=example,dc=com
+cn: Rainer User
+uid: user
+mail: user@example.com
+userPassword: {BASE64}cGFzc3dvcmQ=
+
+dn: uid=user1,ou=people,dc=example,dc=com
+cn: User 1
+uid: user1
+mail: user1@example.com
+userPassword: {CLEAR}password1
+
+dn: uid=user2,ou=people,dc=example,dc=com
+cn: User 2
+uid: user2
+mail: user2@example.com
+userPassword: password2
+
+dn: uid=user3,ou=people,dc=example,dc=com
+cn: User 3
+uid: user3
+mail: user3@example.com
+userPassword: {SHA}ERnP037iRzV+A0oI2ETuol9v0g8=
+
+dn: uid=user4,ou=people,dc=example,dc=com
+cn: user4
+uid: user4
+mail: user4@example.com
+userPassword: {SHA256}uXhzpA9zq+3Y1oWnzV5fheSpz7g+rCaIZkCggThQEis=
diff --git a/src/main/resources/free-resources.json b/src/main/resources/free-resources.json
new file mode 100644
index 0000000..b41581e
--- /dev/null
+++ b/src/main/resources/free-resources.json
@@ -0,0 +1,43 @@
+[{
+ "id": "WPD17",
+ "de_title" : "Deutsche Wikipedia Artikel 2017",
+ "en_title" : "German Wikipedia Articles 2017",
+ "en_description" : "A collection of articles of German Wikipedia from July 1st, 2017.",
+ "layers": [
+ "corenlp/p",
+ "marmot/m",
+ "marmot/p",
+ "opennlp/p",
+ "tt/l",
+ "tt/p"
+ ]
+},
+{
+ "id": "WDD17",
+ "de_title" : "Deutsche Wikipedia-Diskussionskorpus 2017",
+ "en_title" : "German Wikipedia talk corpus 2017",
+ "en_description" : "A collection of talk pages of German Wikipedia from July 1st, 2017.",
+ "layers": [
+ "corenlp/p",
+ "marmot/m",
+ "marmot/p",
+ "opennlp/p",
+ "tt/l",
+ "tt/p"
+ ]
+},
+{
+ "id": "WUD17",
+ "de_title" : "Deutsche Wikipedia-Benutzerdiskussionskorpus 2017",
+ "en_title" : "German Wikipedia user talk corpus 2017",
+ "en_description" : "A collection of user talk pages of German Wikipedia from July 1st, 2017.",
+ "layers": [
+ "corenlp/p",
+ "marmot/m",
+ "marmot/p",
+ "opennlp/p",
+ "tt/l",
+ "tt/p"
+ ]
+}
+]
\ No newline at end of file
diff --git a/src/main/resources/json/initial_super_client.json b/src/main/resources/json/initial_super_client.json
new file mode 100644
index 0000000..a8c997b
--- /dev/null
+++ b/src/main/resources/json/initial_super_client.json
@@ -0,0 +1,5 @@
+{
+ "name":"initial super client",
+ "type": "CONFIDENTIAL",
+ "description":"initial super client for user authentication"
+}
\ No newline at end of file
diff --git a/src/main/resources/kustvakt-lite.conf b/src/main/resources/kustvakt-lite.conf
new file mode 100644
index 0000000..b9315db
--- /dev/null
+++ b/src/main/resources/kustvakt-lite.conf
@@ -0,0 +1,35 @@
+# Krill settings
+
+# index dir
+krill.indexDir= sample-index
+
+krill.index.commit.count = 134217000
+krill.index.commit.log = log/krill.commit.log
+krill.index.commit.auto = 500
+krill.index.relations.max = 100
+
+# krill.namedVC=vc
+
+
+# Kustvakt settings
+
+api.welcome.message = Welcome to KorAP API!
+current.api.version = v1.0
+# multiple versions separated by space
+supported.api.version = v1.0
+
+# default
+kustvakt.base.url=/api/*
+
+# default foundries for layers
+default.foundry.partOfSpeech = tt
+default.foundry.lemma = tt
+default.foundry.orthography = opennlp
+default.foundry.dependency = malt
+default.foundry.constituent = corenlp
+default.foundry.morphology = marmot
+default.foundry.surface = base
+
+# server
+server.port=8089
+server.host=localhost
diff --git a/src/main/resources/kustvakt.conf b/src/main/resources/kustvakt.conf
new file mode 100644
index 0000000..a0a8554
--- /dev/null
+++ b/src/main/resources/kustvakt.conf
@@ -0,0 +1,112 @@
+#Krill
+krill.indexDir= sample-index
+
+krill.index.commit.count = 134217000
+krill.index.commit.log = log/krill.commit.log
+krill.index.commit.auto = 500
+krill.index.relations.max = 100
+# Directory path of virtual corpora to cache
+#krill.namedVC = vc
+
+# LDAP
+ldap.config = src/main/resources/embedded-ldap-example.conf
+
+# Kustvakt
+api.welcome.message = Welcome to KorAP API!
+current.api.version = v1.0
+# multiple versions separated by space
+# supported.api.version = v1.0
+
+# server
+server.port=8089
+server.host=localhost
+
+# mail settings
+mail.enabled = false
+mail.receiver = test@localhost
+mail.sender = noreply@ids-mannheim.de
+mail.address.retrieval = test
+
+# mail.templates
+template.group.invitation = notification.vm
+
+# default foundries for specific layers
+default.foundry.partOfSpeech = tt
+default.foundry.lemma = tt
+default.foundry.orthography = opennlp
+default.foundry.dependency = malt
+default.foundry.constituent = corenlp
+default.foundry.morphology = marmot
+default.foundry.surface = base
+
+# delete configuration (default hard)
+# delete.auto.group = hard
+delete.group = soft
+delete.group.member = soft
+
+
+# Availability regex only support |
+# It should be removed/commented when the data doesn't contain availability field.
+#
+availability.regex.free = CC-BY.*
+availability.regex.public = ACA.*|QAO-NC
+availability.regex.all = QAO.*
+
+
+# Define resource filters for search and match info API
+# AuthenticationFilter activates authentication using OAuth2 tokens
+# DemoUserFilter allows access to API without login
+#
+# Default values: AuthenticationFilter,DemoUserFilter
+#
+search.resource.filters=AuthenticationFilter,DemoUserFilter
+
+
+
+# options referring to the security module!
+
+# OAuth
+# (see de.ids_mannheim.korap.constant.AuthenticationMethod for possible
+# oauth.password.authentication values)
+oauth2.password.authentication = LDAP
+# used to determine native client, currently not used
+# oauth2.native.client.host = korap.ids-mannheim.de
+oauth2.max.attempts = 1
+# expiry in seconds (S), minutes (M), hours (H), days (D)
+oauth2.access.token.expiry = 1D
+oauth2.refresh.token.expiry = 90D
+# default 365D
+# oauth2.access.token.long.expiry = 365D
+# oauth2.refresh.token.long.expiry = 365D
+oauth2.authorization.code.expiry = 10M
+# scopes separated by space
+oauth2.default.scopes = search match_info
+oauth2.client.credentials.scopes = client_info
+
+## see SecureRandom Number Generation Algorithms
+## optional
+# security.secure.random.algorithm=SHA1PRNG
+
+## see MessageDigest Algorithms
+## default MD5
+security.md.algoritm = SHA-256
+
+### secure hash support: BCRYPT
+security.secure.hash.algorithm=BCRYPT
+security.encryption.loadFactor = 10
+
+# DEPRECATED
+# JWT
+security.jwt.issuer=korap.ids-mannheim.de
+security.sharedSecret=this-is-shared-secret-code-for-JWT-Signing.It-must-contains-minimum-256-bits
+
+## token expiration (used in other authentication provider than OAuth2)
+security.longTokenTTL=150D
+security.tokenTTL=72H
+security.shortTokenTTL=45M
+
+# Session authentication
+security.idleTimeoutDuration = 25M
+security.multipleLogIn = true
+security.loginAttemptNum = 3
+security.authAttemptTTL = 45M
\ No newline at end of file
diff --git a/src/main/resources/kustvakt.info b/src/main/resources/kustvakt.info
new file mode 100644
index 0000000..4a0344a
--- /dev/null
+++ b/src/main/resources/kustvakt.info
@@ -0,0 +1,8 @@
+kustvakt.version=${project.version}
+kustvakt.name=${project.name}
+
+# use this file to define the properties and logging file names
+kustvakt.properties=./kustvakt.conf
+kustvakt.logging=./log4j.properties
+kustvakt.cache=true
+kustvakt.cache_store=./store
\ No newline at end of file
diff --git a/src/main/resources/log4j2-debug.properties b/src/main/resources/log4j2-debug.properties
new file mode 100644
index 0000000..817e355
--- /dev/null
+++ b/src/main/resources/log4j2-debug.properties
@@ -0,0 +1,31 @@
+appenders = console, debugFile
+appender.console.type = Console
+appender.console.name = STDOUT
+appender.console.layout.type = PatternLayout
+appender.console.layout.pattern = %d{yyyy-MM-dd, HH:mm:ss} %C{6} - %M%n %-5p: %m%n
+
+appender.debugFile.type = File
+appender.debugFile.name = DEBUGLOG
+appender.debugFile.fileName=./logs/debug.log
+appender.debugFile.layout.type=PatternLayout
+appender.debugFile.layout.pattern= %d{yyyy-MM-dd, HH:mm:ss} %C{6} - %M%n %-5p: %m%n
+
+rootLogger.level = warn
+rootLogger.appenderRefs = debugFile
+rootLogger.appenderRef.file.ref = DEBUGLOG
+rootLogger.additivity=false
+
+loggers=file
+logger.file.name=de.ids_mannheim.korap
+logger.file.level = debug
+logger.file.appenderRefs = debugFile
+logger.file.appenderRef.file.ref = DEBUGLOG
+logger.file.additivity=false
+
+
+#loggers=file
+#logger.file.name=com.sun.jersey.test.framework.spi.container
+#logger.file.level = info
+#logger.file.appenderRefs = file
+#logger.file.appenderRef.file.ref = ERRORLOG
+#logger.file.additivity=false
\ No newline at end of file
diff --git a/src/main/resources/log4j2.properties b/src/main/resources/log4j2.properties
new file mode 100644
index 0000000..618c58f
--- /dev/null
+++ b/src/main/resources/log4j2.properties
@@ -0,0 +1,45 @@
+#appenders = console, file, ldapFile
+appenders = console, file
+appender.console.type = Console
+appender.console.name = STDOUT
+appender.console.layout.type = PatternLayout
+appender.console.layout.pattern = %d{yyyy-MM-dd, HH:mm:ss} %C{6} - %M%n %-5p: %m%n
+
+appender.file.type = File
+appender.file.name = MAINLOG
+appender.file.fileName=./logs/kustvakt.log
+appender.file.layout.type=PatternLayout
+appender.file.layout.pattern= %d{yyyy-MM-dd, HH:mm:ss} %C{6} - %M%n %-5p: %m%n
+
+#appender.ldapFile.type = File
+#appender.ldapFile.name = LDAP_LOG
+#appender.ldapFile.fileName=./logs/ldap.log
+#appender.ldapFile.layout.type=PatternLayout
+#appender.ldapFile.layout.pattern= %d{yyyy-MM-dd, HH:mm:ss} %C{6} - %M%n %-5p: %m%n
+
+
+rootLogger.level = warn
+rootLogger.appenderRefs = console,file
+rootLogger.appenderRef.file.ref = MAINLOG
+rootLogger.additivity=true
+
+loggers=file
+logger.file.name=de.ids_mannheim.korap
+logger.file.level = info
+logger.file.appenderRefs = file
+logger.file.appenderRef.file.ref = MAINLOG
+logger.file.additivity=false
+
+loggers=file
+logger.console.name=de.ids_mannheim.korap.web.controller.AuthenticationController
+logger.console.level = warn
+logger.console.appenderRefs = file
+logger.console.appenderRef.file.ref = MAINLOG
+logger.console.additivity=false
+
+#loggers=file
+#logger.file.name=de.ids_mannheim.korap.authentication.LdapAuth3
+#logger.file.level = info
+#logger.file.appenderRefs = file
+#logger.file.appenderRef.file.ref = LDAP_LOG
+#logger.file.additivity=false
\ No newline at end of file
diff --git a/src/main/resources/properties/basic-jdbc.properties b/src/main/resources/properties/basic-jdbc.properties
new file mode 100644
index 0000000..df8c513
--- /dev/null
+++ b/src/main/resources/properties/basic-jdbc.properties
@@ -0,0 +1,9 @@
+
+# Sqlite Settings
+
+jdbc.database=sqlite
+jdbc.driverClassName=org.sqlite.JDBC
+jdbc.url=jdbc:sqlite:basic.sqlite
+jdbc.username=pc
+jdbc.password=pc
+jdbc.schemaPath=db/sqlite, db/predefined,db/test
diff --git a/src/main/resources/properties/hibernate.properties b/src/main/resources/properties/hibernate.properties
new file mode 100644
index 0000000..e394a88
--- /dev/null
+++ b/src/main/resources/properties/hibernate.properties
@@ -0,0 +1,8 @@
+hibernate.dialect=org.hibernate.community.dialect.SQLiteDialect
+hibernate.hbm2ddl.auto=none
+hibernate.show_sql=false
+hibernate.cache.use_query_cache=false
+hibernate.cache.use_second_level_cache=false
+hibernate.cache.provider=org.hibernate.cache.EhCacheProvider
+hibernate.cache.region.factory=org.hibernate.cache.ehcache.EhCacheRegionFactory
+hibernate.jdbc.time_zone=UTC
\ No newline at end of file
diff --git a/src/main/resources/properties/jdbc.properties b/src/main/resources/properties/jdbc.properties
new file mode 100644
index 0000000..4b4a572
--- /dev/null
+++ b/src/main/resources/properties/jdbc.properties
@@ -0,0 +1,25 @@
+#-------------------------------------------------------------------------------
+# MySQL Settings
+# todo: test user and password in classpath file
+
+#jdbc.database=mysql
+#jdbc.driverClassName=com.mysql.jdbc.Driver
+#jdbc.url=jdbc:mysql://localhost:3306/kustvakt?useSSL=false&useLegacyDatetimeCode=false&serverTimezone=UTC
+#jdbc.username=korap
+#jdbc.password=password
+
+# db.insert contains test data, omit it in production setting
+#jdbc.schemaPath=db.mysql, db.predefined
+
+
+#-------------------------------------------------------------------------------
+# Sqlite Settings
+
+jdbc.database=sqlite
+jdbc.driverClassName=org.sqlite.JDBC
+jdbc.url=jdbc:sqlite:data/db.sqlite
+# jdbc.url=jdbc:sqlite:kustvakt_init_test.sqlite
+jdbc.username=pc
+jdbc.password=pc
+# db.insert contains test data, omit it in production setting
+jdbc.schemaPath=db/sqlite, db/predefined
diff --git a/src/main/resources/properties/lite-jdbc.properties b/src/main/resources/properties/lite-jdbc.properties
new file mode 100644
index 0000000..c96fc5d
--- /dev/null
+++ b/src/main/resources/properties/lite-jdbc.properties
@@ -0,0 +1,9 @@
+#-------------------------------------------------------------------------------
+# Sqlite Settings
+
+jdbc.database=sqlite
+jdbc.driverClassName=org.sqlite.JDBC
+jdbc.url=jdbc:sqlite:data/liteDB.sqlite
+jdbc.username=pc
+jdbc.password=pc
+jdbc.schemaPath=db/lite
\ No newline at end of file
diff --git a/src/main/resources/properties/mail.properties b/src/main/resources/properties/mail.properties
new file mode 100644
index 0000000..29d1ca1
--- /dev/null
+++ b/src/main/resources/properties/mail.properties
@@ -0,0 +1,7 @@
+mail.host = localhost
+mail.port = 25
+mail.connectiontimeout = 3000
+mail.auth = false
+mail.starttls.enable = false
+mail.username = username
+mail.password = password
\ No newline at end of file
diff --git a/src/main/resources/service.properties b/src/main/resources/service.properties
new file mode 100644
index 0000000..2f428f5
--- /dev/null
+++ b/src/main/resources/service.properties
@@ -0,0 +1,4 @@
+kustvakt.version=${project.version}
+krill.version=${krill.version}
+koral.version=${koral.version}
+kustvakt.cache=true
\ No newline at end of file
diff --git a/src/main/resources/templates/notification.vm b/src/main/resources/templates/notification.vm
new file mode 100644
index 0000000..254ad83
--- /dev/null
+++ b/src/main/resources/templates/notification.vm
@@ -0,0 +1,12 @@
+<html>
+ <body>
+ <h3>Hi $username,</h3>
+ <p> you have been invited to group $group by $inviter! </p>
+ <p> Please login to <a href="https://korap.ids-mannheim.de/kalamar">KorAP</a> with your
+ account to accept or reject this invitation within 30 minutes. </p>
+ <p>After joining a group, you will be able to access virtual corpora shared with members of
+ the group. If you would like share your virtual corpus to a group, please contact the
+ group admin.</p>
+ <p> This is an automated generated email. Please do not reply directly to this e-mail. </p>
+ </body>
+</html>
\ No newline at end of file
diff --git a/src/main/resources/validation.properties b/src/main/resources/validation.properties
new file mode 100644
index 0000000..15e09cd
--- /dev/null
+++ b/src/main/resources/validation.properties
@@ -0,0 +1,42 @@
+# The ESAPI validator does many security checks on input, such as canonicalization
+# and whitelist validation. Note that all of these validation rules are applied *after*
+# canonicalization. Double-encoded characters (even with different encodings involved,
+# are never allowed.
+#
+# To use:
+#
+# First set up a pattern below. You can choose any name you want, prefixed by the word
+# "Validation." For example:
+# Validation.Email=^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\\.[a-zA-Z]{2,4}$
+#
+# Then you can validate in your code against the pattern like this:
+# ESAPI.validator().isValidInput("User Email", input, "Email", maxLength, allowNull);
+# Where maxLength and allowNull are set for you needs, respectively.
+#
+# But note, when you use boolean variants of validation functions, you lose critical
+# canonicalization. It is preferable to use the "get" methods (which throw exceptions) and
+# and use the returned user input which is in canonical form. Consider the following:
+#
+# try {
+# someObject.setEmail(ESAPI.validator().getValidInput("User Email", input, "Email", maxLength, allowNull));
+#
+# Validator.SafeString=^[.;:\\-\\p{Alnum}\\p{Space}]{0,1024}$
+# Validator.password_cap=((?=.*\\d)(?=.*[a-z])(?=.*[A-Z]).{8,20})
+Validator.SafeString=^[.;:,=\\*\/\/_()\\-0-9\\p{L}\\p{Space}]{0,1024}$
+Validator.email=^[A-Za-z0-9._%'-]+@[A-Za-z0-9.-]+\\.[a-zA-Z]{2,4}$
+Validator.ipddress=^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$
+Validator.url=^(ht|f)tp(s?)\\:\\/\\/[0-9a-zA-Z]([-.\\w]*[0-9a-zA-Z])*(:(0-9)*)*(\\/?)([a-zA-Z0-9\\-\\.\\?\\,\\:\\'\\/\\\\\\+=&%\\$#_]*)?$
+# Validator.CreditCard=^(\\d{4}[- ]?){3}\\d{4}$
+# Validator.SSN=^(?!000)([0-6]\\d{2}|7([0-6]\\d|7[012]))([ -]?)(?!00)\\d\\d\\3(?!0000)\\d{4}$
+
+# as used by apache commons validator for strings
+# Validator.string=^[\\.;:,\\=&\\*\\/\\/_()\\[\\]@\\|\\-0-9\\p{L}\\p{Space}]{0,1024}$
+
+#Validator.username=^[A-Za-z_.\\d]{6,15}$ by Hanl
+# 21.04.17/FB
+Validator.username=^[A-Za-z_.\\d]{3,20}$
+Validator.password=^((?=.*\\d)(?=.*[A-Za-z])(?!.*[\\(\\)-]).{8,20})$
+
+
+# EM
+Validator.setting=[a-zA-Z0-9_-]+
\ No newline at end of file