janko commited on
Commit
a7fac73
1 Parent(s): 1fd70b5

Update spaCy pipeline

Browse files
.gitattributes CHANGED
@@ -39,3 +39,4 @@ trainable_lemmatizer/trees filter=lfs diff=lfs merge=lfs -text
39
  trainable_lemmatizer/model filter=lfs diff=lfs merge=lfs -text
40
  morphologizer/model filter=lfs diff=lfs merge=lfs -text
41
  tagger/model filter=lfs diff=lfs merge=lfs -text
 
 
39
  trainable_lemmatizer/model filter=lfs diff=lfs merge=lfs -text
40
  morphologizer/model filter=lfs diff=lfs merge=lfs -text
41
  tagger/model filter=lfs diff=lfs merge=lfs -text
42
+ frequency_lemmatizer/table.json filter=lfs diff=lfs merge=lfs -text
README.md CHANGED
The diff for this file is too large to render. See raw diff
 
config.cfg CHANGED
@@ -1,9 +1,10 @@
1
  [paths]
2
- train = "corpus/train.spacy"
3
- test = "corpus/test.spacy"
4
- dev = "corpus/dev.spacy"
5
  vectors = null
6
  init_tok2vec = null
 
7
 
8
  [system]
9
  gpu_allocator = "pytorch"
@@ -11,7 +12,7 @@ seed = 0
11
 
12
  [nlp]
13
  lang = "grc"
14
- pipeline = ["transformer","tagger","morphologizer","parser","senter","trainable_lemmatizer","entity_ruler"]
15
  batch_size = 1024
16
  disabled = []
17
  before_creation = null
@@ -21,13 +22,10 @@ tokenizer = {"@tokenizers":"spacy.Tokenizer.v1"}
21
 
22
  [components]
23
 
24
- [components.entity_ruler]
25
- factory = "entity_ruler"
26
- ent_id_sep = "||"
27
- overwrite_ents = false
28
- phrase_matcher_attr = null
29
- scorer = {"@scorers":"spacy.entity_ruler_scorer.v1"}
30
- validate = false
31
 
32
  [components.morphologizer]
33
  factory = "morphologizer"
@@ -46,6 +44,28 @@ grad_factor = 1.0
46
  pooling = {"@layers":"reduce_mean.v1"}
47
  upstream = "*"
48
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
49
  [components.parser]
50
  factory = "parser"
51
  learn_tokens = false
@@ -60,7 +80,7 @@ state_type = "parser"
60
  extra_state_tokens = false
61
  hidden_width = 128
62
  maxout_pieces = 3
63
- use_upper = false
64
  nO = null
65
 
66
  [components.parser.model.tok2vec]
@@ -69,26 +89,6 @@ grad_factor = 1.0
69
  pooling = {"@layers":"reduce_mean.v1"}
70
  upstream = "*"
71
 
72
- [components.senter]
73
- factory = "senter"
74
- overwrite = false
75
- scorer = {"@scorers":"spacy.senter_scorer.v1"}
76
-
77
- [components.senter.model]
78
- @architectures = "spacy.Tagger.v2"
79
- nO = null
80
- normalize = false
81
-
82
- [components.senter.model.tok2vec]
83
- @architectures = "spacy.HashEmbedCNN.v2"
84
- pretrained_vectors = null
85
- width = 12
86
- depth = 1
87
- embed_size = 2000
88
- window_size = 1
89
- maxout_pieces = 2
90
- subword_features = true
91
-
92
  [components.tagger]
93
  factory = "tagger"
94
  neg_prefix = "!"
@@ -179,6 +179,7 @@ eval_frequency = 200
179
  frozen_components = []
180
  annotating_components = []
181
  before_to_disk = null
 
182
 
183
  [training.batcher]
184
  @batchers = "spacy.batch_by_padded.v1"
@@ -213,7 +214,7 @@ total_steps = 20000
213
  initial_rate = 0.00005
214
 
215
  [training.score_weights]
216
- tag_acc = 0.13
217
  pos_acc = 0.06
218
  morph_acc = 0.06
219
  morph_per_feat = null
@@ -223,10 +224,10 @@ dep_las_per_type = null
223
  sents_p = null
224
  sents_r = null
225
  sents_f = 0.0
226
- lemma_acc = 0.13
227
- ents_f = 0.5
228
  ents_p = 0.0
229
- ents_r = 0.0
230
  ents_per_type = null
231
 
232
  [pretraining]
@@ -241,11 +242,15 @@ after_init = null
241
 
242
  [initialize.components]
243
 
244
- [initialize.components.entity_ruler]
 
 
 
 
245
 
246
- [initialize.components.entity_ruler.patterns]
247
  @readers = "srsly.read_jsonl.v1"
248
- path = "assets/named_entities/patterns.jsonl"
249
  skip = false
250
 
251
  [initialize.tokenizer]
 
1
  [paths]
2
+ train = "corpus/ner/train.spacy"
3
+ test = null
4
+ dev = "corpus/ner/dev.spacy"
5
  vectors = null
6
  init_tok2vec = null
7
+ base_model = "grc_dep_treebanks_trf"
8
 
9
  [system]
10
  gpu_allocator = "pytorch"
 
12
 
13
  [nlp]
14
  lang = "grc"
15
+ pipeline = ["transformer","tagger","morphologizer","parser","trainable_lemmatizer","frequency_lemmatizer","ner"]
16
  batch_size = 1024
17
  disabled = []
18
  before_creation = null
 
22
 
23
  [components]
24
 
25
+ [components.frequency_lemmatizer]
26
+ factory = "frequency_lemmatizer"
27
+ fallback_priority = "lookup"
28
+ overwrite = true
 
 
 
29
 
30
  [components.morphologizer]
31
  factory = "morphologizer"
 
44
  pooling = {"@layers":"reduce_mean.v1"}
45
  upstream = "*"
46
 
47
+ [components.ner]
48
+ factory = "ner"
49
+ incorrect_spans_key = null
50
+ moves = null
51
+ scorer = {"@scorers":"spacy.ner_scorer.v1"}
52
+ update_with_oracle_cut_size = 100
53
+
54
+ [components.ner.model]
55
+ @architectures = "spacy.TransitionBasedParser.v2"
56
+ state_type = "ner"
57
+ extra_state_tokens = false
58
+ hidden_width = 64
59
+ maxout_pieces = 2
60
+ use_upper = false
61
+ nO = null
62
+
63
+ [components.ner.model.tok2vec]
64
+ @architectures = "spacy-transformers.TransformerListener.v1"
65
+ grad_factor = 1.0
66
+ pooling = {"@layers":"reduce_mean.v1"}
67
+ upstream = "*"
68
+
69
  [components.parser]
70
  factory = "parser"
71
  learn_tokens = false
 
80
  extra_state_tokens = false
81
  hidden_width = 128
82
  maxout_pieces = 3
83
+ use_upper = true
84
  nO = null
85
 
86
  [components.parser.model.tok2vec]
 
89
  pooling = {"@layers":"reduce_mean.v1"}
90
  upstream = "*"
91
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
92
  [components.tagger]
93
  factory = "tagger"
94
  neg_prefix = "!"
 
179
  frozen_components = []
180
  annotating_components = []
181
  before_to_disk = null
182
+ before_update = null
183
 
184
  [training.batcher]
185
  @batchers = "spacy.batch_by_padded.v1"
 
214
  initial_rate = 0.00005
215
 
216
  [training.score_weights]
217
+ tag_acc = 0.14
218
  pos_acc = 0.06
219
  morph_acc = 0.06
220
  morph_per_feat = null
 
224
  sents_p = null
225
  sents_r = null
226
  sents_f = 0.0
227
+ lemma_acc = 0.28
228
+ ents_f = 0.28
229
  ents_p = 0.0
230
+ ents_r = 0.06
231
  ents_per_type = null
232
 
233
  [pretraining]
 
242
 
243
  [initialize.components]
244
 
245
+ [initialize.components.frequency_lemmatizer]
246
+
247
+ [initialize.components.frequency_lemmatizer.lookup]
248
+ @readers = "srsly.read_json.v1"
249
+ path = "assets/lemmas/lemma_lookup.json"
250
 
251
+ [initialize.components.frequency_lemmatizer.table]
252
  @readers = "srsly.read_jsonl.v1"
253
+ path = "assets/lemmas/lemma_table.jsonl"
254
  skip = false
255
 
256
  [initialize.tokenizer]
frequency_lemmatizer/config.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {"overwrite": true, "fallback_priority": "lookup"}
frequency_lemmatizer/lookup.json ADDED
The diff for this file is too large to render. See raw diff
 
frequency_lemmatizer/table.json ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:9b4678164e1be8f5de58fea33c1a25f57c348012986f69762dc6fde547f955ad
3
+ size 26885581
grc_homercy_treebanks_trf-any-py3-none-any.whl CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:749132ceee19f8e8a2f631f585488e5c5bdd135de2c66478c7389ceed6f5d57e
3
- size 497112265
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:892bd8cc5e7b588a6e5ac2821830b0ba0da6f726857347d86b4189f2d600d774
3
+ size 497741351
lemmatizer.py ADDED
@@ -0,0 +1,271 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import os
2
+ import json
3
+ from pathlib import Path
4
+ from typing import Dict, List, Literal, Optional, Union, Iterable
5
+ from typing_extensions import TypedDict, NotRequired
6
+
7
+ from spacy.language import Language
8
+ from spacy.pipeline import Pipe
9
+ from spacy.pipeline.lemmatizer import lemmatizer_score
10
+ from spacy.util import ensure_path
11
+ from spacy.tokens import Doc, Token
12
+
13
+ MATCH_ORDER = [
14
+ "upos",
15
+ "Tense",
16
+ "VerbForm",
17
+ "Voice",
18
+ "Case",
19
+ "Gender",
20
+ "Number",
21
+ "Degree",
22
+ "Mood",
23
+ "Person",
24
+ "Aspect",
25
+ "Definite",
26
+ "PronType",
27
+ "Polarity",
28
+ "Poss",
29
+ "Reflex",
30
+ ]
31
+
32
+
33
+ class TableEntry(TypedDict):
34
+ form: str
35
+ lemma: str
36
+ upos: str
37
+ frequency: int
38
+ Tense: NotRequired[str]
39
+ VerbForm: NotRequired[str]
40
+ Voice: NotRequired[str]
41
+ Case: NotRequired[str]
42
+ Gender: NotRequired[str]
43
+ Number: NotRequired[str]
44
+ Degree: NotRequired[str]
45
+ Mood: NotRequired[str]
46
+ Person: NotRequired[str]
47
+ Aspect: NotRequired[str]
48
+ Definite: NotRequired[str]
49
+ PronType: NotRequired[str]
50
+ Polarity: NotRequired[str]
51
+ Poss: NotRequired[str]
52
+ Reflex: NotRequired[str]
53
+
54
+
55
+ FrequencyTable = Dict[str, List[TableEntry]]
56
+
57
+ LookupTable = Dict[str, str]
58
+
59
+
60
+ @Language.factory(
61
+ "frequency_lemmatizer",
62
+ assigns=["token.lemma"],
63
+ default_config={
64
+ "overwrite": True,
65
+ "fallback_priority": "lookup",
66
+ },
67
+ default_score_weights={"lemma_acc": 1.0},
68
+ )
69
+ def make_lemmatizer(
70
+ nlp: Language,
71
+ name: str,
72
+ overwrite: bool,
73
+ fallback_priority: Literal["lemma", "lookup"],
74
+ ):
75
+ return FrequencyLemmatizer(
76
+ nlp=nlp,
77
+ name=name,
78
+ overwrite=overwrite,
79
+ fallback_priority=fallback_priority,
80
+ ) # type: ignore
81
+
82
+
83
+ def max_freq_lemma(entries: List[TableEntry]) -> str:
84
+ """Returns lemma with highest frequency from the given entries."""
85
+ max_index = 0
86
+ n_entries = len(entries)
87
+ for index in range(1, n_entries):
88
+ if entries[index]["frequency"] > entries[max_index]["frequency"]:
89
+ max_index = index
90
+ return entries[max_index]["lemma"]
91
+
92
+
93
+ def match_lemma(
94
+ token_entry: TableEntry, table: FrequencyTable
95
+ ) -> Optional[str]:
96
+ """Returns a lemma for a token if it
97
+ can be found in the frequency table.
98
+ """
99
+ # Tries to find the entries associated with the token in the table
100
+ match = table.get(token_entry["form"], [])
101
+ if not match:
102
+ return None
103
+ # We go through all the properties to be matched
104
+ for match_property in MATCH_ORDER:
105
+ match_new = [
106
+ entry
107
+ for entry in match
108
+ if entry.get(match_property, "")
109
+ == token_entry.get(match_property, "")
110
+ ]
111
+ if not match_new:
112
+ return max_freq_lemma(entries=match)
113
+ match = match_new
114
+ return max_freq_lemma(entries=match)
115
+
116
+
117
+ def read_json(path: str) -> Dict:
118
+ with open(path) as file:
119
+ res = json.load(file)
120
+ return res
121
+
122
+
123
+ def write_json(object: Dict, path: str) -> None:
124
+ with open(path, "w") as file:
125
+ json.dump(object, file)
126
+
127
+
128
+ class FrequencyLemmatizer(Pipe):
129
+ """
130
+ Part-of-speech and morphology, and frequency
131
+ sensitive rule-based lemmatizer.
132
+
133
+ Parameters
134
+ ----------
135
+ overwrite: bool, default True
136
+ Specifies whether the frequency lemmatizer should overwrite
137
+ already assigned lemmas.
138
+ fallback_priority: 'lemma' or 'lookup', default 'lookup'
139
+ Specifies which fallback should have higher priority
140
+ if the lemma is not found in
141
+ the primary table.
142
+ """
143
+
144
+ def __init__(
145
+ self,
146
+ nlp: Language,
147
+ name: str = "freq_lemmatizer",
148
+ *,
149
+ overwrite: bool = True,
150
+ fallback_priority: Literal["lemma", "lookup"] = "lookup",
151
+ ):
152
+ self.name = name
153
+ self.overwrite = overwrite
154
+ self.scorer = lemmatizer_score
155
+ self.fallback_priority = fallback_priority
156
+
157
+ def initialize(
158
+ self,
159
+ get_examples=None,
160
+ *,
161
+ nlp=None,
162
+ table: Optional[FrequencyTable] = None,
163
+ lookup: Optional[LookupTable] = None,
164
+ ) -> None:
165
+ """Initializes the frequency lemmatizer from given lemma table and lookup.
166
+
167
+ Parameters
168
+ ----------
169
+ table: iterable of entries or None, default None
170
+ Iterable of all entries in the lemma table
171
+ with pos tags morph features and frequencies.
172
+ lookup: dict of str to str or None, default None
173
+ Backoff lookup table for simple token-lemma lookup.
174
+ """
175
+ if table is None:
176
+ self.table = None
177
+ else:
178
+ self.table = table
179
+ self.lookup = lookup
180
+
181
+ def backoff(self, token: Token) -> str:
182
+ """Gets backoff token based on priority."""
183
+ orth = token.orth_.lower()
184
+ lookup = self.lookup
185
+ in_lookup = (lookup is not None) and (orth in lookup)
186
+ priority = self.fallback_priority
187
+ has_lemma = (token.lemma != 0) and (token.lemma_ != token.orth_)
188
+ if in_lookup:
189
+ if priority == "lookup":
190
+ return lookup[orth] # type: ignore
191
+ else:
192
+ if has_lemma:
193
+ return token.lemma_
194
+ else:
195
+ return token.orth_
196
+ else:
197
+ if has_lemma:
198
+ return token.lemma_
199
+ else:
200
+ return token.orth_
201
+
202
+ def lemmatize(self, token: Token) -> str:
203
+ """Lemmatizes token."""
204
+ backoff = self.backoff(token)
205
+ orth = token.orth_.lower()
206
+ # If the table is empty we early return
207
+ if self.table is None:
208
+ return backoff
209
+ # I only add frequency for type compatibility
210
+ token_entry: TableEntry = TableEntry(
211
+ form=orth, upos=token.pos_, frequency=-1, **token.morph.to_dict()
212
+ )
213
+ lemma = match_lemma(token_entry=token_entry, table=self.table)
214
+ if lemma is None:
215
+ return backoff
216
+ else:
217
+ return lemma
218
+
219
+ def __call__(self, doc: Doc) -> Doc:
220
+ """Apply the lemmatization to a document."""
221
+ error_handler = self.get_error_handler()
222
+ try:
223
+ for token in doc:
224
+ if self.overwrite or token.lemma == 0:
225
+ token.lemma_ = self.lemmatize(token)
226
+ return doc
227
+ except Exception as e:
228
+ error_handler(self.name, self, [doc], e)
229
+
230
+ def to_disk(
231
+ self, path: Union[str, Path], *, exclude: Iterable[str] = tuple()
232
+ ):
233
+ """Save frequency lemmatizer data to a directory."""
234
+ path = ensure_path(path)
235
+ Path(path).mkdir(parents=True, exist_ok=True)
236
+ config = dict(
237
+ overwrite=self.overwrite, fallback_priority=self.fallback_priority
238
+ )
239
+ with open(os.path.join(path, "config.json"), "w") as config_file:
240
+ json.dump(config, config_file)
241
+ if self.table is not None:
242
+ table_path = os.path.join(path, "table.json")
243
+ write_json(self.table, path=table_path)
244
+ if self.lookup is not None:
245
+ lookup_path = os.path.join(path, "lookup.json")
246
+ write_json(self.lookup, path=lookup_path)
247
+
248
+ def from_disk(
249
+ self, path: Union[str, Path], *, exclude: Iterable[str] = tuple()
250
+ ) -> "FrequencyLemmatizer":
251
+ """Load component from disk."""
252
+ path = ensure_path(path)
253
+ config = read_json(os.path.join(path, "config.json"))
254
+ self.overwrite = config.get("overwrite", self.overwrite)
255
+ self.fallback_priority = config.get(
256
+ "fallback_priority", self.fallback_priority
257
+ )
258
+ try:
259
+ table: Optional[FrequencyTable] = read_json(
260
+ os.path.join(path, "table.json")
261
+ )
262
+ except FileNotFoundError:
263
+ table = None
264
+ try:
265
+ lookup: Optional[LookupTable] = read_json(
266
+ os.path.join(path, "lookup.json")
267
+ )
268
+ except FileNotFoundError:
269
+ lookup = None
270
+ self.initialize(table=table, lookup=lookup)
271
+ return self
meta.json CHANGED
@@ -1,13 +1,13 @@
1
  {
2
  "lang":"grc",
3
  "name":"homercy_treebanks_trf",
4
- "version":"0.0.0",
5
  "description":"",
6
- "author":"marton&jan",
7
  "email":"",
8
  "url":"",
9
  "license":"",
10
- "spacy_version":">=3.4.4,<3.5.0",
11
  "spacy_git_version":"Unknown",
12
  "vectors":{
13
  "width":0,
@@ -2324,10 +2324,13 @@
2324
  "vocative",
2325
  "xcomp"
2326
  ],
2327
- "entity_ruler":[
2328
- "ETHNICITY",
2329
- "LOCATION",
2330
- "PERSON"
 
 
 
2331
  ]
2332
  },
2333
  "pipeline":[
@@ -2335,291 +2338,60 @@
2335
  "tagger",
2336
  "morphologizer",
2337
  "parser",
2338
- "senter",
2339
  "trainable_lemmatizer",
2340
- "entity_ruler"
 
2341
  ],
2342
  "components":[
2343
  "transformer",
2344
  "tagger",
2345
  "morphologizer",
2346
  "parser",
2347
- "senter",
2348
  "trainable_lemmatizer",
2349
- "entity_ruler"
 
2350
  ],
2351
  "disabled":[
2352
 
2353
  ],
2354
  "performance":{
2355
- "tag_acc":0.94086886,
2356
- "pos_acc":0.9713782352,
2357
- "morph_acc":0.9377368252,
2358
- "morph_per_feat":{
2359
- "Case":{
2360
- "p":0.9781124603,
2361
- "r":0.9743549811,
2362
- "f":0.9762301051
2363
- },
2364
- "Gender":{
2365
- "p":0.9500365459,
2366
- "r":0.9498877695,
2367
- "f":0.9499621519
2368
- },
2369
- "Number":{
2370
- "p":0.9906314001,
2371
- "r":0.9872758067,
2372
- "f":0.9889507569
2373
- },
2374
- "Person":{
2375
- "p":0.981749528,
2376
- "r":0.9739854318,
2377
- "f":0.9778520685
2378
- },
2379
- "PronType":{
2380
- "p":0.9780361757,
2381
- "r":0.9831168831,
2382
- "f":0.9805699482
2383
- },
2384
- "Polarity":{
2385
- "p":0.9947089947,
2386
- "r":0.9740932642,
2387
- "f":0.9842931937
2388
- },
2389
- "Aspect":{
2390
- "p":0.9578220859,
2391
- "r":0.9670925281,
2392
- "f":0.9624349836
2393
- },
2394
- "Mood":{
2395
- "p":0.9819148936,
2396
- "r":0.9808714134,
2397
- "f":0.9813928761
2398
- },
2399
- "Tense":{
2400
- "p":0.9721036151,
2401
- "r":0.9704461495,
2402
- "f":0.9712741752
2403
- },
2404
- "VerbForm":{
2405
- "p":0.9931682323,
2406
- "r":0.9911931818,
2407
- "f":0.9921797242
2408
- },
2409
- "Voice":{
2410
- "p":0.9743808711,
2411
- "r":0.9731343284,
2412
- "f":0.9737572008
2413
- },
2414
- "Degree":{
2415
- "p":0.8942917548,
2416
- "r":0.9256017505,
2417
- "f":0.9096774194
2418
- },
2419
- "Definite":{
2420
- "p":0.9914209115,
2421
- "r":0.998919503,
2422
- "f":0.9951560818
2423
- },
2424
- "Reflex":{
2425
- "p":1.0,
2426
- "r":1.0,
2427
- "f":1.0
2428
- },
2429
- "Poss":{
2430
- "p":1.0,
2431
- "r":0.6842105263,
2432
- "f":0.8125
2433
- }
2434
- },
2435
- "dep_uas":0.8082404613,
2436
- "dep_las":0.7619958171,
2437
- "dep_las_per_type":{
2438
- "nsubj":{
2439
- "p":0.752774079,
2440
- "r":0.7726651481,
2441
- "f":0.7625899281
2442
- },
2443
- "discourse":{
2444
- "p":0.8331108144,
2445
- "r":0.8375838926,
2446
- "f":0.8353413655
2447
- },
2448
- "mark":{
2449
- "p":0.868907563,
2450
- "r":0.8517298188,
2451
- "f":0.8602329451
2452
- },
2453
- "advmod":{
2454
- "p":0.7692100297,
2455
- "r":0.7557615894,
2456
- "f":0.7624265099
2457
- },
2458
- "advcl":{
2459
- "p":0.6946564885,
2460
- "r":0.7260638298,
2461
- "f":0.7100130039
2462
- },
2463
- "xcomp":{
2464
- "p":0.547311828,
2465
- "r":0.5461373391,
2466
- "f":0.5467239527
2467
- },
2468
- "cop":{
2469
- "p":0.7494949495,
2470
- "r":0.7464788732,
2471
- "f":0.747983871
2472
- },
2473
- "root":{
2474
- "p":0.8805229937,
2475
- "r":0.9058441558,
2476
- "f":0.8930041152
2477
- },
2478
- "det":{
2479
- "p":0.9095829992,
2480
- "r":0.9079447669,
2481
- "f":0.9087631447
2482
- },
2483
- "nmod":{
2484
- "p":0.6882882883,
2485
- "r":0.6303630363,
2486
- "f":0.6580534022
2487
- },
2488
- "obj":{
2489
- "p":0.7432744043,
2490
- "r":0.7677649861,
2491
- "f":0.7553212263
2492
- },
2493
- "case":{
2494
- "p":0.9421122404,
2495
- "r":0.9441984057,
2496
- "f":0.9431541694
2497
- },
2498
- "obl":{
2499
- "p":0.6981473113,
2500
- "r":0.6912751678,
2501
- "f":0.6946942446
2502
- },
2503
- "cc":{
2504
- "p":0.7123958844,
2505
- "r":0.7262737263,
2506
- "f":0.7192678704
2507
- },
2508
- "conj":{
2509
- "p":0.6826446281,
2510
- "r":0.6618589744,
2511
- "f":0.672091131
2512
- },
2513
- "obl:agent":{
2514
- "p":0.76,
2515
- "r":0.5135135135,
2516
- "f":0.6129032258
2517
- },
2518
- "ccomp":{
2519
- "p":0.527638191,
2520
- "r":0.5134474328,
2521
- "f":0.5204460967
2522
- },
2523
- "nsubj:pass":{
2524
- "p":0.6756756757,
2525
- "r":0.7009345794,
2526
- "f":0.6880733945
2527
- },
2528
- "amod":{
2529
- "p":0.6267605634,
2530
- "r":0.5100286533,
2531
- "f":0.5624012638
2532
- },
2533
- "acl":{
2534
- "p":0.4901960784,
2535
- "r":0.3822629969,
2536
- "f":0.4295532646
2537
- },
2538
- "iobj":{
2539
- "p":0.66,
2540
- "r":0.6959578207,
2541
- "f":0.6775021386
2542
- },
2543
- "dep":{
2544
- "p":0.0,
2545
- "r":0.0,
2546
- "f":0.0
2547
- },
2548
- "nummod":{
2549
- "p":0.6413043478,
2550
- "r":0.7023809524,
2551
- "f":0.6704545455
2552
- },
2553
- "vocative":{
2554
- "p":0.7368421053,
2555
- "r":0.7608695652,
2556
- "f":0.7486631016
2557
- },
2558
- "orphan":{
2559
- "p":0.3043478261,
2560
- "r":0.1627906977,
2561
- "f":0.2121212121
2562
- },
2563
- "appos":{
2564
- "p":0.3684210526,
2565
- "r":0.3373493976,
2566
- "f":0.3522012579
2567
- },
2568
- "parataxis":{
2569
- "p":0.0,
2570
- "r":0.0,
2571
- "f":0.0
2572
- },
2573
- "dislocated":{
2574
- "p":0.4545454545,
2575
- "r":0.1923076923,
2576
- "f":0.2702702703
2577
- },
2578
- "csubj:pass":{
2579
- "p":0.5,
2580
- "r":0.4,
2581
- "f":0.4444444444
2582
- },
2583
- "flat:name":{
2584
- "p":0.9285714286,
2585
- "r":0.5909090909,
2586
- "f":0.7222222222
2587
- },
2588
- "aux:pass":{
2589
- "p":0.0,
2590
- "r":0.0,
2591
- "f":0.0
2592
- },
2593
- "fixed":{
2594
- "p":0.7142857143,
2595
- "r":0.5,
2596
- "f":0.5882352941
2597
  },
2598
- "aux":{
2599
- "p":0.0,
2600
- "r":0.0,
2601
- "f":0.0
2602
  },
2603
- "csubj":{
2604
- "p":0.4576271186,
2605
- "r":0.2621359223,
2606
- "f":0.3333333333
2607
  }
2608
  },
2609
- "sents_p":0.823264202,
2610
- "sents_r":0.8469387755,
2611
- "sents_f":0.8349336991,
2612
- "lemma_acc":0.8524901805,
2613
- "ents_f":0.0,
2614
- "ents_p":0.0,
2615
- "ents_r":0.0,
2616
- "ents_per_type":0.0,
2617
- "transformer_loss":84159.4944796881,
2618
- "tagger_loss":3810.5939189856,
2619
- "morphologizer_loss":10208.8954725415,
2620
- "parser_loss":55241.6052644808,
2621
- "senter_loss":17112.2703691721,
2622
- "trainable_lemmatizer_loss":55704.3451771736
2623
  },
2624
  "requirements":[
2625
  "spacy-transformers>=1.1.9,<1.2.0"
 
1
  {
2
  "lang":"grc",
3
  "name":"homercy_treebanks_trf",
4
+ "version":"0.0.1",
5
  "description":"",
6
+ "author":"",
7
  "email":"",
8
  "url":"",
9
  "license":"",
10
+ "spacy_version":">=3.5.0,<3.6.0",
11
  "spacy_git_version":"Unknown",
12
  "vectors":{
13
  "width":0,
 
2324
  "vocative",
2325
  "xcomp"
2326
  ],
2327
+ "frequency_lemmatizer":[
2328
+
2329
+ ],
2330
+ "ner":[
2331
+ "GROUP",
2332
+ "PERSON",
2333
+ "PLACE"
2334
  ]
2335
  },
2336
  "pipeline":[
 
2338
  "tagger",
2339
  "morphologizer",
2340
  "parser",
 
2341
  "trainable_lemmatizer",
2342
+ "frequency_lemmatizer",
2343
+ "ner"
2344
  ],
2345
  "components":[
2346
  "transformer",
2347
  "tagger",
2348
  "morphologizer",
2349
  "parser",
 
2350
  "trainable_lemmatizer",
2351
+ "frequency_lemmatizer",
2352
+ "ner"
2353
  ],
2354
  "disabled":[
2355
 
2356
  ],
2357
  "performance":{
2358
+ "tag_acc":0.0,
2359
+ "pos_acc":0.0,
2360
+ "morph_acc":0.0,
2361
+ "morph_per_feat":0.0,
2362
+ "dep_uas":0.0,
2363
+ "dep_las":0.0,
2364
+ "dep_las_per_type":0.0,
2365
+ "sents_p":0.0,
2366
+ "sents_r":0.0,
2367
+ "sents_f":0.0,
2368
+ "lemma_acc":0.0,
2369
+ "ents_f":0.9065,
2370
+ "ents_p":0.9042394015,
2371
+ "ents_r":0.9087719298,
2372
+ "ents_per_type":{
2373
+ "PERSON":{
2374
+ "p":0.9196428571,
2375
+ "r":0.9314242653,
2376
+ "f":0.9254960689
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2377
  },
2378
+ "GROUP":{
2379
+ "p":0.8746987952,
2380
+ "r":0.9166666667,
2381
+ "f":0.8951911221
2382
  },
2383
+ "PLACE":{
2384
+ "p":0.8699186992,
2385
+ "r":0.7867647059,
2386
+ "f":0.8262548263
2387
  }
2388
  },
2389
+ "transformer_loss":379.0443960885,
2390
+ "tagger_loss":0.0,
2391
+ "morphologizer_loss":0.0,
2392
+ "parser_loss":0.0,
2393
+ "trainable_lemmatizer_loss":0.0,
2394
+ "ner_loss":5206.3096345803
 
 
 
 
 
 
 
 
2395
  },
2396
  "requirements":[
2397
  "spacy-transformers>=1.1.9,<1.2.0"
morphologizer/model CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:47524663ec680d7d8addef14fa4fadf15d5c3fdbca404afa5f22ef454ab3a2cc
3
  size 4408561
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:3f6a0b9151073d3a98e80c72d721677e8f1c4fc6793d0773d6f80005744aaee6
3
  size 4408561
ner/cfg ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "moves":null,
3
+ "update_with_oracle_cut_size":100,
4
+ "multitasks":[
5
+
6
+ ],
7
+ "min_action_freq":1,
8
+ "learn_tokens":false,
9
+ "beam_width":1,
10
+ "beam_density":0.0,
11
+ "beam_update_prob":0.0,
12
+ "incorrect_spans_key":null
13
+ }
ner/model ADDED
Binary file (220 kB). View file
 
ner/moves ADDED
@@ -0,0 +1 @@
 
 
1
+ ��moves��{"0":{},"1":{"PERSON":10350,"GROUP":3437,"PLACE":1827},"2":{"PERSON":10350,"GROUP":3437,"PLACE":1827},"3":{"PERSON":10350,"GROUP":3437,"PLACE":1827},"4":{"PERSON":10350,"GROUP":3437,"PLACE":1827,"":1},"5":{"":1}}�cfg��neg_key�
parser/model CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:d67c60468361697bda7318f99ae9293968b8fcbd371dab154be90562f3519cb1
3
- size 2650687
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e292087fce74cce8ddabe32dcf0e55ff588fcc5caa2b6e460c81aaf79a59ef58
3
+ size 2075321
tagger/model CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:9f45d776ec0f48cf60aa1cd3754b7f66c080f9a3005abce478759e305e12e47b
3
  size 2562961
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:8b021099ba20b9c1cfbae5d86405796ac35e24a6de062894f01c7ec9d9c07dc7
3
  size 2562961
tokenizer CHANGED
@@ -1,3 +1,4 @@
1
- ��prefix_search� ~^§|^%|^=|^—|^–|^\+(?![0-9])|^…|^……|^,|^:|^;|^\!|^\?|^¿|^؟|^¡|^\(|^\)|^\[|^\]|^\{|^\}|^<|^>|^_|^#|^\*|^&|^。|^?|^!|^,|^、|^;|^:|^~|^·|^।|^،|^۔|^؛|^٪|^\.\.+|^…|^\'|^"|^”|^“|^`|^‘|^´|^’|^‚|^,|^„|^»|^«|^「|^」|^『|^』|^(|^)|^〔|^〕|^【|^】|^《|^》|^〈|^〉|^\$|^£|^€|^¥|^฿|^US\$|^C\$|^A\$|^₽|^﷼|^₴|^₠|^₡|^₢|^₣|^₤|^₥|^₦|^₧|^₨|^₩|^₪|^₫|^€|^₭|^₮|^₯|^₰|^₱|^₲|^₳|^₴|^₵|^₶|^₷|^₸|^₹|^₺|^₻|^₼|^₽|^₾|^₿|^[\u00A6\u00A9\u00AE\u00B0\u0482\u058D\u058E\u060E\u060F\u06DE\u06E9\u06FD\u06FE\u07F6\u09FA\u0B70\u0BF3-\u0BF8\u0BFA\u0C7F\u0D4F\u0D79\u0F01-\u0F03\u0F13\u0F15-\u0F17\u0F1A-\u0F1F\u0F34\u0F36\u0F38\u0FBE-\u0FC5\u0FC7-\u0FCC\u0FCE\u0FCF\u0FD5-\u0FD8\u109E\u109F\u1390-\u1399\u1940\u19DE-\u19FF\u1B61-\u1B6A\u1B74-\u1B7C\u2100\u2101\u2103-\u2106\u2108\u2109\u2114\u2116\u2117\u211E-\u2123\u2125\u2127\u2129\u212E\u213A\u213B\u214A\u214C\u214D\u214F\u218A\u218B\u2195-\u2199\u219C-\u219F\u21A1\u21A2\u21A4\u21A5\u21A7-\u21AD\u21AF-\u21CD\u21D0\u21D1\u21D3\u21D5-\u21F3\u2300-\u2307\u230C-\u231F\u2322-\u2328\u232B-\u237B\u237D-\u239A\u23B4-\u23DB\u23E2-\u2426\u2440-\u244A\u249C-\u24E9\u2500-\u25B6\u25B8-\u25C0\u25C2-\u25F7\u2600-\u266E\u2670-\u2767\u2794-\u27BF\u2800-\u28FF\u2B00-\u2B2F\u2B45\u2B46\u2B4D-\u2B73\u2B76-\u2B95\u2B98-\u2BC8\u2BCA-\u2BFE\u2CE5-\u2CEA\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFB\u3004\u3012\u3013\u3020\u3036\u3037\u303E\u303F\u3190\u3191\u3196-\u319F\u31C0-\u31E3\u3200-\u321E\u322A-\u3247\u3250\u3260-\u327F\u328A-\u32B0\u32C0-\u32FE\u3300-\u33FF\u4DC0-\u4DFF\uA490-\uA4C6\uA828-\uA82B\uA836\uA837\uA839\uAA77-\uAA79\uFDFD\uFFE4\uFFE8\uFFED\uFFEE\uFFFC\uFFFD\U00010137-\U0001013F\U00010179-\U00010189\U0001018C-\U0001018E\U00010190-\U0001019B\U000101A0\U000101D0-\U000101FC\U00010877\U00010878\U00010AC8\U0001173F\U00016B3C-\U00016B3F\U00016B45\U0001BC9C\U0001D000-\U0001D0F5\U0001D100-\U0001D126\U0001D129-\U0001D164\U0001D16A-\U0001D16C\U0001D183\U0001D184\U0001D18C-\U0001D1A9\U0001D1AE-\U0001D1E8\U0001D200-\U0001D241\U0001D245\U0001D300-\U0001D356\U0001D800-\U0001D9FF\U0001DA37-\U0001DA3A\U0001DA6D-\U0001DA74\U0001DA76-\U0001DA83\U0001DA85\U0001DA86\U0001ECAC\U0001F000-\U0001F02B\U0001F030-\U0001F093\U0001F0A0-\U0001F0AE\U0001F0B1-\U0001F0BF\U0001F0C1-\U0001F0CF\U0001F0D1-\U0001F0F5\U0001F110-\U0001F16B\U0001F170-\U0001F1AC\U0001F1E6-\U0001F202\U0001F210-\U0001F23B\U0001F240-\U0001F248\U0001F250\U0001F251\U0001F260-\U0001F265\U0001F300-\U0001F3FA\U0001F400-\U0001F6D4\U0001F6E0-\U0001F6EC\U0001F6F0-\U0001F6F9\U0001F700-\U0001F773\U0001F780-\U0001F7D8\U0001F800-\U0001F80B\U0001F810-\U0001F847\U0001F850-\U0001F859\U0001F860-\U0001F887\U0001F890-\U0001F8AD\U0001F900-\U0001F90B\U0001F910-\U0001F93E\U0001F940-\U0001F970\U0001F973-\U0001F976\U0001F97A\U0001F97C-\U0001F9A2\U0001F9B0-\U0001F9B9\U0001F9C0-\U0001F9C2\U0001F9D0-\U0001F9FF\U0001FA60-\U0001FA6D]�suffix_search�2y…$|……$|,$|:$|;$|\!$|\?$|¿$|؟$|¡$|\($|\)$|\[$|\]$|\{$|\}$|<$|>$|_$|#$|\*$|&$|。$|?$|!$|,$|、$|;$|:$|~$|·$|।$|،$|۔$|؛$|٪$|\.\.+$|…$|\'$|"$|”$|“$|`$|‘$|´$|’$|‚$|,$|„$|»$|«$|「$|」$|『$|』$|($|)$|〔$|〕$|【$|】$|《$|》$|〈$|〉$|[\u00A6\u00A9\u00AE\u00B0\u0482\u058D\u058E\u060E\u060F\u06DE\u06E9\u06FD\u06FE\u07F6\u09FA\u0B70\u0BF3-\u0BF8\u0BFA\u0C7F\u0D4F\u0D79\u0F01-\u0F03\u0F13\u0F15-\u0F17\u0F1A-\u0F1F\u0F34\u0F36\u0F38\u0FBE-\u0FC5\u0FC7-\u0FCC\u0FCE\u0FCF\u0FD5-\u0FD8\u109E\u109F\u1390-\u1399\u1940\u19DE-\u19FF\u1B61-\u1B6A\u1B74-\u1B7C\u2100\u2101\u2103-\u2106\u2108\u2109\u2114\u2116\u2117\u211E-\u2123\u2125\u2127\u2129\u212E\u213A\u213B\u214A\u214C\u214D\u214F\u218A\u218B\u2195-\u2199\u219C-\u219F\u21A1\u21A2\u21A4\u21A5\u21A7-\u21AD\u21AF-\u21CD\u21D0\u21D1\u21D3\u21D5-\u21F3\u2300-\u2307\u230C-\u231F\u2322-\u2328\u232B-\u237B\u237D-\u239A\u23B4-\u23DB\u23E2-\u2426\u2440-\u244A\u249C-\u24E9\u2500-\u25B6\u25B8-\u25C0\u25C2-\u25F7\u2600-\u266E\u2670-\u2767\u2794-\u27BF\u2800-\u28FF\u2B00-\u2B2F\u2B45\u2B46\u2B4D-\u2B73\u2B76-\u2B95\u2B98-\u2BC8\u2BCA-\u2BFE\u2CE5-\u2CEA\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFB\u3004\u3012\u3013\u3020\u3036\u3037\u303E\u303F\u3190\u3191\u3196-\u319F\u31C0-\u31E3\u3200-\u321E\u322A-\u3247\u3250\u3260-\u327F\u328A-\u32B0\u32C0-\u32FE\u3300-\u33FF\u4DC0-\u4DFF\uA490-\uA4C6\uA828-\uA82B\uA836\uA837\uA839\uAA77-\uAA79\uFDFD\uFFE4\uFFE8\uFFED\uFFEE\uFFFC\uFFFD\U00010137-\U0001013F\U00010179-\U00010189\U0001018C-\U0001018E\U00010190-\U0001019B\U000101A0\U000101D0-\U000101FC\U00010877\U00010878\U00010AC8\U0001173F\U00016B3C-\U00016B3F\U00016B45\U0001BC9C\U0001D000-\U0001D0F5\U0001D100-\U0001D126\U0001D129-\U0001D164\U0001D16A-\U0001D16C\U0001D183\U0001D184\U0001D18C-\U0001D1A9\U0001D1AE-\U0001D1E8\U0001D200-\U0001D241\U0001D245\U0001D300-\U0001D356\U0001D800-\U0001D9FF\U0001DA37-\U0001DA3A\U0001DA6D-\U0001DA74\U0001DA76-\U0001DA83\U0001DA85\U0001DA86\U0001ECAC\U0001F000-\U0001F02B\U0001F030-\U0001F093\U0001F0A0-\U0001F0AE\U0001F0B1-\U0001F0BF\U0001F0C1-\U0001F0CF\U0001F0D1-\U0001F0F5\U0001F110-\U0001F16B\U0001F170-\U0001F1AC\U0001F1E6-\U0001F202\U0001F210-\U0001F23B\U0001F240-\U0001F248\U0001F250\U0001F251\U0001F260-\U0001F265\U0001F300-\U0001F3FA\U0001F400-\U0001F6D4\U0001F6E0-\U0001F6EC\U0001F6F0-\U0001F6F9\U0001F700-\U0001F773\U0001F780-\U0001F7D8\U0001F800-\U0001F80B\U0001F810-\U0001F847\U0001F850-\U0001F859\U0001F860-\U0001F887\U0001F890-\U0001F8AD\U0001F900-\U0001F90B\U0001F910-\U0001F93E\U0001F940-\U0001F970\U0001F973-\U0001F976\U0001F97A\U0001F97C-\U0001F9A2\U0001F9B0-\U0001F9B9\U0001F9C0-\U0001F9C2\U0001F9D0-\U0001F9FF\U0001FA60-\U0001FA6D]$|'s$|'S$|’s$|’S$|—$|–$|(?<=[0-9])\+$|(?<=°[FfCcKk])\.$|(?<=[0-9])(?:\$|£|€|¥|฿|US\$|C\$|A\$|₽|﷼|₴|₠|₡|₢|₣|₤|₥|₦|₧|₨|₩|₪|₫|€|₭|₮|₯|₰|₱|₲|₳|₴|₵|₶|₷|₸|₹|₺|₻|₼|₽|₾|₿)$|(?<=[0-9])(?:km|km²|km³|m|m²|m³|dm|dm²|dm³|cm|cm²|cm³|mm|mm²|mm³|ha|µm|nm|yd|in|ft|kg|g|mg|µg|t|lb|oz|m/s|km/h|kmh|mph|hPa|Pa|mbar|mb|MB|kb|KB|gb|GB|tb|TB|T|G|M|K|%|км|км²|км³|м|м²|м³|дм|дм²|дм³|см|см²|см³|мм|мм²|мм³|нм|кг|г|мг|м/с|км/ч|кПа|Па|мбар|Кб|КБ|кб|Мб|МБ|мб|Гб|ГБ|гб|Тб|ТБ|тбكم|كم²|كم³|م|م²|م³|سم|سم²|سم³|مم|مم²|مم³|كم|غرام|جرام|جم|كغ|ملغ|كوب|اكواب)$|(?<=[0-9a-z\uFF41-\uFF5A\u00DF-\u00F6\u00F8-\u00FF\u0101\u0103\u0105\u0107\u0109\u010B\u010D\u010F\u0111\u0113\u0115\u0117\u0119\u011B\u011D\u011F\u0121\u0123\u0125\u0127\u0129\u012B\u012D\u012F\u0131\u0133\u0135\u0137\u0138\u013A\u013C\u013E\u0140\u0142\u0144\u0146\u0148\u0149\u014B\u014D\u014F\u0151\u0153\u0155\u0157\u0159\u015B\u015D\u015F\u0161\u0163\u0165\u0167\u0169\u016B\u016D\u016F\u0171\u0173\u0175\u0177\u017A\u017C\u017E\u017F\u0180\u0183\u0185\u0188\u018C\u018D\u0192\u0195\u0199-\u019B\u019E\u01A1\u01A3\u01A5\u01A8\u01AA\u01AB\u01AD\u01B0\u01B4\u01B6\u01B9\u01BA\u01BD-\u01BF\u01C6\u01C9\u01CC\u01CE\u01D0\u01D2\u01D4\u01D6\u01D8\u01DA\u01DC\u01DD\u01DF\u01E1\u01E3\u01E5\u01E7\u01E9\u01EB\u01ED\u01EF\u01F0\u01F3\u01F5\u01F9\u01FB\u01FD\u01FF\u0201\u0203\u0205\u0207\u0209\u020B\u020D\u020F\u0211\u0213\u0215\u0217\u0219\u021B\u021D\u021F\u0221\u0223\u0225\u0227\u0229\u022B\u022D\u022F\u0231\u0233-\u0239\u023C\u023F\u0240\u0242\u0247\u0249\u024B\u024D\u024F\u2C61\u2C65\u2C66\u2C68\u2C6A\u2C6C\u2C71\u2C73\u2C74\u2C76-\u2C7B\uA723\uA725\uA727\uA729\uA72B\uA72D\uA72F-\uA731\uA733\uA735\uA737\uA739\uA73B\uA73D\uA73F\uA741\uA743\uA745\uA747\uA749\uA74B\uA74D\uA74F\uA751\uA753\uA755\uA757\uA759\uA75B\uA75D\uA75F\uA761\uA763\uA765\uA767\uA769\uA76B\uA76D\uA76F\uA771-\uA778\uA77A\uA77C\uA77F\uA781\uA783\uA785\uA787\uA78C\uA78E\uA791\uA793-\uA795\uA797\uA799\uA79B\uA79D\uA79F\uA7A1\uA7A3\uA7A5\uA7A7\uA7A9\uA7AF\uA7B5\uA7B7\uA7B9\uA7FA\uAB30-\uAB5A\uAB60-\uAB64\u0250-\u02AF\u1D00-\u1D25\u1D6B-\u1D77\u1D79-\u1D9A\u1E01\u1E03\u1E05\u1E07\u1E09\u1E0B\u1E0D\u1E0F\u1E11\u1E13\u1E15\u1E17\u1E19\u1E1B\u1E1D\u1E1F\u1E21\u1E23\u1E25\u1E27\u1E29\u1E2B\u1E2D\u1E2F\u1E31\u1E33\u1E35\u1E37\u1E39\u1E3B\u1E3D\u1E3F\u1E41\u1E43\u1E45\u1E47\u1E49\u1E4B\u1E4D\u1E4F\u1E51\u1E53\u1E55\u1E57\u1E59\u1E5B\u1E5D\u1E5F\u1E61\u1E63\u1E65\u1E67\u1E69\u1E6B\u1E6D\u1E6F\u1E71\u1E73\u1E75\u1E77\u1E79\u1E7B\u1E7D\u1E7F\u1E81\u1E83\u1E85\u1E87\u1E89\u1E8B\u1E8D\u1E8F\u1E91\u1E93\u1E95-\u1E9D\u1E9F\u1EA1\u1EA3\u1EA5\u1EA7\u1EA9\u1EAB\u1EAD\u1EAF\u1EB1\u1EB3\u1EB5\u1EB7\u1EB9\u1EBB\u1EBD\u1EBF\u1EC1\u1EC3\u1EC5\u1EC7\u1EC9\u1ECB\u1ECD\u1ECF\u1ED1\u1ED3\u1ED5\u1ED7\u1ED9\u1EDB\u1EDD\u1EDF\u1EE1\u1EE3\u1EE5\u1EE7\u1EE9\u1EEB\u1EED\u1EEF\u1EF1\u1EF3\u1EF5\u1EF7\u1EF9\u1EFB\u1EFD\u1EFFёа-яәөүҗңһα-ωάέίόώήύа-щюяіїєґѓѕјљњќѐѝ\u1200-\u137F\u0980-\u09FF\u0591-\u05F4\uFB1D-\uFB4F\u0620-\u064A\u066E-\u06D5\u06E5-\u06FF\u0750-\u077F\u08A0-\u08BD\uFB50-\uFBB1\uFBD3-\uFD3D\uFD50-\uFDC7\uFDF0-\uFDFB\uFE70-\uFEFC\U0001EE00-\U0001EEBB\u0D80-\u0DFF\u0900-\u097F\u0C80-\u0CFF\u0B80-\u0BFF\u0C00-\u0C7F\uAC00-\uD7AF\u1100-\u11FF\u3040-\u309F\u30A0-\u30FFー\u4E00-\u62FF\u6300-\u77FF\u7800-\u8CFF\u8D00-\u9FFF\u3400-\u4DBF\U00020000-\U000215FF\U00021600-\U000230FF\U00023100-\U000245FF\U00024600-\U000260FF\U00026100-\U000275FF\U00027600-\U000290FF\U00029100-\U0002A6DF\U0002A700-\U0002B73F\U0002B740-\U0002B81F\U0002B820-\U0002CEAF\U0002CEB0-\U0002EBEF\u2E80-\u2EFF\u2F00-\u2FDF\u2FF0-\u2FFF\u3000-\u303F\u31C0-\u31EF\u3200-\u32FF\u3300-\u33FF\uF900-\uFAFF\uFE30-\uFE4F\U0001F200-\U0001F2FF\U0002F800-\U0002FA1F%²\-\+…|……|,|:|;|\!|\?|¿|؟|¡|\(|\)|\[|\]|\{|\}|<|>|_|#|\*|&|。|?|!|,|、|;|:|~|·|।|،|۔|؛|٪(?:\'"”“`‘´’‚,„»«「」『』()〔〕【】《》〈〉)])\.$|(?<=[A-Z\uFF21-\uFF3A\u00C0-\u00D6\u00D8-\u00DE\u0100\u0102\u0104\u0106\u0108\u010A\u010C\u010E\u0110\u0112\u0114\u0116\u0118\u011A\u011C\u011E\u0120\u0122\u0124\u0126\u0128\u012A\u012C\u012E\u0130\u0132\u0134\u0136\u0139\u013B\u013D\u013F\u0141\u0143\u0145\u0147\u014A\u014C\u014E\u0150\u0152\u0154\u0156\u0158\u015A\u015C\u015E\u0160\u0162\u0164\u0166\u0168\u016A\u016C\u016E\u0170\u0172\u0174\u0176\u0178\u0179\u017B\u017D\u0181\u0182\u0184\u0186\u0187\u0189-\u018B\u018E-\u0191\u0193\u0194\u0196-\u0198\u019C\u019D\u019F\u01A0\u01A2\u01A4\u01A6\u01A7\u01A9\u01AC\u01AE\u01AF\u01B1-\u01B3\u01B5\u01B7\u01B8\u01BC\u01C4\u01C7\u01CA\u01CD\u01CF\u01D1\u01D3\u01D5\u01D7\u01D9\u01DB\u01DE\u01E0\u01E2\u01E4\u01E6\u01E8\u01EA\u01EC\u01EE\u01F1\u01F4\u01F6-\u01F8\u01FA\u01FC\u01FE\u0200\u0202\u0204\u0206\u0208\u020A\u020C\u020E\u0210\u0212\u0214\u0216\u0218\u021A\u021C\u021E\u0220\u0222\u0224\u0226\u0228\u022A\u022C\u022E\u0230\u0232\u023A\u023B\u023D\u023E\u0241\u0243-\u0246\u0248\u024A\u024C\u024E\u2C60\u2C62-\u2C64\u2C67\u2C69\u2C6B\u2C6D-\u2C70\u2C72\u2C75\u2C7E\u2C7F\uA722\uA724\uA726\uA728\uA72A\uA72C\uA72E\uA732\uA734\uA736\uA738\uA73A\uA73C\uA73E\uA740\uA742\uA744\uA746\uA748\uA74A\uA74C\uA74E\uA750\uA752\uA754\uA756\uA758\uA75A\uA75C\uA75E\uA760\uA762\uA764\uA766\uA768\uA76A\uA76C\uA76E\uA779\uA77B\uA77D\uA77E\uA780\uA782\uA784\uA786\uA78B\uA78D\uA790\uA792\uA796\uA798\uA79A\uA79C\uA79E\uA7A0\uA7A2\uA7A4\uA7A6\uA7A8\uA7AA-\uA7AE\uA7B0-\uA7B4\uA7B6\uA7B8\u1E00\u1E02\u1E04\u1E06\u1E08\u1E0A\u1E0C\u1E0E\u1E10\u1E12\u1E14\u1E16\u1E18\u1E1A\u1E1C\u1E1E\u1E20\u1E22\u1E24\u1E26\u1E28\u1E2A\u1E2C\u1E2E\u1E30\u1E32\u1E34\u1E36\u1E38\u1E3A\u1E3C\u1E3E\u1E40\u1E42\u1E44\u1E46\u1E48\u1E4A\u1E4C\u1E4E\u1E50\u1E52\u1E54\u1E56\u1E58\u1E5A\u1E5C\u1E5E\u1E60\u1E62\u1E64\u1E66\u1E68\u1E6A\u1E6C\u1E6E\u1E70\u1E72\u1E74\u1E76\u1E78\u1E7A\u1E7C\u1E7E\u1E80\u1E82\u1E84\u1E86\u1E88\u1E8A\u1E8C\u1E8E\u1E90\u1E92\u1E94\u1E9E\u1EA0\u1EA2\u1EA4\u1EA6\u1EA8\u1EAA\u1EAC\u1EAE\u1EB0\u1EB2\u1EB4\u1EB6\u1EB8\u1EBA\u1EBC\u1EBE\u1EC0\u1EC2\u1EC4\u1EC6\u1EC8\u1ECA\u1ECC\u1ECE\u1ED0\u1ED2\u1ED4\u1ED6\u1ED8\u1EDA\u1EDC\u1EDE\u1EE0\u1EE2\u1EE4\u1EE6\u1EE8\u1EEA\u1EEC\u1EEE\u1EF0\u1EF2\u1EF4\u1EF6\u1EF8\u1EFA\u1EFC\u1EFEЁА-ЯӘӨҮҖҢҺΑ-ΩΆΈΊΌΏΉΎА-ЩЮЯІЇЄҐЃЅЈЉЊЌЀЍ\u1200-\u137F\u0980-\u09FF\u0591-\u05F4\uFB1D-\uFB4F\u0620-\u064A\u066E-\u06D5\u06E5-\u06FF\u0750-\u077F\u08A0-\u08BD\uFB50-\uFBB1\uFBD3-\uFD3D\uFD50-\uFDC7\uFDF0-\uFDFB\uFE70-\uFEFC\U0001EE00-\U0001EEBB\u0D80-\u0DFF\u0900-\u097F\u0C80-\u0CFF\u0B80-\u0BFF\u0C00-\u0C7F\uAC00-\uD7AF\u1100-\u11FF\u3040-\u309F\u30A0-\u30FFー\u4E00-\u62FF\u6300-\u77FF\u7800-\u8CFF\u8D00-\u9FFF\u3400-\u4DBF\U00020000-\U000215FF\U00021600-\U000230FF\U00023100-\U000245FF\U00024600-\U000260FF\U00026100-\U000275FF\U00027600-\U000290FF\U00029100-\U0002A6DF\U0002A700-\U0002B73F\U0002B740-\U0002B81F\U0002B820-\U0002CEAF\U0002CEB0-\U0002EBEF\u2E80-\u2EFF\u2F00-\u2FDF\u2FF0-\u2FFF\u3000-\u303F\u31C0-\u31EF\u3200-\u32FF\u3300-\u33FF\uF900-\uFAFF\uFE30-\uFE4F\U0001F200-\U0001F2FF\U0002F800-\U0002FA1F][A-Z\uFF21-\uFF3A\u00C0-\u00D6\u00D8-\u00DE\u0100\u0102\u0104\u0106\u0108\u010A\u010C\u010E\u0110\u0112\u0114\u0116\u0118\u011A\u011C\u011E\u0120\u0122\u0124\u0126\u0128\u012A\u012C\u012E\u0130\u0132\u0134\u0136\u0139\u013B\u013D\u013F\u0141\u0143\u0145\u0147\u014A\u014C\u014E\u0150\u0152\u0154\u0156\u0158\u015A\u015C\u015E\u0160\u0162\u0164\u0166\u0168\u016A\u016C\u016E\u0170\u0172\u0174\u0176\u0178\u0179\u017B\u017D\u0181\u0182\u0184\u0186\u0187\u0189-\u018B\u018E-\u0191\u0193\u0194\u0196-\u0198\u019C\u019D\u019F\u01A0\u01A2\u01A4\u01A6\u01A7\u01A9\u01AC\u01AE\u01AF\u01B1-\u01B3\u01B5\u01B7\u01B8\u01BC\u01C4\u01C7\u01CA\u01CD\u01CF\u01D1\u01D3\u01D5\u01D7\u01D9\u01DB\u01DE\u01E0\u01E2\u01E4\u01E6\u01E8\u01EA\u01EC\u01EE\u01F1\u01F4\u01F6-\u01F8\u01FA\u01FC\u01FE\u0200\u0202\u0204\u0206\u0208\u020A\u020C\u020E\u0210\u0212\u0214\u0216\u0218\u021A\u021C\u021E\u0220\u0222\u0224\u0226\u0228\u022A\u022C\u022E\u0230\u0232\u023A\u023B\u023D\u023E\u0241\u0243-\u0246\u0248\u024A\u024C\u024E\u2C60\u2C62-\u2C64\u2C67\u2C69\u2C6B\u2C6D-\u2C70\u2C72\u2C75\u2C7E\u2C7F\uA722\uA724\uA726\uA728\uA72A\uA72C\uA72E\uA732\uA734\uA736\uA738\uA73A\uA73C\uA73E\uA740\uA742\uA744\uA746\uA748\uA74A\uA74C\uA74E\uA750\uA752\uA754\uA756\uA758\uA75A\uA75C\uA75E\uA760\uA762\uA764\uA766\uA768\uA76A\uA76C\uA76E\uA779\uA77B\uA77D\uA77E\uA780\uA782\uA784\uA786\uA78B\uA78D\uA790\uA792\uA796\uA798\uA79A\uA79C\uA79E\uA7A0\uA7A2\uA7A4\uA7A6\uA7A8\uA7AA-\uA7AE\uA7B0-\uA7B4\uA7B6\uA7B8\u1E00\u1E02\u1E04\u1E06\u1E08\u1E0A\u1E0C\u1E0E\u1E10\u1E12\u1E14\u1E16\u1E18\u1E1A\u1E1C\u1E1E\u1E20\u1E22\u1E24\u1E26\u1E28\u1E2A\u1E2C\u1E2E\u1E30\u1E32\u1E34\u1E36\u1E38\u1E3A\u1E3C\u1E3E\u1E40\u1E42\u1E44\u1E46\u1E48\u1E4A\u1E4C\u1E4E\u1E50\u1E52\u1E54\u1E56\u1E58\u1E5A\u1E5C\u1E5E\u1E60\u1E62\u1E64\u1E66\u1E68\u1E6A\u1E6C\u1E6E\u1E70\u1E72\u1E74\u1E76\u1E78\u1E7A\u1E7C\u1E7E\u1E80\u1E82\u1E84\u1E86\u1E88\u1E8A\u1E8C\u1E8E\u1E90\u1E92\u1E94\u1E9E\u1EA0\u1EA2\u1EA4\u1EA6\u1EA8\u1EAA\u1EAC\u1EAE\u1EB0\u1EB2\u1EB4\u1EB6\u1EB8\u1EBA\u1EBC\u1EBE\u1EC0\u1EC2\u1EC4\u1EC6\u1EC8\u1ECA\u1ECC\u1ECE\u1ED0\u1ED2\u1ED4\u1ED6\u1ED8\u1EDA\u1EDC\u1EDE\u1EE0\u1EE2\u1EE4\u1EE6\u1EE8\u1EEA\u1EEC\u1EEE\u1EF0\u1EF2\u1EF4\u1EF6\u1EF8\u1EFA\u1EFC\u1EFEЁА-ЯӘӨҮҖҢҺΑ-ΩΆΈΊΌΏΉΎА-ЩЮЯІЇЄҐЃЅЈЉЊЌЀЍ\u1200-\u137F\u0980-\u09FF\u0591-\u05F4\uFB1D-\uFB4F\u0620-\u064A\u066E-\u06D5\u06E5-\u06FF\u0750-\u077F\u08A0-\u08BD\uFB50-\uFBB1\uFBD3-\uFD3D\uFD50-\uFDC7\uFDF0-\uFDFB\uFE70-\uFEFC\U0001EE00-\U0001EEBB\u0D80-\u0DFF\u0900-\u097F\u0C80-\u0CFF\u0B80-\u0BFF\u0C00-\u0C7F\uAC00-\uD7AF\u1100-\u11FF\u3040-\u309F\u30A0-\u30FFー\u4E00-\u62FF\u6300-\u77FF\u7800-\u8CFF\u8D00-\u9FFF\u3400-\u4DBF\U00020000-\U000215FF\U00021600-\U000230FF\U00023100-\U000245FF\U00024600-\U000260FF\U00026100-\U000275FF\U00027600-\U000290FF\U00029100-\U0002A6DF\U0002A700-\U0002B73F\U0002B740-\U0002B81F\U0002B820-\U0002CEAF\U0002CEB0-\U0002EBEF\u2E80-\u2EFF\u2F00-\u2FDF\u2FF0-\u2FFF\u3000-\u303F\u31C0-\u31EF\u3200-\u32FF\u3300-\u33FF\uF900-\uFAFF\uFE30-\uFE4F\U0001F200-\U0001F2FF\U0002F800-\U0002FA1F])\.$�infix_finditer�>�\.\.+|…|[\u00A6\u00A9\u00AE\u00B0\u0482\u058D\u058E\u060E\u060F\u06DE\u06E9\u06FD\u06FE\u07F6\u09FA\u0B70\u0BF3-\u0BF8\u0BFA\u0C7F\u0D4F\u0D79\u0F01-\u0F03\u0F13\u0F15-\u0F17\u0F1A-\u0F1F\u0F34\u0F36\u0F38\u0FBE-\u0FC5\u0FC7-\u0FCC\u0FCE\u0FCF\u0FD5-\u0FD8\u109E\u109F\u1390-\u1399\u1940\u19DE-\u19FF\u1B61-\u1B6A\u1B74-\u1B7C\u2100\u2101\u2103-\u2106\u2108\u2109\u2114\u2116\u2117\u211E-\u2123\u2125\u2127\u2129\u212E\u213A\u213B\u214A\u214C\u214D\u214F\u218A\u218B\u2195-\u2199\u219C-\u219F\u21A1\u21A2\u21A4\u21A5\u21A7-\u21AD\u21AF-\u21CD\u21D0\u21D1\u21D3\u21D5-\u21F3\u2300-\u2307\u230C-\u231F\u2322-\u2328\u232B-\u237B\u237D-\u239A\u23B4-\u23DB\u23E2-\u2426\u2440-\u244A\u249C-\u24E9\u2500-\u25B6\u25B8-\u25C0\u25C2-\u25F7\u2600-\u266E\u2670-\u2767\u2794-\u27BF\u2800-\u28FF\u2B00-\u2B2F\u2B45\u2B46\u2B4D-\u2B73\u2B76-\u2B95\u2B98-\u2BC8\u2BCA-\u2BFE\u2CE5-\u2CEA\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFB\u3004\u3012\u3013\u3020\u3036\u3037\u303E\u303F\u3190\u3191\u3196-\u319F\u31C0-\u31E3\u3200-\u321E\u322A-\u3247\u3250\u3260-\u327F\u328A-\u32B0\u32C0-\u32FE\u3300-\u33FF\u4DC0-\u4DFF\uA490-\uA4C6\uA828-\uA82B\uA836\uA837\uA839\uAA77-\uAA79\uFDFD\uFFE4\uFFE8\uFFED\uFFEE\uFFFC\uFFFD\U00010137-\U0001013F\U00010179-\U00010189\U0001018C-\U0001018E\U00010190-\U0001019B\U000101A0\U000101D0-\U000101FC\U00010877\U00010878\U00010AC8\U0001173F\U00016B3C-\U00016B3F\U00016B45\U0001BC9C\U0001D000-\U0001D0F5\U0001D100-\U0001D126\U0001D129-\U0001D164\U0001D16A-\U0001D16C\U0001D183\U0001D184\U0001D18C-\U0001D1A9\U0001D1AE-\U0001D1E8\U0001D200-\U0001D241\U0001D245\U0001D300-\U0001D356\U0001D800-\U0001D9FF\U0001DA37-\U0001DA3A\U0001DA6D-\U0001DA74\U0001DA76-\U0001DA83\U0001DA85\U0001DA86\U0001ECAC\U0001F000-\U0001F02B\U0001F030-\U0001F093\U0001F0A0-\U0001F0AE\U0001F0B1-\U0001F0BF\U0001F0C1-\U0001F0CF\U0001F0D1-\U0001F0F5\U0001F110-\U0001F16B\U0001F170-\U0001F1AC\U0001F1E6-\U0001F202\U0001F210-\U0001F23B\U0001F240-\U0001F248\U0001F250\U0001F251\U0001F260-\U0001F265\U0001F300-\U0001F3FA\U0001F400-\U0001F6D4\U0001F6E0-\U0001F6EC\U0001F6F0-\U0001F6F9\U0001F700-\U0001F773\U0001F780-\U0001F7D8\U0001F800-\U0001F80B\U0001F810-\U0001F847\U0001F850-\U0001F859\U0001F860-\U0001F887\U0001F890-\U0001F8AD\U0001F900-\U0001F90B\U0001F910-\U0001F93E\U0001F940-\U0001F970\U0001F973-\U0001F976\U0001F97A\U0001F97C-\U0001F9A2\U0001F9B0-\U0001F9B9\U0001F9C0-\U0001F9C2\U0001F9D0-\U0001F9FF\U0001FA60-\U0001FA6D]|(?<=[0-9])[+\-\*^](?=[0-9-])|(?<=[a-z\uFF41-\uFF5A\u00DF-\u00F6\u00F8-\u00FF\u0101\u0103\u0105\u0107\u0109\u010B\u010D\u010F\u0111\u0113\u0115\u0117\u0119\u011B\u011D\u011F\u0121\u0123\u0125\u0127\u0129\u012B\u012D\u012F\u0131\u0133\u0135\u0137\u0138\u013A\u013C\u013E\u0140\u0142\u0144\u0146\u0148\u0149\u014B\u014D\u014F\u0151\u0153\u0155\u0157\u0159\u015B\u015D\u015F\u0161\u0163\u0165\u0167\u0169\u016B\u016D\u016F\u0171\u0173\u0175\u0177\u017A\u017C\u017E\u017F\u0180\u0183\u0185\u0188\u018C\u018D\u0192\u0195\u0199-\u019B\u019E\u01A1\u01A3\u01A5\u01A8\u01AA\u01AB\u01AD\u01B0\u01B4\u01B6\u01B9\u01BA\u01BD-\u01BF\u01C6\u01C9\u01CC\u01CE\u01D0\u01D2\u01D4\u01D6\u01D8\u01DA\u01DC\u01DD\u01DF\u01E1\u01E3\u01E5\u01E7\u01E9\u01EB\u01ED\u01EF\u01F0\u01F3\u01F5\u01F9\u01FB\u01FD\u01FF\u0201\u0203\u0205\u0207\u0209\u020B\u020D\u020F\u0211\u0213\u0215\u0217\u0219\u021B\u021D\u021F\u0221\u0223\u0225\u0227\u0229\u022B\u022D\u022F\u0231\u0233-\u0239\u023C\u023F\u0240\u0242\u0247\u0249\u024B\u024D\u024F\u2C61\u2C65\u2C66\u2C68\u2C6A\u2C6C\u2C71\u2C73\u2C74\u2C76-\u2C7B\uA723\uA725\uA727\uA729\uA72B\uA72D\uA72F-\uA731\uA733\uA735\uA737\uA739\uA73B\uA73D\uA73F\uA741\uA743\uA745\uA747\uA749\uA74B\uA74D\uA74F\uA751\uA753\uA755\uA757\uA759\uA75B\uA75D\uA75F\uA761\uA763\uA765\uA767\uA769\uA76B\uA76D\uA76F\uA771-\uA778\uA77A\uA77C\uA77F\uA781\uA783\uA785\uA787\uA78C\uA78E\uA791\uA793-\uA795\uA797\uA799\uA79B\uA79D\uA79F\uA7A1\uA7A3\uA7A5\uA7A7\uA7A9\uA7AF\uA7B5\uA7B7\uA7B9\uA7FA\uAB30-\uAB5A\uAB60-\uAB64\u0250-\u02AF\u1D00-\u1D25\u1D6B-\u1D77\u1D79-\u1D9A\u1E01\u1E03\u1E05\u1E07\u1E09\u1E0B\u1E0D\u1E0F\u1E11\u1E13\u1E15\u1E17\u1E19\u1E1B\u1E1D\u1E1F\u1E21\u1E23\u1E25\u1E27\u1E29\u1E2B\u1E2D\u1E2F\u1E31\u1E33\u1E35\u1E37\u1E39\u1E3B\u1E3D\u1E3F\u1E41\u1E43\u1E45\u1E47\u1E49\u1E4B\u1E4D\u1E4F\u1E51\u1E53\u1E55\u1E57\u1E59\u1E5B\u1E5D\u1E5F\u1E61\u1E63\u1E65\u1E67\u1E69\u1E6B\u1E6D\u1E6F\u1E71\u1E73\u1E75\u1E77\u1E79\u1E7B\u1E7D\u1E7F\u1E81\u1E83\u1E85\u1E87\u1E89\u1E8B\u1E8D\u1E8F\u1E91\u1E93\u1E95-\u1E9D\u1E9F\u1EA1\u1EA3\u1EA5\u1EA7\u1EA9\u1EAB\u1EAD\u1EAF\u1EB1\u1EB3\u1EB5\u1EB7\u1EB9\u1EBB\u1EBD\u1EBF\u1EC1\u1EC3\u1EC5\u1EC7\u1EC9\u1ECB\u1ECD\u1ECF\u1ED1\u1ED3\u1ED5\u1ED7\u1ED9\u1EDB\u1EDD\u1EDF\u1EE1\u1EE3\u1EE5\u1EE7\u1EE9\u1EEB\u1EED\u1EEF\u1EF1\u1EF3\u1EF5\u1EF7\u1EF9\u1EFB\u1EFD\u1EFFёа-яәөүҗңһα-ωάέίόώήύа-щюяіїєґѓѕјљњќѐѝ\u1200-\u137F\u0980-\u09FF\u0591-\u05F4\uFB1D-\uFB4F\u0620-\u064A\u066E-\u06D5\u06E5-\u06FF\u0750-\u077F\u08A0-\u08BD\uFB50-\uFBB1\uFBD3-\uFD3D\uFD50-\uFDC7\uFDF0-\uFDFB\uFE70-\uFEFC\U0001EE00-\U0001EEBB\u0D80-\u0DFF\u0900-\u097F\u0C80-\u0CFF\u0B80-\u0BFF\u0C00-\u0C7F\uAC00-\uD7AF\u1100-\u11FF\u3040-\u309F\u30A0-\u30FFー\u4E00-\u62FF\u6300-\u77FF\u7800-\u8CFF\u8D00-\u9FFF\u3400-\u4DBF\U00020000-\U000215FF\U00021600-\U000230FF\U00023100-\U000245FF\U00024600-\U000260FF\U00026100-\U000275FF\U00027600-\U000290FF\U00029100-\U0002A6DF\U0002A700-\U0002B73F\U0002B740-\U0002B81F\U0002B820-\U0002CEAF\U0002CEB0-\U0002EBEF\u2E80-\u2EFF\u2F00-\u2FDF\u2FF0-\u2FFF\u3000-\u303F\u31C0-\u31EF\u3200-\u32FF\u3300-\u33FF\uF900-\uFAFF\uFE30-\uFE4F\U0001F200-\U0001F2FF\U0002F800-\U0002FA1F\'"”“`‘´’‚,„»«「」『』()〔〕【】《》〈〉])\.(?=[A-Z\uFF21-\uFF3A\u00C0-\u00D6\u00D8-\u00DE\u0100\u0102\u0104\u0106\u0108\u010A\u010C\u010E\u0110\u0112\u0114\u0116\u0118\u011A\u011C\u011E\u0120\u0122\u0124\u0126\u0128\u012A\u012C\u012E\u0130\u0132\u0134\u0136\u0139\u013B\u013D\u013F\u0141\u0143\u0145\u0147\u014A\u014C\u014E\u0150\u0152\u0154\u0156\u0158\u015A\u015C\u015E\u0160\u0162\u0164\u0166\u0168\u016A\u016C\u016E\u0170\u0172\u0174\u0176\u0178\u0179\u017B\u017D\u0181\u0182\u0184\u0186\u0187\u0189-\u018B\u018E-\u0191\u0193\u0194\u0196-\u0198\u019C\u019D\u019F\u01A0\u01A2\u01A4\u01A6\u01A7\u01A9\u01AC\u01AE\u01AF\u01B1-\u01B3\u01B5\u01B7\u01B8\u01BC\u01C4\u01C7\u01CA\u01CD\u01CF\u01D1\u01D3\u01D5\u01D7\u01D9\u01DB\u01DE\u01E0\u01E2\u01E4\u01E6\u01E8\u01EA\u01EC\u01EE\u01F1\u01F4\u01F6-\u01F8\u01FA\u01FC\u01FE\u0200\u0202\u0204\u0206\u0208\u020A\u020C\u020E\u0210\u0212\u0214\u0216\u0218\u021A\u021C\u021E\u0220\u0222\u0224\u0226\u0228\u022A\u022C\u022E\u0230\u0232\u023A\u023B\u023D\u023E\u0241\u0243-\u0246\u0248\u024A\u024C\u024E\u2C60\u2C62-\u2C64\u2C67\u2C69\u2C6B\u2C6D-\u2C70\u2C72\u2C75\u2C7E\u2C7F\uA722\uA724\uA726\uA728\uA72A\uA72C\uA72E\uA732\uA734\uA736\uA738\uA73A\uA73C\uA73E\uA740\uA742\uA744\uA746\uA748\uA74A\uA74C\uA74E\uA750\uA752\uA754\uA756\uA758\uA75A\uA75C\uA75E\uA760\uA762\uA764\uA766\uA768\uA76A\uA76C\uA76E\uA779\uA77B\uA77D\uA77E\uA780\uA782\uA784\uA786\uA78B\uA78D\uA790\uA792\uA796\uA798\uA79A\uA79C\uA79E\uA7A0\uA7A2\uA7A4\uA7A6\uA7A8\uA7AA-\uA7AE\uA7B0-\uA7B4\uA7B6\uA7B8\u1E00\u1E02\u1E04\u1E06\u1E08\u1E0A\u1E0C\u1E0E\u1E10\u1E12\u1E14\u1E16\u1E18\u1E1A\u1E1C\u1E1E\u1E20\u1E22\u1E24\u1E26\u1E28\u1E2A\u1E2C\u1E2E\u1E30\u1E32\u1E34\u1E36\u1E38\u1E3A\u1E3C\u1E3E\u1E40\u1E42\u1E44\u1E46\u1E48\u1E4A\u1E4C\u1E4E\u1E50\u1E52\u1E54\u1E56\u1E58\u1E5A\u1E5C\u1E5E\u1E60\u1E62\u1E64\u1E66\u1E68\u1E6A\u1E6C\u1E6E\u1E70\u1E72\u1E74\u1E76\u1E78\u1E7A\u1E7C\u1E7E\u1E80\u1E82\u1E84\u1E86\u1E88\u1E8A\u1E8C\u1E8E\u1E90\u1E92\u1E94\u1E9E\u1EA0\u1EA2\u1EA4\u1EA6\u1EA8\u1EAA\u1EAC\u1EAE\u1EB0\u1EB2\u1EB4\u1EB6\u1EB8\u1EBA\u1EBC\u1EBE\u1EC0\u1EC2\u1EC4\u1EC6\u1EC8\u1ECA\u1ECC\u1ECE\u1ED0\u1ED2\u1ED4\u1ED6\u1ED8\u1EDA\u1EDC\u1EDE\u1EE0\u1EE2\u1EE4\u1EE6\u1EE8\u1EEA\u1EEC\u1EEE\u1EF0\u1EF2\u1EF4\u1EF6\u1EF8\u1EFA\u1EFC\u1EFEЁА-ЯӘӨҮҖҢҺΑ-ΩΆΈΊΌΏΉΎА-ЩЮЯІЇЄҐЃЅЈЉЊЌЀЍ\u1200-\u137F\u0980-\u09FF\u0591-\u05F4\uFB1D-\uFB4F\u0620-\u064A\u066E-\u06D5\u06E5-\u06FF\u0750-\u077F\u08A0-\u08BD\uFB50-\uFBB1\uFBD3-\uFD3D\uFD50-\uFDC7\uFDF0-\uFDFB\uFE70-\uFEFC\U0001EE00-\U0001EEBB\u0D80-\u0DFF\u0900-\u097F\u0C80-\u0CFF\u0B80-\u0BFF\u0C00-\u0C7F\uAC00-\uD7AF\u1100-\u11FF\u3040-\u309F\u30A0-\u30FFー\u4E00-\u62FF\u6300-\u77FF\u7800-\u8CFF\u8D00-\u9FFF\u3400-\u4DBF\U00020000-\U000215FF\U00021600-\U000230FF\U00023100-\U000245FF\U00024600-\U000260FF\U00026100-\U000275FF\U00027600-\U000290FF\U00029100-\U0002A6DF\U0002A700-\U0002B73F\U0002B740-\U0002B81F\U0002B820-\U0002CEAF\U0002CEB0-\U0002EBEF\u2E80-\u2EFF\u2F00-\u2FDF\u2FF0-\u2FFF\u3000-\u303F\u31C0-\u31EF\u3200-\u32FF\u3300-\u33FF\uF900-\uFAFF\uFE30-\uFE4F\U0001F200-\U0001F2FF\U0002F800-\U0002FA1F\'"”“`‘´’‚,„»«「」『』()〔〕【】《》〈〉])|(?<=[A-Za-z\uFF21-\uFF3A\uFF41-\uFF5A\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF\u0100-\u017F\u0180-\u01BF\u01C4-\u024F\u2C60-\u2C7B\u2C7E\u2C7F\uA722-\uA76F\uA771-\uA787\uA78B-\uA78E\uA790-\uA7B9\uA7FA\uAB30-\uAB5A\uAB60-\uAB64\u0250-\u02AF\u1D00-\u1D25\u1D6B-\u1D77\u1D79-\u1D9A\u1E00-\u1EFFёа-яЁА-ЯәөүҗңһӘӨҮҖҢҺα-ωάέίόώήύΑ-ΩΆΈΊΌΏΉΎа-щюяіїєґА-ЩЮЯІЇЄҐѓѕјљњќѐѝЃЅЈЉЊЌЀЍ\u1200-\u137F\u0980-\u09FF\u0591-\u05F4\uFB1D-\uFB4F\u0620-\u064A\u066E-\u06D5\u06E5-\u06FF\u0750-\u077F\u08A0-\u08BD\uFB50-\uFBB1\uFBD3-\uFD3D\uFD50-\uFDC7\uFDF0-\uFDFB\uFE70-\uFEFC\U0001EE00-\U0001EEBB\u0D80-\u0DFF\u0900-\u097F\u0C80-\u0CFF\u0B80-\u0BFF\u0C00-\u0C7F\uAC00-\uD7AF\u1100-\u11FF\u3040-\u309F\u30A0-\u30FFー\u4E00-\u62FF\u6300-\u77FF\u7800-\u8CFF\u8D00-\u9FFF\u3400-\u4DBF\U00020000-\U000215FF\U00021600-\U000230FF\U00023100-\U000245FF\U00024600-\U000260FF\U00026100-\U000275FF\U00027600-\U000290FF\U00029100-\U0002A6DF\U0002A700-\U0002B73F\U0002B740-\U0002B81F\U0002B820-\U0002CEAF\U0002CEB0-\U0002EBEF\u2E80-\u2EFF\u2F00-\u2FDF\u2FF0-\u2FFF\u3000-\u303F\u31C0-\u31EF\u3200-\u32FF\u3300-\u33FF\uF900-\uFAFF\uFE30-\uFE4F\U0001F200-\U0001F2FF\U0002F800-\U0002FA1F]),(?=[A-Za-z\uFF21-\uFF3A\uFF41-\uFF5A\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF\u0100-\u017F\u0180-\u01BF\u01C4-\u024F\u2C60-\u2C7B\u2C7E\u2C7F\uA722-\uA76F\uA771-\uA787\uA78B-\uA78E\uA790-\uA7B9\uA7FA\uAB30-\uAB5A\uAB60-\uAB64\u0250-\u02AF\u1D00-\u1D25\u1D6B-\u1D77\u1D79-\u1D9A\u1E00-\u1EFFёа-яЁА-ЯәөүҗңһӘӨҮҖҢҺα-ωάέίόώήύΑ-ΩΆΈΊΌΏΉΎа-щюяіїєґА-ЩЮЯІЇЄҐѓѕјљњќѐѝЃЅЈЉЊЌЀЍ\u1200-\u137F\u0980-\u09FF\u0591-\u05F4\uFB1D-\uFB4F\u0620-\u064A\u066E-\u06D5\u06E5-\u06FF\u0750-\u077F\u08A0-\u08BD\uFB50-\uFBB1\uFBD3-\uFD3D\uFD50-\uFDC7\uFDF0-\uFDFB\uFE70-\uFEFC\U0001EE00-\U0001EEBB\u0D80-\u0DFF\u0900-\u097F\u0C80-\u0CFF\u0B80-\u0BFF\u0C00-\u0C7F\uAC00-\uD7AF\u1100-\u11FF\u3040-\u309F\u30A0-\u30FFー\u4E00-\u62FF\u6300-\u77FF\u7800-\u8CFF\u8D00-\u9FFF\u3400-\u4DBF\U00020000-\U000215FF\U00021600-\U000230FF\U00023100-\U000245FF\U00024600-\U000260FF\U00026100-\U000275FF\U00027600-\U000290FF\U00029100-\U0002A6DF\U0002A700-\U0002B73F\U0002B740-\U0002B81F\U0002B820-\U0002CEAF\U0002CEB0-\U0002EBEF\u2E80-\u2EFF\u2F00-\u2FDF\u2FF0-\u2FFF\u3000-\u303F\u31C0-\u31EF\u3200-\u32FF\u3300-\u33FF\uF900-\uFAFF\uFE30-\uFE4F\U0001F200-\U0001F2FF\U0002F800-\U0002FA1F])|(?<=[A-Za-z\uFF21-\uFF3A\uFF41-\uFF5A\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF\u0100-\u017F\u0180-\u01BF\u01C4-\u024F\u2C60-\u2C7B\u2C7E\u2C7F\uA722-\uA76F\uA771-\uA787\uA78B-\uA78E\uA790-\uA7B9\uA7FA\uAB30-\uAB5A\uAB60-\uAB64\u0250-\u02AF\u1D00-\u1D25\u1D6B-\u1D77\u1D79-\u1D9A\u1E00-\u1EFFёа-яЁА-ЯәөүҗңһӘӨҮҖҢҺα-ωάέίόώήύΑ-ΩΆΈΊΌΏΉΎа-щюяіїєґА-ЩЮЯІЇЄҐѓѕјљњќѐѝЃЅЈЉЊЌЀЍ\u1200-\u137F\u0980-\u09FF\u0591-\u05F4\uFB1D-\uFB4F\u0620-\u064A\u066E-\u06D5\u06E5-\u06FF\u0750-\u077F\u08A0-\u08BD\uFB50-\uFBB1\uFBD3-\uFD3D\uFD50-\uFDC7\uFDF0-\uFDFB\uFE70-\uFEFC\U0001EE00-\U0001EEBB\u0D80-\u0DFF\u0900-\u097F\u0C80-\u0CFF\u0B80-\u0BFF\u0C00-\u0C7F\uAC00-\uD7AF\u1100-\u11FF\u3040-\u309F\u30A0-\u30FFー\u4E00-\u62FF\u6300-\u77FF\u7800-\u8CFF\u8D00-\u9FFF\u3400-\u4DBF\U00020000-\U000215FF\U00021600-\U000230FF\U00023100-\U000245FF\U00024600-\U000260FF\U00026100-\U000275FF\U00027600-\U000290FF\U00029100-\U0002A6DF\U0002A700-\U0002B73F\U0002B740-\U0002B81F\U0002B820-\U0002CEAF\U0002CEB0-\U0002EBEF\u2E80-\u2EFF\u2F00-\u2FDF\u2FF0-\u2FFF\u3000-\u303F\u31C0-\u31EF\u3200-\u32FF\u3300-\u33FF\uF900-\uFAFF\uFE30-\uFE4F\U0001F200-\U0001F2FF\U0002F800-\U0002FA1F])(?:-|–|—|--|---|——|~)(?=[A-Za-z\uFF21-\uFF3A\uFF41-\uFF5A\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF\u0100-\u017F\u0180-\u01BF\u01C4-\u024F\u2C60-\u2C7B\u2C7E\u2C7F\uA722-\uA76F\uA771-\uA787\uA78B-\uA78E\uA790-\uA7B9\uA7FA\uAB30-\uAB5A\uAB60-\uAB64\u0250-\u02AF\u1D00-\u1D25\u1D6B-\u1D77\u1D79-\u1D9A\u1E00-\u1EFFёа-яЁА-ЯәөүҗңһӘӨҮҖҢҺα-ωάέίόώήύΑ-ΩΆΈΊΌΏΉΎа-щюяіїєґА-ЩЮЯІЇЄҐѓѕјљњќѐѝЃЅЈЉЊЌЀЍ\u1200-\u137F\u0980-\u09FF\u0591-\u05F4\uFB1D-\uFB4F\u0620-\u064A\u066E-\u06D5\u06E5-\u06FF\u0750-\u077F\u08A0-\u08BD\uFB50-\uFBB1\uFBD3-\uFD3D\uFD50-\uFDC7\uFDF0-\uFDFB\uFE70-\uFEFC\U0001EE00-\U0001EEBB\u0D80-\u0DFF\u0900-\u097F\u0C80-\u0CFF\u0B80-\u0BFF\u0C00-\u0C7F\uAC00-\uD7AF\u1100-\u11FF\u3040-\u309F\u30A0-\u30FFー\u4E00-\u62FF\u6300-\u77FF\u7800-\u8CFF\u8D00-\u9FFF\u3400-\u4DBF\U00020000-\U000215FF\U00021600-\U000230FF\U00023100-\U000245FF\U00024600-\U000260FF\U00026100-\U000275FF\U00027600-\U000290FF\U00029100-\U0002A6DF\U0002A700-\U0002B73F\U0002B740-\U0002B81F\U0002B820-\U0002CEAF\U0002CEB0-\U0002EBEF\u2E80-\u2EFF\u2F00-\u2FDF\u2FF0-\u2FFF\u3000-\u303F\u31C0-\u31EF\u3200-\u32FF\u3300-\u33FF\uF900-\uFAFF\uFE30-\uFE4F\U0001F200-\U0001F2FF\U0002F800-\U0002FA1F])|(?<=[A-Za-z\uFF21-\uFF3A\uFF41-\uFF5A\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF\u0100-\u017F\u0180-\u01BF\u01C4-\u024F\u2C60-\u2C7B\u2C7E\u2C7F\uA722-\uA76F\uA771-\uA787\uA78B-\uA78E\uA790-\uA7B9\uA7FA\uAB30-\uAB5A\uAB60-\uAB64\u0250-\u02AF\u1D00-\u1D25\u1D6B-\u1D77\u1D79-\u1D9A\u1E00-\u1EFFёа-яЁА-ЯәөүҗңһӘӨҮҖҢҺα-ωάέίόώήύΑ-ΩΆΈΊΌΏΉΎа-щюяіїєґА-ЩЮЯІЇЄҐѓѕјљњќѐѝЃЅЈЉЊЌЀЍ\u1200-\u137F\u0980-\u09FF\u0591-\u05F4\uFB1D-\uFB4F\u0620-\u064A\u066E-\u06D5\u06E5-\u06FF\u0750-\u077F\u08A0-\u08BD\uFB50-\uFBB1\uFBD3-\uFD3D\uFD50-\uFDC7\uFDF0-\uFDFB\uFE70-\uFEFC\U0001EE00-\U0001EEBB\u0D80-\u0DFF\u0900-\u097F\u0C80-\u0CFF\u0B80-\u0BFF\u0C00-\u0C7F\uAC00-\uD7AF\u1100-\u11FF\u3040-\u309F\u30A0-\u30FFー\u4E00-\u62FF\u6300-\u77FF\u7800-\u8CFF\u8D00-\u9FFF\u3400-\u4DBF\U00020000-\U000215FF\U00021600-\U000230FF\U00023100-\U000245FF\U00024600-\U000260FF\U00026100-\U000275FF\U00027600-\U000290FF\U00029100-\U0002A6DF\U0002A700-\U0002B73F\U0002B740-\U0002B81F\U0002B820-\U0002CEAF\U0002CEB0-\U0002EBEF\u2E80-\u2EFF\u2F00-\u2FDF\u2FF0-\u2FFF\u3000-\u303F\u31C0-\u31EF\u3200-\u32FF\u3300-\u33FF\uF900-\uFAFF\uFE30-\uFE4F\U0001F200-\U0001F2FF\U0002F800-\U0002FA1F0-9])[:<>=/](?=[A-Za-z\uFF21-\uFF3A\uFF41-\uFF5A\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF\u0100-\u017F\u0180-\u01BF\u01C4-\u024F\u2C60-\u2C7B\u2C7E\u2C7F\uA722-\uA76F\uA771-\uA787\uA78B-\uA78E\uA790-\uA7B9\uA7FA\uAB30-\uAB5A\uAB60-\uAB64\u0250-\u02AF\u1D00-\u1D25\u1D6B-\u1D77\u1D79-\u1D9A\u1E00-\u1EFFёа-яЁА-ЯәөүҗңһӘӨҮҖҢҺα-ωάέίόώήύΑ-ΩΆΈΊΌΏΉΎа-щюяіїєґА-ЩЮЯІЇЄҐѓѕјљњќѐѝЃЅЈЉЊЌЀЍ\u1200-\u137F\u0980-\u09FF\u0591-\u05F4\uFB1D-\uFB4F\u0620-\u064A\u066E-\u06D5\u06E5-\u06FF\u0750-\u077F\u08A0-\u08BD\uFB50-\uFBB1\uFBD3-\uFD3D\uFD50-\uFDC7\uFDF0-\uFDFB\uFE70-\uFEFC\U0001EE00-\U0001EEBB\u0D80-\u0DFF\u0900-\u097F\u0C80-\u0CFF\u0B80-\u0BFF\u0C00-\u0C7F\uAC00-\uD7AF\u1100-\u11FF\u3040-\u309F\u30A0-\u30FFー\u4E00-\u62FF\u6300-\u77FF\u7800-\u8CFF\u8D00-\u9FFF\u3400-\u4DBF\U00020000-\U000215FF\U00021600-\U000230FF\U00023100-\U000245FF\U00024600-\U000260FF\U00026100-\U000275FF\U00027600-\U000290FF\U00029100-\U0002A6DF\U0002A700-\U0002B73F\U0002B740-\U0002B81F\U0002B820-\U0002CEAF\U0002CEB0-\U0002EBEF\u2E80-\u2EFF\u2F00-\u2FDF\u2FF0-\u2FFF\u3000-\u303F\u31C0-\u31EF\u3200-\u32FF\u3300-\u33FF\uF900-\uFAFF\uFE30-\uFE4F\U0001F200-\U0001F2FF\U0002F800-\U0002FA1F])�token_match��url_match�
 
2
  ��A�
3
  � ��A� �'��A�'�''��A�''�(*_*)��A�(*_*)�(-8��A�(-8�(-:��A�(-:�(-;��A�(-;�(-_-)��A�(-_-)�(._.)��A�(._.)�(:��A�(:�(;��A�(;�(=��A�(=�(>_<)��A�(>_<)�(^_^)��A�(^_^)�(o:��A�(o:�(¬_¬)��A�(¬_¬)�(ಠ_ಠ)��A�(ಠ_ಠ)�(╯°□°)╯︵┻━┻��A�(╯°□°)╯︵┻━┻�)-:��A�)-:�):��A�):�-_-��A�-_-�-__-��A�-__-�._.��A�._.�0.0��A�0.0�0.o��A�0.o�0_0��A�0_0�0_o��A�0_o�8)��A�8)�8-)��A�8-)�8-D��A�8-D�8D��A�8D�:'(��A�:'(�:')��A�:')�:'-(��A�:'-(�:'-)��A�:'-)�:(��A�:(�:((��A�:((�:(((��A�:(((�:()��A�:()�:)��A�:)�:))��A�:))�:)))��A�:)))�:*��A�:*�:-(��A�:-(�:-((��A�:-((�:-(((��A�:-(((�:-)��A�:-)�:-))��A�:-))�:-)))��A�:-)))�:-*��A�:-*�:-/��A�:-/�:-0��A�:-0�:-3��A�:-3�:->��A�:->�:-D��A�:-D�:-O��A�:-O�:-P��A�:-P�:-X��A�:-X�:-]��A�:-]�:-o��A�:-o�:-p��A�:-p�:-x��A�:-x�:-|��A�:-|�:-}��A�:-}�:/��A�:/�:0��A�:0�:1��A�:1�:3��A�:3�:>��A�:>�:D��A�:D�:O��A�:O�:P��A�:P�:X��A�:X�:]��A�:]�:o��A�:o�:o)��A�:o)�:p��A�:p�:x��A�:x�:|��A�:|�:}��A�:}�:’(��A�:’(�:’)��A�:’)�:’-(��A�:’-(�:’-)��A�:’-)�;)��A�;)�;-)��A�;-)�;-D��A�;-D�;D��A�;D�;_;��A�;_;�<.<��A�<.<�</3��A�</3�<3��A�<3�<33��A�<33�<333��A�<333�<space>��A�<space>�=(��A�=(�=)��A�=)�=/��A�=/�=3��A�=3�=D��A�=D�=[��A�=[�=]��A�=]�=|��A�=|�>.<��A�>.<�>.>��A�>.>�>:(��A�>:(�>:o��A�>:o�><(((*>��A�><(((*>�@_@��A�@_@�C++��A�C++�O.O��A�O.O�O.o��A�O.o�O_O��A�O_O�O_o��A�O_o�V.V��A�V.V�V_V��A�V_V�XD��A�XD�XDD��A�XDD�[-:��A�[-:�[:��A�[:�[=��A�[=�\")��A�\")�\n��A�\n�\t��A�\t�]=��A�]=�^_^��A�^_^�^__^��A�^__^�^___^��A�^___^�a.��A�a.�b.��A�b.�c.��A�c.�d.��A�d.�e.��A�e.�f.��A�f.�g.��A�g.�h.��A�h.�i.��A�i.�j.��A�j.�k.��A�k.�l.��A�l.�m.��A�m.�n.��A�n.�o.��A�o.�o.0��A�o.0�o.O��A�o.O�o.o��A�o.o�o_0��A�o_0�o_O��A�o_O�o_o��A�o_o�p.��A�p.�q.��A�q.�r.��A�r.�s.��A�s.�t.��A�t.�u.��A�u.�v.��A�v.�v.v��A�v.v�v_v��A�v_v�w.��A�w.�x.��A�x.�xD��A�xD�xDD��A�xDD�y.��A�y.�z.��A�z.� ��A� C� �¯\(ツ)/¯��A�¯\(ツ)/¯�°C.��A�°�A�C�A�.�°F.��A�°�A�F�A�.�°K.��A�°�A�K�A�.�°c.��A�°�A�c�A�.�°f.��A�°�A�f�A�.�°k.��A�°�A�k�A�.�ä.��A�ä.�ö.��A�ö.�ü.��A�ü.�Δ'��A�Δ'C�δέ�Δι'��A�Δι'C�διά�Δι’��A�Δι’C�διά�Δ’��A�Δ’C�δέ�Εφ'��A�Εφ'C�επί�Εφ’��A�Εφ’C�επί�Καθ'��A�Καθ'C�κατά�Καθ’��A�Καθ’C�κατά�Κατ'��A�Κατ'C�κατά�Κατ’��A�Κατ’C�κατά�Μ'��A�Μ'C�με�Μετ'��A�Μετ'C�μετά�Μετ’��A�Μετ’C�μετά�Μ’��A�Μ’C�με�Παρ'��A�Παρ'C�παρά�Παρ’��A�Παρ’C�παρά�Σ'��A�Σ'C�σε�Σ’��A�Σ’C�σε�Τ'��A�Τ'C�τε�Τ’��A�Τ’C�τε�αὑτός��A�αὑC�ὁ�A�τόςC�αὐτός�αὑτὸς��A�αὑC�ὁ�A�τὸςC�αὐτός�δ'��A�δ'C�δέ�δι'��A�δι'C�διά�διὰ��A�διὰC�διά�δι’��A�δι’C�διά�δὲ��A�δὲC�δέ�δ’��A�δ’C�δέ�εφ'��A�εφ'C�επί�εφ’��A�εφ’C�επί�θοἰμάτιον��A�θοC�τό�A�ἰμάτιον�θἡμέρᾳ��A�θC�τῇ�A�ἡμέρᾳ�καθ'��A�καθ'C�κατά�καθ’��A�καθ’C�κατά�κατ'��A�κατ'C�κατά�κατὰ��A�κατὰC�κατά�κατ’��A�κατ’C�κατά�καὐτός��A�κC�καί�A�αὐτός�καὐτὸς��A�κC�καί�A�αὐτὸςC�αὐτός�καὶ��A�καὶC�καί�κεἰ��A�κC�καί�A�εἰ�κεἰς��A�κC�καί�A�εἰς�κοὐ��A�κC�καί�A�οὐ�κἀγώ��A�κἀC�καί�A�γώC�ἐγώ�κἀγὼ��A�κἀC�καί�A�γὼC�ἐγώ�κἀν��A�κC�καί�A�ἀνC�ἐν�κἀς��A�κC�καί�A�ἀςC�ἐς�κᾆτα��A�κC�καί�A�ᾆταC�εἶτα�μ'��A�μ'C�με�μέ��A�μέC�με�μεθ'��A�μεθ'C�μετά�μεθ’��A�μεθ’C�μετά�μετ'��A�μετ'C�μετά�μετὰ��A�μετὰC�μετά�μετ’��A�μετ’C�μετά�μοὔστι��A�μοὔC�μοί�A�στιC�ἐστι�μοὖστι��A�μοὖC�μοί�A�στιC�ἐστι�μὲ��A�μὲC�με�μὲν��A�μὲνC�μέν�μὴν��A�μὴνC�μήν�μ’��A�μ’C�με�οὑμοί��A�οὑC�οἱ�A�μοίC�ἐμoί�οὑμοὶ��A�οὑC�οἱ�A�μοὶC�ἐμoί�οὑμός��A�οὑC�ὁ�A�μόςC�ἐμός�οὑμὸς��A�οὑC�ὁ�A�μὸςC�ἐμός�οὑν��A�οὑC�ὁ�A�νC�ἐν�παρ��A�παρC�παρά�παρ'��A�παρ'C�παρά�παρὰ��A�παρὰC�παρά�παρ’��A�παρ’C�παρά�προὔχοντα��A�προὔC�πρό�A�χονταC�ἔχοντα�προὔχων��A�προὔC�πρό�A�χωνC�ἔχων�σ'��A�σ'C�σε�σέ��A�σέC�σε�σοὐστί��A�σοὐC�σοί�A�στίC�ἐστί�σοὐστὶ��A�σοὐC�σοί�A�στὶC�ἐστί�σοὔστι��A�σοὔC�σοί�A�στιC�ἐστι�σὲ��A�σὲC�σε�σ’��A�σ’C�σε�τ'��A�τ'C�τε�τέ��A�τέC�τε�ταὐτοῦ��A�τC�τοῦ�A�αὐτοῦ�τοὔνομα��A�τοὔC�τό�A�νομαC�ὄνομα�τἀνδρί��A�τC�τῷ�A�ἀνδρί�τἀνδρός��A�τC�τοῦ�A�ἀνδρός�τἀνδρὶ��A�τC�τῷ�A�ἀνδρὶC�ἀνδρί�τἀνδρὸς��A�τC�τοῦ�A�ἀνδρὸςC�ἀνδρός�τἄλλα��A�τC�τὰ�A�ἄλλα�τἆλλα��A�τἆC�τὰ�A�λλαC�ἄλλα�τὠληθές��A�τὠC�τὸ�A�ληθέςC�ἀληθές�τὲ��A�τὲC�τε�τὴν��A�τὴνC�τήν�τὸν��A�τὸνC�τόν�τ’��A�τ’C�τε�χοἱ��A�χC�καί�A�οἱ�χἡ��A�χC�καί�A�ἡ�χἱκετεύετε��A�χC�καί�A�ἱκετεύετε�χὤπως��A�χC�καί�A�ὤπωςC�ὅπως�χὤταν��A�χC�καί�A�ὤτανC�ὅταν�χὤτε��A�χC�καί�A�ὤτεC�ὅτε�χ���τι��A�χC�καί�A�ὤτιC�ὅτι�ಠ_ಠ��A�ಠ_ಠ�ಠ︵ಠ��A�ಠ︵ಠ�ἀλλ'��A�ἀλλ'C�ἀλλά�ἀλλὰ��A�ἀλλὰC�ἀλλά�ἀλλ’��A�ἀλλ’C�ἀλλά�ἀπὸ��A�ἀπὸC�από�ἀφ'��A�ἀφ'C�από�ἀφ’��A�ἀφ’C�από�ἁγαθαί��A�ἁC�αἱ�A�γαθαίC�ἀγαθαί�ἁγαθαὶ��A�ἁC�αἱ�A�γαθαὶC�ἀγαθαί�ἁγώ��A�ἁC�ἃ�A�γώC�ἐγώ�ἁγὼ��A�ἁC�ἃ�A�γὼC�ἐγώ�ἁλήθεια��A�ἁC�ἡ�A�λήθειαC�ἀλήθεια�ἁνήρ��A�ἁC�ὁ�A�νήρC�ἀνήρ�ἁνὴρ��A�ἁC�ὁ�A�νὴρC�ἀνήρ�ἅνδρες��A�ἅC�οἱ�A�νδρεςC�ἄνδρες�ἅνθρωπος��A�ἅC�ὁ�A�νθρωποςC�ἄνθρωπος�ἐγᾦδα��A�ἐγC�ἐγώ�A�ᾦδαC�οἶδα�ἐγᾦμαι��A�ἐγC�ἐγώ�A�ᾦμαιC�οἶμαι�ἐπ'��A�ἐπ'C�επί�ἐπὶ��A�ἐπὶC�επί�ἐπ’��A�ἐπ’C�επί�Ἐπ'��A�Ἐπ'C�επί�Ἐπ’��A�Ἐπ’C�επί�ὑπ'��A�ὑπ'C�ὑπό�ὑπ’��A�ὑπ’C�ὑπό�ὑφ'��A�ὑφ'C�ὑπό�ὑφ’��A�ὑφ’C�ὑπό�Ὑπ'��A�Ὑπ'C�ὑπό�Ὑπ’��A�Ὑπ’C�ὑπό�ὥνεκα��A�ὥC�οὗ�A�νεκαC�ἕνεκα�ὦνδρες��A�ὦC�ὦ�A�νδρεςC�ἄνδρες�ὦνερ��A�ὦC�ὦ�A�νερC�ἄνερ�᾽ΑΠ'��A�᾽ΑΠ'C�από�᾽ΑΠ’��A�᾽ΑΠ’C�από�᾽Αλλ'��A�᾽Αλλ'C�ἀλλά�᾽Αλλ’��A�᾽Αλλ’C�ἀλλά�᾽Απ'��A�᾽Απ'C�από�᾽Απ’��A�᾽Απ’C�από�᾽Αφ��A�᾽ΑφC�από�—��A�—�’��A�’�’’��A�’’�faster_heuristics�
 
1
+ ��prefix_search� {^†|^⸏|^…|^……|^,|^:|^;|^\!|^\?|^¿|^؟|^¡|^\(|^\)|^\[|^\]|^\{|^\}|^<|^>|^_|^#|^\*|^&|^。|^?|^!|^,|^、|^;|^:|^~|^·|^।|^،|^۔|^؛|^٪|^\.\.+|^…|^\'|^"|^”|^“|^`|^‘|^´|^’|^‚|^,|^„|^»|^«|^「|^」|^『|^』|^(|^)|^〔|^〕|^【|^】|^《|^》|^〈|^〉|^〈|^〉|^⟦|^⟧|^\$|^£|^€|^¥|^฿|^US\$|^C\$|^A\$|^₽|^﷼|^₴|^₠|^₡|^₢|^₣|^₤|^₥|^₦|^₧|^₨|^₩|^₪|^₫|^€|^₭|^₮|^₯|^₰|^₱|^₲|^₳|^₴|^₵|^₶|^₷|^₸|^₹|^₺|^₻|^₼|^₽|^₾|^₿|^[\u00A6\u00A9\u00AE\u00B0\u0482\u058D\u058E\u060E\u060F\u06DE\u06E9\u06FD\u06FE\u07F6\u09FA\u0B70\u0BF3-\u0BF8\u0BFA\u0C7F\u0D4F\u0D79\u0F01-\u0F03\u0F13\u0F15-\u0F17\u0F1A-\u0F1F\u0F34\u0F36\u0F38\u0FBE-\u0FC5\u0FC7-\u0FCC\u0FCE\u0FCF\u0FD5-\u0FD8\u109E\u109F\u1390-\u1399\u1940\u19DE-\u19FF\u1B61-\u1B6A\u1B74-\u1B7C\u2100\u2101\u2103-\u2106\u2108\u2109\u2114\u2116\u2117\u211E-\u2123\u2125\u2127\u2129\u212E\u213A\u213B\u214A\u214C\u214D\u214F\u218A\u218B\u2195-\u2199\u219C-\u219F\u21A1\u21A2\u21A4\u21A5\u21A7-\u21AD\u21AF-\u21CD\u21D0\u21D1\u21D3\u21D5-\u21F3\u2300-\u2307\u230C-\u231F\u2322-\u2328\u232B-\u237B\u237D-\u239A\u23B4-\u23DB\u23E2-\u2426\u2440-\u244A\u249C-\u24E9\u2500-\u25B6\u25B8-\u25C0\u25C2-\u25F7\u2600-\u266E\u2670-\u2767\u2794-\u27BF\u2800-\u28FF\u2B00-\u2B2F\u2B45\u2B46\u2B4D-\u2B73\u2B76-\u2B95\u2B98-\u2BC8\u2BCA-\u2BFE\u2CE5-\u2CEA\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFB\u3004\u3012\u3013\u3020\u3036\u3037\u303E\u303F\u3190\u3191\u3196-\u319F\u31C0-\u31E3\u3200-\u321E\u322A-\u3247\u3250\u3260-\u327F\u328A-\u32B0\u32C0-\u32FE\u3300-\u33FF\u4DC0-\u4DFF\uA490-\uA4C6\uA828-\uA82B\uA836\uA837\uA839\uAA77-\uAA79\uFDFD\uFFE4\uFFE8\uFFED\uFFEE\uFFFC\uFFFD\U00010137-\U0001013F\U00010179-\U00010189\U0001018C-\U0001018E\U00010190-\U0001019B\U000101A0\U000101D0-\U000101FC\U00010877\U00010878\U00010AC8\U0001173F\U00016B3C-\U00016B3F\U00016B45\U0001BC9C\U0001D000-\U0001D0F5\U0001D100-\U0001D126\U0001D129-\U0001D164\U0001D16A-\U0001D16C\U0001D183\U0001D184\U0001D18C-\U0001D1A9\U0001D1AE-\U0001D1E8\U0001D200-\U0001D241\U0001D245\U0001D300-\U0001D356\U0001D800-\U0001D9FF\U0001DA37-\U0001DA3A\U0001DA6D-\U0001DA74\U0001DA76-\U0001DA83\U0001DA85\U0001DA86\U0001ECAC\U0001F000-\U0001F02B\U0001F030-\U0001F093\U0001F0A0-\U0001F0AE\U0001F0B1-\U0001F0BF\U0001F0C1-\U0001F0CF\U0001F0D1-\U0001F0F5\U0001F110-\U0001F16B\U0001F170-\U0001F1AC\U0001F1E6-\U0001F202\U0001F210-\U0001F23B\U0001F240-\U0001F248\U0001F250\U0001F251\U0001F260-\U0001F265\U0001F300-\U0001F3FA\U0001F400-\U0001F6D4\U0001F6E0-\U0001F6EC\U0001F6F0-\U0001F6F9\U0001F700-\U0001F773\U0001F780-\U0001F7D8\U0001F800-\U0001F80B\U0001F810-\U0001F847\U0001F850-\U0001F859\U0001F860-\U0001F887\U0001F890-\U0001F8AD\U0001F900-\U0001F90B\U0001F910-\U0001F93E\U0001F940-\U0001F970\U0001F973-\U0001F976\U0001F97A\U0001F97C-\U0001F9A2\U0001F9B0-\U0001F9B9\U0001F9C0-\U0001F9C2\U0001F9D0-\U0001F9FF\U0001FA60-\U0001FA6D]�suffix_search�
2
+ �…$|……$|,$|:$|;$|\!$|\?$|¿$|؟$|¡$|\($|\)$|\[$|\]$|\{$|\}$|<$|>$|_$|#$|\*$|&$|。$|?$|!$|,$|、$|;$|:$|~$|·$|।$|،$|۔$|؛$|٪$|\.\.+$|…$|\'$|"$|”$|“$|`$|‘$|´$|’$|‚$|,$|„$|»$|«$|「$|」$|『$|』$|($|)$|〔$|〕$|【$|】$|《$|》$|〈$|〉$|〈$|〉$|⟦$|⟧$|[\u00A6\u00A9\u00AE\u00B0\u0482\u058D\u058E\u060E\u060F\u06DE\u06E9\u06FD\u06FE\u07F6\u09FA\u0B70\u0BF3-\u0BF8\u0BFA\u0C7F\u0D4F\u0D79\u0F01-\u0F03\u0F13\u0F15-\u0F17\u0F1A-\u0F1F\u0F34\u0F36\u0F38\u0FBE-\u0FC5\u0FC7-\u0FCC\u0FCE\u0FCF\u0FD5-\u0FD8\u109E\u109F\u1390-\u1399\u1940\u19DE-\u19FF\u1B61-\u1B6A\u1B74-\u1B7C\u2100\u2101\u2103-\u2106\u2108\u2109\u2114\u2116\u2117\u211E-\u2123\u2125\u2127\u2129\u212E\u213A\u213B\u214A\u214C\u214D\u214F\u218A\u218B\u2195-\u2199\u219C-\u219F\u21A1\u21A2\u21A4\u21A5\u21A7-\u21AD\u21AF-\u21CD\u21D0\u21D1\u21D3\u21D5-\u21F3\u2300-\u2307\u230C-\u231F\u2322-\u2328\u232B-\u237B\u237D-\u239A\u23B4-\u23DB\u23E2-\u2426\u2440-\u244A\u249C-\u24E9\u2500-\u25B6\u25B8-\u25C0\u25C2-\u25F7\u2600-\u266E\u2670-\u2767\u2794-\u27BF\u2800-\u28FF\u2B00-\u2B2F\u2B45\u2B46\u2B4D-\u2B73\u2B76-\u2B95\u2B98-\u2BC8\u2BCA-\u2BFE\u2CE5-\u2CEA\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFB\u3004\u3012\u3013\u3020\u3036\u3037\u303E\u303F\u3190\u3191\u3196-\u319F\u31C0-\u31E3\u3200-\u321E\u322A-\u3247\u3250\u3260-\u327F\u328A-\u32B0\u32C0-\u32FE\u3300-\u33FF\u4DC0-\u4DFF\uA490-\uA4C6\uA828-\uA82B\uA836\uA837\uA839\uAA77-\uAA79\uFDFD\uFFE4\uFFE8\uFFED\uFFEE\uFFFC\uFFFD\U00010137-\U0001013F\U00010179-\U00010189\U0001018C-\U0001018E\U00010190-\U0001019B\U000101A0\U000101D0-\U000101FC\U00010877\U00010878\U00010AC8\U0001173F\U00016B3C-\U00016B3F\U00016B45\U0001BC9C\U0001D000-\U0001D0F5\U0001D100-\U0001D126\U0001D129-\U0001D164\U0001D16A-\U0001D16C\U0001D183\U0001D184\U0001D18C-\U0001D1A9\U0001D1AE-\U0001D1E8\U0001D200-\U0001D241\U0001D245\U0001D300-\U0001D356\U0001D800-\U0001D9FF\U0001DA37-\U0001DA3A\U0001DA6D-\U0001DA74\U0001DA76-\U0001DA83\U0001DA85\U0001DA86\U0001ECAC\U0001F000-\U0001F02B\U0001F030-\U0001F093\U0001F0A0-\U0001F0AE\U0001F0B1-\U0001F0BF\U0001F0C1-\U0001F0CF\U0001F0D1-\U0001F0F5\U0001F110-\U0001F16B\U0001F170-\U0001F1AC\U0001F1E6-\U0001F202\U0001F210-\U0001F23B\U0001F240-\U0001F248\U0001F250\U0001F251\U0001F260-\U0001F265\U0001F300-\U0001F3FA\U0001F400-\U0001F6D4\U0001F6E0-\U0001F6EC\U0001F6F0-\U0001F6F9\U0001F700-\U0001F773\U0001F780-\U0001F7D8\U0001F800-\U0001F80B\U0001F810-\U0001F847\U0001F850-\U0001F859\U0001F860-\U0001F887\U0001F890-\U0001F8AD\U0001F900-\U0001F90B\U0001F910-\U0001F93E\U0001F940-\U0001F970\U0001F973-\U0001F976\U0001F97A\U0001F97C-\U0001F9A2\U0001F9B0-\U0001F9B9\U0001F9C0-\U0001F9C2\U0001F9D0-\U0001F9FF\U0001FA60-\U0001FA6D]$|†$|⸎$|(?<=[\u1F00-\u1FFF\u0370-\u03FF])[\-\.⸏]$�infix_finditer�?!\.\.+|…|[\u00A6\u00A9\u00AE\u00B0\u0482\u058D\u058E\u060E\u060F\u06DE\u06E9\u06FD\u06FE\u07F6\u09FA\u0B70\u0BF3-\u0BF8\u0BFA\u0C7F\u0D4F\u0D79\u0F01-\u0F03\u0F13\u0F15-\u0F17\u0F1A-\u0F1F\u0F34\u0F36\u0F38\u0FBE-\u0FC5\u0FC7-\u0FCC\u0FCE\u0FCF\u0FD5-\u0FD8\u109E\u109F\u1390-\u1399\u1940\u19DE-\u19FF\u1B61-\u1B6A\u1B74-\u1B7C\u2100\u2101\u2103-\u2106\u2108\u2109\u2114\u2116\u2117\u211E-\u2123\u2125\u2127\u2129\u212E\u213A\u213B\u214A\u214C\u214D\u214F\u218A\u218B\u2195-\u2199\u219C-\u219F\u21A1\u21A2\u21A4\u21A5\u21A7-\u21AD\u21AF-\u21CD\u21D0\u21D1\u21D3\u21D5-\u21F3\u2300-\u2307\u230C-\u231F\u2322-\u2328\u232B-\u237B\u237D-\u239A\u23B4-\u23DB\u23E2-\u2426\u2440-\u244A\u249C-\u24E9\u2500-\u25B6\u25B8-\u25C0\u25C2-\u25F7\u2600-\u266E\u2670-\u2767\u2794-\u27BF\u2800-\u28FF\u2B00-\u2B2F\u2B45\u2B46\u2B4D-\u2B73\u2B76-\u2B95\u2B98-\u2BC8\u2BCA-\u2BFE\u2CE5-\u2CEA\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFB\u3004\u3012\u3013\u3020\u3036\u3037\u303E\u303F\u3190\u3191\u3196-\u319F\u31C0-\u31E3\u3200-\u321E\u322A-\u3247\u3250\u3260-\u327F\u328A-\u32B0\u32C0-\u32FE\u3300-\u33FF\u4DC0-\u4DFF\uA490-\uA4C6\uA828-\uA82B\uA836\uA837\uA839\uAA77-\uAA79\uFDFD\uFFE4\uFFE8\uFFED\uFFEE\uFFFC\uFFFD\U00010137-\U0001013F\U00010179-\U00010189\U0001018C-\U0001018E\U00010190-\U0001019B\U000101A0\U000101D0-\U000101FC\U00010877\U00010878\U00010AC8\U0001173F\U00016B3C-\U00016B3F\U00016B45\U0001BC9C\U0001D000-\U0001D0F5\U0001D100-\U0001D126\U0001D129-\U0001D164\U0001D16A-\U0001D16C\U0001D183\U0001D184\U0001D18C-\U0001D1A9\U0001D1AE-\U0001D1E8\U0001D200-\U0001D241\U0001D245\U0001D300-\U0001D356\U0001D800-\U0001D9FF\U0001DA37-\U0001DA3A\U0001DA6D-\U0001DA74\U0001DA76-\U0001DA83\U0001DA85\U0001DA86\U0001ECAC\U0001F000-\U0001F02B\U0001F030-\U0001F093\U0001F0A0-\U0001F0AE\U0001F0B1-\U0001F0BF\U0001F0C1-\U0001F0CF\U0001F0D1-\U0001F0F5\U0001F110-\U0001F16B\U0001F170-\U0001F1AC\U0001F1E6-\U0001F202\U0001F210-\U0001F23B\U0001F240-\U0001F248\U0001F250\U0001F251\U0001F260-\U0001F265\U0001F300-\U0001F3FA\U0001F400-\U0001F6D4\U0001F6E0-\U0001F6EC\U0001F6F0-\U0001F6F9\U0001F700-\U0001F773\U0001F780-\U0001F7D8\U0001F800-\U0001F80B\U0001F810-\U0001F847\U0001F850-\U0001F859\U0001F860-\U0001F887\U0001F890-\U0001F8AD\U0001F900-\U0001F90B\U0001F910-\U0001F93E\U0001F940-\U0001F970\U0001F973-\U0001F976\U0001F97A\U0001F97C-\U0001F9A2\U0001F9B0-\U0001F9B9\U0001F9C0-\U0001F9C2\U0001F9D0-\U0001F9FF\U0001FA60-\U0001FA6D]|(?<=[0-9])[+\-\*^](?=[0-9-])|(?<=[a-z\uFF41-\uFF5A\u00DF-\u00F6\u00F8-\u00FF\u0101\u0103\u0105\u0107\u0109\u010B\u010D\u010F\u0111\u0113\u0115\u0117\u0119\u011B\u011D\u011F\u0121\u0123\u0125\u0127\u0129\u012B\u012D\u012F\u0131\u0133\u0135\u0137\u0138\u013A\u013C\u013E\u0140\u0142\u0144\u0146\u0148\u0149\u014B\u014D\u014F\u0151\u0153\u0155\u0157\u0159\u015B\u015D\u015F\u0161\u0163\u0165\u0167\u0169\u016B\u016D\u016F\u0171\u0173\u0175\u0177\u017A\u017C\u017E\u017F\u0180\u0183\u0185\u0188\u018C\u018D\u0192\u0195\u0199-\u019B\u019E\u01A1\u01A3\u01A5\u01A8\u01AA\u01AB\u01AD\u01B0\u01B4\u01B6\u01B9\u01BA\u01BD-\u01BF\u01C6\u01C9\u01CC\u01CE\u01D0\u01D2\u01D4\u01D6\u01D8\u01DA\u01DC\u01DD\u01DF\u01E1\u01E3\u01E5\u01E7\u01E9\u01EB\u01ED\u01EF\u01F0\u01F3\u01F5\u01F9\u01FB\u01FD\u01FF\u0201\u0203\u0205\u0207\u0209\u020B\u020D\u020F\u0211\u0213\u0215\u0217\u0219\u021B\u021D\u021F\u0221\u0223\u0225\u0227\u0229\u022B\u022D\u022F\u0231\u0233-\u0239\u023C\u023F\u0240\u0242\u0247\u0249\u024B\u024D\u024F\u2C61\u2C65\u2C66\u2C68\u2C6A\u2C6C\u2C71\u2C73\u2C74\u2C76-\u2C7B\uA723\uA725\uA727\uA729\uA72B\uA72D\uA72F-\uA731\uA733\uA735\uA737\uA739\uA73B\uA73D\uA73F\uA741\uA743\uA745\uA747\uA749\uA74B\uA74D\uA74F\uA751\uA753\uA755\uA757\uA759\uA75B\uA75D\uA75F\uA761\uA763\uA765\uA767\uA769\uA76B\uA76D\uA76F\uA771-\uA778\uA77A\uA77C\uA77F\uA781\uA783\uA785\uA787\uA78C\uA78E\uA791\uA793-\uA795\uA797\uA799\uA79B\uA79D\uA79F\uA7A1\uA7A3\uA7A5\uA7A7\uA7A9\uA7AF\uA7B5\uA7B7\uA7B9\uA7FA\uAB30-\uAB5A\uAB60-\uAB64\u0250-\u02AF\u1D00-\u1D25\u1D6B-\u1D77\u1D79-\u1D9A\u1E01\u1E03\u1E05\u1E07\u1E09\u1E0B\u1E0D\u1E0F\u1E11\u1E13\u1E15\u1E17\u1E19\u1E1B\u1E1D\u1E1F\u1E21\u1E23\u1E25\u1E27\u1E29\u1E2B\u1E2D\u1E2F\u1E31\u1E33\u1E35\u1E37\u1E39\u1E3B\u1E3D\u1E3F\u1E41\u1E43\u1E45\u1E47\u1E49\u1E4B\u1E4D\u1E4F\u1E51\u1E53\u1E55\u1E57\u1E59\u1E5B\u1E5D\u1E5F\u1E61\u1E63\u1E65\u1E67\u1E69\u1E6B\u1E6D\u1E6F\u1E71\u1E73\u1E75\u1E77\u1E79\u1E7B\u1E7D\u1E7F\u1E81\u1E83\u1E85\u1E87\u1E89\u1E8B\u1E8D\u1E8F\u1E91\u1E93\u1E95-\u1E9D\u1E9F\u1EA1\u1EA3\u1EA5\u1EA7\u1EA9\u1EAB\u1EAD\u1EAF\u1EB1\u1EB3\u1EB5\u1EB7\u1EB9\u1EBB\u1EBD\u1EBF\u1EC1\u1EC3\u1EC5\u1EC7\u1EC9\u1ECB\u1ECD\u1ECF\u1ED1\u1ED3\u1ED5\u1ED7\u1ED9\u1EDB\u1EDD\u1EDF\u1EE1\u1EE3\u1EE5\u1EE7\u1EE9\u1EEB\u1EED\u1EEF\u1EF1\u1EF3\u1EF5\u1EF7\u1EF9\u1EFB\u1EFD\u1EFFёа-яәөүҗңһα-ωάέίόώήύа-щюяіїєґѓѕјљњќѐѝ\u1200-\u137F\u0980-\u09FF\u0591-\u05F4\uFB1D-\uFB4F\u0620-\u064A\u066E-\u06D5\u06E5-\u06FF\u0750-\u077F\u08A0-\u08BD\uFB50-\uFBB1\uFBD3-\uFD3D\uFD50-\uFDC7\uFDF0-\uFDFB\uFE70-\uFEFC\U0001EE00-\U0001EEBB\u0D80-\u0DFF\u0900-\u097F\u0C80-\u0CFF\u0B80-\u0BFF\u0C00-\u0C7F\uAC00-\uD7AF\u1100-\u11FF\u3040-\u309F\u30A0-\u30FFー\u4E00-\u62FF\u6300-\u77FF\u7800-\u8CFF\u8D00-\u9FFF\u3400-\u4DBF\U00020000-\U000215FF\U00021600-\U000230FF\U00023100-\U000245FF\U00024600-\U000260FF\U00026100-\U000275FF\U00027600-\U000290FF\U00029100-\U0002A6DF\U0002A700-\U0002B73F\U0002B740-\U0002B81F\U0002B820-\U0002CEAF\U0002CEB0-\U0002EBEF\u2E80-\u2EFF\u2F00-\u2FDF\u2FF0-\u2FFF\u3000-\u303F\u31C0-\u31EF\u3200-\u32FF\u3300-\u33FF\uF900-\uFAFF\uFE30-\uFE4F\U0001F200-\U0001F2FF\U0002F800-\U0002FA1F\'"”“`‘´’‚,„»«「」『』()〔〕【】《》〈〉〈〉⟦⟧])\.(?=[A-Z\uFF21-\uFF3A\u00C0-\u00D6\u00D8-\u00DE\u0100\u0102\u0104\u0106\u0108\u010A\u010C\u010E\u0110\u0112\u0114\u0116\u0118\u011A\u011C\u011E\u0120\u0122\u0124\u0126\u0128\u012A\u012C\u012E\u0130\u0132\u0134\u0136\u0139\u013B\u013D\u013F\u0141\u0143\u0145\u0147\u014A\u014C\u014E\u0150\u0152\u0154\u0156\u0158\u015A\u015C\u015E\u0160\u0162\u0164\u0166\u0168\u016A\u016C\u016E\u0170\u0172\u0174\u0176\u0178\u0179\u017B\u017D\u0181\u0182\u0184\u0186\u0187\u0189-\u018B\u018E-\u0191\u0193\u0194\u0196-\u0198\u019C\u019D\u019F\u01A0\u01A2\u01A4\u01A6\u01A7\u01A9\u01AC\u01AE\u01AF\u01B1-\u01B3\u01B5\u01B7\u01B8\u01BC\u01C4\u01C7\u01CA\u01CD\u01CF\u01D1\u01D3\u01D5\u01D7\u01D9\u01DB\u01DE\u01E0\u01E2\u01E4\u01E6\u01E8\u01EA\u01EC\u01EE\u01F1\u01F4\u01F6-\u01F8\u01FA\u01FC\u01FE\u0200\u0202\u0204\u0206\u0208\u020A\u020C\u020E\u0210\u0212\u0214\u0216\u0218\u021A\u021C\u021E\u0220\u0222\u0224\u0226\u0228\u022A\u022C\u022E\u0230\u0232\u023A\u023B\u023D\u023E\u0241\u0243-\u0246\u0248\u024A\u024C\u024E\u2C60\u2C62-\u2C64\u2C67\u2C69\u2C6B\u2C6D-\u2C70\u2C72\u2C75\u2C7E\u2C7F\uA722\uA724\uA726\uA728\uA72A\uA72C\uA72E\uA732\uA734\uA736\uA738\uA73A\uA73C\uA73E\uA740\uA742\uA744\uA746\uA748\uA74A\uA74C\uA74E\uA750\uA752\uA754\uA756\uA758\uA75A\uA75C\uA75E\uA760\uA762\uA764\uA766\uA768\uA76A\uA76C\uA76E\uA779\uA77B\uA77D\uA77E\uA780\uA782\uA784\uA786\uA78B\uA78D\uA790\uA792\uA796\uA798\uA79A\uA79C\uA79E\uA7A0\uA7A2\uA7A4\uA7A6\uA7A8\uA7AA-\uA7AE\uA7B0-\uA7B4\uA7B6\uA7B8\u1E00\u1E02\u1E04\u1E06\u1E08\u1E0A\u1E0C\u1E0E\u1E10\u1E12\u1E14\u1E16\u1E18\u1E1A\u1E1C\u1E1E\u1E20\u1E22\u1E24\u1E26\u1E28\u1E2A\u1E2C\u1E2E\u1E30\u1E32\u1E34\u1E36\u1E38\u1E3A\u1E3C\u1E3E\u1E40\u1E42\u1E44\u1E46\u1E48\u1E4A\u1E4C\u1E4E\u1E50\u1E52\u1E54\u1E56\u1E58\u1E5A\u1E5C\u1E5E\u1E60\u1E62\u1E64\u1E66\u1E68\u1E6A\u1E6C\u1E6E\u1E70\u1E72\u1E74\u1E76\u1E78\u1E7A\u1E7C\u1E7E\u1E80\u1E82\u1E84\u1E86\u1E88\u1E8A\u1E8C\u1E8E\u1E90\u1E92\u1E94\u1E9E\u1EA0\u1EA2\u1EA4\u1EA6\u1EA8\u1EAA\u1EAC\u1EAE\u1EB0\u1EB2\u1EB4\u1EB6\u1EB8\u1EBA\u1EBC\u1EBE\u1EC0\u1EC2\u1EC4\u1EC6\u1EC8\u1ECA\u1ECC\u1ECE\u1ED0\u1ED2\u1ED4\u1ED6\u1ED8\u1EDA\u1EDC\u1EDE\u1EE0\u1EE2\u1EE4\u1EE6\u1EE8\u1EEA\u1EEC\u1EEE\u1EF0\u1EF2\u1EF4\u1EF6\u1EF8\u1EFA\u1EFC\u1EFEЁА-ЯӘӨҮҖҢҺΑ-ΩΆΈΊΌΏΉΎА-ЩЮЯІЇЄҐЃЅЈЉЊЌЀЍ\u1200-\u137F\u0980-\u09FF\u0591-\u05F4\uFB1D-\uFB4F\u0620-\u064A\u066E-\u06D5\u06E5-\u06FF\u0750-\u077F\u08A0-\u08BD\uFB50-\uFBB1\uFBD3-\uFD3D\uFD50-\uFDC7\uFDF0-\uFDFB\uFE70-\uFEFC\U0001EE00-\U0001EEBB\u0D80-\u0DFF\u0900-\u097F\u0C80-\u0CFF\u0B80-\u0BFF\u0C00-\u0C7F\uAC00-\uD7AF\u1100-\u11FF\u3040-\u309F\u30A0-\u30FFー\u4E00-\u62FF\u6300-\u77FF\u7800-\u8CFF\u8D00-\u9FFF\u3400-\u4DBF\U00020000-\U000215FF\U00021600-\U000230FF\U00023100-\U000245FF\U00024600-\U000260FF\U00026100-\U000275FF\U00027600-\U000290FF\U00029100-\U0002A6DF\U0002A700-\U0002B73F\U0002B740-\U0002B81F\U0002B820-\U0002CEAF\U0002CEB0-\U0002EBEF\u2E80-\u2EFF\u2F00-\u2FDF\u2FF0-\u2FFF\u3000-\u303F\u31C0-\u31EF\u3200-\u32FF\u3300-\u33FF\uF900-\uFAFF\uFE30-\uFE4F\U0001F200-\U0001F2FF\U0002F800-\U0002FA1F\'"”“`‘´’‚,„»«「」『』()〔〕【】《》〈〉〈〉⟦⟧])|(?<=[A-Za-z\uFF21-\uFF3A\uFF41-\uFF5A\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF\u0100-\u017F\u0180-\u01BF\u01C4-\u024F\u2C60-\u2C7B\u2C7E\u2C7F\uA722-\uA76F\uA771-\uA787\uA78B-\uA78E\uA790-\uA7B9\uA7FA\uAB30-\uAB5A\uAB60-\uAB64\u0250-\u02AF\u1D00-\u1D25\u1D6B-\u1D77\u1D79-\u1D9A\u1E00-\u1EFFёа-яЁА-ЯәөүҗңһӘӨҮҖҢҺα-ωάέίόώήύΑ-ΩΆΈΊΌΏΉΎа-щюяіїєґА-ЩЮЯІЇЄҐѓѕјљњќѐѝЃЅЈЉЊЌЀЍ\u1200-\u137F\u0980-\u09FF\u0591-\u05F4\uFB1D-\uFB4F\u0620-\u064A\u066E-\u06D5\u06E5-\u06FF\u0750-\u077F\u08A0-\u08BD\uFB50-\uFBB1\uFBD3-\uFD3D\uFD50-\uFDC7\uFDF0-\uFDFB\uFE70-\uFEFC\U0001EE00-\U0001EEBB\u0D80-\u0DFF\u0900-\u097F\u0C80-\u0CFF\u0B80-\u0BFF\u0C00-\u0C7F\uAC00-\uD7AF\u1100-\u11FF\u3040-\u309F\u30A0-\u30FFー\u4E00-\u62FF\u6300-\u77FF\u7800-\u8CFF\u8D00-\u9FFF\u3400-\u4DBF\U00020000-\U000215FF\U00021600-\U000230FF\U00023100-\U000245FF\U00024600-\U000260FF\U00026100-\U000275FF\U00027600-\U000290FF\U00029100-\U0002A6DF\U0002A700-\U0002B73F\U0002B740-\U0002B81F\U0002B820-\U0002CEAF\U0002CEB0-\U0002EBEF\u2E80-\u2EFF\u2F00-\u2FDF\u2FF0-\u2FFF\u3000-\u303F\u31C0-\u31EF\u3200-\u32FF\u3300-\u33FF\uF900-\uFAFF\uFE30-\uFE4F\U0001F200-\U0001F2FF\U0002F800-\U0002FA1F]),(?=[A-Za-z\uFF21-\uFF3A\uFF41-\uFF5A\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF\u0100-\u017F\u0180-\u01BF\u01C4-\u024F\u2C60-\u2C7B\u2C7E\u2C7F\uA722-\uA76F\uA771-\uA787\uA78B-\uA78E\uA790-\uA7B9\uA7FA\uAB30-\uAB5A\uAB60-\uAB64\u0250-\u02AF\u1D00-\u1D25\u1D6B-\u1D77\u1D79-\u1D9A\u1E00-\u1EFFёа-яЁА-ЯәөүҗңһӘӨҮҖҢҺα-ωάέίόώήύΑ-ΩΆΈΊΌΏΉΎа-щюяіїєґА-ЩЮЯІЇЄҐѓѕјљњќѐѝЃЅЈЉЊЌЀЍ\u1200-\u137F\u0980-\u09FF\u0591-\u05F4\uFB1D-\uFB4F\u0620-\u064A\u066E-\u06D5\u06E5-\u06FF\u0750-\u077F\u08A0-\u08BD\uFB50-\uFBB1\uFBD3-\uFD3D\uFD50-\uFDC7\uFDF0-\uFDFB\uFE70-\uFEFC\U0001EE00-\U0001EEBB\u0D80-\u0DFF\u0900-\u097F\u0C80-\u0CFF\u0B80-\u0BFF\u0C00-\u0C7F\uAC00-\uD7AF\u1100-\u11FF\u3040-\u309F\u30A0-\u30FFー\u4E00-\u62FF\u6300-\u77FF\u7800-\u8CFF\u8D00-\u9FFF\u3400-\u4DBF\U00020000-\U000215FF\U00021600-\U000230FF\U00023100-\U000245FF\U00024600-\U000260FF\U00026100-\U000275FF\U00027600-\U000290FF\U00029100-\U0002A6DF\U0002A700-\U0002B73F\U0002B740-\U0002B81F\U0002B820-\U0002CEAF\U0002CEB0-\U0002EBEF\u2E80-\u2EFF\u2F00-\u2FDF\u2FF0-\u2FFF\u3000-\u303F\u31C0-\u31EF\u3200-\u32FF\u3300-\u33FF\uF900-\uFAFF\uFE30-\uFE4F\U0001F200-\U0001F2FF\U0002F800-\U0002FA1F])|(?<=[A-Za-z\uFF21-\uFF3A\uFF41-\uFF5A\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF\u0100-\u017F\u0180-\u01BF\u01C4-\u024F\u2C60-\u2C7B\u2C7E\u2C7F\uA722-\uA76F\uA771-\uA787\uA78B-\uA78E\uA790-\uA7B9\uA7FA\uAB30-\uAB5A\uAB60-\uAB64\u0250-\u02AF\u1D00-\u1D25\u1D6B-\u1D77\u1D79-\u1D9A\u1E00-\u1EFFёа-яЁА-ЯәөүҗңһӘӨҮҖҢҺα-ωάέίόώήύΑ-ΩΆΈΊΌΏΉΎа-щюяіїєґА-ЩЮЯІЇЄҐѓѕјљњќѐѝЃЅЈЉЊЌЀЍ\u1200-\u137F\u0980-\u09FF\u0591-\u05F4\uFB1D-\uFB4F\u0620-\u064A\u066E-\u06D5\u06E5-\u06FF\u0750-\u077F\u08A0-\u08BD\uFB50-\uFBB1\uFBD3-\uFD3D\uFD50-\uFDC7\uFDF0-\uFDFB\uFE70-\uFEFC\U0001EE00-\U0001EEBB\u0D80-\u0DFF\u0900-\u097F\u0C80-\u0CFF\u0B80-\u0BFF\u0C00-\u0C7F\uAC00-\uD7AF\u1100-\u11FF\u3040-\u309F\u30A0-\u30FFー\u4E00-\u62FF\u6300-\u77FF\u7800-\u8CFF\u8D00-\u9FFF\u3400-\u4DBF\U00020000-\U000215FF\U00021600-\U000230FF\U00023100-\U000245FF\U00024600-\U000260FF\U00026100-\U000275FF\U00027600-\U000290FF\U00029100-\U0002A6DF\U0002A700-\U0002B73F\U0002B740-\U0002B81F\U0002B820-\U0002CEAF\U0002CEB0-\U0002EBEF\u2E80-\u2EFF\u2F00-\u2FDF\u2FF0-\u2FFF\u3000-\u303F\u31C0-\u31EF\u3200-\u32FF\u3300-\u33FF\uF900-\uFAFF\uFE30-\uFE4F\U0001F200-\U0001F2FF\U0002F800-\U0002FA1F0-9])(?:-|–|—|--|---|——|~)(?=[A-Za-z\uFF21-\uFF3A\uFF41-\uFF5A\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF\u0100-\u017F\u0180-\u01BF\u01C4-\u024F\u2C60-\u2C7B\u2C7E\u2C7F\uA722-\uA76F\uA771-\uA787\uA78B-\uA78E\uA790-\uA7B9\uA7FA\uAB30-\uAB5A\uAB60-\uAB64\u0250-\u02AF\u1D00-\u1D25\u1D6B-\u1D77\u1D79-\u1D9A\u1E00-\u1EFFёа-яЁА-ЯәөүҗңһӘӨҮҖҢҺα-ωάέίόώήύΑ-ΩΆΈΊΌΏΉΎа-щюяіїєґА-ЩЮЯІЇЄҐѓѕјљњќѐѝЃЅЈЉЊЌЀЍ\u1200-\u137F\u0980-\u09FF\u0591-\u05F4\uFB1D-\uFB4F\u0620-\u064A\u066E-\u06D5\u06E5-\u06FF\u0750-\u077F\u08A0-\u08BD\uFB50-\uFBB1\uFBD3-\uFD3D\uFD50-\uFDC7\uFDF0-\uFDFB\uFE70-\uFEFC\U0001EE00-\U0001EEBB\u0D80-\u0DFF\u0900-\u097F\u0C80-\u0CFF\u0B80-\u0BFF\u0C00-\u0C7F\uAC00-\uD7AF\u1100-\u11FF\u3040-\u309F\u30A0-\u30FFー\u4E00-\u62FF\u6300-\u77FF\u7800-\u8CFF\u8D00-\u9FFF\u3400-\u4DBF\U00020000-\U000215FF\U00021600-\U000230FF\U00023100-\U000245FF\U00024600-\U000260FF\U00026100-\U000275FF\U00027600-\U000290FF\U00029100-\U0002A6DF\U0002A700-\U0002B73F\U0002B740-\U0002B81F\U0002B820-\U0002CEAF\U0002CEB0-\U0002EBEF\u2E80-\u2EFF\u2F00-\u2FDF\u2FF0-\u2FFF\u3000-\u303F\u31C0-\u31EF\u3200-\u32FF\u3300-\u33FF\uF900-\uFAFF\uFE30-\uFE4F\U0001F200-\U0001F2FF\U0002F800-\U0002FA1F])|(?<=[A-Za-z\uFF21-\uFF3A\uFF41-\uFF5A\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF\u0100-\u017F\u0180-\u01BF\u01C4-\u024F\u2C60-\u2C7B\u2C7E\u2C7F\uA722-\uA76F\uA771-\uA787\uA78B-\uA78E\uA790-\uA7B9\uA7FA\uAB30-\uAB5A\uAB60-\uAB64\u0250-\u02AF\u1D00-\u1D25\u1D6B-\u1D77\u1D79-\u1D9A\u1E00-\u1EFFёа-яЁА-ЯәөүҗңһӘӨҮҖҢҺα-ωάέίόώήύΑ-ΩΆΈΊΌΏΉΎа-щюяіїєґА-ЩЮЯІЇЄҐѓѕјљњќѐѝЃЅЈЉЊЌЀЍ\u1200-\u137F\u0980-\u09FF\u0591-\u05F4\uFB1D-\uFB4F\u0620-\u064A\u066E-\u06D5\u06E5-\u06FF\u0750-\u077F\u08A0-\u08BD\uFB50-\uFBB1\uFBD3-\uFD3D\uFD50-\uFDC7\uFDF0-\uFDFB\uFE70-\uFEFC\U0001EE00-\U0001EEBB\u0D80-\u0DFF\u0900-\u097F\u0C80-\u0CFF\u0B80-\u0BFF\u0C00-\u0C7F\uAC00-\uD7AF\u1100-\u11FF\u3040-\u309F\u30A0-\u30FFー\u4E00-\u62FF\u6300-\u77FF\u7800-\u8CFF\u8D00-\u9FFF\u3400-\u4DBF\U00020000-\U000215FF\U00021600-\U000230FF\U00023100-\U000245FF\U00024600-\U000260FF\U00026100-\U000275FF\U00027600-\U000290FF\U00029100-\U0002A6DF\U0002A700-\U0002B73F\U0002B740-\U0002B81F\U0002B820-\U0002CEAF\U0002CEB0-\U0002EBEF\u2E80-\u2EFF\u2F00-\u2FDF\u2FF0-\u2FFF\u3000-\u303F\u31C0-\u31EF\u3200-\u32FF\u3300-\u33FF\uF900-\uFAFF\uFE30-\uFE4F\U0001F200-\U0001F2FF\U0002F800-\U0002FA1F0-9])[:<>=/](?=[A-Za-z\uFF21-\uFF3A\uFF41-\uFF5A\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF\u0100-\u017F\u0180-\u01BF\u01C4-\u024F\u2C60-\u2C7B\u2C7E\u2C7F\uA722-\uA76F\uA771-\uA787\uA78B-\uA78E\uA790-\uA7B9\uA7FA\uAB30-\uAB5A\uAB60-\uAB64\u0250-\u02AF\u1D00-\u1D25\u1D6B-\u1D77\u1D79-\u1D9A\u1E00-\u1EFFёа-яЁА-ЯәөүҗңһӘӨҮҖҢҺα-ωάέίόώήύΑ-ΩΆΈΊΌΏΉΎа-щюяіїєґА-ЩЮЯІЇЄҐѓѕјљњќѐѝЃЅЈЉЊЌЀЍ\u1200-\u137F\u0980-\u09FF\u0591-\u05F4\uFB1D-\uFB4F\u0620-\u064A\u066E-\u06D5\u06E5-\u06FF\u0750-\u077F\u08A0-\u08BD\uFB50-\uFBB1\uFBD3-\uFD3D\uFD50-\uFDC7\uFDF0-\uFDFB\uFE70-\uFEFC\U0001EE00-\U0001EEBB\u0D80-\u0DFF\u0900-\u097F\u0C80-\u0CFF\u0B80-\u0BFF\u0C00-\u0C7F\uAC00-\uD7AF\u1100-\u11FF\u3040-\u309F\u30A0-\u30FFー\u4E00-\u62FF\u6300-\u77FF\u7800-\u8CFF\u8D00-\u9FFF\u3400-\u4DBF\U00020000-\U000215FF\U00021600-\U000230FF\U00023100-\U000245FF\U00024600-\U000260FF\U00026100-\U000275FF\U00027600-\U000290FF\U00029100-\U0002A6DF\U0002A700-\U0002B73F\U0002B740-\U0002B81F\U0002B820-\U0002CEAF\U0002CEB0-\U0002EBEF\u2E80-\u2EFF\u2F00-\u2FDF\u2FF0-\u2FFF\u3000-\u303F\u31C0-\u31EF\u3200-\u32FF\u3300-\u33FF\uF900-\uFAFF\uFE30-\uFE4F\U0001F200-\U0001F2FF\U0002F800-\U0002FA1F])|(?<=[\u1F00-\u1FFF\u0370-\u03FF])—�token_match��url_match�
3
  ��A�
4
  � ��A� �'��A�'�''��A�''�(*_*)��A�(*_*)�(-8��A�(-8�(-:��A�(-:�(-;��A�(-;�(-_-)��A�(-_-)�(._.)��A�(._.)�(:��A�(:�(;��A�(;�(=��A�(=�(>_<)��A�(>_<)�(^_^)��A�(^_^)�(o:��A�(o:�(¬_¬)��A�(¬_¬)�(ಠ_ಠ)��A�(ಠ_ಠ)�(╯°□°)╯︵┻━┻��A�(╯°□°)╯︵┻━┻�)-:��A�)-:�):��A�):�-_-��A�-_-�-__-��A�-__-�._.��A�._.�0.0��A�0.0�0.o��A�0.o�0_0��A�0_0�0_o��A�0_o�8)��A�8)�8-)��A�8-)�8-D��A�8-D�8D��A�8D�:'(��A�:'(�:')��A�:')�:'-(��A�:'-(�:'-)��A�:'-)�:(��A�:(�:((��A�:((�:(((��A�:(((�:()��A�:()�:)��A�:)�:))��A�:))�:)))��A�:)))�:*��A�:*�:-(��A�:-(�:-((��A�:-((�:-(((��A�:-(((�:-)��A�:-)�:-))��A�:-))�:-)))��A�:-)))�:-*��A�:-*�:-/��A�:-/�:-0��A�:-0�:-3��A�:-3�:->��A�:->�:-D��A�:-D�:-O��A�:-O�:-P��A�:-P�:-X��A�:-X�:-]��A�:-]�:-o��A�:-o�:-p��A�:-p�:-x��A�:-x�:-|��A�:-|�:-}��A�:-}�:/��A�:/�:0��A�:0�:1��A�:1�:3��A�:3�:>��A�:>�:D��A�:D�:O��A�:O�:P��A�:P�:X��A�:X�:]��A�:]�:o��A�:o�:o)��A�:o)�:p��A�:p�:x��A�:x�:|��A�:|�:}��A�:}�:’(��A�:’(�:’)��A�:’)�:’-(��A�:’-(�:’-)��A�:’-)�;)��A�;)�;-)��A�;-)�;-D��A�;-D�;D��A�;D�;_;��A�;_;�<.<��A�<.<�</3��A�</3�<3��A�<3�<33��A�<33�<333��A�<333�<space>��A�<space>�=(��A�=(�=)��A�=)�=/��A�=/�=3��A�=3�=D��A�=D�=[��A�=[�=]��A�=]�=|��A�=|�>.<��A�>.<�>.>��A�>.>�>:(��A�>:(�>:o��A�>:o�><(((*>��A�><(((*>�@_@��A�@_@�C++��A�C++�O.O��A�O.O�O.o��A�O.o�O_O��A�O_O�O_o��A�O_o�V.V��A�V.V�V_V��A�V_V�XD��A�XD�XDD��A�XDD�[-:��A�[-:�[:��A�[:�[=��A�[=�\")��A�\")�\n��A�\n�\t��A�\t�]=��A�]=�^_^��A�^_^�^__^��A�^__^�^___^��A�^___^�a.��A�a.�b.��A�b.�c.��A�c.�d.��A�d.�e.��A�e.�f.��A�f.�g.��A�g.�h.��A�h.�i.��A�i.�j.��A�j.�k.��A�k.�l.��A�l.�m.��A�m.�n.��A�n.�o.��A�o.�o.0��A�o.0�o.O��A�o.O�o.o��A�o.o�o_0��A�o_0�o_O��A�o_O�o_o��A�o_o�p.��A�p.�q.��A�q.�r.��A�r.�s.��A�s.�t.��A�t.�u.��A�u.�v.��A�v.�v.v��A�v.v�v_v��A�v_v�w.��A�w.�x.��A�x.�xD��A�xD�xDD��A�xDD�y.��A�y.�z.��A�z.� ��A� C� �¯\(ツ)/¯��A�¯\(ツ)/¯�°C.��A�°�A�C�A�.�°F.��A�°�A�F�A�.�°K.��A�°�A�K�A�.�°c.��A�°�A�c�A�.�°f.��A�°�A�f�A�.�°k.��A�°�A�k�A�.�ä.��A�ä.�ö.��A�ö.�ü.��A�ü.�Δ'��A�Δ'C�δέ�Δι'��A�Δι'C�διά�Δι’��A�Δι’C�διά�Δ’��A�Δ’C�δέ�Εφ'��A�Εφ'C�επί�Εφ’��A�Εφ’C�επί�Καθ'��A�Καθ'C�κατά�Καθ’��A�Καθ’C�κατά�Κατ'��A�Κατ'C�κατά�Κατ’��A�Κατ’C�κατά�Μ'��A�Μ'C�με�Μετ'��A�Μετ'C�μετά�Μετ’��A�Μετ’C�μετά�Μ’��A�Μ’C�με�Παρ'��A�Παρ'C�παρά�Παρ’��A�Παρ’C�παρά�Σ'��A�Σ'C�σε�Σ’��A�Σ’C�σε�Τ'��A�Τ'C�τε�Τ’��A�Τ’C�τε�αὑτός��A�αὑC�ὁ�A�τόςC�αὐτός�αὑτὸς��A�αὑC�ὁ�A�τὸςC�αὐτός�δ'��A�δ'C�δέ�δι'��A�δι'C�διά�διὰ��A�διὰC�διά�δι’��A�δι’C�διά�δὲ��A�δὲC�δέ�δ’��A�δ’C�δέ�εφ'��A�εφ'C�επί�εφ’��A�εφ’C�επί�θοἰμάτιον��A�θοC�τό�A�ἰμάτιον�θἡμέρᾳ��A�θC�τῇ�A�ἡμέρᾳ�καθ'��A�καθ'C�κατά�καθ’��A�καθ’C�κατά�κατ'��A�κατ'C�κατά�κατὰ��A�κατὰC�κατά�κατ’��A�κατ’C�κατά�καὐτός��A�κC�καί�A�αὐτός�καὐτὸς��A�κC�καί�A�αὐτὸςC�αὐτός�καὶ��A�καὶC�καί�κεἰ��A�κC�καί�A�εἰ�κεἰς��A�κC�καί�A�εἰς�κοὐ��A�κC�καί�A�οὐ�κἀγώ��A�κἀC�καί�A�γώC�ἐγώ�κἀγὼ��A�κἀC�καί�A�γὼC�ἐγώ�κἀν��A�κC�καί�A�ἀνC�ἐν�κἀς��A�κC�καί�A�ἀςC�ἐς�κᾆτα��A�κC�καί�A�ᾆταC�εἶτα�μ'��A�μ'C�με�μέ��A�μέC�με�μεθ'��A�μεθ'C�μετά�μεθ’��A�μεθ’C�μετά�μετ'��A�μετ'C�μετά�μετὰ��A�μετὰC�μετά�μετ’��A�μετ’C�μετά�μοὔστι��A�μοὔC�μοί�A�στιC�ἐστι�μοὖστι��A�μοὖC�μοί�A�στιC�ἐστι�μὲ��A�μὲC�με�μὲν��A�μὲνC�μέν�μὴν��A�μὴνC�μήν�μ’��A�μ’C�με�οὑμοί��A�οὑC�οἱ�A�μοίC�ἐμoί�οὑμοὶ��A�οὑC�οἱ�A�μοὶC�ἐμoί�οὑμός��A�οὑC�ὁ�A�μόςC�ἐμός�οὑμὸς��A�οὑC�ὁ�A�μὸςC�ἐμός�οὑν��A�οὑC�ὁ�A�νC�ἐν�παρ��A�παρC�παρά�παρ'��A�παρ'C�παρά�παρὰ��A�παρὰC�παρά�παρ’��A�παρ’C�παρά�προὔχοντα��A�προὔC�πρό�A�χονταC�ἔχοντα�προὔχων��A�προὔC�πρό�A�χωνC�ἔχων�σ'��A�σ'C�σε�σέ��A�σέC�σε�σοὐστί��A�σοὐC�σοί�A�στίC�ἐστί�σοὐστὶ��A�σοὐC�σοί�A�στὶC�ἐστί�σοὔστι��A�σοὔC�σοί�A�στιC�ἐστι�σὲ��A�σὲC�σε�σ’��A�σ’C�σε�τ'��A�τ'C�τε�τέ��A�τέC�τε�ταὐτοῦ��A�τC�τοῦ�A�αὐτοῦ�τοὔνομα��A�τοὔC�τό�A�νομαC�ὄνομα�τἀνδρί��A�τC�τῷ�A�ἀνδρί�τἀνδρός��A�τC�τοῦ�A�ἀνδρός�τἀνδρὶ��A�τC�τῷ�A�ἀνδρὶC�ἀνδρί�τἀνδρὸς��A�τC�τοῦ�A�ἀνδρὸςC�ἀνδρός�τἄλλα��A�τC�τὰ�A�ἄλλα�τἆλλα��A�τἆC�τὰ�A�λλαC�ἄλλα�τὠληθές��A�τὠC�τὸ�A�ληθέςC�ἀληθές�τὲ��A�τὲC�τε�τὴν��A�τὴνC�τήν�τὸν��A�τὸνC�τόν�τ’��A�τ’C�τε�χοἱ��A�χC�καί�A�οἱ�χἡ��A�χC�καί�A�ἡ�χἱκετεύετε��A�χC�καί�A�ἱκετεύετε�χὤπως��A�χC�καί�A�ὤπωςC�ὅπως�χὤταν��A�χC�καί�A�ὤτανC�ὅταν�χὤτε��A�χC�καί�A�ὤτεC�ὅτε�χ���τι��A�χC�καί�A�ὤτιC�ὅτι�ಠ_ಠ��A�ಠ_ಠ�ಠ︵ಠ��A�ಠ︵ಠ�ἀλλ'��A�ἀλλ'C�ἀλλά�ἀλλὰ��A�ἀλλὰC�ἀλλά�ἀλλ’��A�ἀλλ’C�ἀλλά�ἀπὸ��A�ἀπὸC�από�ἀφ'��A�ἀφ'C�από�ἀφ’��A�ἀφ’C�από�ἁγαθαί��A�ἁC�αἱ�A�γαθαίC�ἀγαθαί�ἁγαθαὶ��A�ἁC�αἱ�A�γαθαὶC�ἀγαθαί�ἁγώ��A�ἁC�ἃ�A�γώC�ἐγώ�ἁγὼ��A�ἁC�ἃ�A�γὼC�ἐγώ�ἁλήθεια��A�ἁC�ἡ�A�λήθειαC�ἀλήθεια�ἁνήρ��A�ἁC�ὁ�A�νήρC�ἀνήρ�ἁνὴρ��A�ἁC�ὁ�A�νὴρC�ἀνήρ�ἅνδρες��A�ἅC�οἱ�A�νδρεςC�ἄνδρες�ἅνθρωπος��A�ἅC�ὁ�A�νθρωποςC�ἄνθρωπος�ἐγᾦδα��A�ἐγC�ἐγώ�A�ᾦδαC�οἶδα�ἐγᾦμαι��A�ἐγC�ἐγώ�A�ᾦμαιC�οἶμαι�ἐπ'��A�ἐπ'C�επί�ἐπὶ��A�ἐπὶC�επί�ἐπ’��A�ἐπ’C�επί�Ἐπ'��A�Ἐπ'C�επί�Ἐπ’��A�Ἐπ’C�επί�ὑπ'��A�ὑπ'C�ὑπό�ὑπ’��A�ὑπ’C�ὑπό�ὑφ'��A�ὑφ'C�ὑπό�ὑφ’��A�ὑφ’C�ὑπό�Ὑπ'��A�Ὑπ'C�ὑπό�Ὑπ’��A�Ὑπ’C�ὑπό�ὥνεκα��A�ὥC�οὗ�A�νεκαC�ἕνεκα�ὦνδρες��A�ὦC�ὦ�A�νδρεςC�ἄνδρες�ὦνερ��A�ὦC�ὦ�A�νερC�ἄνερ�᾽ΑΠ'��A�᾽ΑΠ'C�από�᾽ΑΠ’��A�᾽ΑΠ’C�από�᾽Αλλ'��A�᾽Αλλ'C�ἀλλά�᾽Αλλ’��A�᾽Αλλ’C�ἀλλά�᾽Απ'��A�᾽Απ'C�από�᾽Απ’��A�᾽Απ’C�από�᾽Αφ��A�᾽ΑφC�από�—��A�—�’��A�’�’’��A�’’�faster_heuristics�
trainable_lemmatizer/model CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:699143066805c0425824c64a6fb23ea5a04cb1a68b81f1e63db3b62c498bf60d
3
  size 71957523
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:4bacb336dbcf61ee8db3837cb6dd9b69f349380a51caa26fd1996239eb58828c
3
  size 71957523
trainable_lemmatizer/trees CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:565593d825adb37d0213033595a3a84503396b4cff03290054f91b95953f0148
3
  size 2400258
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:5aba7a4c89fb247baa6c661704f3822b6b184a224518142a2fce31835a504cea
3
  size 2400258
transformer/model CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:893725033aa103117ba494b04491fe7f9e9217d0f3fb3a924758fe09159aca30
3
- size 453385281
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:cfb44ceccb4006820e267183ad16291956470dde3bc57a9e0b16cfa68b18f196
3
+ size 453381723
vocab/strings.json CHANGED
The diff for this file is too large to render. See raw diff