Merge "Update to 7.59.0 - March 14 2018."
am: f035f52daa

Change-Id: I241b8f2bb5773bcbd9f22e3d58cd164a23bbda46
diff --git a/.gitignore b/.gitignore
index 3926ddf..3b509b4 100644
--- a/.gitignore
+++ b/.gitignore
@@ -14,4 +14,5 @@
 /libtool
 curl*.spec
 curl*.list
+/packages/Android/Android.mk
 /tests/configurehelp.pm
diff --git a/Android.bp b/Android.bp
index b639598..06237da 100644
--- a/Android.bp
+++ b/Android.bp
@@ -60,6 +60,8 @@
         "-DBUILDING_LIBCURL",
     ],
     srcs:[
+        "lib/curl_ctype.c",
+        "lib/curl_range.c",
         "lib/rand.c",
         "lib/file.c",
         "lib/timeval.c",
@@ -185,7 +187,6 @@
         "lib/vtls/axtls.c",
         "lib/vtls/cyassl.c",
         "lib/vtls/schannel.c",
-        "lib/vtls/darwinssl.c",
         "lib/vtls/gskit.c",
         "lib/vtls/mbedtls.c",
     ],
@@ -224,6 +225,7 @@
         "src/tool_doswin.c",
         "src/tool_easysrc.c",
         "src/tool_formparse.c",
+        "src/tool_filetime.c",
         "src/tool_getparam.c",
         "src/tool_getpass.c",
         "src/tool_help.c",
diff --git a/CHANGES b/CHANGES
index 9bc3b76..dce9c17 100644
--- a/CHANGES
+++ b/CHANGES
@@ -6,6 +6,970 @@
 
                                   Changelog
 
+Version 7.59.0 (13 Mar 2018)
+
+Daniel Stenberg (13 Mar 2018)
+- release: 7.59.0
+
+Kamil Dudka (13 Mar 2018)
+- tests/.../spnego.py: fix identifier typo
+  
+  Detected by Coverity Analysis:
+  
+  Error: IDENTIFIER_TYPO:
+  curl-7.58.0/tests/python_dependencies/impacket/spnego.py:229: identifier_typo: Using "SuportedMech" appears to be a typo:
+  * Identifier "SuportedMech" is only known to be referenced here, or in copies of this code.
+  * Identifier "SupportedMech" is referenced elsewhere at least 4 times.
+  curl-7.58.0/tests/python_dependencies/impacket/smbserver.py:2651: identifier_use: Example 1: Using identifier "SupportedMech".
+  curl-7.58.0/tests/python_dependencies/impacket/smbserver.py:2308: identifier_use: Example 2: Using identifier "SupportedMech".
+  curl-7.58.0/tests/python_dependencies/impacket/spnego.py:252: identifier_use: Example 3: Using identifier "SupportedMech" (2 total uses in this function).
+  curl-7.58.0/tests/python_dependencies/impacket/spnego.py:229: remediation: Should identifier "SuportedMech" be replaced by "SupportedMech"?
+  
+  Closes #2379
+
+Daniel Stenberg (13 Mar 2018)
+- CURLOPT_COOKIEFILE.3: "-" as file name means stdin
+  
+  Reported-by: Aron Bergman
+  Bug: https://curl.haxx.se/mail/lib-2018-03/0049.html
+  
+  [ci skip]
+
+- Revert "hostip: fix compiler warning: 'variable set but not used'"
+  
+  This reverts commit a577059f92fc65bd6b81717f0737f897a5b34248.
+  
+  The assignment really needs to be there or we risk working with an
+  uninitialized pointer.
+
+Michael Kaufmann (12 Mar 2018)
+- limit-rate: fix compiler warning
+  
+  follow-up to 72a0f62
+
+Viktor Szakats (12 Mar 2018)
+- checksrc.pl: add -i and -m options
+  
+  To sync it with changes made for the libssh2 project.
+  Also cleanup some whitespace.
+
+- curl-openssl.m4: fix spelling [ci skip]
+
+- FAQ: fix a broken URL [ci skip]
+
+Daniel Stenberg (12 Mar 2018)
+- http2: mark the connection for close on GOAWAY
+  
+  ... don't consider it an error!
+  
+  Assisted-by: Jay Satiro
+  Reported-by: Łukasz Domeradzki
+  Fixes #2365
+  Closes #2375
+
+- credits: Viktor prefers without accent
+
+- openldap: white space changes, fixed up the copyright years
+
+- openldap: check ldap_get_attribute_ber() results for NULL before using
+  
+  CVE-2018-1000121
+  Reported-by: Dario Weisser
+  Bug: https://curl.haxx.se/docs/adv_2018-97a2.html
+
+- FTP: reject path components with control codes
+  
+  Refuse to operate when given path components featuring byte values lower
+  than 32.
+  
+  Previously, inserting a %00 sequence early in the directory part when
+  using the 'singlecwd' ftp method could make curl write a zero byte
+  outside of the allocated buffer.
+  
+  Test case 340 verifies.
+  
+  CVE-2018-1000120
+  Reported-by: Duy Phan Thanh
+  Bug: https://curl.haxx.se/docs/adv_2018-9cd6.html
+
+- readwrite: make sure excess reads don't go beyond buffer end
+  
+  CVE-2018-1000122
+  Bug: https://curl.haxx.se/docs/adv_2018-b047.html
+  
+  Detected by OSS-fuzz
+
+- BUGS: updated link to security process
+
+- limit-rate: kick in even before "limit" data has been received
+  
+  ... and make sure to avoid integer overflows with really large values.
+  
+  Reported-by: 刘佩东
+  Fixes #2371
+  Closes #2373
+
+- docs/SECURITY.md -> docs/SECURITY-PROCESS.md
+
+- SECURITY.md: call it the security process
+
+Michael Kaufmann (11 Mar 2018)
+- Curl_range: fix FTP-only and FILE-only builds
+  
+  follow-up to e04417d
+
+- hostip: fix compiler warning: 'variable set but not used'
+
+Daniel Stenberg (11 Mar 2018)
+- HTTP: allow "header;" to replace an internal header with a blank one
+  
+  Reported-by: Michael Kaufmann
+  Fixes #2357
+  Closes #2362
+
+- http2: verbose output new MAX_CONCURRENT_STREAMS values
+  
+  ... as it is interesting for many users.
+
+- SECURITY: distros' max embargo time is 14 days now
+
+Patrick Monnerat (8 Mar 2018)
+- curl tool: accept --compressed also if Brotli is enabled and zlib is not.
+
+Daniel Stenberg (5 Mar 2018)
+- THANKS + mailmap: remove duplicates, fixup full names
+
+- [sergii.kavunenko brought this change]
+
+  WolfSSL: adding TLSv1.3
+  
+  Closes #2349
+
+- RELEASE-NOTES/THANKS: synced with cc1d4c505
+
+- [Richard Alcock brought this change]
+
+  winbuild: prefer documented zlib library names
+  
+  Check for existence of import and static libraries with documented names
+  and use them if they do. Fallback to previous names.
+  
+  According to
+  https://github.com/madler/zlib/blob/master/win32/README-WIN32.txt on
+  Windows, the names of the import library is "zdll.lib" and static
+  library is "zlib.lib".
+  
+  closes #2354
+
+Marcel Raad (4 Mar 2018)
+- krb5: use nondeprecated functions
+  
+  gss_seal/gss_unseal have been deprecated in favor of
+  gss_wrap/gss_unwrap with GSS-API v2 from January 1997 [1]. The first
+  version of "The Kerberos Version 5 GSS-API Mechanism" [2] from June
+  1996 already says "GSS_Wrap() (formerly GSS_Seal())" and
+  "GSS_Unwrap() (formerly GSS_Unseal())".
+  
+  Use the nondeprecated functions to avoid deprecation warnings.
+  
+  [1] https://tools.ietf.org/html/rfc2078
+  [2] https://tools.ietf.org/html/rfc1964
+  
+  Closes https://github.com/curl/curl/pull/2356
+
+Daniel Stenberg (4 Mar 2018)
+- curl.1: mention how to add numerical IP addresses in NO_PROXY
+
+- CURLOPT_NOPROXY.3: mention how to list numerical IPv6 addresses
+
+- NO_PROXY: fix for IPv6 numericals in the URL
+  
+  Added test 1265 that verifies.
+  
+  Reported-by: steelman on github
+  Fixes #2353
+  Closes #2355
+
+- build: get CFLAGS (including -werror) used for examples and tests
+  
+  ... so that the CI and more detects compiler warnings/errors properly!
+  
+  Closes #2337
+
+Marcel Raad (3 Mar 2018)
+- curl_ctype: fix macro redefinition warnings
+  
+  On MinGW and Cygwin, GCC and clang have been complaining about macro
+  redefinitions since 4272a0b0fc49a1ac0ceab5c4a365c9f6ab8bf8e2. Fix this
+  by undefining the macros before redefining them as suggested in
+  https://github.com/curl/curl/pull/2269.
+  
+  Suggested-by: Daniel Stenberg
+
+Dan Fandrich (2 Mar 2018)
+- unit1307: proper cleanup on OOM to fix torture tests
+
+Marcel Raad (28 Feb 2018)
+- unit1309: fix warning on Windows x64
+  
+  When targeting x64, MinGW-w64 complains about conversions between
+  32-bit long and 64-bit pointers. Fix this by reusing the
+  GNUTLS_POINTER_TO_SOCKET_CAST / GNUTLS_SOCKET_TO_POINTER_CAST logic
+  from gtls.c, moving it to warnless.h as CURLX_POINTER_TO_INTEGER_CAST /
+  CURLX_INTEGER_TO_POINTER_CAST.
+  
+  Closes https://github.com/curl/curl/pull/2341
+
+- travis: update compiler versions
+  
+  Update clang to version 3.9 and GCC to version 6.
+  
+  Closes https://github.com/curl/curl/pull/2345
+
+Daniel Stenberg (26 Feb 2018)
+- docs/MANUAL: formfind.pl is not accessible on the site anymore
+  
+  Fixes #2342
+
+Jay Satiro (24 Feb 2018)
+- curl-openssl.m4: Fix version check for OpenSSL 1.1.1
+  
+  - Add OpenSSL 1.1.1 to the header/library version lists.
+  
+  - Detect OpenSSL 1.1.1 library using its function ERR_clear_last_mark,
+    which was added in that version.
+  
+  Prior to this change an erroneous header/library mismatch was caused by
+  lack of OpenSSL 1.1.1 detection. I tested using openssl-1.1.1-pre1.
+
+Viktor Szakats (23 Feb 2018)
+- lib655: silence compiler warning
+  
+  Closes https://github.com/curl/curl/pull/2335
+
+- spelling fixes
+  
+  Detected using the `codespell` tool.
+  
+  Also contains one URL protocol upgrade.
+  
+  Closes https://github.com/curl/curl/pull/2334
+
+Daniel Stenberg (24 Feb 2018)
+- projects/README: remove reference to dead IDN link/package
+  
+  Reported-by: Stefan Kanthak and Rod Widdowson
+  
+  Fixes #2325
+
+Jay Satiro (23 Feb 2018)
+- [Rod Widdowson brought this change]
+
+  winbuild: Use macros for the names of some build utilities
+  
+  - Add macros to the top of the makefile for rc and mt utilities so that
+    it is easier to change their locations.
+  
+  Bug: https://curl.haxx.se/mail/lib-2018-02/0075.html
+  Reported-by: Stefan Kanthak
+  
+  Closes https://github.com/curl/curl/issues/2329
+
+Daniel Stenberg (23 Feb 2018)
+- TODO: remove "sha-256 digest", added in 2b5b37cb9109e7c2
+
+- curl_share_setopt.3: connection cache is shared within multi handles
+
+Jay Satiro (22 Feb 2018)
+- [Rod Widdowson brought this change]
+
+  winbuild: Use CALL to run batch scripts
+  
+  Co-authored-by: Stefan Kanthak
+  
+  Closes https://github.com/curl/curl/issues/2330
+  Closes https://github.com/curl/curl/pull/2331
+
+Patrick Monnerat (22 Feb 2018)
+- os400: add curl_resolver_start_callback type to ILE/RPG binding
+
+Daniel Stenberg (22 Feb 2018)
+- form.d: rephrased somewhat, added two example command lines
+
+Jay Satiro (21 Feb 2018)
+- [Francisco Sedano brought this change]
+
+  url: Add option CURLOPT_RESOLVER_START_FUNCTION
+  
+  - Add new option CURLOPT_RESOLVER_START_FUNCTION to set a callback that
+    will be called every time before a new resolve request is started
+    (ie before a host is resolved) with a pointer to backend-specific
+    resolver data. Currently this is only useful for ares.
+  
+  - Add new option CURLOPT_RESOLVER_START_DATA to set a user pointer to
+    pass to the resolver start callback.
+  
+  Closes https://github.com/curl/curl/pull/2311
+
+- lib: CURLOPT_HAPPY_EYEBALLS_TIMEOUT => CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS
+  
+  - In keeping with the naming of our other connect timeout options rename
+    CURLOPT_HAPPY_EYEBALLS_TIMEOUT to CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS.
+  
+  This change adds the _MS suffix since the option expects milliseconds.
+  This is more intuitive for our users since other connect timeout options
+  that expect milliseconds use _MS such as CURLOPT_TIMEOUT_MS,
+  CURLOPT_CONNECTTIMEOUT_MS, CURLOPT_ACCEPTTIMEOUT_MS.
+  
+  The tool option already uses an -ms suffix, --happy-eyeballs-timeout-ms.
+  
+  Follow-up to 2427d94 which added the lib and tool option yesterday.
+  
+  Ref: https://github.com/curl/curl/pull/2260
+
+Patrick Monnerat (21 Feb 2018)
+- sasl: prefer PLAIN mechanism over LOGIN
+  
+  SASL PLAIN is a standard, LOGIN only a draft. The LOGIN draft says
+  PLAIN should be used instead if available.
+
+Daniel Stenberg (21 Feb 2018)
+- RELEASE-NOTES: synced with 2427d94c6
+
+Jay Satiro (20 Feb 2018)
+- [Anders Bakken brought this change]
+
+  url: Add option CURLOPT_HAPPY_EYEBALLS_TIMEOUT
+  
+  - Add new option CURLOPT_HAPPY_EYEBALLS_TIMEOUT to set libcurl's happy
+    eyeball timeout value.
+  
+  - Add new optval macro CURL_HET_DEFAULT to represent the default happy
+    eyeballs timeout value (currently 200 ms).
+  
+  - Add new tool option --happy-eyeballs-timeout-ms to expose
+    CURLOPT_HAPPY_EYEBALLS_TIMEOUT. The -ms suffix is used because the
+    other -timeout options in the tool expect seconds not milliseconds.
+  
+  Closes https://github.com/curl/curl/pull/2260
+
+- hostip: fix 'potentially uninitialized variable' warning
+  
+  Follow-up to 50d1b33.
+  
+  Caught by AppVeyor.
+
+Daniel Stenberg (20 Feb 2018)
+- TODO: warning if curl version is not in sync with libcurl version
+
+Jay Satiro (20 Feb 2018)
+- [Anders Bakken brought this change]
+
+  CURLOPT_RESOLVE: Add support for multiple IP addresses per entry
+  
+  This enables users to preresolve but still take advantage of happy
+  eyeballs and trying multiple addresses if some are not connecting.
+  
+  Ref: https://github.com/curl/curl/pull/2260
+
+Daniel Stenberg (20 Feb 2018)
+- [Sergio Borghese brought this change]
+
+  examples/sftpuploadresume: resume upload via CURLOPT_APPEND
+  
+  URL: https://curl.haxx.se/mail/lib-2018-02/0072.html
+
+- curl --version: show PSL if the run-time lib has it enabled
+  
+  ... not of the #define was set at build-time!
+
+- TODO: "Support in-memory certs/ca certs/keys"
+  
+  removed SSLKEYLOGFILE support (fixed)
+  
+  removed "consider SSL patches" (outdated)
+  
+  Closes #2310
+
+- CURLOPT_HEADER.3: clarify problems with different data sizes
+
+- test1556: verify >16KB headers to the header callback
+
+- header callback: don't chop headers into smaller pieces
+  
+  Reported-by: Guido Berhoerster
+  Fixes #2314
+  Closes #2316
+
+- test1154: verify that long HTTP headers get rejected
+
+- http: fix the max header length detection logic
+  
+  Previously, it would only check for max length if the existing alloc
+  buffer was to small to fit it, which often would make the header still
+  get used.
+  
+  Reported-by: Guido Berhoerster
+  Bug: https://curl.haxx.se/mail/lib-2018-02/0056.html
+  
+  Closes #2315
+
+- CURLOPT_HEADERFUNCTION.3: fix typo from d939226813
+  
+  Reported-by: Erik Johansson
+  Bug: https://github.com/curl/curl/commit/d9392268131c1b8d18dec3fa30e0bded833a5db7#commitcomment-27607495
+
+- CURLOPT_HEADERFUNCTION.3: mention folded headers
+
+- TODO: 1.1 Option to refuse usernames in URLs
+  
+  Also expanded the CURL_REFUSE_CLEARTEXT section with more ideas.
+
+- TODO: 1.7 Support HTTP/2 for HTTP(S) proxies
+
+- ssh: add two missing state names
+  
+  The list of state names (used in debug builds) was out of sync in
+  relation to the list of states (used in all builds).
+  
+  I now added an assert to make sure the sizes of the two lists match, to
+  aid in detecting this mistake better in the future.
+  
+  Regression since c92d2e14cf, shipped in 7.58.0.
+  
+  Reported-by: Somnath Kundu
+  
+  Fixes #2312
+  Closes #2313
+
+- Revert "KNOWN_BUGS: 2.5 curl should not offer "ALPN: h2" when using https-proxy"
+  
+  This reverts commit de9fac00c40db321d44fa6fbab6eb62ec4c83998.
+  
+  Reported-by: Jay Satiro
+
+Jay Satiro (15 Feb 2018)
+- non-ascii: fix implicit declaration warning
+  
+  Follow-up to b46cfbc.
+  
+  Caught by Travis CI.
+
+Daniel Stenberg (15 Feb 2018)
+- travis: add build with iconv enabled
+  
+  ... to verify it builds and works fine.
+  
+  Ref: https://curl.haxx.se/mail/lib-2017-09/0031.html
+  
+  Closes #1872
+
+- TODO: 18.18 retry on network is unreachable
+  
+  Closes #1603
+
+- KNOWN_BUGS: 2.5 curl should not offer "ALPN: h2" when using https-proxy
+  
+  Closes #1254
+
+Kamil Dudka (15 Feb 2018)
+- nss: use PK11_CreateManagedGenericObject() if available
+  
+  ... so that the memory allocated by applications using libcurl does not
+  grow per each TLS connection.
+  
+  Bug: https://bugzilla.redhat.com/1510247
+  
+  Closes #2297
+
+Daniel Stenberg (15 Feb 2018)
+- [Björn Stenberg brought this change]
+
+  TODO fixed: Detect when called from within callbacks
+  
+  Closes #2302
+
+- BINDINGS: fix curb link (and remove ruby-curl-multi)
+  
+  Reported-by: Klaus Stein
+
+- curl_gssapi: make sure this file too uses our *printf()
+
+- libcurl-security.3: separate file:// section
+  
+  ... just to make it more apparent. Even if it repeats
+  some pieces of information.
+
+- libcurl-security.3: the http://192.168.0.1/my_router_config case
+  
+  Mentioned-By: Rich Moore
+
+- libcurl-security.3: mention the URL standards problems too
+
+- libcurl-security.3: split out from libcurl-tutorial.3
+  
+  To make more accessible.
+  
+  Merged in some new language from "URLs are dangerous things" as discussed on
+  the mailing list a few days ago:
+  
+  Bug: https://curl.haxx.se/mail/lib-2018-02/0013.html
+
+- RELEASE-NOTES: synced with e551910f8
+
+Patrick Monnerat (13 Feb 2018)
+- tests: new tests for http raw mode
+  
+  Test 319 checks proper raw mode data with non-chunked gzip
+  transfer-encoded server data.
+  Test 326 checks raw mode with chunked server data.
+  
+  Bug: #2303
+  Closes #2308
+
+Kamil Dudka (12 Feb 2018)
+- tlsauthtype.d: works only if libcurl is built with TLS-SRP support
+  
+  Bug: https://bugzilla.redhat.com/1542256
+  
+  Closes #2306
+
+Patrick Monnerat (12 Feb 2018)
+- smtp: fix processing of initial dot in data
+  
+  RFC 5321 4.1.1.4 specifies the CRLF terminating the DATA command
+  should be taken into account when chasing the <CRLF>.<CRLF> end marker.
+  Thus a leading dot character in data is also subject to escaping.
+  
+  Tests 911 and test server are adapted to this situation.
+  New tests 951 and 952 check proper handling of initial dot in data.
+  
+  Closes #2304
+
+Daniel Stenberg (12 Feb 2018)
+- sha256: avoid redefine
+
+- [Douglas Mencken brought this change]
+
+  sha256: build with OpenSSL < 0.9.8 too
+  
+  support for SHA-2 was introduced in OpenSSL 0.9.8
+  
+  Closes #2305
+
+- [Bruno Grasselli brought this change]
+
+  README: language fix
+  
+  s/off/from
+  
+  Closes #2300
+
+Patrick Monnerat (12 Feb 2018)
+- http_chunks: don't write chunks twice with CURLOPT_HTTP_TRANSFER_DECODING on
+  
+  Bug: #2303
+  Reported-By: Henry Roeland
+
+Daniel Stenberg (9 Feb 2018)
+- get_posix_time: only check for overflows if they can happen!
+
+Michael Kaufmann (9 Feb 2018)
+- schannel: fix "no previous prototype" compiler warning
+
+Jay Satiro (9 Feb 2018)
+- [Mohammad AlSaleh brought this change]
+
+  content_encoding: Add "none" alias to "identity"
+  
+  Some servers return a "content-encoding" header with a non-standard
+  "none" value.
+  
+  Add "none" as an alias to "identity" as a work-around, to avoid
+  unrecognised content encoding type errors.
+  
+  Signed-off-by: Mohammad AlSaleh <CE.Mohammad.AlSaleh@gmail.com>
+  
+  Closes https://github.com/curl/curl/pull/2298
+
+Steve Holme (8 Feb 2018)
+- build-openssl.bat: Follow up to 648679ab8e to suppress copy/move output
+
+- build-openssl.bat: Fixed incorrect move if destination build folder exists
+
+Michael Kaufmann (8 Feb 2018)
+- schannel: fix compiler warnings
+  
+  Closes #2296
+
+Steve Holme (7 Feb 2018)
+- curl_addrinfo.c: Allow Unix Domain Sockets to compile under Windows
+  
+  Windows 10.0.17061 SDK introduces support for Unix Domain Sockets.
+  Added the necessary include file to curl_addrinfo.c.
+  
+  Note: The SDK (which is considered beta) has to be installed, VS 2017
+  project file has to be re-targeted for Windows 10.0.17061 and #define
+  enabled in config-win32.h.
+
+Patrick Monnerat (7 Feb 2018)
+- fnmatch: optimize processing of consecutive *s and ?s pattern characters
+  
+  Reported-By: Daniel Stenberg
+  Fixes #2291
+  Closes #2293
+
+Steve Holme (6 Feb 2018)
+- build-openssl.bat/build-wolfssl.bat: Build platform is optional
+  
+  Whilst the compiler parameter is mandatory, platform is optional as it
+  is automatically calculated by the :configure section.
+  
+  This partially reverts commit 6d62d2c55d.
+
+Daniel Stenberg (6 Feb 2018)
+- [Patrick Schlangen brought this change]
+
+  openssl: Don't add verify locations when verifypeer==0
+  
+  When peer verification is disabled, calling
+  SSL_CTX_load_verify_locations is not necessary. Only call it when
+  verification is enabled to save resources and increase performance.
+  
+  Closes #2290
+
+Steve Holme (5 Feb 2018)
+- build-wolfssl.bat: Extend VC15 support to include Enterprise and Professional
+  
+  ...and not just the Community Edition.
+
+- build-openssl.bat: Extend VC15 support to include Enterprise and Professional
+  
+  ...and not just the Community Edition.
+
+Michael Kaufmann (5 Feb 2018)
+- time-cond: fix reading the file modification time on Windows
+  
+  On Windows, stat() may adjust the unix file time by a daylight saving time
+  offset. Avoid this by calling GetFileTime() instead.
+  
+  Fixes #2164
+  Closes #2204
+
+Daniel Stenberg (5 Feb 2018)
+- formdata: use the mime-content type function
+  
+  Reduce code duplication by making Curl_mime_contenttype available and
+  used by the formdata function. This also makes the formdata function
+  recognize a set of more file extensions by default.
+  
+  PR #2280 brought this to my attention.
+  
+  Closes #2282
+
+- getdate: return -1 for out of range
+  
+  ...as that's how the function is documented to work.
+  
+  Reported-by: Michael Kaufmann
+  Bug found in an autobuild with 32 bit time_t
+  
+  Closes #2278
+
+- [Ben Greear brought this change]
+
+  build: fix termios issue on android cross-compile
+  
+  Bug: https://curl.haxx.se/mail/lib-2018-01/0122.html
+  Signed-off-by: Ben Greear <greearb@candelatech.com>
+
+- time_t-fixes: remove typecasts to 'long' for info.filetime
+  
+  They're now wrong.
+  
+  Reported-by: Michael Kaufmann
+  
+  Closes #2277
+
+- curl_setup: move the precautionary define of SIZEOF_TIME_T
+  
+  ... up to before it may be used for the TIME_T_MAX/MIN logic.
+  
+  Reported-by: Michael Kaufmann
+
+- parsedate: s/#if/#ifdef
+  
+  Reported-by: Michael Kaufmann
+  Bug: https://github.com/curl/curl/commit/1c39128d974666107fc6d9ea15f294036851f224#commitcomment-27246479
+
+Patrick Monnerat (31 Jan 2018)
+- fnmatch: pattern syntax can no longer fail
+  
+  Whenever an expected pattern syntax rule cannot be matched, the
+  character starting the rule loses its special meaning and the parsing
+  is resumed:
+  - backslash at the end of pattern string matches itself.
+  - Error in [:keyword:] results in set containing :\[dekorwy.
+  
+  Unit test 1307 updated for this new situation.
+  
+  Closes #2273
+
+- fnmatch: accept an alphanum to be followed by a non-alphanum in char set
+  
+  Also be more tolerant about set pattern syntax.
+  Update unit test 1307 accordingly.
+  
+  Bug: https://curl.haxx.se/mail/lib-2018-01/0114.html
+
+- fnmatch: do not match the empty string with a character set
+
+Jay Satiro (30 Jan 2018)
+- build: fix windows build methods for curl_ctype.c
+  
+  - Fix winbuild and the VS project generator to treat curl_ctype.{c,h} as
+    curlx files since they are required by both src and lib.
+  
+  Follow-up to 4272a0b which added curl_ctype.
+
+Daniel Stenberg (30 Jan 2018)
+- progress-bar.d: update to match implementation
+  
+  ... since commit 993dd5651a6
+  
+  Reported-by: Martin Dreher
+  Bug: https://github.com/curl/curl/pull/2242#issuecomment-361059228
+  
+  Closes #2271
+
+- http2: set DEBUG_HTTP2 to enable more HTTP/2 logging
+  
+  ... instead of doing it unconditionally in debug builds. It cluttered up
+  the output a little too much.
+
+- [Max Dymond brought this change]
+
+  file: Check the return code from Curl_range and bail out on error
+
+- [Max Dymond brought this change]
+
+  Curl_range: add check to ensure "from <= to"
+
+- [Max Dymond brought this change]
+
+  Curl_range: commonize FTP and FILE range handling
+  
+  Closes #2205
+
+- RELEASE-NOTES: synced with 811beab9f
+
+- curlver: next release will be 7.59.0
+
+- [Michał Janiszewski brought this change]
+
+  curl/curl.h: fix comment typo for CURLOPT_DNS_LOCAL_IP6
+  
+  Closes #2275
+
+- time: support > year 2038 time stamps for system with 32bit long
+  
+  ... with the introduction of CURLOPT_TIMEVALUE_LARGE and
+  CURLINFO_FILETIME_T.
+  
+  Fixes #2238
+  Closes #2264
+
+- curl_easy_reset: clear digest auth state
+  
+  Bug: https://curl.haxx.se/mail/lib-2018-01/0074.html
+  Reported-by: Ruurd Beerstra
+  Fixes #2255
+  Closes #2272
+
+- [Adam Marcionek brought this change]
+
+  winbuild: make linker generate proper PDB
+  
+  Link.exe requires /DEBUG to properly generate a full pdb file on release
+  builds.
+  
+  Closes #2274
+
+- curl: add --proxy-pinnedpubkey
+  
+  To verify a proxy's public key. For when using HTTPS proxies.
+  
+  Fixes #2192
+  Closes #2268
+
+- configure: set PATH_SEPARATOR to colon for PATH w/o separator
+  
+  The logic tries to figure out what the path separator in the $PATH
+  variable is, but if there's only one directory in the $PATH it
+  fails. This change make configure *guess* on colon instead of erroring
+  out, simply because that is probably the more common character.
+  
+  PATH_SEPARATOR can always be set by the user to override the guessing.
+  
+  (tricky bug to reproduce, as in my case for example the configure script
+  requires binaries in more than one directory so passing in a PATH with a
+  single dir fails.)
+  
+  Reported-by: Earnestly on github
+  Fixes #2202
+  Closes #2265
+
+- curl_ctype: private is*() type macros and functions
+  
+  ... since the libc provided one are locale dependent in a way we don't
+  want. Also, the "native" isalnum() (for example) works differently on
+  different platforms which caused test 1307 failures on macos only.
+  
+  Closes #2269
+
+Marcel Raad (29 Jan 2018)
+- build: open VC15 projects with VS 2017
+  
+  Previously, they were opened with Visual Studio 2015 by default, which
+  cannot build them.
+
+Daniel Stenberg (29 Jan 2018)
+- RELEASE-NOTES: synced with 094647fca
+
+- TODO: UTF-8 filenames in Content-Disposition
+  
+  Closes #1888
+
+- KNOWN_BUGS: DICT responses show the underlying protocol
+  
+  Closes #1809
+
+Jay Satiro (27 Jan 2018)
+- [Alessandro Ghedini brought this change]
+
+  docs: fix typos in man pages
+  
+  Closes https://github.com/curl/curl/pull/2266
+
+Patrick Monnerat (26 Jan 2018)
+- lib555: drop text conversion and encode data as ascii codes
+  
+  If CURL_DOES_CONVERSION is enabled, uploaded LFs are mapped to CRLFs,
+  giving a result that is different from what is expected.
+  This commit avoids using CURLOPT_TRANSFERTEXT and directly encodes data
+  to upload in ascii.
+  
+  Bug: https://github.com/curl/curl/pull/1872
+
+Daniel Stenberg (26 Jan 2018)
+- lib517: make variable static to avoid compiler warning
+  
+  ... with clang on macos
+
+Patrick Monnerat (26 Jan 2018)
+- lib544: sync ascii code data with textual data
+  
+  Data mismatch caused test 545 to fail when character encoding
+  conversion is enabled.
+  
+  Bug: https://github.com/curl/curl/pull/1872
+
+Daniel Stenberg (25 Jan 2018)
+- [Travis Burtrum brought this change]
+
+  GSKit: restore pinnedpubkey functionality
+  
+  inadvertently removed in 283babfaf8d8f3bab9d3c63cea94eb0b84e79c37
+  
+  Closes #2263
+
+- [Dair Grant brought this change]
+
+  darwinssl: Don't import client certificates into Keychain on macOS
+  
+  Closes #2085
+
+- configure: fix the check for unsigned time_t
+  
+  Assign the time_t variable negative value and then check if it is
+  greater than zero, which will evaluate true for unsigned time_t but
+  false for signed time_t.
+
+- parsedate: fix date parsing for systems with 32 bit long
+  
+  Make curl_getdate() handle dates before 1970 as well (returning negative
+  values).
+  
+  Make test 517 test dates for 64 bit time_t.
+  
+  This fixes bug (3) mentioned in #2238
+  
+  Closes #2250
+
+- [McDonough, Tim brought this change]
+
+  openssl: fix pinned public key build error in FIPS mode
+  
+  Here is a version that should work with all versions of openssl 0.9.7
+  through 1.1.0.
+  
+  Links to the docs:
+  https://www.openssl.org/docs/man1.0.2/crypto/EVP_DigestInit.html
+  https://www.openssl.org/docs/man1.1.0/crypto/EVP_DigestInit.html
+  
+  At the very bottom of the 1.1.0 documentation there is a history section
+  that states, " stack allocated EVP_MD_CTXs are no longer supported."
+  
+  If EVP_MD_CTX_create and EVP_MD_CTX_destroy are not defined, then a
+  simple mapping can be used as described here:
+  https://wiki.openssl.org/index.php/Talk:OpenSSL_1.1.0_Changes
+  
+  Closes #2258
+
+- [Travis Burtrum brought this change]
+
+  SChannel/WinSSL: Replace Curl_none_md5sum with Curl_schannel_md5sum
+
+- [Travis Burtrum brought this change]
+
+  SChannel/WinSSL: Implement public key pinning
+  
+  Closes #1429
+
+- bump: towards 7.58.1
+
+- cookies: remove verbose "cookie size:" output
+  
+  It was once used for some debugging/verifying logic but should never have
+  ended up in git!
+
+- TODO: hardcode the "localhost" addresses
+
+- TODO: CURL_REFUSE_CLEARTEXT
+  
+  An idea that popped up in discussions on twitter.
+
+- progress-bar: don't use stderr explicitly, use bar->out
+  
+  Reported-By: Gisle Vanem
+  Bug: https://github.com/curl/curl/commit/993dd5651a6c853bfe3870f6a69c7b329fa4e8ce#commitcomment-27070080
+
+GitHub (24 Jan 2018)
+- [Gisle Vanem brought this change]
+
+  Fixes for MSDOS etc.
+  
+  djgpp do have 'mkdir(dir, mode)'. Other DOS-compilers does not
+  But djgpp seems the only choice for MSDOS anyway.
+  
+  PellesC do have a 'F_OK' defined in it's <unistd.h>.
+  
+  Update year in Copyright.
+
+- [Gisle Vanem brought this change]
+
+  Fix small typo.
+
 Version 7.58.0 (23 Jan 2018)
 
 Daniel Stenberg (23 Jan 2018)
@@ -1330,7 +2294,7 @@
   
   Coverity CID 1420610
 
-Viktor Szakáts (6 Nov 2017)
+Viktor Szakats (6 Nov 2017)
 - src/Makefile.m32: fix typo in brotli lib customization
   
   Ref cc1f4436099decb9d1a7034b2bb773a9f8379d31
@@ -1344,7 +2308,7 @@
 Patrick Monnerat (5 Nov 2017)
 - travis: add a job with brotli enabled
 
-- [Viktor Szakáts brought this change]
+- [Viktor Szakats brought this change]
 
   Makefile.m32: add brotli support
 
@@ -1842,7 +2806,7 @@
   
   Closes #1938
 
-Viktor Szakáts (15 Oct 2017)
+Viktor Szakats (15 Oct 2017)
 - makefile.m32: allow to override gcc, ar and ranlib
   
   Allow to ovverride certain build tools, making it possible to
@@ -2120,7 +3084,7 @@
   Fixes #1955
   Closes #1956
 
-Viktor Szakáts (6 Oct 2017)
+Viktor Szakats (6 Oct 2017)
 - lib/config-win32.h: let SMB/SMBS be enabled with OpenSSL/NSS
   
   The source code is now prepared to handle the case when both
@@ -2159,7 +3123,7 @@
   
   Closes #1946
 
-Viktor Szakáts (4 Oct 2017)
+Viktor Szakats (4 Oct 2017)
 - lib/Makefile.m32: allow customizing dll suffixes
   
   - New `CURL_DLL_SUFFIX` envvar will add a suffix to the generated
@@ -2406,7 +3370,7 @@
   Follow up to 7c52b12 which added the entry. The entry had used tabs but
   the symbol-scan parser doesn't recognize tabs and would fail the symbol.
 
-Viktor Szakáts (22 Sep 2017)
+Viktor Szakats (22 Sep 2017)
 - metalink: fix NSS issue in MultiSSL builds
   
   In MultiSSL mode (i.e. when more than one SSL backend is compiled
@@ -2969,7 +3933,7 @@
   
   Closes #1846
 
-Viktor Szakáts (5 Sep 2017)
+Viktor Szakats (5 Sep 2017)
 - examples/mime: minor example code fixes
 
 Daniel Stenberg (5 Sep 2017)
@@ -2993,7 +3957,7 @@
   
   ... to a README file that doesn't exist anymore
 
-Viktor Szakáts (4 Sep 2017)
+Viktor Szakats (4 Sep 2017)
 - docs: Update to secure URL versions
 
 - mime: use CURL_ZERO_TERMINATED in examples
@@ -3220,7 +4184,7 @@
      } else
      ^
 
-Viktor Szakáts (30 Aug 2017)
+Viktor Szakats (30 Aug 2017)
 - makefile.m32: add multissl support
   
   Closes https://github.com/curl/curl/pull/1840
@@ -3867,7 +4831,7 @@
   Fixes https://github.com/curl/curl/issues/1751
   Closes https://github.com/curl/curl/pull/1813
 
-Viktor Szakáts (22 Aug 2017)
+Viktor Szakats (22 Aug 2017)
 - makefile.m32: add support for libidn2
   
   libidn was replaced with libidn2 last year in configure.
@@ -3877,7 +4841,7 @@
   Closes https://github.com/curl/curl/pull/1815
 
 Jay Satiro (22 Aug 2017)
-- [Viktor Szakáts brought this change]
+- [Viktor Szakats brought this change]
 
   config-win32: define SIZEOF_LONG
   
@@ -4021,7 +4985,7 @@
 - curl/system.h: checksrc compliance
 
 Jay Satiro (17 Aug 2017)
-- [Viktor Szakáts brought this change]
+- [Viktor Szakats brought this change]
 
   ssh: add the ability to enable compression (for SCP/SFTP)
   
@@ -4432,7 +5396,7 @@
 
 - THANKS: 20 new contributors in 7.55.0
 
-- [Viktor Szakáts brought this change]
+- [Viktor Szakats brought this change]
 
   docs/comments: Update to secure URL versions
   
@@ -6004,854 +6968,3 @@
 
 Daniel Stenberg (4 Jun 2017)
 - RELEASE-NOTES: synced with 65ba92650
-
-Marcel Raad (4 Jun 2017)
-- curl_ntlm_core: pass unsigned char to toupper
-  
-  Otherwise, clang on Cygwin64 warns:
-  curl_ntlm_core.c:525:35: error: array subscript is of type 'char'
-  [-Werror,-Wchar-subscripts]
-      dest[2 * i] = (unsigned char)(toupper(src[i]));
-                                    ^~~~~~~~~~~~~~~
-  /usr/include/ctype.h:152:25: note: expanded from macro 'toupper'
-        (void) __CTYPE_PTR[__x]; (toupper) (__x);})
-                          ^~~~
-
-Jay Satiro (3 Jun 2017)
-- [Mahmoud Samir Fayed brought this change]
-
-  BINDINGS: add Ring binding
-  
-  Closes https://github.com/curl/curl/pull/1539
-
-Daniel Stenberg (4 Jun 2017)
-- CONTRIBUTE.md: mention tests done on pull requests
-
-- travis: add coverage, distcheck and cmake builds
-  
-  Closes #1534
-
-Marcel Raad (3 Jun 2017)
-- libtest: fix int-in-bool-context warnings
-  
-  GCC 7 complained:
-  ‘*’ in boolean context, suggest ‘&&’ instead [-Wint-in-bool-context]
-
-- libtest: fix implicit-fallthrough warnings with GCC 7
-
-- x509asn1: fix implicit-fallthrough warning with GCC 7
-
-- curl_sasl: fix unused-variable warning
-  
-  This fixes the following warning with CURL_DISABLE_CRYPTO_AUTH,
-  as seen in the autobuilds:
-  
-  curl_sasl.c:417:9: warning: unused variable 'serverdata'
-  [-Wunused-variable]
-
-Daniel Stenberg (3 Jun 2017)
-- updatemanpages.pl: error out on too old git version
-
-Marcel Raad (3 Jun 2017)
-- cyassl: define build macros before including ssl.h
-  
-  cyassl/ssl.h needs the macros from cyassl/options.h, so define them
-  before including cyassl/ssl.h the first time, which happens in
-  urldata.h.
-  This broke the build on Ubuntu Xenial, which comes with WolfSSL 3.4.8
-  and therefore redefines the symbols from cyassl/options.h instead of
-  including the header.
-  
-  Closes https://github.com/curl/curl/pull/1536
-
-Daniel Stenberg (3 Jun 2017)
-- tool_util: remove unused tvdiff_secs and remove tool_ prefix
-  
-  Closes #1532
-
-- dedotdot: fixed output for ".." and "." only input
-  
-  Found when updating test 1395, which I did to increase test coverage of
-  this source file...
-  
-  Closes #1535
-
-Marcel Raad (2 Jun 2017)
-- mbedtls: make TU-local variable static
-  
-  mbedtls_x509_crt_profile_fr is only used locally.
-  This fixes a missing-variable-declarations warning with clang.
-
-- MD(4|5): silence cast-align clang warning
-  
-  Unaligned access is on purpose here and the warning is harmless on
-  affected architectures. GCC knows that, while clang warns on all
-  architectures.
-
-Daniel Stenberg (2 Jun 2017)
-- test1538: fix typo
-
-- test1538: verify the libcurl strerror API calls
-
-- curl_endian: remove unused functions
-  
-  Closes #1529
-
-- test1537: dedicated tests of the URL (un)escape API calls
-  
-  Closes #1530
-
-- coverage: run event tests too
-  
-  ... the torture ones are commented out only because they are slooooow.
-
-- build: provide easy code coverage measuring
-  
-  Closes #1528
-
-- typecheck-gcc.h: check CURLINFO_CERTINFO
-  
-  ... and update the certinfo.c example accordingly.
-  
-  Fixes https://github.com/curl/curl/issues/846
-
-- typecheck-gcc.h: check CURLINFO_TLS_SSL_PTR and CURLINFO_TLS_SESSION
-  
-  ... so that they get the required "struct curl_tlssessioninfo **"
-  arguments.
-
-- typecheck-gcc.h: separate getinfo slist checks from other pointers
-  
-  Fixes #1524
-
-Marcel Raad (1 Jun 2017)
-- curl-compilers.m4: escape square brackets in regex
-  
-  Otherwise, they are removed in the final configure file.
-  Also changed sed to "$SED" like in most other calls in this file.
-
-- curl-compilers.m4: fix compiler_num for clang
-  
-  "clang -dumpversion" always returns "4.2.1", the GCC version that clang
-  was initially compatible to. Use "clang -v" instead, which returns the
-  actual clang version.
-  
-  Fixes https://github.com/curl/curl/issues/1522
-  Closes https://github.com/curl/curl/pull/1523
-
-Daniel Stenberg (31 May 2017)
-- examples/externalsocket.c: s/closesocket/closecb
-  
-  ... since closesocket is a function in WinSock.
-  
-  Reported-by: Marcel Raad
-  Bug: https://github.com/curl/curl/commit/55fcb8485914700132fd1854c9509b66c955efbe#co
-  mmitcomment-22347818
-
-Marcel Raad (31 May 2017)
-- lib583: fix compiler warning
-  
-  Use CURLMcode for variable 'res' and cast to int where necessary
-  instead of the other way around. Other tests do the same.
-  
-  This fixes the following clang warning:
-  lib583.c:68:15: warning: cast from function call of type 'CURLMcode' to
-  non-matching type 'int' [-Wbad-function-cast]
-
-Daniel Stenberg (31 May 2017)
-- CURLOPT_SSH_KEY*.3: typos
-  
-  Reported-by: Gisle Vanem
-
-- CURLOPT_STREAM_DEPENDS.3: typo
-
-- CURLOPT_FNMATCH_FUNCTION.3: also modified example to avoid fcpp issues
-
-- CURLOPT_FNMATCH_DATA.3: modified example to avoid fcpp issues
-
-- opts: more than 100 more examples for man pages...
-
-- libtest/lib574.c: use correct callback proto
-
-- examples/sampleconv.c: indent changes, made callbacks static
-
-- example/externalsocket.c: make it use CLOSESOCKETFUNCTION too
-
-Marcel Raad (31 May 2017)
-- curl-compilers.m4: enable -Wshift-sign-overflow for clang
-  
-  clang 2.9+ supports -Wshift-sign-overflow, which warns about undefined
-  behavior on signed left shifts when shifting by too many places.
-  
-  Ref: https://github.com/curl/curl/issues/1516
-  Closes https://github.com/curl/curl/pull/1517
-
-Daniel Stenberg (31 May 2017)
-- CURLOPT_PROXY.3: fix test 1140 breakage
-
-Jay Satiro (31 May 2017)
-- build-wolfssl: Sync config with wolfSSL 3.11
-  
-  wolfSSL configure script relevant changes from 3.10 to 3.11:
-  
-  - Async threading support added; disabled by default without async
-    crypto, which continues to be disabled by default.
-  
-  wolfSSL configure script relevant changes from 3.11 to 3.11.1 (beta):
-  
-  - TLS 1.3 beta support added; disabled by default.
-  
-  For experimenting I put in a comment block the defines needed to enable
-  TLS 1.3 support (ie the equivalent of --enable-tls13).
-
-Daniel Stenberg (30 May 2017)
-- opts: more examples added to man pages
-
-- docs: clarify NO_PROXY further
-  
-  Fixes #1208
-
-- CURLOPT_PROXY.3: describe the environment variables more
-
-- transfer: init the infilesize from the postfields...
-  
-  ... with a strlen() if no size was set, and do this in the pretransfer
-  function so that the info is set early. Otherwise, the default strlen()
-  done on the POSTFIELDS data never sets state.infilesize.
-  
-  Reported-by: Vincas Razma
-  Bug: #1294
-
-Jay Satiro (29 May 2017)
-- test557: fix ubsan runtime error due to int left shift
-  
-  - Test curl_msnprintf negative int width arg using INT_MIN instead of
-    1 << 31 which is undefined behavior.
-  
-  Closes https://github.com/curl/curl/issues/1516
-
-- mbedtls: fix variable shadow warning
-  
-  vtls/mbedtls.c:804:69: warning: declaration of 'entropy' shadows a global declaration [-Wshadow]
-   CURLcode Curl_mbedtls_random(struct Curl_easy *data, unsigned char *entropy,
-                                                                       ^~~~~~~
-
-Daniel Stenberg (29 May 2017)
-- RELEASE-NOTES: synced with 3aaac8c2f
-
-Dan Fandrich (28 May 2017)
-- tests: removed some redundant empty <stdout> sections
-
-- runtests.pl: removed <precommand> feature
-  
-  This hasn't been used in over a decade. <precheck> can still be used to
-  run commands before the main test.
-
-Daniel Stenberg (27 May 2017)
-- opts: more examples added in option man pages
-
-Dan Fandrich (27 May 2017)
-- runtests.pl: removed unused arguments to valgrindparse
-
-Daniel Stenberg (25 May 2017)
-- TODO: 6.4 is done, send telnet data in chunks
-
-- [Phil Crump brought this change]
-
-  docs/CURLOPT_SSLVERSION.3: Correct define name in example
-  
-  Closes #1509
-
-- ssh: fix 'left' may be used uninitialized
-  
-  follow-up to f31760e63b4e
-  
-  Reported-by: Michael Kaufmann
-  Bug: https://github.com/curl/curl/pull/1495#issuecomment-303982793
-
-Michael Kaufmann (24 May 2017)
-- time: fix type conversions and compiler warnings
-  
-  Fix bugs and compiler warnings on systems with 32-bit long and
-  64-bit time_t.
-  
-  Reviewed-by: Daniel Stenberg
-  
-  Closes #1499
-
-Marcel Raad (24 May 2017)
-- examples: fix Wimplicit-fallthrough warnings
-  
-  This is contained in -Wextra with GCC 7.
-
-Daniel Stenberg (24 May 2017)
-- [Anatol Belski brought this change]
-
-  winbuild: fix the nghttp2 build
-  
-  Closes #1321
-
-GitHub (24 May 2017)
-- [Sergei Nikulov brought this change]
-
-  LDAP: documentation update per #878 changes (#1506)
-
-Daniel Stenberg (23 May 2017)
-- redirect: store the "would redirect to" URL when max redirs is reached
-  
-  Test 1261 added to verify.
-  
-  Reported-by: Lloyd Fournier
-  
-  Fixes #1489
-  Closes #1497
-
-GitHub (24 May 2017)
-- [Sergei Nikulov brought this change]
-
-  LDAP: fixed checksrc issue
-
-- [Sergei Nikulov brought this change]
-
-  LDAP: using ldap_bind_s on Windows with methods (#878)
-  
-  * LDAP: using ldap_bind_s on Windows with methods(BASIC/DIGEST/NTLM/AUTONEG)
-  
-  * ldap: updated per build options handling
-  
-  * ldap: fixed logic for auth selection
-
-Daniel Stenberg (23 May 2017)
-- [Akhil Kedia brought this change]
-
-  cmake: fix build on Ubuntu 14.04
-  
-  Fixed a syntax error with setting cache variables (The type and
-  docstring were missing), resulting in build errors.  Quoted the
-  CURL_CA_PATH and CURL_CA_BUNDLE otherwise the path was written without
-  quotes in C code, resulting in build errors.
-  
-  Closes #1503
-  
-  Signed-off-by: Akhil <akhil.kedia@samsung.com>
-
-- url: fix declaration of 'pipe' shadows a global declaration
-  
-  follow-up to 4cdb1be8246c
-
-Kamil Dudka (22 May 2017)
-- memdebug: fix compilation failure
-  
-  .... caused by a typo in the last commit (fixing issue #1504):
-  
-  memdebug.c: In function ‘curl_fclose’:
-  memdebug.c:444:3: error: implicit declaration of function
-  ‘DEBUGDEBUGASSERT’ [-Werror=implicit-function-declaration]
-
-Daniel Stenberg (22 May 2017)
-- assert: avoid, use DEBUGASSERT instead!
-  
-  ... as it does extra checks to actually work.
-  
-  Reported-by: jonrumsey at github
-  Fixes #1504
-
-- [Simon Warta brought this change]
-
-  cmake: remove unused variables: GNUTLS_ENABLED, NSS_ENABLED
-
-- [Simon Warta brought this change]
-
-  cmake: remove CURL_CA_BUNDLE from cmake TODO
-
-- [Simon Warta brought this change]
-
-  cmake: auto detection of CURL_CA_BUNDLE/CURL_CA_PATH
-  
-  Closes #1461
-
-- [Simon Warta brought this change]
-
-  cmake: add CURL_CA_BUNDLE/CURL_CA_FALLBACK/CURL_CA_PATH options
-
-- [Simon Warta brought this change]
-
-  cmake: Add CURL_CA_FALLBACK to curl_config.h.cmake
-  
-  This is for symmetry with the autoconf generated curl_config.h.in
-
-- RELEASE-NOTES: synced with 052a14e3c
-
-Michael Kaufmann (20 May 2017)
-- tests: stabilize test 1034
-  
-  Pass the invalid domain name on stdin. On some systems, the test
-  framework cannot pass invalid UTF-8 sequences on the command line.
-  
-  Closes #1488
-
-Daniel Stenberg (20 May 2017)
-- ssh: ignore timeouts during disconnect
-  
-  ... as otherwise it risks not cleaning up the libssh2 handle properly
-  which leads to memory leak!
-  
-  Assisted-by: Joel Depooter
-  
-  Closes #1495
-  Closes #1479
-  
-  Bug: https://curl.haxx.se/mail/lib-2017-04/0024.html
-
-- ghiper.c/hiperfifo.c: add comment about missing timer functionality
-  
-  It takes someone to read up on the APIs of these libraries to figure out
-  how to do this correctly.
-  
-  Reported-by: Michael Kaufmann
-  
-  Closes #1253
-
-- asiohiper.cpp / evhiperfifo.c: deal with negative timerfunction input
-  
-  That means delete the timer.
-  
-  Reported-by: Michael Kaufmann
-  Ref: #1253
-
-- cmdline-opts/write-out.d: s/-L/--location
-  
-  Since the man page generator wants the long option name version to
-  generate the proper output.
-
-- [Bernhard M. Wiedemann brought this change]
-
-  mkhelp.pl: do not add current time into curl binary
-  
-  ... as part of hugehelpgz rodata to make build reproducible.
-  
-  See https://reproducible-builds.org/ for why this is good
-  
-  Closes #1490
-
-- oauth2-bearer.d: mention the <token> argument
-
-Nick Zitzmann (16 May 2017)
-- darwinssl: Fix exception when processing a client-side certificate file
-  if no error was raised by the API but the SecIdentityRef was null
-  
-  Fixes #1450
-
-Daniel Stenberg (16 May 2017)
-- curl_sasl: fix build error with CURL_DISABLE_CRYPTO_AUTH + USE_NTLM
-  
-  Reported-by: wyattoday at github
-  Fixes #1487
-
-- docs/cmdline-opts/config.d: edit for language
-
-- RELEASE-NOTES: synced with eb16305e6
-
-- [Travis Burtrum brought this change]
-
-  SecureTransport/DarwinSSL: Implement public key pinning
-  
-  Closes #1400
-
-- man pages: fix example syntax errors
-  
-  follow-up to 5ddad099b42b50
-
-- docs/libcurl/opts: added more examples in man pages
-
-- CURLOPT_HTTPPROXYTUNNEL: clarify, add example
-
-- curl: show the libcurl release date in --version output
-  
-  ... and support and additional "security patched" date for those who
-  enhance older versions that way. Pass on the define CURL_PATCHSTAMP with
-  a date for that.
-  
-  Building with non-release headers shows the date as [unreleased].
-  
-  Also: this changes the date format generated in the curlver.h file to be
-  "YYYY-MM-DD" (no name of the day or month, no time, no time zone) to
-  make it easier on the eye and easier to parse. Example (new) date
-  string: 2017-05-09
-  
-  Suggested-by: Brian Childs
-  
-  Closes #1474
-
-Dan Fandrich (13 May 2017)
-- url.c: add a compile-time check that CURL_MAX_WRITE_SIZE is large enough
-  
-  Some code (e.g. Curl_fillreadbuffer) assumes that this buffer is not
-  exceedingly tiny and will break if it is. This same check is already
-  done at run time in the CURLOPT_BUFFERSIZE option.
-
-- lib510: don't write past the end of the buffer if it's too small
-
-- tests: added missing keywords "chunked Transfer-Encoding"
-
-Daniel Stenberg (13 May 2017)
-- THANKS: add a few missing names
-  
-  ... I found them in the commit logs from the early years
-
-Dan Fandrich (13 May 2017)
-- tests: made a couple of prechecks consistent with others
-  
-  Also removed a TODO suggesting caching the precheck results. Tests
-  showed this would save about 0.1 sec on the total test run time on a
-  relatively modern system, an unnoticeable gain at the cost of longer and
-  more complicated code. There would also be a danger that a cached test
-  result would be inappropriately returned, such as when other test
-  dependencies (like environment variables) are different or when the
-  precheck causes side effects (like filesystem changes).
-
-Daniel Stenberg (12 May 2017)
-- FAQ: add 7.4 to toc
-  
-  ... and delete trailing whitespace
-  
-  Fixes #1484
-
-- multi: remove leftover debug infof() calls from e9fd794a6
-
-- pipeline: fix mistakenly trying to pipeline POSTs
-  
-  The function IsPipeliningPossible() would return TRUE if either
-  pipelining OR HTTP/2 were possible on a connection, which would lead to
-  it returning TRUE even for POSTs on HTTP/1 connections.
-  
-  It now returns a bitmask so that the caller can differentiate which kind
-  the connection allows.
-  
-  Fixes #1481
-  Closes #1483
-  Reported-by: stootill at github
-
-Jay Satiro (12 May 2017)
-- [Ron Eldor brought this change]
-
-  mbedtls: Support server renegotiation request
-  
-  Tested with servers: IIS 7.5; OpenSSL 1.0.2.
-  
-  Closes https://github.com/curl/curl/pull/1475
-
-Marcel Raad (11 May 2017)
-- cookie_interface: fix -Wcomma warning
-  
-  clang 5.0 complains:
-  possible misuse of comma operator here [-Wcomma]
-
-- formdata: fix -Wcomma warning
-  
-  clang 5.0 complains:
-  possible misuse of comma operator here [-Wcomma]
-  
-  Change the comma to a semicolon to fix that.
-
-Daniel Stenberg (10 May 2017)
-- multi: use a fixed array of timers instead of malloc
-  
-  ... since the total amount is low this is faster, easier and reduces
-  memory overhead.
-  
-  Also, Curl_expire_done() can now mark an expire timeout as done so that
-  it never times out.
-  
-  Closes #1472
-
-- multi: assign IDs to all timers and make each timer singleton
-  
-   A) reduces the timeout lists drastically
-  
-   B) prevents a lot of superfluous loops for timers that expires "in vain"
-      when it has actually already been extended to fire later on
-
-- [Richard Hsu brought this change]
-
-  tests: remove superfluous test 1399
-  
-  @MarcelRaad noted that `test1399` causes infinite loop on MinGW.
-  Looking into this, seems like it is related to how Windows handles
-  CRLF. See https://github.com/curl/curl/commit/9e093f by @mback2k.
-  Removing `test1399` as it's identical to `test1326` then with such a
-  fix.
-  
-  Test 1399 was broughy by commit 862b02f8947039e
-  
-  Closes #1478
-
-Dan Fandrich (9 May 2017)
-- tests: make test file names more unique
-  
-  Include the test number in the names of files written out by tests to
-  reduce the chance of accidental duplication and to make it more clear
-  which test is associated with which file.
-
-- tests: removed redundant --trace-ascii arguments
-  
-  This is already added by the test suite; it's not clear why all these
-  tests had it, unless it's cargo-culting.
-
-Marcel Raad (9 May 2017)
-- tool: fix remaining -Wcast-qual warnings
-  
-  Avoid casting away low-level const.
-
-Daniel Stenberg (9 May 2017)
-- formboundary: convert assert into run-time check
-  
-  ... to really make sure the boundary fits in the target buffer.
-  
-  Fixes unused parameter 'buflen' warning.
-  
-  Reported-by: Michael Kaufmann
-  Bug: https://github.com/curl/curl/pull/1468#issuecomment-300078754
-
-Dan Fandrich (9 May 2017)
-- tests: list the primary server first in the server section
-
-Daniel Stenberg (8 May 2017)
-- curl: generate the --help output
-  
-  ... using the docs/cmdline-opts/gen.pl script, so that we get all the
-  command line option documentation from the same source.
-  
-  The generation of the list has to be done manually and pasted into the
-  source code.
-  
-  Closes #1465
-
-- tests: updated for modified fake random
-
-- [Jay Satiro brought this change]
-
-  rand: treat fake entropy the same regardless of endianness
-  
-  When the random seed is purposely made predictable for testing purposes
-  by using the CURL_ENTROPY environment variable, process that data in an
-  endian agnostic way so the the initial random seed is the same
-  regardless of endianness.
-  
-  - Change Curl_rand to write to a char array instead of int array.
-  
-  - Add Curl_rand_hex to write random hex characters to a buffer.
-  
-  Fixes #1315
-  Closes #1468
-  
-  Co-authored-by: Daniel Stenberg
-  Reported-by: Michael Kaufmann
-
-Dan Fandrich (8 May 2017)
-- tests: give each stunnel.conf file a unique name
-  
-  Otherwise, subsequent uses of stunnel overwrite the configuration file
-  of previous invocations so they can no longer be inspected.
-
-Marcel Raad (8 May 2017)
-- tool_msgs: remove wrong cast
-  
-  Commit 481e0de00a9003b9c5220b120e3fc302d9b0932d changed the variable
-  type from int to size_t, so don't cast the result of strlen to int
-  anymore.
-
-- tftpd: fix signed/unsigned mismatch warnings
-  
-  alarm's argument is unsigned.
-
-- libtest: fix MinGW-w64 warnings
-  
-  long is 32 bits while size_t is 64 bits on MinGW-w64, so
-  typecheck-gcc.h complains when using size_t for a long option.
-  Also, curl_socket_t is unsigned long long rather than int.
-
-Daniel Stenberg (8 May 2017)
-- curl.1: depend the build on the Makefile.inc too
-  
-  ... to also make it update when we remove files, like we did for
-  --environment in commit a8e388dd1095.
-
-- RELEASE-NOTES: synced with e3f84efc32d6b01a
-
-- runtests: fix "use of undefined value" warning in -R handling
-
-Marcel Raad (8 May 2017)
-- test537: use correct variable type
-  
-  Avoids narrowing conversion warnings because rlim_t is usually
-  unsigned long.
-  
-  Closes https://github.com/curl/curl/pull/1469
-
-- sendrecv: fix MinGW-w64 warning
-  
-  The first argument to select is an int, while curl_socket_t is
-  unsigned long long when using WinSock. It's ignored anyway [1].
-  
-  [1] https://msdn.microsoft.com/en-us/library/windows/desktop/ms740141.aspx
-
-- tool_parsecfg: fix -Wcast-qual warning
-  
-  Don't convert string literal to char * before assigning it to
-  const char *.
-
-- asyn-thread: fix unused macro warnings
-  
-  Don't do anything in this file if CURLRES_THREADED is not defined.
-
-- tftp: silence bad-function-cast warning
-  
-  The cases this warns about are handled elsewhere, so just use an
-  intermediate variable to silence the warning.
-
-Daniel Stenberg (7 May 2017)
-- [canavan at github brought this change]
-
-  buildconf: fix hang on IRIX
-  
-  Apparently, /usr/bin/m4 ignores the --version parameter and waits for
-  input from stdin.
-  
-  Fixes #1471
-
-- opts: fix bad example formatting \n => \\n
-  
-  ...to render properly nroff.
-
-- opts: examples added to 8 more libcurl option man pages
-
-- curl: remove tool_writeenv.[ch]
-  
-  ... and USE_ENVIRONMENT and --environment. It was once added for RISC OS
-  support and its platform specific behavior has been annoying ever
-  since. Added in commit c3c8bbd3b2688da8e, mostly unchanged since
-  then. Most probably not actually used for years.
-  
-  Closes #1463
-
-Dan Fandrich (6 May 2017)
-- runtests.pl: simplify the datacheck read section
-  
-  Also, document that numbered datacheck sections are possible.
-
-Marcel Raad (5 May 2017)
-- tests: fix -Wcast-qual warnings
-  
-  Avoid casting string literals to non-const char *.
-
-Daniel Stenberg (5 May 2017)
-- docs/opts: 24 more man pages now have examples
-
-- docs/opts: 23 more man pages now have examples
-
-- tests/server: run checksrc by default in debug-builds
-
-- curl_slist_append.3: clarify a NULL input creates a new list
-
-Marcel Raad (5 May 2017)
-- unit1305: fix compiler warning
-  
-  calloc and ai_addrlen expect different (usually unsigned) types.
-
-Daniel Stenberg (5 May 2017)
-- runtests: use -R for random order
-  
-  Suggested-by: Dan Fandrich
-
-- runtests: add -o to run test cases in scrambled order
-  
-  ... instead of numerical order.
-  
-  Closes #1466
-
-Dan Fandrich (4 May 2017)
-- sockfilt.c: shortened too long line
-
-Marcel Raad (4 May 2017)
-- tests/server: make string literals const
-  
-  assign string literals to const char * instead of char * in order to
-  avoid a lot of these warnings:
-  cast from 'const char *' to 'char *' drops const qualifier
-  [-Wcast-qual]
-
-Dan Fandrich (4 May 2017)
-- schannel: return a more specific error code for SEC_E_UNTRUSTED_ROOT
-
-- test557: set a known good numeric locale
-  
-  Windows does not allow setting the locale with environment variables (as
-  the test attempted to do), so the test failed when run with a user
-  locale that has a comma as radixchar. Changed the test to call
-  setlocale() explicitly to ensure that a known working locale is set even
-  on Windows.
-
-Daniel Stenberg (4 May 2017)
-- curl: fix warning "comma at end of enumerator list"
-
-- test559: verify use of minimum CURLOPT_BUFFERSIZE
-
-Marcel Raad (4 May 2017)
-- curl_setup_once: use SEND_QUAL_ARG2 for swrite
-  
-  SEND_QUAL_ARG2 had to be set, but was never used. Use it in swrite to
-  avoid warnings about casting away low-level const.
-  
-  Closes https://github.com/curl/curl/pull/1464
-
-Daniel Stenberg (4 May 2017)
-- CURLINFO_REDIRECT_URL.3: add example
-
-- CURLINFO_EFFECTIVE_URL.3: add example
-
-Marcel Raad (3 May 2017)
-- lib: fix compiler warnings
-  
-  Fix the following warnings when building the tests by using the correct
-  types:
-  cast from 'const char *' to 'void *' drops const qualifier
-  [-Wcast-qual]
-  implicit conversion changes signedness [-Wsign-conversion]
-
-- typecheck-gcc: add support for CURLINFO_SOCKET
-  
-  Closes https://github.com/curl/curl/pull/1452
-
-- typecheck-gcc: add missing string options
-  
-  Closes https://github.com/curl/curl/pull/1452
-
-Daniel Stenberg (3 May 2017)
-- abstract-unix-socket.d: shorten the help text to fit within 79 cols
-
-- RELEASE-NOTES: synced with 862b02f89
-
-- [Richard Hsu brought this change]
-
-  Telnet: Write full buffer instead of byte-by-byte
-  
-  Previous TODO wanting to write in chunks. We should support writing more
-  at once since some TELNET servers may respond immediately upon first
-  byte written such as WHOIS servers.
-  
-  Closes #1389
-
-- curl: non-boolean command line args reject --no- prefixes
-  
-  ... and instead properly respond with an error message to the user
-  instead of silently ignoring.
-  
-  Fixes #1453
-  Closes #1458
-
-Marcel Raad (2 May 2017)
-- testpart: remove _MPRINTF_REPLACE
-  
-  Support for _MPRINTF_REPLACE in mprintf.h was removed in
-  55452ebdff47f98bf3cc383f1dfc3623fcaefefd, replaced with curl_printf.h.
diff --git a/CMake/Utilities.cmake b/CMake/Utilities.cmake
index 8b6276d..005b166 100644
--- a/CMake/Utilities.cmake
+++ b/CMake/Utilities.cmake
@@ -19,7 +19,7 @@
   set(${LIST_NAME} "${NEW_LIST_SPACE}" PARENT_SCOPE)
 endfunction()
 
-# Convinience function that does the same as LIST(FIND ...) but with a TRUE/FALSE return value.
+# Convenience function that does the same as LIST(FIND ...) but with a TRUE/FALSE return value.
 # Ex: IN_STR_LIST(MY_LIST "Searched item" WAS_FOUND)
 function(IN_STR_LIST LIST_NAME ITEM_SEARCHED RETVAL)
   list(FIND ${LIST_NAME} ${ITEM_SEARCHED} FIND_POS)
diff --git a/README.version b/README.version
index e54612c..a8d1852 100644
--- a/README.version
+++ b/README.version
@@ -1,5 +1,5 @@
-URL: https://curl.haxx.se/download/curl-7.57.0.tar.gz
-Version: 7.57.0
+URL: https://curl.haxx.se/download/curl-7.59.0.tar.gz
+Version: 7.59.0
 License: MIT
 License File: NOTICE
 BugComponent: 31714
diff --git a/RELEASE-NOTES b/RELEASE-NOTES
index eefd0c3..6cbfe48 100644
--- a/RELEASE-NOTES
+++ b/RELEASE-NOTES
@@ -1,100 +1,100 @@
-Curl and libcurl 7.58.0
+Curl and libcurl 7.59.0
 
- Public curl releases:         172
- Command line options:         211
- curl_easy_setopt() options:   249
+ Public curl releases:         173
+ Command line options:         213
+ curl_easy_setopt() options:   253
  Public functions in libcurl:  74
- Contributors:                 1685
+ Contributors:                 1705
 
 This release includes the following changes:
 
- o new libssh-powered SSH SCP/SFTP back-end
- o curl-config: add --ssl-backends [10]
+ o curl: add --proxy-pinnedpubkey [10]
+ o added: CURLOPT_TIMEVALUE_LARGE and CURLINFO_FILETIME_T [13]
+ o CURLOPT_RESOLVE: Add support for multiple IP addresses per entry [37]
+ o Add option CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS [37]
+ o Add new tool option --happy-eyeballs-timeout-ms [37]
+ o Add CURLOPT_RESOLVER_START_FUNCTION and CURLOPT_RESOLVER_START_DATA [39]
 
 This release includes the following bugfixes:
 
- o http2: fix incorrect trailer buffer size [40]
- o http: prevent custom Authorization headers in redirects [55]
- o travis: add boringssl build [1]
- o examples/xmlstream.c: don't switch off CURL_GLOBAL_SSL [2]
- o SSL: Avoid magic allocation of SSL backend specific data [3]
- o lib: don't export all symbols, just everything curl_* [4]
- o libssh2: send the correct CURLE error code on scp file not found
- o libssh2: return CURLE_UPLOAD_FAILED on failure to upload
- o openssl: enable pkcs12 in boringssl builds [5]
- o libssh2: remove dead code from SSH_SFTP_QUOTE [6]
- o sasl_getmesssage: make sure we have a long enough string to pass [7]
- o conncache: fix several lock issues [8]
- o threaded-shared-conn.c: new example
- o conncache: only allow multiplexing within same multi handle [9]
- o configure: check for netinet/in6.h [11]
- o URL: tolerate backslash after drive letter for FILE: [12]
- o openldap: add commented out debug possibilities [13]
- o include: get netinet/in.h before linux/tcp.h [14]
- o CONNECT: keep close connection flag in http_connect_state struct [15]
- o BINDINGS: another PostgreSQL client
- o curl: limit -# update frequency for unknown total size [16]
- o configure: add AX_CODE_COVERAGE only if using gcc [17]
- o curl.h: remove incorrect comment about ERRORBUFFER
- o openssl: improve data-pending check for https proxy [18]
- o curl: remove __EMX__ #ifdefs [19]
- o CURLOPT_PRIVATE.3: fix grammar [20]
- o sftp: allow quoted commands to use relative paths [21]
- o CURLOPT_DNS_CACHE_TIMEOUT.3: see also CURLOPT_RESOLVE
- o RESOLVE: output verbose text when trying to set a duplicate name
- o openssl: Disable file buffering for Win32 SSLKEYLOGFILE [22]
- o multi_done: prune DNS cache [23]
- o tests: update .gitignore for libtests
- o tests: mark data files as non-executable in git
- o CURLOPT_DNS_LOCAL_IP4.3: fixed the "SEE ALSO" to not self-reference
- o curl.1: documented two missing valid exit codes
- o curl.1: mention http:// and https:// as valid proxy prefixes
- o vtls: replaced getenv() with curl_getenv() [24]
- o setopt: less *or equal* than INT_MAX/1000 should be fine [25]
- o examples/smtp-mail.c: use separate defines for options and mail
- o curl: support >256 bytes warning messsages [26]
- o conncache: fix a return code
- o krb5: fix a potential access of uninitialized memory
- o rand: add a clang-analyzer work-around
- o CURLOPT_READFUNCTION.3: refer to argument with correct name [27]
- o brotli: allow compiling with version 0.6.0
- o content_encoding: rework zlib_inflate [28]
- o curl_easy_reset: release mime-related data [29]
- o examples/rtsp: fix error handling macros [30]
- o build-openssl.bat: Added support for VC15
- o build-wolfssl.bat: Added support for VC15
- o build: Added Visual Studio 2017 project files
- o winbuild: Added support for VC15
- o curl: Support size modifiers for --max-filesize [32]
- o examples/cacertinmem: ignore cert-already-exists error [33]
- o brotli: data at the end of content can be lost [34]
- o curl_version_info.3: call the argument 'age' [35]
- o openssl: fix memory leak of SSLKEYLOGFILE filename
- o build: remove HAVE_LIMITS_H check [36]
- o --mail-rcpt: fix short-text description
- o scripts: allow all perl scripts to be run directly [37]
- o progress: calculate transfer speed on milliseconds if possible [38]
- o system.h: check __LONG_MAX__ for defining curl_off_t [31]
- o easy: fix connection ownership in curl_easy_pause [39]
- o setopt: reintroduce non-static Curl_vsetopt() for OS400 support [41]
- o setopt: fix SSLVERSION to allow CURL_SSLVERSION_MAX_ values [42]
- o configure.ac: append extra linker flags instead of prepending them [43]
- o HTTP: bail out on negative Content-Length: values [44]
- o docs: comment about CURLE_READ_ERROR returned by curl_mime_filedata
- o mime: clone mime tree upon easy handle duplication [45]
- o openssl: enable SSLKEYLOGFILE support by default [46]
- o smtp/pop3/imap_get_message: decrease the data length too... [47]
- o CURLOPT_TCP_NODELAY.3: fix typo [48]
- o SMB: fix numeric constant suffix and variable types [49]
- o ftp-wildcard: fix matching an empty string with "*[^a]" [50]
- o curl_fnmatch: only allow 5 '*' sections in a single pattern
- o openssl: fix potential memory leak in SSLKEYLOGFILE logic
- o SSH: Fix state machine for ssh-agent authentication [51]
- o examples/url2file.c: add missing curl_global_cleanup() call [52]
- o http2: don't close connection when single transfer is stopped [53]
- o libcurl-env.3: first version
- o curl: progress bar refresh, get width using ioctl() [54]
- o CONNECT_TO: fail attempt to set an IPv6 numerical without IPv6 support [56]
+ o openldap: check ldap_get_attribute_ber() results for NULL before using [50]
+ o FTP: reject path components with control codes [51]
+ o readwrite: make sure excess reads don't go beyond buffer end [52]
+ o lib555: drop text conversion and encode data as ascii codes [1]
+ o lib517: make variable static to avoid compiler warning
+ o lib544: sync ascii code data with textual data [1]
+ o GSKit: restore pinnedpubkey functionality [2]
+ o darwinssl: Don't import client certificates into Keychain on macOS [3]
+ o parsedate: fix date parsing for systems with 32 bit long [4]
+ o openssl: fix pinned public key build error in FIPS mode [5]
+ o SChannel/WinSSL: Implement public key pinning [6]
+ o cookies: remove verbose "cookie size:" output
+ o progress-bar: don't use stderr explicitly, use bar->out [7]
+ o Fixes for MSDOS
+ o build: open VC15 projects with VS 2017
+ o curl_ctype: private is*() type macros and functions [8]
+ o configure: set PATH_SEPARATOR to colon for PATH w/o separator [9]
+ o winbuild: make linker generate proper PDB [11]
+ o curl_easy_reset: clear digest auth state [12]
+ o curl/curl.h: fix comment typo for CURLOPT_DNS_LOCAL_IP6 [14]
+ o range: commonize FTP and FILE range handling [15]
+ o progress-bar docs: update to match implementation [16]
+ o fnmatch: do not match the empty string with a character set
+ o fnmatch: accept an alphanum to be followed by a non-alphanum in char set [17]
+ o build: fix termios issue on android cross-compile [18]
+ o getdate: return -1 for out of range [19]
+ o formdata: use the mime-content type function [20]
+ o time-cond: fix reading the file modification time on Windows [21]
+ o build-openssl.bat: Extend VC15 support to include Enterprise and Professional
+ o build-wolfssl.bat: Extend VC15 support to include Enterprise and Professional
+ o openssl: Don't add verify locations when verifypeer==0
+ o fnmatch: optimize processing of consecutive *s and ?s pattern characters [22]
+ o schannel: fix compiler warnings [23]
+ o content_encoding: Add "none" alias to "identity" [24]
+ o get_posix_time: only check for overflows if they can happen
+ o http_chunks: don't write chunks twice with CURLOPT_HTTP_TRANSFER_DECODING [25]
+ o README: language fix [26]
+ o sha256: build with OpenSSL < 0.9.8 [27]
+ o smtp: fix processing of initial dot in data [28]
+ o --tlsauthtype: works only if libcurl is built with TLS-SRP support [29]
+ o tests: new tests for http raw mode [30]
+ o libcurl-security.3: man page discussion security concerns when using libcurl
+ o curl_gssapi: make sure this file too uses our *printf()
+ o BINDINGS: fix curb link (and remove ruby-curl-multi)
+ o nss: use PK11_CreateManagedGenericObject() if available [31]
+ o travis: add build with iconv enabled [32]
+ o ssh: add two missing state names [33]
+ o CURLOPT_HEADERFUNCTION.3: mention folded headers
+ o http: fix the max header length detection logic [34]
+ o header callback: don't chop headers into smaller pieces [35]
+ o CURLOPT_HEADER.3: clarify problems with different data sizes
+ o curl --version: show PSL if the run-time lib has it enabled
+ o examples/sftpuploadresume: resume upload via CURLOPT_APPEND [36]
+ o Return error if called recursively from within callbacks [38]
+ o sasl: prefer PLAIN mechanism over LOGIN
+ o winbuild: Use CALL to run batch scripts [40]
+ o curl_share_setopt.3: connection cache is shared within multi handles
+ o winbuild: Use macros for the names of some build utilities [41]
+ o projects/README: remove reference to dead IDN link/package [42]
+ o lib655: silence compiler warning [43]
+ o configure: Fix version check for OpenSSL 1.1.1
+ o docs/MANUAL: formfind.pl is not accessible on the site anymore [44]
+ o unit1309: fix warning on Windows x64 [45]
+ o unit1307: proper cleanup on OOM to fix torture tests
+ o curl_ctype: fix macro redefinition warnings
+ o build: get CFLAGS (including -werror) used for examples and tests [46]
+ o NO_PROXY: fix for IPv6 numericals in the URL [47]
+ o krb5: use nondeprecated functions [48]
+ o winbuild: prefer documented zlib library names [49]
+ o http2: mark the connection for close on GOAWAY [53]
+ o limit-rate: kick in even before "limit" data has been received [54]
+ o HTTP: allow "header;" to replace an internal header with a blank one [55]
+ o http2: verbose output new MAX_CONCURRENT_STREAMS values
+ o SECURITY: distros' max embargo time is 14 days
+ o curl tool: accept --compressed also if Brotli is enabled and zlib is not
+ o WolfSSL: adding TLSv1.3 [56]
+ o checksrc.pl: add -i and -m options
+ o CURLOPT_COOKIEFILE.3: "-" as file name means stdin
 
 This release includes the following known bugs:
 
@@ -103,78 +103,76 @@
 This release would not have looked like this without help, code, reports and
 advice from friends like these:
 
-  ahodesuka on github, Andreas Schneider, Basuke Suzuki, Brad Spencer,
-  Chester Liu, cmfrolick on github, Craig de Stigter, Daniel Stenberg,
-  Dan Johnson, David Benjamin, Dima Tisnek, Dimitrios Apostolou,
-  Dmitry Kostjuchenko, Dominik Hölzl, Elliot Saba, Frank Gevaerts, Gisle Vanem,
-  guitared on github, Jan Ehrhardt, Johannes Schindelin, John DeHelian,
-  John Hascall, jonrumsey on github, jungle-boogie on github, Kartik Mahajan,
-  Martin Galvan, Matthew Kerwin, Mattias Fornander, Max Dymond, Michael Felt,
-  Michael Gmelin, Michael Kaufmann, Mikalai Ananenka, Nikos Mavrogiannopoulos,
-  Oleg Pudeyev, Patrick Dawson, Patrick Monnerat, Per Malmberg, Pete Lomax,
-  Rainer Canavan, Randall S. Becker, Ray Satiro, Richard Alcock, Robert Kolcun,
-  Sean MacLennan, Stanislav Zidek, Stepan Broz, Steve Holme,
-  Thomas van Hesteren, Tomas Mraz, W. Mark Kubacki, XhstormR on github,
-  Zachary Seguin, Zhouyihai Ding,
-  (54 contributors)
+  Adam Marcionek, Alessandro Ghedini, Anders Bakken, Aron Bergman, Ben Greear,
+  Björn Stenberg, Bruno Grasselli, Dair Grant, Dan Fandrich, Daniel Stenberg,
+  Dario Weisser, Douglas Mencken, Duy Phan Thanh, Earnestly on github,
+  Erik Johansson, Francisco Sedano, Gisle Vanem, Guido Berhoerster,
+  Henry Roeland, Kamil Dudka, Klaus Stein, Łukasz Domeradzki, Marcel Raad,
+  Martin Dreher, Max Dymond, Michael Kaufmann, Michał Janiszewski,
+  Mohammad AlSaleh, Patrick Monnerat, Patrick Schlangen, Ray Satiro,
+  Richard Alcock, Richard Moore, Rod Widdowson, Ruurd Beerstra,
+  Sergii Kavunenko, Sergio Borghese, Somnath Kundu, steelman on github,
+  Stefan Kanthak, Steve Holme, Tim Mcdonough, Travis Burtrum, Viktor Szakats,
+  刘佩东,
+  (45 contributors)
 
         Thanks! (and sorry if I forgot to mention someone)
 
 References to bug reports and discussions on issues:
 
- [1] = https://curl.haxx.se/bug/?i=2118
- [2] = https://curl.haxx.se/mail/lib-2017-12/0000.html
- [3] = https://curl.haxx.se/bug/?i=2119
- [4] = https://curl.haxx.se/bug/?i=2127
- [5] = https://curl.haxx.se/bug/?i=2134
- [6] = https://curl.haxx.se/bug/?i=2143
- [7] = https://curl.haxx.se/bug/?i=2150
- [8] = https://curl.haxx.se/bug/?i=2132
- [9] = https://curl.haxx.se/bug/?i=2152
- [10] = https://curl.haxx.se/bug/?i=2128
- [11] = https://curl.haxx.se/bug/?i=2146
- [12] = https://curl.haxx.se/bug/?i=2154
- [13] = https://curl.haxx.se/bug/?i=2159
- [14] = https://curl.haxx.se/bug/?i=2160
- [15] = https://curl.haxx.se/bug/?i=2088
- [16] = https://curl.haxx.se/bug/?i=2158
- [17] = https://curl.haxx.se/bug/?i=2076
- [18] = https://curl.haxx.se/bug/?i=1916
- [19] = https://curl.haxx.se/bug/?i=2166
- [20] = https://curl.haxx.se/bug/?i=2168
- [21] = https://curl.haxx.se/bug/?i=1900
- [22] = https://github.com/curl/curl/pull/1346#issuecomment-350530901
- [23] = https://curl.haxx.se/bug/?i=2169
- [24] = https://curl.haxx.se/bug/?i=2171
- [25] = https://curl.haxx.se/bug/?i=2173
- [26] = https://curl.haxx.se/bug/?i=2174
- [27] = https://curl.haxx.se/bug/?i=2175
- [28] = https://curl.haxx.se/bug/?i=2068
- [29] = https://curl.haxx.se/mail/lib-2017-12/0060.html
- [30] = https://curl.haxx.se/bug/?i=2185
- [31] = https://curl.haxx.se/bug/?i=2216
- [32] = https://curl.haxx.se/bug/?i=2179
- [33] = https://curl.haxx.se/mail/lib-2017-12/0057.html
- [34] = https://curl.haxx.se/bug/?i=2194
- [35] = https://curl.haxx.se/mail/lib-2017-12/0074.html
- [36] = https://curl.haxx.se/bug/?i=2215
- [37] = https://curl.haxx.se/bug/?i=2222
- [38] = https://curl.haxx.se/bug/?i=2200
- [39] = https://curl.haxx.se/bug/?i=2217
- [40] = https://curl.haxx.se/docs/adv_2018-824a.html
- [41] = https://curl.haxx.se/bug/?i=2230
- [42] = https://curl.haxx.se/bug/?i=2225
- [43] = https://curl.haxx.se/bug/?i=2234
- [44] = https://curl.haxx.se/bug/?i=2212
- [45] = https://curl.haxx.se/bug/?i=2235
- [46] = https://curl.haxx.se/bug/?i=2210
- [47] = https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=5206
- [48] = https://curl.haxx.se/bug/?i=2239
- [49] = https://curl.haxx.se/bug/?i=2211
- [50] = https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=5251
- [51] = https://curl.haxx.se/bug/?i=2248
- [52] = https://curl.haxx.se/bug/?i=2245
- [53] = https://curl.haxx.se/bug/?i=2237
- [54] = https://curl.haxx.se/bug/?i=2242
- [55] = https://curl.haxx.se/docs/adv_2018-b3bf.html
- [56] = https://curl.haxx.se/mail/lib-2018-01/0087.html
+ [1] = https://curl.haxx.se/bug/?i=1872
+ [2] = https://curl.haxx.se/bug/?i=2263
+ [3] = https://curl.haxx.se/bug/?i=2085
+ [4] = https://curl.haxx.se/bug/?i=2250
+ [5] = https://curl.haxx.se/bug/?i=2258
+ [6] = https://curl.haxx.se/bug/?i=1429
+ [7] = https://github.com/curl/curl/commit/993dd5651a6c853bfe3870f6a69c7b329fa4e8ce#commitcomment-27070080
+ [8] = https://curl.haxx.se/bug/?i=2269
+ [9] = https://curl.haxx.se/bug/?i=2202
+ [10] = https://curl.haxx.se/bug/?i=2268
+ [11] = https://curl.haxx.se/bug/?i=2274
+ [12] = https://curl.haxx.se/mail/lib-2018-01/0074.html
+ [13] = https://curl.haxx.se/bug/?i=2238
+ [14] = https://curl.haxx.se/bug/?i=2275
+ [15] = https://curl.haxx.se/bug/?i=2205
+ [16] = https://curl.haxx.se/bug/?i=2271
+ [17] = https://curl.haxx.se/mail/lib-2018-01/0114.html
+ [18] = https://curl.haxx.se/mail/lib-2018-01/0122.html
+ [19] = https://curl.haxx.se/bug/?i=2278
+ [20] = https://curl.haxx.se/bug/?i=2282
+ [21] = https://curl.haxx.se/bug/?i=2164
+ [22] = https://curl.haxx.se/bug/?i=2291
+ [23] = https://curl.haxx.se/bug/?i=2296
+ [24] = https://curl.haxx.se/bug/?i=2298
+ [25] = https://curl.haxx.se/bug/?i=2303
+ [26] = https://curl.haxx.se/bug/?i=2300
+ [27] = https://curl.haxx.se/bug/?i=2305
+ [28] = https://curl.haxx.se/bug/?i=2304
+ [29] = https://bugzilla.redhat.com/1542256
+ [30] = https://curl.haxx.se/bug/?i=2303
+ [31] = https://bugzilla.redhat.com/1510247
+ [32] = https://curl.haxx.se/bug/?i=1872
+ [33] = https://curl.haxx.se/bug/?i=2312
+ [34] = https://curl.haxx.se/mail/lib-2018-02/0056.html
+ [35] = https://curl.haxx.se/bug/?i=2314
+ [36] = https://curl.haxx.se/mail/lib-2018-02/0072.html
+ [37] = https://curl.haxx.se/bug/?i=2260
+ [38] = https://curl.haxx.se/bug/?i=2302
+ [39] = https://curl.haxx.se/bug/?i=2311
+ [40] = https://curl.haxx.se/bug/?i=2330
+ [41] = https://curl.haxx.se/bug/?i=2329
+ [42] = https://curl.haxx.se/bug/?i=2325
+ [43] = https://curl.haxx.se/bug/?i=2335
+ [44] = https://curl.haxx.se/bug/?i=2342
+ [45] = https://curl.haxx.se/bug/?i=2341
+ [46] = https://curl.haxx.se/bug/?i=2337
+ [47] = https://curl.haxx.se/bug/?i=2353
+ [48] = https://curl.haxx.se/bug/?i=2356
+ [49] = https://curl.haxx.se/bug/?i=2354
+ [50] = https://curl.haxx.se/docs/adv_2018-97a2.html
+ [51] = https://curl.haxx.se/docs/adv_2018-9cd6.html
+ [52] = https://curl.haxx.se/docs/adv_2018-b047.html
+ [53] = https://curl.haxx.se/bug/?i=2365
+ [54] = https://curl.haxx.se/bug/?i=2371
+ [55] = https://curl.haxx.se/bug/?i=2357
+ [56] = https://curl.haxx.se/bug/?i=2349
diff --git a/config.guess b/config.guess
index 2e9ad7f..31e01ef 100755
--- a/config.guess
+++ b/config.guess
@@ -1,8 +1,8 @@
 #! /bin/sh
 # Attempt to guess a canonical system name.
-#   Copyright 1992-2016 Free Software Foundation, Inc.
+#   Copyright 1992-2017 Free Software Foundation, Inc.
 
-timestamp='2016-10-02'
+timestamp='2017-11-07'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -15,7 +15,7 @@
 # General Public License for more details.
 #
 # You should have received a copy of the GNU General Public License
-# along with this program; if not, see <http://www.gnu.org/licenses/>.
+# along with this program; if not, see <https://www.gnu.org/licenses/>.
 #
 # As a special exception to the GNU General Public License, if you
 # distribute this file as part of a program that contains a
@@ -27,7 +27,7 @@
 # Originally written by Per Bothner; maintained since 2000 by Ben Elliston.
 #
 # You can get the latest version of this script from:
-# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
+# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
 #
 # Please send patches to <config-patches@gnu.org>.
 
@@ -39,7 +39,7 @@
 
 Output the configuration name of the system \`$me' is run on.
 
-Operation modes:
+Options:
   -h, --help         print this help, then exit
   -t, --time-stamp   print date of last modification, then exit
   -v, --version      print version number, then exit
@@ -50,7 +50,7 @@
 GNU config.guess ($timestamp)
 
 Originally written by Per Bothner.
-Copyright 1992-2016 Free Software Foundation, Inc.
+Copyright 1992-2017 Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -244,6 +244,9 @@
 	UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'`
 	echo ${UNAME_MACHINE_ARCH}-unknown-libertybsd${UNAME_RELEASE}
 	exit ;;
+    *:MidnightBSD:*:*)
+	echo ${UNAME_MACHINE}-unknown-midnightbsd${UNAME_RELEASE}
+	exit ;;
     *:ekkoBSD:*:*)
 	echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
 	exit ;;
@@ -259,6 +262,9 @@
     *:Sortix:*:*)
 	echo ${UNAME_MACHINE}-unknown-sortix
 	exit ;;
+    *:Redox:*:*)
+	echo ${UNAME_MACHINE}-unknown-redox
+	exit ;;
     alpha:OSF1:*:*)
 	case $UNAME_RELEASE in
 	*4.0)
@@ -315,15 +321,6 @@
 	exitcode=$?
 	trap '' 0
 	exit $exitcode ;;
-    Alpha\ *:Windows_NT*:*)
-	# How do we know it's Interix rather than the generic POSIX subsystem?
-	# Should we change UNAME_MACHINE based on the output of uname instead
-	# of the specific Alpha model?
-	echo alpha-pc-interix
-	exit ;;
-    21064:Windows_NT:50:3)
-	echo alpha-dec-winnt3.5
-	exit ;;
     Amiga*:UNIX_System_V:4.0:*)
 	echo m68k-unknown-sysv4
 	exit ;;
@@ -485,13 +482,13 @@
 #endif
 	#if defined (host_mips) && defined (MIPSEB)
 	#if defined (SYSTYPE_SYSV)
-	  printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
+	  printf ("mips-mips-riscos%ssysv\\n", argv[1]); exit (0);
 	#endif
 	#if defined (SYSTYPE_SVR4)
-	  printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
+	  printf ("mips-mips-riscos%ssvr4\\n", argv[1]); exit (0);
 	#endif
 	#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
-	  printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
+	  printf ("mips-mips-riscos%sbsd\\n", argv[1]); exit (0);
 	#endif
 	#endif
 	  exit (-1);
@@ -614,7 +611,7 @@
     *:AIX:*:*)
 	echo rs6000-ibm-aix
 	exit ;;
-    ibmrt:4.4BSD:*|romp-ibm:BSD:*)
+    ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*)
 	echo romp-ibm-bsd4.4
 	exit ;;
     ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
@@ -635,8 +632,8 @@
     9000/[34678]??:HP-UX:*:*)
 	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
 	case "${UNAME_MACHINE}" in
-	    9000/31? )            HP_ARCH=m68000 ;;
-	    9000/[34]?? )         HP_ARCH=m68k ;;
+	    9000/31?)            HP_ARCH=m68000 ;;
+	    9000/[34]??)         HP_ARCH=m68k ;;
 	    9000/[678][0-9][0-9])
 		if [ -x /usr/bin/getconf ]; then
 		    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
@@ -749,7 +746,7 @@
 		{ echo "$SYSTEM_NAME"; exit; }
 	echo unknown-hitachi-hiuxwe2
 	exit ;;
-    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
+    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*)
 	echo hppa1.1-hp-bsd
 	exit ;;
     9000/8??:4.3bsd:*:*)
@@ -758,7 +755,7 @@
     *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
 	echo hppa1.0-hp-mpeix
 	exit ;;
-    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
+    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*)
 	echo hppa1.1-hp-osf
 	exit ;;
     hp8??:OSF1:*:*)
@@ -837,10 +834,11 @@
 	UNAME_PROCESSOR=`/usr/bin/uname -p`
 	case ${UNAME_PROCESSOR} in
 	    amd64)
-		echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
-	    *)
-		echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+		UNAME_PROCESSOR=x86_64 ;;
+	    i386)
+		UNAME_PROCESSOR=i586 ;;
 	esac
+	echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
 	exit ;;
     i*:CYGWIN*:*)
 	echo ${UNAME_MACHINE}-pc-cygwin
@@ -854,10 +852,6 @@
     *:MSYS*:*)
 	echo ${UNAME_MACHINE}-pc-msys
 	exit ;;
-    i*:windows32*:*)
-	# uname -m includes "-pc" on this system.
-	echo ${UNAME_MACHINE}-mingw32
-	exit ;;
     i*:PW*:*)
 	echo ${UNAME_MACHINE}-pc-pw32
 	exit ;;
@@ -873,27 +867,12 @@
 		echo ia64-unknown-interix${UNAME_RELEASE}
 		exit ;;
 	esac ;;
-    [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
-	echo i${UNAME_MACHINE}-pc-mks
-	exit ;;
-    8664:Windows_NT:*)
-	echo x86_64-pc-mks
-	exit ;;
-    i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
-	# How do we know it's Interix rather than the generic POSIX subsystem?
-	# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
-	# UNAME_MACHINE based on the output of uname instead of i386?
-	echo i586-pc-interix
-	exit ;;
     i*:UWIN*:*)
 	echo ${UNAME_MACHINE}-pc-uwin
 	exit ;;
     amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
 	echo x86_64-unknown-cygwin
 	exit ;;
-    p*:CYGWIN*:*)
-	echo powerpcle-unknown-cygwin
-	exit ;;
     prep*:SunOS:5.*:*)
 	echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
 	exit ;;
@@ -1096,7 +1075,7 @@
     i*86:*DOS:*:*)
 	echo ${UNAME_MACHINE}-pc-msdosdjgpp
 	exit ;;
-    i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
+    i*86:*:4.*:*)
 	UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
 	if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
 		echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
@@ -1303,14 +1282,21 @@
 	if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then
 	    if [ "$CC_FOR_BUILD" != no_compiler_found ]; then
 		if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
-		    (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
-		    grep IS_64BIT_ARCH >/dev/null
+		       (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
+		       grep IS_64BIT_ARCH >/dev/null
 		then
 		    case $UNAME_PROCESSOR in
 			i386) UNAME_PROCESSOR=x86_64 ;;
 			powerpc) UNAME_PROCESSOR=powerpc64 ;;
 		    esac
 		fi
+		# On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc
+		if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \
+		       (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
+		       grep IS_PPC >/dev/null
+		then
+		    UNAME_PROCESSOR=powerpc
+		fi
 	    fi
 	elif test "$UNAME_PROCESSOR" = i386 ; then
 	    # Avoid executing cc on OS X 10.9, as it ships with a stub
@@ -1334,15 +1320,18 @@
     *:QNX:*:4*)
 	echo i386-pc-qnx
 	exit ;;
-    NEO-?:NONSTOP_KERNEL:*:*)
+    NEO-*:NONSTOP_KERNEL:*:*)
 	echo neo-tandem-nsk${UNAME_RELEASE}
 	exit ;;
     NSE-*:NONSTOP_KERNEL:*:*)
 	echo nse-tandem-nsk${UNAME_RELEASE}
 	exit ;;
-    NSR-?:NONSTOP_KERNEL:*:*)
+    NSR-*:NONSTOP_KERNEL:*:*)
 	echo nsr-tandem-nsk${UNAME_RELEASE}
 	exit ;;
+    NSX-*:NONSTOP_KERNEL:*:*)
+	echo nsx-tandem-nsk${UNAME_RELEASE}
+	exit ;;
     *:NonStop-UX:*:*)
 	echo mips-compaq-nonstopux
 	exit ;;
@@ -1414,16 +1403,28 @@
 	exit ;;
 esac
 
+echo "$0: unable to guess system type" >&2
+
+case "${UNAME_MACHINE}:${UNAME_SYSTEM}" in
+    mips:Linux | mips64:Linux)
+	# If we got here on MIPS GNU/Linux, output extra information.
+	cat >&2 <<EOF
+
+NOTE: MIPS GNU/Linux systems require a C compiler to fully recognize
+the system type. Please install a C compiler and try again.
+EOF
+	;;
+esac
+
 cat >&2 <<EOF
-$0: unable to guess system type
 
 This script (version $timestamp), has failed to recognize the
-operating system you are using. If your script is old, overwrite
-config.guess and config.sub with the latest versions from:
+operating system you are using. If your script is old, overwrite *all*
+copies of config.guess and config.sub with the latest versions from:
 
-  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
+  https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
 and
-  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
+  https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
 
 If $0 has already been updated, send the following data and any
 information you think might be pertinent to config-patches@gnu.org to
@@ -1455,7 +1456,7 @@
 exit 1
 
 # Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
+# eval: (add-hook 'write-file-functions 'time-stamp)
 # time-stamp-start: "timestamp='"
 # time-stamp-format: "%:y-%02m-%02d"
 # time-stamp-end: "'"
diff --git a/config.sub b/config.sub
index dd2ca93..00f68b8 100755
--- a/config.sub
+++ b/config.sub
@@ -1,8 +1,8 @@
 #! /bin/sh
 # Configuration validation subroutine script.
-#   Copyright 1992-2016 Free Software Foundation, Inc.
+#   Copyright 1992-2017 Free Software Foundation, Inc.
 
-timestamp='2016-11-04'
+timestamp='2017-11-23'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -15,7 +15,7 @@
 # General Public License for more details.
 #
 # You should have received a copy of the GNU General Public License
-# along with this program; if not, see <http://www.gnu.org/licenses/>.
+# along with this program; if not, see <https://www.gnu.org/licenses/>.
 #
 # As a special exception to the GNU General Public License, if you
 # distribute this file as part of a program that contains a
@@ -33,7 +33,7 @@
 # Otherwise, we print the canonical config type on stdout and succeed.
 
 # You can get the latest version of this script from:
-# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
+# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
 
 # This file is supposed to be the same for all GNU packages
 # and recognize all the CPU types, system types and aliases
@@ -57,7 +57,7 @@
 
 Canonicalize a configuration name.
 
-Operation modes:
+Options:
   -h, --help         print this help, then exit
   -t, --time-stamp   print date of last modification, then exit
   -v, --version      print version number, then exit
@@ -67,7 +67,7 @@
 version="\
 GNU config.sub ($timestamp)
 
-Copyright 1992-2016 Free Software Foundation, Inc.
+Copyright 1992-2017 Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -229,9 +229,6 @@
 	-ptx*)
 		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
 		;;
-	-windowsnt*)
-		os=`echo $os | sed -e 's/windowsnt/winnt/'`
-		;;
 	-psos*)
 		os=-psos
 		;;
@@ -263,7 +260,7 @@
 	| fido | fr30 | frv | ft32 \
 	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
 	| hexagon \
-	| i370 | i860 | i960 | ia64 \
+	| i370 | i860 | i960 | ia16 | ia64 \
 	| ip2k | iq2000 \
 	| k1om \
 	| le32 | le64 \
@@ -315,7 +312,7 @@
 	| ubicom32 \
 	| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
 	| visium \
-	| we32k \
+	| wasm32 \
 	| x86 | xc16x | xstormy16 | xtensa \
 	| z8k | z80)
 		basic_machine=$basic_machine-unknown
@@ -388,7 +385,7 @@
 	| h8300-* | h8500-* \
 	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
 	| hexagon-* \
-	| i*86-* | i860-* | i960-* | ia64-* \
+	| i*86-* | i860-* | i960-* | ia16-* | ia64-* \
 	| ip2k-* | iq2000-* \
 	| k1om-* \
 	| le32-* | le64-* \
@@ -446,6 +443,7 @@
 	| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
 	| vax-* \
 	| visium-* \
+	| wasm32-* \
 	| we32k-* \
 	| x86-* | x86_64-* | xc16x-* | xps100-* \
 	| xstormy16-* | xtensa*-* \
@@ -641,7 +639,7 @@
 		basic_machine=rs6000-bull
 		os=-bosx
 		;;
-	dpx2* | dpx2*-bull)
+	dpx2*)
 		basic_machine=m68k-bull
 		os=-sysv3
 		;;
@@ -903,7 +901,7 @@
 		basic_machine=v70-nec
 		os=-sysv
 		;;
-	next | m*-next )
+	next | m*-next)
 		basic_machine=m68k-next
 		case $os in
 		    -nextstep* )
@@ -948,6 +946,9 @@
 	nsr-tandem)
 		basic_machine=nsr-tandem
 		;;
+	nsx-tandem)
+		basic_machine=nsx-tandem
+		;;
 	op50n-* | op60c-*)
 		basic_machine=hppa1.1-oki
 		os=-proelf
@@ -1243,6 +1244,9 @@
 		basic_machine=a29k-wrs
 		os=-vxworks
 		;;
+	wasm32)
+		basic_machine=wasm32-unknown
+		;;
 	w65*)
 		basic_machine=w65-wdc
 		os=-none
@@ -1251,6 +1255,9 @@
 		basic_machine=hppa1.1-winbond
 		os=-proelf
 		;;
+	x64)
+		basic_machine=x86_64-pc
+		;;
 	xbox)
 		basic_machine=i686-pc
 		os=-mingw32
@@ -1358,8 +1365,8 @@
 if [ x"$os" != x"" ]
 then
 case $os in
-	# First match some system type aliases
-	# that might get confused with valid system types.
+	# First match some system type aliases that might get confused
+	# with valid system types.
 	# -solaris* is a basic system type, with this one exception.
 	-auroraux)
 		os=-auroraux
@@ -1379,9 +1386,9 @@
 	-gnu/linux*)
 		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
 		;;
-	# First accept the basic system types.
+	# Now accept the basic system types.
 	# The portable systems comes first.
-	# Each alternative MUST END IN A *, to match a version number.
+	# Each alternative MUST end in a * to match a version number.
 	# -sysv* is not here because it comes later, after sysvr4.
 	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
 	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
@@ -1397,7 +1404,7 @@
 	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
 	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
 	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
-	      | -chorusos* | -chorusrdb* | -cegcc* \
+	      | -chorusos* | -chorusrdb* | -cegcc* | -glidix* \
 	      | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
 	      | -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
 	      | -linux-newlib* | -linux-musl* | -linux-uclibc* \
@@ -1409,7 +1416,7 @@
 	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
 	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
 	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \
-	      | -onefs* | -tirtos* | -phoenix* | -fuchsia*)
+	      | -onefs* | -tirtos* | -phoenix* | -fuchsia* | -redox*)
 	# Remember, each alternative MUST END IN *, to match a version number.
 		;;
 	-qnx*)
@@ -1484,7 +1491,7 @@
 	-nova*)
 		os=-rtmk-nova
 		;;
-	-ns2 )
+	-ns2)
 		os=-nextstep2
 		;;
 	-nsk*)
@@ -1539,6 +1546,19 @@
 	-dicos*)
 		os=-dicos
 		;;
+	-pikeos*)
+		# Until real need of OS specific support for
+		# particular features comes up, bare metal
+		# configurations are quite functional.
+		case $basic_machine in
+		    arm*)
+			os=-eabi
+			;;
+		    *)
+			os=-elf
+			;;
+		esac
+		;;
 	-nacl*)
 		;;
 	-ios)
@@ -1638,6 +1658,9 @@
 	sparc-* | *-sun)
 		os=-sunos4.1.1
 		;;
+	pru-*)
+		os=-elf
+		;;
 	*-be)
 		os=-beos
 		;;
@@ -1683,7 +1706,7 @@
 	m88k-omron*)
 		os=-luna
 		;;
-	*-next )
+	*-next)
 		os=-nextstep
 		;;
 	*-sequent)
@@ -1818,7 +1841,7 @@
 exit
 
 # Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
+# eval: (add-hook 'write-file-functions 'time-stamp)
 # time-stamp-start: "timestamp='"
 # time-stamp-format: "%:y-%02m-%02d"
 # time-stamp-end: "'"
diff --git a/configure b/configure
index cb90f42..9d38b94 100755
--- a/configure
+++ b/configure
@@ -233,9 +233,10 @@
   # When both counting methods give the same result we do not want to
   # chose one over the other, and consider auto-detection not possible.
   if test -z "$PATH_SEPARATOR"; then
-    # Stop dead until user provides 'PATH_SEPARATOR' definition.
-    echo "$xc_msg_err 'PATH_SEPARATOR' variable not set. $xc_msg_abrt" >&2
-    exit 1
+    # User should provide the correct 'PATH_SEPARATOR' definition.
+    # Until then, guess that it is colon!
+    echo "$xc_msg_warn path separator not determined, guessing colon" >&2
+    PATH_SEPARATOR=':'
   fi
 else
   # Separator with the greater directory count is the auto-detected one.
@@ -23142,6 +23143,7 @@
         ;;
     esac
     case $tst_api in
+      0x111) tst_show="1.1.1" ;;
       0x110) tst_show="1.1.0" ;;
       0x102) tst_show="1.0.2" ;;
       0x101) tst_show="1.0.1" ;;
@@ -23173,6 +23175,42 @@
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for OpenSSL library version" >&5
 $as_echo_n "checking for OpenSSL library version... " >&6; }
   if test "$tst_api" = "unknown"; then
+    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+
+#define ERR_clear_last_mark innocuous_ERR_clear_last_mark
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+#undef ERR_clear_last_mark
+#ifdef __cplusplus
+extern "C"
+#endif
+char ERR_clear_last_mark ();
+#if defined __stub_ERR_clear_last_mark || defined __stub___ERR_clear_last_mark
+choke me
+#endif
+
+int main (void)
+{
+return ERR_clear_last_mark ();
+ ;
+ return 0;
+}
+
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+
+      tst_api="0x111"
+
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+  fi
+  if test "$tst_api" = "unknown"; then
     case $host in
       *-*-vms*)
         cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -23645,6 +23683,7 @@
     conftest$ac_exeext conftest.$ac_ext
   fi
   case $tst_api in
+    0x111) tst_show="1.1.1" ;;
     0x110) tst_show="1.1.0" ;;
     0x102) tst_show="1.0.2" ;;
     0x101) tst_show="1.0.1" ;;
@@ -25361,6 +25400,16 @@
       { $as_echo "$as_me:${as_lineno-$LINENO}: detected NSS version $version" >&5
 $as_echo "$as_me: detected NSS version $version" >&6;}
 
+                        ac_fn_c_check_func "$LINENO" "PK11_CreateManagedGenericObject" "ac_cv_func_PK11_CreateManagedGenericObject"
+if test "x$ac_cv_func_PK11_CreateManagedGenericObject" = xyes; then :
+
+
+$as_echo "#define HAVE_PK11_CREATEMANAGEDGENERICOBJECT 1" >>confdefs.h
+
+
+fi
+
+
             NSS_LIBS=$addlib
 
 
@@ -28843,6 +28892,43 @@
 fi
 
 
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if time_t is unsigned" >&5
+$as_echo_n "checking if time_t is unsigned... " >&6; }
+if test "$cross_compiling" = yes; then :
+
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+
+  #include <time.h>
+  #include <limits.h>
+  time_t t = -1;
+  return (t > 0);
+
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+$as_echo "#define HAVE_TIME_T_UNSIGNED 1" >>confdefs.h
+
+
+else
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+
 
 curl_includes_ws2tcpip="\
 /* includes start */
diff --git a/configure.ac b/configure.ac
index c223a04..798fa5f 100755
--- a/configure.ac
+++ b/configure.ac
@@ -5,7 +5,7 @@
 #                            | (__| |_| |  _ <| |___
 #                             \___|\___/|_| \_\_____|
 #
-# Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+# Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
 #
 # This software is licensed as described in the file COPYING, which
 # you should have received as part of this distribution. The terms
@@ -2483,6 +2483,15 @@
     if test "x$USE_NSS" = "xyes"; then
       AC_MSG_NOTICE([detected NSS version $version])
 
+      dnl PK11_CreateManagedGenericObject() was introduced in NSS 3.34 because
+      dnl PK11_DestroyGenericObject() does not release resources allocated by
+      dnl PK11_CreateGenericObject() early enough.
+      AC_CHECK_FUNC(PK11_CreateManagedGenericObject,
+        [
+          AC_DEFINE(HAVE_PK11_CREATEMANAGEDGENERICOBJECT, 1,
+                    [if you have the PK11_CreateManagedGenericObject function])
+        ])
+
       dnl needed when linking the curl tool without USE_EXPLICIT_LIB_DEPS
       NSS_LIBS=$addlib
       AC_SUBST([NSS_LIBS])
@@ -3483,6 +3492,23 @@
 #endif
 ])
 
+AC_MSG_CHECKING([if time_t is unsigned])
+AC_RUN_IFELSE([
+  AC_LANG_SOURCE([[
+  #include <time.h>
+  #include <limits.h>
+  time_t t = -1;
+  return (t > 0);
+  ]])] ,[
+  AC_MSG_RESULT([yes])
+  AC_DEFINE(HAVE_TIME_T_UNSIGNED, 1, [Define this if time_t is unsigned])
+],[
+  AC_MSG_RESULT([no])
+],[
+  dnl cross-compiling, most systems are unsigned
+  AC_MSG_RESULT([no])
+])
+
 CURL_CONFIGURE_CURL_SOCKLEN_T
 
 CURL_CONFIGURE_PULL_SYS_POLL
diff --git a/docs/BINDINGS.md b/docs/BINDINGS.md
index b2d50fb..024f169 100644
--- a/docs/BINDINGS.md
+++ b/docs/BINDINGS.md
@@ -87,7 +87,7 @@
 
 RPG, support for ILE/RPG on OS/400 is included in source distribution
 
-Ruby: [curb](http://curb.rubyforge.org/) written by Ross Bamford, [ruby-curl-multi](http://curl-multi.rubyforge.org/) written by Kristjan Petursson and Keith Rarick
+Ruby: [curb](https://github.com/taf2/curb) written by Ross Bamford
 
 [Rust](https://github.com/carllerche/curl-rust) curl-rust - by Carl Lerche
 
@@ -95,7 +95,7 @@
 
 [Scilab](https://help.scilab.org/docs/current/fr_FR/getURL.html) binding by Sylvestre Ledru
 
-[S-Lang](http://www.jedsoft.org/slang/modules/curl.html) by John E Davis
+[S-Lang](https://www.jedsoft.org/slang/modules/curl.html) by John E Davis
 
 [Smalltalk](http://www.squeaksource.com/CurlPlugin/) Written by Danil Osipchuk
 
diff --git a/docs/BUGS b/docs/BUGS
index 33f06ce..7322d9b 100644
--- a/docs/BUGS
+++ b/docs/BUGS
@@ -68,7 +68,7 @@
   The curl project's process for handling security related issues is
   documented here:
 
-        https://curl.haxx.se/dev/security.html
+        https://curl.haxx.se/dev/secprocess.html
 
 1.4 What to report
 
diff --git a/docs/FAQ b/docs/FAQ
index 7ed5fa0..cb28c2a 100644
--- a/docs/FAQ
+++ b/docs/FAQ
@@ -218,9 +218,9 @@
   very well at the side. Curl's output can be piped into another program or
   redirected to another file for the next program to interpret.
 
-  We focus on protocol related issues and improvements. If you wanna do more
+  We focus on protocol related issues and improvements. If you want to do more
   magic with the supported protocols than curl currently does, chances are good
-  we will agree. If you wanna add more protocols, we may very well agree.
+  we will agree. If you want to add more protocols, we may very well agree.
 
   If you want someone else to do all the work while you wait for us to
   implement it for you, that is not a very friendly attitude. We spend a
@@ -998,7 +998,7 @@
   compilers or prior curl versions it may set a time that appears one hour off.
   This happens due to a flaw in how Windows stores and uses file modification
   times and it is not easily worked around. For more details read this:
-  http://www.codeproject.com/datetime/dstbugs.asp
+  https://www.codeproject.com/Articles/1144/Beating-the-Daylight-Savings-Time-bug-and-getting
 
   4.14 Redirects work in browser but not with curl!
 
diff --git a/docs/KNOWN_BUGS b/docs/KNOWN_BUGS
index 961a628..280edd0 100644
--- a/docs/KNOWN_BUGS
+++ b/docs/KNOWN_BUGS
@@ -90,6 +90,8 @@
  13. TCP/IP
  13.1 --interface for ipv6 binds to unusable IP address
 
+ 14 DICT
+ 14.1 DICT responses show the underlying protocol
 
 ==============================================================================
 
@@ -591,3 +593,12 @@
  locally scoped address as that is bound to fail.
 
  https://github.com/curl/curl/issues/686
+
+14. DICT
+
+14.1 DICT responses show the underlying protocol
+
+ When getting a DICT response, the protocol parts of DICT aren't stripped off
+ from the output.
+
+ https://github.com/curl/curl/issues/1809
diff --git a/docs/MAIL-ETIQUETTE b/docs/MAIL-ETIQUETTE
index 54f1090..effdcce 100644
--- a/docs/MAIL-ETIQUETTE
+++ b/docs/MAIL-ETIQUETTE
@@ -179,7 +179,7 @@
   or just remove them completely from the mail. Note that this includes base64
   encoded HTTP Basic auth headers.
 
-  This public nature of the curl mailing lists makes automaticly inserted mail
+  This public nature of the curl mailing lists makes automatically inserted mail
   footers about mails being "private" or "only meant for the receipient" or
   similar even more silly than usual. Because they are absolutely not private
   when sent to a public mailing list.
diff --git a/docs/MANUAL b/docs/MANUAL
index 0e3db0f..5df37e4 100644
--- a/docs/MANUAL
+++ b/docs/MANUAL
@@ -298,8 +298,7 @@
 
   How to post a form with curl, lesson #1:
 
-  Dig out all the <input> tags in the form that you want to fill in. (There's
-  a perl program called formfind.pl on the curl site that helps with this).
+  Dig out all the <input> tags in the form that you want to fill in.
 
   If there's a "normal" post, you use -d to post. -d takes a full "post
   string", which is in the format
diff --git a/docs/Makefile.am b/docs/Makefile.am
index ae5ceec..1cad062 100644
--- a/docs/Makefile.am
+++ b/docs/Makefile.am
@@ -5,7 +5,7 @@
 #                            | (__| |_| |  _ <| |___
 #                             \___|\___/|_| \_\_____|
 #
-# Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+# Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
 #
 # This software is licensed as described in the file COPYING, which
 # you should have received as part of this distribution. The terms
@@ -43,7 +43,7 @@
 EXTRA_DIST = MANUAL BUGS CONTRIBUTE.md FAQ FEATURES INTERNALS.md SSLCERTS.md    \
  README.win32 RESOURCES TODO TheArtOfHttpScripting THANKS VERSIONS KNOWN_BUGS   \
  BINDINGS.md HISTORY.md INSTALL INSTALL.md LICENSE-MIXING.md     \
- README.netware MAIL-ETIQUETTE HTTP-COOKIES.md SECURITY.md RELEASE-PROCEDURE    \
+ README.netware MAIL-ETIQUETTE HTTP-COOKIES.md SECURITY-PROCESS.md RELEASE-PROCEDURE    \
  SSL-PROBLEMS.md HTTP2.md ROADMAP.md CODE_OF_CONDUCT.md CODE_STYLE.md           \
  CHECKSRC.md CMakeLists.txt README.md CIPHERS.md INSTALL.cmake README.cmake     \
  $(noinst_man_MANS) HELP-US.md
diff --git a/docs/SECURITY-PROCESS.md b/docs/SECURITY-PROCESS.md
new file mode 100644
index 0000000..d39c5a1
--- /dev/null
+++ b/docs/SECURITY-PROCESS.md
@@ -0,0 +1,116 @@
+curl security process
+=====================
+
+This document describes how security vulnerabilities should be handled in the
+curl project.
+
+Publishing Information
+----------------------
+
+All known and public curl or libcurl related vulnerabilities are listed on
+[the curl web site security page](https://curl.haxx.se/docs/security.html).
+
+Security vulnerabilities should not be entered in the project's public bug
+tracker unless the necessary configuration is in place to limit access to the
+issue to only the reporter and the project's security team.
+
+Vulnerability Handling
+----------------------
+
+The typical process for handling a new security vulnerability is as follows.
+
+No information should be made public about a vulnerability until it is
+formally announced at the end of this process. That means, for example that a
+bug tracker entry must NOT be created to track the issue since that will make
+the issue public and it should not be discussed on any of the project's public
+mailing lists. Also messages associated with any commits should not make
+any reference to the security nature of the commit if done prior to the public
+announcement.
+
+- The person discovering the issue, the reporter, reports the vulnerability
+  privately to `curl-security@haxx.se`. That's an email alias that reaches a
+  handful of selected and trusted people.
+
+- Messages that do not relate to the reporting or managing of an undisclosed
+  security vulnerability in curl or libcurl are ignored and no further action
+  is required.
+
+- A person in the security team sends an e-mail to the original reporter to
+  acknowledge the report.
+
+- The security team investigates the report and either rejects it or accepts
+  it.
+
+- If the report is rejected, the team writes to the reporter to explain why.
+
+- If the report is accepted, the team writes to the reporter to let him/her
+  know it is accepted and that they are working on a fix.
+
+- The security team discusses the problem, works out a fix, considers the
+  impact of the problem and suggests a release schedule. This discussion
+  should involve the reporter as much as possible.
+
+- The release of the information should be "as soon as possible" and is most
+  often synced with an upcoming release that contains the fix. If the
+  reporter, or anyone else, thinks the next planned release is too far away
+  then a separate earlier release for security reasons should be considered.
+
+- Write a security advisory draft about the problem that explains what the
+  problem is, its impact, which versions it affects, solutions or
+  workarounds, when the release is out and make sure to credit all
+  contributors properly.
+
+- Request a CVE number from
+  [distros@openwall](http://oss-security.openwall.org/wiki/mailing-lists/distros)
+  when also informing and preparing them for the upcoming public security
+  vulnerability announcement - attach the advisory draft for information. Note
+  that 'distros' won't accept an embargo longer than 14 days and they do not
+  care for Windows-specific flaws. For windows-specific flaws, request CVE
+  directly from MITRE.
+
+- Update the "security advisory" with the CVE number.
+
+- The security team commits the fix in a private branch. The commit message
+  should ideally contain the CVE number. This fix is usually also distributed
+  to the 'distros' mailing list to allow them to use the fix prior to the
+  public announcement.
+
+- No more than 48 hours before the release, the private branch is merged into
+  the master branch and pushed. Once pushed, the information is accessible to
+  the public and the actual release should follow suit immediately afterwards.
+  The time between the push and the release is used for final tests and
+  reviews.
+
+- The project team creates a release that includes the fix.
+
+- The project team announces the release and the vulnerability to the world in
+  the same manner we always announce releases. It gets sent to the
+  curl-announce, curl-library and curl-users mailing lists.
+
+- The security web page on the web site should get the new vulnerability
+  mentioned.
+
+Pre-notification
+----------------
+
+If you think you are or should be eligible for a pre-notification about
+upcoming security announcements for curl, we urge OS distros and similar
+vendors to primarily join the distros@openwall list as that is one of the
+purposes of that list - and not just for curl of course.
+
+If you are not a distro or otherwise not suitable for distros@openwall and yet
+want pre-notifications from us, contact the curl security team with a detailed
+and clear explanation why this is the case.
+
+curl-security (at haxx dot se)
+------------------------------
+
+Who is on this list? There are a couple of criteria you must meet, and then we
+might ask you to join the list or you can ask to join it. It really isn't very
+formal. We basically only require that you have a long-term presence in the
+curl project and you have shown an understanding for the project and its way
+of working. You must've been around for a good while and you should have no
+plans in vanishing in the near future.
+
+We do not make the list of participants public mostly because it tends to vary
+somewhat over time and a list somewhere will only risk getting outdated.
diff --git a/docs/THANKS b/docs/THANKS
index 7d5cf07..f51c9f7 100644
--- a/docs/THANKS
+++ b/docs/THANKS
@@ -13,6 +13,7 @@
 Adam D. Moss
 Adam Langley
 Adam Light
+Adam Marcionek
 Adam Piggott
 Adam Sampson
 Adam Tkac
@@ -137,6 +138,7 @@
 Armel Asselin
 Arnaud Compan
 Arnaud Ebalard
+Aron Bergman
 Artak Galoyan
 Arthur Murray
 Arve Knudsen
@@ -216,6 +218,7 @@
 Bru Rom
 Bruce Mitchener
 Bruce Stephens
+Bruno Grasselli
 Bruno Thomsen
 Bruno de Carvalho
 Bryan Henderson
@@ -299,6 +302,7 @@
 Da-Yoon Chung
 Dag Ekengren
 Dagobert Michelsen
+Dair Grant
 Dambaev Alexander
 Damian Dixon
 Damien Adant
@@ -337,6 +341,7 @@
 Daniel Theron
 Daniel at touchtunes
 Daphne Luong
+Dario Weisser
 Darryl House
 Darshan Mody
 Darío Hereñú
@@ -423,6 +428,7 @@
 Douglas Creager
 Douglas E. Wegscheid
 Douglas Kilpatrick
+Douglas Mencken
 Douglas R. Horner
 Douglas Steinwand
 Dov Murik
@@ -431,11 +437,13 @@
 Duncan Mac-Vicar Prett
 Dustin Boswell
 Dusty Mabe
+Duy Phan Thanh
 Dwarakanath Yadavalli
 Dylan Ellicott
 Dylan Salisbury
 Dániel Bakai
 Early Ehlinger
+Earnestly on github
 Ebenezer Ikonne
 Ed Morley
 Edin Kadribasic
@@ -507,6 +515,7 @@
 Florin Petriuc
 Forrest Cahoon
 Francisco Moraes
+Francisco Sedano
 Francois Petitjean
 Frank Denis
 Frank Gevaerts
@@ -608,6 +617,7 @@
 Henrik Gaßmann
 Henrik Storner
 Henry Ludemann
+Henry Roeland
 Herve Amblard
 Hidemoto Nakada
 Ho-chi Chen
@@ -860,6 +870,7 @@
 Kimmo Kinnunen
 Kjell Ericson
 Kjetil Jacobsen
+Klaus Stein
 Klevtsov Vadim
 Konstantin Isakov
 Kris Kennaway
@@ -986,6 +997,7 @@
 Martijn Koster
 Martin C. Martin
 Martin Drasar
+Martin Dreher
 Martin Frodl
 Martin Galvan
 Martin Hager
@@ -1056,6 +1068,7 @@
 Michal Marek
 Michał Fita
 Michał Górny
+Michał Janiszewski
 Michał Kowalczyk
 Michał Piechowski
 Michel Promonet
@@ -1166,6 +1179,7 @@
 Patrick McManus
 Patrick Monnerat
 Patrick Rapin
+Patrick Schlangen
 Patrick Scott
 Patrick Smith
 Patrick Watson
@@ -1354,6 +1368,7 @@
 Rune Kleveland
 Ruslan Gazizov
 Rutger Hofman
+Ruurd Beerstra
 Ryan Braud
 Ryan Chan
 Ryan Nelson
@@ -1399,8 +1414,10 @@
 Sergei Kuzmin
 Sergei Nikulov
 Sergey Tatarincev
+Sergii Kavunenko
 Sergii Pylypenko
 Sergio Ballestrero
+Sergio Borghese
 Serj Kalichev
 Seshubabu Pasam
 Seth Mos
@@ -1421,6 +1438,7 @@
 Simon Josefsson
 Simon Liu
 Simon Warta
+Somnath Kundu
 Song Ma
 Sonia Subramanian
 Spacen Jasset
@@ -1505,6 +1523,7 @@
 Tim Costello
 Tim Harder
 Tim Heckman
+Tim Mcdonough
 Tim Newsome
 Tim Rühsen
 Tim Sneddon
@@ -1575,7 +1594,7 @@
 Victor Snezhko
 Vijay Panghal
 Vikram Saxena
-Viktor Szakáts
+Viktor Szakats
 Ville Skyttä
 Vilmos Nebehaj
 Vincas Razma
@@ -1644,7 +1663,6 @@
 asavah on github
 baumanj on github
 bsammon on github
-canavan on github
 cbartl on github
 cmfrolick on github
 destman on github
@@ -1677,6 +1695,7 @@
 ovidiu-benea on github
 paulharris on github
 silveja1 on github
+steelman on github
 stootill on github
 swalkaus at yahoo.com
 tarek112 on github
@@ -1687,5 +1706,6 @@
 youngchopin on github
 zelinchen on github
 İsmail Dönmez
+Łukasz Domeradzki
 Štefan Kremeň
 Никита Дорохин
diff --git a/docs/TODO b/docs/TODO
index 25f860b..ea78d9f 100644
--- a/docs/TODO
+++ b/docs/TODO
@@ -17,12 +17,13 @@
  All bugs documented in the KNOWN_BUGS document are subject for fixing!
 
  1. libcurl
+ 1.1 Option to refuse usernames in URLs
  1.2 More data sharing
  1.3 struct lifreq
  1.4 signal-based resolver timeouts
  1.5 get rid of PATH_MAX
  1.6 Modified buffer size approach
- 1.7 Detect when called from within callbacks
+ 1.7 Support HTTP/2 for HTTP(S) proxies
  1.8 CURLOPT_RESOLVE for any port number
  1.9 Cache negative name resolves
  1.10 auto-detect proxy
@@ -40,6 +41,8 @@
  1.23 Offer API to flush the connection pool
  1.24 TCP Fast Open for windows
  1.25 Expose tried IP addresses that failed
+ 1.26 CURL_REFUSE_CLEARTEXT
+ 1.27 hardcode the "localhost" addresses
 
  2. libcurl - multi interface
  2.1 More non-blocking
@@ -65,7 +68,6 @@
  5.1 Better persistency for HTTP 1.0
  5.2 support FF3 sqlite cookie files
  5.3 Rearrange request header order
- 5.4 HTTP Digest using SHA-256
  5.5 auth= in URLs
  5.6 Refuse "downgrade" redirects
  5.7 QUIC
@@ -103,13 +105,12 @@
  13. SSL
  13.1 Disable specific versions
  13.2 Provide mutex locking API
- 13.3 Evaluate SSL patches
+ 13.3 Support in-memory certs/ca certs/keys
  13.4 Cache/share OpenSSL contexts
  13.5 Export session ids
  13.6 Provide callback for cert verification
  13.7 improve configure --with-ssl
  13.8 Support DANE
- 13.10 Support SSLKEYLOGFILE
  13.11 Support intermediate & root pinning for PINNEDPUBLICKEY
  13.12 Support HSTS
  13.13 Support HPKP
@@ -139,7 +140,9 @@
  18.2 glob posts
  18.3 prevent file overwriting
  18.4 simultaneous parallel transfers
+ 18.5 UTF-8 filenames in Content-Disposition
  18.6 warning when setting an option
+ 18.7 warning if curl version is not in sync with libcurl version
  18.8 offer color-coded HTTP header output
  18.9 Choose the name of file in braces for complex URLs
  18.10 improve how curl works in a windows console window
@@ -150,6 +153,7 @@
  18.15 --retry should resume
  18.16 send only part of --data
  18.17 consider file name from the redirected URL with -O ?
+ 18.18 retry on network is unreachable
 
  19. Build
  19.1 roffit
@@ -182,6 +186,16 @@
 
 1. libcurl
 
+1.1 Option to refuse usernames in URLs
+
+ There's a certain risk for application in allowing user names in URLs. For
+ example: if the wrong person gets to set the URL and manages to set a user
+ name in there when .netrc is used, the application may send along a password
+ that otherwise the person couldn't provide.
+
+ A new libcurl option could be added to allow applications to switch off this
+ feature and thus avoid a potential risk.
+
 1.2 More data sharing
 
  curl_share_* functions already exist and work, and they can be extended to
@@ -236,11 +250,9 @@
  Dynamically allocate buffer size depending on protocol in use in combination
  with freeing it after each individual transfer? Other suggestions?
 
-1.7 Detect when called from within callbacks
+1.7 Support HTTP/2 for HTTP(S) proxies
 
- We should set a state variable before calling callbacks, so that we
- subsequently can add code within libcurl that returns error if called within
- callbacks for when that's not supported.
+ Support for doing HTTP/2 to HTTP and HTTPS proxies is still missing.
 
 1.8 CURLOPT_RESOLVE for any port number
 
@@ -393,6 +405,32 @@
 
  https://github.com/curl/curl/issues/2126
 
+1.26 CURL_REFUSE_CLEARTEXT
+
+ An environment variable that when set will make libcurl refuse to use any
+ cleartext network protocol. That's all non-encrypted ones (FTP, HTTP, Gopher,
+ etc). By adding the check to libcurl and not just curl, this environment
+ variable can then help users to block all libcurl-using programs from
+ accessing the network using unsafe protocols.
+
+ The variable could be given some sort of syntax or different levels and be
+ used to also allow for example users to refuse libcurl to do transfers with
+ HTTPS certificate checks disabled.
+
+ It could also offer to refuse usernames in URLs (see TODO 1.1)
+
+1.27 hardcode the "localhost" addresses
+
+ There's this new spec getting adopted that says "localhost" should always and
+ unconditionally be a local address and not get resolved by a DNS server. A
+ fine way for curl to fix this would be to simply hard-code the response to
+ 127.0.0.1 and/or ::1 (depending on what IP versions that are requested). This
+ is what the browsers probably will do with this hostname.
+
+ https://bugzilla.mozilla.org/show_bug.cgi?id=1220810
+
+ https://tools.ietf.org/html/draft-ietf-dnsop-let-localhost-be-localhost-02
+
 2. libcurl - multi interface
 
 2.1 More non-blocking
@@ -521,15 +559,6 @@
  headers use a default value so only headers that need to be moved have to be
  specified.
 
-5.4 HTTP Digest using SHA-256
-
- RFC 7616 introduces an update to the HTTP Digest authentication
- specification, which amongst other thing defines how new digest algorithms
- can be used instead of MD5 which is considered old and not recommended.
-
- See https://tools.ietf.org/html/rfc7616 and
- https://github.com/curl/curl/issues/1018
-
 5.5 auth= in URLs
 
  Add the ability to specify the preferred authentication mechanism to use by
@@ -676,10 +705,13 @@
  library, so that the same application code can use mutex-locking
  independently of OpenSSL or GnutTLS being used.
 
-13.3 Evaluate SSL patches
+13.3 Support in-memory certs/ca certs/keys
 
- Evaluate/apply Gertjan van Wingerde's SSL patches:
- https://curl.haxx.se/mail/lib-2004-03/0087.html
+ You can specify the private and public keys for SSH/SSL as file paths. Some
+ programs want to avoid using files and instead just pass them as in-memory
+ data blobs. There's probably a challenge to make this work across the
+ plethory of different TLS and SSH backends that curl suppports.
+ https://github.com/curl/curl/issues/2310
 
 13.4 Cache/share OpenSSL contexts
 
@@ -731,16 +763,6 @@
  Björn Stenberg wrote a separate initial take on DANE that was never
  completed.
 
-13.10 Support SSLKEYLOGFILE
-
- When used, Firefox and Chrome dumps their master TLS keys to the file name
- this environment variable specifies. This allows tools like for example
- Wireshark to capture and decipher TLS traffic to/from those clients. libcurl
- could be made to support this more widely (presumably this already works when
- built with NSS). Peter Wu made a OpenSSL preload to make possible that can be
- used as inspiration and guidance
- https://git.lekensteyn.nl/peter/wireshark-notes/tree/src/sslkeylog.c
-
 13.11 Support intermediate & root pinning for PINNEDPUBLICKEY
 
  CURLOPT_PINNEDPUBLICKEY does not consider the hashes of intermediate & root
@@ -908,12 +930,26 @@
  Using the multi interface would also allow properly using parallel transfers
  with HTTP/2 and supporting HTTP/2 server push from the command line.
 
+18.5 UTF-8 filenames in Content-Disposition
+
+ RFC 6266 documents how UTF-8 names can be passed to a client in the
+ Content-Disposition header, and curl does not support this.
+
+ https://github.com/curl/curl/issues/1888
+
 18.6 warning when setting an option
 
  Display a warning when libcurl returns an error when setting an option.
  This can be useful to tell when support for a particular feature hasn't been
  compiled into the library.
 
+18.7 warning if curl version is not in sync with libcurl version
+
+ This is usually a sign of a funny, weird or unexpected install situations
+ that aren't always quickly nor easily detected by users. curl and libcurl are
+ always released in sync and should use the same version numbers unless very
+ special situations.
+
 18.8 offer color-coded HTTP header output
 
  By offering different color output on the header name and the header
@@ -1015,6 +1051,18 @@
 
  See https://github.com/curl/curl/issues/1241
 
+18.18 retry on network is unreachable
+
+ The --retry option retries transfers on "transient failures". We later added
+ --retry-connrefused to also retry for "connection refused" errors.
+
+ Suggestions have been brought to also allow retry on "network is unreachable"
+ errors and while totally reasonable, maybe we should consider a way to make
+ this more configurable than to add a new option for every new error people
+ want to retry for?
+
+ https://github.com/curl/curl/issues/1603
+
 19. Build
 
 19.1 roffit
diff --git a/docs/cmdline-opts/Makefile.inc b/docs/cmdline-opts/Makefile.inc
index e8f4641..778149c 100644
--- a/docs/cmdline-opts/Makefile.inc
+++ b/docs/cmdline-opts/Makefile.inc
@@ -12,7 +12,9 @@
   form.d form-string.d ftp-account.d ftp-alternative-to-user.d          \
   ftp-create-dirs.d ftp-method.d ftp-pasv.d ftp-port.d ftp-pret.d       \
   ftp-skip-pasv-ip.d ftp-ssl-ccc.d ftp-ssl-ccc-mode.d ftp-ssl-control.d \
-  get.d globoff.d head.d header.d help.d hostpubmd5.d http1.0.d         \
+  get.d globoff.d                                                       \
+  happy-eyeballs-timeout-ms.d                                           \
+  head.d header.d help.d hostpubmd5.d http1.0.d                         \
   http1.1.d http2.d http2-prior-knowledge.d ignore-content-length.d     \
   include.d insecure.d interface.d ipv4.d ipv6.d junk-session-cookies.d \
   keepalive-time.d key.d key-type.d krb.d libcurl.d limit-rate.d        \
@@ -34,7 +36,7 @@
   remote-name-all.d remote-name.d remote-time.d request.d resolve.d     \
   retry-connrefused.d retry.d retry-delay.d retry-max-time.d sasl-ir.d  \
   service-name.d show-error.d silent.d socks4a.d socks4.d socks5.d      \
-  socks5-basic.d socks5-gssapi.d                                        \
+  socks5-basic.d socks5-gssapi.d proxy-pinnedpubkey.d                   \
   socks5-gssapi-nec.d socks5-gssapi-service.d socks5-hostname.d         \
   speed-limit.d speed-time.d ssl-allow-beast.d ssl.d ssl-no-revoke.d    \
   ssl-reqd.d sslv2.d sslv3.d stderr.d suppress-connect-headers.d        \
diff --git a/docs/cmdline-opts/form.d b/docs/cmdline-opts/form.d
index d95d0cc..8d04d41 100644
--- a/docs/cmdline-opts/form.d
+++ b/docs/cmdline-opts/form.d
@@ -12,25 +12,35 @@
 For SMTP and IMAP protocols, this is the mean to compose a multipart mail
 message to transmit.
 
-This enables uploading of binary
-files etc. To force the 'content' part to be a file, prefix the file name with
-an @ sign. To just get the content part from a file, prefix the file name with
-the symbol <. The difference between @ and < is then that @ makes a file get
-attached in the post as a file upload, while the < makes a text field and just
-get the contents for that text field from a file.
+This enables uploading of binary files etc. To force the 'content' part to be
+a file, prefix the file name with an @ sign. To just get the content part from
+a file, prefix the file name with the symbol <. The difference between @ and <
+is then that @ makes a file get attached in the post as a file upload, while
+the < makes a text field and just get the contents for that text field from a
+file.
 
-Example: to send an image to an HTTP server, where \&'profile' is the name of
-the form-field to which portrait.jpg will be the input:
+Tell curl to read content from stdin instead of a file by using - as
+filename. This goes for both @ and < constructs. When stdin is used, the
+contents is buffered in memory first by curl to determine its size and allow a
+possible resend.  Defining a part's data from a named non-regular file (such
+as a named pipe or similar) is unfortunately not subject to buffering and will
+be effectively read at transmission time; since the full size is unknown
+before the transfer starts, such data is sent as chunks by HTTP and rejected
+by IMAP.
+
+Example: send an image to an HTTP server, where \&'profile' is the name of the
+form-field to which the file portrait.jpg will be the input:
 
  curl -F profile=@portrait.jpg https://example.com/upload.cgi
 
-To read content from stdin instead of a file, use - as the filename. This goes
-for both @ and < constructs. If stdin is not attached to a regular file, it is
-buffered first to determine its size and allow a possible resend. Defining a
-part's data from a named non-regular file (such as a named pipe or similar) is
-unfortunately not subject to buffering and will be effectively read at
-transmission time; since the full size is unknown before the transfer starts,
-data is sent as chunks by HTTP and rejected by IMAP.
+Example: send a your name and shoe size in two text fields to the server:
+
+ curl -F name=John -F shoesize=11 https://example.com/
+
+Example: send a your essay in a text field to the server. Send it as a plain
+text field, but get the contents for it from a local file:
+
+ curl -F "story=<hugefile.txt" https://example.com/
 
 You can also tell curl what Content-Type to use by using 'type=', in a manner
 similar to:
diff --git a/docs/cmdline-opts/happy-eyeballs-timeout-ms.d b/docs/cmdline-opts/happy-eyeballs-timeout-ms.d
new file mode 100644
index 0000000..ec9a8c2
--- /dev/null
+++ b/docs/cmdline-opts/happy-eyeballs-timeout-ms.d
@@ -0,0 +1,17 @@
+Long: happy-eyeballs-timeout-ms
+Arg: <milliseconds>
+Help: How long to wait in milliseconds for IPv6 before trying IPv4
+Added: 7.59.0
+---
+Happy eyeballs is an algorithm that attempts to connect to both IPv4 and IPv6
+addresses for dual-stack hosts, preferring IPv6 first for the number of
+milliseconds. If the IPv6 address cannot be connected to within that time then
+a connection attempt is made to the IPv4 address in parallel. The first
+connection to be established is the one that is used.
+
+The range of suggested useful values is limited. Happy Eyeballs RFC 6555 says
+"It is RECOMMENDED that connection attempts be paced 150-250 ms apart to
+balance human factors against network load." libcurl currently defaults to
+200 ms. Firefox and Chrome currently default to 300 ms.
+
+If this option is used several times, the last one will be used.
diff --git a/docs/cmdline-opts/page-footer b/docs/cmdline-opts/page-footer
index 6006f46..1ca47ae 100644
--- a/docs/cmdline-opts/page-footer
+++ b/docs/cmdline-opts/page-footer
@@ -24,14 +24,17 @@
 list of host names that shouldn't go through any proxy. If set to a asterisk
 \&'*' only, it matches all hosts.
 
-Since 7.53.0, this environment variable disable the proxy even if specify
---proxy option. That is
+This environment variable disables use of the proxy even when specified with
+the --proxy option. That is
 .B NO_PROXY=direct.example.com curl -x http://proxy.example.com
 .B http://direct.example.com
 accesses the target URL directly, and
 .B NO_PROXY=direct.example.com curl -x http://proxy.example.com
 .B http://somewhere.example.com
-accesses the target URL through proxy.
+accesses the target URL through the proxy.
+
+The list of host names can also be include numerical IP addresses, and IPv6
+versions should then be given without enclosing brackets.
 
 .SH "PROXY PROTOCOL PREFIXES"
 Since curl version 7.21.7, the proxy string may be specified with a
diff --git a/docs/cmdline-opts/progress-bar.d b/docs/cmdline-opts/progress-bar.d
index 11e95b4..f27de2d 100644
--- a/docs/cmdline-opts/progress-bar.d
+++ b/docs/cmdline-opts/progress-bar.d
@@ -7,5 +7,6 @@
 
 This progress bar draws a single line of '#' characters across the screen and
 shows a percentage if the transfer size is known. For transfers without a
-known size, it will instead output one '#' character for every 1024 bytes
-transferred.
+known size, there will be space ship (-=o=-) that moves back and forth but
+only while data is being transferred, with a set of flying hash sign symbols on
+top.
diff --git a/docs/cmdline-opts/proxy-pinnedpubkey.d b/docs/cmdline-opts/proxy-pinnedpubkey.d
new file mode 100644
index 0000000..abd6dc4
--- /dev/null
+++ b/docs/cmdline-opts/proxy-pinnedpubkey.d
@@ -0,0 +1,16 @@
+Long: proxy-pinnedpubkey
+Arg: <hashes>
+Help: FILE/HASHES public key to verify proxy with
+Protocols: TLS
+---
+Tells curl to use the specified public key file (or hashes) to verify the
+proxy. This can be a path to a file which contains a single public key in PEM
+or DER format, or any number of base64 encoded sha256 hashes preceded by
+\'sha256//\' and separated by \';\'
+
+When negotiating a TLS or SSL connection, the server sends a certificate
+indicating its identity. A public key is extracted from this certificate and
+if it does not exactly match the public key provided to this option, curl will
+abort the connection before sending or receiving any data.
+
+If this option is used several times, the last one will be used.
diff --git a/docs/cmdline-opts/resolve.d b/docs/cmdline-opts/resolve.d
index 91539b8..9e1457b 100644
--- a/docs/cmdline-opts/resolve.d
+++ b/docs/cmdline-opts/resolve.d
@@ -1,5 +1,5 @@
 Long: resolve
-Arg: <host:port:address>
+Arg: <host:port:address[,address]...>
 Help: Resolve the host+port to this address
 Added: 7.21.3
 ---
@@ -16,4 +16,6 @@
 
 Support for providing the IP address within [brackets] was added in 7.57.0.
 
+Support for providing multiple IP addresses per entry was added in 7.59.0.
+
 This option can be used many times to add many host names to resolve.
diff --git a/docs/cmdline-opts/tlsauthtype.d b/docs/cmdline-opts/tlsauthtype.d
index 1b1481f..ede21c2 100644
--- a/docs/cmdline-opts/tlsauthtype.d
+++ b/docs/cmdline-opts/tlsauthtype.d
@@ -5,4 +5,6 @@
 ---
 Set TLS authentication type. Currently, the only supported option is "SRP",
 for TLS-SRP (RFC 5054). If --tlsuser and --tlspassword are specified but
---tlsauthtype is not, then this option defaults to "SRP".
+--tlsauthtype is not, then this option defaults to "SRP".  This option works
+only if the underlying libcurl is built with TLS-SRP support, which requires
+OpenSSL or GnuTLS with TLS-SRP support.
diff --git a/docs/curl-config.1 b/docs/curl-config.1
index a9ac515..becb1ca 100644
--- a/docs/curl-config.1
+++ b/docs/curl-config.1
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH curl-config 1 "November 30, 2017" "Curl 7.58.0" "curl-config manual"
+.TH curl-config 1 "November 30, 2017" "Curl 7.59.0" "curl-config manual"
 
 .SH NAME
 curl-config \- Get information about a libcurl installation
diff --git a/docs/curl.1 b/docs/curl.1
index f03ad9d..f2ce142 100644
--- a/docs/curl.1
+++ b/docs/curl.1
@@ -22,7 +22,7 @@
 .\"
 .\" DO NOT EDIT. Generated by the curl project gen.pl man page generator.
 .\"
-.TH curl 1 "November 16, 2016" "Curl 7.58.0" "Curl Manual"
+.TH curl 1 "November 16, 2016" "Curl 7.59.0" "Curl Manual"
 
 .SH NAME
 curl \- transfer a URL
@@ -669,25 +669,35 @@
 For SMTP and IMAP protocols, this is the mean to compose a multipart mail
 message to transmit.
 
-This enables uploading of binary
-files etc. To force the 'content' part to be a file, prefix the file name with
-an @ sign. To just get the content part from a file, prefix the file name with
-the symbol <. The difference between @ and < is then that @ makes a file get
-attached in the post as a file upload, while the < makes a text field and just
-get the contents for that text field from a file.
+This enables uploading of binary files etc. To force the 'content' part to be
+a file, prefix the file name with an @ sign. To just get the content part from
+a file, prefix the file name with the symbol <. The difference between @ and <
+is then that @ makes a file get attached in the post as a file upload, while
+the < makes a text field and just get the contents for that text field from a
+file.
 
-Example: to send an image to an HTTP server, where \&'profile' is the name of
-the form-field to which portrait.jpg will be the input:
+Tell curl to read content from stdin instead of a file by using - as
+filename. This goes for both @ and < constructs. When stdin is used, the
+contents is buffered in memory first by curl to determine its size and allow a
+possible resend.  Defining a part's data from a named non-regular file (such
+as a named pipe or similar) is unfortunately not subject to buffering and will
+be effectively read at transmission time; since the full size is unknown
+before the transfer starts, such data is sent as chunks by HTTP and rejected
+by IMAP.
+
+Example: send an image to an HTTP server, where \&'profile' is the name of the
+form-field to which the file portrait.jpg will be the input:
 
  curl -F profile=@portrait.jpg https://example.com/upload.cgi
 
-To read content from stdin instead of a file, use - as the filename. This goes
-for both @ and < constructs. If stdin is not attached to a regular file, it is
-buffered first to determine its size and allow a possible resend. Defining a
-part's data from a named non-regular file (such as a named pipe or similar) is
-unfortunately not subject to buffering and will be effectively read at
-transmission time; since the full size is unknown before the transfer starts,
-data is sent as chunks by HTTP and rejected by IMAP.
+Example: send a your name and shoe size in two text fields to the server:
+
+ curl -F name=John -F shoesize=11 https://example.com/
+
+Example: send a your essay in a text field to the server. Send it as a plain
+text field, but get the contents for it from a local file:
+
+ curl -F "story=<hugefile.txt" https://example.com/
 
 You can also tell curl what Content-Type to use by using 'type=', in a manner
 similar to:
@@ -916,6 +926,21 @@
 you can specify URLs that contain the letters {}[] without having them being
 interpreted by curl itself. Note that these letters are not normal legal URL
 contents but they should be encoded according to the URI standard.
+.IP "--happy-eyeballs-timeout-ms <milliseconds>"
+Happy eyeballs is an algorithm that attempts to connect to both IPv4 and IPv6
+addresses for dual-stack hosts, preferring IPv6 first for the number of
+milliseconds. If the IPv6 address cannot be connected to within that time then
+a connection attempt is made to the IPv4 address in parallel. The first
+connection to be established is the one that is used.
+
+The range of suggested useful values is limited. Happy Eyeballs RFC 6555 says
+"It is RECOMMENDED that connection attempts be paced 150-250 ms apart to
+balance human factors against network load." libcurl currently defaults to
+200 ms. Firefox and Chrome currently default to 300 ms.
+
+If this option is used several times, the last one will be used.
+
+Added in 7.59.0.
 .IP "-I, --head"
 (HTTP FTP FILE) Fetch the headers only! HTTP-servers feature the command HEAD which this uses
 to get nothing but the header of a document. When used on an FTP or FILE file,
@@ -1492,8 +1517,9 @@
 
 This progress bar draws a single line of '#' characters across the screen and
 shows a percentage if the transfer size is known. For transfers without a
-known size, it will instead output one '#' character for every 1024 bytes
-transferred.
+known size, there will be space ship (-=o=-) that moves back and forth but
+only while data is being transferred, with a set of flying hash sign symbols on
+top.
 .IP "--proto-default <protocol>"
 Tells curl to use \fIprotocol\fP for any URL missing a scheme name.
 
@@ -1651,6 +1677,18 @@
 Same as \fI--pass\fP but used in HTTPS proxy context.
 
 Added in 7.52.0.
+.IP "--proxy-pinnedpubkey <hashes>"
+(TLS) Tells curl to use the specified public key file (or hashes) to verify the
+proxy. This can be a path to a file which contains a single public key in PEM
+or DER format, or any number of base64 encoded sha256 hashes preceded by
+\'sha256//\' and separated by \';\'
+
+When negotiating a TLS or SSL connection, the server sends a certificate
+indicating its identity. A public key is extracted from this certificate and
+if it does not exactly match the public key provided to this option, curl will
+abort the connection before sending or receiving any data.
+
+If this option is used several times, the last one will be used.
 .IP "--proxy-service-name <name>"
 This option allows you to change the service name for proxy negotiation.
 
@@ -1944,7 +1982,7 @@
 Specifies a custom SMTP command to use instead of HELP or VRFY. (Added in 7.34.0)
 
 If this option is used several times, the last one will be used.
-.IP "--resolve <host:port:address>"
+.IP "--resolve <host:port:address[,address]...>"
 Provide a custom address for a specific host and port pair. Using this, you
 can make the curl requests(s) use a specified address and prevent the
 otherwise normally resolved address to be used. Consider it a sort of
@@ -1958,6 +1996,8 @@
 
 Support for providing the IP address within [brackets] was added in 7.57.0.
 
+Support for providing multiple IP addresses per entry was added in 7.59.0.
+
 This option can be used many times to add many host names to resolve.
 
 Added in 7.21.3.
@@ -2263,7 +2303,9 @@
 .IP "--tlsauthtype <type>"
 Set TLS authentication type. Currently, the only supported option is "SRP",
 for TLS-SRP (RFC 5054). If \fI--tlsuser\fP and \fI--tlspassword\fP are specified but
-\fI--tlsauthtype\fP is not, then this option defaults to "SRP".
+\fI--tlsauthtype\fP is not, then this option defaults to "SRP".  This option works
+only if the underlying libcurl is built with TLS-SRP support, which requires
+OpenSSL or GnuTLS with TLS-SRP support.
 
 Added in 7.21.4.
 .IP "--tlspassword"
@@ -2657,14 +2699,17 @@
 list of host names that shouldn't go through any proxy. If set to a asterisk
 \&'*' only, it matches all hosts.
 
-Since 7.53.0, this environment variable disable the proxy even if specify
-\fI-x, --proxy\fP option. That is
+This environment variable disables use of the proxy even when specified with
+the \fI-x, --proxy\fP option. That is
 .B NO_PROXY=direct.example.com curl -x http://proxy.example.com
 .B http://direct.example.com
 accesses the target URL directly, and
 .B NO_PROXY=direct.example.com curl -x http://proxy.example.com
 .B http://somewhere.example.com
-accesses the target URL through proxy.
+accesses the target URL through the proxy.
+
+The list of host names can also be include numerical IP addresses, and IPv6
+versions should then be given without enclosing brackets.
 
 .SH "PROXY PROTOCOL PREFIXES"
 Since curl version 7.21.7, the proxy string may be specified with a
diff --git a/docs/examples/Makefile.am b/docs/examples/Makefile.am
index afd35c2..e5ed222 100644
--- a/docs/examples/Makefile.am
+++ b/docs/examples/Makefile.am
@@ -5,7 +5,7 @@
 #                            | (__| |_| |  _ <| |___
 #                             \___|\___/|_| \_\_____|
 #
-# Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+# Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
 #
 # This software is licensed as described in the file COPYING, which
 # you should have received as part of this distribution. The terms
@@ -53,6 +53,9 @@
 LDADD = $(LIBDIR)/libcurl.la
 endif
 
+# This might hold -Werror
+CFLAGS += @CURL_CFLAG_EXTRAS@
+
 # Makefile.inc provides the check_PROGRAMS and COMPLICATED_EXAMPLES defines
 include Makefile.inc
 
diff --git a/docs/examples/Makefile.inc b/docs/examples/Makefile.inc
index 9e4e1ff..e8aa9fa 100644
--- a/docs/examples/Makefile.inc
+++ b/docs/examples/Makefile.inc
@@ -5,7 +5,7 @@
 #                            | (__| |_| |  _ <| |___
 #                             \___|\___/|_| \_\_____|
 #
-# Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+# Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
 #
 # This software is licensed as described in the file COPYING, which
 # you should have received as part of this distribution. The terms
@@ -34,7 +34,7 @@
   imap-tls imap-multi url2file sftpget ftpsget postinmemory http2-download \
   http2-upload http2-serverpush getredirect ftpuploadfrommem               \
   ftpuploadresume sslbackend postit2-formadd multi-formadd                 \
-  shared-connection-cache
+  shared-connection-cache sftpuploadresume
 
 # These examples require external dependencies that may not be commonly
 # available on POSIX systems, so don't bother attempting to compile them here.
diff --git a/docs/examples/ftpupload.c b/docs/examples/ftpupload.c
index 5fc41ef..bd77bb1 100644
--- a/docs/examples/ftpupload.c
+++ b/docs/examples/ftpupload.c
@@ -77,7 +77,7 @@
 
   /* get the file size of the local file */
   if(stat(LOCAL_FILE, &file_info)) {
-    printf("Couldnt open '%s': %s\n", LOCAL_FILE, strerror(errno));
+    printf("Couldn't open '%s': %s\n", LOCAL_FILE, strerror(errno));
     return 1;
   }
   fsize = (curl_off_t)file_info.st_size;
diff --git a/docs/examples/sftpuploadresume.c b/docs/examples/sftpuploadresume.c
new file mode 100644
index 0000000..032bcaf
--- /dev/null
+++ b/docs/examples/sftpuploadresume.c
@@ -0,0 +1,130 @@
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+ *
+ * This software is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at https://curl.haxx.se/docs/copyright.html.
+ *
+ * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+ * copies of the Software, and permit persons to whom the Software is
+ * furnished to do so, under the terms of the COPYING file.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ***************************************************************************/
+/* <DESC>
+ * Upload to SFTP, resuming a previously aborted transfer.
+ * </DESC>
+ */
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <curl/curl.h>
+
+/* read data to upload */
+static size_t readfunc(void *ptr, size_t size, size_t nmemb, void *stream)
+{
+  FILE *f = (FILE *)stream;
+  size_t n;
+
+  if(ferror(f))
+    return CURL_READFUNC_ABORT;
+
+  n = fread(ptr, size, nmemb, f) * size;
+
+  return n;
+}
+
+/*
+ * sftpGetRemoteFileSize returns the remote file size in byte; -1 on error
+ */
+static curl_off_t sftpGetRemoteFileSize(const char *i_remoteFile)
+{
+  CURLcode result = CURLE_GOT_NOTHING;
+  curl_off_t remoteFileSizeByte = -1;
+  CURL *curlHandlePtr = NULL;
+
+  curlHandlePtr = curl_easy_init();
+  curl_easy_setopt(curlHandlePtr, CURLOPT_VERBOSE, 1L);
+
+  curl_easy_setopt(curlHandlePtr, CURLOPT_URL, i_remoteFile);
+  curl_easy_setopt(curlHandlePtr, CURLOPT_NOPROGRESS, 1);
+  curl_easy_setopt(curlHandlePtr, CURLOPT_NOBODY, 1);
+  curl_easy_setopt(curlHandlePtr, CURLOPT_HEADER, 1);
+  curl_easy_setopt(curlHandlePtr, CURLOPT_FILETIME, 1);
+
+  result = curl_easy_perform(curlHandlePtr);
+  if(CURLE_OK == result) {
+    result = curl_easy_getinfo(curlHandlePtr,
+                               CURLINFO_CONTENT_LENGTH_DOWNLOAD_T,
+                               &remoteFileSizeByte);
+    printf("filesize: %ld \n", remoteFileSizeByte);
+  }
+  curl_easy_cleanup(curlHandlePtr);
+
+  return remoteFileSizeByte;
+}
+
+
+static int sftpResumeUpload(CURL *curlhandle, const char *remotepath,
+                            const char *localpath)
+{
+  FILE *f = NULL;
+  CURLcode result = CURLE_GOT_NOTHING;
+
+  curl_off_t remoteFileSizeByte = sftpGetRemoteFileSize(remotepath);
+  if(-1 == remoteFileSizeByte) {
+    printf("Error reading the remote file size: unable to resume upload\n");
+    return -1;
+  }
+
+  f = fopen(localpath, "rb");
+  if(!f) {
+    perror(NULL);
+    return 0;
+  }
+
+  curl_easy_setopt(curlhandle, CURLOPT_UPLOAD, 1L);
+  curl_easy_setopt(curlhandle, CURLOPT_URL, remotepath);
+  curl_easy_setopt(curlhandle, CURLOPT_READFUNCTION, readfunc);
+  curl_easy_setopt(curlhandle, CURLOPT_READDATA, f);
+
+  fseek(f, remoteFileSizeByte, SEEK_SET);
+  curl_easy_setopt(curlhandle, CURLOPT_APPEND, 1L);
+  result = curl_easy_perform(curlhandle);
+
+  fclose(f);
+
+  if(result == CURLE_OK)
+    return 1;
+  else {
+    fprintf(stderr, "%s\n", curl_easy_strerror(result));
+    return 0;
+  }
+}
+
+int main(void)
+{
+  const char *remote = "sftp://user:pass@example.com/path/filename";
+  const char *filename = "filename";
+  CURL *curlhandle = NULL;
+
+  curl_global_init(CURL_GLOBAL_ALL);
+  curlhandle = curl_easy_init();
+
+  if(!sftpResumeUpload(curlhandle, remote, filename)) {
+    printf("resumed upload using curl %s failed\n", curl_version());
+  }
+
+  curl_easy_cleanup(curlhandle);
+  curl_global_cleanup();
+
+  return 0;
+}
diff --git a/docs/libcurl/Makefile.inc b/docs/libcurl/Makefile.inc
index 3ac5036..eea48c4 100644
--- a/docs/libcurl/Makefile.inc
+++ b/docs/libcurl/Makefile.inc
@@ -21,4 +21,5 @@
   curl_mime_init.3 curl_mime_free.3 curl_mime_addpart.3 curl_mime_name.3 \
   curl_mime_data.3 curl_mime_data_cb.3 curl_mime_filedata.3              \
   curl_mime_filename.3 curl_mime_subparts.3                              \
-  curl_mime_type.3 curl_mime_headers.3 curl_mime_encoder.3 libcurl-env.3
+  curl_mime_type.3 curl_mime_headers.3 curl_mime_encoder.3 libcurl-env.3 \
+  libcurl-security.3
diff --git a/docs/libcurl/curl_easy_cleanup.3 b/docs/libcurl/curl_easy_cleanup.3
index 09d9f67..eaffb08 100644
--- a/docs/libcurl/curl_easy_cleanup.3
+++ b/docs/libcurl/curl_easy_cleanup.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH curl_easy_cleanup 3 "February 03, 2016" "libcurl 7.58.0" "libcurl Manual"
+.TH curl_easy_cleanup 3 "February 03, 2016" "libcurl 7.59.0" "libcurl Manual"
 
 .SH NAME
 curl_easy_cleanup - End a libcurl easy handle
diff --git a/docs/libcurl/curl_easy_duphandle.3 b/docs/libcurl/curl_easy_duphandle.3
index 0479179..1832db8 100644
--- a/docs/libcurl/curl_easy_duphandle.3
+++ b/docs/libcurl/curl_easy_duphandle.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_easy_duphandle 3 "February 03, 2016" "libcurl 7.58.0" "libcurl Manual"
+.TH curl_easy_duphandle 3 "February 03, 2016" "libcurl 7.59.0" "libcurl Manual"
 
 .SH NAME
 curl_easy_duphandle - Clone a libcurl session handle
diff --git a/docs/libcurl/curl_easy_escape.3 b/docs/libcurl/curl_easy_escape.3
index 7d853ee..bd995a8 100644
--- a/docs/libcurl/curl_easy_escape.3
+++ b/docs/libcurl/curl_easy_escape.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH curl_easy_escape 3 "August 12, 2017" "libcurl 7.58.0" "libcurl Manual"
+.TH curl_easy_escape 3 "August 12, 2017" "libcurl 7.59.0" "libcurl Manual"
 
 .SH NAME
 curl_easy_escape - URL encodes the given string
diff --git a/docs/libcurl/curl_easy_getinfo.3 b/docs/libcurl/curl_easy_getinfo.3
index 62ebe46..049233a 100644
--- a/docs/libcurl/curl_easy_getinfo.3
+++ b/docs/libcurl/curl_easy_getinfo.3
@@ -5,7 +5,7 @@
 .\" *                            | (__| |_| |  _ <| |___
 .\" *                             \___|\___/|_| \_\_____|
 .\" *
-.\" * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH curl_easy_getinfo 3 "June 15, 2017" "libcurl 7.58.0" "libcurl Manual"
+.TH curl_easy_getinfo 3 "January 25, 2018" "libcurl 7.59.0" "libcurl Manual"
 
 .SH NAME
 curl_easy_getinfo - extract information from a curl handle
@@ -55,8 +55,9 @@
 The http version used in the connection.
 See \fICURLINFO_HTTP_VERSION(3)\fP
 .IP CURLINFO_FILETIME
-Remote time of the retrieved document.
-See \fICURLINFO_FILETIME(3)\fP
+Remote time of the retrieved document. See \fICURLINFO_FILETIME(3)\fP
+.IP CURLINFO_FILETIME_T
+Remote time of the retrieved document. See \fICURLINFO_FILETIME_T(3)\fP
 .IP CURLINFO_TOTAL_TIME
 Total time of previous transfer.
 See \fICURLINFO_TOTAL_TIME(3)\fP
diff --git a/docs/libcurl/curl_easy_init.3 b/docs/libcurl/curl_easy_init.3
index eb2716b..c37cc53 100644
--- a/docs/libcurl/curl_easy_init.3
+++ b/docs/libcurl/curl_easy_init.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_easy_init 3 "February 03, 2016" "libcurl 7.58.0" "libcurl Manual"
+.TH curl_easy_init 3 "February 03, 2016" "libcurl 7.59.0" "libcurl Manual"
 
 .SH NAME
 curl_easy_init - Start a libcurl easy session
diff --git a/docs/libcurl/curl_easy_pause.3 b/docs/libcurl/curl_easy_pause.3
index 64bf5fe..867cbba 100644
--- a/docs/libcurl/curl_easy_pause.3
+++ b/docs/libcurl/curl_easy_pause.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_easy_pause 3 "May 01, 2016" "libcurl 7.58.0" "libcurl Manual"
+.TH curl_easy_pause 3 "May 01, 2016" "libcurl 7.59.0" "libcurl Manual"
 
 .SH NAME
 curl_easy_pause - pause and unpause a connection
diff --git a/docs/libcurl/curl_easy_perform.3 b/docs/libcurl/curl_easy_perform.3
index 12f718a..9a46f53 100644
--- a/docs/libcurl/curl_easy_perform.3
+++ b/docs/libcurl/curl_easy_perform.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_easy_perform 3 "May 02, 2016" "libcurl 7.58.0" "libcurl Manual"
+.TH curl_easy_perform 3 "May 02, 2016" "libcurl 7.59.0" "libcurl Manual"
 
 .SH NAME
 curl_easy_perform - perform a blocking file transfer
diff --git a/docs/libcurl/curl_easy_recv.3 b/docs/libcurl/curl_easy_recv.3
index 1cb5325..8a002ea 100644
--- a/docs/libcurl/curl_easy_recv.3
+++ b/docs/libcurl/curl_easy_recv.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH curl_easy_recv 3 "December 18, 2016" "libcurl 7.58.0" "libcurl Manual"
+.TH curl_easy_recv 3 "December 18, 2016" "libcurl 7.59.0" "libcurl Manual"
 
 .SH NAME
 curl_easy_recv - receives raw data on an "easy" connection
diff --git a/docs/libcurl/curl_easy_reset.3 b/docs/libcurl/curl_easy_reset.3
index 7fb41d8..41c96d1 100644
--- a/docs/libcurl/curl_easy_reset.3
+++ b/docs/libcurl/curl_easy_reset.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_easy_reset 3 "February 03, 2016" "libcurl 7.58.0" "libcurl Manual"
+.TH curl_easy_reset 3 "February 03, 2016" "libcurl 7.59.0" "libcurl Manual"
 
 .SH NAME
 curl_easy_reset - reset all options of a libcurl session handle
diff --git a/docs/libcurl/curl_easy_send.3 b/docs/libcurl/curl_easy_send.3
index 5809723..7e16c9c 100644
--- a/docs/libcurl/curl_easy_send.3
+++ b/docs/libcurl/curl_easy_send.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH curl_easy_send 3 "December 18, 2016" "libcurl 7.58.0" "libcurl Manual"
+.TH curl_easy_send 3 "December 18, 2016" "libcurl 7.59.0" "libcurl Manual"
 
 .SH NAME
 curl_easy_send - sends raw data over an "easy" connection
diff --git a/docs/libcurl/curl_easy_setopt.3 b/docs/libcurl/curl_easy_setopt.3
index 3d8039a..a141f0f 100644
--- a/docs/libcurl/curl_easy_setopt.3
+++ b/docs/libcurl/curl_easy_setopt.3
@@ -5,7 +5,7 @@
 .\" *                            | (__| |_| |  _ <| |___
 .\" *                             \___|\___/|_| \_\_____|
 .\" *
-.\" * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH curl_easy_setopt 3 "September 02, 2017" "libcurl 7.58.0" "libcurl Manual"
+.TH curl_easy_setopt 3 "February 14, 2018" "libcurl 7.59.0" "libcurl Manual"
 
 .SH NAME
 curl_easy_setopt \- set options for a curl easy handle
@@ -140,6 +140,10 @@
 Data pointer to pass to the wildcard matching callback. See \fICURLOPT_FNMATCH_DATA(3)\fP
 .IP CURLOPT_SUPPRESS_CONNECT_HEADERS
 Suppress proxy CONNECT response headers from user callbacks. See \fICURLOPT_SUPPRESS_CONNECT_HEADERS(3)\fP
+.IP CURLOPT_RESOLVER_START_FUNCTION
+Callback to be called before a new resolve request is started. See \fICURLOPT_RESOLVER_START_FUNCTION(3)\fP
+.IP CURLOPT_RESOLVER_START_DATA
+Data pointer to pass to resolver start callback. See \fICURLOPT_RESOLVER_START_DATA(3)\fP
 .SH ERROR OPTIONS
 .IP CURLOPT_ERRORBUFFER
 Error message buffer. See \fICURLOPT_ERRORBUFFER(3)\fP
@@ -422,6 +426,8 @@
 Make a time conditional request. See \fICURLOPT_TIMECONDITION(3)\fP
 .IP CURLOPT_TIMEVALUE
 Time value for the time conditional request. See \fICURLOPT_TIMEVALUE(3)\fP
+.IP CURLOPT_TIMEVALUE_LARGE
+Time value for the time conditional request. See \fICURLOPT_TIMEVALUE_LARGE(3)\fP
 .SH CONNECTION OPTIONS
 .IP CURLOPT_TIMEOUT
 Timeout for the entire request. See \fICURLOPT_TIMEOUT(3)\fP
@@ -463,6 +469,8 @@
 Preferred DNS servers. See \fICURLOPT_DNS_SERVERS(3)\fP
 .IP CURLOPT_ACCEPTTIMEOUT_MS
 Timeout for waiting for the server's connect back to be accepted. See \fICURLOPT_ACCEPTTIMEOUT_MS(3)\fP
+.IP CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS
+Timeout for happy eyeballs. See \fICURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS(3)\fP
 .SH SSL and SECURITY OPTIONS
 .IP CURLOPT_SSLCERT
 Client cert. See \fICURLOPT_SSLCERT(3)\fP
diff --git a/docs/libcurl/curl_easy_strerror.3 b/docs/libcurl/curl_easy_strerror.3
index e3505b4..562f8b2 100644
--- a/docs/libcurl/curl_easy_strerror.3
+++ b/docs/libcurl/curl_easy_strerror.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_easy_strerror 3 "February 03, 2016" "libcurl 7.58.0" "libcurl Manual"
+.TH curl_easy_strerror 3 "February 03, 2016" "libcurl 7.59.0" "libcurl Manual"
 
 .SH NAME
 curl_easy_strerror - return string describing error code
diff --git a/docs/libcurl/curl_easy_unescape.3 b/docs/libcurl/curl_easy_unescape.3
index 5b6520e..99b35a0 100644
--- a/docs/libcurl/curl_easy_unescape.3
+++ b/docs/libcurl/curl_easy_unescape.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH curl_easy_unescape 3 "October 04, 2016" "libcurl 7.58.0" "libcurl Manual"
+.TH curl_easy_unescape 3 "October 04, 2016" "libcurl 7.59.0" "libcurl Manual"
 
 .SH NAME
 curl_easy_unescape - URL decodes the given string
diff --git a/docs/libcurl/curl_escape.3 b/docs/libcurl/curl_escape.3
index 6fee63d..69e2b9f 100644
--- a/docs/libcurl/curl_escape.3
+++ b/docs/libcurl/curl_escape.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_escape 3 "February 03, 2016" "libcurl 7.58.0" "libcurl Manual"
+.TH curl_escape 3 "February 03, 2016" "libcurl 7.59.0" "libcurl Manual"
 
 .SH NAME
 curl_escape - URL encodes the given string
diff --git a/docs/libcurl/curl_formadd.3 b/docs/libcurl/curl_formadd.3
index 5bd91e4..441edd2 100644
--- a/docs/libcurl/curl_formadd.3
+++ b/docs/libcurl/curl_formadd.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_formadd 3 "October 08, 2017" "libcurl 7.58.0" "libcurl Manual"
+.TH curl_formadd 3 "October 08, 2017" "libcurl 7.59.0" "libcurl Manual"
 
 .SH NAME
 curl_formadd - add a section to a multipart/formdata HTTP POST
diff --git a/docs/libcurl/curl_formfree.3 b/docs/libcurl/curl_formfree.3
index 9de81a2..7d1d804 100644
--- a/docs/libcurl/curl_formfree.3
+++ b/docs/libcurl/curl_formfree.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_formfree 3 "September 02, 2017" "libcurl 7.58.0" "libcurl Manual"
+.TH curl_formfree 3 "September 02, 2017" "libcurl 7.59.0" "libcurl Manual"
 
 .SH NAME
 curl_formfree - free a previously build multipart/formdata HTTP POST chain
diff --git a/docs/libcurl/curl_formget.3 b/docs/libcurl/curl_formget.3
index 5aaf075..69dc992 100644
--- a/docs/libcurl/curl_formget.3
+++ b/docs/libcurl/curl_formget.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_formget 3 "September 02, 2017" "libcurl 7.58.0" "libcurl Manual"
+.TH curl_formget 3 "September 02, 2017" "libcurl 7.59.0" "libcurl Manual"
 
 .SH NAME
 curl_formget - serialize a previously built multipart/formdata HTTP POST chain
diff --git a/docs/libcurl/curl_free.3 b/docs/libcurl/curl_free.3
index 69fed2c..32e5cf2 100644
--- a/docs/libcurl/curl_free.3
+++ b/docs/libcurl/curl_free.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_free 3 "February 03, 2016" "libcurl 7.58.0" "libcurl Manual"
+.TH curl_free 3 "February 03, 2016" "libcurl 7.59.0" "libcurl Manual"
 
 .SH NAME
 curl_free - reclaim memory that has been obtained through a libcurl call
diff --git a/docs/libcurl/curl_getdate.3 b/docs/libcurl/curl_getdate.3
index 9fe12bb..9c0aa1a 100644
--- a/docs/libcurl/curl_getdate.3
+++ b/docs/libcurl/curl_getdate.3
@@ -5,7 +5,7 @@
 .\" *                            | (__| |_| |  _ <| |___
 .\" *                             \___|\___/|_| \_\_____|
 .\" *
-.\" * Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_getdate 3 "February 03, 2016" "libcurl 7.58.0" "libcurl Manual"
+.TH curl_getdate 3 "January 18, 2018" "libcurl 7.59.0" "libcurl Manual"
 
 .SH NAME
 curl_getdate - Convert a date string to number of seconds
@@ -97,13 +97,15 @@
 This function returns -1 when it fails to parse the date string. Otherwise it
 returns the number of seconds as described.
 
-If the year is larger than 2037 on systems with 32 bit time_t, this function
-will return 0x7fffffff (since that is the largest possible signed 32 bit
-number).
+On systems with a signed 32 bit time_t: if the year is larger than 2037 or
+less than 1903, this function will return -1.
 
-Having a 64 bit time_t is not a guarantee that dates beyond 03:14:07 UTC,
-January 19, 2038 will work fine. On systems with a 64 bit time_t but with a
-crippled mktime(), \fIcurl_getdate(3)\fP will return -1 in this case.
+On systems with an unsigned 32 bit time_t: if the year is larger than 2106 or
+less than 1970, this function will return -1.
+
+On systems with 64 bit time_t: if the year is less than 1583, this function
+will return -1. (The Gregorian calendar was first introduced 1582 so no "real"
+dates in this way of doing dates existed before then.)
 .SH "SEE ALSO"
 .BR curl_easy_escape "(3), " curl_easy_unescape "(3), "
 .BR CURLOPT_TIMECONDITION "(3), " CURLOPT_TIMEVALUE "(3) "
diff --git a/docs/libcurl/curl_getenv.3 b/docs/libcurl/curl_getenv.3
index cfff00c..0ddb9e8 100644
--- a/docs/libcurl/curl_getenv.3
+++ b/docs/libcurl/curl_getenv.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_getenv 3 "February 03, 2016" "libcurl 7.58.0" "libcurl Manual"
+.TH curl_getenv 3 "February 03, 2016" "libcurl 7.59.0" "libcurl Manual"
 
 .SH NAME
 curl_getenv - return value for environment name
diff --git a/docs/libcurl/curl_global_cleanup.3 b/docs/libcurl/curl_global_cleanup.3
index 2e2f489..b0e4bc0 100644
--- a/docs/libcurl/curl_global_cleanup.3
+++ b/docs/libcurl/curl_global_cleanup.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_global_cleanup 3 "September 20, 2016" "libcurl 7.58.0" "libcurl Manual"
+.TH curl_global_cleanup 3 "September 20, 2016" "libcurl 7.59.0" "libcurl Manual"
 
 .SH NAME
 curl_global_cleanup - global libcurl cleanup
diff --git a/docs/libcurl/curl_global_init.3 b/docs/libcurl/curl_global_init.3
index 5548640..324c7be 100644
--- a/docs/libcurl/curl_global_init.3
+++ b/docs/libcurl/curl_global_init.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_global_init 3 "November 23, 2017" "libcurl 7.58.0" "libcurl Manual"
+.TH curl_global_init 3 "January 24, 2018" "libcurl 7.59.0" "libcurl Manual"
 
 .SH NAME
 curl_global_init - Global libcurl initialisation
@@ -63,7 +63,7 @@
 \fBCURL_GLOBAL_ACK_EINTR\fP.
 
 .IP CURL_GLOBAL_SSL
-(This flag's presence or absense serves no meaning since 7.57.0. The
+(This flag's presence or absence serves no meaning since 7.57.0. The
 description below is for older libcurl versions.)
 
 Initialize SSL.
diff --git a/docs/libcurl/curl_global_init_mem.3 b/docs/libcurl/curl_global_init_mem.3
index bb320f8..5590133 100644
--- a/docs/libcurl/curl_global_init_mem.3
+++ b/docs/libcurl/curl_global_init_mem.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_global_init_mem 3 "February 03, 2016" "libcurl 7.58.0" "libcurl Manual"
+.TH curl_global_init_mem 3 "February 03, 2016" "libcurl 7.59.0" "libcurl Manual"
 
 .SH NAME
 curl_global_init_mem - Global libcurl initialisation with memory callbacks
diff --git a/docs/libcurl/curl_global_sslset.3 b/docs/libcurl/curl_global_sslset.3
index 42b3fbf..03b74cd 100644
--- a/docs/libcurl/curl_global_sslset.3
+++ b/docs/libcurl/curl_global_sslset.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_global_sslset 3 "September 21, 2017" "libcurl 7.58.0" "libcurl Manual"
+.TH curl_global_sslset 3 "September 21, 2017" "libcurl 7.59.0" "libcurl Manual"
 
 .SH NAME
 curl_global_sslset - Select SSL backend to use with libcurl
diff --git a/docs/libcurl/curl_mime_addpart.3 b/docs/libcurl/curl_mime_addpart.3
index 7e85e32..fb4acd8 100644
--- a/docs/libcurl/curl_mime_addpart.3
+++ b/docs/libcurl/curl_mime_addpart.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_mime_addpart 3 "September 22, 2017" "libcurl 7.58.0" "libcurl Manual"
+.TH curl_mime_addpart 3 "September 22, 2017" "libcurl 7.59.0" "libcurl Manual"
 
 .SH NAME
 curl_mime_addpart - append a new empty part to a mime structure
diff --git a/docs/libcurl/curl_mime_data.3 b/docs/libcurl/curl_mime_data.3
index 6426d6f..437ab1e 100644
--- a/docs/libcurl/curl_mime_data.3
+++ b/docs/libcurl/curl_mime_data.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_mime_data 3 "September 22, 2017" "libcurl 7.58.0" "libcurl Manual"
+.TH curl_mime_data 3 "September 22, 2017" "libcurl 7.59.0" "libcurl Manual"
 
 .SH NAME
 curl_mime_data - set a mime part's body data from memory
diff --git a/docs/libcurl/curl_mime_data_cb.3 b/docs/libcurl/curl_mime_data_cb.3
index fee806b..21fb5d4 100644
--- a/docs/libcurl/curl_mime_data_cb.3
+++ b/docs/libcurl/curl_mime_data_cb.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_mime_data_cb 3 "January 14, 2018" "libcurl 7.58.0" "libcurl Manual"
+.TH curl_mime_data_cb 3 "January 14, 2018" "libcurl 7.59.0" "libcurl Manual"
 
 .SH NAME
 curl_mime_data_cb - set a callback-based data source for a mime part's body
diff --git a/docs/libcurl/curl_mime_encoder.3 b/docs/libcurl/curl_mime_encoder.3
index 410e5c2..bceaeb2 100644
--- a/docs/libcurl/curl_mime_encoder.3
+++ b/docs/libcurl/curl_mime_encoder.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_mime_encoder 3 "September 05, 2017" "libcurl 7.58.0" "libcurl Manual"
+.TH curl_mime_encoder 3 "September 05, 2017" "libcurl 7.59.0" "libcurl Manual"
 
 .SH NAME
 curl_mime_encoder - set a mime part's encoder and content transfer encoding
diff --git a/docs/libcurl/curl_mime_filedata.3 b/docs/libcurl/curl_mime_filedata.3
index f1853da..bff6b29 100644
--- a/docs/libcurl/curl_mime_filedata.3
+++ b/docs/libcurl/curl_mime_filedata.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_mime_filedata 3 "January 14, 2018" "libcurl 7.58.0" "libcurl Manual"
+.TH curl_mime_filedata 3 "January 14, 2018" "libcurl 7.59.0" "libcurl Manual"
 
 .SH NAME
 curl_mime_filedata - set a mime part's body data from a file contents
diff --git a/docs/libcurl/curl_mime_filename.3 b/docs/libcurl/curl_mime_filename.3
index 0f384d9..1027b21 100644
--- a/docs/libcurl/curl_mime_filename.3
+++ b/docs/libcurl/curl_mime_filename.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_mime_filename 3 "September 22, 2017" "libcurl 7.58.0" "libcurl Manual"
+.TH curl_mime_filename 3 "September 22, 2017" "libcurl 7.59.0" "libcurl Manual"
 
 .SH NAME
 curl_mime_filename - set a mime part's remote file name
diff --git a/docs/libcurl/curl_mime_free.3 b/docs/libcurl/curl_mime_free.3
index e89edec..55993de 100644
--- a/docs/libcurl/curl_mime_free.3
+++ b/docs/libcurl/curl_mime_free.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_mime_free 3 "September 04, 2017" "libcurl 7.58.0" "libcurl Manual"
+.TH curl_mime_free 3 "September 04, 2017" "libcurl 7.59.0" "libcurl Manual"
 
 .SH NAME
 curl_mime_free - free a previously built mime structure
diff --git a/docs/libcurl/curl_mime_headers.3 b/docs/libcurl/curl_mime_headers.3
index 13e0921..b48ea7a 100644
--- a/docs/libcurl/curl_mime_headers.3
+++ b/docs/libcurl/curl_mime_headers.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_mime_headers 3 "September 22, 2017" "libcurl 7.58.0" "libcurl Manual"
+.TH curl_mime_headers 3 "September 22, 2017" "libcurl 7.59.0" "libcurl Manual"
 
 .SH NAME
 curl_mime_headers - set a mime part's custom headers
diff --git a/docs/libcurl/curl_mime_init.3 b/docs/libcurl/curl_mime_init.3
index fb11dfc..7017da0 100644
--- a/docs/libcurl/curl_mime_init.3
+++ b/docs/libcurl/curl_mime_init.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_mime_init 3 "September 22, 2017" "libcurl 7.58.0" "libcurl Manual"
+.TH curl_mime_init 3 "September 22, 2017" "libcurl 7.59.0" "libcurl Manual"
 
 .SH NAME
 curl_mime_init - create a mime handle
diff --git a/docs/libcurl/curl_mime_name.3 b/docs/libcurl/curl_mime_name.3
index df74679..19e8d7f 100644
--- a/docs/libcurl/curl_mime_name.3
+++ b/docs/libcurl/curl_mime_name.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_mime_name 3 "September 22, 2017" "libcurl 7.58.0" "libcurl Manual"
+.TH curl_mime_name 3 "September 22, 2017" "libcurl 7.59.0" "libcurl Manual"
 
 .SH NAME
 curl_mime_name - set a mime part's name
diff --git a/docs/libcurl/curl_mime_subparts.3 b/docs/libcurl/curl_mime_subparts.3
index a06b4dc..3692393 100644
--- a/docs/libcurl/curl_mime_subparts.3
+++ b/docs/libcurl/curl_mime_subparts.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_mime_subparts 3 "September 05, 2017" "libcurl 7.58.0" "libcurl Manual"
+.TH curl_mime_subparts 3 "September 05, 2017" "libcurl 7.59.0" "libcurl Manual"
 
 .SH NAME
 curl_mime_subparts - set subparts of a multipart mime part
diff --git a/docs/libcurl/curl_mime_type.3 b/docs/libcurl/curl_mime_type.3
index 4227d39..ceb60c7 100644
--- a/docs/libcurl/curl_mime_type.3
+++ b/docs/libcurl/curl_mime_type.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_mime_type 3 "September 22, 2017" "libcurl 7.58.0" "libcurl Manual"
+.TH curl_mime_type 3 "September 22, 2017" "libcurl 7.59.0" "libcurl Manual"
 
 .SH NAME
 curl_mime_type - set a mime part's content type
diff --git a/docs/libcurl/curl_mprintf.3 b/docs/libcurl/curl_mprintf.3
index 6b1e735..24880a1 100644
--- a/docs/libcurl/curl_mprintf.3
+++ b/docs/libcurl/curl_mprintf.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_printf 3 "April 01, 2016" "libcurl 7.58.0" "libcurl Manual"
+.TH curl_printf 3 "April 01, 2016" "libcurl 7.59.0" "libcurl Manual"
 
 .SH NAME
 curl_maprintf, curl_mfprintf, curl_mprintf, curl_msnprintf, curl_msprintf
diff --git a/docs/libcurl/curl_multi_add_handle.3 b/docs/libcurl/curl_multi_add_handle.3
index b0e5b2a..4c2b32c 100644
--- a/docs/libcurl/curl_multi_add_handle.3
+++ b/docs/libcurl/curl_multi_add_handle.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_multi_add_handle 3 "February 03, 2016" "libcurl 7.58.0" "libcurl Manual"
+.TH curl_multi_add_handle 3 "February 03, 2016" "libcurl 7.59.0" "libcurl Manual"
 
 .SH NAME
 curl_multi_add_handle - add an easy handle to a multi session
diff --git a/docs/libcurl/curl_multi_assign.3 b/docs/libcurl/curl_multi_assign.3
index 4fe296e..3a126c0 100644
--- a/docs/libcurl/curl_multi_assign.3
+++ b/docs/libcurl/curl_multi_assign.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_multi_assign 3 "February 03, 2016" "libcurl 7.58.0" "libcurl Manual"
+.TH curl_multi_assign 3 "February 03, 2016" "libcurl 7.59.0" "libcurl Manual"
 
 .SH NAME
 curl_multi_assign \- set data to associate with an internal socket
diff --git a/docs/libcurl/curl_multi_cleanup.3 b/docs/libcurl/curl_multi_cleanup.3
index d36a52d..9053af0 100644
--- a/docs/libcurl/curl_multi_cleanup.3
+++ b/docs/libcurl/curl_multi_cleanup.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_multi_cleanup 3 "February 03, 2016" "libcurl 7.58.0" "libcurl Manual"
+.TH curl_multi_cleanup 3 "February 03, 2016" "libcurl 7.59.0" "libcurl Manual"
 
 .SH NAME
 curl_multi_cleanup - close down a multi session
diff --git a/docs/libcurl/curl_multi_fdset.3 b/docs/libcurl/curl_multi_fdset.3
index efca9fe..d4a2dd9 100644
--- a/docs/libcurl/curl_multi_fdset.3
+++ b/docs/libcurl/curl_multi_fdset.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_multi_fdset 3 "November 09, 2017" "libcurl 7.58.0" "libcurl Manual"
+.TH curl_multi_fdset 3 "November 09, 2017" "libcurl 7.59.0" "libcurl Manual"
 
 .SH NAME
 curl_multi_fdset - extracts file descriptor information from a multi handle
diff --git a/docs/libcurl/curl_multi_info_read.3 b/docs/libcurl/curl_multi_info_read.3
index b71a72c..a8871e9 100644
--- a/docs/libcurl/curl_multi_info_read.3
+++ b/docs/libcurl/curl_multi_info_read.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_multi_info_read 3 "February 03, 2016" "libcurl 7.58.0" "libcurl Manual"
+.TH curl_multi_info_read 3 "February 03, 2016" "libcurl 7.59.0" "libcurl Manual"
 
 .SH NAME
 curl_multi_info_read - read multi stack informationals
diff --git a/docs/libcurl/curl_multi_init.3 b/docs/libcurl/curl_multi_init.3
index 10bddca..6f4f2b8 100644
--- a/docs/libcurl/curl_multi_init.3
+++ b/docs/libcurl/curl_multi_init.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_multi_init 3 "February 03, 2016" "libcurl 7.58.0" "libcurl Manual"
+.TH curl_multi_init 3 "February 03, 2016" "libcurl 7.59.0" "libcurl Manual"
 
 .SH NAME
 curl_multi_init - create a multi handle
diff --git a/docs/libcurl/curl_multi_perform.3 b/docs/libcurl/curl_multi_perform.3
index 3840960..b254b5d 100644
--- a/docs/libcurl/curl_multi_perform.3
+++ b/docs/libcurl/curl_multi_perform.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_multi_perform 3 "February 03, 2016" "libcurl 7.58.0" "libcurl Manual"
+.TH curl_multi_perform 3 "February 03, 2016" "libcurl 7.59.0" "libcurl Manual"
 
 .SH NAME
 curl_multi_perform - reads/writes available data from each easy handle
diff --git a/docs/libcurl/curl_multi_remove_handle.3 b/docs/libcurl/curl_multi_remove_handle.3
index 11763d3..b7b6cb5 100644
--- a/docs/libcurl/curl_multi_remove_handle.3
+++ b/docs/libcurl/curl_multi_remove_handle.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_multi_remove_handle 3 "February 03, 2016" "libcurl 7.58.0" "libcurl Manual"
+.TH curl_multi_remove_handle 3 "February 03, 2016" "libcurl 7.59.0" "libcurl Manual"
 
 .SH NAME
 curl_multi_remove_handle - remove an easy handle from a multi session
diff --git a/docs/libcurl/curl_multi_setopt.3 b/docs/libcurl/curl_multi_setopt.3
index fd0cab7..5546e28 100644
--- a/docs/libcurl/curl_multi_setopt.3
+++ b/docs/libcurl/curl_multi_setopt.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_multi_setopt 3 "February 03, 2016" "libcurl 7.58.0" "libcurl Manual"
+.TH curl_multi_setopt 3 "February 03, 2016" "libcurl 7.59.0" "libcurl Manual"
 
 .SH NAME
 curl_multi_setopt \- set options for a curl multi handle
diff --git a/docs/libcurl/curl_multi_socket.3 b/docs/libcurl/curl_multi_socket.3
index fd51957..65d8914 100644
--- a/docs/libcurl/curl_multi_socket.3
+++ b/docs/libcurl/curl_multi_socket.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_multi_socket 3 "December 15, 2016" "libcurl 7.58.0" "libcurl Manual"
+.TH curl_multi_socket 3 "December 15, 2016" "libcurl 7.59.0" "libcurl Manual"
 
 .SH NAME
 curl_multi_socket \- reads/writes available data
diff --git a/docs/libcurl/curl_multi_socket_action.3 b/docs/libcurl/curl_multi_socket_action.3
index c6491e6..0f1e8d6 100644
--- a/docs/libcurl/curl_multi_socket_action.3
+++ b/docs/libcurl/curl_multi_socket_action.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_multi_socket_action 3 "June 07, 2016" "libcurl 7.58.0" "libcurl Manual"
+.TH curl_multi_socket_action 3 "June 07, 2016" "libcurl 7.59.0" "libcurl Manual"
 
 .SH NAME
 curl_multi_socket_action \- reads/writes available data given an action
diff --git a/docs/libcurl/curl_multi_strerror.3 b/docs/libcurl/curl_multi_strerror.3
index f115e6e..7ea6b20 100644
--- a/docs/libcurl/curl_multi_strerror.3
+++ b/docs/libcurl/curl_multi_strerror.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_multi_strerror 3 "February 03, 2016" "libcurl 7.58.0" "libcurl Manual"
+.TH curl_multi_strerror 3 "February 03, 2016" "libcurl 7.59.0" "libcurl Manual"
 
 .SH NAME
 curl_multi_strerror - return string describing error code
diff --git a/docs/libcurl/curl_multi_timeout.3 b/docs/libcurl/curl_multi_timeout.3
index 5ddf896..ce89899 100644
--- a/docs/libcurl/curl_multi_timeout.3
+++ b/docs/libcurl/curl_multi_timeout.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_multi_timeout 3 "May 02, 2016" "libcurl 7.58.0" "libcurl Manual"
+.TH curl_multi_timeout 3 "May 02, 2016" "libcurl 7.59.0" "libcurl Manual"
 
 .SH NAME
 curl_multi_timeout \- how long to wait for action before proceeding
diff --git a/docs/libcurl/curl_multi_wait.3 b/docs/libcurl/curl_multi_wait.3
index 8d7b112..cf84330 100644
--- a/docs/libcurl/curl_multi_wait.3
+++ b/docs/libcurl/curl_multi_wait.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_multi_wait 3 "March 09, 2016" "libcurl 7.58.0" "libcurl Manual"
+.TH curl_multi_wait 3 "March 09, 2016" "libcurl 7.59.0" "libcurl Manual"
 
 .SH NAME
 curl_multi_wait - polls on all easy handles in a multi handle
diff --git a/docs/libcurl/curl_share_cleanup.3 b/docs/libcurl/curl_share_cleanup.3
index 9f81f66..2b0d2e1 100644
--- a/docs/libcurl/curl_share_cleanup.3
+++ b/docs/libcurl/curl_share_cleanup.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_share_cleanup 3 "February 03, 2016" "libcurl 7.58.0" "libcurl Manual"
+.TH curl_share_cleanup 3 "February 03, 2016" "libcurl 7.59.0" "libcurl Manual"
 
 .SH NAME
 curl_share_cleanup - Clean up a shared object
diff --git a/docs/libcurl/curl_share_init.3 b/docs/libcurl/curl_share_init.3
index 05a6bd2..edcce88 100644
--- a/docs/libcurl/curl_share_init.3
+++ b/docs/libcurl/curl_share_init.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_share_init 3 "February 03, 2016" "libcurl 7.58.0" "libcurl Manual"
+.TH curl_share_init 3 "February 03, 2016" "libcurl 7.59.0" "libcurl Manual"
 
 .SH NAME
 curl_share_init - Create a shared object
diff --git a/docs/libcurl/curl_share_setopt.3 b/docs/libcurl/curl_share_setopt.3
index 4ed695d..e92435f 100644
--- a/docs/libcurl/curl_share_setopt.3
+++ b/docs/libcurl/curl_share_setopt.3
@@ -5,7 +5,7 @@
 .\" *                            | (__| |_| |  _ <| |___
 .\" *                             \___|\___/|_| \_\_____|
 .\" *
-.\" * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_share_setopt 3 "December 05, 2017" "libcurl 7.58.0" "libcurl Manual"
+.TH curl_share_setopt 3 "February 23, 2018" "libcurl 7.59.0" "libcurl Manual"
 
 .SH NAME
 curl_share_setopt - Set options for a shared object
@@ -63,8 +63,8 @@
 .IP CURL_LOCK_DATA_DNS
 Cached DNS hosts will be shared across the easy handles using this shared
 object. Note that when you use the multi interface, all easy handles added to
-the same multi handle will share DNS cache by default without this having to
-be used!
+the same multi handle will share DNS cache by default without using this
+option.
 .IP CURL_LOCK_DATA_SSL_SESSION
 SSL session IDs will be shared across the easy handles using this shared
 object. This will reduce the time spent in the SSL handshake when reconnecting
@@ -85,6 +85,9 @@
 
 Support for \fBCURL_LOCK_DATA_CONNECT\fP was added in 7.57.0, but the symbol
 existed before this.
+
+Note that when you use the multi interface, all easy handles added to the same
+multi handle will share connection cache by default without using this option.
 .RE
 .IP CURLSHOPT_UNSHARE
 This option does the opposite of \fICURLSHOPT_SHARE\fP. It specifies that
diff --git a/docs/libcurl/curl_share_strerror.3 b/docs/libcurl/curl_share_strerror.3
index 4cfbdbe..0d92c3e 100644
--- a/docs/libcurl/curl_share_strerror.3
+++ b/docs/libcurl/curl_share_strerror.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_share_strerror 3 "February 03, 2016" "libcurl 7.58.0" "libcurl Manual"
+.TH curl_share_strerror 3 "February 03, 2016" "libcurl 7.59.0" "libcurl Manual"
 
 .SH NAME
 curl_share_strerror - return string describing error code
diff --git a/docs/libcurl/curl_slist_append.3 b/docs/libcurl/curl_slist_append.3
index d242ebb..6f944f1 100644
--- a/docs/libcurl/curl_slist_append.3
+++ b/docs/libcurl/curl_slist_append.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_slist_append 3 "May 05, 2017" "libcurl 7.58.0" "libcurl Manual"
+.TH curl_slist_append 3 "May 05, 2017" "libcurl 7.59.0" "libcurl Manual"
 
 .SH NAME
 curl_slist_append - add a string to an slist
diff --git a/docs/libcurl/curl_slist_free_all.3 b/docs/libcurl/curl_slist_free_all.3
index d5edb1b..2f3afed 100644
--- a/docs/libcurl/curl_slist_free_all.3
+++ b/docs/libcurl/curl_slist_free_all.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_slist_free_all 3 "May 05, 2017" "libcurl 7.58.0" "libcurl Manual"
+.TH curl_slist_free_all 3 "May 05, 2017" "libcurl 7.59.0" "libcurl Manual"
 
 .SH NAME
 curl_slist_free_all - free an entire curl_slist list
diff --git a/docs/libcurl/curl_strequal.3 b/docs/libcurl/curl_strequal.3
index 0b53ef7..a442c7f 100644
--- a/docs/libcurl/curl_strequal.3
+++ b/docs/libcurl/curl_strequal.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_strequal 3 "June 29, 2017" "libcurl 7.58.0" "libcurl Manual"
+.TH curl_strequal 3 "June 29, 2017" "libcurl 7.59.0" "libcurl Manual"
 
 .SH NAME
 curl_strequal, curl_strnequal - case insensitive string comparisons
diff --git a/docs/libcurl/curl_unescape.3 b/docs/libcurl/curl_unescape.3
index 6f853d7..6619317 100644
--- a/docs/libcurl/curl_unescape.3
+++ b/docs/libcurl/curl_unescape.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_unescape 3 "February 03, 2016" "libcurl 7.58.0" "libcurl Manual"
+.TH curl_unescape 3 "February 03, 2016" "libcurl 7.59.0" "libcurl Manual"
 
 .SH NAME
 curl_unescape - URL decodes the given string
diff --git a/docs/libcurl/curl_version.3 b/docs/libcurl/curl_version.3
index f2c3ea0..88a8544 100644
--- a/docs/libcurl/curl_version.3
+++ b/docs/libcurl/curl_version.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH curl_version 3 "February 03, 2016" "libcurl 7.58.0" "libcurl Manual"
+.TH curl_version 3 "February 03, 2016" "libcurl 7.59.0" "libcurl Manual"
 
 .SH NAME
 curl_version - returns the libcurl version string
diff --git a/docs/libcurl/curl_version_info.3 b/docs/libcurl/curl_version_info.3
index 69ab408..5b2899f 100644
--- a/docs/libcurl/curl_version_info.3
+++ b/docs/libcurl/curl_version_info.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH curl_version_info 3 "December 29, 2017" "libcurl 7.58.0" "libcurl Manual"
+.TH curl_version_info 3 "December 29, 2017" "libcurl 7.59.0" "libcurl Manual"
 
 .SH NAME
 curl_version_info - returns run-time libcurl version info
diff --git a/docs/libcurl/libcurl-easy.3 b/docs/libcurl/libcurl-easy.3
index c3a764d..792f71b 100644
--- a/docs/libcurl/libcurl-easy.3
+++ b/docs/libcurl/libcurl-easy.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH libcurl 3 "February 03, 2016" "libcurl 7.58.0" "libcurl easy interface"
+.TH libcurl 3 "February 03, 2016" "libcurl 7.59.0" "libcurl easy interface"
 
 .SH NAME
 libcurl-easy \- easy interface overview
diff --git a/docs/libcurl/libcurl-env.3 b/docs/libcurl/libcurl-env.3
index 3e5c19e..feeacec 100644
--- a/docs/libcurl/libcurl-env.3
+++ b/docs/libcurl/libcurl-env.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH libcurl-env 3 "January 23, 2018" "libcurl 7.58.0" "libcurl environment variables"
+.TH libcurl-env 3 "January 24, 2018" "libcurl 7.59.0" "libcurl environment variables"
 
 .SH NAME
 libcurl-env \- environment variables libcurl understands
@@ -37,7 +37,7 @@
 
 These proxy variables are also checked for in their uppercase versions, except
 the "http_proxy" one which is only used lowercase. Note also that some systems
-actually have a case insensitve handling of environment variables and then of
+actually have a case insensitive handling of environment variables and then of
 course "HTTP_PROXY" will still work...
 .IP ALL_PROXY
 This is a setting to set proxy for all URLs, independently of what scheme is
@@ -47,7 +47,7 @@
 When libcurl is built to support multiple SSL backends, it will select a
 specific backend at first use. If no selection is done by the program using
 libcurl, this variable's selection will be used. It should be set to the full
-SSL backend name to use (case insensitve).
+SSL backend name to use (case insensitive).
 .IP HOME
 When the netrc feature is used (\fICURLOPT_NETRC(3)\fP), this variable is
 checked as the primary way to find the "current" home directory in which
diff --git a/docs/libcurl/libcurl-errors.3 b/docs/libcurl/libcurl-errors.3
index c8f44e3..8aa7b97 100644
--- a/docs/libcurl/libcurl-errors.3
+++ b/docs/libcurl/libcurl-errors.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH libcurl-errors 3 "August 22, 2016" "libcurl 7.58.0" "libcurl errors"
+.TH libcurl-errors 3 "February 10, 2018" "libcurl 7.59.0" "libcurl errors"
 
 .SH NAME
 libcurl-errors \- error codes in libcurl
@@ -253,6 +253,8 @@
 Status returned failure when asked with \fICURLOPT_SSL_VERIFYSTATUS(3)\fP.
 .IP "CURLE_HTTP2_STREAM (92)"
 Stream error in the HTTP/2 framing layer.
+.IP "CURLE_RECURSIVE_API_CALL (93)"
+An API function was called from inside a callback.
 .IP "CURLE_OBSOLETE*"
 These error codes will never be returned. They were used in an old libcurl
 version and are currently unused.
@@ -286,6 +288,8 @@
 .IP "CURLM_ADDED_ALREADY (7)"
 An easy handle already added to a multi handle was attempted to get added a
 second time. (Added in 7.32.1)
+.IP "CURLM_RECURSIVE_API_CALL (8)"
+An API function was called from inside a callback.
 .SH "CURLSHcode"
 The "share" interface will return a CURLSHcode to indicate when an error has
 occurred.  Also consider \fIcurl_share_strerror(3)\fP.
diff --git a/docs/libcurl/libcurl-multi.3 b/docs/libcurl/libcurl-multi.3
index c391cf1..1fd2366 100644
--- a/docs/libcurl/libcurl-multi.3
+++ b/docs/libcurl/libcurl-multi.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH libcurl-multi 3 "June 07, 2017" "libcurl 7.58.0" "libcurl multi interface"
+.TH libcurl-multi 3 "June 07, 2017" "libcurl 7.59.0" "libcurl multi interface"
 
 .SH NAME
 libcurl-multi \- how to use the multi interface
diff --git a/docs/libcurl/libcurl-security.3 b/docs/libcurl/libcurl-security.3
new file mode 100644
index 0000000..e8037c3
--- /dev/null
+++ b/docs/libcurl/libcurl-security.3
@@ -0,0 +1,339 @@
+.\" **************************************************************************
+.\" *                                  _   _ ____  _
+.\" *  Project                     ___| | | |  _ \| |
+.\" *                             / __| | | | |_) | |
+.\" *                            | (__| |_| |  _ <| |___
+.\" *                             \___|\___/|_| \_\_____|
+.\" *
+.\" * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" *
+.\" * This software is licensed as described in the file COPYING, which
+.\" * you should have received as part of this distribution. The terms
+.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" *
+.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+.\" * copies of the Software, and permit persons to whom the Software is
+.\" * furnished to do so, under the terms of the COPYING file.
+.\" *
+.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+.\" * KIND, either express or implied.
+.\" *
+.\" **************************************************************************
+.\"
+.TH libcurl-security 3 "February 13, 2018" "libcurl 7.59.0" "libcurl security"
+
+.SH NAME
+libcurl-security \- security considerations when using libcurl
+.SH "Security"
+The libcurl project takes security seriously.  The library is written with
+caution and precautions are taken to mitigate many kinds of risks encountered
+while operating with potentially malicious servers on the Internet. It is a
+powerful library, however, which allows application writers to make trade-offs
+between ease of writing and exposure to potential risky operations. If used
+the right way, you can use libcurl to transfer data pretty safely.
+
+Many applications are used in closed networks where users and servers can
+(possibly) be trusted, but many others are used on arbitrary servers and are
+fed input from potentially untrusted users.  Following is a discussion about
+some risks in the ways in which applications commonly use libcurl and
+potential mitigations of those risks. It is by no means comprehensive, but
+shows classes of attacks that robust applications should consider. The Common
+Weakness Enumeration project at https://cwe.mitre.org/ is a good reference for
+many of these and similar types of weaknesses of which application writers
+should be aware.
+.SH "Command Lines"
+If you use a command line tool (such as curl) that uses libcurl, and you give
+options to the tool on the command line those options can very likely get read
+by other users of your system when they use 'ps' or other tools to list
+currently running processes.
+
+To avoid these problems, never feed sensitive things to programs using command
+line options. Write them to a protected file and use the \-K option to avoid
+this.
+.SH ".netrc"
+\&.netrc is a pretty handy file/feature that allows you to login quickly and
+automatically to frequently visited sites. The file contains passwords in
+clear text and is a real security risk. In some cases, your .netrc is also
+stored in a home directory that is NFS mounted or used on another network
+based file system, so the clear text password will fly through your network
+every time anyone reads that file!
+
+For applications that enable .netrc use, a user who manage to set the right
+URL might then be possible to pass on passwords.
+
+To avoid these problems, don't use .netrc files and never store passwords in
+plain text anywhere.
+.SH "Clear Text Passwords"
+Many of the protocols libcurl supports send name and password unencrypted as
+clear text (HTTP Basic authentication, FTP, TELNET etc). It is very easy for
+anyone on your network or a network nearby yours to just fire up a network
+analyzer tool and eavesdrop on your passwords. Don't let the fact that HTTP
+Basic uses base64 encoded passwords fool you. They may not look readable at a
+first glance, but they very easily "deciphered" by anyone within seconds.
+
+To avoid this problem, use an authentication mechanism or other protocol that
+doesn't let snoopers see your password: Digest, CRAM-MD5, Kerberos, SPNEGO or
+NTLM authentication. Or even better: use authenticated protocols that protect
+the entire connection and everything sent over it.
+.SH "Un-authenticated Connections"
+Protocols that don't have any form of cryptographic authentication can not
+with any certainty know that they communicate with the right remote server.
+
+If your application is using a fixed scheme or fixed host name, it is not safe
+as long as the connection is un-authenticated. There can be a
+man-in-the-middle or in fact the whole server might have been replaced by an
+evil actor.
+
+Un-authenticated protocols are unsafe. The data that comes back to curl may
+have been injected by an attacker. The data that curl sends might be modified
+before it reaches the intended server. If it even reaches the intended server
+at all.
+
+Remedies include:
+ - Restrict operations to authenticated transfers
+ - Make sure the server's certificate etc is verified
+.SH "Redirects"
+The \fICURLOPT_FOLLOWLOCATION(3)\fP option automatically follows HTTP
+redirects sent by a remote server.  These redirects can refer to any kind of
+URL, not just HTTP. libcurl restricts the protocols allowed to be used in
+redirects for security reasons: FILE, SCP, SMB and SMBS are disabled by
+default. Applications are encouraged to restrict that set further.
+
+A redirect to a file: URL would cause the libcurl to read (or write) arbitrary
+files from the local filesystem.  If the application returns the data back to
+the user (as would happen in some kinds of CGI scripts), an attacker could
+leverage this to read otherwise forbidden data (e.g.
+file://localhost/etc/passwd).
+
+If authentication credentials are stored in the ~/.netrc file, or Kerberos
+is in use, any other URL type (not just file:) that requires
+authentication is also at risk.  A redirect such as
+ftp://some-internal-server/private-file would then return data even when
+the server is password protected.
+
+In the same way, if an unencrypted SSH private key has been configured for the
+user running the libcurl application, SCP: or SFTP: URLs could access password
+or private-key protected resources,
+e.g. sftp://user@some-internal-server/etc/passwd
+
+The \fICURLOPT_REDIR_PROTOCOLS(3)\fP and \fICURLOPT_NETRC(3)\fP options can be
+used to mitigate against this kind of attack.
+
+A redirect can also specify a location available only on the machine running
+libcurl, including servers hidden behind a firewall from the attacker.
+e.g. http://127.0.0.1/ or http://intranet/delete-stuff.cgi?delete=all or
+tftp://bootp-server/pc-config-data
+
+Applications can mitigate against this by disabling
+\fICURLOPT_FOLLOWLOCATION(3)\fP and handling redirects itself, sanitizing URLs
+as necessary. Alternately, an app could leave \fICURLOPT_FOLLOWLOCATION(3)\fP
+enabled but set \fICURLOPT_REDIR_PROTOCOLS(3)\fP and install a
+\fICURLOPT_OPENSOCKETFUNCTION(3)\fP callback function in which addresses are
+sanitized before use.
+.SH "Local Resources"
+A user who can control the DNS server of a domain being passed in within a URL
+can change the address of the host to a local, private address which a
+server-side libcurl-using application could then use. e.g. the innocuous URL
+http://fuzzybunnies.example.com/ could actually resolve to the IP address of a
+server behind a firewall, such as 127.0.0.1 or 10.1.2.3.  Applications can
+mitigate against this by setting a \fICURLOPT_OPENSOCKETFUNCTION(3)\fP and
+checking the address before a connection.
+
+All the malicious scenarios regarding redirected URLs apply just as well to
+non-redirected URLs, if the user is allowed to specify an arbitrary URL that
+could point to a private resource. For example, a web app providing a
+translation service might happily translate file://localhost/etc/passwd and
+display the result.  Applications can mitigate against this with the
+\fICURLOPT_PROTOCOLS(3)\fP option as well as by similar mitigation techniques
+for redirections.
+
+A malicious FTP server could in response to the PASV command return an IP
+address and port number for a server local to the app running libcurl but
+behind a firewall.  Applications can mitigate against this by using the
+\fICURLOPT_FTP_SKIP_PASV_IP(3)\fP option or \fICURLOPT_FTPPORT(3)\fP.
+
+Local servers sometimes assume local access comes from friends and trusted
+users. An application that expects http://example.com/file_to_read that and
+instead gets http://192.168.0.1/my_router_config might print a file that would
+otherwise be protected by the firewall.
+
+Allowing your application to connect to local hosts, be it the same machine
+that runs the application or a machine on the same local network, might be
+possible to exploit by an attacker who then perhaps can "port-scan" the
+particular hosts - depending on how the application and servers acts.
+.SH "IPv6 Addresses"
+libcurl will normally handle IPv6 addresses transparently and just as easily
+as IPv4 addresses. That means that a sanitizing function that filters out
+addresses like 127.0.0.1 isn't sufficient--the equivalent IPv6 addresses ::1,
+::, 0:00::0:1, ::127.0.0.1 and ::ffff:7f00:1 supplied somehow by an attacker
+would all bypass a naive filter and could allow access to undesired local
+resources.  IPv6 also has special address blocks like link-local and
+site-local that generally shouldn't be accessed by a server-side libcurl-using
+application.  A poorly-configured firewall installed in a data center,
+organization or server may also be configured to limit IPv4 connections but
+leave IPv6 connections wide open.  In some cases, setting
+\fICURLOPT_IPRESOLVE(3)\fP to CURL_IPRESOLVE_V4 can be used to limit resolved
+addresses to IPv4 only and bypass these issues.
+.SH Uploads
+When uploading, a redirect can cause a local (or remote) file to be
+overwritten. Applications must not allow any unsanitized URL to be passed in
+for uploads. Also, \fICURLOPT_FOLLOWLOCATION(3)\fP should not be used on
+uploads.  Instead, the applications should consider handling redirects itself,
+sanitizing each URL first.
+.SH Authentication
+Use of \fICURLOPT_UNRESTRICTED_AUTH(3)\fP could cause authentication
+information to be sent to an unknown second server.  Applications can mitigate
+against this by disabling \fICURLOPT_FOLLOWLOCATION(3)\fP and handling
+redirects itself, sanitizing where necessary.
+
+Use of the CURLAUTH_ANY option to \fICURLOPT_HTTPAUTH(3)\fP could result in
+user name and password being sent in clear text to an HTTP server.  Instead,
+use CURLAUTH_ANYSAFE which ensures that the password is encrypted over the
+network, or else fail the request.
+
+Use of the CURLUSESSL_TRY option to \fICURLOPT_USE_SSL(3)\fP could result in
+user name and password being sent in clear text to an FTP server.  Instead,
+use CURLUSESSL_CONTROL to ensure that an encrypted connection is used or else
+fail the request.
+.SH Cookies
+If cookies are enabled and cached, then a user could craft a URL which
+performs some malicious action to a site whose authentication is already
+stored in a cookie. e.g. http://mail.example.com/delete-stuff.cgi?delete=all
+Applications can mitigate against this by disabling cookies or clearing them
+between requests.
+.SH "Dangerous SCP URLs"
+SCP URLs can contain raw commands within the scp: URL, which is a side effect
+of how the SCP protocol is designed. e.g.
+
+  scp://user:pass@host/a;date >/tmp/test;
+
+Applications must not allow unsanitized SCP: URLs to be passed in for
+downloads.
+.SH "file://"
+By default curl and libcurl support file:// URLs. Such a URL is always an
+access, or attempted access, to a local resource. If your application wants to
+avoid that, keep control of what URLs to use and/or prevent curl/libcurl from
+using the protocol.
+
+By default, libcurl prohibits redirects to file:// URLs.
+.SH "What if the user can set the URL"
+Applications may find it tempting to let users set the URL that it can work
+on. That's probably fine, but opens up for mischief and trickery that you as
+an application author may want to address or take precautions against.
+
+If your curl-using script allow a custom URL do you also, perhaps
+unintentionally, allow the user to pass other options to the curl command line
+if creative use of special characters are applied?
+
+If the user can set the URL, the user can also specify the scheme part to
+other protocols that you didn't intend for users to use and perhaps didn't
+consider. curl supports over 20 different URL schemes. "http://" might be what
+you thought, "ftp://" or "imap://" might be what the user gives your
+application. Also, cross-protocol operations might be done by using a
+particular scheme in the URL but point to a server doing a different protocol
+on a non-standard port.
+
+Remedies:
+
+ - curl command lines can use \fI--proto\fP to limit what schemes it accepts
+ - libcurl programs can use \fICURLOPT_PROTOCOLS(3)\fP
+ - consider not allowing the user to set the full URL
+ - consider strictly filtering input to only allow specific choices
+.SH "RFC 3986 vs WHATWG URL"
+curl supports URLs mostly according to how they are defined in RFC 3986, and
+has done so since the beginning.
+
+Web browsers mostly adhere to the WHATWG URL Specification.
+
+This deviance makes some URLs copied between browsers (or returned over HTTP
+for redirection) and curl not work the same way. This can mislead users into
+getting the wrong thing, connecting to the wrong host or otherwise not work
+identically.
+.SH "FTP uses two connections"
+When performing an FTP transfer, two TCP connections are used: one for setting
+up the transfer and one for the actual data.
+
+FTP is not only un-authenticated, but the setting up of the second transfer is
+also a weak spot. The second connection to use for data, is either setup with
+the PORT/EPRT command that makes the server connect back to the client on the
+given IP+PORT, or with PASV/EPSV that makes the server setup a port to listen
+to and tells the client to connect to a given IP+PORT.
+
+Again, un-authenticated means that the connection might be meddled with by a
+man-in-the-middle or that there's a malicious server pretending to be the
+right one.
+
+A malicious FTP server can respond to PASV commands with the IP+PORT of a
+totally different machine. Perhaps even a third party host, and when there are
+many clients trying to connect to that third party, it could create a
+Distributed Denial-Of-Service attack out of it! If the client makes an upload
+operation, it can make the client send the data to another site. If the
+attacker can affect what data the client uploads, it can be made to work as a
+HTTP request and then the client could be made to issue HTTP requests to third
+party hosts.
+
+An attacker that manages to control curl's command line options can tell curl
+to send an FTP PORT command to ask the server to connect to a third party host
+instead of back to curl.
+
+The fact that FTP uses two connections makes it vulnerable in a way that is
+hard to avoid.
+.SH "Denial of Service"
+A malicious server could cause libcurl to effectively hang by sending data
+very slowly, or even no data at all but just keeping the TCP connection open.
+This could effectively result in a denial-of-service attack. The
+\fICURLOPT_TIMEOUT(3)\fP and/or \fICURLOPT_LOW_SPEED_LIMIT(3)\fP options can
+be used to mitigate against this.
+
+A malicious server could cause libcurl to download an infinite amount of data,
+potentially causing all of memory or disk to be filled. Setting the
+\fICURLOPT_MAXFILESIZE_LARGE(3)\fP option is not sufficient to guard against
+this.  Instead, applications should monitor the amount of data received within
+the write or progress callback and abort once the limit is reached.
+
+A malicious HTTP server could cause an infinite redirection loop, causing a
+denial-of-service. This can be mitigated by using the
+\fICURLOPT_MAXREDIRS(3)\fP option.
+.SH "Arbitrary Headers"
+User-supplied data must be sanitized when used in options like
+\fICURLOPT_USERAGENT(3)\fP, \fICURLOPT_HTTPHEADER(3)\fP,
+\fICURLOPT_POSTFIELDS(3)\fP and others that are used to generate structured
+data. Characters like embedded carriage returns or ampersands could allow the
+user to create additional headers or fields that could cause malicious
+transactions.
+.SH "Server-supplied Names"
+A server can supply data which the application may, in some cases, use as a
+file name. The curl command-line tool does this with
+\fI--remote-header-name\fP, using the Content-disposition: header to generate
+a file name.  An application could also use \fICURLINFO_EFFECTIVE_URL(3)\fP to
+generate a file name from a server-supplied redirect URL. Special care must be
+taken to sanitize such names to avoid the possibility of a malicious server
+supplying one like "/etc/passwd", "\\autoexec.bat", "prn:" or even ".bashrc".
+.SH "Server Certificates"
+A secure application should never use the \fICURLOPT_SSL_VERIFYPEER(3)\fP
+option to disable certificate validation. There are numerous attacks that are
+enabled by applications that fail to properly validate server TLS/SSL
+certificates, thus enabling a malicious server to spoof a legitimate
+one. HTTPS without validated certificates is potentially as insecure as a
+plain HTTP connection.
+.SH "Report Security Problems"
+Should you detect or just suspect a security problem in libcurl or curl,
+contact the project curl security team immediately. See the separate
+SECURITY.md document for details.
+.SH "Showing What You Do"
+Relatedly, be aware that in situations when you have problems with libcurl and
+ask someone for help, everything you reveal in order to get best possible help
+might also impose certain security related risks. Host names, user names,
+paths, operating system specifics, etc. (not to mention passwords of course)
+may in fact be used by intruders to gain additional information of a potential
+target.
+
+Be sure to limit access to application logs if they could hold private or
+security-related data.  Besides the obvious candidates like user names and
+passwords, things like URLs, cookies or even file names could also hold
+sensitive data.
+
+To avoid this problem, you must of course use your common sense. Often, you
+can just edit out the sensitive data or just search/replace your true
+information with faked data.
+
diff --git a/docs/libcurl/libcurl-share.3 b/docs/libcurl/libcurl-share.3
index bd82ece..b1d6a33 100644
--- a/docs/libcurl/libcurl-share.3
+++ b/docs/libcurl/libcurl-share.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH libcurl-share 3 "November 27, 2017" "libcurl 7.58.0" "libcurl share interface"
+.TH libcurl-share 3 "November 27, 2017" "libcurl 7.59.0" "libcurl share interface"
 
 .SH NAME
 libcurl-share \- how to use the share interface
diff --git a/docs/libcurl/libcurl-symbols.3 b/docs/libcurl/libcurl-symbols.3
index 955bf38..20d9069 100644
--- a/docs/libcurl/libcurl-symbols.3
+++ b/docs/libcurl/libcurl-symbols.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH libcurl-symbols 3 "jan 24, 2018" "libcurl 7.41.0" "libcurl symbols"
+.TH libcurl-symbols 3 "mar 14, 2018" "libcurl 7.41.0" "libcurl symbols"
 .SH NAME
 libcurl-symbols \- libcurl symbol version information
 .SH "libcurl symbols"
@@ -232,6 +232,8 @@
 Introduced in 7.1
 .IP CURLE_RECV_ERROR
 Introduced in 7.10
+.IP CURLE_RECURSIVE_API_CALL
+Introduced in 7.59.0
 .IP CURLE_REMOTE_ACCESS_DENIED
 Introduced in 7.17.0
 .IP CURLE_REMOTE_DISK_FULL
@@ -502,6 +504,8 @@
 Introduced in 7.9.6
 .IP CURLINFO_FILETIME
 Introduced in 7.5
+.IP CURLINFO_FILETIME_T
+Introduced in 7.59.0
 .IP CURLINFO_FTP_ENTRY_PATH
 Introduced in 7.15.4
 .IP CURLINFO_HEADER_IN
@@ -708,6 +712,8 @@
 Introduced in 7.9.6
 .IP CURLM_OUT_OF_MEMORY
 Introduced in 7.9.6
+.IP CURLM_RECURSIVE_API_CALL
+Introduced in 7.59.0
 .IP CURLM_UNKNOWN_OPTION
 Introduced in 7.15.4
 .IP CURLOPTTYPE_FUNCTIONPOINT
@@ -874,6 +880,8 @@
 Introduced in 7.20.0
 .IP CURLOPT_GSSAPI_DELEGATION
 Introduced in 7.22.0
+.IP CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS
+Introduced in 7.59.0
 .IP CURLOPT_HEADER
 Introduced in 7.1
 .IP CURLOPT_HEADERDATA
@@ -1266,6 +1274,8 @@
 Introduced in 7.16.2
 .IP CURLOPT_TIMEVALUE
 Introduced in 7.1
+.IP CURLOPT_TIMEVALUE_LARGE
+Introduced in 7.59.0
 .IP CURLOPT_TLSAUTH_PASSWORD
 Introduced in 7.21.4
 .IP CURLOPT_TLSAUTH_TYPE
@@ -1276,6 +1286,10 @@
 Introduced in 7.1.1
 .IP CURLOPT_TRANSFER_ENCODING
 Introduced in 7.21.6
+.IP CURLOPT_RESOLVER_START_FUNCTION
+Introduced in 7.59.0
+.IP CURLOPT_RESOLVER_START_DATA
+Introduced in 7.59.0
 .IP CURLOPT_UNIX_SOCKET_PATH
 Introduced in 7.40.0
 .IP CURLOPT_UNRESTRICTED_AUTH
@@ -1574,6 +1588,8 @@
 Introduced in 7.8
 .IP CURL_GLOBAL_WIN32
 Introduced in 7.8.1
+.IP CURL_HET_DEFAULT
+Introduced in 7.59.0
 .IP CURL_HTTPPOST_BUFFER
 Introduced in 7.46.0
 .IP CURL_HTTPPOST_CALLBACK
diff --git a/docs/libcurl/libcurl-thread.3 b/docs/libcurl/libcurl-thread.3
index 9fdcfdd..56a736d 100644
--- a/docs/libcurl/libcurl-thread.3
+++ b/docs/libcurl/libcurl-thread.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH libcurl-thread 3 "August 08, 2017" "libcurl 7.58.0" "libcurl thread safety"
+.TH libcurl-thread 3 "August 08, 2017" "libcurl 7.59.0" "libcurl thread safety"
 
 .SH NAME
 libcurl-thread \- libcurl thread safety
diff --git a/docs/libcurl/libcurl-tutorial.3 b/docs/libcurl/libcurl-tutorial.3
index 4af73e1..b88ef06 100644
--- a/docs/libcurl/libcurl-tutorial.3
+++ b/docs/libcurl/libcurl-tutorial.3
@@ -5,7 +5,7 @@
 .\" *                            | (__| |_| |  _ <| |___
 .\" *                             \___|\___/|_| \_\_____|
 .\" *
-.\" * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH libcurl-tutorial 3 "October 23, 2017" "libcurl 7.58.0" "libcurl programming"
+.TH libcurl-tutorial 3 "February 23, 2018" "libcurl 7.59.0" "libcurl programming"
 
 .SH NAME
 libcurl-tutorial \- libcurl programming tutorial
@@ -857,7 +857,7 @@
 the proxy to tunnel trough everything without being able to check or fiddle
 with the traffic.
 
-Opening an SSL connection over a HTTP proxy is therefor a matter of asking the
+Opening an SSL connection over a HTTP proxy is therefore a matter of asking the
 proxy for a straight connection to the target host on a specified port. This
 is made with the HTTP request CONNECT. ("please mr proxy, connect me to that
 remote host").
@@ -1287,234 +1287,7 @@
 actually true headers, but in this case we pretend they are! ;-)
 
 .SH "Post Transfer Information"
-
- [ curl_easy_getinfo ]
-
-.SH "Security Considerations"
-
-The libcurl project takes security seriously.  The library is written with
-caution and precautions are taken to mitigate many kinds of risks encountered
-while operating with potentially malicious servers on the Internet.  It is a
-powerful library, however, which allows application writers to make trade offs
-between ease of writing and exposure to potential risky operations.  If
-used the right way, you can use libcurl to transfer data pretty safely.
-
-Many applications are used in closed networks where users and servers
-can be trusted, but many others are used on arbitrary servers and are fed
-input from potentially untrusted users.  Following is a discussion about
-some risks in the ways in which applications commonly use libcurl and
-potential mitigations of those risks. It is by no means comprehensive, but
-shows classes of attacks that robust applications should consider. The
-Common Weakness Enumeration project at https://cwe.mitre.org/ is a good
-reference for many of these and similar types of weaknesses of which
-application writers should be aware.
-
-.IP "Command Lines"
-If you use a command line tool (such as curl) that uses libcurl, and you give
-options to the tool on the command line those options can very likely get read
-by other users of your system when they use 'ps' or other tools to list
-currently running processes.
-
-To avoid this problem, never feed sensitive things to programs using command
-line options. Write them to a protected file and use the \-K option to
-avoid this.
-
-.IP ".netrc"
-\&.netrc is a pretty handy file/feature that allows you to login quickly and
-automatically to frequently visited sites. The file contains passwords in
-clear text and is a real security risk. In some cases, your .netrc is also
-stored in a home directory that is NFS mounted or used on another network
-based file system, so the clear text password will fly through your network
-every time anyone reads that file!
-
-To avoid this problem, don't use .netrc files and never store passwords in
-plain text anywhere.
-
-.IP "Clear Text Passwords"
-Many of the protocols libcurl supports send name and password unencrypted as
-clear text (HTTP Basic authentication, FTP, TELNET etc). It is very easy for
-anyone on your network or a network nearby yours to just fire up a network
-analyzer tool and eavesdrop on your passwords. Don't let the fact that HTTP
-Basic uses base64 encoded passwords fool you. They may not look readable at a
-first glance, but they very easily "deciphered" by anyone within seconds.
-
-To avoid this problem, use an authentication mechanism or other protocol that
-doesn't let snoopers see your password: Digest, CRAM-MD5, Kerberos, SPNEGO or
-NTLM authentication, HTTPS, FTPS, SCP and SFTP are a few examples.
-
-.IP "Redirects"
-The \fICURLOPT_FOLLOWLOCATION(3)\fP option automatically follows HTTP
-redirects sent by a remote server.  These redirects can refer to any kind of
-URL, not just HTTP. By default libcurl will allow all protocols on redirect
-except several disabled for security reasons: Since 7.19.4 FILE and SCP are
-disabled, and since 7.40.0 SMB and SMBS are also disabled.
-
-A redirect to a file: URL would cause the libcurl to read (or write) arbitrary
-files from the local filesystem.  If the application returns the data back to
-the user (as would happen in some kinds of CGI scripts), an attacker could
-leverage this to read otherwise forbidden data (e.g.
-file://localhost/etc/passwd).
-
-If authentication credentials are stored in the ~/.netrc file, or Kerberos
-is in use, any other URL type (not just file:) that requires
-authentication is also at risk.  A redirect such as
-ftp://some-internal-server/private-file would then return data even when
-the server is password protected.
-
-In the same way, if an unencrypted SSH private key has been configured for
-the user running the libcurl application, SCP: or SFTP: URLs could access
-password or private-key protected resources,
-e.g. sftp://user@some-internal-server/etc/passwd
-
-The \fICURLOPT_REDIR_PROTOCOLS(3)\fP and \fICURLOPT_NETRC(3)\fP options can be
-used to mitigate against this kind of attack.
-
-A redirect can also specify a location available only on the machine running
-libcurl, including servers hidden behind a firewall from the attacker.
-e.g. http://127.0.0.1/ or http://intranet/delete-stuff.cgi?delete=all or
-tftp://bootp-server/pc-config-data
-
-Apps can mitigate against this by disabling \fICURLOPT_FOLLOWLOCATION(3)\fP
-and handling redirects itself, sanitizing URLs as necessary. Alternately, an
-app could leave \fICURLOPT_FOLLOWLOCATION(3)\fP enabled but set
-\fICURLOPT_REDIR_PROTOCOLS(3)\fP and install a
-\fICURLOPT_OPENSOCKETFUNCTION(3)\fP callback function in which addresses are
-sanitized before use.
-
-.IP "Private Resources"
-A user who can control the DNS server of a domain being passed in within a URL
-can change the address of the host to a local, private address which a
-server-side libcurl-using application could then use. e.g. the innocuous URL
-http://fuzzybunnies.example.com/ could actually resolve to the IP address of a
-server behind a firewall, such as 127.0.0.1 or 10.1.2.3.  Apps can mitigate
-against this by setting a \fICURLOPT_OPENSOCKETFUNCTION(3)\fP and checking the
-address before a connection.
-
-All the malicious scenarios regarding redirected URLs apply just as well to
-non-redirected URLs, if the user is allowed to specify an arbitrary URL that
-could point to a private resource. For example, a web app providing a
-translation service might happily translate file://localhost/etc/passwd and
-display the result.  Apps can mitigate against this with the
-\fICURLOPT_PROTOCOLS(3)\fP option as well as by similar mitigation techniques
-for redirections.
-
-A malicious FTP server could in response to the PASV command return an IP
-address and port number for a server local to the app running libcurl but
-behind a firewall.  Apps can mitigate against this by using the
-\fICURLOPT_FTP_SKIP_PASV_IP(3)\fP option or \fICURLOPT_FTPPORT(3)\fP.
-
-.IP "IPv6 Addresses"
-libcurl will normally handle IPv6 addresses transparently and just as easily
-as IPv4 addresses. That means that a sanitizing function that filters out
-addresses like 127.0.0.1 isn't sufficient--the equivalent IPv6 addresses ::1,
-::, 0:00::0:1, ::127.0.0.1 and ::ffff:7f00:1 supplied somehow by an attacker
-would all bypass a naive filter and could allow access to undesired local
-resources.  IPv6 also has special address blocks like link-local and site-local
-that generally shouldn't be accessed by a server-side libcurl-using
-application.  A poorly-configured firewall installed in a data center,
-organization or server may also be configured to limit IPv4 connections but
-leave IPv6 connections wide open.  In some cases, the CURL_IPRESOLVE_V4 option
-can be used to limit resolved addresses to IPv4 only and bypass these issues.
-
-.IP Uploads
-When uploading, a redirect can cause a local (or remote) file to be
-overwritten.  Apps must not allow any unsanitized URL to be passed in for
-uploads.  Also, \fICURLOPT_FOLLOWLOCATION(3)\fP should not be used on uploads.
-Instead, the app should handle redirects itself, sanitizing each URL first.
-
-.IP Authentication
-Use of \fICURLOPT_UNRESTRICTED_AUTH(3)\fP could cause authentication
-information to be sent to an unknown second server.  Apps can mitigate against
-this by disabling \fICURLOPT_FOLLOWLOCATION(3)\fP and handling redirects
-itself, sanitizing where necessary.
-
-Use of the CURLAUTH_ANY option to \fICURLOPT_HTTPAUTH(3)\fP could result in
-user name and password being sent in clear text to an HTTP server.  Instead,
-use CURLAUTH_ANYSAFE which ensures that the password is encrypted over the
-network, or else fail the request.
-
-Use of the CURLUSESSL_TRY option to \fICURLOPT_USE_SSL(3)\fP could result in
-user name and password being sent in clear text to an FTP server.  Instead,
-use CURLUSESSL_CONTROL to ensure that an encrypted connection is used or else
-fail the request.
-
-.IP Cookies
-If cookies are enabled and cached, then a user could craft a URL which
-performs some malicious action to a site whose authentication is already
-stored in a cookie. e.g. http://mail.example.com/delete-stuff.cgi?delete=all
-Apps can mitigate against this by disabling cookies or clearing them
-between requests.
-
-.IP "Dangerous URLs"
-SCP URLs can contain raw commands within the scp: URL, which is a side effect
-of how the SCP protocol is designed. e.g.
-scp://user:pass@host/a;date >/tmp/test;
-Apps must not allow unsanitized SCP: URLs to be passed in for downloads.
-
-.IP "Denial of Service"
-A malicious server could cause libcurl to effectively hang by sending a
-trickle of data through, or even no data at all but just keeping the TCP
-connection open.  This could result in a denial-of-service attack. The
-\fICURLOPT_TIMEOUT(3)\fP and/or \fICURLOPT_LOW_SPEED_LIMIT(3)\fP options can
-be used to mitigate against this.
-
-A malicious server could cause libcurl to effectively hang by starting to send
-data, then severing the connection without cleanly closing the TCP connection.
-The app could install a \fICURLOPT_SOCKOPTFUNCTION(3)\fP callback function and
-set the TCP SO_KEEPALIVE option to mitigate against this.  Setting one of the
-timeout options would also work against this attack.
-
-A malicious server could cause libcurl to download an infinite amount of data,
-potentially causing all of memory or disk to be filled. Setting the
-\fICURLOPT_MAXFILESIZE_LARGE(3)\fP option is not sufficient to guard against
-this.  Instead, the app should monitor the amount of data received within the
-write or progress callback and abort once the limit is reached.
-
-A malicious HTTP server could cause an infinite redirection loop, causing a
-denial-of-service. This can be mitigated by using the
-\fICURLOPT_MAXREDIRS(3)\fP option.
-
-.IP "Arbitrary Headers"
-User-supplied data must be sanitized when used in options like
-\fICURLOPT_USERAGENT(3)\fP, \fICURLOPT_HTTPHEADER(3)\fP,
-\fICURLOPT_POSTFIELDS(3)\fP and others that are used to generate structured
-data. Characters like embedded carriage returns or ampersands could allow the
-user to create additional headers or fields that could cause malicious
-transactions.
-
-.IP "Server-supplied Names"
-A server can supply data which the application may, in some cases, use as
-a file name. The curl command-line tool does this with --remote-header-name,
-using the Content-disposition: header to generate a file name.  An application
-could also use CURLINFO_EFFECTIVE_URL to generate a file name from a
-server-supplied redirect URL. Special care must be taken to sanitize such
-names to avoid the possibility of a malicious server supplying one like
-"/etc/passwd", "\\autoexec.bat", "prn:" or even ".bashrc".
-
-.IP "Server Certificates"
-A secure application should never use the \fICURLOPT_SSL_VERIFYPEER(3)\fP
-option to disable certificate validation. There are numerous attacks that are
-enabled by apps that fail to properly validate server TLS/SSL certificates,
-thus enabling a malicious server to spoof a legitimate one. HTTPS without
-validated certificates is potentially as insecure as a plain HTTP connection.
-
-.IP "Showing What You Do"
-On a related issue, be aware that even in situations like when you have
-problems with libcurl and ask someone for help, everything you reveal in order
-to get best possible help might also impose certain security related
-risks. Host names, user names, paths, operating system specifics, etc. (not to
-mention passwords of course) may in fact be used by intruders to gain
-additional information of a potential target.
-
-Be sure to limit access to application logs if they could hold private or
-security-related data.  Besides the obvious candidates like user names and
-passwords, things like URLs, cookies or even file names could also hold
-sensitive data.
-
-To avoid this problem, you must of course use your common sense. Often, you
-can just edit out the sensitive data or just search/replace your true
-information with faked data.
-
+See \fIcurl_easy_getinfo(3)\fP.
 .SH "The multi Interface"
 The easy interface as described in detail in this document is a synchronous
 interface that transfers one file at a time and doesn't return until it is
diff --git a/docs/libcurl/libcurl.3 b/docs/libcurl/libcurl.3
index 86bfbcf..6026f10 100644
--- a/docs/libcurl/libcurl.3
+++ b/docs/libcurl/libcurl.3
@@ -19,7 +19,7 @@
 .\" * KIND, either express or implied.
 .\" *
 .\" **************************************************************************
-.TH libcurl 3 "July 15, 2017" "libcurl 7.58.0" "libcurl overview"
+.TH libcurl 3 "July 15, 2017" "libcurl 7.59.0" "libcurl overview"
 
 .SH NAME
 libcurl \- client-side URL transfers
diff --git a/docs/libcurl/opts/CURLINFO_ACTIVESOCKET.3 b/docs/libcurl/opts/CURLINFO_ACTIVESOCKET.3
index 38c3f8d..6cac17f 100644
--- a/docs/libcurl/opts/CURLINFO_ACTIVESOCKET.3
+++ b/docs/libcurl/opts/CURLINFO_ACTIVESOCKET.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_ACTIVESOCKET 3 "May 06, 2017" "libcurl 7.58.0" "curl_easy_getinfo options"
+.TH CURLINFO_ACTIVESOCKET 3 "May 06, 2017" "libcurl 7.59.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_ACTIVESOCKET \- get the active socket
diff --git a/docs/libcurl/opts/CURLINFO_APPCONNECT_TIME.3 b/docs/libcurl/opts/CURLINFO_APPCONNECT_TIME.3
index 445e8ec..7a8d7e0 100644
--- a/docs/libcurl/opts/CURLINFO_APPCONNECT_TIME.3
+++ b/docs/libcurl/opts/CURLINFO_APPCONNECT_TIME.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_APPCONNECT_TIME 3 "May 05, 2017" "libcurl 7.58.0" "curl_easy_getinfo options"
+.TH CURLINFO_APPCONNECT_TIME 3 "May 05, 2017" "libcurl 7.59.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_APPCONNECT_TIME \- get the time until the SSL/SSH handshake is completed
diff --git a/docs/libcurl/opts/CURLINFO_CERTINFO.3 b/docs/libcurl/opts/CURLINFO_CERTINFO.3
index ebb94e7..83a30bb 100644
--- a/docs/libcurl/opts/CURLINFO_CERTINFO.3
+++ b/docs/libcurl/opts/CURLINFO_CERTINFO.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_CERTINFO 3 "May 06, 2017" "libcurl 7.58.0" "curl_easy_getinfo options"
+.TH CURLINFO_CERTINFO 3 "May 06, 2017" "libcurl 7.59.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_CERTINFO \- get the TLS certificate chain
diff --git a/docs/libcurl/opts/CURLINFO_CONDITION_UNMET.3 b/docs/libcurl/opts/CURLINFO_CONDITION_UNMET.3
index 6d7a3b4..3caf566 100644
--- a/docs/libcurl/opts/CURLINFO_CONDITION_UNMET.3
+++ b/docs/libcurl/opts/CURLINFO_CONDITION_UNMET.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_CONDITION_UNMET 3 "May 06, 2017" "libcurl 7.58.0" "curl_easy_getinfo options"
+.TH CURLINFO_CONDITION_UNMET 3 "February 23, 2018" "libcurl 7.59.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_CONDITION_UNMET \- get info on unmet time conditional
@@ -32,7 +32,7 @@
 Pass a pointer to a long to receive the number 1 if the condition provided in
 the previous request didn't match (see \fICURLOPT_TIMECONDITION(3)\fP). Alas,
 if this returns a 1 you know that the reason you didn't get data in return is
-because it didn't fulfill the condition. The long ths argument points to will
+because it didn't fulfill the condition. The long this argument points to will
 get a zero stored if the condition instead was met.
 .SH PROTOCOLS
 HTTP and some
diff --git a/docs/libcurl/opts/CURLINFO_CONNECT_TIME.3 b/docs/libcurl/opts/CURLINFO_CONNECT_TIME.3
index 7be728d..90f9d08 100644
--- a/docs/libcurl/opts/CURLINFO_CONNECT_TIME.3
+++ b/docs/libcurl/opts/CURLINFO_CONNECT_TIME.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_CONNECT_TIME 3 "May 05, 2017" "libcurl 7.58.0" "curl_easy_getinfo options"
+.TH CURLINFO_CONNECT_TIME 3 "May 05, 2017" "libcurl 7.59.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_CONNECT_TIME \- get the time until connect
diff --git a/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_DOWNLOAD.3 b/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_DOWNLOAD.3
index cbe85c8..dedd772 100644
--- a/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_DOWNLOAD.3
+++ b/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_DOWNLOAD.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_CONTENT_LENGTH_DOWNLOAD 3 "June 15, 2017" "libcurl 7.58.0" "curl_easy_getinfo options"
+.TH CURLINFO_CONTENT_LENGTH_DOWNLOAD 3 "June 15, 2017" "libcurl 7.59.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_CONTENT_LENGTH_DOWNLOAD \- get content-length of download
diff --git a/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_DOWNLOAD_T.3 b/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_DOWNLOAD_T.3
index 556aee5..24456d1 100644
--- a/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_DOWNLOAD_T.3
+++ b/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_DOWNLOAD_T.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_CONTENT_LENGTH_DOWNLOAD_T 3 "June 15, 2017" "libcurl 7.58.0" "curl_easy_getinfo options"
+.TH CURLINFO_CONTENT_LENGTH_DOWNLOAD_T 3 "June 15, 2017" "libcurl 7.59.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_CONTENT_LENGTH_DOWNLOAD_T \- get content-length of download
diff --git a/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_UPLOAD.3 b/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_UPLOAD.3
index c60893a..9f345ef 100644
--- a/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_UPLOAD.3
+++ b/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_UPLOAD.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_CONTENT_LENGTH_UPLOAD 3 "June 15, 2017" "libcurl 7.58.0" "curl_easy_getinfo options"
+.TH CURLINFO_CONTENT_LENGTH_UPLOAD 3 "June 15, 2017" "libcurl 7.59.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_CONTENT_LENGTH_UPLOAD \- get the specified size of the upload
diff --git a/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_UPLOAD_T.3 b/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_UPLOAD_T.3
index bdd3c7f..ab7d938 100644
--- a/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_UPLOAD_T.3
+++ b/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_UPLOAD_T.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_CONTENT_LENGTH_UPLOAD_T 3 "June 15, 2017" "libcurl 7.58.0" "curl_easy_getinfo options"
+.TH CURLINFO_CONTENT_LENGTH_UPLOAD_T 3 "June 15, 2017" "libcurl 7.59.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_CONTENT_LENGTH_UPLOAD_T \- get the specified size of the upload
diff --git a/docs/libcurl/opts/CURLINFO_CONTENT_TYPE.3 b/docs/libcurl/opts/CURLINFO_CONTENT_TYPE.3
index c6c9536..9db1414 100644
--- a/docs/libcurl/opts/CURLINFO_CONTENT_TYPE.3
+++ b/docs/libcurl/opts/CURLINFO_CONTENT_TYPE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_CONTENT_TYPE 3 "May 06, 2017" "libcurl 7.58.0" "curl_easy_getinfo options"
+.TH CURLINFO_CONTENT_TYPE 3 "May 06, 2017" "libcurl 7.59.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_CONTENT_TYPE \- get Content-Type
diff --git a/docs/libcurl/opts/CURLINFO_COOKIELIST.3 b/docs/libcurl/opts/CURLINFO_COOKIELIST.3
index 55931fb..62039ad 100644
--- a/docs/libcurl/opts/CURLINFO_COOKIELIST.3
+++ b/docs/libcurl/opts/CURLINFO_COOKIELIST.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_COOKIELIST 3 "May 06, 2017" "libcurl 7.58.0" "curl_easy_getinfo options"
+.TH CURLINFO_COOKIELIST 3 "May 06, 2017" "libcurl 7.59.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_COOKIELIST \- get all known cookies
diff --git a/docs/libcurl/opts/CURLINFO_EFFECTIVE_URL.3 b/docs/libcurl/opts/CURLINFO_EFFECTIVE_URL.3
index 054f369..ec79319 100644
--- a/docs/libcurl/opts/CURLINFO_EFFECTIVE_URL.3
+++ b/docs/libcurl/opts/CURLINFO_EFFECTIVE_URL.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_EFFECTIVE_URL 3 "May 04, 2017" "libcurl 7.58.0" "curl_easy_getinfo options"
+.TH CURLINFO_EFFECTIVE_URL 3 "May 04, 2017" "libcurl 7.59.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_EFFECTIVE_URL \- get the last used URL
diff --git a/docs/libcurl/opts/CURLINFO_FILETIME.3 b/docs/libcurl/opts/CURLINFO_FILETIME.3
index f6298c3..0b77214 100644
--- a/docs/libcurl/opts/CURLINFO_FILETIME.3
+++ b/docs/libcurl/opts/CURLINFO_FILETIME.3
@@ -5,7 +5,7 @@
 .\" *                            | (__| |_| |  _ <| |___
 .\" *                             \___|\___/|_| \_\_____|
 .\" *
-.\" * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_FILETIME 3 "April 03, 2017" "libcurl 7.58.0" "curl_easy_getinfo options"
+.TH CURLINFO_FILETIME 3 "January 25, 2018" "libcurl 7.59.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_FILETIME \- get the remote time of the retrieved document
@@ -35,9 +35,12 @@
 hide it or the server doesn't support the command that tells document time
 etc) and the time of the document is unknown.
 
-Note that you must tell the server to collect this information before the
-transfer is made, by using the \fICURLOPT_FILETIME(3)\fP option to
-\fIcurl_easy_setopt(3)\fP or you will unconditionally get a -1 back.
+You must tell libcurl to collect this information before the transfer is made,
+by using the \fICURLOPT_FILETIME(3)\fP option to \fIcurl_easy_setopt(3)\fP or
+you will unconditionally get a -1 back.
+
+Consider using \fICURLINFO_FILETIME_T(3)\fP to be able to extract dates beyond
+the year 2038 on systems using 32 bit longs.
 .SH PROTOCOLS
 HTTP(S), FTP(S), SFTP
 .SH EXAMPLE
diff --git a/docs/libcurl/opts/CURLINFO_FILETIME_T.3 b/docs/libcurl/opts/CURLINFO_FILETIME_T.3
new file mode 100644
index 0000000..e9a9867
--- /dev/null
+++ b/docs/libcurl/opts/CURLINFO_FILETIME_T.3
@@ -0,0 +1,72 @@
+.\" **************************************************************************
+.\" *                                  _   _ ____  _
+.\" *  Project                     ___| | | |  _ \| |
+.\" *                             / __| | | | |_) | |
+.\" *                            | (__| |_| |  _ <| |___
+.\" *                             \___|\___/|_| \_\_____|
+.\" *
+.\" * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" *
+.\" * This software is licensed as described in the file COPYING, which
+.\" * you should have received as part of this distribution. The terms
+.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" *
+.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+.\" * copies of the Software, and permit persons to whom the Software is
+.\" * furnished to do so, under the terms of the COPYING file.
+.\" *
+.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+.\" * KIND, either express or implied.
+.\" *
+.\" **************************************************************************
+.\"
+.TH CURLINFO_FILETIME 3 "January 25, 2018" "libcurl 7.59.0" "curl_easy_getinfo options"
+
+.SH NAME
+CURLINFO_FILETIME_T \- get the remote time of the retrieved document
+.SH SYNOPSIS
+#include <curl/curl.h>
+
+CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_FILETIME_T, curl_off_t *timep);
+.SH DESCRIPTION
+Pass a pointer to a curl_off_t to receive the remote time of the retrieved
+document (in number of seconds since 1 jan 1970 in the GMT/UTC time zone). If
+you get -1, it can be because of many reasons (it might be unknown, the server
+might hide it or the server doesn't support the command that tells document
+time etc) and the time of the document is unknown.
+
+You must ask libcurl to collect this information before the transfer is made,
+by using the \fICURLOPT_FILETIME(3)\fP option to \fIcurl_easy_setopt(3)\fP or
+you will unconditionally get a -1 back.
+
+This option is an alternative to \fICURLINFO_FILETIME(3)\fP to allow systems
+with 32 bit long variables to extract dates outside of the 32bit timestamp
+range.
+.SH PROTOCOLS
+HTTP(S), FTP(S), SFTP
+.SH EXAMPLE
+.nf
+curl = curl_easy_init();
+if(curl) {
+  curl_easy_setopt(curl, CURLOPT_URL, url);
+  /* Ask for filetime */
+  curl_easy_setopt(curl, CURLOPT_FILETIME, 1L);
+  res = curl_easy_perform(curl);
+  if(CURLE_OK == res) {
+    curl_off_t filetime;
+    res = curl_easy_getinfo(curl, CURLINFO_FILETIME_T, &filetime);
+    if((CURLE_OK == res) && (filetime >= 0)) {
+      time_t file_time = (time_t)filetime;
+      printf("filetime %s: %s", filename, ctime(&file_time));
+    }
+  }
+  /* always cleanup */
+  curl_easy_cleanup(curl);
+}
+.fi
+.SH AVAILABILITY
+Added in 7.59.0
+.SH RETURN VALUE
+Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
+.SH "SEE ALSO"
+.BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), "
diff --git a/docs/libcurl/opts/CURLINFO_FTP_ENTRY_PATH.3 b/docs/libcurl/opts/CURLINFO_FTP_ENTRY_PATH.3
index 50c3fcc..039cf66 100644
--- a/docs/libcurl/opts/CURLINFO_FTP_ENTRY_PATH.3
+++ b/docs/libcurl/opts/CURLINFO_FTP_ENTRY_PATH.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_FTP_ENTRY_PATH 3 "May 06, 2017" "libcurl 7.58.0" "curl_easy_getinfo options"
+.TH CURLINFO_FTP_ENTRY_PATH 3 "May 06, 2017" "libcurl 7.59.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_FTP_ENTRY_PATH \- get entry path in FTP server
diff --git a/docs/libcurl/opts/CURLINFO_HEADER_SIZE.3 b/docs/libcurl/opts/CURLINFO_HEADER_SIZE.3
index 8cdee66..eee5d00 100644
--- a/docs/libcurl/opts/CURLINFO_HEADER_SIZE.3
+++ b/docs/libcurl/opts/CURLINFO_HEADER_SIZE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_HEADER_SIZE 3 "May 06, 2017" "libcurl 7.58.0" "curl_easy_getinfo options"
+.TH CURLINFO_HEADER_SIZE 3 "May 06, 2017" "libcurl 7.59.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_HEADER_SIZE \- get size of retrieved headers
diff --git a/docs/libcurl/opts/CURLINFO_HTTPAUTH_AVAIL.3 b/docs/libcurl/opts/CURLINFO_HTTPAUTH_AVAIL.3
index 9b478f2..dad576a 100644
--- a/docs/libcurl/opts/CURLINFO_HTTPAUTH_AVAIL.3
+++ b/docs/libcurl/opts/CURLINFO_HTTPAUTH_AVAIL.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_HTTPAUTH_AVAIL 3 "October 07, 2017" "libcurl 7.58.0" "curl_easy_getinfo options"
+.TH CURLINFO_HTTPAUTH_AVAIL 3 "October 07, 2017" "libcurl 7.59.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_HTTPAUTH_AVAIL \- get available HTTP authentication methods
diff --git a/docs/libcurl/opts/CURLINFO_HTTP_CONNECTCODE.3 b/docs/libcurl/opts/CURLINFO_HTTP_CONNECTCODE.3
index dca2652..4ada67e 100644
--- a/docs/libcurl/opts/CURLINFO_HTTP_CONNECTCODE.3
+++ b/docs/libcurl/opts/CURLINFO_HTTP_CONNECTCODE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_HTTP_CONNECTCODE 3 "May 06, 2017" "libcurl 7.58.0" "curl_easy_getinfo options"
+.TH CURLINFO_HTTP_CONNECTCODE 3 "May 06, 2017" "libcurl 7.59.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_HTTP_CONNECTCODE \- get the CONNECT response code
diff --git a/docs/libcurl/opts/CURLINFO_HTTP_VERSION.3 b/docs/libcurl/opts/CURLINFO_HTTP_VERSION.3
index 05ea0ef..b6aa769 100644
--- a/docs/libcurl/opts/CURLINFO_HTTP_VERSION.3
+++ b/docs/libcurl/opts/CURLINFO_HTTP_VERSION.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_HTTP_VERSION 3 "May 11, 2016" "libcurl 7.58.0" "curl_easy_getinfo options"
+.TH CURLINFO_HTTP_VERSION 3 "May 11, 2016" "libcurl 7.59.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_HTTP_VERSION \- get the http version used in the connection
diff --git a/docs/libcurl/opts/CURLINFO_LASTSOCKET.3 b/docs/libcurl/opts/CURLINFO_LASTSOCKET.3
index 6e971a7..0fa45e5 100644
--- a/docs/libcurl/opts/CURLINFO_LASTSOCKET.3
+++ b/docs/libcurl/opts/CURLINFO_LASTSOCKET.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_LASTSOCKET 3 "May 06, 2017" "libcurl 7.58.0" "curl_easy_getinfo options"
+.TH CURLINFO_LASTSOCKET 3 "May 06, 2017" "libcurl 7.59.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_LASTSOCKET \- get the last socket used
diff --git a/docs/libcurl/opts/CURLINFO_LOCAL_IP.3 b/docs/libcurl/opts/CURLINFO_LOCAL_IP.3
index 6bb0e3a..10643d2 100644
--- a/docs/libcurl/opts/CURLINFO_LOCAL_IP.3
+++ b/docs/libcurl/opts/CURLINFO_LOCAL_IP.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_LOCAL_IP 3 "May 05, 2017" "libcurl 7.58.0" "curl_easy_getinfo options"
+.TH CURLINFO_LOCAL_IP 3 "May 05, 2017" "libcurl 7.59.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_LOCAL_IP \- get local IP address of last connection
diff --git a/docs/libcurl/opts/CURLINFO_LOCAL_PORT.3 b/docs/libcurl/opts/CURLINFO_LOCAL_PORT.3
index 3b3db08..91a3bb6 100644
--- a/docs/libcurl/opts/CURLINFO_LOCAL_PORT.3
+++ b/docs/libcurl/opts/CURLINFO_LOCAL_PORT.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_LOCAL_PORT 3 "March 16, 2017" "libcurl 7.58.0" "curl_easy_getinfo options"
+.TH CURLINFO_LOCAL_PORT 3 "March 16, 2017" "libcurl 7.59.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_LOCAL_PORT \- get the latest local port number
diff --git a/docs/libcurl/opts/CURLINFO_NAMELOOKUP_TIME.3 b/docs/libcurl/opts/CURLINFO_NAMELOOKUP_TIME.3
index e7d7440..fba0972 100644
--- a/docs/libcurl/opts/CURLINFO_NAMELOOKUP_TIME.3
+++ b/docs/libcurl/opts/CURLINFO_NAMELOOKUP_TIME.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_NAMELOOKUP_TIME 3 "May 05, 2017" "libcurl 7.58.0" "curl_easy_getinfo options"
+.TH CURLINFO_NAMELOOKUP_TIME 3 "May 05, 2017" "libcurl 7.59.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_NAMELOOKUP_TIME \- get the name lookup time
diff --git a/docs/libcurl/opts/CURLINFO_NUM_CONNECTS.3 b/docs/libcurl/opts/CURLINFO_NUM_CONNECTS.3
index 52791bc..35389e1 100644
--- a/docs/libcurl/opts/CURLINFO_NUM_CONNECTS.3
+++ b/docs/libcurl/opts/CURLINFO_NUM_CONNECTS.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_NUM_CONNECTS 3 "May 06, 2017" "libcurl 7.58.0" "curl_easy_getinfo options"
+.TH CURLINFO_NUM_CONNECTS 3 "May 06, 2017" "libcurl 7.59.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_NUM_CONNECTS \- get number of created connections
diff --git a/docs/libcurl/opts/CURLINFO_OS_ERRNO.3 b/docs/libcurl/opts/CURLINFO_OS_ERRNO.3
index e0e20f1..e9b4ad0 100644
--- a/docs/libcurl/opts/CURLINFO_OS_ERRNO.3
+++ b/docs/libcurl/opts/CURLINFO_OS_ERRNO.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_OS_ERRNO 3 "May 15, 2017" "libcurl 7.58.0" "curl_easy_getinfo options"
+.TH CURLINFO_OS_ERRNO 3 "May 15, 2017" "libcurl 7.59.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_OS_ERRNO \- get errno number from last connect failure
diff --git a/docs/libcurl/opts/CURLINFO_PRETRANSFER_TIME.3 b/docs/libcurl/opts/CURLINFO_PRETRANSFER_TIME.3
index fd66724..debef22 100644
--- a/docs/libcurl/opts/CURLINFO_PRETRANSFER_TIME.3
+++ b/docs/libcurl/opts/CURLINFO_PRETRANSFER_TIME.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_PRETRANSFER_TIME 3 "May 05, 2017" "libcurl 7.58.0" "curl_easy_getinfo options"
+.TH CURLINFO_PRETRANSFER_TIME 3 "May 05, 2017" "libcurl 7.59.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_PRETRANSFER_TIME \- get the time until the file transfer start
diff --git a/docs/libcurl/opts/CURLINFO_PRIMARY_IP.3 b/docs/libcurl/opts/CURLINFO_PRIMARY_IP.3
index 524111d..ca3e2b1 100644
--- a/docs/libcurl/opts/CURLINFO_PRIMARY_IP.3
+++ b/docs/libcurl/opts/CURLINFO_PRIMARY_IP.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_PRIMARY_IP 3 "March 22, 2017" "libcurl 7.58.0" "curl_easy_getinfo options"
+.TH CURLINFO_PRIMARY_IP 3 "March 22, 2017" "libcurl 7.59.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_PRIMARY_IP \- get IP address of last connection
diff --git a/docs/libcurl/opts/CURLINFO_PRIMARY_PORT.3 b/docs/libcurl/opts/CURLINFO_PRIMARY_PORT.3
index 72e1905..f8124f2 100644
--- a/docs/libcurl/opts/CURLINFO_PRIMARY_PORT.3
+++ b/docs/libcurl/opts/CURLINFO_PRIMARY_PORT.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_PRIMARY_PORT 3 "May 06, 2017" "libcurl 7.58.0" "curl_easy_getinfo options"
+.TH CURLINFO_PRIMARY_PORT 3 "May 06, 2017" "libcurl 7.59.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_PRIMARY_PORT \- get the latest destination port number
diff --git a/docs/libcurl/opts/CURLINFO_PRIVATE.3 b/docs/libcurl/opts/CURLINFO_PRIVATE.3
index 366803e..647460f 100644
--- a/docs/libcurl/opts/CURLINFO_PRIVATE.3
+++ b/docs/libcurl/opts/CURLINFO_PRIVATE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_PRIVATE 3 "May 05, 2017" "libcurl 7.58.0" "curl_easy_getinfo options"
+.TH CURLINFO_PRIVATE 3 "May 05, 2017" "libcurl 7.59.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_PRIVATE \- get the private pointer
diff --git a/docs/libcurl/opts/CURLINFO_PROTOCOL.3 b/docs/libcurl/opts/CURLINFO_PROTOCOL.3
index 07cfec9..61aacf5 100644
--- a/docs/libcurl/opts/CURLINFO_PROTOCOL.3
+++ b/docs/libcurl/opts/CURLINFO_PROTOCOL.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_PROTOCOL 3 "November 23, 2016" "libcurl 7.58.0" "curl_easy_getinfo options"
+.TH CURLINFO_PROTOCOL 3 "November 23, 2016" "libcurl 7.59.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_PROTOCOL \- get the protocol used in the connection
diff --git a/docs/libcurl/opts/CURLINFO_PROXYAUTH_AVAIL.3 b/docs/libcurl/opts/CURLINFO_PROXYAUTH_AVAIL.3
index 4edb9f5..df4577b 100644
--- a/docs/libcurl/opts/CURLINFO_PROXYAUTH_AVAIL.3
+++ b/docs/libcurl/opts/CURLINFO_PROXYAUTH_AVAIL.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_PROXYAUTH_AVAIL 3 "October 07, 2017" "libcurl 7.58.0" "curl_easy_getinfo options"
+.TH CURLINFO_PROXYAUTH_AVAIL 3 "October 07, 2017" "libcurl 7.59.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_PROXYAUTH_AVAIL \- get available HTTP proxy authentication methods
diff --git a/docs/libcurl/opts/CURLINFO_PROXY_SSL_VERIFYRESULT.3 b/docs/libcurl/opts/CURLINFO_PROXY_SSL_VERIFYRESULT.3
index b317171..93057fc 100644
--- a/docs/libcurl/opts/CURLINFO_PROXY_SSL_VERIFYRESULT.3
+++ b/docs/libcurl/opts/CURLINFO_PROXY_SSL_VERIFYRESULT.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_PROXY_SSL_VERIFYRESULT 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_getinfo options"
+.TH CURLINFO_PROXY_SSL_VERIFYRESULT 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_PROXY_SSL_VERIFYRESULT \- get the result of the proxy certificate verification
diff --git a/docs/libcurl/opts/CURLINFO_REDIRECT_COUNT.3 b/docs/libcurl/opts/CURLINFO_REDIRECT_COUNT.3
index 4d3ea1d..88ac2ef 100644
--- a/docs/libcurl/opts/CURLINFO_REDIRECT_COUNT.3
+++ b/docs/libcurl/opts/CURLINFO_REDIRECT_COUNT.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_REDIRECT_COUNT 3 "May 05, 2017" "libcurl 7.58.0" "curl_easy_getinfo options"
+.TH CURLINFO_REDIRECT_COUNT 3 "May 05, 2017" "libcurl 7.59.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_REDIRECT_COUNT \- get the number of redirects
diff --git a/docs/libcurl/opts/CURLINFO_REDIRECT_TIME.3 b/docs/libcurl/opts/CURLINFO_REDIRECT_TIME.3
index 1061e31..8008a8e 100644
--- a/docs/libcurl/opts/CURLINFO_REDIRECT_TIME.3
+++ b/docs/libcurl/opts/CURLINFO_REDIRECT_TIME.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_REDIRECT_TIME 3 "May 05, 2017" "libcurl 7.58.0" "curl_easy_getinfo options"
+.TH CURLINFO_REDIRECT_TIME 3 "May 05, 2017" "libcurl 7.59.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_REDIRECT_TIME \- get the time for all redirection steps
diff --git a/docs/libcurl/opts/CURLINFO_REDIRECT_URL.3 b/docs/libcurl/opts/CURLINFO_REDIRECT_URL.3
index 4430e27..01db575 100644
--- a/docs/libcurl/opts/CURLINFO_REDIRECT_URL.3
+++ b/docs/libcurl/opts/CURLINFO_REDIRECT_URL.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_REDIRECT_URL 3 "June 24, 2017" "libcurl 7.58.0" "curl_easy_getinfo options"
+.TH CURLINFO_REDIRECT_URL 3 "June 24, 2017" "libcurl 7.59.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_REDIRECT_URL \- get the URL a redirect would go to
diff --git a/docs/libcurl/opts/CURLINFO_REQUEST_SIZE.3 b/docs/libcurl/opts/CURLINFO_REQUEST_SIZE.3
index 5bd4f8f..62c835f 100644
--- a/docs/libcurl/opts/CURLINFO_REQUEST_SIZE.3
+++ b/docs/libcurl/opts/CURLINFO_REQUEST_SIZE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_REQUEST_SIZE 3 "May 06, 2017" "libcurl 7.58.0" "curl_easy_getinfo options"
+.TH CURLINFO_REQUEST_SIZE 3 "May 06, 2017" "libcurl 7.59.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_REQUEST_SIZE \- get size of sent request
diff --git a/docs/libcurl/opts/CURLINFO_RESPONSE_CODE.3 b/docs/libcurl/opts/CURLINFO_RESPONSE_CODE.3
index c0d2acd..c44b64a 100644
--- a/docs/libcurl/opts/CURLINFO_RESPONSE_CODE.3
+++ b/docs/libcurl/opts/CURLINFO_RESPONSE_CODE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_RESPONSE_CODE 3 "February 03, 2016" "libcurl 7.58.0" "curl_easy_getinfo options"
+.TH CURLINFO_RESPONSE_CODE 3 "February 03, 2016" "libcurl 7.59.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_RESPONSE_CODE \- get the last response code
diff --git a/docs/libcurl/opts/CURLINFO_RTSP_CLIENT_CSEQ.3 b/docs/libcurl/opts/CURLINFO_RTSP_CLIENT_CSEQ.3
index 31cd7c3..d4f4a4e 100644
--- a/docs/libcurl/opts/CURLINFO_RTSP_CLIENT_CSEQ.3
+++ b/docs/libcurl/opts/CURLINFO_RTSP_CLIENT_CSEQ.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_RTSP_CLIENT_CSEQ 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_getinfo options"
+.TH CURLINFO_RTSP_CLIENT_CSEQ 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_RTSP_CLIENT_CSEQ \- get the next RTSP client CSeq
diff --git a/docs/libcurl/opts/CURLINFO_RTSP_CSEQ_RECV.3 b/docs/libcurl/opts/CURLINFO_RTSP_CSEQ_RECV.3
index 8a7eb49..6b2197d 100644
--- a/docs/libcurl/opts/CURLINFO_RTSP_CSEQ_RECV.3
+++ b/docs/libcurl/opts/CURLINFO_RTSP_CSEQ_RECV.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_RTSP_CSEQ_RECV 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_getinfo options"
+.TH CURLINFO_RTSP_CSEQ_RECV 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_RTSP_CSEQ_RECV \- get the recently received CSeq
diff --git a/docs/libcurl/opts/CURLINFO_RTSP_SERVER_CSEQ.3 b/docs/libcurl/opts/CURLINFO_RTSP_SERVER_CSEQ.3
index 6f28a3a..3854601 100644
--- a/docs/libcurl/opts/CURLINFO_RTSP_SERVER_CSEQ.3
+++ b/docs/libcurl/opts/CURLINFO_RTSP_SERVER_CSEQ.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_RTSP_SERVER_CSEQ 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_getinfo options"
+.TH CURLINFO_RTSP_SERVER_CSEQ 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_RTSP_SERVER_CSEQ \- get the next RTSP server CSeq
diff --git a/docs/libcurl/opts/CURLINFO_RTSP_SESSION_ID.3 b/docs/libcurl/opts/CURLINFO_RTSP_SESSION_ID.3
index 41a58a4..28ef058 100644
--- a/docs/libcurl/opts/CURLINFO_RTSP_SESSION_ID.3
+++ b/docs/libcurl/opts/CURLINFO_RTSP_SESSION_ID.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_RTSP_SESSION_ID 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_getinfo options"
+.TH CURLINFO_RTSP_SESSION_ID 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_RTSP_SESSION_ID \- get RTSP session ID
diff --git a/docs/libcurl/opts/CURLINFO_SCHEME.3 b/docs/libcurl/opts/CURLINFO_SCHEME.3
index 897ba7d..bdbfbf5 100644
--- a/docs/libcurl/opts/CURLINFO_SCHEME.3
+++ b/docs/libcurl/opts/CURLINFO_SCHEME.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_SCHEME 3 "April 08, 2017" "libcurl 7.58.0" "curl_easy_getinfo options"
+.TH CURLINFO_SCHEME 3 "April 08, 2017" "libcurl 7.59.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_SCHEME \- get the URL scheme (sometimes called protocol) used in the connection
diff --git a/docs/libcurl/opts/CURLINFO_SIZE_DOWNLOAD.3 b/docs/libcurl/opts/CURLINFO_SIZE_DOWNLOAD.3
index 4c3724f..baf96de 100644
--- a/docs/libcurl/opts/CURLINFO_SIZE_DOWNLOAD.3
+++ b/docs/libcurl/opts/CURLINFO_SIZE_DOWNLOAD.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_SIZE_DOWNLOAD 3 "June 15, 2017" "libcurl 7.58.0" "curl_easy_getinfo options"
+.TH CURLINFO_SIZE_DOWNLOAD 3 "June 15, 2017" "libcurl 7.59.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_SIZE_DOWNLOAD \- get the number of downloaded bytes
diff --git a/docs/libcurl/opts/CURLINFO_SIZE_DOWNLOAD_T.3 b/docs/libcurl/opts/CURLINFO_SIZE_DOWNLOAD_T.3
index 514de89..c0e8723 100644
--- a/docs/libcurl/opts/CURLINFO_SIZE_DOWNLOAD_T.3
+++ b/docs/libcurl/opts/CURLINFO_SIZE_DOWNLOAD_T.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_SIZE_DOWNLOAD_T 3 "June 15, 2017" "libcurl 7.58.0" "curl_easy_getinfo options"
+.TH CURLINFO_SIZE_DOWNLOAD_T 3 "June 15, 2017" "libcurl 7.59.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_SIZE_DOWNLOAD_T \- get the number of downloaded bytes
diff --git a/docs/libcurl/opts/CURLINFO_SIZE_UPLOAD.3 b/docs/libcurl/opts/CURLINFO_SIZE_UPLOAD.3
index 7b8431b..55363c4 100644
--- a/docs/libcurl/opts/CURLINFO_SIZE_UPLOAD.3
+++ b/docs/libcurl/opts/CURLINFO_SIZE_UPLOAD.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_SIZE_UPLOAD 3 "June 15, 2017" "libcurl 7.58.0" "curl_easy_getinfo options"
+.TH CURLINFO_SIZE_UPLOAD 3 "June 15, 2017" "libcurl 7.59.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_SIZE_UPLOAD \- get the number of uploaded bytes
diff --git a/docs/libcurl/opts/CURLINFO_SIZE_UPLOAD_T.3 b/docs/libcurl/opts/CURLINFO_SIZE_UPLOAD_T.3
index f342828..67d8e59 100644
--- a/docs/libcurl/opts/CURLINFO_SIZE_UPLOAD_T.3
+++ b/docs/libcurl/opts/CURLINFO_SIZE_UPLOAD_T.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_SIZE_UPLOAD_T 3 "June 15, 2017" "libcurl 7.58.0" "curl_easy_getinfo options"
+.TH CURLINFO_SIZE_UPLOAD_T 3 "June 15, 2017" "libcurl 7.59.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_SIZE_UPLOAD_T \- get the number of uploaded bytes
diff --git a/docs/libcurl/opts/CURLINFO_SPEED_DOWNLOAD.3 b/docs/libcurl/opts/CURLINFO_SPEED_DOWNLOAD.3
index 111f006..78ce1d0 100644
--- a/docs/libcurl/opts/CURLINFO_SPEED_DOWNLOAD.3
+++ b/docs/libcurl/opts/CURLINFO_SPEED_DOWNLOAD.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_SPEED_DOWNLOAD 3 "June 15, 2017" "libcurl 7.58.0" "curl_easy_getinfo options"
+.TH CURLINFO_SPEED_DOWNLOAD 3 "June 15, 2017" "libcurl 7.59.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_SPEED_DOWNLOAD \- get download speed
diff --git a/docs/libcurl/opts/CURLINFO_SPEED_DOWNLOAD_T.3 b/docs/libcurl/opts/CURLINFO_SPEED_DOWNLOAD_T.3
index dcbf904..4286fd6 100644
--- a/docs/libcurl/opts/CURLINFO_SPEED_DOWNLOAD_T.3
+++ b/docs/libcurl/opts/CURLINFO_SPEED_DOWNLOAD_T.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_SPEED_DOWNLOAD_T 3 "June 15, 2017" "libcurl 7.58.0" "curl_easy_getinfo options"
+.TH CURLINFO_SPEED_DOWNLOAD_T 3 "June 15, 2017" "libcurl 7.59.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_SPEED_DOWNLOAD_T \- get download speed
diff --git a/docs/libcurl/opts/CURLINFO_SPEED_UPLOAD.3 b/docs/libcurl/opts/CURLINFO_SPEED_UPLOAD.3
index 0b6cbef..4007527 100644
--- a/docs/libcurl/opts/CURLINFO_SPEED_UPLOAD.3
+++ b/docs/libcurl/opts/CURLINFO_SPEED_UPLOAD.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_SPEED_UPLOAD 3 "June 15, 2017" "libcurl 7.58.0" "curl_easy_getinfo options"
+.TH CURLINFO_SPEED_UPLOAD 3 "June 15, 2017" "libcurl 7.59.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_SPEED_UPLOAD \- get upload speed
diff --git a/docs/libcurl/opts/CURLINFO_SPEED_UPLOAD_T.3 b/docs/libcurl/opts/CURLINFO_SPEED_UPLOAD_T.3
index b16c817..c18f271 100644
--- a/docs/libcurl/opts/CURLINFO_SPEED_UPLOAD_T.3
+++ b/docs/libcurl/opts/CURLINFO_SPEED_UPLOAD_T.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_SPEED_UPLOAD_T 3 "June 15, 2017" "libcurl 7.58.0" "curl_easy_getinfo options"
+.TH CURLINFO_SPEED_UPLOAD_T 3 "June 15, 2017" "libcurl 7.59.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_SPEED_UPLOAD_T \- get upload speed
diff --git a/docs/libcurl/opts/CURLINFO_SSL_ENGINES.3 b/docs/libcurl/opts/CURLINFO_SSL_ENGINES.3
index 831044a..5658374 100644
--- a/docs/libcurl/opts/CURLINFO_SSL_ENGINES.3
+++ b/docs/libcurl/opts/CURLINFO_SSL_ENGINES.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_SSL_ENGINES 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_getinfo options"
+.TH CURLINFO_SSL_ENGINES 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_SSL_ENGINES \- get an slist of OpenSSL crypto-engines
diff --git a/docs/libcurl/opts/CURLINFO_SSL_VERIFYRESULT.3 b/docs/libcurl/opts/CURLINFO_SSL_VERIFYRESULT.3
index 0937d2f..d287ab8 100644
--- a/docs/libcurl/opts/CURLINFO_SSL_VERIFYRESULT.3
+++ b/docs/libcurl/opts/CURLINFO_SSL_VERIFYRESULT.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_SSL_VERIFYRESULT 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_getinfo options"
+.TH CURLINFO_SSL_VERIFYRESULT 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_SSL_VERIFYRESULT \- get the result of the certificate verification
diff --git a/docs/libcurl/opts/CURLINFO_STARTTRANSFER_TIME.3 b/docs/libcurl/opts/CURLINFO_STARTTRANSFER_TIME.3
index 1f470f8..dc9e6ab 100644
--- a/docs/libcurl/opts/CURLINFO_STARTTRANSFER_TIME.3
+++ b/docs/libcurl/opts/CURLINFO_STARTTRANSFER_TIME.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_STARTTRANSFER_TIME 3 "May 05, 2017" "libcurl 7.58.0" "curl_easy_getinfo options"
+.TH CURLINFO_STARTTRANSFER_TIME 3 "May 05, 2017" "libcurl 7.59.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_STARTTRANSFER_TIME \- get the time until the first byte is received
diff --git a/docs/libcurl/opts/CURLINFO_TLS_SESSION.3 b/docs/libcurl/opts/CURLINFO_TLS_SESSION.3
index 040c303..b201737 100644
--- a/docs/libcurl/opts/CURLINFO_TLS_SESSION.3
+++ b/docs/libcurl/opts/CURLINFO_TLS_SESSION.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_TLS_SESSION 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_getinfo options"
+.TH CURLINFO_TLS_SESSION 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_TLS_SESSION \- get TLS session info
diff --git a/docs/libcurl/opts/CURLINFO_TLS_SSL_PTR.3 b/docs/libcurl/opts/CURLINFO_TLS_SSL_PTR.3
index 6290619..4c792a8 100644
--- a/docs/libcurl/opts/CURLINFO_TLS_SSL_PTR.3
+++ b/docs/libcurl/opts/CURLINFO_TLS_SSL_PTR.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_TLS_SSL_PTR 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_getinfo options"
+.TH CURLINFO_TLS_SSL_PTR 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_TLS_SESSION, CURLINFO_TLS_SSL_PTR \- get TLS session info
diff --git a/docs/libcurl/opts/CURLINFO_TOTAL_TIME.3 b/docs/libcurl/opts/CURLINFO_TOTAL_TIME.3
index bcee5c0..c8979aa 100644
--- a/docs/libcurl/opts/CURLINFO_TOTAL_TIME.3
+++ b/docs/libcurl/opts/CURLINFO_TOTAL_TIME.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLINFO_TOTAL_TIME 3 "May 05, 2017" "libcurl 7.58.0" "curl_easy_getinfo options"
+.TH CURLINFO_TOTAL_TIME 3 "May 05, 2017" "libcurl 7.59.0" "curl_easy_getinfo options"
 
 .SH NAME
 CURLINFO_TOTAL_TIME \- get total time of previous transfer
diff --git a/docs/libcurl/opts/CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE.3 b/docs/libcurl/opts/CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE.3
index c104fc3..8beb3eb 100644
--- a/docs/libcurl/opts/CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE.3
+++ b/docs/libcurl/opts/CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE 3 "May 27, 2017" "libcurl 7.58.0" "curl_multi_setopt options"
+.TH CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE 3 "May 27, 2017" "libcurl 7.59.0" "curl_multi_setopt options"
 
 .SH NAME
 CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE \- chunk length threshold for pipelining
diff --git a/docs/libcurl/opts/CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE.3 b/docs/libcurl/opts/CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE.3
index bb06a27..9336de1 100644
--- a/docs/libcurl/opts/CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE.3
+++ b/docs/libcurl/opts/CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE 3 "May 27, 2017" "libcurl 7.58.0" "curl_multi_setopt options"
+.TH CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE 3 "May 27, 2017" "libcurl 7.59.0" "curl_multi_setopt options"
 
 .SH NAME
 CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE \- size threshold for pipelining penalty
diff --git a/docs/libcurl/opts/CURLMOPT_MAXCONNECTS.3 b/docs/libcurl/opts/CURLMOPT_MAXCONNECTS.3
index 1e3c4d5..6795c8b 100644
--- a/docs/libcurl/opts/CURLMOPT_MAXCONNECTS.3
+++ b/docs/libcurl/opts/CURLMOPT_MAXCONNECTS.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLMOPT_MAXCONNECTS 3 "May 27, 2017" "libcurl 7.58.0" "curl_multi_setopt options"
+.TH CURLMOPT_MAXCONNECTS 3 "May 27, 2017" "libcurl 7.59.0" "curl_multi_setopt options"
 
 .SH NAME
 CURLMOPT_MAXCONNECTS \- set size of connection cache
diff --git a/docs/libcurl/opts/CURLMOPT_MAX_HOST_CONNECTIONS.3 b/docs/libcurl/opts/CURLMOPT_MAX_HOST_CONNECTIONS.3
index 5a8eb34..ebc84c8 100644
--- a/docs/libcurl/opts/CURLMOPT_MAX_HOST_CONNECTIONS.3
+++ b/docs/libcurl/opts/CURLMOPT_MAX_HOST_CONNECTIONS.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLMOPT_MAX_HOST_CONNECTIONS 3 "May 27, 2017" "libcurl 7.58.0" "curl_multi_setopt options"
+.TH CURLMOPT_MAX_HOST_CONNECTIONS 3 "May 27, 2017" "libcurl 7.59.0" "curl_multi_setopt options"
 
 .SH NAME
 CURLMOPT_MAX_HOST_CONNECTIONS \- set max number of connections to a single host
diff --git a/docs/libcurl/opts/CURLMOPT_MAX_PIPELINE_LENGTH.3 b/docs/libcurl/opts/CURLMOPT_MAX_PIPELINE_LENGTH.3
index c130045..aedcefc 100644
--- a/docs/libcurl/opts/CURLMOPT_MAX_PIPELINE_LENGTH.3
+++ b/docs/libcurl/opts/CURLMOPT_MAX_PIPELINE_LENGTH.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLMOPT_MAX_PIPELINE_LENGTH 3 "May 27, 2017" "libcurl 7.58.0" "curl_multi_setopt options"
+.TH CURLMOPT_MAX_PIPELINE_LENGTH 3 "May 27, 2017" "libcurl 7.59.0" "curl_multi_setopt options"
 
 .SH NAME
 CURLMOPT_MAX_PIPELINE_LENGTH \- maximum number of requests in a pipeline
diff --git a/docs/libcurl/opts/CURLMOPT_MAX_TOTAL_CONNECTIONS.3 b/docs/libcurl/opts/CURLMOPT_MAX_TOTAL_CONNECTIONS.3
index ad3afa1..8fe2dfb 100644
--- a/docs/libcurl/opts/CURLMOPT_MAX_TOTAL_CONNECTIONS.3
+++ b/docs/libcurl/opts/CURLMOPT_MAX_TOTAL_CONNECTIONS.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLMOPT_MAX_TOTAL_CONNECTIONS 3 "May 27, 2017" "libcurl 7.58.0" "curl_multi_setopt options"
+.TH CURLMOPT_MAX_TOTAL_CONNECTIONS 3 "May 27, 2017" "libcurl 7.59.0" "curl_multi_setopt options"
 
 .SH NAME
 CURLMOPT_MAX_TOTAL_CONNECTIONS \- max simultaneously open connections
diff --git a/docs/libcurl/opts/CURLMOPT_PIPELINING.3 b/docs/libcurl/opts/CURLMOPT_PIPELINING.3
index 79eea40..6f236dd 100644
--- a/docs/libcurl/opts/CURLMOPT_PIPELINING.3
+++ b/docs/libcurl/opts/CURLMOPT_PIPELINING.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLMOPT_PIPELINING 3 "May 27, 2017" "libcurl 7.58.0" "curl_multi_setopt options"
+.TH CURLMOPT_PIPELINING 3 "May 27, 2017" "libcurl 7.59.0" "curl_multi_setopt options"
 
 .SH NAME
 CURLMOPT_PIPELINING \- enable HTTP pipelining and multiplexing
diff --git a/docs/libcurl/opts/CURLMOPT_PIPELINING_SERVER_BL.3 b/docs/libcurl/opts/CURLMOPT_PIPELINING_SERVER_BL.3
index 96d5336..7d4918e 100644
--- a/docs/libcurl/opts/CURLMOPT_PIPELINING_SERVER_BL.3
+++ b/docs/libcurl/opts/CURLMOPT_PIPELINING_SERVER_BL.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLMOPT_PIPELINING_SERVER_BL 3 "February 03, 2016" "libcurl 7.58.0" "curl_multi_setopt options"
+.TH CURLMOPT_PIPELINING_SERVER_BL 3 "February 03, 2016" "libcurl 7.59.0" "curl_multi_setopt options"
 
 .SH NAME
 CURLMOPT_PIPELINING_SERVER_BL \- pipelining server blacklist
diff --git a/docs/libcurl/opts/CURLMOPT_PIPELINING_SITE_BL.3 b/docs/libcurl/opts/CURLMOPT_PIPELINING_SITE_BL.3
index 9407218..990924c 100644
--- a/docs/libcurl/opts/CURLMOPT_PIPELINING_SITE_BL.3
+++ b/docs/libcurl/opts/CURLMOPT_PIPELINING_SITE_BL.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLMOPT_PIPELINING_SITE_BL 3 "February 03, 2016" "libcurl 7.58.0" "curl_multi_setopt options"
+.TH CURLMOPT_PIPELINING_SITE_BL 3 "February 03, 2016" "libcurl 7.59.0" "curl_multi_setopt options"
 
 .SH NAME
 CURLMOPT_PIPELINING_SITE_BL \- pipelining host blacklist
diff --git a/docs/libcurl/opts/CURLMOPT_PUSHDATA.3 b/docs/libcurl/opts/CURLMOPT_PUSHDATA.3
index f69afa2..fa14fb1 100644
--- a/docs/libcurl/opts/CURLMOPT_PUSHDATA.3
+++ b/docs/libcurl/opts/CURLMOPT_PUSHDATA.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLMOPT_PUSHDATA 3 "May 27, 2017" "libcurl 7.58.0" "curl_multi_setopt options"
+.TH CURLMOPT_PUSHDATA 3 "May 27, 2017" "libcurl 7.59.0" "curl_multi_setopt options"
 
 .SH NAME
 CURLMOPT_PUSHDATA \- pointer to pass to push callback
diff --git a/docs/libcurl/opts/CURLMOPT_PUSHFUNCTION.3 b/docs/libcurl/opts/CURLMOPT_PUSHFUNCTION.3
index 13272dd..c7bb392 100644
--- a/docs/libcurl/opts/CURLMOPT_PUSHFUNCTION.3
+++ b/docs/libcurl/opts/CURLMOPT_PUSHFUNCTION.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLMOPT_PUSHFUNCTION 3 "February 03, 2016" "libcurl 7.58.0" "curl_multi_setopt options"
+.TH CURLMOPT_PUSHFUNCTION 3 "February 03, 2016" "libcurl 7.59.0" "curl_multi_setopt options"
 
 .SH NAME
 CURLMOPT_PUSHFUNCTION \- callback that approves or denies server pushes
diff --git a/docs/libcurl/opts/CURLMOPT_SOCKETDATA.3 b/docs/libcurl/opts/CURLMOPT_SOCKETDATA.3
index f5b5690..fb05882 100644
--- a/docs/libcurl/opts/CURLMOPT_SOCKETDATA.3
+++ b/docs/libcurl/opts/CURLMOPT_SOCKETDATA.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLMOPT_SOCKETDATA 3 "May 31, 2017" "libcurl 7.58.0" "curl_multi_setopt options"
+.TH CURLMOPT_SOCKETDATA 3 "May 31, 2017" "libcurl 7.59.0" "curl_multi_setopt options"
 
 .SH NAME
 CURLMOPT_SOCKETDATA \- custom pointer passed to the socket callback
diff --git a/docs/libcurl/opts/CURLMOPT_SOCKETFUNCTION.3 b/docs/libcurl/opts/CURLMOPT_SOCKETFUNCTION.3
index 249a201..3e4ea8f 100644
--- a/docs/libcurl/opts/CURLMOPT_SOCKETFUNCTION.3
+++ b/docs/libcurl/opts/CURLMOPT_SOCKETFUNCTION.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLMOPT_SOCKETFUNCTION 3 "May 31, 2017" "libcurl 7.58.0" "curl_multi_setopt options"
+.TH CURLMOPT_SOCKETFUNCTION 3 "May 31, 2017" "libcurl 7.59.0" "curl_multi_setopt options"
 
 .SH NAME
 CURLMOPT_SOCKETFUNCTION \- callback informed about what to wait for
diff --git a/docs/libcurl/opts/CURLMOPT_TIMERDATA.3 b/docs/libcurl/opts/CURLMOPT_TIMERDATA.3
index 2555c0d..cc9ed5a 100644
--- a/docs/libcurl/opts/CURLMOPT_TIMERDATA.3
+++ b/docs/libcurl/opts/CURLMOPT_TIMERDATA.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLMOPT_TIMERDATA 3 "May 27, 2017" "libcurl 7.58.0" "curl_multi_setopt options"
+.TH CURLMOPT_TIMERDATA 3 "May 27, 2017" "libcurl 7.59.0" "curl_multi_setopt options"
 
 .SH NAME
 CURLMOPT_TIMERDATA \- custom pointer to pass to timer callback
diff --git a/docs/libcurl/opts/CURLMOPT_TIMERFUNCTION.3 b/docs/libcurl/opts/CURLMOPT_TIMERFUNCTION.3
index 32ca192..b512098 100644
--- a/docs/libcurl/opts/CURLMOPT_TIMERFUNCTION.3
+++ b/docs/libcurl/opts/CURLMOPT_TIMERFUNCTION.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLMOPT_TIMERFUNCTION 3 "May 27, 2017" "libcurl 7.58.0" "curl_multi_setopt options"
+.TH CURLMOPT_TIMERFUNCTION 3 "May 27, 2017" "libcurl 7.59.0" "curl_multi_setopt options"
 
 .SH NAME
 CURLMOPT_TIMERFUNCTION \- set callback to receive timeout values
diff --git a/docs/libcurl/opts/CURLOPT_ABSTRACT_UNIX_SOCKET.3 b/docs/libcurl/opts/CURLOPT_ABSTRACT_UNIX_SOCKET.3
index 63259c6..b5976a0 100644
--- a/docs/libcurl/opts/CURLOPT_ABSTRACT_UNIX_SOCKET.3
+++ b/docs/libcurl/opts/CURLOPT_ABSTRACT_UNIX_SOCKET.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_ABSTRACT_UNIX_SOCKET 3 "January 09, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_ABSTRACT_UNIX_SOCKET 3 "January 09, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_ABSTRACT_UNIX_SOCKET \- set an abstract Unix domain socket
diff --git a/docs/libcurl/opts/CURLOPT_ACCEPTTIMEOUT_MS.3 b/docs/libcurl/opts/CURLOPT_ACCEPTTIMEOUT_MS.3
index 8384c71..836a5e5 100644
--- a/docs/libcurl/opts/CURLOPT_ACCEPTTIMEOUT_MS.3
+++ b/docs/libcurl/opts/CURLOPT_ACCEPTTIMEOUT_MS.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_ACCEPTTIMEOUT_MS 3 "March 06, 2016" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_ACCEPTTIMEOUT_MS 3 "March 06, 2016" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_ACCEPTTIMEOUT_MS \- timeout waiting for FTP server to connect back
diff --git a/docs/libcurl/opts/CURLOPT_ACCEPT_ENCODING.3 b/docs/libcurl/opts/CURLOPT_ACCEPT_ENCODING.3
index 733f6fb..682e250 100644
--- a/docs/libcurl/opts/CURLOPT_ACCEPT_ENCODING.3
+++ b/docs/libcurl/opts/CURLOPT_ACCEPT_ENCODING.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_ACCEPT_ENCODING 3 "December 21, 2016" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_ACCEPT_ENCODING 3 "December 21, 2016" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_ACCEPT_ENCODING \- enables automatic decompression of HTTP downloads
diff --git a/docs/libcurl/opts/CURLOPT_ADDRESS_SCOPE.3 b/docs/libcurl/opts/CURLOPT_ADDRESS_SCOPE.3
index 60ccdeb..30d0834 100644
--- a/docs/libcurl/opts/CURLOPT_ADDRESS_SCOPE.3
+++ b/docs/libcurl/opts/CURLOPT_ADDRESS_SCOPE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_ADDRESS_SCOPE 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_ADDRESS_SCOPE 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_ADDRESS_SCOPE \- set scope for local IPv6 addresses
diff --git a/docs/libcurl/opts/CURLOPT_APPEND.3 b/docs/libcurl/opts/CURLOPT_APPEND.3
index 0a60ef6..7f8ab63 100644
--- a/docs/libcurl/opts/CURLOPT_APPEND.3
+++ b/docs/libcurl/opts/CURLOPT_APPEND.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_APPEND 3 "March 06, 2016" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_APPEND 3 "March 06, 2016" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_APPEND \- enable appending to the remote file
diff --git a/docs/libcurl/opts/CURLOPT_AUTOREFERER.3 b/docs/libcurl/opts/CURLOPT_AUTOREFERER.3
index 88c22fa..8e01d65 100644
--- a/docs/libcurl/opts/CURLOPT_AUTOREFERER.3
+++ b/docs/libcurl/opts/CURLOPT_AUTOREFERER.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_AUTOREFERER 3 "May 05, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_AUTOREFERER 3 "May 05, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_AUTOREFERER \- automatically update the referer header
diff --git a/docs/libcurl/opts/CURLOPT_BUFFERSIZE.3 b/docs/libcurl/opts/CURLOPT_BUFFERSIZE.3
index cf8a781..3be6aaf 100644
--- a/docs/libcurl/opts/CURLOPT_BUFFERSIZE.3
+++ b/docs/libcurl/opts/CURLOPT_BUFFERSIZE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_BUFFERSIZE 3 "May 13, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_BUFFERSIZE 3 "May 13, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_BUFFERSIZE \- set preferred receive buffer size
diff --git a/docs/libcurl/opts/CURLOPT_CAINFO.3 b/docs/libcurl/opts/CURLOPT_CAINFO.3
index b73d129..9e159eb 100644
--- a/docs/libcurl/opts/CURLOPT_CAINFO.3
+++ b/docs/libcurl/opts/CURLOPT_CAINFO.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_CAINFO 3 "May 27, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_CAINFO 3 "May 27, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_CAINFO \- path to Certificate Authority (CA) bundle
diff --git a/docs/libcurl/opts/CURLOPT_CAPATH.3 b/docs/libcurl/opts/CURLOPT_CAPATH.3
index 1c4da8b..dd85be5 100644
--- a/docs/libcurl/opts/CURLOPT_CAPATH.3
+++ b/docs/libcurl/opts/CURLOPT_CAPATH.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_CAPATH 3 "September 10, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_CAPATH 3 "September 10, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_CAPATH \- specify directory holding CA certificates
diff --git a/docs/libcurl/opts/CURLOPT_CERTINFO.3 b/docs/libcurl/opts/CURLOPT_CERTINFO.3
index 5b439a2..2333d9a 100644
--- a/docs/libcurl/opts/CURLOPT_CERTINFO.3
+++ b/docs/libcurl/opts/CURLOPT_CERTINFO.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_CERTINFO 3 "May 27, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_CERTINFO 3 "May 27, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_CERTINFO \- request SSL certificate information
diff --git a/docs/libcurl/opts/CURLOPT_CHUNK_BGN_FUNCTION.3 b/docs/libcurl/opts/CURLOPT_CHUNK_BGN_FUNCTION.3
index a7f4fce..19c6c2a 100644
--- a/docs/libcurl/opts/CURLOPT_CHUNK_BGN_FUNCTION.3
+++ b/docs/libcurl/opts/CURLOPT_CHUNK_BGN_FUNCTION.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_CHUNK_BGN_FUNCTION 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_CHUNK_BGN_FUNCTION 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_CHUNK_BGN_FUNCTION \- callback before a transfer with FTP wildcardmatch
diff --git a/docs/libcurl/opts/CURLOPT_CHUNK_DATA.3 b/docs/libcurl/opts/CURLOPT_CHUNK_DATA.3
index 43f1317..9636a11 100644
--- a/docs/libcurl/opts/CURLOPT_CHUNK_DATA.3
+++ b/docs/libcurl/opts/CURLOPT_CHUNK_DATA.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_CHUNK_DATA 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_CHUNK_DATA 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_CHUNK_DATA \- custom pointer to the FTP chunk callbacks
diff --git a/docs/libcurl/opts/CURLOPT_CHUNK_END_FUNCTION.3 b/docs/libcurl/opts/CURLOPT_CHUNK_END_FUNCTION.3
index 888eb2c..d1621e4 100644
--- a/docs/libcurl/opts/CURLOPT_CHUNK_END_FUNCTION.3
+++ b/docs/libcurl/opts/CURLOPT_CHUNK_END_FUNCTION.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_CHUNK_END_FUNCTION 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_CHUNK_END_FUNCTION 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_CHUNK_END_FUNCTION \- callback after a transfer with FTP wildcardmatch
diff --git a/docs/libcurl/opts/CURLOPT_CLOSESOCKETDATA.3 b/docs/libcurl/opts/CURLOPT_CLOSESOCKETDATA.3
index 862bd2e..019a259 100644
--- a/docs/libcurl/opts/CURLOPT_CLOSESOCKETDATA.3
+++ b/docs/libcurl/opts/CURLOPT_CLOSESOCKETDATA.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_CLOSESOCKETDATA 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_CLOSESOCKETDATA 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_CLOSESOCKETDATA \- pointer passed to the socket close callback
diff --git a/docs/libcurl/opts/CURLOPT_CLOSESOCKETFUNCTION.3 b/docs/libcurl/opts/CURLOPT_CLOSESOCKETFUNCTION.3
index 41ca8a1..4bf2b7f 100644
--- a/docs/libcurl/opts/CURLOPT_CLOSESOCKETFUNCTION.3
+++ b/docs/libcurl/opts/CURLOPT_CLOSESOCKETFUNCTION.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_CLOSESOCKETFUNCTION 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_CLOSESOCKETFUNCTION 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_CLOSESOCKETFUNCTION \- callback to socket close replacement function
diff --git a/docs/libcurl/opts/CURLOPT_CONNECTTIMEOUT.3 b/docs/libcurl/opts/CURLOPT_CONNECTTIMEOUT.3
index 3abc547..3d54b27 100644
--- a/docs/libcurl/opts/CURLOPT_CONNECTTIMEOUT.3
+++ b/docs/libcurl/opts/CURLOPT_CONNECTTIMEOUT.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_CONNECTTIMEOUT 3 "October 03, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_CONNECTTIMEOUT 3 "October 03, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_CONNECTTIMEOUT \- timeout for the connect phase
diff --git a/docs/libcurl/opts/CURLOPT_CONNECTTIMEOUT_MS.3 b/docs/libcurl/opts/CURLOPT_CONNECTTIMEOUT_MS.3
index f2a2872..f6c8255 100644
--- a/docs/libcurl/opts/CURLOPT_CONNECTTIMEOUT_MS.3
+++ b/docs/libcurl/opts/CURLOPT_CONNECTTIMEOUT_MS.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_CONNECTTIMEOUT_MS 3 "September 24, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_CONNECTTIMEOUT_MS 3 "September 24, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_CONNECTTIMEOUT_MS \- timeout for the connect phase
diff --git a/docs/libcurl/opts/CURLOPT_CONNECT_ONLY.3 b/docs/libcurl/opts/CURLOPT_CONNECT_ONLY.3
index aa4b01b..0cf889a 100644
--- a/docs/libcurl/opts/CURLOPT_CONNECT_ONLY.3
+++ b/docs/libcurl/opts/CURLOPT_CONNECT_ONLY.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_CONNECT_ONLY 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_CONNECT_ONLY 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_CONNECT_ONLY \- stop when connected to target server
diff --git a/docs/libcurl/opts/CURLOPT_CONNECT_TO.3 b/docs/libcurl/opts/CURLOPT_CONNECT_TO.3
index 3747871..bfab71c 100644
--- a/docs/libcurl/opts/CURLOPT_CONNECT_TO.3
+++ b/docs/libcurl/opts/CURLOPT_CONNECT_TO.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_CONNECT_TO 3 "May 20, 2016" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_CONNECT_TO 3 "May 20, 2016" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_CONNECT_TO \- Connect to a specific host and port instead of the URL's host and port
diff --git a/docs/libcurl/opts/CURLOPT_CONV_FROM_NETWORK_FUNCTION.3 b/docs/libcurl/opts/CURLOPT_CONV_FROM_NETWORK_FUNCTION.3
index 7e7d456..94dc6b8 100644
--- a/docs/libcurl/opts/CURLOPT_CONV_FROM_NETWORK_FUNCTION.3
+++ b/docs/libcurl/opts/CURLOPT_CONV_FROM_NETWORK_FUNCTION.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_CONV_FROM_NETWORK_FUNCTION 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_CONV_FROM_NETWORK_FUNCTION 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_CONV_FROM_NETWORK_FUNCTION \- convert data from network to host encoding
diff --git a/docs/libcurl/opts/CURLOPT_CONV_FROM_UTF8_FUNCTION.3 b/docs/libcurl/opts/CURLOPT_CONV_FROM_UTF8_FUNCTION.3
index 14b89a0..66dd8ae 100644
--- a/docs/libcurl/opts/CURLOPT_CONV_FROM_UTF8_FUNCTION.3
+++ b/docs/libcurl/opts/CURLOPT_CONV_FROM_UTF8_FUNCTION.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_CONV_FROM_UTF8_FUNCTION 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_CONV_FROM_UTF8_FUNCTION 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_CONV_FROM_UTF8_FUNCTION \- convert data from UTF8 to host encoding
diff --git a/docs/libcurl/opts/CURLOPT_CONV_TO_NETWORK_FUNCTION.3 b/docs/libcurl/opts/CURLOPT_CONV_TO_NETWORK_FUNCTION.3
index 462a035..2ab7647 100644
--- a/docs/libcurl/opts/CURLOPT_CONV_TO_NETWORK_FUNCTION.3
+++ b/docs/libcurl/opts/CURLOPT_CONV_TO_NETWORK_FUNCTION.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_CONV_TO_NETWORK_FUNCTION 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_CONV_TO_NETWORK_FUNCTION 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_CONV_TO_NETWORK_FUNCTION \- convert data to network from host encoding
diff --git a/docs/libcurl/opts/CURLOPT_COOKIE.3 b/docs/libcurl/opts/CURLOPT_COOKIE.3
index 621ed49..b76ac25 100644
--- a/docs/libcurl/opts/CURLOPT_COOKIE.3
+++ b/docs/libcurl/opts/CURLOPT_COOKIE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_COOKIE 3 "December 21, 2016" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_COOKIE 3 "December 21, 2016" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_COOKIE \- set contents of HTTP Cookie header
diff --git a/docs/libcurl/opts/CURLOPT_COOKIEFILE.3 b/docs/libcurl/opts/CURLOPT_COOKIEFILE.3
index 9ee6f66..a298196 100644
--- a/docs/libcurl/opts/CURLOPT_COOKIEFILE.3
+++ b/docs/libcurl/opts/CURLOPT_COOKIEFILE.3
@@ -5,7 +5,7 @@
 .\" *                            | (__| |_| |  _ <| |___
 .\" *                             \___|\___/|_| \_\_____|
 .\" *
-.\" * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_COOKIEFILE 3 "May 05, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_COOKIEFILE 3 "March 13, 2018" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_COOKIEFILE \- file name to read cookies from
@@ -39,7 +39,8 @@
 
 Given an empty or non-existing file or by passing the empty string ("") to
 this option, you can enable the cookie engine without reading any initial
-cookies.
+cookies. If you tell libcurl the file name is "-" (just a single minus sign),
+libcurl will instead read from stdin.
 
 This option only \fBreads\fP cookies. To make libcurl write cookies to file,
 see \fICURLOPT_COOKIEJAR(3)\fP.
diff --git a/docs/libcurl/opts/CURLOPT_COOKIEJAR.3 b/docs/libcurl/opts/CURLOPT_COOKIEJAR.3
index c6649de..16036cb 100644
--- a/docs/libcurl/opts/CURLOPT_COOKIEJAR.3
+++ b/docs/libcurl/opts/CURLOPT_COOKIEJAR.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_COOKIEJAR 3 "May 05, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_COOKIEJAR 3 "May 05, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_COOKIEJAR \- file name to store cookies to
diff --git a/docs/libcurl/opts/CURLOPT_COOKIELIST.3 b/docs/libcurl/opts/CURLOPT_COOKIELIST.3
index 8cadbd3..402b743 100644
--- a/docs/libcurl/opts/CURLOPT_COOKIELIST.3
+++ b/docs/libcurl/opts/CURLOPT_COOKIELIST.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_COOKIELIST 3 "April 26, 2016" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_COOKIELIST 3 "April 26, 2016" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_COOKIELIST \- add to or manipulate cookies held in memory
diff --git a/docs/libcurl/opts/CURLOPT_COOKIESESSION.3 b/docs/libcurl/opts/CURLOPT_COOKIESESSION.3
index 6c8bf03..cb49bae 100644
--- a/docs/libcurl/opts/CURLOPT_COOKIESESSION.3
+++ b/docs/libcurl/opts/CURLOPT_COOKIESESSION.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_COOKIESESSION 3 "May 05, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_COOKIESESSION 3 "May 05, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_COOKIESESSION \- start a new cookie session
diff --git a/docs/libcurl/opts/CURLOPT_COPYPOSTFIELDS.3 b/docs/libcurl/opts/CURLOPT_COPYPOSTFIELDS.3
index 46fead3..07ecad1 100644
--- a/docs/libcurl/opts/CURLOPT_COPYPOSTFIELDS.3
+++ b/docs/libcurl/opts/CURLOPT_COPYPOSTFIELDS.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_COPYPOSTFIELDS 3 "February 03, 2016" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_COPYPOSTFIELDS 3 "February 03, 2016" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_COPYPOSTFIELDS \- have libcurl copy data to POST
diff --git a/docs/libcurl/opts/CURLOPT_CRLF.3 b/docs/libcurl/opts/CURLOPT_CRLF.3
index 917095a..56d71bf 100644
--- a/docs/libcurl/opts/CURLOPT_CRLF.3
+++ b/docs/libcurl/opts/CURLOPT_CRLF.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_CRLF 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_CRLF 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_CRLF \- enable/disable CRLF conversion
diff --git a/docs/libcurl/opts/CURLOPT_CRLFILE.3 b/docs/libcurl/opts/CURLOPT_CRLFILE.3
index 8980823..3e3d5ce 100644
--- a/docs/libcurl/opts/CURLOPT_CRLFILE.3
+++ b/docs/libcurl/opts/CURLOPT_CRLFILE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_CRLFILE 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_CRLFILE 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_CRLFILE \- specify a Certificate Revocation List file
diff --git a/docs/libcurl/opts/CURLOPT_CUSTOMREQUEST.3 b/docs/libcurl/opts/CURLOPT_CUSTOMREQUEST.3
index 9e9a4d4..16e413e 100644
--- a/docs/libcurl/opts/CURLOPT_CUSTOMREQUEST.3
+++ b/docs/libcurl/opts/CURLOPT_CUSTOMREQUEST.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_CUSTOMREQUEST 3 "June 21, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_CUSTOMREQUEST 3 "June 21, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_CUSTOMREQUEST \- custom string for request
diff --git a/docs/libcurl/opts/CURLOPT_DEBUGDATA.3 b/docs/libcurl/opts/CURLOPT_DEBUGDATA.3
index e229ec8..6253302 100644
--- a/docs/libcurl/opts/CURLOPT_DEBUGDATA.3
+++ b/docs/libcurl/opts/CURLOPT_DEBUGDATA.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_DEBUGDATA 3 "February 03, 2016" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_DEBUGDATA 3 "February 03, 2016" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_DEBUGDATA \- custom pointer for debug callback
diff --git a/docs/libcurl/opts/CURLOPT_DEBUGFUNCTION.3 b/docs/libcurl/opts/CURLOPT_DEBUGFUNCTION.3
index e3c74a1..b491c1c 100644
--- a/docs/libcurl/opts/CURLOPT_DEBUGFUNCTION.3
+++ b/docs/libcurl/opts/CURLOPT_DEBUGFUNCTION.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_DEBUGFUNCTION 3 "October 06, 2016" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_DEBUGFUNCTION 3 "October 06, 2016" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_DEBUGFUNCTION \- debug callback
diff --git a/docs/libcurl/opts/CURLOPT_DEFAULT_PROTOCOL.3 b/docs/libcurl/opts/CURLOPT_DEFAULT_PROTOCOL.3
index 0e50e48..20ba393 100644
--- a/docs/libcurl/opts/CURLOPT_DEFAULT_PROTOCOL.3
+++ b/docs/libcurl/opts/CURLOPT_DEFAULT_PROTOCOL.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_DEFAULT_PROTOCOL 3 "December 21, 2016" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_DEFAULT_PROTOCOL 3 "December 21, 2016" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_DEFAULT_PROTOCOL \- default protocol to use if the URL is missing a
diff --git a/docs/libcurl/opts/CURLOPT_DIRLISTONLY.3 b/docs/libcurl/opts/CURLOPT_DIRLISTONLY.3
index db312c4..26c3a5a 100644
--- a/docs/libcurl/opts/CURLOPT_DIRLISTONLY.3
+++ b/docs/libcurl/opts/CURLOPT_DIRLISTONLY.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_DIRLISTONLY 3 "May 05, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_DIRLISTONLY 3 "May 05, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_DIRLISTONLY \- ask for names only in a directory listing
diff --git a/docs/libcurl/opts/CURLOPT_DNS_CACHE_TIMEOUT.3 b/docs/libcurl/opts/CURLOPT_DNS_CACHE_TIMEOUT.3
index 8eff474..4dc7731 100644
--- a/docs/libcurl/opts/CURLOPT_DNS_CACHE_TIMEOUT.3
+++ b/docs/libcurl/opts/CURLOPT_DNS_CACHE_TIMEOUT.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_DNS_CACHE_TIMEOUT 3 "December 09, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_DNS_CACHE_TIMEOUT 3 "December 09, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_DNS_CACHE_TIMEOUT \- set life-time for DNS cache entries
diff --git a/docs/libcurl/opts/CURLOPT_DNS_INTERFACE.3 b/docs/libcurl/opts/CURLOPT_DNS_INTERFACE.3
index 3feaf05..8105451 100644
--- a/docs/libcurl/opts/CURLOPT_DNS_INTERFACE.3
+++ b/docs/libcurl/opts/CURLOPT_DNS_INTERFACE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_DNS_INTERFACE 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_DNS_INTERFACE 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_DNS_INTERFACE \- set interface to speak DNS over
diff --git a/docs/libcurl/opts/CURLOPT_DNS_LOCAL_IP4.3 b/docs/libcurl/opts/CURLOPT_DNS_LOCAL_IP4.3
index dc309cb..c995ef5 100644
--- a/docs/libcurl/opts/CURLOPT_DNS_LOCAL_IP4.3
+++ b/docs/libcurl/opts/CURLOPT_DNS_LOCAL_IP4.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_DNS_LOCAL_IP4 3 "December 10, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_DNS_LOCAL_IP4 3 "December 10, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_DNS_LOCAL_IP4 \- IPv4 address to bind DNS resolves to
diff --git a/docs/libcurl/opts/CURLOPT_DNS_LOCAL_IP6.3 b/docs/libcurl/opts/CURLOPT_DNS_LOCAL_IP6.3
index 5430258..17c32c2 100644
--- a/docs/libcurl/opts/CURLOPT_DNS_LOCAL_IP6.3
+++ b/docs/libcurl/opts/CURLOPT_DNS_LOCAL_IP6.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_DNS_LOCAL_IP6 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_DNS_LOCAL_IP6 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_DNS_LOCAL_IP6 \- IPv6 address to bind DNS resolves to
diff --git a/docs/libcurl/opts/CURLOPT_DNS_SERVERS.3 b/docs/libcurl/opts/CURLOPT_DNS_SERVERS.3
index bbe3842..94c8505 100644
--- a/docs/libcurl/opts/CURLOPT_DNS_SERVERS.3
+++ b/docs/libcurl/opts/CURLOPT_DNS_SERVERS.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_DNS_SERVERS 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_DNS_SERVERS 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_DNS_SERVERS \- set preferred DNS servers
diff --git a/docs/libcurl/opts/CURLOPT_DNS_USE_GLOBAL_CACHE.3 b/docs/libcurl/opts/CURLOPT_DNS_USE_GLOBAL_CACHE.3
index bb35dfc..4c88127 100644
--- a/docs/libcurl/opts/CURLOPT_DNS_USE_GLOBAL_CACHE.3
+++ b/docs/libcurl/opts/CURLOPT_DNS_USE_GLOBAL_CACHE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_DNS_USE_GLOBAL_CACHE 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_DNS_USE_GLOBAL_CACHE 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_DNS_USE_GLOBAL_CACHE \- enable/disable global DNS cache
diff --git a/docs/libcurl/opts/CURLOPT_EGDSOCKET.3 b/docs/libcurl/opts/CURLOPT_EGDSOCKET.3
index 1686b46..3e4797f 100644
--- a/docs/libcurl/opts/CURLOPT_EGDSOCKET.3
+++ b/docs/libcurl/opts/CURLOPT_EGDSOCKET.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_EGDSOCKET 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_EGDSOCKET 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_EGDSOCKET \- set EGD socket path
diff --git a/docs/libcurl/opts/CURLOPT_ERRORBUFFER.3 b/docs/libcurl/opts/CURLOPT_ERRORBUFFER.3
index c0290f8..2e7efa8 100644
--- a/docs/libcurl/opts/CURLOPT_ERRORBUFFER.3
+++ b/docs/libcurl/opts/CURLOPT_ERRORBUFFER.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_ERRORBUFFER 3 "February 03, 2016" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_ERRORBUFFER 3 "February 03, 2016" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_ERRORBUFFER \- set error buffer for error messages
diff --git a/docs/libcurl/opts/CURLOPT_EXPECT_100_TIMEOUT_MS.3 b/docs/libcurl/opts/CURLOPT_EXPECT_100_TIMEOUT_MS.3
index 67e963d..e74f42f 100644
--- a/docs/libcurl/opts/CURLOPT_EXPECT_100_TIMEOUT_MS.3
+++ b/docs/libcurl/opts/CURLOPT_EXPECT_100_TIMEOUT_MS.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_EXPECT_100_TIMEOUT_MS 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_EXPECT_100_TIMEOUT_MS 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_EXPECT_100_TIMEOUT_MS \- timeout for Expect: 100-continue response
diff --git a/docs/libcurl/opts/CURLOPT_FAILONERROR.3 b/docs/libcurl/opts/CURLOPT_FAILONERROR.3
index e8be62c..8f57c99 100644
--- a/docs/libcurl/opts/CURLOPT_FAILONERROR.3
+++ b/docs/libcurl/opts/CURLOPT_FAILONERROR.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_FAILONERROR 3 "May 30, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_FAILONERROR 3 "May 30, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_FAILONERROR \- request failure on HTTP response >= 400
diff --git a/docs/libcurl/opts/CURLOPT_FILETIME.3 b/docs/libcurl/opts/CURLOPT_FILETIME.3
index 16ba6cb..df5773c 100644
--- a/docs/libcurl/opts/CURLOPT_FILETIME.3
+++ b/docs/libcurl/opts/CURLOPT_FILETIME.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_FILETIME 3 "April 03, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_FILETIME 3 "April 03, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_FILETIME \- get the modification time of the remote resource
diff --git a/docs/libcurl/opts/CURLOPT_FNMATCH_DATA.3 b/docs/libcurl/opts/CURLOPT_FNMATCH_DATA.3
index 3e73d6b..537d4c5 100644
--- a/docs/libcurl/opts/CURLOPT_FNMATCH_DATA.3
+++ b/docs/libcurl/opts/CURLOPT_FNMATCH_DATA.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_FNMATCH_DATA 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_FNMATCH_DATA 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_FNMATCH_DATA \- custom pointer to fnmatch callback
diff --git a/docs/libcurl/opts/CURLOPT_FNMATCH_FUNCTION.3 b/docs/libcurl/opts/CURLOPT_FNMATCH_FUNCTION.3
index 34a9e81..43f256a 100644
--- a/docs/libcurl/opts/CURLOPT_FNMATCH_FUNCTION.3
+++ b/docs/libcurl/opts/CURLOPT_FNMATCH_FUNCTION.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_FNMATCH_FUNCTION 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_FNMATCH_FUNCTION 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_FNMATCH_FUNCTION \- wildcard matching function callback
diff --git a/docs/libcurl/opts/CURLOPT_FOLLOWLOCATION.3 b/docs/libcurl/opts/CURLOPT_FOLLOWLOCATION.3
index 9cd4948..5422bea 100644
--- a/docs/libcurl/opts/CURLOPT_FOLLOWLOCATION.3
+++ b/docs/libcurl/opts/CURLOPT_FOLLOWLOCATION.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_FOLLOWLOCATION 3 "February 03, 2016" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_FOLLOWLOCATION 3 "February 03, 2016" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_FOLLOWLOCATION \- follow HTTP 3xx redirects
diff --git a/docs/libcurl/opts/CURLOPT_FORBID_REUSE.3 b/docs/libcurl/opts/CURLOPT_FORBID_REUSE.3
index ea8fe10..48e5c7c 100644
--- a/docs/libcurl/opts/CURLOPT_FORBID_REUSE.3
+++ b/docs/libcurl/opts/CURLOPT_FORBID_REUSE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_FORBID_REUSE 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_FORBID_REUSE 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_FORBID_REUSE \- make connection get closed at once after use
diff --git a/docs/libcurl/opts/CURLOPT_FRESH_CONNECT.3 b/docs/libcurl/opts/CURLOPT_FRESH_CONNECT.3
index ae312c6..9760c9a 100644
--- a/docs/libcurl/opts/CURLOPT_FRESH_CONNECT.3
+++ b/docs/libcurl/opts/CURLOPT_FRESH_CONNECT.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_FRESH_CONNECT 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_FRESH_CONNECT 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_FRESH_CONNECT \- force a new connection to be used
diff --git a/docs/libcurl/opts/CURLOPT_FTPPORT.3 b/docs/libcurl/opts/CURLOPT_FTPPORT.3
index a06cd31..8251a0c 100644
--- a/docs/libcurl/opts/CURLOPT_FTPPORT.3
+++ b/docs/libcurl/opts/CURLOPT_FTPPORT.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_FTPPORT 3 "May 30, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_FTPPORT 3 "May 30, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_FTPPORT \- make FTP transfer active
diff --git a/docs/libcurl/opts/CURLOPT_FTPSSLAUTH.3 b/docs/libcurl/opts/CURLOPT_FTPSSLAUTH.3
index 802936c..c199bd9 100644
--- a/docs/libcurl/opts/CURLOPT_FTPSSLAUTH.3
+++ b/docs/libcurl/opts/CURLOPT_FTPSSLAUTH.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_FTPSSLAUTH 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_FTPSSLAUTH 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_FTPSSLAUTH \- set order in which to attempt TLS vs SSL when using FTP
diff --git a/docs/libcurl/opts/CURLOPT_FTP_ACCOUNT.3 b/docs/libcurl/opts/CURLOPT_FTP_ACCOUNT.3
index 3dd7812..efc0c70 100644
--- a/docs/libcurl/opts/CURLOPT_FTP_ACCOUNT.3
+++ b/docs/libcurl/opts/CURLOPT_FTP_ACCOUNT.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_FTP_ACCOUNT 3 "May 05, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_FTP_ACCOUNT 3 "May 05, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_FTP_ACCOUNT \- set account info for FTP
diff --git a/docs/libcurl/opts/CURLOPT_FTP_ALTERNATIVE_TO_USER.3 b/docs/libcurl/opts/CURLOPT_FTP_ALTERNATIVE_TO_USER.3
index a737389..4b6415d 100644
--- a/docs/libcurl/opts/CURLOPT_FTP_ALTERNATIVE_TO_USER.3
+++ b/docs/libcurl/opts/CURLOPT_FTP_ALTERNATIVE_TO_USER.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_FTP_ALTERNATIVE_TO_USER 3 "May 05, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_FTP_ALTERNATIVE_TO_USER 3 "May 05, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_FTP_ALTERNATIVE_TO_USER \- command to use instead of USER with FTP
diff --git a/docs/libcurl/opts/CURLOPT_FTP_CREATE_MISSING_DIRS.3 b/docs/libcurl/opts/CURLOPT_FTP_CREATE_MISSING_DIRS.3
index 9213504..6a5c842 100644
--- a/docs/libcurl/opts/CURLOPT_FTP_CREATE_MISSING_DIRS.3
+++ b/docs/libcurl/opts/CURLOPT_FTP_CREATE_MISSING_DIRS.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_FTP_CREATE_MISSING_DIRS 3 "May 05, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_FTP_CREATE_MISSING_DIRS 3 "May 05, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_FTP_CREATE_MISSING_DIRS \- create missing dirs for FTP and SFTP
diff --git a/docs/libcurl/opts/CURLOPT_FTP_FILEMETHOD.3 b/docs/libcurl/opts/CURLOPT_FTP_FILEMETHOD.3
index e25c16d..4ec634a 100644
--- a/docs/libcurl/opts/CURLOPT_FTP_FILEMETHOD.3
+++ b/docs/libcurl/opts/CURLOPT_FTP_FILEMETHOD.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_FTP_FILEMETHOD 3 "May 05, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_FTP_FILEMETHOD 3 "May 05, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_FTP_FILEMETHOD \- select directory traversing method for FTP
diff --git a/docs/libcurl/opts/CURLOPT_FTP_RESPONSE_TIMEOUT.3 b/docs/libcurl/opts/CURLOPT_FTP_RESPONSE_TIMEOUT.3
index bc67025..eea39bb 100644
--- a/docs/libcurl/opts/CURLOPT_FTP_RESPONSE_TIMEOUT.3
+++ b/docs/libcurl/opts/CURLOPT_FTP_RESPONSE_TIMEOUT.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_FTP_RESPONSE_TIMEOUT 3 "October 03, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_FTP_RESPONSE_TIMEOUT 3 "October 03, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_FTP_RESPONSE_TIMEOUT \- time allowed to wait for FTP response
diff --git a/docs/libcurl/opts/CURLOPT_FTP_SKIP_PASV_IP.3 b/docs/libcurl/opts/CURLOPT_FTP_SKIP_PASV_IP.3
index 91b0273..46e630d 100644
--- a/docs/libcurl/opts/CURLOPT_FTP_SKIP_PASV_IP.3
+++ b/docs/libcurl/opts/CURLOPT_FTP_SKIP_PASV_IP.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_FTP_SKIP_PASV_IP 3 "May 05, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_FTP_SKIP_PASV_IP 3 "May 05, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_FTP_SKIP_PASV_IP \- ignore the IP address in the PASV response
diff --git a/docs/libcurl/opts/CURLOPT_FTP_SSL_CCC.3 b/docs/libcurl/opts/CURLOPT_FTP_SSL_CCC.3
index 800f739..488a02f 100644
--- a/docs/libcurl/opts/CURLOPT_FTP_SSL_CCC.3
+++ b/docs/libcurl/opts/CURLOPT_FTP_SSL_CCC.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_FTP_SSL_CCC 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_FTP_SSL_CCC 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_FTP_SSL_CCC \- switch off SSL again with FTP after auth
diff --git a/docs/libcurl/opts/CURLOPT_FTP_USE_EPRT.3 b/docs/libcurl/opts/CURLOPT_FTP_USE_EPRT.3
index d8bd173..feee2c5 100644
--- a/docs/libcurl/opts/CURLOPT_FTP_USE_EPRT.3
+++ b/docs/libcurl/opts/CURLOPT_FTP_USE_EPRT.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_FTP_USE_EPRT 3 "February 03, 2016" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_FTP_USE_EPRT 3 "February 03, 2016" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_FTP_USE_EPRT \- enable/disable use of EPRT with FTP
diff --git a/docs/libcurl/opts/CURLOPT_FTP_USE_EPSV.3 b/docs/libcurl/opts/CURLOPT_FTP_USE_EPSV.3
index 77c50c4..0ad62d0 100644
--- a/docs/libcurl/opts/CURLOPT_FTP_USE_EPSV.3
+++ b/docs/libcurl/opts/CURLOPT_FTP_USE_EPSV.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_FTP_USE_EPSV 3 "May 05, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_FTP_USE_EPSV 3 "May 05, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_FTP_USE_EPSV \- enable/disable use of EPSV
diff --git a/docs/libcurl/opts/CURLOPT_FTP_USE_PRET.3 b/docs/libcurl/opts/CURLOPT_FTP_USE_PRET.3
index a03374e..f2e2ab4 100644
--- a/docs/libcurl/opts/CURLOPT_FTP_USE_PRET.3
+++ b/docs/libcurl/opts/CURLOPT_FTP_USE_PRET.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_FTP_USE_PRET 3 "May 05, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_FTP_USE_PRET 3 "May 05, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_FTP_USE_PRET \- enable the PRET command
diff --git a/docs/libcurl/opts/CURLOPT_GSSAPI_DELEGATION.3 b/docs/libcurl/opts/CURLOPT_GSSAPI_DELEGATION.3
index 57c2d51..44d1928 100644
--- a/docs/libcurl/opts/CURLOPT_GSSAPI_DELEGATION.3
+++ b/docs/libcurl/opts/CURLOPT_GSSAPI_DELEGATION.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_GSSAPI_DELEGATION 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_GSSAPI_DELEGATION 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_GSSAPI_DELEGATION \- set allowed GSS-API delegation
diff --git a/docs/libcurl/opts/CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS.3 b/docs/libcurl/opts/CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS.3
new file mode 100644
index 0000000..8510d3e
--- /dev/null
+++ b/docs/libcurl/opts/CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS.3
@@ -0,0 +1,60 @@
+.\" **************************************************************************
+.\" *                                  _   _ ____  _
+.\" *  Project                     ___| | | |  _ \| |
+.\" *                             / __| | | | |_) | |
+.\" *                            | (__| |_| |  _ <| |___
+.\" *                             \___|\___/|_| \_\_____|
+.\" *
+.\" * Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" *
+.\" * This software is licensed as described in the file COPYING, which
+.\" * you should have received as part of this distribution. The terms
+.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" *
+.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+.\" * copies of the Software, and permit persons to whom the Software is
+.\" * furnished to do so, under the terms of the COPYING file.
+.\" *
+.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+.\" * KIND, either express or implied.
+.\" *
+.\" **************************************************************************
+.\"
+.TH CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS 3 "February 21, 2018" "libcurl 7.59.0" "curl_easy_setopt options"
+
+.SH NAME
+CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS \- head start for ipv6 for happy eyeballs
+.SH SYNOPSIS
+#include <curl/curl.h>
+
+CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS, long timeout);
+.SH DESCRIPTION
+Happy eyeballs is an algorithm that attempts to connect to both IPv4 and IPv6
+addresses for dual-stack hosts, preferring IPv6 first for \fItimeout\fP
+milliseconds. If the IPv6 address cannot be connected to within that time then
+a connection attempt is made to the IPv4 address in parallel. The first
+connection to be established is the one that is used.
+
+The range of suggested useful values for \fItimeout\fP is limited. Happy
+Eyeballs RFC 6555 says "It is RECOMMENDED that connection attempts be paced
+150-250 ms apart to balance human factors against network load." libcurl
+currently defaults to 200 ms. Firefox and Chrome currently default to 300 ms.
+.SH DEFAULT
+CURL_HET_DEFAULT (currently defined as 200L)
+.SH EXAMPLE
+.nf
+CURL *curl = curl_easy_init();
+if(curl) {
+  curl_easy_setopt(curl, CURLOPT_URL, "https://example.com");
+  curl_easy_setopt(curl, CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS, 300L);
+
+  curl_easy_perform(curl);
+
+  /* always cleanup */
+  curl_easy_cleanup(curl);
+}
+.fi
+.SH AVAILABILITY
+Added in 7.59.0
+.SH RETURN VALUE
+Returns CURLE_OK
diff --git a/docs/libcurl/opts/CURLOPT_HEADER.3 b/docs/libcurl/opts/CURLOPT_HEADER.3
index d941448..7d352d5 100644
--- a/docs/libcurl/opts/CURLOPT_HEADER.3
+++ b/docs/libcurl/opts/CURLOPT_HEADER.3
@@ -5,7 +5,7 @@
 .\" *                            | (__| |_| |  _ <| |___
 .\" *                             \___|\___/|_| \_\_____|
 .\" *
-.\" * Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_HEADER 3 "February 03, 2016" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_HEADER 3 "February 16, 2018" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_HEADER \- pass headers to the data stream
@@ -29,14 +29,20 @@
 
 CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HEADER, long onoff);
 .SH DESCRIPTION
-Pass in \fIonoff\fP set to 1 to tell the library to include the header in the
-body output for requests with this \fIhandle\fP. This option is relevant for
-protocols that actually have headers or other meta-data (like HTTP and FTP).
+Pass the long value \fIonoff\fP set to 1 to ask libcurl to include the headers
+in the write callback (\fICURLOPT_WRITEFUNCTION(3)\fP). This option is
+relevant for protocols that actually have headers or other meta-data (like
+HTTP and FTP).
 
-When asking to get the header info passed to the same callback as the body, it
-is not possible to accurately separate them again without detailed knowledge
+When asking to get the headers passed to the same callback as the body, it is
+not possible to accurately separate them again without detailed knowledge
 about the protocol in use.
 
+Further: the \fCURLOPT_WRITEFUNCTION(3)\fP callback is limited to only ever
+get a maximum of \fICURL_MAX_WRITE_SIZE\fP bytes passed to it (16KB), while a
+header can be longer and the \fICURLOPT_HEADERFUNCTION(3)\fP supports getting
+called with headers up to \fICURL_MAX_HTTP_HEADER\fP bytes big (100KB).
+
 It is often better to use \fICURLOPT_HEADERFUNCTION(3)\fP to get the header
 data separately.
 
diff --git a/docs/libcurl/opts/CURLOPT_HEADERDATA.3 b/docs/libcurl/opts/CURLOPT_HEADERDATA.3
index 5cf72d3..014e323 100644
--- a/docs/libcurl/opts/CURLOPT_HEADERDATA.3
+++ b/docs/libcurl/opts/CURLOPT_HEADERDATA.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_HEADERDATA 3 "May 05, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_HEADERDATA 3 "May 05, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_HEADERDATA \- pointer to pass to header callback
diff --git a/docs/libcurl/opts/CURLOPT_HEADERFUNCTION.3 b/docs/libcurl/opts/CURLOPT_HEADERFUNCTION.3
index 88be098..fe7febc 100644
--- a/docs/libcurl/opts/CURLOPT_HEADERFUNCTION.3
+++ b/docs/libcurl/opts/CURLOPT_HEADERFUNCTION.3
@@ -5,7 +5,7 @@
 .\" *                            | (__| |_| |  _ <| |___
 .\" *                             \___|\___/|_| \_\_____|
 .\" *
-.\" * Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_HEADERFUNCTION 3 "February 03, 2016" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_HEADERFUNCTION 3 "February 16, 2018" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_HEADERFUNCTION \- callback that receives header data
@@ -75,6 +75,11 @@
 
 For non-HTTP protocols like FTP, POP3, IMAP and SMTP this function will get
 called with the server responses to the commands that libcurl sends.
+.SH LIMITATIONS
+libcurl does not unfold HTTP "folded headers" (deprecated since RFC 7230). A
+folded header is a header that continues on a subsequent line and starts with
+a whitespace. Such folds will be passed to the header callback as a separate
+one, although strictly it is just a continuation of the previous line.
 .SH DEFAULT
 Nothing.
 .SH PROTOCOLS
diff --git a/docs/libcurl/opts/CURLOPT_HEADEROPT.3 b/docs/libcurl/opts/CURLOPT_HEADEROPT.3
index e255c98..79ba6d0 100644
--- a/docs/libcurl/opts/CURLOPT_HEADEROPT.3
+++ b/docs/libcurl/opts/CURLOPT_HEADEROPT.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_HEADEROPT 3 "May 30, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_HEADEROPT 3 "May 30, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_HEADEROPT \- set how to send HTTP headers
diff --git a/docs/libcurl/opts/CURLOPT_HTTP200ALIASES.3 b/docs/libcurl/opts/CURLOPT_HTTP200ALIASES.3
index 64d8c21..6ee762f 100644
--- a/docs/libcurl/opts/CURLOPT_HTTP200ALIASES.3
+++ b/docs/libcurl/opts/CURLOPT_HTTP200ALIASES.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_HTTP200ALIASES 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_HTTP200ALIASES 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_HTTP200ALIASES \- specify alternative matches for HTTP 200 OK
diff --git a/docs/libcurl/opts/CURLOPT_HTTPAUTH.3 b/docs/libcurl/opts/CURLOPT_HTTPAUTH.3
index 2bc354d..ac7eca2 100644
--- a/docs/libcurl/opts/CURLOPT_HTTPAUTH.3
+++ b/docs/libcurl/opts/CURLOPT_HTTPAUTH.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_HTTPAUTH 3 "May 30, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_HTTPAUTH 3 "May 30, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_HTTPAUTH \- set HTTP server authentication methods to try
diff --git a/docs/libcurl/opts/CURLOPT_HTTPGET.3 b/docs/libcurl/opts/CURLOPT_HTTPGET.3
index 4111932..e9d9c40 100644
--- a/docs/libcurl/opts/CURLOPT_HTTPGET.3
+++ b/docs/libcurl/opts/CURLOPT_HTTPGET.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_HTTPGET 3 "February 03, 2016" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_HTTPGET 3 "February 03, 2016" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_HTTPGET \- ask for a HTTP GET request
diff --git a/docs/libcurl/opts/CURLOPT_HTTPHEADER.3 b/docs/libcurl/opts/CURLOPT_HTTPHEADER.3
index 1a08ea1..3708144 100644
--- a/docs/libcurl/opts/CURLOPT_HTTPHEADER.3
+++ b/docs/libcurl/opts/CURLOPT_HTTPHEADER.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_HTTPHEADER 3 "January 23, 2018" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_HTTPHEADER 3 "January 23, 2018" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_HTTPHEADER \- set custom HTTP headers
diff --git a/docs/libcurl/opts/CURLOPT_HTTPPOST.3 b/docs/libcurl/opts/CURLOPT_HTTPPOST.3
index 9a358f1..7957820 100644
--- a/docs/libcurl/opts/CURLOPT_HTTPPOST.3
+++ b/docs/libcurl/opts/CURLOPT_HTTPPOST.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_HTTPPOST 3 "September 02, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_HTTPPOST 3 "September 02, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_HTTPPOST \- specify the multipart formpost content
diff --git a/docs/libcurl/opts/CURLOPT_HTTPPROXYTUNNEL.3 b/docs/libcurl/opts/CURLOPT_HTTPPROXYTUNNEL.3
index 6e853da..8c3a288 100644
--- a/docs/libcurl/opts/CURLOPT_HTTPPROXYTUNNEL.3
+++ b/docs/libcurl/opts/CURLOPT_HTTPPROXYTUNNEL.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_HTTPPROXYTUNNEL 3 "May 15, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_HTTPPROXYTUNNEL 3 "May 15, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_HTTPPROXYTUNNEL \- tunnel through HTTP proxy
diff --git a/docs/libcurl/opts/CURLOPT_HTTP_CONTENT_DECODING.3 b/docs/libcurl/opts/CURLOPT_HTTP_CONTENT_DECODING.3
index f3fb434..56dc547 100644
--- a/docs/libcurl/opts/CURLOPT_HTTP_CONTENT_DECODING.3
+++ b/docs/libcurl/opts/CURLOPT_HTTP_CONTENT_DECODING.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_HTTP_CONTENT_DECODING 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_HTTP_CONTENT_DECODING 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_HTTP_CONTENT_DECODING \- enable/disable HTTP content decoding
diff --git a/docs/libcurl/opts/CURLOPT_HTTP_TRANSFER_DECODING.3 b/docs/libcurl/opts/CURLOPT_HTTP_TRANSFER_DECODING.3
index ad1b0b2..4766056 100644
--- a/docs/libcurl/opts/CURLOPT_HTTP_TRANSFER_DECODING.3
+++ b/docs/libcurl/opts/CURLOPT_HTTP_TRANSFER_DECODING.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_HTTP_TRANSFER_DECODING 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_HTTP_TRANSFER_DECODING 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_HTTP_TRANSFER_DECODING \- enable/disable HTTP transfer decoding
diff --git a/docs/libcurl/opts/CURLOPT_HTTP_VERSION.3 b/docs/libcurl/opts/CURLOPT_HTTP_VERSION.3
index 8884c7c..c1de4ff 100644
--- a/docs/libcurl/opts/CURLOPT_HTTP_VERSION.3
+++ b/docs/libcurl/opts/CURLOPT_HTTP_VERSION.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_HTTP_VERSION 3 "May 30, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_HTTP_VERSION 3 "May 30, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_HTTP_VERSION \- specify HTTP protocol version to use
diff --git a/docs/libcurl/opts/CURLOPT_IGNORE_CONTENT_LENGTH.3 b/docs/libcurl/opts/CURLOPT_IGNORE_CONTENT_LENGTH.3
index 47167b0..f027243 100644
--- a/docs/libcurl/opts/CURLOPT_IGNORE_CONTENT_LENGTH.3
+++ b/docs/libcurl/opts/CURLOPT_IGNORE_CONTENT_LENGTH.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_IGNORE_CONTENT_LENGTH 3 "February 03, 2016" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_IGNORE_CONTENT_LENGTH 3 "February 03, 2016" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_IGNORE_CONTENT_LENGTH \- ignore content length
diff --git a/docs/libcurl/opts/CURLOPT_INFILESIZE.3 b/docs/libcurl/opts/CURLOPT_INFILESIZE.3
index 9a7c6a6..6ab2007 100644
--- a/docs/libcurl/opts/CURLOPT_INFILESIZE.3
+++ b/docs/libcurl/opts/CURLOPT_INFILESIZE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_INFILESIZE 3 "February 03, 2016" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_INFILESIZE 3 "February 03, 2016" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_INFILESIZE \- set size of the input file to send off
diff --git a/docs/libcurl/opts/CURLOPT_INFILESIZE_LARGE.3 b/docs/libcurl/opts/CURLOPT_INFILESIZE_LARGE.3
index cebdffc..c988e58 100644
--- a/docs/libcurl/opts/CURLOPT_INFILESIZE_LARGE.3
+++ b/docs/libcurl/opts/CURLOPT_INFILESIZE_LARGE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_INFILESIZE_LARGE 3 "February 03, 2016" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_INFILESIZE_LARGE 3 "February 03, 2016" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_INFILESIZE_LARGE \- set size of the input file to send off
diff --git a/docs/libcurl/opts/CURLOPT_INTERFACE.3 b/docs/libcurl/opts/CURLOPT_INTERFACE.3
index 0d78335..9b1dfab 100644
--- a/docs/libcurl/opts/CURLOPT_INTERFACE.3
+++ b/docs/libcurl/opts/CURLOPT_INTERFACE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_INTERFACE 3 "May 05, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_INTERFACE 3 "May 05, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_INTERFACE \- source interface for outgoing traffic
diff --git a/docs/libcurl/opts/CURLOPT_INTERLEAVEDATA.3 b/docs/libcurl/opts/CURLOPT_INTERLEAVEDATA.3
index 4b65553..272c28f 100644
--- a/docs/libcurl/opts/CURLOPT_INTERLEAVEDATA.3
+++ b/docs/libcurl/opts/CURLOPT_INTERLEAVEDATA.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_INTERLEAVEDATA 3 "September 15, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_INTERLEAVEDATA 3 "September 15, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_INTERLEAVEDATA \- custom pointer passed to RTSP interleave callback
diff --git a/docs/libcurl/opts/CURLOPT_INTERLEAVEFUNCTION.3 b/docs/libcurl/opts/CURLOPT_INTERLEAVEFUNCTION.3
index b9a5c89..e036478 100644
--- a/docs/libcurl/opts/CURLOPT_INTERLEAVEFUNCTION.3
+++ b/docs/libcurl/opts/CURLOPT_INTERLEAVEFUNCTION.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_INTERLEAVEFUNCTION 3 "September 15, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_INTERLEAVEFUNCTION 3 "September 15, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_INTERLEAVEFUNCTION \- callback function for RTSP interleaved data
diff --git a/docs/libcurl/opts/CURLOPT_IOCTLDATA.3 b/docs/libcurl/opts/CURLOPT_IOCTLDATA.3
index def24ff..2c9948c 100644
--- a/docs/libcurl/opts/CURLOPT_IOCTLDATA.3
+++ b/docs/libcurl/opts/CURLOPT_IOCTLDATA.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_IOCTLDATA 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_IOCTLDATA 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_IOCTLDATA \- custom pointer passed to I/O callback
diff --git a/docs/libcurl/opts/CURLOPT_IOCTLFUNCTION.3 b/docs/libcurl/opts/CURLOPT_IOCTLFUNCTION.3
index 683fea8..eba85e1 100644
--- a/docs/libcurl/opts/CURLOPT_IOCTLFUNCTION.3
+++ b/docs/libcurl/opts/CURLOPT_IOCTLFUNCTION.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_IOCTLFUNCTION 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_IOCTLFUNCTION 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_IOCTLFUNCTION \- callback for I/O operations
diff --git a/docs/libcurl/opts/CURLOPT_IPRESOLVE.3 b/docs/libcurl/opts/CURLOPT_IPRESOLVE.3
index 954f48c..bb2bc5a 100644
--- a/docs/libcurl/opts/CURLOPT_IPRESOLVE.3
+++ b/docs/libcurl/opts/CURLOPT_IPRESOLVE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_IPRESOLVE 3 "May 05, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_IPRESOLVE 3 "May 05, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_IPRESOLVE \- specify which IP protocol version to use
diff --git a/docs/libcurl/opts/CURLOPT_ISSUERCERT.3 b/docs/libcurl/opts/CURLOPT_ISSUERCERT.3
index fd52be2..cf936cd 100644
--- a/docs/libcurl/opts/CURLOPT_ISSUERCERT.3
+++ b/docs/libcurl/opts/CURLOPT_ISSUERCERT.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_ISSUERCERT 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_ISSUERCERT 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_ISSUERCERT \- issuer SSL certificate filename
diff --git a/docs/libcurl/opts/CURLOPT_KEEP_SENDING_ON_ERROR.3 b/docs/libcurl/opts/CURLOPT_KEEP_SENDING_ON_ERROR.3
index 6d5544b..2c74ff0 100644
--- a/docs/libcurl/opts/CURLOPT_KEEP_SENDING_ON_ERROR.3
+++ b/docs/libcurl/opts/CURLOPT_KEEP_SENDING_ON_ERROR.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_KEEP_SENDING_ON_ERROR 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_KEEP_SENDING_ON_ERROR 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_KEEP_SENDING_ON_ERROR \- keep sending on early HTTP response >= 300
diff --git a/docs/libcurl/opts/CURLOPT_KEYPASSWD.3 b/docs/libcurl/opts/CURLOPT_KEYPASSWD.3
index 6677edb..2f0b872 100644
--- a/docs/libcurl/opts/CURLOPT_KEYPASSWD.3
+++ b/docs/libcurl/opts/CURLOPT_KEYPASSWD.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_KEYPASSWD 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_KEYPASSWD 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_KEYPASSWD \- set passphrase to private key
diff --git a/docs/libcurl/opts/CURLOPT_KRBLEVEL.3 b/docs/libcurl/opts/CURLOPT_KRBLEVEL.3
index 4f44f36..a276a55 100644
--- a/docs/libcurl/opts/CURLOPT_KRBLEVEL.3
+++ b/docs/libcurl/opts/CURLOPT_KRBLEVEL.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_KRBLEVEL 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_KRBLEVEL 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_KRBLEVEL \- set FTP kerberos security level
diff --git a/docs/libcurl/opts/CURLOPT_LOCALPORT.3 b/docs/libcurl/opts/CURLOPT_LOCALPORT.3
index 02d9bf6..4707b22 100644
--- a/docs/libcurl/opts/CURLOPT_LOCALPORT.3
+++ b/docs/libcurl/opts/CURLOPT_LOCALPORT.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_LOCALPORT 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_LOCALPORT 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_LOCALPORT \- set local port number to use for socket
diff --git a/docs/libcurl/opts/CURLOPT_LOCALPORTRANGE.3 b/docs/libcurl/opts/CURLOPT_LOCALPORTRANGE.3
index b1296bc..3a8d3b8 100644
--- a/docs/libcurl/opts/CURLOPT_LOCALPORTRANGE.3
+++ b/docs/libcurl/opts/CURLOPT_LOCALPORTRANGE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_LOCALPORTRANGE 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_LOCALPORTRANGE 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_LOCALPORTRANGE \- number of additional local ports to try
diff --git a/docs/libcurl/opts/CURLOPT_LOGIN_OPTIONS.3 b/docs/libcurl/opts/CURLOPT_LOGIN_OPTIONS.3
index 35b5634..8a240d3 100644
--- a/docs/libcurl/opts/CURLOPT_LOGIN_OPTIONS.3
+++ b/docs/libcurl/opts/CURLOPT_LOGIN_OPTIONS.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_LOGIN_OPTIONS 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_LOGIN_OPTIONS 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_LOGIN_OPTIONS \- set login options
diff --git a/docs/libcurl/opts/CURLOPT_LOW_SPEED_LIMIT.3 b/docs/libcurl/opts/CURLOPT_LOW_SPEED_LIMIT.3
index 4a00f4b..aac176b 100644
--- a/docs/libcurl/opts/CURLOPT_LOW_SPEED_LIMIT.3
+++ b/docs/libcurl/opts/CURLOPT_LOW_SPEED_LIMIT.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_LOW_SPEED_LIMIT 3 "May 06, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_LOW_SPEED_LIMIT 3 "May 06, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_LOW_SPEED_LIMIT \- set low speed limit in bytes per second
diff --git a/docs/libcurl/opts/CURLOPT_LOW_SPEED_TIME.3 b/docs/libcurl/opts/CURLOPT_LOW_SPEED_TIME.3
index bde312d..c5b7ddf 100644
--- a/docs/libcurl/opts/CURLOPT_LOW_SPEED_TIME.3
+++ b/docs/libcurl/opts/CURLOPT_LOW_SPEED_TIME.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_LOW_SPEED_TIME 3 "May 06, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_LOW_SPEED_TIME 3 "May 06, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_LOW_SPEED_TIME \- set low speed limit time period
diff --git a/docs/libcurl/opts/CURLOPT_MAIL_AUTH.3 b/docs/libcurl/opts/CURLOPT_MAIL_AUTH.3
index 01dce88..184883d 100644
--- a/docs/libcurl/opts/CURLOPT_MAIL_AUTH.3
+++ b/docs/libcurl/opts/CURLOPT_MAIL_AUTH.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_MAIL_AUTH 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_MAIL_AUTH 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_MAIL_AUTH \- SMTP authentication address
diff --git a/docs/libcurl/opts/CURLOPT_MAIL_FROM.3 b/docs/libcurl/opts/CURLOPT_MAIL_FROM.3
index 1ede927..096bbd2 100644
--- a/docs/libcurl/opts/CURLOPT_MAIL_FROM.3
+++ b/docs/libcurl/opts/CURLOPT_MAIL_FROM.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_MAIL_FROM 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_MAIL_FROM 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_MAIL_FROM \- SMTP sender address
diff --git a/docs/libcurl/opts/CURLOPT_MAIL_RCPT.3 b/docs/libcurl/opts/CURLOPT_MAIL_RCPT.3
index d0f93ae..ca43f55 100644
--- a/docs/libcurl/opts/CURLOPT_MAIL_RCPT.3
+++ b/docs/libcurl/opts/CURLOPT_MAIL_RCPT.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_MAIL_RCPT 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_MAIL_RCPT 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_MAIL_RCPT \- list of SMTP mail recipients
diff --git a/docs/libcurl/opts/CURLOPT_MAXCONNECTS.3 b/docs/libcurl/opts/CURLOPT_MAXCONNECTS.3
index d2e428d..66231fd 100644
--- a/docs/libcurl/opts/CURLOPT_MAXCONNECTS.3
+++ b/docs/libcurl/opts/CURLOPT_MAXCONNECTS.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_MAXCONNECTS 3 "May 30, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_MAXCONNECTS 3 "May 30, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_MAXCONNECTS \- maximum connection cache size
diff --git a/docs/libcurl/opts/CURLOPT_MAXFILESIZE.3 b/docs/libcurl/opts/CURLOPT_MAXFILESIZE.3
index d1445ff..202fb41 100644
--- a/docs/libcurl/opts/CURLOPT_MAXFILESIZE.3
+++ b/docs/libcurl/opts/CURLOPT_MAXFILESIZE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_MAXFILESIZE 3 "May 30, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_MAXFILESIZE 3 "May 30, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_MAXFILESIZE \- maximum file size allowed to download
diff --git a/docs/libcurl/opts/CURLOPT_MAXFILESIZE_LARGE.3 b/docs/libcurl/opts/CURLOPT_MAXFILESIZE_LARGE.3
index 25dd587..b81a6ee 100644
--- a/docs/libcurl/opts/CURLOPT_MAXFILESIZE_LARGE.3
+++ b/docs/libcurl/opts/CURLOPT_MAXFILESIZE_LARGE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_MAXFILESIZE_LARGE 3 "May 30, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_MAXFILESIZE_LARGE 3 "May 30, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_MAXFILESIZE_LARGE \- maximum file size allowed to download
diff --git a/docs/libcurl/opts/CURLOPT_MAXREDIRS.3 b/docs/libcurl/opts/CURLOPT_MAXREDIRS.3
index b98e79f..c4c59bc 100644
--- a/docs/libcurl/opts/CURLOPT_MAXREDIRS.3
+++ b/docs/libcurl/opts/CURLOPT_MAXREDIRS.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_MAXREDIRS 3 "February 03, 2016" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_MAXREDIRS 3 "February 03, 2016" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_MAXREDIRS \- maximum number of redirects allowed
diff --git a/docs/libcurl/opts/CURLOPT_MAX_RECV_SPEED_LARGE.3 b/docs/libcurl/opts/CURLOPT_MAX_RECV_SPEED_LARGE.3
index 03a1cfa..3ff0bd6 100644
--- a/docs/libcurl/opts/CURLOPT_MAX_RECV_SPEED_LARGE.3
+++ b/docs/libcurl/opts/CURLOPT_MAX_RECV_SPEED_LARGE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_MAX_RECV_SPEED_LARGE 3 "May 30, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_MAX_RECV_SPEED_LARGE 3 "May 30, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_MAX_RECV_SPEED_LARGE \- rate limit data download speed
diff --git a/docs/libcurl/opts/CURLOPT_MAX_SEND_SPEED_LARGE.3 b/docs/libcurl/opts/CURLOPT_MAX_SEND_SPEED_LARGE.3
index 6ebfb3e..ae26aaf 100644
--- a/docs/libcurl/opts/CURLOPT_MAX_SEND_SPEED_LARGE.3
+++ b/docs/libcurl/opts/CURLOPT_MAX_SEND_SPEED_LARGE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_MAX_SEND_SPEED_LARGE 3 "May 30, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_MAX_SEND_SPEED_LARGE 3 "May 30, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_MAX_SEND_SPEED_LARGE \- rate limit data upload speed
diff --git a/docs/libcurl/opts/CURLOPT_MIMEPOST.3 b/docs/libcurl/opts/CURLOPT_MIMEPOST.3
index 4b54c5f..fbc42c7 100644
--- a/docs/libcurl/opts/CURLOPT_MIMEPOST.3
+++ b/docs/libcurl/opts/CURLOPT_MIMEPOST.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_MIMEPOST 3 "September 04, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_MIMEPOST 3 "September 04, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_MIMEPOST \- set post/send data from mime structure
diff --git a/docs/libcurl/opts/CURLOPT_NETRC.3 b/docs/libcurl/opts/CURLOPT_NETRC.3
index b3fb955..7723d6b 100644
--- a/docs/libcurl/opts/CURLOPT_NETRC.3
+++ b/docs/libcurl/opts/CURLOPT_NETRC.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_NETRC 3 "August 02, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_NETRC 3 "August 02, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_NETRC \- request that .netrc is used
diff --git a/docs/libcurl/opts/CURLOPT_NETRC_FILE.3 b/docs/libcurl/opts/CURLOPT_NETRC_FILE.3
index fd3a273..32d4896 100644
--- a/docs/libcurl/opts/CURLOPT_NETRC_FILE.3
+++ b/docs/libcurl/opts/CURLOPT_NETRC_FILE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_NETRC_FILE 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_NETRC_FILE 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_NETRC_FILE \- file name to read .netrc info from
diff --git a/docs/libcurl/opts/CURLOPT_NEW_DIRECTORY_PERMS.3 b/docs/libcurl/opts/CURLOPT_NEW_DIRECTORY_PERMS.3
index f7f3aca..c885ab8 100644
--- a/docs/libcurl/opts/CURLOPT_NEW_DIRECTORY_PERMS.3
+++ b/docs/libcurl/opts/CURLOPT_NEW_DIRECTORY_PERMS.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_NEW_DIRECTORY_PERMS 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_NEW_DIRECTORY_PERMS 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_NEW_DIRECTORY_PERMS \- permissions for remotely created directories
diff --git a/docs/libcurl/opts/CURLOPT_NEW_FILE_PERMS.3 b/docs/libcurl/opts/CURLOPT_NEW_FILE_PERMS.3
index a5064b3..6283b2f 100644
--- a/docs/libcurl/opts/CURLOPT_NEW_FILE_PERMS.3
+++ b/docs/libcurl/opts/CURLOPT_NEW_FILE_PERMS.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_NEW_FILE_PERMS 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_NEW_FILE_PERMS 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_NEW_FILE_PERMS \- permissions for remotely created files
diff --git a/docs/libcurl/opts/CURLOPT_NOBODY.3 b/docs/libcurl/opts/CURLOPT_NOBODY.3
index b2b7a2c..9f072d3 100644
--- a/docs/libcurl/opts/CURLOPT_NOBODY.3
+++ b/docs/libcurl/opts/CURLOPT_NOBODY.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_NOBODY 3 "June 21, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_NOBODY 3 "June 21, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_NOBODY \- do the download request without getting the body
diff --git a/docs/libcurl/opts/CURLOPT_NOPROGRESS.3 b/docs/libcurl/opts/CURLOPT_NOPROGRESS.3
index 0bfe9a5..95858e0 100644
--- a/docs/libcurl/opts/CURLOPT_NOPROGRESS.3
+++ b/docs/libcurl/opts/CURLOPT_NOPROGRESS.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_NOPROGRESS 3 "October 09, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_NOPROGRESS 3 "October 09, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_NOPROGRESS \- switch off the progress meter
diff --git a/docs/libcurl/opts/CURLOPT_NOPROXY.3 b/docs/libcurl/opts/CURLOPT_NOPROXY.3
index b7a3cf3..f69eee2 100644
--- a/docs/libcurl/opts/CURLOPT_NOPROXY.3
+++ b/docs/libcurl/opts/CURLOPT_NOPROXY.3
@@ -5,7 +5,7 @@
 .\" *                            | (__| |_| |  _ <| |___
 .\" *                             \___|\___/|_| \_\_____|
 .\" *
-.\" * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_NOPROXY 3 "September 24, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_NOPROXY 3 "March 03, 2018" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_NOPROXY \- disable proxy use for specific hosts
@@ -45,6 +45,11 @@
 Setting the noproxy string to "" (an empty string) will explicitly enable the
 proxy for all host names, even if there is an environment variable set for it.
 
+Enter IPv6 numerical addresses in the list of host names without enclosing
+brackets:
+
+ "example.com,::1,localhost"
+
 The application does not have to keep the string around after setting this
 option.
 .SH "Environment variables"
diff --git a/docs/libcurl/opts/CURLOPT_NOSIGNAL.3 b/docs/libcurl/opts/CURLOPT_NOSIGNAL.3
index efcc22c..4afaf88 100644
--- a/docs/libcurl/opts/CURLOPT_NOSIGNAL.3
+++ b/docs/libcurl/opts/CURLOPT_NOSIGNAL.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_NOSIGNAL 3 "February 03, 2016" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_NOSIGNAL 3 "February 03, 2016" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_NOSIGNAL \- skip all signal handling
diff --git a/docs/libcurl/opts/CURLOPT_OPENSOCKETDATA.3 b/docs/libcurl/opts/CURLOPT_OPENSOCKETDATA.3
index 5e8d8f2..c4e2c2a 100644
--- a/docs/libcurl/opts/CURLOPT_OPENSOCKETDATA.3
+++ b/docs/libcurl/opts/CURLOPT_OPENSOCKETDATA.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_OPENSOCKETDATA 3 "May 15, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_OPENSOCKETDATA 3 "May 15, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_OPENSOCKETDATA \- custom pointer passed to open socket callback
diff --git a/docs/libcurl/opts/CURLOPT_OPENSOCKETFUNCTION.3 b/docs/libcurl/opts/CURLOPT_OPENSOCKETFUNCTION.3
index 6401eab..6f912a5 100644
--- a/docs/libcurl/opts/CURLOPT_OPENSOCKETFUNCTION.3
+++ b/docs/libcurl/opts/CURLOPT_OPENSOCKETFUNCTION.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_OPENSOCKETFUNCTION 3 "May 15, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_OPENSOCKETFUNCTION 3 "May 15, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_OPENSOCKETFUNCTION \- set callback for opening sockets
diff --git a/docs/libcurl/opts/CURLOPT_PASSWORD.3 b/docs/libcurl/opts/CURLOPT_PASSWORD.3
index e243edb..a13374e 100644
--- a/docs/libcurl/opts/CURLOPT_PASSWORD.3
+++ b/docs/libcurl/opts/CURLOPT_PASSWORD.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_PASSWORD 3 "May 05, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_PASSWORD 3 "May 05, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_PASSWORD \- password to use in authentication
diff --git a/docs/libcurl/opts/CURLOPT_PATH_AS_IS.3 b/docs/libcurl/opts/CURLOPT_PATH_AS_IS.3
index 3596616..f666a79 100644
--- a/docs/libcurl/opts/CURLOPT_PATH_AS_IS.3
+++ b/docs/libcurl/opts/CURLOPT_PATH_AS_IS.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_PATH_AS_IS 3 "February 14, 2016" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_PATH_AS_IS 3 "February 14, 2016" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_PATH_AS_IS \- do not handle dot dot sequences
diff --git a/docs/libcurl/opts/CURLOPT_PINNEDPUBLICKEY.3 b/docs/libcurl/opts/CURLOPT_PINNEDPUBLICKEY.3
index a525c14..cb08cd4 100644
--- a/docs/libcurl/opts/CURLOPT_PINNEDPUBLICKEY.3
+++ b/docs/libcurl/opts/CURLOPT_PINNEDPUBLICKEY.3
@@ -5,7 +5,7 @@
 .\" *                            | (__| |_| |  _ <| |___
 .\" *                             \___|\___/|_| \_\_____|
 .\" *
-.\" * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_PINNEDPUBLICKEY 3 "April 17, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_PINNEDPUBLICKEY 3 "January 25, 2018" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_PINNEDPUBLICKEY \- set pinned public key
@@ -96,7 +96,9 @@
 .SH AVAILABILITY
 PEM/DER support:
 
-  7.39.0: OpenSSL, GnuTLS and GSKit
+  7.39.0: OpenSSL, GnuTLS
+
+  7.39.0-7.48.0,7.58.1+: GSKit
 
   7.43.0: NSS and wolfSSL/CyaSSL
 
@@ -106,6 +108,8 @@
 
   7.54.1: SecureTransport/DarwinSSL on macOS 10.7+/iOS 10+
 
+  7.58.1: SChannel/WinSSL
+
 sha256 support:
 
   7.44.0: OpenSSL, GnuTLS, NSS and wolfSSL/CyaSSL
@@ -116,6 +120,8 @@
 
   7.54.1: SecureTransport/DarwinSSL on macOS 10.7+/iOS 10+
 
+  7.58.1: SChannel/WinSSL Windows XP SP3+
+
 Other SSL backends not supported.
 .SH RETURN VALUE
 Returns CURLE_OK if TLS enabled, CURLE_UNKNOWN_OPTION if not, or
diff --git a/docs/libcurl/opts/CURLOPT_PIPEWAIT.3 b/docs/libcurl/opts/CURLOPT_PIPEWAIT.3
index 087a89b..e5e03f5 100644
--- a/docs/libcurl/opts/CURLOPT_PIPEWAIT.3
+++ b/docs/libcurl/opts/CURLOPT_PIPEWAIT.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_PIPEWAIT 3 "May 01, 2016" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_PIPEWAIT 3 "May 01, 2016" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_PIPEWAIT \- wait for pipelining/multiplexing
diff --git a/docs/libcurl/opts/CURLOPT_PORT.3 b/docs/libcurl/opts/CURLOPT_PORT.3
index 08aa4b4..2c84f83 100644
--- a/docs/libcurl/opts/CURLOPT_PORT.3
+++ b/docs/libcurl/opts/CURLOPT_PORT.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_PORT 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_PORT 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_PORT \- set remote port number to work with
diff --git a/docs/libcurl/opts/CURLOPT_POST.3 b/docs/libcurl/opts/CURLOPT_POST.3
index 2a95881..84a33d3 100644
--- a/docs/libcurl/opts/CURLOPT_POST.3
+++ b/docs/libcurl/opts/CURLOPT_POST.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_POST 3 "May 05, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_POST 3 "May 05, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_POST \- request a HTTP POST
diff --git a/docs/libcurl/opts/CURLOPT_POSTFIELDS.3 b/docs/libcurl/opts/CURLOPT_POSTFIELDS.3
index b290d2b..d52a4f0 100644
--- a/docs/libcurl/opts/CURLOPT_POSTFIELDS.3
+++ b/docs/libcurl/opts/CURLOPT_POSTFIELDS.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_POSTFIELDS 3 "July 07, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_POSTFIELDS 3 "July 07, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_POSTFIELDS \- specify data to POST to server
diff --git a/docs/libcurl/opts/CURLOPT_POSTFIELDSIZE.3 b/docs/libcurl/opts/CURLOPT_POSTFIELDSIZE.3
index 235f7a1..4b55762 100644
--- a/docs/libcurl/opts/CURLOPT_POSTFIELDSIZE.3
+++ b/docs/libcurl/opts/CURLOPT_POSTFIELDSIZE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_POSTFIELDSIZE 3 "February 03, 2016" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_POSTFIELDSIZE 3 "February 03, 2016" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_POSTFIELDSIZE \- size of POST data pointed to
diff --git a/docs/libcurl/opts/CURLOPT_POSTFIELDSIZE_LARGE.3 b/docs/libcurl/opts/CURLOPT_POSTFIELDSIZE_LARGE.3
index 3e68afe..7725c60 100644
--- a/docs/libcurl/opts/CURLOPT_POSTFIELDSIZE_LARGE.3
+++ b/docs/libcurl/opts/CURLOPT_POSTFIELDSIZE_LARGE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_POSTFIELDSIZE_LARGE 3 "February 03, 2016" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_POSTFIELDSIZE_LARGE 3 "February 03, 2016" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_POSTFIELDSIZE_LARGE \- size of POST data pointed to
diff --git a/docs/libcurl/opts/CURLOPT_POSTQUOTE.3 b/docs/libcurl/opts/CURLOPT_POSTQUOTE.3
index 2bb557e..75e2c62 100644
--- a/docs/libcurl/opts/CURLOPT_POSTQUOTE.3
+++ b/docs/libcurl/opts/CURLOPT_POSTQUOTE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_POSTQUOTE 3 "May 05, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_POSTQUOTE 3 "May 05, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_POSTQUOTE \- (S)FTP commands to run after the transfer
diff --git a/docs/libcurl/opts/CURLOPT_POSTREDIR.3 b/docs/libcurl/opts/CURLOPT_POSTREDIR.3
index 2455e67..7be0953 100644
--- a/docs/libcurl/opts/CURLOPT_POSTREDIR.3
+++ b/docs/libcurl/opts/CURLOPT_POSTREDIR.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_POSTREDIR 3 "February 03, 2016" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_POSTREDIR 3 "February 03, 2016" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_POSTREDIR \- how to act on a HTTP POST redirect
diff --git a/docs/libcurl/opts/CURLOPT_PREQUOTE.3 b/docs/libcurl/opts/CURLOPT_PREQUOTE.3
index 22da38a..ac1cadc 100644
--- a/docs/libcurl/opts/CURLOPT_PREQUOTE.3
+++ b/docs/libcurl/opts/CURLOPT_PREQUOTE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_PREQUOTE 3 "June 18, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_PREQUOTE 3 "June 18, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_PREQUOTE \- commands to run before an FTP transfer
diff --git a/docs/libcurl/opts/CURLOPT_PRE_PROXY.3 b/docs/libcurl/opts/CURLOPT_PRE_PROXY.3
index 83329ae..287dcf3 100644
--- a/docs/libcurl/opts/CURLOPT_PRE_PROXY.3
+++ b/docs/libcurl/opts/CURLOPT_PRE_PROXY.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_PRE_PROXY 3 "May 15, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_PRE_PROXY 3 "May 15, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_PRE_PROXY \- set pre-proxy to use
diff --git a/docs/libcurl/opts/CURLOPT_PRIVATE.3 b/docs/libcurl/opts/CURLOPT_PRIVATE.3
index 5acf993..5a31e3d 100644
--- a/docs/libcurl/opts/CURLOPT_PRIVATE.3
+++ b/docs/libcurl/opts/CURLOPT_PRIVATE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_PRIVATE 3 "December 08, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_PRIVATE 3 "December 08, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_PRIVATE \- store a private pointer
diff --git a/docs/libcurl/opts/CURLOPT_PROGRESSDATA.3 b/docs/libcurl/opts/CURLOPT_PROGRESSDATA.3
index ae01402..12fba23 100644
--- a/docs/libcurl/opts/CURLOPT_PROGRESSDATA.3
+++ b/docs/libcurl/opts/CURLOPT_PROGRESSDATA.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_PROGRESSDATA 3 "February 03, 2016" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_PROGRESSDATA 3 "February 03, 2016" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_PROGRESSDATA \- custom pointer passed to the progress callback
diff --git a/docs/libcurl/opts/CURLOPT_PROGRESSFUNCTION.3 b/docs/libcurl/opts/CURLOPT_PROGRESSFUNCTION.3
index 8557117..2b38fad 100644
--- a/docs/libcurl/opts/CURLOPT_PROGRESSFUNCTION.3
+++ b/docs/libcurl/opts/CURLOPT_PROGRESSFUNCTION.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_PROGRESSFUNCTION 3 "February 03, 2016" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_PROGRESSFUNCTION 3 "February 03, 2016" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_PROGRESSFUNCTION \- callback to progress meter function
diff --git a/docs/libcurl/opts/CURLOPT_PROTOCOLS.3 b/docs/libcurl/opts/CURLOPT_PROTOCOLS.3
index 02febae..8bf93a6 100644
--- a/docs/libcurl/opts/CURLOPT_PROTOCOLS.3
+++ b/docs/libcurl/opts/CURLOPT_PROTOCOLS.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_PROTOCOLS 3 "February 03, 2016" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_PROTOCOLS 3 "February 03, 2016" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_PROTOCOLS \- set allowed protocols
diff --git a/docs/libcurl/opts/CURLOPT_PROXY.3 b/docs/libcurl/opts/CURLOPT_PROXY.3
index 687c88d..6d12533 100644
--- a/docs/libcurl/opts/CURLOPT_PROXY.3
+++ b/docs/libcurl/opts/CURLOPT_PROXY.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_PROXY 3 "September 24, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXY 3 "September 24, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_PROXY \- set proxy to use
diff --git a/docs/libcurl/opts/CURLOPT_PROXYAUTH.3 b/docs/libcurl/opts/CURLOPT_PROXYAUTH.3
index ad8d9af..e626191 100644
--- a/docs/libcurl/opts/CURLOPT_PROXYAUTH.3
+++ b/docs/libcurl/opts/CURLOPT_PROXYAUTH.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_PROXYAUTH 3 "May 30, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXYAUTH 3 "May 30, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_PROXYAUTH \- set HTTP proxy authentication methods to try
diff --git a/docs/libcurl/opts/CURLOPT_PROXYHEADER.3 b/docs/libcurl/opts/CURLOPT_PROXYHEADER.3
index e69e594..4cf770b 100644
--- a/docs/libcurl/opts/CURLOPT_PROXYHEADER.3
+++ b/docs/libcurl/opts/CURLOPT_PROXYHEADER.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_PROXYHEADER 3 "May 30, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXYHEADER 3 "May 30, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_PROXYHEADER \- custom HTTP headers to pass to proxy
diff --git a/docs/libcurl/opts/CURLOPT_PROXYPASSWORD.3 b/docs/libcurl/opts/CURLOPT_PROXYPASSWORD.3
index 7750d7c..456bac3 100644
--- a/docs/libcurl/opts/CURLOPT_PROXYPASSWORD.3
+++ b/docs/libcurl/opts/CURLOPT_PROXYPASSWORD.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_PROXYPASSWORD 3 "May 30, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXYPASSWORD 3 "May 30, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_PROXYPASSWORD \- password to use with proxy authentication
diff --git a/docs/libcurl/opts/CURLOPT_PROXYPORT.3 b/docs/libcurl/opts/CURLOPT_PROXYPORT.3
index 15088c5..cfd6610 100644
--- a/docs/libcurl/opts/CURLOPT_PROXYPORT.3
+++ b/docs/libcurl/opts/CURLOPT_PROXYPORT.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_PROXYPORT 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXYPORT 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_PROXYPORT \- port number the proxy listens on
diff --git a/docs/libcurl/opts/CURLOPT_PROXYTYPE.3 b/docs/libcurl/opts/CURLOPT_PROXYTYPE.3
index 9a7e7da..33aa01c 100644
--- a/docs/libcurl/opts/CURLOPT_PROXYTYPE.3
+++ b/docs/libcurl/opts/CURLOPT_PROXYTYPE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_PROXYTYPE 3 "May 30, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXYTYPE 3 "May 30, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_PROXYTYPE \- proxy protocol type
diff --git a/docs/libcurl/opts/CURLOPT_PROXYUSERNAME.3 b/docs/libcurl/opts/CURLOPT_PROXYUSERNAME.3
index d451553..a8ae3b4 100644
--- a/docs/libcurl/opts/CURLOPT_PROXYUSERNAME.3
+++ b/docs/libcurl/opts/CURLOPT_PROXYUSERNAME.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_PROXYUSERNAME 3 "May 30, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXYUSERNAME 3 "May 30, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_PROXYUSERNAME \- user name to use for proxy authentication
diff --git a/docs/libcurl/opts/CURLOPT_PROXYUSERPWD.3 b/docs/libcurl/opts/CURLOPT_PROXYUSERPWD.3
index e610aa8..26de326 100644
--- a/docs/libcurl/opts/CURLOPT_PROXYUSERPWD.3
+++ b/docs/libcurl/opts/CURLOPT_PROXYUSERPWD.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_PROXYUSERPWD 3 "May 30, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXYUSERPWD 3 "May 30, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_PROXYUSERPWD \- user name and password to use for proxy authentication
diff --git a/docs/libcurl/opts/CURLOPT_PROXY_CAINFO.3 b/docs/libcurl/opts/CURLOPT_PROXY_CAINFO.3
index 4bb98de..f19e2e1 100644
--- a/docs/libcurl/opts/CURLOPT_PROXY_CAINFO.3
+++ b/docs/libcurl/opts/CURLOPT_PROXY_CAINFO.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_PROXY_CAINFO 3 "May 30, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXY_CAINFO 3 "May 30, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_PROXY_CAINFO \- path to proxy Certificate Authority (CA) bundle
diff --git a/docs/libcurl/opts/CURLOPT_PROXY_CAPATH.3 b/docs/libcurl/opts/CURLOPT_PROXY_CAPATH.3
index 6753c17..d8dc42b 100644
--- a/docs/libcurl/opts/CURLOPT_PROXY_CAPATH.3
+++ b/docs/libcurl/opts/CURLOPT_PROXY_CAPATH.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_PROXY_CAPATH 3 "September 10, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXY_CAPATH 3 "September 10, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_PROXY_CAPATH \- specify directory holding proxy CA certificates
diff --git a/docs/libcurl/opts/CURLOPT_PROXY_CRLFILE.3 b/docs/libcurl/opts/CURLOPT_PROXY_CRLFILE.3
index a887744..76a44e1 100644
--- a/docs/libcurl/opts/CURLOPT_PROXY_CRLFILE.3
+++ b/docs/libcurl/opts/CURLOPT_PROXY_CRLFILE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_PROXY_CRLFILE 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXY_CRLFILE 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_PROXY_CRLFILE \- specify a proxy Certificate Revocation List file
diff --git a/docs/libcurl/opts/CURLOPT_PROXY_KEYPASSWD.3 b/docs/libcurl/opts/CURLOPT_PROXY_KEYPASSWD.3
index 36b58d1..885016e 100644
--- a/docs/libcurl/opts/CURLOPT_PROXY_KEYPASSWD.3
+++ b/docs/libcurl/opts/CURLOPT_PROXY_KEYPASSWD.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_PROXY_KEYPASSWD 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXY_KEYPASSWD 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_PROXY_KEYPASSWD \- set passphrase to proxy private key
diff --git a/docs/libcurl/opts/CURLOPT_PROXY_PINNEDPUBLICKEY.3 b/docs/libcurl/opts/CURLOPT_PROXY_PINNEDPUBLICKEY.3
index dc8b000..bbbb06e 100644
--- a/docs/libcurl/opts/CURLOPT_PROXY_PINNEDPUBLICKEY.3
+++ b/docs/libcurl/opts/CURLOPT_PROXY_PINNEDPUBLICKEY.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_PROXY_PINNEDPUBLICKEY 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXY_PINNEDPUBLICKEY 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_PROXY_PINNEDPUBLICKEY \- set pinned public key for https proxy
diff --git a/docs/libcurl/opts/CURLOPT_PROXY_SERVICE_NAME.3 b/docs/libcurl/opts/CURLOPT_PROXY_SERVICE_NAME.3
index 6303345..102df16 100644
--- a/docs/libcurl/opts/CURLOPT_PROXY_SERVICE_NAME.3
+++ b/docs/libcurl/opts/CURLOPT_PROXY_SERVICE_NAME.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_PROXY_SERVICE_NAME 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXY_SERVICE_NAME 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_PROXY_SERVICE_NAME \- proxy authentication service name
diff --git a/docs/libcurl/opts/CURLOPT_PROXY_SSLCERT.3 b/docs/libcurl/opts/CURLOPT_PROXY_SSLCERT.3
index eecfee4..67936bf 100644
--- a/docs/libcurl/opts/CURLOPT_PROXY_SSLCERT.3
+++ b/docs/libcurl/opts/CURLOPT_PROXY_SSLCERT.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_PROXY_SSLCERT 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXY_SSLCERT 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_PROXY_SSLCERT \- set SSL proxy client certificate
diff --git a/docs/libcurl/opts/CURLOPT_PROXY_SSLCERTTYPE.3 b/docs/libcurl/opts/CURLOPT_PROXY_SSLCERTTYPE.3
index 8cd1049..2e85d62 100644
--- a/docs/libcurl/opts/CURLOPT_PROXY_SSLCERTTYPE.3
+++ b/docs/libcurl/opts/CURLOPT_PROXY_SSLCERTTYPE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_PROXY_SSLCERTTYPE 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXY_SSLCERTTYPE 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_PROXY_SSLCERTTYPE \- specify type of the proxy client SSL certificate
diff --git a/docs/libcurl/opts/CURLOPT_PROXY_SSLKEY.3 b/docs/libcurl/opts/CURLOPT_PROXY_SSLKEY.3
index 502338a..3c6cbb4 100644
--- a/docs/libcurl/opts/CURLOPT_PROXY_SSLKEY.3
+++ b/docs/libcurl/opts/CURLOPT_PROXY_SSLKEY.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_PROXY_SSLKEY 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXY_SSLKEY 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_PROXY_SSLKEY \- specify private keyfile for TLS and SSL proxy client cert
diff --git a/docs/libcurl/opts/CURLOPT_PROXY_SSLKEYTYPE.3 b/docs/libcurl/opts/CURLOPT_PROXY_SSLKEYTYPE.3
index 3eba850..673b29d 100644
--- a/docs/libcurl/opts/CURLOPT_PROXY_SSLKEYTYPE.3
+++ b/docs/libcurl/opts/CURLOPT_PROXY_SSLKEYTYPE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_PROXY_SSLKEYTYPE 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXY_SSLKEYTYPE 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_PROXY_SSLKEYTYPE \- set type of the proxy private key file
diff --git a/docs/libcurl/opts/CURLOPT_PROXY_SSLVERSION.3 b/docs/libcurl/opts/CURLOPT_PROXY_SSLVERSION.3
index 4b17026..5c34eef 100644
--- a/docs/libcurl/opts/CURLOPT_PROXY_SSLVERSION.3
+++ b/docs/libcurl/opts/CURLOPT_PROXY_SSLVERSION.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_PROXY_SSLVERSION 3 "January 10, 2018" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXY_SSLVERSION 3 "January 10, 2018" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_PROXY_SSLVERSION \- set preferred proxy TLS/SSL version
diff --git a/docs/libcurl/opts/CURLOPT_PROXY_SSL_CIPHER_LIST.3 b/docs/libcurl/opts/CURLOPT_PROXY_SSL_CIPHER_LIST.3
index d9dd67a..48b7b65 100644
--- a/docs/libcurl/opts/CURLOPT_PROXY_SSL_CIPHER_LIST.3
+++ b/docs/libcurl/opts/CURLOPT_PROXY_SSL_CIPHER_LIST.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_PROXY_SSL_CIPHER_LIST 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXY_SSL_CIPHER_LIST 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_PROXY_SSL_CIPHER_LIST \- specify ciphers to use for proxy TLS
diff --git a/docs/libcurl/opts/CURLOPT_PROXY_SSL_OPTIONS.3 b/docs/libcurl/opts/CURLOPT_PROXY_SSL_OPTIONS.3
index 35e87b6..3d9de26 100644
--- a/docs/libcurl/opts/CURLOPT_PROXY_SSL_OPTIONS.3
+++ b/docs/libcurl/opts/CURLOPT_PROXY_SSL_OPTIONS.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_PROXY_SSL_OPTIONS 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXY_SSL_OPTIONS 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_PROXY_SSL_OPTIONS \- set proxy SSL behavior options
diff --git a/docs/libcurl/opts/CURLOPT_PROXY_SSL_VERIFYHOST.3 b/docs/libcurl/opts/CURLOPT_PROXY_SSL_VERIFYHOST.3
index 635c1fa..476438c 100644
--- a/docs/libcurl/opts/CURLOPT_PROXY_SSL_VERIFYHOST.3
+++ b/docs/libcurl/opts/CURLOPT_PROXY_SSL_VERIFYHOST.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_PROXY_SSL_VERIFYHOST 3 "December 16, 2016" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXY_SSL_VERIFYHOST 3 "December 16, 2016" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_PROXY_SSL_VERIFYHOST \- verify the proxy certificate's name against host
diff --git a/docs/libcurl/opts/CURLOPT_PROXY_SSL_VERIFYPEER.3 b/docs/libcurl/opts/CURLOPT_PROXY_SSL_VERIFYPEER.3
index faeb544..82fae8b 100644
--- a/docs/libcurl/opts/CURLOPT_PROXY_SSL_VERIFYPEER.3
+++ b/docs/libcurl/opts/CURLOPT_PROXY_SSL_VERIFYPEER.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_PROXY_SSL_VERIFYPEER 3 "December 16, 2016" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXY_SSL_VERIFYPEER 3 "December 16, 2016" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_PROXY_SSL_VERIFYPEER \- verify the proxy's SSL certificate
diff --git a/docs/libcurl/opts/CURLOPT_PROXY_TLSAUTH_PASSWORD.3 b/docs/libcurl/opts/CURLOPT_PROXY_TLSAUTH_PASSWORD.3
index 41283f4..711224d 100644
--- a/docs/libcurl/opts/CURLOPT_PROXY_TLSAUTH_PASSWORD.3
+++ b/docs/libcurl/opts/CURLOPT_PROXY_TLSAUTH_PASSWORD.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_PROXY_TLSAUTH_PASSWORD 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXY_TLSAUTH_PASSWORD 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_PROXY_TLSAUTH_PASSWORD \- password to use for proxy TLS authentication
diff --git a/docs/libcurl/opts/CURLOPT_PROXY_TLSAUTH_TYPE.3 b/docs/libcurl/opts/CURLOPT_PROXY_TLSAUTH_TYPE.3
index 3a88bbf..d1bd6db 100644
--- a/docs/libcurl/opts/CURLOPT_PROXY_TLSAUTH_TYPE.3
+++ b/docs/libcurl/opts/CURLOPT_PROXY_TLSAUTH_TYPE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_PROXY_TLSAUTH_TYPE 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXY_TLSAUTH_TYPE 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_PROXY_TLSAUTH_TYPE \- set proxy TLS authentication methods
diff --git a/docs/libcurl/opts/CURLOPT_PROXY_TLSAUTH_USERNAME.3 b/docs/libcurl/opts/CURLOPT_PROXY_TLSAUTH_USERNAME.3
index f1c14b2..2c20d07 100644
--- a/docs/libcurl/opts/CURLOPT_PROXY_TLSAUTH_USERNAME.3
+++ b/docs/libcurl/opts/CURLOPT_PROXY_TLSAUTH_USERNAME.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_PROXY_TLSAUTH_USERNAME 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXY_TLSAUTH_USERNAME 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_PROXY_TLSAUTH_USERNAME \- user name to use for proxy TLS authentication
diff --git a/docs/libcurl/opts/CURLOPT_PROXY_TRANSFER_MODE.3 b/docs/libcurl/opts/CURLOPT_PROXY_TRANSFER_MODE.3
index a7d379f..2e4435c 100644
--- a/docs/libcurl/opts/CURLOPT_PROXY_TRANSFER_MODE.3
+++ b/docs/libcurl/opts/CURLOPT_PROXY_TRANSFER_MODE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_PROXY_TRANSFER_MODE 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXY_TRANSFER_MODE 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_PROXY_TRANSFER_MODE \- append FTP transfer mode to URL for proxy
diff --git a/docs/libcurl/opts/CURLOPT_PUT.3 b/docs/libcurl/opts/CURLOPT_PUT.3
index 8129f0f..36525ed 100644
--- a/docs/libcurl/opts/CURLOPT_PUT.3
+++ b/docs/libcurl/opts/CURLOPT_PUT.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_PUT 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_PUT 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_PUT \- make a HTTP PUT request
diff --git a/docs/libcurl/opts/CURLOPT_QUOTE.3 b/docs/libcurl/opts/CURLOPT_QUOTE.3
index 5fc8774..30bd461 100644
--- a/docs/libcurl/opts/CURLOPT_QUOTE.3
+++ b/docs/libcurl/opts/CURLOPT_QUOTE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_QUOTE 3 "May 05, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_QUOTE 3 "May 05, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_QUOTE \- (S)FTP commands to run before transfer
diff --git a/docs/libcurl/opts/CURLOPT_RANDOM_FILE.3 b/docs/libcurl/opts/CURLOPT_RANDOM_FILE.3
index 3eed82a..de08059 100644
--- a/docs/libcurl/opts/CURLOPT_RANDOM_FILE.3
+++ b/docs/libcurl/opts/CURLOPT_RANDOM_FILE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_RANDOM_FILE 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_RANDOM_FILE 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_RANDOM_FILE \- specify a source for random data
diff --git a/docs/libcurl/opts/CURLOPT_RANGE.3 b/docs/libcurl/opts/CURLOPT_RANGE.3
index 4940bb1..1cdb170 100644
--- a/docs/libcurl/opts/CURLOPT_RANGE.3
+++ b/docs/libcurl/opts/CURLOPT_RANGE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_RANGE 3 "December 21, 2016" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_RANGE 3 "December 21, 2016" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_RANGE \- set byte range to request
diff --git a/docs/libcurl/opts/CURLOPT_READDATA.3 b/docs/libcurl/opts/CURLOPT_READDATA.3
index ef96689..5e26ffb 100644
--- a/docs/libcurl/opts/CURLOPT_READDATA.3
+++ b/docs/libcurl/opts/CURLOPT_READDATA.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_READDATA 3 "May 01, 2016" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_READDATA 3 "May 01, 2016" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_READDATA \- custom pointer passed to the read callback
diff --git a/docs/libcurl/opts/CURLOPT_READFUNCTION.3 b/docs/libcurl/opts/CURLOPT_READFUNCTION.3
index 618a205..85a8741 100644
--- a/docs/libcurl/opts/CURLOPT_READFUNCTION.3
+++ b/docs/libcurl/opts/CURLOPT_READFUNCTION.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_READFUNCTION 3 "December 13, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_READFUNCTION 3 "December 13, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_READFUNCTION \- read callback for data uploads
diff --git a/docs/libcurl/opts/CURLOPT_REDIR_PROTOCOLS.3 b/docs/libcurl/opts/CURLOPT_REDIR_PROTOCOLS.3
index 3e85f0b..ed4ba3b 100644
--- a/docs/libcurl/opts/CURLOPT_REDIR_PROTOCOLS.3
+++ b/docs/libcurl/opts/CURLOPT_REDIR_PROTOCOLS.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_REDIR_PROTOCOLS 3 "September 21, 2016" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_REDIR_PROTOCOLS 3 "September 21, 2016" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_REDIR_PROTOCOLS \- set protocols allowed to redirect to
diff --git a/docs/libcurl/opts/CURLOPT_REFERER.3 b/docs/libcurl/opts/CURLOPT_REFERER.3
index 80dd3b0..d056aae 100644
--- a/docs/libcurl/opts/CURLOPT_REFERER.3
+++ b/docs/libcurl/opts/CURLOPT_REFERER.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_REFERER 3 "December 21, 2016" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_REFERER 3 "December 21, 2016" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_REFERER \- set the HTTP referer header
diff --git a/docs/libcurl/opts/CURLOPT_REQUEST_TARGET.3 b/docs/libcurl/opts/CURLOPT_REQUEST_TARGET.3
index 8ad9de8..4cfe9f2 100644
--- a/docs/libcurl/opts/CURLOPT_REQUEST_TARGET.3
+++ b/docs/libcurl/opts/CURLOPT_REQUEST_TARGET.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_REQUEST_TARGET 3 "June 21, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_REQUEST_TARGET 3 "June 21, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_REQUEST_TARGET \- specify an alternative target for this request
diff --git a/docs/libcurl/opts/CURLOPT_RESOLVE.3 b/docs/libcurl/opts/CURLOPT_RESOLVE.3
index d1be30a..59d3c8c 100644
--- a/docs/libcurl/opts/CURLOPT_RESOLVE.3
+++ b/docs/libcurl/opts/CURLOPT_RESOLVE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_RESOLVE 3 "November 17, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_RESOLVE 3 "January 30, 2018" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_RESOLVE \- provide custom host name to IP address resolves
@@ -38,10 +38,12 @@
 to clean up an entire list.
 
 Each single name resolve string should be written using the format
-HOST:PORT:ADDRESS where HOST is the name libcurl will try to resolve, PORT is
-the port number of the service where libcurl wants to connect to the HOST and
-ADDRESS is the numerical IP address. If libcurl is built to support IPv6,
-ADDRESS can of course be either IPv4 or IPv6 style addressing.
+HOST:PORT:ADDRESS[,ADDRESS]... where HOST is the name libcurl will try
+to resolve, PORT is the port number of the service where libcurl wants
+to connect to the HOST and ADDRESS is one or more numerical IP
+addresses. If you specify multiple ip addresses they need to be
+separated by comma. If libcurl is built to support IPv6, each of the
+ADDRESS entries can of course be either IPv4 or IPv6 style addressing.
 
 This option effectively pre-populates the DNS cache with entries for the
 host+port pair so redirects and everything that operations against the
@@ -58,6 +60,8 @@
 and port number must exactly match what was already added previously.
 
 Support for providing the ADDRESS within [brackets] was added in 7.57.0.
+
+Support for providing multiple IP addresses per entry was added in 7.59.0.
 .SH DEFAULT
 NULL
 .SH PROTOCOLS
diff --git a/docs/libcurl/opts/CURLOPT_RESOLVER_START_DATA.3 b/docs/libcurl/opts/CURLOPT_RESOLVER_START_DATA.3
new file mode 100644
index 0000000..e8dd3cf
--- /dev/null
+++ b/docs/libcurl/opts/CURLOPT_RESOLVER_START_DATA.3
@@ -0,0 +1,64 @@
+.\" **************************************************************************
+.\" *                                  _   _ ____  _
+.\" *  Project                     ___| | | |  _ \| |
+.\" *                             / __| | | | |_) | |
+.\" *                            | (__| |_| |  _ <| |___
+.\" *                             \___|\___/|_| \_\_____|
+.\" *
+.\" * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" *
+.\" * This software is licensed as described in the file COPYING, which
+.\" * you should have received as part of this distribution. The terms
+.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" *
+.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+.\" * copies of the Software, and permit persons to whom the Software is
+.\" * furnished to do so, under the terms of the COPYING file.
+.\" *
+.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+.\" * KIND, either express or implied.
+.\" *
+.\" **************************************************************************
+.\"
+.TH CURLOPT_RESOLVER_START_DATA 3 "February 14, 2018" "libcurl 7.59.0" "curl_easy_setopt options"
+
+.SH NAME
+CURLOPT_RESOLVER_START_DATA \- custom pointer passed to the resolver start callback
+.SH SYNOPSIS
+#include <curl/curl.h>
+
+CURLcode curl_easy_setopt(CURL *handle, CURLOPT_RESOLVER_START_DATA, void *pointer);
+.SH DESCRIPTION
+Pass a \fIpointer\fP that will be untouched by libcurl and passed as the third
+argument in the resolver start callback set with
+\fICURLOPT_RESOLVER_START_FUNCTION(3)\fP.
+.SH DEFAULT
+NULL
+.SH PROTOCOLS
+All
+.SH EXAMPLE
+.nf
+static int resolver_start_cb(void *resolver_state, void *reserved,
+                             void *userdata)
+{
+  (void)reserved;
+  printf("Received resolver_state=%p userdata=%p\\n",
+         resolver_state, userdata);
+  return 0;
+}
+
+CURL *curl = curl_easy_init();
+if(curl) {
+  curl_easy_setopt(curl, CURLOPT_RESOLVER_START_FUNCTION, resolver_start_cb);
+  curl_easy_setopt(curl, CURLOPT_RESOLVER_START_DATA, curl);
+  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
+  curl_easy_perform(curl);
+  curl_easy_cleanup(curl);
+}
+.fi
+.SH AVAILABILITY
+Added in 7.59.0
+.SH RETURN VALUE
+Returns CURLE_OK
+.SH "SEE ALSO"
+.BR CURLOPT_RESOLVER_START_FUNCTION "(3) "
diff --git a/docs/libcurl/opts/CURLOPT_RESOLVER_START_FUNCTION.3 b/docs/libcurl/opts/CURLOPT_RESOLVER_START_FUNCTION.3
new file mode 100644
index 0000000..468e216
--- /dev/null
+++ b/docs/libcurl/opts/CURLOPT_RESOLVER_START_FUNCTION.3
@@ -0,0 +1,84 @@
+.\" **************************************************************************
+.\" *                                  _   _ ____  _
+.\" *  Project                     ___| | | |  _ \| |
+.\" *                             / __| | | | |_) | |
+.\" *                            | (__| |_| |  _ <| |___
+.\" *                             \___|\___/|_| \_\_____|
+.\" *
+.\" * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" *
+.\" * This software is licensed as described in the file COPYING, which
+.\" * you should have received as part of this distribution. The terms
+.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" *
+.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+.\" * copies of the Software, and permit persons to whom the Software is
+.\" * furnished to do so, under the terms of the COPYING file.
+.\" *
+.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+.\" * KIND, either express or implied.
+.\" *
+.\" **************************************************************************
+.\"
+.TH CURLOPT_RESOLVER_START_FUNCTION 3 "February 14, 2018" "libcurl 7.59.0" "curl_easy_setopt options"
+
+.SH NAME
+CURLOPT_RESOLVER_START_FUNCTION \- set callback to be called before a new resolve request is started
+.SH SYNOPSIS
+.nf
+#include <curl/curl.h>
+
+int resolver_start_cb(void *resolver_state, void *reserved, void *userdata);
+
+CURLcode curl_easy_setopt(CURL *handle,
+                          CURLOPT_RESOLVER_START_FUNCTION,
+                          resolver_start_cb);
+.SH DESCRIPTION
+Pass a pointer to your callback function, which should match the prototype
+shown above.
+
+This callback function gets called by libcurl every time before a new resolve
+request is started.
+
+\fIresolver_state\fP points to a backend-specific resolver state. Currently
+only the ares resolver backend has a resolver state. It can be used to set up
+any desired option on the ares channel before it's used, for example setting up
+socket callback options.
+
+\fIreserved\fP is reserved.
+
+\fIuserdata\fP is the user pointer set with the
+\fICURLOPT_RESOLVER_START_DATA(3)\fP option.
+
+The callback must return 0 on success. Returning a non-zero value will cause
+the resolve to fail.
+.SH DEFAULT
+NULL (No callback)
+.SH PROTOCOLS
+All
+.SH EXAMPLE
+.nf
+static int resolver_start_cb(void *resolver_state, void *reserved,
+                             void *userdata)
+{
+  (void)reserved;
+  printf("Received resolver_state=%p userdata=%p\\n",
+         resolver_state, userdata);
+  return 0;
+}
+
+CURL *curl = curl_easy_init();
+if(curl) {
+  curl_easy_setopt(curl, CURLOPT_RESOLVER_START_FUNCTION, resolver_start_cb);
+  curl_easy_setopt(curl, CURLOPT_RESOLVER_START_DATA, curl);
+  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
+  curl_easy_perform(curl);
+  curl_easy_cleanup(curl);
+}
+.fi
+.SH AVAILABILITY
+Added in 7.59.0
+.SH RETURN VALUE
+Returns CURLE_OK
+.SH "SEE ALSO"
+.BR CURLOPT_RESOLVER_START_DATA "(3) "
diff --git a/docs/libcurl/opts/CURLOPT_RESUME_FROM.3 b/docs/libcurl/opts/CURLOPT_RESUME_FROM.3
index 6c0355e..076a80a 100644
--- a/docs/libcurl/opts/CURLOPT_RESUME_FROM.3
+++ b/docs/libcurl/opts/CURLOPT_RESUME_FROM.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_RESUME_FROM 3 "February 03, 2016" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_RESUME_FROM 3 "February 03, 2016" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_RESUME_FROM \- set a point to resume transfer from
diff --git a/docs/libcurl/opts/CURLOPT_RESUME_FROM_LARGE.3 b/docs/libcurl/opts/CURLOPT_RESUME_FROM_LARGE.3
index b71cbb9..8140fe6 100644
--- a/docs/libcurl/opts/CURLOPT_RESUME_FROM_LARGE.3
+++ b/docs/libcurl/opts/CURLOPT_RESUME_FROM_LARGE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_RESUME_FROM_LARGE 3 "February 03, 2016" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_RESUME_FROM_LARGE 3 "February 03, 2016" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_RESUME_FROM_LARGE \- set a point to resume transfer from
diff --git a/docs/libcurl/opts/CURLOPT_RTSP_CLIENT_CSEQ.3 b/docs/libcurl/opts/CURLOPT_RTSP_CLIENT_CSEQ.3
index 51eff78..3672703 100644
--- a/docs/libcurl/opts/CURLOPT_RTSP_CLIENT_CSEQ.3
+++ b/docs/libcurl/opts/CURLOPT_RTSP_CLIENT_CSEQ.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_RTSP_CLIENT_CSEQ 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_RTSP_CLIENT_CSEQ 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_RTSP_CLIENT_CSEQ \- set the RTSP client CSEQ number
diff --git a/docs/libcurl/opts/CURLOPT_RTSP_REQUEST.3 b/docs/libcurl/opts/CURLOPT_RTSP_REQUEST.3
index f0aa924..aeeeea0 100644
--- a/docs/libcurl/opts/CURLOPT_RTSP_REQUEST.3
+++ b/docs/libcurl/opts/CURLOPT_RTSP_REQUEST.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_RTSP_REQUEST 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_RTSP_REQUEST 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_RTSP_REQUEST \- specify RTSP request
diff --git a/docs/libcurl/opts/CURLOPT_RTSP_SERVER_CSEQ.3 b/docs/libcurl/opts/CURLOPT_RTSP_SERVER_CSEQ.3
index f0ec2a9..1d58711 100644
--- a/docs/libcurl/opts/CURLOPT_RTSP_SERVER_CSEQ.3
+++ b/docs/libcurl/opts/CURLOPT_RTSP_SERVER_CSEQ.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_RTSP_SERVER_CSEQ 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_RTSP_SERVER_CSEQ 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_RTSP_SERVER_CSEQ \- set the RTSP server CSEQ number
diff --git a/docs/libcurl/opts/CURLOPT_RTSP_SESSION_ID.3 b/docs/libcurl/opts/CURLOPT_RTSP_SESSION_ID.3
index dd41d43..cd31b6e 100644
--- a/docs/libcurl/opts/CURLOPT_RTSP_SESSION_ID.3
+++ b/docs/libcurl/opts/CURLOPT_RTSP_SESSION_ID.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_RTSP_SESSION_ID 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_RTSP_SESSION_ID 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_RTSP_SESSION_ID \- set RTSP session ID
diff --git a/docs/libcurl/opts/CURLOPT_RTSP_STREAM_URI.3 b/docs/libcurl/opts/CURLOPT_RTSP_STREAM_URI.3
index 8a05150..d7168f1 100644
--- a/docs/libcurl/opts/CURLOPT_RTSP_STREAM_URI.3
+++ b/docs/libcurl/opts/CURLOPT_RTSP_STREAM_URI.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_RTSP_STREAM_URI 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_RTSP_STREAM_URI 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_RTSP_STREAM_URI \- set RTSP stream URI
diff --git a/docs/libcurl/opts/CURLOPT_RTSP_TRANSPORT.3 b/docs/libcurl/opts/CURLOPT_RTSP_TRANSPORT.3
index 2d26db5..74fde2f 100644
--- a/docs/libcurl/opts/CURLOPT_RTSP_TRANSPORT.3
+++ b/docs/libcurl/opts/CURLOPT_RTSP_TRANSPORT.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_RTSP_TRANSPORT 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_RTSP_TRANSPORT 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_RTSP_TRANSPORT \- set RTSP Transport: header
diff --git a/docs/libcurl/opts/CURLOPT_SASL_IR.3 b/docs/libcurl/opts/CURLOPT_SASL_IR.3
index dd91f4c..76a669f 100644
--- a/docs/libcurl/opts/CURLOPT_SASL_IR.3
+++ b/docs/libcurl/opts/CURLOPT_SASL_IR.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_SASL_IR 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_SASL_IR 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_SASL_IR \- enable sending initial response in first packet
diff --git a/docs/libcurl/opts/CURLOPT_SEEKDATA.3 b/docs/libcurl/opts/CURLOPT_SEEKDATA.3
index a42aabb..d1ce500 100644
--- a/docs/libcurl/opts/CURLOPT_SEEKDATA.3
+++ b/docs/libcurl/opts/CURLOPT_SEEKDATA.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_SEEKDATA 3 "August 12, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_SEEKDATA 3 "August 12, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_SEEKDATA \- custom pointer passed to the seek callback
diff --git a/docs/libcurl/opts/CURLOPT_SEEKFUNCTION.3 b/docs/libcurl/opts/CURLOPT_SEEKFUNCTION.3
index 6d90bac..653403c 100644
--- a/docs/libcurl/opts/CURLOPT_SEEKFUNCTION.3
+++ b/docs/libcurl/opts/CURLOPT_SEEKFUNCTION.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_SEEKFUNCTION 3 "August 12, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_SEEKFUNCTION 3 "August 12, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_SEEKFUNCTION \- user callback for seeking in input stream
diff --git a/docs/libcurl/opts/CURLOPT_SERVICE_NAME.3 b/docs/libcurl/opts/CURLOPT_SERVICE_NAME.3
index 2094d98..de2f2e1 100644
--- a/docs/libcurl/opts/CURLOPT_SERVICE_NAME.3
+++ b/docs/libcurl/opts/CURLOPT_SERVICE_NAME.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_SERVICE_NAME 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_SERVICE_NAME 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_SERVICE_NAME \- authentication service name
diff --git a/docs/libcurl/opts/CURLOPT_SHARE.3 b/docs/libcurl/opts/CURLOPT_SHARE.3
index 8191445..d326b4a 100644
--- a/docs/libcurl/opts/CURLOPT_SHARE.3
+++ b/docs/libcurl/opts/CURLOPT_SHARE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_SHARE 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_SHARE 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_SHARE \- specify share handle to use
diff --git a/docs/libcurl/opts/CURLOPT_SOCKOPTDATA.3 b/docs/libcurl/opts/CURLOPT_SOCKOPTDATA.3
index 7d00ab4..0dbe8b9 100644
--- a/docs/libcurl/opts/CURLOPT_SOCKOPTDATA.3
+++ b/docs/libcurl/opts/CURLOPT_SOCKOPTDATA.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_SOCKOPTDATA 3 "May 15, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_SOCKOPTDATA 3 "May 15, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_SOCKOPTDATA \- custom pointer to pass to sockopt callback
diff --git a/docs/libcurl/opts/CURLOPT_SOCKOPTFUNCTION.3 b/docs/libcurl/opts/CURLOPT_SOCKOPTFUNCTION.3
index 43f3b7e..effb19d 100644
--- a/docs/libcurl/opts/CURLOPT_SOCKOPTFUNCTION.3
+++ b/docs/libcurl/opts/CURLOPT_SOCKOPTFUNCTION.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_SOCKOPTFUNCTION 3 "May 15, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_SOCKOPTFUNCTION 3 "May 15, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_SOCKOPTFUNCTION \- set callback for setting socket options
diff --git a/docs/libcurl/opts/CURLOPT_SOCKS5_AUTH.3 b/docs/libcurl/opts/CURLOPT_SOCKS5_AUTH.3
index 114d847..681d9e5 100644
--- a/docs/libcurl/opts/CURLOPT_SOCKS5_AUTH.3
+++ b/docs/libcurl/opts/CURLOPT_SOCKS5_AUTH.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_SOCKS5_AUTH 3 "April 27, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_SOCKS5_AUTH 3 "April 27, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_SOCKS5_AUTH \- set allowed methods for SOCKS5 proxy authentication
diff --git a/docs/libcurl/opts/CURLOPT_SOCKS5_GSSAPI_NEC.3 b/docs/libcurl/opts/CURLOPT_SOCKS5_GSSAPI_NEC.3
index 015869d..448146a 100644
--- a/docs/libcurl/opts/CURLOPT_SOCKS5_GSSAPI_NEC.3
+++ b/docs/libcurl/opts/CURLOPT_SOCKS5_GSSAPI_NEC.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_SOCKS5_GSSAPI_NEC 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_SOCKS5_GSSAPI_NEC 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_SOCKS5_GSSAPI_NEC \- set socks proxy gssapi negotiation protection
diff --git a/docs/libcurl/opts/CURLOPT_SOCKS5_GSSAPI_SERVICE.3 b/docs/libcurl/opts/CURLOPT_SOCKS5_GSSAPI_SERVICE.3
index 1e2cd2c..5ea52db 100644
--- a/docs/libcurl/opts/CURLOPT_SOCKS5_GSSAPI_SERVICE.3
+++ b/docs/libcurl/opts/CURLOPT_SOCKS5_GSSAPI_SERVICE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_SOCKS5_GSSAPI_SERVICE 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_SOCKS5_GSSAPI_SERVICE 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_SOCKS5_GSSAPI_SERVICE \- SOCKS5 proxy authentication service name
diff --git a/docs/libcurl/opts/CURLOPT_SSH_AUTH_TYPES.3 b/docs/libcurl/opts/CURLOPT_SSH_AUTH_TYPES.3
index 81b7b76..c6b6677 100644
--- a/docs/libcurl/opts/CURLOPT_SSH_AUTH_TYPES.3
+++ b/docs/libcurl/opts/CURLOPT_SSH_AUTH_TYPES.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_SSH_AUTH_TYPES 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_SSH_AUTH_TYPES 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_SSH_AUTH_TYPES \- set desired auth types for SFTP and SCP
diff --git a/docs/libcurl/opts/CURLOPT_SSH_COMPRESSION.3 b/docs/libcurl/opts/CURLOPT_SSH_COMPRESSION.3
index d69023f..196211d 100644
--- a/docs/libcurl/opts/CURLOPT_SSH_COMPRESSION.3
+++ b/docs/libcurl/opts/CURLOPT_SSH_COMPRESSION.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_SSH_COMPRESSION 3 "August 17, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_SSH_COMPRESSION 3 "August 17, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_SSH_COMPRESSION \- enables automatic decompression of HTTP downloads
diff --git a/docs/libcurl/opts/CURLOPT_SSH_HOST_PUBLIC_KEY_MD5.3 b/docs/libcurl/opts/CURLOPT_SSH_HOST_PUBLIC_KEY_MD5.3
index 8b12f0f..c44fb49 100644
--- a/docs/libcurl/opts/CURLOPT_SSH_HOST_PUBLIC_KEY_MD5.3
+++ b/docs/libcurl/opts/CURLOPT_SSH_HOST_PUBLIC_KEY_MD5.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 \- checksum of SSH server public key
diff --git a/docs/libcurl/opts/CURLOPT_SSH_KEYDATA.3 b/docs/libcurl/opts/CURLOPT_SSH_KEYDATA.3
index 12b8e3d..a68ff1e 100644
--- a/docs/libcurl/opts/CURLOPT_SSH_KEYDATA.3
+++ b/docs/libcurl/opts/CURLOPT_SSH_KEYDATA.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_SSH_KEYDATA 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_SSH_KEYDATA 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_SSH_KEYDATA \- pointer to pass to the SSH key callback
diff --git a/docs/libcurl/opts/CURLOPT_SSH_KEYFUNCTION.3 b/docs/libcurl/opts/CURLOPT_SSH_KEYFUNCTION.3
index fbfacb8..67ae364 100644
--- a/docs/libcurl/opts/CURLOPT_SSH_KEYFUNCTION.3
+++ b/docs/libcurl/opts/CURLOPT_SSH_KEYFUNCTION.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_SSH_KEYFUNCTION 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_SSH_KEYFUNCTION 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_SSH_KEYFUNCTION \- callback for known host matching logic
diff --git a/docs/libcurl/opts/CURLOPT_SSH_KNOWNHOSTS.3 b/docs/libcurl/opts/CURLOPT_SSH_KNOWNHOSTS.3
index 48a9297..c1478f9 100644
--- a/docs/libcurl/opts/CURLOPT_SSH_KNOWNHOSTS.3
+++ b/docs/libcurl/opts/CURLOPT_SSH_KNOWNHOSTS.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_SSH_KNOWNHOSTS 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_SSH_KNOWNHOSTS 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_SSH_KNOWNHOSTS \- file name holding the SSH known hosts
diff --git a/docs/libcurl/opts/CURLOPT_SSH_PRIVATE_KEYFILE.3 b/docs/libcurl/opts/CURLOPT_SSH_PRIVATE_KEYFILE.3
index 4500140..a5ced5e 100644
--- a/docs/libcurl/opts/CURLOPT_SSH_PRIVATE_KEYFILE.3
+++ b/docs/libcurl/opts/CURLOPT_SSH_PRIVATE_KEYFILE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_SSH_PRIVATE_KEYFILE 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_SSH_PRIVATE_KEYFILE 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_SSH_PRIVATE_KEYFILE \- set private key file for SSH auth
diff --git a/docs/libcurl/opts/CURLOPT_SSH_PUBLIC_KEYFILE.3 b/docs/libcurl/opts/CURLOPT_SSH_PUBLIC_KEYFILE.3
index 0e298fd..f957965 100644
--- a/docs/libcurl/opts/CURLOPT_SSH_PUBLIC_KEYFILE.3
+++ b/docs/libcurl/opts/CURLOPT_SSH_PUBLIC_KEYFILE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_SSH_PUBLIC_KEYFILE 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_SSH_PUBLIC_KEYFILE 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_SSH_PUBLIC_KEYFILE \- set public key file for SSH auth
diff --git a/docs/libcurl/opts/CURLOPT_SSLCERT.3 b/docs/libcurl/opts/CURLOPT_SSLCERT.3
index 4236cde..c3d8096 100644
--- a/docs/libcurl/opts/CURLOPT_SSLCERT.3
+++ b/docs/libcurl/opts/CURLOPT_SSLCERT.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_SSLCERT 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_SSLCERT 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_SSLCERT \- set SSL client certificate
diff --git a/docs/libcurl/opts/CURLOPT_SSLCERTTYPE.3 b/docs/libcurl/opts/CURLOPT_SSLCERTTYPE.3
index c882d33..d99921e 100644
--- a/docs/libcurl/opts/CURLOPT_SSLCERTTYPE.3
+++ b/docs/libcurl/opts/CURLOPT_SSLCERTTYPE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_SSLCERTTYPE 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_SSLCERTTYPE 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_SSLCERTTYPE \- specify type of the client SSL certificate
diff --git a/docs/libcurl/opts/CURLOPT_SSLENGINE.3 b/docs/libcurl/opts/CURLOPT_SSLENGINE.3
index 4defaf1..267b63f 100644
--- a/docs/libcurl/opts/CURLOPT_SSLENGINE.3
+++ b/docs/libcurl/opts/CURLOPT_SSLENGINE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_SSLENGINE 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_SSLENGINE 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_SSLENGINE \- set SSL engine identifier
diff --git a/docs/libcurl/opts/CURLOPT_SSLENGINE_DEFAULT.3 b/docs/libcurl/opts/CURLOPT_SSLENGINE_DEFAULT.3
index 4de68b5..cd84614 100644
--- a/docs/libcurl/opts/CURLOPT_SSLENGINE_DEFAULT.3
+++ b/docs/libcurl/opts/CURLOPT_SSLENGINE_DEFAULT.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_SSLENGINE_DEFAULT 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_SSLENGINE_DEFAULT 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_SSLENGINE_DEFAULT \- make SSL engine default
diff --git a/docs/libcurl/opts/CURLOPT_SSLKEY.3 b/docs/libcurl/opts/CURLOPT_SSLKEY.3
index 750ae10..c91837e 100644
--- a/docs/libcurl/opts/CURLOPT_SSLKEY.3
+++ b/docs/libcurl/opts/CURLOPT_SSLKEY.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_SSLKEY 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_SSLKEY 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_SSLKEY \- specify private keyfile for TLS and SSL client cert
diff --git a/docs/libcurl/opts/CURLOPT_SSLKEYTYPE.3 b/docs/libcurl/opts/CURLOPT_SSLKEYTYPE.3
index 72402fb..b7dcfe1 100644
--- a/docs/libcurl/opts/CURLOPT_SSLKEYTYPE.3
+++ b/docs/libcurl/opts/CURLOPT_SSLKEYTYPE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_SSLKEYTYPE 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_SSLKEYTYPE 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_SSLKEYTYPE \- set type of the private key file
diff --git a/docs/libcurl/opts/CURLOPT_SSLVERSION.3 b/docs/libcurl/opts/CURLOPT_SSLVERSION.3
index c9f89a1..b92871a 100644
--- a/docs/libcurl/opts/CURLOPT_SSLVERSION.3
+++ b/docs/libcurl/opts/CURLOPT_SSLVERSION.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_SSLVERSION 3 "January 10, 2018" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_SSLVERSION 3 "January 10, 2018" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_SSLVERSION \- set preferred TLS/SSL version
diff --git a/docs/libcurl/opts/CURLOPT_SSL_CIPHER_LIST.3 b/docs/libcurl/opts/CURLOPT_SSL_CIPHER_LIST.3
index 26ad375..6666fae 100644
--- a/docs/libcurl/opts/CURLOPT_SSL_CIPHER_LIST.3
+++ b/docs/libcurl/opts/CURLOPT_SSL_CIPHER_LIST.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_SSL_CIPHER_LIST 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_SSL_CIPHER_LIST 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_SSL_CIPHER_LIST \- specify ciphers to use for TLS
diff --git a/docs/libcurl/opts/CURLOPT_SSL_CTX_DATA.3 b/docs/libcurl/opts/CURLOPT_SSL_CTX_DATA.3
index 2eaaa39..0a678b5 100644
--- a/docs/libcurl/opts/CURLOPT_SSL_CTX_DATA.3
+++ b/docs/libcurl/opts/CURLOPT_SSL_CTX_DATA.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_SSL_CTX_DATA 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_SSL_CTX_DATA 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_SSL_CTX_DATA \- custom pointer passed to ssl_ctx callback
diff --git a/docs/libcurl/opts/CURLOPT_SSL_CTX_FUNCTION.3 b/docs/libcurl/opts/CURLOPT_SSL_CTX_FUNCTION.3
index 821cf2d..716a9b4 100644
--- a/docs/libcurl/opts/CURLOPT_SSL_CTX_FUNCTION.3
+++ b/docs/libcurl/opts/CURLOPT_SSL_CTX_FUNCTION.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_SSL_CTX_FUNCTION 3 "December 19, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_SSL_CTX_FUNCTION 3 "December 19, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_SSL_CTX_FUNCTION \- SSL context callback for OpenSSL, wolfSSL/CyaSSL or mbedTLS
diff --git a/docs/libcurl/opts/CURLOPT_SSL_ENABLE_ALPN.3 b/docs/libcurl/opts/CURLOPT_SSL_ENABLE_ALPN.3
index 8cb1ae8..ddad456 100644
--- a/docs/libcurl/opts/CURLOPT_SSL_ENABLE_ALPN.3
+++ b/docs/libcurl/opts/CURLOPT_SSL_ENABLE_ALPN.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_SSL_ENABLE_ALPN 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_SSL_ENABLE_ALPN 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_SSL_ENABLE_ALPN \- enable ALPN
diff --git a/docs/libcurl/opts/CURLOPT_SSL_ENABLE_NPN.3 b/docs/libcurl/opts/CURLOPT_SSL_ENABLE_NPN.3
index a71a2d2..4f7aa29 100644
--- a/docs/libcurl/opts/CURLOPT_SSL_ENABLE_NPN.3
+++ b/docs/libcurl/opts/CURLOPT_SSL_ENABLE_NPN.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_SSL_ENABLE_NPN 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_SSL_ENABLE_NPN 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_SSL_ENABLE_NPN \- enable NPN
diff --git a/docs/libcurl/opts/CURLOPT_SSL_FALSESTART.3 b/docs/libcurl/opts/CURLOPT_SSL_FALSESTART.3
index 817dfe1..dd11cd3 100644
--- a/docs/libcurl/opts/CURLOPT_SSL_FALSESTART.3
+++ b/docs/libcurl/opts/CURLOPT_SSL_FALSESTART.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_SSL_FALSESTART 3 "May 15, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_SSL_FALSESTART 3 "May 15, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_SSL_FALSESTART \- enable TLS false start
diff --git a/docs/libcurl/opts/CURLOPT_SSL_OPTIONS.3 b/docs/libcurl/opts/CURLOPT_SSL_OPTIONS.3
index 14ab34e..30e30a3 100644
--- a/docs/libcurl/opts/CURLOPT_SSL_OPTIONS.3
+++ b/docs/libcurl/opts/CURLOPT_SSL_OPTIONS.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_SSL_OPTIONS 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_SSL_OPTIONS 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_SSL_OPTIONS \- set SSL behavior options
diff --git a/docs/libcurl/opts/CURLOPT_SSL_SESSIONID_CACHE.3 b/docs/libcurl/opts/CURLOPT_SSL_SESSIONID_CACHE.3
index e48b84b..89adb48 100644
--- a/docs/libcurl/opts/CURLOPT_SSL_SESSIONID_CACHE.3
+++ b/docs/libcurl/opts/CURLOPT_SSL_SESSIONID_CACHE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_SSL_SESSIONID_CACHE 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_SSL_SESSIONID_CACHE 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_SSL_SESSIONID_CACHE \- enable/disable use of the SSL session-ID cache
diff --git a/docs/libcurl/opts/CURLOPT_SSL_VERIFYHOST.3 b/docs/libcurl/opts/CURLOPT_SSL_VERIFYHOST.3
index 8b08e5d..07b2854 100644
--- a/docs/libcurl/opts/CURLOPT_SSL_VERIFYHOST.3
+++ b/docs/libcurl/opts/CURLOPT_SSL_VERIFYHOST.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_SSL_VERIFYHOST 3 "February 02, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_SSL_VERIFYHOST 3 "February 02, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_SSL_VERIFYHOST \- verify the certificate's name against host
diff --git a/docs/libcurl/opts/CURLOPT_SSL_VERIFYPEER.3 b/docs/libcurl/opts/CURLOPT_SSL_VERIFYPEER.3
index e48c220..269d8f0 100644
--- a/docs/libcurl/opts/CURLOPT_SSL_VERIFYPEER.3
+++ b/docs/libcurl/opts/CURLOPT_SSL_VERIFYPEER.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_SSL_VERIFYPEER 3 "February 09, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_SSL_VERIFYPEER 3 "February 09, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_SSL_VERIFYPEER \- verify the peer's SSL certificate
diff --git a/docs/libcurl/opts/CURLOPT_SSL_VERIFYSTATUS.3 b/docs/libcurl/opts/CURLOPT_SSL_VERIFYSTATUS.3
index a748666..017e0a3 100644
--- a/docs/libcurl/opts/CURLOPT_SSL_VERIFYSTATUS.3
+++ b/docs/libcurl/opts/CURLOPT_SSL_VERIFYSTATUS.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_SSL_VERIFYSTATUS 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_SSL_VERIFYSTATUS 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_SSL_VERIFYSTATUS \- verify the certificate's status
diff --git a/docs/libcurl/opts/CURLOPT_STDERR.3 b/docs/libcurl/opts/CURLOPT_STDERR.3
index fb60bd8..b7894b7 100644
--- a/docs/libcurl/opts/CURLOPT_STDERR.3
+++ b/docs/libcurl/opts/CURLOPT_STDERR.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_STDERR 3 "February 03, 2016" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_STDERR 3 "February 03, 2016" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_STDERR \- redirect stderr to another stream
diff --git a/docs/libcurl/opts/CURLOPT_STREAM_DEPENDS.3 b/docs/libcurl/opts/CURLOPT_STREAM_DEPENDS.3
index 22b32b0..77463ef 100644
--- a/docs/libcurl/opts/CURLOPT_STREAM_DEPENDS.3
+++ b/docs/libcurl/opts/CURLOPT_STREAM_DEPENDS.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_STREAM_DEPENDS 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_STREAM_DEPENDS 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_STREAM_DEPENDS \- set stream this transfer depends on
diff --git a/docs/libcurl/opts/CURLOPT_STREAM_DEPENDS_E.3 b/docs/libcurl/opts/CURLOPT_STREAM_DEPENDS_E.3
index 5390e54..e9593f5 100644
--- a/docs/libcurl/opts/CURLOPT_STREAM_DEPENDS_E.3
+++ b/docs/libcurl/opts/CURLOPT_STREAM_DEPENDS_E.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_STREAM_DEPENDS_E 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_STREAM_DEPENDS_E 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_STREAM_DEPENDS_E \- set stream this transfer depends on execlusively
diff --git a/docs/libcurl/opts/CURLOPT_STREAM_WEIGHT.3 b/docs/libcurl/opts/CURLOPT_STREAM_WEIGHT.3
index 9b1da58..6808a7d 100644
--- a/docs/libcurl/opts/CURLOPT_STREAM_WEIGHT.3
+++ b/docs/libcurl/opts/CURLOPT_STREAM_WEIGHT.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_STREAM_WEIGHT 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_STREAM_WEIGHT 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_STREAM_WEIGHT \- set numerical stream weight
diff --git a/docs/libcurl/opts/CURLOPT_SUPPRESS_CONNECT_HEADERS.3 b/docs/libcurl/opts/CURLOPT_SUPPRESS_CONNECT_HEADERS.3
index 6cc174d..bd4d7df 100644
--- a/docs/libcurl/opts/CURLOPT_SUPPRESS_CONNECT_HEADERS.3
+++ b/docs/libcurl/opts/CURLOPT_SUPPRESS_CONNECT_HEADERS.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_SUPPRESS_CONNECT_HEADERS 3 "April 28, 2016" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_SUPPRESS_CONNECT_HEADERS 3 "April 28, 2016" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_SUPPRESS_CONNECT_HEADERS \- Suppress proxy CONNECT response headers from user callbacks
diff --git a/docs/libcurl/opts/CURLOPT_TCP_FASTOPEN.3 b/docs/libcurl/opts/CURLOPT_TCP_FASTOPEN.3
index a9db106..4e9df6c 100644
--- a/docs/libcurl/opts/CURLOPT_TCP_FASTOPEN.3
+++ b/docs/libcurl/opts/CURLOPT_TCP_FASTOPEN.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_TCP_FASTOPEN 3 "May 15, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_TCP_FASTOPEN 3 "May 15, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_TCP_FASTOPEN \- enable TCP Fast Open
diff --git a/docs/libcurl/opts/CURLOPT_TCP_KEEPALIVE.3 b/docs/libcurl/opts/CURLOPT_TCP_KEEPALIVE.3
index ddc4d3f..405a9f6 100644
--- a/docs/libcurl/opts/CURLOPT_TCP_KEEPALIVE.3
+++ b/docs/libcurl/opts/CURLOPT_TCP_KEEPALIVE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_TCP_KEEPALIVE 3 "February 03, 2016" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_TCP_KEEPALIVE 3 "February 03, 2016" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_TCP_KEEPALIVE \- enable TCP keep-alive probing
diff --git a/docs/libcurl/opts/CURLOPT_TCP_KEEPIDLE.3 b/docs/libcurl/opts/CURLOPT_TCP_KEEPIDLE.3
index 50345e6..97ed655 100644
--- a/docs/libcurl/opts/CURLOPT_TCP_KEEPIDLE.3
+++ b/docs/libcurl/opts/CURLOPT_TCP_KEEPIDLE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_TCP_KEEPIDLE 3 "January 02, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_TCP_KEEPIDLE 3 "January 02, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_TCP_KEEPIDLE \- set TCP keep-alive idle time wait
diff --git a/docs/libcurl/opts/CURLOPT_TCP_KEEPINTVL.3 b/docs/libcurl/opts/CURLOPT_TCP_KEEPINTVL.3
index a00234e..19613de 100644
--- a/docs/libcurl/opts/CURLOPT_TCP_KEEPINTVL.3
+++ b/docs/libcurl/opts/CURLOPT_TCP_KEEPINTVL.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_TCP_KEEPINTVL 3 "January 02, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_TCP_KEEPINTVL 3 "January 02, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_TCP_KEEPINTVL \- set TCP keep-alive interval
diff --git a/docs/libcurl/opts/CURLOPT_TCP_NODELAY.3 b/docs/libcurl/opts/CURLOPT_TCP_NODELAY.3
index 32f5465..521ca10 100644
--- a/docs/libcurl/opts/CURLOPT_TCP_NODELAY.3
+++ b/docs/libcurl/opts/CURLOPT_TCP_NODELAY.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_TCP_NODELAY 3 "January 15, 2018" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_TCP_NODELAY 3 "January 15, 2018" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_TCP_NODELAY \- set the TCP_NODELAY option
diff --git a/docs/libcurl/opts/CURLOPT_TELNETOPTIONS.3 b/docs/libcurl/opts/CURLOPT_TELNETOPTIONS.3
index 9d2b8ae..f20a04c 100644
--- a/docs/libcurl/opts/CURLOPT_TELNETOPTIONS.3
+++ b/docs/libcurl/opts/CURLOPT_TELNETOPTIONS.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_TELNETOPTIONS 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_TELNETOPTIONS 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_TELNETOPTIONS \- custom telnet options
diff --git a/docs/libcurl/opts/CURLOPT_TFTP_BLKSIZE.3 b/docs/libcurl/opts/CURLOPT_TFTP_BLKSIZE.3
index a669d20..3c37b7f 100644
--- a/docs/libcurl/opts/CURLOPT_TFTP_BLKSIZE.3
+++ b/docs/libcurl/opts/CURLOPT_TFTP_BLKSIZE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_TFTP_BLKSIZE 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_TFTP_BLKSIZE 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_TFTP_BLKSIZE \- TFTP block size
diff --git a/docs/libcurl/opts/CURLOPT_TFTP_NO_OPTIONS.3 b/docs/libcurl/opts/CURLOPT_TFTP_NO_OPTIONS.3
index 8d8c6a7..1b76e34 100644
--- a/docs/libcurl/opts/CURLOPT_TFTP_NO_OPTIONS.3
+++ b/docs/libcurl/opts/CURLOPT_TFTP_NO_OPTIONS.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_TFTP_NO_OPTIONS 3 "April 06, 2016" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_TFTP_NO_OPTIONS 3 "April 06, 2016" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_TFTP_NO_OPTIONS \- Do not send TFTP options requests.
diff --git a/docs/libcurl/opts/CURLOPT_TIMECONDITION.3 b/docs/libcurl/opts/CURLOPT_TIMECONDITION.3
index 7a25421..b98647e 100644
--- a/docs/libcurl/opts/CURLOPT_TIMECONDITION.3
+++ b/docs/libcurl/opts/CURLOPT_TIMECONDITION.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_TIMECONDITION 3 "April 03, 2016" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_TIMECONDITION 3 "April 03, 2016" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_TIMECONDITION \- select condition for a time request
diff --git a/docs/libcurl/opts/CURLOPT_TIMEOUT.3 b/docs/libcurl/opts/CURLOPT_TIMEOUT.3
index 5253b0d..4ebe37a 100644
--- a/docs/libcurl/opts/CURLOPT_TIMEOUT.3
+++ b/docs/libcurl/opts/CURLOPT_TIMEOUT.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_TIMEOUT 3 "October 03, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_TIMEOUT 3 "October 03, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_TIMEOUT \- set maximum time the request is allowed to take
diff --git a/docs/libcurl/opts/CURLOPT_TIMEOUT_MS.3 b/docs/libcurl/opts/CURLOPT_TIMEOUT_MS.3
index a9fb963..4cfd656 100644
--- a/docs/libcurl/opts/CURLOPT_TIMEOUT_MS.3
+++ b/docs/libcurl/opts/CURLOPT_TIMEOUT_MS.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_TIMEOUT_MS 3 "February 03, 2016" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_TIMEOUT_MS 3 "February 03, 2016" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_TIMEOUT_MS \- set maximum time the request is allowed to take
diff --git a/docs/libcurl/opts/CURLOPT_TIMEVALUE.3 b/docs/libcurl/opts/CURLOPT_TIMEVALUE.3
index c4192a0..e1a2e9d 100644
--- a/docs/libcurl/opts/CURLOPT_TIMEVALUE.3
+++ b/docs/libcurl/opts/CURLOPT_TIMEVALUE.3
@@ -5,7 +5,7 @@
 .\" *                            | (__| |_| |  _ <| |___
 .\" *                             \___|\___/|_| \_\_____|
 .\" *
-.\" * Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
 .\" *
 .\" * This software is licensed as described in the file COPYING, which
 .\" * you should have received as part of this distribution. The terms
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_TIMEVALUE 3 "April 03, 2016" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_TIMEVALUE 3 "January 25, 2018" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_TIMEVALUE \- set time value for conditional
@@ -32,6 +32,9 @@
 Pass a long \fIval\fP as parameter. This should be the time counted as seconds
 since 1 Jan 1970, and the time will be used in a condition as specified with
 \fICURLOPT_TIMECONDITION(3)\fP.
+
+On systems with 32 bit 'long' variables, this option cannot set dates beyond
+the year 2038. Consider \fICURLOPT_TIMEVALUE_LARGE(3)\fP instead.
 .SH DEFAULT
 0
 .SH PROTOCOLS
diff --git a/docs/libcurl/opts/CURLOPT_TIMEVALUE_LARGE.3 b/docs/libcurl/opts/CURLOPT_TIMEVALUE_LARGE.3
new file mode 100644
index 0000000..5dbbedd
--- /dev/null
+++ b/docs/libcurl/opts/CURLOPT_TIMEVALUE_LARGE.3
@@ -0,0 +1,65 @@
+.\" **************************************************************************
+.\" *                                  _   _ ____  _
+.\" *  Project                     ___| | | |  _ \| |
+.\" *                             / __| | | | |_) | |
+.\" *                            | (__| |_| |  _ <| |___
+.\" *                             \___|\___/|_| \_\_____|
+.\" *
+.\" * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" *
+.\" * This software is licensed as described in the file COPYING, which
+.\" * you should have received as part of this distribution. The terms
+.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" *
+.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+.\" * copies of the Software, and permit persons to whom the Software is
+.\" * furnished to do so, under the terms of the COPYING file.
+.\" *
+.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+.\" * KIND, either express or implied.
+.\" *
+.\" **************************************************************************
+.\"
+.TH CURLOPT_TIMEVALUE_LARGE 3 "January 25, 2018" "libcurl 7.59.0" "curl_easy_setopt options"
+
+.SH NAME
+CURLOPT_TIMEVALUE_LARGE \- set time value for conditional
+.SH SYNOPSIS
+#include <curl/curl.h>
+
+CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TIMEVALUE_LARGE, curl_off_t val);
+.SH DESCRIPTION
+Pass a curl_off_t \fIval\fP as parameter. This should be the time counted as
+seconds since 1 Jan 1970, and the time will be used in a condition as
+specified with \fICURLOPT_TIMECONDITION(3)\fP.
+
+The difference between this option and \fICURLOPT_TIMEVALUE(3)\fP is the type
+of the argument. On systems where 'long' is only 32 bit wide, this option has
+to be used to set dates beyond the year 2038.
+.SH DEFAULT
+0
+.SH PROTOCOLS
+HTTP, FTP, RTSP, and FILE
+.SH EXAMPLE
+.nf
+CURL *curl = curl_easy_init();
+if(curl) {
+  curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
+
+  /* January 1, 2020 is 1577833200 */
+  curl_easy_setopt(curl, CURLOPT_TIMEVALUE_LARGE, (curl_off_t)1577833200);
+
+  /* If-Modified-Since the above time stamp */
+  curl_easy_setopt(curl, CURLOPT_TIMECONDITION, CURL_TIMECOND_IFMODSINCE);
+
+  /* Perform the request */
+  curl_easy_perform(curl);
+}
+.fi
+.SH AVAILABILITY
+Added in 7.59.0.
+.SH RETURN VALUE
+Returns CURLE_OK
+.SH "SEE ALSO"
+.BR CURLOPT_TIMECONDITION "(3), "
+.BR CURLOPT_TIMEVALUE_LARGE "(3), "
diff --git a/docs/libcurl/opts/CURLOPT_TLSAUTH_PASSWORD.3 b/docs/libcurl/opts/CURLOPT_TLSAUTH_PASSWORD.3
index b38dcfb..2b74c03 100644
--- a/docs/libcurl/opts/CURLOPT_TLSAUTH_PASSWORD.3
+++ b/docs/libcurl/opts/CURLOPT_TLSAUTH_PASSWORD.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_TLSAUTH_PASSWORD 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_TLSAUTH_PASSWORD 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_TLSAUTH_PASSWORD \- password to use for TLS authentication
diff --git a/docs/libcurl/opts/CURLOPT_TLSAUTH_TYPE.3 b/docs/libcurl/opts/CURLOPT_TLSAUTH_TYPE.3
index 8fc43bc..4138c7d 100644
--- a/docs/libcurl/opts/CURLOPT_TLSAUTH_TYPE.3
+++ b/docs/libcurl/opts/CURLOPT_TLSAUTH_TYPE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_TLSAUTH_TYPE 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_TLSAUTH_TYPE 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_TLSAUTH_TYPE \- set TLS authentication methods
diff --git a/docs/libcurl/opts/CURLOPT_TLSAUTH_USERNAME.3 b/docs/libcurl/opts/CURLOPT_TLSAUTH_USERNAME.3
index 4dc8c30..e270a44 100644
--- a/docs/libcurl/opts/CURLOPT_TLSAUTH_USERNAME.3
+++ b/docs/libcurl/opts/CURLOPT_TLSAUTH_USERNAME.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_TLSAUTH_USERNAME 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_TLSAUTH_USERNAME 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_TLSAUTH_USERNAME \- user name to use for TLS authentication
diff --git a/docs/libcurl/opts/CURLOPT_TRANSFERTEXT.3 b/docs/libcurl/opts/CURLOPT_TRANSFERTEXT.3
index 233e51c..06552db 100644
--- a/docs/libcurl/opts/CURLOPT_TRANSFERTEXT.3
+++ b/docs/libcurl/opts/CURLOPT_TRANSFERTEXT.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_TRANSFERTEXT 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_TRANSFERTEXT 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_TRANSFERTEXT \- request a text based transfer for FTP
diff --git a/docs/libcurl/opts/CURLOPT_TRANSFER_ENCODING.3 b/docs/libcurl/opts/CURLOPT_TRANSFER_ENCODING.3
index ec6101e..58ad727 100644
--- a/docs/libcurl/opts/CURLOPT_TRANSFER_ENCODING.3
+++ b/docs/libcurl/opts/CURLOPT_TRANSFER_ENCODING.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_TRANSFER_ENCODING 3 "May 15, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_TRANSFER_ENCODING 3 "May 15, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_TRANSFER_ENCODING \- ask for HTTP Transfer Encoding
diff --git a/docs/libcurl/opts/CURLOPT_UNIX_SOCKET_PATH.3 b/docs/libcurl/opts/CURLOPT_UNIX_SOCKET_PATH.3
index 1955832..00ab609 100644
--- a/docs/libcurl/opts/CURLOPT_UNIX_SOCKET_PATH.3
+++ b/docs/libcurl/opts/CURLOPT_UNIX_SOCKET_PATH.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_UNIX_SOCKET_PATH 3 "December 21, 2016" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_UNIX_SOCKET_PATH 3 "December 21, 2016" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_UNIX_SOCKET_PATH \- set Unix domain socket
diff --git a/docs/libcurl/opts/CURLOPT_UNRESTRICTED_AUTH.3 b/docs/libcurl/opts/CURLOPT_UNRESTRICTED_AUTH.3
index a3cb4cb..994cfc6 100644
--- a/docs/libcurl/opts/CURLOPT_UNRESTRICTED_AUTH.3
+++ b/docs/libcurl/opts/CURLOPT_UNRESTRICTED_AUTH.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_UNRESTRICTED_AUTH 3 "May 15, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_UNRESTRICTED_AUTH 3 "May 15, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_UNRESTRICTED_AUTH \- send credentials to other hosts too
diff --git a/docs/libcurl/opts/CURLOPT_UPLOAD.3 b/docs/libcurl/opts/CURLOPT_UPLOAD.3
index da7ac91..34b45b0 100644
--- a/docs/libcurl/opts/CURLOPT_UPLOAD.3
+++ b/docs/libcurl/opts/CURLOPT_UPLOAD.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_UPLOAD 3 "February 03, 2016" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_UPLOAD 3 "February 03, 2016" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_UPLOAD \- enable data upload
diff --git a/docs/libcurl/opts/CURLOPT_URL.3 b/docs/libcurl/opts/CURLOPT_URL.3
index 1071a45..84a2a7a 100644
--- a/docs/libcurl/opts/CURLOPT_URL.3
+++ b/docs/libcurl/opts/CURLOPT_URL.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_URL 3 "December 21, 2016" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_URL 3 "December 21, 2016" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_URL \- provide the URL to use in the request
diff --git a/docs/libcurl/opts/CURLOPT_USERAGENT.3 b/docs/libcurl/opts/CURLOPT_USERAGENT.3
index bc7b380..e21818f 100644
--- a/docs/libcurl/opts/CURLOPT_USERAGENT.3
+++ b/docs/libcurl/opts/CURLOPT_USERAGENT.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_USERAGENT 3 "December 21, 2016" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_USERAGENT 3 "December 21, 2016" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_USERAGENT \- set HTTP user-agent header
diff --git a/docs/libcurl/opts/CURLOPT_USERNAME.3 b/docs/libcurl/opts/CURLOPT_USERNAME.3
index be5dfb6..3e8b7f9 100644
--- a/docs/libcurl/opts/CURLOPT_USERNAME.3
+++ b/docs/libcurl/opts/CURLOPT_USERNAME.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_USERNAME 3 "May 05, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_USERNAME 3 "May 05, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_USERNAME \- user name to use in authentication
diff --git a/docs/libcurl/opts/CURLOPT_USERPWD.3 b/docs/libcurl/opts/CURLOPT_USERPWD.3
index dcbb159..c59ca34 100644
--- a/docs/libcurl/opts/CURLOPT_USERPWD.3
+++ b/docs/libcurl/opts/CURLOPT_USERPWD.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_USERPWD 3 "August 24, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_USERPWD 3 "August 24, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_USERPWD \- user name and password to use in authentication
diff --git a/docs/libcurl/opts/CURLOPT_USE_SSL.3 b/docs/libcurl/opts/CURLOPT_USE_SSL.3
index 7d709c6..5d2e796 100644
--- a/docs/libcurl/opts/CURLOPT_USE_SSL.3
+++ b/docs/libcurl/opts/CURLOPT_USE_SSL.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_USE_SSL 3 "February 03, 2016" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_USE_SSL 3 "February 03, 2016" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_USE_SSL \- request using SSL / TLS for the transfer
diff --git a/docs/libcurl/opts/CURLOPT_VERBOSE.3 b/docs/libcurl/opts/CURLOPT_VERBOSE.3
index 56c9ffd..aaf9128 100644
--- a/docs/libcurl/opts/CURLOPT_VERBOSE.3
+++ b/docs/libcurl/opts/CURLOPT_VERBOSE.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_VERBOSE 3 "February 03, 2016" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_VERBOSE 3 "February 03, 2016" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_VERBOSE \- set verbose mode on/off
diff --git a/docs/libcurl/opts/CURLOPT_WILDCARDMATCH.3 b/docs/libcurl/opts/CURLOPT_WILDCARDMATCH.3
index a2b4355..c796a5e 100644
--- a/docs/libcurl/opts/CURLOPT_WILDCARDMATCH.3
+++ b/docs/libcurl/opts/CURLOPT_WILDCARDMATCH.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_WILDCARDMATCH 3 "February 03, 2016" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_WILDCARDMATCH 3 "February 03, 2016" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_WILDCARDMATCH \- enable directory wildcard transfers
diff --git a/docs/libcurl/opts/CURLOPT_WRITEDATA.3 b/docs/libcurl/opts/CURLOPT_WRITEDATA.3
index af3caa5..1999261 100644
--- a/docs/libcurl/opts/CURLOPT_WRITEDATA.3
+++ b/docs/libcurl/opts/CURLOPT_WRITEDATA.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_WRITEDATA 3 "February 03, 2016" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_WRITEDATA 3 "February 03, 2016" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_WRITEDATA \- custom pointer passed to the write callback
diff --git a/docs/libcurl/opts/CURLOPT_WRITEFUNCTION.3 b/docs/libcurl/opts/CURLOPT_WRITEFUNCTION.3
index 47cab25..defd98f 100644
--- a/docs/libcurl/opts/CURLOPT_WRITEFUNCTION.3
+++ b/docs/libcurl/opts/CURLOPT_WRITEFUNCTION.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_WRITEFUNCTION 3 "February 03, 2016" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_WRITEFUNCTION 3 "February 03, 2016" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_WRITEFUNCTION \- set callback for writing received data
diff --git a/docs/libcurl/opts/CURLOPT_XFERINFODATA.3 b/docs/libcurl/opts/CURLOPT_XFERINFODATA.3
index 936617d..174f8ce 100644
--- a/docs/libcurl/opts/CURLOPT_XFERINFODATA.3
+++ b/docs/libcurl/opts/CURLOPT_XFERINFODATA.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_XFERINFODATA 3 "October 09, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_XFERINFODATA 3 "October 09, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_XFERINFODATA \- custom pointer passed to the progress callback
diff --git a/docs/libcurl/opts/CURLOPT_XFERINFOFUNCTION.3 b/docs/libcurl/opts/CURLOPT_XFERINFOFUNCTION.3
index a6712e5..3167957 100644
--- a/docs/libcurl/opts/CURLOPT_XFERINFOFUNCTION.3
+++ b/docs/libcurl/opts/CURLOPT_XFERINFOFUNCTION.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_XFERINFOFUNCTION 3 "February 03, 2016" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_XFERINFOFUNCTION 3 "February 03, 2016" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_XFERINFOFUNCTION \- callback to progress meter function
diff --git a/docs/libcurl/opts/CURLOPT_XOAUTH2_BEARER.3 b/docs/libcurl/opts/CURLOPT_XOAUTH2_BEARER.3
index 7d4e65f..daf2634 100644
--- a/docs/libcurl/opts/CURLOPT_XOAUTH2_BEARER.3
+++ b/docs/libcurl/opts/CURLOPT_XOAUTH2_BEARER.3
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH CURLOPT_XOAUTH2_BEARER 3 "May 31, 2017" "libcurl 7.58.0" "curl_easy_setopt options"
+.TH CURLOPT_XOAUTH2_BEARER 3 "May 31, 2017" "libcurl 7.59.0" "curl_easy_setopt options"
 
 .SH NAME
 CURLOPT_XOAUTH2_BEARER \- specify OAuth 2.0 access token
diff --git a/docs/libcurl/opts/Makefile.inc b/docs/libcurl/opts/Makefile.inc
index f710b5e..2aa1acf 100644
--- a/docs/libcurl/opts/Makefile.inc
+++ b/docs/libcurl/opts/Makefile.inc
@@ -14,6 +14,7 @@
   CURLINFO_COOKIELIST.3                         \
   CURLINFO_EFFECTIVE_URL.3                      \
   CURLINFO_FILETIME.3                           \
+  CURLINFO_FILETIME_T.3                         \
   CURLINFO_FTP_ENTRY_PATH.3                     \
   CURLINFO_HEADER_SIZE.3                        \
   CURLINFO_HTTPAUTH_AVAIL.3                     \
@@ -135,6 +136,7 @@
   CURLOPT_FTP_USE_EPSV.3                        \
   CURLOPT_FTP_USE_PRET.3                        \
   CURLOPT_GSSAPI_DELEGATION.3                   \
+  CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS.3           \
   CURLOPT_HEADER.3                              \
   CURLOPT_HEADERDATA.3                          \
   CURLOPT_HEADERFUNCTION.3                      \
@@ -240,6 +242,8 @@
   CURLOPT_REFERER.3                             \
   CURLOPT_REQUEST_TARGET.3                      \
   CURLOPT_RESOLVE.3                             \
+  CURLOPT_RESOLVER_START_DATA.3                 \
+  CURLOPT_RESOLVER_START_FUNCTION.3             \
   CURLOPT_RESUME_FROM.3                         \
   CURLOPT_RESUME_FROM_LARGE.3                   \
   CURLOPT_RTSP_CLIENT_CSEQ.3                    \
@@ -301,6 +305,7 @@
   CURLOPT_TIMEOUT.3                             \
   CURLOPT_TIMEOUT_MS.3                          \
   CURLOPT_TIMEVALUE.3                           \
+  CURLOPT_TIMEVALUE_LARGE.3                     \
   CURLOPT_TLSAUTH_PASSWORD.3                    \
   CURLOPT_TLSAUTH_TYPE.3                        \
   CURLOPT_TLSAUTH_USERNAME.3                    \
diff --git a/docs/libcurl/symbols-in-versions b/docs/libcurl/symbols-in-versions
index ab899b9..c58086f 100644
--- a/docs/libcurl/symbols-in-versions
+++ b/docs/libcurl/symbols-in-versions
@@ -101,6 +101,7 @@
 CURLE_RANGE_ERROR               7.17.0
 CURLE_READ_ERROR                7.1
 CURLE_RECV_ERROR                7.10
+CURLE_RECURSIVE_API_CALL        7.59.0
 CURLE_REMOTE_ACCESS_DENIED      7.17.0
 CURLE_REMOTE_DISK_FULL          7.17.0
 CURLE_REMOTE_FILE_EXISTS        7.17.0
@@ -220,6 +221,7 @@
 CURLINFO_EFFECTIVE_URL          7.4
 CURLINFO_END                    7.9.6
 CURLINFO_FILETIME               7.5
+CURLINFO_FILETIME_T             7.59.0
 CURLINFO_FTP_ENTRY_PATH         7.15.4
 CURLINFO_HEADER_IN              7.9.6
 CURLINFO_HEADER_OUT             7.9.6
@@ -322,6 +324,7 @@
 CURLM_INTERNAL_ERROR            7.9.6
 CURLM_OK                        7.9.6
 CURLM_OUT_OF_MEMORY             7.9.6
+CURLM_RECURSIVE_API_CALL        7.59.0
 CURLM_UNKNOWN_OPTION            7.15.4
 CURLOPTTYPE_FUNCTIONPOINT       7.1
 CURLOPTTYPE_LONG                7.1
@@ -400,6 +403,7 @@
 CURLOPT_FTP_USE_EPSV            7.9.2
 CURLOPT_FTP_USE_PRET            7.20.0
 CURLOPT_GSSAPI_DELEGATION       7.22.0
+CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS 7.59.0
 CURLOPT_HEADER                  7.1
 CURLOPT_HEADERDATA              7.10
 CURLOPT_HEADERFUNCTION          7.7.2
@@ -587,11 +591,14 @@
 CURLOPT_TIMEOUT                 7.1
 CURLOPT_TIMEOUT_MS              7.16.2
 CURLOPT_TIMEVALUE               7.1
+CURLOPT_TIMEVALUE_LARGE         7.59.0
 CURLOPT_TLSAUTH_PASSWORD        7.21.4
 CURLOPT_TLSAUTH_TYPE            7.21.4
 CURLOPT_TLSAUTH_USERNAME        7.21.4
 CURLOPT_TRANSFERTEXT            7.1.1
 CURLOPT_TRANSFER_ENCODING       7.21.6
+CURLOPT_RESOLVER_START_FUNCTION 7.59.0
+CURLOPT_RESOLVER_START_DATA     7.59.0
 CURLOPT_UNIX_SOCKET_PATH        7.40.0
 CURLOPT_UNRESTRICTED_AUTH       7.10.4
 CURLOPT_UPLOAD                  7.1
@@ -737,6 +744,7 @@
 CURL_GLOBAL_NOTHING             7.8
 CURL_GLOBAL_SSL                 7.8
 CURL_GLOBAL_WIN32               7.8.1
+CURL_HET_DEFAULT                7.59.0
 CURL_HTTPPOST_BUFFER            7.46.0
 CURL_HTTPPOST_CALLBACK          7.46.0
 CURL_HTTPPOST_FILENAME          7.46.0
diff --git a/include/curl/curl.h b/include/curl/curl.h
index 7680acd..fa019ec 100644
--- a/include/curl/curl.h
+++ b/include/curl/curl.h
@@ -7,7 +7,7 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
@@ -245,7 +245,9 @@
                                       size_t nitems,
                                       void *outstream);
 
-
+/* This callback will be called when a new resolver request is made */
+typedef int (*curl_resolver_start_callback)(void *resolver_state,
+                                            void *reserved, void *userdata);
 
 /* enumeration of file types */
 typedef enum {
@@ -577,6 +579,8 @@
   CURLE_SSL_INVALIDCERTSTATUS,   /* 91 - invalid certificate status */
   CURLE_HTTP2_STREAM,            /* 92 - stream error in HTTP/2 framing layer
                                     */
+  CURLE_RECURSIVE_API_CALL,      /* 93 - an api function was called from
+                                    inside a callback */
   CURL_LAST /* never use! */
 } CURLcode;
 
@@ -789,6 +793,11 @@
    SSL backends where such behavior is present. */
 #define CURLSSLOPT_NO_REVOKE (1<<1)
 
+/* The default connection attempt delay in milliseconds for happy eyeballs.
+   CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS.3 and happy-eyeballs-timeout-ms.d document
+   this value, keep them in sync. */
+#define CURL_HET_DEFAULT 200L
+
 #ifndef CURL_NO_OLDIES /* define this to test if your app builds with all
                           the obsolete stuff removed! */
 
@@ -1662,7 +1671,7 @@
    * Only supported by the c-ares DNS backend */
   CINIT(DNS_LOCAL_IP4, STRINGPOINT, 222),
 
-  /* Set the local IPv4 address to use for outgoing DNS requests.
+  /* Set the local IPv6 address to use for outgoing DNS requests.
    * Only supported by the c-ares DNS backend */
   CINIT(DNS_LOCAL_IP6, STRINGPOINT, 223),
 
@@ -1819,6 +1828,19 @@
   /* Post MIME data. */
   CINIT(MIMEPOST, OBJECTPOINT, 269),
 
+  /* Time to use with the CURLOPT_TIMECONDITION. Specified in number of
+     seconds since 1 Jan 1970. */
+  CINIT(TIMEVALUE_LARGE, OFF_T, 270),
+
+  /* Head start in milliseconds to give happy eyeballs. */
+  CINIT(HAPPY_EYEBALLS_TIMEOUT_MS, LONG, 271),
+
+  /* Function that will be called before a resolver request is made */
+  CINIT(RESOLVER_START_FUNCTION, FUNCTIONPOINT, 272),
+
+  /* User data to pass to the resolver start callback. */
+  CINIT(RESOLVER_START_DATA, OBJECTPOINT, 273),
+
   CURLOPT_LASTENTRY /* the last unused */
 } CURLoption;
 
@@ -2459,6 +2481,7 @@
   CURLINFO_REQUEST_SIZE     = CURLINFO_LONG   + 12,
   CURLINFO_SSL_VERIFYRESULT = CURLINFO_LONG   + 13,
   CURLINFO_FILETIME         = CURLINFO_LONG   + 14,
+  CURLINFO_FILETIME_T       = CURLINFO_OFF_T  + 14,
   CURLINFO_CONTENT_LENGTH_DOWNLOAD   = CURLINFO_DOUBLE + 15,
   CURLINFO_CONTENT_LENGTH_DOWNLOAD_T = CURLINFO_OFF_T  + 15,
   CURLINFO_CONTENT_LENGTH_UPLOAD     = CURLINFO_DOUBLE + 16,
diff --git a/include/curl/curlver.h b/include/curl/curlver.h
index 6d93cc1..225f935 100644
--- a/include/curl/curlver.h
+++ b/include/curl/curlver.h
@@ -7,7 +7,7 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
@@ -26,16 +26,16 @@
    a script at release-time. This was made its own header file in 7.11.2 */
 
 /* This is the global package copyright */
-#define LIBCURL_COPYRIGHT "1996 - 2017 Daniel Stenberg, <daniel@haxx.se>."
+#define LIBCURL_COPYRIGHT "1996 - 2018 Daniel Stenberg, <daniel@haxx.se>."
 
 /* This is the version number of the libcurl package from which this header
    file origins: */
-#define LIBCURL_VERSION "7.58.0"
+#define LIBCURL_VERSION "7.59.0"
 
 /* The numeric version number is also available "in parts" by using these
    defines: */
 #define LIBCURL_VERSION_MAJOR 7
-#define LIBCURL_VERSION_MINOR 58
+#define LIBCURL_VERSION_MINOR 59
 #define LIBCURL_VERSION_PATCH 0
 
 /* This is the numeric version of the libcurl version number, meant for easier
@@ -57,7 +57,7 @@
    CURL_VERSION_BITS() macro since curl's own configure script greps for it
    and needs it to contain the full number.
 */
-#define LIBCURL_VERSION_NUM 0x073a00
+#define LIBCURL_VERSION_NUM 0x073b00
 
 /*
  * This is the date and time when the full source package was created. The
@@ -68,7 +68,7 @@
  *
  * "2007-11-23"
  */
-#define LIBCURL_TIMESTAMP "2018-01-24"
+#define LIBCURL_TIMESTAMP "2018-03-14"
 
 #define CURL_VERSION_BITS(x,y,z) ((x)<<16|(y)<<8|z)
 #define CURL_AT_LEAST_VERSION(x,y,z) \
diff --git a/include/curl/multi.h b/include/curl/multi.h
index 911c91d..b19dbaf 100644
--- a/include/curl/multi.h
+++ b/include/curl/multi.h
@@ -70,6 +70,8 @@
   CURLM_UNKNOWN_OPTION,  /* curl_multi_setopt() with unsupported option */
   CURLM_ADDED_ALREADY,   /* an easy handle already added to a multi handle was
                             attempted to get added - again */
+  CURLM_RECURSIVE_API_CALL, /* an api function was called from inside a
+                               callback */
   CURLM_LAST
 } CURLMcode;
 
@@ -184,8 +186,8 @@
   *
   * Returns: CURLMcode type, general multi error code. *NOTE* that this only
   *          returns errors etc regarding the whole multi stack. There might
-  *          still have occurred problems on invidual transfers even when this
-  *          returns OK.
+  *          still have occurred problems on individual transfers even when
+  *          this returns OK.
   */
 CURL_EXTERN CURLMcode curl_multi_perform(CURLM *multi_handle,
                                          int *running_handles);
diff --git a/include/curl/typecheck-gcc.h b/include/curl/typecheck-gcc.h
index 10c74c7..3a0f253 100644
--- a/include/curl/typecheck-gcc.h
+++ b/include/curl/typecheck-gcc.h
@@ -54,6 +54,9 @@
     if(_curl_is_write_cb_option(_curl_opt))                                   \
       if(!_curl_is_write_cb(value))                                           \
         _curl_easy_setopt_err_write_callback();                               \
+    if((_curl_opt) == CURLOPT_RESOLVER_START_FUNCTION)                        \
+      if(!_curl_is_resolver_start_callback(value))                            \
+        _curl_easy_setopt_err_resolver_start_callback();                      \
     if((_curl_opt) == CURLOPT_READFUNCTION)                                   \
       if(!_curl_is_read_cb(value))                                            \
         _curl_easy_setopt_err_read_cb();                                      \
@@ -170,6 +173,10 @@
   )
 _CURL_WARNING(_curl_easy_setopt_err_write_callback,
   "curl_easy_setopt expects a curl_write_callback argument for this option")
+_CURL_WARNING(_curl_easy_setopt_err_resolver_start_callback,
+              "curl_easy_setopt expects a "
+              "curl_resolver_start_callback argument for this option"
+  )
 _CURL_WARNING(_curl_easy_setopt_err_read_cb,
   "curl_easy_setopt expects a curl_read_callback argument for this option")
 _CURL_WARNING(_curl_easy_setopt_err_ioctl_cb,
@@ -354,6 +361,7 @@
    (option) == CURLOPT_SSH_KEYDATA ||                                         \
    (option) == CURLOPT_SSL_CTX_DATA ||                                        \
    (option) == CURLOPT_WRITEDATA ||                                           \
+   (option) == CURLOPT_RESOLVER_START_DATA ||                                 \
    0)
 
 /* evaluates to true if option takes a POST data argument (void* or char*) */
@@ -504,6 +512,11 @@
   (__builtin_types_compatible_p(__typeof__(func), type) ||                    \
    __builtin_types_compatible_p(__typeof__(func) *, type))
 
+/* evaluates to true if expr is of type curl_resolver_start_callback */
+#define _curl_is_resolver_start_callback(expr)       \
+  (_curl_is_NULL(expr) || \
+   _curl_callback_compatible((expr), curl_resolver_start_callback))
+
 /* evaluates to true if expr is of type curl_read_callback or "similar" */
 #define _curl_is_read_cb(expr)                                          \
   (_curl_is_NULL(expr) ||                                                     \
diff --git a/lib/Makefile.inc b/lib/Makefile.inc
index 61e80cf..69f9b40 100644
--- a/lib/Makefile.inc
+++ b/lib/Makefile.inc
@@ -5,7 +5,7 @@
 #                            | (__| |_| |  _ <| |___
 #                             \___|\___/|_| \_\_____|
 #
-# Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+# Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
 #
 # This software is licensed as described in the file COPYING, which
 # you should have received as part of this distribution. The terms
@@ -46,7 +46,7 @@
   http_digest.c md4.c md5.c http_negotiate.c inet_pton.c strtoofft.c    \
   strerror.c amigaos.c hostasyn.c hostip4.c hostip6.c hostsyn.c         \
   inet_ntop.c parsedate.c select.c tftp.c splay.c strdup.c socks.c      \
-  ssh.c ssh-libssh.c curl_addrinfo.c socks_gssapi.c socks_sspi.c            \
+  ssh.c ssh-libssh.c curl_addrinfo.c socks_gssapi.c socks_sspi.c        \
   curl_sspi.c slist.c nonblock.c curl_memrchr.c imap.c pop3.c smtp.c    \
   pingpong.c rtsp.c curl_threads.c warnless.c hmac.c curl_rtmp.c        \
   openldap.c curl_gethostname.c gopher.c idn_win32.c                    \
@@ -54,7 +54,7 @@
   http_ntlm.c curl_ntlm_wb.c curl_ntlm_core.c curl_sasl.c rand.c        \
   curl_multibyte.c hostcheck.c conncache.c pipeline.c dotdot.c          \
   x509asn1.c http2.c smb.c curl_endian.c curl_des.c system_win32.c      \
-  mime.c sha256.c setopt.c curl_path.c
+  mime.c sha256.c setopt.c curl_path.c curl_ctype.c curl_range.c
 
 LIB_HFILES = arpa_telnet.h netrc.h file.h timeval.h hostip.h progress.h \
   formdata.h cookie.h http.h sendf.h ftp.h url.h dict.h if2ip.h         \
@@ -74,7 +74,7 @@
   curl_setup_once.h multihandle.h setup-vms.h pipeline.h dotdot.h       \
   x509asn1.h http2.h sigpipe.h smb.h curl_endian.h curl_des.h           \
   curl_printf.h system_win32.h rand.h mime.h curl_sha256.h setopt.h     \
-  curl_path.h
+  curl_path.h curl_ctype.h curl_range.h
 
 LIB_RCFILES = libcurl.rc
 
diff --git a/lib/checksrc.pl b/lib/checksrc.pl
index 92af900..c86222b 100755
--- a/lib/checksrc.pl
+++ b/lib/checksrc.pl
@@ -6,7 +6,7 @@
 #                            | (__| |_| |  _ <| |___
 #                             \___|\___/|_| \_\_____|
 #
-# Copyright (C) 2011 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+# Copyright (C) 2011 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
 #
 # This software is licensed as described in the file COPYING, which
 # you should have received as part of this distribution. The terms
@@ -26,7 +26,7 @@
 
 my $warnings;
 my $errors;
-my $supressed; # whitelisted problems
+my $suppressed; # whitelisted problems
 my $file;
 my $dir=".";
 my $wlist;
@@ -35,10 +35,10 @@
 my %whitelist;
 
 my %warnings = (
-    'LONGLINE' =>         "Line longer than $max_column",
-    'TABS' =>             'TAB characters not allowed',
-    'TRAILINGSPACE' =>    'Trailing white space on the line',
-    'CPPCOMMENTS' =>      '// comment detected',
+    'LONGLINE'         => "Line longer than $max_column",
+    'TABS'             => 'TAB characters not allowed',
+    'TRAILINGSPACE'    => 'Trailing white space on the line',
+    'CPPCOMMENTS'      => '// comment detected',
     'SPACEBEFOREPAREN' => 'space before an open parenthesis',
     'SPACEAFTERPAREN'  => 'space after open parenthesis',
     'SPACEBEFORECLOSE' => 'space before a close parenthesis',
@@ -58,9 +58,9 @@
     'OPENCOMMENT'      => 'file ended with a /* comment still "open"',
     'ASTERISKSPACE'    => 'pointer declared with space after asterisk',
     'ASTERISKNOSPACE'  => 'pointer declared without space before asterisk',
-    'ASSIGNWITHINCONDITION'  => 'assignment within conditional expression',
+    'ASSIGNWITHINCONDITION' => 'assignment within conditional expression',
     'EQUALSNOSPACE'    => 'equals sign without following space',
-    'NOSPACEEQUALS'    => 'equals sign without preceeding space',
+    'NOSPACEEQUALS'    => 'equals sign without preceding space',
     'SEMINOSPACE'      => 'semicolon without following space',
     'MULTISPACE'       => 'multiple spaces used when not suitable',
     );
@@ -101,7 +101,7 @@
     }
 
     if($nowarn) {
-        $supressed++;
+        $suppressed++;
         if($w) {
             $swarnings++;
         }
@@ -142,6 +142,16 @@
         $file = shift @ARGV;
         next;
     }
+    elsif($file =~ /-i([1-9])/) {
+        $indent = $1 + 0;
+        $file = shift @ARGV;
+        next;
+    }
+    elsif($file =~ /-m([0-9]+)/) {
+        $max_column = $1 + 0;
+        $file = shift @ARGV;
+        next;
+    }
     elsif($file =~ /^(-h|--help)/) {
         undef $file;
         last;
@@ -156,6 +166,8 @@
     print "  -D[DIR]   Directory to prepend file names\n";
     print "  -h        Show help output\n";
     print "  -W[file]  Whitelist the given file - ignore all its flaws\n";
+    print "  -i<n>     Indent spaces. Default: 2\n";
+    print "  -m<n>     Maximum line length. Default: 79\n";
     print "\nDetects and warns for these problems:\n";
     for(sort keys %warnings) {
         printf (" %-18s: %s\n", $_, $warnings{$_});
@@ -422,7 +434,7 @@
                 # There is a quote here, figure out whether the comma is
                 # within a string or '' or not.
                 if($pref =~ /\"/) {
-                    # withing a string
+                    # within a string
                 }
                 elsif($pref =~ /\'$/) {
                     # a single letter
@@ -596,7 +608,7 @@
 
 if($errors || $warnings || $verbose) {
     printf "checksrc: %d errors and %d warnings\n", $errors, $warnings;
-    if($supressed) {
+    if($suppressed) {
         printf "checksrc: %d errors and %d warnings suppressed\n",
         $serrors,
         $swarnings;
diff --git a/lib/config-win32.h b/lib/config-win32.h
index 3e5567d..fdac6f9 100644
--- a/lib/config-win32.h
+++ b/lib/config-win32.h
@@ -7,7 +7,7 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
@@ -708,6 +708,11 @@
 /* Define to use the Windows crypto library. */
 #define USE_WIN32_CRYPTO
 
+/* Define to use Unix sockets. */
+#if defined(_MSC_VER) && _MSC_VER >= 1900
+/* #define USE_UNIX_SOCKETS */
+#endif
+
 /* ---------------------------------------------------------------- */
 /*                       ADDITIONAL DEFINITIONS                     */
 /* ---------------------------------------------------------------- */
diff --git a/lib/connect.c b/lib/connect.c
index 3edb71e..1a27ae1 100644
--- a/lib/connect.c
+++ b/lib/connect.c
@@ -619,8 +619,8 @@
 
 /* retrieves ip address and port from a sockaddr structure.
    note it calls Curl_inet_ntop which sets errno on fail, not SOCKERRNO. */
-static bool getaddressinfo(struct sockaddr *sa, char *addr,
-                           long *port)
+bool Curl_getaddressinfo(struct sockaddr *sa, char *addr,
+                         long *port)
 {
   unsigned short us_port;
   struct sockaddr_in *si = NULL;
@@ -700,16 +700,16 @@
       return;
     }
 
-    if(!getaddressinfo((struct sockaddr*)&ssrem,
-                        conn->primary_ip, &conn->primary_port)) {
+    if(!Curl_getaddressinfo((struct sockaddr*)&ssrem,
+                            conn->primary_ip, &conn->primary_port)) {
       failf(data, "ssrem inet_ntop() failed with errno %d: %s",
             errno, Curl_strerror(conn, errno));
       return;
     }
     memcpy(conn->ip_addr_str, conn->primary_ip, MAX_IPADR_LEN);
 
-    if(!getaddressinfo((struct sockaddr*)&ssloc,
-                       conn->local_ip, &conn->local_port)) {
+    if(!Curl_getaddressinfo((struct sockaddr*)&ssloc,
+                            conn->local_ip, &conn->local_port)) {
       failf(data, "ssloc inet_ntop() failed with errno %d: %s",
             errno, Curl_strerror(conn, errno));
       return;
@@ -783,7 +783,8 @@
 
       /* should we try another protocol family? */
       if(i == 0 && conn->tempaddr[1] == NULL &&
-         Curl_timediff(now, conn->connecttime) >= HAPPY_EYEBALLS_TIMEOUT) {
+         (Curl_timediff(now, conn->connecttime) >=
+          data->set.happy_eyeballs_timeout)) {
         trynextip(conn, sockindex, 1);
       }
     }
@@ -1005,8 +1006,8 @@
     return CURLE_OK;
 
   /* store remote address and port used in this connection attempt */
-  if(!getaddressinfo((struct sockaddr*)&addr.sa_addr,
-                     ipaddress, &port)) {
+  if(!Curl_getaddressinfo((struct sockaddr*)&addr.sa_addr,
+                          ipaddress, &port)) {
     /* malformed address or bug in inet_ntop, try next address */
     failf(data, "sa_addr inet_ntop() failed with errno %d: %s",
           errno, Curl_strerror(conn, errno));
@@ -1033,9 +1034,11 @@
 
   if(data->set.fsockopt) {
     /* activate callback for setting socket options */
+    Curl_set_in_callback(data, true);
     error = data->set.fsockopt(data->set.sockopt_client,
                                sockfd,
                                CURLSOCKTYPE_IPCXN);
+    Curl_set_in_callback(data, false);
 
     if(error == CURL_SOCKOPT_ALREADY_CONNECTED)
       isconnected = TRUE;
@@ -1204,7 +1207,8 @@
   }
 
   data->info.numconnects++; /* to track the number of connections made */
-  Curl_expire(conn->data, HAPPY_EYEBALLS_TIMEOUT, EXPIRE_HAPPY_EYEBALLS);
+  Curl_expire(conn->data, data->set.happy_eyeballs_timeout,
+              EXPIRE_HAPPY_EYEBALLS);
 
   return CURLE_OK;
 }
@@ -1311,8 +1315,12 @@
          status */
       conn->sock_accepted[SECONDARYSOCKET] = FALSE;
     else {
+      int rc;
       Curl_multi_closed(conn, sock);
-      return conn->fclosesocket(conn->closesocket_client, sock);
+      Curl_set_in_callback(conn->data, true);
+      rc = conn->fclosesocket(conn->closesocket_client, sock);
+      Curl_set_in_callback(conn->data, false);
+      return rc;
     }
   }
 
@@ -1363,7 +1371,7 @@
      addr->addrlen = sizeof(struct Curl_sockaddr_storage);
   memcpy(&addr->sa_addr, ai->ai_addr, addr->addrlen);
 
-  if(data->set.fopensocket)
+  if(data->set.fopensocket) {
    /*
     * If the opensocket callback is set, all the destination address
     * information is passed to the callback. Depending on this information the
@@ -1373,9 +1381,12 @@
     * might have been changed and this 'new' address will actually be used
     * here to connect.
     */
+    Curl_set_in_callback(data, true);
     *sockfd = data->set.fopensocket(data->set.opensocket_client,
                                     CURLSOCKTYPE_IPCXN,
                                     (struct curl_sockaddr *)addr);
+    Curl_set_in_callback(data, false);
+  }
   else
     /* opensocket callback not set, so simply create the socket now */
     *sockfd = socket(addr->family, addr->socktype, addr->protocol);
diff --git a/lib/connect.h b/lib/connect.h
index 3974486..193dc63 100644
--- a/lib/connect.h
+++ b/lib/connect.h
@@ -41,8 +41,6 @@
                          bool duringconnect);
 
 #define DEFAULT_CONNECT_TIMEOUT 300000 /* milliseconds == five minutes */
-#define HAPPY_EYEBALLS_TIMEOUT     200 /* milliseconds to wait between
-                                          IPv4/IPv6 connection attempts */
 
 /*
  * Used to extract socket and connectdata struct for the most recent
@@ -78,6 +76,11 @@
 int Curl_closesocket(struct connectdata *conn, curl_socket_t sock);
 
 /*
+ * Get presentation format IP address and port from a sockaddr.
+ */
+bool Curl_getaddressinfo(struct sockaddr *sa, char *addr, long *port);
+
+/*
  * The Curl_sockaddr_ex structure is basically libcurl's external API
  * curl_sockaddr structure with enough space available to directly hold any
  * protocol-specific address structures. The variable declared here will be
diff --git a/lib/content_encoding.c b/lib/content_encoding.c
index 46bef0c..2b2188b 100644
--- a/lib/content_encoding.c
+++ b/lib/content_encoding.c
@@ -726,7 +726,7 @@
 
 static const content_encoding identity_encoding = {
   "identity",
-  NULL,
+  "none",
   identity_init_writer,
   identity_unencode_write,
   identity_close_writer,
diff --git a/lib/cookie.c b/lib/cookie.c
index c7afc7a..63deee1 100644
--- a/lib/cookie.c
+++ b/lib/cookie.c
@@ -5,7 +5,7 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
@@ -430,9 +430,6 @@
         size_t nlen = strlen(name);
         const char *endofn = &ptr[ nlen ];
 
-        infof(data, "cookie size: name/val %d + %d bytes\n",
-              nlen, len);
-
         if(nlen >= (MAX_NAME-1) || len >= (MAX_NAME-1) ||
            ((nlen + len) > MAX_NAME)) {
           /* too long individual name or contents, or too long combination of
diff --git a/lib/curl_addrinfo.c b/lib/curl_addrinfo.c
index ec76f75..95a3f10 100644
--- a/lib/curl_addrinfo.c
+++ b/lib/curl_addrinfo.c
@@ -5,7 +5,7 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
@@ -50,6 +50,10 @@
 #  define in_addr_t unsigned long
 #endif
 
+#if defined(WIN32) && defined(USE_UNIX_SOCKETS)
+#include <afunix.h>
+#endif
+
 #include <stddef.h>
 
 #include "curl_addrinfo.h"
diff --git a/lib/curl_config.h b/lib/curl_config.h
index 90a2a58..e8d3470 100644
--- a/lib/curl_config.h
+++ b/lib/curl_config.h
@@ -143,10 +143,7 @@
 /* #undef HAVE_BUILTIN_AVAILABLE */
 
 /* Define to 1 if you have the clock_gettime function and monotonic timer. */
-#if !defined(__APPLE__)
-/* CLOCK_MONOTONIC is not defined in mac when building for the host. */
 #define HAVE_CLOCK_GETTIME_MONOTONIC 1
-#endif
 
 /* Define to 1 if you have the closesocket function. */
 /* #undef HAVE_CLOSESOCKET */
@@ -436,9 +433,7 @@
 #define HAVE_LIBZ 1
 
 /* Define to 1 if you have the <linux/tcp.h> header file. */
-#if !defined(__APPLE__)
 #define HAVE_LINUX_TCP_H 1
-#endif
 
 /* if your compiler supports LL */
 #define HAVE_LL 1
@@ -462,14 +457,10 @@
 #define HAVE_MEMORY_H 1
 
 /* Define to 1 if you have the memrchr function or macro. */
-#if !defined(__APPLE__)
 #define HAVE_MEMRCHR 1
-#endif
 
 /* Define to 1 if you have the MSG_NOSIGNAL flag. */
-#if !defined(__APPLE__)
 #define HAVE_MSG_NOSIGNAL 1
-#endif
 
 /* Define to 1 if you have the <netdb.h> header file. */
 #define HAVE_NETDB_H 1
@@ -526,6 +517,9 @@
 /* Define to 1 if you have the `pipe' function. */
 #define HAVE_PIPE 1
 
+/* if you have the PK11_CreateManagedGenericObject function */
+/* #undef HAVE_PK11_CREATEMANAGEDGENERICOBJECT */
+
 /* Define to 1 if you have a working poll function. */
 #define HAVE_POLL 1
 
@@ -739,6 +733,9 @@
 /* Define to 1 if you have the <time.h> header file. */
 #define HAVE_TIME_H 1
 
+/* Define this if time_t is unsigned */
+/* #undef HAVE_TIME_T_UNSIGNED */
+
 /* Define to 1 if you have the <unistd.h> header file. */
 #define HAVE_UNISTD_H 1
 
diff --git a/lib/curl_config.h.in b/lib/curl_config.h.in
index d7ed28d..0f2a804 100644
--- a/lib/curl_config.h.in
+++ b/lib/curl_config.h.in
@@ -516,6 +516,9 @@
 /* Define to 1 if you have the `pipe' function. */
 #undef HAVE_PIPE
 
+/* if you have the PK11_CreateManagedGenericObject function */
+#undef HAVE_PK11_CREATEMANAGEDGENERICOBJECT
+
 /* Define to 1 if you have a working poll function. */
 #undef HAVE_POLL
 
@@ -729,6 +732,9 @@
 /* Define to 1 if you have the <time.h> header file. */
 #undef HAVE_TIME_H
 
+/* Define this if time_t is unsigned */
+#undef HAVE_TIME_T_UNSIGNED
+
 /* Define to 1 if you have the <unistd.h> header file. */
 #undef HAVE_UNISTD_H
 
diff --git a/lib/curl_ctype.c b/lib/curl_ctype.c
new file mode 100644
index 0000000..4f5abc2
--- /dev/null
+++ b/lib/curl_ctype.c
@@ -0,0 +1,122 @@
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+ *
+ * This software is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at https://curl.haxx.se/docs/copyright.html.
+ *
+ * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+ * copies of the Software, and permit persons to whom the Software is
+ * furnished to do so, under the terms of the COPYING file.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ***************************************************************************/
+
+#include "curl_setup.h"
+
+#undef _U
+#define _U (1<<0) /* upper case */
+#undef _L
+#define _L (1<<1) /* lower case */
+#undef _N
+#define _N (1<<2) /* decimal numerical digit */
+#undef _S
+#define _S (1<<3) /* space */
+#undef _P
+#define _P (1<<4) /* punctuation */
+#undef _C
+#define _C (1<<5) /* control */
+#undef _X
+#define _X (1<<6) /* hexadecimal letter */
+#undef _B
+#define _B (1<<7) /* blank */
+
+static const unsigned char ascii[128] = {
+  _C,   _C,     _C,     _C,     _C,     _C,     _C,     _C,
+  _C,   _C|_S,  _C|_S,  _C|_S,  _C|_S,  _C|_S,  _C,     _C,
+  _C,   _C,     _C,     _C,     _C,     _C,     _C,     _C,
+  _C,   _C,     _C,     _C,     _C,     _C,     _C,     _C,
+  _S|_B, _P,    _P,     _P,     _P,     _P,     _P,     _P,
+  _P,   _P,     _P,     _P,     _P,     _P,     _P,     _P,
+  _N,   _N,     _N,     _N,     _N,     _N,     _N,     _N,
+  _N,   _N,     _P,     _P,     _P,     _P,     _P,     _P,
+  _P,   _U|_X,  _U|_X,  _U|_X,  _U|_X,  _U|_X,  _U|_X,  _U,
+  _U,   _U,     _U,     _U,     _U,     _U,     _U,     _U,
+  _U,   _U,     _U,     _U,     _U,     _U,     _U,     _U,
+  _U,   _U,     _U,     _P,     _P,     _P,     _P,     _P,
+  _P,   _L|_X,  _L|_X,  _L|_X,  _L|_X,  _L|_X,  _L|_X,  _L,
+  _L,   _L,     _L,     _L,     _L,     _L,     _L,     _L,
+  _L,   _L,     _L,     _L,     _L,     _L,     _L,     _L,
+  _L,   _L,     _L,     _P,     _P,     _P,     _P,     _C
+};
+
+int Curl_isspace(int c)
+{
+  if((c < 0) || (c >= 0x80))
+    return FALSE;
+  return (ascii[c] & _S);
+}
+
+int Curl_isdigit(int c)
+{
+  if((c < 0) || (c >= 0x80))
+    return FALSE;
+  return (ascii[c] & _N);
+}
+
+int Curl_isalnum(int c)
+{
+  if((c < 0) || (c >= 0x80))
+    return FALSE;
+  return (ascii[c] & (_N|_U|_L));
+}
+
+int Curl_isxdigit(int c)
+{
+  if((c < 0) || (c >= 0x80))
+    return FALSE;
+  return (ascii[c] & (_N|_X));
+}
+
+int Curl_isgraph(int c)
+{
+  if((c < 0) || (c >= 0x80) || (c == ' '))
+    return FALSE;
+  return (ascii[c] & (_N|_X|_U|_L|_P|_S));
+}
+
+int Curl_isprint(int c)
+{
+  if((c < 0) || (c >= 0x80))
+    return FALSE;
+  return (ascii[c] & (_N|_X|_U|_L|_P|_S));
+}
+
+int Curl_isalpha(int c)
+{
+  if((c < 0) || (c >= 0x80))
+    return FALSE;
+  return (ascii[c] & (_U|_L));
+}
+
+int Curl_isupper(int c)
+{
+  if((c < 0) || (c >= 0x80))
+    return FALSE;
+  return (ascii[c] & (_U));
+}
+
+int Curl_islower(int c)
+{
+  if((c < 0) || (c >= 0x80))
+    return FALSE;
+  return (ascii[c] & (_L));
+}
diff --git a/lib/curl_ctype.h b/lib/curl_ctype.h
new file mode 100644
index 0000000..da3bd95
--- /dev/null
+++ b/lib/curl_ctype.h
@@ -0,0 +1,48 @@
+#ifndef HEADER_CURL_CTYPE_H
+#define HEADER_CURL_CTYPE_H
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+ *
+ * This software is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at https://curl.haxx.se/docs/copyright.html.
+ *
+ * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+ * copies of the Software, and permit persons to whom the Software is
+ * furnished to do so, under the terms of the COPYING file.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ***************************************************************************/
+
+int Curl_isspace(int c);
+int Curl_isdigit(int c);
+int Curl_isalnum(int c);
+int Curl_isxdigit(int c);
+int Curl_isgraph(int c);
+int Curl_isprint(int c);
+int Curl_isalpha(int c);
+int Curl_isupper(int c);
+int Curl_islower(int c);
+
+#define ISSPACE(x)  (Curl_isspace((int)  ((unsigned char)x)))
+#define ISDIGIT(x)  (Curl_isdigit((int)  ((unsigned char)x)))
+#define ISALNUM(x)  (Curl_isalnum((int)  ((unsigned char)x)))
+#define ISXDIGIT(x) (Curl_isxdigit((int) ((unsigned char)x)))
+#define ISGRAPH(x)  (Curl_isgraph((int)  ((unsigned char)x)))
+#define ISALPHA(x)  (Curl_isalpha((int)  ((unsigned char)x)))
+#define ISPRINT(x)  (Curl_isprint((int)  ((unsigned char)x)))
+#define ISUPPER(x)  (Curl_isupper((int)  ((unsigned char)x)))
+#define ISLOWER(x)  (Curl_islower((int)  ((unsigned char)x)))
+#define ISASCII(x)  (((x) >= 0) && ((x) <= 0x80))
+#define ISBLANK(x)  (int)((((unsigned char)x) == ' ') ||        \
+                          (((unsigned char)x) == '\t'))
+
+#endif /* HEADER_CURL_CTYPE_H */
diff --git a/lib/curl_fnmatch.c b/lib/curl_fnmatch.c
index f33bba1..0179a4f 100644
--- a/lib/curl_fnmatch.c
+++ b/lib/curl_fnmatch.c
@@ -47,14 +47,7 @@
 #define CURLFNM_UPPER   (CURLFNM_CHARSET_LEN + 10)
 
 typedef enum {
-  CURLFNM_LOOP_DEFAULT = 0,
-  CURLFNM_LOOP_BACKSLASH
-} loop_state;
-
-typedef enum {
   CURLFNM_SCHS_DEFAULT = 0,
-  CURLFNM_SCHS_MAYRANGE,
-  CURLFNM_SCHS_MAYRANGE2,
   CURLFNM_SCHS_RIGHTBR,
   CURLFNM_SCHS_RIGHTBRLEFTBR
 } setcharset_state;
@@ -64,6 +57,13 @@
   CURLFNM_PKW_DDOT
 } parsekey_state;
 
+typedef enum {
+  CCLASS_OTHER = 0,
+  CCLASS_DIGIT,
+  CCLASS_UPPER,
+  CCLASS_LOWER
+} char_class;
+
 #define SETCHARSET_OK     1
 #define SETCHARSET_FAIL   0
 
@@ -81,12 +81,12 @@
       return SETCHARSET_FAIL;
     switch(state) {
     case CURLFNM_PKW_INIT:
-      if(ISALPHA(c) && ISLOWER(c))
+      if(ISLOWER(c))
         keyword[i] = c;
       else if(c == ':')
         state = CURLFNM_PKW_DDOT;
       else
-        return 0;
+        return SETCHARSET_FAIL;
       break;
     case CURLFNM_PKW_DDOT:
       if(c == ']')
@@ -123,14 +123,48 @@
   return SETCHARSET_OK;
 }
 
+/* Return the character class. */
+static char_class charclass(unsigned char c)
+{
+  if(ISUPPER(c))
+    return CCLASS_UPPER;
+  if(ISLOWER(c))
+    return CCLASS_LOWER;
+  if(ISDIGIT(c))
+    return CCLASS_DIGIT;
+  return CCLASS_OTHER;
+}
+
+/* Include a character or a range in set. */
+static void setcharorrange(unsigned char **pp, unsigned char *charset)
+{
+  unsigned char *p = (*pp)++;
+  unsigned char c = *p++;
+
+  charset[c] = 1;
+  if(ISALNUM(c) && *p++ == '-') {
+    char_class cc = charclass(c);
+    unsigned char endrange = *p++;
+
+    if(endrange == '\\')
+      endrange = *p++;
+    if(endrange >= c && charclass(endrange) == cc) {
+      while(c++ != endrange)
+        if(charclass(c) == cc)  /* Chars in class may be not consecutive. */
+          charset[c] = 1;
+      *pp = p;
+    }
+  }
+}
+
 /* returns 1 (true) if pattern is OK, 0 if is bad ("p" is pattern pointer) */
 static int setcharset(unsigned char **p, unsigned char *charset)
 {
   setcharset_state state = CURLFNM_SCHS_DEFAULT;
-  unsigned char rangestart = 0;
-  unsigned char lastchar   = 0;
   bool something_found = FALSE;
   unsigned char c;
+
+  memset(charset, 0, CURLFNM_CHSET_SIZE);
   for(;;) {
     c = **p;
     if(!c)
@@ -138,14 +172,7 @@
 
     switch(state) {
     case CURLFNM_SCHS_DEFAULT:
-      if(ISALNUM(c)) { /* ASCII value */
-        rangestart = c;
-        charset[c] = 1;
-        (*p)++;
-        state = CURLFNM_SCHS_MAYRANGE;
-        something_found = TRUE;
-      }
-      else if(c == ']') {
+      if(c == ']') {
         if(something_found)
           return SETCHARSET_OK;
         something_found = TRUE;
@@ -154,26 +181,16 @@
         (*p)++;
       }
       else if(c == '[') {
-        char c2 = *((*p) + 1);
-        if(c2 == ':') { /* there has to be a keyword */
-          (*p) += 2;
-          if(parsekeyword(p, charset)) {
-            state = CURLFNM_SCHS_DEFAULT;
-          }
-          else
-            return SETCHARSET_FAIL;
-        }
+        unsigned char *pp = *p + 1;
+
+        if(*pp++ == ':' && parsekeyword(&pp, charset))
+          *p = pp;
         else {
           charset[c] = 1;
           (*p)++;
         }
         something_found = TRUE;
       }
-      else if(c == '?' || c == '*') {
-        something_found = TRUE;
-        charset[c] = 1;
-        (*p)++;
-      }
       else if(c == '^' || c == '!') {
         if(!something_found) {
           if(charset[CURLFNM_NEGATE]) {
@@ -189,81 +206,16 @@
       }
       else if(c == '\\') {
         c = *(++(*p));
-        if(ISPRINT((c))) {
-          something_found = TRUE;
-          state = CURLFNM_SCHS_MAYRANGE;
-          charset[c] = 1;
-          rangestart = c;
-          (*p)++;
-        }
+        if(c)
+          setcharorrange(p, charset);
         else
-          return SETCHARSET_FAIL;
-      }
-      else {
-        charset[c] = 1;
-        (*p)++;
+          charset['\\'] = 1;
         something_found = TRUE;
       }
-      break;
-    case CURLFNM_SCHS_MAYRANGE:
-      if(c == '-') {
-        charset[c] = 1;
-        (*p)++;
-        lastchar = '-';
-        state = CURLFNM_SCHS_MAYRANGE2;
+      else {
+        setcharorrange(p, charset);
+        something_found = TRUE;
       }
-      else if(c == '[') {
-        state = CURLFNM_SCHS_DEFAULT;
-      }
-      else if(ISALNUM(c)) {
-        charset[c] = 1;
-        (*p)++;
-      }
-      else if(c == '\\') {
-        c = *(++(*p));
-        if(ISPRINT(c)) {
-          charset[c] = 1;
-          (*p)++;
-        }
-        else
-          return SETCHARSET_FAIL;
-      }
-      else if(c == ']') {
-        return SETCHARSET_OK;
-      }
-      else
-        return SETCHARSET_FAIL;
-      break;
-    case CURLFNM_SCHS_MAYRANGE2:
-      if(c == ']') {
-        return SETCHARSET_OK;
-      }
-      else if(c == '\\') {
-        c = *(++(*p));
-        if(ISPRINT(c)) {
-          charset[c] = 1;
-          state = CURLFNM_SCHS_DEFAULT;
-          (*p)++;
-        }
-        else
-          return SETCHARSET_FAIL;
-      }
-      else if(c >= rangestart) {
-        if((ISLOWER(c) && ISLOWER(rangestart)) ||
-           (ISDIGIT(c) && ISDIGIT(rangestart)) ||
-           (ISUPPER(c) && ISUPPER(rangestart))) {
-          charset[lastchar] = 0;
-          rangestart++;
-          while(rangestart++ <= c)
-            charset[rangestart-1] = 1;
-          (*p)++;
-          state = CURLFNM_SCHS_DEFAULT;
-        }
-        else
-          return SETCHARSET_FAIL;
-      }
-      else
-        return SETCHARSET_FAIL;
       break;
     case CURLFNM_SCHS_RIGHTBR:
       if(c == '[') {
@@ -286,14 +238,11 @@
         goto fail;
       break;
     case CURLFNM_SCHS_RIGHTBRLEFTBR:
-      if(c == ']') {
+      if(c == ']')
         return SETCHARSET_OK;
-      }
-      else {
-        state  = CURLFNM_SCHS_DEFAULT;
-        charset[c] = 1;
-        (*p)++;
-      }
+      state  = CURLFNM_SCHS_DEFAULT;
+      charset[c] = 1;
+      (*p)++;
       break;
     }
   }
@@ -304,107 +253,93 @@
 static int loop(const unsigned char *pattern, const unsigned char *string,
                 int maxstars)
 {
-  loop_state state = CURLFNM_LOOP_DEFAULT;
   unsigned char *p = (unsigned char *)pattern;
   unsigned char *s = (unsigned char *)string;
   unsigned char charset[CURLFNM_CHSET_SIZE] = { 0 };
-  int rc = 0;
 
   for(;;) {
-    switch(state) {
-    case CURLFNM_LOOP_DEFAULT:
-      if(*p == '*') {
-        if(!maxstars)
-          return CURL_FNMATCH_NOMATCH;
-        while(*(p + 1) == '*') /* eliminate multiple stars */
-          p++;
-        if(*s == '\0' && *(p + 1) == '\0')
-          return CURL_FNMATCH_MATCH;
-        rc = loop(p + 1, s, maxstars - 1); /* *.txt matches .txt <=>
-                                              .txt matches .txt */
-        if(rc == CURL_FNMATCH_MATCH)
-          return CURL_FNMATCH_MATCH;
-        if(*s) /* let the star eat up one character */
-          s++;
-        else
-          return CURL_FNMATCH_NOMATCH;
-      }
-      else if(*p == '?') {
-        if(ISPRINT(*s)) {
-          s++;
-          p++;
-        }
-        else if(*s == '\0')
-          return CURL_FNMATCH_NOMATCH;
-        else
-          return CURL_FNMATCH_FAIL; /* cannot deal with other character */
-      }
-      else if(*p == '\0') {
-        if(*s == '\0')
-          return CURL_FNMATCH_MATCH;
+    unsigned char *pp;
+
+    switch(*p) {
+    case '*':
+      if(!maxstars)
         return CURL_FNMATCH_NOMATCH;
-      }
-      else if(*p == '\\') {
-        state = CURLFNM_LOOP_BACKSLASH;
-        p++;
-      }
-      else if(*p == '[') {
-        unsigned char *pp = p + 1; /* cannot handle with pointer to register */
-        if(setcharset(&pp, charset)) {
-          int found = FALSE;
-          if(charset[(unsigned int)*s])
-            found = TRUE;
-          else if(charset[CURLFNM_ALNUM])
-            found = ISALNUM(*s);
-          else if(charset[CURLFNM_ALPHA])
-            found = ISALPHA(*s);
-          else if(charset[CURLFNM_DIGIT])
-            found = ISDIGIT(*s);
-          else if(charset[CURLFNM_XDIGIT])
-            found = ISXDIGIT(*s);
-          else if(charset[CURLFNM_PRINT])
-            found = ISPRINT(*s);
-          else if(charset[CURLFNM_SPACE])
-            found = ISSPACE(*s);
-          else if(charset[CURLFNM_UPPER])
-            found = ISUPPER(*s);
-          else if(charset[CURLFNM_LOWER])
-            found = ISLOWER(*s);
-          else if(charset[CURLFNM_BLANK])
-            found = ISBLANK(*s);
-          else if(charset[CURLFNM_GRAPH])
-            found = ISGRAPH(*s);
-
-          if(charset[CURLFNM_NEGATE])
-            found = !found;
-
-          if(found) {
-            p = pp + 1;
-            if(*s)
-              /* don't advance if we're matching on an empty string */
-              s++;
-            memset(charset, 0, CURLFNM_CHSET_SIZE);
-          }
-          else
+      /* Regroup consecutive stars and question marks. This can be done because
+         '*?*?*' can be expressed as '??*'. */
+      for(;;) {
+        if(*++p == '\0')
+          return CURL_FNMATCH_MATCH;
+        if(*p == '?') {
+          if(!*s++)
             return CURL_FNMATCH_NOMATCH;
         }
-        else
-          return CURL_FNMATCH_FAIL;
+        else if(*p != '*')
+          break;
       }
-      else {
-        if(*p++ != *s++)
-          return CURL_FNMATCH_NOMATCH;
+      /* Skip string characters until we find a match with pattern suffix. */
+      for(maxstars--; *s; s++) {
+        if(loop(p, s, maxstars) == CURL_FNMATCH_MATCH)
+          return CURL_FNMATCH_MATCH;
       }
+      return CURL_FNMATCH_NOMATCH;
+    case '?':
+      if(!*s)
+        return CURL_FNMATCH_NOMATCH;
+      s++;
+      p++;
       break;
-    case CURLFNM_LOOP_BACKSLASH:
-      if(ISPRINT(*p)) {
-        if(*p++ == *s++)
-          state = CURLFNM_LOOP_DEFAULT;
-        else
+    case '\0':
+      return *s? CURL_FNMATCH_NOMATCH: CURL_FNMATCH_MATCH;
+    case '\\':
+      if(p[1])
+        p++;
+      if(*s++ != *p++)
+        return CURL_FNMATCH_NOMATCH;
+      break;
+    case '[':
+      pp = p + 1; /* Copy in case of syntax error in set. */
+      if(setcharset(&pp, charset)) {
+        int found = FALSE;
+        if(!*s)
           return CURL_FNMATCH_NOMATCH;
+        if(charset[(unsigned int)*s])
+          found = TRUE;
+        else if(charset[CURLFNM_ALNUM])
+          found = ISALNUM(*s);
+        else if(charset[CURLFNM_ALPHA])
+          found = ISALPHA(*s);
+        else if(charset[CURLFNM_DIGIT])
+          found = ISDIGIT(*s);
+        else if(charset[CURLFNM_XDIGIT])
+          found = ISXDIGIT(*s);
+        else if(charset[CURLFNM_PRINT])
+          found = ISPRINT(*s);
+        else if(charset[CURLFNM_SPACE])
+          found = ISSPACE(*s);
+        else if(charset[CURLFNM_UPPER])
+          found = ISUPPER(*s);
+        else if(charset[CURLFNM_LOWER])
+          found = ISLOWER(*s);
+        else if(charset[CURLFNM_BLANK])
+          found = ISBLANK(*s);
+        else if(charset[CURLFNM_GRAPH])
+          found = ISGRAPH(*s);
+
+        if(charset[CURLFNM_NEGATE])
+          found = !found;
+
+        if(!found)
+          return CURL_FNMATCH_NOMATCH;
+        p = pp + 1;
+        s++;
+        break;
       }
-      else
-        return CURL_FNMATCH_FAIL;
+
+      /* Syntax error in set: this must be taken as a regular character. */
+      /* FALLTHROUGH */
+    default:
+      if(*p++ != *s++)
+        return CURL_FNMATCH_NOMATCH;
       break;
     }
   }
diff --git a/lib/curl_gssapi.c b/lib/curl_gssapi.c
index 83f3fa0..f007986 100644
--- a/lib/curl_gssapi.c
+++ b/lib/curl_gssapi.c
@@ -5,7 +5,7 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 2011 - 2016, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 2011 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
@@ -27,6 +27,11 @@
 #include "curl_gssapi.h"
 #include "sendf.h"
 
+/* The last 3 #include files should be in this order */
+#include "curl_printf.h"
+#include "curl_memory.h"
+#include "memdebug.h"
+
 static char spnego_oid_bytes[] = "\x2b\x06\x01\x05\x05\x02";
 gss_OID_desc Curl_spnego_mech_oid = { 6, &spnego_oid_bytes };
 static char krb5_oid_bytes[] = "\x2a\x86\x48\x86\xf7\x12\x01\x02\x02";
diff --git a/lib/curl_ntlm_wb.c b/lib/curl_ntlm_wb.c
index 03f47a3..353a656 100644
--- a/lib/curl_ntlm_wb.c
+++ b/lib/curl_ntlm_wb.c
@@ -364,7 +364,7 @@
   case NTLMSTATE_TYPE1:
   default:
     /* Use Samba's 'winbind' daemon to support NTLM authentication,
-     * by delegating the NTLM challenge/response protocal to a helper
+     * by delegating the NTLM challenge/response protocol to a helper
      * in ntlm_auth.
      * http://devel.squid-cache.org/ntlm/squid_helper_protocol.html
      * https://www.samba.org/samba/docs/man/manpages-3/winbindd.8.html
diff --git a/lib/curl_range.c b/lib/curl_range.c
new file mode 100644
index 0000000..aa3c493
--- /dev/null
+++ b/lib/curl_range.c
@@ -0,0 +1,95 @@
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+ *
+ * This software is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at https://curl.haxx.se/docs/copyright.html.
+ *
+ * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+ * copies of the Software, and permit persons to whom the Software is
+ * furnished to do so, under the terms of the COPYING file.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ***************************************************************************/
+
+#include "curl_setup.h"
+#include <curl/curl.h>
+#include "curl_range.h"
+#include "sendf.h"
+#include "strtoofft.h"
+
+/* Only include this function if one or more of FTP, FILE are enabled. */
+#if !defined(CURL_DISABLE_FTP) || !defined(CURL_DISABLE_FILE)
+
+ /*
+  Check if this is a range download, and if so, set the internal variables
+  properly.
+ */
+CURLcode Curl_range(struct connectdata *conn)
+{
+  curl_off_t from, to;
+  char *ptr;
+  char *ptr2;
+  struct Curl_easy *data = conn->data;
+
+  if(data->state.use_range && data->state.range) {
+    CURLofft from_t;
+    CURLofft to_t;
+    from_t = curlx_strtoofft(data->state.range, &ptr, 0, &from);
+    if(from_t == CURL_OFFT_FLOW)
+      return CURLE_RANGE_ERROR;
+    while(*ptr && (ISSPACE(*ptr) || (*ptr == '-')))
+      ptr++;
+    to_t = curlx_strtoofft(ptr, &ptr2, 0, &to);
+    if(to_t == CURL_OFFT_FLOW)
+      return CURLE_RANGE_ERROR;
+    if((to_t == CURL_OFFT_INVAL) && !from_t) {
+      /* X - */
+      data->state.resume_from = from;
+      DEBUGF(infof(data, "RANGE %" CURL_FORMAT_CURL_OFF_T " to end of file\n",
+                   from));
+    }
+    else if((from_t == CURL_OFFT_INVAL) && !to_t) {
+      /* -Y */
+      data->req.maxdownload = to;
+      data->state.resume_from = -to;
+      DEBUGF(infof(data, "RANGE the last %" CURL_FORMAT_CURL_OFF_T " bytes\n",
+                   to));
+    }
+    else {
+      /* X-Y */
+      curl_off_t totalsize;
+
+      /* Ensure the range is sensible - to should follow from. */
+      if(from > to)
+        return CURLE_RANGE_ERROR;
+
+      totalsize = to - from;
+      if(totalsize == CURL_OFF_T_MAX)
+        return CURLE_RANGE_ERROR;
+
+      data->req.maxdownload = totalsize + 1; /* include last byte */
+      data->state.resume_from = from;
+      DEBUGF(infof(data, "RANGE from %" CURL_FORMAT_CURL_OFF_T
+                   " getting %" CURL_FORMAT_CURL_OFF_T " bytes\n",
+                   from, data->req.maxdownload));
+    }
+    DEBUGF(infof(data, "range-download from %" CURL_FORMAT_CURL_OFF_T
+                 " to %" CURL_FORMAT_CURL_OFF_T ", totally %"
+                 CURL_FORMAT_CURL_OFF_T " bytes\n",
+                 from, to, data->req.maxdownload));
+  }
+  else
+    data->req.maxdownload = -1;
+  return CURLE_OK;
+}
+
+#endif
diff --git a/lib/curl_range.h b/lib/curl_range.h
new file mode 100644
index 0000000..2350df9
--- /dev/null
+++ b/lib/curl_range.h
@@ -0,0 +1,30 @@
+#ifndef HEADER_CURL_RANGE_H
+#define HEADER_CURL_RANGE_H
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+ *
+ * This software is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at https://curl.haxx.se/docs/copyright.html.
+ *
+ * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+ * copies of the Software, and permit persons to whom the Software is
+ * furnished to do so, under the terms of the COPYING file.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ***************************************************************************/
+
+#include "curl_setup.h"
+#include "urldata.h"
+
+CURLcode Curl_range(struct connectdata *conn);
+
+#endif /* HEADER_CURL_RANGE_H */
diff --git a/lib/curl_sasl.c b/lib/curl_sasl.c
index 550433d..7052bd9 100644
--- a/lib/curl_sasl.c
+++ b/lib/curl_sasl.c
@@ -5,7 +5,7 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 2012 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 2012 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
@@ -361,15 +361,6 @@
                                                        conn->oauth_bearer,
                                                        &resp, &len);
     }
-    else if(enabledmechs & SASL_MECH_LOGIN) {
-      mech = SASL_MECH_STRING_LOGIN;
-      state1 = SASL_LOGIN;
-      state2 = SASL_LOGIN_PASSWD;
-      sasl->authused = SASL_MECH_LOGIN;
-
-      if(force_ir || data->set.sasl_ir)
-        result = Curl_auth_create_login_message(data, conn->user, &resp, &len);
-    }
     else if(enabledmechs & SASL_MECH_PLAIN) {
       mech = SASL_MECH_STRING_PLAIN;
       state1 = SASL_PLAIN;
@@ -379,6 +370,15 @@
         result = Curl_auth_create_plain_message(data, conn->user, conn->passwd,
                                                 &resp, &len);
     }
+    else if(enabledmechs & SASL_MECH_LOGIN) {
+      mech = SASL_MECH_STRING_LOGIN;
+      state1 = SASL_LOGIN;
+      state2 = SASL_LOGIN_PASSWD;
+      sasl->authused = SASL_MECH_LOGIN;
+
+      if(force_ir || data->set.sasl_ir)
+        result = Curl_auth_create_login_message(data, conn->user, &resp, &len);
+    }
   }
 
   if(!result && mech) {
diff --git a/lib/curl_setup.h b/lib/curl_setup.h
index 609ee9e..f128696 100644
--- a/lib/curl_setup.h
+++ b/lib/curl_setup.h
@@ -389,6 +389,11 @@
 #  define LSEEK_ERROR (off_t)-1
 #endif
 
+#ifndef SIZEOF_TIME_T
+/* assume default size of time_t to be 32 bit */
+#define SIZEOF_TIME_T 4
+#endif
+
 /*
  * Default sizeof(off_t) in case it hasn't been defined in config file.
  */
@@ -424,6 +429,24 @@
 #endif
 #define CURL_OFF_T_MIN (-CURL_OFF_T_MAX - CURL_OFF_T_C(1))
 
+#if (SIZEOF_TIME_T == 4)
+#  ifdef HAVE_TIME_T_UNSIGNED
+#  define TIME_T_MAX UINT_MAX
+#  define TIME_T_MIN 0
+#  else
+#  define TIME_T_MAX INT_MAX
+#  define TIME_T_MIN INT_MIN
+#  endif
+#else
+#  ifdef HAVE_TIME_T_UNSIGNED
+#  define TIME_T_MAX 0xFFFFFFFFFFFFFFFF
+#  define TIME_T_MIN 0
+#  else
+#  define TIME_T_MAX 0x7FFFFFFFFFFFFFFF
+#  define TIME_T_MIN (-TIME_T_MAX - 1)
+#  endif
+#endif
+
 /*
  * Arg 2 type for gethostname in case it hasn't been defined in config file.
  */
@@ -607,11 +630,6 @@
 #error "Both libidn2 and WinIDN are enabled, choose one."
 #endif
 
-#ifndef SIZEOF_TIME_T
-/* assume default size of time_t to be 32 bit */
-#define SIZEOF_TIME_T 4
-#endif
-
 #define LIBIDN_REQUIRED_VERSION "0.4.1"
 
 #if defined(USE_GNUTLS) || defined(USE_OPENSSL) || defined(USE_NSS) || \
@@ -751,11 +769,11 @@
 #  if defined(WIN32) || defined(__CYGWIN__)
 #    define USE_RECV_BEFORE_SEND_WORKAROUND
 #  endif
-#else  /* DONT_USE_RECV_BEFORE_SEND_WORKAROUNDS */
+#else  /* DONT_USE_RECV_BEFORE_SEND_WORKAROUND */
 #  ifdef USE_RECV_BEFORE_SEND_WORKAROUND
 #    undef USE_RECV_BEFORE_SEND_WORKAROUND
 #  endif
-#endif /* DONT_USE_RECV_BEFORE_SEND_WORKAROUNDS */
+#endif /* DONT_USE_RECV_BEFORE_SEND_WORKAROUND */
 
 /* Detect Windows App environment which has a restricted access
  * to the Win32 APIs. */
diff --git a/lib/curl_setup_once.h b/lib/curl_setup_once.h
index a5b542c..6d01ea1 100644
--- a/lib/curl_setup_once.h
+++ b/lib/curl_setup_once.h
@@ -7,7 +7,7 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2013, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
@@ -101,7 +101,6 @@
 #  endif
 #endif
 
-
 /*
  * Definition of timeval struct for platforms that don't have it.
  */
@@ -274,25 +273,6 @@
 #  define sfcntl  fcntl
 #endif
 
-/*
- * Uppercase macro versions of ANSI/ISO is*() functions/macros which
- * avoid negative number inputs with argument byte codes > 127.
- */
-
-#define ISSPACE(x)  (isspace((int)  ((unsigned char)x)))
-#define ISDIGIT(x)  (isdigit((int)  ((unsigned char)x)))
-#define ISALNUM(x)  (isalnum((int)  ((unsigned char)x)))
-#define ISXDIGIT(x) (isxdigit((int) ((unsigned char)x)))
-#define ISGRAPH(x)  (isgraph((int)  ((unsigned char)x)))
-#define ISALPHA(x)  (isalpha((int)  ((unsigned char)x)))
-#define ISPRINT(x)  (isprint((int)  ((unsigned char)x)))
-#define ISUPPER(x)  (isupper((int)  ((unsigned char)x)))
-#define ISLOWER(x)  (islower((int)  ((unsigned char)x)))
-#define ISASCII(x)  (isascii((int)  ((unsigned char)x)))
-
-#define ISBLANK(x)  (int)((((unsigned char)x) == ' ') || \
-                          (((unsigned char)x) == '\t'))
-
 #define TOLOWER(x)  (tolower((int)  ((unsigned char)x)))
 
 
@@ -347,6 +327,7 @@
 #define FALSE false
 #endif
 
+#include "curl_ctype.h"
 
 /*
  * Macro WHILE_FALSE may be used to build single-iteration do-while loops,
diff --git a/lib/easy.c b/lib/easy.c
index edc716d..64c647b 100644
--- a/lib/easy.c
+++ b/lib/easy.c
@@ -61,6 +61,7 @@
 #include "strdup.h"
 #include "progress.h"
 #include "easyif.h"
+#include "multiif.h"
 #include "select.h"
 #include "sendf.h" /* for failf function prototype */
 #include "connect.h" /* for Curl_getconnectinfo */
@@ -73,6 +74,7 @@
 #include "sigpipe.h"
 #include "ssh.h"
 #include "setopt.h"
+#include "http_digest.h"
 
 /* The last 3 #include files should be in this order */
 #include "curl_printf.h"
@@ -760,6 +762,9 @@
     data->multi_easy = multi;
   }
 
+  if(multi->in_callback)
+    return CURLE_RECURSIVE_API_CALL;
+
   /* Copy the MAXCONNECTS option to the multi handle */
   curl_multi_setopt(multi, CURLMOPT_MAXCONNECTS, data->set.maxconnects);
 
@@ -1017,6 +1022,7 @@
   /* zero out authentication data: */
   memset(&data->state.authhost, 0, sizeof(struct auth));
   memset(&data->state.authproxy, 0, sizeof(struct auth));
+  Curl_digest_cleanup(data);
 }
 
 /*
@@ -1028,6 +1034,9 @@
  * the pausing, you may get your write callback called at this point.
  *
  * Action is a bitmask consisting of CURLPAUSE_* bits in curl/curl.h
+ *
+ * NOTE: This is one of few API functions that are allowed to be called from
+ * within a callback.
  */
 CURLcode curl_easy_pause(struct Curl_easy *data, int action)
 {
@@ -1070,10 +1079,8 @@
       /* even if one function returns error, this loops through and frees all
          buffers */
       if(!result)
-        result = Curl_client_chop_write(conn,
-                                        writebuf[i].type,
-                                        writebuf[i].buf,
-                                        writebuf[i].len);
+        result = Curl_client_write(conn, writebuf[i].type, writebuf[i].buf,
+                                   writebuf[i].len);
       free(writebuf[i].buf);
     }
 
@@ -1132,6 +1139,9 @@
   ssize_t n1;
   struct connectdata *c;
 
+  if(Curl_is_in_callback(data))
+    return CURLE_RECURSIVE_API_CALL;
+
   result = easy_connection(data, &sfd, &c);
   if(result)
     return result;
@@ -1159,6 +1169,9 @@
   ssize_t n1;
   struct connectdata *c = NULL;
 
+  if(Curl_is_in_callback(data))
+    return CURLE_RECURSIVE_API_CALL;
+
   result = easy_connection(data, &sfd, &c);
   if(result)
     return result;
diff --git a/lib/file.c b/lib/file.c
index 0bbc0e1..db04cc2 100644
--- a/lib/file.c
+++ b/lib/file.c
@@ -5,7 +5,7 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
@@ -61,6 +61,7 @@
 #include "url.h"
 #include "parsedate.h" /* for the week day and month names */
 #include "warnless.h"
+#include "curl_range.h"
 /* The last 3 #include files should be in this order */
 #include "curl_printf.h"
 #include "curl_memory.h"
@@ -125,65 +126,6 @@
   return CURLE_OK;
 }
 
- /*
-  Check if this is a range download, and if so, set the internal variables
-  properly. This code is copied from the FTP implementation and might as
-  well be factored out.
- */
-static CURLcode file_range(struct connectdata *conn)
-{
-  curl_off_t from, to;
-  curl_off_t totalsize = -1;
-  char *ptr;
-  char *ptr2;
-  struct Curl_easy *data = conn->data;
-
-  if(data->state.use_range && data->state.range) {
-    CURLofft from_t;
-    CURLofft to_t;
-    from_t = curlx_strtoofft(data->state.range, &ptr, 0, &from);
-    if(from_t == CURL_OFFT_FLOW)
-      return CURLE_RANGE_ERROR;
-    while(*ptr && (ISSPACE(*ptr) || (*ptr == '-')))
-      ptr++;
-    to_t = curlx_strtoofft(ptr, &ptr2, 0, &to);
-    if(to_t == CURL_OFFT_FLOW)
-      return CURLE_RANGE_ERROR;
-    if((to_t == CURL_OFFT_INVAL) && !from_t) {
-      /* X - */
-      data->state.resume_from = from;
-      DEBUGF(infof(data, "RANGE %" CURL_FORMAT_CURL_OFF_T " to end of file\n",
-                   from));
-    }
-    else if((from_t == CURL_OFFT_INVAL) && !to_t) {
-      /* -Y */
-      data->req.maxdownload = to;
-      data->state.resume_from = -to;
-      DEBUGF(infof(data, "RANGE the last %" CURL_FORMAT_CURL_OFF_T " bytes\n",
-                   to));
-    }
-    else {
-      /* X-Y */
-      totalsize = to-from;
-      if(totalsize == CURL_OFF_T_MAX)
-        /* this is too big to increase, so bail out */
-        return CURLE_RANGE_ERROR;
-      data->req.maxdownload = totalsize + 1; /* include last byte */
-      data->state.resume_from = from;
-      DEBUGF(infof(data, "RANGE from %" CURL_FORMAT_CURL_OFF_T
-                   " getting %" CURL_FORMAT_CURL_OFF_T " bytes\n",
-                   from, data->req.maxdownload));
-    }
-    DEBUGF(infof(data, "range-download from %" CURL_FORMAT_CURL_OFF_T
-                 " to %" CURL_FORMAT_CURL_OFF_T ", totally %"
-                 CURL_FORMAT_CURL_OFF_T " bytes\n",
-                 from, to, data->req.maxdownload));
-  }
-  else
-    data->req.maxdownload = -1;
-  return CURLE_OK;
-}
-
 /*
  * file_connect() gets called from Curl_protocol_connect() to allow us to
  * do protocol-specific actions at connect-time.  We emulate a
@@ -461,12 +403,12 @@
     /* we could stat it, then read out the size */
     expected_size = statbuf.st_size;
     /* and store the modification time */
-    data->info.filetime = (long)statbuf.st_mtime;
+    data->info.filetime = statbuf.st_mtime;
     fstated = TRUE;
   }
 
   if(fstated && !data->state.range && data->set.timecondition) {
-    if(!Curl_meets_timecondition(data, (time_t)data->info.filetime)) {
+    if(!Curl_meets_timecondition(data, data->info.filetime)) {
       *done = TRUE;
       return CURLE_OK;
     }
@@ -514,7 +456,9 @@
   }
 
   /* Check whether file range has been specified */
-  file_range(conn);
+  result = Curl_range(conn);
+  if(result)
+    return result;
 
   /* Adjust the start offset in case we want to get the N last bytes
    * of the stream iff the filesize could be determined */
diff --git a/lib/formdata.c b/lib/formdata.c
index d0579c5..f912410 100644
--- a/lib/formdata.c
+++ b/lib/formdata.c
@@ -5,7 +5,7 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
@@ -155,60 +155,6 @@
 
 /***************************************************************************
  *
- * ContentTypeForFilename()
- *
- * Provides content type for filename if one of the known types (else
- * (either the prevtype or the default is returned).
- *
- * Returns some valid contenttype for filename.
- *
- ***************************************************************************/
-static const char *ContentTypeForFilename(const char *filename,
-                                          const char *prevtype)
-{
-  const char *contenttype = NULL;
-  unsigned int i;
-  /*
-   * No type was specified, we scan through a few well-known
-   * extensions and pick the first we match!
-   */
-  struct ContentType {
-    const char *extension;
-    const char *type;
-  };
-  static const struct ContentType ctts[]={
-    {".gif",  "image/gif"},
-    {".jpg",  "image/jpeg"},
-    {".jpeg", "image/jpeg"},
-    {".txt",  "text/plain"},
-    {".html", "text/html"},
-    {".xml", "application/xml"}
-  };
-
-  if(prevtype)
-    /* default to the previously set/used! */
-    contenttype = prevtype;
-  else
-    contenttype = HTTPPOST_CONTENTTYPE_DEFAULT;
-
-  if(filename) { /* in case a NULL was passed in */
-    for(i = 0; i<sizeof(ctts)/sizeof(ctts[0]); i++) {
-      if(strlen(filename) >= strlen(ctts[i].extension)) {
-        if(strcasecompare(filename +
-                          strlen(filename) - strlen(ctts[i].extension),
-                          ctts[i].extension)) {
-          contenttype = ctts[i].type;
-          break;
-        }
-      }
-    }
-  }
-  /* we have a contenttype by now */
-  return contenttype;
-}
-
-/***************************************************************************
- *
  * FormAdd()
  *
  * Stores a formpost parameter and builds the appropriate linked list.
@@ -627,9 +573,15 @@
          !form->contenttype) {
         char *f = form->flags & HTTPPOST_BUFFER?
           form->showfilename : form->value;
+        char const *type;
+        type = Curl_mime_contenttype(f);
+        if(!type)
+          type = prevtype;
+        if(!type)
+          type = FILE_CONTENTTYPE_DEFAULT;
 
         /* our contenttype is missing */
-        form->contenttype = strdup(ContentTypeForFilename(f, prevtype));
+        form->contenttype = strdup(type);
         if(!form->contenttype) {
           return_value = CURL_FORMADD_MEMORY;
           break;
diff --git a/lib/ftp.c b/lib/ftp.c
index 8042edf..e2cc38b 100644
--- a/lib/ftp.c
+++ b/lib/ftp.c
@@ -5,7 +5,7 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
@@ -59,6 +59,7 @@
 #include "ftp.h"
 #include "fileinfo.h"
 #include "ftplistparser.h"
+#include "curl_range.h"
 #include "curl_sec.h"
 #include "strtoofft.h"
 #include "strcase.h"
@@ -310,9 +311,11 @@
     int error = 0;
 
     /* activate callback for setting socket options */
+    Curl_set_in_callback(data, true);
     error = data->set.fsockopt(data->set.sockopt_client,
                                s,
                                CURLSOCKTYPE_ACCEPT);
+    Curl_set_in_callback(data, false);
 
     if(error) {
       close_secondarysocket(conn);
@@ -1471,7 +1474,7 @@
       slashPos = strrchr(inpath, '/');
       n = slashPos - inpath;
     }
-    result = Curl_urldecode(data, inpath, n, &lstArg, NULL, FALSE);
+    result = Curl_urldecode(data, inpath, n, &lstArg, NULL, TRUE);
     if(result)
       return result;
   }
@@ -1535,7 +1538,7 @@
      date. */
   if(data->set.opt_no_body && ftpc->file &&
      ftp_need_type(conn, data->set.prefer_ascii)) {
-    /* The SIZE command is _not_ RFC 959 specified, and therefor many servers
+    /* The SIZE command is _not_ RFC 959 specified, and therefore many servers
        may not support it! It is however the only way we have to get a file's
        size! */
 
@@ -1615,8 +1618,10 @@
 
     /* Let's read off the proper amount of bytes from the input. */
     if(conn->seek_func) {
+      Curl_set_in_callback(data, true);
       seekerr = conn->seek_func(conn->seek_client, data->state.resume_from,
                                 SEEK_SET);
+      Curl_set_in_callback(data, true);
     }
 
     if(seekerr != CURL_SEEKFUNC_OK) {
@@ -2060,7 +2065,7 @@
                  "%04d%02d%02d %02d:%02d:%02d GMT",
                  year, month, day, hour, minute, second);
         /* now, convert this into a time() value: */
-        data->info.filetime = (long)curl_getdate(timebuf, &secs);
+        data->info.filetime = curl_getdate(timebuf, &secs);
       }
 
 #ifdef CURL_FTP_HTTPSTYLE_HEAD
@@ -2072,7 +2077,7 @@
          data->set.get_filetime &&
          (data->info.filetime >= 0) ) {
         char headerbuf[128];
-        time_t filetime = (time_t)data->info.filetime;
+        time_t filetime = data->info.filetime;
         struct tm buffer;
         const struct tm *tm = &buffer;
 
@@ -3180,14 +3185,16 @@
 
   if(data->state.wildcardmatch) {
     if(data->set.chunk_end && ftpc->file) {
+      Curl_set_in_callback(data, true);
       data->set.chunk_end(data->wildcard.customptr);
+      Curl_set_in_callback(data, false);
     }
     ftpc->known_filesize = -1;
   }
 
   if(!result)
     /* get the "raw" path */
-    result = Curl_urldecode(data, path_to_use, 0, &path, NULL, FALSE);
+    result = Curl_urldecode(data, path_to_use, 0, &path, NULL, TRUE);
   if(result) {
     /* We can limp along anyway (and should try to since we may already be in
      * the error path) */
@@ -3463,62 +3470,6 @@
 #endif
 
 /*
-  Check if this is a range download, and if so, set the internal variables
-  properly.
- */
-
-static CURLcode ftp_range(struct connectdata *conn)
-{
-  curl_off_t from, to;
-  char *ptr;
-  struct Curl_easy *data = conn->data;
-  struct ftp_conn *ftpc = &conn->proto.ftpc;
-
-  if(data->state.use_range && data->state.range) {
-    CURLofft from_t;
-    CURLofft to_t;
-    from_t = curlx_strtoofft(data->state.range, &ptr, 0, &from);
-    if(from_t == CURL_OFFT_FLOW)
-      return CURLE_RANGE_ERROR;
-    while(*ptr && (ISSPACE(*ptr) || (*ptr == '-')))
-      ptr++;
-    to_t = curlx_strtoofft(ptr, NULL, 0, &to);
-    if(to_t == CURL_OFFT_FLOW)
-      return CURLE_RANGE_ERROR;
-    if((to_t == CURL_OFFT_INVAL) && !from_t) {
-      /* X - */
-      data->state.resume_from = from;
-      DEBUGF(infof(conn->data, "FTP RANGE %" CURL_FORMAT_CURL_OFF_T
-                   " to end of file\n", from));
-    }
-    else if(!to_t && (from_t == CURL_OFFT_INVAL)) {
-      /* -Y */
-      data->req.maxdownload = to;
-      data->state.resume_from = -to;
-      DEBUGF(infof(conn->data, "FTP RANGE the last %" CURL_FORMAT_CURL_OFF_T
-                   " bytes\n", to));
-    }
-    else {
-      /* X-Y */
-      data->req.maxdownload = (to - from) + 1; /* include last byte */
-      data->state.resume_from = from;
-      DEBUGF(infof(conn->data, "FTP RANGE from %" CURL_FORMAT_CURL_OFF_T
-                   " getting %" CURL_FORMAT_CURL_OFF_T " bytes\n",
-                   from, data->req.maxdownload));
-    }
-    DEBUGF(infof(conn->data, "range-download from %" CURL_FORMAT_CURL_OFF_T
-                 " to %" CURL_FORMAT_CURL_OFF_T ", totally %"
-                 CURL_FORMAT_CURL_OFF_T " bytes\n",
-                 from, to, data->req.maxdownload));
-    ftpc->dont_check = TRUE; /* don't check for successful transfer */
-  }
-  else
-    data->req.maxdownload = -1;
-  return CURLE_OK;
-}
-
-
-/*
  * ftp_do_more()
  *
  * This function shall be called when the second FTP (data) connection is
@@ -3640,7 +3591,13 @@
       /* download */
       ftp->downloadsize = -1; /* unknown as of yet */
 
-      result = ftp_range(conn);
+      result = Curl_range(conn);
+
+      if(result == CURLE_OK && data->req.maxdownload >= 0) {
+        /* Don't check for successful transfer */
+        ftpc->dont_check = TRUE;
+      }
+
       if(result)
         ;
       else if(data->set.ftp_list_only || !ftpc->file) {
@@ -3883,8 +3840,11 @@
 
     infof(conn->data, "Wildcard - START of \"%s\"\n", finfo->filename);
     if(conn->data->set.chunk_bgn) {
-      long userresponse = conn->data->set.chunk_bgn(
+      long userresponse;
+      Curl_set_in_callback(conn->data, true);
+      userresponse = conn->data->set.chunk_bgn(
         finfo, wildcard->customptr, (int)wildcard->filelist.size);
+      Curl_set_in_callback(conn->data, false);
       switch(userresponse) {
       case CURL_CHUNK_BGN_FUNC_SKIP:
         infof(conn->data, "Wildcard - \"%s\" skipped by user\n",
@@ -3920,8 +3880,11 @@
   } break;
 
   case CURLWC_SKIP: {
-    if(conn->data->set.chunk_end)
+    if(conn->data->set.chunk_end) {
+      Curl_set_in_callback(conn->data, true);
       conn->data->set.chunk_end(conn->data->wildcard.customptr);
+      Curl_set_in_callback(conn->data, false);
+    }
     Curl_llist_remove(&wildcard->filelist, wildcard->filelist.head, NULL);
     wildcard->state = (wildcard->filelist.size == 0) ?
                       CURLWC_CLEAN : CURLWC_DOWNLOADING;
@@ -4192,7 +4155,7 @@
       result = Curl_urldecode(conn->data, slash_pos ? cur_pos : "/",
                               slash_pos ? dirlen : 1,
                               &ftpc->dirs[0], NULL,
-                              FALSE);
+                              TRUE);
       if(result) {
         freedirs(ftpc);
         return result;
@@ -4299,7 +4262,7 @@
     size_t dlen;
     char *path;
     CURLcode result =
-      Curl_urldecode(conn->data, data->state.path, 0, &path, &dlen, FALSE);
+      Curl_urldecode(conn->data, data->state.path, 0, &path, &dlen, TRUE);
     if(result) {
       freedirs(ftpc);
       return result;
diff --git a/lib/ftplistparser.c b/lib/ftplistparser.c
index 262ac03..7668ea8 100644
--- a/lib/ftplistparser.c
+++ b/lib/ftplistparser.c
@@ -49,6 +49,7 @@
 #include "ftplistparser.h"
 #include "curl_fnmatch.h"
 #include "curl_memory.h"
+#include "multiif.h"
 /* The last #include file should be: */
 #include "memdebug.h"
 
@@ -294,6 +295,7 @@
     compare = Curl_fnmatch;
 
   /* filter pattern-corresponding filenames */
+  Curl_set_in_callback(conn->data, true);
   if(compare(conn->data->set.fnmatch_data, wc->pattern,
              finfo->filename) == 0) {
     /* discard symlink which is containing multiple " -> " */
@@ -305,6 +307,7 @@
   else {
     add = FALSE;
   }
+  Curl_set_in_callback(conn->data, false);
 
   if(add) {
     Curl_llist_insert_next(llist, llist->tail, finfo, &infop->list);
diff --git a/lib/getinfo.c b/lib/getinfo.c
index 862ced0..d280eeb 100644
--- a/lib/getinfo.c
+++ b/lib/getinfo.c
@@ -5,7 +5,7 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
@@ -156,7 +156,12 @@
     *param_longp = data->info.httpproxycode;
     break;
   case CURLINFO_FILETIME:
-    *param_longp = data->info.filetime;
+    if(data->info.filetime > LONG_MAX)
+      *param_longp = LONG_MAX;
+    else if(data->info.filetime < LONG_MIN)
+      *param_longp = LONG_MIN;
+    else
+      *param_longp = (long)data->info.filetime;
     break;
   case CURLINFO_HEADER_SIZE:
     *param_longp = data->info.header_size;
@@ -253,6 +258,9 @@
                              curl_off_t *param_offt)
 {
   switch(info) {
+  case CURLINFO_FILETIME_T:
+    *param_offt = (curl_off_t)data->info.filetime;
+    break;
   case CURLINFO_SIZE_UPLOAD_T:
     *param_offt = data->progress.uploaded;
     break;
diff --git a/lib/hostip.c b/lib/hostip.c
index 886aeec..8554d39 100644
--- a/lib/hostip.c
+++ b/lib/hostip.c
@@ -58,6 +58,7 @@
 #include "strerror.h"
 #include "url.h"
 #include "inet_ntop.h"
+#include "multiif.h"
 #include "warnless.h"
 /* The last 3 #include files should be in this order */
 #include "curl_printf.h"
@@ -481,6 +482,17 @@
     if(!Curl_ipvalid(conn))
       return CURLRESOLV_ERROR;
 
+    /* notify the resolver start callback */
+    if(data->set.resolver_start) {
+      int st;
+      Curl_set_in_callback(data, true);
+      st = data->set.resolver_start(data->state.resolver, NULL,
+                                    data->set.resolver_start_client);
+      Curl_set_in_callback(data, false);
+      if(st)
+        return CURLRESOLV_ERROR;
+    }
+
     /* If Curl_getaddrinfo() returns NULL, 'respwait' might be set to a
        non-zero value indicating that we need to wait for the response to the
        resolve call */
@@ -781,7 +793,7 @@
 {
   struct curl_slist *hostp;
   char hostname[256];
-  int port;
+  int port = 0;
 
   for(hostp = data->change.resolve; hostp; hostp = hostp->next) {
     if(!hostp->data)
@@ -819,32 +831,95 @@
     }
     else {
       struct Curl_dns_entry *dns;
-      Curl_addrinfo *addr;
+      Curl_addrinfo *head = NULL, *tail = NULL;
       char *entry_id;
       size_t entry_len;
-      char buffer[256];
-      char *address = &buffer[0];
+      char address[64];
+      char *addresses = NULL;
+      char *addr_begin;
+      char *addr_end;
+      char *port_ptr;
+      char *end_ptr;
+      char *host_end;
+      unsigned long tmp_port;
+      bool error = true;
 
-      if(3 != sscanf(hostp->data, "%255[^:]:%d:%255s", hostname, &port,
-                     address)) {
+      host_end = strchr(hostp->data, ':');
+      if(!host_end ||
+         ((host_end - hostp->data) >= (ptrdiff_t)sizeof(hostname)))
+        goto err;
+
+      memcpy(hostname, hostp->data, host_end - hostp->data);
+      hostname[host_end - hostp->data] = '\0';
+
+      port_ptr = host_end + 1;
+      tmp_port = strtoul(port_ptr, &end_ptr, 10);
+      if(tmp_port > USHRT_MAX || end_ptr == port_ptr || *end_ptr != ':')
+        goto err;
+
+      port = (int)tmp_port;
+      addresses = end_ptr + 1;
+
+      while(*end_ptr) {
+        size_t alen;
+        Curl_addrinfo *ai;
+
+        addr_begin = end_ptr + 1;
+        addr_end = strchr(addr_begin, ',');
+        if(!addr_end)
+          addr_end = addr_begin + strlen(addr_begin);
+        end_ptr = addr_end;
+
+        /* allow IP(v6) address within [brackets] */
+        if(*addr_begin == '[') {
+          if(addr_end == addr_begin || *(addr_end - 1) != ']')
+            goto err;
+          ++addr_begin;
+          --addr_end;
+        }
+
+        alen = addr_end - addr_begin;
+        if(!alen)
+          continue;
+
+        if(alen >= sizeof(address))
+          goto err;
+
+        memcpy(address, addr_begin, alen);
+        address[alen] = '\0';
+
+#ifndef ENABLE_IPV6
+        if(strchr(address, ':')) {
+          infof(data, "Ignoring resolve address '%s', missing IPv6 support.\n",
+                address);
+          continue;
+        }
+#endif
+
+        ai = Curl_str2addr(address, port);
+        if(!ai) {
+          infof(data, "Resolve address '%s' found illegal!\n", address);
+          goto err;
+        }
+
+        if(tail) {
+          tail->ai_next = ai;
+          tail = tail->ai_next;
+        }
+        else {
+          head = tail = ai;
+        }
+      }
+
+      if(!head)
+        goto err;
+
+      error = false;
+   err:
+      if(error) {
         infof(data, "Couldn't parse CURLOPT_RESOLVE entry '%s'!\n",
               hostp->data);
-        continue;
-      }
-
-      /* allow IP(v6) address within [brackets] */
-      if(address[0] == '[') {
-        size_t alen = strlen(address);
-        if(address[alen-1] != ']')
-          /* it needs to also end with ] to be valid */
-          continue;
-        address[alen-1] = 0; /* zero terminate there */
-        address++; /* pass the open bracket */
-      }
-
-      addr = Curl_str2addr(address, port);
-      if(!addr) {
-        infof(data, "Address in '%s' found illegal!\n", hostp->data);
+        Curl_freeaddrinfo(head);
         continue;
       }
 
@@ -852,10 +927,9 @@
       entry_id = create_hostcache_id(hostname, port);
       /* If we can't create the entry id, fail */
       if(!entry_id) {
-        Curl_freeaddrinfo(addr);
+        Curl_freeaddrinfo(head);
         return CURLE_OUT_OF_MEMORY;
       }
-
       entry_len = strlen(entry_id);
 
       if(data->share)
@@ -869,7 +943,7 @@
 
       if(!dns) {
         /* if not in the cache already, put this host in the cache */
-        dns = Curl_cache_addr(data, addr, hostname, port);
+        dns = Curl_cache_addr(data, head, hostname, port);
         if(dns) {
           dns->timestamp = 0; /* mark as added by CURLOPT_RESOLVE */
           /* release the returned reference; the cache itself will keep the
@@ -880,19 +954,19 @@
       else {
         /* this is a duplicate, free it again */
         infof(data, "RESOLVE %s:%d is already cached, %s not stored!\n",
-              hostname, port, address);
-        Curl_freeaddrinfo(addr);
+              hostname, port, addresses);
+        Curl_freeaddrinfo(head);
       }
 
       if(data->share)
         Curl_share_unlock(data, CURL_LOCK_DATA_DNS);
 
       if(!dns) {
-        Curl_freeaddrinfo(addr);
+        Curl_freeaddrinfo(head);
         return CURLE_OUT_OF_MEMORY;
       }
       infof(data, "Added %s:%d:%s to DNS cache\n",
-            hostname, port, address);
+            hostname, port, addresses);
     }
   }
   data->change.resolve = NULL; /* dealt with now */
diff --git a/lib/http.c b/lib/http.c
index a500767..841f6cc 100644
--- a/lib/http.c
+++ b/lib/http.c
@@ -177,9 +177,9 @@
  * if proxy headers are not available, then it will lookup into http header
  * link list
  *
- * It takes a connectdata struct as input instead of the Curl_easy simply
- * to know if this is a proxy request or not, as it then might check a
- * different header list.
+ * It takes a connectdata struct as input instead of the Curl_easy simply to
+ * know if this is a proxy request or not, as it then might check a different
+ * header list. Provide the header prefix without colon!.
  */
 char *Curl_checkProxyheaders(const struct connectdata *conn,
                              const char *thisheader)
@@ -191,7 +191,8 @@
   for(head = (conn->bits.proxy && data->set.sep_headers) ?
         data->set.proxyheaders : data->set.headers;
       head; head = head->next) {
-    if(strncasecompare(head->data, thisheader, thislen))
+    if(strncasecompare(head->data, thisheader, thislen) &&
+       Curl_headersep(head->data[thislen]))
       return head->data;
   }
 
@@ -614,9 +615,9 @@
   if(authstatus->picked == CURLAUTH_BASIC) {
     /* Basic */
     if((proxy && conn->bits.proxy_user_passwd &&
-        !Curl_checkProxyheaders(conn, "Proxy-authorization:")) ||
+        !Curl_checkProxyheaders(conn, "Proxy-authorization")) ||
        (!proxy && conn->bits.user_passwd &&
-        !Curl_checkheaders(conn, "Authorization:"))) {
+        !Curl_checkheaders(conn, "Authorization"))) {
       auth = "Basic";
       result = http_output_basic(conn, proxy);
       if(result)
@@ -1533,7 +1534,7 @@
     /* if not doing HTTP 1.0 or version 2, or disabled explicitly, we add an
        Expect: 100-continue to the headers which actually speeds up post
        operations (as there is one packet coming back from the web server) */
-    ptr = Curl_checkheaders(conn, "Expect:");
+    ptr = Curl_checkheaders(conn, "Expect");
     if(ptr) {
       data->state.expect100header =
         Curl_compareheader(ptr, "Expect:", "100-continue");
@@ -1598,7 +1599,32 @@
     headers = h[i];
 
     while(headers) {
+      char *semicolonp = NULL;
       ptr = strchr(headers->data, ':');
+      if(!ptr) {
+        char *optr;
+        /* no colon, semicolon? */
+        ptr = strchr(headers->data, ';');
+        if(ptr) {
+          optr = ptr;
+          ptr++; /* pass the semicolon */
+          while(*ptr && ISSPACE(*ptr))
+            ptr++;
+
+          if(*ptr) {
+            /* this may be used for something else in the future */
+            optr = NULL;
+          }
+          else {
+            if(*(--ptr) == ';') {
+              /* send no-value custom header if terminated by semicolon */
+              *ptr = ':';
+              semicolonp = ptr;
+            }
+          }
+          ptr = optr;
+        }
+      }
       if(ptr) {
         /* we require a colon for this to be a true header */
 
@@ -1606,8 +1632,9 @@
         while(*ptr && ISSPACE(*ptr))
           ptr++;
 
-        if(*ptr) {
-          /* only send this if the contents was non-blank */
+        if(*ptr || semicolonp) {
+          /* only send this if the contents was non-blank or done special */
+          CURLcode result = CURLE_OK;
 
           if(conn->allocptr.host &&
              /* a Host: header was sent already, don't pass on any custom Host:
@@ -1645,40 +1672,12 @@
                    !strcasecompare(data->state.first_host, conn->host.name)))
             ;
           else {
-            CURLcode result = Curl_add_bufferf(req_buffer, "%s\r\n",
-                                               headers->data);
-            if(result)
-              return result;
+            result = Curl_add_bufferf(req_buffer, "%s\r\n", headers->data);
           }
-        }
-      }
-      else {
-        ptr = strchr(headers->data, ';');
-        if(ptr) {
-
-          ptr++; /* pass the semicolon */
-          while(*ptr && ISSPACE(*ptr))
-            ptr++;
-
-          if(*ptr) {
-            /* this may be used for something else in the future */
-          }
-          else {
-            if(*(--ptr) == ';') {
-              CURLcode result;
-
-              /* send no-value custom header if terminated by semicolon */
-              *ptr = ':';
-              result = Curl_add_bufferf(req_buffer, "%s\r\n",
-                                        headers->data);
-
-              /* restore the previous value */
-              *ptr = ';';
-
-              if(result)
-                return result;
-            }
-          }
+          if(semicolonp)
+            *semicolonp = ';'; /* put back the semicolon */
+          if(result)
+            return result;
         }
       }
       headers = headers->next;
@@ -1869,7 +1868,7 @@
      it might have been used in the proxy connect, but if we have got a header
      with the user-agent string specified, we erase the previously made string
      here. */
-  if(Curl_checkheaders(conn, "User-Agent:")) {
+  if(Curl_checkheaders(conn, "User-Agent")) {
     free(conn->allocptr.uagent);
     conn->allocptr.uagent = NULL;
   }
@@ -1890,7 +1889,7 @@
     conn->bits.authneg = FALSE;
 
   Curl_safefree(conn->allocptr.ref);
-  if(data->change.referer && !Curl_checkheaders(conn, "Referer:")) {
+  if(data->change.referer && !Curl_checkheaders(conn, "Referer")) {
     conn->allocptr.ref = aprintf("Referer: %s\r\n", data->change.referer);
     if(!conn->allocptr.ref)
       return CURLE_OUT_OF_MEMORY;
@@ -1899,11 +1898,11 @@
     conn->allocptr.ref = NULL;
 
 #if !defined(CURL_DISABLE_COOKIES)
-  if(data->set.str[STRING_COOKIE] && !Curl_checkheaders(conn, "Cookie:"))
+  if(data->set.str[STRING_COOKIE] && !Curl_checkheaders(conn, "Cookie"))
     addcookies = data->set.str[STRING_COOKIE];
 #endif
 
-  if(!Curl_checkheaders(conn, "Accept-Encoding:") &&
+  if(!Curl_checkheaders(conn, "Accept-Encoding") &&
      data->set.str[STRING_ENCODING]) {
     Curl_safefree(conn->allocptr.accept_encoding);
     conn->allocptr.accept_encoding =
@@ -1919,22 +1918,29 @@
 #ifdef HAVE_LIBZ
   /* we only consider transfer-encoding magic if libz support is built-in */
 
-  if(!Curl_checkheaders(conn, "TE:") &&
+  if(!Curl_checkheaders(conn, "TE") &&
      data->set.http_transfer_encoding) {
     /* When we are to insert a TE: header in the request, we must also insert
        TE in a Connection: header, so we need to merge the custom provided
        Connection: header and prevent the original to get sent. Note that if
        the user has inserted his/hers own TE: header we don't do this magic
        but then assume that the user will handle it all! */
-    char *cptr = Curl_checkheaders(conn, "Connection:");
+    char *cptr = Curl_checkheaders(conn, "Connection");
 #define TE_HEADER "TE: gzip\r\n"
 
     Curl_safefree(conn->allocptr.te);
 
-    /* Create the (updated) Connection: header */
-    conn->allocptr.te = cptr? aprintf("%s, TE\r\n" TE_HEADER, cptr):
-      strdup("Connection: TE\r\n" TE_HEADER);
+    if(cptr) {
+      cptr = Curl_copy_header_value(cptr);
+      if(!cptr)
+        return CURLE_OUT_OF_MEMORY;
+    }
 
+    /* Create the (updated) Connection: header */
+    conn->allocptr.te = aprintf("Connection: %s%sTE\r\n" TE_HEADER,
+                                cptr ? cptr : "", (cptr && *cptr) ? ", ":"");
+
+    free(cptr);
     if(!conn->allocptr.te)
       return CURLE_OUT_OF_MEMORY;
   }
@@ -1958,7 +1964,7 @@
   }
 
   if(http->sendit) {
-    const char *cthdr = Curl_checkheaders(conn, "Content-Type:");
+    const char *cthdr = Curl_checkheaders(conn, "Content-Type");
 
     /* Read and seek body only. */
     http->sendit->flags |= MIME_BODY_ONLY;
@@ -1982,7 +1988,7 @@
     http->postsize = Curl_mime_size(http->sendit);
   }
 
-  ptr = Curl_checkheaders(conn, "Transfer-Encoding:");
+  ptr = Curl_checkheaders(conn, "Transfer-Encoding");
   if(ptr) {
     /* Some kind of TE is requested, check if 'chunked' is chosen */
     data->req.upload_chunky =
@@ -2016,7 +2022,7 @@
 
   Curl_safefree(conn->allocptr.host);
 
-  ptr = Curl_checkheaders(conn, "Host:");
+  ptr = Curl_checkheaders(conn, "Host");
   if(ptr && (!data->state.this_is_a_follow ||
              strcasecompare(data->state.first_host, conn->host.name))) {
 #if !defined(CURL_DISABLE_COOKIES)
@@ -2055,7 +2061,7 @@
 #endif
 
     if(strcmp("Host:", ptr)) {
-      conn->allocptr.host = aprintf("%s\r\n", ptr);
+      conn->allocptr.host = aprintf("Host:%s\r\n", &ptr[5]);
       if(!conn->allocptr.host)
         return CURLE_OUT_OF_MEMORY;
     }
@@ -2164,7 +2170,7 @@
   }
 #endif /* CURL_DISABLE_PROXY */
 
-  http->p_accept = Curl_checkheaders(conn, "Accept:")?NULL:"Accept: */*\r\n";
+  http->p_accept = Curl_checkheaders(conn, "Accept")?NULL:"Accept: */*\r\n";
 
   if((HTTPREQ_POST == httpreq || HTTPREQ_PUT == httpreq) &&
      data->state.resume_from) {
@@ -2191,8 +2197,10 @@
       /* Now, let's read off the proper amount of bytes from the
          input. */
       if(conn->seek_func) {
+        Curl_set_in_callback(data, true);
         seekerr = conn->seek_func(conn->seek_client, data->state.resume_from,
                                   SEEK_SET);
+        Curl_set_in_callback(data, false);
       }
 
       if(seekerr != CURL_SEEKFUNC_OK) {
@@ -2243,14 +2251,14 @@
      * ones if any such are specified.
      */
     if(((httpreq == HTTPREQ_GET) || (httpreq == HTTPREQ_HEAD)) &&
-       !Curl_checkheaders(conn, "Range:")) {
+       !Curl_checkheaders(conn, "Range")) {
       /* if a line like this was already allocated, free the previous one */
       free(conn->allocptr.rangeline);
       conn->allocptr.rangeline = aprintf("Range: bytes=%s\r\n",
                                          data->state.range);
     }
     else if((httpreq == HTTPREQ_POST || httpreq == HTTPREQ_PUT) &&
-            !Curl_checkheaders(conn, "Content-Range:")) {
+            !Curl_checkheaders(conn, "Content-Range")) {
 
       /* if a line like this was already allocated, free the previous one */
       free(conn->allocptr.rangeline);
@@ -2352,7 +2360,7 @@
                      conn->allocptr.ref:"" /* Referer: <data> */,
                      (conn->bits.httpproxy &&
                       !conn->bits.tunnel_proxy &&
-                      !Curl_checkProxyheaders(conn, "Proxy-Connection:"))?
+                      !Curl_checkProxyheaders(conn, "Proxy-Connection"))?
                      "Proxy-Connection: Keep-Alive\r\n":"",
                      te
       );
@@ -2453,7 +2461,7 @@
       postsize = data->state.infilesize;
 
     if((postsize != -1) && !data->req.upload_chunky &&
-       (conn->bits.authneg || !Curl_checkheaders(conn, "Content-Length:"))) {
+       (conn->bits.authneg || !Curl_checkheaders(conn, "Content-Length"))) {
       /* only add Content-Length if not uploading chunked */
       result = Curl_add_bufferf(req_buffer,
                                 "Content-Length: %" CURL_FORMAT_CURL_OFF_T
@@ -2515,7 +2523,7 @@
        we don't upload data chunked, as RFC2616 forbids us to set both
        kinds of headers (Transfer-Encoding: chunked and Content-Length) */
     if(postsize != -1 && !data->req.upload_chunky &&
-       (conn->bits.authneg || !Curl_checkheaders(conn, "Content-Length:"))) {
+       (conn->bits.authneg || !Curl_checkheaders(conn, "Content-Length"))) {
       /* we allow replacing this header if not during auth negotiation,
          although it isn't very wise to actually set your own */
       result = Curl_add_bufferf(req_buffer,
@@ -2540,7 +2548,7 @@
        the somewhat bigger ones we allow the app to disable it. Just make
        sure that the expect100header is always set to the preferred value
        here. */
-    ptr = Curl_checkheaders(conn, "Expect:");
+    ptr = Curl_checkheaders(conn, "Expect");
     if(ptr) {
       data->state.expect100header =
         Curl_compareheader(ptr, "Expect:", "100-continue");
@@ -2594,7 +2602,7 @@
        we don't upload data chunked, as RFC2616 forbids us to set both
        kinds of headers (Transfer-Encoding: chunked and Content-Length) */
     if((postsize != -1) && !data->req.upload_chunky &&
-       (conn->bits.authneg || !Curl_checkheaders(conn, "Content-Length:"))) {
+       (conn->bits.authneg || !Curl_checkheaders(conn, "Content-Length"))) {
       /* we allow replacing this header if not during auth negotiation,
          although it isn't very wise to actually set your own */
       result = Curl_add_bufferf(req_buffer,
@@ -2604,7 +2612,7 @@
         return result;
     }
 
-    if(!Curl_checkheaders(conn, "Content-Type:")) {
+    if(!Curl_checkheaders(conn, "Content-Type")) {
       result = Curl_add_bufferf(req_buffer,
                                 "Content-Type: application/"
                                 "x-www-form-urlencoded\r\n");
@@ -2616,7 +2624,7 @@
        the somewhat bigger ones we allow the app to disable it. Just make
        sure that the expect100header is always set to the preferred value
        here. */
-    ptr = Curl_checkheaders(conn, "Expect:");
+    ptr = Curl_checkheaders(conn, "Expect");
     if(ptr) {
       data->state.expect100header =
         Curl_compareheader(ptr, "Expect:", "100-continue");
@@ -2878,20 +2886,19 @@
                               struct SingleRequest *k,
                               size_t length)
 {
-  if(k->hbuflen + length >= data->state.headersize) {
+  size_t newsize = k->hbuflen + length;
+  if(newsize > CURL_MAX_HTTP_HEADER) {
+    /* The reason to have a max limit for this is to avoid the risk of a bad
+       server feeding libcurl with a never-ending header that will cause
+       reallocs infinitely */
+    failf(data, "Rejected %zd bytes header (max is %d)!", newsize,
+          CURL_MAX_HTTP_HEADER);
+    return CURLE_OUT_OF_MEMORY;
+  }
+  if(newsize >= data->state.headersize) {
     /* We enlarge the header buffer as it is too small */
     char *newbuff;
     size_t hbufp_index;
-    size_t newsize;
-
-    if(k->hbuflen + length > CURL_MAX_HTTP_HEADER) {
-      /* The reason to have a max limit for this is to avoid the risk of a bad
-         server feeding libcurl with a never-ending header that will cause
-         reallocs infinitely */
-      failf(data, "Avoided giant realloc for header (max is %d)!",
-            CURL_MAX_HTTP_HEADER);
-      return CURLE_OUT_OF_MEMORY;
-    }
 
     newsize = CURLMAX((k->hbuflen + length) * 3 / 2, data->state.headersize*2);
     hbufp_index = k->hbufp - data->state.headerbuff;
@@ -3692,7 +3699,7 @@
       k->timeofdoc = curl_getdate(k->p + strlen("Last-Modified:"),
                                   &secs);
       if(data->set.get_filetime)
-        data->info.filetime = (long)k->timeofdoc;
+        data->info.filetime = k->timeofdoc;
     }
     else if((checkprefix("WWW-Authenticate:", k->p) &&
              (401 == k->httpcode)) ||
diff --git a/lib/http.h b/lib/http.h
index d2781bc..2ce44bb 100644
--- a/lib/http.h
+++ b/lib/http.h
@@ -7,7 +7,7 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
@@ -172,8 +172,6 @@
   size_t pauselen; /* the number of bytes left in data */
   bool closed; /* TRUE on HTTP2 stream close */
   bool close_handled; /* TRUE if stream closure is handled by libcurl */
-  uint32_t error_code; /* HTTP/2 error code */
-
   char *mem;     /* points to a buffer in memory to store received data */
   size_t len;    /* size of the buffer 'mem' points to */
   size_t memlen; /* size of data copied to mem */
@@ -226,6 +224,7 @@
   /* list of settings that will be sent */
   nghttp2_settings_entry local_settings[3];
   size_t local_settings_num;
+  uint32_t error_code; /* HTTP/2 error code */
 #else
   int unused; /* prevent a compiler warning */
 #endif
diff --git a/lib/http2.c b/lib/http2.c
index 6992879..b2c34e9 100644
--- a/lib/http2.c
+++ b/lib/http2.c
@@ -5,7 +5,7 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
@@ -65,6 +65,12 @@
 
 #define HTTP2_HUGE_WINDOW_SIZE (1 << 30)
 
+#ifdef DEBUG_HTTP2
+#define H2BUGF(x) x
+#else
+#define H2BUGF(x) do { } WHILE_FALSE
+#endif
+
 /*
  * Curl_http2_init_state() is called when the easy handle is created and
  * allows for HTTP/2 specific init of state.
@@ -140,13 +146,13 @@
   struct http_conn *c = &conn->proto.httpc;
   (void)dead_connection;
 
-  DEBUGF(infof(conn->data, "HTTP/2 DISCONNECT starts now\n"));
+  H2BUGF(infof(conn->data, "HTTP/2 DISCONNECT starts now\n"));
 
   nghttp2_session_del(c->h2);
   Curl_safefree(c->inbuf);
   http2_stream_free(conn->data->req.protop);
 
-  DEBUGF(infof(conn->data, "HTTP/2 DISCONNECT done\n"));
+  H2BUGF(infof(conn->data, "HTTP/2 DISCONNECT done\n"));
 
   return CURLE_OK;
 }
@@ -204,7 +210,6 @@
   http->status_code = -1;
   http->pausedata = NULL;
   http->pauselen = 0;
-  http->error_code = NGHTTP2_NO_ERROR;
   http->closed = FALSE;
   http->close_handled = FALSE;
   http->mem = data->state.buffer;
@@ -217,6 +222,7 @@
 {
   conn->proto.httpc.settings.max_concurrent_streams =
     DEFAULT_MAX_CONCURRENT_STREAMS;
+  conn->proto.httpc.error_code = NGHTTP2_NO_ERROR;
 }
 
 /*
@@ -428,7 +434,7 @@
                         const nghttp2_push_promise *frame)
 {
   int rv;
-  DEBUGF(infof(data, "PUSH_PROMISE received, stream %u!\n",
+  H2BUGF(infof(data, "PUSH_PROMISE received, stream %u!\n",
                frame->promised_stream_id));
   if(data->multi->push_cb) {
     struct HTTP *stream;
@@ -448,7 +454,7 @@
     heads.data = data;
     heads.frame = frame;
     /* ask the application */
-    DEBUGF(infof(data, "Got PUSH_PROMISE, ask application!\n"));
+    H2BUGF(infof(data, "Got PUSH_PROMISE, ask application!\n"));
 
     stream = data->req.protop;
     if(!stream) {
@@ -458,9 +464,11 @@
       goto fail;
     }
 
+    Curl_set_in_callback(data, true);
     rv = data->multi->push_cb(data, newhandle,
                               stream->push_headers_used, &heads,
                               data->multi->push_userp);
+    Curl_set_in_callback(data, false);
 
     /* free the headers again */
     for(i = 0; i<stream->push_headers_used; i++)
@@ -497,7 +505,7 @@
                                          frame->promised_stream_id, newhandle);
   }
   else {
-    DEBUGF(infof(data, "Got PUSH_PROMISE, ignore it!\n"));
+    H2BUGF(infof(data, "Got PUSH_PROMISE, ignore it!\n"));
     rv = 1;
   }
   fail:
@@ -520,21 +528,22 @@
     /* stream ID zero is for connection-oriented stuff */
     if(frame->hd.type == NGHTTP2_SETTINGS) {
       uint32_t max_conn = httpc->settings.max_concurrent_streams;
-      DEBUGF(infof(conn->data, "Got SETTINGS\n"));
+      H2BUGF(infof(conn->data, "Got SETTINGS\n"));
       httpc->settings.max_concurrent_streams =
         nghttp2_session_get_remote_settings(
           session, NGHTTP2_SETTINGS_MAX_CONCURRENT_STREAMS);
       httpc->settings.enable_push =
         nghttp2_session_get_remote_settings(
           session, NGHTTP2_SETTINGS_ENABLE_PUSH);
-      DEBUGF(infof(conn->data, "MAX_CONCURRENT_STREAMS == %d\n",
+      H2BUGF(infof(conn->data, "MAX_CONCURRENT_STREAMS == %d\n",
                    httpc->settings.max_concurrent_streams));
-      DEBUGF(infof(conn->data, "ENABLE_PUSH == %s\n",
+      H2BUGF(infof(conn->data, "ENABLE_PUSH == %s\n",
                    httpc->settings.enable_push?"TRUE":"false"));
       if(max_conn != httpc->settings.max_concurrent_streams) {
         /* only signal change if the value actually changed */
         infof(conn->data,
-              "Connection state changed (MAX_CONCURRENT_STREAMS updated)!\n");
+              "Connection state changed (MAX_CONCURRENT_STREAMS == %d)!\n",
+              httpc->settings.max_concurrent_streams);
         Curl_multi_connchanged(conn->data->multi);
       }
     }
@@ -545,7 +554,7 @@
     lastStream = stream_id;
   }
   if(!data_s) {
-    DEBUGF(infof(conn->data,
+    H2BUGF(infof(conn->data,
                  "No Curl_easy associated with stream: %x\n",
                  stream_id));
     return 0;
@@ -553,12 +562,12 @@
 
   stream = data_s->req.protop;
   if(!stream) {
-    DEBUGF(infof(conn->data, "No proto pointer for stream: %x\n",
+    H2BUGF(infof(conn->data, "No proto pointer for stream: %x\n",
                  stream_id));
     return NGHTTP2_ERR_CALLBACK_FAILURE;
   }
 
-  DEBUGF(infof(data_s, "on_frame_recv() header %x stream %x\n",
+  H2BUGF(infof(data_s, "on_frame_recv() header %x stream %x\n",
                frame->hd.type, stream_id));
 
   switch(frame->hd.type) {
@@ -600,7 +609,7 @@
            ncopy);
     stream->nread_header_recvbuf += ncopy;
 
-    DEBUGF(infof(data_s, "Store %zu bytes headers from stream %u at %p\n",
+    H2BUGF(infof(data_s, "Store %zu bytes headers from stream %u at %p\n",
                  ncopy, stream_id, stream->mem));
 
     stream->len -= ncopy;
@@ -629,7 +638,7 @@
     }
     break;
   default:
-    DEBUGF(infof(conn->data, "Got frame type %x for stream %u!\n",
+    H2BUGF(infof(conn->data, "Got frame type %x for stream %u!\n",
                  frame->hd.type, stream_id));
     break;
   }
@@ -642,13 +651,13 @@
 {
   struct Curl_easy *data_s = NULL;
   (void)userp;
-#if !defined(DEBUGBUILD) || defined(CURL_DISABLE_VERBOSE_STRINGS)
+#if !defined(DEBUG_HTTP2) || defined(CURL_DISABLE_VERBOSE_STRINGS)
   (void)lib_error_code;
 #endif
 
   data_s = nghttp2_session_get_stream_user_data(session, frame->hd.stream_id);
   if(data_s) {
-    DEBUGF(infof(data_s,
+    H2BUGF(infof(data_s,
                  "on_invalid_frame_recv() was called, error=%d:%s\n",
                  lib_error_code, nghttp2_strerror(lib_error_code)));
   }
@@ -693,7 +702,7 @@
   if(conn->data != data_s)
     Curl_expire(data_s, 0, EXPIRE_RUN_NOW);
 
-  DEBUGF(infof(data_s, "%zu data received for stream %u "
+  H2BUGF(infof(data_s, "%zu data received for stream %u "
                "(%zu left in buffer %p, total %zu)\n",
                nread, stream_id,
                stream->len, stream->mem,
@@ -702,7 +711,7 @@
   if(nread < len) {
     stream->pausedata = data + nread;
     stream->pauselen = len - nread;
-    DEBUGF(infof(data_s, "NGHTTP2_ERR_PAUSE - %zu bytes out of buffer"
+    H2BUGF(infof(data_s, "NGHTTP2_ERR_PAUSE - %zu bytes out of buffer"
                  ", stream %u\n",
                  len - nread, stream_id));
     data_s->easy_conn->proto.httpc.pause_stream_id = stream_id;
@@ -730,7 +739,7 @@
 
   data_s = nghttp2_session_get_stream_user_data(session, frame->hd.stream_id);
   if(data_s) {
-    DEBUGF(infof(data_s, "before_frame_send() was called\n"));
+    H2BUGF(infof(data_s, "before_frame_send() was called\n"));
   }
 
   return 0;
@@ -744,7 +753,7 @@
 
   data_s = nghttp2_session_get_stream_user_data(session, frame->hd.stream_id);
   if(data_s) {
-    DEBUGF(infof(data_s, "on_frame_send() was called, length = %zd\n",
+    H2BUGF(infof(data_s, "on_frame_send() was called, length = %zd\n",
                  frame->hd.length));
   }
   return 0;
@@ -755,13 +764,13 @@
 {
   struct Curl_easy *data_s;
   (void)userp;
-#if !defined(DEBUGBUILD) || defined(CURL_DISABLE_VERBOSE_STRINGS)
+#if !defined(DEBUG_HTTP2) || defined(CURL_DISABLE_VERBOSE_STRINGS)
   (void)lib_error_code;
 #endif
 
   data_s = nghttp2_session_get_stream_user_data(session, frame->hd.stream_id);
   if(data_s) {
-    DEBUGF(infof(data_s,
+    H2BUGF(infof(data_s,
                  "on_frame_not_send() was called, lib_error_code = %d\n",
                  lib_error_code));
   }
@@ -777,6 +786,7 @@
   (void)stream_id;
 
   if(stream_id) {
+    struct http_conn *httpc;
     /* get the stream from the hash based on Stream ID, stream ID zero is for
        connection-oriented stuff */
     data_s = nghttp2_session_get_stream_user_data(session, stream_id);
@@ -785,20 +795,21 @@
          decided to reject stream (e.g., PUSH_PROMISE). */
       return 0;
     }
-    DEBUGF(infof(data_s, "on_stream_close(), %s (err %d), stream %u\n",
+    H2BUGF(infof(data_s, "on_stream_close(), %s (err %d), stream %u\n",
                  Curl_http2_strerror(error_code), error_code, stream_id));
     stream = data_s->req.protop;
     if(!stream)
       return NGHTTP2_ERR_CALLBACK_FAILURE;
 
-    stream->error_code = error_code;
     stream->closed = TRUE;
     data_s->state.drain++;
-    conn->proto.httpc.drain_total++;
+    httpc = &conn->proto.httpc;
+    httpc->drain_total++;
+    httpc->error_code = error_code;
 
     /* remove the entry from the hash as the stream is now gone */
     nghttp2_session_set_stream_user_data(session, stream_id, 0);
-    DEBUGF(infof(data_s, "Removed stream %u hash!\n", stream_id));
+    H2BUGF(infof(data_s, "Removed stream %u hash!\n", stream_id));
   }
   return 0;
 }
@@ -815,7 +826,7 @@
     return 0;
   }
 
-  DEBUGF(infof(data_s, "on_begin_headers() was called\n"));
+  H2BUGF(infof(data_s, "on_begin_headers() was called\n"));
 
   if(frame->hd.type != NGHTTP2_HEADERS) {
     return 0;
@@ -827,7 +838,7 @@
   }
 
   /* This is trailer HEADERS started.  Allocate buffer for them. */
-  DEBUGF(infof(data_s, "trailer field started\n"));
+  H2BUGF(infof(data_s, "trailer field started\n"));
 
   DEBUGASSERT(stream->trailer_recvbuf == NULL);
 
@@ -928,7 +939,7 @@
     /* 4 is for ": " and "\r\n". */
     uint32_t n = (uint32_t)(namelen + valuelen + 4);
 
-    DEBUGF(infof(data_s, "h2 trailer: %.*s: %.*s\n", namelen, name, valuelen,
+    H2BUGF(infof(data_s, "h2 trailer: %.*s: %.*s\n", namelen, name, valuelen,
                  value));
 
     Curl_add_buffer(stream->trailer_recvbuf, &n, sizeof(n));
@@ -956,7 +967,7 @@
     if(conn->data != data_s)
       Curl_expire(data_s, 0, EXPIRE_RUN_NOW);
 
-    DEBUGF(infof(data_s, "h2 status: HTTP/2 %03d (easy %p)\n",
+    H2BUGF(infof(data_s, "h2 status: HTTP/2 %03d (easy %p)\n",
                  stream->status_code, data_s));
     return 0;
   }
@@ -972,7 +983,7 @@
   if(conn->data != data_s)
     Curl_expire(data_s, 0, EXPIRE_RUN_NOW);
 
-  DEBUGF(infof(data_s, "h2 header: %.*s: %.*s\n", namelen, name, valuelen,
+  H2BUGF(infof(data_s, "h2 header: %.*s: %.*s\n", namelen, name, valuelen,
                value));
 
   return 0; /* 0 is successful */
@@ -1021,7 +1032,7 @@
   else if(nread == 0)
     return NGHTTP2_ERR_DEFERRED;
 
-  DEBUGF(infof(data_s, "data_source_read_callback: "
+  H2BUGF(infof(data_s, "data_source_read_callback: "
                "returns %zu bytes stream %u\n",
                nread, stream_id));
 
@@ -1067,7 +1078,7 @@
   struct http_conn *httpc = &conn->proto.httpc;
 
   if(http->header_recvbuf) {
-    DEBUGF(infof(data, "free header_recvbuf!!\n"));
+    H2BUGF(infof(data, "free header_recvbuf!!\n"));
     Curl_add_buffer_free(http->header_recvbuf);
     http->header_recvbuf = NULL; /* clear the pointer */
     Curl_add_buffer_free(http->trailer_recvbuf);
@@ -1225,13 +1236,14 @@
  * This function returns 0 if it succeeds, or -1 and error code will
  * be assigned to *err.
  */
-static int h2_process_pending_input(struct Curl_easy *data,
+static int h2_process_pending_input(struct connectdata *conn,
                                     struct http_conn *httpc,
                                     CURLcode *err)
 {
   ssize_t nread;
   char *inbuf;
   ssize_t rv;
+  struct Curl_easy *data = conn->data;
 
   nread = httpc->inbuflen - httpc->nread_inbuf;
   inbuf = httpc->inbuf + httpc->nread_inbuf;
@@ -1246,7 +1258,7 @@
   }
 
   if(nread == rv) {
-    DEBUGF(infof(data,
+    H2BUGF(infof(data,
                  "h2_process_pending_input: All data in connection buffer "
                  "processed\n"));
     httpc->inbuflen = 0;
@@ -1254,7 +1266,7 @@
   }
   else {
     httpc->nread_inbuf += rv;
-    DEBUGF(infof(data,
+    H2BUGF(infof(data,
                  "h2_process_pending_input: %zu bytes left in connection "
                  "buffer\n",
                  httpc->inbuflen - httpc->nread_inbuf));
@@ -1267,9 +1279,15 @@
   }
 
   if(should_close_session(httpc)) {
-    DEBUGF(infof(data,
+    H2BUGF(infof(data,
                  "h2_process_pending_input: nothing to do in this session\n"));
-    *err = CURLE_HTTP2;
+    if(httpc->error_code)
+      *err = CURLE_HTTP2;
+    else {
+      /* not an error per se, but should still close the connection */
+      connclose(conn, "GOAWAY received");
+      *err = CURLE_OK;
+    }
     return -1;
   }
 
@@ -1300,7 +1318,7 @@
          that it can signal EOF to nghttp2 */
       (void)nghttp2_session_resume_data(h2, stream->stream_id);
 
-      (void)h2_process_pending_input(conn->data, httpc, &result);
+      (void)h2_process_pending_input(conn, httpc, &result);
     }
   }
   return result;
@@ -1324,7 +1342,7 @@
   data->state.drain = 0;
 
   if(httpc->pause_stream_id == 0) {
-    if(h2_process_pending_input(data, httpc, err) != 0) {
+    if(h2_process_pending_input(conn, httpc, err) != 0) {
       return -1;
     }
   }
@@ -1333,10 +1351,10 @@
 
   /* Reset to FALSE to prevent infinite loop in readwrite_data function. */
   stream->closed = FALSE;
-  if(stream->error_code != NGHTTP2_NO_ERROR) {
+  if(httpc->error_code != NGHTTP2_NO_ERROR) {
     failf(data, "HTTP/2 stream %u was not closed cleanly: %s (err %d)",
-          stream->stream_id, Curl_http2_strerror(stream->error_code),
-          stream->error_code);
+          stream->stream_id, Curl_http2_strerror(httpc->error_code),
+          httpc->error_code);
     *err = CURLE_HTTP2_STREAM;
     return -1;
   }
@@ -1370,7 +1388,7 @@
 
   stream->close_handled = TRUE;
 
-  DEBUGF(infof(data, "http2_recv returns 0, http2_handle_stream_close\n"));
+  H2BUGF(infof(data, "http2_recv returns 0, http2_handle_stream_close\n"));
   return 0;
 }
 
@@ -1411,7 +1429,7 @@
 
     h2_pri_spec(data, &pri_spec);
 
-    DEBUGF(infof(data, "Queuing PRIORITY on stream %u (easy %p)\n",
+    H2BUGF(infof(data, "Queuing PRIORITY on stream %u (easy %p)\n",
                  stream->stream_id, data));
     rv = nghttp2_submit_priority(h2, NGHTTP2_FLAG_NONE, stream->stream_id,
                                  &pri_spec);
@@ -1435,7 +1453,7 @@
   (void)sockindex; /* we always do HTTP2 on sockindex 0 */
 
   if(should_close_session(httpc)) {
-    DEBUGF(infof(data,
+    H2BUGF(infof(data,
                  "http2_recv: nothing to do in this session\n"));
     *err = CURLE_HTTP2;
     return -1;
@@ -1461,16 +1479,16 @@
            ncopy);
     stream->nread_header_recvbuf += ncopy;
 
-    DEBUGF(infof(data, "http2_recv: Got %d bytes from header_recvbuf\n",
+    H2BUGF(infof(data, "http2_recv: Got %d bytes from header_recvbuf\n",
                  (int)ncopy));
     return ncopy;
   }
 
-  DEBUGF(infof(data, "http2_recv: easy %p (stream %u)\n",
+  H2BUGF(infof(data, "http2_recv: easy %p (stream %u)\n",
                data, stream->stream_id));
 
   if((data->state.drain) && stream->memlen) {
-    DEBUGF(infof(data, "http2_recv: DRAIN %zu bytes stream %u!! (%p => %p)\n",
+    H2BUGF(infof(data, "http2_recv: DRAIN %zu bytes stream %u!! (%p => %p)\n",
                  stream->memlen, stream->stream_id,
                  stream->mem, mem));
     if(mem != stream->mem) {
@@ -1484,7 +1502,7 @@
       /* We have paused nghttp2, but we have no pause data (see
          on_data_chunk_recv). */
       httpc->pause_stream_id = 0;
-      if(h2_process_pending_input(data, httpc, &result) != 0) {
+      if(h2_process_pending_input(conn, httpc, &result) != 0) {
         *err = result;
         return -1;
       }
@@ -1500,7 +1518,7 @@
 
     infof(data, "%zu data bytes written\n", nread);
     if(stream->pauselen == 0) {
-      DEBUGF(infof(data, "Unpaused by stream %u\n", stream->stream_id));
+      H2BUGF(infof(data, "Unpaused by stream %u\n", stream->stream_id));
       DEBUGASSERT(httpc->pause_stream_id == stream->stream_id);
       httpc->pause_stream_id = 0;
 
@@ -1514,12 +1532,12 @@
          frames, then we have to call it again with 0-length data.
          Without this, on_stream_close callback will not be called,
          and stream could be hanged. */
-      if(h2_process_pending_input(data, httpc, &result) != 0) {
+      if(h2_process_pending_input(conn, httpc, &result) != 0) {
         *err = result;
         return -1;
       }
     }
-    DEBUGF(infof(data, "http2_recv: returns unpaused %zd bytes on stream %u\n",
+    H2BUGF(infof(data, "http2_recv: returns unpaused %zd bytes on stream %u\n",
                  nread, stream->stream_id));
     return nread;
   }
@@ -1532,7 +1550,7 @@
        socket is not read.  But it seems that usually streams are
        notified with its drain property, and socket is read again
        quickly. */
-    DEBUGF(infof(data, "stream %x is paused, pause id: %x\n",
+    H2BUGF(infof(data, "stream %x is paused, pause id: %x\n",
                  stream->stream_id, httpc->pause_stream_id));
     *err = CURLE_AGAIN;
     return -1;
@@ -1566,7 +1584,7 @@
         return -1;
       }
 
-      DEBUGF(infof(data, "nread=%zd\n", nread));
+      H2BUGF(infof(data, "nread=%zd\n", nread));
 
       httpc->inbuflen = nread;
       inbuf = httpc->inbuf;
@@ -1575,7 +1593,7 @@
       nread = httpc->inbuflen - httpc->nread_inbuf;
       inbuf = httpc->inbuf + httpc->nread_inbuf;
 
-      DEBUGF(infof(data, "Use data left in connection buffer, nread=%zd\n",
+      H2BUGF(infof(data, "Use data left in connection buffer, nread=%zd\n",
                    nread));
     }
     rv = nghttp2_session_mem_recv(httpc->h2, (const uint8_t *)inbuf, nread);
@@ -1586,15 +1604,15 @@
       *err = CURLE_RECV_ERROR;
       return -1;
     }
-    DEBUGF(infof(data, "nghttp2_session_mem_recv() returns %zd\n", rv));
+    H2BUGF(infof(data, "nghttp2_session_mem_recv() returns %zd\n", rv));
     if(nread == rv) {
-      DEBUGF(infof(data, "All data in connection buffer processed\n"));
+      H2BUGF(infof(data, "All data in connection buffer processed\n"));
       httpc->inbuflen = 0;
       httpc->nread_inbuf = 0;
     }
     else {
       httpc->nread_inbuf += rv;
-      DEBUGF(infof(data, "%zu bytes left in connection buffer\n",
+      H2BUGF(infof(data, "%zu bytes left in connection buffer\n",
                    httpc->inbuflen - httpc->nread_inbuf));
     }
     /* Always send pending frames in nghttp2 session, because
@@ -1606,21 +1624,21 @@
     }
 
     if(should_close_session(httpc)) {
-      DEBUGF(infof(data, "http2_recv: nothing to do in this session\n"));
+      H2BUGF(infof(data, "http2_recv: nothing to do in this session\n"));
       *err = CURLE_HTTP2;
       return -1;
     }
   }
   if(stream->memlen) {
     ssize_t retlen = stream->memlen;
-    DEBUGF(infof(data, "http2_recv: returns %zd for stream %u\n",
+    H2BUGF(infof(data, "http2_recv: returns %zd for stream %u\n",
                  retlen, stream->stream_id));
     stream->memlen = 0;
 
     if(httpc->pause_stream_id == stream->stream_id) {
       /* data for this stream is returned now, but this stream caused a pause
          already so we need it called again asap */
-      DEBUGF(infof(data, "Data returned for PAUSED stream %u\n",
+      H2BUGF(infof(data, "Data returned for PAUSED stream %u\n",
                    stream->stream_id));
     }
     else if(!stream->closed) {
@@ -1637,7 +1655,7 @@
     return http2_handle_stream_close(conn, data, stream, err);
   }
   *err = CURLE_AGAIN;
-  DEBUGF(infof(data, "http2_recv returns AGAIN for stream %u\n",
+  H2BUGF(infof(data, "http2_recv returns AGAIN for stream %u\n",
                stream->stream_id));
   return -1;
 }
@@ -1739,7 +1757,7 @@
 
   (void)sockindex;
 
-  DEBUGF(infof(conn->data, "http2_send len=%zu\n", len));
+  H2BUGF(infof(conn->data, "http2_send len=%zu\n", len));
 
   if(stream->stream_id != -1) {
     if(stream->close_handled) {
@@ -1768,7 +1786,7 @@
     stream->upload_len = 0;
 
     if(should_close_session(httpc)) {
-      DEBUGF(infof(conn->data, "http2_send: nothing to do in this session\n"));
+      H2BUGF(infof(conn->data, "http2_send: nothing to do in this session\n"));
       *err = CURLE_HTTP2;
       return -1;
     }
@@ -1781,7 +1799,7 @@
       nghttp2_session_resume_data(h2, stream->stream_id);
     }
 
-    DEBUGF(infof(conn->data, "http2_send returns %zu for stream %u\n", len,
+    H2BUGF(infof(conn->data, "http2_send returns %zu for stream %u\n", len,
                  stream->stream_id));
     return len;
   }
@@ -1937,7 +1955,7 @@
     for(i = 0; i < nheader; ++i) {
       acc += nva[i].namelen + nva[i].valuelen;
 
-      DEBUGF(infof(conn->data, "h2 header: %.*s:%.*s\n",
+      H2BUGF(infof(conn->data, "h2 header: %.*s:%.*s\n",
                    nva[i].namelen, nva[i].name,
                    nva[i].valuelen, nva[i].value));
     }
@@ -1975,7 +1993,7 @@
   Curl_safefree(nva);
 
   if(stream_id < 0) {
-    DEBUGF(infof(conn->data, "http2_send() send error\n"));
+    H2BUGF(infof(conn->data, "http2_send() send error\n"));
     *err = CURLE_SEND_ERROR;
     return -1;
   }
@@ -1994,7 +2012,7 @@
   }
 
   if(should_close_session(httpc)) {
-    DEBUGF(infof(conn->data, "http2_send: nothing to do in this session\n"));
+    H2BUGF(infof(conn->data, "http2_send: nothing to do in this session\n"));
     *err = CURLE_HTTP2;
     return -1;
   }
@@ -2152,7 +2170,7 @@
     return CURLE_HTTP2;
   }
 
-  DEBUGF(infof(data, "nghttp2_session_mem_recv() returns %zd\n", nproc));
+  H2BUGF(infof(data, "nghttp2_session_mem_recv() returns %zd\n", nproc));
 
   if((ssize_t)nread == nproc) {
     httpc->inbuflen = 0;
@@ -2172,7 +2190,7 @@
   }
 
   if(should_close_session(httpc)) {
-    DEBUGF(infof(data,
+    H2BUGF(infof(data,
                  "nghttp2_session_send(): nothing to do in this session\n"));
     return CURLE_HTTP2;
   }
diff --git a/lib/http_chunks.c b/lib/http_chunks.c
index 1616429..8368eec 100644
--- a/lib/http_chunks.c
+++ b/lib/http_chunks.c
@@ -5,7 +5,7 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
@@ -74,15 +74,6 @@
 
  */
 
-/* Check for an ASCII hex digit.
- We avoid the use of isxdigit to accommodate non-ASCII hosts. */
-static bool Curl_isxdigit(char digit)
-{
-  return ( (digit >= 0x30 && digit <= 0x39) /* 0-9 */
-        || (digit >= 0x41 && digit <= 0x46) /* A-F */
-        || (digit >= 0x61 && digit <= 0x66) /* a-f */) ? TRUE : FALSE;
-}
-
 void Curl_httpchunk_init(struct connectdata *conn)
 {
   struct Curl_chunker *chunk = &conn->chunk;
@@ -187,15 +178,15 @@
       piece = curlx_sotouz((ch->datasize >= length)?length:ch->datasize);
 
       /* Write the data portion available */
-      if(conn->data->set.http_ce_skip || !k->writer_stack) {
-        if(!k->ignorebody)
+      if(!conn->data->set.http_te_skip && !k->ignorebody) {
+        if(!conn->data->set.http_ce_skip && k->writer_stack)
+          result = Curl_unencode_write(conn, k->writer_stack, datap, piece);
+        else
           result = Curl_client_write(conn, CLIENTWRITE_BODY, datap, piece);
-      }
-      else
-        result = Curl_unencode_write(conn, k->writer_stack, datap, piece);
 
-      if(result)
-        return CHUNKE_WRITE_ERROR;
+        if(result)
+          return CHUNKE_WRITE_ERROR;
+      }
 
       *wrote += piece;
       ch->datasize -= piece; /* decrease amount left to expect */
diff --git a/lib/http_proxy.c b/lib/http_proxy.c
index 7f50405..c1eb177 100644
--- a/lib/http_proxy.c
+++ b/lib/http_proxy.c
@@ -5,7 +5,7 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
@@ -252,7 +252,7 @@
           return CURLE_OUT_OF_MEMORY;
         }
 
-        if(!Curl_checkProxyheaders(conn, "Host:")) {
+        if(!Curl_checkProxyheaders(conn, "Host")) {
           host = aprintf("Host: %s\r\n", hostheader);
           if(!host) {
             free(hostheader);
@@ -260,10 +260,10 @@
             return CURLE_OUT_OF_MEMORY;
           }
         }
-        if(!Curl_checkProxyheaders(conn, "Proxy-Connection:"))
+        if(!Curl_checkProxyheaders(conn, "Proxy-Connection"))
           proxyconn = "Proxy-Connection: Keep-Alive\r\n";
 
-        if(!Curl_checkProxyheaders(conn, "User-Agent:") &&
+        if(!Curl_checkProxyheaders(conn, "User-Agent") &&
            data->set.str[STRING_USERAGENT])
           useragent = conn->allocptr.uagent;
 
diff --git a/lib/krb5.c b/lib/krb5.c
index 35a4ca0..8b5a247 100644
--- a/lib/krb5.c
+++ b/lib/krb5.c
@@ -85,7 +85,7 @@
 
   enc.value = buf;
   enc.length = len;
-  maj = gss_unseal(&min, *context, &enc, &dec, NULL, NULL);
+  maj = gss_unwrap(&min, *context, &enc, &dec, NULL, NULL);
   if(maj != GSS_S_COMPLETE) {
     if(len >= 4)
       strcpy(buf, "599 ");
@@ -119,11 +119,11 @@
   int len;
 
   /* NOTE that the cast is safe, neither of the krb5, gnu gss and heimdal
-   * libraries modify the input buffer in gss_seal()
+   * libraries modify the input buffer in gss_wrap()
    */
   dec.value = (void *)from;
   dec.length = length;
-  maj = gss_seal(&min, *context,
+  maj = gss_wrap(&min, *context,
                  level == PROT_PRIVATE,
                  GSS_C_QOP_DEFAULT,
                  &dec, &state, &enc);
diff --git a/lib/libcurl.plist b/lib/libcurl.plist
index 5b02d28..da7037d 100644
--- a/lib/libcurl.plist
+++ b/lib/libcurl.plist
@@ -15,7 +15,7 @@
 	<string>se.haxx.curl.libcurl</string>
 
 	<key>CFBundleVersion</key>
-	<string>7.58.0</string>
+	<string>7.59.0</string>
 
 	<key>CFBundleName</key>
 	<string>libcurl</string>
@@ -27,9 +27,9 @@
 	<string>????</string>
 
 	<key>CFBundleShortVersionString</key>
-	<string>libcurl 7.58.0</string>
+	<string>libcurl 7.59.0</string>
 
 	<key>CFBundleGetInfoString</key>
-	<string>libcurl.plist 7.58.0</string>
+	<string>libcurl.plist 7.59.0</string>
 </dict>
 </plist>
diff --git a/lib/mime.c b/lib/mime.c
index e0853a9..0ccb346 100644
--- a/lib/mime.c
+++ b/lib/mime.c
@@ -51,10 +51,6 @@
 #endif
 
 
-#define FILE_CONTENTTYPE_DEFAULT        "application/octet-stream"
-#define MULTIPART_CONTENTTYPE_DEFAULT   "multipart/mixed"
-#define DISPOSITION_DEFAULT             "attachment"
-
 #define READ_ERROR                      ((size_t) -1)
 
 /* Encoders. */
@@ -1642,8 +1638,7 @@
                               boundary? boundary: "");
 }
 
-
-static const char *ContentTypeForFilename(const char *filename)
+const char *Curl_mime_contenttype(const char *filename)
 {
   unsigned int i;
 
@@ -1715,14 +1710,14 @@
       contenttype = MULTIPART_CONTENTTYPE_DEFAULT;
       break;
     case MIMEKIND_FILE:
-      contenttype = ContentTypeForFilename(part->filename);
+      contenttype = Curl_mime_contenttype(part->filename);
       if(!contenttype)
-        contenttype = ContentTypeForFilename(part->data);
+        contenttype = Curl_mime_contenttype(part->data);
       if(!contenttype && part->filename)
         contenttype = FILE_CONTENTTYPE_DEFAULT;
       break;
     default:
-      contenttype = ContentTypeForFilename(part->filename);
+      contenttype = Curl_mime_contenttype(part->filename);
       break;
     }
   }
diff --git a/lib/mime.h b/lib/mime.h
index 920a8a7..4d5c704 100644
--- a/lib/mime.h
+++ b/lib/mime.h
@@ -30,6 +30,10 @@
 #define MIME_USERHEADERS_OWNER  (1 << 0)
 #define MIME_BODY_ONLY          (1 << 1)
 
+#define FILE_CONTENTTYPE_DEFAULT        "application/octet-stream"
+#define MULTIPART_CONTENTTYPE_DEFAULT   "multipart/mixed"
+#define DISPOSITION_DEFAULT             "attachment"
+
 /* Part source kinds. */
 enum mimekind {
   MIMEKIND_NONE = 0,            /* Part not set. */
@@ -134,5 +138,6 @@
                       void *instream);
 CURLcode Curl_mime_rewind(curl_mimepart *part);
 CURLcode Curl_mime_add_header(struct curl_slist **slp, const char *fmt, ...);
+const char *Curl_mime_contenttype(const char *filename);
 
 #endif /* HEADER_CURL_MIME_H */
diff --git a/lib/mk-ca-bundle.vbs b/lib/mk-ca-bundle.vbs
index a9b983e..8da2792 100755
--- a/lib/mk-ca-bundle.vbs
+++ b/lib/mk-ca-bundle.vbs
@@ -314,7 +314,7 @@
   Set objRegExp = New RegExp                    ' create a regular expression.

   objRegExp.Pattern = SearchPattern             ' sets the search pattern.

   objRegExp.IgnoreCase = TRUE                   ' set to ignores case.

-  objRegExp.Global = TRUE                       ' set to gloabal search.

+  objRegExp.Global = TRUE                       ' set to global search.

   Set Matches = objRegExp.Execute(TheString)    ' do the search.

   If (Matches.Count) Then

     RegExprFirst = Matches(0).SubMatches(0)     ' return first match.

diff --git a/lib/multi.c b/lib/multi.c
index 43823cc..98e5fca 100644
--- a/lib/multi.c
+++ b/lib/multi.c
@@ -5,7 +5,7 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
@@ -366,6 +366,9 @@
   if(data->multi)
     return CURLM_ADDED_ALREADY;
 
+  if(multi->in_callback)
+    return CURLM_RECURSIVE_API_CALL;
+
   /* Initialize timeout list for this handle */
   Curl_llist_init(&data->state.timeoutlist, NULL);
 
@@ -535,11 +538,8 @@
       result = CURLE_ABORTED_BY_CALLBACK;
   }
 
-  if(conn->send_pipe.size + conn->recv_pipe.size != 0 &&
-     !data->set.reuse_forbid &&
-     !conn->bits.close) {
-    /* Stop if pipeline is not empty and we do not have to close
-       connection. */
+  if(conn->send_pipe.size || conn->recv_pipe.size) {
+    /* Stop if pipeline is not empty . */
     data->easy_conn = NULL;
     DEBUGF(infof(data, "Connection still in use, no more multi_done now!\n"));
     return CURLE_OK;
@@ -640,6 +640,9 @@
   if(!data->multi)
     return CURLM_OK; /* it is already removed so let's say it is fine! */
 
+  if(multi->in_callback)
+    return CURLM_RECURSIVE_API_CALL;
+
   premature = (data->mstate < CURLM_STATE_COMPLETED) ? TRUE : FALSE;
   easy_owns_conn = (data->easy_conn && (data->easy_conn->data == easy)) ?
     TRUE : FALSE;
@@ -903,6 +906,9 @@
   if(!GOOD_MULTI_HANDLE(multi))
     return CURLM_BAD_HANDLE;
 
+  if(multi->in_callback)
+    return CURLM_RECURSIVE_API_CALL;
+
   data = multi->easyp;
   while(data) {
     bitmap = multi_getsock(data, sockbunch, MAX_SOCKSPEREASYHANDLE);
@@ -956,6 +962,9 @@
   if(!GOOD_MULTI_HANDLE(multi))
     return CURLM_BAD_HANDLE;
 
+  if(multi->in_callback)
+    return CURLM_RECURSIVE_API_CALL;
+
   /* If the internally desired timeout is actually shorter than requested from
      the outside, then use the shorter time! But only if the internal timer
      is actually larger than -1! */
@@ -1121,6 +1130,9 @@
 {
   CURLMcode rc;
 
+  if(multi->in_callback)
+    return CURLM_RECURSIVE_API_CALL;
+
   rc = curl_multi_add_handle(multi, data);
   if(!rc) {
     struct SingleRequest *k = &data->req;
@@ -2127,6 +2139,9 @@
   if(!GOOD_MULTI_HANDLE(multi))
     return CURLM_BAD_HANDLE;
 
+  if(multi->in_callback)
+    return CURLM_RECURSIVE_API_CALL;
+
   data = multi->easyp;
   while(data) {
     CURLMcode result;
@@ -2174,6 +2189,9 @@
   struct Curl_easy *nextdata;
 
   if(GOOD_MULTI_HANDLE(multi)) {
+    if(multi->in_callback)
+      return CURLM_RECURSIVE_API_CALL;
+
     multi->type = 0; /* not good anymore */
 
     /* Firsrt remove all remaining easy handles */
@@ -2234,7 +2252,9 @@
 
   *msgs_in_queue = 0; /* default to none */
 
-  if(GOOD_MULTI_HANDLE(multi) && Curl_llist_count(&multi->msglist)) {
+  if(GOOD_MULTI_HANDLE(multi) &&
+     !multi->in_callback &&
+     Curl_llist_count(&multi->msglist)) {
     /* there is one or more messages in the list */
     struct curl_llist_element *e;
 
@@ -2624,6 +2644,9 @@
   if(!GOOD_MULTI_HANDLE(multi))
     return CURLM_BAD_HANDLE;
 
+  if(multi->in_callback)
+    return CURLM_RECURSIVE_API_CALL;
+
   va_start(param, option);
 
   switch(option) {
@@ -2688,7 +2711,10 @@
 CURLMcode curl_multi_socket(struct Curl_multi *multi, curl_socket_t s,
                             int *running_handles)
 {
-  CURLMcode result = multi_socket(multi, FALSE, s, 0, running_handles);
+  CURLMcode result;
+  if(multi->in_callback)
+    return CURLM_RECURSIVE_API_CALL;
+  result = multi_socket(multi, FALSE, s, 0, running_handles);
   if(CURLM_OK >= result)
     update_timer(multi);
   return result;
@@ -2697,8 +2723,10 @@
 CURLMcode curl_multi_socket_action(struct Curl_multi *multi, curl_socket_t s,
                                    int ev_bitmask, int *running_handles)
 {
-  CURLMcode result = multi_socket(multi, FALSE, s,
-                                  ev_bitmask, running_handles);
+  CURLMcode result;
+  if(multi->in_callback)
+    return CURLM_RECURSIVE_API_CALL;
+  result = multi_socket(multi, FALSE, s, ev_bitmask, running_handles);
   if(CURLM_OK >= result)
     update_timer(multi);
   return result;
@@ -2707,8 +2735,10 @@
 CURLMcode curl_multi_socket_all(struct Curl_multi *multi, int *running_handles)
 
 {
-  CURLMcode result = multi_socket(multi, TRUE, CURL_SOCKET_BAD, 0,
-                                  running_handles);
+  CURLMcode result;
+  if(multi->in_callback)
+    return CURLM_RECURSIVE_API_CALL;
+  result = multi_socket(multi, TRUE, CURL_SOCKET_BAD, 0, running_handles);
   if(CURLM_OK >= result)
     update_timer(multi);
   return result;
@@ -2760,6 +2790,9 @@
   if(!GOOD_MULTI_HANDLE(multi))
     return CURLM_BAD_HANDLE;
 
+  if(multi->in_callback)
+    return CURLM_RECURSIVE_API_CALL;
+
   return multi_timeout(multi, timeout_ms);
 }
 
@@ -2992,6 +3025,9 @@
 {
   struct Curl_sh_entry *there = NULL;
 
+  if(multi->in_callback)
+    return CURLM_RECURSIVE_API_CALL;
+
   there = sh_getentry(&multi->sockhash, s);
 
   if(!there)
@@ -3054,6 +3090,20 @@
   }
 }
 
+void Curl_set_in_callback(struct Curl_easy *easy, bool value)
+{
+  if(easy->multi_easy)
+    easy->multi_easy->in_callback = value;
+  else if(easy->multi)
+      easy->multi->in_callback = value;
+}
+
+bool Curl_is_in_callback(struct Curl_easy *easy)
+{
+  return ((easy->multi && easy->multi->in_callback) ||
+          (easy->multi_easy && easy->multi_easy->in_callback));
+}
+
 #ifdef DEBUGBUILD
 void Curl_multi_dump(struct Curl_multi *multi)
 {
diff --git a/lib/multihandle.h b/lib/multihandle.h
index de9a7cf..1a5017f 100644
--- a/lib/multihandle.h
+++ b/lib/multihandle.h
@@ -146,6 +146,7 @@
   void *timer_userp;
   struct curltime timer_lastcall; /* the fixed time for the timeout for the
                                     previous callback */
+  bool in_callback;            /* true while executing a callback */
 };
 
 #endif /* HEADER_CURL_MULTIHANDLE_H */
diff --git a/lib/multiif.h b/lib/multiif.h
index a877571..a988bfd 100644
--- a/lib/multiif.h
+++ b/lib/multiif.h
@@ -31,6 +31,8 @@
 void Curl_expire_done(struct Curl_easy *data, expire_id id);
 bool Curl_pipeline_wanted(const struct Curl_multi* multi, int bits);
 void Curl_multi_handlePipeBreak(struct Curl_easy *data);
+void Curl_set_in_callback(struct Curl_easy *data, bool value);
+bool Curl_is_in_callback(struct Curl_easy *easy);
 
 /* Internal version of curl_multi_init() accepts size parameters for the
    socket and connection hashes */
diff --git a/lib/non-ascii.c b/lib/non-ascii.c
index 92b2f8d..1414324 100644
--- a/lib/non-ascii.c
+++ b/lib/non-ascii.c
@@ -30,6 +30,7 @@
 #include "formdata.h"
 #include "sendf.h"
 #include "urldata.h"
+#include "multiif.h"
 
 #include "curl_memory.h"
 /* The last #include file should be: */
@@ -84,7 +85,10 @@
 {
   if(data && data->set.convtonetwork) {
     /* use translation callback */
-    CURLcode result = data->set.convtonetwork(buffer, length);
+    CURLcode result;
+    Curl_set_in_callback(data, true);
+    result = data->set.convtonetwork(buffer, length);
+    Curl_set_in_callback(data, false);
     if(result) {
       failf(data,
             "CURLOPT_CONV_TO_NETWORK_FUNCTION callback returned %d: %s",
@@ -147,7 +151,10 @@
 {
   if(data && data->set.convfromnetwork) {
     /* use translation callback */
-    CURLcode result = data->set.convfromnetwork(buffer, length);
+    CURLcode result;
+    Curl_set_in_callback(data, true);
+    result = data->set.convfromnetwork(buffer, length);
+    Curl_set_in_callback(data, false);
     if(result) {
       failf(data,
             "CURLOPT_CONV_FROM_NETWORK_FUNCTION callback returned %d: %s",
@@ -210,7 +217,10 @@
 {
   if(data && data->set.convfromutf8) {
     /* use translation callback */
-    CURLcode result = data->set.convfromutf8(buffer, length);
+    CURLcode result;
+    Curl_set_in_callback(data, true);
+    result = data->set.convfromutf8(buffer, length);
+    Curl_set_in_callback(data, false);
     if(result) {
       failf(data,
             "CURLOPT_CONV_FROM_UTF8_FUNCTION callback returned %d: %s",
diff --git a/lib/objnames.inc b/lib/objnames.inc
index 6a5b2a8..e362f6e 100644
--- a/lib/objnames.inc
+++ b/lib/objnames.inc
@@ -86,7 +86,7 @@
 # curl_8char_object_name
 #
 # Same as curl_10char_object_name() description and details above, except
-# that object name is limited to 8 charcters maximum.
+# that object name is limited to 8 characters maximum.
 #
 
 curl_8char_object_name() {
diff --git a/lib/openldap.c b/lib/openldap.c
index f2ffdfe..187c899 100644
--- a/lib/openldap.c
+++ b/lib/openldap.c
@@ -5,8 +5,8 @@
  *                | (__| |_| |  _ <| |___
  *                 \___|\___/|_| \_\_____|
  *
- * Copyright (C) 2010, 2017, Howard Chu, <hyc@openldap.org>
- * Copyright (C) 2011 - 2016, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 2010, Howard Chu, <hyc@openldap.org>
+ * Copyright (C) 2011 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
@@ -221,7 +221,7 @@
   if(conn->handler->flags & PROTOPT_SSL)
     *ptr++ = 's';
   snprintf(ptr, sizeof(hosturl)-(ptr-hosturl), "://%s:%d",
-    conn->host.name, conn->remote_port);
+           conn->host.name, conn->remote_port);
 
 #ifdef CURL_OPENLDAP_DEBUG
   static int do_trace = 0;
@@ -286,7 +286,7 @@
 
   tvp = &tv;
 
-retry:
+  retry:
   if(!li->didbind) {
     char *binddn;
     struct berval passwd;
@@ -472,8 +472,8 @@
     return ret;
 
   for(ent = ldap_first_message(li->ld, msg); ent;
-    ent = ldap_next_message(li->ld, ent)) {
-    struct berval bv, *bvals, **bvp = &bvals;
+      ent = ldap_next_message(li->ld, ent)) {
+    struct berval bv, *bvals;
     int binary = 0, msgtype;
     CURLcode writeerr;
 
@@ -535,12 +535,13 @@
     }
     data->req.bytecount += bv.bv_len + 5;
 
-    for(rc = ldap_get_attribute_ber(li->ld, ent, ber, &bv, bvp);
-      rc == LDAP_SUCCESS;
-      rc = ldap_get_attribute_ber(li->ld, ent, ber, &bv, bvp)) {
+    for(rc = ldap_get_attribute_ber(li->ld, ent, ber, &bv, &bvals);
+        (rc == LDAP_SUCCESS) && bvals;
+        rc = ldap_get_attribute_ber(li->ld, ent, ber, &bv, &bvals)) {
       int i;
 
-      if(bv.bv_val == NULL) break;
+      if(bv.bv_val == NULL)
+        break;
 
       if(bv.bv_len > 7 && !strncmp(bv.bv_val + bv.bv_len - 7, ";binary", 7))
         binary = 1;
@@ -555,24 +556,24 @@
           return -1;
         }
 
-       writeerr = Curl_client_write(conn, CLIENTWRITE_BODY, (char *)bv.bv_val,
-                                    bv.bv_len);
-       if(writeerr) {
-         *err = writeerr;
-         return -1;
-       }
+        writeerr = Curl_client_write(conn, CLIENTWRITE_BODY, (char *)bv.bv_val,
+                                     bv.bv_len);
+        if(writeerr) {
+          *err = writeerr;
+          return -1;
+        }
 
         writeerr = Curl_client_write(conn, CLIENTWRITE_BODY, (char *)":", 1);
-       if(writeerr) {
-         *err = writeerr;
-         return -1;
-       }
+        if(writeerr) {
+          *err = writeerr;
+          return -1;
+        }
         data->req.bytecount += bv.bv_len + 2;
 
         if(!binary) {
           /* check for leading or trailing whitespace */
           if(ISSPACE(bvals[i].bv_val[0]) ||
-              ISSPACE(bvals[i].bv_val[bvals[i].bv_len-1]))
+             ISSPACE(bvals[i].bv_val[bvals[i].bv_len-1]))
             binval = 1;
           else {
             /* check for unprintable characters */
@@ -610,7 +611,7 @@
           data->req.bytecount += 2;
           if(val_b64_sz > 0) {
             writeerr = Curl_client_write(conn, CLIENTWRITE_BODY, val_b64,
-                                     val_b64_sz);
+                                         val_b64_sz);
             if(writeerr) {
               *err = writeerr;
               return -1;
diff --git a/lib/parsedate.c b/lib/parsedate.c
index 0fabbd2..aa27303 100644
--- a/lib/parsedate.c
+++ b/lib/parsedate.c
@@ -5,7 +5,7 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
@@ -276,26 +276,23 @@
   int tm_hour;
   int tm_mday;
   int tm_mon;
-  int tm_year;
+  int tm_year; /* full year */
 };
 
 /* struct tm to time since epoch in GMT time zone.
  * This is similar to the standard mktime function but for GMT only, and
  * doesn't suffer from the various bugs and portability problems that
  * some systems' implementations have.
+ *
+ * Returns 0 on success, otherwise non-zero.
  */
-static time_t my_timegm(struct my_tm *tm)
+static void my_timegm(struct my_tm *tm, time_t *t)
 {
   static const int month_days_cumulative [12] =
     { 0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334 };
   int month, year, leap_days;
 
-  if(tm->tm_year < 70)
-    /* we don't support years before 1970 as they will cause this function
-       to return a negative value */
-    return -1;
-
-  year = tm->tm_year + 1900;
+  year = tm->tm_year;
   month = tm->tm_mon;
   if(month < 0) {
     year += (11 - month) / 12;
@@ -310,9 +307,9 @@
   leap_days = ((leap_days / 4) - (leap_days / 100) + (leap_days / 400)
                - (1969 / 4) + (1969 / 100) - (1969 / 400));
 
-  return ((((time_t) (year - 1970) * 365
-            + leap_days + month_days_cumulative [month] + tm->tm_mday - 1) * 24
-           + tm->tm_hour) * 60 + tm->tm_min) * 60 + tm->tm_sec;
+  *t = ((((time_t) (year - 1970) * 365
+          + leap_days + month_days_cumulative[month] + tm->tm_mday - 1) * 24
+         + tm->tm_hour) * 60 + tm->tm_min) * 60 + tm->tm_sec;
 }
 
 /*
@@ -436,7 +433,7 @@
           tzoff = (val/100 * 60 + val%100)*60;
 
           /* the + and - prefix indicates the local time compared to GMT,
-             this we need ther reversed math to get what we want */
+             this we need their reversed math to get what we want */
           tzoff = date[-1]=='+'?-tzoff:tzoff;
         }
 
@@ -462,7 +459,7 @@
         if(!found && (dignext == DATE_YEAR) && (yearnum == -1)) {
           yearnum = val;
           found = TRUE;
-          if(yearnum < 1900) {
+          if(yearnum < 100) {
             if(yearnum > 70)
               yearnum += 1900;
             else
@@ -491,18 +488,39 @@
     /* lacks vital info, fail */
     return PARSEDATE_FAIL;
 
-#if SIZEOF_TIME_T < 5
-  /* 32 bit time_t can only hold dates to the beginning of 2038 */
-  if(yearnum > 2037) {
-    *output = 0x7fffffff;
-    return PARSEDATE_LATER;
+#ifdef HAVE_TIME_T_UNSIGNED
+  if(yearnum < 1970) {
+    /* only positive numbers cannot return earlier */
+    *output = TIME_T_MIN;
+    return PARSEDATE_SOONER;
   }
 #endif
 
-  if(yearnum < 1970) {
-    *output = 0;
+#if (SIZEOF_TIME_T < 5)
+
+#ifdef HAVE_TIME_T_UNSIGNED
+  /* an unsigned 32 bit time_t can only hold dates to 2106 */
+  if(yearnum > 2105) {
+    *output = TIME_T_MAX;
+    return PARSEDATE_LATER;
+  }
+#else
+  /* a signed 32 bit time_t can only hold dates to the beginning of 2038 */
+  if(yearnum > 2037) {
+    *output = TIME_T_MAX;
+    return PARSEDATE_LATER;
+  }
+  if(yearnum < 1903) {
+    *output = TIME_T_MIN;
     return PARSEDATE_SOONER;
   }
+#endif
+
+#else
+  /* The Gregorian calendar was introduced 1582 */
+  if(yearnum < 1583)
+    return PARSEDATE_FAIL;
+#endif
 
   if((mdaynum > 31) || (monnum > 11) ||
      (hournum > 23) || (minnum > 59) || (secnum > 60))
@@ -513,31 +531,25 @@
   tm.tm_hour = hournum;
   tm.tm_mday = mdaynum;
   tm.tm_mon = monnum;
-  tm.tm_year = yearnum - 1900;
+  tm.tm_year = yearnum;
 
-  /* my_timegm() returns a time_t. time_t is often 32 bits, even on many
-     architectures that feature 64 bit 'long'.
-
-     Some systems have 64 bit time_t and deal with years beyond 2038. However,
-     even on some of the systems with 64 bit time_t mktime() returns -1 for
-     dates beyond 03:14:07 UTC, January 19, 2038. (Such as AIX 5100-06)
+  /* my_timegm() returns a time_t. time_t is often 32 bits, sometimes even on
+     architectures that feature 64 bit 'long' but ultimately time_t is the
+     correct data type to use.
   */
-  t = my_timegm(&tm);
+  my_timegm(&tm, &t);
 
-  /* time zone adjust (cast t to int to compare to negative one) */
-  if(-1 != (int)t) {
+  /* Add the time zone diff between local time zone and GMT. */
+  if(tzoff == -1)
+    tzoff = 0;
 
-    /* Add the time zone diff between local time zone and GMT. */
-    long delta = (long)(tzoff!=-1?tzoff:0);
-
-    if((delta>0) && (t > LONG_MAX - delta)) {
-      *output = 0x7fffffff;
-      return PARSEDATE_LATER; /* time_t overflow */
-    }
-
-    t += delta;
+  if((tzoff > 0) && (t > TIME_T_MAX - tzoff)) {
+    *output = TIME_T_MAX;
+    return PARSEDATE_LATER; /* time_t overflow */
   }
 
+  t += tzoff;
+
   *output = t;
 
   return PARSEDATE_OK;
@@ -549,10 +561,10 @@
   int rc = parsedate(p, &parsed);
   (void)now; /* legacy argument from the past that we ignore */
 
-  switch(rc) {
-  case PARSEDATE_OK:
-  case PARSEDATE_LATER:
-  case PARSEDATE_SOONER:
+  if(rc == PARSEDATE_OK) {
+    if(parsed == -1)
+      /* avoid returning -1 for a working scenario */
+      parsed++;
     return parsed;
   }
   /* everything else is fail */
diff --git a/lib/progress.c b/lib/progress.c
index cc5e8be..ce8be7f 100644
--- a/lib/progress.c
+++ b/lib/progress.c
@@ -24,6 +24,7 @@
 
 #include "urldata.h"
 #include "sendf.h"
+#include "multiif.h"
 #include "progress.h"
 #include "curl_printf.h"
 
@@ -237,8 +238,8 @@
 }
 
 /*
- * This is used to handle speed limits, calculating how much milliseconds we
- * need to wait until we're back under the speed limit, if needed.
+ * This is used to handle speed limits, calculating how many milliseconds to
+ * wait until we're back under the speed limit, if needed.
  *
  * The way it works is by having a "starting point" (time & amount of data
  * transferred by then) used in the speed computation, to be used instead of
@@ -250,16 +251,15 @@
  * the starting point, the limit (in bytes/s), the time of the starting point
  * and the current time.
  *
- * Returns -1 if no waiting is needed (not enough data transferred since
- * starting point yet), 0 when no waiting is needed but the starting point
- * should be reset (to current), or the number of milliseconds to wait to get
- * back under the speed limit.
+ * Returns 0 if no waiting is needed or when no waiting is needed but the
+ * starting point should be reset (to current); or the number of milliseconds
+ * to wait to get back under the speed limit.
  */
-long Curl_pgrsLimitWaitTime(curl_off_t cursize,
-                            curl_off_t startsize,
-                            curl_off_t limit,
-                            struct curltime start,
-                            struct curltime now)
+timediff_t Curl_pgrsLimitWaitTime(curl_off_t cursize,
+                                  curl_off_t startsize,
+                                  curl_off_t limit,
+                                  struct curltime start,
+                                  struct curltime now)
 {
   curl_off_t size = cursize - startsize;
   time_t minimum;
@@ -269,16 +269,23 @@
   if(start.tv_sec == 0 && start.tv_usec == 0)
     return 0;
 
-  /* not enough data yet */
-  if(size < limit)
-    return -1;
+  if(!limit)
+    return 0;
 
-  minimum = (time_t) (CURL_OFF_T_C(1000) * size / limit);
+  if(size < CURL_OFF_T_MAX/1000)
+    minimum = (time_t) (CURL_OFF_T_C(1000) * size / limit);
+  else {
+    minimum = (time_t) (size / limit);
+    if(minimum < TIME_T_MAX/1000)
+      minimum *= 1000;
+    else
+      minimum = TIME_T_MAX;
+  }
+
   actual = Curl_timediff(now, start);
 
   if(actual < minimum)
-    /* this is a conversion on some systems (64bit time_t => 32bit long) */
-    return (long)(minimum - actual);
+    return (minimum - actual);
 
   return 0;
 }
@@ -461,22 +468,26 @@
 
     if(data->set.fxferinfo) {
       /* There's a callback set, call that */
+      Curl_set_in_callback(data, true);
       result = data->set.fxferinfo(data->set.progress_client,
                                    data->progress.size_dl,
                                    data->progress.downloaded,
                                    data->progress.size_ul,
                                    data->progress.uploaded);
+      Curl_set_in_callback(data, false);
       if(result)
         failf(data, "Callback aborted");
       return result;
     }
     if(data->set.fprogress) {
       /* The older deprecated callback is set, call that */
+      Curl_set_in_callback(data, true);
       result = data->set.fprogress(data->set.progress_client,
                                    (double)data->progress.size_dl,
                                    (double)data->progress.downloaded,
                                    (double)data->progress.size_ul,
                                    (double)data->progress.uploaded);
+      Curl_set_in_callback(data, false);
       if(result)
         failf(data, "Callback aborted");
       return result;
diff --git a/lib/progress.h b/lib/progress.h
index 9333ab2..3c2231c 100644
--- a/lib/progress.h
+++ b/lib/progress.h
@@ -7,7 +7,7 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
@@ -49,11 +49,11 @@
 int Curl_pgrsUpdate(struct connectdata *);
 void Curl_pgrsResetTransferSizes(struct Curl_easy *data);
 void Curl_pgrsTime(struct Curl_easy *data, timerid timer);
-long Curl_pgrsLimitWaitTime(curl_off_t cursize,
-                            curl_off_t startsize,
-                            curl_off_t limit,
-                            struct curltime start,
-                            struct curltime now);
+timediff_t Curl_pgrsLimitWaitTime(curl_off_t cursize,
+                                  curl_off_t startsize,
+                                  curl_off_t limit,
+                                  struct curltime start,
+                                  struct curltime now);
 
 /* Don't show progress for sizes smaller than: */
 #define LEAST_SIZE_PROGRESS BUFSIZE
diff --git a/lib/rtsp.c b/lib/rtsp.c
index 925da2c..194bc94 100644
--- a/lib/rtsp.c
+++ b/lib/rtsp.c
@@ -5,7 +5,7 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
@@ -47,7 +47,7 @@
  *  -incoming server requests
  *      -server CSeq counter
  *  -digest authentication
- *  -connect thru proxy
+ *  -connect through proxy
  *  -pipelining?
  */
 
@@ -357,7 +357,7 @@
   }
 
   /* Transport Header for SETUP requests */
-  p_transport = Curl_checkheaders(conn, "Transport:");
+  p_transport = Curl_checkheaders(conn, "Transport");
   if(rtspreq == RTSPREQ_SETUP && !p_transport) {
     /* New Transport: setting? */
     if(data->set.str[STRING_RTSP_TRANSPORT]) {
@@ -381,11 +381,11 @@
   /* Accept Headers for DESCRIBE requests */
   if(rtspreq == RTSPREQ_DESCRIBE) {
     /* Accept Header */
-    p_accept = Curl_checkheaders(conn, "Accept:")?
+    p_accept = Curl_checkheaders(conn, "Accept")?
       NULL:"Accept: application/sdp\r\n";
 
     /* Accept-Encoding header */
-    if(!Curl_checkheaders(conn, "Accept-Encoding:") &&
+    if(!Curl_checkheaders(conn, "Accept-Encoding") &&
        data->set.str[STRING_ENCODING]) {
       Curl_safefree(conn->allocptr.accept_encoding);
       conn->allocptr.accept_encoding =
@@ -402,11 +402,11 @@
      it might have been used in the proxy connect, but if we have got a header
      with the user-agent string specified, we erase the previously made string
      here. */
-  if(Curl_checkheaders(conn, "User-Agent:") && conn->allocptr.uagent) {
+  if(Curl_checkheaders(conn, "User-Agent") && conn->allocptr.uagent) {
     Curl_safefree(conn->allocptr.uagent);
     conn->allocptr.uagent = NULL;
   }
-  else if(!Curl_checkheaders(conn, "User-Agent:") &&
+  else if(!Curl_checkheaders(conn, "User-Agent") &&
           data->set.str[STRING_USERAGENT]) {
     p_uagent = conn->allocptr.uagent;
   }
@@ -421,7 +421,7 @@
 
   /* Referrer */
   Curl_safefree(conn->allocptr.ref);
-  if(data->change.referer && !Curl_checkheaders(conn, "Referer:"))
+  if(data->change.referer && !Curl_checkheaders(conn, "Referer"))
     conn->allocptr.ref = aprintf("Referer: %s\r\n", data->change.referer);
   else
     conn->allocptr.ref = NULL;
@@ -438,7 +438,7 @@
      (rtspreq  & (RTSPREQ_PLAY | RTSPREQ_PAUSE | RTSPREQ_RECORD))) {
 
     /* Check to see if there is a range set in the custom headers */
-    if(!Curl_checkheaders(conn, "Range:") && data->state.range) {
+    if(!Curl_checkheaders(conn, "Range") && data->state.range) {
       Curl_safefree(conn->allocptr.rangeline);
       conn->allocptr.rangeline = aprintf("Range: %s\r\n", data->state.range);
       p_range = conn->allocptr.rangeline;
@@ -448,11 +448,11 @@
   /*
    * Sanity check the custom headers
    */
-  if(Curl_checkheaders(conn, "CSeq:")) {
+  if(Curl_checkheaders(conn, "CSeq")) {
     failf(data, "CSeq cannot be set as a custom header.");
     return CURLE_RTSP_CSEQ_ERROR;
   }
-  if(Curl_checkheaders(conn, "Session:")) {
+  if(Curl_checkheaders(conn, "Session")) {
     failf(data, "Session ID cannot be set as a custom header.");
     return CURLE_BAD_FUNCTION_ARGUMENT;
   }
@@ -542,7 +542,7 @@
     if(putsize > 0 || postsize > 0) {
       /* As stated in the http comments, it is probably not wise to
        * actually set a custom Content-Length in the headers */
-      if(!Curl_checkheaders(conn, "Content-Length:")) {
+      if(!Curl_checkheaders(conn, "Content-Length")) {
         result = Curl_add_bufferf(req_buffer,
             "Content-Length: %" CURL_FORMAT_CURL_OFF_T"\r\n",
             (data->set.upload ? putsize : postsize));
@@ -552,7 +552,7 @@
 
       if(rtspreq == RTSPREQ_SET_PARAMETER ||
          rtspreq == RTSPREQ_GET_PARAMETER) {
-        if(!Curl_checkheaders(conn, "Content-Type:")) {
+        if(!Curl_checkheaders(conn, "Content-Type")) {
           result = Curl_add_bufferf(req_buffer,
               "Content-Type: text/parameters\r\n");
           if(result)
@@ -561,7 +561,7 @@
       }
 
       if(rtspreq == RTSPREQ_ANNOUNCE) {
-        if(!Curl_checkheaders(conn, "Content-Type:")) {
+        if(!Curl_checkheaders(conn, "Content-Type")) {
           result = Curl_add_bufferf(req_buffer,
               "Content-Type: application/sdp\r\n");
           if(result)
@@ -770,7 +770,9 @@
     user_ptr = data->set.out;
   }
 
+  Curl_set_in_callback(data, true);
   wrote = writeit(ptr, 1, len, user_ptr);
+  Curl_set_in_callback(data, false);
 
   if(CURL_WRITEFUNC_PAUSE == wrote) {
     failf(data, "Cannot pause RTP");
diff --git a/lib/sendf.c b/lib/sendf.c
index 027f97c..27c0ccc 100644
--- a/lib/sendf.c
+++ b/lib/sendf.c
@@ -5,7 +5,7 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
@@ -37,6 +37,7 @@
 #include "connect.h"
 #include "vtls/vtls.h"
 #include "ssh.h"
+#include "easyif.h"
 #include "multiif.h"
 #include "non-ascii.h"
 #include "strerror.h"
@@ -388,7 +389,7 @@
       (WSAEWOULDBLOCK == err)
 #else
       /* errno may be EWOULDBLOCK or on some systems EAGAIN when it returned
-         due to its inability to send off data without blocking. We therefor
+         due to its inability to send off data without blocking. We therefore
          treat both error codes the same here */
       (EWOULDBLOCK == err) || (EAGAIN == err) || (EINTR == err) ||
       (EINPROGRESS == err)
@@ -455,7 +456,7 @@
       (WSAEWOULDBLOCK == err)
 #else
       /* errno may be EWOULDBLOCK or on some systems EAGAIN when it returned
-         due to its inability to send off data without blocking. We therefor
+         due to its inability to send off data without blocking. We therefore
          treat both error codes the same here */
       (EWOULDBLOCK == err) || (EAGAIN == err) || (EINTR == err)
 #endif
@@ -540,18 +541,20 @@
 }
 
 
-/* Curl_client_chop_write() writes chunks of data not larger than
- * CURL_MAX_WRITE_SIZE via client write callback(s) and
- * takes care of pause requests from the callbacks.
+/* chop_write() writes chunks of data not larger than CURL_MAX_WRITE_SIZE via
+ * client write callback(s) and takes care of pause requests from the
+ * callbacks.
  */
-CURLcode Curl_client_chop_write(struct connectdata *conn,
-                                int type,
-                                char *ptr,
-                                size_t len)
+static CURLcode chop_write(struct connectdata *conn,
+                           int type,
+                           char *optr,
+                           size_t olen)
 {
   struct Curl_easy *data = conn->data;
   curl_write_callback writeheader = NULL;
   curl_write_callback writebody = NULL;
+  char *ptr = optr;
+  size_t len = olen;
 
   if(!len)
     return CURLE_OK;
@@ -597,25 +600,30 @@
       }
     }
 
-    if(writeheader) {
-      size_t wrote = writeheader(ptr, 1, chunklen, data->set.writeheader);
-
-      if(CURL_WRITEFUNC_PAUSE == wrote)
-        /* here we pass in the HEADER bit only since if this was body as well
-           then it was passed already and clearly that didn't trigger the
-           pause, so this is saved for later with the HEADER bit only */
-        return pausewrite(data, CLIENTWRITE_HEADER, ptr, len);
-
-      if(wrote != chunklen) {
-        failf(data, "Failed writing header");
-        return CURLE_WRITE_ERROR;
-      }
-    }
-
     ptr += chunklen;
     len -= chunklen;
   }
 
+  if(writeheader) {
+    size_t wrote;
+    ptr = optr;
+    len = olen;
+    Curl_set_in_callback(data, true);
+    wrote = writeheader(ptr, 1, len, data->set.writeheader);
+    Curl_set_in_callback(data, false);
+
+    if(CURL_WRITEFUNC_PAUSE == wrote)
+      /* here we pass in the HEADER bit only since if this was body as well
+         then it was passed already and clearly that didn't trigger the
+         pause, so this is saved for later with the HEADER bit only */
+      return pausewrite(data, CLIENTWRITE_HEADER, ptr, len);
+
+    if(wrote != len) {
+      failf(data, "Failed writing header");
+      return CURLE_WRITE_ERROR;
+    }
+  }
+
   return CURLE_OK;
 }
 
@@ -657,7 +665,7 @@
 #endif /* CURL_DO_LINEEND_CONV */
     }
 
-  return Curl_client_chop_write(conn, type, ptr, len);
+  return chop_write(conn, type, ptr, len);
 }
 
 CURLcode Curl_read_plain(curl_socket_t sockfd,
@@ -798,8 +806,11 @@
   }
 #endif /* CURL_DOES_CONVERSIONS */
 
-  if(data->set.fdebug)
+  if(data->set.fdebug) {
+    Curl_set_in_callback(data, true);
     rc = (*data->set.fdebug)(data, type, ptr, size, data->set.debugdata);
+    Curl_set_in_callback(data, false);
+  }
   else {
     switch(type) {
     case CURLINFO_TEXT:
diff --git a/lib/sendf.h b/lib/sendf.h
index fbe4f99..7c9134d 100644
--- a/lib/sendf.h
+++ b/lib/sendf.h
@@ -7,7 +7,7 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
@@ -51,8 +51,6 @@
 #define CLIENTWRITE_HEADER (1<<1)
 #define CLIENTWRITE_BOTH   (CLIENTWRITE_BODY|CLIENTWRITE_HEADER)
 
-CURLcode Curl_client_chop_write(struct connectdata *conn, int type, char *ptr,
-                                size_t len) WARN_UNUSED_RESULT;
 CURLcode Curl_client_write(struct connectdata *conn, int type, char *ptr,
                            size_t len) WARN_UNUSED_RESULT;
 
diff --git a/lib/setopt.c b/lib/setopt.c
index a5ef75c..9c96eb3 100644
--- a/lib/setopt.c
+++ b/lib/setopt.c
@@ -43,6 +43,7 @@
 #include "sendf.h"
 #include "http2.h"
 #include "setopt.h"
+#include "multiif.h"
 
 /* The last 3 #include files should be in this order */
 #include "curl_printf.h"
@@ -361,6 +362,14 @@
     data->set.timevalue = (time_t)va_arg(param, long);
     break;
 
+  case CURLOPT_TIMEVALUE_LARGE:
+    /*
+     * This is the value to compare with the remote document with the
+     * method set with CURLOPT_TIMECONDITION
+     */
+    data->set.timevalue = (time_t)va_arg(param, curl_off_t);
+    break;
+
   case CURLOPT_SSLVERSION:
   case CURLOPT_PROXY_SSLVERSION:
     /*
@@ -2101,6 +2110,21 @@
     data->set.fclosesocket = va_arg(param, curl_closesocket_callback);
     break;
 
+  case CURLOPT_RESOLVER_START_FUNCTION:
+    /*
+     * resolver start callback function: called before a new resolver request
+     * is started
+     */
+    data->set.resolver_start = va_arg(param, curl_resolver_start_callback);
+    break;
+
+  case CURLOPT_RESOLVER_START_DATA:
+    /*
+     * resolver start callback data pointer. Might be NULL.
+     */
+    data->set.resolver_start_client = va_arg(param, void *);
+    break;
+
   case CURLOPT_CLOSESOCKETDATA:
     /*
      * socket callback data pointer. Might be NULL.
@@ -2524,6 +2548,12 @@
   case CURLOPT_SSH_COMPRESSION:
     data->set.ssh_compression = (0 != va_arg(param, long))?TRUE:FALSE;
     break;
+  case CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS:
+    arg = va_arg(param, long);
+    if(arg < 0)
+      return CURLE_BAD_FUNCTION_ARGUMENT;
+    data->set.happy_eyeballs_timeout = arg;
+    break;
   default:
     /* unknown tag and its companion, just ignore: */
     result = CURLE_UNKNOWN_OPTION;
@@ -2536,6 +2566,9 @@
 /*
  * curl_easy_setopt() is the external interface for setting options on an
  * easy handle.
+ *
+ * NOTE: This is one of few API functions that are allowed to be called from
+ * within a callback.
  */
 
 #undef curl_easy_setopt
diff --git a/lib/sha256.c b/lib/sha256.c
index cd81c02..55716c6 100644
--- a/lib/sha256.c
+++ b/lib/sha256.c
@@ -29,9 +29,17 @@
 
 #if defined(USE_OPENSSL)
 
+#include <openssl/opensslv.h>
+
+#if (OPENSSL_VERSION_NUMBER >= 0x0090800fL)
+#define USE_OPENSSL_SHA256
+#endif
+
+#endif
+
+#ifdef USE_OPENSSL_SHA256
 /* When OpenSSL is available we use the SHA256-function from OpenSSL */
 #include <openssl/sha.h>
-
 #else
 
 /* When no other crypto library is available we use this code segment */
@@ -234,7 +242,7 @@
     sha256_compress(md, md->buf);
     md->curlen = 0;
   }
-  /* pad upto 56 bytes of zeroes */
+  /* pad up to 56 bytes of zeroes */
   while(md->curlen < 56) {
     md->buf[md->curlen++] = (unsigned char)0;
   }
diff --git a/lib/smb.c b/lib/smb.c
index 6cb4083..b432634 100644
--- a/lib/smb.c
+++ b/lib/smb.c
@@ -709,14 +709,21 @@
 }
 
 /*
- * Convert a timestamp from the Windows world (100 nsec units from
- * 1 Jan 1601) to Posix time.
+ * Convert a timestamp from the Windows world (100 nsec units from 1 Jan 1601)
+ * to Posix time. Cap the output to fit within a time_t.
  */
-static void get_posix_time(long *out, curl_off_t timestamp)
+static void get_posix_time(time_t *out, curl_off_t timestamp)
 {
   timestamp -= 116444736000000000;
   timestamp /= 10000000;
-  *out = (long) timestamp;
+#if SIZEOF_TIME_T < SIZEOF_CURL_OFF_T
+  if(timestamp > TIME_T_MAX)
+    *out = TIME_T_MAX;
+  else if(timestamp < TIME_T_MIN)
+    *out = TIME_T_MIN;
+  else
+#endif
+    *out = (time_t) timestamp;
 }
 
 static CURLcode smb_request_state(struct connectdata *conn, bool *done)
diff --git a/lib/smtp.c b/lib/smtp.c
index d9f1a85..3f3b45a 100644
--- a/lib/smtp.c
+++ b/lib/smtp.c
@@ -1289,6 +1289,11 @@
   /* Store the first recipient (or NULL if not specified) */
   smtp->rcpt = data->set.mail_rcpt;
 
+  /* Initial data character is the first character in line: it is implicitly
+     preceded by a virtual CRLF. */
+  smtp->trailing_crlf = TRUE;
+  smtp->eob = 2;
+
   /* Start the first command in the DO phase */
   if((data->set.upload || data->set.mimepost.kind) && data->set.mail_rcpt)
     /* MAIL transfer */
diff --git a/lib/ssh-libssh.c b/lib/ssh-libssh.c
index 56775d7..9e66672 100644
--- a/lib/ssh-libssh.c
+++ b/lib/ssh-libssh.c
@@ -5,7 +5,7 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 2017 Red Hat, Inc.
+ * Copyright (C) 2017 - 2018 Red Hat, Inc.
  *
  * Authors: Nikos Mavrogiannopoulos, Tomas Mraz, Stanislav Zidek,
  *          Robert Kolcun, Andreas Schneider
@@ -383,8 +383,10 @@
     }
 
     /* we don't have anything equivalent to knownkey. Always NULL */
+    Curl_set_in_callback(data, true);
     rc = func(data, NULL, &foundkey, /* from the remote host */
               keymatch, data->set.ssh_keyfunc_userp);
+    Curl_set_in_callback(data, false);
 
     switch(rc) {
       case CURLKHSTAT_FINE_ADD_TO_FILE:
@@ -1046,7 +1048,7 @@
 
       attrs = sftp_stat(sshc->sftp_session, protop->path);
       if(attrs != 0) {
-        data->info.filetime = (long)attrs->mtime;
+        data->info.filetime = attrs->mtime;
         sftp_attributes_free(attrs);
       }
 
@@ -1128,8 +1130,10 @@
       if(data->state.resume_from > 0) {
         /* Let's read off the proper amount of bytes from the input. */
         if(conn->seek_func) {
+          Curl_set_in_callback(data, true);
           seekerr = conn->seek_func(conn->seek_client, data->state.resume_from,
                                     SEEK_SET);
+          Curl_set_in_callback(data, false);
         }
 
         if(seekerr != CURL_SEEKFUNC_OK) {
diff --git a/lib/ssh.c b/lib/ssh.c
index a86ed70..d3b5cac 100644
--- a/lib/ssh.c
+++ b/lib/ssh.c
@@ -5,7 +5,7 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
@@ -342,6 +342,7 @@
     "SSH_AUTH_HOST",
     "SSH_AUTH_KEY_INIT",
     "SSH_AUTH_KEY",
+    "SSH_AUTH_GSSAPI",
     "SSH_AUTH_DONE",
     "SSH_SFTP_INIT",
     "SSH_SFTP_REALPATH",
@@ -376,6 +377,7 @@
     "SSH_SCP_TRANS_INIT",
     "SSH_SCP_UPLOAD_INIT",
     "SSH_SCP_DOWNLOAD_INIT",
+    "SSH_SCP_DOWNLOAD",
     "SSH_SCP_DONE",
     "SSH_SCP_SEND_EOF",
     "SSH_SCP_WAIT_EOF",
@@ -386,6 +388,9 @@
     "QUIT"
   };
 
+  /* a precaution to make sure the lists are in sync */
+  DEBUGASSERT(sizeof(names)/sizeof(names[0]) == SSH_LAST);
+
   if(sshc->state != nowstate) {
     infof(conn->data, "SFTP %p state change from %s to %s\n",
           (void *)sshc, names[sshc->state], names[nowstate]);
@@ -523,9 +528,11 @@
       keymatch = (enum curl_khmatch)keycheck;
 
       /* Ask the callback how to behave */
+      Curl_set_in_callback(data, true);
       rc = func(data, knownkeyp, /* from the knownhosts file */
                 &foundkey, /* from the remote host */
                 keymatch, data->set.ssh_keyfunc_userp);
+      Curl_set_in_callback(data, false);
     }
     else
       /* no remotekey means failure! */
@@ -1627,7 +1634,7 @@
         break;
       }
       if(rc == 0) {
-        data->info.filetime = (long)attrs.mtime;
+        data->info.filetime = attrs.mtime;
       }
 
       state(conn, SSH_SFTP_TRANS_INIT);
@@ -1747,8 +1754,10 @@
       if(data->state.resume_from > 0) {
         /* Let's read off the proper amount of bytes from the input. */
         if(conn->seek_func) {
+          Curl_set_in_callback(data, true);
           seekerr = conn->seek_func(conn->seek_client, data->state.resume_from,
                                     SEEK_SET);
+          Curl_set_in_callback(data, false);
         }
 
         if(seekerr != CURL_SEEKFUNC_OK) {
@@ -1765,9 +1774,12 @@
               (size_t)data->set.buffer_size :
               curlx_sotouz(data->state.resume_from - passed);
 
-            size_t actuallyread =
-              data->state.fread_func(data->state.buffer, 1,
-                                     readthisamountnow, data->state.in);
+            size_t actuallyread;
+            Curl_set_in_callback(data, true);
+            actuallyread = data->state.fread_func(data->state.buffer, 1,
+                                                  readthisamountnow,
+                                                  data->state.in);
+            Curl_set_in_callback(data, false);
 
             passed += actuallyread;
             if((actuallyread == 0) || (actuallyread > readthisamountnow)) {
diff --git a/lib/strerror.c b/lib/strerror.c
index 83a96dd..0295d6c 100644
--- a/lib/strerror.c
+++ b/lib/strerror.c
@@ -312,6 +312,9 @@
   case CURLE_HTTP2_STREAM:
     return "Stream error in the HTTP/2 framing layer";
 
+  case CURLE_RECURSIVE_API_CALL:
+    return "API function called from within callback";
+
     /* error codes not used by current libcurl */
   case CURLE_OBSOLETE20:
   case CURLE_OBSOLETE24:
@@ -380,6 +383,9 @@
   case CURLM_ADDED_ALREADY:
     return "The easy handle is already added to a multi handle";
 
+  case CURLM_RECURSIVE_API_CALL:
+    return "API function called from within callback";
+
   case CURLM_LAST:
     break;
   }
diff --git a/lib/telnet.c b/lib/telnet.c
index 48b134e..78d3a85 100644
--- a/lib/telnet.c
+++ b/lib/telnet.c
@@ -1460,7 +1460,8 @@
           if(n == 0)                        /* no bytes */
             break;
 
-          readfile_read = (DWORD)n; /* fall thru with number of bytes read */
+          /* fall through with number of bytes read */
+          readfile_read = (DWORD)n;
         }
         else {
           /* read from stdin */
diff --git a/lib/transfer.c b/lib/transfer.c
index 8f15b1a..fd9af31 100644
--- a/lib/transfer.c
+++ b/lib/transfer.c
@@ -5,7 +5,7 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
@@ -85,7 +85,7 @@
     !defined(CURL_DISABLE_IMAP)
 /*
  * checkheaders() checks the linked list of custom headers for a
- * particular header (prefix).
+ * particular header (prefix). Provide the prefix without colon!
  *
  * Returns a pointer to the first matching header or NULL if none matched.
  */
@@ -97,7 +97,8 @@
   struct Curl_easy *data = conn->data;
 
   for(head = data->set.headers; head; head = head->next) {
-    if(strncasecompare(head->data, thisheader, thislen))
+    if(strncasecompare(head->data, thisheader, thislen) &&
+       Curl_headersep(head->data[thislen]) )
       return head->data;
   }
 
@@ -135,8 +136,10 @@
 
   /* this function returns a size_t, so we typecast to int to prevent warnings
      with picky compilers */
+  Curl_set_in_callback(data, true);
   nread = (int)data->state.fread_func(data->req.upload_fromhere, 1,
                                       buffersize, data->state.in);
+  Curl_set_in_callback(data, false);
 
   if(nread == CURL_READFUNC_ABORT) {
     failf(data, "operation aborted by callback");
@@ -302,7 +305,9 @@
     if(data->set.seek_func) {
       int err;
 
+      Curl_set_in_callback(data, true);
       err = (data->set.seek_func)(data->set.seek_client, 0, SEEK_SET);
+      Curl_set_in_callback(data, false);
       if(err) {
         failf(data, "seek callback returned error %d", (int)err);
         return CURLE_SEND_FAIL_REWIND;
@@ -311,8 +316,10 @@
     else if(data->set.ioctl_func) {
       curlioerr err;
 
+      Curl_set_in_callback(data, true);
       err = (data->set.ioctl_func)(data, CURLIOCMD_RESTARTREAD,
                                    data->set.ioctl_client);
+      Curl_set_in_callback(data, false);
       infof(data, "the ioctl callback returned %d\n", (int)err);
 
       if(err) {
@@ -801,10 +808,15 @@
 
     } /* if(!header and data to read) */
 
-    if(conn->handler->readwrite &&
-       (excess > 0 && !conn->bits.stream_was_rewound)) {
+    if(conn->handler->readwrite && excess && !conn->bits.stream_was_rewound) {
       /* Parse the excess data */
       k->str += nread;
+
+      if(&k->str[excess] > &k->buf[data->set.buffer_size]) {
+        /* the excess amount was too excessive(!), make sure
+           it doesn't read out of buffer */
+        excess = &k->buf[data->set.buffer_size] - k->str;
+      }
       nread = (ssize_t)excess;
 
       result = conn->handler->readwrite(data, conn, &nread, &readmore);
diff --git a/lib/transfer.h b/lib/transfer.h
index 72526a8..9ba398d 100644
--- a/lib/transfer.h
+++ b/lib/transfer.h
@@ -7,7 +7,7 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
@@ -22,6 +22,7 @@
  *
  ***************************************************************************/
 
+#define Curl_headersep(x) ((((x)==':') || ((x)==';')))
 char *Curl_checkheaders(const struct connectdata *conn,
                         const char *thisheader);
 
diff --git a/lib/url.c b/lib/url.c
index 74813e8..945d4e3 100644
--- a/lib/url.c
+++ b/lib/url.c
@@ -527,6 +527,7 @@
   set->expect_100_timeout = 1000L; /* Wait for a second by default. */
   set->sep_headers = TRUE; /* separated header lists by default */
   set->buffer_size = READBUFFER_SIZE;
+  set->happy_eyeballs_timeout = CURL_HET_DEFAULT;
 
   Curl_http2_init_userset(set);
   return result;
@@ -2573,7 +2574,15 @@
     /* NO_PROXY was specified and it wasn't just an asterisk */
 
     no_proxy_len = strlen(no_proxy);
-    endptr = strchr(name, ':');
+    if(name[0] == '[') {
+      /* IPv6 numerical address */
+      endptr = strchr(name, ']');
+      if(!endptr)
+        return FALSE;
+      name++;
+    }
+    else
+      endptr = strchr(name, ':');
     if(endptr)
       namelen = endptr - name;
     else
@@ -4116,7 +4125,7 @@
    *************************************************************/
   if(prot_missing) {
     /* We're guessing prefixes here and if we're told to use a proxy or if
-       we're gonna follow a Location: later or... then we need the protocol
+       we're going to follow a Location: later or... then we need the protocol
        part added so that we have a valid URL. */
     char *reurl;
     char *ch_lower;
diff --git a/lib/urldata.h b/lib/urldata.h
index 5c04ad1..3d7b9e5 100644
--- a/lib/urldata.h
+++ b/lib/urldata.h
@@ -1024,10 +1024,8 @@
   int httpcode;  /* Recent HTTP, FTP, RTSP or SMTP response code */
   int httpproxycode; /* response code from proxy when received separate */
   int httpversion; /* the http version number X.Y = X*10+Y */
-  long filetime; /* If requested, this is might get set. Set to -1 if the time
-                    was unretrievable. We cannot have this of type time_t,
-                    since time_t is unsigned on several platforms such as
-                    OpenVMS. */
+  time_t filetime; /* If requested, this is might get set. Set to -1 if the
+                      time was unretrievable. */
   bool timecond;  /* set to TRUE if the time condition didn't match, which
                      thus made the document NOT get fetched */
   long header_size;  /* size of read header(s) in bytes */
@@ -1168,7 +1166,7 @@
 };
 
 /*
- * This struct is for holding data that was attemped to get sent to the user's
+ * This struct is for holding data that was attempted to get sent to the user's
  * callback but is held due to pausing. One instance per type (BOTH, HEADER,
  * BODY).
  */
@@ -1522,6 +1520,7 @@
   long timeout;         /* in milliseconds, 0 means no timeout */
   long connecttimeout;  /* in milliseconds, 0 means no timeout */
   long accepttimeout;   /* in milliseconds, 0 means no timeout */
+  long happy_eyeballs_timeout; /* in milliseconds, 0 is a valid value */
   long server_response_timeout; /* in milliseconds, 0 means no timeout */
   long tftp_blksize;    /* in bytes, 0 means use default */
   bool tftp_no_options; /* do not send TFTP options requests */
@@ -1682,6 +1681,10 @@
   struct Curl_http2_dep *stream_dependents;
 
   bool abstract_unix_socket;
+
+  curl_resolver_start_callback resolver_start; /* optional callback called
+                                                  before resolver start */
+  void *resolver_start_client; /* pointer to pass to resolver start callback */
 };
 
 struct Names {
diff --git a/lib/vtls/cyassl.c b/lib/vtls/cyassl.c
index 46b71bf..1bd42d2 100644
--- a/lib/vtls/cyassl.c
+++ b/lib/vtls/cyassl.c
@@ -199,8 +199,14 @@
     use_sni(TRUE);
     break;
   case CURL_SSLVERSION_TLSv1_3:
+#ifdef WOLFSSL_TLS13
+    req_method = wolfTLSv1_3_client_method();
+    use_sni(TRUE);
+    break;
+#else
     failf(data, "CyaSSL: TLS 1.3 is not yet supported");
     return CURLE_SSL_CONNECT_ERROR;
+#endif
   case CURL_SSLVERSION_SSLv3:
 #ifdef WOLFSSL_ALLOW_SSLV3
     req_method = SSLv3_client_method();
@@ -245,7 +251,11 @@
     */
     if((wolfSSL_CTX_SetMinVersion(BACKEND->ctx, WOLFSSL_TLSV1) != 1) &&
        (wolfSSL_CTX_SetMinVersion(BACKEND->ctx, WOLFSSL_TLSV1_1) != 1) &&
-       (wolfSSL_CTX_SetMinVersion(BACKEND->ctx, WOLFSSL_TLSV1_2) != 1)) {
+       (wolfSSL_CTX_SetMinVersion(BACKEND->ctx, WOLFSSL_TLSV1_2) != 1)
+#ifdef WOLFSSL_TLS13
+       && (wolfSSL_CTX_SetMinVersion(BACKEND->ctx, WOLFSSL_TLSV1_3) != 1)
+#endif
+      ) {
       failf(data, "SSL: couldn't set the minimum protocol version");
       return CURLE_SSL_CONNECT_ERROR;
     }
diff --git a/lib/vtls/darwinssl.c b/lib/vtls/darwinssl.c
index 53a7ec3..694ac57 100644
--- a/lib/vtls/darwinssl.c
+++ b/lib/vtls/darwinssl.c
@@ -1135,28 +1135,77 @@
      raise linker errors when used on that cat for some reason. */
 #if CURL_BUILD_MAC_10_7 || CURL_BUILD_IOS
   if(CFURLCreateDataAndPropertiesFromResource(NULL, pkcs_url, &pkcs_data,
-    NULL, NULL, &status)) {
+   NULL, NULL, &status)) {
+    CFArrayRef items = NULL;
+
+  /* On iOS SecPKCS12Import will never add the client certificate to the
+   * Keychain.
+   *
+   * It gives us back a SecIdentityRef that we can use directly. */
+#if CURL_BUILD_IOS
     const void *cKeys[] = {kSecImportExportPassphrase};
     const void *cValues[] = {password};
     CFDictionaryRef options = CFDictionaryCreate(NULL, cKeys, cValues,
       password ? 1L : 0L, NULL, NULL);
-    CFArrayRef items = NULL;
 
-    /* Here we go: */
-    status = SecPKCS12Import(pkcs_data, options, &items);
+    if(options != NULL) {
+      status = SecPKCS12Import(pkcs_data, options, &items);
+      CFRelease(options);
+    }
+
+
+  /* On macOS SecPKCS12Import will always add the client certificate to
+   * the Keychain.
+   *
+   * As this doesn't match iOS, and apps may not want to see their client
+   * certificate saved in the the user's keychain, we use SecItemImport
+   * with a NULL keychain to avoid importing it.
+   *
+   * This returns a SecCertificateRef from which we can construct a
+   * SecIdentityRef.
+   */
+#elif CURL_BUILD_MAC_10_7
+    SecItemImportExportKeyParameters keyParams;
+    SecExternalFormat inputFormat = kSecFormatPKCS12;
+    SecExternalItemType inputType = kSecItemTypeCertificate;
+
+    memset(&keyParams, 0x00, sizeof(keyParams));
+    keyParams.version    = SEC_KEY_IMPORT_EXPORT_PARAMS_VERSION;
+    keyParams.passphrase = password;
+
+    status = SecItemImport(pkcs_data, NULL, &inputFormat, &inputType,
+                           0, &keyParams, NULL, &items);
+#endif
+
+
+    /* Extract the SecIdentityRef */
     if(status == errSecSuccess && items && CFArrayGetCount(items)) {
-      CFDictionaryRef identity_and_trust = CFArrayGetValueAtIndex(items, 0L);
-      const void *temp_identity = CFDictionaryGetValue(identity_and_trust,
-        kSecImportItemIdentity);
+      CFIndex i, count;
+      count = CFArrayGetCount(items);
 
-      /* Retain the identity; we don't care about any other data... */
-      CFRetain(temp_identity);
-      *out_cert_and_key = (SecIdentityRef)temp_identity;
+      for(i = 0; i < count; i++) {
+        CFTypeRef item = (CFTypeRef) CFArrayGetValueAtIndex(items, i);
+        CFTypeID  itemID = CFGetTypeID(item);
+
+        if(itemID == CFDictionaryGetTypeID()) {
+          CFTypeRef identity = (CFTypeRef) CFDictionaryGetValue(
+                                                 (CFDictionaryRef) item,
+                                                 kSecImportItemIdentity);
+          CFRetain(identity);
+          *out_cert_and_key = (SecIdentityRef) identity;
+          break;
+        }
+        else if(itemID == SecCertificateGetTypeID()) {
+          status = SecIdentityCreateWithCertificate(NULL,
+                                                 (SecCertificateRef) item,
+                                                 out_cert_and_key);
+          break;
+        }
+      }
     }
 
     if(items)
       CFRelease(items);
-    CFRelease(options);
     CFRelease(pkcs_data);
   }
 #endif /* CURL_BUILD_MAC_10_7 || CURL_BUILD_IOS */
diff --git a/lib/vtls/gskit.c b/lib/vtls/gskit.c
index 8f0cc0b..afc90a8 100644
--- a/lib/vtls/gskit.c
+++ b/lib/vtls/gskit.c
@@ -1355,7 +1355,7 @@
 
   0, /* have_ca_path */
   1, /* have_certinfo */
-  0, /* have_pinnedpubkey */
+  1, /* have_pinnedpubkey */
   0, /* have_ssl_ctx */
   /* TODO: convert to 1 and fix test #1014 (if need) */
   0, /* support_https_proxy */
diff --git a/lib/vtls/gtls.c b/lib/vtls/gtls.c
index 30b255b..0788741 100644
--- a/lib/vtls/gtls.c
+++ b/lib/vtls/gtls.c
@@ -60,15 +60,6 @@
 /* The last #include file should be: */
 #include "memdebug.h"
 
-#ifndef GNUTLS_POINTER_TO_SOCKET_CAST
-#define GNUTLS_POINTER_TO_SOCKET_CAST(p) \
-  ((curl_socket_t) ((char *)(p) - (char *)NULL))
-#endif
-#ifndef GNUTLS_SOCKET_TO_POINTER_CAST
-#define GNUTLS_SOCKET_TO_POINTER_CAST(s) \
-  ((void *) ((char *)NULL + (s)))
-#endif
-
 /* Enable GnuTLS debugging by defining GTLSDEBUG */
 /*#define GTLSDEBUG */
 
@@ -161,7 +152,7 @@
 
 static ssize_t Curl_gtls_push(void *s, const void *buf, size_t len)
 {
-  ssize_t ret = swrite(GNUTLS_POINTER_TO_SOCKET_CAST(s), buf, len);
+  ssize_t ret = swrite(CURLX_POINTER_TO_INTEGER_CAST(s), buf, len);
 #if defined(USE_WINSOCK) && !defined(GNUTLS_MAPS_WINSOCK_ERRORS)
   if(ret < 0)
     gnutls_transport_set_global_errno(gtls_mapped_sockerrno());
@@ -171,7 +162,7 @@
 
 static ssize_t Curl_gtls_pull(void *s, void *buf, size_t len)
 {
-  ssize_t ret = sread(GNUTLS_POINTER_TO_SOCKET_CAST(s), buf, len);
+  ssize_t ret = sread(CURLX_POINTER_TO_INTEGER_CAST(s), buf, len);
 #if defined(USE_WINSOCK) && !defined(GNUTLS_MAPS_WINSOCK_ERRORS)
   if(ret < 0)
     gnutls_transport_set_global_errno(gtls_mapped_sockerrno());
@@ -857,7 +848,7 @@
   }
   else {
     /* file descriptor for the socket */
-    transport_ptr = GNUTLS_SOCKET_TO_POINTER_CAST(conn->sock[sockindex]);
+    transport_ptr = CURLX_INTEGER_TO_POINTER_CAST(conn->sock[sockindex]);
     gnutls_transport_push = Curl_gtls_push;
     gnutls_transport_pull = Curl_gtls_pull;
   }
diff --git a/lib/vtls/nss.c b/lib/vtls/nss.c
index a3ef37a..458f9d8 100644
--- a/lib/vtls/nss.c
+++ b/lib/vtls/nss.c
@@ -440,7 +440,17 @@
     PK11_SETATTRS(attrs, attr_cnt, CKA_TRUST, pval, sizeof(*pval));
   }
 
-  obj = PK11_CreateGenericObject(slot, attrs, attr_cnt, PR_FALSE);
+  /* PK11_CreateManagedGenericObject() was introduced in NSS 3.34 because
+   * PK11_DestroyGenericObject() does not release resources allocated by
+   * PK11_CreateGenericObject() early enough.  */
+  obj =
+#ifdef HAVE_PK11_CREATEMANAGEDGENERICOBJECT
+    PK11_CreateManagedGenericObject
+#else
+    PK11_CreateGenericObject
+#endif
+    (slot, attrs, attr_cnt, PR_FALSE);
+
   PK11_FreeSlot(slot);
   if(!obj)
     return result;
diff --git a/lib/vtls/openssl.c b/lib/vtls/openssl.c
index 93faa6f..2a6b3cf 100644
--- a/lib/vtls/openssl.c
+++ b/lib/vtls/openssl.c
@@ -2338,10 +2338,11 @@
 #endif
 
   if(ssl_cafile || ssl_capath) {
-    /* tell SSL where to find CA certificates that are used to verify
-       the servers certificate. */
-    if(!SSL_CTX_load_verify_locations(BACKEND->ctx, ssl_cafile, ssl_capath)) {
-      if(verifypeer) {
+    if(verifypeer) {
+      /* tell SSL where to find CA certificates that are used to verify
+         the servers certificate. */
+      if(!SSL_CTX_load_verify_locations(BACKEND->ctx,
+                                        ssl_cafile, ssl_capath)) {
         /* Fail if we insist on successfully verifying the server. */
         failf(data, "error setting certificate verify locations:\n"
               "  CAfile: %s\n  CApath: %s",
@@ -2349,20 +2350,18 @@
               ssl_capath ? ssl_capath : "none");
         return CURLE_SSL_CACERT_BADFILE;
       }
-      /* Just continue with a warning if no strict  certificate verification
-         is required. */
-      infof(data, "error setting certificate verify locations,"
-            " continuing anyway:\n");
+      else {
+        /* Everything is fine. */
+        infof(data, "successfully set certificate verify locations:\n"
+              "  CAfile: %s\n  CApath: %s\n",
+              ssl_cafile ? ssl_cafile : "none",
+              ssl_capath ? ssl_capath : "none");
+      }
     }
     else {
-      /* Everything is fine. */
-      infof(data, "successfully set certificate verify locations:\n");
+      infof(data, "ignoring certificate verify locations due to "
+            "disabled peer verification\n");
     }
-    infof(data,
-          "  CAfile: %s\n"
-          "  CApath: %s\n",
-          ssl_cafile ? ssl_cafile : "none",
-          ssl_capath ? ssl_capath : "none");
   }
 #ifdef CURL_CA_FALLBACK
   else if(verifypeer) {
@@ -3580,11 +3579,15 @@
                                  unsigned char *md5sum /* output */,
                                  size_t unused)
 {
-  MD5_CTX MD5pw;
-  (void)unused;
-  MD5_Init(&MD5pw);
-  MD5_Update(&MD5pw, tmp, tmplen);
-  MD5_Final(md5sum, &MD5pw);
+  EVP_MD_CTX *mdctx;
+  unsigned int len = 0;
+  (void) unused;
+
+  mdctx = EVP_MD_CTX_create();
+  EVP_DigestInit_ex(mdctx, EVP_md5(), NULL);
+  EVP_DigestUpdate(mdctx, tmp, tmplen);
+  EVP_DigestFinal_ex(mdctx, md5sum, &len);
+  EVP_MD_CTX_destroy(mdctx);
   return CURLE_OK;
 }
 
@@ -3594,11 +3597,15 @@
                                 unsigned char *sha256sum /* output */,
                                 size_t unused)
 {
-  SHA256_CTX SHA256pw;
-  (void)unused;
-  SHA256_Init(&SHA256pw);
-  SHA256_Update(&SHA256pw, tmp, tmplen);
-  SHA256_Final(sha256sum, &SHA256pw);
+  EVP_MD_CTX *mdctx;
+  unsigned int len = 0;
+  (void) unused;
+
+  mdctx =  EVP_MD_CTX_create();
+  EVP_DigestInit_ex(mdctx, EVP_sha256(), NULL);
+  EVP_DigestUpdate(mdctx, tmp, tmplen);
+  EVP_DigestFinal_ex(mdctx, sha256sum, &len);
+  EVP_MD_CTX_destroy(mdctx);
 }
 #endif
 
diff --git a/lib/vtls/schannel.c b/lib/vtls/schannel.c
index 85c64cf..b8afe46 100644
--- a/lib/vtls/schannel.c
+++ b/lib/vtls/schannel.c
@@ -7,7 +7,7 @@
  *
  * Copyright (C) 2012 - 2016, Marc Hoersken, <info@marc-hoersken.de>
  * Copyright (C) 2012, Mark Salisbury, <mark.salisbury@hp.com>
- * Copyright (C) 2012 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 2012 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
@@ -129,6 +129,10 @@
  * #define failf(x, y, ...) printf(y, __VA_ARGS__)
  */
 
+#ifndef CALG_SHA_256
+#  define CALG_SHA_256 0x0000800c
+#endif
+
 /* Structs to store Schannel handles */
 struct curl_schannel_cred {
   CredHandle cred_handle;
@@ -165,6 +169,9 @@
 static Curl_recv schannel_recv;
 static Curl_send schannel_send;
 
+static CURLcode pkp_pin_peer_pubkey(struct connectdata *conn, int sockindex,
+                                    const char *pinnedpubkey);
+
 #ifdef _WIN32_WCE
 static CURLcode verify_certificate(struct connectdata *conn, int sockindex);
 #endif
@@ -542,6 +549,7 @@
   bool doread;
   char * const hostname = SSL_IS_PROXY() ? conn->http_proxy.host.name :
     conn->host.name;
+  const char *pubkey_ptr;
 
   doread = (connssl->connecting_state != ssl_connect_2_writing) ? TRUE : FALSE;
 
@@ -761,6 +769,17 @@
     infof(data, "schannel: SSL/TLS handshake complete\n");
   }
 
+  pubkey_ptr = SSL_IS_PROXY() ?
+    data->set.str[STRING_SSL_PINNEDPUBLICKEY_PROXY] :
+    data->set.str[STRING_SSL_PINNEDPUBLICKEY_ORIG];
+  if(pubkey_ptr) {
+    result = pkp_pin_peer_pubkey(conn, sockindex, pubkey_ptr);
+    if(result) {
+      failf(data, "SSL: public key does not match pinned public key!");
+      return result;
+    }
+  }
+
 #ifdef _WIN32_WCE
   /* Windows CE doesn't do any server certificate validation.
      We have to do it manually. */
@@ -1669,6 +1688,68 @@
   return CURLE_OK;
 }
 
+static CURLcode pkp_pin_peer_pubkey(struct connectdata *conn, int sockindex,
+                                    const char *pinnedpubkey)
+{
+  SECURITY_STATUS status;
+  struct Curl_easy *data = conn->data;
+  struct ssl_connect_data *connssl = &conn->ssl[sockindex];
+  CERT_CONTEXT *pCertContextServer = NULL;
+  const char *x509_der;
+  DWORD x509_der_len;
+  curl_X509certificate x509_parsed;
+  curl_asn1Element *pubkey;
+
+  /* Result is returned to caller */
+  CURLcode result = CURLE_SSL_PINNEDPUBKEYNOTMATCH;
+
+  /* if a path wasn't specified, don't pin */
+  if(!pinnedpubkey)
+    return CURLE_OK;
+
+  do {
+    status = s_pSecFn->QueryContextAttributes(&BACKEND->ctxt->ctxt_handle,
+                                              SECPKG_ATTR_REMOTE_CERT_CONTEXT,
+                                              &pCertContextServer);
+
+    if((status != SEC_E_OK) || (pCertContextServer == NULL)) {
+      failf(data, "schannel: Failed to read remote certificate context: %s",
+            Curl_sspi_strerror(conn, status));
+      break; /* failed */
+    }
+
+
+    if(!(((pCertContextServer->dwCertEncodingType & X509_ASN_ENCODING) != 0) &&
+       (pCertContextServer->cbCertEncoded > 0)))
+      break;
+
+    x509_der = (const char *)pCertContextServer->pbCertEncoded;
+    x509_der_len = pCertContextServer->cbCertEncoded;
+    memset(&x509_parsed, 0, sizeof x509_parsed);
+    if(Curl_parseX509(&x509_parsed, x509_der, x509_der + x509_der_len))
+      break;
+
+    pubkey = &x509_parsed.subjectPublicKeyInfo;
+    if(!pubkey->header || pubkey->end <= pubkey->header) {
+      failf(data, "SSL: failed retrieving public key from server certificate");
+      break;
+    }
+
+    result = Curl_pin_peer_pubkey(data,
+                                  pinnedpubkey,
+                                  (const unsigned char *)pubkey->header,
+                                  (size_t)(pubkey->end - pubkey->header));
+    if(result) {
+      failf(data, "SSL: public key does not match pinned public key!");
+    }
+  } while(0);
+
+  if(pCertContextServer)
+    CertFreeCertificateContext(pCertContextServer);
+
+  return result;
+}
+
 #ifdef _WIN32_WCE
 static CURLcode verify_certificate(struct connectdata *conn, int sockindex)
 {
@@ -1809,6 +1890,74 @@
 }
 #endif /* _WIN32_WCE */
 
+static void Curl_schannel_checksum(const unsigned char *input,
+                      size_t inputlen,
+                      unsigned char *checksum,
+                      size_t checksumlen,
+                      DWORD provType,
+                      const unsigned int algId)
+{
+  HCRYPTPROV hProv = 0;
+  HCRYPTHASH hHash = 0;
+  DWORD cbHashSize = 0;
+  DWORD dwHashSizeLen = (DWORD)sizeof(cbHashSize);
+  DWORD dwChecksumLen = (DWORD)checksumlen;
+
+  /* since this can fail in multiple ways, zero memory first so we never
+   * return old data
+   */
+  memset(checksum, 0, checksumlen);
+
+  if(!CryptAcquireContext(&hProv, NULL, NULL, provType,
+                          CRYPT_VERIFYCONTEXT))
+    return; /* failed */
+
+  do {
+    if(!CryptCreateHash(hProv, algId, 0, 0, &hHash))
+      break; /* failed */
+
+    if(!CryptHashData(hHash, (const BYTE*)input, (DWORD)inputlen, 0))
+      break; /* failed */
+
+    /* get hash size */
+    if(!CryptGetHashParam(hHash, HP_HASHSIZE, (BYTE *)&cbHashSize,
+                          &dwHashSizeLen, 0))
+      break; /* failed */
+
+    /* check hash size */
+    if(checksumlen < cbHashSize)
+      break; /* failed */
+
+    if(CryptGetHashParam(hHash, HP_HASHVAL, checksum, &dwChecksumLen, 0))
+      break; /* failed */
+  } while(0);
+
+  if(hHash)
+    CryptDestroyHash(hHash);
+
+  if(hProv)
+    CryptReleaseContext(hProv, 0);
+}
+
+static CURLcode Curl_schannel_md5sum(unsigned char *input,
+                                     size_t inputlen,
+                                     unsigned char *md5sum,
+                                     size_t md5len)
+{
+    Curl_schannel_checksum(input, inputlen, md5sum, md5len,
+                           PROV_RSA_FULL, CALG_MD5);
+    return CURLE_OK;
+}
+
+static void Curl_schannel_sha256sum(const unsigned char *input,
+                                    size_t inputlen,
+                                    unsigned char *sha256sum,
+                                    size_t sha256len)
+{
+    Curl_schannel_checksum(input, inputlen, sha256sum, sha256len,
+                           PROV_RSA_AES, CALG_SHA_256);
+}
+
 static void *Curl_schannel_get_internals(struct ssl_connect_data *connssl,
                                          CURLINFO info UNUSED_PARAM)
 {
@@ -1821,7 +1970,7 @@
 
   0, /* have_ca_path */
   1, /* have_certinfo */
-  0, /* have_pinnedpubkey */
+  1, /* have_pinnedpubkey */
   0, /* have_ssl_ctx */
   0, /* support_https_proxy */
 
@@ -1845,8 +1994,8 @@
   Curl_none_set_engine_default,      /* set_engine_default */
   Curl_none_engines_list,            /* engines_list */
   Curl_none_false_start,             /* false_start */
-  Curl_none_md5sum,                  /* md5sum */
-  NULL                               /* sha256sum */
+  Curl_schannel_md5sum,              /* md5sum */
+  Curl_schannel_sha256sum            /* sha256sum */
 };
 
 #endif /* USE_SCHANNEL */
diff --git a/lib/warnless.h b/lib/warnless.h
index ab6d299..efd552a 100644
--- a/lib/warnless.h
+++ b/lib/warnless.h
@@ -26,6 +26,11 @@
 #include <curl/curl.h> /* for curl_socket_t */
 #endif
 
+#define CURLX_POINTER_TO_INTEGER_CAST(p) \
+  ((char *)(p) - (char *)NULL)
+#define CURLX_INTEGER_TO_POINTER_CAST(i) \
+  ((void *)((char *)NULL + (i)))
+
 unsigned short curlx_ultous(unsigned long ulnum);
 
 unsigned char curlx_ultouc(unsigned long ulnum);
diff --git a/local-configure.patch b/local-configure.patch
index ddeab80..68ad1c6 100644
--- a/local-configure.patch
+++ b/local-configure.patch
@@ -2,32 +2,15 @@
 index f9aef69e2..f5ba92735 100644
 --- a/lib/curl_config.h
 +++ b/lib/curl_config.h
-@@ -143,7 +143,10 @@
- /* #undef HAVE_BUILTIN_AVAILABLE */
- 
- /* Define to 1 if you have the clock_gettime function and monotonic timer. */
-+#if !defined(__APPLE__)
-+/* CLOCK_MONOTONIC is not defined in mac when building for the host. */
- #define HAVE_CLOCK_GETTIME_MONOTONIC 1
-+#endif
- 
- /* Define to 1 if you have the closesocket function. */
- /* #undef HAVE_CLOSESOCKET */
-@@ -454,10 +457,14 @@
- #define HAVE_MEMORY_H 1
- 
- /* Define to 1 if you have the memrchr function or macro. */
-+#if !defined(__APPLE__)
- #define HAVE_MEMRCHR 1
-+#endif
- 
- /* Define to 1 if you have the MSG_NOSIGNAL flag. */
-+#if !defined(__APPLE__)
- #define HAVE_MSG_NOSIGNAL 1
-+#endif
- 
- /* Define to 1 if you have the <netdb.h> header file. */
+@@ -473,7 +473,7 @@
  #define HAVE_NETDB_H 1
+ 
+ /* Define to 1 if you have the <netinet/in6.h> header file. */
+-#define HAVE_NETINET_IN6_H 1
++/* #undef HAVE_NETINET_IN6_H */
+ 
+ /* Define to 1 if you have the <netinet/in.h> header file. */
+ #define HAVE_NETINET_IN_H 1
 @@ -808,9 +815,6 @@
  /* Define absolute filename for winbind's ntlm_auth helper. */
  /* #undef NTLM_WB_FILE */
diff --git a/m4/curl-openssl.m4 b/m4/curl-openssl.m4
index 20c3126..d558278 100644
--- a/m4/curl-openssl.m4
+++ b/m4/curl-openssl.m4
@@ -29,7 +29,7 @@
 dnl Find out OpenSSL headers API version, as reported
 dnl by OPENSSL_VERSION_NUMBER. No runtime checks
 dnl allowed here for cross-compilation support.
-dnl HAVE_OPENSSL_API_HEADERS is defined as apprpriate
+dnl HAVE_OPENSSL_API_HEADERS is defined as appropriate
 dnl only for systems which actually run the configure
 dnl script. Config files generated manually or in any
 dnl other way shall not define this.
@@ -66,6 +66,7 @@
         ;;
     esac
     case $tst_api in
+      0x111) tst_show="1.1.1" ;;
       0x110) tst_show="1.1.0" ;;
       0x102) tst_show="1.0.2" ;;
       0x101) tst_show="1.0.1" ;;
@@ -102,7 +103,7 @@
 dnl only link tests in order to avoid getting fooled
 dnl by mismatched OpenSSL headers. No runtime checks
 dnl allowed here for cross-compilation support.
-dnl HAVE_OPENSSL_API_LIBRARY is defined as apprpriate
+dnl HAVE_OPENSSL_API_LIBRARY is defined as appropriate
 dnl only for systems which actually run the configure
 dnl script. Config files generated manually or in any
 dnl other way shall not define this.
@@ -122,6 +123,13 @@
   #
   AC_MSG_CHECKING([for OpenSSL library version])
   if test "$tst_api" = "unknown"; then
+    AC_LINK_IFELSE([
+      AC_LANG_FUNC_LINK_TRY([ERR_clear_last_mark])
+    ],[
+      tst_api="0x111"
+    ])
+  fi
+  if test "$tst_api" = "unknown"; then
     case $host in
       *-*-vms*)
         AC_LINK_IFELSE([
@@ -217,6 +225,7 @@
     ])
   fi
   case $tst_api in
+    0x111) tst_show="1.1.1" ;;
     0x110) tst_show="1.1.0" ;;
     0x102) tst_show="1.0.2" ;;
     0x101) tst_show="1.0.1" ;;
diff --git a/m4/zz40-xc-ovr.m4 b/m4/zz40-xc-ovr.m4
index 0e3b1cb..3d6e695 100644
--- a/m4/zz40-xc-ovr.m4
+++ b/m4/zz40-xc-ovr.m4
@@ -2,7 +2,7 @@
 #
 # zz40-xc-ovr.m4
 #
-# Copyright (c) 2013 Daniel Stenberg <daniel@haxx.se>
+# Copyright (c) 2013 - 2018 Daniel Stenberg <daniel@haxx.se>
 #
 # Permission to use, copy, modify, and distribute this software for any
 # purpose with or without fee is hereby granted, provided that the above
@@ -18,9 +18,6 @@
 #
 #---------------------------------------------------------------------------
 
-# serial 1
-
-
 dnl The funny name of this file is intentional in order to make it
 dnl sort alphabetically after any libtool, autoconf or automake
 dnl provided .m4 macro file that might get copied into this same
@@ -398,9 +395,10 @@
   # When both counting methods give the same result we do not want to
   # chose one over the other, and consider auto-detection not possible.
   if test -z "$PATH_SEPARATOR"; then
-    # Stop dead until user provides 'PATH_SEPARATOR' definition.
-    echo "$xc_msg_err 'PATH_SEPARATOR' variable not set. $xc_msg_abrt" >&2
-    exit 1
+    # User should provide the correct 'PATH_SEPARATOR' definition.
+    # Until then, guess that it is colon!
+    echo "$xc_msg_warn path separator not determined, guessing colon" >&2
+    PATH_SEPARATOR=':'
   fi
 else
   # Separator with the greater directory count is the auto-detected one.
diff --git a/packages/OS400/README.OS400 b/packages/OS400/README.OS400
index f9817b4..c766a1f 100644
--- a/packages/OS400/README.OS400
+++ b/packages/OS400/README.OS400
@@ -183,8 +183,8 @@
         CURLINFO_COOKIELIST
 Lists returned should be released with curl_slist_free_all() after use.
   Option CURLINFO_CERTINFO is followed by a struct curl_certinfo * * and a
-CCSID. Returned structures sould be free'ed using curl_certinfo_free_all() after
-use.
+CCSID. Returned structures should be free'ed using curl_certinfo_free_all()
+after use.
   Other options are processed like in curl_easy_getinfo().
 
 _ curl_pushheader_bynum_cssid() and curl_pushheader_byname_ccsid()
@@ -243,7 +243,7 @@
 _ Likewise, if SCP and SFTP protocols have to be compiled in, LIBSSH2
   developent environment must be installed.
 _ Install the curl source directory in IFS. Do NOT install it in the
-  installation target directory (wich defaults to /curl).
+  installation target directory (which defaults to /curl).
 _ Enter shell (QSH)
 _ Change current directory to the curl installation directory
 _ Change current directory to ./packages/OS400
diff --git a/packages/OS400/curl.inc.in b/packages/OS400/curl.inc.in
index 03603e2..a21ee9b 100644
--- a/packages/OS400/curl.inc.in
+++ b/packages/OS400/curl.inc.in
@@ -1322,6 +1322,14 @@
      d                 c                   00268
      d  CURLOPT_MIMEPOST...
      d                 c                   10269
+     d  CURLOPT_TIMEVALUE_LARGE...
+     d                 c                   30270
+     d  CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS...
+     d                 c                   00271
+     d  CURLOPT_RESOLVER_START_FUNCTION...
+     d                 c                   20272
+     d  CURLOPT_RESOLVER_START_DATA...
+     d                 c                   10273
       *
       /if not defined(CURL_NO_OLDIES)
      d  CURLOPT_FILE   c                   10001
@@ -1960,6 +1968,9 @@
      d curl_closesocket_callback...
      d                 s               *   based(######ptr######) procptr
       *
+     d curl_resolver_start_callback...
+     d                 s               *   based(######ptr######) procptr
+      *
       **************************************************************************
       *                              Prototypes
       **************************************************************************
diff --git a/packages/Symbian/group/libcurl.mmp b/packages/Symbian/group/libcurl.mmp
index 942e23f..ba70de3 100644
--- a/packages/Symbian/group/libcurl.mmp
+++ b/packages/Symbian/group/libcurl.mmp
@@ -31,7 +31,7 @@
   http_negotiate.c inet_pton.c strtoofft.c strerror.c amigaos.c        \
   hostasyn.c hostip4.c hostip6.c hostsyn.c inet_ntop.c parsedate.c     \
   select.c vtls/gtls.c vtls/vtls.c tftp.c splay.c strdup.c socks.c     \
-  ssh.c vtls/nss.c strcase.c curl_addrinfo.c socks_gssapi.c             \
+  ssh.c vtls/nss.c strcase.c curl_addrinfo.c socks_gssapi.c            \
   socks_sspi.c curl_sspi.c slist.c nonblock.c curl_memrchr.c imap.c    \
   pop3.c smtp.c pingpong.c rtsp.c curl_threads.c warnless.c hmac.c     \
   vtls/polarssl.c curl_rtmp.c openldap.c curl_gethostname.c gopher.c   \
@@ -39,7 +39,7 @@
   asyn-ares.c asyn-thread.c curl_gssapi.c http_ntlm.c curl_ntlm_wb.c   \
   curl_ntlm_core.c curl_sasl.c vtls/schannel.c curl_multibyte.c        \
   vtls/darwinssl.c conncache.c curl_sasl_sspi.c smb.c curl_endian.c    \
-  curl_des.c system_win32.c sha256.c                                   \
+  curl_des.c curl_range.c system_win32.c sha256.c                      \
   vauth/vauth.c vauth/cleartext.c vauth/cram.c vauth/digest.c          \
   vauth/digest_sspi.c vauth/krb5_gssapi.c vauth/krb5_sspi.c            \
   vauth/ntlm.c vauth/ntlm_sspi.c vauth/oauth2.c vauth/spnego_gssapi.c  \
diff --git a/packages/vms/config_h.com b/packages/vms/config_h.com
index 2a5503f..0f1fa0f 100644
--- a/packages/vms/config_h.com
+++ b/packages/vms/config_h.com
@@ -1382,7 +1382,7 @@
 $			severity = '$severity'
 $		    endif
 $!
-$!		    Unix compatability routines
+$!		    Unix compatibility routines
 $!---------------------------------------------
 $		    if severity .ne. 1
 $		    then
diff --git a/projects/README b/projects/README
index 60b8c87..99b1d7a 100644
--- a/projects/README
+++ b/projects/README
@@ -74,9 +74,6 @@
    If you require support for Internationalized Domain Names via Windows IDN
    then you will need either:
 
-    * Microsoft Internationalized Domain Name (IDN) Mitigation APIs:
-      https://www.microsoft.com/en-us/download/details.aspx?id=734
-
     * Microsoft Windows SDK Update for Windows Vista:
       https://www.microsoft.com/en-us/download/details.aspx?id=23719
 
@@ -108,7 +105,7 @@
 
    ... where 'Path to DLL` is the configuration specific path. For example the
    following configurations in Visual Studio 2010 might be:
-   
+
    DLL Debug - DLL OpenSSL (Win32):
    PATH=..\..\..\..\..\openssl\build\Win32\VC10\DLL Debug;C:\Windows\system32;
         C:\Windows;C:\Windows\System32\Wbem
@@ -133,7 +130,7 @@
 =====
 
    The following keywords have been used in the directory hierarchy:
-   
+
    <platform>      - The platform (For example: Windows)
    <ide>           - The IDE (For example: VC6, VC10, BCC5)
    <architecture>  - The platform architecture (For example: Win32, Win64)
@@ -142,12 +139,12 @@
 
    If you are using the source code from the git repository, rather than a
    release archive or nightly build, you will need to generate the project
-   files. Please run "generate -help" for usage details. 
+   files. Please run "generate -help" for usage details.
 
    Should you wish to help out with some of the items on the TODO list, or
    find bugs in the project files that need correcting, and would like to
    submit updated files back then please note that, whilst the solution files
-   can be edited directly, the templates for the project files (which are 
+   can be edited directly, the templates for the project files (which are
    stored in the git repositoty) will need to be modified rather than the
    generated project files that Visual Studio uses.
 
diff --git a/projects/Windows/VC10/lib/libcurl.vcxproj b/projects/Windows/VC10/lib/libcurl.vcxproj
index c966c06..c380034 100644
--- a/projects/Windows/VC10/lib/libcurl.vcxproj
+++ b/projects/Windows/VC10/lib/libcurl.vcxproj
@@ -2332,6 +2332,7 @@
     <ClCompile Include="..\..\..\..\lib\content_encoding.c" />

     <ClCompile Include="..\..\..\..\lib\cookie.c" />

     <ClCompile Include="..\..\..\..\lib\curl_addrinfo.c" />

+    <ClCompile Include="..\..\..\..\lib\curl_ctype.c" />

     <ClCompile Include="..\..\..\..\lib\curl_des.c" />

     <ClCompile Include="..\..\..\..\lib\curl_endian.c" />

     <ClCompile Include="..\..\..\..\lib\curl_fnmatch.c" />

@@ -2342,6 +2343,7 @@
     <ClCompile Include="..\..\..\..\lib\curl_ntlm_core.c" />

     <ClCompile Include="..\..\..\..\lib\curl_ntlm_wb.c" />

     <ClCompile Include="..\..\..\..\lib\curl_path.c" />

+    <ClCompile Include="..\..\..\..\lib\curl_range.c" />

     <ClCompile Include="..\..\..\..\lib\curl_rtmp.c" />

     <ClCompile Include="..\..\..\..\lib\curl_sasl.c" />

     <ClCompile Include="..\..\..\..\lib\curl_sspi.c" />

@@ -2465,6 +2467,7 @@
     <ClInclude Include="..\..\..\..\lib\cookie.h" />

     <ClInclude Include="..\..\..\..\lib\curl_addrinfo.h" />

     <ClInclude Include="..\..\..\..\lib\curl_base64.h" />

+    <ClInclude Include="..\..\..\..\lib\curl_ctype.h" />

     <ClInclude Include="..\..\..\..\lib\curl_des.h" />

     <ClInclude Include="..\..\..\..\lib\curl_endian.h" />

     <ClInclude Include="..\..\..\..\lib\curl_fnmatch.h" />

@@ -2481,6 +2484,7 @@
     <ClInclude Include="..\..\..\..\lib\curl_ntlm_wb.h" />

     <ClInclude Include="..\..\..\..\lib\curl_path.h" />

     <ClInclude Include="..\..\..\..\lib\curl_printf.h" />

+    <ClInclude Include="..\..\..\..\lib\curl_range.h" />

     <ClInclude Include="..\..\..\..\lib\curl_rtmp.h" />

     <ClInclude Include="..\..\..\..\lib\curl_sasl.h" />

     <ClInclude Include="..\..\..\..\lib\curl_sec.h" />

diff --git a/projects/Windows/VC10/src/curl.vcxproj b/projects/Windows/VC10/src/curl.vcxproj
index 7f80d2f..c4082ad 100644
--- a/projects/Windows/VC10/src/curl.vcxproj
+++ b/projects/Windows/VC10/src/curl.vcxproj
@@ -2627,6 +2627,7 @@
     </Link>

   </ItemDefinitionGroup>

   <ItemGroup>

+    <ClCompile Include="..\..\..\..\lib\curl_ctype.c" />

     <ClCompile Include="..\..\..\..\lib\nonblock.c" />

     <ClCompile Include="..\..\..\..\lib\strtoofft.c" />

     <ClCompile Include="..\..\..\..\lib\warnless.c" />

@@ -2644,6 +2645,7 @@
     <ClCompile Include="..\..\..\..\src\tool_dirhie.c" />

     <ClCompile Include="..\..\..\..\src\tool_doswin.c" />

     <ClCompile Include="..\..\..\..\src\tool_easysrc.c" />

+    <ClCompile Include="..\..\..\..\src\tool_filetime.c" />

     <ClCompile Include="..\..\..\..\src\tool_formparse.c" />

     <ClCompile Include="..\..\..\..\src\tool_getparam.c" />

     <ClCompile Include="..\..\..\..\src\tool_getpass.c" />

@@ -2671,6 +2673,7 @@
   </ItemGroup>

   <ItemGroup>

     <ClInclude Include="..\..\..\..\lib\config-win32.h" />

+    <ClInclude Include="..\..\..\..\lib\curl_ctype.h" />

     <ClInclude Include="..\..\..\..\lib\curl_setup.h" />

     <ClInclude Include="..\..\..\..\lib\nonblock.h" />

     <ClInclude Include="..\..\..\..\lib\strtoofft.h" />

@@ -2689,6 +2692,7 @@
     <ClInclude Include="..\..\..\..\src\tool_dirhie.h" />

     <ClInclude Include="..\..\..\..\src\tool_doswin.h" />

     <ClInclude Include="..\..\..\..\src\tool_easysrc.h" />

+    <ClInclude Include="..\..\..\..\src\tool_filetime.h" />

     <ClInclude Include="..\..\..\..\src\tool_formparse.h" />

     <ClInclude Include="..\..\..\..\src\tool_getparam.h" />

     <ClInclude Include="..\..\..\..\src\tool_getpass.h" />

diff --git a/projects/Windows/VC11/lib/libcurl.vcxproj b/projects/Windows/VC11/lib/libcurl.vcxproj
index 88609a0..7844644 100644
--- a/projects/Windows/VC11/lib/libcurl.vcxproj
+++ b/projects/Windows/VC11/lib/libcurl.vcxproj
@@ -2388,6 +2388,7 @@
     <ClCompile Include="..\..\..\..\lib\content_encoding.c" />

     <ClCompile Include="..\..\..\..\lib\cookie.c" />

     <ClCompile Include="..\..\..\..\lib\curl_addrinfo.c" />

+    <ClCompile Include="..\..\..\..\lib\curl_ctype.c" />

     <ClCompile Include="..\..\..\..\lib\curl_des.c" />

     <ClCompile Include="..\..\..\..\lib\curl_endian.c" />

     <ClCompile Include="..\..\..\..\lib\curl_fnmatch.c" />

@@ -2398,6 +2399,7 @@
     <ClCompile Include="..\..\..\..\lib\curl_ntlm_core.c" />

     <ClCompile Include="..\..\..\..\lib\curl_ntlm_wb.c" />

     <ClCompile Include="..\..\..\..\lib\curl_path.c" />

+    <ClCompile Include="..\..\..\..\lib\curl_range.c" />

     <ClCompile Include="..\..\..\..\lib\curl_rtmp.c" />

     <ClCompile Include="..\..\..\..\lib\curl_sasl.c" />

     <ClCompile Include="..\..\..\..\lib\curl_sspi.c" />

@@ -2521,6 +2523,7 @@
     <ClInclude Include="..\..\..\..\lib\cookie.h" />

     <ClInclude Include="..\..\..\..\lib\curl_addrinfo.h" />

     <ClInclude Include="..\..\..\..\lib\curl_base64.h" />

+    <ClInclude Include="..\..\..\..\lib\curl_ctype.h" />

     <ClInclude Include="..\..\..\..\lib\curl_des.h" />

     <ClInclude Include="..\..\..\..\lib\curl_endian.h" />

     <ClInclude Include="..\..\..\..\lib\curl_fnmatch.h" />

@@ -2537,6 +2540,7 @@
     <ClInclude Include="..\..\..\..\lib\curl_ntlm_wb.h" />

     <ClInclude Include="..\..\..\..\lib\curl_path.h" />

     <ClInclude Include="..\..\..\..\lib\curl_printf.h" />

+    <ClInclude Include="..\..\..\..\lib\curl_range.h" />

     <ClInclude Include="..\..\..\..\lib\curl_rtmp.h" />

     <ClInclude Include="..\..\..\..\lib\curl_sasl.h" />

     <ClInclude Include="..\..\..\..\lib\curl_sec.h" />

diff --git a/projects/Windows/VC11/src/curl.vcxproj b/projects/Windows/VC11/src/curl.vcxproj
index 9387617..1682373 100644
--- a/projects/Windows/VC11/src/curl.vcxproj
+++ b/projects/Windows/VC11/src/curl.vcxproj
@@ -2683,6 +2683,7 @@
     </Link>

   </ItemDefinitionGroup>

   <ItemGroup>

+    <ClCompile Include="..\..\..\..\lib\curl_ctype.c" />

     <ClCompile Include="..\..\..\..\lib\nonblock.c" />

     <ClCompile Include="..\..\..\..\lib\strtoofft.c" />

     <ClCompile Include="..\..\..\..\lib\warnless.c" />

@@ -2700,6 +2701,7 @@
     <ClCompile Include="..\..\..\..\src\tool_dirhie.c" />

     <ClCompile Include="..\..\..\..\src\tool_doswin.c" />

     <ClCompile Include="..\..\..\..\src\tool_easysrc.c" />

+    <ClCompile Include="..\..\..\..\src\tool_filetime.c" />

     <ClCompile Include="..\..\..\..\src\tool_formparse.c" />

     <ClCompile Include="..\..\..\..\src\tool_getparam.c" />

     <ClCompile Include="..\..\..\..\src\tool_getpass.c" />

@@ -2727,6 +2729,7 @@
   </ItemGroup>

   <ItemGroup>

     <ClInclude Include="..\..\..\..\lib\config-win32.h" />

+    <ClInclude Include="..\..\..\..\lib\curl_ctype.h" />

     <ClInclude Include="..\..\..\..\lib\curl_setup.h" />

     <ClInclude Include="..\..\..\..\lib\nonblock.h" />

     <ClInclude Include="..\..\..\..\lib\strtoofft.h" />

@@ -2745,6 +2748,7 @@
     <ClInclude Include="..\..\..\..\src\tool_dirhie.h" />

     <ClInclude Include="..\..\..\..\src\tool_doswin.h" />

     <ClInclude Include="..\..\..\..\src\tool_easysrc.h" />

+    <ClInclude Include="..\..\..\..\src\tool_filetime.h" />

     <ClInclude Include="..\..\..\..\src\tool_formparse.h" />

     <ClInclude Include="..\..\..\..\src\tool_getparam.h" />

     <ClInclude Include="..\..\..\..\src\tool_getpass.h" />

diff --git a/projects/Windows/VC12/lib/libcurl.vcxproj b/projects/Windows/VC12/lib/libcurl.vcxproj
index eaa54c1..712d2cd 100644
--- a/projects/Windows/VC12/lib/libcurl.vcxproj
+++ b/projects/Windows/VC12/lib/libcurl.vcxproj
@@ -2388,6 +2388,7 @@
     <ClCompile Include="..\..\..\..\lib\content_encoding.c" />

     <ClCompile Include="..\..\..\..\lib\cookie.c" />

     <ClCompile Include="..\..\..\..\lib\curl_addrinfo.c" />

+    <ClCompile Include="..\..\..\..\lib\curl_ctype.c" />

     <ClCompile Include="..\..\..\..\lib\curl_des.c" />

     <ClCompile Include="..\..\..\..\lib\curl_endian.c" />

     <ClCompile Include="..\..\..\..\lib\curl_fnmatch.c" />

@@ -2398,6 +2399,7 @@
     <ClCompile Include="..\..\..\..\lib\curl_ntlm_core.c" />

     <ClCompile Include="..\..\..\..\lib\curl_ntlm_wb.c" />

     <ClCompile Include="..\..\..\..\lib\curl_path.c" />

+    <ClCompile Include="..\..\..\..\lib\curl_range.c" />

     <ClCompile Include="..\..\..\..\lib\curl_rtmp.c" />

     <ClCompile Include="..\..\..\..\lib\curl_sasl.c" />

     <ClCompile Include="..\..\..\..\lib\curl_sspi.c" />

@@ -2521,6 +2523,7 @@
     <ClInclude Include="..\..\..\..\lib\cookie.h" />

     <ClInclude Include="..\..\..\..\lib\curl_addrinfo.h" />

     <ClInclude Include="..\..\..\..\lib\curl_base64.h" />

+    <ClInclude Include="..\..\..\..\lib\curl_ctype.h" />

     <ClInclude Include="..\..\..\..\lib\curl_des.h" />

     <ClInclude Include="..\..\..\..\lib\curl_endian.h" />

     <ClInclude Include="..\..\..\..\lib\curl_fnmatch.h" />

@@ -2537,6 +2540,7 @@
     <ClInclude Include="..\..\..\..\lib\curl_ntlm_wb.h" />

     <ClInclude Include="..\..\..\..\lib\curl_path.h" />

     <ClInclude Include="..\..\..\..\lib\curl_printf.h" />

+    <ClInclude Include="..\..\..\..\lib\curl_range.h" />

     <ClInclude Include="..\..\..\..\lib\curl_rtmp.h" />

     <ClInclude Include="..\..\..\..\lib\curl_sasl.h" />

     <ClInclude Include="..\..\..\..\lib\curl_sec.h" />

diff --git a/projects/Windows/VC12/src/curl.vcxproj b/projects/Windows/VC12/src/curl.vcxproj
index ae41b39..8a86503 100644
--- a/projects/Windows/VC12/src/curl.vcxproj
+++ b/projects/Windows/VC12/src/curl.vcxproj
@@ -2683,6 +2683,7 @@
     </Link>

   </ItemDefinitionGroup>

   <ItemGroup>

+    <ClCompile Include="..\..\..\..\lib\curl_ctype.c" />

     <ClCompile Include="..\..\..\..\lib\nonblock.c" />

     <ClCompile Include="..\..\..\..\lib\strtoofft.c" />

     <ClCompile Include="..\..\..\..\lib\warnless.c" />

@@ -2700,6 +2701,7 @@
     <ClCompile Include="..\..\..\..\src\tool_dirhie.c" />

     <ClCompile Include="..\..\..\..\src\tool_doswin.c" />

     <ClCompile Include="..\..\..\..\src\tool_easysrc.c" />

+    <ClCompile Include="..\..\..\..\src\tool_filetime.c" />

     <ClCompile Include="..\..\..\..\src\tool_formparse.c" />

     <ClCompile Include="..\..\..\..\src\tool_getparam.c" />

     <ClCompile Include="..\..\..\..\src\tool_getpass.c" />

@@ -2727,6 +2729,7 @@
   </ItemGroup>

   <ItemGroup>

     <ClInclude Include="..\..\..\..\lib\config-win32.h" />

+    <ClInclude Include="..\..\..\..\lib\curl_ctype.h" />

     <ClInclude Include="..\..\..\..\lib\curl_setup.h" />

     <ClInclude Include="..\..\..\..\lib\nonblock.h" />

     <ClInclude Include="..\..\..\..\lib\strtoofft.h" />

@@ -2745,6 +2748,7 @@
     <ClInclude Include="..\..\..\..\src\tool_dirhie.h" />

     <ClInclude Include="..\..\..\..\src\tool_doswin.h" />

     <ClInclude Include="..\..\..\..\src\tool_easysrc.h" />

+    <ClInclude Include="..\..\..\..\src\tool_filetime.h" />

     <ClInclude Include="..\..\..\..\src\tool_formparse.h" />

     <ClInclude Include="..\..\..\..\src\tool_getparam.h" />

     <ClInclude Include="..\..\..\..\src\tool_getpass.h" />

diff --git a/projects/Windows/VC14/lib/libcurl.vcxproj b/projects/Windows/VC14/lib/libcurl.vcxproj
index e83c10a..300d115 100644
--- a/projects/Windows/VC14/lib/libcurl.vcxproj
+++ b/projects/Windows/VC14/lib/libcurl.vcxproj
@@ -2388,6 +2388,7 @@
     <ClCompile Include="..\..\..\..\lib\content_encoding.c" />

     <ClCompile Include="..\..\..\..\lib\cookie.c" />

     <ClCompile Include="..\..\..\..\lib\curl_addrinfo.c" />

+    <ClCompile Include="..\..\..\..\lib\curl_ctype.c" />

     <ClCompile Include="..\..\..\..\lib\curl_des.c" />

     <ClCompile Include="..\..\..\..\lib\curl_endian.c" />

     <ClCompile Include="..\..\..\..\lib\curl_fnmatch.c" />

@@ -2398,6 +2399,7 @@
     <ClCompile Include="..\..\..\..\lib\curl_ntlm_core.c" />

     <ClCompile Include="..\..\..\..\lib\curl_ntlm_wb.c" />

     <ClCompile Include="..\..\..\..\lib\curl_path.c" />

+    <ClCompile Include="..\..\..\..\lib\curl_range.c" />

     <ClCompile Include="..\..\..\..\lib\curl_rtmp.c" />

     <ClCompile Include="..\..\..\..\lib\curl_sasl.c" />

     <ClCompile Include="..\..\..\..\lib\curl_sspi.c" />

@@ -2521,6 +2523,7 @@
     <ClInclude Include="..\..\..\..\lib\cookie.h" />

     <ClInclude Include="..\..\..\..\lib\curl_addrinfo.h" />

     <ClInclude Include="..\..\..\..\lib\curl_base64.h" />

+    <ClInclude Include="..\..\..\..\lib\curl_ctype.h" />

     <ClInclude Include="..\..\..\..\lib\curl_des.h" />

     <ClInclude Include="..\..\..\..\lib\curl_endian.h" />

     <ClInclude Include="..\..\..\..\lib\curl_fnmatch.h" />

@@ -2537,6 +2540,7 @@
     <ClInclude Include="..\..\..\..\lib\curl_ntlm_wb.h" />

     <ClInclude Include="..\..\..\..\lib\curl_path.h" />

     <ClInclude Include="..\..\..\..\lib\curl_printf.h" />

+    <ClInclude Include="..\..\..\..\lib\curl_range.h" />

     <ClInclude Include="..\..\..\..\lib\curl_rtmp.h" />

     <ClInclude Include="..\..\..\..\lib\curl_sasl.h" />

     <ClInclude Include="..\..\..\..\lib\curl_sec.h" />

diff --git a/projects/Windows/VC14/src/curl.vcxproj b/projects/Windows/VC14/src/curl.vcxproj
index 869a1b9..481e0be 100644
--- a/projects/Windows/VC14/src/curl.vcxproj
+++ b/projects/Windows/VC14/src/curl.vcxproj
@@ -2683,6 +2683,7 @@
     </Link>

   </ItemDefinitionGroup>

   <ItemGroup>

+    <ClCompile Include="..\..\..\..\lib\curl_ctype.c" />

     <ClCompile Include="..\..\..\..\lib\nonblock.c" />

     <ClCompile Include="..\..\..\..\lib\strtoofft.c" />

     <ClCompile Include="..\..\..\..\lib\warnless.c" />

@@ -2700,6 +2701,7 @@
     <ClCompile Include="..\..\..\..\src\tool_dirhie.c" />

     <ClCompile Include="..\..\..\..\src\tool_doswin.c" />

     <ClCompile Include="..\..\..\..\src\tool_easysrc.c" />

+    <ClCompile Include="..\..\..\..\src\tool_filetime.c" />

     <ClCompile Include="..\..\..\..\src\tool_formparse.c" />

     <ClCompile Include="..\..\..\..\src\tool_getparam.c" />

     <ClCompile Include="..\..\..\..\src\tool_getpass.c" />

@@ -2727,6 +2729,7 @@
   </ItemGroup>

   <ItemGroup>

     <ClInclude Include="..\..\..\..\lib\config-win32.h" />

+    <ClInclude Include="..\..\..\..\lib\curl_ctype.h" />

     <ClInclude Include="..\..\..\..\lib\curl_setup.h" />

     <ClInclude Include="..\..\..\..\lib\nonblock.h" />

     <ClInclude Include="..\..\..\..\lib\strtoofft.h" />

@@ -2745,6 +2748,7 @@
     <ClInclude Include="..\..\..\..\src\tool_dirhie.h" />

     <ClInclude Include="..\..\..\..\src\tool_doswin.h" />

     <ClInclude Include="..\..\..\..\src\tool_easysrc.h" />

+    <ClInclude Include="..\..\..\..\src\tool_filetime.h" />

     <ClInclude Include="..\..\..\..\src\tool_formparse.h" />

     <ClInclude Include="..\..\..\..\src\tool_getparam.h" />

     <ClInclude Include="..\..\..\..\src\tool_getpass.h" />

diff --git a/projects/Windows/VC15/curl-all.sln b/projects/Windows/VC15/curl-all.sln
index 02bccc5..d4576a1 100644
--- a/projects/Windows/VC15/curl-all.sln
+++ b/projects/Windows/VC15/curl-all.sln
@@ -1,5 +1,5 @@
 Microsoft Visual Studio Solution File, Format Version 12.00

-# Visual Studio 2015

+# Visual Studio 15

 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "curl", "src\curl.vcxproj", "{5228E9CE-A216-422F-A5E6-58E95E2DD71D}"

 	ProjectSection(ProjectDependencies) = postProject

 		{DA6F56B4-06A4-441D-AD70-AC5A7D51FADB} = {DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}

diff --git a/projects/Windows/VC15/lib/libcurl.sln b/projects/Windows/VC15/lib/libcurl.sln
index f768b6d..4de796c 100644
--- a/projects/Windows/VC15/lib/libcurl.sln
+++ b/projects/Windows/VC15/lib/libcurl.sln
@@ -1,5 +1,5 @@
 Microsoft Visual Studio Solution File, Format Version 12.00

-# Visual Studio 2015

+# Visual Studio 15

 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libcurl", "libcurl.vcxproj", "{DA6F56B4-06A4-441D-AD70-AC5A7D51FADB}"

 EndProject

 Global

diff --git a/projects/Windows/VC15/lib/libcurl.vcxproj b/projects/Windows/VC15/lib/libcurl.vcxproj
index 2dcab41..1a9ad57 100644
--- a/projects/Windows/VC15/lib/libcurl.vcxproj
+++ b/projects/Windows/VC15/lib/libcurl.vcxproj
@@ -2388,6 +2388,7 @@
     <ClCompile Include="..\..\..\..\lib\content_encoding.c" />

     <ClCompile Include="..\..\..\..\lib\cookie.c" />

     <ClCompile Include="..\..\..\..\lib\curl_addrinfo.c" />

+    <ClCompile Include="..\..\..\..\lib\curl_ctype.c" />

     <ClCompile Include="..\..\..\..\lib\curl_des.c" />

     <ClCompile Include="..\..\..\..\lib\curl_endian.c" />

     <ClCompile Include="..\..\..\..\lib\curl_fnmatch.c" />

@@ -2398,6 +2399,7 @@
     <ClCompile Include="..\..\..\..\lib\curl_ntlm_core.c" />

     <ClCompile Include="..\..\..\..\lib\curl_ntlm_wb.c" />

     <ClCompile Include="..\..\..\..\lib\curl_path.c" />

+    <ClCompile Include="..\..\..\..\lib\curl_range.c" />

     <ClCompile Include="..\..\..\..\lib\curl_rtmp.c" />

     <ClCompile Include="..\..\..\..\lib\curl_sasl.c" />

     <ClCompile Include="..\..\..\..\lib\curl_sspi.c" />

@@ -2521,6 +2523,7 @@
     <ClInclude Include="..\..\..\..\lib\cookie.h" />

     <ClInclude Include="..\..\..\..\lib\curl_addrinfo.h" />

     <ClInclude Include="..\..\..\..\lib\curl_base64.h" />

+    <ClInclude Include="..\..\..\..\lib\curl_ctype.h" />

     <ClInclude Include="..\..\..\..\lib\curl_des.h" />

     <ClInclude Include="..\..\..\..\lib\curl_endian.h" />

     <ClInclude Include="..\..\..\..\lib\curl_fnmatch.h" />

@@ -2537,6 +2540,7 @@
     <ClInclude Include="..\..\..\..\lib\curl_ntlm_wb.h" />

     <ClInclude Include="..\..\..\..\lib\curl_path.h" />

     <ClInclude Include="..\..\..\..\lib\curl_printf.h" />

+    <ClInclude Include="..\..\..\..\lib\curl_range.h" />

     <ClInclude Include="..\..\..\..\lib\curl_rtmp.h" />

     <ClInclude Include="..\..\..\..\lib\curl_sasl.h" />

     <ClInclude Include="..\..\..\..\lib\curl_sec.h" />

diff --git a/projects/Windows/VC15/src/curl.sln b/projects/Windows/VC15/src/curl.sln
index ca123ed..16d2296 100644
--- a/projects/Windows/VC15/src/curl.sln
+++ b/projects/Windows/VC15/src/curl.sln
@@ -1,5 +1,5 @@
 Microsoft Visual Studio Solution File, Format Version 12.00

-# Visual Studio 2015

+# Visual Studio 15

 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "curl", "curl.vcxproj", "{5228E9CE-A216-422F-A5E6-58E95E2DD71D}"

 EndProject

 Global

diff --git a/projects/Windows/VC15/src/curl.vcxproj b/projects/Windows/VC15/src/curl.vcxproj
index 9c79dd6..92043d4 100644
--- a/projects/Windows/VC15/src/curl.vcxproj
+++ b/projects/Windows/VC15/src/curl.vcxproj
@@ -2683,6 +2683,7 @@
     </Link>

   </ItemDefinitionGroup>

   <ItemGroup>

+    <ClCompile Include="..\..\..\..\lib\curl_ctype.c" />

     <ClCompile Include="..\..\..\..\lib\nonblock.c" />

     <ClCompile Include="..\..\..\..\lib\strtoofft.c" />

     <ClCompile Include="..\..\..\..\lib\warnless.c" />

@@ -2700,6 +2701,7 @@
     <ClCompile Include="..\..\..\..\src\tool_dirhie.c" />

     <ClCompile Include="..\..\..\..\src\tool_doswin.c" />

     <ClCompile Include="..\..\..\..\src\tool_easysrc.c" />

+    <ClCompile Include="..\..\..\..\src\tool_filetime.c" />

     <ClCompile Include="..\..\..\..\src\tool_formparse.c" />

     <ClCompile Include="..\..\..\..\src\tool_getparam.c" />

     <ClCompile Include="..\..\..\..\src\tool_getpass.c" />

@@ -2727,6 +2729,7 @@
   </ItemGroup>

   <ItemGroup>

     <ClInclude Include="..\..\..\..\lib\config-win32.h" />

+    <ClInclude Include="..\..\..\..\lib\curl_ctype.h" />

     <ClInclude Include="..\..\..\..\lib\curl_setup.h" />

     <ClInclude Include="..\..\..\..\lib\nonblock.h" />

     <ClInclude Include="..\..\..\..\lib\strtoofft.h" />

@@ -2745,6 +2748,7 @@
     <ClInclude Include="..\..\..\..\src\tool_dirhie.h" />

     <ClInclude Include="..\..\..\..\src\tool_doswin.h" />

     <ClInclude Include="..\..\..\..\src\tool_easysrc.h" />

+    <ClInclude Include="..\..\..\..\src\tool_filetime.h" />

     <ClInclude Include="..\..\..\..\src\tool_formparse.h" />

     <ClInclude Include="..\..\..\..\src\tool_getparam.h" />

     <ClInclude Include="..\..\..\..\src\tool_getpass.h" />

diff --git a/projects/Windows/VC6/lib/libcurl.dsp b/projects/Windows/VC6/lib/libcurl.dsp
index 8814cb7..977c5d2 100644
--- a/projects/Windows/VC6/lib/libcurl.dsp
+++ b/projects/Windows/VC6/lib/libcurl.dsp
@@ -766,6 +766,10 @@
 # End Source File

 # Begin Source File

 

+SOURCE=..\..\..\..\lib\curl_ctype.c

+# End Source File

+# Begin Source File

+

 SOURCE=..\..\..\..\lib\curl_des.c

 # End Source File

 # Begin Source File

@@ -806,6 +810,10 @@
 # End Source File

 # Begin Source File

 

+SOURCE=..\..\..\..\lib\curl_range.c

+# End Source File

+# Begin Source File

+

 SOURCE=..\..\..\..\lib\curl_rtmp.c

 # End Source File

 # Begin Source File

@@ -1294,6 +1302,10 @@
 # End Source File

 # Begin Source File

 

+SOURCE=..\..\..\..\lib\curl_ctype.h

+# End Source File

+# Begin Source File

+

 SOURCE=..\..\..\..\lib\curl_des.h

 # End Source File

 # Begin Source File

@@ -1358,6 +1370,10 @@
 # End Source File

 # Begin Source File

 

+SOURCE=..\..\..\..\lib\curl_range.h

+# End Source File

+# Begin Source File

+

 SOURCE=..\..\..\..\lib\curl_rtmp.h

 # End Source File

 # Begin Source File

diff --git a/projects/Windows/VC6/src/curl.dsp b/projects/Windows/VC6/src/curl.dsp
index b276b1a..05dd73c 100644
--- a/projects/Windows/VC6/src/curl.dsp
+++ b/projects/Windows/VC6/src/curl.dsp
@@ -679,6 +679,10 @@
 # PROP Default_Filter ""

 # Begin Source File

 

+SOURCE=..\..\..\..\lib\curl_ctype.c

+# End Source File

+# Begin Source File

+

 SOURCE=..\..\..\..\lib\nonblock.c

 # End Source File

 # Begin Source File

@@ -747,6 +751,10 @@
 # End Source File

 # Begin Source File

 

+SOURCE=..\..\..\..\src\tool_filetime.c

+# End Source File

+# Begin Source File

+

 SOURCE=..\..\..\..\src\tool_formparse.c

 # End Source File

 # Begin Source File

@@ -851,6 +859,10 @@
 # End Source File

 # Begin Source File

 

+SOURCE=..\..\..\..\lib\curl_ctype.h

+# End Source File

+# Begin Source File

+

 SOURCE=..\..\..\..\lib\curl_setup.h

 # End Source File

 # Begin Source File

@@ -923,6 +935,10 @@
 # End Source File

 # Begin Source File

 

+SOURCE=..\..\..\..\src\tool_filetime.h

+# End Source File

+# Begin Source File

+

 SOURCE=..\..\..\..\src\tool_formparse.h

 # End Source File

 # Begin Source File

diff --git a/projects/Windows/VC7.1/lib/libcurl.vcproj b/projects/Windows/VC7.1/lib/libcurl.vcproj
index 3423bb4..d71d75f 100644
--- a/projects/Windows/VC7.1/lib/libcurl.vcproj
+++ b/projects/Windows/VC7.1/lib/libcurl.vcproj
@@ -1283,6 +1283,9 @@
 				RelativePath="..\..\..\..\lib\curl_addrinfo.c">

 			</File>

 			<File

+				RelativePath="..\..\..\..\lib\curl_ctype.c">

+			</File>

+			<File

 				RelativePath="..\..\..\..\lib\curl_des.c">

 			</File>

 			<File

@@ -1313,6 +1316,9 @@
 				RelativePath="..\..\..\..\lib\curl_path.c">

 			</File>

 			<File

+				RelativePath="..\..\..\..\lib\curl_range.c">

+			</File>

+			<File

 				RelativePath="..\..\..\..\lib\curl_rtmp.c">

 			</File>

 			<File

@@ -1608,6 +1614,9 @@
 				RelativePath="..\..\..\..\lib\curl_base64.h">

 			</File>

 			<File

+				RelativePath="..\..\..\..\lib\curl_ctype.h">

+			</File>

+			<File

 				RelativePath="..\..\..\..\lib\curl_des.h">

 			</File>

 			<File

@@ -1656,6 +1665,9 @@
 				RelativePath="..\..\..\..\lib\curl_printf.h">

 			</File>

 			<File

+				RelativePath="..\..\..\..\lib\curl_range.h">

+			</File>

+			<File

 				RelativePath="..\..\..\..\lib\curl_rtmp.h">

 			</File>

 			<File

diff --git a/projects/Windows/VC7.1/src/curl.vcproj b/projects/Windows/VC7.1/src/curl.vcproj
index baedf5e..8fecea6 100644
--- a/projects/Windows/VC7.1/src/curl.vcproj
+++ b/projects/Windows/VC7.1/src/curl.vcproj
@@ -1362,6 +1362,9 @@
 			Name="Source Files"

 			Filter="">

 			<File

+				RelativePath="..\..\..\..\lib\curl_ctype.c">

+			</File>

+			<File

 				RelativePath="..\..\..\..\lib\nonblock.c">

 			</File>

 			<File

@@ -1413,6 +1416,9 @@
 				RelativePath="..\..\..\..\src\tool_easysrc.c">

 			</File>

 			<File

+				RelativePath="..\..\..\..\src\tool_filetime.c">

+			</File>

+			<File

 				RelativePath="..\..\..\..\src\tool_formparse.c">

 			</File>

 			<File

@@ -1492,6 +1498,9 @@
 				RelativePath="..\..\..\..\lib\config-win32.h">

 			</File>

 			<File

+				RelativePath="..\..\..\..\lib\curl_ctype.h">

+			</File>

+			<File

 				RelativePath="..\..\..\..\lib\curl_setup.h">

 			</File>

 			<File

@@ -1546,6 +1555,9 @@
 				RelativePath="..\..\..\..\src\tool_easysrc.h">

 			</File>

 			<File

+				RelativePath="..\..\..\..\src\tool_filetime.h">

+			</File>

+			<File

 				RelativePath="..\..\..\..\src\tool_formparse.h">

 			</File>

 			<File

diff --git a/projects/Windows/VC7/lib/libcurl.vcproj b/projects/Windows/VC7/lib/libcurl.vcproj
index 5023f5d..69bd938 100644
--- a/projects/Windows/VC7/lib/libcurl.vcproj
+++ b/projects/Windows/VC7/lib/libcurl.vcproj
@@ -1137,6 +1137,9 @@
 				RelativePath="..\..\..\..\lib\curl_addrinfo.c">

 			</File>

 			<File

+				RelativePath="..\..\..\..\lib\curl_ctype.c">

+			</File>

+			<File

 				RelativePath="..\..\..\..\lib\curl_des.c">

 			</File>

 			<File

@@ -1167,6 +1170,9 @@
 				RelativePath="..\..\..\..\lib\curl_path.c">

 			</File>

 			<File

+				RelativePath="..\..\..\..\lib\curl_range.c">

+			</File>

+			<File

 				RelativePath="..\..\..\..\lib\curl_rtmp.c">

 			</File>

 			<File

@@ -1462,6 +1468,9 @@
 				RelativePath="..\..\..\..\lib\curl_base64.h">

 			</File>

 			<File

+				RelativePath="..\..\..\..\lib\curl_ctype.h">

+			</File>

+			<File

 				RelativePath="..\..\..\..\lib\curl_des.h">

 			</File>

 			<File

@@ -1510,6 +1519,9 @@
 				RelativePath="..\..\..\..\lib\curl_printf.h">

 			</File>

 			<File

+				RelativePath="..\..\..\..\lib\curl_range.h">

+			</File>

+			<File

 				RelativePath="..\..\..\..\lib\curl_rtmp.h">

 			</File>

 			<File

diff --git a/projects/Windows/VC7/src/curl.vcproj b/projects/Windows/VC7/src/curl.vcproj
index 3de1b94..821aebc 100644
--- a/projects/Windows/VC7/src/curl.vcproj
+++ b/projects/Windows/VC7/src/curl.vcproj
@@ -1216,6 +1216,9 @@
 			Name="Source Files"

 			Filter="">

 			<File

+				RelativePath="..\..\..\..\lib\curl_ctype.c">

+			</File>

+			<File

 				RelativePath="..\..\..\..\lib\nonblock.c">

 			</File>

 			<File

@@ -1267,6 +1270,9 @@
 				RelativePath="..\..\..\..\src\tool_easysrc.c">

 			</File>

 			<File

+				RelativePath="..\..\..\..\src\tool_filetime.c">

+			</File>

+			<File

 				RelativePath="..\..\..\..\src\tool_formparse.c">

 			</File>

 			<File

@@ -1346,6 +1352,9 @@
 				RelativePath="..\..\..\..\lib\config-win32.h">

 			</File>

 			<File

+				RelativePath="..\..\..\..\lib\curl_ctype.h">

+			</File>

+			<File

 				RelativePath="..\..\..\..\lib\curl_setup.h">

 			</File>

 			<File

@@ -1400,6 +1409,9 @@
 				RelativePath="..\..\..\..\src\tool_easysrc.h">

 			</File>

 			<File

+				RelativePath="..\..\..\..\src\tool_filetime.h">

+			</File>

+			<File

 				RelativePath="..\..\..\..\src\tool_formparse.h">

 			</File>

 			<File

diff --git a/projects/Windows/VC8/lib/libcurl.vcproj b/projects/Windows/VC8/lib/libcurl.vcproj
index 92c9687..dac7848 100644
--- a/projects/Windows/VC8/lib/libcurl.vcproj
+++ b/projects/Windows/VC8/lib/libcurl.vcproj
@@ -3653,6 +3653,10 @@
 			>

 			</File>

 			<File

+				RelativePath="..\..\..\..\lib\curl_ctype.c"

+			>

+			</File>

+			<File

 				RelativePath="..\..\..\..\lib\curl_des.c"

 			>

 			</File>

@@ -3693,6 +3697,10 @@
 			>

 			</File>

 			<File

+				RelativePath="..\..\..\..\lib\curl_range.c"

+			>

+			</File>

+			<File

 				RelativePath="..\..\..\..\lib\curl_rtmp.c"

 			>

 			</File>

@@ -4085,6 +4093,10 @@
 			>

 			</File>

 			<File

+				RelativePath="..\..\..\..\lib\curl_ctype.h"

+			>

+			</File>

+			<File

 				RelativePath="..\..\..\..\lib\curl_des.h"

 			>

 			</File>

@@ -4149,6 +4161,10 @@
 			>

 			</File>

 			<File

+				RelativePath="..\..\..\..\lib\curl_range.h"

+			>

+			</File>

+			<File

 				RelativePath="..\..\..\..\lib\curl_rtmp.h"

 			>

 			</File>

diff --git a/projects/Windows/VC8/src/curl.vcproj b/projects/Windows/VC8/src/curl.vcproj
index 4e4c6c3..fb031cf 100644
--- a/projects/Windows/VC8/src/curl.vcproj
+++ b/projects/Windows/VC8/src/curl.vcproj
@@ -4081,6 +4081,10 @@
 			Name="Source Files"

 			>

 			<File

+				RelativePath="..\..\..\..\lib\curl_ctype.c"

+			>

+			</File>

+			<File

 				RelativePath="..\..\..\..\lib\nonblock.c"

 			>

 			</File>

@@ -4149,6 +4153,10 @@
 			>

 			</File>

 			<File

+				RelativePath="..\..\..\..\src\tool_filetime.c"

+			>

+			</File>

+			<File

 				RelativePath="..\..\..\..\src\tool_formparse.c"

 			>

 			</File>

@@ -4253,6 +4261,10 @@
 			>

 			</File>

 			<File

+				RelativePath="..\..\..\..\lib\curl_ctype.h"

+			>

+			</File>

+			<File

 				RelativePath="..\..\..\..\lib\curl_setup.h"

 			>

 			</File>

@@ -4325,6 +4337,10 @@
 			>

 			</File>

 			<File

+				RelativePath="..\..\..\..\src\tool_filetime.h"

+			>

+			</File>

+			<File

 				RelativePath="..\..\..\..\src\tool_formparse.h"

 			>

 			</File>

diff --git a/projects/Windows/VC9/lib/libcurl.vcproj b/projects/Windows/VC9/lib/libcurl.vcproj
index d4cb361..03e1625 100644
--- a/projects/Windows/VC9/lib/libcurl.vcproj
+++ b/projects/Windows/VC9/lib/libcurl.vcproj
@@ -3594,6 +3594,10 @@
 			>

 			</File>

 			<File

+				RelativePath="..\..\..\..\lib\curl_ctype.c"

+			>

+			</File>

+			<File

 				RelativePath="..\..\..\..\lib\curl_des.c"

 			>

 			</File>

@@ -3634,6 +3638,10 @@
 			>

 			</File>

 			<File

+				RelativePath="..\..\..\..\lib\curl_range.c"

+			>

+			</File>

+			<File

 				RelativePath="..\..\..\..\lib\curl_rtmp.c"

 			>

 			</File>

@@ -4026,6 +4034,10 @@
 			>

 			</File>

 			<File

+				RelativePath="..\..\..\..\lib\curl_ctype.h"

+			>

+			</File>

+			<File

 				RelativePath="..\..\..\..\lib\curl_des.h"

 			>

 			</File>

@@ -4090,6 +4102,10 @@
 			>

 			</File>

 			<File

+				RelativePath="..\..\..\..\lib\curl_range.h"

+			>

+			</File>

+			<File

 				RelativePath="..\..\..\..\lib\curl_rtmp.h"

 			>

 			</File>

diff --git a/projects/Windows/VC9/src/curl.vcproj b/projects/Windows/VC9/src/curl.vcproj
index 56ba9de..1d0ae65 100644
--- a/projects/Windows/VC9/src/curl.vcproj
+++ b/projects/Windows/VC9/src/curl.vcproj
@@ -3938,6 +3938,10 @@
 			Name="Source Files"

 			>

 			<File

+				RelativePath="..\..\..\..\lib\curl_ctype.c"

+			>

+			</File>

+			<File

 				RelativePath="..\..\..\..\lib\nonblock.c"

 			>

 			</File>

@@ -4006,6 +4010,10 @@
 			>

 			</File>

 			<File

+				RelativePath="..\..\..\..\src\tool_filetime.c"

+			>

+			</File>

+			<File

 				RelativePath="..\..\..\..\src\tool_formparse.c"

 			>

 			</File>

@@ -4110,6 +4118,10 @@
 			>

 			</File>

 			<File

+				RelativePath="..\..\..\..\lib\curl_ctype.h"

+			>

+			</File>

+			<File

 				RelativePath="..\..\..\..\lib\curl_setup.h"

 			>

 			</File>

@@ -4182,6 +4194,10 @@
 			>

 			</File>

 			<File

+				RelativePath="..\..\..\..\src\tool_filetime.h"

+			>

+			</File>

+			<File

 				RelativePath="..\..\..\..\src\tool_formparse.h"

 			>

 			</File>

diff --git a/projects/build-openssl.bat b/projects/build-openssl.bat
index 2a135b9..21709b7 100644
--- a/projects/build-openssl.bat
+++ b/projects/build-openssl.bat
@@ -6,7 +6,7 @@
 rem *                            | (__| |_| |  _ <| |___
 rem *                             \___|\___/|_| \_\_____|
 rem *
-rem * Copyright (C) 2012 - 2017, Steve Holme, <steve_holme@hotmail.com>.
+rem * Copyright (C) 2012 - 2018, Steve Holme, <steve_holme@hotmail.com>.
 rem *
 rem * This software is licensed as described in the file COPYING, which
 rem * you should have received as part of this distribution. The terms
@@ -33,6 +33,16 @@
   rem Ensure we have the required arguments
   if /i "%~1" == "" goto syntax
 
+  rem Calculate the program files directory
+  if defined PROGRAMFILES (
+    set "PF=%PROGRAMFILES%"
+    set OS_PLATFORM=x86
+  )
+  if defined PROGRAMFILES(x86) (
+    set "PF=%PROGRAMFILES(x86)%"
+    set OS_PLATFORM=x64
+  )
+
 :parseArgs
   if "%~1" == "" goto prerequisites
 
@@ -75,7 +85,16 @@
   ) else if /i "%~1" == "vc15" (
     set VC_VER=15.0
     set VC_DESC=VC15
-    set "VC_PATH=Microsoft Visual Studio\2017\Community\VC"
+
+    rem Determine the VC15 path based on the installed edition in decending
+    rem order (Enterprise, then Professional and finally Community)
+    if exist "%PF%\Microsoft Visual Studio\2017\Enterprise\VC" (
+      set "VC_PATH=Microsoft Visual Studio\2017\Enterprise\VC"
+    ) else if exist "%PF%\Microsoft Visual Studio\2017\Professional\VC" (
+      set "VC_PATH=Microsoft Visual Studio\2017\Professional\VC"
+    ) else (
+      set "VC_PATH=Microsoft Visual Studio\2017\Community\VC"
+    )
   ) else if /i "%~1%" == "x86" (
     set BUILD_PLATFORM=x86
   ) else if /i "%~1%" == "x64" (
@@ -101,23 +120,12 @@
   shift & goto parseArgs
 
 :prerequisites
-  rem Compiler and platform are required parameters.
+  rem Compiler is a required parameter
   if not defined VC_VER goto syntax
-  if not defined BUILD_PLATFORM goto syntax
 
   rem Default the start directory if one isn't specified
   if not defined START_DIR set START_DIR=..\..\openssl
 
-  rem Calculate the program files directory
-  if defined PROGRAMFILES (
-    set "PF=%PROGRAMFILES%"
-    set OS_PLATFORM=x86
-  )
-  if defined PROGRAMFILES(x86) (
-    set "PF=%PROGRAMFILES(x86)%"
-    set OS_PLATFORM=x64
-  )
-
   rem Check we have a program files directory
   if not defined PF goto nopf
 
@@ -211,12 +219,22 @@
   nmake -f ms\ntdll.mak
 
   rem Move the output directories
-  move out32.dbg "%OUTDIR%\LIB Debug"
-  move out32dll.dbg "%OUTDIR%\DLL Debug"
+  if exist "%OUTDIR%\LIB Debug" (
+    copy /y out32.dbg\* "%OUTDIR%\LIB Debug" 1>nul
+    rd out32.dbg /s /q
+  ) else (
+    move out32.dbg "%OUTDIR%\LIB Debug" 1>nul
+  )
+  if exist "%OUTDIR%\DLL Debug" (
+    copy /y out32dll.dbg\* "%OUTDIR%\DLL Debug" 1>nul
+    rd out32dll.dbg /s /q
+  ) else (
+    move out32dll.dbg "%OUTDIR%\DLL Debug" 1>nul
+  )
 
   rem Move the PDB files
-  move tmp32.dbg\lib.pdb "%OUTDIR%\LIB Debug"
-  move tmp32dll.dbg\lib.pdb "%OUTDIR%\DLL Debug"
+  move tmp32.dbg\lib.pdb "%OUTDIR%\LIB Debug" 1>nul
+  move tmp32dll.dbg\lib.pdb "%OUTDIR%\DLL Debug" 1>nul
   
   rem Remove the intermediate directories
   rd tmp32.dbg /s /q
@@ -232,14 +250,24 @@
   call ms\do_win64a
   nmake -f ms\nt.mak
   nmake -f ms\ntdll.mak
-  
+
   rem Move the output directories
-  move out32 "%OUTDIR%\LIB Release"
-  move out32dll "%OUTDIR%\DLL Release"
+  if exist "%OUTDIR%\LIB Release" (
+    copy /y out32\* "%OUTDIR%\LIB Release" 1>nul
+    rd out32 /s /q
+  ) else (
+    move out32 "%OUTDIR%\LIB Release" 1>nul
+  )
+  if exist "%OUTDIR%\DLL Release" (
+    copy /y out32dll\* "%OUTDIR%\DLL Release" 1>nul
+    rd out32dll /s /q
+  ) else (
+    move out32dll "%OUTDIR%\DLL Release" 1>nul
+  )
 
   rem Move the PDB files
-  move tmp32\lib.pdb "%OUTDIR%\LIB Release"
-  move tmp32dll\lib.pdb "%OUTDIR%\DLL Release"
+  move tmp32\lib.pdb "%OUTDIR%\LIB Release" 1>nul
+  move tmp32dll\lib.pdb "%OUTDIR%\DLL Release" 1>nul
 
   rem Remove the intermediate directories
   rd tmp32 /s /q
@@ -264,12 +292,22 @@
   nmake -f ms\ntdll.mak
 
   rem Move the output directories
-  move out32.dbg "%OUTDIR%\LIB Debug"
-  move out32dll.dbg "%OUTDIR%\DLL Debug"
+  if exist "%OUTDIR%\LIB Debug" (
+    copy /y out32.dbg\* "%OUTDIR%\LIB Debug" 1>nul
+    rd out32.dbg /s /q
+  ) else (
+    move out32.dbg "%OUTDIR%\LIB Debug" 1>nul
+  )
+  if exist "%OUTDIR%\DLL Debug" (
+    copy /y out32dll.dbg\* "%OUTDIR%\DLL Debug" 1>nul
+    rd out32dll.dbg /s /q
+  ) else (
+    move out32dll.dbg "%OUTDIR%\DLL Debug" 1>nul
+  )
 
   rem Move the PDB files
-  move tmp32.dbg\lib.pdb "%OUTDIR%\LIB Debug"
-  move tmp32dll.dbg\lib.pdb "%OUTDIR%\DLL Debug"
+  move tmp32.dbg\lib.pdb "%OUTDIR%\LIB Debug" 1>nul
+  move tmp32dll.dbg\lib.pdb "%OUTDIR%\DLL Debug" 1>nul
 
   rem Remove the intermediate directories
   rd tmp32.dbg /s /q
@@ -285,14 +323,24 @@
   call ms\do_ms
   nmake -f ms\nt.mak
   nmake -f ms\ntdll.mak
-  
+
   rem Move the output directories
-  move out32 "%OUTDIR%\LIB Release"
-  move out32dll "%OUTDIR%\DLL Release"
+  if exist "%OUTDIR%\LIB Release" (
+    copy /y out32\* "%OUTDIR%\LIB Release" 1>nul
+    rd out32 /s /q
+  ) else (
+    move out32 "%OUTDIR%\LIB Release" 1>nul
+  )
+  if exist "%OUTDIR%\DLL Release" (
+    copy /y out32dll\* "%OUTDIR%\DLL Release" 1>nul
+    rd out32dll /s /q
+  ) else (
+    move out32dll "%OUTDIR%\DLL Release" 1>nul
+  )
 
   rem Move the PDB files
-  move tmp32\lib.pdb "%OUTDIR%\LIB Release"
-  move tmp32dll\lib.pdb "%OUTDIR%\DLL Release"
+  move tmp32\lib.pdb "%OUTDIR%\LIB Release" 1>nul
+  move tmp32dll\lib.pdb "%OUTDIR%\DLL Release" 1>nul
 
   rem Remove the intermediate directories
   rd tmp32 /s /q
@@ -303,7 +351,7 @@
 :syntax
   rem Display the help
   echo.
-  echo Usage: build-openssl ^<compiler^> ^<platform^> [configuration] [directory]
+  echo Usage: build-openssl ^<compiler^> [platform] [configuration] [directory]
   echo.
   echo Compiler:
   echo.
diff --git a/projects/build-wolfssl.bat b/projects/build-wolfssl.bat
index 875d6fd..e5cf153 100644
--- a/projects/build-wolfssl.bat
+++ b/projects/build-wolfssl.bat
@@ -6,7 +6,7 @@
 rem *                            | (__| |_| |  _ <| |___
 rem *                             \___|\___/|_| \_\_____|
 rem *
-rem * Copyright (C) 2012 - 2017, Steve Holme, <steve_holme@hotmail.com>.
+rem * Copyright (C) 2012 - 2018, Steve Holme, <steve_holme@hotmail.com>.
 rem * Copyright (C) 2015, Jay Satiro, <raysatiro@yahoo.com>.
 rem *
 rem * This software is licensed as described in the file COPYING, which
@@ -35,6 +35,16 @@
   rem Ensure we have the required arguments
   if /i "%~1" == "" goto syntax
 
+  rem Calculate the program files directory
+  if defined PROGRAMFILES (
+    set "PF=%PROGRAMFILES%"
+    set OS_PLATFORM=x86
+  )
+  if defined PROGRAMFILES(x86) (
+    set "PF=%PROGRAMFILES(x86)%"
+    set OS_PLATFORM=x64
+  )
+
 :parseArgs
   if "%~1" == "" goto prerequisites
 
@@ -62,7 +72,16 @@
     set VC_VER=15.0
     set VC_DESC=VC15
     set VC_TOOLSET=v141
-    set "VC_PATH=Microsoft Visual Studio\2017\Community\VC"
+
+    rem Determine the VC15 path based on the installed edition in decending
+    rem order (Enterprise, then Professional and finally Community)
+    if exist "%PF%\Microsoft Visual Studio\2017\Enterprise\VC" (
+      set "VC_PATH=Microsoft Visual Studio\2017\Enterprise\VC"
+    ) else if exist "%PF%\Microsoft Visual Studio\2017\Professional\VC" (
+      set "VC_PATH=Microsoft Visual Studio\2017\Professional\VC"
+    ) else (
+      set "VC_PATH=Microsoft Visual Studio\2017\Community\VC"
+    )    
   ) else if /i "%~1" == "x86" (
     set BUILD_PLATFORM=x86
   ) else if /i "%~1" == "x64" (
@@ -88,23 +107,12 @@
   shift & goto parseArgs
 
 :prerequisites
-  rem Compiler and platform are required parameters.
+  rem Compiler is a required parameter
   if not defined VC_VER goto syntax
-  if not defined BUILD_PLATFORM goto syntax
 
   rem Default the start directory if one isn't specified
   if not defined START_DIR set START_DIR=..\..\wolfssl
 
-  rem Calculate the program files directory
-  if defined PROGRAMFILES (
-    set "PF=%PROGRAMFILES%"
-    set OS_PLATFORM=x86
-  )
-  if defined PROGRAMFILES(x86) (
-    set "PF=%PROGRAMFILES(x86)%"
-    set OS_PLATFORM=x64
-  )
-
   rem Check we have a program files directory
   if not defined PF goto nopf
 
@@ -291,7 +299,7 @@
 :syntax
   rem Display the help
   echo.
-  echo Usage: build-wolfssl ^<compiler^> ^<platform^> [configuration] [directory]
+  echo Usage: build-wolfssl ^<compiler^> [platform] [configuration] [directory]
   echo.
   echo Compiler:
   echo.
diff --git a/projects/generate.bat b/projects/generate.bat
index f8fb81f..d1fc608 100644
--- a/projects/generate.bat
+++ b/projects/generate.bat
@@ -284,12 +284,14 @@
       call :element %1 lib "strtoofft.c" %3
       call :element %1 lib "nonblock.c" %3
       call :element %1 lib "warnless.c" %3
+      call :element %1 lib "curl_ctype.c" %3
     ) else if "!var!" == "CURL_SRC_X_H_FILES" (
       call :element %1 lib "config-win32.h" %3
       call :element %1 lib "curl_setup.h" %3
       call :element %1 lib "strtoofft.h" %3
       call :element %1 lib "nonblock.h" %3
       call :element %1 lib "warnless.h" %3
+      call :element %1 lib "curl_ctype.h" %3
     ) else if "!var!" == "CURL_LIB_C_FILES" (
       for /f "delims=" %%c in ('dir /b ..\lib\*.c') do call :element %1 lib "%%c" %3
     ) else if "!var!" == "CURL_LIB_H_FILES" (
diff --git a/src/Makefile.inc b/src/Makefile.inc
index 45b4967..e0506c7 100644
--- a/src/Makefile.inc
+++ b/src/Makefile.inc
@@ -12,13 +12,15 @@
 CURLX_CFILES = \
 	../lib/strtoofft.c \
 	../lib/nonblock.c \
-	../lib/warnless.c
+	../lib/warnless.c \
+        ../lib/curl_ctype.c
 
 CURLX_HFILES = \
 	../lib/curl_setup.h \
 	../lib/strtoofft.h \
 	../lib/nonblock.h \
-	../lib/warnless.h
+	../lib/warnless.h \
+        ../lib/curl_ctype.h
 
 CURL_CFILES = \
 	slist_wc.c \
@@ -35,6 +37,7 @@
 	tool_dirhie.c \
 	tool_doswin.c \
 	tool_easysrc.c \
+	tool_filetime.c \
 	tool_formparse.c \
 	tool_getparam.c \
 	tool_getpass.c \
@@ -75,6 +78,7 @@
 	tool_dirhie.h \
 	tool_doswin.h \
 	tool_easysrc.h \
+	tool_filetime.h \
 	tool_formparse.h \
 	tool_getparam.h \
 	tool_getpass.h \
diff --git a/src/Makefile.netware b/src/Makefile.netware
index a927da5..ebe6500 100644
--- a/src/Makefile.netware
+++ b/src/Makefile.netware
@@ -106,7 +106,7 @@
 MTSAFE	= YES
 STACK	= 64000
 SCREEN	= $(TARGET) commandline utility
-# Comment the line below if you dont want to load protected automatically.
+# Comment the line below if you don't want to load protected automatically.
 # LDRING = 3
 
 # Uncomment the next line to enable linking with POSIX semantics.
@@ -178,7 +178,7 @@
 	CFLAGS += -align 4
 else
 	# PRELUDE = $(NDK_CLIB)/imports/clibpre.o
-	# to avoid the __init_* / __deinit_* whoes dont use prelude from NDK
+	# to avoid the __init_* / __deinit_* whoes don't use prelude from NDK
 	PRELUDE = "$(MWCW_PATH)/libraries/runtime/prelude.obj"
 	# CFLAGS += -include "$(MWCW_PATH)/headers/nlm_clib_prefix.h"
 	CFLAGS += -align 1
@@ -201,7 +201,7 @@
 endif
 else
 	# PRELUDE = $(NDK_CLIB)/imports/clibpre.gcc.o
-	# to avoid the __init_* / __deinit_* whoes dont use prelude from NDK
+	# to avoid the __init_* / __deinit_* whoes don't use prelude from NDK
 	# http://www.gknw.net/development/mk_nlm/gcc_pre.zip
 	PRELUDE = $(NDK_ROOT)/pre/prelude.o
 	CFLAGS += -include $(NDKBASE)/nlmconv/genlm.h
diff --git a/src/tool_cb_prg.c b/src/tool_cb_prg.c
index cf3251b..60a3804 100644
--- a/src/tool_cb_prg.c
+++ b/src/tool_cb_prg.c
@@ -35,6 +35,12 @@
 
 #include "memdebug.h" /* keep this as LAST include */
 
+#ifdef HAVE_TERMIOS_H
+#  include <termios.h>
+#elif defined(HAVE_TERMIO_H)
+#  include <termio.h>
+#endif
+
 /* 200 values generated by this perl code:
 
    my $pi = 3.1415;
@@ -78,7 +84,7 @@
   pos = sinus[(bar->tick + 15)%200] / (10000 / check);
   buf[pos] = '#';
 
-  fputs(buf, stderr);
+  fputs(buf, bar->out);
   bar->tick += 2;
   if(bar->tick >= 200)
     bar->tick -= 200;
diff --git a/src/tool_cfgable.c b/src/tool_cfgable.c
index 755195c..81e16c1 100644
--- a/src/tool_cfgable.c
+++ b/src/tool_cfgable.c
@@ -5,7 +5,7 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
@@ -42,6 +42,7 @@
   config->proto_redir_present = FALSE;
   config->proto_default = NULL;
   config->tcp_nodelay = TRUE; /* enabled by default */
+  config->happy_eyeballs_timeout_ms = CURL_HET_DEFAULT;
 }
 
 static void free_config_fields(struct OperationConfig *config)
@@ -113,6 +114,7 @@
   Curl_safefree(config->proxy_capath);
   Curl_safefree(config->crlfile);
   Curl_safefree(config->pinnedpubkey);
+  Curl_safefree(config->proxy_pinnedpubkey);
   Curl_safefree(config->proxy_crlfile);
   Curl_safefree(config->key);
   Curl_safefree(config->proxy_key);
diff --git a/src/tool_cfgable.h b/src/tool_cfgable.h
index ddfc9bf..743ce72 100644
--- a/src/tool_cfgable.h
+++ b/src/tool_cfgable.h
@@ -7,7 +7,7 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
@@ -128,6 +128,7 @@
   char *crlfile;
   char *proxy_crlfile;
   char *pinnedpubkey;
+  char *proxy_pinnedpubkey;
   char *key;
   char *proxy_key;
   char *key_type;
@@ -168,7 +169,7 @@
   long proxy_ssl_version;
   long ip_version;
   curl_TimeCond timecond;
-  time_t condtime;
+  curl_off_t condtime;
   struct curl_slist *headers;
   struct curl_slist *proxyheaders;
   curl_mime *mimepost;
@@ -249,6 +250,8 @@
   curl_error synthetic_error;     /* if non-zero, it overrides any libcurl
                                      error */
   bool ssh_compression;           /* enable/disable SSH compression */
+  long happy_eyeballs_timeout_ms; /* happy eyeballs timeout in milliseconds.
+                                     0 is valid. default: CURL_HET_DEFAULT. */
   struct GlobalConfig *global;
   struct OperationConfig *prev;
   struct OperationConfig *next;   /* Always last in the struct */
diff --git a/src/tool_dirhie.c b/src/tool_dirhie.c
index 1d73592..a01f9dc 100644
--- a/src/tool_dirhie.c
+++ b/src/tool_dirhie.c
@@ -5,7 +5,7 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
@@ -41,9 +41,9 @@
 #  endif
 #endif
 
-#ifdef WIN32
+#if defined(WIN32) || (defined(MSDOS) && !defined(__DJGPP__))
 #  define mkdir(x,y) (mkdir)((x))
-#  ifndef __POCC__
+#  ifndef F_OK
 #    define F_OK 0
 #  endif
 #endif
@@ -91,7 +91,7 @@
  *  should create all the dir* automagically
  */
 
-#ifdef WIN32
+#if defined(WIN32) || defined(__DJGPP__)
 /* systems that may use either or when specifying a path */
 #define PATH_DELIMITERS "\\/"
 #else
diff --git a/src/tool_filetime.c b/src/tool_filetime.c
new file mode 100644
index 0000000..6071e44
--- /dev/null
+++ b/src/tool_filetime.c
@@ -0,0 +1,154 @@
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+ *
+ * This software is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at https://curl.haxx.se/docs/copyright.html.
+ *
+ * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+ * copies of the Software, and permit persons to whom the Software is
+ * furnished to do so, under the terms of the COPYING file.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ***************************************************************************/
+#include "tool_filetime.h"
+
+#ifdef HAVE_UTIME_H
+#  include <utime.h>
+#elif defined(HAVE_SYS_UTIME_H)
+#  include <sys/utime.h>
+#endif
+
+curl_off_t getfiletime(const char *filename, FILE *error_stream)
+{
+  curl_off_t result = -1;
+
+/* Windows stat() may attempt to adjust the unix GMT file time by a daylight
+   saving time offset and since it's GMT that is bad behavior. When we have
+   access to a 64-bit type we can bypass stat and get the times directly. */
+#if defined(WIN32) && (SIZEOF_CURL_OFF_T >= 8)
+  HANDLE hfile;
+
+  hfile = CreateFileA(filename, FILE_READ_ATTRIBUTES,
+                      (FILE_SHARE_READ | FILE_SHARE_WRITE |
+                       FILE_SHARE_DELETE),
+                      NULL, OPEN_EXISTING, 0, NULL);
+  if(hfile != INVALID_HANDLE_VALUE) {
+    FILETIME ft;
+    if(GetFileTime(hfile, NULL, NULL, &ft)) {
+      curl_off_t converted = (curl_off_t)ft.dwLowDateTime
+          | ((curl_off_t)ft.dwHighDateTime) << 32;
+
+      if(converted < CURL_OFF_T_C(116444736000000000)) {
+        fprintf(error_stream,
+                "Failed to get filetime: underflow\n");
+      }
+      else {
+        result = (converted - CURL_OFF_T_C(116444736000000000)) / 10000000;
+      }
+    }
+    else {
+      fprintf(error_stream,
+              "Failed to get filetime: "
+              "GetFileTime failed: GetLastError %u\n",
+              (unsigned int)GetLastError());
+    }
+    CloseHandle(hfile);
+  }
+  else if(GetLastError() != ERROR_FILE_NOT_FOUND) {
+    fprintf(error_stream,
+            "Failed to get filetime: "
+            "CreateFile failed: GetLastError %u\n",
+            (unsigned int)GetLastError());
+  }
+#else
+  struct_stat statbuf;
+  if(-1 != stat(filename, &statbuf)) {
+    result = (curl_off_t)statbuf.st_mtime;
+  }
+  else if(errno != ENOENT) {
+    fprintf(error_stream,
+            "Failed to get filetime: %s\n", strerror(errno));
+  }
+#endif
+  return result;
+}
+
+#if defined(HAVE_UTIME) || defined(HAVE_UTIMES) || \
+    (defined(WIN32) && (SIZEOF_CURL_OFF_T >= 8))
+void setfiletime(curl_off_t filetime, const char *filename,
+    FILE *error_stream)
+{
+  if(filetime >= 0) {
+/* Windows utime() may attempt to adjust the unix GMT file time by a daylight
+   saving time offset and since it's GMT that is bad behavior. When we have
+   access to a 64-bit type we can bypass utime and set the times directly. */
+#if defined(WIN32) && (SIZEOF_CURL_OFF_T >= 8)
+    HANDLE hfile;
+
+    /* 910670515199 is the maximum unix filetime that can be used as a
+       Windows FILETIME without overflow: 30827-12-31T23:59:59. */
+    if(filetime > CURL_OFF_T_C(910670515199)) {
+      fprintf(error_stream,
+              "Failed to set filetime %" CURL_FORMAT_CURL_OFF_T
+              " on outfile: overflow\n", filetime);
+      return;
+    }
+
+    hfile = CreateFileA(filename, FILE_WRITE_ATTRIBUTES,
+                        (FILE_SHARE_READ | FILE_SHARE_WRITE |
+                         FILE_SHARE_DELETE),
+                        NULL, OPEN_EXISTING, 0, NULL);
+    if(hfile != INVALID_HANDLE_VALUE) {
+      curl_off_t converted = ((curl_off_t)filetime * 10000000) +
+                             CURL_OFF_T_C(116444736000000000);
+      FILETIME ft;
+      ft.dwLowDateTime = (DWORD)(converted & 0xFFFFFFFF);
+      ft.dwHighDateTime = (DWORD)(converted >> 32);
+      if(!SetFileTime(hfile, NULL, &ft, &ft)) {
+        fprintf(error_stream,
+                "Failed to set filetime %" CURL_FORMAT_CURL_OFF_T
+                " on outfile: SetFileTime failed: GetLastError %u\n",
+                filetime, (unsigned int)GetLastError());
+      }
+      CloseHandle(hfile);
+    }
+    else {
+      fprintf(error_stream,
+              "Failed to set filetime %" CURL_FORMAT_CURL_OFF_T
+              " on outfile: CreateFile failed: GetLastError %u\n",
+              filetime, (unsigned int)GetLastError());
+    }
+
+#elif defined(HAVE_UTIMES)
+    struct timeval times[2];
+    times[0].tv_sec = times[1].tv_sec = (time_t)filetime;
+    times[0].tv_usec = times[1].tv_usec = 0;
+    if(utimes(filename, times)) {
+      fprintf(error_stream,
+              "Failed to set filetime %" CURL_FORMAT_CURL_OFF_T
+              " on outfile: %s\n", filetime, strerror(errno));
+    }
+
+#elif defined(HAVE_UTIME)
+    struct utimbuf times;
+    times.actime = (time_t)filetime;
+    times.modtime = (time_t)filetime;
+    if(utime(filename, &times)) {
+      fprintf(error_stream,
+              "Failed to set filetime %" CURL_FORMAT_CURL_OFF_T
+              " on outfile: %s\n", filetime, strerror(errno));
+    }
+#endif
+  }
+}
+#endif /* defined(HAVE_UTIME) || defined(HAVE_UTIMES) || \
+          (defined(WIN32) && (SIZEOF_CURL_OFF_T >= 8)) */
diff --git a/src/tool_filetime.h b/src/tool_filetime.h
new file mode 100644
index 0000000..966a70b
--- /dev/null
+++ b/src/tool_filetime.h
@@ -0,0 +1,38 @@
+#ifndef HEADER_CURL_TOOL_FILETIME_H
+#define HEADER_CURL_TOOL_FILETIME_H
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+ *
+ * This software is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at https://curl.haxx.se/docs/copyright.html.
+ *
+ * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+ * copies of the Software, and permit persons to whom the Software is
+ * furnished to do so, under the terms of the COPYING file.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ***************************************************************************/
+#include "tool_setup.h"
+
+curl_off_t getfiletime(const char *filename, FILE *error_stream);
+
+#if defined(HAVE_UTIME) || defined(HAVE_UTIMES) || \
+    (defined(WIN32) && (SIZEOF_CURL_OFF_T >= 8))
+void setfiletime(curl_off_t filetime, const char *filename,
+    FILE *error_stream);
+#else
+#define setfiletime(a,b,c) Curl_nop_stmt
+#endif /* defined(HAVE_UTIME) || defined(HAVE_UTIMES) || \
+          (defined(WIN32) && (SIZEOF_CURL_OFF_T >= 8)) */
+
+#endif /* HEADER_CURL_TOOL_FILETIME_H */
+
diff --git a/src/tool_getparam.c b/src/tool_getparam.c
index 3f40464..7ce9c28 100644
--- a/src/tool_getparam.c
+++ b/src/tool_getparam.c
@@ -5,7 +5,7 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
@@ -31,6 +31,7 @@
 #include "tool_cfgable.h"
 #include "tool_cb_prg.h"
 #include "tool_convert.h"
+#include "tool_filetime.h"
 #include "tool_formparse.h"
 #include "tool_getparam.h"
 #include "tool_helpers.h"
@@ -189,6 +190,7 @@
   {"$X", "tls-max",                  ARG_STRING},
   {"$Y", "suppress-connect-headers", ARG_BOOL},
   {"$Z", "compressed-ssh",           ARG_BOOL},
+  {"$~", "happy-eyeballs-timeout-ms", ARG_STRING},
   {"0",   "http1.0",                 ARG_NONE},
   {"01",  "http1.1",                 ARG_NONE},
   {"02",  "http2",                   ARG_NONE},
@@ -232,6 +234,7 @@
   {"En", "ssl-allow-beast",          ARG_BOOL},
   {"Eo", "login-options",            ARG_STRING},
   {"Ep", "pinnedpubkey",             ARG_STRING},
+  {"EP", "proxy-pinnedpubkey",       ARG_STRING},
   {"Eq", "cert-status",              ARG_BOOL},
   {"Er", "false-start",              ARG_BOOL},
   {"Es", "ssl-no-revoke",            ARG_BOOL},
@@ -652,7 +655,8 @@
       break;
 
       case 'j': /* --compressed */
-        if(toggle && !(curlinfo->features & CURL_VERSION_LIBZ))
+        if(toggle &&
+           !(curlinfo->features & (CURL_VERSION_LIBZ | CURL_VERSION_BROTLI)))
           return PARAM_LIBCURL_DOESNT_SUPPORT;
         config->encoding = toggle;
         break;
@@ -1109,6 +1113,12 @@
       case 'Z': /* --compressed-ssh */
         config->ssh_compression = toggle;
         break;
+      case '~': /* --happy-eyeballs-timeout-ms */
+        err = str2unum(&config->happy_eyeballs_timeout_ms, nextarg);
+        if(err)
+          return err;
+        /* 0 is a valid value for this timeout */
+        break;
       }
       break;
     case '#': /* --progress-bar */
@@ -1500,6 +1510,10 @@
         GetStr(&config->pinnedpubkey, nextarg);
         break;
 
+      case 'P': /* proxy pinned public key */
+        GetStr(&config->proxy_pinnedpubkey, nextarg);
+        break;
+
       case 'q': /* --cert-status */
         config->verifystatus = TRUE;
         break;
@@ -2082,11 +2096,15 @@
         break;
       }
       now = time(NULL);
-      config->condtime = curl_getdate(nextarg, &now);
-      if(-1 == (int)config->condtime) {
+      config->condtime = (curl_off_t)curl_getdate(nextarg, &now);
+      if(-1 == config->condtime) {
         /* now let's see if it is a file name to get the time from instead! */
-        struct_stat statbuf;
-        if(-1 == stat(nextarg, &statbuf)) {
+        curl_off_t filetime = getfiletime(nextarg, config->global->errors);
+        if(filetime >= 0) {
+          /* pull the time out from the file */
+          config->condtime = filetime;
+        }
+        else {
           /* failed, remove time condition */
           config->timecond = CURL_TIMECOND_NONE;
           warnf(global,
@@ -2094,10 +2112,6 @@
                 "a file name). Disabling time condition. "
                 "See curl_getdate(3) for valid date syntax.\n");
         }
-        else {
-          /* pull the time out from the file */
-          config->condtime = statbuf.st_mtime;
-        }
       }
       break;
     default: /* unknown flag */
diff --git a/src/tool_help.c b/src/tool_help.c
index 9dc59cb..9796b7e 100644
--- a/src/tool_help.c
+++ b/src/tool_help.c
@@ -5,7 +5,7 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
@@ -160,6 +160,8 @@
    "Put the post data in the URL and use GET"},
   {"-g, --globoff",
    "Disable URL sequences and ranges using {} and []"},
+  {"    --happy-eyeballs-timeout-ms",
+   "How long to wait in milliseconds for IPv6 before trying IPv4"},
   {"-I, --head",
    "Show document info only"},
   {"-H, --header <header/@file>",
@@ -314,6 +316,8 @@
    "Use NTLM authentication on the proxy"},
   {"    --proxy-pass <phrase>",
    "Pass phrase for the private key for HTTPS proxy"},
+  {"    --proxy-pinnedpubkey <hashes>",
+   "FILE/HASHES public key to verify proxy with"},
   {"    --proxy-service-name <name>",
    "SPNEGO proxy service name"},
   {"    --proxy-ssl-allow-beast",
@@ -505,7 +509,8 @@
   {"HTTP2",          CURL_VERSION_HTTP2},
   {"UnixSockets",    CURL_VERSION_UNIX_SOCKETS},
   {"HTTPS-proxy",    CURL_VERSION_HTTPS_PROXY},
-  {"MultiSSL",       CURL_VERSION_MULTI_SSL}
+  {"MultiSSL",       CURL_VERSION_MULTI_SSL},
+  {"PSL",            CURL_VERSION_PSL},
 };
 
 void tool_help(void)
@@ -549,9 +554,6 @@
 #ifdef USE_METALINK
     printf("Metalink ");
 #endif
-#ifdef USE_LIBPSL
-    printf("PSL ");
-#endif
     puts(""); /* newline */
   }
 }
diff --git a/src/tool_hugehelp.c b/src/tool_hugehelp.c
index be8a492..bc468ec 100644
--- a/src/tool_hugehelp.c
+++ b/src/tool_hugehelp.c
@@ -956,27 +956,40 @@
 "              the < makes a text field and just get the contents for that text\n"
 "              field from a file.\n"
 "\n"
-"              Example: to send an image to an HTTP server, where 'profile'  is\n"
+"              Tell curl to read content from stdin instead of a file by  using\n"
 , stdout);
  fputs(
-"              the  name  of  the  form-field to which portrait.jpg will be the\n"
-"              input:\n"
+"              - as filename. This goes for both @ and < constructs. When stdin\n"
+"              is used, the contents is buffered in memory  first  by  curl  to\n"
+"              determine  its  size  and  allow  a possible resend.  Defining a\n"
+"              part's data from a named non-regular file (such as a named  pipe\n"
+"              or  similar)  is unfortunately not subject to buffering and will\n"
+"              be effectively read at transmission time; since the full size is\n"
+, stdout);
+ fputs(
+"              unknown  before the transfer starts, such data is sent as chunks\n"
+"              by HTTP and rejected by IMAP.\n"
+"\n"
+"              Example: send an image to an HTTP server, where 'profile' is the\n"
+"              name  of  the  form-field to which the file portrait.jpg will be\n"
+"              the input:\n"
 "\n"
 "               curl -F profile=@portrait.jpg https://example.com/upload.cgi\n"
 "\n"
-"              To read content from stdin instead of a file, use - as the file-\n"
-"              name.  This  goes  for  both @ and < constructs. If stdin is not\n"
-"              attached to a regular file, it is buffered  first  to  determine\n"
-"              its  size  and  allow  a possible resend. Defining a part's data\n"
+"              Example: send a your name and shoe size in two  text  fields  to\n"
+"              the server:\n"
+"\n"
 , stdout);
  fputs(
-"              from a named non-regular file (such as a named pipe or  similar)\n"
-"              is  unfortunately  not  subject  to buffering and will be effec-\n"
-"              tively read at transmission time; since the full size is unknown\n"
-"              before  the  transfer starts, data is sent as chunks by HTTP and\n"
-"              rejected by IMAP.\n"
+"               curl -F name=John -F shoesize=11 https://example.com/\n"
 "\n"
-"              You can also  tell  curl  what  Content-Type  to  use  by  using\n"
+"              Example:  send  a your essay in a text field to the server. Send\n"
+"              it as a plain text field, but get the contents  for  it  from  a\n"
+"              local file:\n"
+"\n"
+"               curl -F \"story=<hugefile.txt\" https://example.com/\n"
+"\n"
+"              You  can  also  tell  curl  what  Content-Type  to  use by using\n"
 "              'type=', in a manner similar to:\n"
 "\n"
 , stdout);
@@ -987,36 +1000,36 @@
 "\n"
 "               curl -F \"name=daniel;type=text/foo\" example.com\n"
 "\n"
-"              You  can  also explicitly change the name field of a file upload\n"
+"              You can also explicitly change the name field of a  file  upload\n"
 "              part by setting filename=, like this:\n"
 "\n"
 "               curl -F \"file=@localfile;filename=nameinpost\" example.com\n"
 "\n"
-"              If filename/path contains ',' or ';', it must be quoted by  dou-\n"
+"              If  filename/path contains ',' or ';', it must be quoted by dou-\n"
 "              ble-quotes like:\n"
 "\n"
 , stdout);
  fputs(
-"               curl   -F  \"file=@\\\"localfile\\\";filename=\\\"nameinpost\\\"\"  exam-\n"
+"               curl  -F  \"file=@\\\"localfile\\\";filename=\\\"nameinpost\\\"\"   exam-\n"
 "              ple.com\n"
 "\n"
 "              or\n"
 "\n"
 "               curl -F 'file=@\"localfile\";filename=\"nameinpost\"' example.com\n"
 "\n"
-"              Note that if a filename/path is  quoted  by  double-quotes,  any\n"
+"              Note  that  if  a  filename/path is quoted by double-quotes, any\n"
 "              double-quote or backslash within the filename must be escaped by\n"
 "              backslash.\n"
 "\n"
-"              Quoting must also be applied to non-file  data  if  it  contains\n"
+"              Quoting  must  also  be  applied to non-file data if it contains\n"
 , stdout);
  fputs(
 "              semicolons, leading/trailing spaces or leading double quotes:\n"
 "\n"
-"               curl  -F  'colors=\"red;  green;  blue\";type=text/x-myapp' exam-\n"
+"               curl -F  'colors=\"red;  green;  blue\";type=text/x-myapp'  exam-\n"
 "              ple.com\n"
 "\n"
-"              You can add custom headers to the  field  by  setting  headers=,\n"
+"              You  can  add  custom  headers to the field by setting headers=,\n"
 "              like\n"
 "\n"
 "                curl -F \"submit=OK;headers=\\\"X-submit-type: OK\\\"\" example.com\n"
@@ -1027,12 +1040,12 @@
 "\n"
 , stdout);
  fputs(
-"              The  headers=  keyword may appear more that once and above notes\n"
-"              about quoting apply. When headers are read from  a  file,  Empty\n"
+"              The headers= keyword may appear more that once and  above  notes\n"
+"              about  quoting  apply.  When headers are read from a file, Empty\n"
 "              lines and lines starting with '#' are comments and ignored; each\n"
 "              header can be folded by splitting between two words and starting\n"
-"              the  continuation  line  with a space; embedded carriage-returns\n"
-"              and trailing spaces are stripped.   Here  is  an  example  of  a\n"
+"              the continuation line with a  space;  embedded  carriage-returns\n"
+"              and  trailing  spaces  are  stripped.   Here  is an example of a\n"
 , stdout);
  fputs(
 "              header file contents:\n"
@@ -1044,17 +1057,17 @@
 "                X-header-2: this is\n"
 "                 another header\n"
 "\n"
-"              To  support  sending  multipart  mail  messages,  the  syntax is\n"
+"              To support  sending  multipart  mail  messages,  the  syntax  is\n"
 "              extended as follows:\n"
-"              - name can be omitted: the equal sign is the first character  of\n"
+"              -  name can be omitted: the equal sign is the first character of\n"
 "              the argument,\n"
 , stdout);
  fputs(
-"              -  if  data  starts with '(', this signals to start a new multi-\n"
+"              - if data starts with '(', this signals to start  a  new  multi-\n"
 "              part: it can be followed by a content type specification.\n"
 "              - a multipart can be terminated with a '=)' argument.\n"
 "\n"
-"              Example: the following command sends an SMTP  mime  e-mail  con-\n"
+"              Example:  the  following  command sends an SMTP mime e-mail con-\n"
 "              sisting in an inline part in two alternative formats: plain text\n"
 "              and HTML. It attaches a text file:\n"
 "\n"
@@ -1065,16 +1078,16 @@
 "                       -F '= <body>HTML message</body>;type=text/html' \\\n"
 "                    -F '=)' -F '=@textfile.txt' ...  smtp://example.com\n"
 "\n"
-"              Data can be  encoded  for  transfer  using  encoder=.  Available\n"
-"              encodings  are  binary and 8bit that do nothing else than adding\n"
-"              the corresponding Content-Transfer-Encoding  header,  7bit  that\n"
+"              Data  can  be  encoded  for  transfer  using encoder=. Available\n"
+"              encodings are binary and 8bit that do nothing else  than  adding\n"
+"              the  corresponding  Content-Transfer-Encoding  header, 7bit that\n"
 , stdout);
  fputs(
-"              only  rejects  8-bit  characters  with a transfer error, quoted-\n"
-"              printable and base64 that encodes data according to  the  corre-\n"
+"              only rejects 8-bit characters with  a  transfer  error,  quoted-\n"
+"              printable  and  base64 that encodes data according to the corre-\n"
 "              sponding schemes, limiting lines length to 76 characters.\n"
 "\n"
-"              Example:  send  multipart mail with a quoted-printable text mes-\n"
+"              Example: send multipart mail with a quoted-printable  text  mes-\n"
 "              sage and a base64 attached file:\n"
 "\n"
 "               curl -F '=text message;encoder=quoted-printable' \\\n"
@@ -1090,7 +1103,7 @@
 "\n"
 "       --ftp-account <data>\n"
 "              (FTP) When an FTP server asks for \"account data\" after user name\n"
-"              and  password has been provided, this data is sent off using the\n"
+"              and password has been provided, this data is sent off using  the\n"
 "              ACCT command.\n"
 "\n"
 "              If this option is used several times, the last one will be used.\n"
@@ -1100,46 +1113,46 @@
 "              Added in 7.13.0.\n"
 "\n"
 "       --ftp-alternative-to-user <command>\n"
-"              (FTP) If authenticating with the USER and PASS  commands  fails,\n"
-"              send  this  command.   When  connecting  to  Tumbleweed's Secure\n"
-"              Transport server over FTPS using  a  client  certificate,  using\n"
-"              \"SITE  AUTH\"  will tell the server to retrieve the username from\n"
+"              (FTP)  If  authenticating with the USER and PASS commands fails,\n"
+"              send this  command.   When  connecting  to  Tumbleweed's  Secure\n"
+"              Transport  server  over  FTPS  using a client certificate, using\n"
+"              \"SITE AUTH\" will tell the server to retrieve the  username  from\n"
 "              the certificate.\n"
 "              Added in 7.15.5.\n"
 "\n"
 "       --ftp-create-dirs\n"
 , stdout);
  fputs(
-"              (FTP SFTP) When an FTP or SFTP URL/operation uses  a  path  that\n"
-"              doesn't  currently exist on the server, the standard behavior of\n"
+"              (FTP  SFTP)  When  an FTP or SFTP URL/operation uses a path that\n"
+"              doesn't currently exist on the server, the standard behavior  of\n"
 "              curl is to fail. Using this option, curl will instead attempt to\n"
 "              create missing directories.\n"
 "\n"
 "              See also --create-dirs.\n"
 "\n"
 "       --ftp-method <method>\n"
-"              (FTP)  Control what method curl should use to reach a file on an\n"
+"              (FTP) Control what method curl should use to reach a file on  an\n"
 , stdout);
  fputs(
-"              FTP(S) server. The method argument should be one of the  follow-\n"
+"              FTP(S)  server. The method argument should be one of the follow-\n"
 "              ing alternatives:\n"
 "\n"
 "              multicwd\n"
-"                     curl  does  a  single CWD operation for each path part in\n"
-"                     the given URL. For deep hierarchies this means very  many\n"
-"                     commands.  This  is  how RFC 1738 says it should be done.\n"
+"                     curl does a single CWD operation for each  path  part  in\n"
+"                     the  given URL. For deep hierarchies this means very many\n"
+"                     commands. This is how RFC 1738 says it  should  be  done.\n"
 "                     This is the default but the slowest behavior.\n"
 "\n"
 , stdout);
  fputs(
-"              nocwd  curl does no CWD at all. curl will do  SIZE,  RETR,  STOR\n"
+"              nocwd  curl  does  no  CWD at all. curl will do SIZE, RETR, STOR\n"
 "                     etc and give a full path to the server for all these com-\n"
 "                     mands. This is the fastest behavior.\n"
 "\n"
 "              singlecwd\n"
 "                     curl does one CWD with the full target directory and then\n"
-"                     operates  on  the  file  \"normally\" (like in the multicwd\n"
-"                     case). This is somewhat  more  standards  compliant  than\n"
+"                     operates on the file \"normally\"  (like  in  the  multicwd\n"
+"                     case).  This  is  somewhat  more standards compliant than\n"
 , stdout);
  fputs(
 "                     'nocwd' but without the full penalty of 'multicwd'.\n"
@@ -1147,12 +1160,12 @@
 "       Added in 7.15.1.\n"
 "\n"
 "       --ftp-pasv\n"
-"              (FTP)  Use  passive mode for the data connection. Passive is the\n"
-"              internal default behavior, but using this option can be used  to\n"
+"              (FTP) Use passive mode for the data connection. Passive  is  the\n"
+"              internal  default behavior, but using this option can be used to\n"
 "              override a previous -P, --ftp-port option.\n"
 "\n"
-"              If  this  option  is  used  several times, only the first one is\n"
-"              used. Undoing an enforced passive really isn't  doable  but  you\n"
+"              If this option is used several times,  only  the  first  one  is\n"
+"              used.  Undoing  an  enforced passive really isn't doable but you\n"
 , stdout);
  fputs(
 "              must then instead enforce the correct -P, --ftp-port again.\n"
@@ -1162,17 +1175,17 @@
 "              See also --disable-epsv. Added in 7.11.0.\n"
 "\n"
 "       -P, --ftp-port <address>\n"
-"              (FTP) Reverses the default initiator/listener  roles  when  con-\n"
-"              necting  with  FTP. This option makes curl use active mode. curl\n"
+"              (FTP)  Reverses  the  default initiator/listener roles when con-\n"
+"              necting with FTP. This option makes curl use active  mode.  curl\n"
 , stdout);
  fputs(
-"              then tells the server to connect back to the client's  specified\n"
+"              then  tells the server to connect back to the client's specified\n"
 "              address and port, while passive mode asks the server to setup an\n"
-"              IP address and port for it to connect to.  <address>  should  be\n"
+"              IP  address  and  port for it to connect to. <address> should be\n"
 "              one of:\n"
 "\n"
 "              interface\n"
-"                     i.e  \"eth0\"  to  specify which interface's IP address you\n"
+"                     i.e \"eth0\" to specify which interface's  IP  address  you\n"
 "                     want to use (Unix only)\n"
 "\n"
 "              IP address\n"
@@ -1183,20 +1196,20 @@
 "              host name\n"
 "                     i.e \"my.host.domain\" to specify the machine\n"
 "\n"
-"              -      make curl pick the same IP address that is  already  used\n"
+"              -      make  curl  pick the same IP address that is already used\n"
 "                     for the control connection\n"
 "\n"
-"       If  this  option is used several times, the last one will be used. Dis-\n"
-"       able the use of PORT with --ftp-pasv. Disable the attempt  to  use  the\n"
+"       If this option is used several times, the last one will be  used.  Dis-\n"
+"       able  the  use  of PORT with --ftp-pasv. Disable the attempt to use the\n"
 , stdout);
  fputs(
-"       EPRT  command  instead  of PORT by using --disable-eprt. EPRT is really\n"
+"       EPRT command instead of PORT by using --disable-eprt.  EPRT  is  really\n"
 "       PORT++.\n"
 "\n"
-"       Since 7.19.5, you can append  \":[start]-[end]\"  to  the  right  of  the\n"
-"       address,  to tell curl what TCP port range to use. That means you spec-\n"
-"       ify a port range, from a lower to a  higher  number.  A  single  number\n"
-"       works  as well, but do note that it increases the risk of failure since\n"
+"       Since  7.19.5,  you  can  append  \":[start]-[end]\"  to the right of the\n"
+"       address, to tell curl what TCP port range to use. That means you  spec-\n"
+"       ify  a  port  range,  from  a lower to a higher number. A single number\n"
+"       works as well, but do note that it increases the risk of failure  since\n"
 "       the port may not be available.\n"
 "\n"
 "       See also --ftp-pasv and --disable-eprt.\n"
@@ -1204,28 +1217,28 @@
 , stdout);
  fputs(
 "       --ftp-pret\n"
-"              (FTP) Tell curl to send a PRET command before PASV  (and  EPSV).\n"
-"              Certain  FTP  servers,  mainly drftpd, require this non-standard\n"
-"              command for directory listings as well as up  and  downloads  in\n"
+"              (FTP)  Tell  curl to send a PRET command before PASV (and EPSV).\n"
+"              Certain FTP servers, mainly drftpd,  require  this  non-standard\n"
+"              command  for  directory  listings as well as up and downloads in\n"
 "              PASV mode.\n"
 "\n"
 "              Added in 7.20.0.\n"
 "\n"
 "       --ftp-skip-pasv-ip\n"
 "              (FTP) Tell curl to not use the IP address the server suggests in\n"
-"              its response to curl's PASV command when curl connects the  data\n"
+"              its  response to curl's PASV command when curl connects the data\n"
 , stdout);
  fputs(
-"              connection.  Instead  curl  will  re-use  the same IP address it\n"
+"              connection. Instead curl will re-use  the  same  IP  address  it\n"
 "              already uses for the control connection.\n"
 "\n"
-"              This option has no effect if PORT, EPRT or EPSV is used  instead\n"
+"              This  option has no effect if PORT, EPRT or EPSV is used instead\n"
 "              of PASV.\n"
 "\n"
 "              See also --ftp-pasv. Added in 7.14.2.\n"
 "\n"
 "       --ftp-ssl-ccc-mode <active/passive>\n"
-"              (FTP)  Sets the CCC mode. The passive mode will not initiate the\n"
+"              (FTP) Sets the CCC mode. The passive mode will not initiate  the\n"
 "              shutdown, but instead wait for the server to do it, and will not\n"
 , stdout);
  fputs(
@@ -1235,9 +1248,9 @@
 "              See also --ftp-ssl-ccc. Added in 7.16.2.\n"
 "\n"
 "       --ftp-ssl-ccc\n"
-"              (FTP) Use CCC (Clear Command Channel)  Shuts  down  the  SSL/TLS\n"
+"              (FTP)  Use  CCC  (Clear  Command Channel) Shuts down the SSL/TLS\n"
 "              layer after authenticating. The rest of the control channel com-\n"
-"              munication will be unencrypted. This allows NAT routers to  fol-\n"
+"              munication  will be unencrypted. This allows NAT routers to fol-\n"
 , stdout);
  fputs(
 "              low the FTP transaction. The default mode is passive.\n"
@@ -1245,9 +1258,9 @@
 "              See also --ssl and --ftp-ssl-ccc-mode. Added in 7.16.1.\n"
 "\n"
 "       --ftp-ssl-control\n"
-"              (FTP)  Require  SSL/TLS  for  the FTP login, clear for transfer.\n"
-"              Allows secure authentication, but non-encrypted  data  transfers\n"
-"              for  efficiency.   Fails the transfer if the server doesn't sup-\n"
+"              (FTP) Require SSL/TLS for the FTP  login,  clear  for  transfer.\n"
+"              Allows  secure  authentication, but non-encrypted data transfers\n"
+"              for efficiency.  Fails the transfer if the server  doesn't  sup-\n"
 "              port SSL/TLS.\n"
 "\n"
 "              Added in 7.16.0.\n"
@@ -1255,63 +1268,85 @@
 "       -G, --get\n"
 , stdout);
  fputs(
-"              When used, this option will make all  data  specified  with  -d,\n"
-"              --data,  --data-binary or --data-urlencode to be used in an HTTP\n"
-"              GET request instead of the POST request that otherwise would  be\n"
+"              When  used,  this  option  will make all data specified with -d,\n"
+"              --data, --data-binary or --data-urlencode to be used in an  HTTP\n"
+"              GET  request instead of the POST request that otherwise would be\n"
 "              used. The data will be appended to the URL with a '?' separator.\n"
-"              If  used  in  combination  with  -I,  --head, the POST data will\n"
+"              If used in combination with  -I,  --head,  the  POST  data  will\n"
 "              instead be appended to the URL with a HEAD request.\n"
 "\n"
 , stdout);
  fputs(
-"              If this option is used several times,  only  the  first  one  is\n"
-"              used.  This is because undoing a GET doesn't make sense, but you\n"
+"              If  this  option  is  used  several times, only the first one is\n"
+"              used. This is because undoing a GET doesn't make sense, but  you\n"
 "              should then instead enforce the alternative method you prefer.\n"
 "\n"
 "       -g, --globoff\n"
 "              This option switches off the \"URL globbing parser\". When you set\n"
-"              this  option, you can specify URLs that contain the letters {}[]\n"
-"              without having them being interpreted by curl itself. Note  that\n"
+"              this option, you can specify URLs that contain the letters  {}[]\n"
+"              without  having them being interpreted by curl itself. Note that\n"
 , stdout);
  fputs(
-"              these  letters are not normal legal URL contents but they should\n"
+"              these letters are not normal legal URL contents but they  should\n"
 "              be encoded according to the URI standard.\n"
 "\n"
+"       --happy-eyeballs-timeout-ms <milliseconds>\n"
+"              Happy  eyeballs is an algorithm that attempts to connect to both\n"
+"              IPv4 and IPv6 addresses for dual-stack  hosts,  preferring  IPv6\n"
+"              first for the number of milliseconds. If the IPv6 address cannot\n"
+, stdout);
+ fputs(
+"              be connected to within that time then a  connection  attempt  is\n"
+"              made to the IPv4 address in parallel. The first connection to be\n"
+"              established is the one that is used.\n"
+"\n"
+"              The range of suggested useful values is limited. Happy  Eyeballs\n"
+"              RFC  6555  says  \"It  is RECOMMENDED that connection attempts be\n"
+"              paced 150-250 ms apart to balance human factors against  network\n"
+, stdout);
+ fputs(
+"              load.\"  libcurl currently defaults to 200 ms. Firefox and Chrome\n"
+"              currently default to 300 ms.\n"
+"\n"
+"              If this option is used several times, the last one will be used.\n"
+"\n"
+"              Added in 7.59.0.\n"
+"\n"
 "       -I, --head\n"
 "              (HTTP FTP FILE) Fetch the headers only! HTTP-servers feature the\n"
 "              command  HEAD which this uses to get nothing but the header of a\n"
 "              document. When used on an FTP or FILE file,  curl  displays  the\n"
+, stdout);
+ fputs(
 "              file size and last modification time only.\n"
 "\n"
 "       -H, --header <header/@file>\n"
-, stdout);
- fputs(
 "              (HTTP)  Extra header to include in the request when sending HTTP\n"
 "              to a server. You may specify any number of extra  headers.  Note\n"
 "              that if you should add a custom header that has the same name as\n"
 "              one of the internal ones curl would  use,  your  externally  set\n"
 "              header will be used instead of the internal one. This allows you\n"
-"              to make even trickier stuff than curl  would  normally  do.  You\n"
 , stdout);
  fputs(
+"              to make even trickier stuff than curl  would  normally  do.  You\n"
 "              should  not  replace internally set headers without knowing per-\n"
 "              fectly well what you're doing. Remove an internal header by giv-\n"
 "              ing  a  replacement  without  content  on  the right side of the\n"
 "              colon, as in: -H \"Host:\". If you send the custom header with no-\n"
 "              value  then its header must be terminated with a semicolon, such\n"
-"              as -H \"X-Custom-Header;\" to send \"X-Custom-Header:\".\n"
-"\n"
 , stdout);
  fputs(
+"              as -H \"X-Custom-Header;\" to send \"X-Custom-Header:\".\n"
+"\n"
 "              curl will make sure that each header  you  add/replace  is  sent\n"
 "              with the proper end-of-line marker, you should thus not add that\n"
 "              as a part of the header content: do not add newlines or carriage\n"
 "              returns, they will only mess things up for you.\n"
 "\n"
 "              Starting  in  7.55.0, this option can take an argument in @file-\n"
-"              name style, which then adds a header for each line in the  input\n"
 , stdout);
  fputs(
+"              name style, which then adds a header for each line in the  input\n"
 "              file. Using @- will make curl read the header file from stdin.\n"
 "\n"
 "              See also the -A, --user-agent and -e, --referer options.\n"
@@ -1323,9 +1358,9 @@
 "\n"
 "               curl -H \"X-First-Name: Joe\" http://example.com/\n"
 "\n"
-"              WARNING: headers set  with  this  option  will  be  set  in  all\n"
 , stdout);
  fputs(
+"              WARNING: headers set  with  this  option  will  be  set  in  all\n"
 "              requests  -  even  after  redirects are followed, like when told\n"
 "              with -L, --location. This can lead to the header being  sent  to\n"
 "              other  hosts than the original host, so sensitive headers should\n"
@@ -1334,9 +1369,9 @@
 "              This option can be used  multiple  times  to  add/replace/remove\n"
 "              multiple headers.\n"
 "\n"
-"       -h, --help\n"
 , stdout);
  fputs(
+"       -h, --help\n"
 "              Usage  help.  This lists all current command line options with a\n"
 "              short description.\n"
 "       --hostpubmd5 <md5>\n"
@@ -2116,33 +2151,34 @@
 "\n"
 "              This  progress  bar draws a single line of '#' characters across\n"
 "              the screen and shows a percentage if the transfer size is known.\n"
-"              For  transfers  without a known size, it will instead output one\n"
-"              '#' character for every 1024 bytes transferred.\n"
+"              For  transfers  without  a  known size, there will be space ship\n"
+"              (-=o=-) that moves back and forth but only while data  is  being\n"
+"              transferred, with a set of flying hash sign symbols on top.\n"
 "\n"
 "       --proto-default <protocol>\n"
-"              Tells curl to use protocol for any URL missing a scheme name.\n"
-"\n"
 , stdout);
  fputs(
+"              Tells curl to use protocol for any URL missing a scheme name.\n"
+"\n"
 "              Example:\n"
 "\n"
 "               curl --proto-default https ftp.mozilla.org\n"
 "\n"
-"              An unknown or unsupported  protocol  causes  error  CURLE_UNSUP-\n"
+"              An  unknown  or  unsupported  protocol causes error CURLE_UNSUP-\n"
 "              PORTED_PROTOCOL (1).\n"
 "\n"
 "              This option does not change the default proxy protocol (http).\n"
 "\n"
-"              Without  this  option curl would make a guess based on the host,\n"
+"              Without this option curl would make a guess based on  the  host,\n"
 "              see --url for details.\n"
 "\n"
+, stdout);
+ fputs(
 "              Added in 7.45.0.\n"
 "\n"
 "       --proto-redir <protocols>\n"
-, stdout);
- fputs(
-"              Tells curl to limit what protocols it may use on redirect.  Pro-\n"
-"              tocols  denied by --proto are not overridden by this option. See\n"
+"              Tells  curl to limit what protocols it may use on redirect. Pro-\n"
+"              tocols denied by --proto are not overridden by this option.  See\n"
 "              --proto for how protocols are represented.\n"
 "\n"
 "              Example, allow only HTTP and HTTPS on redirect:\n"
@@ -2152,30 +2188,30 @@
 "              By default curl will allow all protocols on redirect except sev-\n"
 , stdout);
  fputs(
-"              eral  disabled  for  security reasons: Since 7.19.4 FILE and SCP\n"
-"              are disabled, and since 7.40.0 SMB and SMBS are  also  disabled.\n"
-"              Specifying  all  or  +all  enables  all  protocols  on redirect,\n"
+"              eral disabled for security reasons: Since 7.19.4  FILE  and  SCP\n"
+"              are  disabled,  and since 7.40.0 SMB and SMBS are also disabled.\n"
+"              Specifying all  or  +all  enables  all  protocols  on  redirect,\n"
 "              including those disabled for security.\n"
 "\n"
 "              Added in 7.20.2.\n"
 "\n"
 "       --proto <protocols>\n"
-"              Tells curl to limit what protocols it may use in  the  transfer.\n"
+"              Tells  curl  to limit what protocols it may use in the transfer.\n"
 , stdout);
  fputs(
-"              Protocols  are evaluated left to right, are comma separated, and\n"
+"              Protocols are evaluated left to right, are comma separated,  and\n"
 "              are each a protocol name or\n"
 "\n"
 "              +  Permit this protocol in addition to protocols already permit-\n"
 "                 ted (this is the default if no modifier is used).\n"
 "\n"
-"              -  Deny  this  protocol,  removing it from the list of protocols\n"
+"              -  Deny this protocol, removing it from the  list  of  protocols\n"
 "                 already permitted.\n"
 "\n"
-"              =  Permit only this protocol (ignoring the list already  permit-\n"
+"              =  Permit  only this protocol (ignoring the list already permit-\n"
 , stdout);
  fputs(
-"                 ted),  though  subject  to  later  modification by subsequent\n"
+"                 ted), though subject  to  later  modification  by  subsequent\n"
 "                 entries in the comma separated list.\n"
 "\n"
 "              For example:\n"
@@ -2192,7 +2228,7 @@
  fputs(
 "       Unknown protocols produce a warning. This allows scripts to safely rely\n"
 "       on being able to disable potentially dangerous protocols, without rely-\n"
-"       ing upon support for that protocol being built into curl  to  avoid  an\n"
+"       ing  upon  support  for that protocol being built into curl to avoid an\n"
 "       error.\n"
 "\n"
 "       This option can be used multiple times, in which case the effect is the\n"
@@ -2203,19 +2239,19 @@
 "       --proxy-anyauth\n"
 , stdout);
  fputs(
-"              Tells curl to pick a suitable authentication method when  commu-\n"
-"              nicating  with  the  given HTTP proxy. This might cause an extra\n"
+"              Tells  curl to pick a suitable authentication method when commu-\n"
+"              nicating with the given HTTP proxy. This might  cause  an  extra\n"
 "              request/response round-trip.\n"
 "\n"
 "              See also -x, --proxy and --proxy-basic and --proxy-digest. Added\n"
 "              in 7.13.2.\n"
 "\n"
 "       --proxy-basic\n"
-"              Tells  curl  to use HTTP Basic authentication when communicating\n"
+"              Tells curl to use HTTP Basic authentication  when  communicating\n"
 "              with the given proxy. Use --basic for enabling HTTP Basic with a\n"
 , stdout);
  fputs(
-"              remote  host.  Basic  is  the default authentication method curl\n"
+"              remote host. Basic is the  default  authentication  method  curl\n"
 "              uses with proxies.\n"
 "\n"
 "              See also -x, --proxy and --proxy-anyauth and --proxy-digest.\n"
@@ -2223,7 +2259,7 @@
 "       --proxy-cacert <file>\n"
 "              Same as --cacert but used in HTTPS proxy context.\n"
 "\n"
-"              See also  --proxy-capath  and  --cacert  and  --capath  and  -x,\n"
+"              See  also  --proxy-capath  and  --cacert  and  --capath  and -x,\n"
 "              --proxy. Added in 7.52.0.\n"
 "\n"
 "       --proxy-capath <dir>\n"
@@ -2231,7 +2267,7 @@
 "\n"
 , stdout);
  fputs(
-"              See  also  --proxy-cacert and -x, --proxy and --capath. Added in\n"
+"              See also --proxy-cacert and -x, --proxy and --capath.  Added  in\n"
 "              7.52.0.\n"
 "\n"
 "       --proxy-cert-type <type>\n"
@@ -2257,7 +2293,7 @@
 "              Added in 7.52.0.\n"
 "\n"
 "       --proxy-digest\n"
-"              Tells curl to use HTTP Digest authentication when  communicating\n"
+"              Tells  curl to use HTTP Digest authentication when communicating\n"
 "              with the given proxy. Use --digest for enabling HTTP Digest with\n"
 "              a remote host.\n"
 "\n"
@@ -2266,30 +2302,30 @@
 "       --proxy-header <header/@file>\n"
 , stdout);
  fputs(
-"              (HTTP) Extra header to include in the request when sending  HTTP\n"
+"              (HTTP)  Extra header to include in the request when sending HTTP\n"
 "              to a proxy. You may specify any number of extra headers. This is\n"
-"              the equivalent option to -H, --header but is for proxy  communi-\n"
-"              cation  only  like  in CONNECT requests when you want a separate\n"
-"              header sent to the proxy to what is sent to  the  actual  remote\n"
+"              the  equivalent option to -H, --header but is for proxy communi-\n"
+"              cation only like in CONNECT requests when you  want  a  separate\n"
+"              header  sent  to  the proxy to what is sent to the actual remote\n"
 "              host.\n"
 "\n"
-"              curl  will  make  sure  that each header you add/replace is sent\n"
+"              curl will make sure that each header  you  add/replace  is  sent\n"
 , stdout);
  fputs(
 "              with the proper end-of-line marker, you should thus not add that\n"
 "              as a part of the header content: do not add newlines or carriage\n"
 "              returns, they will only mess things up for you.\n"
 "\n"
-"              Headers specified with this  option  will  not  be  included  in\n"
+"              Headers  specified  with  this  option  will  not be included in\n"
 "              requests that curl knows will not be sent to a proxy.\n"
 "\n"
-"              Starting  in  7.55.0, this option can take an argument in @file-\n"
+"              Starting in 7.55.0, this option can take an argument  in  @file-\n"
 , stdout);
  fputs(
-"              name style, which then adds a header for each line in the  input\n"
+"              name  style, which then adds a header for each line in the input\n"
 "              file. Using @- will make curl read the header file from stdin.\n"
 "\n"
-"              This  option  can  be  used multiple times to add/replace/remove\n"
+"              This option can be used  multiple  times  to  add/replace/remove\n"
 "              multiple headers.\n"
 "\n"
 "              Added in 7.37.0.\n"
@@ -2309,7 +2345,7 @@
 "              Same as --key but used in HTTPS proxy context.\n"
 "\n"
 "       --proxy-negotiate\n"
-"              Tells curl to use HTTP Negotiate  (SPNEGO)  authentication  when\n"
+"              Tells  curl  to  use HTTP Negotiate (SPNEGO) authentication when\n"
 "              communicating with the given proxy. Use --negotiate for enabling\n"
 "              HTTP Negotiate (SPNEGO) with a remote host.\n"
 "\n"
@@ -2318,7 +2354,7 @@
 "              See also --proxy-anyauth and --proxy-basic. Added in 7.17.1.\n"
 "\n"
 "       --proxy-ntlm\n"
-"              Tells curl to use HTTP NTLM  authentication  when  communicating\n"
+"              Tells  curl  to  use HTTP NTLM authentication when communicating\n"
 "              with the given proxy. Use --ntlm for enabling NTLM with a remote\n"
 "              host.\n"
 "\n"
@@ -2329,10 +2365,29 @@
 "\n"
 "              Added in 7.52.0.\n"
 "\n"
-"       --proxy-service-name <name>\n"
+"       --proxy-pinnedpubkey <hashes>\n"
 , stdout);
  fputs(
-"              This option allows you to change  the  service  name  for  proxy\n"
+"              (TLS)  Tells  curl  to  use  the  specified  public key file (or\n"
+"              hashes) to verify the proxy. This can be a path to a file  which\n"
+"              contains a single public key in PEM or DER format, or any number\n"
+"              of base64 encoded sha256 hashes preceded by 'sha256//' and sepa-\n"
+"              rated by ';'\n"
+"\n"
+"              When  negotiating  a  TLS  or SSL connection, the server sends a\n"
+, stdout);
+ fputs(
+"              certificate indicating its identity. A public key  is  extracted\n"
+"              from  this certificate and if it does not exactly match the pub-\n"
+"              lic key provided to this option, curl will abort the  connection\n"
+"              before sending or receiving any data.\n"
+"\n"
+"              If this option is used several times, the last one will be used.\n"
+"\n"
+"       --proxy-service-name <name>\n"
+"              This  option  allows  you  to  change the service name for proxy\n"
+, stdout);
+ fputs(
 "              negotiation.\n"
 "\n"
 "              Added in 7.43.0.\n"
@@ -2348,12 +2403,12 @@
 "              Added in 7.52.0.\n"
 "\n"
 "       --proxy-tlspassword <string>\n"
-, stdout);
- fputs(
 "              Same as --tlspassword but used in HTTPS proxy context.\n"
 "\n"
 "              Added in 7.52.0.\n"
 "\n"
+, stdout);
+ fputs(
 "       --proxy-tlsuser <name>\n"
 "              Same as --tlsuser but used in HTTPS proxy context.\n"
 "\n"
@@ -2365,13 +2420,13 @@
 "              Added in 7.52.0.\n"
 "\n"
 "       -U, --proxy-user <user:password>\n"
-"              Specify  the user name and password to use for proxy authentica-\n"
+"              Specify the user name and password to use for proxy  authentica-\n"
 "              tion.\n"
 "\n"
+"              If  you  use  a  Windows  SSPI-enabled curl binary and do either\n"
 , stdout);
  fputs(
-"              If you use a Windows SSPI-enabled  curl  binary  and  do  either\n"
-"              Negotiate  or  NTLM  authentication  then  you  can tell curl to\n"
+"              Negotiate or NTLM authentication  then  you  can  tell  curl  to\n"
 "              select the user name and password from your environment by spec-\n"
 "              ifying a single colon with this option: \"-U :\".\n"
 "\n"
@@ -2380,34 +2435,34 @@
 "       -x, --proxy [protocol://]host[:port]\n"
 "              Use the specified proxy.\n"
 "\n"
+"              The proxy string can be specified with a protocol:// prefix.  No\n"
 , stdout);
  fputs(
-"              The  proxy string can be specified with a protocol:// prefix. No\n"
 "              protocol specified or http:// will be treated as HTTP proxy. Use\n"
 "              socks4://, socks4a://, socks5:// or socks5h:// to request a spe-\n"
 "              cific SOCKS version to be used.  (The protocol support was added\n"
 "              in curl 7.21.7)\n"
 "\n"
-"              HTTPS  proxy  support  via https:// protocol prefix was added in\n"
+"              HTTPS proxy support via https:// protocol prefix  was  added  in\n"
 "              7.52.0 for OpenSSL, GnuTLS and NSS.\n"
 "\n"
+"              Unrecognized  and  unsupported  proxy  protocols  cause an error\n"
 , stdout);
  fputs(
-"              Unrecognized and unsupported  proxy  protocols  cause  an  error\n"
-"              since  7.52.0.   Prior  versions may ignore the protocol and use\n"
+"              since 7.52.0.  Prior versions may ignore the  protocol  and  use\n"
 "              http:// instead.\n"
 "\n"
-"              If the port number is not specified in the proxy string,  it  is\n"
+"              If  the  port number is not specified in the proxy string, it is\n"
 "              assumed to be 1080.\n"
 "\n"
-"              This  option  overrides  existing environment variables that set\n"
-"              the proxy to use. If there's an environment variable  setting  a\n"
-, stdout);
- fputs(
+"              This option overrides existing environment  variables  that  set\n"
+"              the  proxy  to use. If there's an environment variable setting a\n"
 "              proxy, you can set proxy to \"\" to override it.\n"
 "\n"
+, stdout);
+ fputs(
 "              All operations that are performed over an HTTP proxy will trans-\n"
-"              parently be converted to HTTP. It means  that  certain  protocol\n"
+"              parently  be  converted  to HTTP. It means that certain protocol\n"
 "              specific operations might not be available. This is not the case\n"
 "              if you can tunnel through the proxy, as one with the -p, --prox-\n"
 "              ytunnel option.\n"
@@ -2415,11 +2470,11 @@
 "              User and password that might be provided in the proxy string are\n"
 , stdout);
  fputs(
-"              URL decoded by curl. This allows you to pass in special  charac-\n"
+"              URL  decoded by curl. This allows you to pass in special charac-\n"
 "              ters such as @ by using %40 or pass in a colon with %3a.\n"
 "\n"
-"              The  proxy host can be specified the exact same way as the proxy\n"
-"              environment variables, including the protocol  prefix  (http://)\n"
+"              The proxy host can be specified the exact same way as the  proxy\n"
+"              environment  variables,  including the protocol prefix (http://)\n"
 "              and the embedded user + password.\n"
 "\n"
 "              If this option is used several times, the last one will be used.\n"
@@ -2427,24 +2482,24 @@
 "       --proxy1.0 <host[:port]>\n"
 , stdout);
  fputs(
-"              Use  the  specified  HTTP  1.0  proxy. If the port number is not\n"
+"              Use the specified HTTP 1.0 proxy. If  the  port  number  is  not\n"
 "              specified, it is assumed at port 1080.\n"
 "\n"
-"              The only difference between this and the HTTP proxy  option  -x,\n"
-"              --proxy,  is that attempts to use CONNECT through the proxy will\n"
+"              The  only  difference between this and the HTTP proxy option -x,\n"
+"              --proxy, is that attempts to use CONNECT through the proxy  will\n"
 "              specify an HTTP 1.0 protocol instead of the default HTTP 1.1.\n"
 "\n"
 "       -p, --proxytunnel\n"
-"              When an HTTP proxy is used -x, --proxy, this option  will  cause\n"
+"              When  an  HTTP proxy is used -x, --proxy, this option will cause\n"
 , stdout);
  fputs(
-"              non-HTTP  protocols  to  attempt  to  tunnel  through  the proxy\n"
-"              instead of merely using it to do HTTP-like operations. The  tun-\n"
-"              nel  approach  is  made  with the HTTP proxy CONNECT request and\n"
+"              non-HTTP protocols  to  attempt  to  tunnel  through  the  proxy\n"
+"              instead  of merely using it to do HTTP-like operations. The tun-\n"
+"              nel approach is made with the HTTP  proxy  CONNECT  request  and\n"
 "              requires that the proxy allows direct connect to the remote port\n"
 "              number curl wants to tunnel through to.\n"
 "\n"
-"              To  suppress  proxy CONNECT response headers when curl is set to\n"
+"              To suppress proxy CONNECT response headers when curl is  set  to\n"
 , stdout);
  fputs(
 "              output headers use --suppress-connect-headers.\n"
@@ -2457,54 +2512,54 @@
 "\n"
 "              If this option is used several times, the last one will be used.\n"
 "              (As of 7.39.0, curl attempts to automatically extract the public\n"
-"              key from the private key file, so passing this option is  gener-\n"
+"              key  from the private key file, so passing this option is gener-\n"
 , stdout);
  fputs(
 "              ally not required. Note that this public key extraction requires\n"
-"              libcurl to be linked against a copy of libssh2 1.2.8  or  higher\n"
+"              libcurl  to  be linked against a copy of libssh2 1.2.8 or higher\n"
 "              that is itself linked against OpenSSL.)\n"
 "\n"
 "       -Q, --quote\n"
-"              (FTP  SFTP)  Send an arbitrary command to the remote FTP or SFTP\n"
-"              server. Quote commands are sent BEFORE the transfer takes  place\n"
-"              (just  after  the  initial PWD command in an FTP transfer, to be\n"
+"              (FTP SFTP) Send an arbitrary command to the remote FTP  or  SFTP\n"
+"              server.  Quote commands are sent BEFORE the transfer takes place\n"
+"              (just after the initial PWD command in an FTP  transfer,  to  be\n"
 , stdout);
  fputs(
 "              exact). To make commands take place after a successful transfer,\n"
-"              prefix  them  with  a  dash '-'.  To make commands be sent after\n"
+"              prefix them with a dash '-'.  To make  commands  be  sent  after\n"
 "              curl has changed the working directory, just before the transfer\n"
-"              command(s),  prefix  the  command  with a '+' (this is only sup-\n"
+"              command(s), prefix the command with a '+'  (this  is  only  sup-\n"
 "              ported for FTP). You may specify any number of commands.\n"
 "\n"
-"              If the server returns failure  for  one  of  the  commands,  the\n"
+"              If  the  server  returns  failure  for  one of the commands, the\n"
 , stdout);
  fputs(
-"              entire  operation  will  be aborted. You must send syntactically\n"
-"              correct FTP commands as RFC 959 defines to FTP servers,  or  one\n"
+"              entire operation will be aborted. You  must  send  syntactically\n"
+"              correct  FTP  commands as RFC 959 defines to FTP servers, or one\n"
 "              of the commands listed below to SFTP servers.\n"
 "\n"
-"              This  option can be used multiple times. When speaking to an FTP\n"
-"              server, prefix the command with an asterisk  (*)  to  make  curl\n"
-"              continue  even if the command fails as by default curl will stop\n"
+"              This option can be used multiple times. When speaking to an  FTP\n"
+"              server,  prefix  the  command  with an asterisk (*) to make curl\n"
+"              continue even if the command fails as by default curl will  stop\n"
 "              at first failure.\n"
 "\n"
 , stdout);
  fputs(
-"              SFTP is a binary protocol. Unlike for FTP, curl interprets  SFTP\n"
-"              quote  commands  itself before sending them to the server.  File\n"
+"              SFTP  is a binary protocol. Unlike for FTP, curl interprets SFTP\n"
+"              quote commands itself before sending them to the  server.   File\n"
 "              names may be quoted shell-style to embed spaces or special char-\n"
-"              acters.   Following is the list of all supported SFTP quote com-\n"
+"              acters.  Following is the list of all supported SFTP quote  com-\n"
 "              mands:\n"
 "\n"
 "              chgrp group file\n"
-"                     The chgrp command sets the group ID of the file named  by\n"
+"                     The  chgrp command sets the group ID of the file named by\n"
 , stdout);
  fputs(
-"                     the  file  operand to the group ID specified by the group\n"
+"                     the file operand to the group ID specified by  the  group\n"
 "                     operand. The group operand is a decimal integer group ID.\n"
 "\n"
 "              chmod mode file\n"
-"                     The chmod command modifies the  file  mode  bits  of  the\n"
+"                     The  chmod  command  modifies  the  file mode bits of the\n"
 "                     specified file. The mode operand is an octal integer mode\n"
 "                     number.\n"
 "\n"
@@ -2512,16 +2567,16 @@
 "                     The chown command sets the owner of the file named by the\n"
 , stdout);
  fputs(
-"                     file  operand  to the user ID specified by the user oper-\n"
+"                     file operand to the user ID specified by the  user  oper-\n"
 "                     and. The user operand is a decimal integer user ID.\n"
 "\n"
 "              ln source_file target_file\n"
 "                     The ln and symlink commands create a symbolic link at the\n"
-"                     target_file  location  pointing  to the source_file loca-\n"
+"                     target_file location pointing to  the  source_file  loca-\n"
 "                     tion.\n"
 "\n"
 "              mkdir directory_name\n"
-"                     The mkdir command creates  the  directory  named  by  the\n"
+"                     The  mkdir  command  creates  the  directory named by the\n"
 , stdout);
  fputs(
 "                     directory_name operand.\n"
@@ -2531,7 +2586,7 @@
 "\n"
 "              rename source target\n"
 "                     The rename command renames the file or directory named by\n"
-"                     the  source  operand to the destination path named by the\n"
+"                     the source operand to the destination path named  by  the\n"
 "                     target operand.\n"
 "\n"
 "              rm file\n"
@@ -2541,7 +2596,7 @@
 "                     erand.\n"
 "\n"
 "              rmdir directory\n"
-"                     The  rmdir  command removes the directory entry specified\n"
+"                     The rmdir command removes the directory  entry  specified\n"
 "                     by the directory operand, provided it is empty.\n"
 "\n"
 "              symlink source_file target_file\n"
@@ -2551,12 +2606,12 @@
 "              Specify the path name to file containing what will be considered\n"
 , stdout);
  fputs(
-"              as  random  data. The data may be used to seed the random engine\n"
+"              as random data. The data may be used to seed the  random  engine\n"
 "              for SSL connections.  See also the --egd-file option.\n"
 "\n"
 "       -r, --range <range>\n"
-"              (HTTP FTP SFTP FILE) Retrieve a byte range (i.e a partial  docu-\n"
-"              ment)  from  a  HTTP/1.1,  FTP  or  SFTP server or a local FILE.\n"
+"              (HTTP  FTP SFTP FILE) Retrieve a byte range (i.e a partial docu-\n"
+"              ment) from a HTTP/1.1, FTP or  SFTP  server  or  a  local  FILE.\n"
 "              Ranges can be specified in a number of ways.\n"
 "\n"
 "              0-499     specifies the first 500 bytes\n"
@@ -2574,24 +2629,24 @@
 "              100-199,500-599\n"
 "                        specifies two separate 100-byte ranges(*) (HTTP)\n"
 "\n"
-"              (*) = NOTE that this will cause the server to reply with a  mul-\n"
+"              (*)  = NOTE that this will cause the server to reply with a mul-\n"
 "              tipart response!\n"
 "\n"
 , stdout);
  fputs(
-"              Only  digit characters (0-9) are valid in the 'start' and 'stop'\n"
-"              fields of the 'start-stop' range syntax. If a non-digit  charac-\n"
+"              Only digit characters (0-9) are valid in the 'start' and  'stop'\n"
+"              fields  of the 'start-stop' range syntax. If a non-digit charac-\n"
 "              ter is given in the range, the server's response will be unspec-\n"
 "              ified, depending on the server's configuration.\n"
 "\n"
-"              You should also be aware that many HTTP/1.1 servers do not  have\n"
-"              this  feature  enabled, so that when you attempt to get a range,\n"
+"              You  should also be aware that many HTTP/1.1 servers do not have\n"
+"              this feature enabled, so that when you attempt to get  a  range,\n"
 , stdout);
  fputs(
 "              you'll instead get the whole document.\n"
 "\n"
-"              FTP and SFTP range downloads only  support  the  simple  'start-\n"
-"              stop'  syntax  (optionally with one of the numbers omitted). FTP\n"
+"              FTP  and  SFTP  range  downloads only support the simple 'start-\n"
+"              stop' syntax (optionally with one of the numbers  omitted).  FTP\n"
 "              use depends on the extended FTP command SIZE.\n"
 "\n"
 "              If this option is used several times, the last one will be used.\n"
@@ -2599,7 +2654,7 @@
 "       --raw  (HTTP) When used, it disables all internal HTTP decoding of con-\n"
 , stdout);
  fputs(
-"              tent  or  transfer  encodings  and  instead makes them passed on\n"
+"              tent or transfer encodings and  instead  makes  them  passed  on\n"
 "              unaltered, raw.\n"
 "\n"
 "              Added in 7.16.2.\n"
@@ -2607,11 +2662,11 @@
 "       -e, --referer <URL>\n"
 "              (HTTP) Sends the \"Referrer Page\" information to the HTTP server.\n"
 "              This can also be set with the -H, --header flag of course.  When\n"
-"              used with -L, --location you  can  append  \";auto\"  to  the  -e,\n"
-"              --referer  URL  to  make curl automatically set the previous URL\n"
+"              used  with  -L,  --location  you  can  append \";auto\" to the -e,\n"
+"              --referer URL to make curl automatically set  the  previous  URL\n"
 , stdout);
  fputs(
-"              when it follows a Location: header. The \";auto\"  string  can  be\n"
+"              when  it  follows  a Location: header. The \";auto\" string can be\n"
 "              used alone, even if you don't set an initial -e, --referer.\n"
 "\n"
 "              If this option is used several times, the last one will be used.\n"
@@ -2625,24 +2680,24 @@
  fputs(
 "              extracting a filename from the URL.\n"
 "\n"
-"              If  the  server  specifies a file name and a file with that name\n"
-"              already exists in the current working directory it will  not  be\n"
+"              If the server specifies a file name and a file  with  that  name\n"
+"              already  exists  in the current working directory it will not be\n"
 "              overwritten and an error will occur. If the server doesn't spec-\n"
 "              ify a file name then this option has no effect.\n"
 "\n"
-"              There's no attempt to decode %-sequences (yet) in  the  provided\n"
+"              There's  no  attempt to decode %-sequences (yet) in the provided\n"
 , stdout);
  fputs(
 "              file name, so this option may provide you with rather unexpected\n"
 "              file names.\n"
 "\n"
-"              WARNING: Exercise judicious use of this  option,  especially  on\n"
-"              Windows.  A  rogue  server  could  send you the name of a DLL or\n"
-"              other file that could possibly be loaded automatically  by  Win-\n"
+"              WARNING:  Exercise  judicious  use of this option, especially on\n"
+"              Windows. A rogue server could send you the  name  of  a  DLL  or\n"
+"              other  file  that could possibly be loaded automatically by Win-\n"
 "              dows or some third party software.\n"
 "\n"
 "       --remote-name-all\n"
-"              This  option changes the default action for all given URLs to be\n"
+"              This option changes the default action for all given URLs to  be\n"
 , stdout);
  fputs(
 "              dealt with as if -O, --remote-name were used for each one. So if\n"
@@ -2652,78 +2707,78 @@
 "              Added in 7.19.0.\n"
 "\n"
 "       -O, --remote-name\n"
-"              Write output to a local file named like the remote file we  get.\n"
-"              (Only  the file part of the remote file is used, the path is cut\n"
+"              Write  output to a local file named like the remote file we get.\n"
+"              (Only the file part of the remote file is used, the path is  cut\n"
 "              off.)\n"
 "\n"
 , stdout);
  fputs(
-"              The file will be saved in the current working directory. If  you\n"
-"              want  the  file  saved  in  a different directory, make sure you\n"
-"              change the current working directory before invoking  curl  with\n"
+"              The  file will be saved in the current working directory. If you\n"
+"              want the file saved in a  different  directory,  make  sure  you\n"
+"              change  the  current working directory before invoking curl with\n"
 "              this option.\n"
 "\n"
-"              The  remote  file  name  to use for saving is extracted from the\n"
-"              given URL, nothing else, and if it already  exists  it  will  be\n"
+"              The remote file name to use for saving  is  extracted  from  the\n"
+"              given  URL,  nothing  else,  and if it already exists it will be\n"
 , stdout);
  fputs(
-"              overwritten.  If  you  want  the server to be able to choose the\n"
+"              overwritten. If you want the server to be  able  to  choose  the\n"
 "              file name refer to -J, --remote-header-name which can be used in\n"
-"              addition  to  this option. If the server chooses a file name and\n"
+"              addition to this option. If the server chooses a file  name  and\n"
 "              that name already exists it will not be overwritten.\n"
 "\n"
 "              There is no URL decoding done on the file name. If it has %20 or\n"
-"              other  URL  encoded parts of the name, they will end up as-is as\n"
+"              other URL encoded parts of the name, they will end up  as-is  as\n"
 "              file name.\n"
 "\n"
 , stdout);
  fputs(
-"              You may use this option as many times as the number of URLs  you\n"
+"              You  may use this option as many times as the number of URLs you\n"
 "              have.\n"
 "\n"
 "       -R, --remote-time\n"
-"              When  used,  this will make curl attempt to figure out the time-\n"
-"              stamp of the remote file, and if  that  is  available  make  the\n"
+"              When used, this will make curl attempt to figure out  the  time-\n"
+"              stamp  of  the  remote  file,  and if that is available make the\n"
 "              local file get that same timestamp.\n"
 "\n"
 "       --request-target\n"
-"              (HTTP)  Tells curl to use an alternative \"target\" (path) instead\n"
+"              (HTTP) Tells curl to use an alternative \"target\" (path)  instead\n"
 , stdout);
  fputs(
-"              of using the path as provided in the  URL.  Particularly  useful\n"
-"              when  wanting  to  issue  HTTP requests without leading slash or\n"
-"              other data that doesn't follow the  regular  URL  pattern,  like\n"
+"              of  using  the  path as provided in the URL. Particularly useful\n"
+"              when wanting to issue HTTP requests  without  leading  slash  or\n"
+"              other  data  that  doesn't  follow the regular URL pattern, like\n"
 "              \"OPTIONS *\".\n"
 "\n"
 "              Added in 7.55.0.\n"
 "\n"
 "       -X, --request <command>\n"
 "              (HTTP) Specifies a custom request method to use when communicat-\n"
-"              ing with the HTTP server.  The specified request method will  be\n"
+"              ing  with the HTTP server.  The specified request method will be\n"
 , stdout);
  fputs(
-"              used  instead  of  the  method otherwise used (which defaults to\n"
-"              GET). Read the HTTP 1.1 specification for details  and  explana-\n"
-"              tions.  Common  additional HTTP requests include PUT and DELETE,\n"
+"              used instead of the method otherwise  used  (which  defaults  to\n"
+"              GET).  Read  the HTTP 1.1 specification for details and explana-\n"
+"              tions. Common additional HTTP requests include PUT  and  DELETE,\n"
 "              but related technologies like WebDAV offers PROPFIND, COPY, MOVE\n"
 "              and more.\n"
 "\n"
-"              Normally  you  don't  need  this option. All sorts of GET, HEAD,\n"
+"              Normally you don't need this option. All  sorts  of  GET,  HEAD,\n"
 "              POST and PUT requests are rather invoked by using dedicated com-\n"
 , stdout);
  fputs(
 "              mand line options.\n"
 "\n"
-"              This  option  only  changes  the  actual  word  used in the HTTP\n"
-"              request, it does not alter the way curl behaves. So for  example\n"
-"              if  you  want  to make a proper HEAD request, using -X HEAD will\n"
+"              This option only changes  the  actual  word  used  in  the  HTTP\n"
+"              request,  it does not alter the way curl behaves. So for example\n"
+"              if you want to make a proper HEAD request, using  -X  HEAD  will\n"
 "              not suffice. You need to use the -I, --head option.\n"
 "\n"
-"              The method string you set with -X, --request will  be  used  for\n"
-"              all  requests,  which  if you for example use -L, --location may\n"
+"              The  method  string  you set with -X, --request will be used for\n"
+"              all requests, which if you for example use  -L,  --location  may\n"
 , stdout);
  fputs(
-"              cause unintended side-effects when curl doesn't  change  request\n"
+"              cause  unintended  side-effects when curl doesn't change request\n"
 "              method according to the HTTP 30x response codes - and similar.\n"
 "\n"
 "              (FTP) Specifies a custom FTP command to use instead of LIST when\n"
@@ -2732,7 +2787,7 @@
 "              (POP3) Specifies a custom POP3 command to use instead of LIST or\n"
 "              RETR. (Added in 7.26.0)\n"
 "\n"
-"              (IMAP)  Specifies  a custom IMAP command to use instead of LIST.\n"
+"              (IMAP) Specifies a custom IMAP command to use instead  of  LIST.\n"
 , stdout);
  fputs(
 "              (Added in 7.30.0)\n"
@@ -2742,16 +2797,16 @@
 "\n"
 "              If this option is used several times, the last one will be used.\n"
 "\n"
-"       --resolve <host:port:address>\n"
-"              Provide  a  custom  address  for  a specific host and port pair.\n"
-"              Using this, you can make the curl requests(s)  use  a  specified\n"
+"       --resolve <host:port:address[,address]...>\n"
+"              Provide a custom address for a  specific  host  and  port  pair.\n"
+"              Using  this,  you  can make the curl requests(s) use a specified\n"
 , stdout);
  fputs(
-"              address  and  prevent the otherwise normally resolved address to\n"
-"              be used. Consider it a sort of /etc/hosts  alternative  provided\n"
-"              on  the  command line. The port number should be the number used\n"
-"              for the specific protocol the host will be used  for.  It  means\n"
-"              you  need several entries if you want to provide address for the\n"
+"              address and prevent the otherwise normally resolved  address  to\n"
+"              be  used.  Consider it a sort of /etc/hosts alternative provided\n"
+"              on the command line. The port number should be the  number  used\n"
+"              for  the  specific  protocol the host will be used for. It means\n"
+"              you need several entries if you want to provide address for  the\n"
 "              same host but different ports.\n"
 "\n"
 , stdout);
@@ -2761,14 +2816,17 @@
 "              Support for providing the IP address within [brackets] was added\n"
 "              in 7.57.0.\n"
 "\n"
+"              Support  for providing multiple IP addresses per entry was added\n"
+"              in 7.59.0.\n"
+"\n"
 "              This option can be used many times to add  many  host  names  to\n"
 "              resolve.\n"
 "\n"
+, stdout);
+ fputs(
 "              Added in 7.21.3.\n"
 "\n"
 "       --retry-connrefused\n"
-, stdout);
- fputs(
 "              In  addition to the other conditions, consider ECONNREFUSED as a\n"
 "              transient error too for --retry. This option  is  used  together\n"
 "              with --retry.\n"
@@ -2778,9 +2836,9 @@
 "       --retry-delay <seconds>\n"
 "              Make  curl  sleep  this  amount of time before each retry when a\n"
 "              transfer has failed with  a  transient  error  (it  changes  the\n"
-"              default  backoff time algorithm between retries). This option is\n"
 , stdout);
  fputs(
+"              default  backoff time algorithm between retries). This option is\n"
 "              only interesting if --retry is also used. Setting this delay  to\n"
 "              zero will make curl use the default backoff time.\n"
 "\n"
@@ -2790,41 +2848,41 @@
 "\n"
 "       --retry-max-time <seconds>\n"
 "              The  retry  timer  is  reset  before the first transfer attempt.\n"
-"              Retries will be done as usual (see --retry) as long as the timer\n"
 , stdout);
  fputs(
+"              Retries will be done as usual (see --retry) as long as the timer\n"
 "              hasn't reached this given limit. Notice that if the timer hasn't\n"
 "              reached the limit, the request will be made and  while  perform-\n"
 "              ing,  it may take longer than this given time period. To limit a\n"
 "              single request's maximum time, use  -m,  --max-time.   Set  this\n"
 "              option to zero to not timeout retries.\n"
 "\n"
+, stdout);
+ fputs(
 "              If this option is used several times, the last one will be used.\n"
 "\n"
 "              Added in 7.12.3.\n"
 "\n"
-, stdout);
- fputs(
 "       --retry <num>\n"
 "              If  a  transient  error is returned when curl tries to perform a\n"
 "              transfer, it will retry this number of times before  giving  up.\n"
 "              Setting  the  number to 0 makes curl do no retries (which is the\n"
 "              default). Transient error means either: a timeout,  an  FTP  4xx\n"
+, stdout);
+ fputs(
 "              response code or an HTTP 5xx response code.\n"
 "\n"
 "              When  curl  is about to retry a transfer, it will first wait one\n"
-, stdout);
- fputs(
 "              second and then for all forthcoming retries it will  double  the\n"
 "              waiting  time until it reaches 10 minutes which then will be the\n"
 "              delay between the rest of the retries.  By  using  --retry-delay\n"
 "              you   disable  this  exponential  backoff  algorithm.  See  also\n"
+, stdout);
+ fputs(
 "              --retry-max-time to limit the total time allowed for retries.\n"
 "\n"
 "              If this option is used several times, the last one will be used.\n"
 "\n"
-, stdout);
- fputs(
 "              Added in 7.12.3.\n"
 "\n"
 "       --sasl-ir\n"
@@ -2836,13 +2894,13 @@
 "              This option allows you to change the service name for SPNEGO.\n"
 "\n"
 "              Examples:   --negotiate   --service-name   sockd    would    use\n"
+, stdout);
+ fputs(
 "              sockd/server-name.\n"
 "\n"
 "              Added in 7.43.0.\n"
 "       -S, --show-error\n"
 "              When used with -s, --silent, it makes curl show an error message\n"
-, stdout);
- fputs(
 "              if it fails.\n"
 "       -s, --silent\n"
 "              Silent or quiet mode. Don't show progress meter  or  error  mes-\n"
@@ -2850,13 +2908,13 @@
 "              for, potentially even to the terminal/stdout unless you redirect\n"
 "              it.\n"
 "\n"
+, stdout);
+ fputs(
 "              Use  -S,  --show-error  in  addition  to  this option to disable\n"
 "              progress meter but still show error messages.\n"
 "\n"
 "              See also -v, --verbose and --stderr.\n"
 "\n"
-, stdout);
- fputs(
 "       --socks4 <host[:port]>\n"
 "              Use the specified SOCKS4 proxy. If the port number is not speci-\n"
 "              fied, it is assumed at port 1080.\n"
@@ -2864,22 +2922,22 @@
 "              This  option  overrides any previous use of -x, --proxy, as they\n"
 "              are mutually exclusive.\n"
 "\n"
-"              Since 7.21.7, this option is superfluous since you can specify a\n"
-"              socks4 proxy with -x, --proxy using a socks4:// protocol prefix.\n"
 , stdout);
  fputs(
+"              Since 7.21.7, this option is superfluous since you can specify a\n"
+"              socks4 proxy with -x, --proxy using a socks4:// protocol prefix.\n"
 "              Since 7.52.0, --preproxy can be used to specify a SOCKS proxy at\n"
 "              the same time -x, --proxy is used with an HTTP/HTTPS  proxy.  In\n"
 "              such a case curl first connects to the SOCKS proxy and then con-\n"
 "              nects (through SOCKS) to the HTTP or HTTPS proxy.\n"
 "\n"
+, stdout);
+ fputs(
 "              If this option is used several times, the last one will be used.\n"
 "\n"
 "              Added in 7.15.2.\n"
 "\n"
 "       --socks4a <host[:port]>\n"
-, stdout);
- fputs(
 "              Use the specified SOCKS4a proxy. If the port number is not spec-\n"
 "              ified, it is assumed at port 1080.\n"
 "\n"
@@ -2887,11 +2945,11 @@
 "              are mutually exclusive.\n"
 "\n"
 "              Since 7.21.7, this option is superfluous since you can specify a\n"
+, stdout);
+ fputs(
 "              socks4a  proxy with -x, --proxy using a socks4a:// protocol pre-\n"
 "              fix.\n"
 "\n"
-, stdout);
- fputs(
 "              Since 7.52.0, --preproxy can be used to specify a SOCKS proxy at\n"
 "              the  same  time -x, --proxy is used with an HTTP/HTTPS proxy. In\n"
 "              such a case curl first connects to the SOCKS proxy and then con-\n"
@@ -2899,11 +2957,11 @@
 "\n"
 "              If this option is used several times, the last one will be used.\n"
 "\n"
+, stdout);
+ fputs(
 "              Added in 7.18.0.\n"
 "\n"
 "       --socks5-basic\n"
-, stdout);
- fputs(
 "              Tells curl to use username/password authentication when connect-\n"
 "              ing to a SOCKS5 proxy.  The username/password authentication  is\n"
 "              enabled  by  default.   Use  --socks5-gssapi  to  force  GSS-API\n"
@@ -3194,19 +3252,21 @@
 , stdout);
  fputs(
 "              --tlspassword are specified but --tlsauthtype is not, then  this\n"
-"              option defaults to \"SRP\".\n"
+"              option  defaults to \"SRP\".  This option works only if the under-\n"
+"              lying libcurl is built  with  TLS-SRP  support,  which  requires\n"
+"              OpenSSL or GnuTLS with TLS-SRP support.\n"
 "\n"
 "              Added in 7.21.4.\n"
 "\n"
 "       --tlspassword\n"
 "              Set  password  for use with the TLS authentication method speci-\n"
 "              fied with --tlsauthtype. Requires that --tlsuser also be set.\n"
+, stdout);
+ fputs(
 "\n"
 "              Added in 7.21.4.\n"
 "       --tlsuser <name>\n"
 "              Set username for use with the TLS authentication  method  speci-\n"
-, stdout);
- fputs(
 "              fied  with  --tlsauthtype.  Requires  that --tlspassword also is\n"
 "              set.\n"
 "\n"
@@ -3219,14 +3279,14 @@
 "              Added in 7.34.0.\n"
 "\n"
 "       --tlsv1.1\n"
+, stdout);
+ fputs(
 "              (TLS)  Forces  curl  to use TLS version 1.1 when connecting to a\n"
 "              remote TLS server.\n"
 "\n"
 "              Added in 7.34.0.\n"
 "\n"
 "       --tlsv1.2\n"
-, stdout);
- fputs(
 "              (TLS) Forces curl to use TLS version 1.2 when  connecting  to  a\n"
 "              remote TLS server.\n"
 "\n"
@@ -3236,10 +3296,10 @@
 "              (TLS)  Forces  curl  to use TLS version 1.3 when connecting to a\n"
 "              remote TLS server.\n"
 "\n"
-"              Note that TLS 1.3 is only supported by a subset of TLS backends.\n"
-"              At the time of this writing, they are BoringSSL, NSS, and Secure\n"
 , stdout);
  fputs(
+"              Note that TLS 1.3 is only supported by a subset of TLS backends.\n"
+"              At the time of this writing, they are BoringSSL, NSS, and Secure\n"
 "              Transport (on iOS 11 or later, and macOS 10.13 or later).\n"
 "\n"
 "              Added in 7.52.0.\n"
@@ -3248,12 +3308,12 @@
 "              (SSL) Tells curl to use TLS version 1.x when negotiating with  a\n"
 "              remote TLS server. That means TLS version 1.0, 1.1 or 1.2.\n"
 "\n"
+, stdout);
+ fputs(
 "              See  also  --http1.1  and --http2. -1, --tlsv1 requires that the\n"
 "              underlying libcurl was built to support TLS. This  option  over-\n"
 "              rides --tlsv1.1 and --tlsv1.2 and --tlsv1.3.\n"
 "\n"
-, stdout);
- fputs(
 "       --tr-encoding\n"
 "              (HTTP) Request a compressed Transfer-Encoding response using one\n"
 "              of the algorithms curl supports, and uncompress the  data  while\n"
@@ -3262,16 +3322,18 @@
 "              Added in 7.21.6.\n"
 "\n"
 "       --trace-ascii <file>\n"
+, stdout);
+ fputs(
 "              Enables  a  full  trace  dump of all incoming and outgoing data,\n"
 "              including descriptive information, to the given output file. Use\n"
 "              \"-\" as filename to have the output sent to stdout.\n"
 "\n"
-, stdout);
- fputs(
 "              This is very similar to --trace, but leaves out the hex part and\n"
 "              only shows the ASCII part of the dump. It makes  smaller  output\n"
 "              that might be easier to read for untrained humans.\n"
 "\n"
+, stdout);
+ fputs(
 "              If this option is used several times, the last one will be used.\n"
 "\n"
 "              This option overrides --trace and -v, --verbose.\n"
@@ -3280,13 +3342,13 @@
 "              Prepends  a  time  stamp to each trace or verbose line that curl\n"
 "              displays.\n"
 "\n"
-, stdout);
- fputs(
 "              Added in 7.14.0.\n"
 "\n"
 "       --trace <file>\n"
 "              Enables a full trace dump of all  incoming  and  outgoing  data,\n"
 "              including descriptive information, to the given output file. Use\n"
+, stdout);
+ fputs(
 "              \"-\" as filename to have the output sent to stdout.  Use  \"%\"  as\n"
 "              filename to have the output sent to stderr.\n"
 "\n"
@@ -3294,8 +3356,6 @@
 "\n"
 "              This option overrides -v, --verbose and --trace-ascii.\n"
 "\n"
-, stdout);
- fputs(
 "       --unix-socket <path>\n"
 "              (HTTP) Connect through this Unix domain socket, instead of using\n"
 "              the network.\n"
@@ -3303,34 +3363,36 @@
 "              Added in 7.40.0.\n"
 "\n"
 "       -T, --upload-file <file>\n"
+, stdout);
+ fputs(
 "              This transfers the specified local file to the  remote  URL.  If\n"
 "              there is no file part in the specified URL, curl will append the\n"
 "              local file name. NOTE that you must use a trailing / on the last\n"
-, stdout);
- fputs(
 "              directory  to really prove to Curl that there is no file name or\n"
 "              curl will think that your last directory name is the remote file\n"
 "              name to use. That will most likely cause the upload operation to\n"
+, stdout);
+ fputs(
 "              fail. If this is used on an HTTP(S) server, the PUT command will\n"
 "              be used.\n"
 "\n"
 "              Use  the file name \"-\" (a single dash) to use stdin instead of a\n"
 "              given file.  Alternately, the file name \".\"  (a  single  period)\n"
-, stdout);
- fputs(
 "              may  be  specified  instead  of \"-\" to use stdin in non-blocking\n"
 "              mode to  allow  reading  server  output  while  stdin  is  being\n"
 "              uploaded.\n"
 "\n"
+, stdout);
+ fputs(
 "              You  can  specify one -T, --upload-file for each URL on the com-\n"
 "              mand line. Each -T, --upload-file + URL pair specifies  what  to\n"
 "              upload  and  to  where. curl also supports \"globbing\" of the -T,\n"
-, stdout);
- fputs(
 "              --upload-file argument, meaning that  you  can  upload  multiple\n"
 "              files  to a single URL by using the same URL globbing style sup-\n"
 "              ported in the URL, like this:\n"
 "\n"
+, stdout);
+ fputs(
 "               curl --upload-file \"{file1,file2}\" http://www.example.com\n"
 "\n"
 "              or even\n"
@@ -3338,98 +3400,98 @@
 "               curl -T \"img[1-1000].png\" ftp://ftp.example.com/upload/\n"
 "\n"
 "              When uploading to an SMTP server: the uploaded data  is  assumed\n"
-, stdout);
- fputs(
 "              to be RFC 5322 formatted. It has to feature the necessary set of\n"
 "              headers and mail body formatted correctly by the  user  as  curl\n"
 "              will not transcode nor encode it further in any way.\n"
 "\n"
 "       --url <url>\n"
+, stdout);
+ fputs(
 "              Specify  a  URL  to  fetch. This option is mostly handy when you\n"
 "              want to specify URL(s) in a config file.\n"
 "\n"
 "              If the given URL is missing a scheme name (such as \"http://\"  or\n"
-, stdout);
- fputs(
 "              \"ftp://\"  etc) then curl will make a guess based on the host. If\n"
 "              the outermost sub-domain name matches  DICT,  FTP,  IMAP,  LDAP,\n"
 "              POP3  or  SMTP  then  that protocol will be used, otherwise HTTP\n"
+, stdout);
+ fputs(
 "              will be used. Since 7.45.0 guessing can be disabled by setting a\n"
 "              default protocol, see --proto-default for details.\n"
 "\n"
 "              This  option  may  be used any number of times. To control where\n"
-, stdout);
- fputs(
 "              this URL is written, use the -o, --output or the  -O,  --remote-\n"
 "              name options.\n"
 "\n"
 "       -B, --use-ascii\n"
 "              (FTP  LDAP)  Enable  ASCII  transfer.  For FTP, this can also be\n"
+, stdout);
+ fputs(
 "              enforced by using a URL that ends with  \";type=A\".  This  option\n"
 "              causes data sent to stdout to be in text mode for win32 systems.\n"
 "\n"
 "       -A, --user-agent <name>\n"
 "              (HTTP) Specify the User-Agent string to send to the HTTP server.\n"
-, stdout);
- fputs(
 "              To encode blanks in the string, surround the string with  single\n"
 "              quote  marks.  This can also be set with the -H, --header option\n"
 "              of course.\n"
 "\n"
+, stdout);
+ fputs(
 "              If this option is used several times, the last one will be used.\n"
 "\n"
 "       -u, --user <user:password>\n"
 "              Specify the user name and password to use for server authentica-\n"
 "              tion. Overrides -n, --netrc and --netrc-optional.\n"
 "\n"
-, stdout);
- fputs(
 "              If  you  simply  specify  the  user name, curl will prompt for a\n"
 "              password.\n"
 "\n"
 "              The user name and passwords are split up  on  the  first  colon,\n"
+, stdout);
+ fputs(
 "              which  makes  it impossible to use a colon in the user name with\n"
 "              this option. The password can, still.\n"
 "\n"
 "              When using Kerberos V5 with a Windows based  server  you  should\n"
 "              include  the  Windows domain name in the user name, in order for\n"
-, stdout);
- fputs(
 "              the server to successfully obtain  a  Kerberos  Ticket.  If  you\n"
 "              don't then the initial authentication handshake may fail.\n"
 "\n"
+, stdout);
+ fputs(
 "              When  using  NTLM,  the user name can be specified simply as the\n"
 "              user name, without the domain, if there is a single  domain  and\n"
 "              forest in your setup for example.\n"
 "\n"
 "              To  specify  the domain name use either Down-Level Logon Name or\n"
-, stdout);
- fputs(
 "              UPN (User Principal Name) formats. For example, EXAMPLE\\user and\n"
 "              user@example.com respectively.\n"
 "\n"
 "              If  you  use a Windows SSPI-enabled curl binary and perform Ker-\n"
+, stdout);
+ fputs(
 "              beros V5, Negotiate, NTLM or Digest authentication then you  can\n"
 "              tell  curl  to select the user name and password from your envi-\n"
 "              ronment by specifying a single colon with this option: \"-u :\".\n"
 "\n"
-, stdout);
- fputs(
 "              If this option is used several times, the last one will be used.\n"
 "\n"
 "       -v, --verbose\n"
 "              Makes curl verbose during the operation.  Useful  for  debugging\n"
 "              and  seeing  what's  going  on \"under the hood\". A line starting\n"
+, stdout);
+ fputs(
 "              with '>' means \"header data\" sent by  curl,  '<'  means  \"header\n"
 "              data\"  received  by  curl  that is hidden in normal cases, and a\n"
 "              line starting with '*' means additional info provided by curl.\n"
 "\n"
-, stdout);
- fputs(
 "              If you only want HTTP headers in the output, -i, --include might\n"
 "              be the option you're looking for.\n"
 "\n"
 "              If  you think this option still doesn't give you enough details,\n"
+, stdout);
+ fputs(
 "              consider using --trace or --trace-ascii instead.\n"
 "\n"
 "              Use -s, --silent to make curl really quiet.\n"
@@ -3438,18 +3500,16 @@
 "              --trace-ascii.\n"
 "\n"
 "       -V, --version\n"
-, stdout);
- fputs(
 "              Displays information about curl and the libcurl version it uses.\n"
 "              The  first  line  includes the full version of curl, libcurl and\n"
 "              other 3rd party libraries linked with the executable.\n"
 "\n"
+, stdout);
+ fputs(
 "              The second line (starts with \"Protocols:\") shows  all  protocols\n"
 "              that libcurl reports to support.\n"
 "\n"
 "              The third line (starts with \"Features:\") shows specific features\n"
-, stdout);
- fputs(
 "              libcurl reports to offer. Available features include:\n"
 "\n"
 "              IPv6   You can use IPv6 with this.\n"
@@ -3457,6 +3517,8 @@
 "              krb4   Krb4 for FTP is supported.\n"
 "\n"
 "              SSL    SSL versions of various protocols are supported, such  as\n"
+, stdout);
+ fputs(
 "                     HTTPS, FTPS, POP3S and so on.\n"
 "\n"
 "              libz   Automatic  decompression of compressed files over HTTP is\n"
@@ -3464,21 +3526,19 @@
 "\n"
 "              NTLM   NTLM authentication is supported.\n"
 "\n"
-, stdout);
- fputs(
 "              Debug  This curl uses a libcurl built with Debug.  This  enables\n"
 "                     more  error-tracking  and memory debugging etc. For curl-\n"
 "                     developers only!\n"
 "\n"
 "              AsynchDNS\n"
+, stdout);
+ fputs(
 "                     This curl uses asynchronous name  resolves.  Asynchronous\n"
 "                     name  resolves can be done using either the c-ares or the\n"
 "                     threaded resolver backends.\n"
 "\n"
 "              SPNEGO SPNEGO authentication is supported.\n"
 "\n"
-, stdout);
- fputs(
 "              Largefile\n"
 "                     This curl supports transfers of large files, files larger\n"
 "                     than 2GB.\n"
@@ -3486,6 +3546,8 @@
 "              IDN    This curl supports IDN - international domain names.\n"
 "\n"
 "              GSS-API\n"
+, stdout);
+ fputs(
 "                     GSS-API is supported.\n"
 "\n"
 "              SSPI   SSPI is supported.\n"
@@ -3494,8 +3556,6 @@
 "                     SRP  (Secure Remote Password) authentication is supported\n"
 "                     for TLS.\n"
 "\n"
-, stdout);
- fputs(
 "              HTTP2  HTTP/2 support has been built-in.\n"
 "\n"
 "              UnixSockets\n"
@@ -3505,63 +3565,63 @@
 "                     This curl is built to support HTTPS proxy.\n"
 "\n"
 "              Metalink\n"
+, stdout);
+ fputs(
 "                     This curl supports Metalink (both version 3  and  4  (RFC\n"
 "                     5854)),  which  describes  mirrors and hashes.  curl will\n"
 "                     use mirrors for failover if there are errors (such as the\n"
-, stdout);
- fputs(
 "                     file or server not being available).\n"
 "\n"
 "              PSL    PSL  is  short for Public Suffix List and means that this\n"
 "                     curl has been built with  knowledge  about  \"public  suf-\n"
 "                     fixes\".\n"
 "\n"
+, stdout);
+ fputs(
 "       -w, --write-out <format>\n"
 "              Make curl display information on stdout after a completed trans-\n"
 "              fer. The format is a string that may contain  plain  text  mixed\n"
-, stdout);
- fputs(
 "              with  any  number of variables. The format can be specified as a\n"
 "              literal \"string\", or you can have curl read the  format  from  a\n"
 "              file  with  \"@filename\" and to tell curl to read the format from\n"
 "              stdin you write \"@-\".\n"
 "\n"
-"              The variables present in the output format will  be  substituted\n"
-"              by  the  value or text that curl thinks fit, as described below.\n"
 , stdout);
  fputs(
+"              The variables present in the output format will  be  substituted\n"
+"              by  the  value or text that curl thinks fit, as described below.\n"
 "              All variables are specified as %{variable_name} and to output  a\n"
 "              normal  % you just write them as %%. You can output a newline by\n"
 "              using \\n, a carriage return with \\r and a tab space with \\t.\n"
 "\n"
 "              NOTE: The %-symbol is a special symbol in the win32-environment,\n"
+, stdout);
+ fputs(
 "              where  all  occurrences  of  %  must  be doubled when using this\n"
 "              option.\n"
 "\n"
 "              The variables available are:\n"
 "\n"
-, stdout);
- fputs(
 "              content_type   The Content-Type of the  requested  document,  if\n"
 "                             there was any.\n"
 "\n"
 "              filename_effective\n"
 "                             The  ultimate  filename  that curl writes out to.\n"
 "                             This is only meaningful if curl is told to  write\n"
-"                             to  a  file  with  the  -O,  --remote-name or -o,\n"
-"                             --output option. It's most useful in  combination\n"
 , stdout);
  fputs(
+"                             to  a  file  with  the  -O,  --remote-name or -o,\n"
+"                             --output option. It's most useful in  combination\n"
 "                             with  the -J, --remote-header-name option. (Added\n"
 "                             in 7.26.0)\n"
 "\n"
 "              ftp_entry_path The initial path curl ended up in when logging on\n"
 "                             to the remote FTP server. (Added in 7.15.4)\n"
 "\n"
-"              http_code      The numerical response code that was found in the\n"
-"                             last retrieved HTTP(S)  or  FTP(s)  transfer.  In\n"
 , stdout);
  fputs(
+"              http_code      The numerical response code that was found in the\n"
+"                             last retrieved HTTP(S)  or  FTP(s)  transfer.  In\n"
 "                             7.18.2  the alias response_code was added to show\n"
 "                             the same info.\n"
 "\n"
@@ -3569,11 +3629,11 @@
 "                             response   (from  a  proxy)  to  a  curl  CONNECT\n"
 "                             request. (Added in 7.12.4)\n"
 "\n"
+, stdout);
+ fputs(
 "              http_version   The  http  version  that  was  effectively  used.\n"
 "                             (Added in 7.50.0)\n"
 "\n"
-, stdout);
- fputs(
 "              local_ip       The  IP  address  of  the  local  end of the most\n"
 "                             recently done connection - can be either IPv4  or\n"
 "                             IPv6 (Added in 7.29.0)\n"
@@ -3581,32 +3641,32 @@
 "              local_port     The  local  port number of the most recently done\n"
 "                             connection (Added in 7.29.0)\n"
 "\n"
+, stdout);
+ fputs(
 "              num_connects   Number of new connects made in the recent  trans-\n"
 "                             fer. (Added in 7.12.3)\n"
 "\n"
-, stdout);
- fputs(
 "              num_redirects  Number  of  redirects  that  were followed in the\n"
 "                             request. (Added in 7.12.3)\n"
 "\n"
 "              proxy_ssl_verify_result\n"
 "                             The result of the HTTPS proxy's SSL peer certifi-\n"
 "                             cate verification that was requested. 0 means the\n"
+, stdout);
+ fputs(
 "                             verification was successful. (Added in 7.52.0)\n"
 "\n"
 "              redirect_url   When an HTTP request was made without -L, --loca-\n"
-, stdout);
- fputs(
 "                             tion  to follow redirects (or when --max-redir is\n"
 "                             met), this variable will show the  actual  URL  a\n"
 "                             redirect would have gone to. (Added in 7.18.2)\n"
 "\n"
 "              remote_ip      The  remote  IP address of the most recently done\n"
+, stdout);
+ fputs(
 "                             connection - can be either IPv4 or IPv6 (Added in\n"
 "                             7.29.0)\n"
 "\n"
-, stdout);
- fputs(
 "              remote_port    The  remote port number of the most recently done\n"
 "                             connection (Added in 7.29.0)\n"
 "\n"
@@ -3615,11 +3675,11 @@
 "\n"
 "              size_download  The total amount of bytes that were downloaded.\n"
 "\n"
+, stdout);
+ fputs(
 "              size_header    The total amount of bytes of the downloaded head-\n"
 "                             ers.\n"
 "\n"
-, stdout);
- fputs(
 "              size_request   The total amount of bytes that were sent  in  the\n"
 "                             HTTP request.\n"
 "\n"
@@ -3628,21 +3688,21 @@
 "              speed_download The average download speed that curl measured for\n"
 "                             the complete download. Bytes per second.\n"
 "\n"
+, stdout);
+ fputs(
 "              speed_upload   The average upload speed that curl  measured  for\n"
 "                             the complete upload. Bytes per second.\n"
 "\n"
-, stdout);
- fputs(
 "              ssl_verify_result\n"
 "                             The  result of the SSL peer certificate verifica-\n"
 "                             tion that was requested. 0 means the verification\n"
 "                             was successful. (Added in 7.19.0)\n"
 "\n"
 "              time_appconnect\n"
-"                             The  time,  in  seconds,  it  took from the start\n"
-"                             until the SSL/SSH/etc  connect/handshake  to  the\n"
 , stdout);
  fputs(
+"                             The  time,  in  seconds,  it  took from the start\n"
+"                             until the SSL/SSH/etc  connect/handshake  to  the\n"
 "                             remote host was completed. (Added in 7.19.0)\n"
 "\n"
 "              time_connect   The  time,  in  seconds,  it  took from the start\n"
@@ -3650,42 +3710,42 @@
 "                             proxy) was completed.\n"
 "\n"
 "              time_namelookup\n"
+, stdout);
+ fputs(
 "                             The  time,  in  seconds,  it  took from the start\n"
 "                             until the name resolving was completed.\n"
 "\n"
 "              time_pretransfer\n"
-, stdout);
- fputs(
 "                             The time, in seconds,  it  took  from  the  start\n"
 "                             until  the file transfer was just about to begin.\n"
 "                             This includes all pre-transfer commands and nego-\n"
 "                             tiations that are specific to the particular pro-\n"
+, stdout);
+ fputs(
 "                             tocol(s) involved.\n"
 "\n"
 "              time_redirect  The time, in seconds, it took for all redirection\n"
-, stdout);
- fputs(
 "                             steps including name lookup, connect, pretransfer\n"
 "                             and transfer before  the  final  transaction  was\n"
 "                             started.  time_redirect shows the complete execu-\n"
 "                             tion time for multiple  redirections.  (Added  in\n"
 "                             7.12.3)\n"
 "\n"
-"              time_starttransfer\n"
-"                             The  time,  in  seconds,  it  took from the start\n"
 , stdout);
  fputs(
+"              time_starttransfer\n"
+"                             The  time,  in  seconds,  it  took from the start\n"
 "                             until the first byte was just about to be  trans-\n"
 "                             ferred.  This  includes time_pretransfer and also\n"
 "                             the time  the  server  needed  to  calculate  the\n"
 "                             result.\n"
 "\n"
 "              time_total     The  total time, in seconds, that the full opera-\n"
+, stdout);
+ fputs(
 "                             tion lasted.\n"
 "\n"
 "              url_effective  The URL that was fetched last. This is most mean-\n"
-, stdout);
- fputs(
 "                             ingful  if  you've  told curl to follow location:\n"
 "                             headers.\n"
 "\n"
@@ -3694,9 +3754,9 @@
 "       --xattr\n"
 "              When saving output to a file, this option tells  curl  to  store\n"
 "              certain  file  metadata  in extended file attributes. Currently,\n"
-"              the URL is stored in the xdg.origin.url attribute and, for HTTP,\n"
 , stdout);
  fputs(
+"              the URL is stored in the xdg.origin.url attribute and, for HTTP,\n"
 "              the  content  type  is stored in the mime_type attribute. If the\n"
 "              file system does not support extended attributes, a  warning  is\n"
 "              issued.\n"
@@ -3707,11 +3767,11 @@
 "\n"
 "ENVIRONMENT\n"
 "       The environment variables can be specified in lower case or upper case.\n"
+, stdout);
+ fputs(
 "       The lower case version has precedence. http_proxy is an exception as it\n"
 "       is only available in lower case.\n"
 "\n"
-, stdout);
- fputs(
 "       Using  an  environment variable to set the proxy has the same effect as\n"
 "       using the -x, --proxy option.\n"
 "\n"
@@ -3721,9 +3781,9 @@
 "              Sets the proxy server to use for HTTPS.\n"
 "\n"
 "       [url-protocol]_PROXY [protocol://]<host>[:port]\n"
-"              Sets the proxy server to use for [url-protocol], where the  pro-\n"
 , stdout);
  fputs(
+"              Sets the proxy server to use for [url-protocol], where the  pro-\n"
 "              tocol  is  a  protocol  that curl supports and as specified in a\n"
 "              URL. FTP, FTPS, POP3, IMAP, SMTP, LDAP etc.\n"
 "\n"
@@ -3733,24 +3793,30 @@
 "\n"
 "       NO_PROXY <comma-separated list of hosts>\n"
 "              list  of  host names that shouldn't go through any proxy. If set\n"
+, stdout);
+ fputs(
 "              to a asterisk '*' only, it matches all hosts.\n"
 "\n"
+"              This environment variable disables use of the  proxy  even  when\n"
+"              specified    with    the    -x,    --proxy   option.   That   is\n"
+"              NO_PROXY=direct.example.com  curl  -x   http://proxy.example.com\n"
+"              http://direct.example.com  accesses the target URL directly, and\n"
+"              NO_PROXY=direct.example.com  curl  -x   http://proxy.example.com\n"
 , stdout);
  fputs(
-"              Since 7.53.0, this environment variable disable the  proxy  even\n"
-"              if  specify  -x,  --proxy  option. That is NO_PROXY=direct.exam-\n"
-"              ple.com  curl  -x  http://proxy.example.com  http://direct.exam-\n"
-"              ple.com     accesses    the    target    URL    directly,    and\n"
-"              NO_PROXY=direct.example.com  curl  -x   http://proxy.example.com\n"
-"              http://somewhere.example.com  accesses  the  target  URL through\n"
+"              http://somewhere.example.com accesses the target URL through the\n"
 "              proxy.\n"
 "\n"
-, stdout);
- fputs(
+"              The list  of  host  names  can  also  be  include  numerical  IP\n"
+"              addresses,  and  IPv6  versions  should  then  be  given without\n"
+"              enclosing brackets.\n"
+"\n"
 "PROXY PROTOCOL PREFIXES\n"
 "       Since curl version 7.21.7, the proxy string may  be  specified  with  a\n"
 "       protocol:// prefix to specify alternative proxy protocols.\n"
 "\n"
+, stdout);
+ fputs(
 "       If  no  protocol  is  specified  in  the  proxy string or if the string\n"
 "       doesn't match a supported one, the proxy will be  treated  as  an  HTTP\n"
 "       proxy.\n"
@@ -3759,8 +3825,6 @@
 "\n"
 "       http://\n"
 "              Makes it use it as a HTTP proxy. The default if no scheme prefix\n"
-, stdout);
- fputs(
 "              is used.\n"
 "       https://\n"
 "              Makes it treated as a HTTPS proxy.\n"
@@ -3768,6 +3832,8 @@
 "       socks4://\n"
 "              Makes it the equivalent of --socks4\n"
 "\n"
+, stdout);
+ fputs(
 "       socks4a://\n"
 "              Makes it the equivalent of --socks4a\n"
 "\n"
@@ -3779,11 +3845,11 @@
 "\n"
 "EXIT CODES\n"
 "       There are a bunch of different  error  codes  and  their  corresponding\n"
-, stdout);
- fputs(
 "       error  messages  that  may appear during bad conditions. At the time of\n"
 "       this writing, the exit codes are:\n"
 "\n"
+, stdout);
+ fputs(
 "       1      Unsupported protocol. This build of curl has no support for this\n"
 "              protocol.\n"
 "\n"
@@ -3793,11 +3859,11 @@
 "\n"
 "       4      A  feature  or  option  that  was  needed to perform the desired\n"
 "              request was not enabled or was  explicitly  disabled  at  build-\n"
-, stdout);
- fputs(
 "              time.  To  make  curl able to do this, you probably need another\n"
 "              build of libcurl!\n"
 "\n"
+, stdout);
+ fputs(
 "       5      Couldn't resolve proxy.  The  given  proxy  host  could  not  be\n"
 "              resolved.\n"
 "\n"
@@ -3808,9 +3874,9 @@
 "       8      Weird server reply. The server sent data curl couldn't parse.\n"
 "\n"
 "       9      FTP  access  denied. The server denied login or denied access to\n"
+"              the particular resource or directory you wanted to  reach.  Most\n"
 , stdout);
  fputs(
-"              the particular resource or directory you wanted to  reach.  Most\n"
 "              often  you  tried to change to a directory that doesn't exist on\n"
 "              the server.\n"
 "\n"
@@ -3820,9 +3886,9 @@
 "\n"
 "       11     FTP weird PASS reply. Curl couldn't parse the reply sent to  the\n"
 "              PASS request.\n"
+"\n"
 , stdout);
  fputs(
-"\n"
 "       12     During  an  active  FTP  session while waiting for the server to\n"
 "              connect back to curl, the timeout expired.\n"
 "\n"
@@ -4369,17 +4435,16 @@
 "\n"
 "  How to post a form with curl, lesson #1:\n"
 "\n"
-"  Dig out all the <input> tags in the form that you want to fill in. (There's\n"
-"  a perl program called formfind.pl on the curl site that helps with this).\n"
+"  Dig out all the <input> tags in the form that you want to fill in.\n"
 "\n"
 "  If there's a \"normal\" post, you use -d to post. -d takes a full \"post\n"
 "  string\", which is in the format\n"
 "\n"
 "        <variable1>=<data1>&<variable2>=<data2>&...\n"
 "\n"
+"  The 'variable' names are the names set with \"name=\" in the <input> tags, and\n"
 , stdout);
  fputs(
-"  The 'variable' names are the names set with \"name=\" in the <input> tags, and\n"
 "  the data is the contents you want to fill in for the inputs. The data *must*\n"
 "  be properly URL encoded. That means you replace space with + and that you\n"
 "  replace weird letters with %XX where XX is the hexadecimal representation of\n"
@@ -4391,9 +4456,9 @@
 "\n"
 "        <form action=\"post.cgi\" method=\"post\">\n"
 "        <input name=user size=10>\n"
+"        <input name=pass type=password size=10>\n"
 , stdout);
  fputs(
-"        <input name=pass type=password size=10>\n"
 "        <input name=id type=hidden value=\"blablabla\">\n"
 "        <input name=ding value=\"submit\">\n"
 "        </form>\n"
@@ -5275,13 +5340,13 @@
 #include "memdebug.h" /* keep this as LAST include */
 static const unsigned char hugehelpgz[] = {
   /* This mumbo-jumbo is the huge help text compressed with gzip.
-     Thanks to this operation, the size of this data shrank from 195210
-     to 57485 bytes. You can disable the use of compressed help
+     Thanks to this operation, the size of this data shrank from 197942
+     to 58137 bytes. You can disable the use of compressed help
      texts by NOT passing -c to the mkhelp.pl tool. */
   0x1f, 0x8b, 0x08, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x03, 0xed, 0xfd,
   0x6b, 0x7b, 0xdc, 0x46, 0x92, 0x26, 0x80, 0x7e, 0xe7, 0xaf, 0xc0, 0x54,
-  0x9f, 0x1e, 0x92, 0xd3, 0x55, 0xc5, 0x8b, 0x2e, 0xb6, 0x68, 0xc9, 0x63,
-  0x9a, 0xa2, 0x6c, 0x8e, 0x29, 0x91, 0xcb, 0xa2, 0x6c, 0xf7, 0xb6, 0xfd,
+  0x9f, 0x1e, 0x92, 0xd3, 0x55, 0xc5, 0x8b, 0x2e, 0xb6, 0x68, 0xc9, 0xd3,
+  0x34, 0x45, 0xd9, 0x1c, 0x53, 0x22, 0x97, 0x45, 0xd9, 0xee, 0xb5, 0xfd,
   0xe8, 0x41, 0x55, 0x81, 0x24, 0x5a, 0x55, 0x40, 0x35, 0x80, 0x22, 0xc5,
   0x9e, 0x9d, 0xfd, 0xed, 0x27, 0xe3, 0x8d, 0x88, 0xcc, 0x04, 0x32, 0xab,
   0x48, 0xbb, 0xed, 0xde, 0x39, 0x67, 0xb7, 0x77, 0xc7, 0x92, 0x48, 0x20,
@@ -5294,4781 +5359,4835 @@
   0x44, 0xbd, 0xa2, 0xff, 0xec, 0xd0, 0x7b, 0x3f, 0x7d, 0xa0, 0xbf, 0x9a,
   0x9f, 0x6c, 0x6c, 0xbc, 0x3b, 0x7c, 0x7b, 0xac, 0xaf, 0x4e, 0x96, 0xd5,
   0x2c, 0x19, 0x24, 0x4d, 0x95, 0x16, 0xf5, 0x55, 0x56, 0x25, 0x69, 0xf2,
-  0xfe, 0xe2, 0x74, 0x63, 0x63, 0xf4, 0xe7, 0x77, 0x67, 0xe7, 0xa3, 0x93,
-  0x51, 0xeb, 0xb1, 0xbf, 0x94, 0x8b, 0x26, 0x2f, 0x8b, 0xfa, 0xe7, 0xe4,
-  0x2f, 0xe6, 0xa1, 0xe1, 0x70, 0xf8, 0xf3, 0xc6, 0xc6, 0xeb, 0xe3, 0xd1,
-  0xd1, 0xc5, 0xc9, 0xf9, 0xe5, 0xc9, 0xd9, 0xbb, 0xd6, 0xb3, 0x49, 0x5e,
-  0x27, 0xa6, 0xb1, 0xa6, 0x2c, 0x67, 0xe6, 0x3f, 0xae, 0xfd, 0x69, 0xda,
-  0xa4, 0xc9, 0x55, 0x55, 0xce, 0x93, 0xb2, 0xa2, 0x5f, 0xa4, 0x49, 0x9d,
-  0x55, 0xb7, 0x59, 0xd5, 0x4f, 0x96, 0x75, 0x5e, 0x5c, 0x27, 0x65, 0x91,
-  0x25, 0xe5, 0x55, 0xd2, 0xdc, 0x64, 0xda, 0x5c, 0xbd, 0x5c, 0x2c, 0xca,
-  0xaa, 0xc9, 0xa6, 0xc9, 0xa2, 0x2a, 0x9b, 0x72, 0x52, 0xce, 0xea, 0x64,
-  0xeb, 0xf5, 0xc9, 0xd1, 0x65, 0x3f, 0x79, 0x73, 0x72, 0x7a, 0x6c, 0xfe,
-  0x7b, 0x79, 0x8e, 0xff, 0x8c, 0xfa, 0xc9, 0x37, 0x67, 0xe7, 0xdf, 0x1e,
-  0x5f, 0xf4, 0x93, 0x6f, 0x2f, 0xe9, 0x67, 0xf4, 0x5f, 0xf3, 0xc3, 0xe4,
-  0xe4, 0xed, 0xe1, 0x79, 0x5f, 0x9b, 0xa3, 0x7f, 0xd0, 0x0f, 0x4f, 0x5f,
-  0x9b, 0x1f, 0xf2, 0x1f, 0xf4, 0xcf, 0xf3, 0xb3, 0xf3, 0x27, 0xf2, 0x07,
-  0xfd, 0xf3, 0xe2, 0xf2, 0xad, 0xf9, 0xed, 0xc5, 0xe5, 0xc8, 0xfc, 0x77,
-  0x74, 0x44, 0xff, 0xc1, 0x57, 0x46, 0x6f, 0xbf, 0xc6, 0x7f, 0x46, 0xb6,
-  0xb9, 0xd1, 0x5b, 0xfe, 0x39, 0xbe, 0x74, 0x79, 0x7c, 0xfa, 0xee, 0xf8,
-  0x32, 0x49, 0x8b, 0x69, 0x72, 0x69, 0x9e, 0xdf, 0x1e, 0x26, 0x97, 0x37,
-  0x59, 0x32, 0x29, 0xe7, 0x73, 0xfa, 0x91, 0x99, 0x91, 0x69, 0x56, 0xe7,
-  0xd7, 0x85, 0x19, 0x8a, 0x19, 0xf9, 0x5d, 0x59, 0x7d, 0x4c, 0x92, 0xbb,
-  0xbc, 0xb9, 0x29, 0x97, 0x8d, 0x36, 0xb7, 0x34, 0xb3, 0x91, 0xe4, 0x45,
-  0x93, 0x55, 0xe9, 0x84, 0xe6, 0x7a, 0xb8, 0xd1, 0x9a, 0xd5, 0xf2, 0xca,
-  0xcc, 0x61, 0x6d, 0x26, 0x6d, 0xbc, 0xac, 0x67, 0x65, 0x3a, 0xa5, 0xa9,
-  0x32, 0xaf, 0x5c, 0x2d, 0xcd, 0x24, 0x57, 0xf9, 0xe4, 0x63, 0x9d, 0xcc,
-  0xf2, 0x8f, 0x19, 0x4d, 0xd4, 0xa7, 0x7b, 0x9d, 0xb8, 0x3e, 0x37, 0x9a,
-  0x2e, 0xcd, 0x9c, 0x16, 0x03, 0x6d, 0xae, 0xc9, 0x27, 0x29, 0x7d, 0x00,
-  0x33, 0x97, 0x2c, 0x17, 0xd4, 0x1a, 0xcf, 0x58, 0xb2, 0x28, 0x6b, 0xf3,
-  0xd2, 0x68, 0x74, 0x6a, 0x7a, 0x5e, 0x14, 0x19, 0xfa, 0x51, 0xf7, 0xcd,
-  0x3f, 0xca, 0x8f, 0x79, 0x66, 0xfe, 0x72, 0x95, 0xcf, 0xb2, 0x84, 0x57,
-  0xd4, 0x36, 0x47, 0x4b, 0x9b, 0x54, 0x59, 0xbd, 0x9c, 0x67, 0x66, 0xf6,
-  0xde, 0x66, 0x4d, 0x3a, 0xcb, 0x8b, 0x8f, 0xe6, 0xaf, 0x34, 0xf0, 0x79,
-  0x59, 0x65, 0xc3, 0xe4, 0xb0, 0x4e, 0xee, 0xcb, 0xa5, 0x19, 0xf0, 0x6c,
-  0x66, 0xd6, 0x3c, 0x4b, 0xc6, 0xd9, 0xac, 0xbc, 0xeb, 0xd3, 0x4a, 0x27,
-  0xc5, 0x72, 0x3e, 0x36, 0x0d, 0x94, 0x57, 0xae, 0xb9, 0xb4, 0x59, 0x9a,
-  0xe6, 0xf8, 0xe9, 0x79, 0x6a, 0xc6, 0x64, 0xde, 0xad, 0x92, 0x9b, 0xcc,
-  0x8c, 0xb9, 0x5e, 0xe4, 0xc5, 0xbf, 0xb4, 0xe7, 0xc5, 0x4c, 0xed, 0xa2,
-  0xbc, 0xcb, 0x2a, 0x33, 0xb3, 0xe3, 0xfb, 0xc4, 0x4c, 0xc2, 0x98, 0x37,
-  0xe1, 0x95, 0xd9, 0x64, 0x49, 0x6a, 0x9a, 0xb0, 0x1b, 0x70, 0x50, 0x65,
-  0xb3, 0x94, 0x36, 0x93, 0xfd, 0xc6, 0xd0, 0x2c, 0x62, 0x66, 0x77, 0x9b,
-  0xbc, 0xba, 0xf5, 0x64, 0x1b, 0x2f, 0x4f, 0xcd, 0x48, 0xf2, 0x59, 0x6d,
-  0x96, 0x81, 0x8e, 0x85, 0x3c, 0x43, 0x8b, 0x4a, 0xc7, 0xc4, 0xec, 0xcd,
-  0xfb, 0xa2, 0x49, 0x3f, 0xe1, 0xf3, 0xb2, 0x37, 0x07, 0xd3, 0x6c, 0x91,
-  0x15, 0xd3, 0xac, 0x68, 0x86, 0xc9, 0x9f, 0xcb, 0xe5, 0xa6, 0xf9, 0xf6,
-  0x55, 0x6e, 0xe6, 0x20, 0x95, 0xa6, 0xcc, 0x97, 0xcd, 0x26, 0x98, 0x54,
-  0xf9, 0xc2, 0x5b, 0x8a, 0xb2, 0x30, 0x6b, 0x9e, 0x5c, 0xbc, 0x39, 0x4a,
-  0x9e, 0xbc, 0xf8, 0xfc, 0xb9, 0x5b, 0x73, 0xd3, 0x40, 0x32, 0x49, 0x0b,
-  0x33, 0xe2, 0x6c, 0x92, 0x5f, 0xdd, 0x27, 0xf3, 0xe5, 0xac, 0xc9, 0x17,
-  0x66, 0xf6, 0xcd, 0xc7, 0x6b, 0x3a, 0x40, 0x8b, 0xb4, 0x6a, 0x6a, 0xda,
-  0x04, 0xf8, 0x01, 0xc6, 0x7e, 0x57, 0xe5, 0x0d, 0x1d, 0x24, 0xfc, 0xce,
-  0xf4, 0x30, 0x6b, 0x6a, 0x6d, 0x8e, 0xf6, 0x9a, 0xf9, 0xce, 0xd8, 0xec,
-  0x2d, 0x33, 0xb5, 0x69, 0x6d, 0x3e, 0x7a, 0xb0, 0xe1, 0x64, 0xc8, 0x4d,
-  0xd3, 0x2c, 0x0e, 0x76, 0x76, 0xea, 0xbc, 0xc9, 0x86, 0xff, 0x69, 0xce,
-  0x61, 0xbf, 0xb9, 0x2b, 0xfb, 0xcd, 0x4d, 0x95, 0x65, 0xff, 0x35, 0x34,
-  0x7b, 0xd8, 0x3e, 0x69, 0xbe, 0x7b, 0x2f, 0x1d, 0xbb, 0xce, 0x1a, 0xf3,
-  0x85, 0xbf, 0x2d, 0xb3, 0x82, 0x5a, 0x34, 0xfd, 0x48, 0x67, 0x8b, 0x9b,
-  0xd4, 0x2c, 0x67, 0x66, 0x76, 0x23, 0x9d, 0x6c, 0xb3, 0x61, 0xa8, 0x57,
-  0x7c, 0xb6, 0xff, 0xf2, 0x73, 0xf8, 0xd1, 0x2b, 0x7c, 0xd3, 0xfc, 0x77,
-  0x98, 0x7d, 0x4a, 0xe7, 0x66, 0x6c, 0xf4, 0xa9, 0x1d, 0xda, 0x62, 0x7f,
-  0xd9, 0x1b, 0xec, 0xed, 0xee, 0xfe, 0x3c, 0x6c, 0x3e, 0x35, 0x8f, 0x7b,
-  0x7e, 0x77, 0xd7, 0xbd, 0x41, 0x8f, 0x6e, 0xd1, 0x78, 0x93, 0x99, 0xd9,
-  0x32, 0xf4, 0xf1, 0xbf, 0x67, 0x55, 0x59, 0x6f, 0x3f, 0xae, 0xa5, 0x74,
-  0xf0, 0xf7, 0xf6, 0x77, 0xdf, 0x65, 0x35, 0xf6, 0x8c, 0x1b, 0x6b, 0x92,
-  0x56, 0x66, 0xdf, 0x96, 0x8d, 0x13, 0x4f, 0x7d, 0x73, 0x28, 0x1b, 0x3b,
-  0x33, 0xe6, 0xcc, 0x99, 0xa7, 0x8d, 0x60, 0x4b, 0x67, 0x24, 0xd3, 0xea,
-  0xa4, 0xc8, 0x3e, 0xd9, 0x53, 0x6e, 0x4e, 0x7f, 0x96, 0x4e, 0x6e, 0x92,
-  0xd2, 0x6c, 0xfe, 0x2a, 0xb2, 0x04, 0x7e, 0x87, 0xd2, 0x6a, 0x72, 0x93,
-  0xdf, 0x9a, 0xd9, 0x78, 0xf1, 0xe2, 0xf9, 0xc0, 0xfc, 0xe7, 0xc5, 0xcf,
-  0x3b, 0xb7, 0xe5, 0xcc, 0x4c, 0xce, 0xd3, 0x9f, 0x77, 0x68, 0x89, 0xff,
-  0x33, 0xed, 0x8f, 0xfb, 0x93, 0xff, 0x1a, 0xde, 0x34, 0xf3, 0xd9, 0xca,
-  0x8d, 0x93, 0x16, 0xe6, 0xff, 0xe6, 0xe5, 0xb2, 0x68, 0xec, 0x66, 0x31,
-  0x7b, 0xae, 0xf1, 0x84, 0x93, 0x39, 0xae, 0xe6, 0x8c, 0xd2, 0xd6, 0xa6,
-  0x3d, 0x44, 0xa7, 0xce, 0x1c, 0x50, 0x77, 0x1c, 0x9b, 0xc9, 0x8d, 0x19,
-  0xbf, 0xd9, 0x3c, 0xa9, 0xcc, 0x41, 0x93, 0xa7, 0x74, 0x30, 0x8d, 0x7c,
-  0x20, 0x79, 0x85, 0xa6, 0xf8, 0x63, 0xb9, 0x79, 0xae, 0xac, 0xa6, 0x59,
-  0xd5, 0xde, 0xc6, 0xe8, 0x8e, 0xeb, 0x4f, 0x62, 0xe6, 0x73, 0x61, 0x3e,
-  0xbe, 0x24, 0x51, 0x87, 0x93, 0x46, 0x2d, 0x98, 0x33, 0x7a, 0x6d, 0xa6,
-  0xca, 0x4c, 0x0f, 0x6d, 0x2c, 0x9a, 0xbd, 0xfb, 0xe4, 0x9d, 0x59, 0x43,
-  0x96, 0x0f, 0xde, 0xfe, 0x9b, 0x65, 0x4d, 0xf3, 0xe0, 0xcc, 0xb9, 0x4d,
-  0x74, 0xb0, 0x17, 0xec, 0xa3, 0x55, 0xcf, 0x9b, 0xa5, 0x3f, 0xd8, 0x6f,
-  0x3f, 0xfc, 0x83, 0x91, 0x9b, 0x6e, 0x07, 0x9b, 0xaf, 0xff, 0xe7, 0x7f,
-  0x79, 0x1b, 0xe1, 0x8e, 0x7e, 0x9b, 0x17, 0xb7, 0xe5, 0x47, 0x33, 0x70,
-  0x5c, 0x6c, 0x69, 0x6b, 0x52, 0x13, 0x12, 0x0d, 0xf3, 0x45, 0x63, 0x6f,
-  0x0c, 0xda, 0x21, 0xe6, 0x47, 0xe3, 0x74, 0x3c, 0xbb, 0x4f, 0x6e, 0xd2,
-  0xdb, 0x8c, 0xc6, 0xbb, 0x30, 0x5b, 0x87, 0x66, 0xc0, 0x48, 0xf2, 0x19,
-  0x44, 0x8b, 0x9c, 0xd5, 0x69, 0xb9, 0x1c, 0x9b, 0xf3, 0xfe, 0xb7, 0x65,
-  0xd9, 0xf0, 0xc4, 0xa4, 0xb7, 0x65, 0x3e, 0x6d, 0x5d, 0x8f, 0x37, 0x19,
-  0xc9, 0x18, 0xfa, 0x30, 0xee, 0x0d, 0x23, 0xe3, 0xa8, 0xa7, 0xd8, 0xfb,
-  0x79, 0x43, 0x37, 0x90, 0x91, 0x4e, 0xe9, 0xac, 0x2e, 0x93, 0xe4, 0xba,
-  0xa4, 0x8d, 0x0b, 0x99, 0x88, 0x9d, 0x67, 0x16, 0xe5, 0x26, 0xa5, 0x8b,
-  0xc6, 0xdc, 0x29, 0x76, 0x6b, 0x56, 0x19, 0xc4, 0x23, 0x56, 0x2a, 0x9d,
-  0xf5, 0xf9, 0x42, 0xa1, 0x77, 0x64, 0xaa, 0x92, 0xcd, 0x7f, 0xdd, 0xec,
-  0x27, 0x9b, 0xff, 0xbe, 0x09, 0xd1, 0xbe, 0xf9, 0x6f, 0x9b, 0x6e, 0x9d,
-  0x8d, 0x86, 0x74, 0x9b, 0x4f, 0xe9, 0x6e, 0x30, 0x23, 0x39, 0x39, 0xbf,
-  0x7d, 0x9e, 0xfc, 0x9d, 0xae, 0x73, 0x23, 0xfe, 0xb2, 0x4f, 0xba, 0x49,
-  0x74, 0x6c, 0xe6, 0xed, 0xc4, 0xc8, 0xc1, 0x74, 0x41, 0xf7, 0x7a, 0x56,
-  0x4d, 0xcc, 0x8e, 0x4a, 0xaf, 0xcd, 0x1e, 0x32, 0xd7, 0xa3, 0x36, 0x47,
-  0xed, 0xd3, 0x2b, 0x3c, 0x2c, 0x23, 0xb3, 0x92, 0x22, 0x9d, 0x9b, 0x4d,
-  0x7a, 0x4a, 0x3d, 0xca, 0x8b, 0x70, 0x31, 0xff, 0x72, 0x95, 0x7d, 0xbe,
-  0x7b, 0x70, 0xf0, 0xe4, 0x8f, 0xfb, 0xcf, 0xb2, 0xe6, 0x66, 0xf7, 0xe7,
-  0x1d, 0xfb, 0xc8, 0xc9, 0x15, 0xa6, 0x5d, 0xb7, 0x9f, 0x76, 0xc2, 0x5c,
-  0xbc, 0x56, 0x70, 0x9b, 0xf7, 0xcd, 0xdf, 0xb3, 0xab, 0xfc, 0x53, 0x5f,
-  0x55, 0x18, 0x3e, 0x06, 0xa9, 0xd9, 0x6a, 0x66, 0xfd, 0xe8, 0xd4, 0x6a,
-  0x73, 0xd7, 0xcb, 0xac, 0x36, 0x33, 0x79, 0x77, 0x93, 0x36, 0x89, 0x6d,
-  0x80, 0x57, 0x76, 0x9e, 0x5f, 0xdf, 0x34, 0xc9, 0x5d, 0x4a, 0xf2, 0xff,
-  0xa4, 0xe1, 0x26, 0xe8, 0xe2, 0x35, 0x52, 0xff, 0x2a, 0x35, 0xe2, 0x9b,
-  0xd6, 0x10, 0xb7, 0xec, 0xd8, 0x5d, 0xfa, 0x8d, 0xd9, 0xe6, 0xbc, 0x20,
-  0x4e, 0xc3, 0x19, 0xa7, 0x35, 0x1d, 0xa4, 0xc2, 0x9c, 0xd7, 0xc6, 0x5c,
-  0xdb, 0x4b, 0xfa, 0xd7, 0x8d, 0xb9, 0x98, 0x31, 0x07, 0xd2, 0x51, 0xdc,
-  0x5d, 0x6f, 0x68, 0x39, 0x69, 0x6d, 0xec, 0x7d, 0x62, 0x16, 0xa9, 0x2f,
-  0xcb, 0x6c, 0xdf, 0xa8, 0xcd, 0x81, 0x33, 0xc2, 0xc2, 0xee, 0x8c, 0x1e,
-  0xc9, 0xbd, 0x1e, 0x8f, 0x13, 0x7d, 0x4c, 0x6b, 0xba, 0xbb, 0xf9, 0x86,
-  0x36, 0x9d, 0xf7, 0x06, 0x6b, 0x26, 0x2d, 0xfd, 0x48, 0x5a, 0x42, 0x47,
-  0x17, 0xc1, 0x6b, 0xd3, 0xd2, 0x6c, 0x32, 0xd3, 0x5b, 0x23, 0x1f, 0x69,
-  0x64, 0x24, 0xf5, 0x30, 0x2b, 0xd8, 0xe4, 0xa6, 0x4d, 0xfa, 0x61, 0xde,
-  0x90, 0xd8, 0x87, 0x62, 0x69, 0xfa, 0x6b, 0x26, 0x05, 0xba, 0xa1, 0x91,
-  0x9d, 0xde, 0xf8, 0x71, 0x63, 0x99, 0x67, 0x93, 0x5b, 0xa3, 0x38, 0x18,
-  0x1d, 0x31, 0xb3, 0x6f, 0xe1, 0x8a, 0x9d, 0x90, 0xba, 0x32, 0x33, 0xe7,
-  0x65, 0x52, 0x56, 0x15, 0x29, 0xe1, 0xb4, 0x82, 0x63, 0x96, 0x6b, 0xf3,
-  0xcc, 0xdc, 0xec, 0xfe, 0x74, 0xe6, 0x74, 0xc7, 0x18, 0xf9, 0x62, 0x54,
-  0x05, 0x48, 0x10, 0x73, 0xa5, 0x43, 0x0c, 0x63, 0xe0, 0xe8, 0x1d, 0xb5,
-  0x3d, 0x99, 0x64, 0x8b, 0xa6, 0x8e, 0x8d, 0x49, 0x17, 0xdc, 0x74, 0xa7,
-  0xca, 0x68, 0xe6, 0x7d, 0x3d, 0x08, 0xf3, 0x6a, 0xef, 0x61, 0xa8, 0x42,
-  0xaa, 0x5a, 0x18, 0xd5, 0xa8, 0xb6, 0xb3, 0xd6, 0x60, 0x6f, 0x18, 0x31,
-  0x86, 0x39, 0x9f, 0x53, 0x47, 0xe9, 0xe1, 0x9a, 0x4f, 0x2a, 0xc4, 0x25,
-  0x2d, 0x24, 0x2b, 0xbf, 0xfc, 0x5d, 0xba, 0x4d, 0xcc, 0x7c, 0xda, 0xc6,
-  0xcd, 0x57, 0xed, 0x9a, 0xd2, 0xe7, 0x6b, 0x63, 0x36, 0x98, 0xcb, 0x75,
-  0x5a, 0xdf, 0x18, 0x7d, 0xa8, 0x96, 0x93, 0x9d, 0xcf, 0xcd, 0x9e, 0xb9,
-  0xa5, 0xf5, 0x5d, 0x64, 0xd9, 0x74, 0x98, 0x9c, 0x5d, 0x91, 0x54, 0xad,
-  0x4c, 0xa7, 0x1b, 0xfc, 0x9a, 0x04, 0xbd, 0x99, 0xb7, 0x29, 0xf4, 0x6a,
-  0x7b, 0xb4, 0xb8, 0x2b, 0x9e, 0xc4, 0xa6, 0x9d, 0x66, 0x26, 0x3b, 0x21,
-  0x29, 0x37, 0x6b, 0xdf, 0x0a, 0x38, 0x87, 0x46, 0x7a, 0x53, 0xf7, 0xc6,
-  0x59, 0x82, 0x9d, 0x38, 0xce, 0x9a, 0xbb, 0x2c, 0xb3, 0xcd, 0xd5, 0x99,
-  0xb9, 0x89, 0x68, 0xd1, 0x58, 0x19, 0x83, 0x30, 0xa4, 0xa9, 0x3d, 0xbf,
-  0x38, 0xfb, 0xe6, 0xe2, 0x78, 0x34, 0x4a, 0xde, 0x1e, 0x5f, 0x1e, 0x5f,
-  0xb4, 0x66, 0xba, 0x28, 0xab, 0x39, 0x56, 0x74, 0x9a, 0xd7, 0x8b, 0x59,
-  0x7a, 0x4f, 0x4b, 0x6d, 0x46, 0x72, 0x5d, 0xd1, 0xc9, 0x9a, 0x67, 0x74,
-  0x2b, 0x4c, 0x97, 0x90, 0x64, 0x49, 0x69, 0xe4, 0x43, 0x2a, 0x4a, 0x28,
-  0x09, 0x13, 0x68, 0xae, 0xc5, 0xb5, 0x9b, 0x69, 0x23, 0x71, 0xe4, 0x72,
-  0xa3, 0xdb, 0xcd, 0xae, 0x07, 0x69, 0x83, 0xb0, 0x37, 0xfa, 0xee, 0x67,
-  0x3c, 0x4d, 0x35, 0xc6, 0x64, 0xf6, 0x6c, 0x3e, 0x87, 0xb0, 0x33, 0x7f,
-  0x3a, 0x05, 0x30, 0xbb, 0x32, 0xda, 0xaf, 0xb9, 0xf0, 0x58, 0x79, 0xef,
-  0xf6, 0x49, 0x7b, 0x6b, 0x55, 0x56, 0xb3, 0x0d, 0x49, 0x34, 0x53, 0x83,
-  0xdc, 0x15, 0xfe, 0x82, 0x15, 0x62, 0x46, 0x4d, 0x20, 0xd9, 0x27, 0x8f,
-  0x2d, 0xa8, 0x0b, 0x99, 0x59, 0xd9, 0x29, 0x37, 0x5f, 0x2f, 0xaf, 0x70,
-  0x90, 0x93, 0x2d, 0xa3, 0x2c, 0xbf, 0x35, 0x06, 0x8c, 0x31, 0x22, 0xfa,
-  0xc9, 0xf9, 0x36, 0xde, 0xdb, 0xdb, 0xdd, 0x7f, 0xca, 0x82, 0x60, 0xa8,
-  0xcd, 0xbd, 0xf1, 0x04, 0xf1, 0xde, 0x47, 0x5a, 0x5e, 0x7e, 0x88, 0x1a,
-  0x1f, 0x26, 0x7b, 0x6f, 0xf9, 0x27, 0x4f, 0x3f, 0x7f, 0xf6, 0xd9, 0x73,
-  0xf9, 0x61, 0x7b, 0x83, 0xdb, 0xfe, 0x63, 0x77, 0xc0, 0x18, 0x23, 0xeb,
-  0xcc, 0xf4, 0xc4, 0x8c, 0x6e, 0x9e, 0x17, 0xe6, 0x98, 0x98, 0x63, 0x25,
-  0xb2, 0x8a, 0xf6, 0xb3, 0xe9, 0xfc, 0x15, 0x4b, 0x36, 0x59, 0xd7, 0xb6,
-  0x95, 0x67, 0x5e, 0x36, 0x5b, 0xd6, 0xc8, 0x72, 0xbb, 0x48, 0x98, 0x09,
-  0x73, 0xc0, 0xe8, 0xd6, 0x19, 0x93, 0x80, 0x25, 0x53, 0xc7, 0xe8, 0xa4,
-  0x59, 0xf4, 0x6b, 0xf6, 0x56, 0x34, 0x6f, 0x98, 0xbe, 0x99, 0x3b, 0x91,
-  0xae, 0xb9, 0x70, 0xde, 0x8d, 0x28, 0x80, 0x84, 0xbc, 0xcb, 0x6b, 0x88,
-  0x86, 0xbb, 0x72, 0x39, 0x33, 0x86, 0x05, 0x3d, 0xb0, 0x5c, 0xe0, 0x05,
-  0xf3, 0xa9, 0x85, 0x93, 0x01, 0xf3, 0xfc, 0x13, 0xed, 0x9d, 0x6e, 0x2b,
-  0xa6, 0x6b, 0xe6, 0x9f, 0x0b, 0xb3, 0x95, 0xb8, 0x3b, 0xc3, 0xee, 0x0d,
-  0x01, 0xd9, 0x17, 0xec, 0x44, 0x3a, 0xf3, 0x10, 0xda, 0xe7, 0x67, 0xa3,
-  0x4b, 0xd2, 0x00, 0xce, 0xdf, 0x5f, 0x9a, 0x86, 0x8c, 0x0a, 0x50, 0x37,
-  0x66, 0x53, 0xd2, 0x8b, 0x45, 0x06, 0xab, 0x4e, 0x9b, 0x33, 0x7b, 0x2f,
-  0x87, 0xa0, 0x82, 0x5a, 0xa3, 0x9f, 0xe4, 0x3e, 0xb2, 0xd9, 0x4b, 0x47,
-  0x50, 0x8d, 0x5e, 0xbe, 0xc3, 0xed, 0x3b, 0xc9, 0xd6, 0x97, 0xdb, 0x66,
-  0xcf, 0x0e, 0x4a, 0x3b, 0x3b, 0x83, 0x81, 0xbc, 0x6a, 0xbe, 0x5d, 0xe7,
-  0xf3, 0x7c, 0x96, 0x7a, 0xea, 0x95, 0x48, 0x54, 0x3a, 0x9f, 0x56, 0xae,
-  0x4c, 0xcc, 0xae, 0x41, 0xb7, 0x9d, 0x75, 0x47, 0x73, 0x08, 0xa9, 0xe4,
-  0x96, 0x6a, 0x4a, 0x0a, 0x01, 0x94, 0xd8, 0x45, 0x6e, 0xa7, 0x8e, 0xd6,
-  0x8c, 0xc4, 0x55, 0x6b, 0xa2, 0xba, 0xeb, 0x16, 0x4c, 0x1c, 0xdd, 0x48,
-  0x70, 0x1f, 0xd8, 0xa9, 0x4b, 0x7a, 0xe3, 0xb4, 0xea, 0x25, 0x56, 0x16,
-  0xf3, 0xd9, 0xa4, 0x13, 0x52, 0x65, 0xd7, 0x4b, 0x33, 0x82, 0x84, 0x67,
-  0x97, 0x46, 0xfa, 0x07, 0x6f, 0xa4, 0xda, 0xc0, 0x60, 0x4c, 0x8f, 0xe4,
-  0x35, 0x5b, 0x7e, 0x57, 0xc6, 0x94, 0xa0, 0x43, 0xa3, 0x9a, 0x2d, 0x34,
-  0x1a, 0xd9, 0x31, 0x91, 0x0d, 0x63, 0x77, 0x69, 0x49, 0x47, 0xa5, 0xc9,
-  0x8c, 0xa0, 0x81, 0xf8, 0xa7, 0x27, 0x07, 0x66, 0xc9, 0x06, 0x83, 0xda,
-  0xcc, 0x3f, 0xa9, 0xc3, 0x0b, 0x31, 0xb3, 0xcf, 0xe0, 0xc3, 0xb0, 0x0e,
-  0x8f, 0x33, 0x76, 0x75, 0xf0, 0xb5, 0xc9, 0xef, 0x42, 0x84, 0x1a, 0x45,
-  0xf5, 0xce, 0x7c, 0x38, 0x35, 0x4b, 0x66, 0x0e, 0xdc, 0x5b, 0x9a, 0x28,
-  0x76, 0x57, 0x24, 0xd2, 0x54, 0x9d, 0x60, 0x67, 0xe4, 0x74, 0xee, 0x53,
-  0xa7, 0xcb, 0x4c, 0xa7, 0x39, 0xfd, 0xd6, 0x9c, 0x2f, 0x73, 0xc3, 0x2d,
-  0x33, 0x98, 0x03, 0x32, 0xa9, 0x73, 0x37, 0x99, 0xb0, 0x2c, 0xeb, 0x9b,
-  0x92, 0x2c, 0xb7, 0x1e, 0xcb, 0xe2, 0x01, 0x7d, 0xab, 0x87, 0xfb, 0x7c,
-  0x9e, 0xe8, 0xb7, 0xe4, 0x53, 0x66, 0x1c, 0x53, 0x5f, 0x37, 0xeb, 0x9b,
-  0x8b, 0xe6, 0xde, 0xd3, 0xdb, 0x21, 0xab, 0xb9, 0xef, 0x95, 0x55, 0x78,
-  0xcc, 0x95, 0xba, 0x20, 0x65, 0x4a, 0x64, 0x38, 0x2e, 0x43, 0x1c, 0xd9,
-  0x9a, 0xbb, 0xd6, 0x37, 0x73, 0x4b, 0x4f, 0x5e, 0xdf, 0xe8, 0xa3, 0xde,
-  0xc5, 0x9a, 0x9a, 0xc1, 0xd1, 0xe5, 0x40, 0x26, 0xee, 0x54, 0xe5, 0x7e,
-  0x59, 0xb1, 0x30, 0x9b, 0x95, 0x66, 0x2f, 0xf7, 0x58, 0x65, 0x95, 0x6e,
-  0x53, 0xaf, 0xa9, 0x97, 0x34, 0xe3, 0xec, 0xfa, 0x29, 0xed, 0xda, 0xd8,
-  0x4e, 0xcb, 0x7c, 0xd5, 0x0f, 0x76, 0xcd, 0x4d, 0xd4, 0x08, 0x73, 0x64,
-  0xae, 0xce, 0x9a, 0xf6, 0xb1, 0xce, 0x3c, 0xb6, 0xb7, 0xb9, 0xea, 0x36,
-  0x1b, 0x3e, 0x8f, 0x30, 0x7b, 0x3a, 0x33, 0x5f, 0x63, 0xfb, 0xc8, 0x45,
-  0x66, 0x47, 0x66, 0x46, 0x34, 0xcd, 0x53, 0xec, 0x13, 0x5e, 0x1a, 0x28,
-  0x23, 0xce, 0x48, 0x8b, 0xe8, 0xc1, 0xf7, 0x5d, 0x1b, 0x6b, 0x36, 0xf3,
-  0xaf, 0x24, 0xed, 0xd3, 0xe0, 0xcc, 0x8c, 0xfd, 0x14, 0xe3, 0x18, 0xdc,
-  0x26, 0x74, 0xfc, 0x8c, 0xd9, 0x40, 0x67, 0x71, 0x70, 0x76, 0x7a, 0xeb,
-  0x1d, 0x23, 0x32, 0xa6, 0x0b, 0xd2, 0x53, 0xfa, 0x70, 0x58, 0x8c, 0xcb,
-  0xd2, 0x58, 0xae, 0x6e, 0x68, 0x74, 0x1f, 0x64, 0x05, 0xed, 0x76, 0x59,
-  0x51, 0x23, 0x12, 0x16, 0x56, 0xde, 0xde, 0x1b, 0x73, 0x29, 0xbd, 0x4e,
-  0x73, 0xbb, 0xdf, 0xe4, 0x64, 0x4c, 0x13, 0x7d, 0xb8, 0x28, 0xe5, 0x79,
-  0x5a, 0x2a, 0x52, 0x81, 0x44, 0x6e, 0x2d, 0x6b, 0x3e, 0x3e, 0x66, 0x54,
-  0x46, 0xf2, 0x40, 0x76, 0x48, 0xbb, 0xa4, 0x36, 0x6a, 0x73, 0x63, 0x28,
-  0xca, 0xa4, 0x73, 0x42, 0xf8, 0x42, 0x83, 0x34, 0x2d, 0xf6, 0x86, 0xc9,
-  0xb7, 0xe5, 0x5d, 0x06, 0xf7, 0x1d, 0xf4, 0xfb, 0x9c, 0x1c, 0x50, 0x46,
-  0x15, 0xbc, 0xcb, 0x92, 0xb9, 0x51, 0x3d, 0xcd, 0x6c, 0x42, 0xfb, 0xc0,
-  0xcf, 0x4c, 0x3f, 0x9d, 0xcd, 0x52, 0xde, 0xf1, 0x2c, 0xd9, 0x51, 0xd8,
-  0xa5, 0xbc, 0xe2, 0x23, 0x91, 0x6c, 0x41, 0xbd, 0x99, 0xd0, 0x6c, 0x2d,
-  0x1a, 0x37, 0x0a, 0x3b, 0x21, 0x77, 0x69, 0xed, 0x1d, 0x2e, 0x36, 0x4e,
-  0x93, 0xcf, 0x86, 0x7b, 0x2f, 0x86, 0xbb, 0x43, 0x32, 0x45, 0xb2, 0xdb,
-  0xbc, 0x5c, 0xd6, 0xb4, 0x9e, 0xd4, 0x13, 0xef, 0x74, 0x92, 0x9b, 0x88,
-  0x96, 0xf7, 0xfa, 0x7a, 0xc6, 0x8a, 0xcf, 0x4e, 0x79, 0x75, 0x95, 0x78,
-  0xca, 0x51, 0x95, 0x2d, 0xd8, 0x06, 0xa2, 0xb9, 0x91, 0x03, 0xc7, 0x42,
-  0xd5, 0xd7, 0x8a, 0x64, 0x36, 0x9d, 0x47, 0x61, 0x30, 0x48, 0xc7, 0x75,
-  0x43, 0xe6, 0xd4, 0x60, 0x59, 0xe4, 0x9f, 0x06, 0x75, 0x39, 0xf9, 0x68,
-  0x96, 0xe5, 0xe5, 0x22, 0x6d, 0x6e, 0xbe, 0xec, 0x78, 0x6a, 0xb7, 0xe8,
-  0x36, 0xd9, 0x4e, 0x92, 0x23, 0x56, 0x2c, 0x69, 0x2e, 0x2a, 0x3e, 0x71,
-  0x66, 0x3d, 0xa5, 0x95, 0xe4, 0xbd, 0x69, 0xc5, 0xec, 0xe6, 0xb9, 0x59,
-  0xd6, 0x84, 0x1b, 0xeb, 0xab, 0x30, 0xed, 0x34, 0x07, 0x2f, 0x20, 0x5d,
-  0x24, 0x70, 0xa6, 0x99, 0xc3, 0x53, 0x56, 0x1f, 0x87, 0xe4, 0xb6, 0x30,
-  0x56, 0xe3, 0x01, 0x6d, 0xe8, 0xc6, 0x88, 0xb1, 0x86, 0xe7, 0xbd, 0x16,
-  0x21, 0x4c, 0xdd, 0x62, 0x99, 0xec, 0xa4, 0x94, 0xce, 0xa7, 0xf6, 0x40,
-  0x3e, 0x9b, 0xa8, 0xbd, 0x21, 0x5b, 0x6f, 0xf3, 0x2b, 0x63, 0x01, 0xde,
-  0xf0, 0xc2, 0xa3, 0x31, 0x1e, 0xa3, 0xd9, 0xa3, 0xd7, 0xc6, 0x86, 0x28,
-  0x9a, 0x4e, 0x73, 0xe6, 0xab, 0x74, 0x59, 0xd3, 0x3d, 0xc3, 0xe6, 0x2e,
-  0xb6, 0x89, 0xb8, 0x65, 0xac, 0x05, 0x3a, 0xdc, 0xe8, 0xbc, 0x76, 0xa8,
-  0xab, 0xfa, 0xd9, 0xf0, 0xd9, 0x13, 0xb3, 0xa8, 0xfe, 0x44, 0x17, 0xf7,
-  0xe4, 0xce, 0x8c, 0x4f, 0xea, 0xa5, 0xb9, 0x4b, 0x6b, 0x56, 0x4f, 0xcc,
-  0x19, 0xbe, 0xca, 0xaf, 0x97, 0x55, 0xc6, 0x97, 0x1a, 0x3c, 0xa0, 0xea,
-  0xf8, 0xa4, 0x7b, 0xe2, 0xa6, 0x84, 0xbf, 0xd0, 0xc8, 0x97, 0x6c, 0x76,
-  0xd5, 0xef, 0xce, 0x02, 0x69, 0x74, 0xb4, 0x05, 0x30, 0x44, 0x6c, 0x22,
-  0xa3, 0xb9, 0xa1, 0xb1, 0x22, 0x93, 0x7b, 0x7d, 0x6e, 0x26, 0x38, 0x21,
-  0x87, 0x59, 0x32, 0x99, 0xa5, 0xf9, 0x1c, 0xe6, 0x8e, 0x38, 0x84, 0x86,
-  0x9d, 0xe6, 0x2e, 0x45, 0x1d, 0x87, 0x26, 0x3e, 0x26, 0x6b, 0xa0, 0xaa,
-  0x49, 0x58, 0xd1, 0x24, 0xa4, 0xaa, 0x4c, 0xb0, 0xae, 0x7d, 0x93, 0x4d,
-  0x3e, 0xea, 0x6a, 0xea, 0x2d, 0x3c, 0xe8, 0x34, 0x47, 0x9e, 0x50, 0x98,
-  0x1c, 0xe6, 0xa9, 0xa5, 0x59, 0xd3, 0x45, 0x59, 0xd7, 0x39, 0x79, 0x14,
-  0x48, 0x43, 0x5e, 0x4e, 0xa0, 0x38, 0x93, 0x89, 0xfd, 0xc9, 0xac, 0xa4,
-  0x6e, 0x89, 0xc4, 0xec, 0xb1, 0x62, 0x3a, 0x68, 0xaa, 0x7c, 0xb1, 0xaa,
-  0x77, 0x7c, 0x65, 0xb4, 0xef, 0xec, 0x5a, 0x8c, 0x18, 0xd8, 0x07, 0x6c,
-  0x31, 0x4c, 0x92, 0xce, 0x6c, 0x76, 0x9a, 0xe3, 0xb9, 0xed, 0x93, 0x89,
-  0x9c, 0x1b, 0x11, 0xca, 0xfa, 0x23, 0x3c, 0x40, 0x46, 0x5b, 0x94, 0xb3,
-  0x6c, 0x14, 0xdb, 0x7c, 0x82, 0x7b, 0x21, 0xbf, 0xce, 0xc8, 0xe3, 0x6c,
-  0x8e, 0x77, 0x33, 0x33, 0xb7, 0x85, 0x27, 0x28, 0xec, 0x8a, 0x17, 0xd9,
-  0x75, 0xd9, 0x90, 0x80, 0x0e, 0xb6, 0xc9, 0x7b, 0x6c, 0x7c, 0xbb, 0x27,
-  0x54, 0x13, 0xf2, 0xaf, 0xa9, 0x9c, 0x55, 0x14, 0xf3, 0x69, 0xd6, 0x84,
-  0xc4, 0x08, 0xab, 0x1b, 0xb3, 0x03, 0xbb, 0xab, 0x6e, 0x5a, 0x9b, 0x64,
-  0x50, 0x47, 0x71, 0x97, 0xea, 0x55, 0xae, 0x3a, 0xd0, 0x98, 0x4c, 0x36,
-  0x32, 0x8f, 0xef, 0xf2, 0x49, 0xa6, 0x1e, 0x0a, 0xf1, 0xa4, 0xcd, 0xf2,
-  0x70, 0xef, 0xcf, 0x97, 0x35, 0xac, 0x26, 0x56, 0x53, 0xc8, 0xa0, 0xbc,
-  0xcb, 0x49, 0x8d, 0x39, 0xb9, 0x92, 0xb3, 0x4a, 0xb7, 0x28, 0x9f, 0x8f,
-  0xb4, 0xca, 0x61, 0x3d, 0x9b, 0xe6, 0xa4, 0x9f, 0x9e, 0x91, 0xa3, 0x76,
-  0x9b, 0xeb, 0x37, 0xde, 0x17, 0xcd, 0xce, 0x69, 0x74, 0x30, 0x24, 0xaf,
-  0xd2, 0x7c, 0x16, 0x99, 0x27, 0x28, 0xa8, 0xc6, 0x22, 0xbd, 0xc9, 0x2a,
-  0x59, 0x83, 0x25, 0x4d, 0x3a, 0x45, 0x07, 0x82, 0xa7, 0x47, 0x59, 0xc6,
-  0x2a, 0x16, 0xf4, 0xb1, 0x4f, 0xf7, 0x76, 0x7a, 0x71, 0x8f, 0xf1, 0xda,
-  0xc9, 0xdf, 0x79, 0xf9, 0xbc, 0xe3, 0x99, 0x52, 0xab, 0xe9, 0x82, 0xdc,
-  0xe0, 0xdd, 0x13, 0x4a, 0xda, 0x28, 0x45, 0x52, 0xb6, 0xd5, 0xa9, 0x26,
-  0x4e, 0xc5, 0xc2, 0x46, 0x20, 0x20, 0x1c, 0xc8, 0xe1, 0x2f, 0x47, 0x98,
-  0xdb, 0x11, 0x4d, 0xa9, 0xd3, 0x9c, 0x51, 0xcd, 0xc8, 0x4f, 0x08, 0x23,
-  0xbc, 0xb5, 0x63, 0x8d, 0x41, 0x5c, 0x59, 0x3f, 0x38, 0x39, 0xc1, 0x68,
-  0xbe, 0x55, 0xf7, 0xc4, 0x99, 0xc5, 0x4b, 0x9d, 0xe6, 0x48, 0x1b, 0x26,
-  0xd5, 0xc1, 0x1c, 0x9a, 0x9c, 0xf6, 0x23, 0x36, 0x81, 0xba, 0x42, 0xcd,
-  0xf6, 0x65, 0xcf, 0x98, 0xca, 0x55, 0x56, 0x36, 0xd0, 0xdd, 0xab, 0x59,
-  0x7a, 0x6d, 0xf6, 0x5d, 0xa7, 0xb9, 0xfc, 0xda, 0xd8, 0xb8, 0x1c, 0x90,
-  0xa8, 0x4b, 0x73, 0x7b, 0xd0, 0xb8, 0xc5, 0xde, 0x37, 0xe6, 0x9e, 0xd9,
-  0x66, 0xb3, 0x25, 0x24, 0xe0, 0x99, 0x19, 0xe0, 0x68, 0xf4, 0xed, 0xb6,
-  0x2f, 0xe0, 0x30, 0xbf, 0x8f, 0x11, 0x6f, 0x90, 0x4f, 0x30, 0x4d, 0x92,
-  0xaf, 0xb1, 0x26, 0x5d, 0x29, 0xc7, 0x2b, 0x1d, 0x99, 0x3c, 0x9d, 0x08,
-  0x72, 0x11, 0x0d, 0x45, 0x00, 0x40, 0x02, 0x60, 0x9a, 0xd4, 0x5b, 0xc5,
-  0x3b, 0x9c, 0xbc, 0x08, 0x7c, 0x4d, 0x9b, 0xbf, 0x2d, 0xeb, 0x25, 0x19,
-  0xee, 0x9d, 0xe6, 0x16, 0x46, 0x90, 0x35, 0xc6, 0x78, 0x33, 0x12, 0x69,
-  0x59, 0xd0, 0x9f, 0x56, 0xbb, 0xc8, 0xa1, 0xe7, 0xd2, 0x92, 0x54, 0xe4,
-  0x1c, 0x24, 0x0b, 0xc1, 0xde, 0xcd, 0x46, 0xb4, 0x48, 0xcb, 0xdd, 0xa5,
-  0x85, 0xfb, 0x84, 0x82, 0x17, 0x10, 0x3b, 0xd3, 0x9c, 0x02, 0x5f, 0x74,
-  0xf0, 0x56, 0x48, 0xf1, 0xad, 0x7a, 0x69, 0xe4, 0x0c, 0x69, 0x55, 0x2c,
-  0x44, 0x02, 0x01, 0xa2, 0x42, 0xc6, 0x28, 0x70, 0x9e, 0x34, 0xd9, 0xfe,
-  0xad, 0x8f, 0x09, 0x16, 0xce, 0x5f, 0xc9, 0x89, 0xd1, 0x67, 0x8d, 0xa6,
-  0xfa, 0x92, 0xf6, 0x5b, 0xa0, 0x05, 0x5c, 0x9e, 0x8e, 0x62, 0x0b, 0xda,
-  0x76, 0xa6, 0xd3, 0xfb, 0x24, 0x72, 0xc9, 0xbf, 0xc2, 0xfe, 0xa6, 0x92,
-  0xb4, 0x25, 0xa3, 0x72, 0x06, 0x73, 0x46, 0xd7, 0x7a, 0x66, 0xba, 0x29,
-  0x86, 0x04, 0x07, 0xea, 0x48, 0x8c, 0x19, 0x35, 0xaa, 0x21, 0x35, 0xc2,
-  0xfa, 0x96, 0x8e, 0x0e, 0xfd, 0x76, 0xe1, 0x4c, 0xea, 0x6e, 0x10, 0xef,
-  0xf7, 0x5b, 0xf5, 0xb6, 0x95, 0x64, 0xa6, 0x95, 0xf3, 0xe3, 0xb7, 0x50,
-  0xec, 0x53, 0xb3, 0x71, 0xde, 0xa9, 0x1f, 0x47, 0xe3, 0x70, 0xe3, 0x65,
-  0x3e, 0x6b, 0x39, 0x4b, 0x9d, 0x2d, 0x82, 0x20, 0x18, 0xef, 0x2b, 0x74,
-  0x8d, 0xdd, 0xfe, 0x39, 0xfc, 0x66, 0xdd, 0x5d, 0xd6, 0xdc, 0x2f, 0xc4,
-  0xe5, 0xb7, 0xac, 0x5b, 0x96, 0xb5, 0xde, 0xce, 0xb3, 0x06, 0xca, 0x07,
-  0x29, 0xfc, 0x5e, 0x9b, 0xc1, 0x0a, 0xa1, 0x5b, 0x74, 0x19, 0x5c, 0x17,
-  0xf9, 0xdf, 0xc5, 0xb7, 0x90, 0x15, 0xb7, 0x79, 0x55, 0x16, 0xa4, 0xaa,
-  0x18, 0x9b, 0xa0, 0xca, 0x21, 0x9c, 0x49, 0xdd, 0x35, 0xe2, 0x63, 0xf3,
-  0xe8, 0xfd, 0xc5, 0xe9, 0x87, 0xa3, 0xc3, 0x0f, 0x5f, 0xbf, 0x7f, 0xf7,
-  0xfa, 0xf4, 0x78, 0xb3, 0x7b, 0xa8, 0xaf, 0x58, 0x2c, 0xd0, 0x41, 0xa9,
-  0x49, 0x21, 0xc3, 0x09, 0x31, 0x5d, 0xe4, 0x96, 0xaf, 0xf3, 0x5b, 0x23,
-  0xd6, 0xa0, 0x5a, 0xc1, 0x79, 0x89, 0xbf, 0xc1, 0xdc, 0x97, 0x09, 0xef,
-  0x34, 0x37, 0x36, 0xf7, 0xb1, 0xe9, 0x34, 0x9f, 0x3e, 0x19, 0xbc, 0x9e,
-  0x14, 0x31, 0x67, 0xb4, 0x83, 0xc1, 0xc8, 0x68, 0x89, 0xe9, 0x32, 0x21,
-  0x95, 0xce, 0xd3, 0x9e, 0x3d, 0x3f, 0xe6, 0xb2, 0x31, 0xca, 0xa3, 0x7a,
-  0x4e, 0x8d, 0x75, 0x56, 0x7e, 0xd4, 0x88, 0xa8, 0xd1, 0x3c, 0x0f, 0x23,
-  0xcb, 0x5d, 0xf3, 0xba, 0xf0, 0x54, 0x6c, 0x52, 0x4b, 0x66, 0xff, 0x0e,
-  0xa4, 0x93, 0x93, 0xaa, 0x31, 0x6a, 0x5f, 0x96, 0xe3, 0x60, 0x68, 0xc8,
-  0x87, 0xd4, 0x62, 0x78, 0x2d, 0xba, 0xfa, 0x89, 0x31, 0x0a, 0xef, 0x69,
-  0x0e, 0xa8, 0x91, 0x61, 0xf6, 0x29, 0xc3, 0xc9, 0x93, 0xb7, 0x8e, 0x96,
-  0x15, 0xce, 0xf2, 0x0f, 0x46, 0x27, 0x21, 0x09, 0xf8, 0x1a, 0x6e, 0x0f,
-  0xf3, 0x82, 0x3e, 0x64, 0x2e, 0x9b, 0xee, 0xc5, 0x57, 0xce, 0xa6, 0xe4,
-  0x5e, 0x80, 0x89, 0x09, 0x87, 0xc0, 0xf9, 0xe1, 0xe5, 0xb7, 0xc1, 0x9c,
-  0x90, 0x98, 0x77, 0xf0, 0x03, 0xd9, 0x8a, 0x30, 0x8c, 0xea, 0x46, 0x0e,
-  0xc8, 0xbb, 0xd1, 0x28, 0x41, 0x70, 0x7b, 0x96, 0x8f, 0xab, 0x94, 0xbe,
-  0x49, 0x3f, 0xa6, 0x9f, 0x9a, 0x6d, 0xdd, 0x69, 0xee, 0xfc, 0xbb, 0xa3,
-  0xd1, 0x1f, 0xf6, 0xf6, 0x8c, 0xf2, 0x37, 0x5d, 0x9a, 0x79, 0xd9, 0x32,
-  0xaf, 0x14, 0xb5, 0x39, 0x99, 0xf3, 0x61, 0x5d, 0x6e, 0xe3, 0xf2, 0x86,
-  0xc6, 0x87, 0xeb, 0x21, 0xbd, 0x35, 0xb7, 0x2e, 0x76, 0x12, 0xcf, 0x31,
-  0xed, 0xe7, 0xae, 0x9a, 0xce, 0x0b, 0xac, 0xb1, 0x7f, 0x23, 0x31, 0xcc,
-  0xbd, 0x3d, 0xbb, 0x0f, 0x46, 0xb1, 0x95, 0x9f, 0x8d, 0x24, 0x72, 0x9e,
-  0x4e, 0xcc, 0x5f, 0xc9, 0x86, 0xda, 0xa6, 0xb1, 0xb5, 0xcf, 0x98, 0x8e,
-  0x6b, 0xc4, 0x5a, 0xe9, 0x25, 0xb9, 0x38, 0x11, 0xf0, 0x0f, 0xe5, 0x42,
-  0xd1, 0x3d, 0x5e, 0x0e, 0x54, 0x81, 0xce, 0x8e, 0xd3, 0xc9, 0xc7, 0xbb,
-  0xb4, 0x9a, 0xb2, 0xc3, 0xc4, 0xec, 0x99, 0x71, 0x3e, 0xcb, 0x9b, 0x7b,
-  0xbe, 0x3d, 0xba, 0xa3, 0xe0, 0xd0, 0x11, 0x4d, 0xa1, 0x39, 0x49, 0xd7,
-  0xc6, 0x16, 0x22, 0x2d, 0x94, 0x2c, 0x44, 0x73, 0x30, 0x3c, 0x5d, 0x1f,
-  0xaa, 0x52, 0x63, 0x55, 0x1d, 0xfb, 0xed, 0x4e, 0x73, 0x70, 0x3f, 0xd1,
-  0x49, 0x42, 0x37, 0xdd, 0xee, 0x55, 0x41, 0xe8, 0x8b, 0x29, 0xdd, 0x40,
-  0x49, 0x7d, 0x6f, 0x6e, 0xfb, 0x79, 0x12, 0x51, 0x15, 0x81, 0x75, 0x48,
-  0xbe, 0xcb, 0xee, 0x8d, 0x61, 0x91, 0x17, 0x4e, 0x56, 0xb2, 0x8f, 0x28,
-  0x23, 0x4b, 0x95, 0x75, 0xd2, 0x5c, 0xfd, 0x8c, 0x99, 0xb8, 0x8a, 0xf9,
-  0x26, 0x09, 0x2d, 0x2b, 0x7e, 0x5f, 0xf5, 0x71, 0x6a, 0x62, 0xb3, 0x6e,
-  0x09, 0x65, 0x7c, 0x29, 0xb6, 0x15, 0x83, 0x8b, 0x13, 0x2e, 0x13, 0x8e,
-  0x09, 0x93, 0xcb, 0xb9, 0xe6, 0xbd, 0x37, 0x4b, 0xeb, 0x06, 0x36, 0x05,
-  0xc6, 0x2d, 0x9e, 0x89, 0xf6, 0x1d, 0x02, 0x39, 0xf2, 0xd2, 0x1c, 0xb4,
-  0x7f, 0xfc, 0x0a, 0xe1, 0xe3, 0x8a, 0xe3, 0x19, 0x4a, 0x55, 0x99, 0xab,
-  0xd6, 0x55, 0xf2, 0x56, 0xef, 0x0c, 0xea, 0x84, 0xf5, 0x9e, 0x2c, 0x38,
-  0xd6, 0xc7, 0xea, 0x0d, 0xbb, 0x81, 0x42, 0x75, 0x95, 0x2c, 0x79, 0xf1,
-  0x16, 0x1c, 0xf4, 0x92, 0xad, 0x6c, 0x78, 0x6d, 0xda, 0xeb, 0x51, 0x3b,
-  0x7b, 0x07, 0xf4, 0xdf, 0x7d, 0xfc, 0xf7, 0x49, 0x4f, 0x81, 0x32, 0xfe,
-  0x52, 0xd3, 0x7d, 0xd3, 0x95, 0x96, 0xe2, 0x4a, 0xa7, 0xfb, 0x47, 0x2e,
-  0x20, 0x11, 0xc0, 0x24, 0x97, 0xe3, 0x87, 0x83, 0xb5, 0xab, 0xd3, 0x7e,
-  0x44, 0x03, 0x72, 0x13, 0x81, 0xbb, 0x0d, 0xb6, 0xe9, 0x98, 0xdc, 0x4e,
-  0x66, 0x6c, 0x13, 0xa3, 0xc1, 0xc0, 0x03, 0xc0, 0x81, 0x29, 0x9a, 0x8e,
-  0xc9, 0x87, 0x2a, 0xbb, 0x49, 0x6b, 0xa3, 0x4c, 0x2d, 0x1b, 0x9c, 0x8e,
-  0xae, 0xe5, 0x60, 0x8e, 0xd4, 0x2c, 0xb7, 0x2e, 0x17, 0xf9, 0xf0, 0xd0,
-  0x1a, 0x28, 0xb2, 0x8a, 0xec, 0xbc, 0x9c, 0x95, 0x77, 0xfa, 0xc4, 0x40,
-  0x90, 0x2b, 0xb1, 0x8b, 0xcb, 0xac, 0x26, 0xc0, 0x2f, 0xf4, 0x98, 0x1f,
-  0x84, 0x9a, 0x93, 0xb6, 0x43, 0xb0, 0x1a, 0x73, 0x04, 0xaf, 0xcc, 0x8c,
-  0x91, 0xe5, 0x31, 0xc3, 0xba, 0x91, 0x8d, 0x85, 0x5e, 0x07, 0x1a, 0x90,
-  0x68, 0x22, 0xf9, 0x95, 0x38, 0x5e, 0xe4, 0xdf, 0x90, 0xf8, 0xa2, 0x1f,
-  0xd4, 0x1c, 0xa8, 0xea, 0x2a, 0x07, 0x0f, 0x6f, 0x6d, 0x3d, 0xc0, 0xf6,
-  0x2e, 0x96, 0xc1, 0xb2, 0xaf, 0x53, 0xf7, 0xb5, 0x68, 0xc4, 0x31, 0x43,
-  0xdb, 0xf4, 0x8a, 0x63, 0x06, 0xbf, 0xfe, 0x90, 0x98, 0x1e, 0x0f, 0xc8,
-  0xcd, 0xb1, 0xac, 0x1f, 0x71, 0x46, 0x3c, 0xa1, 0xc0, 0xef, 0x58, 0x47,
-  0x0f, 0x07, 0xe4, 0xfc, 0x09, 0xe8, 0xee, 0xc2, 0x7b, 0xcf, 0xd9, 0x72,
-  0xe4, 0x9d, 0xac, 0x11, 0x37, 0x74, 0x21, 0xa6, 0xfc, 0x56, 0xfa, 0x31,
-  0x1d, 0x26, 0x67, 0x47, 0xa3, 0x73, 0xfa, 0x84, 0xd9, 0x1a, 0xc5, 0xb5,
-  0xe9, 0xc5, 0xe9, 0xa8, 0xd3, 0x9c, 0xb1, 0xd0, 0xb3, 0xa2, 0x6e, 0x41,
-  0xbd, 0x56, 0x4e, 0xb3, 0x3a, 0x00, 0x35, 0x32, 0x2e, 0x9d, 0x35, 0x16,
-  0x29, 0x42, 0x5a, 0x14, 0xa1, 0xa1, 0xf0, 0x69, 0xc2, 0x47, 0x2d, 0xf8,
-  0xd0, 0xc2, 0x6c, 0xf8, 0xe9, 0xb6, 0x75, 0x29, 0xf4, 0x75, 0x2f, 0x58,
-  0x4f, 0x7f, 0xbd, 0xbc, 0x26, 0x2d, 0xb9, 0x56, 0xdb, 0xc6, 0x7e, 0xc1,
-  0xcc, 0x46, 0x70, 0xc1, 0xeb, 0xb0, 0xcd, 0x99, 0xe0, 0x63, 0x63, 0xd4,
-  0x7a, 0x02, 0x41, 0xe0, 0x12, 0x2f, 0x4a, 0xd7, 0x2a, 0x69, 0xf2, 0xc0,
-  0x60, 0xe5, 0xf0, 0x8d, 0x4f, 0x32, 0xa3, 0x24, 0x4d, 0x23, 0x97, 0x14,
-  0x2f, 0x8a, 0x2a, 0xf6, 0x57, 0x82, 0xbb, 0x8a, 0xf8, 0x29, 0xd0, 0xd0,
-  0x84, 0x95, 0x08, 0xda, 0xf5, 0xf0, 0x31, 0xe6, 0xe4, 0x94, 0x25, 0x95,
-  0x8e, 0x4d, 0x4a, 0x6a, 0xcf, 0x9e, 0xfd, 0x6f, 0x8a, 0xa5, 0x99, 0xf8,
-  0xc8, 0x6d, 0x41, 0xd7, 0x3e, 0xdd, 0x7d, 0x34, 0x81, 0xeb, 0x1c, 0x50,
-  0x4f, 0xf7, 0xda, 0x0e, 0x28, 0x6c, 0x36, 0xa3, 0xa2, 0x66, 0xc9, 0x4b,
-  0xfa, 0xef, 0x83, 0x52, 0x19, 0x51, 0x67, 0x5f, 0x0a, 0xe3, 0x5d, 0x09,
-  0x5b, 0xb0, 0x1c, 0x5d, 0xb3, 0xe3, 0x10, 0xd0, 0x1e, 0x92, 0xd8, 0xeb,
-  0x27, 0xaf, 0x8f, 0x2f, 0xb0, 0xfc, 0xc7, 0xef, 0xbe, 0x81, 0x4f, 0xd8,
-  0xaa, 0xb6, 0x53, 0xb4, 0x59, 0xb3, 0xad, 0xcb, 0x31, 0x1d, 0x11, 0xff,
-  0xdd, 0xa9, 0x26, 0xf1, 0x49, 0xae, 0x7c, 0x44, 0xfc, 0xa7, 0xbf, 0xdf,
-  0xc5, 0x15, 0xd8, 0x48, 0xc7, 0x7d, 0x99, 0x3a, 0xf1, 0x1c, 0x7c, 0xcc,
-  0xee, 0xdd, 0xdf, 0x30, 0x9d, 0xde, 0x1c, 0xbb, 0x87, 0x5f, 0x7a, 0x33,
-  0xf3, 0x97, 0x03, 0x42, 0x15, 0x18, 0xf5, 0x69, 0xfa, 0xf3, 0xaf, 0xbb,
-  0x0a, 0xc5, 0x4d, 0x93, 0xb4, 0xef, 0xc4, 0x88, 0x37, 0x00, 0x8e, 0x18,
-  0x8d, 0xdf, 0x73, 0xb8, 0x8e, 0x05, 0xbb, 0xa0, 0x4a, 0x09, 0x70, 0x4a,
-  0x3b, 0x3d, 0x2d, 0x58, 0x21, 0x22, 0x11, 0xcd, 0xa0, 0x0d, 0x80, 0x38,
-  0xba, 0xc7, 0x65, 0x52, 0xce, 0x82, 0x4b, 0xae, 0x65, 0x53, 0x41, 0xd5,
-  0xdc, 0x97, 0x6b, 0x0d, 0x76, 0x86, 0x5c, 0x3e, 0xac, 0xde, 0x75, 0xcf,
-  0x81, 0x55, 0xf6, 0x80, 0x87, 0xf2, 0xaf, 0xc4, 0xc4, 0x7b, 0x19, 0xe1,
-  0x29, 0x74, 0x8f, 0x35, 0xb5, 0xa1, 0x2c, 0x6f, 0x16, 0xd5, 0x4c, 0xcd,
-  0xea, 0xea, 0xec, 0x9a, 0x65, 0x27, 0x57, 0x88, 0xdb, 0x43, 0xec, 0xf7,
-  0xe7, 0x65, 0x36, 0xf2, 0xad, 0xca, 0x45, 0x75, 0x64, 0x18, 0x59, 0xf7,
-  0x30, 0x6b, 0x94, 0x50, 0x5c, 0x25, 0x62, 0xce, 0x63, 0x5b, 0xe9, 0xbe,
-  0xe2, 0xed, 0x47, 0x46, 0x52, 0xcf, 0x9b, 0x92, 0x5e, 0x6c, 0x29, 0x1a,
-  0x0e, 0x58, 0xc8, 0x79, 0xc9, 0x6f, 0x69, 0xea, 0x74, 0xef, 0x38, 0xcf,
-  0x5b, 0x5b, 0x27, 0x2b, 0x0b, 0xfa, 0xb3, 0x20, 0x8f, 0xcd, 0xbf, 0x44,
-  0x36, 0x64, 0x74, 0x2f, 0x92, 0xf3, 0x56, 0x82, 0x39, 0xd0, 0x5c, 0x08,
-  0xb8, 0x24, 0x60, 0xce, 0x88, 0x96, 0x1e, 0xb3, 0x35, 0x54, 0xeb, 0x50,
-  0x93, 0xc2, 0xb3, 0x33, 0x02, 0x35, 0xbc, 0xbb, 0x41, 0x8c, 0xfc, 0x6e,
-  0x28, 0x0c, 0xcc, 0x7b, 0x97, 0x9c, 0x83, 0xf9, 0xe4, 0x23, 0xd0, 0x3e,
-  0x72, 0x35, 0xb5, 0xe4, 0x87, 0x60, 0x6d, 0x18, 0x25, 0x16, 0x59, 0x02,
-  0x98, 0x39, 0xe4, 0xb5, 0xa4, 0x3d, 0x49, 0xd7, 0x72, 0x5e, 0xb0, 0xb2,
-  0xb6, 0xd2, 0x00, 0x36, 0x7d, 0xfd, 0xf0, 0xfa, 0xe4, 0x22, 0xd9, 0x32,
-  0xab, 0x3a, 0xee, 0x2a, 0x37, 0x7a, 0xaf, 0xef, 0x64, 0xcd, 0x64, 0x67,
-  0xf1, 0x31, 0xdf, 0x31, 0x76, 0xd0, 0x74, 0xbc, 0x6d, 0xb5, 0x7b, 0x7c,
-  0x0e, 0x9b, 0x50, 0x6d, 0x26, 0x35, 0x9a, 0x60, 0x35, 0x75, 0x4f, 0x83,
-  0x67, 0x45, 0x31, 0x50, 0xdc, 0x19, 0x4f, 0x98, 0x26, 0x76, 0x31, 0x00,
-  0xa4, 0xc2, 0x11, 0xcd, 0x84, 0xbc, 0x83, 0x19, 0x3b, 0x4e, 0x8d, 0xf9,
-  0xd7, 0x3d, 0xab, 0x8c, 0x58, 0x12, 0x1f, 0x03, 0xfb, 0x16, 0x14, 0x66,
-  0x23, 0xf7, 0x84, 0xd3, 0xf6, 0xfa, 0x04, 0x90, 0xa2, 0x49, 0x59, 0xd0,
-  0x5d, 0x34, 0x25, 0x07, 0x55, 0xb7, 0x39, 0xb8, 0xcc, 0x7a, 0xc3, 0x9d,
-  0x5e, 0x62, 0x21, 0x61, 0x66, 0x96, 0x81, 0x6a, 0x74, 0x18, 0x3c, 0xb3,
-  0xc5, 0xae, 0x96, 0x35, 0x3b, 0x5d, 0xc9, 0xde, 0xb7, 0xeb, 0x35, 0x8c,
-  0x09, 0x54, 0x6f, 0x39, 0xad, 0xb2, 0x65, 0x94, 0x62, 0x9c, 0x2b, 0x6b,
-  0x48, 0x8e, 0x6d, 0xa7, 0xb0, 0x54, 0xbd, 0x9f, 0x7a, 0x89, 0x07, 0x29,
-  0x6a, 0xb9, 0xc6, 0x72, 0x17, 0xf4, 0xf7, 0xae, 0x00, 0x73, 0x15, 0xdb,
-  0x13, 0x3c, 0xcd, 0x66, 0xf9, 0x3c, 0x6f, 0xa0, 0xc3, 0x7b, 0x5d, 0x08,
-  0x96, 0xa2, 0xdd, 0xa5, 0x9f, 0xc2, 0x2e, 0x29, 0x4c, 0x2f, 0xa5, 0x5f,
-  0x9b, 0x2e, 0xc1, 0x59, 0xc3, 0x28, 0xaa, 0xb8, 0x39, 0xd7, 0xee, 0x90,
-  0x05, 0xfa, 0xad, 0x89, 0xf5, 0xfc, 0x3e, 0x16, 0x6f, 0xfb, 0xc8, 0xd4,
-  0x0d, 0xe0, 0x44, 0x74, 0xce, 0xc4, 0x89, 0x31, 0xe6, 0xcb, 0x41, 0xcf,
-  0x58, 0xaa, 0x8f, 0x07, 0xb2, 0xdb, 0xbc, 0xbe, 0xa3, 0x82, 0x07, 0x92,
-  0x47, 0xdd, 0x1f, 0x6c, 0x86, 0x9a, 0x03, 0x03, 0xb3, 0xf3, 0xa3, 0x58,
-  0x9d, 0xd0, 0x80, 0x20, 0xac, 0xd8, 0xfd, 0xd3, 0xd5, 0x77, 0x55, 0xd8,
-  0x0f, 0xb2, 0x62, 0x52, 0x4e, 0x3b, 0xf6, 0x19, 0x4d, 0x82, 0x27, 0xe4,
-  0xb0, 0xe3, 0x39, 0x7e, 0x82, 0x5d, 0x1e, 0x77, 0xac, 0x91, 0x47, 0x87,
-  0xbd, 0x7d, 0xbf, 0x68, 0xdf, 0xc7, 0xcc, 0x7b, 0x6c, 0xfb, 0x5f, 0xb5,
-  0xeb, 0xff, 0x69, 0x7a, 0x84, 0xa7, 0x7e, 0x3d, 0x42, 0x91, 0x18, 0x4c,
-  0xf2, 0xc5, 0x0d, 0xf9, 0xdc, 0x5f, 0x22, 0x0c, 0x4d, 0x2e, 0x32, 0xfe,
-  0x41, 0x5c, 0x81, 0x18, 0xc9, 0x95, 0x57, 0x8b, 0x9f, 0x40, 0xdf, 0x16,
-  0xf1, 0x92, 0x2b, 0x6c, 0x5a, 0x8d, 0x31, 0x81, 0x3e, 0xe4, 0x81, 0xb5,
-  0x4a, 0x81, 0x08, 0x7d, 0x99, 0x6f, 0x7a, 0x7b, 0xbb, 0x30, 0xca, 0x51,
-  0x7f, 0x3b, 0x34, 0x26, 0x43, 0x3a, 0x25, 0x1c, 0x93, 0x99, 0x26, 0xa4,
-  0x5d, 0xe0, 0xe7, 0x9d, 0xe6, 0xd0, 0x79, 0x49, 0x47, 0xe0, 0x5b, 0xd7,
-  0xcc, 0xe8, 0xfb, 0x8b, 0xd3, 0x83, 0xee, 0x3c, 0x01, 0x0d, 0x5b, 0x1f,
-  0xec, 0xec, 0xc0, 0xf5, 0x76, 0x93, 0x7e, 0xfa, 0x34, 0xac, 0xb3, 0x9d,
-  0x69, 0x39, 0xa9, 0x77, 0xea, 0x7a, 0xa6, 0xb3, 0xd1, 0xc6, 0x8b, 0xff,
-  0x0e, 0x3e, 0x8b, 0x72, 0xbe, 0xa8, 0x60, 0x44, 0x0f, 0xea, 0x3a, 0x88,
-  0xd4, 0x8e, 0x8e, 0x34, 0x0e, 0x74, 0x5c, 0x30, 0xe6, 0x0b, 0x07, 0x7c,
-  0x90, 0xd3, 0x04, 0x7c, 0x9b, 0xe8, 0xcb, 0x98, 0x5e, 0x1b, 0x9b, 0xb4,
-  0x51, 0xd2, 0x7e, 0x44, 0xe6, 0xa4, 0xb2, 0x53, 0xbf, 0xf0, 0xcd, 0x16,
-  0xba, 0x3b, 0x4a, 0xfe, 0x43, 0xc0, 0x95, 0x79, 0xb3, 0x36, 0xce, 0xfc,
-  0xbc, 0xa3, 0xe6, 0xdb, 0x41, 0xc4, 0x63, 0x31, 0x6a, 0xea, 0xa5, 0x89,
-  0x7b, 0xd2, 0xd9, 0x3d, 0xdd, 0x84, 0x26, 0xb3, 0x7b, 0xaf, 0xcb, 0xca,
-  0x9c, 0x9a, 0x79, 0x1d, 0xb3, 0xf5, 0xc5, 0x25, 0x57, 0x23, 0x00, 0x9a,
-  0xd4, 0xe4, 0x8d, 0x60, 0xc7, 0xc3, 0xb2, 0xf0, 0x5a, 0x37, 0x83, 0x98,
-  0x20, 0xc8, 0x3e, 0x4c, 0x34, 0xaa, 0xb5, 0xca, 0xcf, 0xe8, 0xc5, 0x73,
-  0x2d, 0x3a, 0xb1, 0x6b, 0x31, 0x2e, 0x0b, 0xe7, 0x09, 0x84, 0x34, 0x32,
-  0x5d, 0xee, 0xc7, 0x7a, 0x87, 0x75, 0xae, 0x32, 0x7a, 0x14, 0x12, 0xbd,
-  0xaa, 0x4a, 0x4f, 0x8c, 0x0f, 0xbe, 0x83, 0x3a, 0x65, 0x64, 0x43, 0x7e,
-  0xad, 0xb1, 0x8e, 0xee, 0xf1, 0xb5, 0xd0, 0xff, 0x86, 0xf0, 0x35, 0x1a,
-  0xc9, 0xa8, 0x68, 0xeb, 0xb3, 0x1a, 0xa5, 0xf0, 0x81, 0x9a, 0xa5, 0x98,
-  0x46, 0x31, 0x04, 0x75, 0x11, 0x1c, 0x07, 0x82, 0xd6, 0xfb, 0xaf, 0x50,
-  0x6c, 0x3b, 0xd1, 0xf3, 0xe9, 0xbe, 0xe1, 0x6f, 0x50, 0xa4, 0x9f, 0x60,
-  0x2d, 0xba, 0xfa, 0x0d, 0x40, 0x21, 0xd6, 0x16, 0x8b, 0xe5, 0x46, 0x74,
-  0xc7, 0xa3, 0x00, 0x31, 0x51, 0x42, 0x73, 0x24, 0xe3, 0xa4, 0x00, 0x9f,
-  0xd5, 0x56, 0xb1, 0xf7, 0x52, 0x22, 0x3c, 0x87, 0x39, 0x1a, 0xec, 0xda,
-  0x78, 0xfc, 0x7b, 0x46, 0x05, 0x2a, 0x9e, 0x16, 0x5a, 0x80, 0x11, 0x43,
-  0x4d, 0x06, 0x5c, 0x14, 0xe5, 0x60, 0xcd, 0x4a, 0x77, 0xbd, 0x98, 0xdd,
-  0x67, 0x04, 0x22, 0x30, 0xf3, 0x5d, 0x9d, 0xe3, 0x94, 0xfc, 0xe4, 0x1e,
-  0x90, 0x87, 0xfd, 0x76, 0xaa, 0xe6, 0xcf, 0xa0, 0x52, 0x71, 0xb0, 0x22,
-  0x11, 0xfd, 0x31, 0x49, 0x64, 0xf9, 0xa2, 0xc6, 0x90, 0x60, 0xc7, 0x18,
-  0x8e, 0x9f, 0x23, 0xf9, 0x43, 0x52, 0x13, 0x18, 0x0a, 0xa7, 0x4e, 0x9c,
-  0xba, 0xec, 0xcb, 0xd4, 0xcd, 0x28, 0x1c, 0x51, 0x49, 0x1f, 0xbb, 0x3b,
-  0xca, 0xa6, 0x1d, 0xf8, 0x60, 0x2c, 0x5a, 0x1d, 0x8b, 0x28, 0xab, 0x43,
-  0xc7, 0xb1, 0x9b, 0xcd, 0xa8, 0xbe, 0x16, 0xc0, 0xf3, 0xd0, 0x93, 0x2a,
-  0xd3, 0x4f, 0x14, 0x65, 0xb7, 0x57, 0xd2, 0x8f, 0x41, 0x68, 0xbd, 0x58,
-  0x04, 0x9a, 0xd7, 0x01, 0x45, 0xa2, 0xd9, 0x65, 0x8e, 0xdf, 0x78, 0x99,
-  0x7b, 0x00, 0x36, 0x4b, 0x69, 0x83, 0x6f, 0xfe, 0x42, 0xb6, 0x9f, 0x93,
-  0xed, 0xd2, 0x75, 0xd8, 0x14, 0x93, 0x59, 0x59, 0xab, 0x43, 0x91, 0x96,
-  0x89, 0xd3, 0x40, 0xcc, 0xc1, 0xf8, 0x41, 0x7e, 0x20, 0x6b, 0x20, 0xbf,
-  0xe0, 0x66, 0xaf, 0x4a, 0xf2, 0x2e, 0x86, 0x1e, 0x40, 0x51, 0xc2, 0x5c,
-  0xe6, 0x0a, 0xb9, 0x0f, 0xac, 0xe2, 0x7d, 0x90, 0xfc, 0xf4, 0x53, 0x3f,
-  0x21, 0xed, 0xef, 0x27, 0x63, 0x53, 0xfe, 0x64, 0x36, 0x59, 0xf2, 0x53,
-  0x25, 0x82, 0xe3, 0xa7, 0x5b, 0xf3, 0xc9, 0x6e, 0xbc, 0x88, 0xdc, 0x26,
-  0xf5, 0x0c, 0xfe, 0x50, 0x56, 0x28, 0x04, 0x72, 0x72, 0xaf, 0x11, 0x02,
-  0xce, 0xd1, 0x81, 0xf3, 0x82, 0xfd, 0x7e, 0x76, 0x45, 0x01, 0x7d, 0x09,
-  0xed, 0xe3, 0xe5, 0xbc, 0x10, 0x35, 0x8c, 0x37, 0x22, 0x8e, 0x38, 0xe4,
-  0xfe, 0xe6, 0x1f, 0x36, 0xdd, 0x9e, 0xe9, 0xab, 0xcf, 0xaa, 0x51, 0xb9,
-  0x1a, 0x39, 0x4e, 0x7a, 0xea, 0x35, 0x9d, 0x05, 0xd1, 0x38, 0x46, 0x84,
-  0x18, 0xc9, 0x79, 0x46, 0x0e, 0x23, 0x06, 0x25, 0x97, 0x16, 0xca, 0x05,
-  0x6c, 0xf6, 0xe2, 0xe6, 0xbe, 0xa6, 0x80, 0x59, 0x4c, 0xda, 0xb8, 0xab,
-  0x9f, 0x7a, 0x17, 0x8d, 0x36, 0x8e, 0x9c, 0xf9, 0x88, 0x07, 0xa0, 0x5a,
-  0x9a, 0x2d, 0xd0, 0x92, 0x8f, 0xa6, 0x2f, 0x9b, 0x83, 0x4d, 0x04, 0x8e,
-  0xe0, 0xdc, 0x15, 0xf1, 0x57, 0x85, 0xb8, 0x2e, 0x6d, 0xc6, 0xc3, 0x7d,
-  0x04, 0x9f, 0x6c, 0x19, 0xd8, 0x1c, 0x8b, 0x52, 0xb0, 0x89, 0xcb, 0xb6,
-  0xa2, 0x74, 0x89, 0xb0, 0xfb, 0xfd, 0x88, 0x29, 0x25, 0x38, 0x66, 0xfb,
-  0xae, 0x51, 0x12, 0x9d, 0xb7, 0x73, 0x30, 0x40, 0x12, 0xea, 0x82, 0x13,
-  0x47, 0x79, 0x73, 0xd0, 0xc5, 0x8a, 0xc4, 0xc3, 0x9a, 0x3c, 0x70, 0x81,
-  0x5c, 0x55, 0x14, 0x46, 0x63, 0x73, 0x26, 0xe9, 0x2c, 0x53, 0xd2, 0xe2,
-  0x5d, 0x21, 0x49, 0x67, 0xa3, 0x12, 0x26, 0xc7, 0x04, 0x91, 0x23, 0x44,
-  0x29, 0x05, 0xe2, 0x1c, 0xea, 0xba, 0x74, 0xd9, 0x05, 0x0a, 0x0f, 0xf5,
-  0xe9, 0x55, 0xd2, 0x5b, 0xad, 0xf6, 0xf4, 0xba, 0x6f, 0xfc, 0x60, 0x43,
-  0x4d, 0x70, 0xad, 0x89, 0xdb, 0xd2, 0xf4, 0x61, 0x4b, 0xb0, 0x0b, 0x83,
-  0xbf, 0x31, 0x30, 0x89, 0xe1, 0xc5, 0x7a, 0x8f, 0x6e, 0x27, 0x8c, 0xcd,
-  0xaa, 0x83, 0xe0, 0x64, 0xe5, 0x85, 0xb6, 0xbd, 0x09, 0x76, 0xc1, 0xe1,
-  0x1c, 0x2e, 0x1d, 0xdc, 0x51, 0xac, 0x30, 0x7a, 0x4f, 0x77, 0xe5, 0x8f,
-  0x7d, 0x9b, 0xf0, 0x8f, 0xf4, 0x3d, 0x71, 0xb5, 0xe8, 0x15, 0xa1, 0xe7,
-  0xdb, 0xe8, 0xf3, 0x48, 0xe4, 0x54, 0xe4, 0x25, 0xf4, 0x9f, 0x60, 0x76,
-  0xf6, 0xb6, 0xc5, 0xa3, 0x80, 0x5c, 0x4c, 0x20, 0xe2, 0xc4, 0x6d, 0xd2,
-  0xbb, 0x29, 0x39, 0x7a, 0xdb, 0x3b, 0x20, 0x0c, 0x39, 0x03, 0xd2, 0x64,
-  0x84, 0x36, 0x88, 0xd9, 0x3d, 0x58, 0x08, 0x8f, 0x7f, 0x7b, 0xf6, 0xf6,
-  0xb8, 0x0d, 0x7e, 0xc2, 0x4f, 0x62, 0x6e, 0x05, 0x23, 0xad, 0xde, 0x18,
-  0x11, 0xc3, 0x3b, 0x28, 0x0d, 0x54, 0x37, 0x6c, 0x2f, 0xd3, 0xaf, 0xeb,
-  0xac, 0x59, 0xdc, 0x2d, 0xf3, 0xe9, 0xd6, 0x36, 0xed, 0x0f, 0x42, 0x3e,
-  0x0e, 0x00, 0xb8, 0x65, 0x0b, 0xab, 0x4e, 0xb6, 0x58, 0x19, 0xaf, 0xb2,
-  0x66, 0x59, 0x15, 0xec, 0x09, 0x4a, 0xa8, 0xfb, 0x61, 0x48, 0x27, 0x91,
-  0x7b, 0xcd, 0xb7, 0x81, 0x24, 0xab, 0x9a, 0x03, 0xc7, 0xdc, 0xe4, 0x36,
-  0x49, 0x01, 0x23, 0x47, 0x11, 0x3f, 0xc7, 0xda, 0xd3, 0x58, 0x82, 0x7b,
-  0x0a, 0x73, 0xa1, 0xe9, 0x89, 0x87, 0xe7, 0xe7, 0xaf, 0x0f, 0x2f, 0x0f,
-  0xed, 0xd8, 0x70, 0x11, 0x43, 0xb2, 0x40, 0x1d, 0x36, 0x22, 0x89, 0xb4,
-  0x23, 0x7a, 0x72, 0xf3, 0x8f, 0xef, 0x47, 0xc7, 0x17, 0xdd, 0x85, 0x3d,
-  0xbf, 0x38, 0xa3, 0x8c, 0xf5, 0x3f, 0xfe, 0x74, 0x48, 0x91, 0x22, 0xf1,
-  0x73, 0xbf, 0x4e, 0x9b, 0x74, 0x33, 0x38, 0xd5, 0xfb, 0x66, 0xaf, 0x9d,
-  0x01, 0xbd, 0xa3, 0x1d, 0xbc, 0x92, 0xdb, 0x0c, 0x46, 0x7f, 0xf2, 0x81,
-  0xd6, 0xb4, 0x9a, 0x28, 0xf6, 0x09, 0x1f, 0xd5, 0xe5, 0xec, 0x87, 0x1e,
-  0x0d, 0x6f, 0x20, 0xa5, 0x93, 0x64, 0x1a, 0xbd, 0xd7, 0xb9, 0x9a, 0x25,
-  0xd9, 0x27, 0x63, 0x59, 0x37, 0xba, 0xe9, 0xb1, 0xbf, 0x28, 0xa7, 0xa8,
-  0x3b, 0x2f, 0x6e, 0x7d, 0x74, 0x81, 0x18, 0x2d, 0xc5, 0xb9, 0xdd, 0x90,
-  0x03, 0x48, 0x6a, 0x33, 0xbb, 0x0d, 0xf8, 0xb4, 0xa1, 0xf6, 0x56, 0x8c,
-  0xd3, 0xc0, 0xb9, 0xc4, 0x0e, 0x43, 0xa4, 0xb8, 0x71, 0x97, 0x82, 0x09,
-  0xf9, 0x83, 0x39, 0x8f, 0x83, 0xe4, 0x58, 0xb0, 0xd7, 0x18, 0xb6, 0xf9,
-  0x41, 0xf0, 0x50, 0x63, 0x6d, 0x05, 0x11, 0xf6, 0x71, 0x59, 0xe1, 0xa5,
-  0x7d, 0xf6, 0xba, 0xca, 0x33, 0x27, 0x5a, 0x98, 0x87, 0xa8, 0xd3, 0x34,
-  0xe5, 0x30, 0x95, 0x7a, 0x91, 0x38, 0xf3, 0x20, 0xbd, 0xa6, 0xdd, 0x65,
-  0x1e, 0x35, 0x4a, 0xb4, 0xb1, 0x90, 0xe8, 0x5f, 0x3b, 0x7b, 0xc3, 0xdd,
-  0x5e, 0xd8, 0x79, 0x3a, 0x2c, 0xc8, 0xa2, 0xb5, 0xfe, 0x62, 0x92, 0x85,
-  0x4d, 0x59, 0x3e, 0xd8, 0x3f, 0x16, 0x61, 0x46, 0x0f, 0x5d, 0x98, 0xf6,
-  0xa3, 0x5d, 0x19, 0x9c, 0x05, 0xd0, 0x2e, 0x02, 0x4b, 0x55, 0x2a, 0x14,
-  0x8d, 0x4c, 0x2c, 0xca, 0x3b, 0x1a, 0x89, 0xd9, 0x6a, 0xb3, 0x59, 0x2b,
-  0xdd, 0xb9, 0x17, 0x9f, 0xe6, 0x02, 0xcc, 0x02, 0x59, 0x77, 0xb6, 0x63,
-  0xc1, 0x18, 0xb9, 0x3c, 0x7d, 0x3d, 0xce, 0xa2, 0x8c, 0x60, 0x30, 0xda,
-  0x5d, 0xe0, 0x7e, 0x2e, 0x32, 0x32, 0x90, 0x7b, 0x33, 0x3f, 0xd8, 0x38,
-  0xd0, 0x88, 0xe7, 0x80, 0x9a, 0x21, 0xed, 0xf3, 0x25, 0x67, 0x4e, 0x05,
-  0x86, 0xfb, 0xdb, 0xf4, 0x53, 0x3e, 0x5f, 0xce, 0x13, 0x7c, 0x8f, 0x15,
-  0x5a, 0x79, 0x52, 0x2f, 0x46, 0xf2, 0x9f, 0x70, 0xd0, 0x95, 0x16, 0x75,
-  0xb3, 0xf6, 0xec, 0xf7, 0xc8, 0x25, 0x63, 0x2e, 0x65, 0x35, 0x3b, 0x05,
-  0xbe, 0x3e, 0xcf, 0x9b, 0xba, 0x63, 0xf7, 0x1b, 0x55, 0x21, 0xa5, 0x18,
-  0x9a, 0xa6, 0x48, 0xf1, 0x25, 0x1e, 0x11, 0xe7, 0x9c, 0xba, 0xa7, 0x3a,
-  0x9c, 0x87, 0x12, 0xca, 0xaa, 0xbc, 0x9c, 0xda, 0x63, 0x43, 0x5a, 0x62,
-  0x5e, 0x2c, 0xcd, 0x44, 0x53, 0x73, 0x74, 0xab, 0xca, 0x6f, 0x82, 0x30,
-  0x1e, 0x00, 0x8d, 0x23, 0xe0, 0x54, 0x15, 0xf7, 0xf3, 0xd9, 0xf0, 0xc9,
-  0xfe, 0x70, 0xb7, 0xdf, 0xb2, 0xde, 0x25, 0xc3, 0xd1, 0x9c, 0xae, 0x49,
-  0x3e, 0xb7, 0xd9, 0x0f, 0xc3, 0x7f, 0x9a, 0x97, 0x86, 0xf2, 0x3e, 0x06,
-  0xf3, 0xf4, 0x13, 0x96, 0x2f, 0xba, 0xac, 0x65, 0xf2, 0xf2, 0xdb, 0xb3,
-  0xd1, 0xe5, 0xde, 0xc1, 0xf9, 0xd9, 0x85, 0xf9, 0x2f, 0xfd, 0x7d, 0x1f,
-  0x7f, 0xdf, 0x0f, 0xac, 0xc7, 0x37, 0x02, 0x5b, 0x52, 0x9c, 0x34, 0x54,
-  0x1d, 0xdc, 0x02, 0x62, 0xc5, 0x78, 0x0d, 0x11, 0xb6, 0x9d, 0xa4, 0xa0,
-  0x2e, 0x56, 0xc4, 0x67, 0xe6, 0x7d, 0x4a, 0x91, 0xa3, 0xc3, 0xf6, 0x7e,
-  0x06, 0x46, 0x26, 0x6f, 0x54, 0x95, 0x92, 0xcc, 0x2c, 0xcd, 0xf9, 0xea,
-  0x7a, 0xf4, 0x38, 0xab, 0x46, 0xa0, 0xd1, 0x4a, 0x68, 0x02, 0xb8, 0x43,
-  0xfb, 0x57, 0x93, 0x99, 0xd1, 0xf4, 0x33, 0x0a, 0x8f, 0x4e, 0x33, 0xce,
-  0xa6, 0xa7, 0x9f, 0xc4, 0x0c, 0x10, 0x41, 0x5e, 0x03, 0x2d, 0x3a, 0xec,
-  0xf6, 0x0c, 0xbb, 0x52, 0x70, 0x71, 0x94, 0xc6, 0x68, 0x7a, 0x99, 0xd7,
-  0x37, 0x8a, 0xfe, 0xef, 0x36, 0x07, 0xb0, 0x91, 0xef, 0xb0, 0x3a, 0x69,
-  0x38, 0xf3, 0xeb, 0xdd, 0xd9, 0x65, 0x92, 0x5e, 0x5d, 0x69, 0x9a, 0x1a,
-  0xa0, 0xa0, 0xa4, 0xb1, 0xee, 0xc0, 0xca, 0x57, 0x47, 0x73, 0x1d, 0x4a,
-  0x3e, 0xd6, 0x47, 0x2e, 0x4f, 0x47, 0x3b, 0xe4, 0xae, 0x62, 0x5c, 0xc7,
-  0xe8, 0xdd, 0x49, 0xbf, 0xe5, 0xc8, 0xf4, 0xa3, 0xb9, 0xdb, 0x74, 0x53,
-  0xca, 0x35, 0xda, 0x9d, 0x3b, 0xef, 0x2e, 0xb4, 0xe9, 0xcf, 0xc3, 0xa4,
-  0x87, 0x05, 0xed, 0xb1, 0x8e, 0xd9, 0xc3, 0xba, 0xf6, 0x18, 0xcb, 0x08,
-  0x18, 0x08, 0xfa, 0x4b, 0x59, 0xba, 0x01, 0x0a, 0x03, 0x5e, 0xde, 0x3e,
-  0xb2, 0x82, 0x49, 0xe9, 0xe8, 0x91, 0x45, 0x42, 0x03, 0xc3, 0xa0, 0x7a,
-  0xd2, 0xf0, 0x3e, 0x37, 0x8c, 0x76, 0xcd, 0xdf, 0xa9, 0x59, 0x6c, 0xda,
-  0x71, 0x16, 0xc3, 0x54, 0xe2, 0x3b, 0xae, 0x69, 0xdb, 0xb6, 0xe9, 0x18,
-  0x9c, 0xaf, 0xfc, 0x94, 0x6e, 0x0e, 0x23, 0x5d, 0x28, 0x26, 0x97, 0x5f,
-  0x53, 0x04, 0xac, 0x8b, 0xda, 0x77, 0x1d, 0x09, 0xdc, 0x50, 0xa4, 0x8f,
-  0xd5, 0x4d, 0xcf, 0xf3, 0x19, 0x34, 0x01, 0x2a, 0x12, 0xe8, 0xac, 0x4a,
-  0xed, 0x19, 0xed, 0x50, 0x5d, 0x86, 0x37, 0xbe, 0x75, 0xe0, 0xcf, 0x53,
-  0xba, 0x75, 0xac, 0x9f, 0x5b, 0x21, 0xd7, 0x7a, 0x90, 0x90, 0x94, 0x4d,
-  0x19, 0x84, 0x40, 0xe7, 0xd3, 0xd4, 0xb2, 0x73, 0xbc, 0xdb, 0x1c, 0x53,
-  0x7a, 0x18, 0x89, 0x90, 0x00, 0x69, 0x4b, 0x1d, 0x48, 0x7a, 0x7b, 0xfb,
-  0x9f, 0x0d, 0x77, 0xcd, 0xff, 0xa3, 0xa5, 0x11, 0x75, 0x91, 0x19, 0x0c,
-  0x5c, 0xa6, 0xba, 0xe0, 0x72, 0xbb, 0x4e, 0x66, 0xbd, 0x83, 0xca, 0xea,
-  0xba, 0x37, 0x7c, 0xf4, 0xbd, 0x42, 0x6b, 0x69, 0xef, 0x94, 0x74, 0x2a,
-  0x3f, 0xd1, 0x63, 0x5e, 0x2d, 0x67, 0x11, 0xb0, 0x8a, 0xe7, 0x36, 0x26,
-  0x05, 0x6d, 0x76, 0x2b, 0x4e, 0xe3, 0x6f, 0x49, 0x3c, 0x71, 0x16, 0xc5,
-  0xb0, 0x15, 0xea, 0x7f, 0xd1, 0xf2, 0x01, 0x1e, 0x89, 0xe1, 0x06, 0xd9,
-  0x3c, 0x30, 0x07, 0xe2, 0x65, 0x79, 0x75, 0x55, 0x67, 0x4d, 0xf7, 0x0e,
-  0x3a, 0x92, 0x47, 0x76, 0x2e, 0x40, 0x82, 0xe3, 0xc1, 0x9c, 0xdb, 0x49,
-  0xe2, 0x49, 0xda, 0xb4, 0x05, 0x17, 0x37, 0x37, 0x8c, 0x80, 0x3b, 0xdb,
-  0x4f, 0x78, 0xe0, 0x6c, 0xce, 0xd5, 0x0a, 0x52, 0x90, 0x71, 0x5e, 0x45,
-  0x38, 0x77, 0x4f, 0xc5, 0xc7, 0x7c, 0xb1, 0x20, 0x1b, 0x07, 0x8c, 0x1b,
-  0xb4, 0x77, 0x6d, 0x9c, 0x60, 0x9c, 0x99, 0x8d, 0x8a, 0xed, 0xac, 0x08,
-  0x18, 0xa3, 0x24, 0x4f, 0x2c, 0x7a, 0x78, 0x9c, 0x99, 0x63, 0x9b, 0x85,
-  0x5a, 0x3b, 0xb9, 0x36, 0xbc, 0x3c, 0x6b, 0x49, 0x0f, 0x9d, 0x52, 0x4e,
-  0x75, 0x91, 0xb2, 0x98, 0xa1, 0xbb, 0xc5, 0x65, 0x20, 0x4a, 0xea, 0x45,
-  0x0c, 0x88, 0xe5, 0x80, 0xf1, 0xd6, 0xe5, 0x36, 0x3a, 0xf9, 0x9f, 0xc7,
-  0x2e, 0x2b, 0xde, 0xa6, 0x9d, 0x33, 0xcc, 0x38, 0x06, 0xda, 0x4e, 0x7a,
-  0x83, 0xa3, 0x64, 0xd0, 0x43, 0x47, 0x5c, 0x14, 0xb5, 0xec, 0x80, 0x60,
-  0x61, 0xfb, 0x90, 0x2a, 0x91, 0x40, 0x1f, 0xda, 0xe1, 0x3c, 0xb4, 0x32,
-  0xd0, 0x9f, 0xb0, 0x84, 0x3c, 0xd9, 0x3a, 0x4a, 0x9c, 0x92, 0x46, 0xb2,
-  0x16, 0x7c, 0xb4, 0x2f, 0x2b, 0x8c, 0x3b, 0x79, 0x41, 0x6a, 0x23, 0x74,
-  0x98, 0x00, 0x0a, 0xab, 0x59, 0x48, 0x9c, 0x7e, 0xbb, 0x6c, 0xfe, 0x89,
-  0xb1, 0x92, 0x8a, 0xf6, 0x2f, 0x78, 0x55, 0xbc, 0x4d, 0x3d, 0xe1, 0x4d,
-  0x4d, 0x7c, 0x4e, 0x83, 0xbf, 0x1a, 0x3b, 0xfb, 0xa5, 0xfa, 0x2a, 0x56,
-  0xe4, 0xa9, 0x59, 0xb7, 0x46, 0x29, 0x41, 0x11, 0xec, 0x0d, 0x9b, 0x2f,
-  0xad, 0x73, 0xcd, 0x1e, 0x15, 0x40, 0x7d, 0x84, 0x2c, 0xaa, 0x2b, 0xeb,
-  0xaf, 0x70, 0xb5, 0xa5, 0x2e, 0x2f, 0x77, 0xea, 0xa5, 0xf7, 0x0f, 0x09,
-  0x18, 0x3c, 0xe3, 0x56, 0x6a, 0x34, 0x23, 0xad, 0x08, 0xbb, 0x49, 0x70,
-  0xed, 0xe6, 0xc5, 0x60, 0x9e, 0xcd, 0x09, 0xc0, 0xc7, 0x0f, 0x1a, 0x81,
-  0x58, 0x92, 0x16, 0xae, 0xbb, 0x91, 0xd7, 0x87, 0x0d, 0xf1, 0x46, 0x02,
-  0xdf, 0x53, 0x4e, 0x10, 0xa1, 0x6f, 0x86, 0x88, 0xa6, 0xb2, 0x10, 0xfc,
-  0x0c, 0x99, 0x58, 0xf6, 0xeb, 0x70, 0x94, 0x7d, 0x34, 0x2a, 0x74, 0xd1,
-  0xa7, 0x9f, 0x23, 0x15, 0x48, 0x67, 0x9f, 0x3a, 0xdb, 0x64, 0x45, 0x0c,
-  0x3f, 0xdf, 0xf2, 0x3e, 0xcb, 0x73, 0x9e, 0x2f, 0xe5, 0x5d, 0xd6, 0x48,
-  0x54, 0x94, 0xfb, 0x2e, 0xe1, 0x3b, 0x81, 0xd5, 0x9b, 0x4e, 0x74, 0x9a,
-  0x03, 0x7f, 0x49, 0xd6, 0x38, 0x9f, 0x90, 0xfa, 0x96, 0x52, 0x25, 0x6d,
-  0x20, 0xaf, 0x67, 0xdf, 0x9c, 0x83, 0x9e, 0xba, 0x60, 0xb9, 0xfb, 0x71,
-  0x89, 0xa0, 0x1d, 0x22, 0x57, 0x4f, 0x33, 0x8d, 0xed, 0x49, 0xc9, 0xbf,
-  0x0c, 0x52, 0x1e, 0x05, 0x5c, 0x6e, 0x74, 0x09, 0xc4, 0x28, 0xc5, 0x75,
-  0x8c, 0x31, 0x08, 0xca, 0x84, 0x55, 0x87, 0x6e, 0x26, 0x94, 0xcb, 0xe9,
-  0xa1, 0xf8, 0x70, 0x35, 0x55, 0xe7, 0x88, 0x76, 0xd4, 0x48, 0x61, 0x31,
-  0x8d, 0xee, 0x52, 0x6c, 0x35, 0xfb, 0x09, 0x88, 0x9b, 0xf0, 0x50, 0x29,
-  0xb8, 0x67, 0x30, 0x76, 0xdb, 0xd9, 0xe5, 0x73, 0x47, 0x5d, 0xb3, 0xf2,
-  0x10, 0xed, 0x79, 0x73, 0xb1, 0x6c, 0x42, 0xb2, 0x48, 0x5e, 0x0f, 0x52,
-  0xa4, 0xed, 0xa4, 0xf0, 0x14, 0xde, 0xdd, 0x94, 0x33, 0xb6, 0x8c, 0x83,
-  0x08, 0x8b, 0x26, 0x5c, 0x19, 0xed, 0x8a, 0xda, 0x21, 0xb4, 0x1a, 0x1c,
-  0xcb, 0xb7, 0x00, 0xc2, 0xb5, 0xc2, 0x24, 0x46, 0xc7, 0xcb, 0x52, 0xc2,
-  0x79, 0x2b, 0x14, 0xf4, 0x36, 0x4c, 0x4f, 0x31, 0xe7, 0x7c, 0x5c, 0xd6,
-  0xb2, 0x5f, 0x28, 0xa9, 0xc9, 0x6c, 0xb1, 0xb4, 0x82, 0x58, 0x16, 0xca,
-  0x06, 0x25, 0x98, 0xb2, 0x6a, 0x99, 0xc8, 0x27, 0xd2, 0x05, 0xbb, 0x28,
-  0xde, 0x9c, 0x52, 0x01, 0xcd, 0x36, 0x31, 0x3a, 0x00, 0xb9, 0x69, 0xb1,
-  0x77, 0xd0, 0x28, 0x13, 0x32, 0xdc, 0x80, 0x2e, 0x4d, 0xf2, 0x05, 0xcd,
-  0x29, 0xbc, 0x49, 0xc9, 0x6a, 0x6f, 0x96, 0xe9, 0xaa, 0xa9, 0x6b, 0x23,
-  0x77, 0x1e, 0x14, 0x4f, 0x4e, 0x83, 0x89, 0x84, 0x12, 0xb0, 0x6d, 0x57,
-  0x44, 0x0d, 0xfd, 0x85, 0x7c, 0x49, 0xe7, 0x6c, 0x85, 0x3c, 0x3a, 0x07,
-  0xb3, 0xcc, 0x4d, 0x9b, 0x9a, 0x00, 0x59, 0x50, 0x72, 0x8d, 0x68, 0xa2,
-  0x01, 0x37, 0xa5, 0xb7, 0xfc, 0x49, 0x13, 0x02, 0xeb, 0x38, 0xec, 0x66,
-  0xba, 0x31, 0xbb, 0x77, 0x2d, 0x7a, 0x19, 0x4a, 0x8a, 0x57, 0xf4, 0x78,
-  0x5b, 0xec, 0x27, 0xd2, 0xae, 0x56, 0x33, 0x32, 0xca, 0x37, 0x7f, 0xf3,
-  0xa0, 0x97, 0x28, 0xa5, 0x16, 0xdf, 0xe5, 0x68, 0x57, 0xe1, 0xf1, 0xd0,
-  0xb3, 0x60, 0xa7, 0x8a, 0xea, 0xc8, 0xc7, 0xbe, 0xdb, 0x1c, 0xf1, 0x34,
-  0xee, 0xbd, 0xfa, 0xfe, 0xf0, 0xf4, 0xfd, 0xf1, 0xde, 0x17, 0x09, 0xfd,
-  0x6b, 0x9f, 0xff, 0xb5, 0xdf, 0x8b, 0xae, 0x92, 0x11, 0x4e, 0x9b, 0xaf,
-  0x36, 0x93, 0xfa, 0x7e, 0x3e, 0x2e, 0x67, 0x76, 0x95, 0x64, 0x2e, 0x34,
-  0x54, 0xd6, 0x97, 0xdb, 0x5b, 0x13, 0xe6, 0xc4, 0x43, 0xde, 0x95, 0xd4,
-  0xb5, 0x00, 0x69, 0x54, 0xca, 0x20, 0x4e, 0xe7, 0x67, 0x6e, 0x35, 0x48,
-  0x6e, 0x53, 0xe1, 0x85, 0x78, 0xdd, 0xe5, 0x4a, 0x70, 0x13, 0xf3, 0x4f,
-  0xe9, 0x81, 0xae, 0x93, 0xa8, 0xd4, 0xe0, 0xab, 0xc5, 0x31, 0xfe, 0x79,
-  0xb2, 0x22, 0x10, 0xfc, 0x46, 0x2e, 0x01, 0xcc, 0xa1, 0x9c, 0x84, 0xfc,
-  0xae, 0x60, 0x85, 0x88, 0x24, 0xe7, 0x5e, 0x79, 0x4b, 0x36, 0x09, 0x24,
-  0x6d, 0x71, 0xdc, 0x40, 0x8f, 0x06, 0x6e, 0xbe, 0x72, 0x3e, 0x16, 0xad,
-  0xc5, 0xcb, 0x97, 0x33, 0xfb, 0xf1, 0x94, 0xf6, 0xe3, 0xac, 0x14, 0xeb,
-  0x44, 0xf3, 0x73, 0xaa, 0x16, 0x4b, 0x8f, 0xc7, 0x0b, 0x68, 0xe9, 0x8c,
-  0x84, 0x0f, 0xa8, 0x15, 0xf4, 0x63, 0x37, 0x73, 0x34, 0x8b, 0x47, 0x93,
-  0xa1, 0x08, 0xbc, 0x57, 0x5e, 0x39, 0x09, 0x6f, 0xc3, 0xa3, 0xfe, 0x35,
-  0x28, 0x5b, 0x88, 0xa0, 0x42, 0xb3, 0x34, 0x18, 0x0a, 0xa7, 0x02, 0x4a,
-  0x72, 0x30, 0x05, 0xda, 0xed, 0x8e, 0x34, 0x2b, 0x76, 0x3f, 0xcb, 0xb6,
-  0x35, 0x76, 0xa8, 0xd7, 0xcf, 0xce, 0xdb, 0xf2, 0xef, 0x66, 0xc6, 0x53,
-  0xf9, 0x48, 0xec, 0x0e, 0x93, 0x3b, 0x69, 0x65, 0xcf, 0xdd, 0x71, 0xe7,
-  0x74, 0x39, 0xff, 0x14, 0xb7, 0x8c, 0xd5, 0x14, 0x93, 0x6f, 0xd4, 0x24,
-  0xe0, 0x02, 0x83, 0x45, 0x90, 0xdb, 0xd6, 0x66, 0x5c, 0x7a, 0x57, 0x94,
-  0x4e, 0x89, 0xd9, 0x63, 0x25, 0x6f, 0x3d, 0xb7, 0xf4, 0x72, 0x0d, 0x74,
-  0x45, 0x6a, 0x57, 0xc7, 0x59, 0x71, 0x31, 0x1c, 0x7f, 0xca, 0xaa, 0x09,
-  0x25, 0xde, 0x4e, 0x8c, 0xa6, 0x08, 0xdd, 0x8b, 0x93, 0x85, 0x99, 0xb8,
-  0xa7, 0xb5, 0x6f, 0x54, 0xfc, 0xc1, 0x24, 0xd5, 0xf5, 0x5f, 0xb9, 0xf6,
-  0xc0, 0x1e, 0x4c, 0xcc, 0x1e, 0x1e, 0x5a, 0x8e, 0x14, 0xbd, 0xb0, 0xda,
-  0xe7, 0x5a, 0x13, 0x19, 0xe0, 0xe1, 0x0f, 0xa0, 0x42, 0x98, 0x61, 0x7d,
-  0xd1, 0x5b, 0x4d, 0xd9, 0x2e, 0xe8, 0x0b, 0x33, 0x5e, 0x38, 0x74, 0x09,
-  0x25, 0x4c, 0x82, 0x36, 0x60, 0x35, 0x2e, 0xca, 0xae, 0x0e, 0xb2, 0x99,
-  0x11, 0xc0, 0x28, 0xee, 0x95, 0x6c, 0x60, 0x0b, 0xb7, 0x18, 0x2b, 0x6b,
-  0x4a, 0x4a, 0x83, 0x70, 0x61, 0x98, 0x94, 0x35, 0x2b, 0xef, 0x28, 0x2e,
-  0xd2, 0xa6, 0x88, 0x9a, 0x97, 0x53, 0xde, 0x0f, 0xe3, 0x7b, 0xcb, 0xef,
-  0x3a, 0x20, 0xdd, 0x85, 0x3f, 0x3b, 0xd4, 0x6c, 0xdc, 0xe8, 0x0e, 0xb0,
-  0xe2, 0xa0, 0x83, 0x77, 0x4f, 0x1d, 0x76, 0xa1, 0x61, 0xff, 0x2e, 0xdf,
-  0xf7, 0x8e, 0x9f, 0x21, 0x76, 0xd1, 0x60, 0xc4, 0xe3, 0xb2, 0xb9, 0xb1,
-  0x57, 0x0e, 0x06, 0x4c, 0xee, 0x31, 0x63, 0xa9, 0x36, 0x50, 0xca, 0xd5,
-  0x32, 0x6b, 0x04, 0xd7, 0x26, 0xfe, 0x9b, 0x20, 0x04, 0xf8, 0x91, 0xd9,
-  0x41, 0xca, 0x46, 0x99, 0xdf, 0x84, 0x15, 0xa9, 0x41, 0x96, 0x39, 0xf9,
-  0x8f, 0x60, 0x94, 0x82, 0x84, 0xc6, 0x7c, 0x97, 0xc0, 0x42, 0x75, 0x4d,
-  0x84, 0x23, 0x34, 0xf4, 0x34, 0x48, 0x36, 0xc6, 0x54, 0x13, 0xe0, 0xc5,
-  0x2d, 0xea, 0x16, 0xd3, 0x01, 0x38, 0x43, 0x8e, 0xb3, 0x84, 0xc9, 0xcd,
-  0xbe, 0x1c, 0xeb, 0x3b, 0xf5, 0x36, 0x19, 0xdb, 0x11, 0x10, 0x58, 0x4b,
-  0xab, 0x5c, 0x71, 0x68, 0xff, 0x61, 0x43, 0x23, 0x30, 0xbc, 0xaa, 0x9a,
-  0x59, 0xd6, 0xc0, 0x53, 0x67, 0x91, 0x98, 0x98, 0xf2, 0x50, 0x78, 0xa5,
-  0x2e, 0x2c, 0x06, 0x35, 0xbf, 0x3b, 0x8a, 0xc5, 0x14, 0xaa, 0x98, 0xbe,
-  0x03, 0xe5, 0xc5, 0x63, 0x4b, 0xaa, 0x4b, 0x39, 0x91, 0x68, 0x9e, 0x04,
-  0x8d, 0x93, 0x34, 0x31, 0xda, 0x80, 0xae, 0x0c, 0xf0, 0xe3, 0x1e, 0x2d,
-  0xcd, 0x56, 0x34, 0x5d, 0x5f, 0x3e, 0x98, 0x17, 0x71, 0x33, 0x0e, 0xcc,
-  0xfe, 0xaf, 0x63, 0xf1, 0x43, 0xbd, 0x5c, 0x27, 0x65, 0xf1, 0xd7, 0x65,
-  0x31, 0x69, 0x2c, 0x26, 0x0e, 0x3a, 0x69, 0xd9, 0xf7, 0x48, 0x9b, 0x24,
-  0x60, 0x6a, 0x81, 0x34, 0xdd, 0x8d, 0x8f, 0x0f, 0x89, 0xfb, 0x8e, 0x32,
-  0x8f, 0x08, 0x2e, 0x4c, 0xd7, 0xce, 0xcc, 0xcb, 0x51, 0xba, 0xc9, 0xcd,
-  0x0a, 0x55, 0x93, 0x1b, 0x64, 0x55, 0xc2, 0xbd, 0x93, 0xa9, 0xcf, 0x72,
-  0x05, 0xfc, 0x87, 0x9b, 0x15, 0x45, 0x29, 0x27, 0x91, 0x44, 0x79, 0xd3,
-  0x65, 0xa1, 0x82, 0x7a, 0x55, 0x3f, 0x43, 0x74, 0xd5, 0x0d, 0xcd, 0x79,
-  0x36, 0xab, 0x33, 0x1b, 0xc2, 0xb7, 0xef, 0x38, 0x53, 0x04, 0x66, 0x71,
-  0x51, 0x72, 0x0c, 0x8e, 0xbc, 0x41, 0x79, 0xf4, 0x94, 0xa3, 0x27, 0x46,
-  0x05, 0x91, 0xce, 0x90, 0xa1, 0x47, 0xfb, 0xe4, 0x5e, 0xb3, 0xee, 0xa5,
-  0x05, 0xdd, 0x75, 0x9a, 0x75, 0x1f, 0xdc, 0x3e, 0xa5, 0x9d, 0x37, 0xc9,
-  0x64, 0xd7, 0xa9, 0xca, 0x95, 0x94, 0x93, 0xb7, 0x0a, 0x39, 0x17, 0x4c,
-  0x6f, 0x98, 0xbf, 0x99, 0x82, 0x52, 0x83, 0xc1, 0x55, 0xb3, 0x18, 0x44,
-  0x97, 0x00, 0x6b, 0xdd, 0xde, 0x02, 0xb3, 0x2b, 0x61, 0x2d, 0x78, 0xab,
-  0x84, 0x2d, 0xb7, 0x04, 0x1a, 0x4f, 0x4e, 0xdf, 0xb0, 0x0f, 0xfa, 0xe8,
-  0x82, 0xfe, 0x96, 0x5b, 0xce, 0x86, 0x21, 0x0e, 0x05, 0x11, 0x32, 0x73,
-  0x04, 0xf5, 0xed, 0xf7, 0xdd, 0x84, 0x9f, 0xad, 0xb3, 0xd1, 0xce, 0x93,
-  0x17, 0xbb, 0x61, 0xea, 0xf9, 0x16, 0x7d, 0xc3, 0x91, 0xd9, 0x7c, 0x36,
-  0x7c, 0xba, 0x3b, 0xdc, 0xdd, 0xee, 0xf4, 0x86, 0xa6, 0x7b, 0x4d, 0x32,
-  0xb9, 0x52, 0x70, 0xda, 0x8b, 0x83, 0xa6, 0xc0, 0xe5, 0x6b, 0x2b, 0x68,
-  0xd3, 0x4f, 0x5b, 0xba, 0xc8, 0x6e, 0xcd, 0x56, 0x8b, 0x19, 0xc3, 0xc9,
-  0x69, 0x0e, 0x2c, 0xbb, 0x79, 0x8f, 0x6e, 0x33, 0xbd, 0x5f, 0x28, 0x2f,
-  0xb0, 0x9d, 0xab, 0x87, 0x47, 0xe8, 0xc2, 0x64, 0xc0, 0x70, 0x24, 0x08,
-  0x52, 0x9b, 0x4e, 0x55, 0x00, 0xc7, 0x21, 0xd8, 0xfe, 0xbb, 0x3b, 0x40,
-  0x3c, 0x87, 0xde, 0xde, 0x8b, 0xe1, 0x67, 0xfe, 0x9a, 0x92, 0x26, 0x3e,
-  0x48, 0xeb, 0x49, 0x9e, 0xaf, 0xb5, 0x31, 0x14, 0x75, 0xf8, 0xd7, 0x25,
-  0x68, 0x59, 0xcc, 0x36, 0xcd, 0x53, 0x8e, 0xa0, 0x3a, 0x36, 0xab, 0xa0,
-  0x59, 0x52, 0x23, 0xcd, 0x16, 0x5b, 0xd7, 0xae, 0xa4, 0x30, 0x11, 0xc9,
-  0xb6, 0x10, 0xf0, 0xc1, 0x9d, 0x37, 0xc3, 0xb9, 0xee, 0xa8, 0x52, 0xe6,
-  0x2c, 0x30, 0x81, 0xcb, 0xa2, 0x0a, 0x13, 0x4a, 0x08, 0x1f, 0x49, 0x74,
-  0x9e, 0x66, 0xee, 0xeb, 0x92, 0xe6, 0x29, 0x36, 0xa9, 0xf0, 0x1a, 0x80,
-  0xc2, 0xcc, 0x1a, 0x37, 0xf6, 0xec, 0x0b, 0x40, 0xe7, 0x2b, 0x0f, 0x50,
-  0xd3, 0x32, 0x50, 0xd2, 0x88, 0x32, 0xc8, 0x0c, 0xac, 0x09, 0xa2, 0xd6,
-  0x6c, 0x3f, 0xd1, 0x40, 0x98, 0x32, 0x26, 0x81, 0x2b, 0x82, 0x91, 0x1b,
-  0xc2, 0x0c, 0x4c, 0x84, 0x0c, 0x76, 0xb6, 0x22, 0x74, 0x1b, 0x7d, 0x33,
-  0x3e, 0xf0, 0x3b, 0x61, 0x07, 0x15, 0xd9, 0x1d, 0x49, 0xe3, 0x5a, 0xd4,
-  0x89, 0xaa, 0xca, 0xc9, 0x99, 0x63, 0x83, 0xfe, 0xac, 0x92, 0x11, 0x10,
-  0x92, 0x2e, 0xe8, 0x69, 0x24, 0x8b, 0x70, 0x82, 0xd3, 0x59, 0x5b, 0xc2,
-  0xac, 0x02, 0x0c, 0x45, 0xc4, 0xb8, 0xf3, 0x38, 0xab, 0x76, 0xe5, 0xa6,
-  0x03, 0x83, 0xb3, 0x03, 0x5e, 0x34, 0x11, 0x67, 0x0f, 0x81, 0x27, 0xd8,
-  0x33, 0xc2, 0x8c, 0x25, 0x98, 0xeb, 0xb4, 0x16, 0xb6, 0xef, 0x31, 0xef,
-  0xc6, 0x35, 0x5b, 0xa7, 0x4a, 0xef, 0x1e, 0xde, 0x8f, 0xde, 0xae, 0x91,
-  0x99, 0x9e, 0xc1, 0x55, 0xe2, 0x11, 0xac, 0xc1, 0x47, 0xa0, 0x78, 0xbd,
-  0x48, 0x4f, 0x85, 0xd8, 0x97, 0x59, 0x75, 0xcd, 0x64, 0x36, 0x62, 0xdc,
-  0xb0, 0x5c, 0xff, 0x6a, 0x0d, 0x48, 0xdf, 0x39, 0x15, 0xdd, 0x28, 0x5a,
-  0x9e, 0xf3, 0x0e, 0x4b, 0x13, 0x86, 0x65, 0xae, 0x3c, 0x46, 0xb9, 0x3f,
-  0xe2, 0x50, 0xb8, 0xd1, 0xf5, 0x3d, 0x08, 0x10, 0x2f, 0x00, 0x1c, 0x43,
-  0xde, 0x30, 0x85, 0xce, 0x2b, 0x86, 0x04, 0x64, 0x3a, 0x33, 0xda, 0x56,
-  0x08, 0xef, 0x5a, 0x9a, 0x96, 0x45, 0x56, 0x91, 0x14, 0x04, 0x6a, 0x7a,
-  0xa0, 0x60, 0xd7, 0xd8, 0xc5, 0x62, 0x36, 0xff, 0xd1, 0x37, 0x27, 0x40,
-  0xff, 0x9a, 0x43, 0x5f, 0x48, 0x6a, 0x2b, 0xf7, 0x9f, 0x69, 0xd5, 0xad,
-  0x11, 0x76, 0x9d, 0x5b, 0x93, 0x31, 0x4d, 0x5a, 0x94, 0x69, 0x1d, 0x1d,
-  0x39, 0x51, 0x65, 0x58, 0xf0, 0x8d, 0xa2, 0xd3, 0x52, 0x64, 0x81, 0x14,
-  0x52, 0x8d, 0x10, 0xa6, 0x0e, 0x52, 0x1e, 0x9d, 0x2f, 0x7c, 0x5d, 0x53,
-  0xb0, 0xd3, 0x5a, 0x42, 0x80, 0x50, 0x2c, 0x02, 0xb8, 0xb1, 0xdb, 0xaf,
-  0x4c, 0x53, 0x9f, 0x85, 0xd0, 0x29, 0xf9, 0x7c, 0xbc, 0x8e, 0x04, 0xd6,
-  0xa4, 0x63, 0x8e, 0xdb, 0xa9, 0xcb, 0x34, 0x1c, 0x8e, 0xee, 0x23, 0x69,
-  0x81, 0x9c, 0x32, 0x31, 0xcf, 0x9f, 0xaa, 0x25, 0x14, 0x12, 0xf8, 0x0f,
-  0xe0, 0xe0, 0xe9, 0x8e, 0x30, 0xe7, 0x93, 0x6e, 0x49, 0x4d, 0x26, 0xf1,
-  0x5b, 0x53, 0x22, 0x1e, 0x01, 0x4e, 0xc6, 0x9b, 0x23, 0x7b, 0xe5, 0x15,
-  0xdd, 0xec, 0x5f, 0x89, 0xc3, 0x83, 0x80, 0xd3, 0x7e, 0x10, 0x44, 0x32,
-  0x89, 0x18, 0x62, 0x27, 0xac, 0x01, 0x34, 0x0d, 0xf1, 0xe6, 0x38, 0x4c,
-  0xe6, 0xcd, 0x1e, 0xef, 0x38, 0xe2, 0xd1, 0xac, 0xb9, 0x54, 0xc1, 0xbf,
-  0x74, 0x27, 0xef, 0xd5, 0xc3, 0xb3, 0xf7, 0x4b, 0xa7, 0x6f, 0xfd, 0xec,
-  0x31, 0x1f, 0xad, 0x62, 0x2d, 0x5f, 0x79, 0x8e, 0x1e, 0xc0, 0x05, 0xd8,
-  0x56, 0xb0, 0x0e, 0x9f, 0xb6, 0x94, 0xf1, 0x8c, 0xa2, 0x57, 0xbf, 0xd5,
-  0xaa, 0x63, 0x33, 0xc2, 0x02, 0xa5, 0xce, 0xc7, 0x9b, 0x63, 0x6f, 0x25,
-  0xd6, 0xde, 0x67, 0x4d, 0x12, 0x9d, 0x11, 0x2d, 0x90, 0xa1, 0xf7, 0xc9,
-  0xec, 0xff, 0x86, 0x37, 0xf3, 0x18, 0x3e, 0x95, 0x41, 0xbc, 0x39, 0xcd,
-  0x98, 0x11, 0xa5, 0x31, 0x18, 0xdf, 0x57, 0x7a, 0x49, 0x3d, 0x34, 0xb8,
-  0x16, 0xf4, 0x92, 0xe1, 0x29, 0xec, 0xa2, 0x83, 0x9d, 0xd2, 0x8a, 0xd0,
-  0x45, 0x9c, 0x98, 0x36, 0x6d, 0xc9, 0xb2, 0x38, 0x31, 0xf2, 0x55, 0x6f,
-  0xb0, 0xed, 0x7e, 0x7b, 0xce, 0x88, 0xa5, 0x06, 0xf7, 0x81, 0x2c, 0x74,
-  0xbc, 0xb9, 0x1c, 0x86, 0xa9, 0x2c, 0x1f, 0x51, 0xcd, 0x46, 0x97, 0xef,
-  0xff, 0xcf, 0x86, 0xc8, 0xee, 0x51, 0xec, 0x06, 0x29, 0x59, 0x71, 0xcd,
-  0xac, 0x4f, 0xa6, 0x5b, 0x80, 0x69, 0x27, 0x2d, 0x52, 0xf8, 0x00, 0x3c,
-  0x00, 0xe3, 0xbb, 0x8f, 0x98, 0xdd, 0x0c, 0x91, 0xcd, 0x9c, 0x11, 0xef,
-  0xaf, 0xec, 0xcd, 0x33, 0x1d, 0xd0, 0xf0, 0x06, 0xb2, 0x6b, 0x87, 0xd8,
-  0x87, 0x6b, 0x36, 0xab, 0xdd, 0x9c, 0xf1, 0x7d, 0x19, 0xec, 0xc0, 0xd5,
-  0xb7, 0xa3, 0x12, 0xa4, 0xc9, 0xf5, 0xde, 0xba, 0x2c, 0xf7, 0x3e, 0x6f,
-  0x5d, 0x96, 0xee, 0x9d, 0x75, 0xd7, 0xe4, 0x08, 0x69, 0x1b, 0xed, 0x84,
-  0x66, 0xbc, 0x04, 0x28, 0x09, 0xc8, 0x89, 0x43, 0x80, 0x0c, 0xbd, 0xda,
-  0xd5, 0x01, 0x04, 0xa1, 0xe2, 0xb0, 0xff, 0x9c, 0x97, 0x40, 0x81, 0x17,
-  0x51, 0xe6, 0x93, 0x71, 0x55, 0xde, 0xd5, 0xd0, 0x9e, 0xd4, 0x9e, 0x4a,
-  0x19, 0x47, 0x79, 0x13, 0x44, 0xf3, 0xcd, 0xf4, 0xce, 0x2c, 0x91, 0xdb,
-  0xb7, 0x97, 0x6f, 0x4f, 0x99, 0xac, 0x96, 0x33, 0xd9, 0x28, 0x6d, 0x45,
-  0xfa, 0xbc, 0x1c, 0xcf, 0xcd, 0xfa, 0x1b, 0x05, 0xa5, 0x61, 0x69, 0xa6,
-  0x02, 0x32, 0x48, 0xb7, 0x43, 0x54, 0x48, 0x82, 0x8a, 0x8b, 0x98, 0xaf,
-  0x5f, 0x5c, 0x41, 0x2e, 0x9a, 0x26, 0x8b, 0x8b, 0xdc, 0xaf, 0xd5, 0x00,
-  0x93, 0x9d, 0x4f, 0x83, 0xbb, 0xbb, 0xbb, 0x01, 0xf5, 0xce, 0x29, 0x26,
-  0x64, 0xb2, 0x1d, 0x31, 0xae, 0x02, 0xaa, 0xd4, 0x1b, 0x5a, 0x0a, 0x7a,
-  0x24, 0x38, 0x7d, 0x9e, 0xa6, 0x86, 0x9a, 0x0a, 0xe0, 0x84, 0xb4, 0x0e,
-  0x05, 0x52, 0xbc, 0x2c, 0xa1, 0x32, 0xc8, 0x44, 0xd2, 0xb6, 0xb2, 0xd5,
-  0x15, 0x69, 0x4e, 0xf9, 0x72, 0xd4, 0xc8, 0xbe, 0xfe, 0x45, 0xaa, 0x08,
-  0xa9, 0x44, 0x12, 0x93, 0x58, 0x56, 0xe4, 0x7f, 0x62, 0x0b, 0x23, 0x86,
-  0xdc, 0x16, 0x9d, 0x44, 0xfd, 0xfa, 0x36, 0x3a, 0xd6, 0xb2, 0x4c, 0x94,
-  0x03, 0x96, 0xda, 0xf6, 0x8e, 0x6f, 0x44, 0x4f, 0x64, 0xea, 0x0e, 0xe0,
-  0xf1, 0xb1, 0x9a, 0x66, 0xb3, 0x99, 0xd6, 0x51, 0xe2, 0x20, 0x85, 0x3f,
-  0x37, 0xd0, 0xf0, 0xa2, 0x3a, 0xb6, 0x23, 0x48, 0xae, 0x1d, 0x27, 0xae,
-  0x9a, 0x77, 0x60, 0x30, 0x01, 0x67, 0x09, 0x48, 0x71, 0xcb, 0xb6, 0x7b,
-  0x66, 0x10, 0x44, 0x10, 0xc5, 0x5d, 0xd3, 0xf7, 0x22, 0x35, 0x39, 0x39,
-  0x4c, 0xfc, 0xfc, 0x7e, 0x47, 0xd8, 0x37, 0xcf, 0xaa, 0x6b, 0xfa, 0x89,
-  0xb2, 0xb9, 0x45, 0xb3, 0x46, 0xd2, 0xc4, 0xa3, 0xaf, 0x49, 0x92, 0x7f,
-  0x1d, 0xf0, 0xa5, 0x0a, 0xcf, 0xca, 0x92, 0x60, 0xad, 0xe2, 0x02, 0xde,
-  0x1c, 0x4c, 0x59, 0xac, 0x4c, 0xd3, 0xc2, 0xcc, 0x84, 0x39, 0xb1, 0x21,
-  0xc4, 0x62, 0x36, 0x7b, 0x35, 0x2b, 0x97, 0xf5, 0xfd, 0x66, 0x22, 0xfc,
-  0xe4, 0x42, 0xe9, 0xdb, 0x70, 0x82, 0x26, 0xd6, 0xd2, 0xac, 0xef, 0xb2,
-  0xf8, 0xa8, 0xf7, 0x22, 0xa1, 0xdd, 0x6b, 0xf6, 0x2d, 0x76, 0x9a, 0xdb,
-  0xf4, 0x3e, 0xf6, 0xaf, 0x7e, 0xdb, 0xd1, 0x59, 0x86, 0x27, 0x92, 0xed,
-  0xbc, 0xc7, 0x19, 0x7a, 0x2e, 0x8a, 0x10, 0xb3, 0xf2, 0x92, 0x56, 0xd4,
-  0xc7, 0x36, 0x48, 0xf7, 0x06, 0x33, 0xe8, 0xa9, 0x97, 0xdc, 0x85, 0xff,
-  0x21, 0x6f, 0x56, 0xa4, 0x30, 0xb8, 0x9a, 0x5f, 0x9c, 0xc2, 0xe0, 0x28,
-  0x85, 0x38, 0xc5, 0xdb, 0xf2, 0x79, 0xfb, 0x19, 0x53, 0xc3, 0xe4, 0xdc,
-  0xcc, 0xd7, 0x20, 0x88, 0xfc, 0x5c, 0x7b, 0xcd, 0xa5, 0x3e, 0x5f, 0x99,
-  0x5c, 0x6b, 0x36, 0x13, 0x96, 0xf1, 0xc9, 0x00, 0x9d, 0x27, 0xd6, 0x9a,
-  0x0c, 0x90, 0x1e, 0x6c, 0x5a, 0xd2, 0xce, 0xb2, 0xd6, 0xa7, 0xf5, 0x14,
-  0x13, 0x51, 0x2a, 0x25, 0x3e, 0x53, 0x74, 0x5c, 0x8d, 0x69, 0xf6, 0xb5,
-  0xb3, 0x9b, 0x33, 0x38, 0x33, 0xde, 0xe9, 0xa5, 0xf9, 0x80, 0x10, 0xb0,
-  0xac, 0xa9, 0x74, 0x93, 0x75, 0x8c, 0x2e, 0xce, 0xdd, 0x75, 0x62, 0x25,
-  0x18, 0x2c, 0x23, 0x13, 0xd7, 0x40, 0x9a, 0xfc, 0xb3, 0xed, 0xdd, 0x36,
-  0xce, 0xea, 0xea, 0x5e, 0x41, 0xab, 0xfd, 0x85, 0x8e, 0x77, 0xce, 0x89,
-  0x40, 0x7e, 0xfd, 0x44, 0xa1, 0x52, 0xd2, 0x9a, 0x78, 0xba, 0x7c, 0x53,
-  0x2f, 0x9b, 0x65, 0xd7, 0x3c, 0xa6, 0x97, 0xa7, 0xc7, 0xdf, 0x1f, 0x9f,
-  0x06, 0x17, 0xd8, 0x37, 0xa3, 0xd1, 0xce, 0xc7, 0xac, 0x1a, 0xa3, 0x0a,
-  0x13, 0xf9, 0xbc, 0x13, 0x3c, 0x67, 0xf1, 0x3a, 0x9e, 0x54, 0xbf, 0x73,
-  0xc9, 0xe5, 0x09, 0xa3, 0x76, 0x03, 0x63, 0x9f, 0x10, 0x99, 0xfc, 0x49,
-  0x61, 0x4c, 0x45, 0xfe, 0x88, 0x00, 0xc3, 0x70, 0x4b, 0x4d, 0xaa, 0x6c,
-  0xca, 0x55, 0x8a, 0x42, 0x48, 0x58, 0x41, 0x6a, 0x7e, 0x92, 0xbc, 0xc6,
-  0x52, 0x32, 0x2c, 0x18, 0xd1, 0x0f, 0x3b, 0x88, 0xe0, 0x8d, 0x45, 0x69,
-  0xae, 0x90, 0xfb, 0xe4, 0xb5, 0x7c, 0xb3, 0x66, 0xe7, 0x26, 0xcd, 0x06,
-  0x73, 0xcf, 0xb0, 0xc9, 0x70, 0xf6, 0xdd, 0xe0, 0x70, 0x34, 0x78, 0x7d,
-  0x7c, 0x7a, 0xfc, 0xcd, 0xe1, 0xe5, 0xb1, 0xd2, 0x82, 0x92, 0xfb, 0x7f,
-  0x85, 0x32, 0xc4, 0xf2, 0xee, 0x3b, 0x99, 0x16, 0x8c, 0x9f, 0x68, 0x65,
-  0x9b, 0x9c, 0xc9, 0x9e, 0x95, 0x3d, 0x97, 0x4b, 0xe9, 0x91, 0x89, 0x22,
-  0xc8, 0xd0, 0x78, 0x73, 0xe6, 0xf4, 0xcd, 0xe6, 0xd2, 0xd5, 0x60, 0x04,
-  0xe9, 0xec, 0x8e, 0xca, 0x3e, 0xbc, 0x2f, 0x08, 0x17, 0x9d, 0xdb, 0x34,
-  0x40, 0x1e, 0xbd, 0x37, 0xf9, 0xde, 0xcc, 0xb6, 0x16, 0x18, 0xf4, 0x99,
-  0x2b, 0x8c, 0x77, 0xcd, 0xe1, 0x45, 0xf0, 0xf1, 0x35, 0x9e, 0xec, 0xd0,
-  0x74, 0x0e, 0x5d, 0x12, 0x6f, 0x61, 0x7f, 0x15, 0x49, 0xb3, 0xa7, 0x0d,
-  0x54, 0x4f, 0x6e, 0xb2, 0xb9, 0x68, 0x94, 0x14, 0x70, 0x46, 0x7a, 0x27,
-  0xe7, 0xcb, 0x09, 0xb3, 0x01, 0x1f, 0xf4, 0x71, 0x06, 0xc1, 0x8c, 0x78,
-  0x0e, 0x36, 0x6f, 0x0c, 0xba, 0x79, 0x47, 0xe4, 0xbd, 0xe4, 0xa4, 0x27,
-  0x08, 0x06, 0xb2, 0x42, 0x87, 0x40, 0x8b, 0x71, 0x9e, 0x40, 0xd1, 0x0a,
-  0xfd, 0x5a, 0x79, 0xc9, 0xb5, 0x49, 0xba, 0x97, 0xbf, 0x65, 0x01, 0xf5,
-  0x78, 0xfc, 0x28, 0xb2, 0x83, 0x1f, 0x41, 0x60, 0xaa, 0xea, 0x4b, 0x9d,
-  0xfc, 0x95, 0x1e, 0x4e, 0xde, 0x4f, 0xdc, 0x77, 0x49, 0xc8, 0xc1, 0x66,
-  0x8d, 0xa2, 0x70, 0xa3, 0x82, 0x41, 0x62, 0xed, 0xd4, 0x5d, 0xed, 0x2f,
-  0xdb, 0x68, 0x4a, 0x51, 0xca, 0x4b, 0x99, 0xc8, 0x59, 0x16, 0x5e, 0xdf,
-  0x47, 0x0a, 0x86, 0x16, 0xf1, 0x2f, 0x11, 0xad, 0xea, 0x5f, 0x43, 0x7a,
-  0x66, 0x9b, 0x3e, 0x35, 0xc8, 0x16, 0x01, 0xef, 0xe5, 0xd6, 0x1b, 0xa5,
-  0xb2, 0xb5, 0x7a, 0x9e, 0x5f, 0xcb, 0xc1, 0x23, 0x5e, 0x3f, 0x3e, 0xbf,
-  0xe0, 0x82, 0x8a, 0xa7, 0xf4, 0x17, 0x09, 0xda, 0xd4, 0x31, 0xae, 0x1e,
-  0xa1, 0xd2, 0x26, 0x8c, 0x41, 0x06, 0xaf, 0xbf, 0x8d, 0xc5, 0x2a, 0xb0,
-  0x8c, 0xe1, 0x84, 0xc2, 0x57, 0x2a, 0x07, 0x22, 0x96, 0x8b, 0xe8, 0x15,
-  0x00, 0xa2, 0x9e, 0x50, 0x17, 0x84, 0x9e, 0x10, 0x9d, 0x60, 0x48, 0xa4,
-  0xfa, 0xd6, 0xcf, 0xe8, 0x97, 0xa4, 0xfb, 0x29, 0x70, 0x60, 0xc5, 0x34,
-  0xb6, 0xf8, 0x84, 0xa9, 0x59, 0x7a, 0x33, 0xa9, 0x50, 0x2e, 0x2a, 0x35,
-  0x5d, 0x19, 0x76, 0x86, 0x0a, 0xc2, 0x7f, 0xe2, 0x06, 0x0b, 0x5d, 0xe9,
-  0x28, 0x75, 0x20, 0x7e, 0x31, 0xc1, 0x19, 0x63, 0xc0, 0x0a, 0x9f, 0xee,
-  0x4b, 0x88, 0x3a, 0xb5, 0xe1, 0x4a, 0x94, 0x9a, 0x44, 0xec, 0x3a, 0xd0,
-  0xb6, 0x05, 0x63, 0xce, 0x63, 0xa0, 0xcc, 0x68, 0x89, 0xba, 0xb2, 0x72,
-  0x76, 0x25, 0x91, 0xad, 0x14, 0x74, 0x90, 0x30, 0x33, 0xc6, 0xac, 0x4d,
-  0x00, 0xa4, 0x75, 0x93, 0x16, 0x91, 0x53, 0x67, 0x26, 0xde, 0xd6, 0x5c,
-  0xc0, 0x28, 0x65, 0xd9, 0x22, 0x0a, 0x35, 0xed, 0x8d, 0x16, 0xc6, 0x97,
-  0x00, 0xed, 0x9f, 0x48, 0x61, 0xcf, 0xc9, 0x25, 0x2e, 0x5d, 0xe1, 0x99,
-  0x21, 0xf2, 0x0f, 0xdd, 0x6f, 0x65, 0x6c, 0x57, 0x89, 0x78, 0x71, 0x8e,
-  0xfa, 0xd6, 0x16, 0x5c, 0xe1, 0x02, 0xce, 0x12, 0x8b, 0xe8, 0xa9, 0x91,
-  0x33, 0xe1, 0x11, 0xff, 0x51, 0x0d, 0xb3, 0x76, 0x52, 0x05, 0x96, 0x0f,
-  0xf7, 0x7a, 0xd1, 0x05, 0x30, 0x64, 0x8c, 0xa4, 0x37, 0xdf, 0x46, 0x77,
-  0xc9, 0x2b, 0x63, 0x83, 0x79, 0xb4, 0x79, 0x82, 0xef, 0xbf, 0x46, 0xe7,
-  0xe8, 0x3b, 0x78, 0x01, 0x27, 0xdf, 0xe8, 0x0f, 0x5c, 0x02, 0x8f, 0x10,
-  0x3b, 0xbc, 0x95, 0xc7, 0x99, 0xf9, 0x5e, 0x4e, 0x35, 0x36, 0xfc, 0x1a,
-  0x35, 0x21, 0x6a, 0xb5, 0x36, 0x1b, 0x90, 0x6e, 0x0b, 0x52, 0xc4, 0x48,
-  0x0a, 0xd1, 0xbb, 0x14, 0x8a, 0xcf, 0x12, 0xbf, 0x40, 0x0d, 0x36, 0x04,
-  0xb4, 0xf7, 0xf3, 0xbe, 0x84, 0xc2, 0x00, 0x56, 0x0b, 0x22, 0xca, 0x66,
-  0x02, 0x27, 0x96, 0x23, 0x44, 0x9f, 0x4c, 0xeb, 0xdb, 0xf8, 0x09, 0xaf,
-  0x6f, 0xa3, 0x27, 0xfc, 0x11, 0xe7, 0xdc, 0xd9, 0x3e, 0xc7, 0xe7, 0xa3,
-  0xef, 0x57, 0xa5, 0xfb, 0x33, 0x2d, 0x3a, 0x1f, 0x71, 0x37, 0x3a, 0xda,
-  0xf4, 0xfe, 0x31, 0x5f, 0x7d, 0xce, 0xa3, 0xee, 0xfa, 0xe0, 0x9c, 0x9b,
-  0xef, 0xcb, 0xe1, 0x3e, 0x3f, 0x1c, 0x7d, 0xef, 0x1d, 0x6b, 0x6f, 0x0b,
-  0xe0, 0x1c, 0xc7, 0xb2, 0x8d, 0x51, 0x7f, 0xa7, 0x52, 0x72, 0x40, 0x6a,
-  0x2c, 0xba, 0xdf, 0xeb, 0xdb, 0xc7, 0xec, 0x77, 0xd3, 0x93, 0x60, 0xbf,
-  0x07, 0x73, 0xbc, 0x6e, 0xbf, 0xfb, 0x0b, 0xd5, 0xc6, 0x40, 0x7a, 0xbb,
-  0xbd, 0xe0, 0x2a, 0x7d, 0x37, 0x28, 0xf8, 0x1a, 0xdf, 0xe6, 0x40, 0xc2,
-  0xf2, 0xd6, 0x0e, 0x21, 0x62, 0xe8, 0xe7, 0x2f, 0xdb, 0xe8, 0xe6, 0x85,
-  0x60, 0xa3, 0xeb, 0x7a, 0xc6, 0x77, 0xfa, 0xaa, 0x8d, 0xae, 0x08, 0xd1,
-  0x8c, 0x37, 0xb9, 0xbf, 0xc7, 0xc3, 0xfd, 0xed, 0xed, 0x5a, 0x3f, 0xb5,
-  0x37, 0x9c, 0x21, 0x05, 0x2a, 0xd9, 0x3c, 0x75, 0x2f, 0x4d, 0x3f, 0x42,
-  0x0b, 0xd1, 0x57, 0x28, 0x1b, 0x12, 0x1c, 0x43, 0xef, 0xba, 0x25, 0x54,
-  0x68, 0x81, 0xd9, 0x2b, 0xd5, 0xa5, 0x71, 0x8b, 0xe3, 0xda, 0x86, 0xa9,
-  0xee, 0x67, 0x89, 0x5f, 0x05, 0x27, 0xb2, 0x45, 0xfe, 0x92, 0x45, 0xf3,
-  0x8d, 0xeb, 0x8c, 0x20, 0x02, 0xe0, 0x1d, 0x6a, 0x9d, 0xd3, 0xa2, 0x1e,
-  0xb8, 0x2a, 0x8a, 0x2f, 0xed, 0x5f, 0x03, 0x2d, 0xfd, 0xf5, 0xbb, 0x51,
-  0xe7, 0xb8, 0xd6, 0x19, 0x23, 0xe6, 0xaf, 0x71, 0xf4, 0xcc, 0xef, 0x6d,
-  0x9e, 0x4b, 0xed, 0xaa, 0x96, 0x48, 0x93, 0x41, 0x22, 0x33, 0x7d, 0xc2,
-  0x72, 0xcb, 0x3b, 0xc5, 0x27, 0xd5, 0xc2, 0x9f, 0xf0, 0xf7, 0x91, 0xcf,
-  0xc5, 0xeb, 0x9d, 0x64, 0xfa, 0x92, 0x27, 0x25, 0x46, 0xf3, 0xc2, 0x42,
-  0x96, 0xfa, 0xa9, 0x05, 0xd4, 0x84, 0x75, 0x55, 0xe8, 0x9d, 0x6c, 0xc1,
-  0x85, 0x22, 0xf1, 0x0a, 0x47, 0xc6, 0x22, 0x33, 0x5b, 0x42, 0x1b, 0x23,
-  0x90, 0x9d, 0xed, 0xb5, 0xda, 0x14, 0x4f, 0xe1, 0xe2, 0xf6, 0xe9, 0x80,
-  0x1e, 0x57, 0xe5, 0x49, 0x7e, 0xf8, 0x1c, 0x3f, 0x1c, 0x76, 0x27, 0x3a,
-  0xb0, 0x35, 0xa5, 0xca, 0x91, 0xf5, 0x32, 0x2e, 0x8b, 0x29, 0xf1, 0x3f,
-  0x53, 0xb7, 0xb5, 0x62, 0xf1, 0x5d, 0xea, 0x78, 0xab, 0x49, 0x90, 0x0b,
-  0x3b, 0x8b, 0xd9, 0x4b, 0xdd, 0xc9, 0x4d, 0x51, 0xba, 0xd8, 0xf3, 0x28,
-  0x3e, 0xe9, 0x86, 0xdf, 0x5a, 0x3d, 0x7e, 0x29, 0xc3, 0x8c, 0x2f, 0x39,
-  0xaf, 0xb9, 0x67, 0xc9, 0x8f, 0x73, 0x2e, 0xba, 0xf0, 0x32, 0x5f, 0x0c,
-  0xf4, 0x4d, 0x16, 0xc2, 0xf3, 0xf4, 0xa3, 0x5c, 0x8d, 0x4f, 0x69, 0x19,
-  0x22, 0x83, 0xe4, 0xa2, 0x68, 0x7e, 0x60, 0x87, 0xb6, 0x8d, 0xdd, 0x35,
-  0xa2, 0xb2, 0x34, 0x96, 0xa3, 0x0d, 0xe6, 0x0d, 0x7f, 0x23, 0x96, 0x06,
-  0xa3, 0xc0, 0x55, 0xdf, 0x67, 0xa1, 0x90, 0x77, 0xf4, 0xc2, 0xbe, 0xfb,
-  0xe0, 0xfa, 0xb9, 0xfd, 0xb0, 0x6e, 0xfd, 0x74, 0xce, 0xfe, 0x7b, 0xac,
-  0xdf, 0xf3, 0xdf, 0x6d, 0xfd, 0x9e, 0xff, 0xb7, 0x58, 0xbf, 0xe7, 0xff,
-  0xf8, 0xfa, 0x3d, 0xed, 0xae, 0xdf, 0xf3, 0xff, 0x2e, 0xeb, 0xa7, 0xe5,
-  0x3e, 0x74, 0xf5, 0xb2, 0x60, 0xfd, 0xc8, 0x13, 0xc2, 0x57, 0x08, 0x08,
-  0xbe, 0xa0, 0x0d, 0xd1, 0x74, 0xeb, 0x9b, 0x1c, 0x78, 0x10, 0xac, 0x19,
-  0x7b, 0x76, 0x15, 0xf2, 0x88, 0xcc, 0xfb, 0x38, 0x4f, 0xa3, 0x70, 0x27,
-  0x29, 0xe1, 0xd9, 0xc9, 0x79, 0x62, 0x3b, 0xe0, 0x2d, 0x83, 0xa3, 0x19,
-  0x82, 0x92, 0x13, 0x75, 0xb9, 0xd6, 0xe4, 0x87, 0x33, 0x13, 0xc0, 0xc9,
-  0x66, 0xb5, 0x4b, 0x95, 0x8c, 0x71, 0x09, 0x99, 0xc9, 0x3b, 0x78, 0x49,
-  0xf3, 0x35, 0xe0, 0xc7, 0xbf, 0x8c, 0xe6, 0xff, 0xa0, 0xaa, 0x9a, 0xeb,
-  0x52, 0xcc, 0xcd, 0xee, 0x4d, 0xdd, 0xa3, 0x97, 0x6d, 0x55, 0xe1, 0x09,
-  0x5d, 0xc2, 0xc9, 0xe0, 0xa1, 0x25, 0x7b, 0x0d, 0xcd, 0x60, 0x39, 0x5f,
-  0x48, 0x5e, 0xe0, 0x03, 0x79, 0x51, 0xd0, 0x3f, 0xb7, 0x93, 0x1f, 0x90,
-  0xf5, 0xc4, 0x9e, 0x55, 0xc9, 0x15, 0xb0, 0x25, 0x81, 0x15, 0x88, 0xad,
-  0x61, 0x8b, 0x15, 0x04, 0x46, 0x51, 0x2e, 0x99, 0x4e, 0xce, 0x2f, 0x83,
-  0xda, 0x6d, 0x8d, 0xdd, 0xac, 0xf0, 0x35, 0x24, 0xc1, 0x44, 0x4b, 0x1a,
-  0x2f, 0x7f, 0x34, 0x4a, 0x1b, 0x49, 0xd7, 0x22, 0x27, 0x4a, 0x50, 0xa7,
-  0x99, 0x06, 0xcc, 0xbc, 0x6e, 0x9a, 0x1a, 0x4a, 0xb6, 0x84, 0x57, 0xa1,
-  0x56, 0x7b, 0x0f, 0x66, 0x96, 0x18, 0x94, 0x58, 0x55, 0x19, 0xd8, 0x85,
-  0x92, 0x73, 0x6f, 0x49, 0x51, 0x8b, 0x5b, 0x05, 0xce, 0x83, 0x1e, 0xc6,
-  0xa7, 0x52, 0x1f, 0x8c, 0xc3, 0x0c, 0x18, 0x85, 0x71, 0xf2, 0x88, 0xff,
-  0x05, 0xfb, 0x77, 0x05, 0x88, 0x9b, 0x75, 0x08, 0xdf, 0x0e, 0x0d, 0xd6,
-  0xdc, 0x87, 0x88, 0x0f, 0x37, 0xd6, 0xc1, 0x37, 0x19, 0x17, 0x78, 0x93,
-  0xf9, 0x59, 0x88, 0x96, 0xc2, 0x8d, 0x1d, 0xc2, 0x0c, 0x3c, 0x32, 0x83,
-  0x13, 0x14, 0x5b, 0x40, 0x4b, 0x8f, 0x44, 0x63, 0x99, 0xad, 0x9e, 0x10,
-  0xa3, 0x2c, 0x19, 0x82, 0x44, 0x3c, 0x6e, 0x53, 0xa6, 0xee, 0xf8, 0x27,
-  0x66, 0xfd, 0x79, 0xa8, 0x4e, 0x5f, 0x24, 0x65, 0xd7, 0x1c, 0x0b, 0x5d,
-  0x87, 0x20, 0xb4, 0xc9, 0x7e, 0x7e, 0x99, 0x38, 0x0e, 0xcf, 0xca, 0x2e,
-  0x3e, 0x2e, 0x9a, 0xaa, 0x5c, 0xdc, 0x27, 0xdf, 0xa4, 0x34, 0x2c, 0xa8,
-  0x85, 0x69, 0x36, 0x0f, 0x72, 0x3e, 0xb8, 0x76, 0x9c, 0x68, 0x69, 0x5c,
-  0x47, 0x4e, 0x47, 0x08, 0xbd, 0x92, 0xa7, 0x25, 0xa1, 0xa2, 0xef, 0x53,
-  0xf2, 0xe7, 0x69, 0xee, 0x18, 0x60, 0x93, 0xa3, 0xd1, 0x69, 0xa8, 0x4c,
-  0x2b, 0xfd, 0xfd, 0xda, 0x1c, 0x5f, 0xb4, 0x36, 0x68, 0x9f, 0x28, 0x33,
-  0x72, 0x6e, 0xfc, 0x65, 0xf4, 0x30, 0xcb, 0xb8, 0xb3, 0x99, 0x66, 0xc2,
-  0x0b, 0x71, 0x78, 0x32, 0xa9, 0xee, 0x17, 0x64, 0xa0, 0xf1, 0xcb, 0x72,
-  0xf6, 0xa8, 0x7f, 0x4c, 0xa2, 0xb8, 0x36, 0x8d, 0xf0, 0x3d, 0x22, 0x64,
-  0xf2, 0x2a, 0x04, 0x31, 0x05, 0x33, 0xcd, 0x74, 0x51, 0x70, 0x55, 0x05,
-  0x33, 0xc9, 0xac, 0x29, 0x08, 0x12, 0x5c, 0x45, 0x8e, 0x80, 0x05, 0x0c,
-  0x25, 0x36, 0x3a, 0x54, 0xca, 0x70, 0xeb, 0x20, 0xd3, 0x92, 0xe8, 0x7a,
-  0xe1, 0xd1, 0xde, 0xd6, 0x8b, 0x41, 0xde, 0xe8, 0xd4, 0x02, 0x55, 0x11,
-  0x6c, 0x99, 0x76, 0x53, 0xca, 0x98, 0x2e, 0x02, 0x76, 0x06, 0x0e, 0x79,
-  0xef, 0xed, 0xee, 0x3e, 0x48, 0xbb, 0x21, 0xee, 0x5f, 0x65, 0xdf, 0xc0,
-  0x28, 0xa8, 0x54, 0xa1, 0x50, 0x6f, 0x34, 0x5a, 0x07, 0xdc, 0x11, 0x6f,
-  0x20, 0x49, 0x34, 0xcd, 0x25, 0xe1, 0xa0, 0x4b, 0x54, 0x64, 0x3e, 0x69,
-  0x49, 0x30, 0xdc, 0x11, 0x64, 0x59, 0xc7, 0xec, 0x34, 0xa0, 0xe1, 0x30,
-  0x22, 0xec, 0x18, 0x7d, 0xac, 0x0f, 0x5a, 0xef, 0x44, 0x0b, 0xe4, 0x51,
-  0x87, 0xe8, 0x25, 0xd1, 0x5e, 0x86, 0xc9, 0xd7, 0xf7, 0xce, 0x70, 0xf2,
-  0x8a, 0xbc, 0xa3, 0x57, 0xec, 0x6a, 0x95, 0xf2, 0xcc, 0x51, 0xe2, 0xf9,
-  0xb5, 0xd4, 0x1a, 0xff, 0xe2, 0xf1, 0x4a, 0x19, 0x01, 0xb4, 0xa8, 0xd1,
-  0x2a, 0x32, 0xf4, 0xe3, 0x1e, 0x03, 0x3b, 0x5a, 0x4b, 0x4b, 0xe8, 0x86,
-  0xed, 0xb1, 0xea, 0xf3, 0xa5, 0xb2, 0x96, 0x0f, 0xb5, 0x4d, 0x94, 0xd2,
-  0x46, 0xe5, 0x7d, 0xd6, 0x56, 0x4b, 0x28, 0x53, 0x71, 0x80, 0x7c, 0xc4,
-  0x6e, 0x16, 0x36, 0xa5, 0x30, 0xa2, 0x2e, 0xf6, 0x27, 0x46, 0x69, 0x38,
-  0x13, 0x98, 0x08, 0x7a, 0x18, 0x06, 0xa1, 0xb9, 0x12, 0x1d, 0xfe, 0xc7,
-  0x18, 0xaf, 0x96, 0x9e, 0x74, 0x3f, 0x59, 0x2a, 0x48, 0x8d, 0x52, 0x5b,
-  0x9a, 0x8d, 0xe9, 0x30, 0xcd, 0x5c, 0x96, 0x47, 0x3d, 0x35, 0xd0, 0xc9,
-  0x38, 0xf9, 0x12, 0xe1, 0x62, 0xa8, 0x12, 0xac, 0x7b, 0xbc, 0xbf, 0x38,
-  0xed, 0x27, 0x52, 0x5b, 0x91, 0x00, 0x9f, 0x66, 0xa5, 0xe3, 0xba, 0x91,
-  0xa3, 0x32, 0x67, 0x5e, 0x3a, 0x1e, 0x4b, 0xed, 0x18, 0x96, 0x48, 0x6c,
-  0xc3, 0xf9, 0x69, 0x9a, 0xac, 0x15, 0x21, 0x13, 0xba, 0xa4, 0x58, 0x69,
-  0x23, 0xc1, 0x4c, 0x0f, 0x6e, 0x22, 0x95, 0x10, 0xee, 0x43, 0xed, 0xb4,
-  0xa5, 0x35, 0xd2, 0xb4, 0x7d, 0x4e, 0x06, 0x25, 0x67, 0x45, 0x24, 0xa5,
-  0x54, 0x42, 0x91, 0x44, 0x87, 0x96, 0x60, 0x79, 0x90, 0x53, 0xba, 0xac,
-  0xbc, 0x80, 0x64, 0xef, 0x26, 0x37, 0xeb, 0x5a, 0xf4, 0x98, 0x6e, 0x6d,
-  0x39, 0x66, 0x2a, 0xbf, 0x06, 0x1f, 0x8e, 0xc1, 0x83, 0x09, 0x5f, 0xe7,
-  0xbc, 0x63, 0xf1, 0xc2, 0x89, 0x2d, 0x10, 0x6c, 0x3f, 0x69, 0x1d, 0x0a,
-  0x55, 0x38, 0xb9, 0x6b, 0x2e, 0x9f, 0x35, 0xca, 0xf9, 0xce, 0x3b, 0xc5,
-  0x25, 0xd3, 0xd0, 0xe9, 0x47, 0x0d, 0x87, 0xbe, 0xcf, 0xa3, 0xee, 0xbc,
-  0x7d, 0x7e, 0xc5, 0x76, 0x9a, 0xe8, 0xb8, 0xba, 0x52, 0xd9, 0x2c, 0xfb,
-  0x08, 0x25, 0xa7, 0x60, 0x9d, 0xd2, 0x7b, 0x64, 0x0d, 0xd8, 0x4f, 0x63,
-  0x87, 0x07, 0xbc, 0x4a, 0x44, 0x32, 0x56, 0x42, 0x77, 0x94, 0xbd, 0x4c,
-  0x85, 0x6b, 0x26, 0x55, 0xbe, 0x68, 0x38, 0xfc, 0x1b, 0x94, 0xd5, 0x8e,
-  0xab, 0x61, 0xd7, 0xb3, 0x72, 0x9c, 0xf2, 0x39, 0xb1, 0x60, 0x0f, 0x75,
-  0x3b, 0xb5, 0x08, 0x3f, 0x51, 0x2a, 0xd8, 0x6c, 0xcf, 0x48, 0xa2, 0x8e,
-  0x19, 0xf2, 0xe0, 0x00, 0xf5, 0x2e, 0x29, 0x1e, 0xb5, 0xee, 0x83, 0xf6,
-  0x13, 0xcc, 0xa9, 0x35, 0xb8, 0xea, 0xcb, 0x09, 0xd6, 0x8c, 0x47, 0x60,
-  0x65, 0x6a, 0xef, 0x5c, 0x05, 0xaa, 0x10, 0x32, 0x93, 0xa7, 0xcb, 0xac,
-  0x0d, 0x9d, 0xd9, 0x94, 0x68, 0x9d, 0x14, 0x3f, 0x01, 0x7c, 0xc3, 0xd6,
-  0xd6, 0x96, 0xa8, 0x58, 0x14, 0x16, 0x42, 0xf4, 0x9a, 0xb6, 0xfa, 0xb4,
-  0xd6, 0x80, 0x2d, 0xe8, 0x66, 0x72, 0x9d, 0x53, 0x44, 0xa2, 0x37, 0x57,
-  0xcc, 0xde, 0x5f, 0x05, 0x65, 0x4c, 0xaf, 0x58, 0x4f, 0x03, 0xce, 0x93,
-  0xd7, 0x64, 0xcd, 0xcc, 0xf8, 0x4c, 0xbd, 0xfb, 0x2d, 0xa9, 0x66, 0x3f,
-  0x1d, 0xbf, 0xa2, 0x20, 0xda, 0xb8, 0xe0, 0xb7, 0x99, 0xc5, 0x2d, 0xaa,
-  0x22, 0xcc, 0xd9, 0x2b, 0x29, 0xe2, 0xbf, 0xe0, 0x9c, 0xd3, 0xc2, 0x2f,
-  0x2c, 0x0d, 0xe2, 0x99, 0x35, 0x74, 0x52, 0xa4, 0xae, 0x31, 0xca, 0xb8,
-  0x62, 0xcd, 0xa1, 0x85, 0x8a, 0xe3, 0x56, 0x37, 0x54, 0xd6, 0x4c, 0xbc,
-  0x5f, 0x4e, 0xb3, 0x74, 0x16, 0xa3, 0xda, 0xa6, 0x0e, 0x93, 0xb7, 0x91,
-  0x85, 0x1b, 0x31, 0x9e, 0x16, 0xe2, 0xb7, 0x16, 0xdc, 0x29, 0xc3, 0xae,
-  0x0a, 0xc9, 0xea, 0xd4, 0x1e, 0xe2, 0x54, 0x45, 0x0c, 0x1d, 0x22, 0x7c,
-  0xbf, 0x15, 0x7e, 0x05, 0x65, 0x09, 0x96, 0xa8, 0x93, 0x83, 0xd0, 0x43,
-  0xff, 0x7f, 0x7b, 0x6a, 0x1f, 0xc0, 0x0e, 0x00, 0x46, 0xb8, 0xdb, 0x9c,
-  0x38, 0xe2, 0x38, 0xaf, 0x8b, 0xcb, 0xad, 0x0b, 0x94, 0x9d, 0x3a, 0xc6,
-  0x70, 0x03, 0x12, 0x93, 0xdb, 0x72, 0x0e, 0x11, 0xee, 0x16, 0xc9, 0xb1,
-  0x08, 0x57, 0xfa, 0x36, 0x53, 0xa8, 0x08, 0xec, 0x0b, 0x5e, 0x80, 0xc6,
-  0xa6, 0xbb, 0x51, 0x6b, 0x22, 0x67, 0x58, 0xc8, 0xec, 0xef, 0xaf, 0x28,
-  0xfe, 0x22, 0x15, 0x1f, 0x65, 0x8f, 0xe1, 0xb0, 0xd7, 0xe9, 0x95, 0x2d,
-  0xc6, 0x2a, 0x02, 0xbc, 0x9c, 0x98, 0x29, 0xe4, 0x42, 0xd1, 0xf8, 0x59,
-  0x11, 0xc9, 0x49, 0x61, 0x71, 0x4d, 0x52, 0xd2, 0x5e, 0xbb, 0x74, 0x10,
-  0x14, 0x3e, 0x59, 0xcf, 0xf2, 0x85, 0xf5, 0x71, 0xf6, 0x89, 0x40, 0x95,
-  0x61, 0x1c, 0x14, 0xa0, 0xbd, 0x0b, 0xc9, 0x02, 0x3b, 0x85, 0x29, 0x85,
-  0x59, 0x72, 0x46, 0xea, 0xff, 0x56, 0xa7, 0xfd, 0xa7, 0xbb, 0x7b, 0xe8,
-  0xee, 0xd3, 0xdd, 0xcf, 0xb6, 0xdb, 0x77, 0xf3, 0xac, 0xce, 0x06, 0xc0,
-  0xf1, 0xc4, 0x75, 0x54, 0xae, 0x6e, 0xe2, 0xfc, 0x3c, 0xd0, 0x47, 0xe9,
-  0x25, 0x01, 0xff, 0x4c, 0x97, 0x95, 0x22, 0xe2, 0xa8, 0xe0, 0x0d, 0xd9,
-  0x8c, 0xf5, 0x0d, 0xd1, 0x99, 0x05, 0x77, 0xbd, 0x7b, 0x07, 0xc6, 0x14,
-  0x5c, 0xe8, 0x3c, 0x53, 0x66, 0xf7, 0xd0, 0xbb, 0xb6, 0x50, 0x8a, 0x4c,
-  0x06, 0x83, 0x8b, 0xc8, 0x62, 0x0c, 0xa9, 0x65, 0x7d, 0x0e, 0x27, 0x4e,
-  0x42, 0xe0, 0x28, 0x4a, 0xbb, 0x74, 0x9a, 0x95, 0x3c, 0x6f, 0xf2, 0x22,
-  0xaf, 0x6f, 0x50, 0x72, 0xad, 0xae, 0xd3, 0xeb, 0x2c, 0x4c, 0x53, 0x35,
-  0x22, 0xc9, 0x18, 0x4e, 0x52, 0x1a, 0x19, 0xc4, 0xce, 0x84, 0xc5, 0xe1,
-  0xf3, 0x20, 0x30, 0x7e, 0x29, 0xcb, 0x02, 0xb6, 0x21, 0x37, 0xcc, 0x15,
-  0x65, 0x8d, 0x5d, 0xb1, 0xa0, 0x55, 0xb5, 0x82, 0xa8, 0x80, 0x05, 0x88,
-  0x67, 0xb8, 0xb4, 0x00, 0xd7, 0x16, 0x08, 0x10, 0x7b, 0xe4, 0x47, 0xd8,
-  0xa2, 0xc5, 0x3d, 0x1b, 0x19, 0x21, 0xb4, 0x4b, 0x58, 0xa8, 0x59, 0x0a,
-  0x4e, 0x5a, 0xf3, 0x37, 0xf3, 0xb3, 0x1f, 0x8d, 0x46, 0x3a, 0x7c, 0x61,
-  0x7f, 0xbc, 0xfd, 0xb8, 0xe2, 0x42, 0xfb, 0x1d, 0x0d, 0x8d, 0xe0, 0x89,
-  0xe2, 0xce, 0x86, 0xc1, 0xf2, 0x8a, 0xff, 0xb1, 0xc2, 0x09, 0x81, 0xac,
-  0xb1, 0xe4, 0xe4, 0xed, 0x21, 0x41, 0x31, 0x46, 0x92, 0x36, 0xd1, 0x46,
-  0x32, 0xb6, 0xb2, 0x6c, 0x50, 0x69, 0x89, 0x14, 0xd6, 0x28, 0x73, 0x96,
-  0x25, 0xbb, 0x64, 0x50, 0x55, 0x8b, 0xcb, 0x98, 0xb9, 0xc4, 0x67, 0x54,
-  0x53, 0x82, 0x4e, 0x81, 0x91, 0x91, 0xa7, 0x52, 0xc5, 0x9b, 0x4a, 0x82,
-  0x47, 0xf2, 0x71, 0x36, 0x5f, 0x7a, 0xbc, 0xbd, 0x42, 0x6c, 0x0e, 0x7a,
-  0xcc, 0x2f, 0x08, 0xa7, 0x49, 0x54, 0x05, 0xfc, 0x4d, 0x59, 0x03, 0x86,
-  0x1c, 0xc6, 0xa3, 0xab, 0x0a, 0xa1, 0x12, 0xee, 0xad, 0x36, 0x8a, 0x83,
-  0x8b, 0xf8, 0x11, 0xab, 0x71, 0x67, 0xdc, 0xaa, 0xd3, 0x6d, 0x06, 0x4c,
-  0x34, 0x04, 0x65, 0x66, 0x0e, 0x0c, 0xa9, 0x74, 0xe8, 0x4a, 0x5e, 0x71,
-  0x9f, 0xb8, 0x33, 0x70, 0x77, 0x4d, 0x26, 0x39, 0xe9, 0x2e, 0x38, 0xf9,
-  0xe6, 0x97, 0xd7, 0xd7, 0x51, 0xac, 0x89, 0x99, 0x02, 0x5a, 0x78, 0x1a,
-  0xf3, 0x55, 0x96, 0x36, 0xd0, 0x38, 0xe8, 0xa6, 0x5f, 0x8d, 0x27, 0x75,
-  0x1a, 0x7c, 0xe4, 0x19, 0x6f, 0x14, 0x2f, 0x7d, 0xd4, 0x7e, 0x7c, 0x17,
-  0x60, 0x13, 0xf0, 0x1e, 0x20, 0xaa, 0x3c, 0xfc, 0xcc, 0x7a, 0xa1, 0xae,
-  0x52, 0xb3, 0x29, 0xee, 0xfb, 0x5a, 0x78, 0xbd, 0xb1, 0x12, 0x24, 0x9b,
-  0x2f, 0xbb, 0x5b, 0x7c, 0xa6, 0x68, 0x45, 0x06, 0xf5, 0x12, 0x23, 0x3f,
-  0xe3, 0x3f, 0x13, 0x66, 0xb0, 0x26, 0x36, 0x2f, 0x8b, 0x03, 0x4e, 0x94,
-  0x95, 0xde, 0xc1, 0x7b, 0x83, 0x02, 0xa7, 0x1e, 0xd8, 0x57, 0x94, 0x15,
-  0xb5, 0x04, 0x81, 0x57, 0x16, 0x48, 0xba, 0xef, 0x1d, 0x3a, 0x12, 0x2c,
-  0xef, 0x65, 0x88, 0xe5, 0x65, 0x43, 0xc2, 0x48, 0xa2, 0x1d, 0x1c, 0x12,
-  0x06, 0x59, 0x4f, 0x88, 0x21, 0x02, 0x42, 0xa6, 0x4c, 0x2e, 0xde, 0x1c,
-  0x25, 0xfb, 0x4f, 0x3e, 0xff, 0x7c, 0x18, 0x25, 0x10, 0xe4, 0x04, 0x4b,
-  0xb3, 0x09, 0x69, 0xa6, 0x1c, 0xdb, 0x5c, 0xdf, 0xd2, 0x86, 0xa2, 0xd2,
-  0x7b, 0x96, 0x16, 0x4c, 0xdb, 0x3d, 0x27, 0x62, 0x10, 0x12, 0x8e, 0xcb,
-  0x59, 0x68, 0xe4, 0x23, 0x76, 0x35, 0x27, 0xc5, 0x42, 0xa4, 0x18, 0x14,
-  0x2c, 0x92, 0x1a, 0xf3, 0x7c, 0x85, 0x52, 0x97, 0x09, 0x4e, 0xca, 0x56,
-  0xf7, 0x86, 0x0b, 0x80, 0xc1, 0x7b, 0x8c, 0x84, 0x34, 0x7a, 0x03, 0x60,
-  0xbf, 0x1c, 0x7c, 0xe7, 0xe9, 0xd8, 0x8c, 0xa4, 0x53, 0xd2, 0xfc, 0x6c,
-  0x26, 0x1a, 0x3e, 0x1b, 0x67, 0x36, 0x43, 0x9a, 0x0b, 0x77, 0x74, 0x48,
-  0x82, 0x38, 0xe9, 0xb3, 0xa0, 0x4c, 0x19, 0xa2, 0x8a, 0x37, 0x1f, 0xe8,
-  0x34, 0x87, 0x1c, 0xc7, 0xeb, 0xac, 0x09, 0xb3, 0x3b, 0x3c, 0x98, 0xe5,
-  0x9a, 0xc6, 0x63, 0x96, 0x91, 0x24, 0xa7, 0x24, 0x2f, 0x95, 0xc7, 0x5f,
-  0x6b, 0x38, 0x4f, 0xc0, 0x2a, 0xc6, 0xf4, 0xea, 0x5f, 0x61, 0x35, 0x5e,
-  0xca, 0xd4, 0x4b, 0xb2, 0xd6, 0x57, 0x51, 0xe6, 0x20, 0xc1, 0x7a, 0x82,
-  0xc6, 0xa6, 0x69, 0x8c, 0x62, 0xed, 0x64, 0x37, 0x80, 0xb5, 0x60, 0x2c,
-  0x11, 0xe8, 0xa7, 0x16, 0x13, 0xa7, 0x0d, 0x3b, 0x8b, 0x51, 0xfa, 0xbd,
-  0xb4, 0x8d, 0x4a, 0xa1, 0x00, 0xc2, 0x36, 0x53, 0x57, 0x62, 0x33, 0xa1,
-  0x04, 0xc0, 0x24, 0x1f, 0xcc, 0xd3, 0x81, 0xdd, 0x43, 0xef, 0x7a, 0xf3,
-  0x14, 0xa1, 0x98, 0x00, 0xd7, 0xdd, 0x81, 0x0d, 0xa7, 0x52, 0xa5, 0xbe,
-  0xb9, 0xec, 0x18, 0xd5, 0xee, 0x14, 0x92, 0xcf, 0x77, 0xf0, 0xa6, 0xd9,
-  0x9b, 0xd4, 0xd6, 0x66, 0x04, 0xf9, 0xd5, 0xb8, 0x7c, 0x09, 0x6b, 0x4c,
-  0xe1, 0x34, 0x70, 0x4f, 0x2c, 0x47, 0x17, 0x5d, 0x56, 0x55, 0x6a, 0xf6,
-  0xe2, 0x5f, 0x17, 0xd7, 0x8e, 0x0f, 0xfd, 0x26, 0x2c, 0x3c, 0x60, 0xf4,
-  0xb0, 0xb0, 0x88, 0x08, 0x0e, 0xe9, 0xe0, 0x4d, 0x22, 0x1d, 0x79, 0xf5,
-  0x55, 0xab, 0x39, 0xe5, 0xda, 0xf6, 0xa9, 0x64, 0x05, 0x15, 0x3a, 0xb9,
-  0xce, 0x23, 0x29, 0x75, 0x42, 0x05, 0xc0, 0x3b, 0xcb, 0x41, 0x81, 0xfd,
-  0x98, 0x86, 0xee, 0x32, 0x04, 0xef, 0x5d, 0x08, 0x7e, 0x96, 0xc5, 0x2a,
-  0x16, 0xd9, 0xa8, 0xf2, 0x35, 0x59, 0x48, 0x52, 0xc4, 0x96, 0x48, 0x01,
-  0x74, 0x47, 0x91, 0xb7, 0xb6, 0xa9, 0x96, 0x93, 0x86, 0x0b, 0x09, 0xc8,
-  0xd7, 0xa0, 0x33, 0x86, 0x68, 0x2f, 0xde, 0x4d, 0x20, 0x1a, 0xa8, 0xb2,
-  0xeb, 0x25, 0x5d, 0xa0, 0xdc, 0x17, 0xa6, 0xca, 0x19, 0x2f, 0xb1, 0x73,
-  0xa7, 0x16, 0x92, 0x47, 0x5e, 0x08, 0x6b, 0xdd, 0x07, 0x4e, 0x0b, 0xf2,
-  0x04, 0xe4, 0x7f, 0x97, 0x20, 0x95, 0x78, 0xbf, 0x88, 0x0f, 0x90, 0x19,
-  0x97, 0xe0, 0xe3, 0xc9, 0x88, 0x06, 0xfc, 0x35, 0x15, 0xe5, 0x62, 0x35,
-  0x86, 0xce, 0xda, 0x26, 0xa7, 0x3e, 0x76, 0xb7, 0x17, 0x6f, 0x2c, 0xbe,
-  0x8d, 0x49, 0x89, 0xf5, 0x3b, 0xe8, 0xca, 0x9e, 0xeb, 0x13, 0x8b, 0x7c,
-  0x81, 0x2a, 0x08, 0x6a, 0xce, 0x6e, 0x47, 0x2c, 0x98, 0x65, 0x61, 0xa6,
-  0xab, 0x59, 0x52, 0x08, 0xcf, 0x12, 0x5a, 0x18, 0xe1, 0xfd, 0x57, 0xa1,
-  0x4a, 0x95, 0xe1, 0x72, 0xf9, 0xb8, 0xa9, 0xdd, 0x39, 0xc0, 0x80, 0x84,
-  0x62, 0xf0, 0x36, 0x03, 0x49, 0x12, 0xe1, 0x19, 0x1a, 0x15, 0x7f, 0x28,
-  0xdc, 0x02, 0x7f, 0xe0, 0x17, 0x14, 0xe8, 0x9b, 0x64, 0x8e, 0x18, 0x12,
-  0x13, 0x43, 0xaa, 0x44, 0x01, 0x42, 0xb5, 0xc0, 0x93, 0x7e, 0xe5, 0xc2,
-  0x18, 0xd6, 0x9e, 0x87, 0xea, 0x69, 0x84, 0x34, 0x67, 0xba, 0x08, 0x65,
-  0x09, 0x95, 0x96, 0x26, 0x24, 0x7d, 0x4d, 0x36, 0x23, 0x4e, 0x50, 0xe8,
-  0xa1, 0xa9, 0xb2, 0xbf, 0x5a, 0x53, 0x9f, 0x24, 0x7e, 0x70, 0x32, 0xd5,
-  0xe0, 0xe5, 0x20, 0x63, 0xe3, 0xc5, 0x50, 0x99, 0xe0, 0xc3, 0xbf, 0x89,
-  0x78, 0xd5, 0x81, 0x58, 0xb2, 0xe1, 0x8c, 0x2e, 0x66, 0x9f, 0xb5, 0x9a,
-  0x3e, 0xc7, 0x43, 0x24, 0x05, 0xda, 0x25, 0xb2, 0xae, 0x3e, 0x64, 0xbd,
-  0xbb, 0x6c, 0xfc, 0xea, 0x2b, 0x72, 0x93, 0x7c, 0x02, 0xc3, 0x33, 0xab,
-  0x47, 0x24, 0x6c, 0x76, 0x40, 0xf8, 0x9c, 0x78, 0xe7, 0xac, 0xdb, 0x48,
-  0x59, 0xad, 0x6e, 0xd6, 0xcb, 0x21, 0xf0, 0x9a, 0xbc, 0x2a, 0xcb, 0xb5,
-  0x2d, 0xd2, 0xac, 0xb0, 0x1f, 0x00, 0xf3, 0xe2, 0xc1, 0x93, 0x18, 0xb4,
-  0xe3, 0x32, 0xa4, 0x58, 0xe2, 0xd8, 0xb3, 0x2b, 0x72, 0x37, 0x96, 0xb2,
-  0x8a, 0x2a, 0xc1, 0x6c, 0xee, 0x69, 0x4c, 0xed, 0x55, 0x9f, 0x21, 0xfa,
-  0x51, 0x4e, 0x7f, 0x37, 0x06, 0x96, 0x3e, 0x60, 0xc3, 0xa0, 0xbf, 0x7e,
-  0x61, 0x5f, 0xa7, 0xff, 0x18, 0xe1, 0x05, 0xce, 0xd4, 0x35, 0xa3, 0x31,
-  0x87, 0x5f, 0x5f, 0xd9, 0xe1, 0x02, 0xbc, 0x5a, 0xeb, 0x6c, 0xb3, 0xcf,
-  0x0a, 0xdb, 0x17, 0x9b, 0x38, 0xe8, 0x8a, 0x1c, 0x41, 0x2d, 0x0d, 0xec,
-  0x19, 0x2a, 0xaf, 0xd1, 0xdd, 0xf1, 0x84, 0xae, 0xe2, 0x6a, 0x1b, 0xe8,
-  0xfd, 0x8a, 0x8e, 0x93, 0xfa, 0x96, 0x68, 0xdf, 0x7f, 0xea, 0xd9, 0xde,
-  0xff, 0xd4, 0x73, 0xfd, 0xff, 0xa9, 0xe7, 0x46, 0xf0, 0x53, 0xaf, 0x07,
-  0x5a, 0xcf, 0x20, 0x00, 0xfb, 0xcb, 0x17, 0x7d, 0x93, 0x3f, 0xea, 0xbe,
-  0xe9, 0x7d, 0xd2, 0xfb, 0x62, 0x6f, 0x73, 0xdd, 0xa4, 0xb9, 0x54, 0xcd,
-  0xfc, 0xca, 0x23, 0x02, 0xe3, 0x09, 0x24, 0x19, 0x22, 0x93, 0xa4, 0xb3,
-  0xe4, 0x66, 0x05, 0x65, 0x21, 0x02, 0xcf, 0xab, 0xf7, 0x04, 0x4d, 0xb9,
-  0xab, 0x1d, 0xe2, 0xb1, 0x62, 0x5b, 0xb6, 0x31, 0x5d, 0x08, 0xad, 0x3b,
-  0x17, 0x14, 0x23, 0xb4, 0xaf, 0x07, 0x07, 0xfa, 0x7f, 0x98, 0x2f, 0x58,
-  0x14, 0x90, 0xa6, 0x94, 0xa4, 0x82, 0x10, 0x02, 0xf8, 0xb1, 0xe0, 0x00,
-  0x98, 0xa8, 0x9d, 0x84, 0xe2, 0x27, 0xff, 0x88, 0xee, 0x89, 0x00, 0x1b,
-  0x3b, 0xcf, 0x51, 0x33, 0xc6, 0x0c, 0x6b, 0xc6, 0xa6, 0xce, 0x0e, 0x5d,
-  0x82, 0xc0, 0xb2, 0xa1, 0x92, 0x4b, 0x0d, 0x5b, 0x4f, 0xac, 0x20, 0xa9,
-  0xc6, 0xc2, 0x13, 0xb1, 0x6a, 0x67, 0xd0, 0xc6, 0xd8, 0xa4, 0x46, 0xab,
-  0xfa, 0x55, 0xcf, 0x5c, 0x2a, 0x5f, 0x98, 0x3b, 0xac, 0x32, 0xba, 0xd0,
-  0x17, 0xb4, 0xb7, 0x96, 0x66, 0xb5, 0xdc, 0x41, 0xfd, 0x34, 0x98, 0xdf,
-  0x9b, 0xce, 0x6f, 0xfe, 0x92, 0x9d, 0x61, 0x45, 0xda, 0x94, 0xca, 0x2a,
-  0xd5, 0x8d, 0xb9, 0x3d, 0x3a, 0x41, 0x68, 0x39, 0xb5, 0xec, 0x44, 0x96,
-  0x33, 0xa9, 0xcf, 0xbc, 0x8a, 0xb1, 0x1e, 0x05, 0x03, 0x71, 0x87, 0x93,
-  0x75, 0xfe, 0x57, 0x67, 0xdf, 0x7d, 0xa1, 0x0d, 0xfc, 0xd4, 0xfb, 0x71,
-  0xc0, 0x3f, 0x45, 0x2e, 0xde, 0x41, 0x72, 0xf6, 0x1d, 0x6d, 0xee, 0x5f,
-  0x26, 0xc0, 0xd6, 0x7d, 0xe0, 0x2b, 0xfe, 0x0b, 0x76, 0xf6, 0xba, 0x66,
-  0x2f, 0xbd, 0x50, 0xf8, 0x2b, 0x54, 0xed, 0x43, 0xee, 0x00, 0x0c, 0xba,
-  0xc5, 0x82, 0xb2, 0x01, 0x34, 0xfb, 0xac, 0xe1, 0xec, 0x33, 0x24, 0xe4,
-  0x8f, 0x4b, 0x18, 0x9f, 0x4d, 0x48, 0x5d, 0x0a, 0xea, 0xc4, 0xbf, 0xc9,
-  0xfe, 0xa2, 0x2d, 0x65, 0xec, 0x5f, 0xc4, 0x3b, 0x74, 0x7a, 0xb9, 0x1a,
-  0x6f, 0x3a, 0x6d, 0xe7, 0x21, 0x99, 0xf3, 0x70, 0x1c, 0xa1, 0xa9, 0x76,
-  0x3c, 0x17, 0xfc, 0x37, 0xdc, 0x71, 0xa0, 0xf3, 0x20, 0x5d, 0x9d, 0xea,
-  0xdd, 0xa4, 0x55, 0xa6, 0x35, 0x0c, 0xa4, 0xba, 0x12, 0x57, 0xd1, 0xf9,
-  0x22, 0xe6, 0x55, 0x96, 0x60, 0x97, 0x00, 0x4b, 0xaf, 0xca, 0x99, 0x56,
-  0x66, 0x37, 0x3b, 0x9f, 0x57, 0xd8, 0x16, 0x34, 0xba, 0x2b, 0x09, 0x0e,
-  0x3e, 0x15, 0xa7, 0xb7, 0x7c, 0x36, 0xa6, 0x62, 0x4a, 0x74, 0x4a, 0x42,
-  0xf8, 0x5c, 0x6f, 0x4b, 0xe8, 0x63, 0xb0, 0xf5, 0x4d, 0x47, 0xe6, 0xe3,
-  0x0c, 0x6e, 0x0c, 0xcd, 0xae, 0x1a, 0x88, 0x9f, 0x31, 0xe2, 0x0a, 0xe8,
-  0x1e, 0x1b, 0xc4, 0xc6, 0x25, 0xc1, 0x8a, 0x08, 0x45, 0xbe, 0x25, 0xb5,
-  0x97, 0x33, 0x5d, 0x8a, 0xc4, 0x56, 0x1e, 0x80, 0x86, 0x9b, 0xc6, 0x07,
-  0x6b, 0x0b, 0x97, 0xd3, 0x0c, 0x85, 0xa7, 0x2d, 0xf9, 0x83, 0xb8, 0x25,
-  0xbd, 0xfa, 0xe6, 0x18, 0xbd, 0xac, 0xd7, 0x30, 0x78, 0xe1, 0x47, 0x81,
-  0x7d, 0x0c, 0xf6, 0x0e, 0xbc, 0x3a, 0x12, 0xfc, 0xb3, 0x78, 0xf3, 0x3e,
-  0xc7, 0x82, 0xc6, 0x1b, 0x6b, 0x99, 0xfe, 0x35, 0xed, 0xef, 0xdb, 0xf6,
-  0x37, 0x22, 0xb4, 0x06, 0x4c, 0x3c, 0x10, 0xff, 0xec, 0xa5, 0x0f, 0x49,
-  0x12, 0x5f, 0x9c, 0x67, 0x15, 0x27, 0x6c, 0x90, 0xaa, 0x45, 0x5a, 0xf7,
-  0x5b, 0xc4, 0x07, 0xe1, 0xf7, 0x90, 0x5f, 0x30, 0x65, 0xc0, 0x2b, 0x8f,
-  0xc4, 0x4c, 0x64, 0x07, 0x98, 0x21, 0x05, 0x42, 0x79, 0x67, 0x95, 0x73,
-  0xa2, 0xe4, 0x9b, 0x1e, 0xb8, 0xf2, 0x63, 0x30, 0x29, 0xd5, 0x74, 0x66,
-  0xf5, 0xd8, 0xe5, 0xc0, 0x85, 0xa9, 0x4a, 0x2d, 0x26, 0xca, 0xe0, 0x53,
-  0x90, 0xc7, 0xc2, 0x94, 0x09, 0xa5, 0x4f, 0x8e, 0xc3, 0xd6, 0xa6, 0x98,
-  0xe8, 0xf4, 0x31, 0x2a, 0xdc, 0x05, 0xc4, 0x0b, 0xd8, 0x07, 0x28, 0x6d,
-  0x8f, 0x27, 0x60, 0x10, 0xd1, 0x3b, 0x0e, 0x90, 0x18, 0x66, 0x4f, 0x05,
-  0x33, 0x71, 0x80, 0x88, 0x43, 0x6d, 0x11, 0x54, 0x91, 0x6c, 0xb3, 0x6f,
-  0x04, 0xdd, 0x4a, 0xbd, 0x19, 0x96, 0xc6, 0xa4, 0xc2, 0xb1, 0xc5, 0x4e,
-  0xa5, 0xc9, 0xe6, 0xab, 0xed, 0x4d, 0x3b, 0xb4, 0x35, 0x36, 0x60, 0x6b,
-  0xd3, 0x68, 0x38, 0xcb, 0xd6, 0xe3, 0x63, 0x67, 0xde, 0x1c, 0x75, 0x2c,
-  0xb2, 0x01, 0xaf, 0x66, 0x94, 0x4e, 0xa9, 0xd6, 0x5c, 0x77, 0x94, 0x7d,
-  0xc7, 0xe9, 0x64, 0x32, 0x05, 0xde, 0xe4, 0xe9, 0xcc, 0xf4, 0x90, 0xf2,
-  0x9a, 0x6e, 0x95, 0x0a, 0xae, 0x3e, 0x60, 0xc2, 0xc8, 0x98, 0x0d, 0x4b,
-  0x5d, 0xa0, 0xa8, 0x00, 0x38, 0xae, 0xc5, 0x1e, 0xaa, 0xfd, 0x4a, 0x7d,
-  0xab, 0xf5, 0xb3, 0xcd, 0x57, 0x5b, 0x7c, 0x63, 0x39, 0xd7, 0x8c, 0xf7,
-  0xed, 0xcd, 0xe4, 0xa7, 0x78, 0xae, 0x5a, 0xc2, 0xef, 0xba, 0x1e, 0xe9,
-  0x9e, 0x7d, 0xe8, 0x8d, 0xe4, 0xe5, 0xb8, 0x9c, 0xde, 0x7f, 0x89, 0x18,
-  0x86, 0xbc, 0xf2, 0x72, 0x07, 0x3f, 0xea, 0x28, 0xcd, 0xab, 0x1a, 0x42,
-  0x2b, 0x66, 0xa9, 0xf0, 0xe7, 0x57, 0xf4, 0x38, 0x8c, 0xf6, 0xe6, 0x53,
-  0xb3, 0x99, 0x0c, 0x87, 0x46, 0x14, 0xd5, 0x73, 0x94, 0x4c, 0x59, 0x73,
-  0xb5, 0x80, 0xfc, 0x48, 0x36, 0x82, 0x65, 0xa4, 0x90, 0x82, 0x49, 0x6a,
-  0xb4, 0xa8, 0x47, 0x8b, 0x7f, 0x5d, 0xbd, 0xa2, 0x0a, 0x6a, 0x0a, 0xbd,
-  0xd8, 0x88, 0x70, 0x5a, 0x98, 0x87, 0x15, 0x68, 0xe4, 0xa5, 0x73, 0x7e,
-  0x3e, 0xce, 0xc5, 0x6b, 0x3b, 0x2d, 0x5b, 0x44, 0x6c, 0x9c, 0x35, 0x6d,
-  0x2e, 0xf9, 0xb8, 0xf0, 0x9e, 0x94, 0x15, 0x87, 0x1c, 0x20, 0x20, 0xac,
-  0x19, 0x23, 0x9d, 0x1b, 0x1c, 0xcb, 0x17, 0x55, 0x96, 0x1a, 0x39, 0xf1,
-  0x19, 0x7d, 0x29, 0xc6, 0x3f, 0xc2, 0x09, 0x69, 0x6c, 0x4a, 0x99, 0x1e,
-  0x7e, 0x3e, 0xc0, 0x83, 0x5e, 0x05, 0x3f, 0x3d, 0x00, 0x6d, 0x6c, 0x40,
-  0x5f, 0x54, 0xc4, 0x30, 0xe9, 0x3d, 0x2f, 0xb8, 0xaa, 0x06, 0x8d, 0x8f,
-  0x8a, 0x53, 0x3f, 0x7f, 0xca, 0x23, 0xe4, 0x99, 0x12, 0x76, 0xa3, 0x96,
-  0x53, 0x4f, 0xef, 0xa3, 0x2a, 0x8c, 0x2a, 0xd9, 0x31, 0x72, 0xd6, 0x20,
-  0xe9, 0x69, 0x54, 0xac, 0x85, 0xb1, 0x81, 0x74, 0xb1, 0x1a, 0x9d, 0xf2,
-  0x1a, 0x45, 0x78, 0x93, 0xcf, 0x9e, 0x7b, 0xbd, 0x5e, 0x7d, 0x40, 0xd9,
-  0x45, 0xe3, 0x9d, 0x78, 0x1c, 0x42, 0x19, 0xa3, 0x8c, 0xc9, 0x0d, 0x42,
-  0xb7, 0x6e, 0xd0, 0x2f, 0x72, 0xef, 0x30, 0xc5, 0x8f, 0x8c, 0xd1, 0xba,
-  0x19, 0x1e, 0x3a, 0x4f, 0xfe, 0x69, 0xf8, 0x42, 0xb7, 0x4f, 0xf7, 0xc3,
-  0x6b, 0x77, 0xb7, 0x67, 0x2d, 0xe9, 0xfb, 0xdc, 0x09, 0xde, 0xe1, 0x0f,
-  0x6f, 0x70, 0x72, 0x4c, 0x5f, 0x2d, 0x2b, 0x2e, 0x1c, 0xcf, 0x8f, 0xb1,
-  0xbe, 0xa0, 0x29, 0x08, 0xa2, 0xb2, 0xbf, 0x3d, 0x7c, 0xf7, 0xfe, 0xf0,
-  0x74, 0xf8, 0xeb, 0xea, 0x02, 0xad, 0x7d, 0xcd, 0xcb, 0x39, 0xec, 0xd0,
-  0x69, 0x3c, 0x9c, 0x8c, 0x4c, 0x39, 0x1f, 0xb4, 0x7f, 0x08, 0x5e, 0x10,
-  0x67, 0xd3, 0x60, 0xdc, 0xa6, 0x04, 0x57, 0x3d, 0xdc, 0x5f, 0x5a, 0x4b,
-  0x91, 0xac, 0x9e, 0xbe, 0x4f, 0xaf, 0xf7, 0x04, 0xb7, 0x6a, 0x13, 0x3d,
-  0x23, 0xd2, 0xd3, 0x25, 0xa7, 0x5a, 0xe0, 0x8e, 0x56, 0x13, 0x95, 0xab,
-  0xab, 0xe5, 0xbd, 0x28, 0xaf, 0xae, 0x1c, 0x79, 0x45, 0x37, 0x32, 0x74,
-  0x74, 0xb4, 0x3a, 0x63, 0xee, 0xf7, 0xe4, 0xc9, 0xeb, 0xe0, 0x97, 0x31,
-  0x8d, 0x4e, 0x94, 0x0f, 0x9a, 0x92, 0xb3, 0x49, 0x5f, 0x4a, 0xdf, 0xe2,
-  0xb3, 0x6a, 0x3a, 0xe8, 0x07, 0x42, 0x55, 0xa3, 0xa5, 0x1e, 0x51, 0x49,
-  0x34, 0x4c, 0xd6, 0xf9, 0x21, 0x55, 0x8b, 0xd7, 0x5c, 0x4e, 0x09, 0x68,
-  0xf7, 0x03, 0xdb, 0x8b, 0x6b, 0xd6, 0x92, 0x4a, 0xa8, 0xb3, 0xa1, 0x10,
-  0x23, 0x0b, 0x06, 0x44, 0xcc, 0xc0, 0x08, 0x88, 0xcb, 0xe5, 0xdc, 0x1c,
-  0x0a, 0xa3, 0xe0, 0x4e, 0x37, 0x6b, 0x09, 0xe1, 0x75, 0x37, 0x97, 0xd6,
-  0x0a, 0xd7, 0xb5, 0xa6, 0x1d, 0x46, 0x6b, 0x3f, 0x52, 0x49, 0x9d, 0xba,
-  0x90, 0xa7, 0x47, 0x6e, 0xd8, 0x8f, 0xbb, 0x7a, 0x7a, 0xa3, 0x93, 0xcb,
-  0x63, 0x33, 0x7d, 0xef, 0x2f, 0xbf, 0xed, 0x49, 0x88, 0xb4, 0x9b, 0xc6,
-  0x0e, 0xfa, 0x04, 0xaa, 0xba, 0x77, 0x6b, 0x93, 0xdd, 0x2a, 0xf6, 0x9a,
-  0x18, 0xfb, 0x20, 0x26, 0xb3, 0xdd, 0x47, 0x87, 0x6b, 0x56, 0xe9, 0xd9,
-  0xf0, 0x59, 0x77, 0x95, 0x56, 0x13, 0x95, 0x32, 0x75, 0x65, 0xb0, 0xdd,
-  0x85, 0x0f, 0x93, 0x70, 0x37, 0x3b, 0x8e, 0xca, 0x1e, 0xc1, 0x19, 0x10,
-  0x55, 0xa4, 0x9c, 0xc9, 0x1a, 0xdc, 0x05, 0x4a, 0xcc, 0xe5, 0xc5, 0x53,
-  0xc1, 0xda, 0x69, 0x99, 0x3b, 0xc4, 0x89, 0xcd, 0x61, 0x34, 0xb3, 0x62,
-  0x69, 0x35, 0xb5, 0x59, 0x5d, 0xa1, 0x32, 0xa8, 0x48, 0x31, 0x2a, 0x90,
-  0x61, 0xb6, 0x80, 0xf2, 0xe3, 0xb7, 0x92, 0xed, 0x5c, 0xf1, 0x61, 0x75,
-  0x15, 0xbb, 0xac, 0xbd, 0x38, 0x8d, 0x2a, 0xfc, 0x8f, 0xe0, 0xcd, 0xb7,
-  0x7c, 0xa0, 0x6b, 0xb1, 0x73, 0x71, 0xe6, 0x4f, 0x9a, 0x57, 0x41, 0x1a,
-  0xbc, 0xe4, 0x3f, 0xe3, 0xfb, 0x1d, 0x97, 0x6b, 0x55, 0xce, 0xd8, 0x63,
-  0x28, 0x6f, 0x30, 0x04, 0x90, 0x71, 0xf6, 0xe0, 0x61, 0x81, 0x03, 0x1c,
-  0xa1, 0x33, 0x98, 0x23, 0xa8, 0x26, 0x1b, 0x16, 0x41, 0xd9, 0x1a, 0x6d,
-  0xcb, 0x14, 0x32, 0x6a, 0x56, 0x5a, 0x8b, 0x24, 0x50, 0x78, 0x3c, 0x65,
-  0xa2, 0x4d, 0xc6, 0x88, 0x32, 0xbc, 0xd3, 0x1b, 0x1a, 0x48, 0x10, 0xc6,
-  0x93, 0xbb, 0x69, 0x5c, 0xdb, 0x62, 0x5f, 0x05, 0xe0, 0x47, 0x80, 0x76,
-  0x73, 0xba, 0xc6, 0xd1, 0x0f, 0xaf, 0xbd, 0xd2, 0x07, 0x8a, 0x70, 0xe2,
-  0xfd, 0x22, 0xda, 0xe7, 0x2a, 0x62, 0xa5, 0xcc, 0xc1, 0xf4, 0x86, 0x08,
-  0xc6, 0x4d, 0xb3, 0x6c, 0x61, 0x49, 0x6d, 0x51, 0x9a, 0x92, 0x96, 0x9d,
-  0x82, 0x6f, 0x42, 0x28, 0x8c, 0xe2, 0x3e, 0x2b, 0x7a, 0x27, 0xa2, 0xc3,
-  0x46, 0x01, 0xe8, 0xff, 0xa8, 0x96, 0x0b, 0x85, 0xff, 0xf6, 0x3e, 0x7b,
-  0xf2, 0xb9, 0xb9, 0x7f, 0xef, 0xc1, 0x32, 0xeb, 0xa6, 0x8c, 0x59, 0x20,
-  0x57, 0x53, 0x66, 0x89, 0x09, 0xa3, 0xe0, 0x50, 0xc9, 0x86, 0x4e, 0x6a,
-  0xb2, 0x19, 0xe0, 0x8f, 0x92, 0xdc, 0xc4, 0x90, 0x4c, 0xc2, 0x4c, 0xa2,
-  0x4c, 0x98, 0xc0, 0xb5, 0x30, 0x4f, 0x0c, 0x2d, 0x1a, 0x7a, 0x1b, 0xd8,
-  0xa8, 0x70, 0xa8, 0x6b, 0x63, 0x44, 0xca, 0xc5, 0xf1, 0xe5, 0x85, 0xf9,
-  0x63, 0x74, 0x79, 0x76, 0xb1, 0x82, 0xe7, 0xac, 0xe1, 0x2c, 0x7b, 0x9a,
-  0x34, 0x85, 0x39, 0x60, 0x9a, 0xdb, 0x04, 0x48, 0xc0, 0xd1, 0xb2, 0xd8,
-  0xa9, 0xa3, 0x9c, 0x39, 0x1e, 0x75, 0x4e, 0x3d, 0x6c, 0x0d, 0xf4, 0xca,
-  0xdc, 0x0f, 0x6b, 0x07, 0xc6, 0x6b, 0xbe, 0x7e, 0x87, 0x60, 0xc0, 0xb4,
-  0x19, 0x69, 0xc4, 0x56, 0xd0, 0xa3, 0xb7, 0xc6, 0x3c, 0xa3, 0x38, 0x9a,
-  0x23, 0x30, 0xd6, 0x7a, 0xa1, 0x2b, 0xf8, 0xed, 0x18, 0xd4, 0x59, 0x73,
-  0x9a, 0xba, 0xf8, 0xa9, 0xc8, 0x03, 0xd0, 0xd3, 0x4c, 0xde, 0x5e, 0xb2,
-  0x05, 0x7f, 0xb1, 0xe8, 0x1e, 0x0f, 0xec, 0x5f, 0xa3, 0xef, 0x6c, 0xbb,
-  0x01, 0xd7, 0xe5, 0x3c, 0x63, 0x97, 0x3e, 0x9c, 0x3e, 0x56, 0x38, 0xd5,
-  0x52, 0x89, 0x26, 0xe7, 0x94, 0xea, 0x30, 0x9d, 0xdd, 0xb2, 0xf1, 0xd0,
-  0x2a, 0x6f, 0xda, 0x84, 0x60, 0xad, 0x85, 0xcd, 0xeb, 0x92, 0x19, 0x9b,
-  0xb4, 0x01, 0xcd, 0xd1, 0xa6, 0xf6, 0xca, 0xa3, 0xe9, 0x69, 0x0b, 0xef,
-  0xbd, 0xae, 0x90, 0xa1, 0x9c, 0xea, 0xb8, 0x64, 0x21, 0x84, 0x83, 0xcd,
-  0x8d, 0x05, 0x40, 0x47, 0xb1, 0x19, 0xd0, 0x25, 0xfc, 0x8a, 0x6e, 0xe7,
-  0xf2, 0x14, 0xaf, 0x6d, 0x20, 0x0a, 0x20, 0x06, 0x66, 0x6e, 0x6f, 0xcb,
-  0x92, 0x73, 0x82, 0xf3, 0xb2, 0x2b, 0x74, 0x5b, 0x3a, 0x5b, 0x28, 0x66,
-  0x55, 0x35, 0xf3, 0x4b, 0x5c, 0x75, 0x93, 0xc9, 0x17, 0x8f, 0xaf, 0x24,
-  0x22, 0x9f, 0xe9, 0x68, 0x30, 0xb0, 0x3a, 0x9c, 0x4b, 0x01, 0x45, 0x4b,
-  0xa3, 0x14, 0x18, 0xc9, 0xfb, 0x42, 0x88, 0x1f, 0x0a, 0x63, 0x41, 0x20,
-  0x6e, 0x3e, 0xb5, 0x93, 0x46, 0x8c, 0x28, 0x04, 0xf7, 0xe1, 0x4b, 0x6b,
-  0x5a, 0x42, 0x65, 0x67, 0x86, 0xd4, 0x90, 0x3f, 0x0b, 0x3e, 0x63, 0x44,
-  0xa1, 0xf5, 0xa6, 0x91, 0xf6, 0x9c, 0x45, 0x35, 0x69, 0xba, 0x23, 0x45,
-  0x92, 0x76, 0x30, 0xd0, 0x73, 0x7f, 0xd1, 0x58, 0xa4, 0xc1, 0xc4, 0x71,
-  0xb2, 0xa0, 0xe1, 0x5c, 0x69, 0x4e, 0x88, 0x56, 0x2f, 0x80, 0x64, 0xa5,
-  0x17, 0xd1, 0x5c, 0x1b, 0xce, 0x48, 0xd7, 0xfa, 0xc4, 0xad, 0x4c, 0x6f,
-  0x55, 0x03, 0x87, 0x6b, 0x78, 0x82, 0xfc, 0xc4, 0xf0, 0xd6, 0x96, 0xdc,
-  0x6b, 0x69, 0x7d, 0xed, 0xd1, 0xad, 0x4c, 0x3a, 0xc4, 0x06, 0xbd, 0xa0,
-  0x25, 0x53, 0x72, 0x37, 0xdd, 0x5b, 0x5c, 0x1d, 0xde, 0x1c, 0xf8, 0x1d,
-  0xca, 0x71, 0x20, 0xfa, 0x2b, 0x63, 0x3c, 0x96, 0x33, 0x14, 0x76, 0x50,
-  0xd5, 0x2d, 0x56, 0x21, 0x13, 0x2a, 0x18, 0x53, 0x68, 0x98, 0xc6, 0xdb,
-  0x15, 0x0f, 0xbd, 0xd2, 0x41, 0x74, 0x9b, 0x7a, 0x59, 0xdf, 0xc3, 0x18,
-  0x92, 0x9a, 0x91, 0x04, 0x40, 0xca, 0xb5, 0xd5, 0x31, 0x2d, 0x14, 0xa7,
-  0xb4, 0xf2, 0x58, 0x57, 0xa8, 0x7c, 0x40, 0x6f, 0xaf, 0x48, 0xce, 0x52,
-  0x4a, 0x7f, 0xb0, 0xbb, 0x98, 0x59, 0xe9, 0x33, 0xaa, 0xa0, 0x7d, 0x32,
-  0x61, 0x39, 0xb4, 0xbf, 0x56, 0x67, 0xcd, 0x72, 0x11, 0xde, 0xf3, 0x2e,
-  0xf1, 0xcd, 0xb6, 0xc8, 0xd5, 0x9d, 0x1b, 0xbf, 0x8b, 0x4d, 0x69, 0xee,
-  0x36, 0x3b, 0xfd, 0x3e, 0x2f, 0x73, 0x60, 0x9e, 0x93, 0x26, 0x10, 0xdc,
-  0xee, 0xab, 0x92, 0x90, 0xf5, 0xd7, 0x43, 0x92, 0xac, 0x46, 0xbd, 0xd8,
-  0xed, 0x49, 0x9e, 0xa3, 0x24, 0xfd, 0x30, 0x74, 0xc0, 0xbe, 0x6d, 0xe6,
-  0xc5, 0xeb, 0x6f, 0x78, 0x66, 0x34, 0x9b, 0x41, 0xb2, 0xd0, 0x68, 0x75,
-  0xb6, 0xa8, 0x38, 0x30, 0xce, 0xef, 0xf6, 0xc6, 0xca, 0xa1, 0xaf, 0xee,
-  0x55, 0x6f, 0xef, 0xc5, 0xfe, 0x70, 0xef, 0xf9, 0xe7, 0xc3, 0x3d, 0x94,
-  0x15, 0xf4, 0x2a, 0x91, 0x33, 0xad, 0x2f, 0x55, 0xbe, 0xf3, 0xda, 0x89,
-  0xd4, 0x57, 0x4c, 0x56, 0x73, 0x63, 0xe2, 0x03, 0xf3, 0xfb, 0x21, 0x3d,
-  0x36, 0xe4, 0x6a, 0x0a, 0xc1, 0x27, 0xe6, 0x46, 0xa3, 0xa1, 0xa8, 0x7e,
-  0xe8, 0x9c, 0x54, 0x2c, 0x0a, 0xef, 0xc4, 0x45, 0x4e, 0x9b, 0x48, 0xe9,
-  0xea, 0xbc, 0x59, 0xe2, 0xb0, 0x19, 0xa8, 0xab, 0x98, 0xd8, 0x1e, 0x67,
-  0x33, 0xde, 0x21, 0x15, 0xe8, 0x13, 0x51, 0x22, 0x9d, 0x4c, 0xb7, 0xdf,
-  0x0f, 0x84, 0xe6, 0x2f, 0xb6, 0xf9, 0x88, 0x7f, 0xc1, 0x1e, 0xb9, 0x2e,
-  0xc7, 0x0e, 0xf8, 0x59, 0xba, 0x14, 0x1f, 0xc2, 0xd8, 0xc0, 0x0f, 0xb6,
-  0x72, 0x2f, 0x10, 0xff, 0xf6, 0xae, 0x18, 0x30, 0x97, 0xb8, 0x2c, 0x0e,
-  0x95, 0x9c, 0xb6, 0xe5, 0xb1, 0xf2, 0x61, 0x74, 0xb8, 0x58, 0x2c, 0x47,
-  0x0a, 0x8b, 0x68, 0x6d, 0x8e, 0xde, 0xf9, 0xd3, 0x9f, 0x9c, 0x3c, 0xe2,
-  0x2a, 0xb7, 0xe0, 0x70, 0x7f, 0x06, 0xce, 0x43, 0x8e, 0x6d, 0x31, 0xc3,
-  0x76, 0xd2, 0x3b, 0xf8, 0x0b, 0xbc, 0xc0, 0x3f, 0x0f, 0xfe, 0x62, 0xfe,
-  0xfd, 0x73, 0xcf, 0x23, 0xbd, 0x64, 0x5e, 0x1d, 0x05, 0xc8, 0x6c, 0xb4,
-  0x8f, 0x72, 0x3f, 0x69, 0x97, 0x09, 0x84, 0x66, 0x70, 0x79, 0x74, 0xce,
-  0x87, 0xb1, 0xe2, 0x18, 0x37, 0x76, 0x33, 0xc9, 0x21, 0xa8, 0xf5, 0x24,
-  0xc2, 0xc1, 0xa5, 0xbe, 0xf0, 0x40, 0x10, 0xb4, 0x65, 0x52, 0xef, 0xa5,
-  0xbe, 0xa2, 0x35, 0x48, 0x67, 0xac, 0x18, 0x4f, 0x62, 0x54, 0xdc, 0x6b,
-  0x72, 0xa3, 0x48, 0x02, 0x2d, 0xb9, 0x01, 0xad, 0x3a, 0x2d, 0x3f, 0xd3,
-  0xe6, 0x88, 0xa5, 0xa7, 0x06, 0xaf, 0xc6, 0x9d, 0xe9, 0x5a, 0x5f, 0x08,
-  0x25, 0x19, 0x5c, 0xdf, 0x08, 0x27, 0x9a, 0x99, 0x0f, 0x33, 0x63, 0x2a,
-  0x74, 0xab, 0xbc, 0xfe, 0x48, 0x63, 0x94, 0x4c, 0x11, 0x06, 0x5b, 0x6c,
-  0x78, 0x3a, 0x37, 0xfa, 0x46, 0x21, 0x2f, 0x21, 0x9e, 0xb0, 0xd9, 0x5f,
-  0xde, 0x14, 0xbb, 0x4b, 0x42, 0xd7, 0x5f, 0xb3, 0xab, 0xa3, 0xe4, 0x39,
-  0xf2, 0x58, 0x95, 0x3d, 0x82, 0xd3, 0x89, 0xd1, 0x4e, 0xc9, 0xb9, 0x51,
-  0x77, 0xed, 0x1e, 0xf1, 0x08, 0x56, 0xcc, 0x3b, 0xd8, 0x35, 0x74, 0x09,
-  0x6e, 0x77, 0x2f, 0x2f, 0x2a, 0x51, 0x40, 0xce, 0x61, 0x26, 0x79, 0xb1,
-  0x2c, 0x45, 0xe4, 0x8e, 0x23, 0xdd, 0x60, 0x5a, 0x99, 0x6e, 0x80, 0xf7,
-  0x15, 0xe9, 0xc1, 0x7c, 0x44, 0x28, 0xbc, 0xab, 0xaa, 0xdd, 0x46, 0xd4,
-  0x64, 0xc0, 0x89, 0x73, 0x3a, 0xe9, 0x8c, 0xfd, 0xe8, 0xb5, 0x4e, 0x3a,
-  0xfd, 0x69, 0x84, 0xb6, 0x96, 0xd5, 0xb9, 0x2b, 0x50, 0xb3, 0x32, 0x52,
-  0x32, 0x0a, 0xdd, 0x9f, 0xc7, 0x48, 0x2f, 0xbd, 0xbb, 0x75, 0x7f, 0x37,
-  0xf4, 0xa8, 0x50, 0x25, 0x4e, 0x4c, 0xf2, 0x20, 0x5f, 0x3c, 0x3c, 0x81,
-  0x4a, 0xd6, 0x43, 0x6b, 0xd9, 0x12, 0x31, 0xf6, 0xa2, 0xa9, 0x97, 0xd7,
-  0xd7, 0x48, 0xcb, 0x0f, 0xba, 0xc8, 0x69, 0x6f, 0x82, 0x3b, 0x17, 0x92,
-  0x70, 0x23, 0xcf, 0xd1, 0x73, 0x9d, 0x0d, 0x97, 0x5b, 0x27, 0x92, 0x87,
-  0xdb, 0x8e, 0x01, 0x91, 0x7c, 0x75, 0x33, 0x39, 0xd1, 0x73, 0xee, 0xa7,
-  0x0b, 0x55, 0xd9, 0x40, 0xc5, 0x43, 0x20, 0x14, 0x03, 0x60, 0xa8, 0x0a,
-  0x47, 0x38, 0x1d, 0x56, 0x8b, 0xc1, 0xb5, 0x4e, 0x42, 0x72, 0xb5, 0x51,
-  0x89, 0x04, 0xe6, 0x04, 0xc9, 0xaf, 0x84, 0x8c, 0x8b, 0xd9, 0x94, 0x2a,
-  0xcb, 0x4e, 0xc3, 0x0a, 0xa6, 0x88, 0xa6, 0xee, 0xf5, 0x79, 0x85, 0x09,
-  0x59, 0xe7, 0x20, 0x70, 0x52, 0xd1, 0x57, 0x9b, 0x9e, 0x0e, 0xf7, 0x83,
-  0xa5, 0xad, 0x67, 0x83, 0xc9, 0x64, 0x32, 0x80, 0x42, 0xf0, 0x92, 0xb5,
-  0x94, 0x1d, 0xd1, 0x12, 0x56, 0x38, 0x0f, 0x46, 0x99, 0xcc, 0xf8, 0xd1,
-  0xd1, 0x91, 0x28, 0x34, 0x97, 0x37, 0x1d, 0xd5, 0xc2, 0x12, 0xc7, 0x88,
-  0x6a, 0x15, 0x03, 0xf1, 0xd5, 0x37, 0xcb, 0x66, 0x8a, 0x02, 0x95, 0x24,
-  0x34, 0x54, 0x0a, 0xdb, 0x54, 0xcb, 0x0e, 0xbf, 0x1f, 0x95, 0x0b, 0xee,
-  0x3b, 0x70, 0x57, 0x08, 0x89, 0xab, 0xb2, 0x05, 0xd7, 0x15, 0xc0, 0x8b,
-  0xd2, 0x76, 0xb7, 0x02, 0x1e, 0x77, 0xd5, 0xa7, 0xe0, 0xd1, 0x0e, 0xc6,
-  0x10, 0x8b, 0xb6, 0x15, 0x7c, 0x36, 0xcd, 0x05, 0x55, 0x99, 0xca, 0xb7,
-  0xba, 0x6d, 0x3f, 0xb0, 0x1e, 0x32, 0xd5, 0xed, 0x25, 0x79, 0xbe, 0x72,
-  0x49, 0xa2, 0x93, 0x4f, 0xe6, 0x15, 0x4d, 0xfb, 0xd6, 0x11, 0xb8, 0x01,
-  0x8f, 0xe4, 0x48, 0x1c, 0xdd, 0x10, 0x6e, 0x6b, 0x46, 0x8b, 0x63, 0xba,
-  0x5c, 0xb3, 0x18, 0x90, 0x5b, 0x65, 0x34, 0x3a, 0xdd, 0xb9, 0x3c, 0x1d,
-  0x05, 0x90, 0xe9, 0x7b, 0xf2, 0x1d, 0xc3, 0x47, 0xdc, 0xf6, 0x7d, 0xf2,
-  0x14, 0x81, 0x70, 0xb5, 0xbc, 0x6a, 0xef, 0x70, 0xfe, 0x4a, 0x94, 0x73,
-  0x61, 0x59, 0x68, 0x2e, 0x85, 0xbd, 0xc6, 0x8b, 0xac, 0x40, 0x2e, 0x32,
-  0xdd, 0xe6, 0x38, 0x01, 0x40, 0x15, 0xd6, 0xc9, 0xbb, 0xc3, 0x4b, 0xca,
-  0x8f, 0x68, 0x04, 0xde, 0x41, 0xbe, 0xa0, 0x00, 0xd0, 0x2d, 0xfc, 0x8e,
-  0x96, 0x11, 0x2f, 0x9d, 0xb8, 0x1a, 0x03, 0xaa, 0xb5, 0xf3, 0xf2, 0xd5,
-  0xba, 0xf1, 0xd6, 0x4d, 0xbf, 0x99, 0x52, 0xb9, 0x1f, 0xba, 0x7b, 0xbe,
-  0xbb, 0x1a, 0x7b, 0xd1, 0xd5, 0xe0, 0x09, 0x88, 0x1f, 0x87, 0x0b, 0x11,
-  0xe6, 0x3a, 0xd1, 0x1a, 0x54, 0x93, 0xee, 0xcf, 0xca, 0xeb, 0x9c, 0x5c,
-  0x82, 0x58, 0x2f, 0xec, 0x6b, 0xad, 0xcd, 0xdb, 0x95, 0xc1, 0x3c, 0x3b,
-  0x35, 0xe7, 0x72, 0xb4, 0x13, 0x73, 0xf8, 0x88, 0xd0, 0x4d, 0x61, 0xe7,
-  0x54, 0x63, 0xce, 0x36, 0x8b, 0x2e, 0x4c, 0x52, 0x03, 0x07, 0x56, 0x3e,
-  0x31, 0xb6, 0xc2, 0x84, 0xf2, 0x1e, 0x90, 0x51, 0x56, 0x2b, 0xd9, 0x1d,
-  0x87, 0xbd, 0xf2, 0x16, 0xbd, 0x96, 0xba, 0x4a, 0xeb, 0xe5, 0x22, 0x9a,
-  0x45, 0x22, 0x23, 0x5c, 0xeb, 0x90, 0x7f, 0xde, 0xba, 0x3e, 0xbe, 0x21,
-  0xd3, 0xec, 0x3a, 0xb8, 0x76, 0x2d, 0x99, 0x41, 0x84, 0xc1, 0x0b, 0xda,
-  0x2a, 0xb2, 0xc4, 0x25, 0xa8, 0xee, 0xd3, 0x24, 0x93, 0xa9, 0x35, 0x98,
-  0xf6, 0xa3, 0x1c, 0xd7, 0xfd, 0x6e, 0x45, 0x1b, 0x66, 0x17, 0x6b, 0x53,
-  0xcb, 0xb6, 0xa8, 0x49, 0x14, 0xc8, 0xdc, 0x69, 0xee, 0x9b, 0x63, 0x47,
-  0x49, 0xde, 0xe1, 0x2f, 0x69, 0xd1, 0x95, 0x33, 0x0c, 0x87, 0x02, 0x4e,
-  0x77, 0x54, 0x8c, 0xef, 0x6e, 0x85, 0xb5, 0xc3, 0xfa, 0xec, 0xa5, 0x63,
-  0x38, 0xe6, 0xf3, 0xa1, 0x34, 0xf0, 0x2a, 0xb2, 0xde, 0x5f, 0x9c, 0xda,
-  0xb0, 0xfc, 0xbf, 0x6f, 0xba, 0xa2, 0x1b, 0xc3, 0x88, 0x43, 0x42, 0x6f,
-  0x87, 0x68, 0x19, 0x48, 0x8a, 0x36, 0x49, 0xb8, 0xa9, 0xef, 0x3a, 0x6d,
-  0xbf, 0x1d, 0xe7, 0xeb, 0x7d, 0xa0, 0x47, 0xdf, 0x1e, 0x1f, 0xbe, 0xb6,
-  0xf9, 0xe8, 0xff, 0x0c, 0x96, 0x50, 0xe7, 0xe0, 0x1c, 0x67, 0xcc, 0xad,
-  0xbe, 0x54, 0x9f, 0x09, 0xd6, 0x47, 0xb7, 0x2a, 0x76, 0x8b, 0x51, 0xd9,
-  0xea, 0x8c, 0xcf, 0xc8, 0x4a, 0x8a, 0xf1, 0x95, 0x4e, 0x12, 0x1f, 0x75,
-  0x20, 0xce, 0x6b, 0x52, 0x9a, 0x39, 0x3d, 0xc7, 0xdb, 0xca, 0xd7, 0xd8,
-  0xca, 0xb3, 0x72, 0x5c, 0x5e, 0x5d, 0xad, 0xb9, 0xdf, 0x99, 0xe8, 0x0d,
-  0x69, 0x34, 0xbc, 0x65, 0x7a, 0x34, 0x8d, 0xf4, 0xde, 0x98, 0x7a, 0x6f,
-  0x16, 0xd5, 0x1c, 0xb6, 0x9e, 0xc0, 0xb0, 0xa4, 0x3e, 0x72, 0x70, 0xf5,
-  0xf8, 0xd9, 0xcd, 0x6a, 0x40, 0xa8, 0xbd, 0x87, 0x04, 0x6f, 0xf6, 0xcc,
-  0x28, 0x40, 0xc8, 0xd2, 0x65, 0xd7, 0xc9, 0x7f, 0xfe, 0xd7, 0x5f, 0x7e,
-  0x8e, 0x70, 0x86, 0x93, 0xef, 0xef, 0x86, 0x93, 0xd3, 0xcc, 0xd3, 0x73,
-  0xa1, 0xff, 0xb0, 0xcc, 0xce, 0xae, 0x4c, 0x39, 0x69, 0x60, 0xd9, 0xec,
-  0x6a, 0xe8, 0x11, 0x37, 0x84, 0x17, 0x23, 0x29, 0x4c, 0xfa, 0x41, 0x94,
-  0x2c, 0xa2, 0x7c, 0x62, 0xce, 0x01, 0x25, 0x16, 0x5e, 0xd4, 0xde, 0x70,
-  0x89, 0x08, 0x96, 0xa3, 0x93, 0x57, 0x22, 0x80, 0x4f, 0xbb, 0xfa, 0x18,
-  0x7e, 0xfc, 0x9c, 0x37, 0xe0, 0x89, 0xf5, 0x7a, 0x7a, 0x2b, 0x61, 0xa3,
-  0xa9, 0xd1, 0xac, 0x22, 0x12, 0xba, 0x6f, 0x4e, 0x4e, 0x8f, 0xb7, 0x93,
-  0x37, 0x19, 0x28, 0xf7, 0x3c, 0x52, 0x18, 0xda, 0x82, 0xff, 0x82, 0x23,
-  0x6f, 0xa9, 0x7a, 0x24, 0xed, 0x29, 0x5a, 0xda, 0x51, 0x0c, 0x44, 0x6c,
-  0x7e, 0x76, 0x32, 0x60, 0x69, 0x38, 0x7b, 0xb9, 0x44, 0xca, 0x85, 0xe2,
-  0x1b, 0xd4, 0xf5, 0x2e, 0x88, 0x2a, 0x82, 0x17, 0x07, 0x71, 0x28, 0x4e,
-  0x5e, 0x1d, 0x7a, 0x54, 0x2e, 0xa5, 0x1f, 0xdd, 0xa2, 0x4e, 0x2b, 0xfc,
-  0x4e, 0x42, 0x19, 0x5c, 0x45, 0xb9, 0x4e, 0xa2, 0xa9, 0xeb, 0x94, 0xba,
-  0x4b, 0xc8, 0x74, 0x00, 0xf2, 0xc8, 0x88, 0xe6, 0x12, 0x96, 0x72, 0x0d,
-  0x83, 0xd9, 0x82, 0xc6, 0xeb, 0x4d, 0xdc, 0xb7, 0x3a, 0x71, 0x14, 0x11,
-  0xe5, 0x3f, 0x77, 0xbe, 0x8a, 0xb2, 0xaa, 0x28, 0x49, 0x32, 0x0a, 0x79,
-  0xc9, 0x1b, 0x66, 0xc4, 0x5a, 0xda, 0x51, 0x36, 0x9d, 0x0a, 0x42, 0x68,
-  0xe4, 0x8a, 0xec, 0x8a, 0x08, 0x54, 0x2e, 0xf8, 0x2d, 0x0a, 0xd8, 0x9f,
-  0x85, 0x8d, 0x5f, 0xf7, 0x33, 0x65, 0xb5, 0xb1, 0x4d, 0x49, 0xb3, 0xc6,
-  0xa5, 0xc3, 0x2c, 0xde, 0x2d, 0x89, 0x15, 0xbe, 0x50, 0x8c, 0x2f, 0x4e,
-  0x0f, 0x9f, 0x6e, 0x42, 0x8e, 0xa6, 0x6d, 0xec, 0x28, 0x3f, 0x76, 0x23,
-  0x39, 0x19, 0xd0, 0xed, 0x99, 0xf0, 0xb8, 0x8e, 0x7a, 0xa3, 0xf0, 0x94,
-  0xf5, 0x3a, 0xa3, 0x76, 0x16, 0xdb, 0xd9, 0x2c, 0xd5, 0x97, 0x24, 0x60,
-  0xe8, 0x8b, 0x15, 0x23, 0xd0, 0x2a, 0x66, 0x91, 0x8a, 0x9c, 0x5e, 0xf9,
-  0xba, 0xef, 0xcd, 0xe8, 0xde, 0x22, 0xfe, 0x67, 0xda, 0xba, 0x51, 0x28,
-  0xbe, 0xcc, 0xdc, 0x41, 0xc6, 0xa1, 0xbc, 0x69, 0x53, 0xe5, 0x93, 0x8f,
-  0x39, 0xd2, 0x0b, 0x96, 0x10, 0x2f, 0x69, 0xa1, 0xd6, 0x0c, 0x77, 0xd3,
-  0x32, 0x88, 0x9a, 0xed, 0x36, 0x04, 0xb0, 0x36, 0x2e, 0x0d, 0x39, 0x81,
-  0x82, 0xd4, 0x58, 0x62, 0x26, 0xd3, 0xfe, 0xcc, 0x00, 0x78, 0xb7, 0xa7,
-  0x45, 0x05, 0x07, 0x65, 0x3d, 0x40, 0x76, 0x45, 0xd8, 0x12, 0x33, 0x54,
-  0x81, 0x83, 0x19, 0x7a, 0x27, 0xdc, 0x29, 0x54, 0xbc, 0x18, 0xa2, 0x7a,
-  0x68, 0x74, 0xa3, 0x39, 0x61, 0x53, 0x01, 0xf7, 0x92, 0x21, 0xcb, 0xf4,
-  0x18, 0x71, 0x73, 0x9d, 0xdf, 0xc6, 0x02, 0x80, 0xe4, 0x7f, 0x90, 0x8e,
-  0xcd, 0x25, 0x97, 0x57, 0xea, 0x82, 0x29, 0xfc, 0xcd, 0x46, 0x5b, 0xd8,
-  0x61, 0x42, 0x04, 0x47, 0x32, 0xb3, 0xc1, 0x09, 0x9e, 0x91, 0x04, 0x25,
-  0xa6, 0x92, 0xe2, 0xc0, 0x6c, 0xff, 0xa4, 0xf7, 0x6d, 0x59, 0x37, 0x07,
-  0x3d, 0xcb, 0xd5, 0x09, 0x5b, 0x1f, 0x2a, 0x6e, 0x6b, 0xe7, 0x48, 0x1d,
-  0xbb, 0x41, 0xb4, 0xba, 0x84, 0xdc, 0x24, 0x46, 0xb0, 0xc9, 0xd3, 0x0a,
-  0xfd, 0x0e, 0xe1, 0x75, 0x16, 0x8a, 0xdd, 0xa7, 0xbc, 0xed, 0x9b, 0x90,
-  0x8b, 0x94, 0xba, 0xf4, 0xe3, 0xe0, 0x08, 0x1f, 0x1f, 0x7c, 0x8b, 0xe6,
-  0xbe, 0xe8, 0x59, 0x27, 0x44, 0xf7, 0x57, 0x07, 0x61, 0x05, 0x6d, 0xe7,
-  0x9c, 0xe7, 0x8b, 0x70, 0xa9, 0xe8, 0x60, 0xc4, 0x38, 0xa5, 0x83, 0x52,
-  0x1b, 0x78, 0x3a, 0xdd, 0xd1, 0x05, 0xe7, 0x22, 0xe2, 0x61, 0x39, 0x25,
-  0x1b, 0x0d, 0x5b, 0x54, 0x14, 0xdb, 0x32, 0x92, 0x79, 0x3a, 0x28, 0xaf,
-  0x06, 0x40, 0xea, 0xcd, 0xd3, 0xea, 0x23, 0xc5, 0xc9, 0xbd, 0x53, 0x87,
-  0x9c, 0x67, 0x30, 0x52, 0x4e, 0xa7, 0xb1, 0xab, 0x02, 0x39, 0x3e, 0x88,
-  0xb1, 0xca, 0xc6, 0x57, 0xc8, 0x2f, 0x2f, 0xe4, 0x81, 0x78, 0x8a, 0xf0,
-  0xba, 0xad, 0x64, 0x40, 0x74, 0x23, 0x6b, 0x0b, 0x1f, 0xf4, 0xf9, 0x36,
-  0xc1, 0xa8, 0xa1, 0x53, 0xcc, 0xd9, 0xbd, 0x00, 0x9f, 0xc8, 0x72, 0x01,
-  0xcd, 0x97, 0xb8, 0xc1, 0x02, 0x7b, 0x40, 0xe1, 0xca, 0x50, 0x9c, 0x3e,
-  0x1b, 0x3e, 0x7b, 0x36, 0xdc, 0xed, 0x07, 0x31, 0xa4, 0x06, 0xea, 0x67,
-  0xe1, 0x02, 0xd8, 0xe6, 0xe1, 0xaf, 0x56, 0x65, 0x74, 0x71, 0x7d, 0xea,
-  0xbe, 0xbd, 0x1c, 0x32, 0xc0, 0xdb, 0x1c, 0x02, 0xd7, 0x85, 0x9b, 0xb9,
-  0x62, 0x2b, 0x8b, 0x4d, 0x4e, 0x5f, 0x8b, 0xd1, 0xa9, 0x09, 0x98, 0xe0,
-  0xab, 0x41, 0x58, 0x51, 0x5c, 0x6a, 0x5a, 0xf8, 0x38, 0x62, 0xaf, 0x3a,
-  0xc5, 0x4a, 0xdb, 0x07, 0x14, 0xad, 0x87, 0xca, 0x02, 0x3f, 0x30, 0x93,
-  0x2a, 0xa5, 0xbb, 0x06, 0x19, 0xfd, 0x90, 0x73, 0x90, 0x95, 0xa3, 0xac,
-  0x5e, 0x3d, 0x67, 0x4c, 0x3d, 0xf7, 0x19, 0xcd, 0x98, 0x25, 0xad, 0x55,
-  0x72, 0x76, 0x77, 0x3f, 0x60, 0xdb, 0x7a, 0x67, 0xa9, 0x3b, 0x67, 0x24,
-  0x55, 0xb4, 0xf6, 0xb0, 0x98, 0xd2, 0x68, 0x62, 0x25, 0xb2, 0x6d, 0x05,
-  0xe4, 0x0c, 0xc7, 0xe6, 0x0d, 0x29, 0x91, 0x83, 0x77, 0x66, 0x19, 0x0e,
-  0x92, 0xff, 0x28, 0xb3, 0x1e, 0x12, 0xfc, 0x3a, 0xf9, 0x7d, 0x01, 0xd9,
-  0xcf, 0xe1, 0xc5, 0xbb, 0x93, 0x77, 0xdf, 0x1c, 0x58, 0x19, 0x47, 0xf2,
-  0xce, 0x63, 0x41, 0x77, 0x51, 0x3e, 0x57, 0x92, 0x05, 0x8f, 0xe4, 0x51,
-  0x1e, 0x72, 0xc7, 0x2a, 0x3b, 0x48, 0x58, 0x42, 0x8b, 0x49, 0xdd, 0x2e,
-  0x41, 0x6d, 0x61, 0xbc, 0x92, 0x3d, 0x84, 0xfb, 0xb2, 0x29, 0x03, 0x5d,
-  0x88, 0x5d, 0xda, 0xad, 0x02, 0xee, 0x36, 0x0b, 0xb9, 0x40, 0xc6, 0x86,
-  0x6a, 0x46, 0x2a, 0x45, 0xfd, 0x72, 0x02, 0x61, 0xd0, 0x13, 0x58, 0x38,
-  0xc4, 0x17, 0x6a, 0xbe, 0x2b, 0x5a, 0xec, 0xeb, 0xcc, 0xa0, 0x5c, 0x63,
-  0xd5, 0xea, 0x1c, 0xfa, 0xaf, 0x9d, 0x95, 0x15, 0x9a, 0x1a, 0x2e, 0x33,
-  0xe6, 0x5d, 0x94, 0xca, 0xe3, 0xc2, 0xba, 0x22, 0x3f, 0x75, 0x20, 0x61,
-  0x3b, 0xfe, 0x47, 0x03, 0xed, 0x1c, 0xd2, 0x8e, 0x2d, 0x06, 0x76, 0x8c,
-  0x7b, 0x52, 0x6b, 0xa7, 0xc2, 0x6d, 0x12, 0xcd, 0xae, 0x9e, 0x65, 0x0e,
-  0x22, 0x6f, 0xd5, 0x9d, 0x1b, 0x56, 0x77, 0x66, 0x8b, 0x80, 0x44, 0x08,
-  0x25, 0x3a, 0xe9, 0x37, 0x6a, 0x67, 0x90, 0x4f, 0x15, 0x97, 0xb0, 0xa2,
-  0x84, 0xda, 0xa5, 0x96, 0xb5, 0x06, 0x10, 0xcb, 0xf5, 0xf0, 0x4a, 0x25,
-  0x16, 0x8b, 0x8c, 0x79, 0x54, 0x7c, 0x30, 0xb6, 0xf9, 0xba, 0x99, 0xe3,
-  0xc5, 0x72, 0x3c, 0x9f, 0x3e, 0x4b, 0x5e, 0x9a, 0xff, 0x04, 0x7a, 0x16,
-  0x10, 0x4d, 0xa3, 0x23, 0xa3, 0x6b, 0x51, 0xf8, 0x95, 0xae, 0x0c, 0x4e,
-  0xe4, 0x17, 0xd5, 0x9e, 0xfe, 0xfa, 0x64, 0xdf, 0xf4, 0xf4, 0x53, 0xaa,
-  0xb4, 0x5d, 0x46, 0x29, 0xbc, 0xce, 0x1b, 0x46, 0x91, 0xac, 0x60, 0x43,
-  0xf0, 0x0b, 0xa2, 0xd2, 0x8a, 0xef, 0xed, 0x7f, 0x9e, 0x10, 0x00, 0xf6,
-  0xed, 0xeb, 0x67, 0x89, 0x31, 0x4d, 0x26, 0x1f, 0xeb, 0xe5, 0x5c, 0x25,
-  0xb2, 0xd4, 0x21, 0xa6, 0x7e, 0x06, 0x7c, 0x03, 0xa6, 0xe3, 0xb3, 0x7c,
-  0x42, 0x59, 0x28, 0x3e, 0xa4, 0x89, 0x4a, 0x20, 0xd6, 0xb6, 0xa6, 0x9e,
-  0xb8, 0x3c, 0xdd, 0xcd, 0x81, 0x68, 0x16, 0x47, 0x7c, 0x23, 0x1e, 0x35,
-  0x33, 0x07, 0xe6, 0xe3, 0x35, 0x57, 0x2e, 0x5c, 0xeb, 0x47, 0xf8, 0xac,
-  0xe5, 0x8a, 0xd9, 0xc5, 0x52, 0x9a, 0xf3, 0xbd, 0x37, 0xdc, 0x5d, 0x55,
-  0x8d, 0xd3, 0xa3, 0x19, 0x91, 0xb0, 0x1e, 0xec, 0x01, 0x29, 0xae, 0x9a,
-  0x98, 0x37, 0x7d, 0x3d, 0x8c, 0x23, 0x3c, 0x66, 0x26, 0x57, 0x00, 0x0f,
-  0xcc, 0xbd, 0xc2, 0x26, 0x20, 0xe5, 0xd0, 0xfa, 0x0d, 0x3d, 0x16, 0x02,
-  0x2a, 0xdd, 0xdd, 0x13, 0xc7, 0x13, 0xfd, 0xab, 0xe5, 0xea, 0x93, 0x5f,
-  0xaf, 0x28, 0x9c, 0x8a, 0xc1, 0xac, 0x19, 0xcb, 0xde, 0xda, 0x6e, 0x78,
-  0xfd, 0xc0, 0xdc, 0xb9, 0xc9, 0xb3, 0x75, 0x35, 0xb8, 0x3f, 0x3a, 0xe7,
-  0xa1, 0x27, 0x3e, 0xe4, 0x86, 0xc5, 0x1b, 0x84, 0xe6, 0x2d, 0xab, 0x01,
-  0xa9, 0x84, 0xb3, 0x6c, 0x1a, 0x5c, 0xd1, 0xb1, 0xc5, 0xc0, 0x39, 0x46,
-  0x55, 0x79, 0x49, 0x34, 0x26, 0x3f, 0x16, 0x39, 0xca, 0x30, 0x24, 0x2b,
-  0x42, 0x63, 0x88, 0x45, 0x7a, 0x62, 0x67, 0xdf, 0x6a, 0x80, 0xf8, 0x27,
-  0x4d, 0xe9, 0xfb, 0xc5, 0x75, 0x95, 0x92, 0xf3, 0x8e, 0xb0, 0xff, 0x8e,
-  0x6d, 0x35, 0x41, 0xe7, 0x92, 0x64, 0x55, 0xef, 0x98, 0x9f, 0xcb, 0x2f,
-  0x9f, 0xa0, 0x89, 0x29, 0xb5, 0x7e, 0xaa, 0xa6, 0x9c, 0x1f, 0x57, 0xde,
-  0x82, 0x7e, 0xea, 0x68, 0x84, 0x63, 0x7c, 0x78, 0x75, 0x23, 0x30, 0x29,
-  0x69, 0xa0, 0x05, 0x23, 0x24, 0x9e, 0x4f, 0xbe, 0x5c, 0x6c, 0xb1, 0x11,
-  0x82, 0xdd, 0x0a, 0x87, 0x43, 0x40, 0x36, 0xc4, 0x8b, 0x2b, 0x5a, 0x42,
-  0x87, 0x0b, 0x27, 0x70, 0x79, 0x45, 0x97, 0xe3, 0xd1, 0xcc, 0xb3, 0x01,
-  0xe5, 0x05, 0xf1, 0xd0, 0xd2, 0x0d, 0x2e, 0x89, 0x3a, 0x3c, 0x9a, 0xe1,
-  0xe3, 0x36, 0xf7, 0x6e, 0x3f, 0xda, 0x3b, 0xda, 0x6e, 0xfe, 0xe6, 0x6f,
-  0xf1, 0xc7, 0xbc, 0x88, 0x6c, 0xae, 0x5f, 0x75, 0x16, 0xf6, 0xd7, 0x39,
-  0x7e, 0x8d, 0x12, 0x9f, 0xce, 0x16, 0xc5, 0x50, 0xbf, 0xf0, 0xa8, 0xf9,
-  0xe9, 0x2e, 0xb3, 0xe5, 0xe9, 0xfd, 0x75, 0xf3, 0xd3, 0x9d, 0x1b, 0x5f,
-  0x96, 0xf9, 0xf3, 0xd3, 0x5d, 0xcb, 0xb5, 0x44, 0xcd, 0x9c, 0x58, 0xa7,
-  0xf5, 0x21, 0x07, 0x9c, 0x31, 0x10, 0x03, 0xd2, 0x26, 0x72, 0x22, 0x95,
-  0x61, 0xa5, 0x9f, 0x9c, 0x30, 0x83, 0x20, 0x22, 0x38, 0xf2, 0xfa, 0x29,
-  0x27, 0x1c, 0xf0, 0x15, 0x6a, 0x11, 0x68, 0x91, 0xdc, 0xa4, 0x7c, 0xb2,
-  0xe4, 0xfa, 0xcd, 0x4b, 0xae, 0x17, 0x4f, 0x3a, 0x9c, 0x25, 0x3d, 0x5e,
-  0x16, 0xb8, 0xb0, 0x0e, 0x17, 0x94, 0x33, 0x60, 0x64, 0xd4, 0x27, 0x57,
-  0x0d, 0x2a, 0xe2, 0x78, 0x34, 0xb7, 0x3a, 0x32, 0xc2, 0xf2, 0x42, 0x61,
-  0x4a, 0xdd, 0xee, 0xa0, 0x75, 0xe6, 0x18, 0x99, 0x11, 0x30, 0xaf, 0x62,
-  0x25, 0x66, 0xdf, 0x58, 0x8e, 0xd7, 0x01, 0x83, 0xe9, 0xf8, 0xbe, 0x89,
-  0x60, 0x66, 0x69, 0xd4, 0x34, 0x0b, 0x5b, 0xb5, 0x04, 0xe5, 0x9f, 0x3e,
-  0x1f, 0xee, 0x6e, 0xf7, 0xa9, 0xf0, 0xdd, 0x02, 0x33, 0x40, 0xa0, 0x46,
-  0x7b, 0xd7, 0x13, 0xa6, 0x37, 0xbf, 0x26, 0x1b, 0x6a, 0x55, 0x1d, 0x6a,
-  0xf2, 0xb7, 0x48, 0x30, 0x58, 0x23, 0xad, 0xc2, 0xe9, 0xd4, 0xe6, 0x6e,
-  0xcd, 0xfb, 0xa8, 0x0f, 0x00, 0x6f, 0x49, 0xd7, 0x5b, 0x2a, 0x3e, 0x14,
-  0x57, 0xe8, 0xd2, 0x27, 0x0e, 0x55, 0x0d, 0xcc, 0x55, 0xb9, 0x14, 0x46,
-  0x5c, 0x38, 0x90, 0x23, 0xbe, 0x15, 0x47, 0xbe, 0xa9, 0xc4, 0xc7, 0xb0,
-  0xb6, 0xf9, 0x1b, 0x62, 0x14, 0x41, 0xe9, 0x54, 0x89, 0x47, 0x76, 0x0b,
-  0x79, 0x98, 0x98, 0x67, 0xb8, 0x7b, 0x72, 0xa7, 0x20, 0xa9, 0x64, 0xdd,
-  0xc0, 0xf1, 0xb1, 0xb5, 0x0e, 0x9c, 0x72, 0xa8, 0x0d, 0x87, 0xb1, 0x3a,
-  0xd4, 0xb7, 0x79, 0x76, 0xd7, 0x72, 0x0e, 0x49, 0xbf, 0xfa, 0x96, 0x8b,
-  0x98, 0x6d, 0x92, 0x5b, 0x9a, 0x21, 0xd3, 0xe4, 0xb8, 0xb4, 0x35, 0x16,
-  0xd7, 0x1c, 0x64, 0xff, 0x69, 0x6f, 0x9a, 0x3f, 0xf2, 0x34, 0xd7, 0x31,
-  0xf0, 0x3c, 0xb3, 0x8f, 0x39, 0xea, 0xd4, 0x3e, 0x29, 0xe8, 0xd5, 0x7d,
-  0x02, 0x8e, 0x5c, 0xa7, 0xb8, 0x40, 0xae, 0x30, 0x58, 0x2b, 0xaf, 0x99,
-  0xfc, 0x8b, 0xf3, 0xae, 0x43, 0xed, 0x97, 0x3f, 0xd3, 0x3e, 0xf3, 0xe2,
-  0xb7, 0xb1, 0x85, 0x3f, 0xab, 0x72, 0x42, 0xa6, 0x11, 0x2e, 0x59, 0xe5,
-  0xfc, 0x84, 0x65, 0x10, 0x09, 0xcf, 0xc8, 0x8a, 0x78, 0x24, 0xc1, 0x5e,
-  0x34, 0xc1, 0x31, 0x37, 0x27, 0x3a, 0xc0, 0x61, 0x34, 0x5d, 0x58, 0xd7,
-  0xd5, 0x1b, 0x53, 0x6b, 0x24, 0xe3, 0x7b, 0xa5, 0xcf, 0x17, 0xef, 0x80,
-  0x23, 0x35, 0x0b, 0xe8, 0x37, 0x2d, 0x98, 0xdf, 0x11, 0x0e, 0x38, 0x3f,
-  0x0b, 0xd3, 0xb7, 0x60, 0x64, 0xd2, 0x78, 0xed, 0xf3, 0xd1, 0x05, 0xdc,
-  0xac, 0x5e, 0xa1, 0xd3, 0x8c, 0x52, 0x18, 0x88, 0xde, 0x3a, 0xba, 0xc4,
-  0x6c, 0x82, 0x73, 0x3e, 0xa0, 0xd9, 0xce, 0xe5, 0x92, 0x5c, 0xf3, 0x38,
-  0xfb, 0x92, 0xce, 0x23, 0x19, 0x3c, 0xdd, 0x34, 0x4f, 0xcb, 0xe8, 0x42,
-  0xb3, 0x3f, 0xbc, 0x49, 0x3f, 0x7d, 0x1a, 0xd6, 0xd9, 0x8e, 0xd9, 0xb5,
-  0xf5, 0x4e, 0x5d, 0xcf, 0xe8, 0xa3, 0x35, 0x98, 0x29, 0x56, 0x5f, 0x0f,
-  0x6c, 0xbf, 0xea, 0xfc, 0x8a, 0x30, 0x9e, 0xa4, 0xf4, 0x6a, 0x4b, 0xd8,
-  0xba, 0x32, 0x24, 0xcc, 0xc5, 0xdc, 0x05, 0x56, 0x30, 0xbb, 0x1b, 0xd2,
-  0x80, 0xfd, 0xd4, 0x04, 0x16, 0x0d, 0x2e, 0x80, 0x65, 0xdb, 0x71, 0xb4,
-  0x95, 0xc4, 0xe7, 0x56, 0xad, 0xc2, 0xc1, 0xc9, 0x59, 0xf5, 0x20, 0x09,
-  0x66, 0x52, 0x2c, 0x5c, 0xcc, 0xdc, 0x0f, 0x85, 0x4b, 0x3a, 0x9e, 0xb0,
-  0xca, 0x4f, 0xc5, 0x39, 0x23, 0xe9, 0xf0, 0xab, 0x0c, 0x69, 0x6f, 0x68,
-  0x04, 0xac, 0x3b, 0xd8, 0xb3, 0x73, 0x7a, 0x77, 0x77, 0x37, 0x5c, 0x67,
-  0x49, 0xff, 0xc3, 0x49, 0x3d, 0xed, 0xe6, 0xce, 0xcc, 0xae, 0x3d, 0xcd,
-  0x8b, 0xe5, 0xa7, 0xc4, 0xcb, 0x7e, 0xb5, 0xbc, 0xdb, 0xea, 0x2a, 0x4e,
-  0xbe, 0xbf, 0x78, 0x63, 0x8b, 0x7e, 0x69, 0xce, 0x21, 0xf9, 0x22, 0xea,
-  0xd0, 0x6b, 0x9a, 0xe5, 0x9c, 0x93, 0x4c, 0xcc, 0x6c, 0x47, 0x87, 0xe7,
-  0x1f, 0xde, 0x1d, 0x5f, 0x7e, 0xb8, 0x38, 0xfc, 0x81, 0xa6, 0x90, 0x83,
-  0x80, 0x55, 0x0a, 0xf2, 0xff, 0xaa, 0x2c, 0xa9, 0xf4, 0xc0, 0x5b, 0x60,
-  0xac, 0xf3, 0x02, 0x89, 0xa7, 0x31, 0x7a, 0x6c, 0x9b, 0x4f, 0xaf, 0xfd,
-  0x34, 0x7d, 0x39, 0x48, 0x5a, 0xf3, 0xf5, 0xd1, 0x58, 0x0e, 0xd9, 0x6c,
-  0x58, 0x56, 0xd7, 0xb4, 0x0b, 0x77, 0x5e, 0x8b, 0xfc, 0x8c, 0x36, 0xb7,
-  0x53, 0x64, 0x0d, 0x81, 0xa7, 0x88, 0x9e, 0xe1, 0xb6, 0xba, 0xa2, 0x5c,
-  0xce, 0x75, 0x25, 0x33, 0xfd, 0x4a, 0x12, 0xde, 0xd6, 0x7c, 0x0a, 0x01,
-  0xb8, 0xb8, 0x7d, 0xba, 0xc6, 0x18, 0x68, 0x5a, 0xfa, 0x13, 0x1d, 0xb0,
-  0xd9, 0x2d, 0x6f, 0x2d, 0x44, 0x31, 0xfc, 0x72, 0x24, 0x0c, 0x65, 0x9f,
-  0xdd, 0xf7, 0x23, 0xd9, 0x62, 0x20, 0xae, 0x2c, 0x6d, 0x6e, 0x1d, 0xd0,
-  0xc0, 0x54, 0x0a, 0x63, 0x7d, 0x09, 0x0c, 0xd5, 0x83, 0xba, 0x66, 0x47,
-  0x8b, 0x9a, 0xda, 0xd7, 0x9c, 0x9e, 0x87, 0xba, 0x24, 0x15, 0xc7, 0xf0,
-  0xc6, 0xfc, 0x5c, 0xc6, 0xfc, 0xfc, 0x1f, 0x1a, 0xf3, 0xf3, 0x7f, 0x60,
-  0xcc, 0x4f, 0xff, 0xe9, 0x63, 0xfe, 0x2b, 0x8d, 0xf9, 0xaf, 0xcb, 0xe2,
-  0xe3, 0xc0, 0xf4, 0x97, 0x6e, 0x61, 0x29, 0x30, 0x50, 0xc7, 0x55, 0xe6,
-  0x16, 0xa7, 0x35, 0x39, 0x9a, 0x6c, 0x5d, 0xdc, 0x89, 0x5f, 0x2f, 0x21,
-  0x95, 0xfc, 0x16, 0x0e, 0x3a, 0xad, 0xac, 0x02, 0x98, 0xb4, 0x4a, 0xb3,
-  0x53, 0x26, 0xed, 0x34, 0xaf, 0x27, 0x64, 0xdf, 0x90, 0xc3, 0xa4, 0x27,
-  0x3d, 0xd2, 0xa6, 0x7b, 0x43, 0x57, 0xce, 0x3d, 0xe0, 0x40, 0xa9, 0xcd,
-  0xed, 0x42, 0xa6, 0x35, 0x4e, 0xa5, 0x8d, 0xcb, 0xb8, 0x2a, 0x74, 0x60,
-  0x6e, 0xa1, 0xec, 0x78, 0x6d, 0x94, 0x3d, 0xd5, 0xe4, 0x85, 0x0c, 0x65,
-  0xc6, 0xe5, 0xfd, 0x82, 0x9a, 0x4b, 0xb4, 0xec, 0x77, 0x6d, 0x2b, 0x86,
-  0xda, 0x0e, 0x26, 0x9d, 0xce, 0x89, 0xeb, 0xed, 0x26, 0xbb, 0xdf, 0x0c,
-  0x14, 0x86, 0xc9, 0xac, 0x24, 0x79, 0x43, 0x7a, 0xdd, 0x1a, 0x4d, 0x64,
-  0xec, 0xaa, 0x3b, 0xf0, 0x7d, 0xd1, 0x29, 0xf7, 0xe0, 0xdf, 0x1b, 0x1f,
-  0xb3, 0x6c, 0x91, 0xce, 0x90, 0x87, 0x48, 0xd1, 0xb8, 0x55, 0x9c, 0xf4,
-  0xad, 0xf0, 0xb1, 0x82, 0xab, 0xf0, 0x46, 0xda, 0xbe, 0xd6, 0x21, 0xe9,
-  0xb4, 0x6a, 0xf1, 0x1c, 0x40, 0xc3, 0x7c, 0x1a, 0xa4, 0x66, 0x2b, 0x21,
-  0x95, 0x06, 0xe4, 0x6c, 0x2f, 0x48, 0x3b, 0x19, 0x4b, 0x52, 0xac, 0xfd,
-  0x84, 0x72, 0x6c, 0xe4, 0xe6, 0xe1, 0xdb, 0x7c, 0xba, 0x0c, 0x6a, 0x88,
-  0x76, 0x5f, 0x47, 0xbe, 0x7d, 0x8b, 0x9e, 0x94, 0x97, 0x8f, 0x9e, 0x28,
-  0xed, 0xfd, 0x47, 0xea, 0x06, 0x6a, 0xbd, 0x04, 0x5b, 0x4a, 0x79, 0xba,
-  0x58, 0xbb, 0xbd, 0x3c, 0x3a, 0xff, 0xf0, 0xdd, 0xf1, 0xf1, 0xf9, 0xc9,
-  0xeb, 0xd3, 0x63, 0x39, 0x30, 0xf6, 0x47, 0xef, 0x2e, 0xbf, 0x3f, 0xd5,
-  0x92, 0x0c, 0xba, 0x17, 0x83, 0x0d, 0x2f, 0xdc, 0x9a, 0x2c, 0x94, 0xfb,
-  0x60, 0x9e, 0x2f, 0x9a, 0xe4, 0xf0, 0xe4, 0x47, 0xa3, 0xb5, 0x9e, 0x0f,
-  0xde, 0xff, 0x18, 0x50, 0xfe, 0x7a, 0x38, 0xbc, 0x95, 0xf5, 0x10, 0xcd,
-  0x36, 0x84, 0xed, 0xe8, 0xc6, 0x6e, 0xb3, 0x15, 0x7e, 0xdf, 0x6b, 0x90,
-  0x8a, 0xb9, 0x15, 0x56, 0x61, 0xe0, 0x17, 0x95, 0x56, 0x9b, 0xd5, 0x58,
-  0xc8, 0xaf, 0xe7, 0xbb, 0x5a, 0xb1, 0x60, 0xad, 0x0f, 0xed, 0xf3, 0xb6,
-  0xcd, 0xf8, 0x31, 0xbb, 0x07, 0xbf, 0x4d, 0xf2, 0x92, 0xfe, 0x1b, 0xaf,
-  0x28, 0x71, 0x5e, 0xe5, 0xb7, 0xa4, 0xff, 0x99, 0x67, 0x39, 0xc8, 0x40,
-  0x8f, 0x0e, 0x6d, 0x7d, 0x0d, 0x09, 0x74, 0x50, 0x23, 0x88, 0x85, 0xa2,
-  0x51, 0x78, 0x34, 0x82, 0x60, 0x59, 0x3e, 0x65, 0x5f, 0x07, 0xb7, 0x87,
-  0x06, 0xcd, 0xf4, 0x0c, 0x93, 0xd7, 0xc7, 0x17, 0xfd, 0xe4, 0xfc, 0xf8,
-  0x2d, 0x83, 0xf9, 0x8e, 0xdf, 0x7d, 0xc3, 0xb4, 0x2a, 0x5a, 0x49, 0x02,
-  0xb1, 0xb9, 0x10, 0xdd, 0xe7, 0xcd, 0x89, 0x79, 0x17, 0x2c, 0x27, 0x75,
-  0x6d, 0x6e, 0xd7, 0xdf, 0x31, 0xdb, 0x98, 0xc7, 0xf6, 0xd2, 0xfc, 0x27,
-  0x36, 0x55, 0xc6, 0x8e, 0xf8, 0x36, 0x32, 0x5d, 0xa2, 0x98, 0xd9, 0x68,
-  0xae, 0x18, 0x05, 0x34, 0x1b, 0x3c, 0x63, 0x66, 0x42, 0xc2, 0xb8, 0xa2,
-  0x4e, 0x10, 0x5c, 0x3f, 0xc8, 0xb7, 0xe6, 0x22, 0x47, 0x12, 0x15, 0x22,
-  0x2b, 0xd6, 0x7c, 0xae, 0x4f, 0xfb, 0x92, 0xae, 0x24, 0x6f, 0x32, 0x62,
-  0xa9, 0x24, 0x55, 0x2e, 0x50, 0x6b, 0x8f, 0xb3, 0xc3, 0xcc, 0x75, 0x3e,
-  0x45, 0xae, 0x9a, 0xf9, 0x46, 0x59, 0x51, 0x34, 0xf1, 0xf7, 0x9c, 0xb8,
-  0x6a, 0x9c, 0xbc, 0x9c, 0x99, 0x17, 0x67, 0x71, 0x0c, 0x29, 0x17, 0x5f,
-  0x76, 0x45, 0xa4, 0x3b, 0x34, 0xd4, 0x52, 0x65, 0x90, 0x6d, 0x5e, 0x34,
-  0xc3, 0x41, 0xd6, 0x10, 0x5b, 0x05, 0xf5, 0x59, 0xec, 0xad, 0x20, 0xd3,
-  0x74, 0x13, 0xa0, 0xbb, 0xcd, 0x7e, 0xb2, 0x49, 0x5c, 0xdb, 0xf4, 0x27,
-  0xca, 0x0e, 0x4a, 0x89, 0xed, 0xcd, 0x7e, 0x58, 0x3f, 0x74, 0x53, 0xb6,
-  0xeb, 0xa6, 0xd9, 0xf1, 0xdc, 0x1a, 0x2d, 0x21, 0xf2, 0x77, 0xa4, 0x1f,
-  0xec, 0x42, 0xcc, 0x6b, 0x89, 0xa0, 0x03, 0xc1, 0x24, 0x80, 0xfd, 0x3a,
-  0xe0, 0x84, 0xb6, 0xcd, 0xb5, 0x93, 0x81, 0x57, 0xe5, 0xb5, 0xff, 0xc6,
-  0xb2, 0x84, 0x97, 0xe1, 0x97, 0xd6, 0xa2, 0x72, 0x3e, 0xae, 0x4e, 0x73,
-  0xba, 0x58, 0xfe, 0x3a, 0xeb, 0xeb, 0xd1, 0xd2, 0x3c, 0x87, 0x9c, 0xf1,
-  0xe0, 0x0f, 0x09, 0xdc, 0xa1, 0x04, 0xcc, 0x9b, 0xb2, 0xea, 0x2e, 0x28,
-  0x6e, 0xbf, 0x9c, 0x86, 0x5c, 0x02, 0x21, 0x10, 0x82, 0x75, 0x10, 0x50,
-  0xa9, 0x6a, 0xb7, 0x07, 0x6c, 0x62, 0x1d, 0x25, 0x62, 0x33, 0x02, 0xe1,
-  0x77, 0x57, 0x11, 0xdd, 0x4f, 0xa1, 0x91, 0x32, 0x16, 0x62, 0xf1, 0xb4,
-  0x70, 0x65, 0x04, 0x32, 0x8b, 0x34, 0x93, 0x3a, 0x0f, 0x0a, 0x62, 0xa8,
-  0xb4, 0x5b, 0x03, 0x09, 0x00, 0xa9, 0x55, 0x47, 0xef, 0xfd, 0xcb, 0x3f,
-  0xb8, 0x72, 0x52, 0x9e, 0x83, 0x73, 0x45, 0x23, 0x99, 0x3f, 0x8f, 0x66,
-  0x3f, 0xe8, 0xe0, 0x55, 0x41, 0x23, 0x32, 0x80, 0xe0, 0x78, 0x69, 0x64,
-  0x44, 0x16, 0xa4, 0x7f, 0xb7, 0xcb, 0x24, 0xcd, 0xa5, 0x08, 0x8e, 0x47,
-  0x00, 0x83, 0x77, 0x6d, 0x8d, 0x2e, 0xdf, 0xe7, 0x3a, 0x88, 0x14, 0xf7,
-  0x04, 0x79, 0xa9, 0xcb, 0x38, 0xc0, 0xb1, 0x05, 0xb3, 0x85, 0xa6, 0xed,
-  0x2a, 0xb8, 0x8a, 0x27, 0x84, 0x1c, 0x86, 0x02, 0xdb, 0x81, 0xfe, 0x97,
-  0x06, 0x86, 0xaa, 0xe9, 0xbe, 0xf2, 0x81, 0x52, 0x63, 0x04, 0x26, 0x99,
-  0xb2, 0xf7, 0x0a, 0x4b, 0x62, 0xfb, 0x89, 0xb2, 0xb5, 0xdc, 0x2f, 0xfc,
-  0x82, 0x4e, 0x74, 0xa0, 0xcf, 0x8d, 0x4d, 0x13, 0x77, 0xf9, 0x14, 0x75,
-  0xc2, 0x05, 0x44, 0x43, 0xc9, 0xd5, 0x92, 0xe7, 0x42, 0x9e, 0xc4, 0x3c,
-  0x84, 0x6f, 0x8e, 0xe3, 0x5e, 0x16, 0x5e, 0x31, 0xcc, 0x69, 0xc2, 0x19,
-  0xdf, 0xe4, 0x4c, 0xc1, 0x32, 0xc0, 0xf1, 0xb8, 0xc3, 0xd7, 0xb1, 0xcd,
-  0x75, 0x34, 0x56, 0xff, 0xf2, 0x8a, 0x78, 0x87, 0x43, 0x37, 0xaa, 0xa2,
-  0x2c, 0x87, 0xf6, 0x88, 0x30, 0x19, 0xf9, 0x47, 0x26, 0x76, 0xfc, 0x6e,
-  0x53, 0xeb, 0xec, 0x10, 0x95, 0x07, 0x58, 0x2b, 0x19, 0x1c, 0x65, 0x4e,
-  0xe8, 0xc7, 0x7c, 0x56, 0x46, 0xfd, 0x9e, 0x46, 0xb4, 0xcd, 0xf9, 0xf5,
-  0xb7, 0x9b, 0xea, 0xcc, 0xa2, 0x0c, 0xa0, 0xeb, 0x54, 0x7e, 0xcd, 0xd9,
-  0x7f, 0x9b, 0xd7, 0xfc, 0xd0, 0x37, 0xfa, 0x50, 0x98, 0xe2, 0x40, 0xae,
-  0x55, 0x76, 0xa5, 0x6a, 0x0c, 0xbe, 0x3e, 0x48, 0xf6, 0x77, 0x77, 0xbf,
-  0xeb, 0x27, 0x4f, 0xb8, 0x70, 0xfa, 0xde, 0x37, 0xd1, 0x1c, 0x59, 0xc6,
-  0x98, 0x90, 0x8a, 0xac, 0xd1, 0xc1, 0xc1, 0x9f, 0x49, 0x33, 0xc6, 0x9c,
-  0xf1, 0xce, 0xb4, 0x90, 0x46, 0x06, 0xce, 0x3a, 0xcc, 0x6f, 0xf7, 0x02,
-  0xa3, 0xa5, 0x5a, 0x90, 0x26, 0x37, 0xcd, 0x94, 0xe4, 0x6e, 0x0e, 0x17,
-  0x14, 0x45, 0x58, 0x17, 0x92, 0xe2, 0x45, 0x5b, 0x75, 0x60, 0x89, 0x73,
-  0xea, 0x19, 0x3d, 0x00, 0xc2, 0xf0, 0x32, 0x00, 0x64, 0xcd, 0x16, 0xd0,
-  0x62, 0x2d, 0xa7, 0xbf, 0xd7, 0x25, 0x82, 0x67, 0x4f, 0x12, 0x31, 0xc4,
+  0xfe, 0xe2, 0x74, 0x63, 0x63, 0xf4, 0x97, 0x77, 0x67, 0xe7, 0xa3, 0x93,
+  0x51, 0xeb, 0xb1, 0x1f, 0xcb, 0x45, 0x93, 0x97, 0x45, 0xfd, 0x73, 0xf2,
+  0xa3, 0x79, 0x68, 0x38, 0x1c, 0xfe, 0xbc, 0xb1, 0xf1, 0xfa, 0x78, 0x74,
+  0x74, 0x71, 0x72, 0x7e, 0x79, 0x72, 0xf6, 0xae, 0xf5, 0x6c, 0x92, 0xd7,
+  0x89, 0x69, 0xac, 0x29, 0xcb, 0x99, 0xf9, 0x8f, 0x6b, 0x7f, 0x9a, 0x36,
+  0x69, 0x72, 0x55, 0x95, 0xf3, 0xa4, 0xac, 0xe8, 0x17, 0x69, 0x52, 0x67,
+  0xd5, 0x6d, 0x56, 0xf5, 0x93, 0x65, 0x9d, 0x17, 0xd7, 0x49, 0x59, 0x64,
+  0x49, 0x79, 0x95, 0x34, 0x37, 0x99, 0x36, 0x57, 0x2f, 0x17, 0x8b, 0xb2,
+  0x6a, 0xb2, 0x69, 0xb2, 0xa8, 0xca, 0xa6, 0x9c, 0x94, 0xb3, 0x3a, 0xd9,
+  0x7a, 0x7d, 0x72, 0x74, 0xd9, 0x4f, 0xde, 0x9c, 0x9c, 0x1e, 0x9b, 0xff,
+  0x5e, 0x9e, 0xe3, 0x3f, 0xa3, 0x7e, 0xf2, 0xf5, 0xd9, 0xf9, 0x37, 0xc7,
+  0x17, 0xfd, 0xe4, 0x9b, 0x4b, 0xfa, 0x19, 0xfd, 0xd7, 0xfc, 0x30, 0x39,
+  0x79, 0x7b, 0x78, 0xde, 0xd7, 0xe6, 0xe8, 0x1f, 0xf4, 0xc3, 0xd3, 0xd7,
+  0xe6, 0x87, 0xfc, 0x07, 0xfd, 0xf3, 0xfc, 0xec, 0xfc, 0x89, 0xfc, 0x41,
+  0xff, 0xbc, 0xb8, 0x7c, 0x6b, 0x7e, 0x7b, 0x71, 0x39, 0x32, 0xff, 0x1d,
+  0x1d, 0xd1, 0x7f, 0xf0, 0x95, 0xd1, 0xdb, 0xaf, 0xf0, 0x9f, 0x91, 0x6d,
+  0x6e, 0xf4, 0x96, 0x7f, 0x8e, 0x2f, 0x5d, 0x1e, 0x9f, 0xbe, 0x3b, 0xbe,
+  0x4c, 0xd2, 0x62, 0x9a, 0x5c, 0x9a, 0xe7, 0xb7, 0x87, 0xc9, 0xe5, 0x4d,
+  0x96, 0x4c, 0xca, 0xf9, 0x9c, 0x7e, 0x64, 0x66, 0x64, 0x9a, 0xd5, 0xf9,
+  0x75, 0x61, 0x86, 0x62, 0x46, 0x7e, 0x57, 0x56, 0x1f, 0x93, 0xe4, 0x2e,
+  0x6f, 0x6e, 0xca, 0x65, 0xa3, 0xcd, 0x2d, 0xcd, 0x6c, 0x24, 0x79, 0xd1,
+  0x64, 0x55, 0x3a, 0xa1, 0xb9, 0x1e, 0x6e, 0xb4, 0x66, 0xb5, 0xbc, 0x32,
+  0x73, 0x58, 0x9b, 0x49, 0x1b, 0x2f, 0xeb, 0x59, 0x99, 0x4e, 0x69, 0xaa,
+  0xcc, 0x2b, 0x57, 0x4b, 0x33, 0xc9, 0x55, 0x3e, 0xf9, 0x58, 0x27, 0xb3,
+  0xfc, 0x63, 0x46, 0x13, 0xf5, 0xe9, 0x5e, 0x27, 0xae, 0xcf, 0x8d, 0xa6,
+  0x4b, 0x33, 0xa7, 0xc5, 0x40, 0x9b, 0x6b, 0xf2, 0x49, 0x4a, 0x1f, 0xc0,
+  0xcc, 0x25, 0xcb, 0x05, 0xb5, 0xc6, 0x33, 0x96, 0x2c, 0xca, 0xda, 0xbc,
+  0x34, 0x1a, 0x9d, 0x9a, 0x9e, 0x17, 0x45, 0x86, 0x7e, 0xd4, 0x7d, 0xf3,
+  0x8f, 0xf2, 0x63, 0x9e, 0x99, 0xbf, 0x5c, 0xe5, 0xb3, 0x2c, 0xe1, 0x15,
+  0xb5, 0xcd, 0xd1, 0xd2, 0x26, 0x55, 0x56, 0x2f, 0xe7, 0x99, 0x99, 0xbd,
+  0xb7, 0x59, 0x93, 0xce, 0xf2, 0xe2, 0xa3, 0xf9, 0x2b, 0x0d, 0x7c, 0x5e,
+  0x56, 0xd9, 0x30, 0x39, 0xac, 0x93, 0xfb, 0x72, 0x69, 0x06, 0x3c, 0x9b,
+  0x99, 0x35, 0xcf, 0x92, 0x71, 0x36, 0x2b, 0xef, 0xfa, 0xb4, 0xd2, 0x49,
+  0xb1, 0x9c, 0x8f, 0x4d, 0x03, 0xe5, 0x95, 0x6b, 0x2e, 0x6d, 0x96, 0xa6,
+  0x39, 0x7e, 0x7a, 0x9e, 0x9a, 0x31, 0x99, 0x77, 0xab, 0xe4, 0x26, 0x33,
+  0x63, 0xae, 0x17, 0x79, 0xf1, 0x2f, 0xed, 0x79, 0x31, 0x53, 0xbb, 0x28,
+  0xef, 0xb2, 0xca, 0xcc, 0xec, 0xf8, 0x3e, 0x31, 0x93, 0x30, 0xe6, 0x4d,
+  0x78, 0x65, 0x36, 0x59, 0x92, 0x9a, 0x26, 0xec, 0x06, 0x1c, 0x54, 0xd9,
+  0x2c, 0xa5, 0xcd, 0x64, 0xbf, 0x31, 0x34, 0x8b, 0x98, 0xd9, 0xdd, 0x26,
+  0xaf, 0x6e, 0x3d, 0xd9, 0xc6, 0xcb, 0x53, 0x33, 0x92, 0x7c, 0x56, 0x9b,
+  0x65, 0xa0, 0x63, 0x21, 0xcf, 0xd0, 0xa2, 0xd2, 0x31, 0x31, 0x7b, 0xf3,
+  0xbe, 0x68, 0xd2, 0x4f, 0xf8, 0xbc, 0xec, 0xcd, 0xc1, 0x34, 0x5b, 0x64,
+  0xc5, 0x34, 0x2b, 0x9a, 0x61, 0xf2, 0x97, 0x72, 0xb9, 0x69, 0xbe, 0x7d,
+  0x95, 0x9b, 0x39, 0x48, 0xa5, 0x29, 0xf3, 0x65, 0xb3, 0x09, 0x26, 0x55,
+  0xbe, 0xf0, 0x96, 0xa2, 0x2c, 0xcc, 0x9a, 0x27, 0x17, 0x6f, 0x8e, 0x92,
+  0x27, 0x2f, 0x3e, 0x7f, 0xee, 0xd6, 0xdc, 0x34, 0x90, 0x4c, 0xd2, 0xc2,
+  0x8c, 0x38, 0x9b, 0xe4, 0x57, 0xf7, 0xc9, 0x7c, 0x39, 0x6b, 0xf2, 0x85,
+  0x99, 0x7d, 0xf3, 0xf1, 0x9a, 0x0e, 0xd0, 0x22, 0xad, 0x9a, 0x9a, 0x36,
+  0x01, 0x7e, 0x80, 0xb1, 0xdf, 0x55, 0x79, 0x43, 0x07, 0x09, 0xbf, 0x33,
+  0x3d, 0xcc, 0x9a, 0x5a, 0x9b, 0xa3, 0xbd, 0x66, 0xbe, 0x33, 0x36, 0x7b,
+  0xcb, 0x4c, 0x6d, 0x5a, 0x9b, 0x8f, 0x1e, 0x6c, 0x38, 0x19, 0x72, 0xd3,
+  0x34, 0x8b, 0x83, 0x9d, 0x9d, 0x3a, 0x6f, 0xb2, 0xe1, 0x7f, 0x9a, 0x73,
+  0xd8, 0x6f, 0xee, 0xca, 0x7e, 0x73, 0x53, 0x65, 0xd9, 0x7f, 0x0d, 0xcd,
+  0x1e, 0xb6, 0x4f, 0x9a, 0xef, 0xde, 0x4b, 0xc7, 0xae, 0xb3, 0xc6, 0x7c,
+  0xe1, 0x6f, 0xcb, 0xac, 0xa0, 0x16, 0x4d, 0x3f, 0xd2, 0xd9, 0xe2, 0x26,
+  0x35, 0xcb, 0x99, 0x99, 0xdd, 0x48, 0x27, 0xdb, 0x6c, 0x18, 0xea, 0x15,
+  0x9f, 0xed, 0x1f, 0x7f, 0x0e, 0x3f, 0x7a, 0x85, 0x6f, 0x9a, 0xff, 0x0e,
+  0xb3, 0x4f, 0xe9, 0xdc, 0x8c, 0x8d, 0x3e, 0xb5, 0x43, 0x5b, 0xec, 0xc7,
+  0xbd, 0xc1, 0xde, 0xee, 0xee, 0xcf, 0xc3, 0xe6, 0x53, 0xf3, 0xb8, 0xe7,
+  0x77, 0x77, 0xdd, 0x1b, 0xf4, 0xe8, 0x16, 0x8d, 0x37, 0x99, 0x99, 0x2d,
+  0x43, 0x1f, 0xff, 0x7b, 0x56, 0x95, 0xf5, 0xf6, 0xe3, 0x5a, 0x4a, 0x07,
+  0x7f, 0x6f, 0x7f, 0xf7, 0x5d, 0x56, 0x63, 0xcf, 0xb8, 0xb1, 0x26, 0x69,
+  0x65, 0xf6, 0x6d, 0xd9, 0x38, 0xf1, 0xd4, 0x37, 0x87, 0xb2, 0xb1, 0x33,
+  0x63, 0xce, 0x9c, 0x79, 0xda, 0x08, 0xb6, 0x74, 0x46, 0x32, 0xad, 0x4e,
+  0x8a, 0xec, 0x93, 0x3d, 0xe5, 0xe6, 0xf4, 0x67, 0xe9, 0xe4, 0x26, 0x29,
+  0xcd, 0xe6, 0xaf, 0x22, 0x4b, 0xe0, 0x77, 0x28, 0xad, 0x26, 0x37, 0xf9,
+  0xad, 0x99, 0x8d, 0x17, 0x2f, 0x9e, 0x0f, 0xcc, 0x7f, 0x5e, 0xfc, 0xbc,
+  0x73, 0x5b, 0xce, 0xcc, 0xe4, 0x3c, 0xfd, 0x79, 0x87, 0x96, 0xf8, 0x3f,
+  0xd3, 0xfe, 0xb8, 0x3f, 0xf9, 0xaf, 0xe1, 0x4d, 0x33, 0x9f, 0xad, 0xdc,
+  0x38, 0x69, 0x61, 0xfe, 0x6f, 0x5e, 0x2e, 0x8b, 0xc6, 0x6e, 0x16, 0xb3,
+  0xe7, 0x1a, 0x4f, 0x38, 0x99, 0xe3, 0x6a, 0xce, 0x28, 0x6d, 0x6d, 0xda,
+  0x43, 0x74, 0xea, 0xcc, 0x01, 0x75, 0xc7, 0xb1, 0x99, 0xdc, 0x98, 0xf1,
+  0x9b, 0xcd, 0x93, 0xca, 0x1c, 0x34, 0x79, 0x4a, 0x07, 0xd3, 0xc8, 0x07,
+  0x92, 0x57, 0x68, 0x8a, 0x3f, 0x96, 0x9b, 0xe7, 0xca, 0x6a, 0x9a, 0x55,
+  0xed, 0x6d, 0x8c, 0xee, 0xb8, 0xfe, 0x24, 0x66, 0x3e, 0x17, 0xe6, 0xe3,
+  0x4b, 0x12, 0x75, 0x38, 0x69, 0xd4, 0x82, 0x39, 0xa3, 0xd7, 0x66, 0xaa,
+  0xcc, 0xf4, 0xd0, 0xc6, 0xa2, 0xd9, 0xbb, 0x4f, 0xde, 0x99, 0x35, 0x64,
+  0xf9, 0xe0, 0xed, 0xbf, 0x59, 0xd6, 0x34, 0x0f, 0xce, 0x9c, 0xdb, 0x44,
+  0x07, 0x7b, 0xc1, 0x3e, 0x5a, 0xf5, 0xbc, 0x59, 0xfa, 0x83, 0xfd, 0xf6,
+  0xc3, 0xdf, 0x1b, 0xb9, 0xe9, 0x76, 0xb0, 0xf9, 0xfa, 0x7f, 0xfe, 0x97,
+  0xb7, 0x11, 0xee, 0xe8, 0xb7, 0x79, 0x71, 0x5b, 0x7e, 0x34, 0x03, 0xc7,
+  0xc5, 0x96, 0xb6, 0x26, 0x35, 0x21, 0xd1, 0x30, 0x5f, 0x34, 0xf6, 0xc6,
+  0xa0, 0x1d, 0x62, 0x7e, 0x34, 0x4e, 0xc7, 0xb3, 0xfb, 0xe4, 0x26, 0xbd,
+  0xcd, 0x68, 0xbc, 0x0b, 0xb3, 0x75, 0x68, 0x06, 0x8c, 0x24, 0x9f, 0x41,
+  0xb4, 0xc8, 0x59, 0x9d, 0x96, 0xcb, 0xb1, 0x39, 0xef, 0x7f, 0x5b, 0x96,
+  0x0d, 0x4f, 0x4c, 0x7a, 0x5b, 0xe6, 0xd3, 0xd6, 0xf5, 0x78, 0x93, 0x91,
+  0x8c, 0xa1, 0x0f, 0xe3, 0xde, 0x30, 0x32, 0x8e, 0x7a, 0x8a, 0xbd, 0x9f,
+  0x37, 0x74, 0x03, 0x19, 0xe9, 0x94, 0xce, 0xea, 0x32, 0x49, 0xae, 0x4b,
+  0xda, 0xb8, 0x90, 0x89, 0xd8, 0x79, 0x66, 0x51, 0x6e, 0x52, 0xba, 0x68,
+  0xcc, 0x9d, 0x62, 0xb7, 0x66, 0x95, 0x41, 0x3c, 0x62, 0xa5, 0xd2, 0x59,
+  0x9f, 0x2f, 0x14, 0x7a, 0x47, 0xa6, 0x2a, 0xd9, 0xfc, 0xd7, 0xcd, 0x7e,
+  0xb2, 0xf9, 0xef, 0x9b, 0x10, 0xed, 0x9b, 0xff, 0xb6, 0xe9, 0xd6, 0xd9,
+  0x68, 0x48, 0xb7, 0xf9, 0x94, 0xee, 0x06, 0x33, 0x92, 0x93, 0xf3, 0xdb,
+  0xe7, 0xc9, 0xdf, 0xe9, 0x3a, 0x37, 0xe2, 0x2f, 0xfb, 0xa4, 0x9b, 0x44,
+  0xc7, 0x66, 0xde, 0x4e, 0x8c, 0x1c, 0x4c, 0x17, 0x74, 0xaf, 0x67, 0xd5,
+  0xc4, 0xec, 0xa8, 0xf4, 0xda, 0xec, 0x21, 0x73, 0x3d, 0x6a, 0x73, 0xd4,
+  0x3e, 0xbd, 0xc2, 0xc3, 0x32, 0x32, 0x2b, 0x29, 0xd2, 0xb9, 0xd9, 0xa4,
+  0xa7, 0xd4, 0xa3, 0xbc, 0x08, 0x17, 0xf3, 0xc7, 0xab, 0xec, 0xf3, 0xdd,
+  0x83, 0x83, 0x27, 0x7f, 0xdc, 0x7f, 0x96, 0x35, 0x37, 0xbb, 0x3f, 0xef,
+  0xd8, 0x47, 0x4e, 0xae, 0x30, 0xed, 0xba, 0xfd, 0xb4, 0x13, 0xe6, 0xe2,
+  0xb5, 0x82, 0xdb, 0xbc, 0x6f, 0xfe, 0x9e, 0x5d, 0xe5, 0x9f, 0xfa, 0xaa,
+  0xc2, 0xf0, 0x31, 0x48, 0xcd, 0x56, 0x33, 0xeb, 0x47, 0xa7, 0x56, 0x9b,
+  0xbb, 0x5e, 0x66, 0xb5, 0x99, 0xc9, 0xbb, 0x9b, 0xb4, 0x49, 0x6c, 0x03,
+  0xbc, 0xb2, 0xf3, 0xfc, 0xfa, 0xa6, 0x49, 0xee, 0x52, 0x92, 0xff, 0x27,
+  0x0d, 0x37, 0x41, 0x17, 0xaf, 0x91, 0xfa, 0x57, 0xa9, 0x11, 0xdf, 0xb4,
+  0x86, 0xb8, 0x65, 0xc7, 0xee, 0xd2, 0x6f, 0xcc, 0x36, 0xe7, 0x05, 0x71,
+  0x1a, 0xce, 0x38, 0xad, 0xe9, 0x20, 0x15, 0xe6, 0xbc, 0x36, 0xe6, 0xda,
+  0x5e, 0xd2, 0xbf, 0x6e, 0xcc, 0xc5, 0x8c, 0x39, 0x90, 0x8e, 0xe2, 0xee,
+  0x7a, 0x43, 0xcb, 0x49, 0x6b, 0x63, 0xef, 0x13, 0xb3, 0x48, 0x7d, 0x59,
+  0x66, 0xfb, 0x46, 0x6d, 0x0e, 0x9c, 0x11, 0x16, 0x76, 0x67, 0xf4, 0x48,
+  0xee, 0xf5, 0x78, 0x9c, 0xe8, 0x63, 0x5a, 0xd3, 0xdd, 0xcd, 0x37, 0xb4,
+  0xe9, 0xbc, 0x37, 0x58, 0x33, 0x69, 0xe9, 0x47, 0xd2, 0x12, 0x3a, 0xba,
+  0x08, 0x5e, 0x9b, 0x96, 0x66, 0x93, 0x99, 0xde, 0x1a, 0xf9, 0x48, 0x23,
+  0x23, 0xa9, 0x87, 0x59, 0xc1, 0x26, 0x37, 0x6d, 0xd2, 0x0f, 0xf3, 0x86,
+  0xc4, 0x3e, 0x14, 0x4b, 0xd3, 0x5f, 0x33, 0x29, 0xd0, 0x0d, 0x8d, 0xec,
+  0xf4, 0xc6, 0x8f, 0x1b, 0xcb, 0x3c, 0x9b, 0xdc, 0x1a, 0xc5, 0xc1, 0xe8,
+  0x88, 0x99, 0x7d, 0x0b, 0x57, 0xec, 0x84, 0xd4, 0x95, 0x99, 0x39, 0x2f,
+  0x93, 0xb2, 0xaa, 0x48, 0x09, 0xa7, 0x15, 0x1c, 0xb3, 0x5c, 0x9b, 0x67,
+  0xe6, 0x66, 0xf7, 0xa7, 0x33, 0xa7, 0x3b, 0xc6, 0xc8, 0x17, 0xa3, 0x2a,
+  0x40, 0x82, 0x98, 0x2b, 0x1d, 0x62, 0x18, 0x03, 0x47, 0xef, 0xa8, 0xed,
+  0xc9, 0x24, 0x5b, 0x34, 0x75, 0x6c, 0x4c, 0xba, 0xe0, 0xa6, 0x3b, 0x55,
+  0x46, 0x33, 0xef, 0xeb, 0x41, 0x98, 0x57, 0x7b, 0x0f, 0x43, 0x15, 0x52,
+  0xd5, 0xc2, 0xa8, 0x46, 0xb5, 0x9d, 0xb5, 0x06, 0x7b, 0xc3, 0x88, 0x31,
+  0xcc, 0xf9, 0x9c, 0x3a, 0x4a, 0x0f, 0xd7, 0x7c, 0x52, 0x21, 0x2e, 0x69,
+  0x21, 0x59, 0xf9, 0xe5, 0xef, 0xd2, 0x6d, 0x62, 0xe6, 0xd3, 0x36, 0x6e,
+  0xbe, 0x6a, 0xd7, 0x94, 0x3e, 0x5f, 0x1b, 0xb3, 0xc1, 0x5c, 0xae, 0xd3,
+  0xfa, 0xc6, 0xe8, 0x43, 0xb5, 0x9c, 0xec, 0x7c, 0x6e, 0xf6, 0xcc, 0x2d,
+  0xad, 0xef, 0x22, 0xcb, 0xa6, 0xc3, 0xe4, 0xec, 0x8a, 0xa4, 0x6a, 0x65,
+  0x3a, 0xdd, 0xe0, 0xd7, 0x24, 0xe8, 0xcd, 0xbc, 0x4d, 0xa1, 0x57, 0xdb,
+  0xa3, 0xc5, 0x5d, 0xf1, 0x24, 0x36, 0xed, 0x34, 0x33, 0xd9, 0x09, 0x49,
+  0xb9, 0x59, 0xfb, 0x56, 0xc0, 0x39, 0x34, 0xd2, 0x9b, 0xba, 0x37, 0xce,
+  0x12, 0xec, 0xc4, 0x71, 0xd6, 0xdc, 0x65, 0x99, 0x6d, 0xae, 0xce, 0xcc,
+  0x4d, 0x44, 0x8b, 0xc6, 0xca, 0x18, 0x84, 0x21, 0x4d, 0xed, 0xf9, 0xc5,
+  0xd9, 0xd7, 0x17, 0xc7, 0xa3, 0x51, 0xf2, 0xf6, 0xf8, 0xf2, 0xf8, 0xa2,
+  0x35, 0xd3, 0x45, 0x59, 0xcd, 0xb1, 0xa2, 0xd3, 0xbc, 0x5e, 0xcc, 0xd2,
+  0x7b, 0x5a, 0x6a, 0x33, 0x92, 0xeb, 0x8a, 0x4e, 0xd6, 0x3c, 0xa3, 0x5b,
+  0x61, 0xba, 0x84, 0x24, 0x4b, 0x4a, 0x23, 0x1f, 0x52, 0x51, 0x42, 0x49,
+  0x98, 0x40, 0x73, 0x2d, 0xae, 0xdd, 0x4c, 0x1b, 0x89, 0x23, 0x97, 0x1b,
+  0xdd, 0x6e, 0x76, 0x3d, 0x48, 0x1b, 0x84, 0xbd, 0xd1, 0x77, 0x3f, 0xe3,
+  0x69, 0xaa, 0x31, 0x26, 0xb3, 0x67, 0xf3, 0x39, 0x84, 0x9d, 0xf9, 0xd3,
+  0x29, 0x80, 0xd9, 0x95, 0xd1, 0x7e, 0xcd, 0x85, 0xc7, 0xca, 0x7b, 0xb7,
+  0x4f, 0xda, 0x5b, 0xab, 0xb2, 0x9a, 0x6d, 0x48, 0xa2, 0x99, 0x1a, 0xe4,
+  0xae, 0xf0, 0x17, 0xac, 0x10, 0x33, 0x6a, 0x02, 0xc9, 0x3e, 0x79, 0x6c,
+  0x41, 0x5d, 0xc8, 0xcc, 0xca, 0x4e, 0xb9, 0xf9, 0x7a, 0x79, 0x85, 0x83,
+  0x9c, 0x6c, 0x19, 0x65, 0xf9, 0xad, 0x31, 0x60, 0x8c, 0x11, 0xd1, 0x4f,
+  0xce, 0xb7, 0xf1, 0xde, 0xde, 0xee, 0xfe, 0x53, 0x16, 0x04, 0x43, 0x6d,
+  0xee, 0x8d, 0x27, 0x88, 0xf7, 0x3e, 0xd2, 0xf2, 0xf2, 0x43, 0xd4, 0xf8,
+  0x30, 0xd9, 0x7b, 0xcb, 0x3f, 0x79, 0xfa, 0xf9, 0xb3, 0xcf, 0x9e, 0xcb,
+  0x0f, 0xdb, 0x1b, 0xdc, 0xf6, 0x1f, 0xbb, 0x03, 0xc6, 0x18, 0x59, 0x67,
+  0xa6, 0x27, 0x66, 0x74, 0xf3, 0xbc, 0x30, 0xc7, 0xc4, 0x1c, 0x2b, 0x91,
+  0x55, 0xb4, 0x9f, 0x4d, 0xe7, 0xaf, 0x58, 0xb2, 0xc9, 0xba, 0xb6, 0xad,
+  0x3c, 0xf3, 0xb2, 0xd9, 0xb2, 0x46, 0x96, 0xdb, 0x45, 0xc2, 0x4c, 0x98,
+  0x03, 0x46, 0xb7, 0xce, 0x98, 0x04, 0x2c, 0x99, 0x3a, 0x46, 0x27, 0xcd,
+  0xa2, 0x5f, 0xb3, 0xb7, 0xa2, 0x79, 0xc3, 0xf4, 0xcd, 0xdc, 0x89, 0x74,
+  0xcd, 0x85, 0xf3, 0x6e, 0x44, 0x01, 0x24, 0xe4, 0x5d, 0x5e, 0x43, 0x34,
+  0xdc, 0x95, 0xcb, 0x99, 0x31, 0x2c, 0xe8, 0x81, 0xe5, 0x02, 0x2f, 0x98,
+  0x4f, 0x2d, 0x9c, 0x0c, 0x98, 0xe7, 0x9f, 0x68, 0xef, 0x74, 0x5b, 0x31,
+  0x5d, 0x33, 0xff, 0x5c, 0x98, 0xad, 0xc4, 0xdd, 0x19, 0x76, 0x6f, 0x08,
+  0xc8, 0xbe, 0x60, 0x27, 0xd2, 0x99, 0x87, 0xd0, 0x3e, 0x3f, 0x1b, 0x5d,
+  0x92, 0x06, 0x70, 0xfe, 0xfe, 0xd2, 0x34, 0x64, 0x54, 0x80, 0xba, 0x31,
+  0x9b, 0x92, 0x5e, 0x2c, 0x32, 0x58, 0x75, 0xda, 0x9c, 0xd9, 0x7b, 0x39,
+  0x04, 0x15, 0xd4, 0x1a, 0xfd, 0x24, 0xf7, 0x91, 0xcd, 0x5e, 0x3a, 0x82,
+  0x6a, 0xf4, 0xf2, 0x1d, 0x6e, 0xdf, 0x49, 0xb6, 0xbe, 0xdc, 0x36, 0x7b,
+  0x76, 0x50, 0xda, 0xd9, 0x19, 0x0c, 0xe4, 0x55, 0xf3, 0xed, 0x3a, 0x9f,
+  0xe7, 0xb3, 0xd4, 0x53, 0xaf, 0x44, 0xa2, 0xd2, 0xf9, 0xb4, 0x72, 0x65,
+  0x62, 0x76, 0x0d, 0xba, 0xed, 0xac, 0x3b, 0x9a, 0x43, 0x48, 0x25, 0xb7,
+  0x54, 0x53, 0x52, 0x08, 0xa0, 0xc4, 0x2e, 0x72, 0x3b, 0x75, 0xb4, 0x66,
+  0x24, 0xae, 0x5a, 0x13, 0xd5, 0x5d, 0xb7, 0x60, 0xe2, 0xe8, 0x46, 0x82,
+  0xfb, 0xc0, 0x4e, 0x5d, 0xd2, 0x1b, 0xa7, 0x55, 0x2f, 0xb1, 0xb2, 0x98,
+  0xcf, 0x26, 0x9d, 0x90, 0x2a, 0xbb, 0x5e, 0x9a, 0x11, 0x24, 0x3c, 0xbb,
+  0x34, 0xd2, 0x3f, 0x78, 0x23, 0xd5, 0x06, 0x06, 0x63, 0x7a, 0x24, 0xaf,
+  0xd9, 0xf2, 0xbb, 0x32, 0xa6, 0x04, 0x1d, 0x1a, 0xd5, 0x6c, 0xa1, 0xd1,
+  0xc8, 0x8e, 0x89, 0x6c, 0x18, 0xbb, 0x4b, 0x4b, 0x3a, 0x2a, 0x4d, 0x66,
+  0x04, 0x0d, 0xc4, 0x3f, 0x3d, 0x39, 0x30, 0x4b, 0x36, 0x18, 0xd4, 0x66,
+  0xfe, 0x49, 0x1d, 0x5e, 0x88, 0x99, 0x7d, 0x06, 0x1f, 0x86, 0x75, 0x78,
+  0x9c, 0xb1, 0xab, 0x83, 0xaf, 0x4d, 0x7e, 0x17, 0x22, 0xd4, 0x28, 0xaa,
+  0x77, 0xe6, 0xc3, 0xa9, 0x59, 0x32, 0x73, 0xe0, 0xde, 0xd2, 0x44, 0xb1,
+  0xbb, 0x22, 0x91, 0xa6, 0xea, 0x04, 0x3b, 0x23, 0xa7, 0x73, 0x9f, 0x3a,
+  0x5d, 0x66, 0x3a, 0xcd, 0xe9, 0xb7, 0xe6, 0x7c, 0x99, 0x1b, 0x6e, 0x99,
+  0xc1, 0x1c, 0x90, 0x49, 0x9d, 0xbb, 0xc9, 0x84, 0x65, 0x59, 0xdf, 0x94,
+  0x64, 0xb9, 0xf5, 0x58, 0x16, 0x0f, 0xe8, 0x5b, 0x3d, 0xdc, 0xe7, 0xf3,
+  0x44, 0xbf, 0x25, 0x9f, 0x32, 0xe3, 0x98, 0xfa, 0xba, 0x59, 0xdf, 0x5c,
+  0x34, 0xf7, 0x9e, 0xde, 0x0e, 0x59, 0xcd, 0x7d, 0xaf, 0xac, 0xc2, 0x63,
+  0xae, 0xd4, 0x05, 0x29, 0x53, 0x22, 0xc3, 0x71, 0x19, 0xe2, 0xc8, 0xd6,
+  0xdc, 0xb5, 0xbe, 0x99, 0x5b, 0x7a, 0xf2, 0xfa, 0x46, 0x1f, 0xf5, 0x2e,
+  0xd6, 0xd4, 0x0c, 0x8e, 0x2e, 0x07, 0x32, 0x71, 0xa7, 0x2a, 0xf7, 0xcb,
+  0x8a, 0x85, 0xd9, 0xac, 0x34, 0x7b, 0xb9, 0xc7, 0x2a, 0xab, 0x74, 0x9b,
+  0x7a, 0x4d, 0xbd, 0xa4, 0x19, 0x67, 0xd7, 0x4f, 0x69, 0xd7, 0xc6, 0x76,
+  0x5a, 0xe6, 0xab, 0x7e, 0xb0, 0x6b, 0x6e, 0xa2, 0x46, 0x98, 0x23, 0x73,
+  0x75, 0xd6, 0xb4, 0x8f, 0x75, 0xe6, 0xb1, 0xbd, 0xcd, 0x55, 0xb7, 0xd9,
+  0xf0, 0x79, 0x84, 0xd9, 0xd3, 0x99, 0xf9, 0x1a, 0xdb, 0x47, 0x2e, 0x32,
+  0x3b, 0x32, 0x33, 0xa2, 0x69, 0x9e, 0x62, 0x9f, 0xf0, 0xd2, 0x40, 0x19,
+  0x71, 0x46, 0x5a, 0x44, 0x0f, 0xbe, 0xef, 0xda, 0x58, 0xb3, 0x99, 0x7f,
+  0x25, 0x69, 0x9f, 0x06, 0x67, 0x66, 0xec, 0xa7, 0x18, 0xc7, 0xe0, 0x36,
+  0xa1, 0xe3, 0x67, 0xcc, 0x06, 0x3a, 0x8b, 0x83, 0xb3, 0xd3, 0x5b, 0xef,
+  0x18, 0x91, 0x31, 0x5d, 0x90, 0x9e, 0xd2, 0x87, 0xc3, 0x62, 0x5c, 0x96,
+  0xc6, 0x72, 0x75, 0x43, 0xa3, 0xfb, 0x20, 0x2b, 0x68, 0xb7, 0xcb, 0x8a,
+  0x1a, 0x91, 0xb0, 0xb0, 0xf2, 0xf6, 0xde, 0x98, 0x4b, 0xe9, 0x75, 0x9a,
+  0xdb, 0xfd, 0x26, 0x27, 0x63, 0x9a, 0xe8, 0xc3, 0x45, 0x29, 0xcf, 0xd3,
+  0x52, 0x91, 0x0a, 0x24, 0x72, 0x6b, 0x59, 0xf3, 0xf1, 0x31, 0xa3, 0x32,
+  0x92, 0x07, 0xb2, 0x43, 0xda, 0x25, 0xb5, 0x51, 0x9b, 0x1b, 0x43, 0x51,
+  0x26, 0x9d, 0x13, 0xc2, 0x17, 0x1a, 0xa4, 0x69, 0xb1, 0x37, 0x4c, 0xbe,
+  0x29, 0xef, 0x32, 0xb8, 0xef, 0xa0, 0xdf, 0xe7, 0xe4, 0x80, 0x32, 0xaa,
+  0xe0, 0x5d, 0x96, 0xcc, 0x8d, 0xea, 0x69, 0x66, 0x13, 0xda, 0x07, 0x7e,
+  0x66, 0xfa, 0xe9, 0x6c, 0x96, 0xf2, 0x8e, 0x67, 0xc9, 0x8e, 0xc2, 0x2e,
+  0xe5, 0x15, 0x1f, 0x89, 0x64, 0x0b, 0xea, 0xcd, 0x84, 0x66, 0x6b, 0xd1,
+  0xb8, 0x51, 0xd8, 0x09, 0xb9, 0x4b, 0x6b, 0xef, 0x70, 0xb1, 0x71, 0x9a,
+  0x7c, 0x36, 0xdc, 0x7b, 0x31, 0xdc, 0x1d, 0x92, 0x29, 0x92, 0xdd, 0xe6,
+  0xe5, 0xb2, 0xa6, 0xf5, 0xa4, 0x9e, 0x78, 0xa7, 0x93, 0xdc, 0x44, 0xb4,
+  0xbc, 0xd7, 0xd7, 0x33, 0x56, 0x7c, 0x76, 0xca, 0xab, 0xab, 0xc4, 0x53,
+  0x8e, 0xaa, 0x6c, 0xc1, 0x36, 0x10, 0xcd, 0x8d, 0x1c, 0x38, 0x16, 0xaa,
+  0xbe, 0x56, 0x24, 0xb3, 0xe9, 0x3c, 0x0a, 0x83, 0x41, 0x3a, 0xae, 0x1b,
+  0x32, 0xa7, 0x06, 0xcb, 0x22, 0xff, 0x34, 0xa8, 0xcb, 0xc9, 0x47, 0xb3,
+  0x2c, 0x2f, 0x17, 0x69, 0x73, 0xf3, 0x65, 0xc7, 0x53, 0xbb, 0x45, 0xb7,
+  0xc9, 0x76, 0x92, 0x1c, 0xb1, 0x62, 0x49, 0x73, 0x51, 0xf1, 0x89, 0x33,
+  0xeb, 0x29, 0xad, 0x24, 0xef, 0x4d, 0x2b, 0x66, 0x37, 0xcf, 0xcd, 0xb2,
+  0x26, 0xdc, 0x58, 0x5f, 0x85, 0x69, 0xa7, 0x39, 0x78, 0x01, 0xe9, 0x22,
+  0x81, 0x33, 0xcd, 0x1c, 0x9e, 0xb2, 0xfa, 0x38, 0x24, 0xb7, 0x85, 0xb1,
+  0x1a, 0x0f, 0x68, 0x43, 0x37, 0x46, 0x8c, 0x35, 0x3c, 0xef, 0xb5, 0x08,
+  0x61, 0xea, 0x16, 0xcb, 0x64, 0x27, 0xa5, 0x74, 0x3e, 0xb5, 0x07, 0xf2,
+  0xd9, 0x44, 0xed, 0x0d, 0xd9, 0x7a, 0x9b, 0x7f, 0x36, 0x16, 0xe0, 0x0d,
+  0x2f, 0x3c, 0x1a, 0xe3, 0x31, 0x9a, 0x3d, 0x7a, 0x6d, 0x6c, 0x88, 0xa2,
+  0xe9, 0x34, 0x67, 0xbe, 0x4a, 0x97, 0x35, 0xdd, 0x33, 0x6c, 0xee, 0x62,
+  0x9b, 0x88, 0x5b, 0xc6, 0x5a, 0xa0, 0xc3, 0x8d, 0xce, 0x6b, 0x87, 0xba,
+  0xaa, 0x9f, 0x0d, 0x9f, 0x3d, 0x31, 0x8b, 0xea, 0x4f, 0x74, 0x71, 0x4f,
+  0xee, 0xcc, 0xf8, 0xa4, 0x5e, 0x9a, 0xbb, 0xb4, 0x66, 0xf5, 0xc4, 0x9c,
+  0xe1, 0xab, 0xfc, 0x7a, 0x59, 0x65, 0x7c, 0xa9, 0xc1, 0x03, 0xaa, 0x8e,
+  0x4f, 0xba, 0x27, 0x6e, 0x4a, 0xf8, 0x0b, 0x8d, 0x7c, 0xc9, 0x66, 0x57,
+  0xfd, 0xee, 0x2c, 0x90, 0x46, 0x47, 0x5b, 0x00, 0x43, 0xc4, 0x26, 0x32,
+  0x9a, 0x1b, 0x1a, 0x2b, 0x32, 0xb9, 0xd7, 0xe7, 0x66, 0x82, 0x13, 0x72,
+  0x98, 0x25, 0x93, 0x59, 0x9a, 0xcf, 0x61, 0xee, 0x88, 0x43, 0x68, 0xd8,
+  0x69, 0xee, 0x52, 0xd4, 0x71, 0x68, 0xe2, 0x63, 0xb2, 0x06, 0xaa, 0x9a,
+  0x84, 0x15, 0x4d, 0x42, 0xaa, 0xca, 0x04, 0xeb, 0xda, 0x37, 0xd9, 0xe4,
+  0xa3, 0xae, 0xa6, 0xde, 0xc2, 0x83, 0x4e, 0x73, 0xe4, 0x09, 0x85, 0xc9,
+  0x61, 0x9e, 0x5a, 0x9a, 0x35, 0x5d, 0x94, 0x75, 0x9d, 0x93, 0x47, 0x81,
+  0x34, 0xe4, 0xe5, 0x04, 0x8a, 0x33, 0x99, 0xd8, 0x9f, 0xcc, 0x4a, 0xea,
+  0x96, 0x48, 0xcc, 0x1e, 0x2b, 0xa6, 0x83, 0xa6, 0xca, 0x17, 0xab, 0x7a,
+  0xc7, 0x57, 0x46, 0xfb, 0xce, 0xae, 0xc5, 0x88, 0x81, 0x7d, 0xc0, 0x16,
+  0xc3, 0x24, 0xe9, 0xcc, 0x66, 0xa7, 0x39, 0x9e, 0xdb, 0x3e, 0x99, 0xc8,
+  0xb9, 0x11, 0xa1, 0xac, 0x3f, 0xc2, 0x03, 0x64, 0xb4, 0x45, 0x39, 0xcb,
+  0x46, 0xb1, 0xcd, 0x27, 0xb8, 0x17, 0xf2, 0xeb, 0x8c, 0x3c, 0xce, 0xe6,
+  0x78, 0x37, 0x33, 0x73, 0x5b, 0x78, 0x82, 0xc2, 0xae, 0x78, 0x91, 0x5d,
+  0x97, 0x0d, 0x09, 0xe8, 0x60, 0x9b, 0xbc, 0xc7, 0xc6, 0xb7, 0x7b, 0x42,
+  0x35, 0x21, 0xff, 0x9a, 0xca, 0x59, 0x45, 0x31, 0x9f, 0x66, 0x4d, 0x48,
+  0x8c, 0xb0, 0xba, 0x31, 0x3b, 0xb0, 0xbb, 0xea, 0xa6, 0xb5, 0x49, 0x06,
+  0x75, 0x14, 0x77, 0xa9, 0x5e, 0xe5, 0xaa, 0x03, 0x8d, 0xc9, 0x64, 0x23,
+  0xf3, 0xf8, 0x2e, 0x9f, 0x64, 0xea, 0xa1, 0x10, 0x4f, 0xda, 0x2c, 0x0f,
+  0xf7, 0xfe, 0x7c, 0x59, 0xc3, 0x6a, 0x62, 0x35, 0x85, 0x0c, 0xca, 0xbb,
+  0x9c, 0xd4, 0x98, 0x93, 0x2b, 0x39, 0xab, 0x74, 0x8b, 0xf2, 0xf9, 0x48,
+  0xab, 0x1c, 0xd6, 0xb3, 0x69, 0x4e, 0xfa, 0xe9, 0x19, 0x39, 0x6a, 0xb7,
+  0xb9, 0x7e, 0xe3, 0x7d, 0xd1, 0xec, 0x9c, 0x46, 0x07, 0x43, 0xf2, 0x2a,
+  0xcd, 0x67, 0x91, 0x79, 0x82, 0x82, 0x6a, 0x2c, 0xd2, 0x9b, 0xac, 0x92,
+  0x35, 0x58, 0xd2, 0xa4, 0x53, 0x74, 0x20, 0x78, 0x7a, 0x94, 0x65, 0xac,
+  0x62, 0x41, 0x1f, 0xfb, 0x74, 0x6f, 0xa7, 0x17, 0xf7, 0x18, 0xaf, 0x9d,
+  0xfc, 0x9d, 0x97, 0xcf, 0x3b, 0x9e, 0x29, 0xb5, 0x9a, 0x2e, 0xc8, 0x0d,
+  0xde, 0x3d, 0xa1, 0xa4, 0x8d, 0x52, 0x24, 0x65, 0x5b, 0x9d, 0x6a, 0xe2,
+  0x54, 0x2c, 0x6c, 0x04, 0x02, 0xc2, 0x81, 0x1c, 0xfe, 0x72, 0x84, 0xb9,
+  0x1d, 0xd1, 0x94, 0x3a, 0xcd, 0x19, 0xd5, 0x8c, 0xfc, 0x84, 0x30, 0xc2,
+  0x5b, 0x3b, 0xd6, 0x18, 0xc4, 0x95, 0xf5, 0x83, 0x93, 0x13, 0x8c, 0xe6,
+  0x5b, 0x75, 0x4f, 0x9c, 0x59, 0xbc, 0xd4, 0x69, 0x8e, 0xb4, 0x61, 0x52,
+  0x1d, 0xcc, 0xa1, 0xc9, 0x69, 0x3f, 0x62, 0x13, 0xa8, 0x2b, 0xd4, 0x6c,
+  0x5f, 0xf6, 0x8c, 0xa9, 0x5c, 0x65, 0x65, 0x03, 0xdd, 0xbd, 0x9a, 0xa5,
+  0xd7, 0x66, 0xdf, 0x75, 0x9a, 0xcb, 0xaf, 0x8d, 0x8d, 0xcb, 0x01, 0x89,
+  0xba, 0x34, 0xb7, 0x07, 0x8d, 0x5b, 0xec, 0x7d, 0x63, 0xee, 0x99, 0x6d,
+  0x36, 0x5b, 0x42, 0x02, 0x9e, 0x99, 0x01, 0x8e, 0x46, 0xdf, 0x6c, 0xfb,
+  0x02, 0x0e, 0xf3, 0xfb, 0x18, 0xf1, 0x06, 0xf9, 0x04, 0xd3, 0x24, 0xf9,
+  0x0a, 0x6b, 0xd2, 0x95, 0x72, 0xbc, 0xd2, 0x91, 0xc9, 0xd3, 0x89, 0x20,
+  0x17, 0xd1, 0x50, 0x04, 0x00, 0x24, 0x00, 0xa6, 0x49, 0xbd, 0x55, 0xbc,
+  0xc3, 0xc9, 0x8b, 0xc0, 0xd7, 0xb4, 0xf9, 0xdb, 0xb2, 0x5e, 0x92, 0xe1,
+  0xde, 0x69, 0x6e, 0x61, 0x04, 0x59, 0x63, 0x8c, 0x37, 0x23, 0x91, 0x96,
+  0x05, 0xfd, 0x69, 0xb5, 0x8b, 0x1c, 0x7a, 0x2e, 0x2d, 0x49, 0x45, 0xce,
+  0x41, 0xb2, 0x10, 0xec, 0xdd, 0x6c, 0x44, 0x8b, 0xb4, 0xdc, 0x5d, 0x5a,
+  0xb8, 0x4f, 0x28, 0x78, 0x01, 0xb1, 0x33, 0xcd, 0x29, 0xf0, 0x45, 0x07,
+  0x6f, 0x85, 0x14, 0xdf, 0xaa, 0x97, 0x46, 0xce, 0x90, 0x56, 0xc5, 0x42,
+  0x24, 0x10, 0x20, 0x2a, 0x64, 0x8c, 0x02, 0xe7, 0x49, 0x93, 0xed, 0xdf,
+  0xfa, 0x98, 0x60, 0xe1, 0xfc, 0x95, 0x9c, 0x18, 0x7d, 0xd6, 0x68, 0xaa,
+  0x2f, 0x69, 0xbf, 0x05, 0x5a, 0xc0, 0xe5, 0xe9, 0x28, 0xb6, 0xa0, 0x6d,
+  0x67, 0x3a, 0xbd, 0x4f, 0x22, 0x97, 0xfc, 0x2b, 0xec, 0x6f, 0x2a, 0x49,
+  0x5b, 0x32, 0x2a, 0x67, 0x30, 0x67, 0x74, 0xad, 0x67, 0xa6, 0x9b, 0x62,
+  0x48, 0x70, 0xa0, 0x8e, 0xc4, 0x98, 0x51, 0xa3, 0x1a, 0x52, 0x23, 0xac,
+  0x6f, 0xe9, 0xe8, 0xd0, 0x6f, 0x17, 0xce, 0xa4, 0xee, 0x06, 0xf1, 0x7e,
+  0xbf, 0x55, 0x6f, 0x5b, 0x49, 0x66, 0x5a, 0x39, 0x3f, 0x7e, 0x0b, 0xc5,
+  0x3e, 0x35, 0x1b, 0xe7, 0x9d, 0xfa, 0x71, 0x34, 0x0e, 0x37, 0x5e, 0xe6,
+  0xb3, 0x96, 0xb3, 0xd4, 0xd9, 0x22, 0x08, 0x82, 0xf1, 0xbe, 0x42, 0xd7,
+  0xd8, 0xed, 0x9f, 0xc3, 0x6f, 0xd6, 0xdd, 0x65, 0xcd, 0xfd, 0x42, 0x5c,
+  0x7e, 0xcb, 0xba, 0x65, 0x59, 0xeb, 0xed, 0x3c, 0x6b, 0xa0, 0x7c, 0x90,
+  0xc2, 0xef, 0xb5, 0x19, 0xac, 0x10, 0xba, 0x45, 0x97, 0xc1, 0x75, 0x91,
+  0xff, 0x5d, 0x7c, 0x0b, 0x59, 0x71, 0x9b, 0x57, 0x65, 0x41, 0xaa, 0x8a,
+  0xb1, 0x09, 0xaa, 0x1c, 0xc2, 0x99, 0xd4, 0x5d, 0x23, 0x3e, 0x36, 0x8f,
+  0xde, 0x5f, 0x9c, 0x7e, 0x38, 0x3a, 0xfc, 0xf0, 0xd5, 0xfb, 0x77, 0xaf,
+  0x4f, 0x8f, 0x37, 0xbb, 0x87, 0xfa, 0x8a, 0xc5, 0x02, 0x1d, 0x94, 0x9a,
+  0x14, 0x32, 0x9c, 0x10, 0xd3, 0x45, 0x6e, 0xf9, 0x3a, 0xbf, 0x35, 0x62,
+  0x0d, 0xaa, 0x15, 0x9c, 0x97, 0xf8, 0x1b, 0xcc, 0x7d, 0x99, 0xf0, 0x4e,
+  0x73, 0x63, 0x73, 0x1f, 0x9b, 0x4e, 0xf3, 0xe9, 0x93, 0xc1, 0xeb, 0x49,
+  0x11, 0x73, 0x46, 0x3b, 0x18, 0x8c, 0x8c, 0x96, 0x98, 0x2e, 0x13, 0x52,
+  0xe9, 0x3c, 0xed, 0xd9, 0xf3, 0x63, 0x2e, 0x1b, 0xa3, 0x3c, 0xaa, 0xe7,
+  0xd4, 0x58, 0x67, 0xe5, 0x47, 0x8d, 0x88, 0x1a, 0xcd, 0xf3, 0x30, 0xb2,
+  0xdc, 0x35, 0xaf, 0x0b, 0x4f, 0xc5, 0x26, 0xb5, 0x64, 0xf6, 0xef, 0x40,
+  0x3a, 0x39, 0xa9, 0x1a, 0xa3, 0xf6, 0x65, 0x39, 0x0e, 0x86, 0x86, 0x7c,
+  0x48, 0x2d, 0x86, 0xd7, 0xa2, 0xab, 0x9f, 0x18, 0xa3, 0xf0, 0x9e, 0xe6,
+  0x80, 0x1a, 0x19, 0x66, 0x9f, 0x32, 0x9c, 0x3c, 0x79, 0xeb, 0x68, 0x59,
+  0xe1, 0x2c, 0x7f, 0x6f, 0x74, 0x12, 0x92, 0x80, 0xaf, 0xe1, 0xf6, 0x30,
+  0x2f, 0xe8, 0x43, 0xe6, 0xb2, 0xe9, 0x5e, 0x7c, 0xe5, 0x6c, 0x4a, 0xee,
+  0x05, 0x98, 0x98, 0x70, 0x08, 0x9c, 0x1f, 0x5e, 0x7e, 0x13, 0xcc, 0x09,
+  0x89, 0x79, 0x07, 0x3f, 0x90, 0xad, 0x08, 0xc3, 0xa8, 0x6e, 0xe4, 0x80,
+  0xbc, 0x1b, 0x8d, 0x12, 0x04, 0xb7, 0x67, 0xf9, 0xb8, 0x4a, 0xe9, 0x9b,
+  0xf4, 0x63, 0xfa, 0xa9, 0xd9, 0xd6, 0x9d, 0xe6, 0xce, 0xbf, 0x3d, 0x1a,
+  0xfd, 0x61, 0x6f, 0xcf, 0x28, 0x7f, 0xd3, 0xa5, 0x99, 0x97, 0x2d, 0xf3,
+  0x4a, 0x51, 0x9b, 0x93, 0x39, 0x1f, 0xd6, 0xe5, 0x36, 0x2e, 0x6f, 0x68,
+  0x7c, 0xb8, 0x1e, 0xd2, 0x5b, 0x73, 0xeb, 0x62, 0x27, 0xf1, 0x1c, 0xd3,
+  0x7e, 0xee, 0xaa, 0xe9, 0xbc, 0xc0, 0x1a, 0xfb, 0x37, 0x12, 0xc3, 0xdc,
+  0xdb, 0xb3, 0xfb, 0x60, 0x14, 0x5b, 0xf9, 0xd9, 0x48, 0x22, 0xe7, 0xe9,
+  0xc4, 0xfc, 0x95, 0x6c, 0xa8, 0x6d, 0x1a, 0x5b, 0xfb, 0x8c, 0xe9, 0xb8,
+  0x46, 0xac, 0x95, 0x5e, 0x92, 0x8b, 0x13, 0x01, 0xff, 0x50, 0x2e, 0x14,
+  0xdd, 0xe3, 0xe5, 0x40, 0x15, 0xe8, 0xec, 0x38, 0x9d, 0x7c, 0xbc, 0x4b,
+  0xab, 0x29, 0x3b, 0x4c, 0xcc, 0x9e, 0x19, 0xe7, 0xb3, 0xbc, 0xb9, 0xe7,
+  0xdb, 0xa3, 0x3b, 0x0a, 0x0e, 0x1d, 0xd1, 0x14, 0x9a, 0x93, 0x74, 0x6d,
+  0x6c, 0x21, 0xd2, 0x42, 0xc9, 0x42, 0x34, 0x07, 0xc3, 0xd3, 0xf5, 0xa1,
+  0x2a, 0x35, 0x56, 0xd5, 0xb1, 0xdf, 0xee, 0x34, 0x07, 0xf7, 0x13, 0x9d,
+  0x24, 0x74, 0xd3, 0xed, 0x5e, 0x15, 0x84, 0xbe, 0x98, 0xd2, 0x0d, 0x94,
+  0xd4, 0xf7, 0xe6, 0xb6, 0x9f, 0x27, 0x11, 0x55, 0x11, 0x58, 0x87, 0xe4,
+  0xdb, 0xec, 0xde, 0x18, 0x16, 0x79, 0xe1, 0x64, 0x25, 0xfb, 0x88, 0x32,
+  0xb2, 0x54, 0x59, 0x27, 0xcd, 0xd5, 0xcf, 0x98, 0x89, 0xab, 0x98, 0x6f,
+  0x92, 0xd0, 0xb2, 0xe2, 0xf7, 0x55, 0x1f, 0xa7, 0x26, 0x36, 0xeb, 0x96,
+  0x50, 0xc6, 0x97, 0x62, 0x5b, 0x31, 0xb8, 0x38, 0xe1, 0x32, 0xe1, 0x98,
+  0x30, 0xb9, 0x9c, 0x6b, 0xde, 0x7b, 0xb3, 0xb4, 0x6e, 0x60, 0x53, 0x60,
+  0xdc, 0xe2, 0x99, 0x68, 0xdf, 0x21, 0x90, 0x23, 0x2f, 0xcd, 0x41, 0xfb,
+  0xc7, 0xaf, 0x10, 0x3e, 0xae, 0x38, 0x9e, 0xa1, 0x54, 0x95, 0xb9, 0x6a,
+  0x5d, 0x25, 0x6f, 0xf5, 0xce, 0xa0, 0x4e, 0x58, 0xef, 0xc9, 0x82, 0x63,
+  0x7d, 0xac, 0xde, 0xb0, 0x1b, 0x28, 0x54, 0x57, 0xc9, 0x92, 0x17, 0x6f,
+  0xc1, 0x41, 0x2f, 0xd9, 0xca, 0x86, 0xd7, 0xa6, 0xbd, 0x1e, 0xb5, 0xb3,
+  0x77, 0x40, 0xff, 0xdd, 0xc7, 0x7f, 0x9f, 0xf4, 0x14, 0x28, 0xe3, 0x2f,
+  0x35, 0xdd, 0x37, 0x5d, 0x69, 0x29, 0xae, 0x74, 0xba, 0x7f, 0xe4, 0x02,
+  0x12, 0x01, 0x4c, 0x72, 0x39, 0x7e, 0x38, 0x58, 0xbb, 0x3a, 0xed, 0x47,
+  0x34, 0x20, 0x37, 0x11, 0xb8, 0xdb, 0x60, 0x9b, 0x8e, 0xc9, 0xed, 0x64,
+  0xc6, 0x36, 0x31, 0x1a, 0x0c, 0x3c, 0x00, 0x1c, 0x98, 0xa2, 0xe9, 0x98,
+  0x7c, 0xa8, 0xb2, 0x9b, 0xb4, 0x36, 0xca, 0xd4, 0xb2, 0xc1, 0xe9, 0xe8,
+  0x5a, 0x0e, 0xe6, 0x48, 0xcd, 0x72, 0xeb, 0x72, 0x91, 0x0f, 0x0f, 0xad,
+  0x81, 0x22, 0xab, 0xc8, 0xce, 0xcb, 0x59, 0x79, 0xa7, 0x4f, 0x0c, 0x04,
+  0xb9, 0x12, 0xbb, 0xb8, 0xcc, 0x6a, 0x02, 0xfc, 0x42, 0x8f, 0xf9, 0x41,
+  0xa8, 0x39, 0x69, 0x3b, 0x04, 0xab, 0x31, 0x47, 0xf0, 0xca, 0xcc, 0x18,
+  0x59, 0x1e, 0x33, 0xac, 0x1b, 0xd9, 0x58, 0xe8, 0x75, 0xa0, 0x01, 0x89,
+  0x26, 0x92, 0x5f, 0x89, 0xe3, 0x45, 0xfe, 0x0d, 0x89, 0x2f, 0xfa, 0x41,
+  0xcd, 0x81, 0xaa, 0xae, 0x72, 0xf0, 0xf0, 0xd6, 0xd6, 0x03, 0x6c, 0xef,
+  0x62, 0x19, 0x2c, 0xfb, 0x3a, 0x75, 0x5f, 0x8b, 0x46, 0x1c, 0x33, 0xb4,
+  0x4d, 0xaf, 0x38, 0x66, 0xf0, 0xeb, 0x0f, 0x89, 0xe9, 0xf1, 0x80, 0xdc,
+  0x1c, 0xcb, 0xfa, 0x11, 0x67, 0xc4, 0x13, 0x0a, 0xfc, 0x8e, 0x75, 0xf4,
+  0x70, 0x40, 0xce, 0x9f, 0x80, 0xee, 0x2e, 0xbc, 0xf7, 0x9c, 0x2d, 0x47,
+  0xde, 0xc9, 0x1a, 0x71, 0x43, 0x17, 0x62, 0xca, 0x6f, 0xa5, 0x1f, 0xd3,
+  0x61, 0x72, 0x76, 0x34, 0x3a, 0xa7, 0x4f, 0x98, 0xad, 0x51, 0x5c, 0x9b,
+  0x5e, 0x9c, 0x8e, 0x3a, 0xcd, 0x19, 0x0b, 0x3d, 0x2b, 0xea, 0x16, 0xd4,
+  0x6b, 0xe5, 0x34, 0xab, 0x03, 0x50, 0x23, 0xe3, 0xd2, 0x59, 0x63, 0x91,
+  0x22, 0xa4, 0x45, 0x11, 0x1a, 0x0a, 0x9f, 0x26, 0x7c, 0xd4, 0x82, 0x0f,
+  0x2d, 0xcc, 0x86, 0x9f, 0x6e, 0x5b, 0x97, 0x42, 0x5f, 0xf7, 0x82, 0xf5,
+  0xf4, 0xd7, 0xcb, 0x6b, 0xd2, 0x92, 0x6b, 0xb5, 0x6d, 0xec, 0x17, 0xcc,
+  0x6c, 0x04, 0x17, 0xbc, 0x0e, 0xdb, 0x9c, 0x09, 0x3e, 0x36, 0x46, 0xad,
+  0x27, 0x10, 0x04, 0x2e, 0xf1, 0xa2, 0x74, 0xad, 0x92, 0x26, 0x0f, 0x0c,
+  0x56, 0x0e, 0xdf, 0xf8, 0x24, 0x33, 0x4a, 0xd2, 0x34, 0x72, 0x49, 0xf1,
+  0xa2, 0xa8, 0x62, 0x7f, 0x25, 0xb8, 0xab, 0x88, 0x9f, 0x02, 0x0d, 0x4d,
+  0x58, 0x89, 0xa0, 0x5d, 0x0f, 0x1f, 0x63, 0x4e, 0x4e, 0x59, 0x52, 0xe9,
+  0xd8, 0xa4, 0xa4, 0xf6, 0xec, 0xd9, 0xff, 0xba, 0x58, 0x9a, 0x89, 0x8f,
+  0xdc, 0x16, 0x74, 0xed, 0xd3, 0xdd, 0x47, 0x13, 0xb8, 0xce, 0x01, 0xf5,
+  0x74, 0xaf, 0xed, 0x80, 0xc2, 0x66, 0x33, 0x2a, 0x6a, 0x96, 0xbc, 0xa4,
+  0xff, 0x3e, 0x28, 0x95, 0x11, 0x75, 0xf6, 0xa5, 0x30, 0xde, 0x95, 0xb0,
+  0x05, 0xcb, 0xd1, 0x35, 0x3b, 0x0e, 0x01, 0xed, 0x21, 0x89, 0xbd, 0x7e,
+  0xf2, 0xfa, 0xf8, 0x02, 0xcb, 0x7f, 0xfc, 0xee, 0x6b, 0xf8, 0x84, 0xad,
+  0x6a, 0x3b, 0x45, 0x9b, 0x35, 0xdb, 0xba, 0x1c, 0xd3, 0x11, 0xf1, 0xdf,
+  0x9d, 0x6a, 0x12, 0x9f, 0xe4, 0xca, 0x47, 0xc4, 0x7f, 0xfa, 0xfb, 0x5d,
+  0x5c, 0x81, 0x8d, 0x74, 0xdc, 0x97, 0xa9, 0x13, 0xcf, 0xc1, 0xc7, 0xec,
+  0xde, 0xfd, 0x0d, 0xd3, 0xe9, 0xcd, 0xb1, 0x7b, 0xf8, 0xa5, 0x37, 0x33,
+  0x3f, 0x1e, 0x10, 0xaa, 0xc0, 0xa8, 0x4f, 0xd3, 0x9f, 0x7f, 0xdd, 0x55,
+  0x28, 0x6e, 0x9a, 0xa4, 0x7d, 0x27, 0x46, 0xbc, 0x01, 0x70, 0xc4, 0x68,
+  0xfc, 0x9e, 0xc3, 0x75, 0x2c, 0xd8, 0x05, 0x55, 0x4a, 0x80, 0x53, 0xda,
+  0xe9, 0x69, 0xc1, 0x0a, 0x11, 0x89, 0x68, 0x06, 0x6d, 0x00, 0xc4, 0xd1,
+  0x3d, 0x2e, 0x93, 0x72, 0x16, 0x5c, 0x72, 0x2d, 0x9b, 0x0a, 0xaa, 0xe6,
+  0xbe, 0x5c, 0x6b, 0xb0, 0x33, 0xe4, 0xf2, 0x61, 0xf5, 0xae, 0x7b, 0x0e,
+  0xac, 0xb2, 0x07, 0x3c, 0x94, 0x7f, 0x25, 0x26, 0xde, 0xcb, 0x08, 0x4f,
+  0xa1, 0x7b, 0xac, 0xa9, 0x0d, 0x65, 0x79, 0xb3, 0xa8, 0x66, 0x6a, 0x56,
+  0x57, 0x67, 0xd7, 0x2c, 0x3b, 0xb9, 0x42, 0xdc, 0x1e, 0x62, 0xbf, 0x3f,
+  0x2f, 0xb3, 0x91, 0x6f, 0x55, 0x2e, 0xaa, 0x23, 0xc3, 0xc8, 0xba, 0x87,
+  0x59, 0xa3, 0x84, 0xe2, 0x2a, 0x11, 0x73, 0x1e, 0xdb, 0x4a, 0xf7, 0x15,
+  0x6f, 0x3f, 0x32, 0x92, 0x7a, 0xde, 0x94, 0xf4, 0x62, 0x4b, 0xd1, 0x70,
+  0xc0, 0x42, 0xce, 0x4b, 0x7e, 0x4b, 0x53, 0xa7, 0x7b, 0xc7, 0x79, 0xde,
+  0xda, 0x3a, 0x59, 0x59, 0xd0, 0x9f, 0x05, 0x79, 0x6c, 0xfe, 0x25, 0xb2,
+  0x21, 0xa3, 0x7b, 0x91, 0x9c, 0xb7, 0x12, 0xcc, 0x81, 0xe6, 0x42, 0xc0,
+  0x25, 0x01, 0x73, 0x46, 0xb4, 0xf4, 0x98, 0xad, 0xa1, 0x5a, 0x87, 0x9a,
+  0x14, 0x9e, 0x9d, 0x11, 0xa8, 0xe1, 0xdd, 0x0d, 0x62, 0xe4, 0x77, 0x43,
+  0x61, 0x60, 0xde, 0xbb, 0xe4, 0x1c, 0xcc, 0x27, 0x1f, 0x81, 0xf6, 0x91,
+  0xab, 0xa9, 0x25, 0x3f, 0x04, 0x6b, 0xc3, 0x28, 0xb1, 0xc8, 0x12, 0xc0,
+  0xcc, 0x21, 0xaf, 0x25, 0xed, 0x49, 0xba, 0x96, 0xf3, 0x82, 0x95, 0xb5,
+  0x95, 0x06, 0xb0, 0xe9, 0xeb, 0x87, 0xd7, 0x27, 0x17, 0xc9, 0x96, 0x59,
+  0xd5, 0x71, 0x57, 0xb9, 0xd1, 0x7b, 0x7d, 0x27, 0x6b, 0x26, 0x3b, 0x8b,
+  0x8f, 0xf9, 0x8e, 0xb1, 0x83, 0xa6, 0xe3, 0x6d, 0xab, 0xdd, 0xe3, 0x73,
+  0xd8, 0x84, 0x6a, 0x33, 0xa9, 0xd1, 0x04, 0xab, 0xa9, 0x7b, 0x1a, 0x3c,
+  0x2b, 0x8a, 0x81, 0xe2, 0xce, 0x78, 0xc2, 0x34, 0xb1, 0x8b, 0x01, 0x20,
+  0x15, 0x8e, 0x68, 0x26, 0xe4, 0x1d, 0xcc, 0xd8, 0x71, 0x6a, 0xcc, 0xbf,
+  0xee, 0x59, 0x65, 0xc4, 0x92, 0xf8, 0x18, 0xd8, 0xb7, 0xa0, 0x30, 0x1b,
+  0xb9, 0x27, 0x9c, 0xb6, 0xd7, 0x27, 0x80, 0x14, 0x4d, 0xca, 0x82, 0xee,
+  0xa2, 0x29, 0x39, 0xa8, 0xba, 0xcd, 0xc1, 0x65, 0xd6, 0x1b, 0xee, 0xf4,
+  0x12, 0x0b, 0x09, 0x33, 0xb3, 0x0c, 0x54, 0xa3, 0xc3, 0xe0, 0x99, 0x2d,
+  0x76, 0xb5, 0xac, 0xd9, 0xe9, 0x4a, 0xf6, 0xbe, 0x5d, 0xaf, 0x61, 0x4c,
+  0xa0, 0x7a, 0xcb, 0x69, 0x95, 0x2d, 0xa3, 0x14, 0xe3, 0x5c, 0x59, 0x43,
+  0x72, 0x6c, 0x3b, 0x85, 0xa5, 0xea, 0xfd, 0xd4, 0x4b, 0x3c, 0x48, 0x51,
+  0xcb, 0x35, 0x96, 0xbb, 0xa0, 0xbf, 0x77, 0x05, 0x98, 0xab, 0xd8, 0x9e,
+  0xe0, 0x69, 0x36, 0xcb, 0xe7, 0x79, 0x03, 0x1d, 0xde, 0xeb, 0x42, 0xb0,
+  0x14, 0xed, 0x2e, 0xfd, 0x14, 0x76, 0x49, 0x61, 0x7a, 0x29, 0xfd, 0xda,
+  0x74, 0x09, 0xce, 0x1a, 0x46, 0x51, 0xc5, 0xcd, 0xb9, 0x76, 0x87, 0x2c,
+  0xd0, 0x6f, 0x4d, 0xac, 0xe7, 0xf7, 0xb1, 0x78, 0xdb, 0x47, 0xa6, 0x6e,
+  0x00, 0x27, 0xa2, 0x73, 0x26, 0x4e, 0x8c, 0x31, 0x5f, 0x0e, 0x7a, 0xc6,
+  0x52, 0x7d, 0x3c, 0x90, 0xdd, 0xe6, 0xf5, 0x1d, 0x15, 0x3c, 0x90, 0x3c,
+  0xea, 0xfe, 0x60, 0x33, 0xd4, 0x1c, 0x18, 0x98, 0x9d, 0x1f, 0xc5, 0xea,
+  0x84, 0x06, 0x04, 0x61, 0xc5, 0xee, 0x9f, 0xae, 0xbe, 0xab, 0xc2, 0x7e,
+  0x90, 0x15, 0x93, 0x72, 0xda, 0xb1, 0xcf, 0x68, 0x12, 0x3c, 0x21, 0x87,
+  0x1d, 0xcf, 0xf1, 0x13, 0xec, 0xf2, 0xb8, 0x63, 0x8d, 0x3c, 0x3a, 0xec,
+  0xed, 0xfb, 0x45, 0xfb, 0x3e, 0x66, 0xde, 0x63, 0xdb, 0xff, 0xaa, 0x5d,
+  0xff, 0x4f, 0xd3, 0x23, 0x3c, 0xf5, 0xeb, 0x11, 0x8a, 0xc4, 0x60, 0x92,
+  0x2f, 0x6e, 0xc8, 0xe7, 0xfe, 0x12, 0x61, 0x68, 0x72, 0x91, 0xf1, 0x0f,
+  0xe2, 0x0a, 0xc4, 0x48, 0xae, 0xbc, 0x5a, 0xfc, 0x04, 0xfa, 0xb6, 0x88,
+  0x97, 0x5c, 0x61, 0xd3, 0x6a, 0x8c, 0x09, 0xf4, 0x21, 0x0f, 0xac, 0x55,
+  0x0a, 0x44, 0xe8, 0xcb, 0x7c, 0xd3, 0xdb, 0xdb, 0x85, 0x51, 0x8e, 0xfa,
+  0xdb, 0xa1, 0x31, 0x19, 0xd2, 0x29, 0xe1, 0x98, 0xcc, 0x34, 0x21, 0xed,
+  0x02, 0x3f, 0xef, 0x34, 0x87, 0xce, 0x4b, 0x3a, 0x02, 0xdf, 0xba, 0x66,
+  0x46, 0xdf, 0x5f, 0x9c, 0x1e, 0x74, 0xe7, 0x09, 0x68, 0xd8, 0xfa, 0x60,
+  0x67, 0x07, 0xae, 0xb7, 0x9b, 0xf4, 0xd3, 0xa7, 0x61, 0x9d, 0xed, 0x4c,
+  0xcb, 0x49, 0xbd, 0x53, 0xd7, 0x33, 0x9d, 0x8d, 0x36, 0x5e, 0xfc, 0x77,
+  0xf0, 0x59, 0x94, 0xf3, 0x45, 0x05, 0x23, 0x7a, 0x50, 0xd7, 0x41, 0xa4,
+  0x76, 0x74, 0xa4, 0x71, 0xa0, 0xe3, 0x82, 0x31, 0x5f, 0x38, 0xe0, 0x83,
+  0x9c, 0x26, 0xe0, 0x9b, 0x44, 0x5f, 0xc6, 0xf4, 0xda, 0xd8, 0xa4, 0x8d,
+  0x92, 0xf6, 0x23, 0x32, 0x27, 0x95, 0x9d, 0xfa, 0x85, 0x6f, 0xb6, 0xd0,
+  0xdd, 0x51, 0xf2, 0x1f, 0x02, 0xae, 0xcc, 0x9b, 0xb5, 0x71, 0xe6, 0xe7,
+  0x1d, 0x35, 0xdf, 0x0e, 0x22, 0x1e, 0x8b, 0x51, 0x53, 0x2f, 0x4d, 0xdc,
+  0x93, 0xce, 0xee, 0xe9, 0x26, 0x34, 0x99, 0xdd, 0x7b, 0x5d, 0x56, 0xe6,
+  0xd4, 0xcc, 0xeb, 0x98, 0xad, 0x2f, 0x2e, 0xb9, 0x1a, 0x01, 0xd0, 0xa4,
+  0x26, 0x6f, 0x04, 0x3b, 0x1e, 0x96, 0x85, 0xd7, 0xba, 0x19, 0xc4, 0x04,
+  0x41, 0xf6, 0x61, 0xa2, 0x51, 0xad, 0x55, 0x7e, 0x46, 0x2f, 0x9e, 0x6b,
+  0xd1, 0x89, 0x5d, 0x8b, 0x71, 0x59, 0x38, 0x4f, 0x20, 0xa4, 0x91, 0xe9,
+  0x72, 0x3f, 0xd6, 0x3b, 0xac, 0x73, 0x95, 0xd1, 0xa3, 0x90, 0xe8, 0x55,
+  0x55, 0x7a, 0x62, 0x7c, 0xf0, 0x2d, 0xd4, 0x29, 0x23, 0x1b, 0xf2, 0x6b,
+  0x8d, 0x75, 0x74, 0x8f, 0xaf, 0x85, 0xfe, 0x37, 0x84, 0xaf, 0xd1, 0x48,
+  0x46, 0x45, 0x5b, 0x9f, 0xd5, 0x28, 0x85, 0x0f, 0xd4, 0x2c, 0xc5, 0x34,
+  0x8a, 0x21, 0xa8, 0x8b, 0xe0, 0x38, 0x10, 0xb4, 0xde, 0x7f, 0x85, 0x62,
+  0xdb, 0x89, 0x9e, 0x4f, 0xf7, 0x0d, 0x7f, 0x83, 0x22, 0xfd, 0x04, 0x6b,
+  0xd1, 0xd5, 0x6f, 0x00, 0x0a, 0xb1, 0xb6, 0x58, 0x2c, 0x37, 0xa2, 0x3b,
+  0x1e, 0x05, 0x88, 0x89, 0x12, 0x9a, 0x23, 0x19, 0x27, 0x05, 0xf8, 0xac,
+  0xb6, 0x8a, 0xbd, 0x97, 0x12, 0xe1, 0x39, 0xcc, 0xd1, 0x60, 0xd7, 0xc6,
+  0xe3, 0xdf, 0x33, 0x2a, 0x50, 0xf1, 0xb4, 0xd0, 0x02, 0x8c, 0x18, 0x6a,
+  0x32, 0xe0, 0xa2, 0x28, 0x07, 0x6b, 0x56, 0xba, 0xeb, 0xc5, 0xec, 0x3e,
+  0x23, 0x10, 0x81, 0x99, 0xef, 0xea, 0x1c, 0xa7, 0xe4, 0x27, 0xf7, 0x80,
+  0x3c, 0xec, 0xb7, 0x53, 0x35, 0x7f, 0x06, 0x95, 0x8a, 0x83, 0x15, 0x89,
+  0xe8, 0x8f, 0x49, 0x22, 0xcb, 0x17, 0x35, 0x86, 0x04, 0x3b, 0xc6, 0x70,
+  0xfc, 0x1c, 0xc9, 0x1f, 0x92, 0x9a, 0xc0, 0x50, 0x38, 0x75, 0xe2, 0xd4,
+  0x65, 0x5f, 0xa6, 0x6e, 0x46, 0xe1, 0x88, 0x4a, 0xfa, 0xd8, 0xdd, 0x51,
+  0x36, 0xed, 0xc0, 0x07, 0x63, 0xd1, 0xea, 0x58, 0x44, 0x59, 0x1d, 0x3a,
+  0x8e, 0xdd, 0x6c, 0x46, 0xf5, 0xb5, 0x00, 0x9e, 0x87, 0x9e, 0x54, 0x99,
+  0x7e, 0xa2, 0x28, 0xbb, 0xbd, 0x92, 0x7e, 0x0c, 0x42, 0xeb, 0xc5, 0x22,
+  0xd0, 0xbc, 0x0e, 0x28, 0x12, 0xcd, 0x2e, 0x73, 0xfc, 0xc6, 0xcb, 0xdc,
+  0x03, 0xb0, 0x59, 0x4a, 0x1b, 0x7c, 0xf3, 0x17, 0xb2, 0xfd, 0x9c, 0x6c,
+  0x97, 0xae, 0xc3, 0xa6, 0x98, 0xcc, 0xca, 0x5a, 0x1d, 0x8a, 0xb4, 0x4c,
+  0x9c, 0x06, 0x62, 0x0e, 0xc6, 0xf7, 0xf2, 0x03, 0x59, 0x03, 0xf9, 0x05,
+  0x37, 0x7b, 0x55, 0x92, 0x77, 0x31, 0xf4, 0x00, 0x8a, 0x12, 0xe6, 0x32,
+  0x57, 0xc8, 0x7d, 0x60, 0x15, 0xef, 0x83, 0xe4, 0xa7, 0x9f, 0xfa, 0x09,
+  0x69, 0x7f, 0x3f, 0x19, 0x9b, 0xf2, 0x27, 0xb3, 0xc9, 0x92, 0x9f, 0x2a,
+  0x11, 0x1c, 0x3f, 0xdd, 0x9a, 0x4f, 0x76, 0xe3, 0x45, 0xe4, 0x36, 0xa9,
+  0x67, 0xf0, 0x87, 0xb2, 0x42, 0x21, 0x90, 0x93, 0x7b, 0x8d, 0x10, 0x70,
+  0x8e, 0x0e, 0x9c, 0x17, 0xec, 0xf7, 0xb3, 0x2b, 0x0a, 0xe8, 0x4b, 0x68,
+  0x1f, 0x2f, 0xe7, 0x85, 0xa8, 0x61, 0xbc, 0x11, 0x71, 0xc4, 0x21, 0xf7,
+  0x37, 0xff, 0xb0, 0xe9, 0xf6, 0x4c, 0x5f, 0x7d, 0x56, 0x8d, 0xca, 0xd5,
+  0xc8, 0x71, 0xd2, 0x53, 0xaf, 0xe9, 0x2c, 0x88, 0xc6, 0x31, 0x22, 0xc4,
+  0x48, 0xce, 0x33, 0x72, 0x18, 0x31, 0x28, 0xb9, 0xb4, 0x50, 0x2e, 0x60,
+  0xb3, 0x17, 0x37, 0xf7, 0x35, 0x05, 0xcc, 0x62, 0xd2, 0xc6, 0x5d, 0xfd,
+  0xd4, 0xbb, 0x68, 0xb4, 0x71, 0xe4, 0xcc, 0x47, 0x3c, 0x00, 0xd5, 0xd2,
+  0x6c, 0x81, 0x96, 0x7c, 0x34, 0x7d, 0xd9, 0x1c, 0x6c, 0x22, 0x70, 0x04,
+  0xe7, 0xae, 0x88, 0xbf, 0x2a, 0xc4, 0x75, 0x69, 0x33, 0x1e, 0xee, 0x23,
+  0xf8, 0x64, 0xcb, 0xc0, 0xe6, 0x58, 0x94, 0x82, 0x4d, 0x5c, 0xb6, 0x15,
+  0xa5, 0x4b, 0x84, 0xdd, 0xef, 0x47, 0x4c, 0x29, 0xc1, 0x31, 0xdb, 0x77,
+  0x8d, 0x92, 0xe8, 0xbc, 0x9d, 0x83, 0x01, 0x92, 0x50, 0x17, 0x9c, 0x38,
+  0xca, 0x9b, 0x83, 0x2e, 0x56, 0x24, 0x1e, 0xd6, 0xe4, 0x81, 0x0b, 0xe4,
+  0xaa, 0xa2, 0x30, 0x1a, 0x9b, 0x33, 0x49, 0x67, 0x99, 0x92, 0x16, 0xef,
+  0x0a, 0x49, 0x3a, 0x1b, 0x95, 0x30, 0x39, 0x26, 0x88, 0x1c, 0x21, 0x4a,
+  0x29, 0x10, 0xe7, 0x50, 0xd7, 0xa5, 0xcb, 0x2e, 0x50, 0x78, 0xa8, 0x4f,
+  0xaf, 0x92, 0xde, 0x6a, 0xb5, 0xa7, 0xd7, 0x7d, 0xe3, 0x7b, 0x1b, 0x6a,
+  0x82, 0x6b, 0x4d, 0xdc, 0x96, 0xa6, 0x0f, 0x5b, 0x82, 0x5d, 0x18, 0xfc,
+  0x8d, 0x81, 0x49, 0x0c, 0x2f, 0xd6, 0x7b, 0x74, 0x3b, 0x61, 0x6c, 0x56,
+  0x1d, 0x04, 0x27, 0x2b, 0x2f, 0xb4, 0xed, 0x4d, 0xb0, 0x0b, 0x0e, 0xe7,
+  0x70, 0xe9, 0xe0, 0x8e, 0x62, 0x85, 0xd1, 0x7b, 0xba, 0x2b, 0x7f, 0xec,
+  0xdb, 0x84, 0x7f, 0xa4, 0xef, 0x89, 0xab, 0x45, 0xaf, 0x08, 0x3d, 0xdf,
+  0x46, 0x9f, 0x47, 0x22, 0xa7, 0x22, 0x2f, 0xa1, 0xff, 0x04, 0xb3, 0xb3,
+  0xb7, 0x2d, 0x1e, 0x05, 0xe4, 0x62, 0x02, 0x11, 0x27, 0x6e, 0x93, 0xde,
+  0x4d, 0xc9, 0xd1, 0xdb, 0xde, 0x01, 0x61, 0xc8, 0x19, 0x90, 0x26, 0x23,
+  0xb4, 0x41, 0xcc, 0xee, 0xc1, 0x42, 0x78, 0xfc, 0x9b, 0xb3, 0xb7, 0xc7,
+  0x6d, 0xf0, 0x13, 0x7e, 0x12, 0x73, 0x2b, 0x18, 0x69, 0xf5, 0xc6, 0x88,
+  0x18, 0xde, 0x41, 0x69, 0xa0, 0xba, 0x61, 0x7b, 0x99, 0x7e, 0x5d, 0x67,
+  0xcd, 0xe2, 0x6e, 0x99, 0x4f, 0xb7, 0xb6, 0x69, 0x7f, 0x10, 0xf2, 0x71,
+  0x00, 0xc0, 0x2d, 0x5b, 0x58, 0x75, 0xb2, 0xc5, 0xca, 0x78, 0x95, 0x35,
+  0xcb, 0xaa, 0x60, 0x4f, 0x50, 0x42, 0xdd, 0x0f, 0x43, 0x3a, 0x89, 0xdc,
+  0x6b, 0xbe, 0x0d, 0x24, 0x59, 0xd5, 0x1c, 0x38, 0xe6, 0x26, 0xb7, 0x49,
+  0x0a, 0x18, 0x39, 0x8a, 0xf8, 0x39, 0xd6, 0x9e, 0xc6, 0x12, 0xdc, 0x53,
+  0x98, 0x0b, 0x4d, 0x4f, 0x3c, 0x3c, 0x3f, 0x7f, 0x7d, 0x78, 0x79, 0x68,
+  0xc7, 0x86, 0x8b, 0x18, 0x92, 0x05, 0xea, 0xb0, 0x11, 0x49, 0xa4, 0x1d,
+  0xd1, 0x93, 0x9b, 0x7f, 0x7c, 0x3f, 0x3a, 0xbe, 0xe8, 0x2e, 0xec, 0xf9,
+  0xc5, 0x19, 0x65, 0xac, 0xff, 0xf1, 0xa7, 0x43, 0x8a, 0x14, 0x89, 0x9f,
+  0xfb, 0x75, 0xda, 0xa4, 0x9b, 0xc1, 0xa9, 0xde, 0x37, 0x7b, 0xed, 0x0c,
+  0xe8, 0x1d, 0xed, 0xe0, 0x95, 0xdc, 0x66, 0x30, 0xfa, 0x93, 0x0f, 0xb4,
+  0xa6, 0xd5, 0x44, 0xb1, 0x4f, 0xf8, 0xa8, 0x2e, 0x67, 0x3f, 0xf4, 0x68,
+  0x78, 0x03, 0x29, 0x9d, 0x24, 0xd3, 0xe8, 0xbd, 0xce, 0xd5, 0x2c, 0xc9,
+  0x3e, 0x19, 0xcb, 0xba, 0xd1, 0x4d, 0x8f, 0xfd, 0x45, 0x39, 0x45, 0xdd,
+  0x79, 0x71, 0xeb, 0xa3, 0x0b, 0xc4, 0x68, 0x29, 0xce, 0xed, 0x86, 0x1c,
+  0x40, 0x52, 0x9b, 0xd9, 0x6d, 0xc0, 0xa7, 0x0d, 0xb5, 0xb7, 0x62, 0x9c,
+  0x06, 0xce, 0x25, 0x76, 0x18, 0x22, 0xc5, 0x8d, 0xbb, 0x14, 0x4c, 0xc8,
+  0x1f, 0xcc, 0x79, 0x1c, 0x24, 0xc7, 0x82, 0xbd, 0xc6, 0xb0, 0xcd, 0x0f,
+  0x82, 0x87, 0x1a, 0x6b, 0x2b, 0x88, 0xb0, 0x8f, 0xcb, 0x0a, 0x2f, 0xed,
+  0xb3, 0xd7, 0x55, 0x9e, 0x39, 0xd1, 0xc2, 0x3c, 0x44, 0x9d, 0xa6, 0x29,
+  0x87, 0xa9, 0xd4, 0x8b, 0xc4, 0x99, 0x07, 0xe9, 0x35, 0xed, 0x2e, 0xf3,
+  0xa8, 0x51, 0xa2, 0x8d, 0x85, 0x44, 0xff, 0xda, 0xd9, 0x1b, 0xee, 0xf6,
+  0xc2, 0xce, 0xd3, 0x61, 0x41, 0x16, 0xad, 0xf5, 0x17, 0x93, 0x2c, 0x6c,
+  0xca, 0xf2, 0xc1, 0xfe, 0xb1, 0x08, 0x33, 0x7a, 0xe8, 0xc2, 0xb4, 0x1f,
+  0xed, 0xca, 0xe0, 0x2c, 0x80, 0x76, 0x11, 0x58, 0xaa, 0x52, 0xa1, 0x68,
+  0x64, 0x62, 0x51, 0xde, 0xd1, 0x48, 0xcc, 0x56, 0x9b, 0xcd, 0x5a, 0xe9,
+  0xce, 0xbd, 0xf8, 0x34, 0x17, 0x60, 0x16, 0xc8, 0xba, 0xb3, 0x1d, 0x0b,
+  0xc6, 0xc8, 0xe5, 0xe9, 0xeb, 0x71, 0x16, 0x65, 0x04, 0x83, 0xd1, 0xee,
+  0x02, 0xf7, 0x73, 0x91, 0x91, 0x81, 0xdc, 0x9b, 0xf9, 0xc1, 0xc6, 0x81,
+  0x46, 0x3c, 0x07, 0xd4, 0x0c, 0x69, 0x9f, 0x2f, 0x39, 0x73, 0x2a, 0x30,
+  0xdc, 0xdf, 0xa6, 0x9f, 0xf2, 0xf9, 0x72, 0x9e, 0xe0, 0x7b, 0xac, 0xd0,
+  0xca, 0x93, 0x7a, 0x31, 0x92, 0xff, 0x84, 0x83, 0xae, 0xb4, 0xa8, 0x9b,
+  0xb5, 0x67, 0xbf, 0x47, 0x2e, 0x19, 0x73, 0x29, 0xab, 0xd9, 0x29, 0xf0,
+  0xf5, 0x79, 0xde, 0xd4, 0x1d, 0xbb, 0xdf, 0xa8, 0x0a, 0x29, 0xc5, 0xd0,
+  0x34, 0x45, 0x8a, 0x2f, 0xf1, 0x88, 0x38, 0xe7, 0xd4, 0x3d, 0xd5, 0xe1,
+  0x3c, 0x94, 0x50, 0x56, 0xe5, 0xe5, 0xd4, 0x1e, 0x1b, 0xd2, 0x12, 0xf3,
+  0x62, 0x69, 0x26, 0x9a, 0x9a, 0xa3, 0x5b, 0x55, 0x7e, 0x13, 0x84, 0xf1,
+  0x00, 0x68, 0x1c, 0x01, 0xa7, 0xaa, 0xb8, 0x9f, 0xcf, 0x86, 0x4f, 0xf6,
+  0x87, 0xbb, 0xfd, 0x96, 0xf5, 0x2e, 0x19, 0x8e, 0xe6, 0x74, 0x4d, 0xf2,
+  0xb9, 0xcd, 0x7e, 0x18, 0xfe, 0xd3, 0xbc, 0x34, 0x94, 0xf7, 0x31, 0x98,
+  0xa7, 0x9f, 0xb0, 0x7c, 0xd1, 0x65, 0x2d, 0x93, 0x97, 0xdf, 0x9c, 0x8d,
+  0x2e, 0xf7, 0x0e, 0xce, 0xcf, 0x2e, 0xcc, 0x7f, 0xe9, 0xef, 0xfb, 0xf8,
+  0xfb, 0x7e, 0x60, 0x3d, 0xbe, 0x11, 0xd8, 0x92, 0xe2, 0xa4, 0xa1, 0xea,
+  0xe0, 0x16, 0x10, 0x2b, 0xc6, 0x6b, 0x88, 0xb0, 0xed, 0x24, 0x05, 0x75,
+  0xb1, 0x22, 0x3e, 0x33, 0xef, 0x53, 0x8a, 0x1c, 0x1d, 0xb6, 0xf7, 0x33,
+  0x30, 0x32, 0x79, 0xa3, 0xaa, 0x94, 0x64, 0x66, 0x69, 0xce, 0x57, 0xd7,
+  0xa3, 0xc7, 0x59, 0x35, 0x02, 0x8d, 0x56, 0x42, 0x13, 0xc0, 0x1d, 0xda,
+  0xbf, 0x9a, 0xcc, 0x8c, 0xa6, 0x9f, 0x51, 0x78, 0x74, 0x9a, 0x71, 0x36,
+  0x3d, 0xfd, 0x24, 0x66, 0x80, 0x08, 0xf2, 0x1a, 0x68, 0xd1, 0x61, 0xb7,
+  0x67, 0xd8, 0x95, 0x82, 0x8b, 0xa3, 0x34, 0x46, 0xd3, 0xcb, 0xbc, 0xbe,
+  0x51, 0xf4, 0x7f, 0xb7, 0x39, 0x80, 0x8d, 0x7c, 0x87, 0xd5, 0x49, 0xc3,
+  0x99, 0x5f, 0xef, 0xce, 0x2e, 0x93, 0xf4, 0xea, 0x4a, 0xd3, 0xd4, 0x00,
+  0x05, 0x25, 0x8d, 0x75, 0x07, 0x56, 0xbe, 0x3a, 0x9a, 0xeb, 0x50, 0xf2,
+  0xb1, 0x3e, 0x72, 0x79, 0x3a, 0xda, 0x21, 0x77, 0x15, 0xe3, 0x3a, 0x46,
+  0xef, 0x4e, 0xfa, 0x2d, 0x47, 0xa6, 0x1f, 0xcd, 0xdd, 0xa6, 0x9b, 0x52,
+  0xae, 0xd1, 0xee, 0xdc, 0x79, 0x77, 0xa1, 0x4d, 0x7f, 0x1e, 0x26, 0x3d,
+  0x2c, 0x68, 0x8f, 0x75, 0xcc, 0x1e, 0xd6, 0xb5, 0xc7, 0x58, 0x46, 0xc0,
+  0x40, 0xd0, 0x5f, 0xca, 0xd2, 0x0d, 0x50, 0x18, 0xf0, 0xf2, 0xf6, 0x91,
+  0x15, 0x4c, 0x4a, 0x47, 0x8f, 0x2c, 0x12, 0x1a, 0x18, 0x06, 0xd5, 0x93,
+  0x86, 0xf7, 0xb9, 0x61, 0xb4, 0x6b, 0xfe, 0x4e, 0xcd, 0x62, 0xd3, 0x8e,
+  0xb3, 0x18, 0xa6, 0x12, 0xdf, 0x71, 0x4d, 0xdb, 0xb6, 0x4d, 0xc7, 0xe0,
+  0x7c, 0xe5, 0xa7, 0x74, 0x73, 0x18, 0xe9, 0x42, 0x31, 0xb9, 0xfc, 0x9a,
+  0x22, 0x60, 0x5d, 0xd4, 0xbe, 0xeb, 0x48, 0xe0, 0x86, 0x22, 0x7d, 0xac,
+  0x6e, 0x7a, 0x9e, 0xcf, 0xa0, 0x09, 0x50, 0x91, 0x40, 0x67, 0x55, 0x6a,
+  0xcf, 0x68, 0x87, 0xea, 0x32, 0xbc, 0xf1, 0xad, 0x03, 0x7f, 0x9e, 0xd2,
+  0xad, 0x63, 0xfd, 0xdc, 0x0a, 0xb9, 0xd6, 0x83, 0x84, 0xa4, 0x6c, 0xca,
+  0x20, 0x04, 0x3a, 0x9f, 0xa6, 0x96, 0x9d, 0xe3, 0xdd, 0xe6, 0x98, 0xd2,
+  0xc3, 0x48, 0x84, 0x04, 0x48, 0x5b, 0xea, 0x40, 0xd2, 0xdb, 0xdb, 0xff,
+  0x6c, 0xb8, 0x6b, 0xfe, 0x1f, 0x2d, 0x8d, 0xa8, 0x8b, 0xcc, 0x60, 0xe0,
+  0x32, 0xd5, 0x05, 0x97, 0xdb, 0x75, 0x32, 0xeb, 0x1d, 0x54, 0x56, 0xd7,
+  0xbd, 0xe1, 0xa3, 0xef, 0x15, 0x5a, 0x4b, 0x7b, 0xa7, 0xa4, 0x53, 0xf9,
+  0x89, 0x1e, 0xf3, 0x6a, 0x39, 0x8b, 0x80, 0x55, 0x3c, 0xb7, 0x31, 0x29,
+  0x68, 0xb3, 0x5b, 0x71, 0x1a, 0x7f, 0x43, 0xe2, 0x89, 0xb3, 0x28, 0x86,
+  0xad, 0x50, 0xff, 0x8b, 0x96, 0x0f, 0xf0, 0x48, 0x0c, 0x37, 0xc8, 0xe6,
+  0x81, 0x39, 0x10, 0x2f, 0xcb, 0xab, 0xab, 0x3a, 0x6b, 0xba, 0x77, 0xd0,
+  0x91, 0x3c, 0xb2, 0x73, 0x01, 0x12, 0x1c, 0x0f, 0xe6, 0xdc, 0x4e, 0x12,
+  0x4f, 0xd2, 0xa6, 0x2d, 0xb8, 0xb8, 0xb9, 0x61, 0x04, 0xdc, 0xd9, 0x7e,
+  0xc2, 0x03, 0x67, 0x73, 0xae, 0x56, 0x90, 0x82, 0x8c, 0xf3, 0x2a, 0xc2,
+  0xb9, 0x7b, 0x2a, 0x3e, 0xe6, 0x8b, 0x05, 0xd9, 0x38, 0x60, 0xdc, 0xa0,
+  0xbd, 0x6b, 0xe3, 0x04, 0xe3, 0xcc, 0x6c, 0x54, 0x6c, 0x67, 0x45, 0xc0,
+  0x18, 0x25, 0x79, 0x62, 0xd1, 0xc3, 0xe3, 0xcc, 0x1c, 0xdb, 0x2c, 0xd4,
+  0xda, 0xc9, 0xb5, 0xe1, 0xe5, 0x59, 0x4b, 0x7a, 0xe8, 0x94, 0x72, 0xaa,
+  0x8b, 0x94, 0xc5, 0x0c, 0xdd, 0x2d, 0x2e, 0x03, 0x51, 0x52, 0x2f, 0x62,
+  0x40, 0x2c, 0x07, 0x8c, 0xb7, 0x2e, 0xb7, 0xd1, 0xc9, 0xff, 0x3c, 0x76,
+  0x59, 0xf1, 0x36, 0xed, 0x9c, 0x61, 0xc6, 0x31, 0xd0, 0x76, 0xd2, 0x1b,
+  0x1c, 0x25, 0x83, 0x1e, 0x3a, 0xe2, 0xa2, 0xa8, 0x65, 0x07, 0x04, 0x0b,
+  0xdb, 0x87, 0x54, 0x89, 0x04, 0xfa, 0xd0, 0x0e, 0xe7, 0xa1, 0x95, 0x81,
+  0xfe, 0x84, 0x25, 0xe4, 0xc9, 0xd6, 0x51, 0xe2, 0x94, 0x34, 0x92, 0xb5,
+  0xe0, 0xa3, 0x7d, 0x59, 0x61, 0xdc, 0xc9, 0x0b, 0x52, 0x1b, 0xa1, 0xc3,
+  0x04, 0x50, 0x58, 0xcd, 0x42, 0xe2, 0xf4, 0xdb, 0x65, 0xf3, 0x4f, 0x8c,
+  0x95, 0x54, 0xb4, 0x7f, 0xc1, 0xab, 0xe2, 0x6d, 0xea, 0x09, 0x6f, 0x6a,
+  0xe2, 0x73, 0x1a, 0xfc, 0xd5, 0xd8, 0xd9, 0x2f, 0xd5, 0x57, 0xb1, 0x22,
+  0x4f, 0xcd, 0xba, 0x35, 0x4a, 0x09, 0x8a, 0x60, 0x6f, 0xd8, 0x7c, 0x69,
+  0x9d, 0x6b, 0xf6, 0xa8, 0x00, 0xea, 0x23, 0x64, 0x51, 0x5d, 0x59, 0x7f,
+  0x85, 0xab, 0x2d, 0x75, 0x79, 0xb9, 0x53, 0x2f, 0xbd, 0x7f, 0x48, 0xc0,
+  0xe0, 0x19, 0xb7, 0x52, 0xa3, 0x19, 0x69, 0x45, 0xd8, 0x4d, 0x82, 0x6b,
+  0x37, 0x2f, 0x06, 0xf3, 0x6c, 0x4e, 0x00, 0x3e, 0x7e, 0xd0, 0x08, 0xc4,
+  0x92, 0xb4, 0x70, 0xdd, 0x8d, 0xbc, 0x3e, 0x6c, 0x88, 0x37, 0x12, 0xf8,
+  0x9e, 0x72, 0x82, 0x08, 0x7d, 0x33, 0x44, 0x34, 0x95, 0x85, 0xe0, 0x67,
+  0xc8, 0xc4, 0xb2, 0x5f, 0x87, 0xa3, 0xec, 0xa3, 0x51, 0xa1, 0x8b, 0x3e,
+  0xfd, 0x1c, 0xa9, 0x40, 0x3a, 0xfb, 0xd4, 0xd9, 0x26, 0x2b, 0x62, 0xf8,
+  0xf9, 0x96, 0xf7, 0x59, 0x9e, 0xf3, 0x7c, 0x29, 0xef, 0xb2, 0x46, 0xa2,
+  0xa2, 0xdc, 0x77, 0x09, 0xdf, 0x09, 0xac, 0xde, 0x74, 0xa2, 0xd3, 0x1c,
+  0xf8, 0x4b, 0xb2, 0xc6, 0xf9, 0x84, 0xd4, 0xb7, 0x94, 0x2a, 0x69, 0x03,
+  0x79, 0x3d, 0xfb, 0xe6, 0x1c, 0xf4, 0xd4, 0x05, 0xcb, 0xdd, 0x8f, 0x4b,
+  0x04, 0xed, 0x10, 0xb9, 0x7a, 0x9a, 0x69, 0x6c, 0x4f, 0x4a, 0xfe, 0x65,
+  0x90, 0xf2, 0x28, 0xe0, 0x72, 0xa3, 0x4b, 0x20, 0x46, 0x29, 0xae, 0x63,
+  0x8c, 0x41, 0x50, 0x26, 0xac, 0x3a, 0x74, 0x33, 0xa1, 0x5c, 0x4e, 0x0f,
+  0xc5, 0x87, 0xab, 0xa9, 0x3a, 0x47, 0xb4, 0xa3, 0x46, 0x0a, 0x8b, 0x69,
+  0x74, 0x97, 0x62, 0xab, 0xd9, 0x4f, 0x40, 0xdc, 0x84, 0x87, 0x4a, 0xc1,
+  0x3d, 0x83, 0xb1, 0xdb, 0xce, 0x2e, 0x9f, 0x3b, 0xea, 0x9a, 0x95, 0x87,
+  0x68, 0xcf, 0x9b, 0x8b, 0x65, 0x13, 0x92, 0x45, 0xf2, 0x7a, 0x90, 0x22,
+  0x6d, 0x27, 0x85, 0xa7, 0xf0, 0xee, 0xa6, 0x9c, 0xb1, 0x65, 0x1c, 0x44,
+  0x58, 0x34, 0xe1, 0xca, 0x68, 0x57, 0xd4, 0x0e, 0xa1, 0xd5, 0xe0, 0x58,
+  0xbe, 0x05, 0x10, 0xae, 0x15, 0x26, 0x31, 0x3a, 0x5e, 0x96, 0x12, 0xce,
+  0x5b, 0xa1, 0xa0, 0xb7, 0x61, 0x7a, 0x8a, 0x39, 0xe7, 0xe3, 0xb2, 0x96,
+  0xfd, 0x42, 0x49, 0x4d, 0x66, 0x8b, 0xa5, 0x15, 0xc4, 0xb2, 0x50, 0x36,
+  0x28, 0xc1, 0x94, 0x55, 0xcb, 0x44, 0x3e, 0x91, 0x2e, 0xd8, 0x45, 0xf1,
+  0xe6, 0x94, 0x0a, 0x68, 0xb6, 0x89, 0xd1, 0x01, 0xc8, 0x4d, 0x8b, 0xbd,
+  0x83, 0x46, 0x99, 0x90, 0xe1, 0x06, 0x74, 0x69, 0x92, 0x2f, 0x68, 0x4e,
+  0xe1, 0x4d, 0x4a, 0x56, 0x7b, 0xb3, 0x4c, 0x57, 0x4d, 0x5d, 0x1b, 0xb9,
+  0xf3, 0xa0, 0x78, 0x72, 0x1a, 0x4c, 0x24, 0x94, 0x80, 0x6d, 0xbb, 0x22,
+  0x6a, 0xe8, 0x2f, 0xe4, 0x4b, 0x3a, 0x67, 0x2b, 0xe4, 0xd1, 0x39, 0x98,
+  0x65, 0x6e, 0xda, 0xd4, 0x04, 0xc8, 0x82, 0x92, 0x6b, 0x44, 0x13, 0x0d,
+  0xb8, 0x29, 0xbd, 0xe5, 0x4f, 0x9a, 0x10, 0x58, 0xc7, 0x61, 0x37, 0xd3,
+  0x8d, 0xd9, 0xbd, 0x6b, 0xd1, 0xcb, 0x50, 0x52, 0xbc, 0xa2, 0xc7, 0xdb,
+  0x62, 0x3f, 0x91, 0x76, 0xb5, 0x9a, 0x91, 0x51, 0xbe, 0xf9, 0x9b, 0x07,
+  0xbd, 0x44, 0x29, 0xb5, 0xf8, 0x2e, 0x47, 0xbb, 0x0a, 0x8f, 0x87, 0x9e,
+  0x05, 0x3b, 0x55, 0x54, 0x47, 0x3e, 0xf6, 0xdd, 0xe6, 0x88, 0xa7, 0x71,
+  0xef, 0xd5, 0x77, 0x87, 0xa7, 0xef, 0x8f, 0xf7, 0xbe, 0x48, 0xe8, 0x5f,
+  0xfb, 0xfc, 0xaf, 0xfd, 0x5e, 0x74, 0x95, 0x8c, 0x70, 0xda, 0x7c, 0xb5,
+  0x99, 0xd4, 0xf7, 0xf3, 0x71, 0x39, 0xb3, 0xab, 0x24, 0x73, 0xa1, 0xa1,
+  0xb2, 0xbe, 0xdc, 0xde, 0x9a, 0x30, 0x27, 0x1e, 0xf2, 0xae, 0xa4, 0xae,
+  0x05, 0x48, 0xa3, 0x52, 0x06, 0x71, 0x3a, 0x3f, 0x73, 0xab, 0x41, 0x72,
+  0x9b, 0x0a, 0x2f, 0xc4, 0xeb, 0x2e, 0x57, 0x82, 0x9b, 0x98, 0x7f, 0x4a,
+  0x0f, 0x74, 0x9d, 0x44, 0xa5, 0x06, 0x5f, 0x2d, 0x8e, 0xf1, 0xcf, 0x93,
+  0x15, 0x81, 0xe0, 0x37, 0x72, 0x09, 0x60, 0x0e, 0xe5, 0x24, 0xe4, 0x77,
+  0x05, 0x2b, 0x44, 0x24, 0x39, 0xf7, 0xca, 0x5b, 0xb2, 0x49, 0x20, 0x69,
+  0x8b, 0xe3, 0x06, 0x7a, 0x34, 0x70, 0xf3, 0x95, 0xf3, 0xb1, 0x68, 0x2d,
+  0x5e, 0xbe, 0x9c, 0xd9, 0x8f, 0xa7, 0xb4, 0x1f, 0x67, 0xa5, 0x58, 0x27,
+  0x9a, 0x9f, 0x53, 0xb5, 0x58, 0x7a, 0x3c, 0x5e, 0x40, 0x4b, 0x67, 0x24,
+  0x7c, 0x40, 0xad, 0xa0, 0x1f, 0xbb, 0x99, 0xa3, 0x59, 0x3c, 0x9a, 0x0c,
+  0x45, 0xe0, 0xbd, 0xf2, 0xca, 0x49, 0x78, 0x1b, 0x1e, 0xf5, 0xaf, 0x41,
+  0xd9, 0x42, 0x04, 0x15, 0x9a, 0xa5, 0xc1, 0x50, 0x38, 0x15, 0x50, 0x92,
+  0x83, 0x29, 0xd0, 0x6e, 0x77, 0xa4, 0x59, 0xb1, 0xfb, 0x59, 0xb6, 0xad,
+  0xb1, 0x43, 0xbd, 0x7e, 0x76, 0xde, 0x96, 0x7f, 0x37, 0x33, 0x9e, 0xca,
+  0x47, 0x62, 0x77, 0x98, 0xdc, 0x49, 0x2b, 0x7b, 0xee, 0x8e, 0x3b, 0xa7,
+  0xcb, 0xf9, 0xa7, 0xb8, 0x65, 0xac, 0xa6, 0x98, 0x7c, 0xa3, 0x26, 0x01,
+  0x17, 0x18, 0x2c, 0x82, 0xdc, 0xb6, 0x36, 0xe3, 0xd2, 0xbb, 0xa2, 0x74,
+  0x4a, 0xcc, 0x1e, 0x2b, 0x79, 0xeb, 0xb9, 0xa5, 0x97, 0x6b, 0xa0, 0x2b,
+  0x52, 0xbb, 0x3a, 0xce, 0x8a, 0x8b, 0xe1, 0xf8, 0x53, 0x56, 0x4d, 0x28,
+  0xf1, 0x76, 0x62, 0x34, 0x45, 0xe8, 0x5e, 0x9c, 0x2c, 0xcc, 0xc4, 0x3d,
+  0xad, 0x7d, 0xa3, 0xe2, 0x0f, 0x26, 0xa9, 0xae, 0xff, 0xca, 0xb5, 0x07,
+  0xf6, 0x60, 0x62, 0xf6, 0xf0, 0xd0, 0x72, 0xa4, 0xe8, 0x85, 0xd5, 0x3e,
+  0xd7, 0x9a, 0xc8, 0x00, 0x0f, 0x7f, 0x00, 0x15, 0xc2, 0x0c, 0xeb, 0x8b,
+  0xde, 0x6a, 0xca, 0x76, 0x41, 0x5f, 0x98, 0xf1, 0xc2, 0xa1, 0x4b, 0x28,
+  0x61, 0x12, 0xb4, 0x01, 0xab, 0x71, 0x51, 0x76, 0x75, 0x90, 0xcd, 0x8c,
+  0x00, 0x46, 0x71, 0xaf, 0x64, 0x03, 0x5b, 0xb8, 0xc5, 0x58, 0x59, 0x53,
+  0x52, 0x1a, 0x84, 0x0b, 0xc3, 0xa4, 0xac, 0x59, 0x79, 0x47, 0x71, 0x91,
+  0x36, 0x45, 0xd4, 0xbc, 0x9c, 0xf2, 0x7e, 0x18, 0xdf, 0x5b, 0x7e, 0xd7,
+  0x01, 0xe9, 0x2e, 0xfc, 0xd9, 0xa1, 0x66, 0xe3, 0x46, 0x77, 0x80, 0x15,
+  0x07, 0x1d, 0xbc, 0x7b, 0xea, 0xb0, 0x0b, 0x0d, 0xfb, 0x77, 0xf9, 0xbe,
+  0x77, 0xfc, 0x0c, 0xb1, 0x8b, 0x06, 0x23, 0x1e, 0x97, 0xcd, 0x8d, 0xbd,
+  0x72, 0x30, 0x60, 0x72, 0x8f, 0x19, 0x4b, 0xb5, 0x81, 0x52, 0xae, 0x96,
+  0x59, 0x23, 0xb8, 0x36, 0xf1, 0xdf, 0x04, 0x21, 0xc0, 0x8f, 0xcc, 0x0e,
+  0x52, 0x36, 0xca, 0xfc, 0x26, 0xac, 0x48, 0x0d, 0xb2, 0xcc, 0xc9, 0x7f,
+  0x04, 0xa3, 0x14, 0x24, 0x34, 0xe6, 0xbb, 0x04, 0x16, 0xaa, 0x6b, 0x22,
+  0x1c, 0xa1, 0xa1, 0xa7, 0x41, 0xb2, 0x31, 0xa6, 0x9a, 0x00, 0x2f, 0x6e,
+  0x51, 0xb7, 0x98, 0x0e, 0xc0, 0x19, 0x72, 0x9c, 0x25, 0x4c, 0x6e, 0xf6,
+  0xe5, 0x58, 0xdf, 0xa9, 0xb7, 0xc9, 0xd8, 0x8e, 0x80, 0xc0, 0x5a, 0x5a,
+  0xe5, 0x8a, 0x43, 0xfb, 0x0f, 0x1b, 0x1a, 0x81, 0xe1, 0x55, 0xd5, 0xcc,
+  0xb2, 0x06, 0x9e, 0x3a, 0x8b, 0xc4, 0xc4, 0x94, 0x87, 0xc2, 0x2b, 0x75,
+  0x61, 0x31, 0xa8, 0xf9, 0xdd, 0x51, 0x2c, 0xa6, 0x50, 0xc5, 0xf4, 0x1d,
+  0x28, 0x2f, 0x1e, 0x5b, 0x52, 0x5d, 0xca, 0x89, 0x44, 0xf3, 0x24, 0x68,
+  0x9c, 0xa4, 0x89, 0xd1, 0x06, 0x74, 0x65, 0x80, 0x1f, 0xf7, 0x68, 0x69,
+  0xb6, 0xa2, 0xe9, 0xfa, 0xf2, 0xc1, 0xbc, 0x88, 0x9b, 0x71, 0x60, 0xf6,
+  0x7f, 0x1d, 0x8b, 0x1f, 0xea, 0xe5, 0x3a, 0x29, 0x8b, 0xbf, 0x2e, 0x8b,
+  0x49, 0x63, 0x31, 0x71, 0xd0, 0x49, 0xcb, 0xbe, 0x47, 0xda, 0x24, 0x01,
+  0x53, 0x0b, 0xa4, 0xe9, 0x6e, 0x7c, 0x7c, 0x48, 0xdc, 0x77, 0x94, 0x79,
+  0x44, 0x70, 0x61, 0xba, 0x76, 0x66, 0x5e, 0x8e, 0xd2, 0x4d, 0x6e, 0x56,
+  0xa8, 0x9a, 0xdc, 0x20, 0xab, 0x12, 0xee, 0x9d, 0x4c, 0x7d, 0x96, 0x2b,
+  0xe0, 0x3f, 0xdc, 0xac, 0x28, 0x4a, 0x39, 0x89, 0x24, 0xca, 0x9b, 0x2e,
+  0x0b, 0x15, 0xd4, 0xab, 0xfa, 0x19, 0xa2, 0xab, 0x6e, 0x68, 0xce, 0xb3,
+  0x59, 0x9d, 0xd9, 0x10, 0xbe, 0x7d, 0xc7, 0x99, 0x22, 0x30, 0x8b, 0x8b,
+  0x92, 0x63, 0x70, 0xe4, 0x0d, 0xca, 0xa3, 0xa7, 0x1c, 0x3d, 0x31, 0x2a,
+  0x88, 0x74, 0x86, 0x0c, 0x3d, 0xda, 0x27, 0xf7, 0x9a, 0x75, 0x2f, 0x2d,
+  0xe8, 0xae, 0xd3, 0xac, 0xfb, 0xe0, 0xf6, 0x29, 0xed, 0xbc, 0x49, 0x26,
+  0xbb, 0x4e, 0x55, 0xae, 0xa4, 0x9c, 0xbc, 0x55, 0xc8, 0xb9, 0x60, 0x7a,
+  0xc3, 0xfc, 0xcd, 0x14, 0x94, 0x1a, 0x0c, 0xae, 0x9a, 0xc5, 0x20, 0xba,
+  0x04, 0x58, 0xeb, 0xf6, 0x16, 0x98, 0x5d, 0x09, 0x6b, 0xc1, 0x5b, 0x25,
+  0x6c, 0xb9, 0x25, 0xd0, 0x78, 0x72, 0xfa, 0x86, 0x7d, 0xd0, 0x47, 0x17,
+  0xf4, 0xb7, 0xdc, 0x72, 0x36, 0x0c, 0x71, 0x28, 0x88, 0x90, 0x99, 0x23,
+  0xa8, 0x6f, 0xbf, 0xeb, 0x26, 0xfc, 0x6c, 0x9d, 0x8d, 0x76, 0x9e, 0xbc,
+  0xd8, 0x0d, 0x53, 0xcf, 0xb7, 0xe8, 0x1b, 0x8e, 0xcc, 0xe6, 0xb3, 0xe1,
+  0xd3, 0xdd, 0xe1, 0xee, 0x76, 0xa7, 0x37, 0x34, 0xdd, 0x6b, 0x92, 0xc9,
+  0x95, 0x82, 0xd3, 0x5e, 0x1c, 0x34, 0x05, 0x2e, 0x5f, 0x5b, 0x41, 0x9b,
+  0x7e, 0xda, 0xd2, 0x45, 0x76, 0x6b, 0xb6, 0x5a, 0xcc, 0x18, 0x4e, 0x4e,
+  0x73, 0x60, 0xd9, 0xcd, 0x7b, 0x74, 0x9b, 0xe9, 0xfd, 0x42, 0x79, 0x81,
+  0xed, 0x5c, 0x3d, 0x3c, 0x42, 0x17, 0x26, 0x03, 0x86, 0x23, 0x41, 0x90,
+  0xda, 0x74, 0xaa, 0x02, 0x38, 0x0e, 0xc1, 0xf6, 0xdf, 0xdd, 0x01, 0xe2,
+  0x39, 0xf4, 0xf6, 0x5e, 0x0c, 0x3f, 0xf3, 0xd7, 0x94, 0x34, 0xf1, 0x41,
+  0x5a, 0x4f, 0xf2, 0x7c, 0xad, 0x8d, 0xa1, 0xa8, 0xc3, 0xbf, 0x2e, 0x41,
+  0xcb, 0x62, 0xb6, 0x69, 0x9e, 0x72, 0x04, 0xd5, 0xb1, 0x59, 0x05, 0xcd,
+  0x92, 0x1a, 0x69, 0xb6, 0xd8, 0xba, 0x76, 0x25, 0x85, 0x89, 0x48, 0xb6,
+  0x85, 0x80, 0x0f, 0xee, 0xbc, 0x19, 0xce, 0x75, 0x47, 0x95, 0x32, 0x67,
+  0x81, 0x09, 0x5c, 0x16, 0x55, 0x98, 0x50, 0x42, 0xf8, 0x48, 0xa2, 0xf3,
+  0x34, 0x73, 0x5f, 0x97, 0x34, 0x4f, 0xb1, 0x49, 0x85, 0xd7, 0x00, 0x14,
+  0x66, 0xd6, 0xb8, 0xb1, 0x67, 0x5f, 0x00, 0x3a, 0x7f, 0xf6, 0x00, 0x35,
+  0x2d, 0x03, 0x25, 0x8d, 0x28, 0x83, 0xcc, 0xc0, 0x9a, 0x20, 0x6a, 0xcd,
+  0xf6, 0x13, 0x0d, 0x84, 0x29, 0x63, 0x12, 0xb8, 0x22, 0x18, 0xb9, 0x21,
+  0xcc, 0xc0, 0x44, 0xc8, 0x60, 0x67, 0x2b, 0x42, 0xb7, 0xd1, 0x37, 0xe3,
+  0x03, 0xbf, 0x13, 0x76, 0x50, 0x91, 0xdd, 0x91, 0x34, 0xae, 0x45, 0x9d,
+  0xa8, 0xaa, 0x9c, 0x9c, 0x39, 0x36, 0xe8, 0xcf, 0x2a, 0x19, 0x01, 0x21,
+  0xe9, 0x82, 0x9e, 0x46, 0xb2, 0x08, 0x27, 0x38, 0x9d, 0xb5, 0x25, 0xcc,
+  0x2a, 0xc0, 0x50, 0x44, 0x8c, 0x3b, 0x8f, 0xb3, 0x6a, 0x57, 0x6e, 0x3a,
+  0x30, 0x38, 0x3b, 0xe0, 0x45, 0x13, 0x71, 0xf6, 0x10, 0x78, 0x82, 0x3d,
+  0x23, 0xcc, 0x58, 0x82, 0xb9, 0x4e, 0x6b, 0x61, 0xfb, 0x1e, 0xf3, 0x6e,
+  0x5c, 0xb3, 0x75, 0xaa, 0xf4, 0xee, 0xe1, 0xfd, 0xe8, 0xed, 0x1a, 0x99,
+  0xe9, 0x19, 0x5c, 0x25, 0x1e, 0xc1, 0x1a, 0x7c, 0x04, 0x8a, 0xd7, 0x8b,
+  0xf4, 0x54, 0x88, 0x7d, 0x99, 0x55, 0xd7, 0x4c, 0x66, 0x23, 0xc6, 0x0d,
+  0xcb, 0xf5, 0x3f, 0xaf, 0x01, 0xe9, 0x3b, 0xa7, 0xa2, 0x1b, 0x45, 0xcb,
+  0x73, 0xde, 0x61, 0x69, 0xc2, 0xb0, 0xcc, 0x95, 0xc7, 0x28, 0xf7, 0x47,
+  0x1c, 0x0a, 0x37, 0xba, 0xbe, 0x07, 0x01, 0xe2, 0x05, 0x80, 0x63, 0xc8,
+  0x1b, 0xa6, 0xd0, 0x79, 0xc5, 0x90, 0x80, 0x4c, 0x67, 0x46, 0xdb, 0x0a,
+  0xe1, 0x5d, 0x4b, 0xd3, 0xb2, 0xc8, 0x2a, 0x92, 0x82, 0x40, 0x4d, 0x0f,
+  0x14, 0xec, 0x1a, 0xbb, 0x58, 0xcc, 0xe6, 0x3f, 0xfa, 0xfa, 0x04, 0xe8,
+  0x5f, 0x73, 0xe8, 0x0b, 0x49, 0x6d, 0xe5, 0xfe, 0x33, 0xad, 0xba, 0x35,
+  0xc2, 0xae, 0x73, 0x6b, 0x32, 0xa6, 0x49, 0x8b, 0x32, 0xad, 0xa3, 0x23,
+  0x27, 0xaa, 0x0c, 0x0b, 0xbe, 0x51, 0x74, 0x5a, 0x8a, 0x2c, 0x90, 0x42,
+  0xaa, 0x11, 0xc2, 0xd4, 0x41, 0xca, 0xa3, 0xf3, 0x85, 0xaf, 0x6b, 0x0a,
+  0x76, 0x5a, 0x4b, 0x08, 0x10, 0x8a, 0x45, 0x00, 0x37, 0x76, 0xfb, 0x95,
+  0x69, 0xea, 0xb3, 0x10, 0x3a, 0x25, 0x9f, 0x8f, 0xd7, 0x91, 0xc0, 0x9a,
+  0x74, 0xcc, 0x71, 0x3b, 0x75, 0x99, 0x86, 0xc3, 0xd1, 0x7d, 0x24, 0x2d,
+  0x90, 0x53, 0x26, 0xe6, 0xf9, 0x53, 0xb5, 0x84, 0x42, 0x02, 0xff, 0x01,
+  0x1c, 0x3c, 0xdd, 0x11, 0xe6, 0x7c, 0xd2, 0x2d, 0xa9, 0xc9, 0x24, 0x7e,
+  0x6b, 0x4a, 0xc4, 0x23, 0xc0, 0xc9, 0x78, 0x73, 0x64, 0xaf, 0xbc, 0xa2,
+  0x9b, 0xfd, 0xcf, 0xe2, 0xf0, 0x20, 0xe0, 0xb4, 0x1f, 0x04, 0x91, 0x4c,
+  0x22, 0x86, 0xd8, 0x09, 0x6b, 0x00, 0x4d, 0x43, 0xbc, 0x39, 0x0e, 0x93,
+  0x79, 0xb3, 0xc7, 0x3b, 0x8e, 0x78, 0x34, 0x6b, 0x2e, 0x55, 0xf0, 0x2f,
+  0xdd, 0xc9, 0x7b, 0xf5, 0xf0, 0xec, 0xfd, 0xd2, 0xe9, 0x5b, 0x3f, 0x7b,
+  0xcc, 0x47, 0xab, 0x58, 0xcb, 0x57, 0x9e, 0xa3, 0x07, 0x70, 0x01, 0xb6,
+  0x15, 0xac, 0xc3, 0xa7, 0x2d, 0x65, 0x3c, 0xa3, 0xe8, 0xd5, 0x6f, 0xb5,
+  0xea, 0xd8, 0x8c, 0xb0, 0x40, 0xa9, 0xf3, 0xf1, 0xe6, 0xd8, 0x5b, 0x89,
+  0xb5, 0xf7, 0x59, 0x93, 0x44, 0x67, 0x44, 0x0b, 0x64, 0xe8, 0x7d, 0x32,
+  0xfb, 0xbf, 0xe1, 0xcd, 0x3c, 0x86, 0x4f, 0x65, 0x10, 0x6f, 0x4e, 0x33,
+  0x66, 0x44, 0x69, 0x0c, 0xc6, 0xf7, 0x67, 0xbd, 0xa4, 0x1e, 0x1a, 0x5c,
+  0x0b, 0x7a, 0xc9, 0xf0, 0x14, 0x76, 0xd1, 0xc1, 0x4e, 0x69, 0x45, 0xe8,
+  0x22, 0x4e, 0x4c, 0x9b, 0xb6, 0x64, 0x59, 0x9c, 0x18, 0xf9, 0xaa, 0x37,
+  0xd8, 0x76, 0xbf, 0x3d, 0x67, 0xc4, 0x52, 0x83, 0xfb, 0x40, 0x16, 0x3a,
+  0xde, 0x5c, 0x0e, 0xc3, 0x54, 0x96, 0x8f, 0xa8, 0x66, 0xa3, 0xcb, 0xf7,
+  0xff, 0x67, 0x43, 0x64, 0xf7, 0x28, 0x76, 0x83, 0x94, 0xac, 0xb8, 0x66,
+  0xd6, 0x27, 0xd3, 0x2d, 0xc0, 0xb4, 0x93, 0x16, 0x29, 0x7c, 0x00, 0x1e,
+  0x80, 0xf1, 0xdd, 0x47, 0xcc, 0x6e, 0x86, 0xc8, 0x66, 0xce, 0x88, 0xf7,
+  0x57, 0xf6, 0xe6, 0x99, 0x0e, 0x68, 0x78, 0x03, 0xd9, 0xb5, 0x43, 0xec,
+  0xc3, 0x35, 0x9b, 0xd5, 0x6e, 0xce, 0xf8, 0xbe, 0x0c, 0x76, 0xe0, 0xea,
+  0xdb, 0x51, 0x09, 0xd2, 0xe4, 0x7a, 0x6f, 0x5d, 0x96, 0x7b, 0x9f, 0xb7,
+  0x2e, 0x4b, 0xf7, 0xce, 0xba, 0x6b, 0x72, 0x84, 0xb4, 0x8d, 0x76, 0x42,
+  0x33, 0x5e, 0x02, 0x94, 0x04, 0xe4, 0xc4, 0x21, 0x40, 0x86, 0x5e, 0xed,
+  0xea, 0x00, 0x82, 0x50, 0x71, 0xd8, 0x7f, 0xce, 0x4b, 0xa0, 0xc0, 0x8b,
+  0x28, 0xf3, 0xc9, 0xb8, 0x2a, 0xef, 0x6a, 0x68, 0x4f, 0x6a, 0x4f, 0xa5,
+  0x8c, 0xa3, 0xbc, 0x09, 0xa2, 0xf9, 0x66, 0x7a, 0x67, 0x96, 0xc8, 0xed,
+  0x9b, 0xcb, 0xb7, 0xa7, 0x4c, 0x56, 0xcb, 0x99, 0x6c, 0x94, 0xb6, 0x22,
+  0x7d, 0x5e, 0x8e, 0xe7, 0x66, 0xfd, 0x8d, 0x82, 0xd2, 0xb0, 0x34, 0x53,
+  0x01, 0x19, 0xa4, 0xdb, 0x21, 0x2a, 0x24, 0x41, 0xc5, 0x45, 0xcc, 0xd7,
+  0x2f, 0xae, 0x20, 0x17, 0x4d, 0x93, 0xc5, 0x45, 0xee, 0xd7, 0x6a, 0x80,
+  0xc9, 0xce, 0xa7, 0xc1, 0xdd, 0xdd, 0xdd, 0x80, 0x7a, 0xe7, 0x14, 0x13,
+  0x32, 0xd9, 0x8e, 0x18, 0x57, 0x01, 0x55, 0xea, 0x0d, 0x2d, 0x05, 0x3d,
+  0x12, 0x9c, 0x3e, 0x4f, 0x53, 0x43, 0x4d, 0x05, 0x70, 0x42, 0x5a, 0x87,
+  0x02, 0x29, 0x5e, 0x96, 0x50, 0x19, 0x64, 0x22, 0x69, 0x5b, 0xd9, 0xea,
+  0x8a, 0x34, 0xa7, 0x7c, 0x39, 0x6a, 0x64, 0x5f, 0xff, 0x22, 0x55, 0x84,
+  0x54, 0x22, 0x89, 0x49, 0x2c, 0x2b, 0xf2, 0x3f, 0xb1, 0x85, 0x11, 0x43,
+  0x6e, 0x8b, 0x4e, 0xa2, 0x7e, 0x7d, 0x1b, 0x1d, 0x6b, 0x59, 0x26, 0xca,
+  0x01, 0x4b, 0x6d, 0x7b, 0xc7, 0x37, 0xa2, 0x27, 0x32, 0x75, 0x07, 0xf0,
+  0xf8, 0x58, 0x4d, 0xb3, 0xd9, 0x4c, 0xeb, 0x28, 0x71, 0x90, 0xc2, 0x9f,
+  0x1b, 0x68, 0x78, 0x51, 0x1d, 0xdb, 0x11, 0x24, 0xd7, 0x8e, 0x13, 0x57,
+  0xcd, 0x3b, 0x30, 0x98, 0x80, 0xb3, 0x04, 0xa4, 0xb8, 0x65, 0xdb, 0x3d,
+  0x33, 0x08, 0x22, 0x88, 0xe2, 0xae, 0xe9, 0x7b, 0x91, 0x9a, 0x9c, 0x1c,
+  0x26, 0x7e, 0x7e, 0xbf, 0x23, 0xec, 0x9b, 0x67, 0xd5, 0x35, 0xfd, 0x44,
+  0xd9, 0xdc, 0xa2, 0x59, 0x23, 0x69, 0xe2, 0xd1, 0xd7, 0x24, 0xc9, 0xbf,
+  0x0e, 0xf8, 0x52, 0x85, 0x67, 0x65, 0x49, 0xb0, 0x56, 0x71, 0x01, 0x6f,
+  0x0e, 0xa6, 0x2c, 0x56, 0xa6, 0x69, 0x61, 0x66, 0xc2, 0x9c, 0xd8, 0x10,
+  0x62, 0x31, 0x9b, 0xbd, 0x9a, 0x95, 0xcb, 0xfa, 0x7e, 0x33, 0x11, 0x7e,
+  0x72, 0xa1, 0xf4, 0x6d, 0x38, 0x41, 0x13, 0x6b, 0x69, 0xd6, 0x77, 0x59,
+  0x7c, 0xd4, 0x7b, 0x91, 0xd0, 0xee, 0x35, 0xfb, 0x16, 0x3b, 0xcd, 0x6d,
+  0x7a, 0x1f, 0xfb, 0x57, 0xbf, 0xed, 0xe8, 0x2c, 0xc3, 0x13, 0xc9, 0x76,
+  0xde, 0xe3, 0x0c, 0x3d, 0x17, 0x45, 0x88, 0x59, 0x79, 0x49, 0x2b, 0xea,
+  0x63, 0x1b, 0xa4, 0x7b, 0x83, 0x19, 0xf4, 0xd4, 0x4b, 0xee, 0xc2, 0xff,
+  0x90, 0x37, 0x2b, 0x52, 0x18, 0x5c, 0xcd, 0x2f, 0x4e, 0x61, 0x70, 0x94,
+  0x42, 0x9c, 0xe2, 0x6d, 0xf9, 0xbc, 0xfd, 0x8c, 0xa9, 0x61, 0x72, 0x6e,
+  0xe6, 0x6b, 0x10, 0x44, 0x7e, 0xae, 0xbd, 0xe6, 0x52, 0x9f, 0xaf, 0x4c,
+  0xae, 0x35, 0x9b, 0x09, 0xcb, 0xf8, 0x64, 0x80, 0xce, 0x13, 0x6b, 0x4d,
+  0x06, 0x48, 0x0f, 0x36, 0x2d, 0x69, 0x67, 0x59, 0xeb, 0xd3, 0x7a, 0x8a,
+  0x89, 0x28, 0x95, 0x12, 0x9f, 0x29, 0x3a, 0xae, 0xc6, 0x34, 0xfb, 0xda,
+  0xd9, 0xcd, 0x19, 0x9c, 0x19, 0xef, 0xf4, 0xd2, 0x7c, 0x40, 0x08, 0x58,
+  0xd6, 0x54, 0xba, 0xc9, 0x3a, 0x46, 0x17, 0xe7, 0xee, 0x3a, 0xb1, 0x12,
+  0x0c, 0x96, 0x91, 0x89, 0x6b, 0x20, 0x4d, 0xfe, 0xd9, 0xf6, 0x6e, 0x1b,
+  0x67, 0x75, 0x75, 0xaf, 0xa0, 0xd5, 0xfe, 0x42, 0xc7, 0x3b, 0xe7, 0x44,
+  0x20, 0xbf, 0x7e, 0xa2, 0x50, 0x29, 0x69, 0x4d, 0x3c, 0x5d, 0xbe, 0xa9,
+  0x97, 0xcd, 0xb2, 0x6b, 0x1e, 0xd3, 0xcb, 0xd3, 0xe3, 0xef, 0x8e, 0x4f,
+  0x83, 0x0b, 0xec, 0xeb, 0xd1, 0x68, 0xe7, 0x63, 0x56, 0x8d, 0x51, 0x85,
+  0x89, 0x7c, 0xde, 0x09, 0x9e, 0xb3, 0x78, 0x1d, 0x4f, 0xaa, 0xdf, 0xb9,
+  0xe4, 0xf2, 0x84, 0x51, 0xbb, 0x81, 0xb1, 0x4f, 0x88, 0x4c, 0xfe, 0xa4,
+  0x30, 0xa6, 0x22, 0x7f, 0x44, 0x80, 0x61, 0xb8, 0xa5, 0x26, 0x55, 0x36,
+  0xe5, 0x2a, 0x45, 0x21, 0x24, 0xac, 0x20, 0x35, 0x3f, 0x49, 0x5e, 0x63,
+  0x29, 0x19, 0x16, 0x8c, 0xe8, 0x87, 0x1d, 0x44, 0xf0, 0xc6, 0xa2, 0x34,
+  0x57, 0xc8, 0x7d, 0xf2, 0x5a, 0xbe, 0x59, 0xb3, 0x73, 0x93, 0x66, 0x83,
+  0xb9, 0x67, 0xd8, 0x64, 0x38, 0xfb, 0x76, 0x70, 0x38, 0x1a, 0xbc, 0x3e,
+  0x3e, 0x3d, 0xfe, 0xfa, 0xf0, 0xf2, 0x58, 0x69, 0x41, 0xc9, 0xfd, 0xbf,
+  0x42, 0x19, 0x62, 0x79, 0xf7, 0xad, 0x4c, 0x0b, 0xc6, 0x4f, 0xb4, 0xb2,
+  0x4d, 0xce, 0x64, 0xcf, 0xca, 0x9e, 0xcb, 0xa5, 0xf4, 0xc8, 0x44, 0x11,
+  0x64, 0x68, 0xbc, 0x39, 0x73, 0xfa, 0x66, 0x73, 0xe9, 0x6a, 0x30, 0x82,
+  0x74, 0x76, 0x47, 0x65, 0x1f, 0xde, 0x17, 0x84, 0x8b, 0xce, 0x6d, 0x1a,
+  0x20, 0x8f, 0xde, 0x9b, 0x7c, 0x6f, 0x66, 0x5b, 0x0b, 0x0c, 0xfa, 0xcc,
+  0x15, 0xc6, 0xbb, 0xe6, 0xf0, 0x22, 0xf8, 0xf8, 0x1a, 0x4f, 0x76, 0x68,
+  0x3a, 0x87, 0x2e, 0x89, 0xb7, 0xb0, 0xbf, 0x8a, 0xa4, 0xd9, 0xd3, 0x06,
+  0xaa, 0x27, 0x37, 0xd9, 0x5c, 0x34, 0x4a, 0x0a, 0x38, 0x23, 0xbd, 0x93,
+  0xf3, 0xe5, 0x84, 0xd9, 0x80, 0x0f, 0xfa, 0x38, 0x83, 0x60, 0x46, 0x3c,
+  0x07, 0x9b, 0x37, 0x06, 0xdd, 0xbc, 0x23, 0xf2, 0x5e, 0x72, 0xd2, 0x13,
+  0x04, 0x03, 0x59, 0xa1, 0x43, 0xa0, 0xc5, 0x38, 0x4f, 0xa0, 0x68, 0x85,
+  0x7e, 0xad, 0xbc, 0xe4, 0xda, 0x24, 0xdd, 0xcb, 0xdf, 0xb2, 0x80, 0x7a,
+  0x3c, 0x7e, 0x14, 0xd9, 0xc1, 0x8f, 0x20, 0x30, 0x55, 0xf5, 0xa5, 0x4e,
+  0xfe, 0x4a, 0x0f, 0x27, 0xef, 0x27, 0xee, 0xbb, 0x24, 0xe4, 0x60, 0xb3,
+  0x46, 0x51, 0xb8, 0x51, 0xc1, 0x20, 0xb1, 0x76, 0xea, 0xae, 0xf6, 0x97,
+  0x6d, 0x34, 0xa5, 0x28, 0xe5, 0xa5, 0x4c, 0xe4, 0x2c, 0x0b, 0xaf, 0xef,
+  0x23, 0x05, 0x43, 0x8b, 0xf8, 0x97, 0x88, 0x56, 0xf5, 0xaf, 0x21, 0x3d,
+  0xb3, 0x4d, 0x9f, 0x1a, 0x64, 0x8b, 0x80, 0xf7, 0x72, 0xeb, 0x8d, 0x52,
+  0xd9, 0x5a, 0x3d, 0xcf, 0xaf, 0xe5, 0xe0, 0x11, 0xaf, 0x1f, 0x9f, 0x5f,
+  0x70, 0x41, 0xc5, 0x53, 0xfa, 0x8b, 0x04, 0x6d, 0xea, 0x18, 0x57, 0x8f,
+  0x50, 0x69, 0x13, 0xc6, 0x20, 0x83, 0xd7, 0xdf, 0xc6, 0x62, 0x15, 0x58,
+  0xc6, 0x70, 0x42, 0xe1, 0x2b, 0x95, 0x03, 0x11, 0xcb, 0x45, 0xf4, 0x0a,
+  0x00, 0x51, 0x4f, 0xa8, 0x0b, 0x42, 0x4f, 0x88, 0x4e, 0x30, 0x24, 0x52,
+  0x7d, 0xeb, 0x67, 0xf4, 0x4b, 0xd2, 0xfd, 0x14, 0x38, 0xb0, 0x62, 0x1a,
+  0x5b, 0x7c, 0xc2, 0xd4, 0x2c, 0xbd, 0x99, 0x54, 0x28, 0x17, 0x95, 0x9a,
+  0xae, 0x0c, 0x3b, 0x43, 0x05, 0xe1, 0x3f, 0x71, 0x83, 0x85, 0xae, 0x74,
+  0x94, 0x3a, 0x10, 0xbf, 0x98, 0xe0, 0x8c, 0x31, 0x60, 0x85, 0x4f, 0xf7,
+  0x25, 0x44, 0x9d, 0xda, 0x70, 0x25, 0x4a, 0x4d, 0x22, 0x76, 0x1d, 0x68,
+  0xdb, 0x82, 0x31, 0xe7, 0x31, 0x50, 0x66, 0xb4, 0x44, 0x5d, 0x59, 0x39,
+  0xbb, 0x92, 0xc8, 0x56, 0x0a, 0x3a, 0x48, 0x98, 0x19, 0x63, 0xd6, 0x26,
+  0x00, 0xd2, 0xba, 0x49, 0x8b, 0xc8, 0xa9, 0x33, 0x13, 0x6f, 0x6b, 0x2e,
+  0x60, 0x94, 0xb2, 0x6c, 0x11, 0x85, 0x9a, 0xf6, 0x46, 0x0b, 0xe3, 0x4b,
+  0x80, 0xf6, 0x4f, 0xa4, 0xb0, 0xe7, 0xe4, 0x12, 0x97, 0xae, 0xf0, 0xcc,
+  0x10, 0xf9, 0x87, 0xee, 0xb7, 0x32, 0xb6, 0xab, 0x44, 0xbc, 0x38, 0x47,
+  0x7d, 0x6b, 0x0b, 0xae, 0x70, 0x01, 0x67, 0x89, 0x45, 0xf4, 0xd4, 0xc8,
+  0x99, 0xf0, 0x88, 0xff, 0xa8, 0x86, 0x59, 0x3b, 0xa9, 0x02, 0xcb, 0x87,
+  0x7b, 0xbd, 0xe8, 0x02, 0x18, 0x32, 0x46, 0xd2, 0x9b, 0x6f, 0xa3, 0xbb,
+  0xe4, 0x95, 0xb1, 0xc1, 0x3c, 0xda, 0x3c, 0xc1, 0xf7, 0x5f, 0xa3, 0x73,
+  0xf4, 0x1d, 0xbc, 0x80, 0x93, 0x6f, 0xf4, 0x07, 0x2e, 0x81, 0x47, 0x88,
+  0x1d, 0xde, 0xca, 0xe3, 0xcc, 0x7c, 0x2f, 0xa7, 0x1a, 0x1b, 0x7e, 0x8d,
+  0x9a, 0x10, 0xb5, 0x5a, 0x9b, 0x0d, 0x48, 0xb7, 0x05, 0x29, 0x62, 0x24,
+  0x85, 0xe8, 0x5d, 0x0a, 0xc5, 0x67, 0x89, 0x5f, 0xa0, 0x06, 0x1b, 0x02,
+  0xda, 0xfb, 0x79, 0x5f, 0x42, 0x61, 0x00, 0xab, 0x05, 0x11, 0x65, 0x33,
+  0x81, 0x13, 0xcb, 0x11, 0xa2, 0x4f, 0xa6, 0xf5, 0x6d, 0xfc, 0x84, 0xd7,
+  0xb7, 0xd1, 0x13, 0xfe, 0x88, 0x73, 0xee, 0x6c, 0x9f, 0xe3, 0xf3, 0xd1,
+  0x77, 0xab, 0xd2, 0xfd, 0x99, 0x16, 0x9d, 0x8f, 0xb8, 0x1b, 0x1d, 0x6d,
+  0x7a, 0xff, 0x98, 0xaf, 0x3e, 0xe7, 0x51, 0x77, 0x7d, 0x70, 0xce, 0xcd,
+  0xf7, 0xe5, 0x70, 0x9f, 0x1f, 0x8e, 0xbe, 0xf3, 0x8e, 0xb5, 0xb7, 0x05,
+  0x70, 0x8e, 0x63, 0xd9, 0xc6, 0xa8, 0xbf, 0x53, 0x29, 0x39, 0x20, 0x35,
+  0x16, 0xdd, 0xef, 0xf5, 0xed, 0x63, 0xf6, 0xbb, 0xe9, 0x49, 0xb0, 0xdf,
+  0x83, 0x39, 0x5e, 0xb7, 0xdf, 0xfd, 0x85, 0x6a, 0x63, 0x20, 0xbd, 0xdd,
+  0x5e, 0x70, 0x95, 0xbe, 0x1b, 0x14, 0x7c, 0x8d, 0x6f, 0x73, 0x20, 0x61,
+  0x79, 0x6b, 0x87, 0x10, 0x31, 0xf4, 0xf3, 0x97, 0x6d, 0x74, 0xf3, 0x42,
+  0xb0, 0xd1, 0x75, 0x3d, 0xe3, 0x3b, 0x7d, 0xd5, 0x46, 0x57, 0x84, 0x68,
+  0xc6, 0x9b, 0xdc, 0xdf, 0xe3, 0xe1, 0xfe, 0xf6, 0x76, 0xad, 0x9f, 0xda,
+  0x1b, 0xce, 0x90, 0x02, 0x95, 0x6c, 0x9e, 0xba, 0x97, 0xa6, 0x1f, 0xa1,
+  0x85, 0xe8, 0x2b, 0x94, 0x0d, 0x09, 0x8e, 0xa1, 0x77, 0xdd, 0x12, 0x2a,
+  0xb4, 0xc0, 0xec, 0x95, 0xea, 0xd2, 0xb8, 0xc5, 0x71, 0x6d, 0xc3, 0x54,
+  0xf7, 0xb3, 0xc4, 0xaf, 0x82, 0x13, 0xd9, 0x22, 0x7f, 0xc9, 0xa2, 0xf9,
+  0xc6, 0x75, 0x46, 0x10, 0x01, 0xf0, 0x0e, 0xb5, 0xce, 0x69, 0x51, 0x0f,
+  0x5c, 0x15, 0xc5, 0x97, 0xf6, 0xaf, 0x81, 0x96, 0xfe, 0xfa, 0xdd, 0xa8,
+  0x73, 0x5c, 0xeb, 0x8c, 0x11, 0xf3, 0xd7, 0x38, 0x7a, 0xe6, 0xf7, 0x36,
+  0xcf, 0xa5, 0x76, 0x55, 0x4b, 0xa4, 0xc9, 0x20, 0x91, 0x99, 0x3e, 0x61,
+  0xb9, 0xe5, 0x9d, 0xe2, 0x93, 0x6a, 0xe1, 0x4f, 0xf8, 0xfb, 0xc8, 0xe7,
+  0xe2, 0xf5, 0x4e, 0x32, 0x7d, 0xc9, 0x93, 0x12, 0xa3, 0x79, 0x61, 0x21,
+  0x4b, 0xfd, 0xd4, 0x02, 0x6a, 0xc2, 0xba, 0x2a, 0xf4, 0x4e, 0xb6, 0xe0,
+  0x42, 0x91, 0x78, 0x85, 0x23, 0x63, 0x91, 0x99, 0x2d, 0xa1, 0x8d, 0x11,
+  0xc8, 0xce, 0xf6, 0x5a, 0x6d, 0x8a, 0xa7, 0x70, 0x71, 0xfb, 0x74, 0x40,
+  0x8f, 0xab, 0xf2, 0x24, 0x3f, 0x7c, 0x8e, 0x1f, 0x0e, 0xbb, 0x13, 0x1d,
+  0xd8, 0x9a, 0x52, 0xe5, 0xc8, 0x7a, 0x19, 0x97, 0xc5, 0x94, 0xf8, 0x9f,
+  0xa9, 0xdb, 0x5a, 0xb1, 0xf8, 0x2e, 0x75, 0xbc, 0xd5, 0x24, 0xc8, 0x85,
+  0x9d, 0xc5, 0xec, 0xa5, 0xee, 0xe4, 0xa6, 0x28, 0x5d, 0xec, 0x79, 0x14,
+  0x9f, 0x74, 0xc3, 0x6f, 0xad, 0x1e, 0xbf, 0x94, 0x61, 0xc6, 0x97, 0x9c,
+  0xd7, 0xdc, 0xb3, 0xe4, 0xc7, 0x39, 0x17, 0x5d, 0x78, 0x99, 0x2f, 0x06,
+  0xfa, 0x26, 0x0b, 0xe1, 0x79, 0xfa, 0x51, 0xae, 0xc6, 0xa7, 0xb4, 0x0c,
+  0x91, 0x41, 0x72, 0x51, 0x34, 0x3f, 0xb0, 0x43, 0xdb, 0xc6, 0xee, 0x1a,
+  0x51, 0x59, 0x1a, 0xcb, 0xd1, 0x06, 0xf3, 0x86, 0xbf, 0x11, 0x4b, 0x83,
+  0x51, 0xe0, 0xaa, 0xef, 0xb3, 0x50, 0xc8, 0x3b, 0x7a, 0x61, 0xdf, 0x7d,
+  0x70, 0xfd, 0xdc, 0x7e, 0x58, 0xb7, 0x7e, 0x3a, 0x67, 0xff, 0x3d, 0xd6,
+  0xef, 0xf9, 0xef, 0xb6, 0x7e, 0xcf, 0xff, 0x5b, 0xac, 0xdf, 0xf3, 0x7f,
+  0x7c, 0xfd, 0x9e, 0x76, 0xd7, 0xef, 0xf9, 0x7f, 0x97, 0xf5, 0xd3, 0x72,
+  0x1f, 0xba, 0x7a, 0x59, 0xb0, 0x7e, 0xe4, 0x09, 0xe1, 0x2b, 0x04, 0x04,
+  0x5f, 0xd0, 0x86, 0x68, 0xba, 0xf5, 0x4d, 0x0e, 0x3c, 0x08, 0xd6, 0x8c,
+  0x3d, 0xbb, 0x0a, 0x79, 0x44, 0xe6, 0x7d, 0x9c, 0xa7, 0x51, 0xb8, 0x93,
+  0x94, 0xf0, 0xec, 0xe4, 0x3c, 0xb1, 0x1d, 0xf0, 0x96, 0xc1, 0xd1, 0x0c,
+  0x41, 0xc9, 0x89, 0xba, 0x5c, 0x6b, 0xf2, 0xc3, 0x99, 0x09, 0xe0, 0x64,
+  0xb3, 0xda, 0xa5, 0x4a, 0xc6, 0xb8, 0x84, 0xcc, 0xe4, 0x1d, 0xbc, 0xa4,
+  0xf9, 0x1a, 0xf0, 0xe3, 0x5f, 0x46, 0xf3, 0x7f, 0x50, 0x55, 0xcd, 0x75,
+  0x29, 0xe6, 0x66, 0xf7, 0xa6, 0xee, 0xd1, 0xcb, 0xb6, 0xaa, 0xf0, 0x84,
+  0x2e, 0xe1, 0x64, 0xf0, 0xd0, 0x92, 0xbd, 0x86, 0x66, 0xb0, 0x9c, 0x2f,
+  0x24, 0x2f, 0xf0, 0x81, 0xbc, 0x28, 0xe8, 0x9f, 0xdb, 0xc9, 0xf7, 0xc8,
+  0x7a, 0x62, 0xcf, 0xaa, 0xe4, 0x0a, 0xd8, 0x92, 0xc0, 0x0a, 0xc4, 0xd6,
+  0xb0, 0xc5, 0x0a, 0x02, 0xa3, 0x28, 0x97, 0x4c, 0x27, 0xe7, 0x97, 0x41,
+  0xed, 0xb6, 0xc6, 0x6e, 0x56, 0xf8, 0x1a, 0x92, 0x60, 0xa2, 0x25, 0x8d,
+  0x97, 0x3f, 0x1a, 0xa5, 0x8d, 0xa4, 0x6b, 0x91, 0x13, 0x25, 0xa8, 0xd3,
+  0x4c, 0x03, 0x66, 0x5e, 0x37, 0x4d, 0x0d, 0x25, 0x5b, 0xc2, 0xab, 0x50,
+  0xab, 0xbd, 0x07, 0x33, 0x4b, 0x0c, 0x4a, 0xac, 0xaa, 0x0c, 0xec, 0x42,
+  0xc9, 0xb9, 0xb7, 0xa4, 0xa8, 0xc5, 0xad, 0x02, 0xe7, 0x41, 0x0f, 0xe3,
+  0x53, 0xa9, 0x0f, 0xc6, 0x61, 0x06, 0x8c, 0xc2, 0x38, 0x79, 0xc4, 0xff,
+  0x82, 0xfd, 0xbb, 0x02, 0xc4, 0xcd, 0x3a, 0x84, 0x6f, 0x87, 0x06, 0x6b,
+  0xee, 0x43, 0xc4, 0x87, 0x1b, 0xeb, 0xe0, 0x9b, 0x8c, 0x0b, 0xbc, 0xc9,
+  0xfc, 0x2c, 0x44, 0x4b, 0xe1, 0xc6, 0x0e, 0x61, 0x06, 0x1e, 0x99, 0xc1,
+  0x09, 0x8a, 0x2d, 0xa0, 0xa5, 0x47, 0xa2, 0xb1, 0xcc, 0x56, 0x4f, 0x88,
+  0x51, 0x96, 0x0c, 0x41, 0x22, 0x1e, 0xb7, 0x29, 0x53, 0x77, 0xfc, 0x13,
+  0xb3, 0xfe, 0x3c, 0x54, 0xa7, 0x2f, 0x92, 0xb2, 0x6b, 0x8e, 0x85, 0xae,
+  0x43, 0x10, 0xda, 0x64, 0x3f, 0xbf, 0x4c, 0x1c, 0x87, 0x67, 0x65, 0x17,
+  0x1f, 0x17, 0x4d, 0x55, 0x2e, 0xee, 0x93, 0xaf, 0x53, 0x1a, 0x16, 0xd4,
+  0xc2, 0x34, 0x9b, 0x07, 0x39, 0x1f, 0x5c, 0x3b, 0x4e, 0xb4, 0x34, 0xae,
+  0x23, 0xa7, 0x23, 0x84, 0x5e, 0xc9, 0xd3, 0x92, 0x50, 0xd1, 0xf7, 0x29,
+  0xf9, 0xf3, 0x34, 0x77, 0x0c, 0xb0, 0xc9, 0xd1, 0xe8, 0x34, 0x54, 0xa6,
+  0x95, 0xfe, 0x7e, 0x6d, 0x8e, 0x2f, 0x5a, 0x1b, 0xb4, 0x4f, 0x94, 0x19,
+  0x39, 0x37, 0xfe, 0x32, 0x7a, 0x98, 0x65, 0xdc, 0xd9, 0x4c, 0x33, 0xe1,
+  0x85, 0x38, 0x3c, 0x99, 0x54, 0xf7, 0x0b, 0x32, 0xd0, 0xf8, 0x65, 0x39,
+  0x7b, 0xd4, 0x3f, 0x26, 0x51, 0x5c, 0x9b, 0x46, 0xf8, 0x1e, 0x11, 0x32,
+  0x79, 0x15, 0x82, 0x98, 0x82, 0x99, 0x66, 0xba, 0x28, 0xb8, 0xaa, 0x82,
+  0x99, 0x64, 0xd6, 0x14, 0x04, 0x09, 0xae, 0x22, 0x47, 0xc0, 0x02, 0x86,
+  0x12, 0x1b, 0x1d, 0x2a, 0x65, 0xb8, 0x75, 0x90, 0x69, 0x49, 0x74, 0xbd,
+  0xf0, 0x68, 0x6f, 0xeb, 0xc5, 0x20, 0x6f, 0x74, 0x6a, 0x81, 0xaa, 0x08,
+  0xb6, 0x4c, 0xbb, 0x29, 0x65, 0x4c, 0x17, 0x01, 0x3b, 0x03, 0x87, 0xbc,
+  0xf7, 0x76, 0x77, 0x1f, 0xa4, 0xdd, 0x10, 0xf7, 0xaf, 0xb2, 0x6f, 0x60,
+  0x14, 0x54, 0xaa, 0x50, 0xa8, 0x37, 0x1a, 0xad, 0x03, 0xee, 0x88, 0x37,
+  0x90, 0x24, 0x9a, 0xe6, 0x92, 0x70, 0xd0, 0x25, 0x2a, 0x32, 0x9f, 0xb4,
+  0x24, 0x18, 0xee, 0x08, 0xb2, 0xac, 0x63, 0x76, 0x1a, 0xd0, 0x70, 0x18,
+  0x11, 0x76, 0x8c, 0x3e, 0xd6, 0x07, 0xad, 0x77, 0xa2, 0x05, 0xf2, 0xa8,
+  0x43, 0xf4, 0x92, 0x68, 0x2f, 0xc3, 0xe4, 0xab, 0x7b, 0x67, 0x38, 0x79,
+  0x45, 0xde, 0xd1, 0x2b, 0x76, 0xb5, 0x4a, 0x79, 0xe6, 0x28, 0xf1, 0xfc,
+  0x5a, 0x6a, 0x8d, 0x7f, 0xf1, 0x78, 0xa5, 0x8c, 0x00, 0x5a, 0xd4, 0x68,
+  0x15, 0x19, 0xfa, 0x71, 0x8f, 0x81, 0x1d, 0xad, 0xa5, 0x25, 0x74, 0xc3,
+  0xf6, 0x58, 0xf5, 0xf9, 0x52, 0x59, 0xcb, 0x87, 0xda, 0x26, 0x4a, 0x69,
+  0xa3, 0xf2, 0x3e, 0x6b, 0xab, 0x25, 0x94, 0xa9, 0x38, 0x40, 0x3e, 0x62,
+  0x37, 0x0b, 0x9b, 0x52, 0x18, 0x51, 0x17, 0xfb, 0x13, 0xa3, 0x34, 0x9c,
+  0x09, 0x4c, 0x04, 0x3d, 0x0c, 0x83, 0xd0, 0x5c, 0x89, 0x0e, 0xff, 0x63,
+  0x8c, 0x57, 0x4b, 0x4f, 0xba, 0x9f, 0x2c, 0x15, 0xa4, 0x46, 0xa9, 0x2d,
+  0xcd, 0xc6, 0x74, 0x98, 0x66, 0x2e, 0xcb, 0xa3, 0x9e, 0x1a, 0xe8, 0x64,
+  0x9c, 0x7c, 0x89, 0x70, 0x31, 0x54, 0x09, 0xd6, 0x3d, 0xde, 0x5f, 0x9c,
+  0xf6, 0x13, 0xa9, 0xad, 0x48, 0x80, 0x4f, 0xb3, 0xd2, 0x71, 0xdd, 0xc8,
+  0x51, 0x99, 0x33, 0x2f, 0x1d, 0x8f, 0xa5, 0x76, 0x0c, 0x4b, 0x24, 0xb6,
+  0xe1, 0xfc, 0x34, 0x4d, 0xd6, 0x8a, 0x90, 0x09, 0x5d, 0x52, 0xac, 0xb4,
+  0x91, 0x60, 0xa6, 0x07, 0x37, 0x91, 0x4a, 0x08, 0xf7, 0xa1, 0x76, 0xda,
+  0xd2, 0x1a, 0x69, 0xda, 0x3e, 0x27, 0x83, 0x92, 0xb3, 0x22, 0x92, 0x52,
+  0x2a, 0xa1, 0x48, 0xa2, 0x43, 0x4b, 0xb0, 0x3c, 0xc8, 0x29, 0x5d, 0x56,
+  0x5e, 0x40, 0xb2, 0x77, 0x93, 0x9b, 0x75, 0x2d, 0x7a, 0x4c, 0xb7, 0xb6,
+  0x1c, 0x33, 0x95, 0x5f, 0x83, 0x0f, 0xc7, 0xe0, 0xc1, 0x84, 0xaf, 0x73,
+  0xde, 0xb1, 0x78, 0xe1, 0xc4, 0x16, 0x08, 0xb6, 0x9f, 0xb4, 0x0e, 0x85,
+  0x2a, 0x9c, 0xdc, 0x35, 0x97, 0xcf, 0x1a, 0xe5, 0x7c, 0xe7, 0x9d, 0xe2,
+  0x92, 0x69, 0xe8, 0xf4, 0xa3, 0x86, 0x43, 0xdf, 0xe7, 0x51, 0x77, 0xde,
+  0x3e, 0xbf, 0x62, 0x3b, 0x4d, 0x74, 0x5c, 0x5d, 0xa9, 0x6c, 0x96, 0x7d,
+  0x84, 0x92, 0x53, 0xb0, 0x4e, 0xe9, 0x3d, 0xb2, 0x06, 0xec, 0xa7, 0xb1,
+  0xc3, 0x03, 0x5e, 0x25, 0x22, 0x19, 0x2b, 0xa1, 0x3b, 0xca, 0x5e, 0xa6,
+  0xc2, 0x35, 0x93, 0x2a, 0x5f, 0x34, 0x1c, 0xfe, 0x0d, 0xca, 0x6a, 0xc7,
+  0xd5, 0xb0, 0xeb, 0x59, 0x39, 0x4e, 0xf9, 0x9c, 0x58, 0xb0, 0x87, 0xba,
+  0x9d, 0x5a, 0x84, 0x9f, 0x28, 0x15, 0x6c, 0xb6, 0x67, 0x24, 0x51, 0xc7,
+  0x0c, 0x79, 0x70, 0x80, 0x7a, 0x97, 0x14, 0x8f, 0x5a, 0xf7, 0x41, 0xfb,
+  0x09, 0xe6, 0xd4, 0x1a, 0x5c, 0xf5, 0xe5, 0x04, 0x6b, 0xc6, 0x23, 0xb0,
+  0x32, 0xb5, 0x77, 0xae, 0x02, 0x55, 0x08, 0x99, 0xc9, 0xd3, 0x65, 0xd6,
+  0x86, 0xce, 0x6c, 0x4a, 0xb4, 0x4e, 0x8a, 0x9f, 0x00, 0xbe, 0x61, 0x6b,
+  0x6b, 0x4b, 0x54, 0x2c, 0x0a, 0x0b, 0x21, 0x7a, 0x4d, 0x5b, 0x7d, 0x5a,
+  0x6b, 0xc0, 0x16, 0x74, 0x33, 0xb9, 0xce, 0x29, 0x22, 0xd1, 0x9b, 0x2b,
+  0x66, 0xef, 0xaf, 0x82, 0x32, 0xa6, 0x57, 0xac, 0xa7, 0x01, 0xe7, 0xc9,
+  0x6b, 0xb2, 0x66, 0x66, 0x7c, 0xa6, 0xde, 0xfd, 0x96, 0x54, 0xb3, 0x9f,
+  0x8e, 0x5f, 0x51, 0x10, 0x6d, 0x5c, 0xf0, 0xdb, 0xcc, 0xe2, 0x16, 0x55,
+  0x11, 0xe6, 0xec, 0x95, 0x14, 0xf1, 0x5f, 0x70, 0xce, 0x69, 0xe1, 0x17,
+  0x96, 0x06, 0xf1, 0xcc, 0x1a, 0x3a, 0x29, 0x52, 0xd7, 0x18, 0x65, 0x5c,
+  0xb1, 0xe6, 0xd0, 0x42, 0xc5, 0x71, 0xab, 0x1b, 0x2a, 0x6b, 0x26, 0xde,
+  0x2f, 0xa7, 0x59, 0x3a, 0x8b, 0x51, 0x6d, 0x53, 0x87, 0xc9, 0xdb, 0xc8,
+  0xc2, 0x8d, 0x18, 0x4f, 0x0b, 0xf1, 0x5b, 0x0b, 0xee, 0x94, 0x61, 0x57,
+  0x85, 0x64, 0x75, 0x6a, 0x0f, 0x71, 0xaa, 0x22, 0x86, 0x0e, 0x11, 0xbe,
+  0xdf, 0x0a, 0xbf, 0x82, 0xb2, 0x04, 0x4b, 0xd4, 0xc9, 0x41, 0xe8, 0xa1,
+  0xff, 0xbf, 0x3d, 0xb5, 0x0f, 0x60, 0x07, 0x00, 0x23, 0xdc, 0x6d, 0x4e,
+  0x1c, 0x71, 0x9c, 0xd7, 0xc5, 0xe5, 0xd6, 0x05, 0xca, 0x4e, 0x1d, 0x63,
+  0xb8, 0x01, 0x89, 0xc9, 0x6d, 0x39, 0x87, 0x08, 0x77, 0x8b, 0xe4, 0x58,
+  0x84, 0x2b, 0x7d, 0x9b, 0x29, 0x54, 0x04, 0xf6, 0x05, 0x2f, 0x40, 0x63,
+  0xd3, 0xdd, 0xa8, 0x35, 0x91, 0x33, 0x2c, 0x64, 0xf6, 0xf7, 0x57, 0x14,
+  0x7f, 0x91, 0x8a, 0x8f, 0xb2, 0xc7, 0x70, 0xd8, 0xeb, 0xf4, 0xca, 0x16,
+  0x63, 0x15, 0x01, 0x5e, 0x4e, 0xcc, 0x14, 0x72, 0xa1, 0x68, 0xfc, 0xac,
+  0x88, 0xe4, 0xa4, 0xb0, 0xb8, 0x26, 0x29, 0x69, 0xaf, 0x5d, 0x3a, 0x08,
+  0x0a, 0x9f, 0xac, 0x67, 0xf9, 0xc2, 0xfa, 0x38, 0xfb, 0x44, 0xa0, 0xca,
+  0x30, 0x0e, 0x0a, 0xd0, 0xde, 0x85, 0x64, 0x81, 0x9d, 0xc2, 0x94, 0xc2,
+  0x2c, 0x39, 0x23, 0xf5, 0x7f, 0xab, 0xd3, 0xfe, 0xd3, 0xdd, 0x3d, 0x74,
+  0xf7, 0xe9, 0xee, 0x67, 0xdb, 0xed, 0xbb, 0x79, 0x56, 0x67, 0x03, 0xe0,
+  0x78, 0xe2, 0x3a, 0x2a, 0x57, 0x37, 0x71, 0x7e, 0x1e, 0xe8, 0xa3, 0xf4,
+  0x92, 0x80, 0x7f, 0xa6, 0xcb, 0x4a, 0x11, 0x71, 0x54, 0xf0, 0x86, 0x6c,
+  0xc6, 0xfa, 0x86, 0xe8, 0xcc, 0x82, 0xbb, 0xde, 0xbd, 0x03, 0x63, 0x0a,
+  0x2e, 0x74, 0x9e, 0x29, 0xb3, 0x7b, 0xe8, 0x5d, 0x5b, 0x28, 0x45, 0x26,
+  0x83, 0xc1, 0x45, 0x64, 0x31, 0x86, 0xd4, 0xb2, 0x3e, 0x87, 0x13, 0x27,
+  0x21, 0x70, 0x14, 0xa5, 0x5d, 0x3a, 0xcd, 0x4a, 0x9e, 0x37, 0x79, 0x91,
+  0xd7, 0x37, 0x28, 0xb9, 0x56, 0xd7, 0xe9, 0x75, 0x16, 0xa6, 0xa9, 0x1a,
+  0x91, 0x64, 0x0c, 0x27, 0x29, 0x8d, 0x0c, 0x62, 0x67, 0xc2, 0xe2, 0xf0,
+  0x79, 0x10, 0x18, 0xbf, 0x94, 0x65, 0x01, 0xdb, 0x90, 0x1b, 0xe6, 0x8a,
+  0xb2, 0xc6, 0xae, 0x58, 0xd0, 0xaa, 0x5a, 0x41, 0x54, 0xc0, 0x02, 0xc4,
+  0x33, 0x5c, 0x5a, 0x80, 0x6b, 0x0b, 0x04, 0x88, 0x3d, 0xf2, 0x23, 0x6c,
+  0xd1, 0xe2, 0x9e, 0x8d, 0x8c, 0x10, 0xda, 0x25, 0x2c, 0xd4, 0x2c, 0x05,
+  0x27, 0xad, 0xf9, 0x9b, 0xf9, 0xd9, 0x0f, 0x46, 0x23, 0x1d, 0xbe, 0xb0,
+  0x3f, 0xde, 0x7e, 0x5c, 0x71, 0xa1, 0xfd, 0x8e, 0x86, 0x46, 0xf0, 0x44,
+  0x71, 0x67, 0xc3, 0x60, 0x79, 0xc5, 0xff, 0x58, 0xe1, 0x84, 0x40, 0xd6,
+  0x58, 0x72, 0xf2, 0xf6, 0x90, 0xa0, 0x18, 0x23, 0x49, 0x9b, 0x68, 0x23,
+  0x19, 0x5b, 0x59, 0x36, 0xa8, 0xb4, 0x44, 0x0a, 0x6b, 0x94, 0x39, 0xcb,
+  0x92, 0x5d, 0x32, 0xa8, 0xaa, 0xc5, 0x65, 0xcc, 0x5c, 0xe2, 0x33, 0xaa,
+  0x29, 0x41, 0xa7, 0xc0, 0xc8, 0xc8, 0x53, 0xa9, 0xe2, 0x4d, 0x25, 0xc1,
+  0x23, 0xf9, 0x38, 0x9b, 0x2f, 0x3d, 0xde, 0x5e, 0x21, 0x36, 0x07, 0x3d,
+  0xe6, 0x17, 0x84, 0xd3, 0x24, 0xaa, 0x02, 0xfe, 0xa6, 0xac, 0x01, 0x43,
+  0x0e, 0xe3, 0xd1, 0x55, 0x85, 0x50, 0x09, 0xf7, 0x56, 0x1b, 0xc5, 0xc1,
+  0x45, 0xfc, 0x88, 0xd5, 0xb8, 0x33, 0x6e, 0xd5, 0xe9, 0x36, 0x03, 0x26,
+  0x1a, 0x82, 0x32, 0x33, 0x07, 0x86, 0x54, 0x3a, 0x74, 0x25, 0xaf, 0xb8,
+  0x4f, 0xdc, 0x19, 0xb8, 0xbb, 0x26, 0x93, 0x9c, 0x74, 0x17, 0x9c, 0x7c,
+  0xf3, 0xcb, 0xeb, 0xeb, 0x28, 0xd6, 0xc4, 0x4c, 0x01, 0x2d, 0x3c, 0x8d,
+  0xf9, 0x2a, 0x4b, 0x1b, 0x68, 0x1c, 0x74, 0xd3, 0xaf, 0xc6, 0x93, 0x3a,
+  0x0d, 0x3e, 0xf2, 0x8c, 0x37, 0x8a, 0x97, 0x3e, 0x6a, 0x3f, 0xbe, 0x0b,
+  0xb0, 0x09, 0x78, 0x0f, 0x10, 0x55, 0x1e, 0x7e, 0x66, 0xbd, 0x50, 0x57,
+  0xa9, 0xd9, 0x14, 0xf7, 0x7d, 0x2d, 0xbc, 0xde, 0x58, 0x09, 0x92, 0xcd,
+  0x97, 0xdd, 0x2d, 0x3e, 0x53, 0xb4, 0x22, 0x83, 0x7a, 0x89, 0x91, 0x9f,
+  0xf1, 0x9f, 0x09, 0x33, 0x58, 0x13, 0x9b, 0x97, 0xc5, 0x01, 0x27, 0xca,
+  0x4a, 0xef, 0xe0, 0xbd, 0x41, 0x81, 0x53, 0x0f, 0xec, 0x2b, 0xca, 0x8a,
+  0x5a, 0x82, 0xc0, 0x2b, 0x0b, 0x24, 0xdd, 0xf7, 0x0e, 0x1d, 0x09, 0x96,
+  0xf7, 0x32, 0xc4, 0xf2, 0xb2, 0x21, 0x61, 0x24, 0xd1, 0x0e, 0x0e, 0x09,
+  0x83, 0xac, 0x27, 0xc4, 0x10, 0x01, 0x21, 0x53, 0x26, 0x17, 0x6f, 0x8e,
+  0x92, 0xfd, 0x27, 0x9f, 0x7f, 0x3e, 0x8c, 0x12, 0x08, 0x72, 0x82, 0xa5,
+  0xd9, 0x84, 0x34, 0x53, 0x8e, 0x6d, 0xae, 0x6f, 0x69, 0x43, 0x51, 0xe9,
+  0x3d, 0x4b, 0x0b, 0xa6, 0xed, 0x9e, 0x13, 0x31, 0x08, 0x09, 0xc7, 0xe5,
+  0x2c, 0x34, 0xf2, 0x11, 0xbb, 0x9a, 0x93, 0x62, 0x21, 0x52, 0x0c, 0x0a,
+  0x16, 0x49, 0x8d, 0x79, 0xbe, 0x42, 0xa9, 0xcb, 0x04, 0x27, 0x65, 0xab,
+  0x7b, 0xc3, 0x05, 0xc0, 0xe0, 0x3d, 0x46, 0x42, 0x1a, 0xbd, 0x01, 0xb0,
+  0x5f, 0x0e, 0xbe, 0xf3, 0x74, 0x6c, 0x46, 0xd2, 0x29, 0x69, 0x7e, 0x36,
+  0x13, 0x0d, 0x9f, 0x8d, 0x33, 0x9b, 0x21, 0xcd, 0x85, 0x3b, 0x3a, 0x24,
+  0x41, 0x9c, 0xf4, 0x59, 0x50, 0xa6, 0x0c, 0x51, 0xc5, 0x9b, 0x0f, 0x74,
+  0x9a, 0x43, 0x8e, 0xe3, 0x75, 0xd6, 0x84, 0xd9, 0x1d, 0x1e, 0xcc, 0x72,
+  0x4d, 0xe3, 0x31, 0xcb, 0x48, 0x92, 0x53, 0x92, 0x97, 0xca, 0xe3, 0xaf,
+  0x35, 0x9c, 0x27, 0x60, 0x15, 0x63, 0x7a, 0xf5, 0x3f, 0x63, 0x35, 0x5e,
+  0xca, 0xd4, 0x4b, 0xb2, 0xd6, 0x9f, 0xa3, 0xcc, 0x41, 0x82, 0xf5, 0x04,
+  0x8d, 0x4d, 0xd3, 0x18, 0xc5, 0xda, 0xc9, 0x6e, 0x00, 0x6b, 0xc1, 0x58,
+  0x22, 0xd0, 0x4f, 0x2d, 0x26, 0x4e, 0x1b, 0x76, 0x16, 0xa3, 0xf4, 0x7b,
+  0x69, 0x1b, 0x95, 0x42, 0x01, 0x84, 0x6d, 0xa6, 0xae, 0xc4, 0x66, 0x42,
+  0x09, 0x80, 0x49, 0x3e, 0x98, 0xa7, 0x03, 0xbb, 0x87, 0xde, 0xf5, 0xe6,
+  0x29, 0x5c, 0x7b, 0x3f, 0x9e, 0x2a, 0x39, 0xf1, 0x3c, 0xc5, 0x0e, 0x13,
+  0xeb, 0x3b, 0xf7, 0x65, 0xa4, 0xd6, 0x69, 0xda, 0x75, 0x95, 0xd2, 0x50,
+  0x5d, 0x2e, 0x26, 0x76, 0xd6, 0x75, 0x99, 0x71, 0x2f, 0x91, 0x18, 0xaf,
+  0xb3, 0x4a, 0x1e, 0xcb, 0xa6, 0x5a, 0x4e, 0x48, 0xb5, 0x84, 0x69, 0x8e,
+  0x4f, 0x85, 0x3a, 0x2d, 0xc9, 0xf5, 0x7e, 0x7b, 0xc4, 0x28, 0xb9, 0x83,
+  0xf5, 0xc2, 0x2c, 0x0b, 0xcd, 0x96, 0x42, 0xd2, 0xa8, 0x6b, 0xaa, 0x83,
+  0xac, 0xe2, 0xf2, 0x4d, 0xe0, 0x77, 0x31, 0x3b, 0xee, 0xef, 0x12, 0xae,
+  0x11, 0x3f, 0x10, 0x31, 0xe3, 0x31, 0xf7, 0x10, 0xbc, 0x1d, 0x19, 0x11,
+  0x62, 0x27, 0xaf, 0xa9, 0x3e, 0x15, 0x6e, 0xf4, 0x48, 0xbe, 0xdb, 0x66,
+  0xdd, 0x82, 0xfc, 0xf2, 0xc5, 0x44, 0xfa, 0x5c, 0x95, 0x5d, 0x2f, 0xe9,
+  0xb2, 0xc3, 0x74, 0xd9, 0x0a, 0xe0, 0xfa, 0x44, 0xb2, 0xc8, 0x03, 0xf9,
+  0x41, 0x42, 0x40, 0x0c, 0x3d, 0xae, 0x3c, 0xb5, 0x2c, 0xcc, 0xac, 0x35,
+  0x4b, 0x0a, 0x67, 0xcd, 0xb8, 0x48, 0x88, 0x11, 0x63, 0x7f, 0x85, 0x1f,
+  0xb0, 0x94, 0x19, 0xe0, 0x3a, 0x6a, 0xd3, 0x58, 0xa6, 0x02, 0x15, 0x47,
+  0x42, 0x40, 0xda, 0xe8, 0xdd, 0xe0, 0x0a, 0xa2, 0xb0, 0x7e, 0xa3, 0x52,
+  0x00, 0xf5, 0x4b, 0xe0, 0x16, 0xfb, 0x82, 0xe2, 0x5d, 0x93, 0xcc, 0xf1,
+  0x23, 0x62, 0x56, 0x42, 0x4c, 0x5f, 0x01, 0x96, 0x31, 0x25, 0xdd, 0x53,
+  0x2c, 0x15, 0x5b, 0xb5, 0x50, 0xc0, 0x28, 0x2e, 0x47, 0xc3, 0xe4, 0xa4,
+  0x0f, 0x61, 0xef, 0xa0, 0x2a, 0xcb, 0x04, 0x2a, 0xaf, 0xc3, 0x42, 0x95,
+  0xb8, 0x07, 0x58, 0xb5, 0xfe, 0xab, 0xb5, 0x7a, 0x49, 0xf8, 0x45, 0x78,
+  0x50, 0x40, 0xc8, 0x78, 0xc0, 0x01, 0x7f, 0xaa, 0x25, 0x39, 0x17, 0x99,
+  0xa6, 0xf6, 0x87, 0x26, 0x8d, 0xb0, 0x96, 0xb8, 0x69, 0xa4, 0x27, 0xcd,
+  0xfb, 0xa6, 0x9c, 0xdd, 0x18, 0xf9, 0x86, 0x33, 0xf6, 0x21, 0xad, 0xf9,
+  0xa4, 0x58, 0x0e, 0x39, 0x2b, 0x46, 0x48, 0xab, 0xaa, 0x52, 0x23, 0x34,
+  0xff, 0xba, 0xb8, 0x5e, 0xc1, 0x56, 0xc6, 0x75, 0x27, 0x8c, 0xc1, 0x10,
+  0x56, 0xbb, 0xc1, 0x3e, 0x1c, 0xbc, 0x49, 0xa4, 0x3f, 0xaf, 0xfe, 0xdc,
+  0x6a, 0x4e, 0x49, 0xe1, 0x7d, 0xce, 0x63, 0x81, 0x2f, 0x4f, 0xae, 0xf3,
+  0x07, 0x26, 0x81, 0xf9, 0xc2, 0x2d, 0xb4, 0xb3, 0xbe, 0x29, 0x33, 0x59,
+  0xb9, 0x02, 0x76, 0x30, 0x0b, 0x0f, 0x96, 0x00, 0x31, 0x83, 0xcc, 0x29,
+  0xbd, 0xab, 0xbb, 0x8d, 0xab, 0xfd, 0x3f, 0xca, 0x9b, 0x82, 0xfe, 0x41,
+  0x5f, 0xa0, 0x0f, 0xbc, 0xda, 0xdb, 0x8b, 0xf6, 0x7c, 0x65, 0x7f, 0xb9,
+  0xc3, 0xda, 0x63, 0xba, 0x8f, 0x04, 0xac, 0xe7, 0x89, 0xb7, 0x96, 0xfd,
+  0x3f, 0x44, 0x2e, 0x51, 0xe8, 0x6f, 0xe3, 0xaa, 0xe5, 0x33, 0x94, 0x4e,
+  0xb6, 0xaf, 0x32, 0x10, 0x2a, 0x90, 0x8a, 0xec, 0xa9, 0x27, 0xf3, 0x52,
+  0x90, 0xf7, 0x5d, 0x55, 0x02, 0x0c, 0x16, 0xb4, 0x28, 0xab, 0x87, 0xdf,
+  0xa3, 0x48, 0xcd, 0xfd, 0xab, 0x97, 0x37, 0xcb, 0xeb, 0x0c, 0xc2, 0xb3,
+  0xf9, 0xd4, 0xf4, 0x1e, 0x35, 0x76, 0x72, 0x56, 0xb0, 0xb7, 0x82, 0x43,
+  0xc4, 0x8d, 0x17, 0x01, 0x67, 0x7a, 0x16, 0x5f, 0x8f, 0x60, 0xcf, 0x21,
+  0x99, 0x4b, 0x5a, 0xbe, 0xb5, 0x9b, 0x6f, 0xc1, 0x1a, 0x69, 0x9f, 0xa7,
+  0x4d, 0xd2, 0xd7, 0x5d, 0x12, 0xf2, 0x9a, 0x11, 0xdc, 0x65, 0xe3, 0x57,
+  0x7f, 0x26, 0x17, 0xd7, 0x27, 0xb0, 0x73, 0xb3, 0x6a, 0x4b, 0x93, 0xb7,
+  0x03, 0xb2, 0xee, 0xc4, 0x1b, 0xc4, 0x46, 0x20, 0x8e, 0x56, 0x37, 0xeb,
+  0xe5, 0x7f, 0x78, 0x4d, 0x5e, 0x95, 0xe5, 0xda, 0x16, 0xd5, 0x85, 0x83,
+  0x39, 0xf1, 0x80, 0x65, 0x0c, 0xb7, 0x72, 0xb9, 0x6d, 0xbc, 0x25, 0x70,
+  0xd9, 0xb4, 0xee, 0xcc, 0x58, 0xba, 0x31, 0x2a, 0x3c, 0xb3, 0xa9, 0xae,
+  0xd7, 0xce, 0xab, 0x3e, 0xa7, 0x57, 0x44, 0xeb, 0x31, 0xb8, 0x31, 0xf0,
+  0x81, 0xc4, 0x3e, 0xa0, 0xbf, 0x7e, 0x61, 0x5f, 0xa7, 0xff, 0x98, 0xf3,
+  0x0c, 0xbe, 0xdb, 0x35, 0xa3, 0x21, 0x84, 0xa6, 0xbe, 0xb3, 0xc3, 0xd5,
+  0x93, 0xb5, 0x50, 0xdd, 0x66, 0x9f, 0xb5, 0xed, 0x2f, 0x36, 0xe1, 0xcf,
+  0x55, 0xd8, 0x0f, 0x0a, 0xa1, 0x40, 0xca, 0x4d, 0xcb, 0x40, 0xb7, 0x25,
+  0x64, 0x1c, 0x57, 0x4a, 0x41, 0xef, 0x57, 0x74, 0x9c, 0x7a, 0xae, 0x5d,
+  0xff, 0xa9, 0x67, 0x3b, 0xff, 0x53, 0xcf, 0x75, 0xff, 0xa7, 0x9e, 0x1b,
+  0xc0, 0x4f, 0xbd, 0x5e, 0x02, 0x4a, 0xd6, 0x20, 0x78, 0xfe, 0xcb, 0x17,
+  0x7d, 0x93, 0xbf, 0xea, 0x3e, 0xea, 0x7d, 0xd3, 0xfb, 0x64, 0x6f, 0x73,
+  0xdd, 0xa4, 0xf9, 0x61, 0x22, 0x64, 0x29, 0x74, 0xe7, 0xd0, 0x08, 0xec,
+  0xd6, 0x34, 0xb9, 0x69, 0x21, 0x0b, 0x2d, 0xf0, 0x9a, 0x7b, 0x0f, 0xd0,
+  0x8c, 0xbb, 0xba, 0x2f, 0x1e, 0xa3, 0xb9, 0x65, 0x8a, 0xd3, 0x75, 0xd0,
+  0x9a, 0x81, 0x41, 0x21, 0x49, 0xfb, 0x7a, 0x70, 0x03, 0xfd, 0x0f, 0xf3,
+  0x05, 0x18, 0x01, 0x5c, 0x2b, 0x8d, 0x4f, 0x35, 0x78, 0x28, 0x04, 0xe1,
+  0x05, 0xf0, 0x6a, 0xc1, 0x01, 0x4c, 0xbe, 0x00, 0xaf, 0x38, 0xef, 0x83,
+  0xb7, 0x44, 0x80, 0x6b, 0x9e, 0xe7, 0xa8, 0xf7, 0x63, 0x46, 0x35, 0x63,
+  0x33, 0x75, 0x87, 0xee, 0x05, 0xe0, 0x10, 0x51, 0x85, 0xa7, 0x86, 0x9d,
+  0x2e, 0x16, 0xac, 0x54, 0xd2, 0xe1, 0x79, 0x58, 0xbd, 0xa5, 0x49, 0x1b,
+  0x9f, 0x95, 0x55, 0xfd, 0xaa, 0x67, 0x34, 0xa3, 0x2f, 0x92, 0xe4, 0xba,
+  0x32, 0x6a, 0xec, 0x17, 0xb4, 0xb5, 0x96, 0x66, 0xb1, 0xdc, 0x39, 0xfd,
+  0x34, 0x98, 0xdf, 0x9b, 0x7e, 0x6f, 0xfe, 0xa2, 0x9d, 0xe1, 0x89, 0xb4,
+  0x29, 0xe2, 0xe8, 0x46, 0x38, 0xce, 0x93, 0x2e, 0x88, 0x80, 0x8f, 0xae,
+  0x77, 0x28, 0xe5, 0xf7, 0xaf, 0x62, 0x8c, 0x55, 0xc1, 0x40, 0x3c, 0xc9,
+  0x0b, 0x7b, 0xed, 0xd5, 0xd9, 0xb7, 0x5f, 0x68, 0x03, 0x3f, 0xf5, 0x7e,
+  0x18, 0xf0, 0x4f, 0x91, 0x47, 0x79, 0x90, 0x9c, 0x7d, 0x4b, 0xbb, 0xfb,
+  0x97, 0x09, 0xb0, 0x75, 0x1f, 0xf8, 0x33, 0xff, 0x05, 0x3b, 0x7b, 0x5d,
+  0xb3, 0x97, 0x0e, 0x7c, 0xf0, 0x8a, 0x8a, 0x20, 0x22, 0xeb, 0x03, 0xa6,
+  0xf8, 0x62, 0x41, 0x79, 0x1c, 0x9a, 0x37, 0xd8, 0x70, 0xde, 0x20, 0x6b,
+  0x97, 0xe3, 0x92, 0xe1, 0xaa, 0x4d, 0x48, 0x3b, 0x0b, 0xda, 0x4b, 0xac,
+  0x2d, 0xe7, 0x31, 0x9b, 0x0d, 0x45, 0xde, 0x0b, 0xe8, 0xc4, 0x3a, 0xbb,
+  0x5c, 0x4c, 0x39, 0x9d, 0xb6, 0x4d, 0x9e, 0xe3, 0x08, 0xc5, 0xb8, 0xe3,
+  0x28, 0xe1, 0xbf, 0x41, 0x33, 0x03, 0x15, 0x0b, 0xd9, 0x59, 0x54, 0xab,
+  0x28, 0xad, 0x32, 0xad, 0x3f, 0x21, 0x95, 0xb1, 0xb8, 0x02, 0xd2, 0x17,
+  0xb1, 0x88, 0x80, 0x04, 0x2a, 0x05, 0x14, 0x7c, 0x55, 0xce, 0xa4, 0xfa,
+  0x67, 0x6d, 0x76, 0x3d, 0x2f, 0xb0, 0x2d, 0x46, 0x65, 0x74, 0x0e, 0x9a,
+  0x0a, 0x09, 0x58, 0xc8, 0x67, 0x23, 0x4a, 0x87, 0x04, 0x16, 0xd9, 0x21,
+  0x07, 0x82, 0x2b, 0xe1, 0xfd, 0xe1, 0x8d, 0xff, 0x05, 0x59, 0xfe, 0xe3,
+  0x6c, 0xca, 0x65, 0xa7, 0x25, 0x33, 0x6e, 0x20, 0x3e, 0xe2, 0x88, 0x1b,
+  0x27, 0xb1, 0xe7, 0x46, 0x0f, 0x0e, 0x23, 0x22, 0x34, 0x41, 0x8e, 0x08,
+  0x61, 0xbe, 0x21, 0xa5, 0x50, 0x40, 0xc5, 0x5a, 0x37, 0x82, 0xae, 0x97,
+  0xf8, 0x60, 0x6d, 0xd1, 0x79, 0x9a, 0xa1, 0xf0, 0xb4, 0x25, 0x7f, 0x10,
+  0x97, 0xb2, 0x57, 0x9b, 0x1e, 0xa3, 0x97, 0xc5, 0x1a, 0x06, 0x2f, 0xfc,
+  0x20, 0x90, 0x9d, 0xc1, 0xde, 0x81, 0x57, 0x03, 0x84, 0x7f, 0x16, 0x6f,
+  0xde, 0xe7, 0xc7, 0xd0, 0x58, 0x71, 0x2d, 0xd3, 0xbf, 0xa6, 0xfd, 0x7d,
+  0xdb, 0xfe, 0x46, 0x84, 0x92, 0x82, 0x49, 0x23, 0xe2, 0x9f, 0x25, 0xe6,
+  0x42, 0x45, 0x93, 0x89, 0x1b, 0xd5, 0x73, 0x68, 0x24, 0xec, 0x4b, 0x50,
+  0x67, 0x42, 0xdd, 0x6f, 0x71, 0x56, 0x44, 0x12, 0x80, 0x90, 0x1b, 0x32,
+  0x65, 0xb0, 0x32, 0x8f, 0xc4, 0x4c, 0x64, 0xd7, 0x52, 0x94, 0xea, 0xae,
+  0xbc, 0xb5, 0xca, 0x39, 0xf1, 0x29, 0x4e, 0x0f, 0x5c, 0xed, 0x38, 0xf8,
+  0x03, 0xd4, 0xef, 0xc1, 0xb6, 0x9d, 0x4b, 0x60, 0x0c, 0xd2, 0xcc, 0x5a,
+  0x2c, 0xa2, 0xc1, 0xa7, 0x8c, 0x30, 0x66, 0x5e, 0x1a, 0xd8, 0x29, 0x72,
+  0x16, 0xb6, 0x36, 0xc5, 0xb7, 0x42, 0x1f, 0xa2, 0x8a, 0x6b, 0x80, 0x2a,
+  0x61, 0xb8, 0x29, 0xa8, 0x04, 0x64, 0x06, 0x06, 0x11, 0xbd, 0xe3, 0x00,
+  0xc2, 0xdd, 0x9e, 0x0a, 0x66, 0x51, 0x01, 0x89, 0x8a, 0x9a, 0xcf, 0xa8,
+  0x00, 0xda, 0x66, 0x4e, 0x09, 0x6d, 0x65, 0x6f, 0x8a, 0xa5, 0x31, 0xa9,
+  0x4e, 0x6d, 0x71, 0x6f, 0x69, 0xb2, 0xf9, 0x6a, 0x7b, 0xd3, 0x0e, 0x6d,
+  0xb5, 0x69, 0xa4, 0xb6, 0x8c, 0x6e, 0x1b, 0x1b, 0x8d, 0xb4, 0xe5, 0x14,
+  0xe1, 0x60, 0x9a, 0x13, 0x10, 0x22, 0x1b, 0x60, 0x3d, 0xa3, 0x54, 0x58,
+  0xb5, 0xf2, 0x14, 0x90, 0x99, 0x55, 0xe0, 0x7c, 0x32, 0x11, 0x06, 0x6f,
+  0xf2, 0x74, 0x66, 0x7a, 0x48, 0x39, 0x69, 0xb7, 0x4a, 0xe3, 0x57, 0x1f,
+  0x78, 0x3a, 0x79, 0xe4, 0x80, 0x52, 0x44, 0x07, 0xfc, 0xe4, 0xe2, 0x19,
+  0xa9, 0xfd, 0x2a, 0x8b, 0xab, 0x2f, 0xb3, 0xcd, 0x57, 0x5b, 0x7c, 0x65,
+  0x39, 0xb7, 0x9a, 0xf7, 0xed, 0xcd, 0xe4, 0xa7, 0x78, 0x9e, 0x61, 0xc2,
+  0xef, 0x7a, 0x56, 0x82, 0x6c, 0xda, 0x87, 0xde, 0x48, 0x5e, 0x8e, 0xcb,
+  0xe9, 0xfd, 0x97, 0x88, 0x3f, 0xc9, 0x2b, 0x2f, 0x77, 0xf0, 0xa3, 0x8e,
+  0xd2, 0xbc, 0xaa, 0x21, 0xb4, 0x62, 0x96, 0x0a, 0x7f, 0xfe, 0x99, 0x1e,
+  0x57, 0x9b, 0x61, 0x33, 0x19, 0x0e, 0x8d, 0x18, 0xaa, 0xe7, 0x28, 0x77,
+  0xb3, 0xe6, 0x6a, 0x61, 0xe2, 0x2a, 0x57, 0xec, 0x40, 0xd8, 0x1c, 0xa4,
+  0xdc, 0x95, 0x1a, 0xdb, 0xe2, 0x8f, 0xe4, 0xdf, 0x56, 0xaf, 0x86, 0xc9,
+  0xa1, 0xc2, 0x66, 0x36, 0x22, 0x7c, 0x24, 0xe6, 0x51, 0xbe, 0x3f, 0xbc,
+  0x44, 0xdc, 0xcf, 0xc7, 0xb9, 0xf8, 0xdb, 0xa7, 0x65, 0x8b, 0x42, 0x2f,
+  0xe1, 0x84, 0x77, 0xba, 0xe2, 0xe3, 0xc2, 0xdb, 0xec, 0x99, 0x8a, 0xe3,
+  0x45, 0x2c, 0x22, 0xac, 0x19, 0x23, 0x9d, 0x1b, 0x1c, 0xcb, 0x37, 0x55,
+  0x9a, 0xf6, 0x93, 0xcf, 0xf4, 0x63, 0xdd, 0xeb, 0xb9, 0x80, 0x57, 0xe2,
+  0xaf, 0xe0, 0xef, 0xfc, 0x7c, 0x40, 0x4f, 0x79, 0xa5, 0x17, 0x6d, 0x02,
+  0xbc, 0x1b, 0x36, 0x42, 0x6f, 0x7d, 0xa9, 0x27, 0x38, 0x0d, 0x09, 0x0b,
+  0xf2, 0x82, 0x2b, 0xa2, 0xf0, 0xb5, 0x40, 0xa5, 0xc5, 0x9f, 0x3f, 0xe5,
+  0x51, 0xf2, 0x54, 0x89, 0xa7, 0xa6, 0xe5, 0x92, 0xe5, 0x0b, 0xa9, 0x0a,
+  0x23, 0x82, 0x76, 0x88, 0x9c, 0xf1, 0x49, 0x7a, 0x1a, 0x15, 0xda, 0x61,
+  0x5c, 0x27, 0x5d, 0xac, 0x46, 0xa7, 0xbc, 0x46, 0x01, 0xe5, 0xe4, 0xb3,
+  0xe7, 0x5e, 0xc7, 0x1f, 0xf0, 0x5d, 0xb8, 0xf3, 0x8e, 0x13, 0x28, 0x47,
+  0x5c, 0x46, 0xe4, 0x0d, 0x81, 0x8d, 0x77, 0xf3, 0xdd, 0xa0, 0x5f, 0xe4,
+  0xf8, 0x60, 0x7a, 0x26, 0x19, 0xa1, 0x75, 0x38, 0x3e, 0x74, 0x9e, 0xfc,
+  0xd3, 0xf0, 0x85, 0xee, 0x9e, 0xee, 0xa7, 0xd7, 0xee, 0x6e, 0xcf, 0x5a,
+  0xd2, 0xf7, 0xb9, 0x13, 0xbc, 0xc3, 0x1f, 0xde, 0xe0, 0x14, 0x54, 0xb8,
+  0x5a, 0x56, 0xb8, 0x88, 0xe4, 0x31, 0xd6, 0x17, 0x34, 0x7d, 0x44, 0x54,
+  0xf6, 0xb7, 0x87, 0xef, 0xde, 0x1f, 0x9e, 0x0e, 0x7f, 0x5d, 0x4d, 0xa7,
+  0xb5, 0xaf, 0x79, 0xf9, 0xa2, 0x1d, 0x2a, 0x94, 0x87, 0x13, 0xc9, 0x29,
+  0x5f, 0x87, 0x76, 0x0f, 0x41, 0x43, 0xe2, 0x4c, 0x28, 0x8c, 0xb9, 0x95,
+  0xc0, 0xb8, 0x87, 0xd9, 0x4c, 0x6b, 0x29, 0x70, 0xd6, 0xd3, 0xf7, 0xe9,
+  0xf5, 0x9e, 0x60, 0x8e, 0x6d, 0x92, 0x6e, 0x44, 0x7a, 0xda, 0xbc, 0x62,
+  0x8b, 0xb9, 0xd2, 0x42, 0xb0, 0x72, 0x79, 0xb5, 0xbc, 0x6d, 0xe5, 0xd5,
+  0x95, 0x17, 0xad, 0xe8, 0x46, 0xf5, 0x8e, 0x8e, 0x56, 0x67, 0x3b, 0xfe,
+  0x9e, 0x1c, 0x87, 0x1d, 0xec, 0x39, 0xa6, 0xd1, 0x89, 0xf2, 0x41, 0x53,
+  0x72, 0x26, 0xf0, 0x4b, 0xe9, 0x5b, 0x7c, 0x56, 0x99, 0xb0, 0xc3, 0x0b,
+  0x63, 0xab, 0x4e, 0x4b, 0x7d, 0xa2, 0x82, 0x76, 0x98, 0xae, 0xf3, 0xc3,
+  0xd1, 0xc8, 0x26, 0xe2, 0x0a, 0xc4, 0x27, 0xb0, 0xbd, 0x10, 0xe8, 0xa3,
+  0x68, 0xbd, 0x4e, 0x86, 0xa2, 0xc3, 0x2c, 0x8e, 0x13, 0x13, 0x68, 0x2c,
+  0xbc, 0xcb, 0xe5, 0xdc, 0x9c, 0x09, 0xa3, 0xdf, 0x4e, 0x09, 0x42, 0xc5,
+  0xe1, 0xd7, 0xee, 0xe6, 0xd2, 0x3a, 0xef, 0x0e, 0x03, 0x51, 0xe2, 0xbf,
+  0xa6, 0xd7, 0x23, 0x95, 0xd5, 0xa9, 0x06, 0xac, 0x3d, 0x66, 0xca, 0x7e,
+  0xd4, 0xd5, 0xd3, 0x1b, 0x9d, 0x5c, 0x1e, 0x27, 0x87, 0xef, 0x2f, 0xbf,
+  0xe9, 0xf1, 0x04, 0x77, 0x09, 0x08, 0xe0, 0xa6, 0xa7, 0x7a, 0x89, 0xb7,
+  0x52, 0xde, 0x80, 0xe6, 0x8e, 0x3d, 0x9a, 0x64, 0x1c, 0xc4, 0x14, 0x6e,
+  0xf7, 0xcd, 0xe1, 0x9a, 0x55, 0x7a, 0x36, 0x7c, 0xd6, 0x5d, 0xa5, 0xd5,
+  0x24, 0xb3, 0xa0, 0x1d, 0x95, 0x2a, 0xd9, 0x32, 0x77, 0xb2, 0xe3, 0x85,
+  0xce, 0x94, 0x60, 0x53, 0x3b, 0xae, 0x12, 0x01, 0x62, 0x6b, 0xa9, 0xd4,
+  0x9c, 0x0f, 0xef, 0x02, 0x4b, 0xaa, 0x66, 0x43, 0xe1, 0x20, 0x5c, 0xb5,
+  0xa4, 0x2b, 0xe2, 0xdd, 0xe5, 0x08, 0xa8, 0x59, 0xb1, 0xb4, 0x9a, 0xda,
+  0x84, 0xbc, 0x08, 0xe7, 0x80, 0xa2, 0xfc, 0xa8, 0xb8, 0x89, 0xd9, 0x02,
+  0x5a, 0xdb, 0xa0, 0x95, 0x28, 0xe9, 0x0a, 0x47, 0x6b, 0x74, 0xc3, 0x65,
+  0x5c, 0xc6, 0x29, 0x70, 0xe1, 0x34, 0x47, 0xcd, 0x03, 0xcb, 0xe5, 0xba,
+  0x16, 0xf7, 0x18, 0x67, 0x6d, 0xa5, 0x79, 0x15, 0x94, 0xc8, 0x4b, 0xfe,
+  0x33, 0xbe, 0xdf, 0xe9, 0x66, 0xad, 0xca, 0x19, 0xbb, 0x0b, 0xe5, 0x05,
+  0x46, 0x6f, 0x72, 0x8a, 0x04, 0x28, 0x74, 0x10, 0xb2, 0x41, 0xd4, 0x13,
+  0xd6, 0x08, 0x13, 0x80, 0x87, 0x05, 0x6c, 0xb6, 0x08, 0x9e, 0xa1, 0xbe,
+  0xd5, 0x4b, 0x84, 0x11, 0xd1, 0x5e, 0x24, 0xfb, 0x25, 0xa0, 0xe8, 0x8b,
+  0x91, 0x9c, 0x78, 0xa7, 0x37, 0x34, 0x90, 0x20, 0x8c, 0x27, 0x77, 0xd3,
+  0xb8, 0xb6, 0x85, 0x21, 0x00, 0x39, 0x66, 0xf3, 0x6c, 0x8e, 0xbe, 0x7f,
+  0xed, 0xd5, 0xac, 0x50, 0x68, 0x9a, 0xa2, 0xbb, 0xd9, 0xfe, 0x58, 0x45,
+  0xb4, 0xe7, 0xf1, 0x84, 0xa1, 0x58, 0x14, 0x45, 0x52, 0xa7, 0x59, 0xb6,
+  0xb0, 0x8c, 0xc4, 0xa8, 0x2b, 0x4a, 0xeb, 0x4e, 0x91, 0x53, 0x61, 0x83,
+  0x9e, 0x87, 0x8e, 0x24, 0x8b, 0xe3, 0x66, 0xc9, 0xe1, 0x28, 0x21, 0xa8,
+  0x08, 0x0f, 0xc5, 0x6d, 0xf7, 0x3e, 0x7b, 0xf2, 0xb9, 0xb9, 0x7c, 0xef,
+  0x41, 0x0f, 0xdc, 0x62, 0x22, 0x65, 0x06, 0xcf, 0xd5, 0x74, 0x67, 0x62,
+  0xc1, 0x28, 0xb0, 0x57, 0x32, 0xd9, 0x93, 0x9a, 0x6c, 0x06, 0xf8, 0xa3,
+  0x24, 0xaf, 0x34, 0x24, 0x02, 0x31, 0x93, 0xa8, 0x6e, 0x3f, 0xcc, 0x18,
+  0xd2, 0x5d, 0x69, 0xb6, 0x18, 0x19, 0x36, 0xf4, 0xf6, 0xb0, 0xd1, 0xe3,
+  0xa8, 0x2a, 0x51, 0x3f, 0xb9, 0x38, 0xbe, 0xbc, 0xe8, 0x27, 0xa3, 0xcb,
+  0xb3, 0x8b, 0x15, 0x1c, 0x75, 0x0d, 0x33, 0x24, 0xd0, 0x9c, 0x29, 0x44,
+  0x85, 0x4f, 0x65, 0x8b, 0xbc, 0x0a, 0x18, 0x68, 0x16, 0x3c, 0x75, 0x94,
+  0xef, 0xc8, 0xa3, 0x3d, 0xf2, 0x66, 0x0b, 0xdb, 0xc6, 0xdc, 0x0f, 0x6b,
+  0x07, 0xc6, 0xcb, 0xfe, 0x88, 0x1d, 0x42, 0x7b, 0x91, 0x86, 0x6b, 0xc5,
+  0x3c, 0x7a, 0x6b, 0x2c, 0x34, 0xf2, 0xf6, 0x3b, 0xf2, 0x69, 0xad, 0xf5,
+  0xba, 0x82, 0x9b, 0x90, 0x01, 0xb9, 0xb5, 0x03, 0x0d, 0x9b, 0x2d, 0xd7,
+  0xd3, 0x0c, 0xec, 0x9e, 0x39, 0x6e, 0xcc, 0xc5, 0x63, 0xd9, 0xc6, 0x1e,
+  0xd8, 0xbf, 0x46, 0xdf, 0xd9, 0xb6, 0x69, 0xa3, 0xa8, 0xd1, 0x51, 0xce,
+  0x33, 0xf6, 0xe9, 0xc3, 0xf3, 0xa3, 0xf2, 0x89, 0xeb, 0xa1, 0x81, 0xa2,
+  0x33, 0x46, 0x45, 0x60, 0x99, 0x94, 0x68, 0x95, 0x37, 0x6d, 0x32, 0xb7,
+  0xd6, 0x31, 0xe7, 0x75, 0xc9, 0x8c, 0x59, 0xda, 0x80, 0xa2, 0x6a, 0x53,
+  0x7b, 0xe5, 0x51, 0x2c, 0xb5, 0x85, 0xf7, 0x5e, 0x57, 0xc8, 0x50, 0x3e,
+  0x7c, 0x54, 0xb2, 0x10, 0x38, 0x45, 0xb3, 0x9a, 0x01, 0xad, 0x52, 0x54,
+  0x0d, 0x54, 0x09, 0xbf, 0x16, 0xdf, 0xb9, 0xe6, 0xb2, 0x4b, 0x41, 0x97,
+  0x40, 0x14, 0x40, 0x0c, 0xcc, 0x12, 0xb7, 0xb9, 0x65, 0xcd, 0x39, 0x28,
+  0xb3, 0xec, 0x4a, 0xdd, 0x4e, 0x72, 0x79, 0xd7, 0x20, 0x10, 0xd5, 0xcc,
+  0x2f, 0x4f, 0xd6, 0x25, 0x02, 0x58, 0x53, 0x40, 0xe7, 0x37, 0xa6, 0x2f,
+  0xa1, 0x42, 0xb2, 0x92, 0xd2, 0x0f, 0xb6, 0xbf, 0x02, 0xb0, 0x87, 0xa9,
+  0x9d, 0x39, 0x22, 0xb4, 0x21, 0xb4, 0x16, 0xee, 0xad, 0x69, 0x09, 0xb5,
+  0x9d, 0x06, 0x1d, 0x72, 0x9f, 0xc1, 0x65, 0x0c, 0x04, 0x81, 0xde, 0x34,
+  0xd2, 0x98, 0xb3, 0x3e, 0x26, 0x4d, 0x77, 0xa4, 0x48, 0xb0, 0x0f, 0x06,
+  0x7a, 0xee, 0x2f, 0x1b, 0x4b, 0x34, 0x18, 0x38, 0x4e, 0x10, 0x34, 0x9c,
+  0xe7, 0xce, 0xc9, 0xec, 0xea, 0x02, 0x10, 0x46, 0x81, 0x22, 0x9a, 0x27,
+  0xc5, 0x6c, 0x02, 0x5a, 0x5b, 0xba, 0x95, 0xa5, 0xaf, 0x33, 0x39, 0x5c,
+  0xc3, 0xf1, 0xe4, 0x27, 0xf5, 0xb7, 0xb6, 0xe4, 0x5e, 0x4b, 0xeb, 0x6b,
+  0x8f, 0x6e, 0x65, 0xc2, 0x28, 0x2b, 0x14, 0x17, 0xb4, 0x70, 0xb5, 0x2d,
+  0xc5, 0xa2, 0xbb, 0x2b, 0x2f, 0x72, 0xe2, 0x71, 0x29, 0xab, 0x1d, 0x4a,
+  0x51, 0x21, 0xf6, 0xb2, 0xc4, 0xdc, 0x90, 0x0a, 0x45, 0x5d, 0x51, 0xdd,
+  0xd4, 0xea, 0x89, 0xa6, 0xe9, 0x76, 0xad, 0x4a, 0xaf, 0xe8, 0x13, 0x5d,
+  0xa6, 0x92, 0xaf, 0x8f, 0xb9, 0x1d, 0x26, 0x31, 0x14, 0x3c, 0x73, 0xb6,
+  0x36, 0x80, 0x39, 0xb6, 0x35, 0x32, 0xad, 0xf2, 0xa7, 0x35, 0x01, 0xb0,
+  0xb0, 0xd0, 0xf8, 0x36, 0xeb, 0x95, 0x89, 0x75, 0x5a, 0x8e, 0x01, 0x6a,
+  0xbe, 0x99, 0x95, 0x3e, 0x23, 0x42, 0xda, 0x67, 0x13, 0x96, 0x43, 0xfb,
+  0x63, 0x75, 0xd6, 0x2c, 0x17, 0xe1, 0x3d, 0x7f, 0x72, 0xee, 0x9a, 0x14,
+  0xe2, 0x53, 0x9a, 0x6a, 0x14, 0xe7, 0x6e, 0xfc, 0x4e, 0x36, 0xe5, 0xd0,
+  0x2d, 0x80, 0xbb, 0xfa, 0x03, 0xf3, 0x9c, 0x14, 0x81, 0xe0, 0x76, 0x5f,
+  0x95, 0x40, 0xae, 0xbf, 0x1e, 0x1a, 0xe1, 0x6a, 0x94, 0x8b, 0xdd, 0x9e,
+  0x5f, 0xa7, 0x9d, 0x63, 0xea, 0xf6, 0x55, 0xd2, 0xa5, 0x5b, 0xbd, 0x0d,
+  0xcf, 0x8c, 0x66, 0xa2, 0x48, 0x06, 0x21, 0xad, 0xcf, 0x16, 0x15, 0x76,
+  0xc6, 0x19, 0xde, 0xde, 0x08, 0x87, 0x2e, 0x6d, 0xad, 0xe9, 0xd5, 0xde,
+  0x8b, 0xfd, 0xe1, 0xde, 0xf3, 0xcf, 0x87, 0x7b, 0x28, 0x09, 0xe9, 0xf5,
+  0x8e, 0x29, 0x99, 0xa9, 0x6a, 0xa1, 0xd7, 0x4e, 0xa4, 0x36, 0x66, 0xb2,
+  0x9a, 0xd7, 0x14, 0x1f, 0x98, 0xdf, 0x0f, 0xe9, 0xb1, 0x21, 0x57, 0xc2,
+  0x08, 0x3e, 0x31, 0x37, 0x4a, 0x4d, 0x5e, 0x04, 0x41, 0x8f, 0x81, 0xc3,
+  0x11, 0xe9, 0x65, 0xbf, 0xc8, 0x69, 0x17, 0x29, 0xd9, 0xa0, 0xeb, 0x14,
+  0x9f, 0xf5, 0xdc, 0x55, 0x25, 0xa0, 0xb3, 0x19, 0xef, 0x90, 0x8a, 0xf4,
+  0x89, 0x68, 0x91, 0x4e, 0xaa, 0xdb, 0xef, 0xff, 0x03, 0x16, 0x9f, 0x4a,
+  0xc8, 0xd7, 0xb9, 0xf3, 0x4f, 0x88, 0xdf, 0x42, 0x2c, 0x12, 0xc0, 0x2b,
+  0x40, 0xaf, 0xd3, 0x65, 0x68, 0x11, 0xc2, 0x0d, 0x16, 0x7e, 0x1d, 0x92,
+  0x13, 0xef, 0x8a, 0x39, 0xf6, 0x18, 0x95, 0x7c, 0xfc, 0x11, 0xda, 0xd4,
+  0x30, 0x79, 0x97, 0x44, 0x47, 0x5e, 0xc3, 0x75, 0xc5, 0xf2, 0x59, 0x9b,
+  0xa3, 0xd7, 0xfe, 0xf4, 0x27, 0x27, 0x8f, 0xb8, 0x42, 0x31, 0x13, 0xf0,
+  0x3f, 0xeb, 0x0b, 0x47, 0x21, 0x47, 0xb7, 0x98, 0x21, 0x3d, 0xe9, 0x1d,
+  0xfc, 0x08, 0x67, 0xf0, 0xcf, 0x83, 0x1f, 0xcd, 0xbf, 0x7f, 0xee, 0xd9,
+  0x0c, 0x43, 0x66, 0x45, 0x62, 0x1d, 0x79, 0xa3, 0x7d, 0x94, 0xfb, 0xed,
+  0x0a, 0x8f, 0xd0, 0x0a, 0x2e, 0x8f, 0xce, 0xf9, 0x20, 0x56, 0x1c, 0xe4,
+  0xc6, 0x48, 0x49, 0x10, 0x41, 0xad, 0x27, 0x09, 0xce, 0xfc, 0x88, 0x66,
+  0xa7, 0xd8, 0xb9, 0xd4, 0x42, 0x39, 0x6c, 0x56, 0xe2, 0xc5, 0xbe, 0xa3,
+  0x10, 0x24, 0xc5, 0xb1, 0xe2, 0xca, 0x23, 0x37, 0xa6, 0x2f, 0xe4, 0x3b,
+  0x40, 0x42, 0xb3, 0x11, 0xbf, 0xaa, 0x52, 0xf3, 0x0f, 0xb4, 0x39, 0x62,
+  0x58, 0xaa, 0xc9, 0x15, 0x7f, 0x67, 0xba, 0xd6, 0x17, 0x2e, 0x50, 0xce,
+  0x8b, 0x68, 0x84, 0xce, 0xce, 0x4c, 0x87, 0x99, 0x30, 0x25, 0x43, 0xad,
+  0xf2, 0xfa, 0x23, 0x8d, 0x50, 0x92, 0x7c, 0x12, 0x46, 0x08, 0x6d, 0x78,
+  0x3a, 0x37, 0x7a, 0x46, 0x41, 0x2f, 0x21, 0x0d, 0xb1, 0x99, 0x7b, 0xde,
+  0x14, 0xbb, 0x4b, 0x42, 0x17, 0x5f, 0x33, 0xe3, 0xa3, 0xc4, 0x47, 0xf2,
+  0x58, 0x95, 0xc5, 0xf9, 0xb8, 0x7c, 0x16, 0x01, 0xa5, 0xfe, 0x48, 0x93,
+  0x73, 0xa3, 0xef, 0xda, 0x6d, 0xe2, 0xd1, 0xe3, 0x24, 0x5b, 0xf4, 0x03,
+  0xba, 0x04, 0xb7, 0xbb, 0x97, 0x17, 0x95, 0x97, 0x48, 0x73, 0xdf, 0x3d,
+  0x63, 0xd6, 0x8d, 0x4e, 0x2c, 0x25, 0x4e, 0x54, 0xa6, 0x0f, 0x84, 0xcd,
+  0x93, 0xc4, 0x6e, 0xcd, 0x40, 0xa2, 0xd0, 0xae, 0x2a, 0x76, 0x1b, 0x51,
+  0x93, 0x41, 0x9c, 0xb4, 0x4e, 0x2b, 0x45, 0x1a, 0x25, 0x3b, 0x5f, 0x79,
+  0xe2, 0xe9, 0x4f, 0xc8, 0x6d, 0x4a, 0xce, 0xb9, 0x2b, 0x50, 0x70, 0x34,
+  0xb4, 0x6b, 0xd0, 0xf9, 0x79, 0x8c, 0xb0, 0xd4, 0xbb, 0x5b, 0xf7, 0x77,
+  0x43, 0x8f, 0x0a, 0x55, 0x51, 0xc5, 0x24, 0x0f, 0xf2, 0xc5, 0xc3, 0x84,
+  0x66, 0x4a, 0xb4, 0x44, 0x6b, 0xd9, 0x12, 0x30, 0xf6, 0xa2, 0xa9, 0x97,
+  0xd7, 0xd7, 0xa0, 0x54, 0x08, 0x41, 0x79, 0x4d, 0xed, 0xa5, 0x40, 0x0a,
+  0xc3, 0xbb, 0x91, 0xe9, 0xe8, 0xba, 0x4e, 0x87, 0x4b, 0x8c, 0x14, 0xd1,
+  0xe3, 0x78, 0x72, 0x57, 0xe6, 0xce, 0x52, 0x8e, 0x09, 0x1f, 0x74, 0xa7,
+  0xcf, 0x54, 0xd9, 0x60, 0x59, 0x67, 0x2d, 0x22, 0xe0, 0xd6, 0xd5, 0x11,
+  0x80, 0x7a, 0x3d, 0xd9, 0x58, 0xaf, 0x11, 0x83, 0x2b, 0xf2, 0x37, 0x44,
+  0x18, 0x92, 0xb3, 0x8d, 0xea, 0x5b, 0x30, 0xa1, 0x4b, 0x7e, 0x25, 0x4c,
+  0x6a, 0x4c, 0x85, 0x55, 0x59, 0x6a, 0x21, 0x9f, 0xf9, 0xa0, 0x7b, 0x7d,
+  0x5e, 0x61, 0x3e, 0xd6, 0x39, 0x08, 0x9c, 0x48, 0xf4, 0xd5, 0xa6, 0xa7,
+  0xc3, 0xfd, 0x60, 0x69, 0xeb, 0xd9, 0x60, 0x32, 0x99, 0x0c, 0xa0, 0x10,
+  0xbc, 0x64, 0x3d, 0x65, 0x47, 0xb4, 0x84, 0xb8, 0x06, 0x35, 0xca, 0x64,
+  0xbe, 0x8f, 0x8e, 0x8e, 0x44, 0xa1, 0xb9, 0xbc, 0xe9, 0x68, 0x16, 0x96,
+  0xf3, 0x47, 0xd4, 0xaa, 0x68, 0x46, 0x55, 0x7d, 0xb3, 0x6c, 0xa6, 0x28,
+  0x2e, 0x4a, 0x52, 0x43, 0xe5, 0xb0, 0x4d, 0x93, 0xed, 0x70, 0x33, 0x52,
+  0xa9, 0xe7, 0xbe, 0xc5, 0x23, 0x52, 0xe3, 0x41, 0x1e, 0xe1, 0x82, 0x6b,
+  0x42, 0xe0, 0x45, 0x69, 0xbb, 0x5b, 0xbd, 0x90, 0xfb, 0xea, 0xd3, 0x27,
+  0x69, 0x0f, 0xeb, 0x18, 0x86, 0x4d, 0x5b, 0xc1, 0x67, 0xd3, 0x5c, 0x10,
+  0xb1, 0xa9, 0x7c, 0xab, 0xdb, 0xf6, 0x03, 0xeb, 0x21, 0x53, 0xdd, 0x5e,
+  0x92, 0xe7, 0x2b, 0x97, 0x24, 0x2e, 0xa9, 0xc8, 0xc0, 0xc2, 0xcc, 0x27,
+  0x5b, 0x47, 0xa0, 0x76, 0x24, 0x0a, 0x67, 0x9c, 0x8a, 0xa3, 0x1b, 0xc2,
+  0x6e, 0xcd, 0xcc, 0x02, 0x99, 0x5e, 0xd7, 0x90, 0x03, 0x5c, 0x3b, 0x6d,
+  0x74, 0xba, 0x73, 0x79, 0x3a, 0x0a, 0xe0, 0xee, 0xf7, 0xe4, 0x3b, 0x86,
+  0x8f, 0xb8, 0xed, 0xf9, 0xe4, 0x29, 0x02, 0x59, 0x6e, 0x79, 0xd5, 0xde,
+  0xe1, 0xfc, 0x85, 0x28, 0x5f, 0xc6, 0xb2, 0xd0, 0x3c, 0x18, 0xe7, 0xbb,
+  0x2d, 0xb2, 0x02, 0x89, 0xe4, 0x74, 0x9f, 0xe3, 0x08, 0x00, 0x08, 0x5b,
+  0x27, 0xef, 0x0e, 0x2f, 0x29, 0xb9, 0xa5, 0x11, 0x6c, 0xc7, 0x55, 0x19,
+  0xa0, 0xcc, 0x95, 0x9b, 0xd3, 0xb2, 0x19, 0xa6, 0x13, 0x57, 0x1f, 0x42,
+  0x55, 0x76, 0x5e, 0xbe, 0x5a, 0x77, 0xde, 0xba, 0xe9, 0x37, 0x53, 0x2a,
+  0xf7, 0x43, 0x77, 0xcf, 0x77, 0x57, 0x63, 0x2f, 0xba, 0x1a, 0x3c, 0x01,
+  0xd1, 0x15, 0xb9, 0x10, 0x69, 0x2e, 0xd3, 0x6c, 0xb7, 0x2e, 0x9c, 0x98,
+  0xb3, 0xf2, 0x3a, 0x47, 0x72, 0x29, 0x2f, 0x55, 0x2b, 0xd6, 0x16, 0xf8,
+  0x4b, 0x79, 0x72, 0x28, 0x0d, 0x1b, 0xf7, 0x62, 0x3b, 0xad, 0x8a, 0x0f,
+  0x09, 0xdd, 0x15, 0x76, 0x52, 0x85, 0x18, 0x5c, 0x33, 0x20, 0xc3, 0x04,
+  0x43, 0x92, 0x31, 0xf9, 0xc4, 0x58, 0x0a, 0x13, 0x02, 0x7d, 0xbc, 0x41,
+  0x10, 0xa4, 0x05, 0xad, 0xcd, 0x5b, 0xc4, 0x68, 0xd6, 0x53, 0x4a, 0xe1,
+  0xfa, 0x68, 0x06, 0x90, 0x8c, 0x71, 0xad, 0x43, 0xfe, 0x79, 0xeb, 0xfa,
+  0xf8, 0x9a, 0x4c, 0xb3, 0xeb, 0xe0, 0xda, 0x65, 0xaf, 0x2e, 0xc3, 0xaf,
+  0x3b, 0xd5, 0x68, 0x5c, 0x05, 0x06, 0xf2, 0x11, 0x71, 0x64, 0xbd, 0x53,
+  0x67, 0x71, 0xda, 0x8f, 0xf2, 0x93, 0xf7, 0xbb, 0x94, 0xdf, 0x55, 0xc8,
+  0x0a, 0xdc, 0x62, 0x95, 0xb1, 0xa4, 0x20, 0x9d, 0xe6, 0xbe, 0x36, 0xf7,
+  0xbe, 0xe5, 0x93, 0xef, 0x90, 0xcf, 0xb4, 0xb8, 0xe6, 0x19, 0x89, 0x43,
+  0x11, 0xa7, 0x3b, 0xaa, 0xa4, 0x78, 0x17, 0xb7, 0x76, 0x58, 0xa1, 0xbd,
+  0x74, 0xec, 0xd4, 0x7c, 0x3c, 0x94, 0xc2, 0x5f, 0x45, 0xd6, 0xfb, 0x8b,
+  0x53, 0x1b, 0x96, 0xff, 0xf7, 0x4d, 0x57, 0x30, 0x65, 0xb8, 0x82, 0xab,
+  0x2d, 0x46, 0xe2, 0x8a, 0x48, 0x93, 0x84, 0x9a, 0x14, 0x48, 0xe1, 0x67,
+  0x9b, 0x44, 0xa0, 0xdc, 0x3a, 0xbe, 0xf5, 0x3d, 0xfa, 0xe6, 0xf8, 0xf0,
+  0xb5, 0xe5, 0x12, 0xf8, 0x05, 0x25, 0x85, 0xba, 0x2a, 0x3f, 0xdc, 0x24,
+  0x0e, 0x74, 0x51, 0x16, 0xd9, 0x2a, 0x17, 0x89, 0xba, 0xfd, 0xc6, 0x19,
+  0xd3, 0xe2, 0x2f, 0xc5, 0x63, 0x92, 0x62, 0x79, 0x74, 0xab, 0x62, 0xa3,
+  0x18, 0x7d, 0xad, 0xce, 0xa4, 0x48, 0xf0, 0x4a, 0x7a, 0xf8, 0x95, 0x4e,
+  0x12, 0x1f, 0x75, 0x20, 0xbe, 0x6b, 0xd2, 0x9a, 0x39, 0xb5, 0xca, 0xdb,
+  0xca, 0xd7, 0xd8, 0xca, 0xb3, 0x72, 0x5c, 0x5e, 0x5d, 0xad, 0x09, 0x02,
+  0x32, 0x49, 0x1f, 0x52, 0xa0, 0x78, 0xc7, 0xf4, 0x68, 0x1a, 0xe9, 0xbd,
+  0x31, 0x75, 0xdf, 0x2c, 0xaa, 0x39, 0x6e, 0x3d, 0xc9, 0x4b, 0x90, 0xda,
+  0xd6, 0xc1, 0xd5, 0xe3, 0xc5, 0x12, 0xee, 0x05, 0xd8, 0xaa, 0xe6, 0x1e,
+  0x72, 0xf3, 0xd9, 0x31, 0xa3, 0xf8, 0x20, 0xcb, 0x74, 0x6e, 0x66, 0xfd,
+  0x3f, 0xff, 0xeb, 0xc7, 0x9f, 0x23, 0x7c, 0xef, 0xc0, 0x81, 0xdd, 0x70,
+  0x66, 0xa1, 0x79, 0x7e, 0x2e, 0xdc, 0x2d, 0x96, 0x96, 0xdb, 0xd5, 0x98,
+  0x27, 0x15, 0x2c, 0x9b, 0x5d, 0x0d, 0x5d, 0xd5, 0x92, 0xf0, 0x62, 0xac,
+  0xdd, 0x07, 0x51, 0x6d, 0x8a, 0x52, 0xc1, 0x39, 0x7d, 0x97, 0x08, 0x94,
+  0x51, 0x36, 0xc5, 0xa1, 0xa5, 0x2d, 0xbd, 0xaa, 0xac, 0x44, 0x24, 0x95,
+  0x40, 0x2b, 0x4b, 0x74, 0xa3, 0xe7, 0xef, 0x2f, 0x4e, 0xac, 0xcf, 0xd3,
+  0x97, 0xcb, 0x37, 0x66, 0xa7, 0xde, 0x0f, 0xb2, 0xfb, 0x6c, 0x6c, 0x64,
+  0x44, 0xad, 0xec, 0x0f, 0x83, 0x79, 0x9d, 0xbc, 0x9c, 0x9b, 0x1d, 0x9e,
+  0xaf, 0xe0, 0xed, 0xf8, 0x86, 0x5e, 0x4b, 0x12, 0x7d, 0xcf, 0xd2, 0x48,
+  0x5e, 0x97, 0x95, 0x99, 0xa2, 0xb9, 0xe4, 0xe3, 0x4a, 0x52, 0x72, 0xdb,
+  0xab, 0x81, 0xfc, 0x92, 0xc0, 0x33, 0x40, 0x1c, 0x6c, 0x94, 0x54, 0xe5,
+  0x91, 0x79, 0x89, 0x62, 0x38, 0x5d, 0xa6, 0x33, 0xd2, 0xea, 0x8d, 0xb1,
+  0x0d, 0xfb, 0x9e, 0x5c, 0x84, 0xbc, 0xa3, 0x90, 0x56, 0x81, 0x57, 0xa2,
+  0x3c, 0x02, 0x36, 0x0b, 0x11, 0x56, 0x16, 0x49, 0x1d, 0x7f, 0x44, 0xb6,
+  0x0c, 0xa1, 0xff, 0x49, 0x29, 0x40, 0x1a, 0xce, 0xab, 0x74, 0x9f, 0x0f,
+  0xb4, 0x05, 0xad, 0x52, 0x9e, 0x46, 0xae, 0x15, 0x42, 0x53, 0x5f, 0x47,
+  0xf6, 0xe8, 0x26, 0x82, 0x43, 0x39, 0x4f, 0xa7, 0x36, 0x93, 0xde, 0x27,
+  0x9f, 0x43, 0x16, 0x62, 0x4a, 0x69, 0x91, 0xd9, 0x6c, 0x28, 0xa5, 0x71,
+  0x01, 0xa7, 0x72, 0xad, 0x42, 0xe6, 0x76, 0xe1, 0x23, 0x35, 0x21, 0x02,
+  0x38, 0x19, 0x56, 0x7c, 0xfb, 0xc8, 0x2b, 0x17, 0x27, 0x44, 0x34, 0xec,
+  0x0b, 0xb5, 0x04, 0x86, 0xae, 0x99, 0x15, 0x31, 0x21, 0xc0, 0x58, 0x8b,
+  0x7a, 0x4a, 0x4c, 0x45, 0x42, 0x2f, 0x03, 0x4c, 0x41, 0x22, 0x44, 0xd6,
+  0xfb, 0x58, 0xd6, 0xbb, 0xd3, 0x1c, 0x45, 0x5e, 0x92, 0xe7, 0xcf, 0x9e,
+  0x3d, 0x4b, 0x38, 0xf6, 0x92, 0xf4, 0x4e, 0x98, 0x7a, 0xfd, 0xe2, 0xf8,
+  0xe8, 0xec, 0xed, 0xdb, 0xe3, 0x77, 0xaf, 0x8f, 0x5f, 0xdb, 0x83, 0xa6,
+  0x63, 0xb1, 0xbb, 0x23, 0x18, 0x11, 0xe1, 0x03, 0xa7, 0xc9, 0xde, 0xb3,
+  0xdd, 0xc1, 0xfe, 0xb3, 0xdd, 0xc4, 0x6c, 0xc5, 0xd4, 0x66, 0xa9, 0xa5,
+  0xb3, 0x94, 0x3c, 0x02, 0x37, 0x4b, 0xa3, 0xa7, 0x11, 0x37, 0x64, 0x43,
+  0xac, 0x1b, 0x70, 0xc2, 0x92, 0x9f, 0xb8, 0xc8, 0x1a, 0x32, 0xa2, 0x03,
+  0x0d, 0x28, 0x9d, 0x0e, 0x51, 0x4b, 0x9b, 0x89, 0xbe, 0x5c, 0xf4, 0x52,
+  0xd4, 0x1f, 0x6c, 0xd0, 0xfd, 0x5d, 0xfa, 0xd4, 0x30, 0x79, 0x63, 0x34,
+  0x90, 0xab, 0xf2, 0x53, 0xc2, 0x7a, 0xa0, 0x51, 0x4b, 0xb3, 0x30, 0x6a,
+  0xd9, 0x7e, 0x9d, 0xde, 0x7e, 0xc2, 0x6f, 0xff, 0x13, 0xc3, 0xf5, 0xcf,
+  0x5e, 0xb4, 0xb4, 0x03, 0x0b, 0x8b, 0x88, 0xa6, 0x76, 0x92, 0x06, 0xf5,
+  0xe6, 0xe4, 0xf4, 0x78, 0x3b, 0x79, 0x93, 0x35, 0x92, 0x37, 0xa3, 0xa0,
+  0x55, 0xba, 0x47, 0xfe, 0x05, 0x77, 0xb7, 0xe5, 0x4b, 0x93, 0xdc, 0xd3,
+  0x68, 0x7d, 0x5d, 0x31, 0xa3, 0x71, 0x8b, 0x69, 0x12, 0x0e, 0x8f, 0x0b,
+  0xd3, 0x48, 0x31, 0x1f, 0x85, 0x2a, 0x69, 0x0c, 0x4d, 0xa0, 0x91, 0x11,
+  0x28, 0xa7, 0x32, 0x08, 0x0c, 0x3d, 0x3e, 0xad, 0xb2, 0xf0, 0x62, 0xd4,
+  0xd4, 0x69, 0x81, 0xd1, 0x6a, 0x88, 0x8d, 0x4b, 0xd9, 0x47, 0x23, 0x1d,
+  0xcc, 0x5f, 0x4a, 0xd9, 0x35, 0x40, 0xd6, 0xd2, 0x94, 0x72, 0x1d, 0x61,
+  0xd1, 0xa7, 0x71, 0x58, 0x69, 0xbc, 0xde, 0xc4, 0x7d, 0xa3, 0x13, 0x47,
+  0xd0, 0x06, 0xfe, 0x73, 0xe7, 0xcf, 0x51, 0x6a, 0x2b, 0x65, 0xaa, 0x47,
+  0x35, 0x45, 0x79, 0xc3, 0x8c, 0x58, 0xeb, 0xeb, 0xca, 0xf5, 0xa1, 0x0a,
+  0x0d, 0x2c, 0x6b, 0xc5, 0x68, 0x46, 0x34, 0x23, 0x38, 0x86, 0xd4, 0x92,
+  0xfa, 0x8b, 0x94, 0x44, 0xd1, 0x9b, 0x89, 0x52, 0x8b, 0x9d, 0xd8, 0xe2,
+  0xfa, 0x8d, 0x16, 0xb8, 0x9a, 0xc4, 0xaa, 0x0f, 0xf1, 0x71, 0x97, 0x62,
+  0x8d, 0x7c, 0x4d, 0x13, 0x00, 0x3c, 0x55, 0x04, 0xb8, 0xf6, 0x97, 0x1e,
+  0xbb, 0x11, 0x6e, 0x5a, 0xd8, 0xe9, 0x9c, 0x9a, 0x54, 0x47, 0xdd, 0xca,
+  0x92, 0x33, 0x25, 0xe1, 0x23, 0x14, 0x30, 0x64, 0x93, 0x9f, 0xc3, 0xaa,
+  0x4b, 0x52, 0x15, 0x38, 0x5d, 0x08, 0x50, 0xd2, 0x8a, 0xa9, 0xfc, 0x22,
+  0xd7, 0xb0, 0x7c, 0xdd, 0xdf, 0xdb, 0x5d, 0x6d, 0xd0, 0xff, 0x4c, 0xdb,
+  0xc6, 0x09, 0xf5, 0x10, 0x33, 0x77, 0xd0, 0x56, 0x50, 0x63, 0xba, 0xa9,
+  0xf2, 0xc9, 0xc7, 0x1c, 0xd9, 0x6d, 0x4b, 0xe8, 0x09, 0x69, 0xa1, 0x29,
+  0x3c, 0xdc, 0x4d, 0x4b, 0xe3, 0x6c, 0xb6, 0xdb, 0x10, 0x08, 0xf9, 0xb8,
+  0x5a, 0xc3, 0x84, 0x58, 0x64, 0x8f, 0x12, 0x3d, 0xa4, 0xf6, 0x67, 0x06,
+  0x90, 0xbc, 0x3d, 0x2d, 0xaa, 0x01, 0x50, 0x96, 0x1d, 0x94, 0x90, 0x08,
+  0x65, 0x6d, 0x86, 0x52, 0x9c, 0x70, 0x26, 0xdd, 0x09, 0x81, 0x15, 0x55,
+  0x90, 0x87, 0xd2, 0x35, 0x34, 0x56, 0xce, 0x9c, 0x50, 0xe6, 0xc0, 0x6d,
+  0xca, 0x90, 0x65, 0x7a, 0x8c, 0xda, 0x70, 0x9d, 0xdf, 0xc6, 0x22, 0xf9,
+  0x74, 0xb9, 0x48, 0xc7, 0xe6, 0x42, 0xa8, 0x20, 0x8a, 0x88, 0xe2, 0x58,
+  0x01, 0x2a, 0x70, 0x7e, 0x4f, 0x62, 0x99, 0xeb, 0x38, 0x3f, 0xed, 0x09,
+  0x9e, 0x91, 0x2e, 0x44, 0x74, 0x51, 0xc5, 0x81, 0xd9, 0xfe, 0x49, 0xef,
+  0x1b, 0x73, 0xa9, 0x1e, 0xf4, 0x2c, 0x61, 0xb2, 0x00, 0x6f, 0xb2, 0xce,
+  0xce, 0x91, 0x62, 0xa2, 0x83, 0x68, 0x89, 0x1f, 0x51, 0x09, 0x8d, 0x24,
+  0x95, 0xa7, 0x35, 0x87, 0x23, 0xc4, 0xc9, 0xda, 0x9c, 0x0a, 0x4e, 0x43,
+  0x0c, 0x09, 0xa1, 0xa9, 0x4b, 0x3f, 0x0c, 0x8e, 0xf0, 0xf1, 0xc1, 0x37,
+  0x68, 0xee, 0x8b, 0x9e, 0xf5, 0x25, 0x76, 0x7f, 0x65, 0x3a, 0xbe, 0x11,
+  0x83, 0x95, 0x38, 0xdb, 0xa7, 0x5e, 0x2a, 0xd0, 0x1f, 0x78, 0x05, 0xe9,
+  0xa0, 0x14, 0x68, 0x9f, 0x4e, 0x77, 0x74, 0xc1, 0x39, 0x4a, 0x1c, 0xd6,
+  0xb4, 0xb3, 0x61, 0xed, 0x45, 0x45, 0x41, 0x6a, 0xa3, 0x62, 0x4d, 0x07,
+  0xe5, 0xd5, 0x00, 0x90, 0xdb, 0x79, 0x5a, 0x7d, 0x24, 0xc4, 0x8b, 0x77,
+  0xea, 0x40, 0x3c, 0x01, 0x5a, 0xe0, 0xe9, 0x34, 0xa6, 0xf3, 0x71, 0x76,
+  0x1c, 0xdd, 0x67, 0xb2, 0xf1, 0x15, 0xbb, 0xcf, 0x0b, 0x79, 0x20, 0x3e,
+  0x5f, 0xbc, 0x6e, 0xcb, 0xc9, 0x10, 0xe7, 0xd3, 0xda, 0xea, 0x33, 0x7d,
+  0xd6, 0x0b, 0x31, 0x6a, 0x18, 0x06, 0x73, 0xf6, 0x13, 0xc2, 0xb3, 0xb9,
+  0x5c, 0x40, 0x17, 0x22, 0x82, 0xc6, 0xc0, 0xb0, 0xd7, 0xbc, 0x03, 0x04,
+  0xd6, 0xcd, 0xad, 0xf2, 0x6c, 0xb8, 0xdb, 0x0f, 0x62, 0xc1, 0x0d, 0x6c,
+  0xc8, 0xc2, 0x01, 0x51, 0xcc, 0xc3, 0x90, 0x91, 0x83, 0x58, 0xca, 0x66,
+  0xdd, 0xdc, 0x93, 0xbc, 0xb6, 0x19, 0x9a, 0xa0, 0x47, 0x76, 0x50, 0x7a,
+  0x07, 0x1d, 0xe1, 0xb2, 0xd9, 0x2c, 0x36, 0x39, 0x35, 0x33, 0xc6, 0x69,
+  0x29, 0xa8, 0xa0, 0x3f, 0x0f, 0xba, 0x15, 0x05, 0x6d, 0x61, 0x21, 0x3f,
+  0x21, 0xc0, 0x2b, 0x11, 0xb4, 0xd2, 0x89, 0x01, 0x9e, 0xec, 0x43, 0x2d,
+  0xc5, 0x31, 0x30, 0x93, 0x2a, 0xf5, 0x13, 0x07, 0x19, 0xfd, 0x90, 0x89,
+  0x20, 0x94, 0x28, 0xb2, 0x5e, 0x3d, 0x67, 0xcc, 0xff, 0xf9, 0x19, 0xcd,
+  0x98, 0x65, 0x0e, 0xd7, 0x0a, 0x19, 0xee, 0x7e, 0xc0, 0xb6, 0xf5, 0xce,
+  0x52, 0x77, 0xce, 0x48, 0xaa, 0x68, 0x01, 0x78, 0xf1, 0x89, 0xa1, 0x89,
+  0x95, 0x10, 0xd5, 0x15, 0xd8, 0x51, 0x1c, 0x9b, 0x37, 0xa4, 0x31, 0x0e,
+  0xde, 0x99, 0x65, 0x38, 0x48, 0xfe, 0xa3, 0xcc, 0x38, 0x0d, 0xf2, 0x81,
+  0x2c, 0xc8, 0xef, 0x0f, 0x2f, 0xde, 0x9d, 0xbc, 0xfb, 0xfa, 0xc0, 0xca,
+  0x38, 0x92, 0x77, 0x5e, 0x29, 0x8a, 0x8e, 0x43, 0x01, 0x91, 0x25, 0x3c,
+  0x92, 0x47, 0x8b, 0x41, 0x38, 0x6a, 0xef, 0x41, 0xc2, 0x12, 0x5a, 0x7c,
+  0x63, 0xe6, 0x37, 0xec, 0x77, 0x67, 0x53, 0x47, 0xf1, 0xf8, 0x92, 0x06,
+  0x88, 0xfb, 0xb2, 0x29, 0x03, 0xa3, 0x86, 0xfd, 0x14, 0xa7, 0xb4, 0x30,
+  0xb3, 0xb2, 0x55, 0x09, 0x86, 0x76, 0xe6, 0x0c, 0x7b, 0xa0, 0xf4, 0xb7,
+  0x41, 0xab, 0xa6, 0x4b, 0x88, 0x5e, 0x00, 0xa8, 0x95, 0x0d, 0x09, 0xbe,
+  0x2b, 0x5a, 0x25, 0x30, 0x98, 0xc6, 0xbe, 0xc6, 0xaa, 0xd5, 0x39, 0x0c,
+  0x59, 0x3b, 0x2b, 0x2b, 0x4c, 0x2e, 0x5c, 0x66, 0x4c, 0x7e, 0x9b, 0x2e,
+  0xf9, 0xc8, 0x30, 0xf5, 0x95, 0xfc, 0xd4, 0x61, 0xfd, 0xed, 0xf8, 0x1f,
+  0x8d, 0x98, 0x75, 0x90, 0x59, 0xd6, 0x15, 0x19, 0xee, 0xe8, 0x49, 0xad,
+  0x9d, 0x0a, 0xb7, 0x49, 0x94, 0xe2, 0x62, 0x96, 0xb9, 0x5c, 0x17, 0xab,
+  0xee, 0xdc, 0xb0, 0xba, 0x33, 0x5b, 0x04, 0x4c, 0x6e, 0xa8, 0x93, 0x4c,
+  0xbf, 0x51, 0xd8, 0x0c, 0x45, 0x46, 0x70, 0x09, 0xab, 0xca, 0xdb, 0xae,
+  0x77, 0xaf, 0x85, 0xd8, 0x58, 0xae, 0x87, 0x57, 0x2a, 0x51, 0x09, 0x65,
+  0x4c, 0x66, 0xe5, 0x67, 0x55, 0x98, 0xaf, 0x9b, 0x39, 0x5e, 0x2c, 0xc7,
+  0xf3, 0xe9, 0x33, 0x63, 0x63, 0x4e, 0x9f, 0x05, 0x7a, 0x16, 0x70, 0x89,
+  0xa3, 0x23, 0xa3, 0x6b, 0x11, 0x8e, 0x82, 0xae, 0x0c, 0x66, 0x53, 0x11,
+  0x23, 0x9d, 0xfe, 0xfa, 0x64, 0xdf, 0xf4, 0xf4, 0x53, 0xaa, 0xdc, 0x89,
+  0x46, 0x29, 0xbc, 0xce, 0x1b, 0x26, 0xdc, 0x5a, 0x41, 0x49, 0xe3, 0x63,
+  0xc1, 0x68, 0xc5, 0xf7, 0xf6, 0x3f, 0x4f, 0x08, 0xcb, 0xfe, 0xf6, 0xf5,
+  0xb3, 0x64, 0x72, 0x93, 0x4d, 0x3e, 0xd6, 0xcb, 0xb9, 0x4a, 0x64, 0x29,
+  0x06, 0x4f, 0xfd, 0x0c, 0x48, 0x5f, 0x4c, 0xc7, 0x67, 0xf9, 0x84, 0x12,
+  0xca, 0xfa, 0xad, 0xf0, 0xc7, 0x95, 0x86, 0x69, 0x3c, 0x0b, 0xc7, 0xde,
+  0x1c, 0x08, 0x4b, 0x33, 0x74, 0x23, 0xe2, 0x1a, 0x37, 0x73, 0x60, 0x3e,
+  0x5e, 0x73, 0xf9, 0xd8, 0xb5, 0x0e, 0xc1, 0xcf, 0x5a, 0x3e, 0xd5, 0x5d,
+  0x2c, 0xa5, 0x39, 0xdf, 0x7b, 0xc3, 0xdd, 0x55, 0x25, 0x91, 0x3d, 0xae,
+  0x27, 0x09, 0xde, 0xc2, 0x1e, 0x90, 0x0a, 0xd7, 0x89, 0x79, 0xd3, 0xd7,
+  0xc3, 0x38, 0x5a, 0x6b, 0x66, 0x72, 0x05, 0x82, 0xc8, 0xdc, 0x2b, 0x62,
+  0x79, 0x67, 0xd3, 0x56, 0x43, 0x8f, 0xc5, 0x72, 0x4b, 0x77, 0xf7, 0xc4,
+  0x83, 0x4c, 0xff, 0x6a, 0xf9, 0xec, 0xe5, 0xd7, 0x2b, 0xaa, 0x57, 0x63,
+  0x30, 0x6b, 0xc6, 0xb2, 0xb7, 0xb6, 0x1b, 0x5e, 0x3f, 0x30, 0x77, 0x6e,
+  0xf2, 0x6c, 0x71, 0x23, 0xee, 0x8f, 0xce, 0x79, 0x18, 0x52, 0x0b, 0x09,
+  0xba, 0xf1, 0x06, 0xc1, 0xf2, 0xcb, 0x6a, 0x40, 0x2a, 0xe1, 0x2c, 0x9b,
+  0x06, 0x57, 0x74, 0x6c, 0x31, 0x70, 0x8e, 0xf3, 0xba, 0x5e, 0x2a, 0xc7,
+  0x05, 0xb9, 0xa3, 0xc9, 0xe7, 0x8d, 0x21, 0x59, 0x11, 0x1a, 0x83, 0x1e,
+  0xd3, 0x13, 0x3b, 0xfb, 0x56, 0x03, 0xc4, 0x3f, 0x69, 0x4a, 0xdf, 0x2f,
+  0xae, 0xab, 0x14, 0x98, 0x98, 0x93, 0xc6, 0x63, 0x2a, 0x4f, 0xd0, 0xb9,
+  0x24, 0x59, 0xd5, 0x3b, 0x4e, 0xf2, 0xf5, 0x6b, 0xd8, 0x68, 0x8a, 0x59,
+  0xad, 0x9f, 0xaa, 0x29, 0x77, 0xcf, 0xd5, 0x18, 0xa2, 0x9f, 0x3a, 0x2e,
+  0xf7, 0x18, 0x29, 0x69, 0xdd, 0x08, 0xd8, 0x51, 0x1a, 0x68, 0x01, 0x82,
+  0x89, 0x6c, 0x99, 0x2f, 0x17, 0x5b, 0xf1, 0x89, 0x40, 0x30, 0x42, 0xa4,
+  0x13, 0x30, 0xbe, 0xf1, 0xe2, 0x8a, 0x96, 0xd0, 0x21, 0x24, 0x0b, 0x7c,
+  0xd7, 0xd1, 0xe5, 0x78, 0x34, 0xfd, 0x77, 0xc0, 0x3b, 0x94, 0xb3, 0x71,
+  0xaf, 0x29, 0x77, 0x3c, 0x9a, 0xe1, 0xe3, 0x36, 0xf7, 0x6e, 0x3f, 0xda,
+  0x3b, 0xda, 0x6e, 0xfe, 0xe6, 0x6f, 0x91, 0x78, 0xbd, 0x88, 0x6c, 0xae,
+  0x5f, 0x75, 0x16, 0xf6, 0xd7, 0x45, 0x70, 0x8c, 0x12, 0x9f, 0xce, 0x16,
+  0xc5, 0x50, 0xbf, 0xf0, 0xa8, 0xf9, 0xe9, 0x2e, 0xb3, 0x25, 0x4b, 0xff,
+  0x75, 0xf3, 0xd3, 0x9d, 0x1b, 0x5f, 0x96, 0xf9, 0xf3, 0xd3, 0x5d, 0xcb,
+  0xb5, 0x6c, 0xf9, 0x9c, 0x21, 0xab, 0x45, 0x7a, 0x07, 0x9c, 0xfa, 0x13,
+  0x45, 0xc4, 0xcb, 0x89, 0x54, 0x9a, 0xab, 0x7e, 0x72, 0xc2, 0x34, 0xae,
+  0x88, 0xc5, 0xca, 0xeb, 0xa7, 0x9c, 0x39, 0xc4, 0x57, 0xa8, 0x75, 0xa2,
+  0x47, 0x92, 0x0c, 0xf3, 0x09, 0x31, 0xc8, 0xcc, 0xee, 0xd5, 0x7d, 0x46,
+  0x3a, 0x9c, 0x65, 0x9e, 0x5f, 0x16, 0xb8, 0xb0, 0x0e, 0x17, 0x94, 0xfc,
+  0x63, 0x64, 0xd4, 0x27, 0x57, 0x92, 0x2f, 0x12, 0x41, 0x30, 0xb7, 0x7a,
+  0xc9, 0x38, 0x6a, 0xc5, 0x1b, 0x76, 0xbb, 0x83, 0xd6, 0x99, 0xe8, 0x69,
+  0x46, 0x08, 0xdb, 0x8a, 0x95, 0x98, 0x7d, 0x63, 0x39, 0x5e, 0x07, 0x34,
+  0xd2, 0xe3, 0xfb, 0x26, 0x02, 0x7e, 0xa7, 0x51, 0xd3, 0x2c, 0x6c, 0x31,
+  0xa1, 0x8c, 0xd9, 0x77, 0xcf, 0x87, 0xbb, 0xdb, 0x7d, 0xaa, 0x3e, 0xba,
+  0xc0, 0x0c, 0x10, 0x38, 0xd9, 0xde, 0xf5, 0x14, 0x55, 0xcc, 0xaf, 0xc9,
+  0x86, 0x82, 0xbd, 0x19, 0x89, 0x3d, 0x93, 0xbf, 0x45, 0x30, 0x1d, 0x8a,
+  0x98, 0x10, 0x62, 0xbd, 0x36, 0x81, 0x76, 0xde, 0x47, 0x91, 0x16, 0x78,
+  0x4b, 0xba, 0x7e, 0x32, 0xf1, 0xa1, 0xb8, 0x6a, 0xc3, 0x3e, 0x7b, 0xb3,
+  0x6a, 0x60, 0x0e, 0xfc, 0x2b, 0xb4, 0xe4, 0xf0, 0x63, 0x46, 0x7c, 0x2b,
+  0x8e, 0x01, 0x59, 0xd9, 0xe7, 0x61, 0x6d, 0xf3, 0x37, 0xc4, 0x28, 0x82,
+  0xd2, 0xa9, 0x12, 0x8f, 0xec, 0x16, 0xf2, 0x30, 0x31, 0xd9, 0x7b, 0xf7,
+  0xe4, 0x4e, 0xc1, 0x14, 0xcc, 0xba, 0x81, 0x23, 0xc5, 0x6c, 0x1d, 0x38,
+  0x25, 0xb2, 0x1c, 0x0e, 0x87, 0x91, 0x9c, 0xdd, 0xdb, 0x3c, 0xbb, 0x6b,
+  0x39, 0x87, 0xa4, 0x5f, 0x7d, 0x4b, 0x08, 0xcf, 0x36, 0xc9, 0x2d, 0xcd,
+  0x90, 0x69, 0x72, 0x5c, 0xda, 0x42, 0xb7, 0x6b, 0x0e, 0xb2, 0xff, 0xb4,
+  0x37, 0xcd, 0x1f, 0x79, 0x9a, 0xeb, 0x58, 0x16, 0x0c, 0x53, 0x40, 0x3a,
+  0xfe, 0xea, 0x3e, 0x29, 0xe8, 0xd5, 0x7d, 0x02, 0xa2, 0x72, 0xa7, 0xb8,
+  0x40, 0xae, 0x30, 0xee, 0x32, 0xaf, 0x99, 0x81, 0x31, 0x8f, 0x41, 0x81,
+  0x51, 0xff, 0x81, 0x3e, 0xd3, 0x3e, 0xf3, 0xe2, 0xb7, 0xb1, 0xd5, 0x97,
+  0xab, 0x72, 0x42, 0xa6, 0x11, 0x2e, 0x59, 0x25, 0x5e, 0x86, 0x65, 0x10,
+  0x89, 0xb3, 0xca, 0x8a, 0x78, 0x4c, 0xed, 0x5e, 0x54, 0xd0, 0xd1, 0xe7,
+  0x27, 0x3a, 0xc0, 0xa8, 0x6b, 0xdb, 0xae, 0xab, 0xef, 0x90, 0xf7, 0x47,
+  0x32, 0xbe, 0xd7, 0x1a, 0x26, 0xe2, 0x1d, 0x70, 0xcc, 0x92, 0x01, 0x07,
+  0xb2, 0xcd, 0xca, 0x71, 0xc4, 0x21, 0xce, 0xcf, 0xc2, 0x19, 0x3d, 0x18,
+  0x99, 0x34, 0x5e, 0xfb, 0xa4, 0xa0, 0x01, 0x41, 0xb6, 0x57, 0x6d, 0xda,
+  0x34, 0xcc, 0x35, 0x06, 0xa2, 0x4b, 0xcc, 0x26, 0x38, 0x27, 0xf6, 0x9a,
+  0xed, 0x5c, 0x2e, 0x29, 0xc6, 0x86, 0xb3, 0x2f, 0x79, 0x79, 0x92, 0x8a,
+  0xd7, 0xcd, 0xd7, 0xb6, 0xbc, 0x37, 0x34, 0xfb, 0xc3, 0x9b, 0xf4, 0xd3,
+  0xa7, 0x61, 0x9d, 0xed, 0x98, 0x5d, 0x5b, 0xef, 0xd4, 0xf5, 0x8c, 0x3e,
+  0x5a, 0x83, 0x62, 0x66, 0xf5, 0xf5, 0xc0, 0xf6, 0xab, 0xce, 0xaf, 0x08,
+  0xe3, 0x49, 0x4a, 0xaf, 0xb6, 0x84, 0xad, 0xab, 0x05, 0xc5, 0x84, 0xf8,
+  0x5d, 0x84, 0x14, 0x53, 0x6c, 0x02, 0x96, 0xed, 0x27, 0x18, 0xb1, 0x68,
+  0x70, 0x71, 0x68, 0xdb, 0x8e, 0xe3, 0x0e, 0x26, 0x52, 0xcd, 0x6a, 0x15,
+  0xa0, 0x55, 0xce, 0xaa, 0x87, 0x86, 0x32, 0x93, 0x62, 0x71, 0x9f, 0xe6,
+  0x7e, 0x70, 0xdc, 0x01, 0x5c, 0x74, 0x82, 0x2b, 0x24, 0x47, 0x78, 0x2d,
+  0x56, 0x19, 0xd2, 0xde, 0xd0, 0x08, 0x22, 0x7b, 0xe0, 0x78, 0x94, 0xee,
+  0xee, 0xee, 0x86, 0xeb, 0x2c, 0xe9, 0x7f, 0xd8, 0xdd, 0xdf, 0x6e, 0xee,
+  0xcc, 0xec, 0xda, 0xd3, 0xbc, 0x58, 0x7e, 0x4a, 0xbc, 0x34, 0x76, 0x5b,
+  0xfc, 0x40, 0x5d, 0xc5, 0xc9, 0x77, 0x17, 0x6f, 0x6c, 0xe5, 0x45, 0x4d,
+  0x1f, 0x26, 0x5f, 0x44, 0x1d, 0x7a, 0x4d, 0xb3, 0x9c, 0xc9, 0x05, 0x88,
+  0x1e, 0xf3, 0xe8, 0xf0, 0xfc, 0xc3, 0xbb, 0xe3, 0xcb, 0x0f, 0x17, 0x87,
+  0xdf, 0xd3, 0x14, 0x72, 0x38, 0xbf, 0x4a, 0x51, 0x81, 0xa5, 0x2a, 0x4b,
+  0x82, 0x69, 0xbe, 0x45, 0x41, 0x90, 0xbc, 0x40, 0x06, 0x79, 0xac, 0x46,
+  0x81, 0x23, 0xc6, 0x90, 0x7e, 0x9a, 0xbe, 0x1c, 0x24, 0xad, 0xf9, 0xfa,
+  0x68, 0x2c, 0x87, 0x6c, 0x36, 0x2c, 0xab, 0x6b, 0xda, 0x85, 0x3b, 0xaf,
+  0x45, 0x7e, 0x46, 0x9b, 0xdb, 0x91, 0x00, 0x0e, 0xf1, 0xac, 0xdc, 0x56,
+  0x57, 0x94, 0x94, 0xbd, 0xae, 0x6e, 0xb1, 0x5f, 0xce, 0xc7, 0xdb, 0x9a,
+  0x4f, 0x21, 0x00, 0x17, 0xb7, 0x4f, 0xd7, 0x18, 0x03, 0x4d, 0x4b, 0x7f,
+  0xa2, 0x03, 0x36, 0xbb, 0xe5, 0xad, 0x85, 0x28, 0x86, 0x1f, 0x96, 0xa3,
+  0x13, 0x4d, 0x2e, 0xb5, 0x7e, 0x24, 0xed, 0x13, 0xec, 0xc1, 0xa5, 0x4d,
+  0x92, 0x05, 0xac, 0x9f, 0xe2, 0x89, 0xeb, 0xeb, 0x10, 0xa9, 0x1e, 0xd4,
+  0x35, 0x3b, 0x5a, 0xd8, 0x36, 0x5f, 0x73, 0x7a, 0x1e, 0xea, 0x92, 0x54,
+  0xa1, 0xc8, 0x1b, 0xf3, 0x73, 0x19, 0xf3, 0xf3, 0x7f, 0x68, 0xcc, 0xcf,
+  0xff, 0x81, 0x31, 0x3f, 0xfd, 0xa7, 0x8f, 0xf9, 0xaf, 0x34, 0xe6, 0xbf,
+  0x2e, 0x8b, 0x8f, 0x03, 0xd3, 0x5f, 0xba, 0x85, 0xa5, 0xca, 0x4b, 0x1d,
+  0x57, 0x99, 0x5b, 0x85, 0x05, 0xc8, 0xd1, 0xe4, 0x51, 0x29, 0x7a, 0x45,
+  0x6b, 0x52, 0xc9, 0x53, 0xe3, 0xa0, 0xd3, 0xca, 0x52, 0xac, 0xea, 0x0c,
+  0x63, 0x40, 0x38, 0x25, 0x9b, 0x4d, 0xf3, 0x7a, 0x42, 0xf6, 0x0d, 0x39,
+  0x4c, 0x7a, 0xd2, 0x23, 0x6d, 0xba, 0xa7, 0x3c, 0xf3, 0x11, 0xfe, 0x3f,
+  0xaa, 0x86, 0x0b, 0xd3, 0x1a, 0xa7, 0xd2, 0xc6, 0x65, 0x5c, 0x29, 0xd0,
+  0x9c, 0x18, 0xb6, 0x88, 0xe7, 0x42, 0x1b, 0x65, 0x4f, 0x35, 0x79, 0x21,
+  0x43, 0x99, 0x71, 0x79, 0xbf, 0xa0, 0xe6, 0x4c, 0xbb, 0x95, 0xb9, 0x83,
+  0xa1, 0x35, 0x49, 0x95, 0x5a, 0xdb, 0xc1, 0xa4, 0xd3, 0x39, 0x71, 0xbd,
+  0xdd, 0x64, 0xf7, 0x9b, 0x81, 0xc2, 0x30, 0x99, 0x95, 0x24, 0x6f, 0x48,
+  0xaf, 0x5b, 0xa3, 0x89, 0x8c, 0x5d, 0x89, 0x1d, 0xbe, 0x2f, 0x3a, 0x35,
+  0x77, 0xfc, 0x7b, 0xe3, 0x63, 0x96, 0x2d, 0xd2, 0x19, 0x12, 0x8a, 0x29,
+  0x1a, 0xb7, 0xaa, 0x30, 0x48, 0x0b, 0x07, 0xa2, 0x30, 0x49, 0xbc, 0xd1,
+  0x89, 0xb3, 0x43, 0xd2, 0x69, 0xe9, 0x78, 0xc2, 0x07, 0x9b, 0xe9, 0x99,
+  0x06, 0x1c, 0x0b, 0xa2, 0x9f, 0xda, 0x80, 0x9c, 0xed, 0x05, 0x69, 0x27,
+  0x63, 0xc9, 0x6e, 0xb7, 0x9f, 0x50, 0xb2, 0x9c, 0xdc, 0x3c, 0x7c, 0x9b,
+  0x13, 0x00, 0xa1, 0xd3, 0x5c, 0xf7, 0x75, 0x10, 0x67, 0xb4, 0x38, 0xa2,
+  0x2d, 0xa7, 0x23, 0x05, 0x66, 0xe4, 0xfe, 0x23, 0x75, 0x03, 0x05, 0xb7,
+  0x82, 0x2d, 0xa5, 0x1c, 0x91, 0xac, 0xdd, 0x5e, 0x1e, 0x9d, 0x7f, 0xf8,
+  0xf6, 0xf8, 0xf8, 0xfc, 0xe4, 0xf5, 0xe9, 0xb1, 0x1c, 0x18, 0xfb, 0xa3,
+  0x77, 0x97, 0xdf, 0x9d, 0x6a, 0x5d, 0x1c, 0xdd, 0x8b, 0xc1, 0x86, 0x17,
+  0x82, 0x63, 0x16, 0xca, 0x7d, 0x94, 0xff, 0x28, 0x9a, 0xe4, 0xf0, 0xe4,
+  0x07, 0xa3, 0xb5, 0x9e, 0x0f, 0xde, 0xff, 0x10, 0xf0, 0xae, 0x7b, 0x78,
+  0xda, 0x95, 0x45, 0x69, 0xcd, 0x36, 0x84, 0xed, 0xe8, 0xc6, 0xbe, 0x0a,
+  0x5d, 0xf0, 0x1b, 0x5f, 0x83, 0x84, 0xd2, 0x2a, 0xac, 0xc2, 0xc0, 0x2f,
+  0x6a, 0x6d, 0x03, 0x2f, 0x80, 0xff, 0x7c, 0x57, 0xcb, 0xc6, 0xac, 0xf5,
+  0xa1, 0x7d, 0xde, 0xb6, 0x19, 0x3f, 0x66, 0xf7, 0x20, 0xaa, 0x4a, 0x5e,
+  0xd2, 0x7f, 0xe3, 0x65, 0x7d, 0xce, 0xab, 0xfc, 0x96, 0xf4, 0x3f, 0xf3,
+  0x2c, 0x07, 0x19, 0xe8, 0xd1, 0xa1, 0x2d, 0x72, 0x24, 0x81, 0x0e, 0x6a,
+  0x04, 0xb1, 0x50, 0x34, 0x0a, 0x8f, 0x46, 0x10, 0x2c, 0xcb, 0xa7, 0xec,
+  0xeb, 0xe0, 0xf6, 0xd0, 0xa0, 0x99, 0x9e, 0x61, 0xf2, 0xfa, 0xf8, 0xa2,
+  0x9f, 0x9c, 0x1f, 0xbf, 0x65, 0x54, 0xee, 0xf1, 0xbb, 0xaf, 0xb9, 0xee,
+  0x93, 0x96, 0xf3, 0x41, 0x6c, 0x2e, 0xc4, 0xa5, 0x78, 0x73, 0x62, 0xde,
+  0x05, 0x06, 0xa7, 0xae, 0xcd, 0xed, 0xfa, 0x3b, 0xd2, 0x06, 0xf0, 0xd8,
+  0x5e, 0x9a, 0xff, 0xc4, 0xa6, 0xca, 0xd8, 0x11, 0xdf, 0x44, 0xa6, 0x4b,
+  0x14, 0x33, 0x1b, 0xcd, 0x15, 0xa3, 0x80, 0x66, 0x83, 0x67, 0xcc, 0x4c,
+  0x48, 0x18, 0x57, 0xd4, 0x09, 0x82, 0xeb, 0x07, 0xcc, 0x09, 0x5c, 0x69,
+  0x4e, 0xa2, 0x42, 0x64, 0xc5, 0x9a, 0xcf, 0xf5, 0x69, 0x5f, 0x82, 0x73,
+  0xd5, 0x4d, 0x46, 0x2c, 0x27, 0xac, 0xca, 0x25, 0x69, 0xc2, 0xb9, 0xe3,
+  0x8d, 0x42, 0x35, 0xcd, 0xa7, 0x48, 0x3a, 0x35, 0xdf, 0x28, 0xab, 0x69,
+  0x84, 0x63, 0xf3, 0xb7, 0x9c, 0xb8, 0x6a, 0x9c, 0xbc, 0x9c, 0x99, 0x17,
+  0x67, 0x71, 0x30, 0xf8, 0x31, 0x97, 0x7f, 0xf8, 0xd6, 0x18, 0x74, 0x59,
+  0x55, 0xd6, 0xdd, 0x5a, 0x00, 0x52, 0xea, 0x95, 0x6d, 0x5e, 0x34, 0x23,
+  0x24, 0x77, 0x21, 0x20, 0x88, 0x74, 0x22, 0xb1, 0xb7, 0x82, 0x8c, 0xf1,
+  0x4d, 0xe0, 0x67, 0x37, 0xfb, 0xc9, 0x26, 0x15, 0x3c, 0xa0, 0x3f, 0x51,
+  0xfb, 0x95, 0xb8, 0xc9, 0xf3, 0x74, 0xb6, 0xd9, 0x0f, 0x8b, 0x38, 0x6f,
+  0xca, 0x76, 0xdd, 0x34, 0x3b, 0x9e, 0x5b, 0xa3, 0x25, 0x44, 0x2a, 0x9e,
+  0xf4, 0x43, 0x78, 0x02, 0x6b, 0x89, 0xa0, 0x23, 0x5b, 0x53, 0x68, 0x5b,
+  0xeb, 0x80, 0x98, 0xdf, 0x36, 0xd7, 0xce, 0xea, 0x5f, 0x85, 0x78, 0xf9,
+  0x8d, 0x65, 0x09, 0x2f, 0xc3, 0x2f, 0x2d, 0x08, 0xe8, 0x7c, 0x5c, 0x9d,
+  0xe6, 0x74, 0xb1, 0xfc, 0x75, 0xd6, 0xd7, 0xa3, 0xf5, 0xd1, 0x0e, 0x39,
+  0x6d, 0xc9, 0x1f, 0x12, 0xe8, 0x71, 0x09, 0x62, 0x3b, 0x65, 0xd5, 0x5d,
+  0xb2, 0x31, 0xfc, 0x9a, 0x46, 0x72, 0x09, 0x84, 0x40, 0x08, 0xd6, 0x41,
+  0xc0, 0x67, 0xad, 0xdd, 0x1e, 0xb0, 0x89, 0x75, 0x94, 0x88, 0xcd, 0x08,
+  0xac, 0xee, 0x5d, 0x45, 0xb4, 0x5d, 0x85, 0xa3, 0xff, 0x9b, 0x65, 0xab,
+  0xf8, 0x1d, 0x94, 0xd9, 0xcb, 0x2c, 0xd2, 0x4c, 0x8a, 0xed, 0x28, 0x88,
+  0xa1, 0xd2, 0x6e, 0x0d, 0x24, 0x00, 0xa4, 0x56, 0x1d, 0xbd, 0xf7, 0x2f,
+  0xff, 0xe0, 0xca, 0x49, 0x8d, 0x24, 0x26, 0x12, 0x8d, 0xa4, 0xf0, 0x3d,
+  0x9a, 0xc6, 0xa4, 0x03, 0x3c, 0x07, 0x84, 0x6d, 0x00, 0xc1, 0xf1, 0xd2,
+  0xc8, 0x88, 0x2c, 0xe0, 0x71, 0x68, 0xd7, 0xaa, 0x9b, 0x4b, 0x25, 0x32,
+  0x8f, 0xd0, 0x08, 0xef, 0xda, 0x42, 0x89, 0xbe, 0xcf, 0x75, 0x10, 0xa9,
+  0xb0, 0x0c, 0xf6, 0x6c, 0x97, 0x39, 0x84, 0x63, 0x0b, 0x8a, 0x1a, 0xcd,
+  0xbf, 0x57, 0x70, 0x15, 0x4f, 0x08, 0x39, 0x0c, 0x05, 0xb6, 0x03, 0xfd,
+  0x2f, 0x20, 0xc0, 0x65, 0x04, 0x1e, 0x88, 0xa8, 0xd1, 0x18, 0x81, 0x49,
+  0xa6, 0xec, 0xbd, 0xc2, 0x92, 0xd8, 0x7e, 0xa2, 0x76, 0x38, 0xf7, 0x8b,
+  0x19, 0x7c, 0xcd, 0x89, 0x0e, 0xf4, 0xb9, 0xb1, 0x69, 0xe2, 0x2e, 0x9f,
+  0x36, 0x37, 0xa0, 0x88, 0x87, 0xf2, 0x6a, 0x74, 0xd7, 0x5a, 0x72, 0xd5,
+  0xc8, 0x93, 0x98, 0xc7, 0x60, 0xd8, 0x51, 0x2f, 0x0b, 0xaf, 0x18, 0xe6,
+  0x34, 0x61, 0xe6, 0x06, 0x72, 0xa6, 0x60, 0x19, 0xe0, 0x78, 0xdc, 0xe1,
+  0xeb, 0xd8, 0x26, 0x2d, 0x1b, 0xab, 0x7f, 0x79, 0x45, 0xe4, 0xef, 0xa1,
+  0x1b, 0x55, 0xe1, 0xd2, 0x43, 0x7b, 0x44, 0xb8, 0x22, 0xc4, 0x47, 0x26,
+  0x68, 0xfd, 0x76, 0x53, 0x8b, 0x9d, 0x2d, 0x8b, 0xc6, 0xc7, 0x74, 0x9a,
+  0x13, 0xfa, 0x31, 0x9f, 0x95, 0x51, 0xbf, 0xa7, 0x11, 0x6d, 0x73, 0x7e,
+  0xfd, 0xed, 0xa6, 0x3a, 0xb3, 0x28, 0x97, 0xef, 0x3a, 0x95, 0x5f, 0x73,
+  0x1a, 0xef, 0xe6, 0x35, 0x3f, 0xf4, 0xb5, 0x3e, 0x14, 0xe6, 0x2a, 0x91,
+  0x6b, 0x95, 0x5d, 0xa9, 0x1a, 0x83, 0xaf, 0x0f, 0x08, 0x2f, 0xf8, 0x6d,
+  0x3f, 0x79, 0x32, 0xc7, 0xa2, 0xec, 0x7d, 0x1d, 0x45, 0x72, 0x33, 0xc6,
+  0x84, 0x54, 0x64, 0x8d, 0x0e, 0x0e, 0xfe, 0x42, 0x9a, 0x31, 0xe6, 0x8c,
+  0x77, 0xa6, 0x05, 0x27, 0x33, 0x00, 0xde, 0x95, 0x4e, 0xef, 0x5e, 0x60,
+  0xb4, 0x54, 0x0b, 0xd2, 0xe4, 0xa6, 0x99, 0xf2, 0x55, 0xce, 0xe1, 0x82,
+  0xa2, 0x08, 0xeb, 0x42, 0x12, 0x35, 0x69, 0xab, 0x0e, 0x2c, 0x03, 0x56,
+  0x3d, 0xa3, 0x07, 0x50, 0xb5, 0xa1, 0x0c, 0x00, 0x59, 0xb3, 0x05, 0xb4,
+  0x58, 0x5b, 0x58, 0xc5, 0xeb, 0x12, 0xa5, 0x5a, 0x4c, 0x12, 0x31, 0xc4,
   0x7f, 0x47, 0x5d, 0x62, 0x86, 0xa0, 0x7e, 0x5e, 0x37, 0x03, 0xb2, 0x35,
-  0xa3, 0x8e, 0xfa, 0xf3, 0xb3, 0xf3, 0x27, 0xdb, 0x16, 0x56, 0xce, 0x9c,
-  0x21, 0x92, 0xeb, 0x93, 0x28, 0x4c, 0xd0, 0x66, 0x01, 0x29, 0xb7, 0x18,
-  0xd0, 0xa6, 0xb1, 0x2a, 0xd8, 0x4a, 0xaf, 0x8b, 0xef, 0xc1, 0x2b, 0xeb,
-  0x32, 0xcb, 0xbd, 0xa2, 0x10, 0xee, 0x58, 0xb2, 0x4c, 0x20, 0x94, 0xc8,
-  0x46, 0x98, 0x28, 0x29, 0x56, 0x87, 0xe4, 0x19, 0x0e, 0x80, 0x62, 0x4d,
-  0xda, 0x7c, 0xd3, 0x04, 0x79, 0xec, 0x74, 0xb2, 0x9d, 0xdb, 0xe5, 0x85,
-  0x81, 0x05, 0x2c, 0xea, 0x1e, 0x84, 0xd7, 0x58, 0x31, 0xbd, 0x7c, 0xdf,
-  0xda, 0x20, 0x1a, 0xb9, 0xb4, 0x68, 0xdb, 0x32, 0x25, 0xd8, 0x70, 0x65,
-  0x5d, 0x3c, 0x4b, 0xcc, 0xda, 0x52, 0x9b, 0x85, 0xbf, 0x3d, 0x4d, 0xde,
-  0x9d, 0x8e, 0x2e, 0x7d, 0x4f, 0x3f, 0x1c, 0xba, 0x01, 0x02, 0xaa, 0x4d,
-  0x55, 0xe0, 0xc5, 0x8b, 0x4f, 0x4f, 0x46, 0x97, 0xc3, 0x18, 0xe5, 0xe8,
-  0x41, 0x32, 0x2a, 0xe7, 0x7e, 0x25, 0xbe, 0x5a, 0x2a, 0xa5, 0x01, 0xee,
-  0xcc, 0xe1, 0x0b, 0xf5, 0xe6, 0xe7, 0x95, 0xef, 0xeb, 0x0f, 0x76, 0x2a,
-  0x75, 0xf1, 0x0b, 0x46, 0x37, 0x09, 0x32, 0x4a, 0x1d, 0xf9, 0xf5, 0x72,
-  0x3c, 0xf0, 0xb8, 0x41, 0x58, 0xdf, 0x01, 0x59, 0xb9, 0xd9, 0xbd, 0xe6,
-  0x86, 0xfa, 0x18, 0x1a, 0x02, 0x5b, 0xb2, 0x9f, 0x78, 0x23, 0x09, 0xab,
-  0x4b, 0xcb, 0x23, 0x39, 0x49, 0x32, 0xf0, 0x44, 0xc1, 0x17, 0x40, 0x4f,
-  0x3f, 0x6a, 0x53, 0xd1, 0x44, 0x74, 0xe6, 0x51, 0xaa, 0x5b, 0xb4, 0x81,
-  0x8e, 0x14, 0x59, 0xf1, 0xb8, 0x2e, 0xd6, 0x05, 0x93, 0xbc, 0x5d, 0xa8,
-  0xa4, 0x33, 0xb2, 0xeb, 0xb8, 0xe8, 0x1e, 0xbb, 0x05, 0x6c, 0xaf, 0x57,
-  0x51, 0x57, 0xe5, 0x53, 0x66, 0x76, 0xa9, 0xdb, 0xd4, 0x2e, 0x9c, 0xbd,
-  0x43, 0x22, 0x87, 0x89, 0x9c, 0xc9, 0x7a, 0x5d, 0xb1, 0x92, 0xec, 0x37,
-  0x69, 0x41, 0x5a, 0x06, 0x3f, 0x32, 0x4e, 0x0a, 0xc1, 0x8c, 0x7e, 0x8c,
-  0x72, 0x20, 0x96, 0x2a, 0xeb, 0xb1, 0xa6, 0xbf, 0x37, 0xa6, 0xad, 0x9d,
-  0x2f, 0x99, 0x1f, 0xa9, 0x54, 0x2b, 0x43, 0x25, 0x34, 0xac, 0x0a, 0x4d,
-  0xac, 0x48, 0xe0, 0x99, 0x5f, 0x16, 0xb9, 0xf9, 0x7e, 0xc2, 0xaa, 0xeb,
-  0x15, 0x01, 0x40, 0xab, 0x94, 0xc1, 0x3d, 0xb8, 0xc7, 0xcc, 0x98, 0x36,
-  0x6b, 0xcb, 0xa0, 0x48, 0x4e, 0x01, 0x3d, 0xae, 0x1f, 0xa3, 0xf5, 0x90,
-  0x56, 0x01, 0xf9, 0xfd, 0x34, 0xc0, 0xbd, 0x36, 0x65, 0x0f, 0xd8, 0xb9,
-  0x24, 0xc1, 0xde, 0x5c, 0x48, 0x3b, 0xc8, 0x1d, 0x8d, 0xd6, 0x85, 0x4d,
-  0x13, 0x0f, 0x38, 0x21, 0x49, 0xa3, 0x8a, 0xef, 0xad, 0x24, 0x51, 0x75,
-  0xeb, 0xcd, 0xc5, 0xd9, 0xdb, 0xc1, 0xe5, 0x19, 0xca, 0xff, 0xa1, 0xe9,
-  0x24, 0xa2, 0x71, 0x6a, 0xf9, 0x56, 0xaf, 0x86, 0x61, 0x1b, 0x75, 0xb2,
-  0x55, 0x6f, 0x0f, 0x7d, 0xde, 0xdf, 0x85, 0x5f, 0xf4, 0x35, 0x60, 0xe0,
-  0x2d, 0x58, 0x17, 0x81, 0xb9, 0x69, 0x76, 0xd3, 0x24, 0x25, 0x95, 0xd1,
-  0xc6, 0x1b, 0xd0, 0x80, 0x0a, 0xef, 0xf1, 0xb2, 0xbe, 0x07, 0x37, 0x38,
-  0x80, 0x48, 0x80, 0x48, 0x35, 0xa1, 0x13, 0x57, 0x19, 0x28, 0x6c, 0xf2,
-  0x2d, 0x31, 0x76, 0x30, 0x1c, 0xbc, 0x29, 0xcd, 0xf9, 0x4d, 0xab, 0xaa,
-  0xbc, 0xd3, 0x9b, 0x0b, 0x39, 0x0c, 0x66, 0x21, 0x6d, 0xd9, 0xf9, 0x95,
-  0xa9, 0x8a, 0x92, 0x84, 0xaf, 0x95, 0xd4, 0xd6, 0x2a, 0x80, 0xcf, 0xda,
-  0xe9, 0x63, 0x8a, 0x1a, 0x1b, 0x34, 0x95, 0xb1, 0x97, 0xb2, 0xe9, 0x0a,
-  0x74, 0xc6, 0x29, 0x49, 0x4a, 0x00, 0xcd, 0xbc, 0x77, 0xfa, 0x42, 0x14,
-  0x42, 0x09, 0xa5, 0xa0, 0x7f, 0x57, 0xff, 0x91, 0x65, 0xce, 0xfe, 0x53,
-  0x70, 0x86, 0x85, 0x3e, 0x8c, 0xd4, 0xfa, 0xd9, 0xcc, 0x01, 0xcd, 0x84,
-  0x85, 0x86, 0xaa, 0xb5, 0xd2, 0xde, 0x56, 0x2c, 0x18, 0x08, 0x02, 0x20,
-  0x0f, 0xe8, 0xa7, 0x81, 0x36, 0xa9, 0x29, 0xbf, 0x39, 0x25, 0x5b, 0x4d,
-  0x97, 0x13, 0xac, 0x12, 0x05, 0x66, 0xa8, 0xd4, 0xc9, 0x98, 0xb9, 0x88,
-  0x34, 0x5f, 0x89, 0x9a, 0x76, 0x10, 0x3b, 0xb6, 0xb3, 0xbb, 0x7a, 0x16,
-  0x3f, 0x65, 0x4b, 0x0b, 0x90, 0x32, 0x49, 0x78, 0x8d, 0x8c, 0x15, 0xcb,
-  0x2a, 0xa8, 0x7d, 0x54, 0x5c, 0x95, 0xb6, 0x80, 0x54, 0x44, 0x60, 0x11,
-  0xeb, 0x23, 0x68, 0xee, 0x04, 0x9f, 0x41, 0x6c, 0x2d, 0xb4, 0x7d, 0x11,
-  0x1b, 0xfd, 0x9a, 0x3c, 0x9b, 0x9d, 0x16, 0xb7, 0xd7, 0x78, 0x11, 0x97,
-  0x8a, 0xc8, 0xf4, 0x56, 0xaf, 0x85, 0xfb, 0x5b, 0xb1, 0x72, 0x27, 0x72,
-  0x4f, 0xdb, 0x9a, 0xaf, 0x0c, 0x5e, 0xb1, 0x73, 0x2e, 0x27, 0x1b, 0x74,
-  0x22, 0xd7, 0x5c, 0x90, 0x91, 0x30, 0x73, 0xd3, 0x18, 0x20, 0x5f, 0x6b,
-  0x5b, 0x34, 0x89, 0x7e, 0x34, 0xd9, 0x22, 0x2f, 0xe0, 0xc4, 0x87, 0x30,
-  0x9f, 0xca, 0xaf, 0x14, 0x31, 0xc9, 0xfc, 0x80, 0x9d, 0xe6, 0x9e, 0xfc,
-  0xf8, 0x63, 0xd2, 0x2e, 0x47, 0xb5, 0xbd, 0x2a, 0xb1, 0x4b, 0xd0, 0xac,
-  0xd3, 0xd2, 0xef, 0x6e, 0x00, 0xc8, 0xe7, 0x3d, 0x67, 0x54, 0x02, 0x00,
-  0xff, 0xe0, 0x12, 0x92, 0x58, 0x90, 0xb1, 0xff, 0x6e, 0x14, 0xa1, 0x8d,
-  0x30, 0xbb, 0x8b, 0xb3, 0x27, 0xa8, 0x21, 0x30, 0x38, 0x89, 0x80, 0x51,
-  0x20, 0x72, 0x5d, 0x6c, 0x5d, 0xc8, 0x8e, 0x39, 0xff, 0xd7, 0x9f, 0x30,
-  0x57, 0xb6, 0xb0, 0xbe, 0x21, 0x37, 0x30, 0x2e, 0x84, 0x07, 0x4b, 0x66,
-  0x71, 0x22, 0x1b, 0x46, 0x86, 0x4b, 0x9f, 0x89, 0x51, 0x09, 0xea, 0x34,
-  0xa9, 0x32, 0xf1, 0x36, 0xd4, 0x36, 0xcf, 0x3f, 0x08, 0xf6, 0x51, 0xfe,
-  0xe9, 0x8c, 0x61, 0x9a, 0x43, 0xac, 0x70, 0xea, 0x9d, 0x18, 0xc7, 0x22,
-  0xd2, 0x59, 0x33, 0x46, 0x6f, 0x86, 0x35, 0x3a, 0x4b, 0xd2, 0xa0, 0x28,
-  0x99, 0x0b, 0x54, 0x08, 0x25, 0x07, 0x13, 0xa5, 0x90, 0x12, 0xdf, 0x37,
-  0x7f, 0xd2, 0x73, 0x3b, 0x6c, 0x87, 0x2d, 0x68, 0x17, 0xc4, 0x22, 0x55,
-  0x2a, 0x4c, 0xb0, 0x30, 0x44, 0x58, 0x45, 0x79, 0xd9, 0x4a, 0xaa, 0x4f,
-  0x1e, 0x3d, 0x8d, 0x65, 0xb2, 0x46, 0x8d, 0x9c, 0x2a, 0xae, 0x93, 0x18,
-  0x90, 0xa7, 0xb9, 0x23, 0x4b, 0x50, 0x0b, 0x78, 0xa7, 0x1c, 0xdb, 0x02,
-  0x6c, 0x86, 0x81, 0x31, 0x4a, 0x07, 0x78, 0xac, 0x5e, 0x85, 0x0a, 0x70,
-  0xc1, 0x0d, 0xa1, 0xff, 0xf5, 0x27, 0x4c, 0x7d, 0xdb, 0x36, 0x7f, 0x4f,
-  0x00, 0xea, 0xc2, 0x23, 0x4b, 0xb9, 0x63, 0xdd, 0xa3, 0xe5, 0x07, 0x78,
-  0x90, 0x2a, 0x67, 0xfe, 0x7d, 0xfe, 0xfe, 0x72, 0xdb, 0xd5, 0xdc, 0x94,
-  0xdd, 0xea, 0xa3, 0x5b, 0x25, 0xf1, 0x25, 0xac, 0x23, 0xc3, 0xe9, 0x69,
-  0x22, 0xa7, 0x04, 0xe1, 0x26, 0x07, 0x83, 0x9c, 0x2c, 0x4f, 0x76, 0xf7,
-  0x8c, 0x25, 0xb5, 0xbb, 0x8f, 0xe2, 0x5b, 0x4f, 0x76, 0x9f, 0x0c, 0xd9,
-  0xc6, 0x70, 0x45, 0x54, 0x83, 0x6b, 0x81, 0x36, 0x36, 0x2a, 0xbc, 0xa3,
-  0xfc, 0x93, 0x60, 0x7a, 0x9f, 0x7c, 0xfa, 0x84, 0x5f, 0xb5, 0x81, 0x99,
-  0x03, 0x9b, 0xcf, 0x60, 0xbb, 0x1a, 0xbf, 0xf9, 0xbd, 0x19, 0x47, 0x00,
-  0x66, 0x59, 0x70, 0xee, 0x10, 0xca, 0x9b, 0x51, 0x0a, 0xdc, 0xca, 0xaa,
-  0x13, 0x4d, 0x37, 0xd3, 0xdf, 0x2f, 0xaf, 0x60, 0xf6, 0x0a, 0x0d, 0xde,
-  0x7e, 0x45, 0xf3, 0xe9, 0x42, 0xe1, 0x8c, 0xc7, 0x04, 0x2a, 0x6d, 0x14,
-  0x86, 0x27, 0xbb, 0x9f, 0x7c, 0xc5, 0xb8, 0xb5, 0x25, 0xcc, 0x65, 0x27,
-  0x22, 0x49, 0x51, 0xb8, 0xa1, 0x23, 0x82, 0xe4, 0xdf, 0x01, 0xc5, 0xf3,
-  0xcd, 0xa1, 0xc0, 0x0c, 0xeb, 0x5f, 0xf7, 0x25, 0xa6, 0xcf, 0xff, 0x7a,
-  0xd2, 0xbe, 0x2b, 0xaf, 0xf3, 0x62, 0xa0, 0x6d, 0xbe, 0x94, 0xbf, 0x04,
-  0xfe, 0x4a, 0x54, 0x5d, 0x22, 0xe5, 0x18, 0x34, 0xc7, 0xdb, 0xd6, 0x85,
-  0x02, 0xa3, 0x8f, 0x9a, 0xb0, 0xdd, 0x12, 0x35, 0x45, 0xca, 0xd9, 0x89,
-  0x88, 0x5e, 0x2b, 0x3c, 0x86, 0xab, 0xab, 0x58, 0x58, 0x52, 0x02, 0xf9,
-  0x88, 0xfd, 0x8a, 0x1f, 0x0f, 0xb7, 0xc5, 0xb2, 0x54, 0x35, 0x8e, 0x86,
-  0xef, 0xe4, 0x7a, 0xe0, 0xca, 0xca, 0x2c, 0x47, 0xa5, 0x8f, 0x9d, 0xde,
-  0x24, 0x87, 0x0d, 0x8a, 0x63, 0x49, 0x8e, 0x4d, 0x60, 0xa6, 0xd2, 0x54,
-  0xf4, 0xd9, 0x4e, 0xe5, 0xb2, 0x73, 0xc4, 0xfb, 0xac, 0x80, 0xb8, 0xd6,
-  0x5c, 0xb0, 0xcb, 0x1a, 0xb4, 0x65, 0x12, 0x51, 0x8f, 0xdc, 0x69, 0x1c,
-  0x4d, 0x0f, 0xe7, 0xd1, 0x9c, 0x43, 0xba, 0x5a, 0x49, 0xef, 0x97, 0xca,
-  0x58, 0x4f, 0xfb, 0xf8, 0xdb, 0xb3, 0xdd, 0x17, 0xfb, 0xe2, 0x1e, 0x3c,
-  0x39, 0xbe, 0x7c, 0xd3, 0x75, 0xe8, 0x55, 0x66, 0x3f, 0xf1, 0x7f, 0xa9,
-  0x54, 0xf0, 0x8d, 0x31, 0x30, 0x28, 0xef, 0x77, 0x40, 0xcc, 0xb1, 0x83,
-  0xdd, 0xdd, 0x58, 0x80, 0xfd, 0x77, 0x24, 0x26, 0x7d, 0xf2, 0xb4, 0x1d,
-  0x7b, 0x21, 0xb5, 0x7e, 0x40, 0xf3, 0xbd, 0x9a, 0x9f, 0x8a, 0xf7, 0x97,
-  0xf3, 0xd1, 0x39, 0x0a, 0x43, 0x79, 0xc3, 0x0b, 0xac, 0x46, 0xd0, 0x11,
-  0x31, 0xd2, 0xf2, 0x8e, 0x5b, 0x5d, 0x40, 0x24, 0x5b, 0x6c, 0x47, 0x34,
-  0xf7, 0xdb, 0xc2, 0x55, 0x9f, 0x48, 0x1d, 0x34, 0x08, 0x79, 0xb1, 0x22,
-  0xa2, 0x39, 0x77, 0xb5, 0x64, 0x1c, 0x54, 0x19, 0xf1, 0x07, 0xb0, 0xe2,
-  0x27, 0xdc, 0xef, 0x0f, 0x73, 0x20, 0x60, 0x0a, 0xaa, 0xc9, 0x42, 0xf2,
-  0x4f, 0xf8, 0xdf, 0x74, 0x15, 0xb7, 0x80, 0x8e, 0xfb, 0xcf, 0x22, 0x13,
-  0x87, 0x0b, 0xfb, 0x17, 0x4c, 0x5c, 0x7b, 0xde, 0x9c, 0x7a, 0xc4, 0x6e,
-  0x3c, 0x18, 0xbd, 0x12, 0x2d, 0x08, 0x73, 0xd3, 0x6b, 0xad, 0xf6, 0xf4,
-  0x8b, 0xc7, 0x42, 0xd3, 0x3d, 0x5c, 0xc7, 0xa5, 0xe2, 0xde, 0x7a, 0x60,
-  0x2c, 0x23, 0x0b, 0x78, 0x69, 0x8f, 0xa4, 0xef, 0xf8, 0x7c, 0xe9, 0xfe,
-  0x98, 0x4b, 0x79, 0x02, 0xf8, 0x1b, 0x10, 0x79, 0xea, 0x34, 0x77, 0x91,
-  0x2d, 0x32, 0x0c, 0xdd, 0x0f, 0x30, 0x7b, 0x9b, 0xdb, 0xda, 0xa9, 0x8d,
-  0x57, 0xef, 0xda, 0xdc, 0xa3, 0xf9, 0x82, 0x08, 0xc6, 0xea, 0xa8, 0xaf,
-  0xa5, 0x5d, 0xcb, 0x12, 0x73, 0xa9, 0x7e, 0xd9, 0xbe, 0xdc, 0x64, 0xf2,
-  0xbe, 0xce, 0xb1, 0x85, 0xef, 0x84, 0xf9, 0x74, 0x64, 0xb2, 0xa3, 0x09,
-  0xbb, 0x54, 0xa5, 0x4b, 0xca, 0xe3, 0xb6, 0xcb, 0xb8, 0x02, 0xe0, 0xf7,
-  0xa2, 0x70, 0x84, 0x67, 0x02, 0x4d, 0x93, 0x1d, 0x9f, 0x6c, 0x7d, 0x7f,
-  0xf1, 0xe6, 0xcf, 0x36, 0x95, 0x77, 0xbb, 0x1f, 0xb7, 0x86, 0xb5, 0xbf,
-  0x5e, 0x08, 0xc9, 0x81, 0xb6, 0x24, 0x81, 0xb4, 0x35, 0xf1, 0xee, 0x1f,
-  0x21, 0xbe, 0x97, 0x29, 0xba, 0x92, 0x2d, 0xaa, 0x34, 0x68, 0x9e, 0x1a,
-  0x89, 0x51, 0xf7, 0x64, 0xf8, 0x0c, 0x5e, 0x91, 0x37, 0x47, 0xcf, 0x9e,
-  0xec, 0xef, 0x19, 0xbb, 0x75, 0xab, 0x23, 0x2d, 0xb6, 0x1f, 0x1c, 0x66,
-  0x7b, 0xbd, 0xb3, 0x4f, 0x0b, 0xda, 0x7b, 0x5b, 0xc7, 0x3f, 0x9e, 0xbf,
-  0xf3, 0x06, 0x68, 0x57, 0x20, 0xc8, 0xad, 0xf4, 0x47, 0xc8, 0x89, 0x4d,
-  0x76, 0x8c, 0xee, 0xb6, 0x0d, 0xb6, 0x14, 0xa7, 0x2e, 0x86, 0x59, 0xb3,
-  0xbd, 0x37, 0x55, 0x4e, 0x7a, 0x6e, 0x8f, 0xe6, 0xa3, 0x77, 0x5a, 0x16,
-  0x53, 0x73, 0xfb, 0x9f, 0x11, 0xdf, 0x44, 0xd6, 0x33, 0x6a, 0xec, 0x83,
-  0xa3, 0x5b, 0x7d, 0x4c, 0xde, 0xf6, 0x71, 0x54, 0x8a, 0x10, 0x8a, 0xf0,
-  0x16, 0x3f, 0x04, 0xd3, 0x17, 0xe5, 0x45, 0x73, 0xbe, 0xc9, 0x92, 0xec,
-  0x1c, 0x72, 0xf1, 0x36, 0xad, 0xf2, 0xcb, 0xac, 0x49, 0xc2, 0xfd, 0x46,
-  0x5e, 0x9f, 0x97, 0x70, 0x6a, 0xaf, 0x8a, 0x87, 0xf0, 0xc8, 0x39, 0x1a,
-  0x82, 0xc7, 0xb7, 0xd4, 0xb1, 0xbf, 0xed, 0x55, 0x8a, 0xe2, 0x12, 0x6a,
-  0x12, 0xee, 0x80, 0xaa, 0x1e, 0x2b, 0x41, 0x82, 0x47, 0x9d, 0x59, 0x91,
-  0xb7, 0xc1, 0xcb, 0x38, 0x8a, 0x48, 0x24, 0xed, 0xb7, 0x99, 0x38, 0x22,
-  0x7e, 0x70, 0x84, 0x7a, 0xb9, 0x62, 0x44, 0x31, 0x6d, 0x29, 0x7a, 0x28,
-  0x39, 0x0c, 0x1b, 0x08, 0x75, 0xef, 0xa1, 0x24, 0x3e, 0x7f, 0x12, 0xde,
-  0x47, 0x3c, 0x18, 0xd1, 0xed, 0x2a, 0x5f, 0x05, 0xe0, 0x1b, 0x5a, 0xd4,
-  0xde, 0xbe, 0x17, 0x88, 0xa0, 0x38, 0x04, 0x0c, 0xa9, 0xcd, 0xef, 0x36,
-  0xa3, 0x11, 0x38, 0x0e, 0x4c, 0x48, 0x45, 0x3f, 0xf6, 0xeb, 0xd0, 0x19,
-  0x41, 0x70, 0x42, 0xa2, 0x0d, 0x88, 0x46, 0x70, 0x23, 0x6f, 0x37, 0x13,
-  0x1b, 0x90, 0xe8, 0xda, 0xfb, 0x0f, 0x86, 0x27, 0xf2, 0x26, 0x1e, 0x8f,
-  0xe0, 0x80, 0x44, 0xd7, 0x08, 0xb5, 0xe1, 0x89, 0xd6, 0xe6, 0x7b, 0xf6,
-  0x79, 0x64, 0xf3, 0xbd, 0x3b, 0xbb, 0x3c, 0x3e, 0x10, 0xfc, 0xac, 0x4b,
-  0xa4, 0x57, 0x5b, 0x81, 0x31, 0x44, 0xa8, 0xf5, 0x26, 0x19, 0x25, 0x20,
-  0x20, 0xe2, 0x75, 0xef, 0x47, 0x8e, 0x3c, 0xc0, 0xbc, 0x74, 0x4a, 0xd8,
-  0xdb, 0xdb, 0xac, 0xa4, 0x7b, 0x42, 0x8a, 0xa0, 0xd8, 0x06, 0x1c, 0x98,
-  0x8c, 0x55, 0xec, 0x45, 0x24, 0x0e, 0x36, 0x24, 0x78, 0xbd, 0xf8, 0xca,
-  0x0d, 0x36, 0x11, 0xdf, 0x65, 0xb0, 0xb9, 0x34, 0x49, 0x90, 0x4a, 0x02,
-  0x85, 0x95, 0x6c, 0x10, 0xa5, 0x7b, 0x23, 0x45, 0x44, 0x61, 0x91, 0x58,
-  0xce, 0x98, 0x75, 0x57, 0x9c, 0x0b, 0x26, 0x76, 0x0f, 0x95, 0x98, 0x67,
-  0xe4, 0x07, 0x5c, 0x41, 0x1c, 0x40, 0x8e, 0x40, 0x1b, 0x5d, 0xd4, 0x4d,
-  0x42, 0xaa, 0x86, 0xda, 0x69, 0x64, 0x56, 0x5a, 0x1b, 0xa5, 0x96, 0x82,
-  0x83, 0x61, 0x08, 0x9b, 0x2f, 0x9c, 0x8e, 0xa3, 0xca, 0x99, 0xdc, 0xaa,
-  0xb0, 0x01, 0x63, 0x91, 0x75, 0x8a, 0x75, 0xc7, 0x69, 0x85, 0xfc, 0xdc,
-  0x44, 0x68, 0x9b, 0x3d, 0xa2, 0x81, 0x19, 0xd7, 0xcb, 0x6a, 0xba, 0x9c,
-  0x1b, 0xc1, 0xe5, 0xe3, 0xc5, 0xa1, 0xf8, 0xc1, 0xa6, 0xe5, 0x74, 0xe9,
-  0x48, 0xac, 0xe0, 0xd9, 0x6e, 0xab, 0xb5, 0x21, 0x46, 0xde, 0x89, 0x78,
-  0x0f, 0xf6, 0x6c, 0x12, 0x7f, 0x8e, 0xd4, 0x38, 0x0e, 0x73, 0xfe, 0x8e,
-  0xc1, 0xa6, 0x79, 0x5f, 0x56, 0x8a, 0x61, 0x67, 0xf4, 0xdf, 0x2f, 0x03,
-  0x51, 0xaa, 0xb1, 0x5f, 0x94, 0x6d, 0x21, 0x0b, 0x43, 0x10, 0x45, 0xac,
-  0x2d, 0x91, 0x4b, 0x8d, 0xdd, 0x80, 0xf4, 0xc1, 0xbb, 0x9b, 0x72, 0xe6,
-  0x07, 0xc1, 0x03, 0x7b, 0x8e, 0xfc, 0x14, 0x1e, 0x67, 0x8b, 0x97, 0x1d,
-  0x22, 0x0b, 0x43, 0xf3, 0x0e, 0xaf, 0xdb, 0x98, 0x32, 0xff, 0x92, 0xbf,
-  0x96, 0x63, 0xc1, 0x20, 0x52, 0x8e, 0xd3, 0x75, 0x94, 0x07, 0x00, 0x0c,
-  0x46, 0xe6, 0xba, 0x32, 0x5b, 0x6d, 0xba, 0x64, 0xff, 0x2a, 0xf5, 0x47,
-  0x70, 0xb3, 0x5c, 0xc4, 0x8c, 0x22, 0x1f, 0xc9, 0x75, 0xc9, 0x85, 0xcc,
-  0xc8, 0x61, 0xc3, 0xec, 0x8b, 0x61, 0x2e, 0xdb, 0x7e, 0x37, 0xd7, 0x3b,
-  0x9d, 0x90, 0x53, 0xc4, 0x34, 0x2d, 0x79, 0x95, 0x90, 0xc9, 0xb5, 0x03,
-  0x17, 0xa7, 0x93, 0x66, 0x29, 0xb3, 0xde, 0xed, 0x5d, 0xa9, 0x7e, 0x52,
-  0xf3, 0x2e, 0x88, 0x0d, 0x41, 0x25, 0x34, 0x31, 0x5b, 0x2f, 0x9d, 0xdc,
-  0xab, 0xbe, 0xe0, 0x2e, 0x57, 0x6a, 0xa2, 0x5c, 0x7a, 0x34, 0x88, 0xc1,
-  0x60, 0x6d, 0x27, 0x28, 0xe8, 0x99, 0xd7, 0x2b, 0x68, 0x88, 0x7f, 0x53,
-  0x53, 0xc5, 0x27, 0x93, 0x67, 0xcf, 0xf3, 0x40, 0xfa, 0xd9, 0x3a, 0xed,
-  0x59, 0x93, 0xd2, 0x1c, 0x3f, 0x90, 0xc2, 0xdb, 0x72, 0x0a, 0x70, 0x6c,
-  0x10, 0x34, 0xb1, 0x94, 0x0c, 0x81, 0x60, 0xb8, 0x22, 0x1e, 0x88, 0xd0,
-  0x25, 0x54, 0x25, 0xde, 0xca, 0x57, 0x14, 0x11, 0xb1, 0x05, 0x89, 0x65,
-  0xf3, 0x4d, 0xd8, 0xd8, 0x7c, 0x9a, 0x6c, 0xc1, 0x06, 0xfc, 0xfc, 0xd9,
-  0xd3, 0xed, 0x36, 0x62, 0x6c, 0x3b, 0x02, 0xdc, 0xc5, 0x69, 0x13, 0xb6,
-  0x50, 0x5c, 0xee, 0x39, 0xd5, 0x77, 0xe1, 0xc8, 0x9c, 0x38, 0x37, 0x73,
-  0x26, 0x83, 0x27, 0x37, 0x3b, 0xca, 0x2a, 0x48, 0x08, 0x34, 0x80, 0x11,
-  0xa0, 0xbc, 0x4d, 0xc6, 0xaf, 0xdb, 0xd2, 0xa5, 0x56, 0x80, 0xbb, 0x34,
-  0x0e, 0x66, 0xab, 0x84, 0xa2, 0xa6, 0x84, 0x95, 0xdb, 0x84, 0x95, 0x8c,
-  0x5d, 0xa2, 0x98, 0x79, 0x2e, 0x34, 0xcf, 0x4a, 0x0c, 0x95, 0x15, 0x2c,
-  0xbd, 0x7b, 0x41, 0x5c, 0x23, 0xcc, 0x6b, 0x28, 0x37, 0x4f, 0x12, 0x23,
-  0x5e, 0x33, 0x17, 0x22, 0x2e, 0x47, 0xdc, 0x65, 0x76, 0x22, 0xd1, 0x06,
-  0x33, 0xf9, 0xd0, 0x56, 0xd1, 0x16, 0x04, 0x28, 0x25, 0xeb, 0x82, 0x1b,
-  0x32, 0xb8, 0x93, 0xe7, 0x4a, 0x7b, 0xce, 0xda, 0x47, 0x59, 0xb9, 0x92,
-  0xc5, 0x1c, 0xa8, 0xe1, 0xfb, 0x12, 0xd8, 0xce, 0x55, 0x69, 0xfb, 0xea,
-  0x0a, 0x49, 0x35, 0xbd, 0xb8, 0xd5, 0xb1, 0x95, 0xb9, 0x08, 0xba, 0xdb,
-  0x34, 0x91, 0xbf, 0x9b, 0x82, 0xa0, 0x7f, 0xb7, 0xbb, 0x32, 0xcc, 0x3e,
-  0xe2, 0xaf, 0x76, 0xe6, 0x61, 0x45, 0xef, 0xb9, 0x6a, 0x2f, 0x58, 0x77,
-  0xe0, 0x48, 0x19, 0x84, 0xec, 0x21, 0xc9, 0x16, 0x3a, 0xbc, 0xb3, 0xb3,
-  0xfd, 0x70, 0xa7, 0xe5, 0xc9, 0x87, 0x3a, 0x79, 0xce, 0xde, 0x0d, 0x66,
-  0x48, 0xb5, 0x54, 0x36, 0xae, 0x17, 0xf4, 0x55, 0x5a, 0x32, 0xe6, 0x31,
-  0x65, 0x08, 0x68, 0x25, 0xba, 0x09, 0xe5, 0x93, 0x86, 0x77, 0x90, 0xc0,
-  0xd3, 0x30, 0xbc, 0xf6, 0xc8, 0xc5, 0xea, 0x65, 0x2a, 0x20, 0x11, 0x20,
-  0xc0, 0x47, 0x81, 0x9c, 0x25, 0x39, 0x34, 0xbb, 0x30, 0x54, 0x39, 0xb5,
-  0x57, 0x38, 0x10, 0xde, 0xf8, 0xd8, 0xd2, 0xf5, 0x13, 0xdb, 0x70, 0x34,
-  0x5a, 0x7e, 0xf9, 0x08, 0x8e, 0x5d, 0x1e, 0x55, 0x61, 0x24, 0x05, 0x01,
-  0x87, 0x01, 0xbd, 0x17, 0x3f, 0xe8, 0x8a, 0xd2, 0xc5, 0x08, 0x4c, 0x99,
-  0x25, 0xd7, 0xba, 0x09, 0xb9, 0x4d, 0x23, 0x53, 0x3f, 0xba, 0x71, 0x33,
-  0xbf, 0x16, 0xd7, 0x1e, 0xbc, 0x6a, 0x71, 0x3f, 0xa5, 0x55, 0xe8, 0x7a,
-  0x47, 0xdf, 0xec, 0xfe, 0xc6, 0x9c, 0x71, 0x1e, 0xff, 0x98, 0x7f, 0xda,
-  0x9a, 0xce, 0x3e, 0x1f, 0x53, 0x64, 0xd0, 0xc7, 0xd4, 0x75, 0x94, 0x03,
-  0x09, 0xf3, 0x74, 0xdd, 0x04, 0xba, 0x3c, 0x65, 0x2f, 0x11, 0xf9, 0x01,
-  0x30, 0x5e, 0xd7, 0x39, 0x21, 0xde, 0x36, 0x6d, 0xb4, 0xed, 0x6e, 0xf8,
-  0xac, 0xed, 0x6e, 0xb0, 0x39, 0xc7, 0x71, 0x25, 0xed, 0x58, 0x2a, 0xbb,
-  0xbf, 0xd3, 0xc7, 0x92, 0xad, 0xd1, 0xf9, 0xbb, 0xe3, 0x6f, 0xce, 0xb6,
-  0x1f, 0x72, 0x53, 0xfa, 0xf2, 0xdf, 0x0e, 0x0a, 0xa8, 0xbc, 0x8a, 0x50,
-  0x7d, 0xdc, 0x77, 0x98, 0x27, 0xdf, 0x8c, 0x46, 0x83, 0xc3, 0xf3, 0x13,
-  0xd8, 0x02, 0xa3, 0x91, 0xf9, 0xcb, 0x2a, 0x6e, 0xc1, 0xa1, 0x94, 0x0e,
-  0x18, 0x7c, 0x0f, 0x5d, 0x4f, 0x65, 0x3f, 0xf3, 0x7c, 0x53, 0x94, 0x22,
-  0xbf, 0x12, 0xfa, 0x25, 0xae, 0x53, 0xa2, 0x69, 0xdb, 0xf4, 0x81, 0xae,
-  0xd5, 0x73, 0x7e, 0xb2, 0x83, 0x6f, 0x11, 0x6a, 0x16, 0x03, 0x8a, 0x7b,
-  0x10, 0x96, 0x61, 0xe1, 0x16, 0xd2, 0x7a, 0x5c, 0x19, 0x56, 0xc5, 0xed,
-  0x1a, 0xf3, 0x8f, 0xae, 0x13, 0x0a, 0xda, 0x49, 0xd4, 0x6e, 0x45, 0x9a,
-  0x04, 0x08, 0x2b, 0x08, 0x09, 0x2f, 0x84, 0xa7, 0x5d, 0x07, 0x1c, 0xec,
-  0x34, 0xa6, 0xd6, 0xa1, 0x4a, 0x9c, 0x23, 0x31, 0xb9, 0xba, 0x7e, 0x91,
-  0xcd, 0xc1, 0x32, 0x39, 0xd8, 0x04, 0x50, 0xa7, 0x28, 0x97, 0xd7, 0x37,
-  0xa1, 0x0b, 0xa2, 0x53, 0xbe, 0x49, 0x34, 0x29, 0xec, 0x27, 0xd3, 0xcb,
-  0x60, 0x0b, 0xe2, 0x45, 0xd5, 0x7b, 0xaa, 0x8c, 0x22, 0x44, 0xac, 0xde,
-  0x30, 0x00, 0x68, 0xfa, 0x4f, 0x29, 0x7a, 0xb0, 0x46, 0x03, 0x19, 0x73,
-  0xf4, 0x14, 0x9e, 0xb4, 0xa2, 0x99, 0xcd, 0xe5, 0xaf, 0x69, 0x71, 0x0f,
-  0x8f, 0xa9, 0xb8, 0xf0, 0x91, 0xab, 0x67, 0xf7, 0x74, 0x7b, 0xa3, 0x37,
-  0xd5, 0x84, 0x6b, 0xe4, 0xbe, 0xd4, 0x8a, 0xbc, 0xeb, 0x92, 0x2c, 0x50,
-  0x94, 0x51, 0x2b, 0x5c, 0x27, 0x83, 0xa2, 0xaf, 0x6d, 0xf4, 0x8d, 0x45,
-  0x2c, 0xb1, 0xb2, 0xb4, 0x11, 0x4c, 0x9b, 0xec, 0x82, 0x98, 0x28, 0xe2,
-  0x9a, 0x43, 0x5b, 0xc6, 0x7c, 0x28, 0x67, 0xcb, 0x46, 0x02, 0x90, 0xe4,
-  0x1b, 0xa5, 0x64, 0x88, 0x6d, 0x0b, 0x26, 0x42, 0xd3, 0x0e, 0x88, 0x9a,
-  0x1c, 0x85, 0x98, 0x6d, 0x57, 0x77, 0x67, 0xe8, 0x62, 0x2d, 0x1c, 0x4c,
-  0x14, 0x17, 0x05, 0x4d, 0xac, 0xd7, 0xd0, 0x02, 0xe8, 0xa4, 0xdb, 0x32,
-  0x5e, 0xfe, 0x91, 0xd6, 0x4f, 0xd7, 0xa9, 0x35, 0x3d, 0xea, 0x63, 0x27,
-  0xc9, 0xed, 0xd7, 0xfa, 0xea, 0xa8, 0x8d, 0x71, 0xe6, 0x97, 0x70, 0x9b,
-  0x28, 0x5e, 0x60, 0x4c, 0xc7, 0x64, 0x7c, 0x6f, 0xbf, 0xc5, 0x9f, 0x49,
-  0x81, 0xe8, 0xb1, 0x8a, 0xf0, 0x63, 0x89, 0x33, 0xdc, 0x72, 0x0c, 0xd7,
-  0x21, 0x52, 0xda, 0x5f, 0xea, 0x34, 0xfd, 0x7d, 0x06, 0xf4, 0x59, 0x7c,
-  0x8d, 0x59, 0xc5, 0xf7, 0xd8, 0x32, 0x04, 0x0c, 0x89, 0x35, 0x1d, 0xe2,
-  0xa1, 0x60, 0x03, 0x53, 0x34, 0xdd, 0x8e, 0x4a, 0xd5, 0x23, 0x72, 0xb9,
-  0xa5, 0x5c, 0x27, 0x86, 0x4f, 0xa8, 0xf7, 0x19, 0x9b, 0xb6, 0x51, 0xae,
-  0x2f, 0xe5, 0xe4, 0x16, 0x67, 0xf8, 0x88, 0x09, 0x71, 0xe3, 0x77, 0x3f,
-  0x0c, 0x2c, 0x3b, 0x0c, 0x86, 0xa9, 0x37, 0x6a, 0x04, 0x93, 0xbc, 0x81,
-  0x99, 0xed, 0xfa, 0x41, 0xfe, 0x62, 0x3e, 0xf2, 0x43, 0x5e, 0x18, 0xdd,
-  0xb0, 0xde, 0xf6, 0x15, 0xa5, 0xf0, 0xec, 0x56, 0x9b, 0xb5, 0xb1, 0xc3,
-  0x8c, 0xd8, 0x71, 0x78, 0x3d, 0xd2, 0x9c, 0x39, 0x6a, 0xa3, 0x5e, 0xd0,
-  0xc4, 0x45, 0x95, 0x6d, 0xc5, 0x9e, 0xfb, 0x45, 0x90, 0xeb, 0xc0, 0xe9,
-  0x5f, 0x2c, 0x4a, 0xae, 0x24, 0x39, 0xdf, 0x74, 0x84, 0xea, 0x2f, 0xb8,
-  0x30, 0x3f, 0xae, 0x0e, 0x26, 0x2b, 0x70, 0x5e, 0xaf, 0xac, 0x88, 0x94,
-  0xa1, 0x84, 0x64, 0xeb, 0x86, 0xb1, 0x68, 0x76, 0x31, 0xc6, 0xad, 0x67,
-  0x66, 0x64, 0xcd, 0x62, 0x6b, 0x6f, 0x9b, 0x29, 0xd4, 0xa5, 0x10, 0x60,
-  0xe9, 0xae, 0xfb, 0xd0, 0x91, 0x43, 0x10, 0xc3, 0x04, 0x47, 0x54, 0x1d,
-  0x5e, 0x00, 0xfa, 0xa3, 0xe2, 0x0e, 0xf9, 0x75, 0xa1, 0x55, 0xa4, 0x8d,
-  0x28, 0x0b, 0x82, 0x58, 0xd4, 0x74, 0xb6, 0xae, 0x67, 0x19, 0xd0, 0x9f,
-  0x05, 0xf1, 0xc2, 0x21, 0x0b, 0x8d, 0x42, 0x2f, 0xd6, 0x2b, 0x2e, 0xec,
-  0xf6, 0x92, 0xa6, 0x6a, 0x66, 0x6e, 0x36, 0x1d, 0x90, 0x00, 0xb9, 0xae,
-  0x4a, 0x73, 0x45, 0x56, 0x11, 0xf6, 0x2c, 0x31, 0x29, 0xa0, 0xea, 0x67,
-  0xc5, 0x6d, 0x5e, 0x95, 0x05, 0x18, 0xca, 0x6e, 0xd3, 0x2a, 0x47, 0xb8,
-  0xbf, 0xf7, 0xed, 0xd9, 0xdb, 0xe3, 0x9e, 0xef, 0x16, 0xb9, 0xca, 0xc5,
-  0x97, 0x4e, 0xeb, 0xd7, 0x75, 0x54, 0xeb, 0x6a, 0x46, 0xfc, 0x86, 0xe6,
-  0x4e, 0x37, 0x4a, 0x0e, 0x2d, 0xeb, 0xad, 0x9c, 0x24, 0x52, 0xeb, 0x35,
-  0x4a, 0x6e, 0x74, 0x49, 0xc2, 0x01, 0xc8, 0xe5, 0xdc, 0x80, 0x7c, 0xde,
-  0x6d, 0xb0, 0x10, 0x89, 0x03, 0x3f, 0x82, 0x35, 0x10, 0x41, 0xea, 0x5c,
-  0xfa, 0x75, 0x2b, 0x12, 0xaf, 0xb6, 0x05, 0x69, 0xfa, 0xbc, 0x01, 0x56,
-  0x95, 0x2e, 0xdc, 0x9c, 0xdf, 0x93, 0x61, 0xb3, 0xd9, 0xda, 0x75, 0xc9,
-  0x66, 0x4d, 0xc6, 0x78, 0xb3, 0xa9, 0xd3, 0x0b, 0xd4, 0xa8, 0x93, 0x00,
-  0x61, 0x29, 0xb1, 0x15, 0x9f, 0xe6, 0x5d, 0xcd, 0x9f, 0x70, 0xad, 0x73,
-  0xe3, 0xee, 0xf4, 0x1d, 0xf0, 0xe9, 0x0b, 0x8a, 0xd2, 0x86, 0x5c, 0x25,
-  0xa9, 0x4b, 0xe6, 0x69, 0x57, 0x21, 0x6b, 0x23, 0x0a, 0x88, 0x31, 0x35,
-  0x74, 0x2c, 0x9a, 0xcf, 0x97, 0x13, 0x61, 0x8d, 0x71, 0xb1, 0x55, 0xc1,
-  0x54, 0x0a, 0xf5, 0x00, 0xdf, 0x52, 0xbc, 0x14, 0x85, 0x77, 0x3f, 0x53,
-  0x93, 0x2b, 0xe8, 0xca, 0xfa, 0xcc, 0x49, 0xa7, 0x9c, 0x4d, 0xb9, 0x51,
-  0x0e, 0x88, 0x2e, 0xdc, 0x02, 0x2c, 0xf5, 0x53, 0x7d, 0xa5, 0x91, 0x16,
-  0x37, 0x71, 0xa0, 0x8c, 0xb2, 0x31, 0xec, 0x40, 0x29, 0x76, 0xc9, 0x98,
-  0xc6, 0x8f, 0x89, 0xe0, 0x2c, 0xc3, 0x8f, 0x92, 0xe1, 0x85, 0x4a, 0xf2,
-  0x41, 0x3f, 0x91, 0xf9, 0x74, 0xbc, 0xfc, 0xa0, 0x5d, 0x23, 0x8c, 0x0e,
-  0x5b, 0x36, 0xf6, 0xe6, 0x2a, 0xa6, 0x7c, 0x31, 0x12, 0xa5, 0xae, 0x30,
-  0x75, 0xc6, 0x4c, 0x6c, 0x3d, 0x92, 0x66, 0x70, 0xec, 0xda, 0x21, 0xfa,
-  0x83, 0x5b, 0x24, 0x29, 0x0a, 0xa5, 0x3c, 0xb3, 0x6b, 0xd8, 0x35, 0x59,
-  0x89, 0x99, 0x60, 0xb5, 0xca, 0xef, 0x22, 0xa1, 0x38, 0xab, 0xa5, 0x50,
-  0x92, 0x7f, 0x23, 0xfd, 0x90, 0xfe, 0xa9, 0xc1, 0x63, 0x29, 0x2b, 0x02,
-  0xc0, 0x7e, 0x59, 0x83, 0x7a, 0xaf, 0xa9, 0xd2, 0x89, 0xfb, 0xcb, 0x20,
-  0xad, 0x27, 0x79, 0xae, 0x24, 0xe5, 0x14, 0x27, 0xcc, 0x08, 0x1a, 0x1b,
-  0x25, 0x34, 0xb1, 0x5e, 0x7b, 0xa5, 0x06, 0x9e, 0x96, 0xec, 0xe4, 0x65,
-  0xec, 0x09, 0x57, 0x70, 0x05, 0x92, 0x85, 0xfc, 0x52, 0xae, 0x72, 0x47,
-  0x8c, 0xb7, 0x5d, 0x29, 0xce, 0x56, 0xd8, 0xb7, 0xc6, 0x04, 0xdf, 0xf3,
-  0x6d, 0x70, 0x9d, 0x82, 0x01, 0x15, 0x01, 0xaa, 0x1b, 0xdc, 0xa2, 0xe6,
-  0x99, 0xfd, 0xe1, 0x9a, 0xc2, 0xac, 0x7e, 0x24, 0xe8, 0x79, 0xc7, 0x42,
-  0x61, 0x7a, 0x9e, 0x98, 0x7d, 0x32, 0x32, 0xfa, 0x93, 0x56, 0x74, 0xe1,
-  0x25, 0x38, 0x3c, 0x3d, 0x7f, 0x97, 0x80, 0x16, 0x89, 0x6b, 0x80, 0xd7,
-  0x5c, 0xd6, 0x01, 0x3f, 0x86, 0xae, 0x0c, 0x83, 0x39, 0xc4, 0x7d, 0xda,
-  0x2a, 0x4f, 0x57, 0x11, 0x0b, 0x8b, 0x61, 0x6e, 0x05, 0x58, 0x41, 0xd4,
-  0x7e, 0x11, 0xed, 0x4f, 0x6d, 0x8c, 0xee, 0x70, 0xcc, 0xf7, 0xbc, 0xcf,
-  0x42, 0xd2, 0xa2, 0x3a, 0xb7, 0x36, 0x8e, 0xb7, 0xbb, 0xbc, 0x52, 0x84,
-  0x96, 0x81, 0xea, 0x1a, 0x08, 0xf5, 0x26, 0xb3, 0xdc, 0x53, 0x62, 0xdc,
-  0x59, 0x2e, 0x35, 0xa5, 0x65, 0x67, 0xb4, 0x06, 0x98, 0x06, 0x34, 0xa1,
-  0xb9, 0x7e, 0x80, 0xf5, 0xa8, 0x58, 0x14, 0x41, 0xfe, 0xb9, 0x9d, 0xef,
-  0xa8, 0x29, 0x1a, 0x40, 0x8e, 0x1f, 0x95, 0x24, 0x46, 0xeb, 0x31, 0x5c,
-  0xb3, 0xc4, 0xef, 0xfa, 0xfc, 0xd9, 0xf1, 0x92, 0x64, 0x44, 0xb7, 0x26,
-  0x35, 0xaf, 0x2f, 0xeb, 0x4e, 0xfc, 0x04, 0x7d, 0x4f, 0x1c, 0x61, 0x4c,
-  0x7c, 0x43, 0x8c, 0x5c, 0x59, 0x3a, 0x37, 0xca, 0x41, 0xa1, 0x69, 0x03,
-  0xe4, 0xfe, 0x25, 0x70, 0x67, 0x77, 0x2a, 0x97, 0xa9, 0x48, 0x2d, 0xa7,
-  0x34, 0x74, 0x52, 0x09, 0xf8, 0x1b, 0x80, 0xb2, 0x71, 0xe3, 0xd2, 0x7a,
-  0x94, 0xe8, 0xba, 0x25, 0x46, 0x34, 0x82, 0xa3, 0x35, 0x6d, 0x98, 0x7d,
-  0x94, 0x1b, 0xb1, 0xd5, 0xed, 0xcc, 0x04, 0x4c, 0x6e, 0x96, 0xc5, 0x47,
-  0xd3, 0x85, 0x30, 0x83, 0x55, 0x81, 0xbf, 0x39, 0x0a, 0x90, 0xa6, 0xcc,
-  0x9b, 0x2b, 0xd9, 0xe8, 0x52, 0x3f, 0xda, 0x28, 0x7c, 0xb7, 0x70, 0xe6,
-  0x09, 0x0f, 0x68, 0xcb, 0x06, 0x8b, 0xf5, 0x6e, 0x6a, 0x4b, 0x1e, 0xa5,
-  0x8d, 0x9b, 0xc0, 0x28, 0xb8, 0xdd, 0xad, 0xb4, 0xd4, 0x9e, 0x64, 0xcb,
-  0xe4, 0xda, 0x43, 0x56, 0xb1, 0x2e, 0xa7, 0xac, 0x3f, 0xe4, 0xa4, 0x11,
-  0x4b, 0x24, 0x10, 0x88, 0xcb, 0x9a, 0x73, 0xc2, 0x64, 0x59, 0x41, 0xb7,
-  0xe1, 0x51, 0xaa, 0x47, 0x7a, 0xd2, 0x4e, 0xa7, 0x5e, 0xb7, 0x0f, 0xc4,
-  0x6b, 0xeb, 0x52, 0xaf, 0x05, 0x90, 0x52, 0xbb, 0x22, 0x8b, 0x54, 0xf6,
-  0xa8, 0x55, 0x6f, 0x25, 0x22, 0xb9, 0x5c, 0x62, 0x57, 0x56, 0xd8, 0xc6,
-  0xe7, 0x74, 0x52, 0x45, 0x1e, 0xfc, 0x13, 0x67, 0xc9, 0x8d, 0xc5, 0x9b,
-  0x28, 0xfb, 0xc3, 0xce, 0x24, 0x15, 0x2b, 0xe5, 0xa1, 0x5f, 0xe0, 0xea,
-  0x9d, 0x91, 0x3e, 0x24, 0x0a, 0x3d, 0x49, 0xf8, 0xae, 0x2b, 0x07, 0x75,
-  0xa4, 0x5d, 0xb7, 0xd7, 0x55, 0xf2, 0x48, 0x41, 0xd8, 0x96, 0x64, 0xef,
-  0x48, 0xee, 0x99, 0xff, 0x74, 0x9b, 0x7b, 0xb4, 0x0c, 0x84, 0x92, 0x62,
-  0x0d, 0x78, 0x65, 0xf7, 0x5b, 0xe1, 0xe1, 0xfa, 0xf5, 0x42, 0xd0, 0x02,
-  0x5a, 0xad, 0xb4, 0x8b, 0xc9, 0xc1, 0xa2, 0x25, 0x06, 0x15, 0x21, 0xf4,
-  0xfb, 0x08, 0x41, 0xfa, 0x9e, 0x74, 0x39, 0x9f, 0x46, 0xd3, 0xee, 0x75,
-  0x69, 0xa5, 0xde, 0x91, 0x9c, 0x01, 0x5a, 0x0b, 0xe5, 0xfb, 0x38, 0x79,
-  0x6d, 0xf6, 0x18, 0xa9, 0xac, 0xe4, 0xb9, 0xfd, 0xfa, 0x3e, 0x59, 0xb1,
-  0xb8, 0x00, 0x35, 0xdb, 0xf8, 0x2e, 0xec, 0x7c, 0x2a, 0x22, 0xeb, 0x93,
-  0x31, 0x11, 0x3b, 0xdb, 0xd0, 0xcb, 0x9a, 0xe0, 0xe0, 0xbb, 0x10, 0xd9,
-  0xc7, 0xfd, 0x12, 0xa4, 0x52, 0x22, 0xf5, 0xf6, 0x66, 0x69, 0x46, 0x4b,
-  0x2b, 0xcd, 0xf5, 0xd5, 0x6c, 0x2d, 0xeb, 0x2a, 0x03, 0x60, 0x91, 0x3a,
-  0xec, 0xf5, 0x38, 0x60, 0x17, 0x63, 0x5f, 0x76, 0x9d, 0x99, 0x83, 0xc8,
-  0x99, 0x43, 0xe3, 0xaa, 0xfc, 0x98, 0xf1, 0xa6, 0x83, 0x89, 0x01, 0xba,
-  0x1c, 0x55, 0xa4, 0x38, 0xf4, 0x98, 0xcf, 0xa6, 0x16, 0xc0, 0x18, 0xd1,
-  0x67, 0xa9, 0xf4, 0x8a, 0xe4, 0xd9, 0x3b, 0x69, 0x98, 0xbb, 0x34, 0x77,
-  0xa5, 0x83, 0xe6, 0xe5, 0x9a, 0x10, 0x3b, 0x57, 0xfc, 0xe4, 0xcb, 0x16,
-  0x70, 0xc5, 0x66, 0x63, 0xc7, 0xbe, 0x75, 0xee, 0x2d, 0x5c, 0x73, 0xf5,
-  0xc9, 0xb7, 0xab, 0xee, 0x9f, 0xfc, 0xc8, 0x92, 0x3e, 0xbe, 0xa2, 0x8a,
-  0xd9, 0x4b, 0xf0, 0x84, 0x25, 0x2f, 0xcd, 0xa6, 0x62, 0x9f, 0x18, 0x05,
-  0xb5, 0xba, 0xee, 0x2e, 0x54, 0x06, 0x1a, 0xa8, 0xe9, 0x31, 0xe5, 0x4c,
-  0xc2, 0x84, 0x2d, 0x37, 0xd2, 0xc5, 0x39, 0xcd, 0x61, 0xea, 0xaa, 0x75,
-  0x09, 0x13, 0x33, 0x38, 0x06, 0xcc, 0x86, 0x09, 0x0f, 0xb9, 0xf3, 0xe3,
-  0xb0, 0x05, 0x0a, 0x25, 0x9c, 0x56, 0x07, 0x44, 0x2b, 0x79, 0xed, 0xc0,
-  0x6a, 0xff, 0x46, 0xa0, 0x60, 0xa3, 0xd4, 0x36, 0x84, 0x08, 0xe3, 0x2f,
-  0x05, 0x6a, 0x27, 0xd7, 0xc8, 0xb0, 0x59, 0x23, 0x4c, 0x06, 0x61, 0x89,
-  0x44, 0xa8, 0x56, 0x9a, 0x7f, 0x27, 0x30, 0x49, 0x74, 0x72, 0x4c, 0x56,
-  0x4b, 0xc4, 0x22, 0x54, 0xda, 0x04, 0x8c, 0x31, 0x17, 0x76, 0x59, 0x86,
-  0x6e, 0x89, 0x79, 0x9d, 0x2a, 0x2c, 0x4b, 0x09, 0x09, 0x2d, 0xbf, 0x59,
-  0xe4, 0xd4, 0x53, 0x8f, 0x84, 0x25, 0x4f, 0x2b, 0xf9, 0xe8, 0x8f, 0x6c,
-  0x79, 0x8c, 0x96, 0x1e, 0x0e, 0x0b, 0x85, 0x0d, 0xd7, 0x08, 0x6f, 0x32,
-  0x7a, 0x93, 0xb8, 0x87, 0xfa, 0xde, 0xdf, 0x0f, 0x3e, 0xdf, 0xd5, 0x8c,
-  0x77, 0x8a, 0x76, 0xf9, 0xcf, 0xa0, 0xe2, 0x6b, 0x44, 0x8f, 0xa0, 0xe7,
-  0xcc, 0x4f, 0xed, 0xa3, 0xa1, 0x0c, 0x04, 0xd5, 0x21, 0x41, 0x5f, 0x9e,
-  0x50, 0xd0, 0xbb, 0x4d, 0x3b, 0xe4, 0xdc, 0x4a, 0xcd, 0x0a, 0x2f, 0x42,
-  0x1d, 0x43, 0x7e, 0x4e, 0xbd, 0xab, 0x47, 0x16, 0x83, 0x71, 0xeb, 0x15,
-  0x95, 0xdb, 0x04, 0x8f, 0x59, 0xc4, 0x1f, 0x41, 0xaf, 0x45, 0x9c, 0x18,
-  0x0c, 0x66, 0x93, 0xed, 0x66, 0xcb, 0x9b, 0xa0, 0x98, 0x06, 0x6f, 0x6d,
-  0xac, 0xa3, 0x39, 0x30, 0x3d, 0x70, 0xe1, 0xdb, 0xda, 0xbd, 0xf9, 0xda,
-  0x8c, 0xb5, 0xbd, 0x17, 0xc3, 0xa7, 0xad, 0x73, 0xd2, 0xcc, 0xe6, 0x83,
-  0xbb, 0xf1, 0x03, 0xb1, 0x8f, 0xcb, 0xd3, 0xb7, 0xc9, 0x7c, 0x89, 0xf2,
-  0xa1, 0x42, 0xdd, 0x7a, 0x3f, 0xcb, 0xd4, 0x0d, 0x4d, 0xee, 0x1d, 0x76,
-  0x17, 0xde, 0xc0, 0xec, 0x0c, 0xf1, 0xdc, 0x11, 0x27, 0xbf, 0xcd, 0x20,
-  0x15, 0xab, 0x5f, 0x58, 0xca, 0x12, 0x6a, 0x11, 0xee, 0x6c, 0xca, 0x00,
-  0x9f, 0xe5, 0xd1, 0x34, 0x1f, 0x45, 0xd9, 0x66, 0x9f, 0xb2, 0xc9, 0x12,
-  0x81, 0x6a, 0x52, 0x10, 0x89, 0xf6, 0x67, 0xbd, 0x03, 0xdd, 0x73, 0x9a,
-  0x8b, 0x9b, 0xdc, 0xfc, 0xa0, 0x3b, 0x19, 0xae, 0xaa, 0x87, 0x0c, 0x9e,
-  0x47, 0x1f, 0xb8, 0xcf, 0x18, 0x16, 0x85, 0xdf, 0xb5, 0x7f, 0x15, 0xc4,
-  0x8a, 0x01, 0xee, 0xa7, 0x0b, 0xd1, 0xec, 0xa7, 0xfc, 0xba, 0x60, 0x25,
-  0xe0, 0x6d, 0x3e, 0xa9, 0xca, 0xba, 0xbc, 0x62, 0xd4, 0x9a, 0xa7, 0x1d,
-  0x9c, 0x9c, 0x8c, 0x92, 0xbb, 0x6c, 0xac, 0x59, 0xb2, 0xc3, 0xd0, 0x99,
-  0xcc, 0x52, 0x84, 0x02, 0x24, 0x55, 0x9e, 0x35, 0x34, 0x6b, 0x1a, 0x12,
-  0x25, 0x62, 0x1f, 0x14, 0xee, 0x1d, 0x64, 0xc5, 0xb5, 0x31, 0x57, 0xa1,
-  0xc4, 0x53, 0xc9, 0x9a, 0x19, 0xae, 0xa6, 0x45, 0x56, 0x46, 0x02, 0xe3,
-  0xdc, 0x01, 0xbd, 0x56, 0x78, 0x9f, 0xe0, 0x0e, 0x1f, 0xa7, 0x52, 0x7c,
-  0x85, 0xfd, 0x03, 0x46, 0xec, 0x90, 0x9a, 0x22, 0x8e, 0xcb, 0x8f, 0xe4,
-  0x32, 0x0b, 0x32, 0x57, 0xb4, 0xfc, 0x74, 0xbb, 0x82, 0x06, 0x8a, 0xd7,
-  0x4c, 0xcb, 0x0a, 0x68, 0x24, 0xaf, 0x30, 0x02, 0x55, 0xb4, 0x59, 0x56,
-  0xe4, 0x33, 0x06, 0xe7, 0x64, 0x28, 0x4f, 0xef, 0x6e, 0x4a, 0x2e, 0x23,
-  0x83, 0x69, 0xa6, 0xab, 0x09, 0x39, 0xb7, 0x9c, 0xe4, 0x23, 0xbc, 0xdb,
-  0x52, 0xcf, 0x51, 0xef, 0x1b, 0x7f, 0xa1, 0xa2, 0xfc, 0x74, 0xb2, 0x1e,
-  0x2e, 0xc5, 0x54, 0xdc, 0x33, 0xaf, 0xf3, 0xeb, 0x15, 0x55, 0x9b, 0xd8,
-  0x75, 0xa4, 0x85, 0x70, 0x59, 0x71, 0xe4, 0x1e, 0xc9, 0xa5, 0x59, 0xf1,
-  0x29, 0x0d, 0xaa, 0x91, 0x45, 0x4a, 0xa2, 0xf3, 0x7d, 0x17, 0xdb, 0x7d,
-  0xbf, 0x08, 0xc1, 0xf2, 0xcb, 0xaa, 0x44, 0xad, 0x55, 0xff, 0xbc, 0xbe,
-  0xd8, 0x23, 0x10, 0x8d, 0xc1, 0x3a, 0x2d, 0x2f, 0x20, 0xa4, 0x78, 0x48,
-  0xe7, 0x8b, 0x7b, 0xec, 0x35, 0xa4, 0x15, 0x01, 0xa6, 0x78, 0x51, 0xd9,
-  0xa9, 0x2d, 0x59, 0x4a, 0xeb, 0xd3, 0x8e, 0x79, 0xf9, 0x67, 0xb7, 0xa4,
-  0x1f, 0xec, 0x0f, 0xc6, 0x59, 0x4a, 0x95, 0x1a, 0x5e, 0x36, 0xa4, 0x31,
-  0xc5, 0xd3, 0x54, 0x38, 0x35, 0x23, 0x92, 0xa8, 0xf2, 0x35, 0xbf, 0x7b,
-  0x09, 0x65, 0x8b, 0xd6, 0xf6, 0xec, 0xf0, 0xfd, 0xe5, 0xb7, 0xc9, 0xfe,
-  0x70, 0xf7, 0x51, 0x69, 0x2a, 0x90, 0x08, 0xad, 0x36, 0x74, 0xf5, 0xe8,
-  0x44, 0x95, 0xc5, 0x5f, 0x97, 0x45, 0x9b, 0x05, 0x3e, 0xe6, 0xa5, 0x17,
-  0x05, 0x4a, 0xef, 0x5f, 0x8a, 0x4b, 0x74, 0x71, 0xd6, 0x7e, 0xa9, 0x90,
-  0xc1, 0x00, 0x56, 0x5c, 0xf5, 0x50, 0x40, 0xb3, 0x8e, 0xf2, 0x75, 0xb4,
-  0x3a, 0x2b, 0x74, 0x42, 0x8a, 0xd8, 0x46, 0x3d, 0x06, 0xf2, 0xf3, 0xf3,
-  0xa1, 0xb2, 0x45, 0xa7, 0xa0, 0xc8, 0x5e, 0xbc, 0x39, 0xea, 0x34, 0xf7,
-  0xfc, 0xb3, 0x67, 0xbb, 0xbf, 0x23, 0x56, 0xaf, 0x24, 0x07, 0x89, 0x38,
-  0x12, 0xa2, 0x34, 0x3a, 0x3f, 0x54, 0x94, 0xc6, 0xaa, 0xae, 0x86, 0x52,
-  0x1e, 0xf2, 0x33, 0xed, 0xeb, 0x66, 0x4a, 0xb8, 0x2d, 0x2d, 0x6a, 0xc3,
-  0xa8, 0x0c, 0x1a, 0xd1, 0x7f, 0xfe, 0x57, 0x98, 0x65, 0xfb, 0x97, 0x9f,
-  0x11, 0x17, 0x40, 0x69, 0x2c, 0x0b, 0xf9, 0x57, 0x29, 0x53, 0xbb, 0xfb,
-  0x98, 0xce, 0xf3, 0xe6, 0x1f, 0x36, 0x13, 0x5b, 0xbb, 0x02, 0x69, 0x59,
-  0x41, 0xac, 0x5a, 0xc1, 0x9d, 0x4a, 0x57, 0x2c, 0xbd, 0xd3, 0x65, 0xad,
-  0xa4, 0x18, 0xb1, 0x55, 0x09, 0x74, 0x16, 0xa4, 0xa6, 0xc3, 0x74, 0x55,
-  0x01, 0x1a, 0x2d, 0xc3, 0x20, 0x25, 0x0d, 0xd4, 0x61, 0x4e, 0x6e, 0x72,
-  0x06, 0x59, 0x61, 0x04, 0xa4, 0x8c, 0x22, 0x99, 0x39, 0x2f, 0x56, 0x38,
-  0x30, 0x05, 0x4a, 0xf4, 0x9f, 0x66, 0x05, 0xfa, 0xcd, 0x5d, 0xf9, 0x5f,
-  0x6d, 0x67, 0xa6, 0x51, 0x31, 0xa8, 0xbf, 0x1f, 0xfe, 0xb0, 0x47, 0xe9,
-  0x41, 0xbd, 0x6e, 0x13, 0x8c, 0xf4, 0xb7, 0xab, 0x6a, 0x35, 0xa4, 0x75,
-  0x94, 0xaa, 0xfa, 0x41, 0x4a, 0x3e, 0xee, 0x93, 0xda, 0xf8, 0x5f, 0xa8,
-  0xdc, 0xfd, 0x97, 0xbd, 0xc1, 0xb3, 0x9f, 0xed, 0x47, 0xff, 0xb0, 0xf7,
-  0xe1, 0x0f, 0xfb, 0xbd, 0x58, 0xf6, 0x97, 0xe3, 0x02, 0xf0, 0xa0, 0x8a,
-  0xa4, 0xd1, 0x16, 0xf7, 0x92, 0xb2, 0x21, 0xa1, 0x46, 0x57, 0x32, 0x0b,
-  0x05, 0xe1, 0x22, 0x84, 0x49, 0xe4, 0xba, 0x1a, 0xb2, 0xc7, 0xd8, 0xa9,
-  0xaa, 0x5a, 0x36, 0x4b, 0x85, 0xc3, 0x5d, 0xc9, 0xef, 0x2b, 0x63, 0x02,
-  0x9d, 0x10, 0x49, 0x26, 0x08, 0x84, 0x61, 0x91, 0xb5, 0xb7, 0x07, 0xd1,
-  0xa7, 0x28, 0xe7, 0x46, 0x38, 0x1b, 0x02, 0x90, 0x32, 0x17, 0x5a, 0x9a,
-  0x74, 0x26, 0x7d, 0x3c, 0xb6, 0x3f, 0x29, 0xb2, 0x20, 0x2b, 0x4b, 0x53,
-  0x38, 0xd9, 0x7c, 0x53, 0x71, 0x50, 0xb6, 0x22, 0x00, 0x7c, 0x41, 0xf0,
-  0xc8, 0x35, 0x08, 0x97, 0xe0, 0x48, 0x07, 0x18, 0xa4, 0xbf, 0x82, 0x39,
-  0xcc, 0x43, 0xdc, 0xf0, 0xb5, 0x62, 0x1a, 0xcc, 0x5d, 0x11, 0x5f, 0xfe,
-  0x99, 0x04, 0x61, 0x28, 0xe1, 0x1f, 0x35, 0x9b, 0xca, 0x88, 0x2c, 0x4b,
-  0xc7, 0x54, 0xd1, 0xaa, 0x55, 0x1d, 0x04, 0xe5, 0xbd, 0xe9, 0xd2, 0x19,
-  0x3b, 0xf6, 0xa9, 0xb4, 0x5e, 0x31, 0x21, 0xfe, 0x54, 0x78, 0x93, 0x20,
-  0x13, 0x85, 0xc9, 0x59, 0x5f, 0xcc, 0x67, 0x40, 0x28, 0xd2, 0x26, 0x1b,
-  0x78, 0x29, 0xb2, 0xc8, 0xc8, 0xc5, 0x4f, 0x35, 0x65, 0x70, 0xc2, 0x95,
-  0x42, 0x10, 0xe0, 0x1b, 0x04, 0x51, 0x49, 0xba, 0xa2, 0xa6, 0xf7, 0x46,
-  0x1a, 0x32, 0x1b, 0xe7, 0xd0, 0x26, 0x42, 0xa8, 0x8f, 0x40, 0xa4, 0x8d,
-  0xd9, 0x6a, 0x9b, 0x83, 0xcd, 0x64, 0xcb, 0x5a, 0x76, 0xd3, 0xb4, 0xbe,
-  0xd9, 0x8e, 0x39, 0x22, 0x9d, 0xef, 0xcf, 0x09, 0xaa, 0xb1, 0xb8, 0x1e,
-  0xe8, 0xce, 0x64, 0x09, 0xb5, 0xee, 0xba, 0x3e, 0x43, 0x7c, 0x85, 0xf1,
-  0x82, 0x03, 0x0f, 0xe4, 0xd2, 0xfa, 0xd9, 0x00, 0xee, 0x0d, 0xfc, 0x3c,
-  0x19, 0xfc, 0x47, 0x78, 0x2f, 0xc8, 0xa3, 0x0c, 0xf9, 0x1a, 0x70, 0x46,
-  0x94, 0xbb, 0x48, 0x29, 0x9a, 0x97, 0xbc, 0x5c, 0xdc, 0x54, 0x46, 0xfd,
-  0x0b, 0x13, 0xaf, 0x46, 0xdf, 0x26, 0xcc, 0x80, 0x68, 0x9e, 0xe2, 0x67,
-  0xec, 0xee, 0x58, 0x38, 0x96, 0xbf, 0xdf, 0x91, 0x34, 0x8f, 0xd0, 0x24,
-  0x83, 0xb4, 0x1e, 0x04, 0xaa, 0x0e, 0xaa, 0x6b, 0x7b, 0xb5, 0x34, 0x48,
-  0xf3, 0x24, 0x83, 0x84, 0x90, 0x8c, 0x14, 0x5b, 0x2b, 0x26, 0x28, 0x37,
-  0x99, 0xec, 0x0c, 0x87, 0x3b, 0x24, 0xb3, 0x76, 0xcc, 0x1f, 0x62, 0xce,
-  0x00, 0x77, 0xdb, 0x2d, 0x7f, 0x63, 0x76, 0x39, 0x7d, 0x8b, 0x7c, 0x40,
-  0x52, 0x2d, 0xce, 0x39, 0xcc, 0xeb, 0xbf, 0x2d, 0x81, 0x45, 0xad, 0x8c,
-  0x3a, 0x59, 0x71, 0x5e, 0xef, 0xbc, 0x73, 0x49, 0x06, 0x45, 0x67, 0xd8,
-  0xb9, 0x5e, 0x0b, 0x7f, 0x44, 0x73, 0xd3, 0xc9, 0x37, 0x63, 0x30, 0x39,
-  0x30, 0xc2, 0x79, 0xa3, 0xd4, 0x5d, 0x48, 0xa9, 0x4e, 0xd7, 0x1a, 0x74,
-  0x4f, 0xf7, 0xdb, 0x8e, 0x8f, 0x45, 0x5e, 0x18, 0x13, 0xc3, 0x28, 0xc7,
-  0xa0, 0x65, 0x24, 0x2c, 0x5e, 0x98, 0xd0, 0xc3, 0xde, 0xb4, 0xb0, 0xfc,
-  0x88, 0x4b, 0xa7, 0xf5, 0xca, 0xc9, 0xba, 0xfa, 0x36, 0x1c, 0xcd, 0xdf,
-  0x0a, 0x2e, 0x4b, 0xfe, 0xc8, 0x36, 0x35, 0xe1, 0xa1, 0x75, 0x17, 0x99,
-  0x2d, 0x92, 0x20, 0x14, 0x30, 0x29, 0x43, 0x81, 0xa0, 0xbd, 0x0b, 0x88,
-  0x39, 0xe6, 0xf6, 0xb0, 0x4e, 0x07, 0x7b, 0xa0, 0xbc, 0x2e, 0x98, 0x31,
-  0x13, 0xb3, 0xa5, 0x99, 0xf9, 0xd7, 0xc7, 0x17, 0xa2, 0xa1, 0x20, 0x4b,
-  0xdc, 0x15, 0x48, 0x0c, 0xeb, 0x80, 0x93, 0x25, 0xf3, 0xfc, 0xa9, 0xad,
-  0xa0, 0x59, 0xdf, 0xa4, 0xfb, 0xcf, 0x9e, 0x4b, 0xb7, 0x95, 0x42, 0x0b,
-  0x86, 0xd2, 0x26, 0xff, 0x6a, 0x67, 0x87, 0xc3, 0xe6, 0x64, 0x9d, 0x06,
-  0x72, 0x21, 0x95, 0x3a, 0xa0, 0x9b, 0x5f, 0x6c, 0x46, 0x01, 0x73, 0xd6,
-  0x77, 0xab, 0x65, 0xfa, 0x10, 0x8b, 0x03, 0x37, 0xa5, 0x4f, 0xa9, 0xdf,
-  0x6f, 0x95, 0x7a, 0x47, 0x1e, 0x4b, 0xba, 0x86, 0x69, 0x5e, 0x28, 0x27,
-  0xa4, 0x1a, 0x4f, 0xa2, 0xb9, 0xa9, 0xc3, 0xe4, 0xd0, 0x9f, 0x1d, 0x00,
-  0xd0, 0x50, 0x1c, 0x72, 0x12, 0xf2, 0x9a, 0x28, 0xfc, 0x8d, 0x16, 0xc4,
-  0x6b, 0x59, 0x40, 0xa0, 0x66, 0xd3, 0x81, 0xec, 0x8f, 0x76, 0x9e, 0x06,
-  0x5e, 0xd8, 0x27, 0x83, 0xc5, 0x5c, 0x8e, 0x83, 0x34, 0x11, 0xf9, 0xa6,
-  0x02, 0xa4, 0xd8, 0xa4, 0xf7, 0x60, 0x82, 0xee, 0xb8, 0x98, 0xdb, 0xa0,
-  0xe2, 0x00, 0x90, 0x37, 0x01, 0x71, 0x3e, 0x5e, 0xa5, 0x53, 0x21, 0x12,
-  0x1c, 0xb3, 0x2e, 0x39, 0x73, 0x31, 0x99, 0xb5, 0xa5, 0xd8, 0x4f, 0x70,
-  0x0e, 0xcc, 0x56, 0xd8, 0xa1, 0x7d, 0x20, 0xd6, 0x46, 0x40, 0x7d, 0x4f,
-  0x4e, 0xe6, 0x17, 0xc3, 0xdd, 0x83, 0xe4, 0x6c, 0x91, 0x15, 0x66, 0xfe,
-  0xfb, 0xc9, 0x37, 0xc5, 0x92, 0xd6, 0x83, 0x06, 0xfd, 0xcd, 0xe8, 0xbb,
-  0x20, 0xdb, 0x8a, 0xde, 0x78, 0xfa, 0x84, 0xde, 0x78, 0x37, 0xe2, 0xa7,
-  0xee, 0xca, 0xd9, 0x15, 0x55, 0x74, 0x3e, 0xba, 0x4f, 0xcd, 0x1f, 0xb1,
-  0xc7, 0x3f, 0xa3, 0xc7, 0xcd, 0xc6, 0x9b, 0x36, 0xb3, 0x3a, 0xf6, 0x7b,
-  0x74, 0xe0, 0xbc, 0x9c, 0xa5, 0x15, 0x3c, 0xd5, 0xbc, 0xf9, 0xd6, 0xf4,
-  0xf8, 0xe9, 0xd3, 0x48, 0x8f, 0xfb, 0x2b, 0x3a, 0x34, 0xfc, 0xc7, 0x7b,
-  0x74, 0x06, 0xdf, 0x1f, 0xfd, 0x6d, 0x9c, 0x4e, 0x3e, 0x62, 0x27, 0x02,
-  0xd5, 0x6e, 0xb9, 0x66, 0x7f, 0x4f, 0x69, 0xce, 0x54, 0x04, 0x8f, 0x29,
-  0x69, 0x53, 0x81, 0x8f, 0xad, 0x41, 0x8e, 0xfb, 0x67, 0xfb, 0x4f, 0xf6,
-  0x76, 0x9e, 0x0f, 0x9f, 0x0e, 0xf7, 0x2d, 0xca, 0xcc, 0x6c, 0xac, 0x5b,
-  0x2a, 0xa0, 0x40, 0x11, 0xfd, 0x55, 0xf5, 0xe7, 0xf2, 0xc2, 0xb4, 0xe3,
-  0xd5, 0xad, 0x16, 0xa2, 0x6b, 0x87, 0x2f, 0x49, 0x89, 0x79, 0xc2, 0xcf,
-  0x55, 0x1a, 0x46, 0xea, 0x87, 0x11, 0x81, 0x03, 0x75, 0x42, 0xbd, 0x1d,
-  0x54, 0xec, 0x14, 0xc0, 0xcf, 0x71, 0x6e, 0xac, 0xe6, 0xa6, 0x5c, 0xc2,
-  0xad, 0x4e, 0x3e, 0x1c, 0x65, 0xdc, 0x86, 0x92, 0x84, 0x71, 0xd0, 0x11,
-  0x8b, 0x38, 0xc7, 0xb8, 0xf3, 0xc0, 0xf2, 0xba, 0x80, 0x14, 0xe7, 0x43,
-  0xe5, 0x5c, 0xbd, 0x98, 0x2b, 0x5d, 0x18, 0x63, 0x86, 0xab, 0x94, 0x7f,
-  0x6b, 0x6c, 0x8d, 0x5b, 0x38, 0x8e, 0x83, 0x3a, 0x6b, 0x52, 0xe8, 0x82,
-  0x54, 0x64, 0xeb, 0xfa, 0x57, 0xa4, 0x03, 0xa6, 0x11, 0x1e, 0x5e, 0xf9,
-  0x01, 0x67, 0x50, 0xb0, 0x0f, 0x04, 0xe3, 0x1e, 0x84, 0x69, 0xbf, 0x5e,
-  0x81, 0x3d, 0xb7, 0xe2, 0x42, 0x28, 0x4d, 0xf9, 0x4b, 0xec, 0xe2, 0x76,
-  0x58, 0x61, 0x3f, 0x13, 0x2d, 0xe6, 0x82, 0x79, 0xc0, 0x1f, 0x21, 0x8c,
-  0x14, 0x6d, 0x4a, 0x0a, 0xfe, 0x57, 0xa7, 0xe6, 0x9f, 0xde, 0x82, 0x41,
-  0x1e, 0x53, 0xa7, 0x2c, 0x9a, 0xb6, 0xf9, 0xab, 0x77, 0xd9, 0x93, 0xdf,
-  0x7e, 0x97, 0xed, 0x3f, 0x76, 0x97, 0xb9, 0x4d, 0x46, 0xe7, 0x6c, 0xcd,
-  0x16, 0xa3, 0x3d, 0xa6, 0x15, 0x91, 0xe3, 0xbb, 0xcc, 0xdf, 0x66, 0x30,
-  0x53, 0x63, 0x1b, 0xad, 0xb5, 0xcf, 0xec, 0x36, 0x5b, 0xb1, 0xcb, 0x98,
-  0xb7, 0x8a, 0xf7, 0xd8, 0xfa, 0x2d, 0xc6, 0x7b, 0x8c, 0xab, 0xd6, 0xae,
-  0xd9, 0x65, 0x6d, 0x37, 0xfc, 0xfa, 0x7d, 0xe6, 0xb6, 0xc3, 0xa3, 0x77,
-  0x99, 0x16, 0x34, 0x61, 0xa9, 0xb3, 0x62, 0x8b, 0xb5, 0xf6, 0xd8, 0x9a,
-  0xca, 0x6f, 0x7b, 0x2f, 0x62, 0xbb, 0xec, 0xc9, 0xaf, 0xde, 0x65, 0x4f,
-  0x7f, 0xfb, 0x5d, 0xf6, 0xe4, 0xff, 0xc9, 0xb2, 0xff, 0x76, 0xb2, 0x6c,
-  0xef, 0x97, 0xc9, 0xb2, 0xfd, 0x4e, 0x60, 0xd3, 0xa8, 0xab, 0xec, 0x6d,
-  0xfe, 0x8b, 0x7a, 0xfd, 0x0f, 0x76, 0x76, 0x7e, 0x86, 0xf3, 0xe4, 0x80,
-  0xee, 0xeb, 0x9f, 0x83, 0x32, 0x9e, 0x59, 0x27, 0xd3, 0x72, 0x74, 0x76,
-  0xf4, 0xdd, 0x48, 0x5c, 0xd6, 0xa2, 0x75, 0xa9, 0x56, 0xc6, 0x45, 0xe5,
-  0x41, 0x15, 0xc1, 0x25, 0xb7, 0x02, 0x5d, 0x9f, 0x4b, 0xfd, 0x25, 0x83,
-  0x4f, 0x7d, 0xeb, 0x3c, 0xa6, 0x1c, 0xff, 0x42, 0x71, 0x8e, 0x4c, 0xf8,
-  0xc6, 0xf9, 0xc5, 0xf0, 0x16, 0x48, 0xd3, 0xb5, 0x44, 0x7c, 0xba, 0xd3,
-  0xe5, 0xf5, 0x45, 0x3c, 0x1a, 0x85, 0x7b, 0x65, 0xab, 0xb9, 0xa9, 0x90,
-  0xda, 0x81, 0xc7, 0xb6, 0x2d, 0x39, 0xd8, 0x03, 0xbd, 0x93, 0x5e, 0x7d,
-  0x0b, 0x5a, 0xdc, 0x45, 0x95, 0xad, 0xa8, 0x9e, 0x7b, 0x79, 0xe3, 0xfd,
-  0x56, 0x5d, 0x68, 0x31, 0x6e, 0x0b, 0x21, 0x79, 0xf3, 0xe6, 0x9b, 0xde,
-  0x0b, 0xf2, 0xd1, 0xf3, 0x4f, 0x8c, 0x2f, 0xb5, 0x04, 0x2b, 0x33, 0xd4,
-  0xc8, 0x44, 0xc9, 0x07, 0xf9, 0x88, 0x6d, 0xa3, 0xd6, 0x4c, 0x1e, 0xaa,
-  0xdb, 0x50, 0x3f, 0x35, 0x4d, 0x06, 0xb0, 0x51, 0xfc, 0x22, 0xa5, 0xdf,
-  0xc8, 0x3f, 0x9e, 0xd1, 0x87, 0x11, 0x6b, 0xe5, 0x7f, 0xde, 0xe0, 0xdf,
-  0x8c, 0x2b, 0x60, 0x26, 0x29, 0x6f, 0x9d, 0x27, 0xd1, 0x89, 0xd6, 0x83,
-  0xc9, 0x7e, 0x07, 0x66, 0x38, 0x78, 0x57, 0x06, 0x0c, 0x49, 0x18, 0xb3,
-  0xab, 0x65, 0x12, 0x61, 0xcf, 0xf7, 0x8e, 0x35, 0x5a, 0x7e, 0xba, 0x22,
-  0x39, 0x26, 0x4b, 0x7c, 0xba, 0x49, 0xe5, 0x0e, 0xf0, 0x6b, 0x3d, 0xb9,
-  0x60, 0xa9, 0x2c, 0x41, 0x9f, 0xb9, 0x47, 0x43, 0x8c, 0x2f, 0xd5, 0x31,
-  0x90, 0x9e, 0xef, 0xed, 0x7e, 0x1e, 0x7a, 0x9b, 0xdf, 0x6b, 0x4a, 0x9b,
-  0x63, 0x5c, 0x04, 0x20, 0x02, 0xf0, 0xf2, 0xb1, 0xcb, 0xe4, 0x88, 0x7d,
-  0x34, 0x92, 0xf7, 0x46, 0x0e, 0x00, 0x4a, 0x39, 0x2e, 0xc5, 0x36, 0x44,
-  0xf9, 0xac, 0x6e, 0x19, 0x7a, 0x4e, 0xe5, 0xad, 0x21, 0x25, 0x85, 0x2e,
-  0x58, 0xc2, 0xfa, 0x81, 0xb4, 0x40, 0xc5, 0x60, 0x09, 0x36, 0x7d, 0xe5,
-  0xc8, 0xbb, 0xfe, 0xf8, 0x74, 0x97, 0xd6, 0x54, 0x1b, 0x49, 0xb9, 0x1c,
-  0x3b, 0xef, 0xb9, 0x3f, 0x3e, 0x49, 0x87, 0xff, 0x44, 0x36, 0xa6, 0x67,
-  0x6d, 0x57, 0xc2, 0x1f, 0xfa, 0x7c, 0xc2, 0xaf, 0x89, 0x32, 0x66, 0x30,
-  0x4e, 0xab, 0x48, 0x0a, 0x85, 0xdc, 0x04, 0xca, 0x34, 0xa2, 0x34, 0x1d,
-  0xfa, 0x16, 0x28, 0x2f, 0x80, 0xad, 0xe5, 0xf2, 0x5b, 0xf6, 0xe7, 0x49,
-  0xd8, 0x9c, 0xe7, 0xaa, 0xf7, 0xab, 0x83, 0xf6, 0x03, 0x82, 0xac, 0x74,
-  0xd6, 0xa7, 0x28, 0x5e, 0x84, 0x46, 0x89, 0x95, 0x87, 0xd6, 0x47, 0x88,
-  0xea, 0xea, 0xce, 0x73, 0x25, 0x30, 0x4f, 0xfd, 0x15, 0x9c, 0xf6, 0x16,
-  0x7f, 0x61, 0x7e, 0x4f, 0xd1, 0xd8, 0xd8, 0x6d, 0x56, 0x4f, 0xaa, 0x4c,
-  0x82, 0x23, 0x44, 0x76, 0x88, 0xc8, 0x2b, 0x31, 0x05, 0x9a, 0x9b, 0xec,
-  0x3a, 0xd3, 0xe4, 0x49, 0x3b, 0x6e, 0x25, 0xc8, 0x00, 0x2b, 0xc6, 0x30,
-  0x02, 0x4a, 0xf6, 0x40, 0x47, 0xb6, 0x5e, 0x6b, 0x2a, 0x24, 0x1a, 0xf4,
-  0xb2, 0x63, 0xd3, 0xb3, 0xd3, 0xc1, 0x9e, 0xc2, 0x30, 0x38, 0xda, 0x1a,
-  0x01, 0xa3, 0xc6, 0x91, 0x85, 0xb0, 0xb7, 0xbb, 0xff, 0x94, 0x59, 0x59,
-  0xec, 0xc7, 0xaa, 0x8e, 0xd1, 0x85, 0x3c, 0x5e, 0x3d, 0xc2, 0x2f, 0xf5,
-  0xf4, 0x7f, 0xf9, 0x20, 0x4a, 0xdf, 0xca, 0x89, 0x2b, 0x71, 0xb8, 0xd0,
-  0x19, 0x41, 0xd6, 0x06, 0x13, 0x26, 0x4f, 0x6e, 0xb2, 0xb9, 0x14, 0xf7,
-  0xf8, 0x85, 0xa5, 0xca, 0x3b, 0x7d, 0x62, 0xfc, 0xda, 0x55, 0xb3, 0x18,
-  0xce, 0xcb, 0xbf, 0x9b, 0xd9, 0x48, 0xa9, 0x5a, 0x58, 0xb0, 0x73, 0xcd,
-  0x25, 0x5d, 0xf0, 0xd4, 0x51, 0x08, 0xa2, 0xb0, 0x06, 0xab, 0x13, 0xb3,
-  0x89, 0x12, 0x5b, 0x73, 0x6a, 0x7a, 0x92, 0x1c, 0x99, 0x1e, 0x1f, 0x7f,
-  0x78, 0xff, 0x6e, 0xf4, 0xfe, 0xbc, 0x7b, 0x40, 0xcf, 0xcf, 0x2e, 0x2e,
-  0x8f, 0x5f, 0x7f, 0x38, 0xbf, 0x38, 0xbb, 0x3c, 0x3b, 0x3a, 0x3b, 0x4d,
-  0xb6, 0xf6, 0xb6, 0xd7, 0xe6, 0x62, 0x59, 0x6f, 0x89, 0xc7, 0xed, 0xa7,
-  0xfd, 0x67, 0xd1, 0x62, 0x7b, 0xb1, 0x45, 0xe3, 0x09, 0x5b, 0xfb, 0x41,
-  0x36, 0x40, 0x3b, 0x89, 0x90, 0xdd, 0x26, 0xb8, 0x85, 0x20, 0x7e, 0xd3,
-  0xe4, 0x7a, 0x49, 0xbb, 0xd9, 0x0f, 0xc7, 0x33, 0xaf, 0x65, 0xa0, 0x2d,
-  0x69, 0x3c, 0xd0, 0x4b, 0xe3, 0x59, 0xeb, 0x3a, 0x7c, 0xd6, 0x55, 0x2d,
-  0x68, 0x0d, 0xa0, 0x31, 0xba, 0x5d, 0x51, 0xaf, 0xdf, 0x16, 0xcc, 0xfc,
-  0x01, 0xde, 0x68, 0xfb, 0x06, 0x58, 0xf5, 0x25, 0x42, 0x83, 0xdc, 0x57,
-  0x56, 0x41, 0xcd, 0x95, 0x77, 0x1e, 0x56, 0xc0, 0x91, 0x57, 0x4c, 0x7f,
-  0x0b, 0xa9, 0xc3, 0x28, 0x1d, 0x41, 0x84, 0x8e, 0xe6, 0x57, 0x22, 0xc6,
-  0xe6, 0x01, 0xfa, 0xad, 0x27, 0xfc, 0x90, 0xc3, 0x14, 0x78, 0xb7, 0xf9,
-  0xe5, 0x2b, 0xd4, 0x00, 0xbc, 0xf3, 0x3a, 0x45, 0xcd, 0x91, 0xee, 0x04,
-  0xe6, 0xbe, 0x88, 0x20, 0x3c, 0xd6, 0xe0, 0x0f, 0x27, 0xe2, 0x40, 0x13,
-  0x84, 0x9a, 0xa1, 0x84, 0x30, 0x23, 0x7f, 0x30, 0x0f, 0x6c, 0x64, 0x9e,
-  0x44, 0x72, 0xc4, 0xf7, 0x69, 0xed, 0xfb, 0xbc, 0xa1, 0x25, 0xea, 0xb5,
-  0x26, 0x0b, 0xc0, 0x11, 0xab, 0xf8, 0xee, 0x33, 0x74, 0x88, 0x9c, 0xfa,
-  0x6e, 0x34, 0x5e, 0x57, 0x34, 0x1b, 0xd3, 0x5c, 0x01, 0xdd, 0xc9, 0xe5,
-  0x14, 0x17, 0xcd, 0x92, 0x97, 0x3c, 0x15, 0xcb, 0x16, 0x4c, 0x3c, 0x1b,
-  0x46, 0x13, 0x3f, 0x10, 0x2c, 0x14, 0x83, 0x83, 0x38, 0xc9, 0x1e, 0xc4,
-  0x85, 0x47, 0xe7, 0x11, 0x92, 0x07, 0x97, 0x72, 0x0f, 0x99, 0xa8, 0x05,
-  0x63, 0x77, 0x87, 0xbb, 0xc9, 0xe8, 0xed, 0xd7, 0xc2, 0x78, 0xf8, 0xf5,
-  0x88, 0x09, 0x21, 0x58, 0x11, 0xd6, 0x57, 0x86, 0x71, 0x5e, 0x29, 0xf6,
-  0x93, 0x92, 0xba, 0x41, 0xbd, 0xfb, 0x13, 0xfe, 0xa6, 0x68, 0x64, 0xfe,
-  0xb9, 0x1b, 0xb6, 0x3f, 0xee, 0x7e, 0x34, 0x51, 0x9d, 0x83, 0x33, 0x54,
-  0x2e, 0xd5, 0x0e, 0x9b, 0xab, 0x88, 0xf2, 0xa0, 0x87, 0xeb, 0x19, 0xb6,
-  0xf6, 0x83, 0xf3, 0xf0, 0x9b, 0x9d, 0x04, 0x5b, 0xaa, 0x56, 0xa5, 0x72,
-  0x77, 0x3a, 0xce, 0xdd, 0x28, 0x69, 0xf2, 0x32, 0x4a, 0xc8, 0x81, 0xb3,
-  0x79, 0x96, 0x5d, 0x41, 0xd3, 0x42, 0xa2, 0x5c, 0x1f, 0xbf, 0x44, 0x64,
-  0xcd, 0xa2, 0xa7, 0xa2, 0x74, 0x4b, 0x68, 0x23, 0x9d, 0xf8, 0x9a, 0xab,
-  0x32, 0xb3, 0x75, 0xe7, 0xe0, 0x4f, 0x28, 0xce, 0xc9, 0xb4, 0xb4, 0x79,
-  0xed, 0x31, 0x2c, 0x80, 0x0d, 0x31, 0xd7, 0xe0, 0x99, 0x77, 0x96, 0x66,
-  0x94, 0x79, 0x77, 0xcf, 0x49, 0x7b, 0x41, 0x86, 0x01, 0xb4, 0x9d, 0x29,
-  0x69, 0xef, 0x0e, 0x26, 0xea, 0xa5, 0x97, 0x14, 0xa5, 0xe3, 0xda, 0x12,
-  0xf5, 0x25, 0x94, 0x8d, 0x83, 0x24, 0x79, 0x9d, 0x15, 0xf7, 0x2a, 0x1b,
-  0x1d, 0xc2, 0x09, 0x64, 0x19, 0xb7, 0xec, 0x07, 0x67, 0x97, 0x36, 0x13,
-  0x10, 0xd5, 0xc0, 0x44, 0xd8, 0x2e, 0x86, 0x5d, 0x6a, 0xf7, 0x39, 0x26,
-  0x01, 0x5e, 0xd9, 0x69, 0x90, 0x74, 0x6d, 0x7f, 0x2e, 0xb6, 0xc0, 0xc9,
-  0xa0, 0xa1, 0x3f, 0x7c, 0x4f, 0x5b, 0x5c, 0x3b, 0x0d, 0xcc, 0xa6, 0x07,
-  0x2b, 0x86, 0xf8, 0x23, 0xff, 0x8a, 0x12, 0xce, 0xa4, 0xb4, 0xcf, 0x52,
-  0xf8, 0x45, 0x78, 0x2a, 0x04, 0x15, 0x67, 0xe4, 0x9b, 0x79, 0x86, 0xc3,
-  0x55, 0xa1, 0x6b, 0x9a, 0x0a, 0xb8, 0x20, 0x2c, 0xa9, 0xdc, 0xda, 0xed,
-  0x4d, 0x80, 0x4e, 0xad, 0x4b, 0x85, 0x3a, 0xd8, 0x58, 0x21, 0x2c, 0x07,
-  0x57, 0x24, 0x9d, 0x18, 0x6a, 0xd5, 0xb9, 0xc6, 0x78, 0x36, 0x19, 0xde,
-  0x67, 0xc1, 0xa6, 0xf4, 0xf8, 0xca, 0xb6, 0x54, 0xe6, 0xd5, 0xfd, 0x3f,
-  0xd1, 0x1f, 0xe1, 0x28, 0x5a, 0xc1, 0x19, 0x9a, 0x68, 0x3d, 0xec, 0xf4,
-  0x38, 0x04, 0x08, 0x5e, 0x5f, 0xf5, 0x81, 0x57, 0x4e, 0xa0, 0xae, 0x6f,
-  0x1b, 0xc2, 0xe7, 0x31, 0x1f, 0x78, 0x5f, 0x28, 0x8b, 0x99, 0xee, 0xef,
-  0x85, 0xa5, 0x56, 0xbf, 0x4b, 0xab, 0x02, 0x68, 0x72, 0x5f, 0xf1, 0x27,
-  0xee, 0x8b, 0x85, 0xd4, 0x5d, 0x48, 0xaf, 0x08, 0x87, 0x5b, 0x65, 0x8e,
-  0x07, 0x96, 0xd6, 0x91, 0x19, 0x6e, 0x84, 0x5c, 0x5a, 0x61, 0xa1, 0x8b,
-  0xb2, 0x61, 0x9a, 0x6b, 0x02, 0xee, 0x92, 0xce, 0x50, 0x91, 0x7f, 0xc5,
-  0x9b, 0x64, 0xd5, 0x08, 0xa9, 0x35, 0xbb, 0x9b, 0xa8, 0xa5, 0xe5, 0x82,
-  0x62, 0x84, 0x02, 0xa9, 0xe2, 0x78, 0xab, 0x27, 0x66, 0xe4, 0x73, 0x8c,
-  0xbd, 0x82, 0x5f, 0xc8, 0x85, 0xf4, 0xd2, 0xdb, 0x92, 0xea, 0x1c, 0x38,
-  0xf4, 0x35, 0x14, 0x21, 0xb7, 0x4b, 0x2e, 0xc3, 0x4a, 0x0d, 0xb0, 0x27,
-  0x2c, 0xe8, 0x45, 0x0c, 0x0a, 0xf2, 0x02, 0x01, 0x93, 0x04, 0xfb, 0xde,
-  0x4b, 0xf5, 0xe1, 0xf3, 0xad, 0xcd, 0x01, 0x19, 0x91, 0x32, 0xc9, 0x9a,
-  0xd9, 0x93, 0x45, 0xda, 0xe8, 0x89, 0xf1, 0x64, 0x22, 0xf5, 0x10, 0x0c,
-  0x08, 0x05, 0x29, 0xf9, 0x13, 0x4b, 0x3f, 0xd4, 0x65, 0xb2, 0x6e, 0x97,
-  0x20, 0xb6, 0xb7, 0xaa, 0x45, 0x70, 0x3a, 0x85, 0x71, 0xf8, 0x80, 0x18,
-  0xff, 0x74, 0xaf, 0x90, 0xb1, 0xb5, 0x22, 0x7c, 0x81, 0x74, 0x5e, 0x33,
-  0xd1, 0x79, 0x83, 0x05, 0xeb, 0x60, 0x56, 0x15, 0xca, 0x89, 0x28, 0x1f,
-  0x1d, 0xbe, 0x65, 0xf7, 0xc8, 0x17, 0x1a, 0xa3, 0x13, 0xea, 0x75, 0xc8,
-  0x7b, 0x66, 0x75, 0x82, 0x2a, 0x21, 0x9e, 0x09, 0x66, 0xf7, 0xf7, 0x2a,
-  0x1e, 0x10, 0x34, 0x98, 0xa2, 0x76, 0x71, 0x67, 0xdf, 0x8e, 0x25, 0x73,
-  0x31, 0x1b, 0xa6, 0x98, 0x0e, 0x8c, 0x10, 0x58, 0xac, 0x71, 0x6f, 0x7e,
-  0xea, 0xeb, 0xa0, 0x5b, 0x60, 0x57, 0x9f, 0x3e, 0x82, 0x7f, 0xc2, 0x90,
-  0x3a, 0x99, 0xbb, 0x10, 0x2c, 0x6e, 0xf4, 0x81, 0x27, 0xb1, 0x99, 0x8c,
-  0x81, 0xf6, 0xba, 0xa1, 0x64, 0x1a, 0xd4, 0x4a, 0xca, 0x7f, 0x9e, 0x41,
-  0x4c, 0xa0, 0x4e, 0xd8, 0x2a, 0x80, 0x13, 0xcf, 0x9d, 0x4c, 0xdb, 0x7b,
-  0x4e, 0xa6, 0x42, 0x8b, 0xb0, 0x77, 0x0a, 0x81, 0x49, 0x7b, 0x5f, 0x62,
-  0x5f, 0x4d, 0x30, 0x8f, 0xe0, 0x57, 0x52, 0xf2, 0x78, 0x7e, 0x12, 0x7e,
-  0x4e, 0x5f, 0xda, 0xc5, 0x57, 0x3b, 0xe2, 0xfc, 0x80, 0x9c, 0xc4, 0x87,
-  0xa8, 0x63, 0xf9, 0x5a, 0xe6, 0x82, 0x15, 0x8b, 0x11, 0x23, 0xed, 0x98,
-  0x76, 0x10, 0xa8, 0xfa, 0x73, 0xae, 0xb4, 0x1d, 0x87, 0xbd, 0x8d, 0xe4,
-  0xbc, 0x69, 0x3d, 0x6e, 0xc8, 0x69, 0xc5, 0x1c, 0x7a, 0xde, 0x30, 0x2e,
-  0x40, 0xf4, 0xa9, 0x59, 0xdd, 0x53, 0xef, 0x73, 0x4c, 0xd8, 0x21, 0xb8,
-  0x12, 0x69, 0xd7, 0xfd, 0xd3, 0xff, 0xed, 0xa7, 0x7e, 0x4c, 0x48, 0xd3,
-  0x5a, 0xad, 0x76, 0x2b, 0xb4, 0x3f, 0xf3, 0xd2, 0x9c, 0xe8, 0x75, 0x83,
-  0xc2, 0x43, 0xbf, 0x66, 0x50, 0xc1, 0xa8, 0x30, 0x0c, 0xcc, 0x77, 0xb0,
-  0x26, 0xfc, 0x99, 0x35, 0x4e, 0xd8, 0x15, 0x43, 0x30, 0x2d, 0xae, 0x29,
-  0x15, 0xea, 0x0d, 0xc3, 0x3e, 0xf8, 0x4b, 0x47, 0xf2, 0xf0, 0x34, 0x62,
-  0x6b, 0xd0, 0x7f, 0xff, 0x72, 0x00, 0xbf, 0xd7, 0xf4, 0xe7, 0x95, 0xfd,
-  0x38, 0xee, 0x4b, 0x5f, 0x7e, 0x87, 0x6e, 0xe4, 0x8b, 0x1b, 0x72, 0x6a,
-  0xbc, 0x8c, 0x65, 0xd9, 0x78, 0x13, 0x21, 0x8f, 0xfd, 0xf6, 0xdf, 0xaf,
-  0x66, 0x8e, 0xd8, 0x66, 0xcd, 0xf7, 0xe5, 0xb1, 0xdf, 0xfc, 0xfb, 0x7c,
-  0x76, 0x1f, 0x74, 0xa0, 0x40, 0x50, 0xbd, 0x16, 0x24, 0x73, 0x44, 0x26,
-  0xfe, 0x6a, 0xa1, 0x28, 0xe8, 0xe8, 0x50, 0x2a, 0xca, 0xc7, 0xa2, 0x25,
-  0x18, 0x44, 0x2c, 0x42, 0x2a, 0xfe, 0x26, 0x12, 0x0c, 0xa2, 0x39, 0x9c,
-  0x1c, 0xa9, 0x89, 0xf2, 0x92, 0xff, 0xdc, 0xf9, 0x2a, 0xb6, 0x46, 0x9a,
-  0x71, 0x42, 0xb7, 0xa0, 0x16, 0x51, 0x41, 0x5d, 0x0e, 0xe6, 0x09, 0x10,
-  0x8d, 0xd7, 0x56, 0x94, 0xa0, 0xc9, 0x52, 0xa8, 0x08, 0x06, 0x1a, 0x2b,
-  0xdd, 0x22, 0x33, 0xa4, 0x80, 0x51, 0x4b, 0xb0, 0x6d, 0x91, 0x42, 0xa4,
-  0x78, 0x64, 0xde, 0x17, 0x6b, 0xcb, 0xca, 0x12, 0xf1, 0x04, 0xfa, 0x15,
-  0x30, 0x1d, 0x6b, 0xe9, 0xb7, 0x7d, 0xa9, 0x9c, 0x62, 0x5a, 0xa3, 0x5d,
-  0x25, 0x68, 0x49, 0x71, 0xf7, 0xcb, 0x72, 0x86, 0xf4, 0x2e, 0x52, 0xdc,
-  0x1c, 0x28, 0x7e, 0xa0, 0x43, 0x69, 0x84, 0x47, 0x67, 0xef, 0xde, 0x1d,
-  0x1f, 0x75, 0x23, 0x7a, 0xb6, 0xce, 0xa4, 0x53, 0xf5, 0x83, 0xd2, 0x7d,
-  0xf8, 0x3c, 0x28, 0xd9, 0x25, 0xaf, 0x86, 0xbf, 0x8f, 0xaa, 0x3e, 0x9c,
-  0x2b, 0xa3, 0xbf, 0x64, 0x95, 0x44, 0x68, 0x3b, 0x65, 0x07, 0x44, 0x12,
-  0xbb, 0x82, 0xfd, 0x30, 0xf1, 0xa8, 0x5e, 0x38, 0x2a, 0x50, 0xa3, 0x4c,
-  0x14, 0x14, 0x51, 0x98, 0x99, 0xd2, 0x0b, 0x60, 0xab, 0xa7, 0xd3, 0x1d,
-  0x81, 0x2e, 0xeb, 0xb7, 0x57, 0xed, 0x65, 0xe6, 0xf9, 0xa2, 0xfc, 0x90,
-  0x41, 0x79, 0xc5, 0x55, 0x44, 0xe7, 0x69, 0xf5, 0x91, 0xc2, 0x81, 0x5e,
-  0xa6, 0x08, 0x72, 0x05, 0xc1, 0x3a, 0x3c, 0x9d, 0xc6, 0x92, 0xd0, 0x53,
-  0xf8, 0x65, 0x3d, 0x5c, 0xbc, 0x74, 0x46, 0xca, 0xee, 0x1d, 0x68, 0x0a,
-  0x1f, 0xbd, 0x5e, 0x64, 0x77, 0xf4, 0x19, 0xe6, 0xde, 0xa0, 0x64, 0xf2,
-  0x90, 0xc6, 0x9f, 0xa9, 0xa3, 0xd9, 0x8d, 0x7e, 0x2f, 0x49, 0xec, 0xb4,
-  0x54, 0x73, 0xa6, 0xc9, 0x07, 0x19, 0x2f, 0xd5, 0x9e, 0xe2, 0xf4, 0x8f,
-  0x60, 0xae, 0xbe, 0x15, 0x2e, 0xbd, 0x4e, 0x04, 0xa9, 0x4d, 0x15, 0xe6,
-  0xb1, 0xe6, 0x8c, 0x33, 0x8f, 0x65, 0x2f, 0xbc, 0x7e, 0xec, 0x76, 0xc0,
-  0x5c, 0x63, 0x21, 0xc8, 0x5e, 0x91, 0x12, 0x07, 0x92, 0x60, 0xa3, 0xeb,
-  0x9b, 0xae, 0x08, 0x76, 0x8d, 0x88, 0x21, 0x1b, 0xa7, 0x85, 0xfc, 0x10,
-  0x46, 0x8c, 0x3d, 0xeb, 0x52, 0xbd, 0x82, 0xa2, 0x14, 0x0e, 0x47, 0xa2,
-  0x3f, 0xbb, 0x06, 0xd2, 0x9d, 0x1e, 0xc6, 0x71, 0x0d, 0x14, 0x5d, 0x12,
-  0xa9, 0xc8, 0x02, 0xeb, 0x6b, 0xb5, 0x6b, 0xda, 0xab, 0x66, 0x7e, 0x69,
-  0x25, 0x64, 0xf6, 0x95, 0xc9, 0x84, 0x9d, 0xee, 0x72, 0x84, 0xcd, 0x9f,
-  0x8b, 0x65, 0x13, 0xc4, 0xce, 0x88, 0xd8, 0x89, 0xd3, 0xf9, 0xbf, 0x1a,
-  0x84, 0x85, 0x90, 0xd2, 0xa9, 0xbf, 0xaa, 0x10, 0xe1, 0x30, 0xfd, 0xeb,
-  0xc6, 0x48, 0x80, 0x15, 0x61, 0x00, 0x9d, 0x68, 0xcd, 0xa1, 0x88, 0xd9,
-  0x35, 0x98, 0x31, 0xb7, 0x59, 0x77, 0xe0, 0x5b, 0xe8, 0xee, 0x06, 0xfb,
-  0x8a, 0x0a, 0x89, 0x75, 0xd4, 0x1d, 0x20, 0x17, 0xec, 0xc8, 0x3f, 0x63,
-  0xe7, 0x90, 0xf7, 0x29, 0x5b, 0x75, 0x2d, 0x7d, 0x64, 0xb6, 0x48, 0x7e,
-  0xe8, 0xb7, 0xbf, 0x9b, 0xd6, 0x17, 0x34, 0x77, 0x97, 0xa3, 0x7d, 0xee,
-  0xf7, 0xe8, 0x41, 0xb4, 0x42, 0x78, 0xeb, 0xdb, 0x8f, 0xff, 0x6c, 0xc0,
-  0x72, 0xf7, 0xb8, 0x7b, 0xd7, 0x31, 0x38, 0x3a, 0x0a, 0xc7, 0xee, 0x2d,
-  0x0c, 0x91, 0x1b, 0xe0, 0x51, 0xbd, 0x3b, 0x79, 0xed, 0x2d, 0xec, 0xb2,
-  0xf6, 0xfd, 0x8b, 0x38, 0x12, 0xa3, 0x8e, 0xb1, 0x49, 0x4a, 0x94, 0xf9,
-  0x71, 0x97, 0xf2, 0x83, 0x97, 0x70, 0x2b, 0xe7, 0xb3, 0x0b, 0x87, 0xb2,
-  0x29, 0x5f, 0x8f, 0x9c, 0xb8, 0x48, 0x02, 0x64, 0xf2, 0x0f, 0x2a, 0x2c,
-  0xc8, 0x33, 0x6b, 0xa9, 0x2b, 0xf8, 0x4a, 0x6b, 0x12, 0x1e, 0x73, 0x2f,
-  0x05, 0x53, 0xe2, 0xd6, 0x20, 0xa2, 0xad, 0x84, 0xb3, 0xb0, 0x0e, 0xed,
-  0xee, 0xb6, 0x27, 0x9e, 0xfa, 0xcd, 0x8f, 0x05, 0xc1, 0x5b, 0xf2, 0x89,
-  0xe0, 0xf8, 0x5f, 0x3e, 0x44, 0xc7, 0xd8, 0x0e, 0x3a, 0x4b, 0xd0, 0x49,
-  0xd0, 0xda, 0xdc, 0x90, 0x26, 0x8f, 0xc1, 0xcb, 0x8f, 0x4f, 0x04, 0xe4,
-  0x2a, 0x82, 0x4c, 0x8e, 0x00, 0x57, 0xfc, 0xb8, 0xd0, 0x93, 0x68, 0x6f,
-  0xeb, 0xd9, 0x00, 0x7d, 0xa0, 0x1c, 0xbb, 0x40, 0xd7, 0x75, 0x73, 0xd5,
-  0x79, 0xee, 0xb7, 0x9f, 0xb6, 0x66, 0x56, 0xd3, 0x5a, 0x3e, 0x46, 0xa4,
-  0xf9, 0x8f, 0xfe, 0x1e, 0xfd, 0xb0, 0x48, 0x83, 0x97, 0x0c, 0x23, 0x58,
-  0xdb, 0x13, 0xfb, 0xf0, 0xef, 0xd1, 0x13, 0x64, 0xee, 0x45, 0xf7, 0x50,
-  0xab, 0x0f, 0x78, 0xec, 0xf7, 0xf8, 0xfe, 0xed, 0xde, 0xaa, 0xcf, 0xa2,
-  0xce, 0x18, 0x9e, 0xf8, 0x0d, 0x3f, 0xfc, 0xde, 0x1a, 0x25, 0x9c, 0xe5,
-  0xf8, 0x92, 0xfe, 0x7b, 0xa0, 0x33, 0xbc, 0xb6, 0xa0, 0x7b, 0xab, 0x2a,
-  0x4d, 0xab, 0x3a, 0xa7, 0x96, 0x4f, 0xed, 0x66, 0xf3, 0x3e, 0x0a, 0xf8,
-  0x25, 0x69, 0x85, 0x4c, 0x12, 0x21, 0x8c, 0x91, 0x20, 0xf3, 0x1d, 0x28,
-  0xd5, 0x8c, 0xe8, 0xd0, 0x9a, 0xe9, 0x2e, 0x89, 0xcb, 0x89, 0x90, 0x2f,
-  0x74, 0xc9, 0x36, 0xdc, 0x65, 0x45, 0xa7, 0x39, 0x2e, 0x82, 0xa1, 0x73,
-  0x71, 0x7a, 0x72, 0x97, 0x60, 0x3e, 0x88, 0x0d, 0xcf, 0x98, 0x97, 0x69,
-  0xe5, 0xf8, 0xa1, 0x4f, 0x49, 0x99, 0x78, 0x47, 0x52, 0x30, 0x66, 0xb3,
-  0x29, 0xa8, 0x3c, 0xc0, 0x51, 0x3b, 0x8b, 0xaa, 0xf0, 0x30, 0x2b, 0x9e,
-  0x4a, 0x79, 0x90, 0xf4, 0x06, 0xef, 0x93, 0x83, 0xde, 0xef, 0x08, 0x20,
-  0xf7, 0x8c, 0xd3, 0x5f, 0x8d, 0x87, 0x5b, 0x8d, 0x0e, 0x6b, 0x43, 0x84,
-  0xc4, 0x3d, 0xfe, 0x10, 0x2e, 0xec, 0x8a, 0x38, 0x3a, 0xdf, 0x75, 0x17,
-  0x20, 0x02, 0xb1, 0xa2, 0x08, 0x35, 0x07, 0x84, 0xed, 0xe8, 0x1a, 0xa4,
-  0xa7, 0x21, 0xcb, 0xd7, 0xf7, 0x17, 0xbf, 0x0f, 0x0a, 0x1e, 0x3a, 0xd8,
-  0x58, 0x0b, 0x28, 0xe6, 0x70, 0x62, 0x14, 0xf2, 0x74, 0x28, 0x31, 0x60,
-  0x25, 0xd9, 0x74, 0x46, 0x85, 0xe8, 0xc0, 0x20, 0x05, 0xa1, 0xe1, 0x6a,
-  0x8c, 0x58, 0xb2, 0x75, 0xe9, 0xb9, 0xf0, 0x1d, 0xfb, 0x10, 0xd9, 0x5d,
-  0x71, 0xe7, 0x31, 0xb6, 0x21, 0xe8, 0x68, 0x3f, 0x0b, 0xea, 0xca, 0x08,
-  0x86, 0x50, 0x6c, 0x64, 0x6d, 0x2c, 0xb9, 0xcd, 0x53, 0x0e, 0xcc, 0xf0,
-  0x44, 0xca, 0xb7, 0x78, 0x46, 0xdd, 0xa7, 0x56, 0xb9, 0xe7, 0x38, 0x61,
-  0x3b, 0x92, 0xe6, 0xf1, 0x6e, 0x34, 0x0a, 0xa1, 0x62, 0x45, 0x95, 0x4d,
-  0xca, 0xeb, 0x22, 0xff, 0xbb, 0xe4, 0x97, 0x77, 0xd1, 0x23, 0x2d, 0xac,
-  0x5e, 0xa2, 0x75, 0x89, 0xc9, 0x92, 0x40, 0xfc, 0xa4, 0xbb, 0x1a, 0x96,
-  0x4b, 0x84, 0xa4, 0x14, 0x42, 0xb9, 0x20, 0x41, 0x90, 0xa9, 0xe4, 0x4a,
-  0xbe, 0xcc, 0xe9, 0xde, 0x8a, 0x85, 0x68, 0xce, 0x75, 0x57, 0xd1, 0x91,
-  0x5d, 0x21, 0x10, 0xa0, 0xf8, 0xf1, 0xc9, 0x7e, 0x05, 0xb0, 0x8e, 0x42,
-  0xa6, 0xbf, 0x0a, 0x5a, 0xd7, 0xb6, 0xa8, 0xbc, 0x14, 0x7e, 0x54, 0x12,
-  0xa7, 0xc3, 0x11, 0xe5, 0x48, 0x11, 0x82, 0xab, 0xb0, 0x24, 0x8c, 0xef,
-  0xa1, 0x00, 0x9b, 0xf3, 0x63, 0x68, 0x52, 0x4c, 0x3b, 0x92, 0x53, 0x15,
-  0x9e, 0xad, 0x2e, 0x47, 0x8a, 0x6d, 0xfd, 0x11, 0xe4, 0x28, 0x64, 0xdd,
-  0x2b, 0xbf, 0xa5, 0x74, 0x19, 0xc4, 0xcf, 0xb6, 0x5c, 0x7b, 0xc9, 0xe5,
-  0xd1, 0xbd, 0x23, 0xc9, 0x07, 0x36, 0x5a, 0x96, 0x68, 0x41, 0xd4, 0xe1,
-  0x94, 0x3c, 0x35, 0x56, 0x28, 0x74, 0xc3, 0x73, 0x4b, 0x6f, 0x53, 0xa5,
-  0x0b, 0xc0, 0x8d, 0x2d, 0xb3, 0x02, 0xb9, 0x63, 0x81, 0x89, 0xd6, 0x3d,
-  0xd1, 0xdd, 0x5a, 0xca, 0x36, 0xea, 0x75, 0x91, 0x23, 0x47, 0x62, 0xf8,
-  0xdb, 0x32, 0x1a, 0x8e, 0x51, 0x18, 0xc9, 0x83, 0x52, 0x7b, 0x39, 0x64,
-  0x35, 0xd3, 0x69, 0x6a, 0xa8, 0xca, 0x36, 0x71, 0x90, 0x31, 0xc4, 0xd6,
-  0xae, 0x49, 0x9f, 0xa4, 0x0f, 0x8b, 0x5c, 0x51, 0xdf, 0x07, 0x0b, 0x95,
-  0xb2, 0xdd, 0xc1, 0xde, 0x4b, 0x23, 0x2b, 0x6a, 0xd0, 0xfe, 0x0e, 0x88,
-  0xcc, 0x5f, 0x03, 0xc8, 0xfc, 0x9d, 0x11, 0x99, 0xde, 0x4d, 0x41, 0xd7,
-  0x4e, 0x78, 0x4f, 0xc0, 0x7b, 0x48, 0x29, 0x75, 0x1c, 0x1e, 0xbd, 0x4b,
-  0x2d, 0x13, 0x76, 0x4c, 0x49, 0x8f, 0x9e, 0xa4, 0x7e, 0x0b, 0xdd, 0xe2,
-  0x49, 0x10, 0x95, 0x8f, 0x8c, 0x31, 0xa3, 0x1a, 0x1c, 0x2b, 0xf2, 0xc4,
-  0x33, 0xca, 0x07, 0x9b, 0x66, 0xc2, 0xf1, 0xf0, 0x27, 0x47, 0x44, 0xfd,
-  0x7b, 0x66, 0x77, 0xd1, 0xf0, 0xf6, 0x8c, 0x6c, 0x7e, 0xe9, 0xdd, 0xc7,
-  0x5f, 0x46, 0x2e, 0xe4, 0x20, 0xe9, 0x94, 0xf1, 0xdd, 0xf4, 0x6a, 0x9b,
-  0x48, 0x29, 0x22, 0xf4, 0xe2, 0x07, 0x06, 0x85, 0xaf, 0xe0, 0xf9, 0x54,
-  0xf1, 0x46, 0x01, 0x73, 0x7a, 0x79, 0x85, 0x80, 0x13, 0xaa, 0x2e, 0x65,
-  0xe9, 0x35, 0xf2, 0x7c, 0x9c, 0x35, 0x77, 0x59, 0x26, 0xa4, 0x59, 0x3a,
-  0x8d, 0x9e, 0x0c, 0xb0, 0xf2, 0x70, 0x65, 0x18, 0xac, 0x2f, 0xe4, 0x88,
-  0x24, 0x51, 0x98, 0x0a, 0xce, 0xd6, 0xbf, 0x55, 0x5f, 0x6f, 0x70, 0xfc,
-  0x62, 0xcc, 0xf2, 0xce, 0x73, 0xcd, 0xdf, 0xa7, 0x79, 0xf1, 0x40, 0x3a,
-  0x2d, 0xdc, 0xac, 0x46, 0x33, 0xe5, 0x41, 0xdf, 0xf0, 0xb7, 0xc7, 0x58,
-  0x8e, 0x6d, 0x2c, 0x7b, 0xb5, 0x2d, 0xe6, 0x74, 0xf1, 0x3d, 0x3d, 0xab,
-  0xed, 0x34, 0xd4, 0x6a, 0x77, 0x69, 0x78, 0x8b, 0x51, 0x6a, 0x09, 0x2f,
-  0xa3, 0x77, 0x91, 0x02, 0x92, 0xc0, 0x53, 0x21, 0x68, 0x7e, 0x16, 0x20,
-  0x76, 0x1e, 0x56, 0x1e, 0x0b, 0x6f, 0x98, 0xf3, 0x8c, 0x00, 0x12, 0x72,
-  0x5a, 0x73, 0x4d, 0x94, 0xa6, 0x6f, 0x0d, 0xe0, 0x4b, 0x77, 0xa2, 0x92,
-  0x39, 0x59, 0xe8, 0x23, 0x81, 0x03, 0x93, 0x3e, 0x9a, 0x2e, 0xcc, 0x97,
-  0x52, 0x2e, 0x64, 0x4f, 0x6e, 0x6d, 0x14, 0x91, 0x56, 0xa9, 0xe7, 0x4d,
-  0x43, 0xc7, 0x31, 0x1f, 0x01, 0x5b, 0x05, 0x14, 0x89, 0x6a, 0x44, 0xb0,
-  0x60, 0x12, 0xa0, 0x9e, 0x24, 0x36, 0xa8, 0x93, 0x5e, 0x5c, 0x3d, 0xb4,
-  0x2b, 0xe3, 0x7c, 0x21, 0x42, 0xab, 0x53, 0x48, 0xf6, 0x44, 0x47, 0x60,
-  0x87, 0x25, 0x3f, 0x2f, 0x4b, 0x56, 0xa7, 0x18, 0xfd, 0xdc, 0xed, 0xbb,
-  0x60, 0x08, 0xb4, 0xd2, 0xcb, 0x9d, 0x2d, 0x10, 0x0e, 0x17, 0x7d, 0xa4,
-  0x8c, 0x8a, 0x40, 0x8f, 0xf5, 0x05, 0xe1, 0xea, 0x93, 0xf6, 0x6d, 0x41,
-  0xac, 0x55, 0x5e, 0xd1, 0x58, 0x04, 0xa9, 0x25, 0x1c, 0x24, 0x45, 0x3d,
-  0xe2, 0x17, 0xdc, 0x1a, 0x11, 0xfb, 0xf9, 0xe8, 0xe8, 0x7c, 0x3b, 0x39,
-  0xef, 0x64, 0x9f, 0x03, 0x5c, 0x4c, 0x77, 0xb6, 0x2f, 0xef, 0xa5, 0x02,
-  0x09, 0x53, 0x31, 0xad, 0xce, 0x54, 0x56, 0x02, 0x3c, 0x4b, 0x3a, 0x06,
-  0xb7, 0xf3, 0x6f, 0x2e, 0xff, 0x3a, 0x63, 0x39, 0x04, 0xeb, 0x00, 0x27,
-  0x22, 0x4b, 0x52, 0xb4, 0x2f, 0x0c, 0x8c, 0x4d, 0x57, 0x12, 0xae, 0x9d,
-  0x29, 0xff, 0x25, 0x77, 0x5b, 0x73, 0xae, 0x67, 0x01, 0xd0, 0x02, 0x13,
-  0xa1, 0xa8, 0x37, 0x8f, 0x71, 0x41, 0x6a, 0xef, 0xd4, 0x7c, 0xfb, 0x75,
-  0x4a, 0xb6, 0x60, 0x7b, 0x5f, 0x67, 0x45, 0x48, 0xb3, 0x8d, 0x8f, 0x92,
-  0xbe, 0x20, 0x1b, 0x78, 0x3a, 0xec, 0xd2, 0x3c, 0x7a, 0xd9, 0xe5, 0xd2,
-  0x39, 0xbf, 0x9e, 0xcd, 0x0a, 0x2a, 0x28, 0x56, 0x25, 0xa9, 0xf4, 0x0e,
-  0x09, 0xde, 0x6b, 0xca, 0xe6, 0x6f, 0x70, 0x91, 0x2e, 0xee, 0x69, 0x32,
-  0xcc, 0x63, 0x75, 0x7d, 0xb3, 0x6f, 0xc4, 0xd3, 0xfe, 0xf0, 0x73, 0x36,
-  0x70, 0x6f, 0x8c, 0x4e, 0x90, 0x55, 0x2b, 0x88, 0xde, 0xa4, 0x46, 0x57,
-  0xa7, 0x3d, 0x51, 0xf6, 0x87, 0xce, 0xbe, 0x18, 0xfc, 0x0f, 0xda, 0x69,
-  0x7f, 0x5b, 0x86, 0xbe, 0xc3, 0x2d, 0xda, 0x50, 0x09, 0x6d, 0x2b, 0x2a,
-  0x81, 0x4c, 0x0c, 0xf0, 0x88, 0x72, 0x8c, 0xf3, 0x06, 0x14, 0xae, 0x4a,
-  0x54, 0xd2, 0x3e, 0x98, 0xa8, 0xba, 0x50, 0xe1, 0xad, 0x68, 0x62, 0xda,
-  0x30, 0xf9, 0x1f, 0xf4, 0x29, 0x7d, 0x9b, 0x21, 0xc6, 0x08, 0xc4, 0x7c,
-  0x7d, 0xfc, 0xe6, 0xec, 0xe2, 0xb8, 0x9d, 0x1b, 0xd0, 0x70, 0xc5, 0x09,
-  0x04, 0x1a, 0xba, 0xbd, 0x63, 0xf6, 0x15, 0xbf, 0x9c, 0x59, 0x5e, 0xe4,
-  0x84, 0x14, 0x4b, 0xce, 0x7f, 0x78, 0x6d, 0x7b, 0x97, 0x43, 0x3c, 0xbf,
-  0xf1, 0x4a, 0x53, 0xf6, 0x79, 0xa6, 0xbb, 0x1a, 0x04, 0xe9, 0x1a, 0xdb,
-  0x43, 0x12, 0x07, 0x1c, 0x44, 0xd1, 0xfe, 0x21, 0xbc, 0xc3, 0x61, 0x39,
-  0xfe, 0x56, 0xca, 0x64, 0x9f, 0x75, 0x4d, 0xb9, 0x6f, 0xb6, 0xd1, 0x40,
-  0xbd, 0x66, 0x0d, 0x83, 0x49, 0x2e, 0x18, 0xd8, 0x94, 0x26, 0x60, 0x39,
-  0x21, 0xe2, 0x93, 0x61, 0x12, 0x7e, 0x48, 0x03, 0x52, 0xf8, 0x4a, 0x2c,
-  0x92, 0x48, 0x05, 0x3f, 0xd9, 0x85, 0xc9, 0xd7, 0x2a, 0x91, 0x55, 0xa3,
-  0x3c, 0xa1, 0x56, 0x5b, 0xe8, 0x33, 0x23, 0x8d, 0xe4, 0xa7, 0xf9, 0x13,
-  0x19, 0xf1, 0xce, 0x9b, 0x6f, 0x6e, 0xd5, 0x04, 0xb4, 0xf4, 0xba, 0x6a,
-  0x7f, 0x93, 0xa8, 0x9d, 0xbe, 0xf9, 0xa7, 0x4d, 0x87, 0x49, 0xe5, 0xaa,
-  0x31, 0xf1, 0x2a, 0x4b, 0xae, 0xe8, 0xc6, 0xf6, 0x43, 0xd1, 0x63, 0x1d,
-  0xf1, 0x2a, 0x1b, 0x4d, 0x32, 0x18, 0x25, 0xa0, 0x88, 0xe2, 0x57, 0x08,
-  0x9b, 0xc2, 0x45, 0x0b, 0xca, 0xb6, 0xf2, 0xaa, 0xdd, 0xdd, 0x3a, 0x5a,
-  0x7d, 0x99, 0xbc, 0x3e, 0x55, 0x9b, 0x88, 0x9f, 0x6f, 0x5e, 0xb2, 0x00,
-  0xc6, 0x9c, 0xa6, 0xcf, 0x5d, 0xa5, 0x59, 0x43, 0x89, 0x83, 0xfa, 0xbe,
-  0x68, 0xe8, 0xb4, 0x42, 0xb0, 0x04, 0x93, 0x56, 0xe1, 0x42, 0xa2, 0xbd,
-  0xe4, 0x76, 0x6f, 0x8d, 0x7c, 0xd4, 0x17, 0xcf, 0x5e, 0x90, 0x12, 0x81,
-  0x10, 0xa9, 0xd4, 0xa1, 0x10, 0x2e, 0x42, 0x61, 0xfa, 0x0c, 0x53, 0x51,
-  0x44, 0xf5, 0xb0, 0x2d, 0x49, 0xfd, 0xc0, 0x71, 0x86, 0xca, 0x98, 0x25,
-  0x4e, 0x90, 0x23, 0x34, 0x5c, 0x67, 0x5b, 0xae, 0x86, 0x20, 0x0e, 0x59,
-  0x3f, 0x31, 0xcb, 0x90, 0x7e, 0x94, 0x3c, 0x45, 0x3e, 0x0c, 0xd1, 0xa3,
-  0xd9, 0xd7, 0xad, 0xe0, 0xf5, 0xcb, 0x92, 0x37, 0x1b, 0xb1, 0x9d, 0x55,
-  0x79, 0xfd, 0xd1, 0x1c, 0xbc, 0x7f, 0x93, 0xa4, 0xc2, 0x95, 0x89, 0x6e,
-  0xe4, 0x9a, 0xcc, 0x8b, 0x25, 0x15, 0x37, 0xf4, 0xaa, 0xd2, 0x6a, 0x8b,
-  0x57, 0xa8, 0x94, 0x42, 0xbc, 0x77, 0x31, 0xdc, 0x7e, 0xdd, 0x94, 0x8b,
-  0x80, 0xc7, 0x5e, 0xd2, 0x22, 0x65, 0x27, 0x84, 0xb7, 0x26, 0x4d, 0x15,
-  0x08, 0x1e, 0xc5, 0x4f, 0xa8, 0xca, 0xd3, 0x30, 0x79, 0x5f, 0x40, 0xbb,
-  0x91, 0xad, 0x29, 0x57, 0x49, 0x5e, 0x98, 0xb1, 0x98, 0xb1, 0x9a, 0xcb,
-  0x24, 0x26, 0xa8, 0x20, 0x0b, 0xdd, 0xde, 0x4a, 0x54, 0x94, 0x76, 0xd8,
-  0x36, 0x70, 0xb4, 0x2d, 0x25, 0x27, 0xcb, 0xb6, 0xe4, 0x4d, 0x58, 0xf9,
-  0x85, 0x8b, 0x56, 0x48, 0x81, 0x64, 0xb4, 0x4d, 0x69, 0x51, 0xd9, 0x6c,
-  0x36, 0x60, 0x46, 0x50, 0xe2, 0x47, 0x24, 0x3b, 0xc3, 0x2c, 0x53, 0x3a,
-  0xe1, 0x10, 0xbb, 0x9f, 0x15, 0x17, 0xdc, 0x3e, 0x48, 0xbe, 0x1a, 0x02,
-  0xa5, 0xac, 0x69, 0xcb, 0x82, 0x17, 0x57, 0x40, 0x37, 0xe1, 0xff, 0x9d,
-  0x6b, 0x06, 0xb3, 0xf3, 0x37, 0x15, 0xba, 0xb1, 0x32, 0x0d, 0x21, 0xc5,
-  0xd6, 0xe4, 0xe6, 0xba, 0x5a, 0x70, 0xbd, 0x98, 0x58, 0x31, 0x1b, 0xcf,
-  0x00, 0xe0, 0x27, 0x75, 0x6d, 0xeb, 0xac, 0xe1, 0xae, 0xf0, 0xab, 0x27,
-  0xaf, 0x5b, 0xa5, 0x27, 0x69, 0x26, 0x40, 0xf6, 0x16, 0x6f, 0xce, 0xd5,
-  0xb8, 0xe6, 0x23, 0xeb, 0xee, 0x16, 0xdb, 0x9a, 0xb3, 0x76, 0xc6, 0xf7,
-  0xee, 0x37, 0xf1, 0xe6, 0xa4, 0x0d, 0x56, 0x67, 0xb9, 0x05, 0x6d, 0x16,
-  0x7b, 0x45, 0x2b, 0xa3, 0xd2, 0x6e, 0xa0, 0xfa, 0xc7, 0xfa, 0x91, 0x10,
-  0xc6, 0x71, 0x33, 0x2f, 0xa7, 0x84, 0x39, 0xcf, 0x1e, 0x9c, 0x0b, 0x7a,
-  0x50, 0xe7, 0x42, 0xf0, 0xfa, 0xb5, 0x3f, 0x2e, 0x34, 0x62, 0x76, 0x29,
-  0xed, 0x3c, 0x11, 0x62, 0xf1, 0xe6, 0xdc, 0x40, 0xb5, 0x7e, 0x53, 0xc6,
-  0x2f, 0xfb, 0x43, 0x28, 0x92, 0x72, 0xd2, 0x78, 0x23, 0xa0, 0x07, 0xe2,
-  0xcd, 0xb1, 0xf0, 0x8d, 0x8c, 0x8c, 0x20, 0xdc, 0x30, 0x6e, 0x1f, 0x1a,
-  0x19, 0x3d, 0x18, 0xac, 0xb2, 0xf9, 0xa1, 0xe3, 0x51, 0xf3, 0x96, 0x98,
-  0x17, 0x27, 0xde, 0x5c, 0x7b, 0x81, 0x75, 0x85, 0xd1, 0x87, 0xd8, 0x02,
-  0x0b, 0x1f, 0x63, 0xa8, 0x85, 0x39, 0x53, 0x9d, 0x67, 0xc7, 0x3e, 0xb8,
-  0x72, 0x81, 0xe5, 0x1b, 0xc1, 0x2c, 0xcc, 0x8c, 0x84, 0x34, 0x5a, 0xf0,
-  0x24, 0xfb, 0xc0, 0x85, 0xd4, 0xa8, 0x1c, 0x76, 0xf3, 0x61, 0xfd, 0x84,
-  0xcc, 0x24, 0xbd, 0xf1, 0x7e, 0x8e, 0x02, 0x8c, 0x56, 0x56, 0x08, 0x57,
-  0x5a, 0x4a, 0xbf, 0x19, 0x97, 0xa4, 0x04, 0xe2, 0xf7, 0x51, 0x0a, 0x78,
-  0xdd, 0xf6, 0xee, 0x7b, 0xcc, 0xaf, 0xc6, 0x57, 0xd5, 0xa2, 0xcc, 0x0b,
-  0xcb, 0x82, 0x0e, 0x19, 0xe3, 0xf5, 0x31, 0x96, 0x5a, 0xbf, 0x2e, 0xd0,
-  0x32, 0xff, 0x48, 0x20, 0x70, 0xab, 0x28, 0x7c, 0x88, 0x30, 0x5d, 0x7b,
-  0x83, 0xe3, 0xa7, 0x75, 0xb5, 0x79, 0x48, 0x5a, 0xc4, 0xcc, 0x15, 0xea,
-  0x72, 0xc7, 0x79, 0xcd, 0x3e, 0x6e, 0x7f, 0xd2, 0x9e, 0xc9, 0x6e, 0xff,
-  0x16, 0x77, 0x53, 0x9b, 0x5d, 0x7e, 0xe7, 0x8e, 0x90, 0xaa, 0x00, 0xe0,
-  0x42, 0xd6, 0x52, 0x78, 0x04, 0x3b, 0xe5, 0xc6, 0xae, 0x94, 0xcf, 0x71,
-  0xc5, 0x54, 0x80, 0xe6, 0x31, 0xd0, 0x92, 0x82, 0x8f, 0x57, 0x19, 0x23,
-  0x73, 0x30, 0xbf, 0xb2, 0x1c, 0xab, 0x27, 0x47, 0x9e, 0x76, 0x5d, 0x64,
-  0xf9, 0xee, 0x97, 0xed, 0x75, 0x73, 0xa4, 0xc7, 0x61, 0x8d, 0xc0, 0x93,
-  0xcf, 0x76, 0x45, 0xde, 0x34, 0x23, 0x1f, 0x31, 0xef, 0x05, 0xe0, 0x79,
-  0x1f, 0x3e, 0x59, 0xdc, 0xf3, 0x95, 0x73, 0x5c, 0xcd, 0x1f, 0x38, 0xe4,
-  0xe6, 0x01, 0x37, 0x2a, 0xc2, 0xf4, 0x78, 0xa3, 0x0a, 0xce, 0xa5, 0xd4,
-  0xfc, 0x5b, 0x31, 0xf3, 0xab, 0x7a, 0xd0, 0xda, 0x85, 0xab, 0x7b, 0x22,
-  0x4f, 0x46, 0xbb, 0xe3, 0x26, 0x97, 0x32, 0x7b, 0xee, 0x5d, 0xcf, 0xe2,
-  0xcd, 0x49, 0x77, 0xdd, 0x5b, 0x32, 0x3d, 0x7d, 0xcf, 0x91, 0xca, 0xc4,
-  0xd8, 0xc6, 0xb8, 0x0c, 0xf7, 0x86, 0x1e, 0xf0, 0x5f, 0x24, 0x20, 0xc8,
-  0x8a, 0x9f, 0x15, 0xbe, 0xdd, 0x4e, 0x5f, 0x34, 0x77, 0xef, 0x1a, 0xb8,
-  0xad, 0x47, 0xa9, 0x6b, 0x97, 0x9b, 0xcb, 0xac, 0x21, 0x54, 0x08, 0x12,
-  0x10, 0x40, 0x69, 0x50, 0x57, 0x41, 0x6c, 0x67, 0x70, 0x82, 0x4c, 0x89,
-  0xb1, 0x3a, 0xc4, 0xf6, 0x25, 0xfc, 0xcd, 0x84, 0x49, 0xc0, 0x30, 0xad,
-  0x28, 0x05, 0x23, 0x8a, 0x88, 0x96, 0x71, 0xab, 0x33, 0xb1, 0x26, 0xe4,
-  0x71, 0x26, 0xc1, 0x0e, 0x8b, 0xd7, 0x75, 0x98, 0xd8, 0x48, 0x01, 0xe9,
-  0x90, 0x47, 0x66, 0xd7, 0x53, 0xbf, 0x12, 0xa4, 0x37, 0xfc, 0xaa, 0xcf,
-  0x53, 0x70, 0x6d, 0x06, 0x8f, 0x3f, 0xa2, 0x40, 0x56, 0x68, 0xcd, 0x50,
-  0x56, 0x28, 0x9b, 0x72, 0x3b, 0xb9, 0xc8, 0x28, 0x71, 0xeb, 0x96, 0x84,
-  0x29, 0x65, 0x66, 0x27, 0xdc, 0xc0, 0x56, 0x3e, 0xcc, 0x04, 0xb7, 0x08,
-  0x37, 0x35, 0xf1, 0xcb, 0x06, 0x3a, 0x8d, 0xd9, 0x19, 0xdb, 0xca, 0xdd,
-  0x96, 0x4a, 0x35, 0x90, 0xbd, 0xe1, 0x9e, 0xd1, 0xc5, 0xdf, 0x30, 0x05,
-  0x46, 0xe2, 0xab, 0xd7, 0x60, 0xc2, 0x13, 0x66, 0x4b, 0xfa, 0x74, 0xd7,
-  0x1b, 0x71, 0x41, 0x1f, 0xae, 0x43, 0x17, 0x35, 0xfc, 0xdc, 0xce, 0xac,
-  0xb9, 0x4b, 0xef, 0x43, 0x45, 0x7d, 0x77, 0xf0, 0xf4, 0xc5, 0x8b, 0xd6,
-  0x8d, 0x5e, 0x7b, 0xac, 0xa0, 0xcf, 0x76, 0x77, 0x39, 0xeb, 0xbc, 0xfb,
-  0x9a, 0xf9, 0xc5, 0xe0, 0x05, 0x5e, 0x6c, 0xbf, 0x56, 0x67, 0x66, 0x09,
-  0xa6, 0xab, 0xdf, 0x1b, 0xd0, 0x6f, 0x22, 0x9f, 0x83, 0xd7, 0x65, 0xe5,
-  0x5b, 0x2f, 0xe8, 0x73, 0x91, 0xb7, 0x38, 0x21, 0x1e, 0xd3, 0x58, 0x5e,
-  0x5d, 0x91, 0xbb, 0x8b, 0x9e, 0xc4, 0xc5, 0x67, 0x76, 0xc4, 0x5d, 0x5a,
-  0x4d, 0xc3, 0xe1, 0xee, 0xf6, 0x07, 0x7b, 0xab, 0x86, 0x0b, 0x5a, 0x53,
-  0xc0, 0x5b, 0x68, 0x3d, 0xc9, 0x9a, 0x34, 0xb6, 0x04, 0x83, 0x98, 0xbb,
-  0x0d, 0xed, 0x99, 0x1e, 0xed, 0xbd, 0x78, 0xd1, 0xa7, 0x9e, 0x3d, 0x7b,
-  0xf1, 0x62, 0x65, 0xd2, 0x9a, 0xf7, 0x99, 0xbb, 0xd2, 0x39, 0xa9, 0xe8,
-  0x75, 0xb7, 0x69, 0x6a, 0x32, 0x59, 0xe2, 0xdf, 0xa1, 0xdf, 0xbc, 0x4a,
-  0xde, 0x9d, 0x5d, 0x1e, 0x7b, 0xee, 0x1b, 0x1c, 0x2f, 0x0e, 0x5f, 0x7a,
-  0xf6, 0x28, 0xe2, 0xc1, 0x0b, 0x54, 0xa6, 0x80, 0x69, 0x4c, 0xb6, 0x56,
-  0x88, 0x72, 0x00, 0xa0, 0x56, 0xfd, 0x86, 0xff, 0xd2, 0xfd, 0xdc, 0x19,
-  0xc0, 0xcb, 0xd3, 0xfc, 0x3a, 0x6f, 0x7c, 0x26, 0x85, 0x2d, 0xb3, 0xda,
-  0x5c, 0x7a, 0xfe, 0x36, 0x9d, 0xe5, 0x36, 0xb4, 0xb3, 0x59, 0x13, 0x00,
-  0x95, 0x69, 0x15, 0x37, 0xc9, 0x30, 0xda, 0x0c, 0x20, 0xa0, 0xd9, 0x6c,
-  0x5a, 0xeb, 0x45, 0xc8, 0x8f, 0x0f, 0xf0, 0xa0, 0x9c, 0x16, 0xd8, 0xb3,
-  0x5c, 0xfe, 0x32, 0x85, 0x73, 0x99, 0x3f, 0xbd, 0x3a, 0xb8, 0x43, 0x92,
-  0x90, 0x91, 0x67, 0x8a, 0x1e, 0xa7, 0x76, 0x7c, 0xde, 0xc5, 0xcd, 0xda,
-  0xb9, 0x45, 0xad, 0x0f, 0xaf, 0x88, 0x03, 0x1e, 0x10, 0x51, 0x98, 0x66,
-  0x0b, 0xe5, 0x27, 0x2c, 0xda, 0xed, 0x98, 0xbd, 0x7c, 0x95, 0x5f, 0x2f,
-  0xab, 0x38, 0xb8, 0xea, 0xcf, 0x0e, 0xca, 0xac, 0x14, 0xb8, 0xe9, 0x5d,
-  0x5a, 0x65, 0x5a, 0xb2, 0xa5, 0xb8, 0xb7, 0x07, 0x5b, 0xed, 0x64, 0x85,
-  0x2c, 0x83, 0xa0, 0x38, 0xf0, 0x8b, 0x91, 0xc9, 0x7c, 0x65, 0x74, 0x19,
-  0x38, 0x13, 0x04, 0x60, 0x22, 0x54, 0xbc, 0x69, 0xe3, 0x70, 0xe3, 0xea,
-  0x6a, 0x37, 0xeb, 0x4d, 0xd7, 0x69, 0x2a, 0x53, 0xd0, 0x8d, 0xe2, 0x95,
-  0xcb, 0x4d, 0x8f, 0x71, 0x82, 0x9e, 0x84, 0x4f, 0xe6, 0xa6, 0xf4, 0x48,
-  0xaf, 0xc3, 0xc4, 0x52, 0x49, 0x8d, 0x87, 0xf4, 0xe1, 0x25, 0x9a, 0x1a,
-  0x25, 0x7a, 0x56, 0xa6, 0x53, 0x71, 0xaf, 0xb8, 0xd0, 0x3e, 0x6b, 0x07,
-  0x42, 0x02, 0x22, 0x6b, 0x1b, 0x10, 0xa4, 0xd2, 0x52, 0xcb, 0x2a, 0x9b,
-  0xcd, 0xac, 0x65, 0x64, 0x75, 0x93, 0x96, 0x85, 0xd5, 0x92, 0x58, 0x4e,
-  0x99, 0x8f, 0x70, 0x1e, 0xef, 0xf6, 0x30, 0xe2, 0x06, 0xa0, 0x0d, 0xcf,
-  0xab, 0x65, 0x59, 0x9b, 0x51, 0x04, 0x8a, 0x2e, 0x49, 0xcf, 0xeb, 0x91,
-  0x8c, 0x4e, 0xfe, 0xe7, 0xf1, 0xef, 0x19, 0x02, 0xab, 0xd2, 0x3b, 0x9b,
-  0xdc, 0x20, 0xf5, 0xb4, 0x25, 0x34, 0x65, 0xb3, 0x69, 0xd3, 0x99, 0x98,
-  0xf1, 0x54, 0x34, 0x17, 0xb7, 0x07, 0x82, 0x9c, 0x52, 0xe3, 0xcd, 0x6c,
-  0xac, 0x70, 0x6f, 0x17, 0x8d, 0x14, 0x5d, 0x51, 0xe7, 0x22, 0x73, 0x9b,
-  0x02, 0x98, 0xce, 0xc0, 0x22, 0x5d, 0x4c, 0x2e, 0xda, 0x0b, 0xfb, 0x9e,
-  0x1c, 0xc3, 0x60, 0x90, 0x08, 0xca, 0x37, 0x81, 0xa9, 0x88, 0xba, 0x65,
-  0x7a, 0xfb, 0x40, 0x91, 0x1d, 0x3f, 0x1f, 0x10, 0x75, 0x19, 0xab, 0x8c,
-  0xe2, 0x65, 0x55, 0xf2, 0xf2, 0xfd, 0xc5, 0xe9, 0x8a, 0xa4, 0x8e, 0x11,
-  0x56, 0x81, 0xa6, 0xab, 0x77, 0x91, 0x81, 0x8e, 0xa4, 0x4a, 0xce, 0xd3,
-  0xeb, 0xac, 0xe7, 0xb3, 0xba, 0xa8, 0xb2, 0x88, 0x09, 0x10, 0x1f, 0x44,
-  0xcc, 0x53, 0xe4, 0xd3, 0x48, 0x93, 0x18, 0x77, 0x51, 0x6a, 0x3f, 0x15,
-  0xe3, 0x6a, 0x96, 0xca, 0xec, 0x2d, 0x2b, 0x54, 0x8b, 0xfe, 0x21, 0x5a,
-  0x8b, 0x41, 0x7c, 0x42, 0x6d, 0x32, 0x2e, 0x07, 0xa8, 0xa2, 0x00, 0x11,
-  0xaa, 0x85, 0xf6, 0xbe, 0x20, 0x37, 0x7d, 0xcf, 0x23, 0xa0, 0x1a, 0x64,
-  0x31, 0x5e, 0x65, 0x9e, 0x0a, 0xa6, 0x0e, 0xb2, 0x6e, 0x25, 0x76, 0xf9,
-  0xb7, 0xdc, 0xfc, 0x75, 0xa6, 0x41, 0xa2, 0x8c, 0x48, 0xd7, 0xea, 0x48,
-  0x15, 0x52, 0x9c, 0x61, 0x4a, 0x71, 0x2f, 0x39, 0xd6, 0x91, 0x26, 0xa7,
-  0xd2, 0xbf, 0x03, 0x89, 0xc8, 0xb0, 0x22, 0x64, 0xbb, 0x26, 0x61, 0x73,
-  0xc5, 0xbb, 0xc7, 0x06, 0x9b, 0xce, 0x88, 0xe0, 0xdd, 0x7a, 0xb2, 0x68,
-  0x9c, 0xd3, 0x92, 0x48, 0xc1, 0xa9, 0x3f, 0x69, 0x61, 0x9d, 0xce, 0xad,
-  0x95, 0xfd, 0xdd, 0x19, 0x88, 0x5c, 0xa0, 0xe8, 0xb0, 0x2f, 0x55, 0x0b,
-  0x06, 0x66, 0x77, 0x14, 0x92, 0xad, 0xe7, 0x2d, 0xab, 0xb7, 0xf7, 0xfe,
-  0xa3, 0x1f, 0x25, 0xb2, 0x5e, 0x41, 0xbe, 0xe7, 0x75, 0xb7, 0x01, 0xc6,
-  0x19, 0x1b, 0xe6, 0xac, 0xdf, 0xe1, 0xd2, 0x76, 0x79, 0x3d, 0x72, 0x5f,
-  0x46, 0x7d, 0x8b, 0x03, 0x2f, 0x4e, 0x9d, 0x1c, 0x71, 0x86, 0xc9, 0xe0,
-  0x75, 0x6e, 0xee, 0x91, 0x9a, 0xa9, 0x12, 0xd8, 0x31, 0xc0, 0x58, 0x5c,
-  0x7b, 0x10, 0x93, 0xb0, 0x5a, 0x8a, 0xc6, 0x53, 0x80, 0xa4, 0xb3, 0xaf,
-  0xd8, 0xe8, 0x8e, 0xd9, 0x13, 0xab, 0x59, 0xb5, 0x94, 0x1a, 0xcf, 0x29,
-  0x0d, 0xa9, 0xf3, 0x5a, 0x48, 0x71, 0x53, 0xfc, 0x5b, 0xce, 0x87, 0xb9,
-  0x15, 0x22, 0xf3, 0xa3, 0x0c, 0x06, 0x80, 0xf1, 0x38, 0x5e, 0x01, 0xa9,
-  0x2a, 0x10, 0x98, 0x9b, 0x96, 0x9c, 0x48, 0xf3, 0x56, 0xba, 0x7e, 0x60,
-  0xd3, 0x25, 0x4b, 0xed, 0xce, 0x31, 0x16, 0xe6, 0xdd, 0xe1, 0x14, 0x9a,
-  0x89, 0x69, 0x78, 0xd8, 0xf1, 0x8c, 0x2b, 0x2d, 0xfd, 0x0a, 0x94, 0x61,
-  0x6b, 0x54, 0xcd, 0x8d, 0x46, 0xe3, 0x65, 0xa1, 0x28, 0x8a, 0x50, 0x94,
-  0x92, 0x89, 0x1e, 0x8b, 0xe9, 0x03, 0x50, 0x64, 0x9e, 0xf0, 0xee, 0x41,
-  0x06, 0x90, 0x24, 0x7f, 0x1c, 0x38, 0x52, 0xf0, 0xad, 0xfb, 0xcc, 0xe8,
-  0xd8, 0x96, 0x9f, 0x43, 0x8d, 0xa9, 0x48, 0x8e, 0x4a, 0xc2, 0x05, 0xaf,
-  0xea, 0x16, 0xd3, 0x31, 0xcc, 0x10, 0x2f, 0x06, 0xc9, 0x53, 0x6e, 0x34,
-  0x01, 0xa2, 0xd5, 0x5d, 0x16, 0xd9, 0x27, 0xa2, 0x7a, 0x5c, 0xdd, 0x5c,
-  0xa8, 0x68, 0xff, 0x70, 0x78, 0xf1, 0xee, 0xe4, 0xdd, 0x37, 0x07, 0xc9,
-  0xf1, 0xa7, 0xac, 0x9a, 0x50, 0x71, 0xc6, 0xbf, 0x2e, 0xa7, 0xf9, 0x04,
-  0x82, 0x42, 0x6a, 0xde, 0xf9, 0xb9, 0x44, 0xc6, 0x14, 0xc8, 0xc4, 0xcb,
-  0x4a, 0x97, 0x6e, 0x20, 0xdf, 0x05, 0x8c, 0x4a, 0x5c, 0x96, 0xc6, 0x92,
-  0x2a, 0xaf, 0x97, 0xde, 0xf6, 0x99, 0x70, 0x95, 0x1e, 0x04, 0x0c, 0x10,
-  0x4d, 0xbd, 0x91, 0xb9, 0x26, 0xd7, 0x6b, 0xf2, 0xfa, 0xf4, 0x34, 0xe4,
-  0xd8, 0x43, 0xc9, 0x48, 0xee, 0x3e, 0x27, 0x24, 0xa1, 0x09, 0xb3, 0xf9,
-  0xeb, 0x7c, 0xcc, 0xb0, 0x27, 0x52, 0x01, 0x48, 0xda, 0xb4, 0x44, 0x1e,
-  0x7c, 0x2b, 0xa6, 0x2b, 0xdd, 0x45, 0x06, 0x4e, 0x16, 0x68, 0x45, 0xac,
-  0x70, 0x5e, 0x4d, 0x61, 0x10, 0x19, 0x19, 0x59, 0x5e, 0x35, 0xa4, 0x23,
-  0xb5, 0x6e, 0xd3, 0x36, 0xc9, 0xfd, 0xda, 0x48, 0xc2, 0x0d, 0x9b, 0x3a,
-  0xad, 0x0c, 0xef, 0x89, 0xad, 0x2b, 0x4d, 0x97, 0x2e, 0x2b, 0x87, 0x28,
-  0x8f, 0x10, 0x0b, 0xa3, 0x4d, 0xb3, 0xd4, 0x56, 0x7c, 0xac, 0x49, 0x5e,
-  0x86, 0x02, 0xe3, 0x2e, 0xab, 0x32, 0x57, 0xa5, 0x1d, 0xb9, 0x4e, 0x46,
-  0xdc, 0x0d, 0x93, 0x51, 0x69, 0x9e, 0x0f, 0xb5, 0x2c, 0x5b, 0x44, 0xa8,
-  0x55, 0x91, 0x14, 0xdd, 0x71, 0x40, 0x2f, 0x94, 0x57, 0x40, 0x74, 0xae,
-  0x3d, 0xde, 0x48, 0x09, 0x43, 0xda, 0xff, 0xe3, 0xcc, 0x2a, 0x15, 0xf7,
-  0x1a, 0xff, 0xa1, 0x4d, 0xd2, 0x1b, 0x18, 0x81, 0xda, 0x43, 0x69, 0x18,
-  0x2a, 0xac, 0xe8, 0xb5, 0xf4, 0x40, 0x79, 0x30, 0x1f, 0x66, 0xdd, 0x1d,
-  0xf0, 0x03, 0x45, 0x57, 0xd4, 0xf2, 0xf4, 0xdc, 0xa7, 0x52, 0xfa, 0xc2,
-  0xc6, 0x54, 0x59, 0x26, 0x11, 0x2b, 0x42, 0xd6, 0x04, 0xa1, 0xf2, 0x33,
-  0x5b, 0xd5, 0x08, 0x8f, 0xf9, 0x09, 0x7d, 0xfe, 0xeb, 0x72, 0xe3, 0xf4,
-  0x9d, 0x87, 0x81, 0xf4, 0x82, 0x20, 0xa9, 0xcc, 0xd8, 0x79, 0xc3, 0xed,
-  0x18, 0xd0, 0x47, 0xe4, 0x22, 0x5f, 0x49, 0xb5, 0x51, 0xaf, 0xa7, 0x0f,
-  0x4a, 0xbe, 0xa1, 0x16, 0x82, 0xea, 0xde, 0xd2, 0xb4, 0xa0, 0xbe, 0x57,
-  0x9c, 0x9b, 0x83, 0x30, 0x49, 0xbd, 0x92, 0xdf, 0x5e, 0x5c, 0x13, 0x3a,
-  0x01, 0x92, 0x27, 0xc3, 0xe6, 0x3c, 0x2a, 0xb1, 0xd5, 0x42, 0x58, 0x62,
-  0x37, 0x79, 0x71, 0x5b, 0x7e, 0xe4, 0x1b, 0x5f, 0x72, 0x33, 0x83, 0x14,
-  0x5f, 0x9f, 0x2b, 0x2b, 0x8a, 0x5a, 0x53, 0x62, 0x04, 0xee, 0x3b, 0xdf,
-  0x58, 0x1e, 0x10, 0xde, 0x0c, 0x46, 0x42, 0x32, 0x96, 0x53, 0xde, 0x5e,
-  0x4f, 0x9d, 0xe6, 0xec, 0x59, 0xea, 0x6b, 0x8d, 0xcc, 0x24, 0x9b, 0x51,
-  0x09, 0x6f, 0x47, 0x2f, 0x6f, 0xe9, 0x72, 0xe4, 0xb6, 0x01, 0x1a, 0x55,
-  0xa3, 0x98, 0xab, 0x6f, 0x92, 0x61, 0xb7, 0x08, 0x57, 0xc7, 0x90, 0x45,
-  0x04, 0x94, 0x63, 0x4f, 0x93, 0x9b, 0xb2, 0x8c, 0x5e, 0xdc, 0xee, 0x0e,
-  0x81, 0x52, 0x83, 0xcc, 0xdd, 0x15, 0x1a, 0x84, 0xa5, 0x39, 0x71, 0x81,
-  0xc8, 0x00, 0x71, 0x6c, 0x49, 0x91, 0x44, 0x1f, 0xf4, 0x18, 0xc9, 0xda,
-  0xb7, 0x1b, 0x77, 0x28, 0xb8, 0x9b, 0x63, 0x30, 0x07, 0xfe, 0x5d, 0xe7,
-  0x3e, 0x6e, 0x5a, 0x39, 0x9e, 0xfe, 0xa4, 0x44, 0x2f, 0x3b, 0x46, 0xc4,
-  0x39, 0x9c, 0x24, 0xf6, 0x0d, 0x0c, 0xa7, 0xa2, 0x1d, 0xd6, 0x40, 0x3f,
-  0xf3, 0x06, 0x02, 0xe4, 0x8f, 0xfb, 0xbb, 0xab, 0x84, 0x3c, 0x2b, 0xb2,
-  0x5a, 0x36, 0x81, 0x8e, 0xa3, 0x35, 0xd0, 0xf9, 0x22, 0x74, 0xf9, 0xb1,
-  0x74, 0x81, 0x2c, 0x17, 0x09, 0x0a, 0x73, 0x50, 0x59, 0x97, 0x15, 0xf3,
-  0x3f, 0xfc, 0x67, 0x54, 0xf3, 0x71, 0xf2, 0xeb, 0xc2, 0x5b, 0x63, 0x6a,
-  0x29, 0x5a, 0xaf, 0x81, 0x65, 0x89, 0xe7, 0x2e, 0xf1, 0xb4, 0x76, 0xa7,
-  0x37, 0xc0, 0xba, 0x87, 0xb0, 0x63, 0x34, 0x42, 0x1e, 0x8a, 0x64, 0x63,
-  0xd7, 0xce, 0x17, 0x11, 0x81, 0x65, 0x0f, 0x81, 0x60, 0x7e, 0xe9, 0x96,
-  0xb2, 0xb0, 0x5d, 0x8d, 0x3d, 0x87, 0x9b, 0xd6, 0x93, 0xa5, 0x6c, 0x92,
-  0xa7, 0x02, 0x20, 0xc5, 0x9c, 0xd0, 0xb7, 0xda, 0x57, 0x23, 0xb0, 0x69,
-  0x83, 0xa8, 0xcf, 0x5f, 0x6b, 0x1a, 0x86, 0x09, 0x7e, 0xb0, 0xa6, 0x1c,
-  0x4f, 0x6d, 0x8f, 0x5f, 0xef, 0x25, 0x5b, 0x24, 0x57, 0xb7, 0x55, 0x7b,
-  0x0d, 0xe3, 0xfd, 0xae, 0x52, 0x2e, 0x04, 0x70, 0x5a, 0x07, 0x60, 0x5e,
-  0xe8, 0xaf, 0x89, 0x31, 0xf4, 0x2a, 0xa3, 0x02, 0x2c, 0x67, 0x69, 0x45,
-  0xb2, 0xdd, 0x7c, 0xf2, 0x6a, 0x39, 0x8b, 0x99, 0x3a, 0x38, 0xdb, 0xb6,
-  0xc0, 0x58, 0x5e, 0xd7, 0x4b, 0xa5, 0xf9, 0x75, 0xe9, 0xf0, 0x42, 0x8f,
-  0x34, 0x33, 0x3d, 0x02, 0x57, 0xef, 0x8c, 0x8b, 0xb0, 0x44, 0xf7, 0x2e,
-  0x1c, 0xc4, 0x5c, 0x95, 0x53, 0x54, 0x4c, 0xb6, 0xa4, 0xb8, 0x6f, 0x55,
-  0x76, 0x4d, 0x5d, 0x92, 0x1d, 0xbe, 0x40, 0x49, 0x24, 0x52, 0xa4, 0xe8,
-  0xba, 0xea, 0x34, 0xd7, 0x3b, 0x3b, 0xbf, 0x3c, 0x39, 0x7b, 0x37, 0x4a,
-  0xfe, 0xad, 0xb7, 0x36, 0x41, 0xa9, 0x4d, 0xa6, 0xf8, 0x63, 0xdf, 0xad,
-  0x49, 0xf2, 0x52, 0xbc, 0x0d, 0xab, 0xec, 0x63, 0x4f, 0x87, 0x9f, 0x98,
-  0xfb, 0xdb, 0x08, 0x58, 0x7d, 0x53, 0x48, 0x68, 0x64, 0xb1, 0x3a, 0xbc,
-  0x39, 0x81, 0xbe, 0xec, 0xa7, 0xa7, 0xfa, 0x76, 0x34, 0x4b, 0x7b, 0x67,
-  0xb6, 0x74, 0x5a, 0x5f, 0x21, 0x83, 0x21, 0xfb, 0x9c, 0xfd, 0x62, 0x81,
-  0x2a, 0xf2, 0x96, 0x2b, 0x1d, 0x8e, 0x07, 0xb7, 0xa4, 0x56, 0x2e, 0xab,
-  0x5a, 0x75, 0x88, 0x26, 0xfc, 0xe6, 0xf8, 0x72, 0x7b, 0x98, 0x5c, 0x68,
-  0x2e, 0xb7, 0xe2, 0x53, 0xad, 0xe2, 0x93, 0x5a, 0xdd, 0x4c, 0xa8, 0x2b,
-  0xc5, 0x93, 0x61, 0xf4, 0xe7, 0x59, 0x5a, 0x44, 0x93, 0xb0, 0x48, 0xa7,
-  0xa5, 0x12, 0xbe, 0x24, 0x89, 0x55, 0x26, 0xab, 0x0f, 0xc5, 0x23, 0x4a,
-  0x67, 0x0a, 0x89, 0xf3, 0xf7, 0x97, 0x68, 0xf0, 0xf5, 0xf1, 0xe9, 0xf1,
-  0xe5, 0x71, 0xd7, 0x7a, 0x1f, 0x33, 0xed, 0x16, 0xb2, 0x6f, 0x9a, 0x6c,
-  0x72, 0x53, 0x94, 0xb3, 0xf2, 0x3a, 0x97, 0x22, 0x66, 0xc9, 0x0f, 0xd9,
-  0xf8, 0xf5, 0xe1, 0xf7, 0xa4, 0x51, 0x90, 0xdf, 0xe9, 0xfc, 0xe2, 0xec,
-  0xfc, 0xcd, 0xc9, 0xbb, 0xd7, 0xfd, 0xe4, 0xe8, 0xec, 0xfc, 0xcf, 0xfd,
-  0xe4, 0xed, 0xd9, 0xf7, 0xc7, 0x11, 0xd4, 0x35, 0xf1, 0xd6, 0x46, 0x8a,
-  0x28, 0x4b, 0x31, 0x21, 0xbe, 0xd0, 0xd8, 0xfc, 0x46, 0xed, 0xd2, 0xce,
-  0x45, 0x42, 0x69, 0x09, 0x75, 0x29, 0x12, 0xd7, 0xcc, 0x5d, 0x3f, 0xf9,
-  0xf6, 0xf8, 0xf0, 0x75, 0x3f, 0x20, 0x2d, 0x1d, 0xf1, 0xa8, 0x68, 0x74,
-  0x76, 0xc8, 0xa0, 0xba, 0x64, 0xfb, 0x03, 0x5a, 0x02, 0x87, 0xba, 0xf8,
-  0xc8, 0x9a, 0x0d, 0x8b, 0xba, 0x2f, 0xd3, 0x55, 0x08, 0x0a, 0xa1, 0xc8,
-  0x5d, 0x59, 0x36, 0xb0, 0x95, 0x09, 0x02, 0x85, 0x4d, 0x55, 0xed, 0x36,
-  0xb7, 0x04, 0xf0, 0xfe, 0x36, 0xdd, 0x4f, 0x97, 0x3c, 0xce, 0x6d, 0xd0,
-  0x6f, 0x95, 0x9f, 0x81, 0x40, 0x62, 0x17, 0x64, 0x2a, 0x55, 0x97, 0x40,
-  0x4f, 0x4f, 0x20, 0xa0, 0x11, 0x53, 0x7b, 0x2a, 0xa5, 0x5d, 0xa4, 0x68,
-  0xbb, 0xaf, 0x28, 0x94, 0x4a, 0xa1, 0x2a, 0x34, 0x13, 0x34, 0x85, 0xee,
-  0x9b, 0x52, 0x46, 0xe0, 0x47, 0xfe, 0x71, 0x04, 0x77, 0xcd, 0x65, 0x50,
-  0xae, 0xcc, 0xe6, 0xcc, 0x18, 0x5d, 0x85, 0x75, 0x72, 0xee, 0x81, 0x64,
-  0x70, 0xa2, 0xce, 0x89, 0x75, 0x6a, 0x96, 0x1c, 0x18, 0x71, 0xd0, 0x80,
-  0xd6, 0x42, 0x1d, 0x57, 0x6d, 0x39, 0x61, 0x21, 0x5d, 0x72, 0xf6, 0xae,
-  0x02, 0xd9, 0x06, 0x3a, 0x4c, 0x5d, 0xe7, 0xbe, 0xad, 0x13, 0x29, 0xce,
-  0x9c, 0x2b, 0xc7, 0xf5, 0xc7, 0x68, 0xdd, 0xb6, 0x5f, 0x2b, 0x2c, 0x0d,
-  0xce, 0x81, 0x01, 0x23, 0x4d, 0x0a, 0x71, 0x8d, 0x52, 0x08, 0x6e, 0xc0,
-  0xf6, 0xb4, 0x8f, 0x10, 0xb6, 0xc5, 0xe3, 0x34, 0xed, 0x58, 0xba, 0x10,
-  0xaf, 0x75, 0xeb, 0xea, 0x60, 0xf9, 0x3e, 0xbd, 0x27, 0xbb, 0x9f, 0x9c,
-  0xb7, 0x9d, 0x34, 0x8a, 0x3a, 0x19, 0x08, 0x87, 0xe8, 0xdc, 0x5c, 0x85,
-  0xa1, 0x9f, 0x69, 0xeb, 0xcd, 0x0a, 0xe1, 0xe8, 0xfb, 0x6f, 0x65, 0x31,
-  0x3c, 0x74, 0xf8, 0xe9, 0x89, 0x39, 0x12, 0x91, 0x34, 0xfe, 0x69, 0x89,
-  0x82, 0x88, 0x80, 0x1c, 0xe4, 0x7a, 0x9d, 0x50, 0x5b, 0xe1, 0x87, 0xa9,
-  0x40, 0x68, 0xf4, 0xcb, 0xa8, 0x1c, 0xfa, 0xc0, 0xa7, 0x83, 0x35, 0xbb,
-  0x38, 0xbe, 0xbc, 0x18, 0x26, 0x5b, 0x3e, 0x43, 0xdd, 0xf3, 0xe1, 0x6e,
-  0x18, 0xbe, 0xa1, 0xe2, 0xa4, 0xdb, 0x89, 0xf7, 0x59, 0xf7, 0x5d, 0xd4,
-  0x2d, 0x5d, 0xff, 0xdd, 0x10, 0x77, 0xec, 0xb1, 0x52, 0xec, 0xc6, 0xbe,
-  0xe7, 0x17, 0x40, 0x6d, 0x8d, 0x92, 0x7e, 0xb1, 0xe6, 0x6b, 0xdf, 0x1e,
-  0x9f, 0x9e, 0x87, 0xa3, 0xfc, 0xfe, 0xe2, 0xcd, 0x9f, 0xdb, 0xa3, 0x7c,
-  0xf2, 0x34, 0xf2, 0xd5, 0xdf, 0xd2, 0xb5, 0x9e, 0xd5, 0xe5, 0xcc, 0xe8,
-  0x2c, 0x48, 0x2e, 0x41, 0x6e, 0xc9, 0x81, 0xb9, 0x04, 0x08, 0x9b, 0xfe,
-  0x65, 0xc8, 0xac, 0x0a, 0xe7, 0x0c, 0x45, 0xba, 0x64, 0x8c, 0x89, 0x3c,
-  0x2a, 0x50, 0x4c, 0xcf, 0xfe, 0x46, 0x0e, 0x0f, 0x92, 0x96, 0x28, 0x74,
-  0xb1, 0x48, 0xf3, 0xc0, 0x0f, 0xfd, 0xde, 0xe2, 0xab, 0x5d, 0xd2, 0x19,
-  0xe4, 0x8c, 0xd8, 0x6d, 0x33, 0x7b, 0x42, 0xb7, 0xea, 0x6d, 0xa9, 0xaa,
-  0x96, 0x26, 0x2b, 0xa3, 0xfb, 0xb6, 0x27, 0xb8, 0xee, 0xc8, 0x25, 0x0c,
-  0x2e, 0x17, 0xc2, 0x24, 0xd9, 0x2b, 0xb6, 0xd0, 0x6b, 0x43, 0x06, 0x3d,
-  0xb5, 0x6f, 0x05, 0xf7, 0xac, 0x4d, 0xda, 0x3c, 0x92, 0x88, 0x3a, 0x6c,
-  0x2f, 0xdc, 0x25, 0x28, 0x7f, 0x97, 0x35, 0x93, 0x1d, 0xae, 0x6e, 0x1f,
-  0x54, 0x28, 0x88, 0xb9, 0xbd, 0xca, 0xa2, 0x03, 0xa7, 0xa5, 0xeb, 0x81,
-  0x5d, 0xcf, 0x7e, 0x2e, 0x8e, 0xab, 0x9b, 0xe0, 0x29, 0xea, 0xd4, 0x8f,
-  0x48, 0xf8, 0xdd, 0x2f, 0x53, 0xe0, 0xf2, 0x58, 0x94, 0xd6, 0xba, 0xb5,
-  0xde, 0x78, 0x61, 0xc8, 0x65, 0xaf, 0x91, 0x37, 0x17, 0x71, 0xaa, 0xb0,
-  0x54, 0xd6, 0x1d, 0x64, 0x39, 0x52, 0xaf, 0x5a, 0x1e, 0x17, 0xf5, 0xcf,
-  0xe9, 0xb4, 0x49, 0x3f, 0xba, 0x1a, 0x3c, 0xa9, 0xd7, 0xe8, 0x04, 0xf3,
-  0x9d, 0xaa, 0xf9, 0xbe, 0x40, 0xe5, 0xeb, 0x78, 0x01, 0x09, 0xd1, 0x7a,
-  0xb5, 0x61, 0x12, 0xed, 0x6d, 0x9a, 0xea, 0xf6, 0x80, 0xd4, 0xf9, 0x3e,
-  0x78, 0x1a, 0x06, 0x10, 0xf2, 0xc5, 0xed, 0x53, 0x78, 0x6c, 0x9e, 0xf7,
-  0xf9, 0x5f, 0xcf, 0x5d, 0x6e, 0x86, 0x67, 0x95, 0xb0, 0xde, 0xce, 0x6a,
-  0xee, 0xc9, 0xb9, 0x66, 0x99, 0x06, 0xec, 0xca, 0x1e, 0x5d, 0x28, 0xf7,
-  0x52, 0x35, 0x76, 0xf3, 0x8e, 0xf6, 0x96, 0x64, 0xa0, 0x39, 0xac, 0x7f,
-  0x19, 0x57, 0x54, 0xfa, 0xab, 0xa9, 0x7f, 0x5e, 0x97, 0xd3, 0x6b, 0x94,
-  0xdc, 0xcf, 0x86, 0xbb, 0x6b, 0x49, 0xd1, 0x5b, 0xf8, 0x5d, 0x67, 0xbf,
-  0x31, 0xcd, 0x4e, 0xc2, 0x3f, 0xe2, 0x09, 0x16, 0x2c, 0x69, 0xb8, 0x7f,
-  0x65, 0x87, 0xaf, 0x25, 0x6a, 0xde, 0x1b, 0x3e, 0x69, 0x4b, 0x82, 0xa6,
-  0xba, 0x47, 0x42, 0x8a, 0x31, 0xef, 0x23, 0x9b, 0xee, 0xc4, 0xd3, 0x0f,
-  0xf5, 0x4e, 0xe2, 0xe9, 0x23, 0x08, 0x02, 0x7e, 0x6c, 0x8e, 0xb2, 0x22,
-  0x50, 0x92, 0x63, 0xca, 0x99, 0xb9, 0x38, 0x7e, 0xf3, 0x7e, 0x74, 0xfc,
-  0x1a, 0xd4, 0x52, 0x5d, 0xd5, 0x93, 0xa2, 0x6e, 0x39, 0xed, 0x0b, 0xf6,
-  0x6e, 0x37, 0x25, 0x2b, 0x25, 0xd2, 0x91, 0x76, 0x7d, 0x19, 0x2e, 0xa7,
-  0x83, 0xad, 0xdc, 0x94, 0xc6, 0xb4, 0x0a, 0xb3, 0x1c, 0x58, 0x11, 0x90,
-  0x77, 0x7f, 0x01, 0xf7, 0x02, 0x8f, 0x7a, 0x9a, 0x51, 0xe5, 0x85, 0x97,
-  0x8c, 0xa6, 0x08, 0x24, 0xdf, 0x5b, 0x8b, 0x6b, 0x36, 0x9b, 0x7b, 0x96,
-  0x65, 0x0b, 0x0d, 0x1e, 0xa7, 0xf3, 0x72, 0x59, 0xb0, 0x77, 0xcd, 0xac,
-  0x90, 0xfa, 0x94, 0xe0, 0xc1, 0x44, 0xbb, 0x7c, 0xf9, 0x47, 0x47, 0x4e,
-  0x0e, 0x14, 0x72, 0x1c, 0x10, 0x84, 0x59, 0x23, 0x68, 0x24, 0xdf, 0xdc,
-  0xb4, 0x28, 0xdb, 0xfe, 0x56, 0xde, 0xb4, 0xb5, 0xc3, 0x15, 0x55, 0x44,
-  0x50, 0x78, 0xce, 0x28, 0xd7, 0xdc, 0x97, 0x74, 0x76, 0x5d, 0x56, 0xa6,
-  0xd1, 0xb9, 0xcd, 0xc0, 0xab, 0x00, 0x9f, 0xa9, 0xb7, 0xbb, 0x95, 0x7b,
-  0x02, 0x51, 0x35, 0xbb, 0xe7, 0x48, 0x6a, 0xc6, 0x49, 0xc9, 0x74, 0xcc,
-  0x78, 0x9a, 0x80, 0xa2, 0xa4, 0x18, 0x13, 0x8b, 0xc6, 0x91, 0xa4, 0x12,
-  0x63, 0x2e, 0x78, 0x06, 0xc3, 0x8d, 0xf8, 0xf7, 0xac, 0x2a, 0xbb, 0x0e,
-  0x01, 0x55, 0xfc, 0xb4, 0xe7, 0x7e, 0xc7, 0xff, 0x99, 0xa5, 0x3a, 0xf6,
-  0xf6, 0x63, 0x27, 0x60, 0x9e, 0x7e, 0x82, 0x9b, 0x63, 0xe5, 0x76, 0x10,
-  0xa7, 0x1f, 0x4d, 0x08, 0x3e, 0x2f, 0xd5, 0x9e, 0x88, 0x13, 0xbf, 0x49,
-  0xfc, 0x64, 0x0b, 0x06, 0xb9, 0xd8, 0xe5, 0x16, 0x3f, 0x48, 0x80, 0x26,
-  0xe2, 0x75, 0xb1, 0xbd, 0x86, 0xaf, 0x29, 0xa5, 0x61, 0x92, 0x05, 0xb0,
-  0xc5, 0x05, 0x09, 0xf0, 0xb9, 0x6d, 0xfa, 0xf1, 0xac, 0xa4, 0x48, 0x57,
-  0x6d, 0xfd, 0x27, 0x91, 0x3a, 0xa2, 0xa4, 0x64, 0x56, 0xb4, 0x0b, 0x81,
-  0xe4, 0xb2, 0x00, 0x0e, 0x70, 0xab, 0x23, 0x35, 0x29, 0x9f, 0x88, 0xd7,
-  0x5c, 0x4b, 0x6f, 0x60, 0x14, 0xfc, 0x66, 0x20, 0x48, 0xb4, 0x9d, 0x8c,
-  0x1b, 0xe8, 0xb7, 0x39, 0x04, 0xa5, 0xd3, 0x48, 0xfb, 0xe3, 0x3c, 0x91,
-  0x1b, 0xb8, 0x41, 0x25, 0xf1, 0x3b, 0x62, 0x5d, 0x73, 0x06, 0x3d, 0xb9,
-  0xab, 0x90, 0x49, 0x43, 0xe3, 0x81, 0xa1, 0x92, 0x16, 0x7e, 0x67, 0xb1,
-  0x02, 0xa6, 0x91, 0xbc, 0x9c, 0x22, 0x07, 0x87, 0x89, 0xe1, 0xd3, 0x90,
-  0x33, 0x80, 0x98, 0x33, 0xa4, 0x37, 0x9b, 0xe4, 0xee, 0xfa, 0x94, 0xcf,
-  0x97, 0x73, 0xbc, 0xde, 0x67, 0xa5, 0x61, 0x30, 0x47, 0x95, 0x25, 0x5d,
-  0xd6, 0x21, 0x82, 0xa5, 0x52, 0x2f, 0xa2, 0xbb, 0xf7, 0x6d, 0xe8, 0x12,
-  0xdb, 0xb6, 0x61, 0xf0, 0x08, 0xbd, 0xc5, 0x84, 0xd2, 0x58, 0xa8, 0xff,
-  0xe3, 0x3b, 0x34, 0x79, 0x69, 0x34, 0x83, 0x2f, 0x23, 0x31, 0xcd, 0x98,
-  0xf8, 0xc8, 0x6b, 0x01, 0xcd, 0x66, 0x53, 0xcf, 0x14, 0xe1, 0x1d, 0x47,
-  0x37, 0x3a, 0x2f, 0xd3, 0x4a, 0x19, 0xe5, 0x4a, 0xa9, 0xf0, 0xa7, 0x31,
-  0x50, 0xe7, 0x41, 0xe4, 0x8b, 0x49, 0xb6, 0x3c, 0xad, 0x1c, 0x7c, 0x4f,
-  0xcb, 0x45, 0x70, 0x8d, 0x2a, 0xeb, 0x00, 0x94, 0x20, 0x79, 0xdf, 0x7c,
-  0x7e, 0x57, 0xa0, 0x15, 0x62, 0x1f, 0x91, 0xdf, 0x55, 0x66, 0x59, 0x5d,
-  0x21, 0x6d, 0x66, 0xec, 0xb6, 0xc8, 0x23, 0x51, 0xd6, 0xb9, 0x45, 0x98,
-  0x16, 0x80, 0xc9, 0x60, 0x0e, 0xcc, 0x84, 0xc8, 0xda, 0xf5, 0x99, 0x76,
-  0x02, 0x60, 0xbf, 0xa7, 0x9f, 0x3e, 0x85, 0x97, 0xa5, 0x33, 0xa8, 0xb8,
-  0x0c, 0x2e, 0x5b, 0x5b, 0xcf, 0x3e, 0x75, 0xac, 0xad, 0x61, 0xbc, 0x58,
-  0x2d, 0x5f, 0x0d, 0x24, 0x1d, 0xc7, 0x25, 0x07, 0x71, 0x78, 0xb6, 0xd2,
-  0xc8, 0x3c, 0xb2, 0x50, 0xb8, 0x4b, 0xf3, 0x58, 0x39, 0x1a, 0x81, 0xf3,
-  0xd9, 0x22, 0x5e, 0x1a, 0x64, 0x33, 0x7f, 0x36, 0x37, 0x46, 0x77, 0xa4,
-  0x39, 0xd4, 0x09, 0xb2, 0x61, 0xe4, 0x69, 0xb9, 0x84, 0x0b, 0x34, 0x9c,
-  0x27, 0xfa, 0x0a, 0x4f, 0x3b, 0x9d, 0x26, 0x73, 0x55, 0xe5, 0xa8, 0x8b,
-  0xcc, 0x67, 0xba, 0x4e, 0xf6, 0xcc, 0xf4, 0xe7, 0xc5, 0x92, 0x30, 0x7d,
-  0x1e, 0xfd, 0xa0, 0xa5, 0x51, 0x89, 0x4c, 0xfb, 0x0c, 0x58, 0x51, 0xcd,
-  0xe8, 0xa6, 0x83, 0x57, 0x7b, 0xc1, 0x25, 0x3e, 0x1e, 0xa8, 0xbf, 0x61,
-  0x2b, 0xbf, 0xf9, 0x17, 0x6c, 0x4c, 0xed, 0xb4, 0x51, 0x3c, 0xb9, 0x52,
-  0xb3, 0x4f, 0x66, 0xb6, 0x99, 0xe0, 0xdd, 0xdd, 0x68, 0xee, 0x36, 0x1b,
-  0x7a, 0xbc, 0xc4, 0x11, 0xe8, 0x48, 0x4b, 0x7e, 0xdb, 0x72, 0x12, 0x10,
-  0x71, 0x65, 0x23, 0x67, 0x91, 0xd3, 0x89, 0x25, 0xda, 0xf8, 0xdf, 0xe0,
-  0x4c, 0xd7, 0x69, 0x3d, 0x1b, 0xe4, 0x5d, 0x31, 0x7e, 0x0c, 0x38, 0x9a,
-  0x05, 0x93, 0xd8, 0x5d, 0x68, 0x9a, 0x18, 0x1d, 0x8e, 0x4e, 0x3b, 0x2c,
-  0x46, 0x6b, 0xd9, 0x14, 0xf7, 0xda, 0x1a, 0xcf, 0x6f, 0x40, 0x98, 0xa6,
-  0xc1, 0x19, 0xba, 0x47, 0x18, 0x6e, 0x41, 0x78, 0x60, 0x50, 0xf0, 0xad,
-  0xaa, 0x08, 0x53, 0x1f, 0xe0, 0xe3, 0x8e, 0x58, 0x2e, 0xe8, 0x0a, 0xf3,
-  0xf1, 0x00, 0xf6, 0xcf, 0x85, 0x7b, 0xd8, 0x7b, 0x1a, 0xe1, 0xec, 0x99,
-  0xee, 0x08, 0x86, 0xe4, 0xa1, 0x40, 0x2c, 0x73, 0xb0, 0xe9, 0xc8, 0x47,
-  0x64, 0x0f, 0x50, 0xfd, 0xa9, 0x41, 0x8c, 0x7e, 0xc6, 0xe2, 0xca, 0x44,
-  0x95, 0xac, 0xf1, 0x34, 0xe1, 0x49, 0xd8, 0xb1, 0xe6, 0x09, 0x2a, 0x6a,
-  0xc3, 0xc1, 0x32, 0x88, 0xcf, 0x34, 0x64, 0x3f, 0xe5, 0x68, 0xdd, 0x15,
-  0x57, 0x0f, 0xd2, 0x1e, 0x78, 0x6d, 0x76, 0x05, 0x64, 0xce, 0x9c, 0xb8,
-  0x55, 0xf2, 0xb7, 0x65, 0x6e, 0x6e, 0x27, 0xca, 0xdc, 0x19, 0x26, 0xaf,
-  0x19, 0x57, 0x24, 0x25, 0x78, 0xb8, 0x1e, 0x17, 0x8a, 0x76, 0x31, 0x70,
-  0x4d, 0x14, 0x44, 0xd3, 0x81, 0x20, 0x88, 0x62, 0x3a, 0x84, 0x94, 0xb0,
-  0xb7, 0x9c, 0x2f, 0x7b, 0x44, 0xdd, 0x9e, 0x9b, 0x93, 0x0e, 0xee, 0x14,
-  0xc9, 0xab, 0x03, 0x9c, 0x44, 0xc2, 0xce, 0x0a, 0x06, 0x07, 0xde, 0xb1,
-  0xfe, 0x18, 0xda, 0x9b, 0xfd, 0x56, 0xe1, 0x05, 0xd8, 0x5f, 0x62, 0x03,
-  0x34, 0x54, 0xb7, 0xa3, 0x48, 0x67, 0x3b, 0x75, 0x33, 0x25, 0xe9, 0xb7,
-  0x2c, 0x66, 0xd4, 0x4f, 0x6a, 0x49, 0x8b, 0xcc, 0x74, 0xe7, 0xa6, 0x89,
-  0x91, 0x9c, 0xf0, 0x0a, 0xb5, 0x96, 0x48, 0x42, 0xc0, 0xab, 0x02, 0x85,
-  0x1e, 0x08, 0x20, 0x24, 0xb3, 0xf1, 0x67, 0x8b, 0xec, 0x50, 0x1e, 0x2f,
-  0xe6, 0xb2, 0xb5, 0x6e, 0xeb, 0x72, 0xee, 0x6f, 0x69, 0xbd, 0xcc, 0x46,
-  0x1b, 0x97, 0xb5, 0x32, 0x21, 0x9a, 0x41, 0x9a, 0xd7, 0x5b, 0xe7, 0x09,
-  0xd4, 0x51, 0x0f, 0xb2, 0x73, 0x44, 0xca, 0x47, 0x3e, 0x7d, 0x90, 0x96,
-  0x83, 0xdf, 0x08, 0x8b, 0x24, 0xfe, 0x62, 0x62, 0x8e, 0x38, 0xf3, 0x10,
-  0x19, 0x92, 0x16, 0x3d, 0x27, 0xa0, 0x98, 0x16, 0x4b, 0x05, 0xeb, 0x99,
-  0xf7, 0x91, 0xa2, 0x38, 0x66, 0x33, 0x2d, 0x25, 0xd9, 0x7e, 0x32, 0x33,
-  0xc2, 0x3e, 0x62, 0x6b, 0x6a, 0x41, 0x24, 0xa2, 0xaf, 0xea, 0x77, 0xc5,
-  0x69, 0xbd, 0x24, 0xd5, 0x63, 0xb6, 0xa4, 0x2f, 0x33, 0xf3, 0x93, 0x65,
-  0x1e, 0xd2, 0x1c, 0xe1, 0x28, 0x5b, 0x97, 0xe5, 0xf7, 0xa0, 0x33, 0xea,
-  0x11, 0x97, 0x2d, 0xb5, 0x7c, 0x9a, 0x72, 0x7a, 0x75, 0xc9, 0xaf, 0x86,
-  0x2b, 0x7a, 0x47, 0x06, 0x61, 0xdf, 0x2f, 0x09, 0xea, 0x5b, 0xdf, 0x94,
-  0x0f, 0xa1, 0xdd, 0x69, 0x97, 0xd9, 0x8c, 0xb1, 0x31, 0xd9, 0xb8, 0x62,
-  0xab, 0x67, 0x7a, 0x77, 0x68, 0xe2, 0x2c, 0x30, 0xca, 0x3e, 0x7b, 0x17,
-  0x4a, 0x7f, 0x76, 0x07, 0xfb, 0xa8, 0x3a, 0xa0, 0x2b, 0x2b, 0x7f, 0x86,
-  0x44, 0x1d, 0xb1, 0x4a, 0xa0, 0xbe, 0x63, 0xd9, 0x1c, 0x08, 0xbf, 0xee,
-  0xe7, 0x3f, 0xf3, 0x3e, 0x7c, 0xd6, 0xae, 0x8f, 0x21, 0x54, 0x6c, 0xbf,
-  0xea, 0x40, 0xa5, 0x8f, 0x3b, 0x51, 0x2b, 0x80, 0xe9, 0xff, 0x77, 0x9e,
-  0xa8, 0x34, 0x79, 0xdc, 0x99, 0x4a, 0xbb, 0x87, 0x2a, 0x52, 0xbb, 0x75,
+  0xa3, 0x8e, 0xfa, 0xf3, 0xb3, 0xf3, 0x27, 0xdb, 0x36, 0x63, 0x87, 0x73,
+  0x1d, 0x24, 0x63, 0xcf, 0x52, 0xd9, 0xd8, 0x64, 0x3e, 0xe5, 0x09, 0x04,
+  0x6c, 0x3c, 0xf4, 0x2d, 0x4e, 0x32, 0x25, 0x76, 0xc7, 0xf7, 0xe0, 0x95,
+  0x75, 0xe0, 0x78, 0xaf, 0x32, 0x8f, 0x3b, 0x96, 0x8e, 0xba, 0x67, 0x23,
+  0xcc, 0x78, 0x16, 0xab, 0x43, 0x12, 0x86, 0x07, 0x80, 0xa3, 0x27, 0x6d,
+  0x7a, 0x6b, 0x82, 0x3c, 0x76, 0x3a, 0xd9, 0x4e, 0xd2, 0xf4, 0xc2, 0xc0,
+  0x02, 0xfb, 0x76, 0x0f, 0xc2, 0x6b, 0xac, 0xe8, 0x7c, 0xbe, 0x6f, 0x6d,
+  0x10, 0x8d, 0x5c, 0x5a, 0xb4, 0x6d, 0x99, 0xdb, 0x6f, 0xb8, 0xb2, 0x38,
+  0xa9, 0x65, 0x58, 0x6e, 0xa9, 0xcd, 0x52, 0x44, 0x23, 0x4d, 0xde, 0x9d,
+  0x8e, 0x2e, 0x7d, 0x4f, 0x3f, 0x1c, 0xba, 0x01, 0x02, 0xaa, 0xcd, 0x39,
+  0xe2, 0xc5, 0x8b, 0x4f, 0x4f, 0x46, 0x97, 0xc3, 0x18, 0x77, 0xf0, 0x41,
+  0x32, 0x2a, 0xe7, 0x7e, 0x39, 0xd4, 0x5a, 0xca, 0x55, 0x82, 0xda, 0x81,
+  0xc3, 0x17, 0xea, 0xcd, 0xcf, 0x2b, 0xdf, 0xd7, 0x1f, 0xec, 0x54, 0xea,
+  0xe2, 0x17, 0x8c, 0x6e, 0x12, 0x64, 0x94, 0x3a, 0xf2, 0xeb, 0xe5, 0x78,
+  0xe0, 0x91, 0xfc, 0xb0, 0xbe, 0x83, 0x8a, 0x11, 0x66, 0xf7, 0x9a, 0x1b,
+  0xea, 0x63, 0x68, 0x08, 0x6c, 0xc9, 0x7e, 0xe2, 0x8d, 0x24, 0x04, 0x4d,
+  0x2d, 0x8f, 0xe4, 0x24, 0xc9, 0x40, 0xf9, 0x06, 0x5f, 0x00, 0x3d, 0xfd,
+  0xa8, 0x4d, 0x45, 0x13, 0xd1, 0x99, 0x47, 0x29, 0x31, 0xd4, 0x06, 0x3a,
+  0x52, 0x64, 0xc5, 0x63, 0x25, 0x59, 0x17, 0x4c, 0xf2, 0x76, 0x21, 0xf4,
+  0x93, 0x1a, 0x75, 0x6a, 0x0b, 0xb6, 0x75, 0x6a, 0x63, 0x7a, 0xc3, 0x2d,
+  0x60, 0x7b, 0xbd, 0x8a, 0x83, 0x2e, 0x9f, 0x32, 0x47, 0x53, 0xdd, 0x26,
+  0x69, 0xe2, 0x34, 0x3c, 0x12, 0x39, 0x4c, 0x46, 0x4f, 0xd6, 0xeb, 0x8a,
+  0x95, 0x64, 0xbf, 0x49, 0x0b, 0xd2, 0x32, 0xf8, 0x81, 0x71, 0x52, 0x08,
+  0x66, 0xf4, 0x63, 0xd4, 0x21, 0xb1, 0x9c, 0x77, 0x9b, 0x0e, 0x5c, 0x24,
+  0xef, 0x8d, 0x69, 0xdb, 0x4d, 0x1b, 0x97, 0x72, 0xe1, 0x32, 0x54, 0x42,
+  0xc3, 0xaa, 0xd0, 0xc4, 0x8a, 0x6c, 0x86, 0x95, 0x0e, 0x72, 0xf3, 0xfd,
+  0x84, 0x55, 0xd7, 0x2b, 0x02, 0x80, 0x56, 0x29, 0x83, 0x7b, 0x98, 0x1c,
+  0x31, 0x27, 0x52, 0x07, 0x5b, 0x58, 0x85, 0x26, 0x42, 0x8e, 0xeb, 0xc7,
+  0x68, 0x0a, 0xe5, 0xaa, 0x8c, 0x1c, 0x3f, 0x9f, 0x77, 0xaf, 0xcd, 0xbd,
+  0x05, 0x9a, 0x3d, 0x61, 0xca, 0x30, 0x17, 0xd2, 0x0e, 0x10, 0xf5, 0xd1,
+  0xe2, 0xdc, 0x69, 0xe2, 0x01, 0x27, 0x5a, 0xc9, 0xdf, 0x74, 0x88, 0x19,
+  0x89, 0xbf, 0xf5, 0xe6, 0xe2, 0xec, 0xed, 0xe0, 0xf2, 0x0c, 0x35, 0x58,
+  0x99, 0xf7, 0x3e, 0xa2, 0x71, 0x6a, 0x0d, 0x6d, 0xaf, 0x90, 0x6c, 0x1b,
+  0x75, 0xb2, 0x55, 0x6f, 0x6b, 0x9d, 0x57, 0x5c, 0x29, 0x0b, 0xbf, 0xf2,
+  0x76, 0x40, 0xa5, 0x5d, 0xb0, 0x2e, 0x02, 0x73, 0xd3, 0xec, 0xa6, 0x49,
+  0x4a, 0x2a, 0xa3, 0x8d, 0x37, 0xa0, 0x01, 0x15, 0xde, 0xe3, 0x65, 0x7d,
+  0x9f, 0x48, 0xc6, 0x43, 0xcd, 0x10, 0xa9, 0x26, 0x74, 0xe2, 0x2a, 0x93,
+  0x8c, 0x4d, 0xa3, 0x27, 0xde, 0x1d, 0x86, 0x83, 0x37, 0xa5, 0x39, 0xbf,
+  0x69, 0x55, 0x95, 0x77, 0x7a, 0x73, 0x21, 0x1b, 0xc9, 0x2c, 0xa4, 0xe9,
+  0x3a, 0x2d, 0x53, 0x75, 0xbf, 0x32, 0xe7, 0x58, 0xd8, 0x34, 0xb4, 0x9c,
+  0xe5, 0x5a, 0x05, 0xf0, 0x59, 0x3b, 0x0f, 0x54, 0x51, 0x63, 0x83, 0xa6,
+  0x5a, 0xd6, 0x61, 0x6d, 0x5c, 0x45, 0x67, 0x9c, 0x82, 0x5e, 0x88, 0x80,
+  0x66, 0xde, 0x3b, 0x7d, 0x61, 0xfc, 0xa1, 0xb4, 0x70, 0x54, 0x1e, 0x51,
+  0xff, 0x91, 0x25, 0xc1, 0xff, 0x53, 0x70, 0x86, 0x85, 0x08, 0x90, 0xd4,
+  0xfa, 0xd9, 0xcc, 0x01, 0xcd, 0x84, 0x4e, 0x8a, 0x4a, 0x66, 0xd3, 0xde,
+  0x56, 0x2c, 0x18, 0x68, 0x3e, 0x20, 0x0f, 0xe8, 0xa7, 0x81, 0x36, 0xa9,
+  0xb9, 0xfb, 0x39, 0x65, 0x4d, 0x4e, 0x97, 0x13, 0xac, 0x12, 0x05, 0x66,
+  0xa8, 0xde, 0xd4, 0x98, 0x59, 0xc5, 0x34, 0xf5, 0x90, 0x9a, 0x76, 0x10,
+  0x3b, 0xb6, 0xb3, 0xbb, 0x7a, 0x16, 0x3f, 0x65, 0xeb, 0x67, 0x90, 0x32,
+  0x49, 0x78, 0x8d, 0x8c, 0x15, 0xcb, 0x2a, 0x28, 0x40, 0x57, 0x5c, 0x95,
+  0xb6, 0x8a, 0x5f, 0x44, 0x60, 0x11, 0x7d, 0x2b, 0xf8, 0x2a, 0x05, 0x9f,
+  0x41, 0xb4, 0x4b, 0xb4, 0x7d, 0x11, 0x1b, 0xfd, 0x8a, 0x3c, 0x9b, 0x9d,
+  0x16, 0xb7, 0xd7, 0x78, 0x11, 0x97, 0x8a, 0xc8, 0xf4, 0x56, 0xaf, 0x85,
+  0xfb, 0x5b, 0xb1, 0x72, 0x27, 0x57, 0x7e, 0x99, 0x0c, 0x89, 0xa1, 0x7b,
+  0x73, 0x2e, 0x27, 0x1b, 0xa4, 0x40, 0xd7, 0x5c, 0x15, 0x97, 0x30, 0x73,
+  0xd3, 0x18, 0x20, 0x5f, 0x0b, 0x0c, 0x35, 0x89, 0x7e, 0x34, 0xd9, 0x22,
+  0x2f, 0xe0, 0xc4, 0x87, 0x30, 0x9f, 0xca, 0xaf, 0x14, 0x31, 0xc9, 0x44,
+  0x9f, 0x9d, 0xe6, 0x9e, 0xfc, 0xf0, 0x43, 0xd2, 0xae, 0x09, 0xb8, 0xdd,
+  0x96, 0x94, 0x01, 0x9a, 0x75, 0x5a, 0xfa, 0xdd, 0x0d, 0x00, 0xf9, 0xbc,
+  0xe7, 0x8c, 0x4a, 0x00, 0xe0, 0xdf, 0xd0, 0x26, 0x2f, 0x36, 0xa5, 0xb1,
+  0xff, 0x6e, 0x14, 0xa1, 0x8d, 0x30, 0xbb, 0x8b, 0xb3, 0x73, 0xb9, 0x9a,
+  0xc1, 0x49, 0x04, 0x8c, 0xc2, 0x79, 0x8d, 0x36, 0xb6, 0x2e, 0xb4, 0x15,
+  0x64, 0x4f, 0xb6, 0x27, 0xcc, 0xd5, 0x8e, 0xad, 0x6f, 0xc8, 0x0d, 0x8c,
+  0x0b, 0xe1, 0xc1, 0xba, 0x85, 0x9c, 0x90, 0x8a, 0x91, 0xe1, 0xd2, 0x67,
+  0x7a, 0x63, 0x82, 0x3a, 0x4d, 0xaa, 0x4c, 0xbc, 0x0d, 0xa2, 0x40, 0xc5,
+  0x18, 0xab, 0x28, 0x91, 0x7c, 0xc6, 0x30, 0xcd, 0x21, 0x56, 0x38, 0xf5,
+  0x4e, 0x8c, 0x23, 0x04, 0xea, 0xac, 0x19, 0xa3, 0x37, 0xc3, 0x42, 0xc9,
+  0x25, 0x69, 0x50, 0x94, 0x95, 0x09, 0x42, 0x93, 0x92, 0x83, 0x89, 0x52,
+  0xcd, 0x8e, 0xef, 0x9b, 0x3f, 0xe9, 0xb9, 0x1d, 0xb6, 0xc3, 0x16, 0xb4,
+  0x0b, 0x62, 0x91, 0x2a, 0x15, 0x26, 0x58, 0x18, 0x22, 0x9f, 0xa3, 0x14,
+  0x37, 0xad, 0x8f, 0x41, 0x1e, 0x3d, 0x8d, 0x65, 0xb2, 0x46, 0x8d, 0xe4,
+  0x48, 0x2e, 0x56, 0x1b, 0xb0, 0x20, 0xba, 0x23, 0xcb, 0x09, 0xdc, 0x24,
+  0x66, 0x2c, 0x73, 0x0a, 0x6c, 0x86, 0x81, 0x31, 0x4a, 0x07, 0x78, 0xac,
+  0x5e, 0x85, 0x0a, 0x70, 0xc1, 0x0d, 0xe1, 0xf1, 0xf6, 0x27, 0x4c, 0x7d,
+  0xdb, 0x36, 0x0f, 0x57, 0x00, 0xea, 0x42, 0x08, 0x4d, 0x59, 0xa0, 0xdd,
+  0xa3, 0xe5, 0x07, 0x78, 0x90, 0xf5, 0x6a, 0xfe, 0x7d, 0xfe, 0xfe, 0x72,
+  0xdb, 0x15, 0x3e, 0x96, 0xdd, 0xea, 0xa3, 0x5b, 0x25, 0xf1, 0x25, 0x2c,
+  0xe6, 0xc5, 0x89, 0xa6, 0x22, 0xa7, 0x04, 0xe1, 0x26, 0x07, 0x83, 0x9c,
+  0x2c, 0x4f, 0x76, 0xf7, 0x8c, 0x25, 0xb5, 0xbb, 0x8f, 0x0a, 0x88, 0x4f,
+  0x76, 0x9f, 0xd8, 0xd4, 0x3c, 0x7d, 0x2a, 0xb8, 0x16, 0x68, 0x63, 0xd3,
+  0x9b, 0x5c, 0x83, 0x4f, 0x30, 0xbd, 0x4f, 0x3e, 0x7d, 0xc2, 0xaf, 0xda,
+  0xc0, 0xcc, 0x81, 0xcd, 0x67, 0xb0, 0x5d, 0x8d, 0xdf, 0xfc, 0xde, 0x8c,
+  0x23, 0x00, 0xb3, 0x2c, 0x38, 0x77, 0x08, 0x35, 0x26, 0x29, 0x97, 0x75,
+  0xb8, 0xaa, 0x50, 0x4a, 0xd3, 0xa5, 0xec, 0xf0, 0x2b, 0xa5, 0x98, 0xbd,
+  0xd2, 0x4a, 0x82, 0xd6, 0xc4, 0xd8, 0x50, 0x38, 0xe3, 0x31, 0x81, 0x4a,
+  0x1b, 0x85, 0xe1, 0xc9, 0xee, 0x27, 0x5f, 0x31, 0x6e, 0x6d, 0x09, 0x73,
+  0xd9, 0x89, 0x48, 0x52, 0x14, 0x6e, 0xe8, 0x88, 0x20, 0xf9, 0x77, 0x40,
+  0xf1, 0x7c, 0x73, 0x28, 0x30, 0xc3, 0xfa, 0xd7, 0x7d, 0x89, 0xe9, 0xf3,
+  0xbf, 0x9e, 0xb4, 0xef, 0xca, 0xeb, 0xbc, 0x18, 0x68, 0x9b, 0x2f, 0xe5,
+  0x2f, 0x81, 0xbf, 0x12, 0xa5, 0xef, 0x48, 0x39, 0x06, 0x59, 0xf9, 0xb6,
+  0x75, 0xa1, 0xc0, 0xe8, 0xa3, 0x26, 0x6c, 0xb7, 0x44, 0x4d, 0x91, 0x9a,
+  0xa2, 0x22, 0xa2, 0xd7, 0x0a, 0x8f, 0xe1, 0xea, 0x8a, 0x16, 0x8e, 0x61,
+  0x84, 0x3f, 0x62, 0xbf, 0xe2, 0xc7, 0xc3, 0x6d, 0xc5, 0x42, 0x55, 0x8d,
+  0xa3, 0xe1, 0x3b, 0xb9, 0x1e, 0xb8, 0xbc, 0x3d, 0xcb, 0x51, 0xe9, 0x63,
+  0xa7, 0x37, 0xc9, 0x61, 0x83, 0x0a, 0x85, 0x92, 0x63, 0x13, 0x98, 0xa9,
+  0x34, 0x15, 0x7d, 0xb6, 0x53, 0xb9, 0xf6, 0x27, 0xb1, 0xb7, 0x2b, 0x20,
+  0xae, 0x35, 0x17, 0xec, 0xb2, 0x06, 0xf9, 0xa0, 0x44, 0xd4, 0x23, 0x77,
+  0x1a, 0x47, 0xd3, 0xc3, 0x79, 0x34, 0xe7, 0x90, 0xae, 0x56, 0xd2, 0xfb,
+  0xa5, 0x3c, 0xe1, 0xd3, 0x3e, 0xfe, 0xf6, 0x6c, 0xf7, 0xc5, 0xbe, 0xb8,
+  0x07, 0x4f, 0x8e, 0x2f, 0xdf, 0x74, 0x1d, 0x7a, 0x95, 0xd9, 0x4f, 0xfc,
+  0x5f, 0xaa, 0xd7, 0x7e, 0x63, 0x0c, 0x0c, 0xca, 0xe0, 0x1f, 0x10, 0x05,
+  0xf4, 0x60, 0x77, 0x37, 0x16, 0x60, 0xff, 0x1d, 0x53, 0x16, 0x9f, 0x3c,
+  0x6d, 0xc7, 0x5e, 0x48, 0xad, 0x1f, 0xd0, 0x7c, 0xaf, 0x26, 0x9a, 0xe3,
+  0xfd, 0xe5, 0x7c, 0x74, 0xa9, 0xf2, 0x52, 0x6a, 0xa4, 0xda, 0x0b, 0xac,
+  0x46, 0xd0, 0x11, 0xb1, 0xea, 0x03, 0x1d, 0xb7, 0xba, 0x80, 0x48, 0xb6,
+  0xd8, 0x8e, 0x68, 0xee, 0xb7, 0xd9, 0x77, 0x9d, 0x26, 0x52, 0x8c, 0x12,
+  0x42, 0x5e, 0xac, 0x88, 0x68, 0xce, 0x5d, 0x2d, 0x19, 0x07, 0x55, 0x46,
+  0x44, 0x20, 0xac, 0xf8, 0x49, 0x11, 0x87, 0x87, 0xc9, 0x4c, 0x30, 0x05,
+  0xd5, 0x64, 0x21, 0xf9, 0x27, 0xfc, 0x6f, 0xba, 0x8a, 0x5b, 0x40, 0xc7,
+  0xfd, 0x67, 0x91, 0x89, 0xc3, 0x85, 0xfd, 0x0b, 0x26, 0xae, 0x3d, 0x6f,
+  0x4e, 0x3d, 0x62, 0x37, 0x1e, 0x8c, 0x5e, 0x89, 0x16, 0x84, 0x24, 0x13,
+  0xb5, 0x56, 0x1a, 0xfc, 0xc5, 0x63, 0xa1, 0xe9, 0x1e, 0xae, 0x23, 0x45,
+  0x72, 0x6f, 0x3d, 0x30, 0x96, 0x91, 0x05, 0xbc, 0xb4, 0x47, 0xd2, 0x77,
+  0xc4, 0xdc, 0x74, 0x7f, 0xcc, 0xa5, 0xcc, 0x08, 0xfc, 0x0d, 0x88, 0x3c,
+  0x75, 0x93, 0x95, 0xb3, 0x45, 0x86, 0xa1, 0xfb, 0x01, 0x66, 0x6f, 0x73,
+  0x5b, 0x3b, 0x95, 0xb2, 0x0c, 0x35, 0x91, 0xc2, 0xdc, 0xa3, 0xf9, 0x82,
+  0x88, 0x02, 0xeb, 0xa8, 0xaf, 0xa5, 0x5d, 0x50, 0x18, 0x73, 0xa9, 0x7e,
+  0xd9, 0xbe, 0xdc, 0x64, 0xf2, 0xbe, 0xce, 0xb1, 0x85, 0xef, 0x84, 0xf9,
+  0x74, 0x64, 0xb2, 0xa3, 0x09, 0xbb, 0x54, 0xa5, 0x4b, 0xca, 0xe3, 0xb6,
+  0xcb, 0xb8, 0x02, 0xe0, 0xf7, 0xa2, 0xf0, 0xd8, 0x97, 0x18, 0x9a, 0xa6,
+  0xa4, 0x32, 0x5b, 0xdf, 0x5d, 0xbc, 0xf9, 0x8b, 0x4d, 0xe5, 0xdd, 0xee,
+  0xc7, 0xad, 0x61, 0xed, 0xaf, 0x17, 0x42, 0x72, 0xa0, 0x2d, 0x49, 0x20,
+  0x6d, 0x4d, 0xbc, 0xfb, 0x47, 0x88, 0xef, 0x65, 0xae, 0xbd, 0x64, 0x8b,
+  0xca, 0xbd, 0x9a, 0xa7, 0x46, 0x62, 0xd4, 0x3d, 0x19, 0x3e, 0x83, 0x57,
+  0xe4, 0xcd, 0xd1, 0xb3, 0x27, 0xfb, 0x7b, 0xc6, 0x6e, 0xdd, 0xea, 0x48,
+  0x8b, 0xed, 0x07, 0x87, 0xd9, 0x5e, 0xef, 0xec, 0xd3, 0x82, 0xf6, 0xde,
+  0xd6, 0xf1, 0x0f, 0xe7, 0xef, 0xbc, 0x01, 0xda, 0x15, 0x08, 0x72, 0x2b,
+  0xfd, 0x11, 0x72, 0x62, 0x93, 0x1d, 0xa3, 0xbb, 0x6d, 0x83, 0x2d, 0x25,
+  0x15, 0x14, 0x03, 0xc4, 0x78, 0xef, 0x4d, 0x95, 0x93, 0x9e, 0xdb, 0xa3,
+  0xf9, 0xe8, 0x9d, 0x96, 0xc5, 0xd4, 0xdc, 0xfe, 0x67, 0xc4, 0x1c, 0x93,
+  0xf5, 0x8c, 0x1a, 0xfb, 0xe0, 0xe8, 0x56, 0x1f, 0x93, 0xb7, 0x7d, 0x1c,
+  0x95, 0x22, 0x84, 0x22, 0xbc, 0xc5, 0x0f, 0xc1, 0xd7, 0x47, 0x79, 0xd1,
+  0x9c, 0x6f, 0xb2, 0x24, 0x3b, 0x87, 0x5c, 0xbc, 0x64, 0x9c, 0xb5, 0x4f,
+  0xdb, 0x27, 0x14, 0xbf, 0x82, 0xd7, 0xe7, 0x25, 0x9c, 0xda, 0xab, 0xe2,
+  0x21, 0x3c, 0x72, 0x8e, 0x86, 0xe0, 0xf1, 0x2d, 0x75, 0xec, 0x6f, 0x7b,
+  0x15, 0x46, 0xa1, 0xc1, 0x6b, 0xb8, 0x03, 0xaa, 0x7a, 0xac, 0x1c, 0x05,
+  0x1e, 0x75, 0x66, 0x45, 0xde, 0x06, 0x2f, 0xe3, 0x28, 0x22, 0x91, 0xb4,
+  0xdf, 0x26, 0xd5, 0x89, 0xf8, 0xc1, 0x11, 0xea, 0x45, 0xf5, 0x97, 0xb4,
+  0x68, 0x13, 0x90, 0xa1, 0xee, 0x3b, 0x6c, 0xa0, 0xec, 0x13, 0x4a, 0x7a,
+  0x19, 0x25, 0xf1, 0xf9, 0x93, 0xf0, 0x3e, 0xe2, 0xc1, 0x88, 0x6e, 0x57,
+  0xf9, 0x2a, 0x00, 0xdf, 0xd0, 0xa2, 0xf6, 0xf6, 0xbd, 0x40, 0x04, 0xc5,
+  0x21, 0x60, 0x48, 0x6d, 0x7e, 0xbb, 0x19, 0x8d, 0xc0, 0x71, 0x60, 0x82,
+  0xc7, 0x2a, 0x7e, 0x1d, 0x3a, 0x23, 0x08, 0x4e, 0x48, 0xb4, 0x01, 0xd1,
+  0x08, 0x6e, 0xe4, 0xed, 0x66, 0x62, 0x03, 0x12, 0x5d, 0x7b, 0xff, 0xc1,
+  0xf0, 0x44, 0xde, 0xc4, 0xe3, 0x11, 0x1c, 0x90, 0xe8, 0x1a, 0xa1, 0x36,
+  0x3c, 0xd1, 0xda, 0x7c, 0xcf, 0x3e, 0x8f, 0x6c, 0xbe, 0x77, 0x67, 0x97,
+  0xc7, 0x07, 0x82, 0x9f, 0x75, 0x89, 0xf4, 0x6a, 0x2b, 0x30, 0x86, 0x88,
+  0x6b, 0x8b, 0x72, 0x46, 0x09, 0x98, 0xc4, 0x78, 0xdd, 0xfb, 0x91, 0x23,
+  0x0f, 0x30, 0x2f, 0x9d, 0x12, 0xf6, 0xf6, 0x36, 0x1d, 0x98, 0x89, 0xa3,
+  0x6d, 0x43, 0x8a, 0xa0, 0xd8, 0x06, 0x1c, 0x98, 0x8c, 0x95, 0x4d, 0xe7,
+  0xd2, 0x22, 0x64, 0x43, 0x52, 0x3a, 0xab, 0x5c, 0xb9, 0xc1, 0x26, 0xe2,
+  0xbb, 0x0c, 0x36, 0x97, 0x26, 0x09, 0x52, 0x75, 0xaf, 0xb0, 0x24, 0x15,
+  0xa2, 0x74, 0x6f, 0xa4, 0xb0, 0x29, 0x2c, 0x12, 0x4b, 0xfe, 0xb4, 0xee,
+  0x8a, 0x73, 0xc1, 0xc4, 0xee, 0xa1, 0x12, 0xf3, 0x8c, 0xfc, 0x80, 0x2b,
+  0x88, 0x03, 0xc8, 0x11, 0x68, 0xa3, 0x8b, 0xba, 0x49, 0x48, 0xd5, 0x50,
+  0x3b, 0x8d, 0xcc, 0x4a, 0x6b, 0xa3, 0xd4, 0x52, 0xeb, 0x36, 0x0c, 0x61,
+  0xf3, 0x85, 0xd3, 0x71, 0x54, 0x39, 0x93, 0x5b, 0x15, 0x36, 0x60, 0x2c,
+  0x68, 0x6e, 0x25, 0x64, 0x09, 0x75, 0x21, 0xce, 0x0f, 0xe6, 0xe7, 0x26,
+  0x42, 0xdb, 0xec, 0x11, 0xa1, 0xd3, 0xb8, 0x5e, 0x56, 0xd3, 0xe5, 0xdc,
+  0x08, 0x2e, 0x1f, 0x2f, 0x0e, 0xc5, 0x0f, 0x36, 0x2d, 0xa7, 0x4b, 0x47,
+  0x62, 0x05, 0xcf, 0x76, 0x5b, 0xad, 0x0d, 0x31, 0xf2, 0x4e, 0xc4, 0x7b,
+  0xb0, 0x67, 0x93, 0xf8, 0x73, 0xa4, 0xc6, 0x09, 0xd1, 0xc8, 0xef, 0x17,
+  0x6c, 0x9a, 0xf7, 0x65, 0xa5, 0x18, 0x76, 0x46, 0xff, 0xfd, 0x32, 0x10,
+  0xa5, 0x1a, 0xfb, 0xa5, 0x47, 0x10, 0x9f, 0x10, 0x44, 0x11, 0x6b, 0x4b,
+  0xe4, 0x52, 0x63, 0x37, 0x20, 0x7d, 0xf0, 0xee, 0xa6, 0x9c, 0xf9, 0x41,
+  0xf0, 0xb0, 0x74, 0x2b, 0xe5, 0x28, 0x39, 0x76, 0x79, 0x2f, 0x3b, 0x44,
+  0x16, 0x86, 0xe6, 0x1d, 0x5e, 0xb7, 0x31, 0x65, 0xfe, 0x25, 0x7f, 0x2d,
+  0xc7, 0x82, 0x41, 0xa4, 0x1c, 0xa7, 0xeb, 0x28, 0x0f, 0x00, 0x68, 0xcf,
+  0xcc, 0x75, 0x65, 0xb6, 0xda, 0x74, 0xc9, 0xfe, 0x55, 0xea, 0x8f, 0xe0,
+  0x66, 0xb9, 0x1a, 0x21, 0x45, 0x3e, 0x92, 0xeb, 0x92, 0x2b, 0x12, 0x92,
+  0xc3, 0x86, 0x69, 0x54, 0xc3, 0x5c, 0xb6, 0xfd, 0x6e, 0xae, 0x77, 0x3a,
+  0x21, 0xa7, 0x88, 0x69, 0x5a, 0xf2, 0x2a, 0x99, 0x08, 0xc6, 0x81, 0x8b,
+  0xd3, 0x49, 0xb3, 0x94, 0x59, 0xef, 0xf6, 0xae, 0x54, 0x3f, 0xa9, 0x79,
+  0x17, 0x14, 0xa5, 0x20, 0x05, 0x9b, 0x98, 0xad, 0x97, 0x4e, 0xee, 0x55,
+  0x5f, 0x70, 0x97, 0xab, 0xf0, 0x0c, 0x39, 0x42, 0xd3, 0x60, 0xb0, 0xb6,
+  0x13, 0x14, 0xf4, 0xcc, 0xeb, 0x5f, 0xcf, 0x27, 0xfe, 0x78, 0x53, 0xc5,
+  0xaf, 0x0a, 0xc1, 0x9e, 0x67, 0xe5, 0x43, 0x6a, 0x9d, 0xf6, 0xac, 0x49,
+  0x69, 0x8e, 0x1f, 0x48, 0xe1, 0x6d, 0x39, 0x05, 0x38, 0x36, 0x08, 0x06,
+  0x69, 0x4a, 0x86, 0x40, 0x30, 0x5c, 0x11, 0x0f, 0xc4, 0xcc, 0x14, 0xaa,
+  0x12, 0x6f, 0xe5, 0x2b, 0x8a, 0x88, 0xd8, 0x82, 0xc4, 0xb2, 0xf9, 0x26,
+  0x6c, 0x6c, 0x3e, 0x4d, 0xb6, 0x60, 0x03, 0x7e, 0xfe, 0xec, 0xe9, 0x76,
+  0x1b, 0x31, 0xb6, 0x1d, 0x01, 0xee, 0xe2, 0xb4, 0x2d, 0x6b, 0x9b, 0xca,
+  0x32, 0xcf, 0xa9, 0x52, 0x13, 0x47, 0xe6, 0xc4, 0xb9, 0x99, 0x73, 0x61,
+  0x07, 0x72, 0xb3, 0xa3, 0x3a, 0x8a, 0x84, 0x40, 0x03, 0x18, 0x01, 0x4a,
+  0xf7, 0x65, 0xfc, 0xba, 0x2d, 0x9a, 0x6d, 0x05, 0xb8, 0x4b, 0xe3, 0x60,
+  0xda, 0x59, 0x28, 0x6a, 0xca, 0x3c, 0xbb, 0x4d, 0x58, 0xc9, 0xd8, 0x25,
+  0x8a, 0x99, 0x87, 0xa6, 0x2a, 0x4a, 0x0c, 0xd5, 0x07, 0x2d, 0xbd, 0x7b,
+  0x41, 0x5c, 0x23, 0xcc, 0x35, 0x2e, 0x37, 0x4f, 0x12, 0x63, 0x50, 0x34,
+  0x17, 0x22, 0x2e, 0x47, 0xdc, 0x65, 0x76, 0x22, 0xd1, 0x06, 0x33, 0x72,
+  0xd1, 0x56, 0xd1, 0x16, 0x04, 0x28, 0x25, 0xeb, 0x82, 0x1b, 0x32, 0xb8,
+  0x93, 0xe7, 0x5a, 0xbf, 0x80, 0xb5, 0x8f, 0xb2, 0x72, 0x75, 0xe3, 0x5d,
+  0x81, 0x62, 0xc1, 0x76, 0xae, 0x4a, 0xdb, 0x57, 0x57, 0x48, 0xaa, 0xe9,
+  0xc5, 0xad, 0x8e, 0xad, 0xcc, 0x45, 0xd0, 0xdd, 0xa6, 0x89, 0xfc, 0xdd,
+  0x14, 0x04, 0xfd, 0xbb, 0xdd, 0x95, 0x61, 0xf6, 0x11, 0x7f, 0xb5, 0x33,
+  0x0f, 0x2b, 0x7a, 0x0f, 0x63, 0x8a, 0x59, 0x77, 0xe0, 0x48, 0x19, 0x84,
+  0xec, 0x21, 0xc9, 0x16, 0x3a, 0xbc, 0xb3, 0xb3, 0xfd, 0x70, 0xa7, 0xe5,
+  0xc9, 0x87, 0x3a, 0x79, 0xce, 0xde, 0x0d, 0xe6, 0x3a, 0xb6, 0x54, 0x36,
+  0xae, 0x17, 0xf4, 0x55, 0x5a, 0x32, 0x26, 0x24, 0x66, 0x08, 0x68, 0x25,
+  0xba, 0x09, 0xe5, 0x93, 0x86, 0x77, 0x90, 0xc0, 0xd3, 0x30, 0xbc, 0xf6,
+  0xc8, 0xc5, 0xea, 0x65, 0x2a, 0x20, 0x11, 0x20, 0xc0, 0x47, 0x81, 0x9c,
+  0x25, 0x39, 0x34, 0xbb, 0x30, 0x54, 0x39, 0x5b, 0xc5, 0x70, 0xbd, 0xf1,
+  0xb1, 0xa5, 0xeb, 0x27, 0xb6, 0xe1, 0x68, 0xb4, 0xfc, 0xf2, 0x11, 0x1c,
+  0xbb, 0x3c, 0xaa, 0xc2, 0x48, 0x2a, 0x7b, 0x86, 0x44, 0x7d, 0xfc, 0xa0,
+  0x57, 0x9f, 0x35, 0x92, 0x93, 0x8c, 0xe3, 0xe0, 0xdc, 0x84, 0xdc, 0xa6,
+  0x91, 0xa9, 0x1f, 0xdd, 0xb8, 0x99, 0x28, 0x8f, 0x8b, 0x88, 0x5e, 0xb5,
+  0xb8, 0x9f, 0xd2, 0x2a, 0x74, 0xbd, 0xa3, 0x6f, 0x76, 0x7f, 0x73, 0xa5,
+  0x5c, 0xe4, 0xf1, 0x8f, 0xf9, 0xa7, 0xad, 0xe9, 0xec, 0xf3, 0x31, 0x45,
+  0x06, 0x7d, 0x4c, 0x5d, 0x47, 0x5d, 0x9f, 0x30, 0x4f, 0xd7, 0x4d, 0xa0,
+  0xcb, 0x53, 0xf6, 0x12, 0x91, 0x1f, 0x00, 0xe3, 0x75, 0x9d, 0x13, 0xe2,
+  0x6d, 0xd3, 0x46, 0xdb, 0xee, 0x86, 0xcf, 0xda, 0xee, 0x06, 0x9b, 0x73,
+  0x1c, 0x57, 0xd2, 0x18, 0x84, 0x59, 0x27, 0xef, 0xf4, 0xb1, 0x64, 0x6b,
+  0x74, 0xfe, 0xee, 0xf8, 0xeb, 0xb3, 0xed, 0x87, 0xdc, 0x94, 0xbe, 0xfc,
+  0xb7, 0x83, 0x02, 0x2a, 0xaf, 0x22, 0x54, 0x1f, 0xf7, 0x1d, 0xe6, 0xc9,
+  0xd7, 0xa3, 0xd1, 0xe0, 0xf0, 0xfc, 0x04, 0xb6, 0xc0, 0x68, 0x64, 0xfe,
+  0xb2, 0x8a, 0x24, 0x74, 0x28, 0x1c, 0xb5, 0x83, 0xef, 0xa0, 0xeb, 0xa9,
+  0xec, 0x87, 0xc9, 0x45, 0x9e, 0x40, 0xec, 0x46, 0xc6, 0xe5, 0xa1, 0xe2,
+  0x90, 0xa6, 0x6d, 0xd3, 0x07, 0xba, 0x56, 0xcf, 0xf9, 0xc9, 0x0e, 0xbe,
+  0x45, 0xa8, 0x59, 0x0c, 0x28, 0xee, 0x41, 0x58, 0x86, 0x15, 0x98, 0x48,
+  0xeb, 0x01, 0xd2, 0x14, 0x02, 0x5a, 0x71, 0xbb, 0xc6, 0xfc, 0xa3, 0xeb,
+  0x84, 0x82, 0x76, 0x12, 0xb5, 0x5b, 0x91, 0x26, 0x01, 0xc2, 0x0a, 0x42,
+  0xc2, 0xa7, 0x4d, 0x16, 0x73, 0xc0, 0xc1, 0x4e, 0x63, 0x6a, 0x1d, 0x2a,
+  0xa8, 0x3b, 0x12, 0x93, 0xab, 0xeb, 0x17, 0xd9, 0x1c, 0x2c, 0x93, 0x83,
+  0x4d, 0x00, 0x75, 0x8a, 0x72, 0x79, 0x7d, 0x13, 0xba, 0x20, 0xa4, 0x98,
+  0x82, 0xc6, 0x5f, 0x45, 0x93, 0xc2, 0x7e, 0x32, 0xbd, 0x0c, 0xb6, 0x20,
+  0x5e, 0x54, 0xbd, 0xa7, 0xca, 0x28, 0x42, 0xc4, 0xea, 0x0d, 0x03, 0x80,
+  0xa6, 0xff, 0x14, 0x6a, 0xce, 0x35, 0x1a, 0xc8, 0x98, 0xa3, 0xa7, 0xf0,
+  0xa4, 0x15, 0xcd, 0x6c, 0x2e, 0x7f, 0x4d, 0x8b, 0x7b, 0x78, 0x4c, 0xc5,
+  0x85, 0x8f, 0x5c, 0x3d, 0xbb, 0xa7, 0xdb, 0x1b, 0xbd, 0xa9, 0x26, 0x5c,
+  0xe8, 0xfa, 0xa5, 0x96, 0xd6, 0x5e, 0x97, 0x64, 0x81, 0x02, 0xab, 0x5a,
+  0xaa, 0x3e, 0x19, 0x14, 0x7d, 0x6d, 0xa3, 0x6f, 0x2c, 0x62, 0x89, 0x95,
+  0xa5, 0x8d, 0x60, 0xda, 0x64, 0x17, 0xc4, 0x44, 0x11, 0x97, 0x83, 0xda,
+  0x32, 0xe6, 0x43, 0x39, 0x5b, 0x36, 0x12, 0x80, 0x24, 0xdf, 0x28, 0x25,
+  0x43, 0x6c, 0x5b, 0x30, 0x11, 0x9a, 0x76, 0x40, 0xd4, 0xe4, 0x28, 0xc4,
+  0x6c, 0xbb, 0x0a, 0x5a, 0x43, 0x17, 0x6b, 0xe1, 0x60, 0xa2, 0xb8, 0x28,
+  0x68, 0x62, 0xbd, 0x86, 0x16, 0x40, 0x27, 0xdd, 0x96, 0xf1, 0x3a, 0xae,
+  0xb4, 0x7e, 0xba, 0x4e, 0xad, 0xe9, 0x51, 0x1f, 0x3b, 0x49, 0x6e, 0xbf,
+  0x6a, 0x5f, 0x47, 0x6d, 0x8c, 0x33, 0xbf, 0x84, 0xdb, 0x44, 0xf1, 0x02,
+  0x63, 0x3a, 0x26, 0xe3, 0x7b, 0xfb, 0x2d, 0xfe, 0x4c, 0x0a, 0x44, 0x8f,
+  0x55, 0x84, 0x1f, 0x4b, 0x9c, 0xe1, 0x96, 0x63, 0xb8, 0x0e, 0x91, 0xd2,
+  0xfe, 0x52, 0xa7, 0xe9, 0xef, 0x32, 0xa0, 0xcf, 0xe2, 0x6b, 0xcc, 0x2a,
+  0xbe, 0xc7, 0x96, 0x21, 0x60, 0x48, 0xac, 0xe9, 0x10, 0x0f, 0x05, 0x1b,
+  0x98, 0xa2, 0xe9, 0x76, 0x54, 0xaa, 0x1e, 0x91, 0xcb, 0x2d, 0xe5, 0x82,
+  0x4f, 0x7c, 0x42, 0xbd, 0xcf, 0xd8, 0xb4, 0x8d, 0x72, 0x7d, 0x4d, 0x36,
+  0xb7, 0x38, 0xc3, 0x47, 0x4c, 0x88, 0x1b, 0xbf, 0xfb, 0x61, 0x60, 0xd9,
+  0x61, 0x30, 0x4c, 0xbd, 0x51, 0x23, 0x98, 0xe4, 0x0d, 0xcc, 0x6c, 0xd7,
+  0x0f, 0xf2, 0x17, 0xf3, 0x91, 0xef, 0xf3, 0xc2, 0xe8, 0x86, 0xf5, 0xb6,
+  0xaf, 0x28, 0x85, 0x67, 0xb7, 0xda, 0xa4, 0xa2, 0x63, 0x46, 0xec, 0x38,
+  0xbc, 0x1e, 0x69, 0xce, 0x1c, 0xb5, 0x51, 0x2f, 0x68, 0xe2, 0xa2, 0xca,
+  0xb6, 0xf4, 0xd6, 0xfd, 0x22, 0xc8, 0x75, 0xe0, 0xf4, 0x2f, 0x16, 0x25,
+  0x57, 0x92, 0x9c, 0x6f, 0x3a, 0x42, 0x85, 0x54, 0x5c, 0x98, 0x1f, 0x57,
+  0x07, 0x93, 0x15, 0x38, 0xaf, 0x57, 0x56, 0x44, 0xea, 0xc9, 0x42, 0xb2,
+  0x75, 0xc3, 0x58, 0x34, 0xbb, 0x18, 0xe3, 0xd6, 0x33, 0x33, 0xb2, 0x66,
+  0xb1, 0xb5, 0xb7, 0xcd, 0xec, 0xaa, 0x52, 0xd1, 0xd3, 0x2b, 0xbb, 0x15,
+  0x3a, 0x72, 0x08, 0x62, 0x98, 0xe0, 0x88, 0xaa, 0xc3, 0x0b, 0x40, 0x7f,
+  0x54, 0xce, 0x22, 0xbf, 0x2e, 0xb4, 0x8a, 0xb4, 0x11, 0x65, 0x41, 0x10,
+  0x8b, 0x9a, 0xce, 0xd6, 0xf5, 0x2c, 0x03, 0xfa, 0xb3, 0x20, 0x5e, 0x38,
+  0x64, 0xa1, 0x51, 0xe8, 0xc5, 0x7a, 0xc5, 0xa5, 0x4c, 0x85, 0xa4, 0xa9,
+  0x9a, 0x99, 0x9b, 0x4d, 0x07, 0x24, 0x40, 0xae, 0xab, 0xd2, 0x5c, 0x91,
+  0x55, 0x84, 0x3d, 0x4b, 0x4c, 0x0a, 0xa8, 0xfa, 0x59, 0x71, 0x9b, 0x57,
+  0x65, 0x01, 0x86, 0xb2, 0xdb, 0xb4, 0xca, 0x11, 0xee, 0xef, 0x7d, 0x73,
+  0xf6, 0xf6, 0xb8, 0xe7, 0xbb, 0x45, 0xae, 0x72, 0xf1, 0xa5, 0xdf, 0x84,
+  0xe4, 0x9e, 0x76, 0x35, 0x23, 0x7e, 0x43, 0x73, 0xa7, 0x1b, 0x25, 0x87,
+  0x96, 0xf5, 0x56, 0x4e, 0x12, 0xa9, 0xf5, 0x5e, 0xa1, 0x72, 0xc2, 0x01,
+  0xc8, 0xe5, 0x4c, 0x60, 0x25, 0xb2, 0xf1, 0x74, 0x83, 0x85, 0x48, 0x1c,
+  0xf8, 0x11, 0xac, 0x81, 0x08, 0x76, 0xf6, 0xd2, 0x2f, 0x40, 0x93, 0x78,
+  0x45, 0x6a, 0x48, 0xd3, 0xe7, 0x0d, 0xb0, 0xaa, 0x06, 0xe9, 0xe6, 0xfc,
+  0x9e, 0x0c, 0x9b, 0xcd, 0x76, 0x31, 0xd2, 0xcd, 0x9a, 0x8c, 0xf1, 0x66,
+  0x53, 0xa7, 0x17, 0xa8, 0x51, 0x27, 0x01, 0xc2, 0x9a, 0x80, 0x2b, 0x3e,
+  0xcd, 0xbb, 0x9a, 0x3f, 0xe1, 0x5a, 0xe7, 0xc6, 0xdd, 0xe9, 0x3b, 0xe0,
+  0xd3, 0x17, 0x54, 0x97, 0x0e, 0xb9, 0x4a, 0x52, 0x97, 0xcc, 0xd3, 0xae,
+  0x28, 0xd8, 0x46, 0x14, 0x10, 0xf7, 0x71, 0xe8, 0x58, 0x34, 0x9f, 0x2f,
+  0x27, 0xc2, 0x1a, 0xe3, 0x62, 0xab, 0x82, 0xa9, 0x14, 0xea, 0x01, 0xbe,
+  0xa5, 0x78, 0x29, 0x0a, 0xef, 0x7e, 0xa6, 0x26, 0x57, 0xd0, 0x95, 0xf5,
+  0x99, 0x93, 0x4e, 0x39, 0x9b, 0x72, 0xa3, 0x1c, 0xdc, 0x15, 0x89, 0x03,
+  0x58, 0xea, 0xa7, 0xfa, 0xe2, 0x84, 0x51, 0x37, 0x71, 0xa0, 0x8c, 0xb2,
+  0x31, 0xec, 0x40, 0x29, 0x76, 0xc9, 0x98, 0xc6, 0x8f, 0x89, 0xe0, 0x2c,
+  0xc3, 0x8f, 0x92, 0xe1, 0x85, 0x4a, 0xf2, 0x41, 0x3f, 0x91, 0xf9, 0xd4,
+  0x43, 0x47, 0x61, 0xe8, 0x86, 0x31, 0x3a, 0x6c, 0xd9, 0xd8, 0x9b, 0xab,
+  0x98, 0xf2, 0xc5, 0x48, 0xdc, 0xd8, 0xc2, 0xd4, 0x19, 0x33, 0xb1, 0xf5,
+  0x48, 0x9a, 0xc1, 0x09, 0xc7, 0x6f, 0xbd, 0xac, 0x6e, 0x91, 0xa4, 0x28,
+  0xb5, 0x21, 0x98, 0x5d, 0xc3, 0xae, 0xc9, 0x4a, 0xcc, 0x04, 0xab, 0x55,
+  0x7e, 0x17, 0x09, 0xc5, 0x59, 0x2d, 0xa5, 0xb6, 0xc0, 0xd7, 0xd2, 0x0f,
+  0xe9, 0x9f, 0x1a, 0x3c, 0x96, 0xb2, 0x22, 0x00, 0xec, 0x97, 0x35, 0xa8,
+  0xf7, 0x9a, 0x2a, 0x9d, 0xb8, 0xbf, 0x0c, 0xd2, 0x7a, 0x92, 0xe7, 0x5a,
+  0x6d, 0x80, 0xe2, 0x84, 0x19, 0x41, 0x63, 0xa3, 0x84, 0x26, 0xd6, 0x6b,
+  0xaf, 0x24, 0xdf, 0x53, 0x26, 0x9a, 0x16, 0xec, 0x09, 0x97, 0x62, 0x06,
+  0x92, 0x25, 0x2f, 0xbc, 0x28, 0x72, 0xb4, 0x00, 0x83, 0x52, 0x9c, 0xad,
+  0xb0, 0x6f, 0x8d, 0x09, 0xbe, 0xe7, 0xdb, 0xe0, 0x3a, 0x05, 0x03, 0xaa,
+  0x0f, 0x56, 0x37, 0xb8, 0x45, 0xcd, 0x33, 0xfb, 0xc3, 0x35, 0x15, 0x96,
+  0xfd, 0x48, 0xd0, 0xf3, 0x8e, 0x85, 0xc2, 0xf4, 0x3c, 0x31, 0xfb, 0x84,
+  0xea, 0x83, 0x6a, 0x5d, 0x26, 0x5e, 0x82, 0xc3, 0xd3, 0xf3, 0x77, 0x09,
+  0x68, 0x91, 0xc0, 0xc0, 0x5a, 0xc0, 0x4f, 0x26, 0x3f, 0x86, 0xae, 0x0c,
+  0x83, 0x39, 0xc4, 0x7d, 0xda, 0x5a, 0x6d, 0x57, 0x11, 0x0b, 0x8b, 0x61,
+  0x6e, 0x05, 0x58, 0x41, 0xd4, 0x7e, 0x11, 0xed, 0x4f, 0x6d, 0x8c, 0xee,
+  0x70, 0xcc, 0xf7, 0xbc, 0xcf, 0x42, 0xd2, 0x8e, 0xef, 0x5d, 0x52, 0x12,
+  0xbf, 0xdd, 0xe5, 0x95, 0x22, 0xb4, 0x0c, 0x54, 0xd7, 0x40, 0xa8, 0x37,
+  0x99, 0xe5, 0x9e, 0x12, 0xe3, 0xce, 0x72, 0xa9, 0x89, 0x67, 0x49, 0xd0,
+  0x1a, 0x60, 0x1a, 0xd0, 0x84, 0xe6, 0xfa, 0x01, 0xd6, 0xa3, 0x62, 0x51,
+  0x04, 0xf9, 0xe7, 0x76, 0xbe, 0xa3, 0xa6, 0x68, 0x00, 0x39, 0x7e, 0x54,
+  0x92, 0x18, 0xad, 0xc7, 0x70, 0xcd, 0x12, 0xbf, 0xeb, 0xf3, 0x67, 0xc7,
+  0x4b, 0x92, 0x11, 0xdd, 0xe2, 0xf2, 0xbc, 0xbe, 0xac, 0x3b, 0xf1, 0x13,
+  0xf4, 0x3d, 0x71, 0x84, 0x31, 0xf1, 0x0d, 0x31, 0x72, 0x65, 0xe9, 0x9c,
+  0x0a, 0xf1, 0x68, 0xda, 0x00, 0xb9, 0x7f, 0x09, 0xdc, 0xd9, 0x9d, 0xca,
+  0x65, 0x2a, 0x52, 0xcb, 0x29, 0x0d, 0x9d, 0x54, 0x02, 0xfe, 0x06, 0xa0,
+  0x6c, 0xdc, 0xb8, 0xb4, 0x9e, 0xc4, 0x32, 0xc4, 0x5a, 0x62, 0x44, 0x23,
+  0x38, 0x5a, 0x9d, 0x8a, 0xd9, 0x47, 0xb9, 0x11, 0x5b, 0xa8, 0x92, 0x6a,
+  0x2b, 0xdc, 0x2c, 0x8b, 0x8f, 0xa6, 0x0b, 0x61, 0x06, 0xab, 0x02, 0x7f,
+  0x73, 0x94, 0x12, 0x4e, 0x99, 0x37, 0x57, 0xb2, 0xd1, 0xa5, 0x0c, 0xbc,
+  0x51, 0xf8, 0x6e, 0xe1, 0xcc, 0x13, 0x1e, 0xd0, 0x96, 0x0d, 0x16, 0xeb,
+  0xdd, 0xd4, 0x16, 0x2e, 0x4b, 0x1b, 0x37, 0x81, 0x51, 0x70, 0xbb, 0x5b,
+  0x69, 0xa9, 0x12, 0xca, 0x96, 0xc9, 0xb5, 0x87, 0xac, 0x62, 0x5d, 0x4e,
+  0x59, 0x7f, 0xc8, 0x49, 0x23, 0x96, 0x48, 0x20, 0x10, 0x97, 0x35, 0xe7,
+  0x84, 0xc9, 0xb2, 0x82, 0x6e, 0xc3, 0xab, 0x8d, 0x10, 0xe9, 0x49, 0x3b,
+  0x9d, 0x7a, 0xdd, 0x3e, 0x10, 0xaf, 0xad, 0x4b, 0xbd, 0x16, 0x40, 0x4a,
+  0x6d, 0x69, 0x7f, 0x51, 0xc0, 0xac, 0x55, 0x38, 0x29, 0x22, 0xb9, 0x5c,
+  0x62, 0x57, 0x56, 0xd8, 0xc6, 0xe7, 0x74, 0x52, 0x45, 0x1e, 0xfc, 0x13,
+  0x67, 0xc9, 0x8d, 0xc5, 0x9b, 0x28, 0xfb, 0xc3, 0xce, 0x24, 0x15, 0x2b,
+  0xe5, 0xa1, 0x5f, 0xa6, 0xee, 0x9d, 0x91, 0x3e, 0x24, 0x0a, 0x3d, 0x49,
+  0xf8, 0xae, 0x2b, 0x07, 0x75, 0xa4, 0x5d, 0xb7, 0xd7, 0x55, 0xf2, 0x48,
+  0x41, 0xd8, 0x96, 0x64, 0xef, 0x48, 0xee, 0x99, 0xff, 0x74, 0x9b, 0x7b,
+  0xb4, 0x0c, 0x84, 0x92, 0x62, 0x0d, 0x78, 0x65, 0xf7, 0x5b, 0xe1, 0xe1,
+  0xfa, 0xf5, 0x42, 0xd0, 0x02, 0x5a, 0xad, 0xb4, 0x8b, 0xc9, 0xc1, 0xa2,
+  0x25, 0x06, 0x15, 0x21, 0xf4, 0xfb, 0x08, 0x41, 0xfa, 0x9e, 0x74, 0x39,
+  0x9f, 0x46, 0xd3, 0xee, 0x75, 0x69, 0xa5, 0x6e, 0x99, 0x9c, 0x01, 0x5a,
+  0x0b, 0xe5, 0xfb, 0x38, 0x79, 0x6d, 0xf6, 0x18, 0xa9, 0xac, 0xe4, 0xb9,
+  0xfd, 0xea, 0x3e, 0x59, 0xb1, 0xb8, 0x00, 0x35, 0xdb, 0xf8, 0x2e, 0xec,
+  0x7c, 0xaa, 0x06, 0xed, 0x93, 0x31, 0x11, 0x3b, 0x9b, 0x57, 0xa7, 0x43,
+  0x82, 0xef, 0x42, 0x64, 0x1f, 0xf7, 0x4b, 0x90, 0x4a, 0x89, 0xd4, 0xdb,
+  0x9b, 0xa5, 0x19, 0x2d, 0xad, 0x34, 0x17, 0x34, 0xb0, 0x55, 0xe9, 0xab,
+  0x0c, 0x80, 0x45, 0xea, 0xb0, 0xd7, 0xe3, 0x80, 0x5d, 0x8c, 0x7d, 0xd9,
+  0x75, 0x66, 0x0e, 0x22, 0x67, 0x0e, 0x8d, 0xab, 0xf2, 0x63, 0xc6, 0x9b,
+  0x0e, 0x26, 0x06, 0xe8, 0x72, 0x54, 0x91, 0xe2, 0xd0, 0x63, 0x3e, 0x9b,
+  0x5a, 0x00, 0x63, 0x44, 0x9f, 0xa5, 0x22, 0x4a, 0x92, 0x67, 0xef, 0xa4,
+  0x61, 0xee, 0xd2, 0xdc, 0x95, 0x0e, 0x9a, 0x97, 0x6b, 0x42, 0xec, 0x5c,
+  0xf1, 0x93, 0x2f, 0x5b, 0xc0, 0x55, 0x8d, 0x8e, 0x1d, 0xfb, 0xd6, 0xb9,
+  0xb7, 0x70, 0xcd, 0xd5, 0x27, 0xdf, 0xae, 0xba, 0x7f, 0xf2, 0x23, 0x4b,
+  0xfa, 0xf8, 0xd2, 0x48, 0x66, 0x2f, 0xc1, 0x13, 0x96, 0xbc, 0x34, 0x9b,
+  0x8a, 0x7d, 0x62, 0x14, 0xd4, 0xea, 0xba, 0xbb, 0x50, 0xde, 0x6b, 0xa0,
+  0xa6, 0xc7, 0x94, 0x33, 0x09, 0x13, 0xb6, 0xdc, 0x48, 0x17, 0xe7, 0x34,
+  0x87, 0xa9, 0x2b, 0xbb, 0x27, 0x4c, 0xcc, 0xe0, 0x18, 0x30, 0x1b, 0x26,
+  0x3c, 0xe4, 0xce, 0x8f, 0xc3, 0x16, 0x28, 0x94, 0x70, 0x5a, 0x1d, 0x10,
+  0xad, 0xe4, 0x5e, 0xf5, 0xf4, 0x7f, 0x23, 0x50, 0xb0, 0x51, 0x6a, 0x1b,
+  0x42, 0x84, 0xf1, 0x97, 0x02, 0xb5, 0x93, 0x8b, 0xdd, 0xd8, 0xac, 0x11,
+  0x26, 0x83, 0xb0, 0x44, 0x22, 0x54, 0x70, 0xc2, 0xbf, 0x13, 0x98, 0x24,
+  0x3a, 0x39, 0x26, 0xab, 0x25, 0x62, 0x11, 0x2a, 0x6d, 0x02, 0xc6, 0x98,
+  0x0b, 0xbb, 0x2c, 0x43, 0xb7, 0xc4, 0xbc, 0x4e, 0x15, 0x96, 0xa5, 0x84,
+  0x84, 0x96, 0xdf, 0x2c, 0x72, 0xea, 0xa9, 0x47, 0xc2, 0x92, 0x57, 0x4a,
+  0x10, 0x4e, 0x7f, 0x64, 0xcb, 0xdc, 0xb4, 0xf4, 0x70, 0x58, 0x28, 0x6c,
+  0xb8, 0x46, 0x78, 0x93, 0xd1, 0x9b, 0xc4, 0x3d, 0xd4, 0xf7, 0xfe, 0x7e,
+  0xf0, 0xf9, 0xae, 0x66, 0xbc, 0x53, 0xb4, 0xcb, 0x7f, 0x06, 0x75, 0x89,
+  0x22, 0x7a, 0x04, 0x3d, 0x67, 0x7e, 0x6a, 0x1f, 0x0d, 0x65, 0xa0, 0x16,
+  0x12, 0x7d, 0xf6, 0x84, 0x82, 0xde, 0x6d, 0xda, 0x21, 0xe7, 0x56, 0x6a,
+  0x56, 0x78, 0x11, 0xea, 0x18, 0xf2, 0x73, 0xea, 0x5d, 0x3d, 0xb2, 0x18,
+  0x8c, 0x5b, 0xaf, 0xa8, 0x74, 0x2e, 0x78, 0xcc, 0x22, 0xfe, 0x08, 0x7a,
+  0x2d, 0xe2, 0xc4, 0x60, 0x30, 0x9b, 0x6c, 0x37, 0x5b, 0xa8, 0x08, 0xc5,
+  0x34, 0x78, 0x6b, 0x63, 0x1d, 0xcd, 0x81, 0xe9, 0x81, 0x0b, 0xdf, 0x16,
+  0xe1, 0xce, 0xd7, 0x66, 0xac, 0xed, 0xbd, 0x18, 0x3e, 0x6d, 0x9d, 0x93,
+  0x66, 0x36, 0x1f, 0xdc, 0x8d, 0x1f, 0x88, 0x7d, 0x5c, 0x9e, 0xbe, 0x4d,
+  0xe6, 0x4b, 0x94, 0x02, 0x16, 0xea, 0xd6, 0xfb, 0x59, 0xa6, 0x6e, 0x68,
+  0x72, 0xef, 0xb0, 0xbb, 0xf0, 0x06, 0x66, 0x67, 0x88, 0xe7, 0x8e, 0x38,
+  0xf9, 0x6d, 0x06, 0xa9, 0x58, 0xfd, 0xc2, 0x52, 0x96, 0x50, 0x8b, 0x70,
+  0x67, 0x53, 0x06, 0xf8, 0x2c, 0x8f, 0xa6, 0xf9, 0x28, 0xca, 0x36, 0xfb,
+  0x94, 0x4d, 0x96, 0x08, 0x54, 0x93, 0x82, 0x48, 0xb4, 0x3f, 0xeb, 0x1d,
+  0xe8, 0x9e, 0xd3, 0x5c, 0xdc, 0xe4, 0xe6, 0x07, 0xdd, 0xc9, 0x70, 0x55,
+  0x3d, 0x64, 0xf0, 0x3c, 0xfa, 0xc0, 0x7d, 0xc6, 0xb0, 0x28, 0xfc, 0xae,
+  0xfd, 0xab, 0x20, 0x56, 0x0c, 0x70, 0x3f, 0x5d, 0x88, 0x66, 0x3f, 0xe5,
+  0xd7, 0x05, 0x2b, 0x01, 0x6f, 0xf3, 0x49, 0x55, 0xd6, 0xe5, 0x15, 0xa3,
+  0xd6, 0x3c, 0xed, 0xe0, 0xe4, 0x64, 0x94, 0xdc, 0x65, 0x63, 0xcd, 0x92,
+  0x1d, 0x86, 0xce, 0x64, 0x96, 0x22, 0x14, 0x20, 0xa9, 0xf2, 0xac, 0xa1,
+  0x59, 0xd3, 0x90, 0x28, 0x11, 0xfb, 0xa0, 0x00, 0xf7, 0x20, 0x2b, 0xae,
+  0x8d, 0xb9, 0x0a, 0x25, 0x9e, 0x4a, 0x4f, 0xcd, 0x70, 0x35, 0x2d, 0xb2,
+  0x32, 0x12, 0x18, 0xe7, 0x0e, 0xe8, 0xb5, 0x22, 0xb5, 0xcf, 0xe8, 0x0e,
+  0x1f, 0xa7, 0x52, 0x7c, 0x85, 0xfd, 0x03, 0x46, 0xec, 0x90, 0x9a, 0x22,
+  0x8e, 0xcb, 0x8f, 0xe4, 0x32, 0x0b, 0x32, 0x57, 0xb4, 0x8c, 0x7c, 0xbb,
+  0x82, 0x06, 0xaa, 0x50, 0x4d, 0xcb, 0x0a, 0x68, 0x24, 0xaf, 0x30, 0x02,
+  0x95, 0xa6, 0x5a, 0x56, 0xe4, 0x33, 0x06, 0xe7, 0x64, 0x28, 0x4f, 0xef,
+  0x6e, 0x4a, 0x2e, 0x23, 0x83, 0x69, 0xa6, 0xab, 0x09, 0x39, 0xb7, 0x9c,
+  0xe4, 0x23, 0xbc, 0xdb, 0x90, 0x0a, 0xee, 0xbe, 0xf1, 0x17, 0x2a, 0xca,
+  0x4f, 0x27, 0xeb, 0xe1, 0x52, 0x4c, 0xc5, 0x3d, 0xf3, 0x3a, 0xbf, 0x5e,
+  0x55, 0x7e, 0x0d, 0xae, 0x23, 0xad, 0x68, 0xcd, 0x8a, 0x23, 0xf7, 0x48,
+  0x2e, 0xcd, 0x8a, 0x4f, 0x69, 0x50, 0x54, 0xb0, 0x09, 0xd3, 0xa2, 0xf8,
+  0xbe, 0x8b, 0xed, 0xbe, 0x5f, 0x84, 0x60, 0x91, 0xb4, 0x69, 0x41, 0x52,
+  0x56, 0xb5, 0x72, 0xac, 0x3c, 0x3e, 0xa6, 0x64, 0xd5, 0x3f, 0xaf, 0x2f,
+  0xf6, 0x08, 0x44, 0x63, 0xb0, 0x4e, 0xcb, 0x0b, 0x08, 0x29, 0x1e, 0xd2,
+  0xf9, 0xe2, 0x1e, 0x7b, 0x0d, 0x69, 0x45, 0x80, 0x29, 0x5e, 0x54, 0x76,
+  0x6a, 0x6b, 0x0f, 0xd3, 0xfa, 0xb4, 0x63, 0x5e, 0xfe, 0xd9, 0x2d, 0xe9,
+  0x07, 0xfb, 0x83, 0x71, 0x96, 0x52, 0xa5, 0x86, 0x97, 0x0d, 0x69, 0x4c,
+  0xf1, 0x34, 0x15, 0x4e, 0xcd, 0x88, 0x24, 0xaa, 0x7c, 0xc5, 0xef, 0x5e,
+  0x42, 0xd9, 0xa2, 0xb5, 0x3d, 0x3b, 0x7c, 0x7f, 0xf9, 0x4d, 0xb2, 0x3f,
+  0xdc, 0x7d, 0x54, 0x9a, 0x0a, 0x24, 0x42, 0xab, 0x0d, 0x57, 0x69, 0x96,
+  0x6e, 0xd2, 0xbf, 0x2e, 0x8b, 0x36, 0x0b, 0x7c, 0xcc, 0x4b, 0x2f, 0x0a,
+  0x94, 0xde, 0xbf, 0x14, 0x97, 0xe8, 0xe2, 0xac, 0xfd, 0x52, 0x21, 0x83,
+  0x01, 0xac, 0xb8, 0xea, 0xa1, 0x80, 0x66, 0x1d, 0xe5, 0xeb, 0x68, 0x75,
+  0x56, 0xe8, 0x84, 0x14, 0xb1, 0x8d, 0x7a, 0x0c, 0xe4, 0xe7, 0xe7, 0x43,
+  0x65, 0xab, 0xc7, 0x41, 0x91, 0xbd, 0x78, 0x73, 0xd4, 0x69, 0xee, 0xf9,
+  0x67, 0xcf, 0x76, 0x7f, 0x47, 0xac, 0x5e, 0x49, 0x0e, 0x12, 0x71, 0x24,
+  0x44, 0x69, 0x74, 0xbe, 0xaf, 0x28, 0x8d, 0x55, 0x5d, 0x0d, 0xa5, 0x3c,
+  0xe4, 0x67, 0xda, 0xd7, 0xcd, 0x94, 0x70, 0x5b, 0x5a, 0xd4, 0x86, 0x51,
+  0x19, 0x34, 0xa2, 0xff, 0xfc, 0xaf, 0x30, 0xcb, 0xf6, 0xc7, 0x9f, 0x11,
+  0x17, 0x40, 0x69, 0x2c, 0x0b, 0xf9, 0x57, 0x29, 0x53, 0xbb, 0xfb, 0x98,
+  0xce, 0xf3, 0xe6, 0x1f, 0x36, 0x13, 0x5b, 0xbb, 0x02, 0x69, 0x59, 0x41,
+  0xac, 0x5a, 0xc1, 0x9d, 0x4a, 0x57, 0x2c, 0xbd, 0xd3, 0x65, 0xad, 0xa4,
+  0xac, 0xb8, 0x55, 0x09, 0x74, 0x16, 0xa4, 0xa6, 0xc3, 0x74, 0x55, 0x01,
+  0x1a, 0x2d, 0xc3, 0x20, 0x25, 0x0d, 0xd4, 0x61, 0x4e, 0x6e, 0x72, 0x06,
+  0x59, 0x61, 0x04, 0xa4, 0x8c, 0x22, 0x99, 0x39, 0x2f, 0x56, 0x38, 0x30,
+  0x05, 0x4a, 0xf4, 0x9f, 0x66, 0x05, 0xfa, 0xcd, 0x5d, 0xf9, 0x5f, 0x6d,
+  0x67, 0xa6, 0x51, 0x31, 0xa8, 0xbf, 0x1f, 0xfe, 0xb0, 0x47, 0xe9, 0x41,
+  0xbd, 0x6e, 0x13, 0x8c, 0xf4, 0xb7, 0xab, 0x6a, 0x35, 0xa4, 0x75, 0x94,
+  0xaa, 0xfa, 0x41, 0x4a, 0x3e, 0xee, 0x93, 0xda, 0xf8, 0x5f, 0x43, 0xfa,
+  0xef, 0x8f, 0x7b, 0x83, 0x67, 0x3f, 0xdb, 0x8f, 0xfe, 0x61, 0xef, 0xc3,
+  0x1f, 0xf6, 0x7b, 0xb1, 0xec, 0x2f, 0xc7, 0x05, 0xe0, 0x41, 0x15, 0x49,
+  0xa3, 0x2d, 0xee, 0x25, 0x65, 0x43, 0x42, 0x8d, 0xae, 0x64, 0x16, 0x4a,
+  0x3b, 0x46, 0x08, 0x93, 0xc8, 0x75, 0x35, 0x64, 0x8f, 0xb1, 0x53, 0x55,
+  0xb5, 0x6c, 0x96, 0x0a, 0x87, 0xbb, 0x92, 0xdf, 0x57, 0xc6, 0x04, 0x3a,
+  0x21, 0x92, 0x4c, 0x10, 0x08, 0xc3, 0x22, 0x6b, 0x6f, 0x0f, 0xa2, 0x4f,
+  0x51, 0xce, 0x8d, 0x70, 0x36, 0x04, 0x20, 0x65, 0x2e, 0xb4, 0x34, 0xe9,
+  0x4c, 0xfa, 0x78, 0x6c, 0x7f, 0x52, 0x64, 0x41, 0x56, 0x96, 0xa6, 0x70,
+  0xb2, 0xf9, 0xa6, 0xe2, 0xa0, 0x6c, 0x45, 0x00, 0xf8, 0x82, 0xe0, 0x91,
+  0xdb, 0xfa, 0xb3, 0x38, 0xd2, 0x01, 0x06, 0xe9, 0xaf, 0x60, 0x0e, 0xf3,
+  0x10, 0x37, 0x7c, 0xad, 0x98, 0x06, 0x73, 0x57, 0x8d, 0x9b, 0x7f, 0x26,
+  0x41, 0x18, 0x4a, 0xf8, 0x47, 0xcd, 0xa6, 0x32, 0x22, 0xcb, 0xd2, 0x31,
+  0x55, 0xb4, 0x6a, 0x55, 0x07, 0x99, 0xa0, 0x1c, 0x64, 0x0d, 0x83, 0x56,
+  0xd9, 0xa7, 0xd2, 0x7a, 0xc5, 0x84, 0xf8, 0x53, 0xe1, 0x4d, 0x82, 0x4c,
+  0x14, 0x26, 0x67, 0x7d, 0x31, 0x9f, 0x01, 0xa1, 0x48, 0x9b, 0x6c, 0xe0,
+  0xa5, 0xc8, 0x22, 0x23, 0x17, 0x3f, 0xd5, 0x94, 0xc1, 0x09, 0x57, 0x0a,
+  0x41, 0x80, 0x6f, 0x10, 0x44, 0x25, 0xe9, 0x8a, 0x9a, 0xde, 0x1b, 0x69,
+  0xc8, 0x6c, 0x9c, 0x43, 0x9b, 0x08, 0xa1, 0x3e, 0x02, 0x91, 0x36, 0x66,
+  0xab, 0x6d, 0x0e, 0x36, 0x93, 0x2d, 0x6b, 0xd9, 0x4d, 0xd3, 0xfa, 0x66,
+  0x3b, 0xe6, 0x88, 0x74, 0xbe, 0x3f, 0x27, 0xa8, 0xc6, 0xe2, 0x7a, 0xa0,
+  0x3b, 0x93, 0x25, 0xd4, 0xba, 0xeb, 0xfa, 0x0c, 0xf1, 0x15, 0xc6, 0x0b,
+  0x0e, 0x3c, 0x90, 0x4b, 0xeb, 0x67, 0x03, 0xb8, 0x37, 0xf0, 0xf3, 0x64,
+  0xf0, 0x1f, 0xe1, 0xbd, 0x20, 0x8f, 0x32, 0xe4, 0x6b, 0xc0, 0x19, 0x51,
+  0xee, 0x22, 0xa5, 0x68, 0x5e, 0xf2, 0x72, 0x71, 0x53, 0x19, 0xf5, 0x2f,
+  0x4c, 0xbc, 0x1a, 0x7d, 0x93, 0x30, 0x03, 0xa2, 0x79, 0x8a, 0x9f, 0xb1,
+  0xbb, 0x63, 0xe1, 0x58, 0xfe, 0x7e, 0x47, 0xd2, 0x3c, 0x42, 0x93, 0x0c,
+  0xd2, 0x7a, 0x10, 0xa8, 0x3a, 0x14, 0x54, 0xf4, 0x6b, 0x69, 0x90, 0xe6,
+  0x49, 0x06, 0x09, 0x21, 0x19, 0x29, 0xb6, 0x56, 0x4c, 0x50, 0x37, 0x36,
+  0xd9, 0x19, 0x0e, 0x77, 0x48, 0x66, 0xed, 0x98, 0x3f, 0xc4, 0x9c, 0x01,
+  0xee, 0xb6, 0x5b, 0xfe, 0xc6, 0xec, 0x72, 0xfa, 0x16, 0xf9, 0x80, 0xa4,
+  0x5a, 0x9c, 0x73, 0x98, 0xd7, 0x7f, 0x5b, 0x02, 0x8b, 0x5a, 0x19, 0x75,
+  0xb2, 0xe2, 0xbc, 0xde, 0x79, 0xe7, 0x92, 0x0c, 0x8a, 0xce, 0xb0, 0x73,
+  0xbd, 0x16, 0xfe, 0x88, 0xe6, 0xa6, 0x93, 0x6f, 0xc6, 0x60, 0x72, 0x60,
+  0x84, 0xf3, 0x46, 0xa9, 0xbb, 0x90, 0x52, 0x9d, 0xae, 0x35, 0xe8, 0x9e,
+  0xee, 0xb7, 0x1d, 0x1f, 0x8b, 0xbc, 0x30, 0x26, 0x86, 0x51, 0x8e, 0x41,
+  0xcb, 0x48, 0x58, 0xbc, 0x30, 0xa1, 0x87, 0xbd, 0x69, 0x61, 0xf9, 0x11,
+  0x97, 0x4e, 0xeb, 0x14, 0x0e, 0xaf, 0xbe, 0x0d, 0x47, 0xf3, 0xb7, 0x82,
+  0xcb, 0x92, 0x3f, 0xb2, 0x4d, 0x4d, 0x78, 0x68, 0xdd, 0x45, 0x66, 0x8b,
+  0x24, 0x08, 0x05, 0x4c, 0xca, 0x50, 0x20, 0x68, 0xef, 0x02, 0x62, 0x8e,
+  0xb9, 0x3d, 0xac, 0xd3, 0xc1, 0x1e, 0x28, 0xaf, 0x0b, 0x66, 0xcc, 0xc4,
+  0x6c, 0x69, 0x66, 0xfe, 0xf5, 0xf1, 0x85, 0x68, 0x28, 0xc8, 0x12, 0x77,
+  0x05, 0x12, 0x03, 0x2a, 0x55, 0x58, 0x32, 0xcf, 0x9f, 0xda, 0x52, 0xb8,
+  0xf5, 0x4d, 0xba, 0xff, 0xec, 0xb9, 0x74, 0x5b, 0x29, 0xb4, 0x60, 0x28,
+  0x6d, 0xf2, 0xaf, 0x76, 0x76, 0x38, 0x6c, 0x4e, 0xd6, 0x69, 0x20, 0x17,
+  0x52, 0xa9, 0xe7, 0xbb, 0xf9, 0xc5, 0x66, 0x14, 0x30, 0x67, 0x7d, 0xb7,
+  0x5a, 0xa6, 0x0f, 0xb1, 0x38, 0x70, 0x53, 0xfa, 0x94, 0xfa, 0x7d, 0xdf,
+  0x6d, 0xcb, 0x5c, 0x08, 0xe9, 0x1a, 0xa6, 0x79, 0xa1, 0x9c, 0x90, 0x6a,
+  0x3c, 0x89, 0xe6, 0xa6, 0x0e, 0x93, 0x43, 0x7f, 0x76, 0x00, 0x40, 0x43,
+  0x71, 0xc8, 0x49, 0xc8, 0x6b, 0xa2, 0xf0, 0x37, 0x5a, 0x10, 0xaf, 0x65,
+  0x01, 0x81, 0x9a, 0x4d, 0x07, 0xb2, 0x3f, 0xda, 0x79, 0x1a, 0x78, 0x61,
+  0x9f, 0x0c, 0x16, 0x73, 0x39, 0x0e, 0xd2, 0x44, 0xe4, 0x9b, 0x0a, 0x90,
+  0x62, 0x93, 0xde, 0x83, 0x09, 0xba, 0xe3, 0x62, 0x6e, 0x83, 0x8a, 0x03,
+  0x40, 0xde, 0x04, 0xc4, 0xf9, 0x78, 0x95, 0x4e, 0x85, 0x48, 0x70, 0xcc,
+  0xba, 0xe4, 0xcc, 0xc5, 0x64, 0xd6, 0x96, 0x62, 0x3f, 0xc1, 0x39, 0x30,
+  0x5b, 0x61, 0x87, 0xf6, 0x81, 0x58, 0x1b, 0x01, 0xf5, 0x3d, 0x39, 0x99,
+  0x5f, 0x0c, 0x77, 0x0f, 0x92, 0xb3, 0x45, 0x56, 0x98, 0xf9, 0xef, 0x27,
+  0x5f, 0x17, 0x4b, 0x5a, 0x0f, 0x1a, 0xf4, 0xd7, 0xa3, 0x6f, 0x83, 0x6c,
+  0x2b, 0x7a, 0xe3, 0xe9, 0x13, 0x7a, 0xe3, 0xdd, 0x88, 0x9f, 0xba, 0x2b,
+  0x67, 0x57, 0x54, 0x9a, 0xfd, 0xe8, 0x3e, 0x35, 0x7f, 0xc4, 0x1e, 0xff,
+  0x8c, 0x1e, 0x37, 0x1b, 0x6f, 0xda, 0x04, 0x65, 0x70, 0x13, 0xa9, 0xe1,
+  0x72, 0x90, 0x9c, 0x97, 0xb3, 0xb4, 0x82, 0xa7, 0x9a, 0x37, 0xdf, 0x9a,
+  0x1e, 0x3f, 0x7d, 0x1a, 0xe9, 0x71, 0x7f, 0x45, 0x87, 0x86, 0xff, 0x78,
+  0x8f, 0xce, 0xe0, 0xfb, 0xa3, 0xbf, 0x8d, 0xd3, 0xc9, 0x47, 0xec, 0x44,
+  0xa0, 0xda, 0x2d, 0xd7, 0xec, 0xef, 0x29, 0xcd, 0x99, 0x8a, 0xe0, 0x31,
+  0x25, 0x6d, 0x2a, 0xf0, 0xb1, 0x35, 0xc8, 0x71, 0xff, 0x6c, 0xff, 0xc9,
+  0xde, 0xce, 0xf3, 0xe1, 0xd3, 0xe1, 0xbe, 0x45, 0x99, 0x99, 0x8d, 0x75,
+  0x4b, 0x05, 0x14, 0x28, 0xa2, 0xbf, 0xaa, 0xfe, 0x5c, 0x5e, 0x98, 0x76,
+  0x28, 0xf8, 0x6f, 0x7f, 0x02, 0xcf, 0x91, 0xc3, 0x97, 0xa4, 0xc4, 0x3c,
+  0xe1, 0xe7, 0x2a, 0x0d, 0x23, 0xf5, 0xc3, 0x88, 0xc0, 0x01, 0xf5, 0x8d,
+  0xc5, 0xdb, 0x41, 0xc5, 0x4e, 0x01, 0xfc, 0x1c, 0xe7, 0xc6, 0x6a, 0x6e,
+  0xca, 0x25, 0xdc, 0xea, 0xe4, 0xc3, 0x51, 0xc6, 0x6d, 0x28, 0x49, 0x18,
+  0x07, 0x1d, 0xb1, 0x88, 0x73, 0x8c, 0x3b, 0x0f, 0x2c, 0xef, 0xb8, 0x55,
+  0x45, 0x98, 0xbc, 0xb1, 0xa8, 0x43, 0xce, 0x95, 0x2e, 0x8c, 0x31, 0x53,
+  0x4c, 0x48, 0x13, 0xf9, 0xc6, 0xd8, 0x1a, 0xb7, 0x70, 0x1c, 0x07, 0x75,
+  0xd6, 0xa4, 0xd0, 0x05, 0xa9, 0xc8, 0xd6, 0xf5, 0xaf, 0x48, 0x07, 0x4c,
+  0x23, 0x3c, 0xbc, 0xf2, 0x03, 0xce, 0xa0, 0x60, 0x1f, 0x08, 0xc6, 0x3d,
+  0x08, 0xd3, 0x7e, 0xbd, 0x02, 0x7b, 0x6e, 0xc5, 0x85, 0x50, 0x9a, 0xf2,
+  0x97, 0xd8, 0xc5, 0xed, 0xb0, 0xc2, 0x7e, 0x26, 0x5a, 0xcc, 0x05, 0xf3,
+  0x80, 0x3f, 0x42, 0x18, 0x29, 0xda, 0x94, 0x14, 0xfc, 0xaf, 0x4e, 0xcd,
+  0x3f, 0xbd, 0x05, 0x83, 0x3c, 0xa6, 0x4e, 0x59, 0x34, 0x6d, 0xf3, 0x57,
+  0xef, 0xb2, 0x27, 0xbf, 0xfd, 0x2e, 0xdb, 0x7f, 0xec, 0x2e, 0x73, 0x9b,
+  0x8c, 0xce, 0xd9, 0x9a, 0x2d, 0x46, 0x7b, 0x4c, 0x2b, 0x22, 0xc7, 0x77,
+  0x99, 0xbf, 0xcd, 0x60, 0xa6, 0xc6, 0x36, 0x5a, 0x6b, 0x9f, 0xd9, 0x6d,
+  0xb6, 0x62, 0x97, 0x31, 0x6f, 0x15, 0xef, 0xb1, 0xf5, 0x5b, 0x8c, 0xf7,
+  0x18, 0x57, 0xad, 0x5d, 0xb3, 0xcb, 0xda, 0x6e, 0xf8, 0xf5, 0xfb, 0xcc,
+  0x6d, 0x87, 0x47, 0xef, 0x32, 0x2d, 0x68, 0xc2, 0x52, 0x67, 0xc5, 0x16,
+  0x6b, 0xed, 0xb1, 0x35, 0x95, 0xdf, 0xf6, 0x5e, 0xc4, 0x76, 0xd9, 0x93,
+  0x5f, 0xbd, 0xcb, 0x9e, 0xfe, 0xf6, 0xbb, 0xec, 0xc9, 0xff, 0x93, 0x65,
+  0xff, 0xed, 0x64, 0xd9, 0xde, 0x2f, 0x93, 0x65, 0xfb, 0x9d, 0xc0, 0xa6,
+  0x51, 0x57, 0xd9, 0xdb, 0xfc, 0xa3, 0x7a, 0xfd, 0x0f, 0x76, 0x76, 0x7e,
+  0x86, 0xf3, 0xe4, 0x80, 0xee, 0xeb, 0x9f, 0x83, 0x32, 0x9e, 0x59, 0x27,
+  0xd3, 0x72, 0x74, 0x76, 0xf4, 0xed, 0x48, 0x5c, 0xd6, 0xa2, 0x75, 0xa9,
+  0x56, 0x06, 0x4e, 0x3e, 0xd0, 0xa8, 0x4a, 0xc9, 0xad, 0x40, 0xd7, 0xe7,
+  0x52, 0x7f, 0xc9, 0xe0, 0x53, 0xdf, 0x3a, 0x8f, 0x29, 0xc7, 0xbf, 0x50,
+  0x9c, 0x23, 0x13, 0xbe, 0x71, 0x7e, 0x31, 0xbc, 0x05, 0xd2, 0x74, 0x2d,
+  0x11, 0x9f, 0xee, 0x74, 0x79, 0x7d, 0x11, 0x8f, 0x46, 0xe1, 0x5e, 0xd9,
+  0x6a, 0x6e, 0x2a, 0xa4, 0x76, 0xe0, 0xb1, 0x6d, 0x4b, 0x0e, 0xf6, 0x40,
+  0xef, 0xa4, 0x57, 0xdf, 0x80, 0x16, 0x77, 0x51, 0x65, 0x2b, 0xaa, 0xe7,
+  0x5e, 0xde, 0x78, 0xbf, 0x55, 0x17, 0x5a, 0x8c, 0xdb, 0x42, 0x48, 0xde,
+  0xbc, 0xf9, 0xa6, 0xf7, 0x82, 0x7c, 0xf4, 0xfc, 0x13, 0xe3, 0x4b, 0x2d,
+  0xc1, 0xca, 0x0c, 0x35, 0x32, 0x51, 0xf2, 0x41, 0x3e, 0x62, 0xdb, 0xa8,
+  0x35, 0x93, 0x87, 0xea, 0x36, 0xd4, 0x4f, 0x4d, 0x93, 0x01, 0x6c, 0x14,
+  0xbf, 0x48, 0xe9, 0x37, 0xf2, 0x8f, 0x67, 0xf4, 0x61, 0xc4, 0x5a, 0xf9,
+  0x9f, 0x37, 0xf8, 0x37, 0xe3, 0x0a, 0x98, 0x49, 0xca, 0x5b, 0xe7, 0x49,
+  0x74, 0xa2, 0xf5, 0x60, 0xb2, 0xdf, 0x81, 0x19, 0x0e, 0xde, 0x95, 0x01,
+  0x43, 0x12, 0xc6, 0xec, 0x6a, 0x99, 0x44, 0xd8, 0xf3, 0xbd, 0x63, 0x8d,
+  0x96, 0x9f, 0xae, 0x48, 0x8e, 0xc9, 0x12, 0x9f, 0x6e, 0x52, 0xb9, 0x03,
+  0xfc, 0x5a, 0x4f, 0x2e, 0x58, 0x2a, 0x4b, 0xd0, 0x67, 0xee, 0xd1, 0x10,
+  0xe3, 0x4b, 0x75, 0x0c, 0xa4, 0xe7, 0x7b, 0xbb, 0x9f, 0x87, 0xde, 0xe6,
+  0xf7, 0x9a, 0xd2, 0xe6, 0x18, 0x17, 0x01, 0x88, 0x00, 0xbc, 0x7c, 0xec,
+  0x32, 0x39, 0x62, 0x1f, 0x8d, 0xe4, 0xbd, 0x91, 0x03, 0x80, 0x52, 0x8e,
+  0x4b, 0xb1, 0x0d, 0x51, 0x3e, 0xab, 0x5b, 0x86, 0x9e, 0x53, 0x79, 0x6b,
+  0x48, 0x49, 0xa1, 0x0b, 0x96, 0xb0, 0x7e, 0x20, 0x2d, 0x50, 0x31, 0x58,
+  0x82, 0x4d, 0x7f, 0x76, 0xe4, 0x5d, 0x7f, 0x7c, 0xba, 0x4b, 0x6b, 0xaa,
+  0x8d, 0xa4, 0x5c, 0x8e, 0x9d, 0xf7, 0xdc, 0x1f, 0x9f, 0xa4, 0xc3, 0x7f,
+  0x22, 0x1b, 0xd3, 0xb3, 0xb6, 0x2b, 0xe1, 0x0f, 0x7d, 0x3e, 0xe1, 0xd7,
+  0x44, 0x19, 0x33, 0x18, 0xa7, 0x55, 0x24, 0x85, 0x42, 0x6e, 0x02, 0x65,
+  0x1a, 0x51, 0x9a, 0x0e, 0x7d, 0x0b, 0x94, 0x17, 0xc0, 0xd6, 0x72, 0xf9,
+  0x2d, 0xfb, 0xf3, 0x24, 0x6c, 0xce, 0x73, 0xd5, 0xfb, 0xd5, 0x41, 0xfb,
+  0x01, 0x41, 0x56, 0x3a, 0xeb, 0x53, 0x14, 0x2f, 0x42, 0xa3, 0xc4, 0xca,
+  0x43, 0xeb, 0x23, 0x44, 0x75, 0x75, 0xe7, 0xb9, 0x12, 0x98, 0xa7, 0xfe,
+  0x0a, 0x4e, 0x7b, 0x8b, 0xbf, 0x30, 0xbf, 0xa7, 0x68, 0x6c, 0xec, 0x36,
+  0xab, 0x27, 0x55, 0x26, 0xc1, 0x11, 0x22, 0x3b, 0x44, 0xe4, 0x95, 0x98,
+  0x02, 0xcd, 0x4d, 0x76, 0x9d, 0x69, 0xf2, 0xa4, 0x1d, 0xb7, 0x12, 0x64,
+  0x80, 0x15, 0x63, 0x18, 0x01, 0x25, 0x7b, 0xa0, 0x23, 0x5b, 0xaf, 0x95,
+  0x26, 0x88, 0x69, 0x34, 0xe8, 0x75, 0x4d, 0x65, 0xb5, 0x14, 0x8b, 0x0b,
+  0x2a, 0x3b, 0x56, 0xdf, 0xe4, 0xdd, 0xfa, 0xcc, 0x5b, 0x83, 0x57, 0xe5,
+  0xab, 0xc1, 0xb6, 0x6c, 0xf2, 0xf2, 0xd6, 0xd8, 0xee, 0x64, 0xbf, 0xa1,
+  0xab, 0x14, 0xa9, 0xbd, 0x81, 0xa7, 0x49, 0x2e, 0x34, 0xa4, 0x61, 0x10,
+  0x7a, 0x12, 0xb7, 0x3b, 0x62, 0x03, 0x41, 0x3d, 0x0c, 0xee, 0x58, 0x45,
+  0x41, 0x5a, 0x91, 0x78, 0xe4, 0x95, 0x32, 0x73, 0x75, 0xc5, 0xd8, 0x2e,
+  0xe4, 0x75, 0x52, 0x04, 0x5b, 0x38, 0x95, 0xd9, 0x1d, 0x5e, 0x2e, 0xda,
+  0xb7, 0x13, 0xa5, 0x08, 0xab, 0x74, 0x78, 0xa9, 0x82, 0xe5, 0xcb, 0x07,
+  0x13, 0x00, 0xac, 0x08, 0xba, 0x12, 0x5f, 0x0e, 0x1d, 0x3f, 0x24, 0x84,
+  0x30, 0x17, 0xf3, 0xe4, 0x26, 0x9b, 0x4b, 0xdd, 0x90, 0x5f, 0x58, 0x05,
+  0xbd, 0xd3, 0x27, 0x86, 0xc6, 0x5d, 0x35, 0x8b, 0xe1, 0xbc, 0xfc, 0xbb,
+  0x99, 0xe3, 0x94, 0x0a, 0x91, 0x05, 0x87, 0x82, 0xb8, 0xe5, 0x0a, 0x5e,
+  0x14, 0x48, 0xdc, 0x65, 0x61, 0xcd, 0x61, 0x27, 0xc4, 0x95, 0x35, 0x1b,
+  0x69, 0xef, 0xc9, 0x91, 0xe9, 0xf1, 0xf1, 0x87, 0xf7, 0xef, 0x46, 0xef,
+  0xcf, 0xbb, 0x67, 0xff, 0xfc, 0xec, 0xe2, 0xf2, 0xf8, 0xf5, 0x87, 0xf3,
+  0x8b, 0xb3, 0xcb, 0xb3, 0xa3, 0xb3, 0xd3, 0x64, 0x6b, 0x6f, 0x7b, 0x6d,
+  0x9a, 0x97, 0x75, 0xc4, 0x78, 0xb4, 0x81, 0xda, 0x7f, 0x96, 0x5a, 0xb6,
+  0x0b, 0x5b, 0x34, 0x9e, 0xb0, 0xb5, 0xef, 0x65, 0x6f, 0xb5, 0x88, 0x98,
+  0xe1, 0x8f, 0xc1, 0xf5, 0x06, 0xb9, 0x9e, 0x26, 0xd7, 0x4b, 0x3a, 0x26,
+  0x36, 0xce, 0xcf, 0xf2, 0x1a, 0x94, 0x99, 0x81, 0x22, 0xa6, 0xa1, 0x46,
+  0x2f, 0x43, 0x68, 0xad, 0x57, 0xf2, 0x59, 0x57, 0x6b, 0xa1, 0x35, 0x80,
+  0x32, 0xea, 0x76, 0x45, 0x1d, 0xdf, 0x16, 0x76, 0x5f, 0x30, 0xab, 0x08,
+  0x38, 0xa9, 0xed, 0x2b, 0x60, 0xec, 0x97, 0xe8, 0x0f, 0xf2, 0x6a, 0x59,
+  0xbd, 0x1d, 0x26, 0xe7, 0x61, 0x71, 0x1d, 0x79, 0x63, 0x9a, 0x15, 0x52,
+  0xe1, 0x51, 0xfa, 0x81, 0xd8, 0x1f, 0x4d, 0xaf, 0xc4, 0xa2, 0xcd, 0x03,
+  0xf4, 0x5b, 0x6f, 0xae, 0x86, 0x50, 0xe4, 0x02, 0xc7, 0x39, 0xbf, 0x7d,
+  0x85, 0xf2, 0x82, 0x77, 0x5e, 0x9f, 0xa8, 0x3d, 0x52, 0xcb, 0x40, 0x0a,
+  0x18, 0x91, 0xb1, 0xc7, 0x1a, 0x57, 0xe2, 0x1c, 0x1f, 0x9c, 0x49, 0x68,
+  0x30, 0xca, 0x35, 0x33, 0xf2, 0xc7, 0xf2, 0xc0, 0x46, 0xe6, 0x49, 0x24,
+  0x1f, 0x7f, 0x9f, 0xd6, 0xbe, 0xcf, 0x1b, 0x5a, 0x02, 0x6a, 0x6b, 0x12,
+  0x0c, 0x1c, 0x67, 0x8b, 0xef, 0x99, 0x43, 0x87, 0x28, 0x5e, 0xe0, 0x46,
+  0xe3, 0x75, 0x45, 0x13, 0x3d, 0xcd, 0xed, 0xd2, 0x9d, 0x5c, 0xdc, 0x36,
+  0x9a, 0x7f, 0x2f, 0x85, 0x3a, 0x85, 0x85, 0x98, 0xf8, 0x3b, 0x8c, 0x86,
+  0x7f, 0x20, 0x18, 0x2b, 0x06, 0x1d, 0x25, 0x9c, 0xbd, 0xcf, 0x61, 0x89,
+  0xd1, 0xd1, 0x79, 0x8c, 0x3f, 0xc2, 0xa5, 0xf3, 0xb3, 0xc0, 0xd5, 0x6a,
+  0xb4, 0xbb, 0xc3, 0xdd, 0x64, 0xf4, 0xf6, 0x2b, 0xa1, 0x53, 0xfc, 0x6a,
+  0xc4, 0xe4, 0xd4, 0xa4, 0x64, 0xeb, 0x1b, 0xc3, 0x38, 0x65, 0x15, 0x84,
+  0x07, 0x29, 0x32, 0x74, 0x86, 0xff, 0x84, 0xbf, 0x29, 0xce, 0x99, 0x7f,
+  0xee, 0x46, 0x8d, 0x03, 0xa0, 0xe3, 0xee, 0x47, 0x73, 0xe0, 0x39, 0xee,
+  0x43, 0x95, 0x58, 0xa3, 0xe3, 0x1e, 0xae, 0x27, 0xef, 0xda, 0x0f, 0xce,
+  0xc3, 0x23, 0x4f, 0xc2, 0x63, 0x8e, 0x82, 0xa8, 0x34, 0x2a, 0xc4, 0xbb,
+  0xd3, 0x71, 0xde, 0xda, 0xaa, 0x19, 0xa5, 0xfa, 0xc0, 0x8d, 0x3d, 0xcb,
+  0xae, 0xa0, 0xc3, 0x21, 0x05, 0xaf, 0x8f, 0x5f, 0x22, 0x66, 0x67, 0x71,
+  0x59, 0xb2, 0x14, 0x91, 0xc5, 0x42, 0x6e, 0x94, 0x53, 0x8a, 0x95, 0xf4,
+  0xad, 0x3b, 0x07, 0x7f, 0x42, 0xdd, 0x4f, 0x66, 0xbc, 0xcd, 0x6b, 0x8f,
+  0xbc, 0x01, 0x44, 0x8b, 0xb9, 0xc6, 0xe5, 0xbc, 0xb3, 0x34, 0xa3, 0xa4,
+  0xbe, 0x7b, 0xce, 0x07, 0x0c, 0x92, 0x17, 0xa0, 0x48, 0x4d, 0xc9, 0x30,
+  0x70, 0x08, 0x54, 0x2f, 0x73, 0xa5, 0x28, 0x1d, 0x8d, 0x97, 0x68, 0x46,
+  0xa1, 0x6c, 0x1c, 0x24, 0xc9, 0xeb, 0xac, 0xb8, 0x6f, 0x77, 0xa8, 0x0f,
+  0x12, 0x8e, 0x5b, 0xf6, 0xaf, 0xb3, 0xab, 0x9c, 0x83, 0x84, 0x0a, 0x08,
+  0x75, 0x5d, 0x0c, 0xbb, 0xd4, 0xee, 0x73, 0x4c, 0x02, 0xbc, 0xb2, 0xd3,
+  0xa0, 0xa9, 0xe0, 0xfe, 0x64, 0x6c, 0x81, 0xef, 0x41, 0xc3, 0x8a, 0xf8,
+  0xe4, 0x63, 0xa6, 0x01, 0x3c, 0x76, 0xb0, 0x8f, 0xea, 0xe5, 0xf8, 0xaf,
+  0xa8, 0x0d, 0x4d, 0xd6, 0xc0, 0x2c, 0x85, 0xc3, 0x85, 0x27, 0x42, 0x29,
+  0xfe, 0xc8, 0xdd, 0x63, 0x9e, 0xe2, 0x48, 0x58, 0xe8, 0xf5, 0xa6, 0xda,
+  0x30, 0x88, 0x78, 0x2a, 0x6d, 0x77, 0x7b, 0x17, 0xa0, 0x4f, 0xeb, 0xb2,
+  0xac, 0x0e, 0x36, 0x56, 0x08, 0xcb, 0xc1, 0x15, 0x49, 0x27, 0x46, 0x71,
+  0x75, 0xae, 0x31, 0x9e, 0x4d, 0x46, 0x0e, 0x5a, 0x1c, 0x2b, 0x3d, 0xbe,
+  0xb2, 0x2d, 0x95, 0x79, 0x75, 0xff, 0x4f, 0xf4, 0x47, 0x38, 0x8a, 0x56,
+  0xdc, 0x87, 0xe6, 0x59, 0x4f, 0x3b, 0x3d, 0x0e, 0xf1, 0x81, 0xd7, 0x57,
+  0x7d, 0xe0, 0x95, 0x13, 0xa8, 0xeb, 0xdb, 0x86, 0xec, 0x79, 0xcc, 0x07,
+  0xde, 0x17, 0x4a, 0x90, 0xa6, 0xfb, 0x7b, 0x61, 0x59, 0xdb, 0xef, 0xd2,
+  0xaa, 0x00, 0x50, 0xdd, 0xb7, 0x29, 0x88, 0x56, 0x63, 0x21, 0x25, 0x1d,
+  0xd2, 0x2b, 0x82, 0xf8, 0x56, 0x99, 0xa3, 0x98, 0x25, 0x9f, 0x0a, 0x93,
+  0xe7, 0x08, 0x6f, 0xb5, 0x22, 0x4e, 0x17, 0x65, 0xc3, 0x0c, 0xda, 0x84,
+  0x09, 0x26, 0x9d, 0xa1, 0x22, 0xd7, 0x8d, 0x37, 0xc9, 0xaa, 0x6c, 0x52,
+  0x6b, 0x76, 0x37, 0xc1, 0xc3, 0xb1, 0x5c, 0x94, 0x85, 0x4b, 0x28, 0x90,
+  0x68, 0xae, 0x27, 0x67, 0xe4, 0x8b, 0x8c, 0xec, 0x82, 0xd7, 0xc9, 0x12,
+  0x6d, 0xdf, 0x96, 0x39, 0xc1, 0xb3, 0x36, 0xec, 0x95, 0x60, 0xf4, 0x20,
+  0xb7, 0x4b, 0x2e, 0xc3, 0x22, 0x10, 0x30, 0x55, 0x2c, 0x9e, 0x46, 0x6c,
+  0x15, 0x72, 0x30, 0x01, 0xee, 0x04, 0xd7, 0x81, 0x97, 0x45, 0xc4, 0xe7,
+  0x5b, 0x9b, 0x03, 0xe8, 0x22, 0x65, 0xfe, 0x36, 0xb3, 0x27, 0x8b, 0xb4,
+  0xd1, 0x03, 0xe3, 0x49, 0x44, 0xea, 0x1e, 0xc8, 0x15, 0x0a, 0xb2, 0x1f,
+  0x26, 0x96, 0xd9, 0xa8, 0x4b, 0x92, 0xdd, 0xae, 0x6e, 0x6c, 0x6f, 0x55,
+  0x0b, 0x0e, 0x75, 0x0a, 0xe3, 0xf0, 0x01, 0x31, 0xfe, 0xe9, 0x5e, 0xd1,
+  0x68, 0xeb, 0x95, 0x99, 0x05, 0x52, 0x85, 0xcd, 0x3c, 0xe7, 0x0d, 0x56,
+  0xac, 0x83, 0x87, 0x55, 0x98, 0xa8, 0x94, 0xd6, 0x98, 0x2f, 0xbb, 0x47,
+  0xbe, 0xd0, 0xf0, 0x9f, 0x05, 0xff, 0x30, 0x5b, 0x14, 0xf4, 0x08, 0xf1,
+  0x78, 0x70, 0xd5, 0x00, 0xd8, 0xbb, 0x5a, 0x4a, 0x81, 0x5c, 0x39, 0x08,
+  0x08, 0xc6, 0xfd, 0x88, 0x3b, 0x96, 0x27, 0xc6, 0x6c, 0x98, 0x62, 0x3a,
+  0x30, 0x42, 0x60, 0xb1, 0xc6, 0x73, 0xfa, 0xa9, 0xaf, 0x83, 0x6e, 0xe1,
+  0x68, 0x7d, 0x66, 0x0a, 0xfe, 0x09, 0xa3, 0xf5, 0x64, 0xee, 0x42, 0x1c,
+  0xba, 0x51, 0x09, 0x9e, 0xc4, 0x66, 0x32, 0x86, 0x07, 0x0c, 0x6d, 0x85,
+  0x95, 0xb5, 0x04, 0x12, 0x9e, 0x3f, 0x9e, 0x40, 0x9d, 0xb0, 0x55, 0xd8,
+  0x29, 0x9e, 0x3e, 0x99, 0xb9, 0xf7, 0x9c, 0xa7, 0x85, 0x36, 0x91, 0x80,
+  0x5b, 0x08, 0x02, 0xdb, 0xfb, 0x16, 0x1b, 0x45, 0xc1, 0x3c, 0x82, 0xba,
+  0x89, 0x69, 0xe9, 0xf9, 0x39, 0xb9, 0x96, 0xac, 0xa8, 0x0b, 0x3a, 0xa9,
+  0x7c, 0xdf, 0x11, 0xbf, 0x0a, 0xe4, 0x24, 0x3e, 0x44, 0x1d, 0xcb, 0xd7,
+  0x92, 0x22, 0xac, 0x58, 0x8c, 0x18, 0x1f, 0xc8, 0xb4, 0x03, 0x6e, 0xd5,
+  0x9f, 0x73, 0x11, 0xef, 0x38, 0xa2, 0x6e, 0x24, 0xe7, 0x4d, 0x4b, 0x7d,
+  0x43, 0x4e, 0x2b, 0x9c, 0xd1, 0x73, 0xb4, 0x71, 0x6d, 0xa3, 0x4f, 0xcd,
+  0x63, 0x60, 0xa6, 0x93, 0x94, 0xc9, 0x40, 0x04, 0xb3, 0x22, 0x0d, 0xbb,
+  0x7f, 0xba, 0xdf, 0x9a, 0xd1, 0xc5, 0x84, 0x34, 0xad, 0xd5, 0x6a, 0x8f,
+  0x45, 0xfb, 0x2b, 0x2f, 0xcd, 0x89, 0x5e, 0x37, 0x28, 0x3c, 0xf4, 0x6b,
+  0x06, 0xd5, 0x2a, 0x8b, 0x2e, 0x63, 0x90, 0x3e, 0x77, 0x56, 0x84, 0x3f,
+  0xb2, 0x36, 0x8a, 0xb0, 0x62, 0x08, 0xa6, 0xcd, 0x35, 0x55, 0x48, 0xbd,
+  0x61, 0xd8, 0x07, 0x7f, 0xe9, 0x48, 0x1e, 0x9e, 0x46, 0x6c, 0x0d, 0xfa,
+  0xef, 0x8f, 0x07, 0x70, 0xa9, 0x4d, 0x7f, 0x5e, 0xd9, 0x8f, 0xe3, 0xbe,
+  0xf4, 0xe5, 0x77, 0xe8, 0x46, 0xbe, 0xb8, 0x21, 0x7f, 0xc9, 0xcb, 0x58,
+  0x02, 0x8f, 0x37, 0x11, 0xf2, 0xd8, 0x6f, 0xff, 0xfd, 0x6a, 0xe6, 0x38,
+  0x73, 0xd6, 0x7c, 0x5f, 0x1e, 0xfb, 0xcd, 0xbf, 0xcf, 0x67, 0x77, 0xfd,
+  0xe5, 0x62, 0xa5, 0xe2, 0x6b, 0x41, 0x49, 0xb7, 0x25, 0x8e, 0xbb, 0x55,
+  0x7e, 0x85, 0x50, 0x14, 0xe0, 0x75, 0x28, 0x15, 0xe5, 0x5b, 0xd1, 0xea,
+  0x0e, 0xbe, 0x58, 0xfc, 0x4d, 0x24, 0x18, 0x44, 0x73, 0x38, 0x39, 0x52,
+  0x6e, 0xe5, 0x25, 0xff, 0xb9, 0xf3, 0xe7, 0xd8, 0x1a, 0xd9, 0x84, 0x0e,
+  0xba, 0x06, 0xb5, 0x40, 0x0b, 0x6a, 0x7e, 0x30, 0x07, 0x81, 0xa8, 0xbc,
+  0xb6, 0x5a, 0x05, 0x4d, 0x96, 0xc2, 0x50, 0xe8, 0xd5, 0x58, 0x55, 0x18,
+  0x99, 0x21, 0xc5, 0xa2, 0x5a, 0xee, 0x6e, 0x0b, 0x42, 0x22, 0xc5, 0x23,
+  0xf3, 0x3e, 0x58, 0x5b, 0xc2, 0x97, 0x58, 0x60, 0xd6, 0xaf, 0xae, 0xe9,
+  0x18, 0x51, 0xbf, 0xe9, 0x4b, 0x55, 0x16, 0xd3, 0x1c, 0x6d, 0x2b, 0x41,
+  0x62, 0xea, 0x7e, 0xc2, 0x72, 0x86, 0xcc, 0x31, 0x8c, 0xb2, 0x27, 0xdd,
+  0x74, 0xc6, 0x98, 0xdf, 0xe4, 0xe8, 0xec, 0xdd, 0xbb, 0xe3, 0xa3, 0x6e,
+  0xa4, 0xd0, 0x65, 0x35, 0xc0, 0x43, 0x2b, 0xaa, 0x7e, 0x50, 0x15, 0x10,
+  0x5f, 0x67, 0xba, 0x77, 0x1b, 0x7e, 0xe1, 0x1e, 0xa0, 0x66, 0x10, 0x67,
+  0xe2, 0xe0, 0xd7, 0x92, 0xd2, 0x23, 0x94, 0xa0, 0xbc, 0x03, 0x22, 0x39,
+  0x63, 0xc1, 0x7e, 0x70, 0xde, 0x08, 0xb8, 0xa5, 0xa8, 0x64, 0x24, 0x6b,
+  0xa0, 0x30, 0x31, 0xb5, 0x07, 0x5c, 0x39, 0x71, 0x3a, 0xdd, 0x11, 0x4c,
+  0xb4, 0xd4, 0x3c, 0x0f, 0x8d, 0x19, 0xbb, 0x97, 0x99, 0x42, 0x8c, 0x52,
+  0x4f, 0x06, 0xe5, 0x15, 0x17, 0x28, 0x9d, 0xa7, 0xd5, 0x47, 0x8a, 0x34,
+  0x7a, 0x49, 0x28, 0x48, 0x43, 0x04, 0xa1, 0xf1, 0x74, 0x1a, 0xcb, 0x6f,
+  0x4f, 0xe1, 0xf2, 0xf5, 0x20, 0xf7, 0xd2, 0x21, 0xa9, 0xe8, 0x77, 0xa0,
+  0xd9, 0x81, 0xf4, 0x7a, 0x91, 0xdd, 0xd1, 0x67, 0x98, 0xd6, 0x83, 0xf2,
+  0xd4, 0xc3, 0x0a, 0x01, 0xcc, 0x4a, 0xcd, 0x1e, 0xfa, 0x7b, 0xc9, 0x8f,
+  0xa7, 0xb5, 0x9a, 0x33, 0x03, 0x3f, 0x78, 0x7e, 0xa9, 0xac, 0x15, 0x67,
+  0x96, 0x04, 0x73, 0xf5, 0x8d, 0xb2, 0xfe, 0x79, 0x00, 0x3d, 0xae, 0xf2,
+  0xd3, 0x26, 0x22, 0x73, 0x9c, 0x3c, 0xe3, 0xcc, 0x67, 0xf0, 0x5b, 0x15,
+  0x4d, 0xc6, 0x7c, 0x63, 0x21, 0xc8, 0x5e, 0x91, 0xea, 0x09, 0xf2, 0xba,
+  0x2e, 0x6e, 0xba, 0x22, 0x8e, 0x36, 0x22, 0xf2, 0x6d, 0x18, 0xce, 0x10,
+  0x62, 0xcf, 0xba, 0x1c, 0xb2, 0xe0, 0x3e, 0x85, 0xc3, 0x91, 0x78, 0xd5,
+  0xae, 0x01, 0xa1, 0x67, 0x28, 0x3c, 0x8e, 0x6b, 0xa0, 0xe8, 0x02, 0xd5,
+  0x8a, 0x0c, 0xb3, 0xbe, 0x56, 0xd2, 0xa6, 0xfd, 0x6a, 0x26, 0x98, 0x96,
+  0x42, 0xa6, 0x5f, 0x59, 0x52, 0xd8, 0xa1, 0x2f, 0x47, 0x38, 0x2f, 0x16,
+  0xcb, 0x26, 0x08, 0xcb, 0x11, 0x67, 0x14, 0x33, 0x05, 0xfc, 0x79, 0x10,
+  0xd6, 0x58, 0x4a, 0xa7, 0xfe, 0xaa, 0x42, 0x84, 0xc3, 0xfa, 0xaf, 0x1b,
+  0x23, 0x00, 0xd6, 0x7a, 0x69, 0x7d, 0x9b, 0xc6, 0x19, 0x35, 0x82, 0x3f,
+  0xe7, 0x38, 0xaa, 0xdb, 0xae, 0x3b, 0x70, 0x2f, 0x74, 0x77, 0x83, 0x7d,
+  0x4b, 0x85, 0xc4, 0x3a, 0x56, 0x10, 0xf0, 0x16, 0x76, 0xe4, 0x9f, 0xb1,
+  0x73, 0xc8, 0xfb, 0x94, 0xad, 0xba, 0x96, 0x3e, 0x32, 0x11, 0x25, 0x3f,
+  0xf4, 0xdb, 0xdf, 0x4d, 0xeb, 0x6b, 0xa5, 0xbb, 0xcb, 0xd1, 0x3e, 0xf7,
+  0x7b, 0xf4, 0x20, 0x5a, 0x7c, 0xbc, 0xf5, 0xed, 0xc7, 0x7f, 0x36, 0x20,
+  0xd0, 0x7b, 0xc0, 0x2f, 0xe7, 0x6e, 0xde, 0x07, 0xf9, 0x21, 0x21, 0x75,
+  0x03, 0xa8, 0xab, 0x77, 0x27, 0xaf, 0xbd, 0x85, 0x1d, 0x21, 0x80, 0x7f,
+  0x11, 0x47, 0xc2, 0xdf, 0xb1, 0x8e, 0x48, 0x38, 0xe7, 0x71, 0x97, 0xf2,
+  0x83, 0x97, 0x70, 0x2b, 0x9d, 0xb4, 0x8b, 0xb4, 0xb2, 0xd9, 0x64, 0x8f,
+  0x9f, 0xb8, 0x30, 0x85, 0xf2, 0x1f, 0x53, 0x58, 0x90, 0xc2, 0xd6, 0x52,
+  0x57, 0xf0, 0x89, 0xd6, 0x24, 0x3c, 0xe6, 0x5e, 0x0a, 0xa6, 0xc4, 0xad,
+  0x41, 0x44, 0x5b, 0x09, 0x67, 0x61, 0x1d, 0x90, 0xde, 0x6d, 0x4f, 0x3c,
+  0xf5, 0x9b, 0x1f, 0x8b, 0xff, 0x3e, 0x28, 0x70, 0xcf, 0x33, 0x11, 0x81,
+  0x81, 0xff, 0x3f, 0x14, 0xf8, 0xff, 0x43, 0x81, 0xff, 0xc3, 0x28, 0xf0,
+  0xdf, 0x12, 0x8f, 0x8c, 0xd3, 0x43, 0xeb, 0x91, 0x4f, 0x24, 0xc1, 0xe6,
+  0xe5, 0x4a, 0x9e, 0x54, 0xab, 0x6d, 0x05, 0x1c, 0x73, 0x5e, 0xdc, 0x56,
+  0xda, 0x62, 0xb5, 0xc6, 0xaa, 0xef, 0x01, 0xeb, 0x91, 0x6c, 0x96, 0x08,
+  0xa2, 0xcc, 0x8f, 0xaa, 0x3e, 0x89, 0x9d, 0xf5, 0xba, 0x9e, 0x0d, 0xd0,
+  0x03, 0x4a, 0x7e, 0x0d, 0x2c, 0x45, 0x27, 0x69, 0x3a, 0xcf, 0xfd, 0xf6,
+  0x42, 0xa7, 0x99, 0xd5, 0x24, 0x09, 0x1f, 0xa3, 0x10, 0xf8, 0x8f, 0xfe,
+  0x1e, 0xfd, 0xb0, 0x10, 0xa0, 0x97, 0x8c, 0xef, 0x59, 0xdb, 0x13, 0xfb,
+  0xf0, 0xef, 0xd1, 0x13, 0xa4, 0xd4, 0x46, 0xf7, 0x50, 0xab, 0x0f, 0x78,
+  0xec, 0xf7, 0xf8, 0xfe, 0xed, 0xde, 0xaa, 0xcf, 0xa2, 0x00, 0x20, 0x9e,
+  0xf8, 0x0d, 0x3f, 0xfc, 0xde, 0x9a, 0xf4, 0x9c, 0x7e, 0xfc, 0x92, 0xfe,
+  0x7b, 0xa0, 0x33, 0xbc, 0xae, 0xb2, 0x50, 0xab, 0x5a, 0x54, 0xab, 0x6a,
+  0xae, 0x96, 0x35, 0x16, 0x0c, 0xdd, 0xfa, 0x04, 0xff, 0xd5, 0x19, 0xfc,
+  0xec, 0x0f, 0x4f, 0x94, 0xce, 0x95, 0xa9, 0xb6, 0x07, 0x4a, 0x04, 0xc5,
+  0x94, 0x07, 0xcc, 0x42, 0x41, 0x1d, 0x30, 0x66, 0x1d, 0xb3, 0xa2, 0x74,
+  0x59, 0x70, 0xac, 0x12, 0x60, 0x7a, 0x14, 0xd3, 0x5d, 0xd8, 0x5a, 0xe1,
+  0x4f, 0x32, 0xaf, 0x6c, 0x2b, 0x31, 0x2d, 0x40, 0x56, 0xcc, 0x98, 0x30,
+  0x6d, 0xe5, 0x04, 0x40, 0x60, 0x83, 0x65, 0xc0, 0x67, 0x0f, 0x19, 0xb3,
+  0xd3, 0x21, 0x28, 0x09, 0x22, 0x31, 0x6f, 0xbd, 0x33, 0x3d, 0x30, 0x99,
+  0x27, 0x22, 0x0f, 0x92, 0xde, 0xe0, 0x7d, 0x72, 0xd0, 0xfb, 0x1d, 0x25,
+  0xa9, 0xe7, 0xda, 0xf9, 0xd5, 0x40, 0xd5, 0x75, 0xb0, 0x4d, 0x0f, 0xba,
+  0x27, 0x6a, 0xc5, 0x43, 0x78, 0xcd, 0x2b, 0xe2, 0xce, 0x4d, 0xde, 0x75,
+  0x17, 0x20, 0x82, 0x7d, 0x24, 0x7c, 0x07, 0xc3, 0x29, 0xec, 0xe8, 0x1a,
+  0xe4, 0x8d, 0x22, 0xfd, 0xde, 0x0f, 0xb8, 0xbc, 0x0f, 0x2a, 0x91, 0x3a,
+  0x3c, 0x67, 0x0b, 0xc1, 0xe9, 0x00, 0x9c, 0x04, 0x18, 0x70, 0xf0, 0x4d,
+  0x80, 0x98, 0xd9, 0xef, 0x84, 0xd2, 0xed, 0x81, 0x3b, 0x07, 0x4c, 0xa3,
+  0xab, 0xc1, 0x9b, 0x46, 0x89, 0xf3, 0x02, 0x60, 0x8e, 0x16, 0x8c, 0xbc,
+  0x16, 0xf1, 0xd0, 0x0b, 0xf6, 0x21, 0x78, 0xa2, 0x3f, 0x0b, 0x0a, 0x3e,
+  0xf9, 0x47, 0x5f, 0x9b, 0xba, 0xcd, 0x53, 0x8e, 0x69, 0xf2, 0x34, 0xca,
+  0x87, 0x78, 0x3e, 0xb5, 0xe4, 0xea, 0x5a, 0xe7, 0x36, 0x33, 0x29, 0x44,
+  0xf2, 0xaf, 0xde, 0x8d, 0x46, 0x21, 0x86, 0xb3, 0x30, 0xf7, 0x7d, 0x79,
+  0x5d, 0xe4, 0x7f, 0x07, 0xeb, 0x00, 0xc5, 0x05, 0xba, 0xd0, 0xab, 0x16,
+  0x8c, 0x56, 0xe3, 0x5c, 0xc4, 0xad, 0x43, 0xd1, 0xc7, 0xee, 0x6a, 0x08,
+  0x82, 0x04, 0x42, 0x8a, 0x60, 0x10, 0xc4, 0x4d, 0x22, 0xf3, 0xc8, 0xf5,
+  0xb5, 0xb9, 0xd2, 0x82, 0x20, 0x55, 0x75, 0x74, 0xf2, 0xe1, 0x60, 0x71,
+  0x75, 0x57, 0x08, 0x54, 0xf1, 0xbf, 0x01, 0xe6, 0x35, 0xce, 0xac, 0x91,
+  0x7d, 0xca, 0x6b, 0x28, 0x89, 0xbe, 0xc4, 0xf0, 0x12, 0xf3, 0x95, 0xba,
+  0x33, 0xac, 0xd5, 0x74, 0xe3, 0xa0, 0xca, 0x2c, 0x78, 0x1f, 0xc5, 0x60,
+  0x64, 0x1a, 0x6a, 0x62, 0x14, 0xfd, 0x11, 0xf2, 0x22, 0xeb, 0x3a, 0x7c,
+  0x04, 0x6b, 0x11, 0xf9, 0xc6, 0x94, 0x78, 0x56, 0x5c, 0x54, 0x60, 0x64,
+  0xe7, 0x62, 0x7f, 0x19, 0x53, 0x0d, 0x51, 0xa7, 0xdc, 0x91, 0xe4, 0x03,
+  0x1b, 0xad, 0x17, 0xb6, 0x20, 0x4e, 0x7f, 0xd2, 0x67, 0x51, 0xd5, 0x4f,
+  0x52, 0x2c, 0x32, 0x94, 0xdd, 0x45, 0x03, 0x54, 0x85, 0x06, 0xa9, 0x00,
+  0xea, 0x0d, 0x33, 0xbf, 0xa6, 0xec, 0x02, 0xdd, 0x15, 0xdd, 0xad, 0xa5,
+  0x34, 0xc0, 0x5e, 0x17, 0x39, 0xf4, 0x2a, 0x6e, 0x33, 0x5b, 0xdf, 0xc6,
+  0x51, 0x7d, 0x23, 0xab, 0x57, 0x8a, 0xa2, 0x87, 0x74, 0x83, 0x3a, 0x4d,
+  0xcd, 0xd2, 0x28, 0xc7, 0x44, 0x0e, 0xc8, 0xd8, 0x77, 0xbb, 0x57, 0xfa,
+  0x24, 0x7d, 0x58, 0xe4, 0x8a, 0xf1, 0x3b, 0x58, 0xa8, 0x94, 0xed, 0x0e,
+  0xf6, 0x5e, 0x1a, 0x59, 0x51, 0x1c, 0xfa, 0xff, 0x0e, 0xa8, 0xb4, 0xbb,
+  0x29, 0xe8, 0xd6, 0x09, 0xef, 0x09, 0x40, 0x0d, 0xc8, 0xc8, 0x61, 0x6c,
+  0xc1, 0x5d, 0x6a, 0x19, 0xea, 0xa3, 0x4a, 0x7a, 0xfc, 0x30, 0xf5, 0xdb,
+  0xe8, 0xb0, 0x2c, 0x90, 0x91, 0x5b, 0x22, 0x35, 0xb6, 0x57, 0x10, 0x38,
+  0x64, 0x94, 0xa8, 0x39, 0xcd, 0x84, 0x7c, 0xe5, 0x4f, 0x8e, 0x21, 0xfe,
+  0xf7, 0x36, 0x73, 0xf6, 0x8c, 0x6c, 0x7e, 0xe9, 0xdd, 0xc7, 0x5f, 0x3e,
+  0x78, 0x21, 0xe3, 0x9c, 0xd1, 0x6b, 0x8e, 0xdc, 0xcc, 0x93, 0x77, 0x8e,
+  0xe5, 0xa4, 0x8e, 0x31, 0xb2, 0xd9, 0x66, 0x44, 0xd8, 0x59, 0xf1, 0x46,
+  0x58, 0x13, 0x7a, 0x7f, 0x85, 0x80, 0xcb, 0x94, 0xed, 0x48, 0x09, 0xb4,
+  0x8d, 0x44, 0x1f, 0x67, 0xcd, 0x5d, 0x96, 0x09, 0x9f, 0x9d, 0x4e, 0xa4,
+  0x27, 0x05, 0x64, 0x8a, 0x56, 0x06, 0x91, 0xfb, 0x1c, 0xa4, 0x27, 0x81,
+  0xc2, 0x14, 0x8d, 0xb6, 0x2e, 0xb5, 0xc6, 0x4a, 0x82, 0xd3, 0x97, 0xc4,
+  0x4a, 0x3e, 0xb8, 0xb8, 0x4f, 0x6b, 0x6e, 0x14, 0xe2, 0xd6, 0x02, 0xb4,
+  0x2b, 0x1c, 0x40, 0x1e, 0xf4, 0xdd, 0x66, 0xf6, 0x18, 0xcb, 0xb1, 0x8d,
+  0x3a, 0x14, 0x6c, 0x52, 0x0e, 0x77, 0x47, 0x97, 0xdf, 0xd3, 0xb4, 0xda,
+  0x6e, 0x77, 0xac, 0x3d, 0x6e, 0xc7, 0x48, 0xce, 0x97, 0x36, 0xa4, 0xb7,
+  0x28, 0xbc, 0xd5, 0x3c, 0x15, 0x12, 0xe6, 0x61, 0xf9, 0x61, 0xe7, 0x61,
+  0xf5, 0xb1, 0xd0, 0x61, 0xd2, 0x38, 0xe7, 0x19, 0xe1, 0x8b, 0xe4, 0xb8,
+  0xe6, 0x4a, 0x61, 0x40, 0x1f, 0x1b, 0x20, 0x18, 0xe5, 0x64, 0x25, 0xb3,
+  0x25, 0x99, 0xaf, 0x04, 0xee, 0x7f, 0xf3, 0xd5, 0x74, 0x61, 0x3e, 0x44,
+  0xce, 0x7d, 0xb0, 0x14, 0x4e, 0x3d, 0x89, 0xc7, 0x79, 0x3f, 0xb2, 0x20,
+  0xba, 0x56, 0xae, 0x92, 0x7a, 0x08, 0x55, 0x0c, 0xb8, 0x4b, 0x35, 0xd9,
+  0x88, 0xe5, 0x92, 0xc0, 0x5c, 0xc5, 0x1f, 0xa1, 0x21, 0x2c, 0x71, 0x94,
+  0xd2, 0xae, 0x8c, 0x13, 0xf9, 0x08, 0xdf, 0x55, 0x21, 0x69, 0x4d, 0x1d,
+  0x81, 0x1d, 0xd6, 0xe2, 0xbd, 0x64, 0x42, 0x2c, 0x64, 0x25, 0xf0, 0xf7,
+  0x5d, 0x4c, 0x4e, 0xf0, 0x37, 0x5a, 0x80, 0x89, 0x5d, 0x9f, 0xd4, 0xbe,
+  0x94, 0x53, 0x8c, 0x18, 0x0d, 0xc2, 0x1e, 0xa2, 0xaf, 0x08, 0x89, 0xa6,
+  0x7c, 0xc0, 0x56, 0xaa, 0x5b, 0x15, 0x53, 0x88, 0xc5, 0x5f, 0x5b, 0xc2,
+  0x41, 0xbc, 0x86, 0x11, 0xaf, 0xfa, 0xd6, 0x88, 0xca, 0x12, 0x8c, 0x8e,
+  0xce, 0xb7, 0x93, 0xf3, 0x8e, 0x43, 0x10, 0xd0, 0x7c, 0xba, 0xb3, 0x7d,
+  0x71, 0x2f, 0xa5, 0x81, 0x98, 0x23, 0x6d, 0xb5, 0xf3, 0x48, 0x99, 0x29,
+  0x2d, 0x1b, 0x20, 0x82, 0x36, 0xbf, 0xb9, 0xfc, 0xeb, 0x8c, 0xe5, 0x10,
+  0x74, 0x20, 0xcc, 0x10, 0x20, 0x7e, 0x2a, 0x5f, 0x1a, 0x18, 0xb3, 0xae,
+  0xa4, 0x84, 0x13, 0xae, 0xc5, 0x21, 0xee, 0x34, 0x75, 0x83, 0xcd, 0x02,
+  0x98, 0x12, 0x1c, 0x6f, 0x16, 0x37, 0xea, 0x71, 0xa1, 0x48, 0x55, 0xac,
+  0x9a, 0x6f, 0xbf, 0x4e, 0x31, 0x25, 0x1a, 0xc5, 0x75, 0x56, 0x84, 0xfc,
+  0xf7, 0xf8, 0x28, 0xe9, 0x0b, 0xb2, 0x81, 0xa7, 0xc3, 0x2e, 0xff, 0xaa,
+  0xe7, 0xf0, 0x93, 0xce, 0xf9, 0x85, 0xa6, 0x56, 0x70, 0xb4, 0xe1, 0x6c,
+  0x8f, 0x91, 0x06, 0xf3, 0x91, 0x44, 0xef, 0x35, 0xb9, 0x58, 0x1b, 0x5c,
+  0xa5, 0x8b, 0x7b, 0x9a, 0x0e, 0xf3, 0x60, 0x5d, 0xdf, 0xec, 0x1b, 0x01,
+  0xb5, 0x3f, 0xfc, 0x1c, 0x96, 0x90, 0xd1, 0x09, 0x22, 0x84, 0x8e, 0x1c,
+  0xf7, 0x95, 0xe2, 0x79, 0x9d, 0xd6, 0x44, 0xd9, 0x1f, 0x3a, 0xfb, 0x62,
+  0xf0, 0x3f, 0x68, 0xa7, 0xfd, 0x6d, 0x19, 0x7a, 0xde, 0xb7, 0xb0, 0xa1,
+  0xde, 0x70, 0x39, 0x54, 0xa2, 0xe4, 0xa7, 0x18, 0xe1, 0x38, 0x6f, 0xc0,
+  0xac, 0xac, 0xfc, 0x41, 0xed, 0x63, 0xf9, 0x86, 0x53, 0xff, 0x12, 0xbc,
+  0x16, 0xcd, 0x18, 0x35, 0xaa, 0xfe, 0xff, 0xa0, 0x6f, 0x69, 0x03, 0x0c,
+  0x7b, 0x46, 0x1c, 0xf3, 0xab, 0xe3, 0x37, 0x67, 0x17, 0xc7, 0xed, 0xac,
+  0x9d, 0x06, 0xb5, 0x60, 0x10, 0xa6, 0xeb, 0xf6, 0x0e, 0xb4, 0x48, 0x9c,
+  0x58, 0xca, 0x01, 0xc6, 0x9c, 0x40, 0x96, 0xc9, 0xf9, 0xf7, 0xaf, 0x6d,
+  0xe7, 0x48, 0x13, 0x29, 0xb8, 0x53, 0xae, 0xc2, 0xb7, 0xcc, 0x73, 0x57,
+  0x83, 0x20, 0x65, 0x63, 0x7b, 0x48, 0xe2, 0x80, 0x43, 0x90, 0xda, 0x3d,
+  0x84, 0x47, 0x39, 0xac, 0xcd, 0x1f, 0x4b, 0x99, 0x85, 0xb7, 0xae, 0x29,
+  0x29, 0xd5, 0x36, 0x1b, 0xa8, 0xd7, 0x50, 0x30, 0x40, 0x3e, 0x23, 0x36,
+  0x2f, 0x51, 0x0f, 0x11, 0x1b, 0xd1, 0x30, 0xb1, 0x1f, 0x71, 0x5f, 0xe1,
+  0x72, 0xd6, 0x50, 0x5f, 0xf0, 0x95, 0x58, 0x1c, 0x9e, 0x2a, 0xf1, 0xb2,
+  0xf7, 0x92, 0x2f, 0x55, 0x62, 0x91, 0x47, 0xdd, 0x50, 0x2d, 0x83, 0xd2,
+  0x67, 0xaa, 0x28, 0x71, 0xd4, 0xfa, 0xf3, 0x18, 0x89, 0x6d, 0x99, 0xcf,
+  0x6e, 0xd5, 0xdb, 0x7d, 0xaf, 0xa7, 0x76, 0xda, 0xa4, 0xc3, 0x9b, 0x7f,
+  0xda, 0x4c, 0x04, 0xce, 0x0d, 0x81, 0xc7, 0x57, 0xfd, 0x8a, 0xf2, 0x67,
+  0xae, 0x1a, 0xce, 0xf6, 0x43, 0xd8, 0x0b, 0x1d, 0xf4, 0x6a, 0x1b, 0x4d,
+  0x93, 0x8b, 0x25, 0x22, 0xcf, 0x95, 0xe9, 0x28, 0x4a, 0xca, 0xd5, 0x3c,
+  0xca, 0xc2, 0x82, 0x47, 0xb5, 0xad, 0x7e, 0x24, 0x81, 0x95, 0x1c, 0x3f,
+  0x95, 0x5f, 0xb4, 0x44, 0x45, 0x0e, 0xbc, 0xdd, 0xca, 0x7b, 0xce, 0xe5,
+  0xd2, 0xb4, 0xf4, 0xc8, 0x7d, 0xd1, 0xd0, 0x69, 0x85, 0x60, 0x09, 0x26,
+  0xad, 0xc2, 0x85, 0xc4, 0xfb, 0xc9, 0x6d, 0xdf, 0x1a, 0xa9, 0xe2, 0x2f,
+  0x9e, 0xbd, 0x20, 0x35, 0x02, 0x10, 0x03, 0x29, 0x11, 0x23, 0x34, 0xa1,
+  0x08, 0x7e, 0x84, 0x04, 0x9a, 0x9d, 0x01, 0x68, 0x61, 0xcf, 0x71, 0x86,
+  0x92, 0xb5, 0x25, 0x4e, 0x90, 0x63, 0x1a, 0x7d, 0x64, 0xac, 0xbb, 0x8d,
+  0xdf, 0x1d, 0xb2, 0x7a, 0x62, 0x56, 0x21, 0xfd, 0x28, 0xf9, 0xc3, 0xa4,
+  0xa9, 0xac, 0x3a, 0x9a, 0x7d, 0xbb, 0x6d, 0x35, 0x12, 0xc0, 0xdb, 0xc1,
+  0x32, 0xab, 0x1b, 0xd1, 0x9d, 0x55, 0x79, 0xfd, 0x31, 0xd9, 0xfa, 0xb7,
+  0x6d, 0x5b, 0x11, 0x38, 0x82, 0x94, 0x24, 0xd7, 0x64, 0x5e, 0x2c, 0xb3,
+  0x56, 0xb5, 0x68, 0x6d, 0xed, 0x0a, 0x15, 0x8c, 0x88, 0x8f, 0x32, 0x96,
+  0xf4, 0x42, 0x05, 0x3b, 0x17, 0x41, 0x81, 0x09, 0xc9, 0x57, 0x96, 0x5d,
+  0x10, 0xde, 0x9a, 0x58, 0x11, 0x50, 0xaf, 0x8a, 0x97, 0x50, 0xd5, 0xa7,
+  0x61, 0xf2, 0xbe, 0x80, 0x76, 0x23, 0x7b, 0x53, 0xee, 0x92, 0xbc, 0x30,
+  0x03, 0x31, 0x63, 0x35, 0xb7, 0x49, 0x44, 0x50, 0xfd, 0xad, 0x2d, 0x9f,
+  0x44, 0x90, 0x76, 0xc2, 0x1f, 0x38, 0xd9, 0x5a, 0x83, 0xc5, 0x8a, 0xb6,
+  0xe4, 0x4d, 0x58, 0x92, 0x89, 0xab, 0xc9, 0x48, 0xe5, 0x72, 0xb4, 0x4d,
+  0x01, 0xae, 0x6c, 0x36, 0x1b, 0x30, 0x55, 0x2f, 0x11, 0x97, 0x92, 0x9d,
+  0xc1, 0xe9, 0x84, 0x00, 0xa8, 0xf8, 0x36, 0x58, 0x70, 0xfb, 0x20, 0x2b,
+  0x12, 0xb4, 0x78, 0x4a, 0x27, 0x20, 0xa8, 0x56, 0x24, 0x27, 0x50, 0xb1,
+  0xf7, 0xd9, 0xcc, 0x31, 0xc4, 0xf0, 0xe4, 0xf0, 0x90, 0x56, 0xd5, 0x4f,
+  0x09, 0xb9, 0xef, 0x26, 0x37, 0xd7, 0xd5, 0x82, 0x0b, 0x39, 0xc5, 0xaa,
+  0x4c, 0xf9, 0x06, 0x00, 0x3f, 0xaa, 0xab, 0x5b, 0x67, 0x0d, 0x77, 0x86,
+  0xdf, 0x3d, 0x79, 0xdd, 0x2a, 0x0a, 0x4b, 0x53, 0x11, 0xa9, 0x6f, 0xe2,
+  0x79, 0x38, 0xa4, 0xc6, 0x9b, 0x39, 0xb1, 0xee, 0x6e, 0xb1, 0x4d, 0x39,
+  0x6b, 0x67, 0xac, 0x0c, 0xab, 0xf8, 0x5d, 0xbc, 0x39, 0x69, 0x85, 0xb5,
+  0x59, 0x6e, 0x43, 0x1b, 0xc6, 0x56, 0xd1, 0x92, 0xc5, 0xb4, 0x19, 0xa8,
+  0x30, 0xb9, 0x7e, 0x26, 0x04, 0x41, 0xdd, 0xcc, 0xcb, 0x29, 0xe5, 0x6c,
+  0x64, 0x0f, 0xcf, 0xc5, 0xbc, 0x9c, 0x7a, 0x07, 0x47, 0x12, 0x5e, 0x6a,
+  0xcb, 0xdb, 0x37, 0xcb, 0xb8, 0x9d, 0x31, 0x85, 0x08, 0x79, 0x66, 0xe2,
+  0xcd, 0xb9, 0xa1, 0x6a, 0x61, 0x35, 0x79, 0xd3, 0x1f, 0x42, 0x91, 0x94,
+  0x93, 0xc6, 0x1b, 0x01, 0x3d, 0x10, 0x6f, 0x8e, 0x85, 0x6f, 0x64, 0x64,
+  0x94, 0x00, 0x01, 0xe3, 0x76, 0xfd, 0xc8, 0xf8, 0xc1, 0x60, 0x91, 0xcd,
+  0x0f, 0x1d, 0xc1, 0x61, 0x6b, 0x85, 0x57, 0x8f, 0x2c, 0xb6, 0xc2, 0xe8,
+  0x41, 0x77, 0x81, 0xb9, 0xb8, 0x28, 0x88, 0x57, 0xe9, 0xf1, 0x41, 0xbc,
+  0x39, 0xbb, 0xc2, 0xc2, 0xa8, 0xba, 0x66, 0x81, 0xe5, 0x2b, 0xc1, 0x2c,
+  0xcc, 0x8c, 0x88, 0x34, 0x5a, 0xf0, 0x24, 0xfb, 0xc0, 0x15, 0x0e, 0xa9,
+  0x4e, 0x7d, 0xf3, 0x61, 0xfd, 0x84, 0xcc, 0x24, 0xef, 0xf8, 0x7e, 0x8e,
+  0xca, 0xa8, 0x56, 0x58, 0x08, 0x89, 0x61, 0x2a, 0x79, 0xb8, 0x46, 0x09,
+  0xc4, 0xef, 0xa3, 0xb5, 0x19, 0x74, 0xdb, 0xbb, 0xef, 0x25, 0xb6, 0x42,
+  0xfc, 0xa2, 0xcc, 0x0b, 0xcb, 0xf9, 0xc0, 0x32, 0xc6, 0xeb, 0x62, 0x12,
+  0xe3, 0xbc, 0x58, 0x17, 0x68, 0x99, 0x7f, 0xa4, 0x14, 0x0a, 0xab, 0x28,
+  0x7c, 0x88, 0x50, 0xd0, 0xfb, 0xfb, 0x98, 0x1f, 0x77, 0xfb, 0x98, 0x47,
+  0xa5, 0xdb, 0xd8, 0x15, 0xd1, 0x7b, 0x78, 0xb5, 0xdb, 0x9f, 0xb4, 0x67,
+  0xb2, 0xdb, 0xbf, 0xc5, 0xdd, 0xd4, 0x7a, 0x85, 0xcc, 0x5f, 0xf5, 0xc3,
+  0x7a, 0xff, 0x03, 0xbb, 0xa8, 0x35, 0x2a, 0x09, 0xa1, 0xc0, 0x8d, 0x5d,
+  0x29, 0xd1, 0xea, 0x8a, 0xa9, 0x00, 0xff, 0x6a, 0xa0, 0x25, 0x05, 0x1f,
+  0xaf, 0x50, 0x6e, 0x53, 0x26, 0x58, 0x96, 0x63, 0xf5, 0xe4, 0xc8, 0xd3,
+  0xae, 0x8b, 0x2c, 0xdf, 0xfd, 0x7a, 0xda, 0xe1, 0x04, 0xad, 0x16, 0x78,
+  0xf2, 0xd5, 0xce, 0x81, 0x98, 0x66, 0xe4, 0x24, 0x96, 0xad, 0x40, 0x88,
+  0x0c, 0x6e, 0x48, 0xe5, 0xde, 0xba, 0x8d, 0xb4, 0x72, 0x8e, 0xab, 0xf9,
+  0x03, 0x87, 0xdc, 0x3c, 0xe0, 0x46, 0xc5, 0x59, 0xeb, 0x76, 0x54, 0xc1,
+  0xc9, 0x94, 0x63, 0xbc, 0x62, 0xe6, 0x57, 0xf5, 0xa0, 0xb5, 0x0b, 0xd7,
+  0xf5, 0x84, 0x1e, 0x8c, 0x75, 0xc6, 0x4d, 0x2d, 0xd2, 0xe2, 0xee, 0x3d,
+  0x49, 0x19, 0x6f, 0x4e, 0xba, 0xeb, 0xde, 0x93, 0xe9, 0xe9, 0x7b, 0x8e,
+  0x54, 0x66, 0xac, 0x37, 0xc6, 0x65, 0xb8, 0x37, 0xf4, 0x80, 0xff, 0x22,
+  0x01, 0x41, 0x56, 0xfc, 0xac, 0xf0, 0xed, 0x76, 0xfa, 0xa2, 0xb9, 0x7b,
+  0xd7, 0x80, 0xd5, 0xbd, 0x68, 0xab, 0x5d, 0x70, 0xae, 0x7f, 0x88, 0x50,
+  0x21, 0x00, 0x37, 0x00, 0xa2, 0xa1, 0xe0, 0x89, 0x28, 0xb2, 0x20, 0xeb,
+  0x99, 0x12, 0x95, 0x7c, 0x88, 0x8c, 0xe5, 0x4f, 0x32, 0x2a, 0x03, 0x93,
+  0x0a, 0x8e, 0x01, 0x51, 0x43, 0xb4, 0xba, 0x62, 0x9d, 0x89, 0x2d, 0xa1,
+  0x8f, 0x27, 0xcc, 0x4e, 0x1f, 0x56, 0x95, 0xec, 0x80, 0x63, 0xea, 0x61,
+  0xc0, 0xea, 0x9a, 0x5d, 0x4f, 0xfd, 0x12, 0xad, 0xde, 0xf0, 0xab, 0x3e,
+  0x4f, 0xc1, 0xb5, 0x19, 0x3c, 0xfe, 0x88, 0xc2, 0xc0, 0x59, 0xb1, 0x86,
+  0xba, 0x42, 0xe9, 0xc8, 0xdb, 0xc9, 0x45, 0x46, 0x79, 0x8f, 0xb7, 0x24,
+  0x4d, 0xc7, 0xf7, 0xe6, 0xe0, 0x73, 0x0b, 0x5b, 0xf9, 0x30, 0x13, 0xd8,
+  0x2f, 0xa9, 0x48, 0x44, 0xfc, 0x1c, 0xe8, 0x34, 0x66, 0x6b, 0x6c, 0xb3,
+  0xc1, 0x9f, 0x72, 0x8d, 0x9e, 0xbd, 0xe1, 0x5e, 0x9f, 0x2b, 0x75, 0x56,
+  0xaa, 0x2e, 0xaa, 0x8d, 0x41, 0x3f, 0x49, 0x2d, 0xe3, 0x2c, 0x7d, 0xb9,
+  0xeb, 0x8d, 0xb8, 0xa0, 0xef, 0xd6, 0xa1, 0x8f, 0x1a, 0x7e, 0x6e, 0x67,
+  0xd6, 0xdc, 0xa5, 0xf7, 0xa1, 0xa2, 0xbe, 0x3b, 0x78, 0xfa, 0xe2, 0x45,
+  0xeb, 0x46, 0xaf, 0x3d, 0xba, 0xde, 0x67, 0xbb, 0xbb, 0x18, 0x5a, 0x90,
+  0xf5, 0x68, 0x7e, 0x31, 0x78, 0x81, 0x17, 0xdb, 0xaf, 0xd5, 0x99, 0x59,
+  0x82, 0xe9, 0xea, 0xf7, 0x06, 0xf4, 0x9b, 0xc8, 0xe7, 0xe0, 0x75, 0x59,
+  0xf9, 0xd6, 0x0b, 0xfa, 0x5c, 0xe4, 0x2d, 0x3c, 0xcc, 0xf3, 0x58, 0x5e,
+  0x5d, 0x91, 0xbf, 0x8b, 0x9e, 0x54, 0x16, 0x8b, 0xbb, 0xb4, 0x9a, 0x86,
+  0xc3, 0xdd, 0xed, 0x0f, 0xf6, 0x56, 0x0d, 0x17, 0x7c, 0xc3, 0x80, 0xb7,
+  0xd0, 0x72, 0x92, 0x39, 0x69, 0x0c, 0x09, 0x4e, 0x01, 0xe8, 0x36, 0xb4,
+  0x67, 0x7a, 0xb4, 0xf7, 0xe2, 0x45, 0x9f, 0x7a, 0xf6, 0xec, 0xc5, 0x8b,
+  0x95, 0x29, 0x9f, 0xde, 0x67, 0xee, 0x4a, 0xe7, 0xa4, 0xa2, 0xd7, 0xdd,
+  0x9e, 0xa9, 0xc9, 0x5e, 0x89, 0x7f, 0x87, 0x7e, 0x93, 0xbc, 0x4a, 0xde,
+  0x9d, 0x5d, 0x1e, 0x7b, 0xfe, 0x1b, 0xe7, 0x9f, 0xf5, 0x31, 0x60, 0x08,
+  0x08, 0x2f, 0x50, 0x33, 0x06, 0xf6, 0xb1, 0x31, 0xb6, 0x42, 0x94, 0x03,
+  0xe0, 0xe8, 0xea, 0x39, 0xfc, 0x97, 0xee, 0xe7, 0xce, 0x0a, 0x14, 0x86,
+  0xb9, 0xce, 0x1b, 0x9f, 0xe1, 0x64, 0xcb, 0x2c, 0xf6, 0x36, 0xfc, 0x20,
+  0xb7, 0xe9, 0x2c, 0xb7, 0x91, 0x9d, 0xcd, 0x9a, 0xd0, 0xdb, 0x0c, 0x74,
+  0xa3, 0x7f, 0x94, 0x8b, 0xcd, 0x00, 0x40, 0x9d, 0xcd, 0xc8, 0x79, 0x20,
+  0x37, 0x21, 0xbf, 0x30, 0xc0, 0x93, 0x72, 0x5a, 0x60, 0xd0, 0x72, 0x61,
+  0xda, 0x14, 0xde, 0x65, 0xff, 0xe3, 0x91, 0xe0, 0x0e, 0x9c, 0x5e, 0xc0,
+  0x6d, 0x6a, 0xea, 0x05, 0x35, 0xe3, 0x43, 0xe1, 0x36, 0x6b, 0xe7, 0x18,
+  0xb5, 0x3e, 0xbc, 0x22, 0x0e, 0x78, 0x40, 0x44, 0x61, 0x9a, 0x2d, 0x14,
+  0x32, 0x56, 0xb4, 0xdb, 0x31, 0x7b, 0xf9, 0x2a, 0xbf, 0x5e, 0x56, 0x71,
+  0x70, 0x15, 0x8c, 0x73, 0xc9, 0x04, 0x50, 0x72, 0xea, 0xf4, 0x2e, 0xd5,
+  0x0c, 0x04, 0x10, 0x8a, 0xeb, 0xe1, 0x56, 0x43, 0x59, 0x11, 0xff, 0xc4,
+  0x1c, 0x1e, 0xf8, 0xc5, 0x28, 0x47, 0xc3, 0xe8, 0x31, 0xe4, 0x47, 0x10,
+  0x64, 0x89, 0x30, 0x64, 0xa7, 0x8d, 0x4b, 0xbb, 0x50, 0x4f, 0xbb, 0x59,
+  0xec, 0xeb, 0x8c, 0xf3, 0x2f, 0x78, 0x0a, 0xba, 0x51, 0xbc, 0x72, 0xb9,
+  0x39, 0x73, 0x81, 0x04, 0x7a, 0x16, 0x3e, 0x99, 0x9b, 0xd2, 0x63, 0xa3,
+  0x0f, 0xd3, 0xb2, 0x49, 0xf2, 0x30, 0xcd, 0x02, 0xfe, 0xca, 0x8b, 0x64,
+  0x9e, 0xbf, 0x2b, 0x66, 0x65, 0x3a, 0xad, 0xa5, 0x62, 0xb6, 0xc4, 0xf7,
+  0x31, 0x59, 0x4c, 0xcf, 0x23, 0x4b, 0x1b, 0x30, 0x17, 0xd3, 0x4a, 0xf3,
+  0x1a, 0x27, 0x5b, 0x5a, 0xdd, 0x59, 0x77, 0xa8, 0xe7, 0x26, 0x61, 0x29,
+  0x45, 0x3b, 0x85, 0x93, 0xe0, 0xa9, 0x08, 0x6f, 0x68, 0xf8, 0xd2, 0x7e,
+  0xe7, 0xd5, 0xb2, 0x74, 0xea, 0xa8, 0xce, 0x46, 0x97, 0x24, 0x75, 0x57,
+  0x2f, 0xe4, 0xd1, 0xc9, 0xff, 0x3c, 0xfe, 0x3d, 0x43, 0x60, 0x55, 0x7a,
+  0x67, 0x53, 0x83, 0xa4, 0xd0, 0xbd, 0x84, 0xa6, 0x6c, 0x2e, 0x7a, 0x3a,
+  0x13, 0x2b, 0x9e, 0xaa, 0x59, 0xe3, 0xf6, 0x40, 0x8c, 0x53, 0x8a, 0x2f,
+  0x9a, 0x8d, 0x15, 0xee, 0x6d, 0x4a, 0xe0, 0xa9, 0x9c, 0x67, 0x11, 0x58,
+  0x53, 0xe4, 0x74, 0x60, 0x3d, 0x6c, 0xa8, 0xc4, 0x95, 0xd2, 0x9e, 0x73,
+  0x81, 0x7a, 0x14, 0x5b, 0x0c, 0x8a, 0x85, 0x14, 0xa0, 0x10, 0xa3, 0x6e,
+  0x99, 0xde, 0x3e, 0x50, 0xfd, 0xca, 0xcf, 0xa6, 0x45, 0xc1, 0xd4, 0x2a,
+  0xa3, 0x68, 0x59, 0x95, 0xbc, 0x7c, 0x7f, 0x71, 0xba, 0x22, 0x25, 0x6a,
+  0x84, 0x55, 0xa0, 0xe9, 0xea, 0x5d, 0x64, 0xe0, 0xfe, 0xa9, 0x92, 0xf3,
+  0xf4, 0x3a, 0xeb, 0xf9, 0x74, 0x4b, 0xaa, 0x2e, 0x62, 0x02, 0xc4, 0x09,
+  0x11, 0xf3, 0x14, 0xf9, 0xfc, 0xee, 0x24, 0xc6, 0x5d, 0x94, 0xda, 0xcf,
+  0x63, 0xba, 0x9a, 0xa5, 0x32, 0x7b, 0xcb, 0x0a, 0x65, 0xdc, 0xbf, 0x8f,
+  0x16, 0x49, 0xb1, 0x69, 0x2d, 0x1d, 0x42, 0x46, 0x1f, 0x57, 0x95, 0x2e,
+  0x68, 0x17, 0x25, 0xbd, 0x2f, 0xc8, 0x53, 0xdf, 0xd3, 0x6e, 0x0e, 0xb2,
+  0x18, 0xe1, 0x39, 0x4f, 0x05, 0xc5, 0xa9, 0x7d, 0x97, 0x52, 0xc7, 0xc7,
+  0xcf, 0xc1, 0x16, 0x8e, 0x73, 0x65, 0x44, 0x86, 0x58, 0xc7, 0xca, 0x03,
+  0x73, 0x8a, 0x71, 0xde, 0x68, 0xcd, 0x07, 0x30, 0x5c, 0x9d, 0x4a, 0xff,
+  0x0e, 0x24, 0x28, 0xc3, 0xda, 0x90, 0x76, 0xad, 0x05, 0x54, 0x8a, 0x0d,
+  0x36, 0x9d, 0x51, 0xe5, 0x05, 0xeb, 0xca, 0xa2, 0x31, 0x4e, 0x4b, 0x62,
+  0xeb, 0xa7, 0x2e, 0xa5, 0x85, 0xf5, 0x3b, 0xb7, 0x56, 0xf6, 0x77, 0xa7,
+  0x06, 0x73, 0x81, 0xa2, 0xc3, 0xbe, 0x94, 0x13, 0x19, 0x98, 0xdd, 0x51,
+  0x48, 0xb6, 0xab, 0xb7, 0xac, 0xde, 0xde, 0xfb, 0x8f, 0x7e, 0x94, 0x61,
+  0x7e, 0x05, 0x2b, 0xa6, 0xd7, 0xdd, 0x06, 0x38, 0x74, 0x2c, 0xe1, 0x59,
+  0xbf, 0x43, 0x72, 0xef, 0x92, 0xe2, 0xe4, 0xba, 0x8c, 0xfa, 0x16, 0x07,
+  0x1e, 0x5e, 0x3d, 0x39, 0xe2, 0xfc, 0xac, 0xc1, 0xeb, 0xdc, 0xdc, 0x23,
+  0x35, 0x13, 0x8d, 0xb0, 0x63, 0x80, 0x13, 0x8c, 0xdc, 0x61, 0x0c, 0xcb,
+  0x18, 0x69, 0x3c, 0x05, 0x48, 0x3a, 0xfb, 0x8a, 0x0d, 0xee, 0x98, 0x3d,
+  0x11, 0x9f, 0x7b, 0x87, 0xe4, 0xb6, 0x1a, 0x43, 0xea, 0x5c, 0x16, 0x52,
+  0x72, 0x58, 0x20, 0xef, 0x92, 0xb4, 0x45, 0x38, 0x9c, 0xc8, 0xfc, 0x28,
+  0xfd, 0x07, 0x43, 0x79, 0xea, 0xc4, 0xf2, 0x72, 0x48, 0xc1, 0x8f, 0xc0,
+  0xe0, 0xb4, 0xd5, 0x56, 0x19, 0x7d, 0xd2, 0xf5, 0x03, 0x9b, 0x4e, 0xd9,
+  0x9a, 0x0b, 0x1c, 0x65, 0x61, 0xd2, 0x2a, 0x4e, 0x40, 0x9b, 0x98, 0x66,
+  0x87, 0x9d, 0x21, 0x68, 0xbd, 0x88, 0x15, 0x28, 0xc3, 0xd6, 0xc0, 0x9a,
+  0x1b, 0x8d, 0xc5, 0xcb, 0x42, 0x51, 0x14, 0xa1, 0x28, 0x85, 0xc7, 0x21,
+  0x16, 0xd3, 0x07, 0x9c, 0x88, 0x1e, 0xf1, 0xef, 0x42, 0x46, 0x90, 0x24,
+  0x7f, 0x1c, 0x38, 0xbe, 0xfe, 0xad, 0xfb, 0xcc, 0x68, 0xd9, 0x0e, 0x85,
+  0x02, 0x63, 0x2a, 0x92, 0xe1, 0x95, 0x70, 0x25, 0xba, 0xba, 0x05, 0x3e,
+  0x87, 0x21, 0xe2, 0xc5, 0x20, 0x79, 0xd2, 0x8d, 0x26, 0x40, 0x7c, 0xd7,
+  0xcb, 0x22, 0xfb, 0x44, 0x1c, 0xac, 0xab, 0x9b, 0x0b, 0x15, 0xed, 0xef,
+  0x0f, 0x2f, 0xde, 0x9d, 0xbc, 0xfb, 0xfa, 0x80, 0x72, 0x49, 0xb3, 0x6a,
+  0x42, 0x65, 0x53, 0x93, 0xbf, 0x2e, 0xa7, 0xf9, 0x84, 0x65, 0x85, 0xd4,
+  0xa3, 0x6c, 0xc1, 0xdf, 0x33, 0x71, 0xb3, 0x1a, 0xf1, 0x12, 0xc8, 0x77,
+  0x01, 0xa2, 0x12, 0x7a, 0xbf, 0x2a, 0xaf, 0x97, 0x76, 0xea, 0x27, 0x50,
+  0x47, 0x10, 0x2c, 0x40, 0x20, 0x95, 0x24, 0x12, 0x6f, 0x5a, 0xe2, 0xa1,
+  0x31, 0xca, 0xc2, 0xeb, 0xd3, 0xd3, 0x08, 0xf9, 0x25, 0x6a, 0xb9, 0x2a,
+  0xb1, 0x3e, 0x43, 0x98, 0xd0, 0x90, 0xd9, 0xfe, 0x75, 0x3e, 0x9e, 0xc1,
+  0x26, 0x23, 0x05, 0x80, 0xe4, 0x4d, 0x4b, 0xee, 0x19, 0xf3, 0xd5, 0x74,
+  0xa5, 0xbb, 0xc8, 0xc0, 0xc8, 0x02, 0xad, 0x88, 0x15, 0xce, 0xab, 0x29,
+  0xec, 0x21, 0x23, 0x26, 0xcb, 0xab, 0x86, 0x54, 0xa4, 0xd6, 0x6d, 0xda,
+  0xae, 0x3e, 0xb1, 0x2e, 0x92, 0x70, 0xc3, 0x96, 0x8e, 0x0f, 0x89, 0x90,
+  0xd8, 0x25, 0xa8, 0xdf, 0xcc, 0x7e, 0x64, 0xdd, 0x10, 0x65, 0x4b, 0xa2,
+  0x61, 0xb4, 0x69, 0x96, 0xda, 0x52, 0xac, 0x35, 0xc9, 0xcb, 0x50, 0x60,
+  0xdc, 0x65, 0x95, 0x18, 0xa0, 0x36, 0x51, 0xd0, 0x88, 0xbb, 0x61, 0x32,
+  0x2a, 0xcd, 0xf3, 0xa1, 0x96, 0x65, 0xab, 0x7b, 0xb5, 0x4a, 0x05, 0xa3,
+  0x3f, 0x0e, 0xe8, 0x85, 0xba, 0x27, 0x88, 0xce, 0xb5, 0xc7, 0x1b, 0xa9,
+  0x2d, 0x4a, 0xfb, 0x7f, 0x9c, 0x59, 0xa5, 0x82, 0xbe, 0x80, 0x08, 0x10,
+  0xed, 0x90, 0xde, 0xc0, 0x08, 0xd4, 0x1e, 0x6a, 0x36, 0x51, 0xc5, 0x53,
+  0xaf, 0xa5, 0x07, 0xea, 0xf6, 0xf9, 0x30, 0xeb, 0xee, 0x80, 0xa3, 0xd5,
+  0x90, 0xbc, 0x2a, 0x23, 0xa9, 0xd8, 0x9e, 0x9e, 0xff, 0x54, 0x8a, 0xd2,
+  0xd8, 0xb0, 0x2a, 0x7e, 0x75, 0x97, 0x91, 0x96, 0x19, 0x84, 0xca, 0xcf,
+  0x98, 0xb3, 0x48, 0x1e, 0xf2, 0xb3, 0x61, 0xfd, 0x97, 0xe5, 0xc2, 0xe9,
+  0x3b, 0x07, 0x43, 0x8e, 0xc4, 0xa2, 0x26, 0x88, 0x4a, 0x5d, 0x0d, 0xb7,
+  0xa3, 0x40, 0x1f, 0xee, 0x83, 0x32, 0x1f, 0x1a, 0xfd, 0x7a, 0xfa, 0xa0,
+  0xe0, 0xd3, 0x82, 0x4e, 0xdd, 0x5b, 0x1a, 0x0b, 0x6a, 0x3d, 0x4b, 0xda,
+  0x54, 0xea, 0x60, 0x44, 0x4d, 0xe2, 0x07, 0x35, 0x25, 0x56, 0x8a, 0xe4,
+  0xe3, 0x48, 0x73, 0x92, 0xd0, 0x21, 0x31, 0xab, 0x95, 0x42, 0x58, 0xe2,
+  0x37, 0x79, 0x71, 0x5b, 0xe2, 0x37, 0x12, 0x73, 0x0a, 0x12, 0xe4, 0x7d,
+  0xaa, 0xb9, 0xd8, 0x44, 0xf8, 0xb3, 0xaa, 0x4e, 0x1a, 0x45, 0xc1, 0x9b,
+  0xb1, 0x20, 0xa7, 0xa8, 0x95, 0xe4, 0xe3, 0xf2, 0x7a, 0xba, 0x5b, 0x81,
+  0x0f, 0x13, 0x6d, 0xde, 0x7e, 0xa2, 0xe5, 0x6b, 0xcd, 0x8b, 0xb3, 0x3a,
+  0x13, 0x96, 0x35, 0xce, 0xfa, 0xd1, 0x0b, 0x47, 0xee, 0x9b, 0xdc, 0xfa,
+  0x7f, 0x56, 0xdf, 0x24, 0xb6, 0x94, 0x96, 0x9d, 0x6b, 0x67, 0xc3, 0x52,
+  0xa4, 0x59, 0x8a, 0xd2, 0x23, 0x1d, 0xa6, 0x2c, 0x25, 0xa9, 0x6c, 0x95,
+  0xb0, 0x4d, 0xa0, 0xd4, 0x20, 0xed, 0x7d, 0x85, 0x06, 0x61, 0x49, 0x82,
+  0x5c, 0x24, 0x32, 0x40, 0x1c, 0xfb, 0x94, 0x62, 0x2d, 0x3a, 0xbf, 0xf6,
+  0xdd, 0xc6, 0xfd, 0xb1, 0x97, 0x73, 0x62, 0x0b, 0xe9, 0xc4, 0x60, 0x0e,
+  0x7c, 0x75, 0xc7, 0xa7, 0x47, 0xa0, 0x9e, 0xfe, 0xa4, 0x44, 0x2f, 0x3b,
+  0x06, 0x7f, 0x42, 0x82, 0x58, 0x13, 0x02, 0x55, 0x7f, 0xc4, 0x02, 0xf2,
+  0x10, 0x34, 0x27, 0x58, 0x0e, 0x12, 0x20, 0x7f, 0xdc, 0xdf, 0x5d, 0x25,
+  0xe4, 0xa9, 0x21, 0xcd, 0x63, 0xa3, 0xd3, 0x58, 0x5b, 0x1b, 0x0c, 0xd7,
+  0xa0, 0xcb, 0x2d, 0xa7, 0x3b, 0x64, 0xb9, 0x20, 0x5f, 0xdd, 0x80, 0xf6,
+  0x4b, 0x5a, 0xaf, 0x9a, 0xff, 0xb8, 0x65, 0xfc, 0x6b, 0xeb, 0x6c, 0xad,
+  0x28, 0xb3, 0xe5, 0xe4, 0xd7, 0x85, 0xb7, 0xc6, 0xd4, 0x50, 0x0c, 0xf1,
+  0xa6, 0xb2, 0x44, 0x7d, 0x25, 0x9e, 0xda, 0xee, 0x74, 0x06, 0xd8, 0xf6,
+  0xa8, 0xa7, 0x24, 0x87, 0x93, 0x5a, 0x0b, 0x4d, 0xd8, 0x74, 0xbe, 0xe0,
+  0xdb, 0x93, 0xfd, 0x90, 0x7c, 0xbc, 0x04, 0x99, 0xa3, 0xa7, 0x40, 0x41,
+  0x2d, 0x16, 0xb8, 0xcb, 0x5f, 0x0c, 0x37, 0xad, 0x27, 0x4a, 0xd9, 0x24,
+  0x4f, 0x05, 0x41, 0x8a, 0x29, 0xa1, 0x6f, 0xb5, 0xaf, 0x46, 0x80, 0xd3,
+  0x06, 0x51, 0x9f, 0x7f, 0x94, 0x1d, 0x5e, 0x00, 0xed, 0x3e, 0x7f, 0x74,
+  0x8f, 0xdf, 0xee, 0x25, 0x5b, 0x24, 0x57, 0xb7, 0xad, 0xf6, 0x1a, 0xc6,
+  0xfb, 0x95, 0xb8, 0x9c, 0xed, 0x98, 0x94, 0xef, 0xc8, 0x2e, 0x9e, 0x97,
+  0x34, 0x58, 0x63, 0xe9, 0x55, 0x46, 0x03, 0x58, 0xce, 0xd2, 0x0a, 0x90,
+  0xbd, 0xec, 0x6a, 0x39, 0x8b, 0x99, 0x3a, 0x74, 0xba, 0x25, 0x48, 0x94,
+  0xd7, 0xf5, 0x52, 0x0c, 0x41, 0xcb, 0x1c, 0xe0, 0x68, 0x6c, 0x67, 0xa6,
+  0x3f, 0xf8, 0x74, 0x3d, 0x23, 0x14, 0xca, 0x4a, 0x05, 0x85, 0x79, 0x68,
+  0x59, 0xf5, 0xb5, 0x55, 0xc9, 0xd8, 0x96, 0x92, 0x2b, 0xe5, 0x9a, 0x3a,
+  0xa5, 0x15, 0x98, 0x68, 0x12, 0xfa, 0xb8, 0xad, 0x3a, 0xcd, 0xf5, 0xce,
+  0xce, 0x2f, 0x4f, 0xce, 0xde, 0x8d, 0x92, 0x7f, 0xeb, 0xad, 0x4d, 0x50,
+  0x6a, 0x53, 0x91, 0xfe, 0xd0, 0x77, 0x6b, 0x92, 0xbc, 0x14, 0x6f, 0xc3,
+  0x2a, 0xfb, 0xd8, 0x53, 0xe3, 0x27, 0xe6, 0xfe, 0x36, 0x12, 0x56, 0xdf,
+  0x14, 0x0e, 0x27, 0x59, 0xad, 0x4e, 0xbe, 0x72, 0xa0, 0x2f, 0xd3, 0xac,
+  0xb4, 0x31, 0x8c, 0x36, 0x9a, 0x7f, 0xd9, 0x42, 0xd8, 0x76, 0x9a, 0x8f,
+  0xcb, 0x60, 0x91, 0x7d, 0x2d, 0x74, 0xa9, 0xbc, 0x80, 0x29, 0xbe, 0x83,
+  0x62, 0xca, 0x56, 0xf4, 0x96, 0x54, 0x92, 0x14, 0x55, 0xab, 0x8e, 0xa0,
+  0x09, 0xbf, 0x3e, 0xbe, 0x24, 0x57, 0xcd, 0x05, 0x8c, 0x21, 0xdb, 0x41,
+  0x38, 0xbc, 0x44, 0xf5, 0x49, 0xad, 0x7a, 0x26, 0xd4, 0xaf, 0x5c, 0x87,
+  0xfa, 0xd3, 0x62, 0x96, 0x16, 0xd1, 0x24, 0x2c, 0xa3, 0xd3, 0x52, 0x69,
+  0xed, 0xd2, 0x91, 0x3c, 0xaa, 0x07, 0xc5, 0xab, 0x5f, 0xc0, 0xec, 0x2b,
+  0xe7, 0xef, 0x2f, 0xc5, 0x5b, 0xf5, 0xfa, 0xf8, 0xf4, 0xf8, 0xf2, 0xb8,
+  0x6b, 0xbd, 0x8f, 0x99, 0xb4, 0x0e, 0xd9, 0x37, 0x4d, 0x36, 0xb9, 0x29,
+  0xca, 0x59, 0x79, 0x9d, 0x4b, 0x75, 0xc1, 0xe4, 0xfb, 0x6c, 0xfc, 0xfa,
+  0xf0, 0x3b, 0xd2, 0x28, 0xc8, 0xf3, 0x74, 0x7e, 0x71, 0x76, 0xfe, 0xe6,
+  0xe4, 0xdd, 0xeb, 0x7e, 0x72, 0x74, 0x76, 0xfe, 0x97, 0x7e, 0xf2, 0xf6,
+  0xec, 0xbb, 0xe3, 0x08, 0xea, 0x9a, 0x08, 0xa5, 0x23, 0xd5, 0xcd, 0xa5,
+  0xca, 0x97, 0x33, 0xbe, 0x0b, 0x0e, 0x5c, 0x78, 0xd7, 0xc8, 0x21, 0xd0,
+  0x23, 0x54, 0x06, 0x97, 0xcf, 0x9a, 0x99, 0x3a, 0x23, 0x3f, 0xbe, 0x39,
+  0x3e, 0x7c, 0xdd, 0x0f, 0x28, 0x7f, 0xa9, 0x22, 0x81, 0xf9, 0x18, 0x8d,
+  0xcf, 0x0e, 0x1a, 0x44, 0xb1, 0x6c, 0x7f, 0x40, 0x47, 0xe0, 0x50, 0x17,
+  0x9f, 0x58, 0xb3, 0x61, 0x91, 0x8a, 0x3b, 0x5d, 0x85, 0xa0, 0x10, 0xee,
+  0xea, 0x95, 0xf5, 0x3c, 0xbd, 0x4c, 0x10, 0x52, 0xd7, 0x54, 0xd1, 0x66,
+  0x49, 0x20, 0xac, 0x2c, 0x09, 0xc0, 0xfe, 0xb2, 0x37, 0xb4, 0x1a, 0x65,
+  0x8c, 0xe5, 0x46, 0xba, 0xdc, 0x4f, 0x5a, 0x29, 0xc1, 0x10, 0x49, 0xec,
+  0x83, 0x4c, 0xa5, 0x1e, 0x1a, 0x0a, 0x47, 0x10, 0x0c, 0x68, 0xc4, 0xcc,
+  0xb8, 0x42, 0x08, 0x19, 0x4f, 0x6f, 0x50, 0x35, 0x5b, 0xf8, 0x87, 0x85,
+  0xa1, 0x85, 0xe6, 0xcf, 0x7d, 0x50, 0x0b, 0x2f, 0xfc, 0xc0, 0x13, 0x1b,
+  0xc5, 0x5d, 0x73, 0x7d, 0xa2, 0x2b, 0xb3, 0x35, 0x33, 0x06, 0x58, 0xf1,
+  0x52, 0x59, 0xf7, 0x40, 0x32, 0x38, 0x51, 0xe7, 0xc4, 0x3a, 0x35, 0xcb,
+  0x32, 0xb1, 0x89, 0x83, 0x86, 0x79, 0x61, 0xd4, 0x77, 0xd5, 0x16, 0x15,
+  0xbe, 0xa7, 0x84, 0x06, 0x1a, 0xd1, 0xfa, 0x75, 0x99, 0x95, 0xb6, 0x44,
+  0x06, 0xed, 0xcd, 0x0a, 0xe7, 0x20, 0x06, 0x3e, 0x2d, 0x73, 0xcd, 0x06,
+  0x34, 0x3e, 0x78, 0xd2, 0x88, 0x93, 0x42, 0x7c, 0xa3, 0x09, 0x05, 0xe1,
+  0x06, 0x6c, 0x51, 0xfb, 0x28, 0x61, 0x95, 0xa0, 0xa2, 0xa1, 0x4a, 0x1f,
+  0xe2, 0x45, 0xa8, 0x5d, 0x81, 0x3a, 0xdf, 0xa7, 0xf7, 0x64, 0xf7, 0x93,
+  0xf3, 0xb6, 0x93, 0x4e, 0x51, 0x27, 0x03, 0xe1, 0xdf, 0x9d, 0x9b, 0x8b,
+  0x30, 0xf4, 0x33, 0x6d, 0xbd, 0x59, 0x21, 0x1c, 0x7d, 0xff, 0xad, 0x2c,
+  0x86, 0x27, 0xa6, 0x4e, 0x4f, 0xcc, 0x91, 0x88, 0x90, 0x60, 0x4c, 0x4b,
+  0x54, 0x2a, 0x05, 0x34, 0x01, 0xda, 0x15, 0x66, 0xdf, 0xb4, 0x15, 0x7e,
+  0x98, 0x2a, 0xf7, 0x46, 0xbf, 0x8c, 0x92, 0xbe, 0x0f, 0x7c, 0x3a, 0x58,
+  0xb3, 0x8b, 0xe3, 0xcb, 0x8b, 0x61, 0xb2, 0xe5, 0xf3, 0x3b, 0x3e, 0x1f,
+  0xee, 0x86, 0xe1, 0x1b, 0xaa, 0x1a, 0x1c, 0xfd, 0x2a, 0xca, 0x09, 0xaf,
+  0xf8, 0x2a, 0xe4, 0x03, 0x7d, 0x37, 0xc4, 0x1d, 0x7b, 0x9c, 0x2e, 0xbb,
+  0xb1, 0xef, 0xf9, 0x95, 0x89, 0x5b, 0xdf, 0xa3, 0x5f, 0xac, 0x19, 0xe5,
+  0x37, 0xc7, 0xa7, 0xe7, 0xe1, 0x28, 0xbf, 0xbb, 0x78, 0xf3, 0x97, 0xf6,
+  0x28, 0x9f, 0x3c, 0x8d, 0x7c, 0xf5, 0xb7, 0x74, 0xad, 0x67, 0x75, 0x39,
+  0x33, 0x4a, 0x0b, 0x92, 0x4b, 0x90, 0x5b, 0x72, 0x60, 0xae, 0x01, 0xc2,
+  0xa6, 0xff, 0xd8, 0x97, 0xbf, 0xfc, 0x3c, 0x1c, 0x0e, 0xbf, 0x0c, 0x49,
+  0x8a, 0xe1, 0xa9, 0xb1, 0xc3, 0x95, 0x67, 0xc5, 0x0e, 0x77, 0x86, 0x38,
+  0xa7, 0xf3, 0xf0, 0xa5, 0xc1, 0x99, 0x27, 0x8b, 0x34, 0x0f, 0x9c, 0xd2,
+  0xef, 0x55, 0x0f, 0xca, 0x29, 0x47, 0xc7, 0xba, 0x8d, 0x55, 0xa7, 0x53,
+  0xfe, 0x1f, 0x3e, 0xb2, 0x5b, 0xf5, 0x36, 0xab, 0x5d, 0x2b, 0x43, 0xfd,
+  0xda, 0x19, 0x64, 0x4d, 0x51, 0x99, 0x75, 0xb1, 0x79, 0xdc, 0x8d, 0x5b,
+  0xe8, 0x0d, 0x22, 0xe3, 0x9f, 0xba, 0x97, 0xc2, 0x4b, 0x77, 0x2c, 0x37,
+  0xf4, 0x10, 0x9e, 0x4a, 0x04, 0xd8, 0x61, 0x86, 0xe1, 0x76, 0x41, 0x99,
+  0xca, 0xac, 0x99, 0xec, 0xd0, 0x40, 0xeb, 0x96, 0x22, 0xb8, 0xc2, 0x07,
+  0x56, 0x16, 0x2d, 0xfc, 0x23, 0xdd, 0x14, 0xec, 0x82, 0xf6, 0x33, 0x11,
+  0x5d, 0x6d, 0x13, 0x76, 0x29, 0x49, 0xba, 0x0e, 0x75, 0x23, 0x12, 0x8b,
+  0x6f, 0x51, 0x80, 0x4c, 0xbc, 0xec, 0x48, 0xd0, 0x25, 0x95, 0x11, 0x91,
+  0xe8, 0x32, 0xe8, 0x22, 0x1e, 0x16, 0x48, 0x68, 0xdd, 0x4d, 0x96, 0x6d,
+  0xb8, 0x7d, 0x2d, 0xa8, 0xaf, 0xce, 0x5f, 0xf8, 0x98, 0xb7, 0x97, 0x74,
+  0x6d, 0xf4, 0x80, 0xa9, 0x83, 0xd5, 0x9e, 0x5f, 0xa0, 0x3e, 0xfd, 0x8a,
+  0x2c, 0x30, 0xd6, 0x7f, 0xb5, 0x65, 0x12, 0xf2, 0x6d, 0xca, 0xf7, 0xf6,
+  0x68, 0xd4, 0x13, 0x3f, 0x78, 0x1a, 0x46, 0x13, 0xf2, 0xc5, 0xed, 0x53,
+  0xb8, 0x6f, 0x9e, 0xf7, 0xf9, 0x5f, 0xcf, 0x99, 0x02, 0xad, 0x69, 0xc7,
+  0x16, 0x58, 0x8b, 0x67, 0x9d, 0xf7, 0xe4, 0x5c, 0xb3, 0x4e, 0x03, 0xa2,
+  0x72, 0x09, 0xc3, 0x49, 0x7e, 0xbb, 0xe9, 0xa5, 0xe6, 0x91, 0x99, 0x77,
+  0xb4, 0xb7, 0x24, 0x10, 0xcd, 0xc9, 0xfd, 0x71, 0x5c, 0x51, 0x81, 0xbe,
+  0xa6, 0xfe, 0x79, 0x5d, 0x82, 0xaf, 0xd1, 0x78, 0x3f, 0x1b, 0x86, 0x89,
+  0x54, 0x23, 0x9f, 0xe0, 0xd7, 0x7d, 0xc9, 0x82, 0x79, 0xdd, 0xe7, 0x08,
+  0x0b, 0x8f, 0xd8, 0x15, 0x41, 0x5f, 0xd6, 0x7f, 0xe8, 0xc5, 0x70, 0xf7,
+  0xf1, 0xb0, 0x61, 0x67, 0x34, 0x92, 0x43, 0x6a, 0x8a, 0x30, 0x98, 0xf9,
+  0x91, 0x9c, 0x66, 0x46, 0x38, 0x85, 0x07, 0x45, 0x0e, 0xd3, 0x5a, 0x72,
+  0xf5, 0xbd, 0xe1, 0x93, 0xb6, 0xfc, 0x31, 0x3d, 0x47, 0x1a, 0x4c, 0x65,
+  0x8c, 0x9a, 0x70, 0x77, 0x53, 0xb5, 0xa2, 0xb6, 0xa7, 0x40, 0x8e, 0x31,
+  0xc5, 0xf4, 0xf8, 0xc7, 0x46, 0x64, 0x28, 0xee, 0x25, 0x39, 0xa6, 0x5c,
+  0x9d, 0x8b, 0xe3, 0x37, 0xef, 0x47, 0xc7, 0xaf, 0x41, 0x07, 0x17, 0xab,
+  0x9c, 0x91, 0xd3, 0x06, 0x64, 0x9f, 0x7a, 0x53, 0xb2, 0x26, 0x24, 0x1d,
+  0x69, 0x97, 0x9b, 0xe2, 0xea, 0x5a, 0x35, 0xe7, 0x9d, 0x1a, 0x8b, 0x2e,
+  0xcc, 0xad, 0x60, 0xdd, 0x43, 0xde, 0xfd, 0x05, 0x8c, 0x0f, 0x3c, 0xea,
+  0x69, 0x46, 0x85, 0x58, 0x5e, 0x32, 0x86, 0x23, 0xa0, 0xfc, 0x79, 0x6b,
+  0xeb, 0xf9, 0x90, 0x95, 0x96, 0x65, 0x0b, 0xe5, 0x8d, 0x4b, 0xe7, 0xe5,
+  0xb2, 0x60, 0xa7, 0x9e, 0x59, 0x21, 0xf5, 0x63, 0xc1, 0x6f, 0x8a, 0x76,
+  0x59, 0xe1, 0x48, 0x57, 0xd4, 0x0c, 0x81, 0xbb, 0x82, 0x80, 0xd3, 0x9a,
+  0x7c, 0x4f, 0xe2, 0xda, 0x4d, 0x8b, 0xcc, 0x4b, 0xb2, 0x45, 0x41, 0x33,
+  0x5f, 0x2d, 0x5d, 0x51, 0x54, 0x08, 0x75, 0x4c, 0x8c, 0x4a, 0xcf, 0x7d,
+  0x49, 0x67, 0xd7, 0x65, 0x65, 0x1a, 0x9d, 0xdb, 0xac, 0xbf, 0x0a, 0x98,
+  0x9d, 0x7a, 0xbb, 0x5b, 0xc8, 0x2b, 0x90, 0x89, 0xb3, 0x7b, 0x8e, 0xdf,
+  0x66, 0x9c, 0x0d, 0x4d, 0xe7, 0x99, 0xa7, 0x09, 0x66, 0x3e, 0x45, 0xb6,
+  0x58, 0x04, 0x8f, 0x24, 0x7f, 0x19, 0x73, 0xc1, 0x33, 0x18, 0x6e, 0xc4,
+  0xbf, 0x67, 0x55, 0xd9, 0x75, 0x44, 0xa8, 0xba, 0xa9, 0x3d, 0xf7, 0x3b,
+  0xfe, 0xcf, 0xac, 0xdc, 0xb3, 0xb7, 0x1f, 0x3b, 0x01, 0xf3, 0xf4, 0x13,
+  0x9c, 0x2b, 0x2b, 0xb7, 0xc3, 0x25, 0x3b, 0x43, 0x00, 0x71, 0xa3, 0x07,
+  0x25, 0x77, 0x93, 0xea, 0x58, 0x34, 0x89, 0x9f, 0xe2, 0xc1, 0xd0, 0x1a,
+  0xbb, 0xdc, 0xe2, 0x7f, 0x09, 0x30, 0x4c, 0xbc, 0x2e, 0xb6, 0xd7, 0xf0,
+  0x70, 0xa5, 0x34, 0x4c, 0x32, 0x3d, 0xb6, 0xb8, 0x88, 0x08, 0x3e, 0xb7,
+  0x4d, 0x3f, 0x9e, 0x95, 0x14, 0x5f, 0x63, 0xff, 0x11, 0xbe, 0x1e, 0x12,
+  0x4a, 0x91, 0x62, 0x5b, 0xd1, 0x2e, 0x54, 0x43, 0x8c, 0xbd, 0x99, 0xa8,
+  0x86, 0x80, 0x84, 0xa8, 0x7c, 0x22, 0xbe, 0x7a, 0xad, 0xc4, 0x83, 0x51,
+  0xf0, 0x9b, 0x81, 0x20, 0xd1, 0x76, 0x32, 0x6e, 0xa0, 0xdf, 0xa6, 0xfd,
+  0x94, 0x4e, 0x23, 0xdf, 0x90, 0x33, 0x12, 0x50, 0x35, 0x47, 0xd3, 0xcd,
+  0x23, 0x36, 0x3d, 0x1b, 0x47, 0xe4, 0x23, 0x43, 0xfe, 0x0e, 0x8d, 0x07,
+  0xd6, 0x51, 0x5a, 0xf8, 0x9d, 0xc5, 0x0a, 0x98, 0x46, 0xf2, 0x72, 0x8a,
+  0xcc, 0x1f, 0x2e, 0xe5, 0x90, 0x86, 0x4c, 0x05, 0xc4, 0xd7, 0x21, 0xbd,
+  0xd9, 0x24, 0x1f, 0xdb, 0xa7, 0x7c, 0xbe, 0x9c, 0xe3, 0xf5, 0xbe, 0xd8,
+  0x0d, 0x73, 0xd8, 0x0d, 0xba, 0xac, 0x43, 0x84, 0x68, 0x1b, 0x3e, 0xc2,
+  0xdd, 0xbd, 0x6f, 0x03, 0xa6, 0xd8, 0xb6, 0x0d, 0x23, 0x56, 0xe8, 0x2d,
+  0x26, 0x81, 0xc7, 0x42, 0xfd, 0x1f, 0xdf, 0xa1, 0xc9, 0x4b, 0xa3, 0x83,
+  0x7c, 0x19, 0x49, 0xd0, 0x89, 0x89, 0x8f, 0xbc, 0x16, 0xa8, 0x6e, 0x36,
+  0xf5, 0xcc, 0x1f, 0xde, 0x71, 0xa4, 0x3b, 0xf0, 0x32, 0xad, 0x94, 0x51,
+  0x7d, 0xeb, 0xb4, 0xe5, 0x4f, 0x63, 0xa0, 0xce, 0x6d, 0xc9, 0x17, 0x93,
+  0x6c, 0x79, 0x5a, 0x39, 0xe1, 0xc6, 0x0f, 0xee, 0x6b, 0x11, 0x15, 0x2d,
+  0x15, 0xca, 0x7c, 0x7e, 0x57, 0x30, 0x1d, 0x62, 0x93, 0x91, 0xb7, 0x57,
+  0x66, 0x59, 0x5d, 0x30, 0x6d, 0x36, 0xfb, 0xb6, 0xc8, 0x23, 0x51, 0xd6,
+  0xb9, 0x45, 0x98, 0x89, 0x80, 0x29, 0x68, 0x0e, 0xcc, 0x84, 0xc8, 0xda,
+  0xf5, 0x13, 0x4d, 0xaf, 0x49, 0x92, 0xa7, 0x9f, 0x3e, 0x85, 0x97, 0xa5,
+  0x33, 0xe3, 0x98, 0x0f, 0x8d, 0x6d, 0xbc, 0x67, 0x9f, 0x3a, 0x36, 0xde,
+  0x30, 0xce, 0x5a, 0xc6, 0x57, 0x03, 0x49, 0xc7, 0x71, 0xc9, 0x91, 0x23,
+  0x9e, 0xad, 0x34, 0x32, 0x8f, 0x2c, 0x14, 0xee, 0xd2, 0xbc, 0x89, 0x64,
+  0x1e, 0x09, 0x88, 0xd0, 0xd6, 0xf4, 0xd3, 0xd8, 0x1e, 0x2a, 0x53, 0x19,
+  0x35, 0x95, 0xe6, 0x50, 0x27, 0x48, 0x1b, 0x34, 0xf3, 0xb6, 0xe4, 0x98,
+  0x41, 0x30, 0x4f, 0xf4, 0x15, 0x9e, 0x76, 0x3a, 0x4d, 0xe6, 0xaa, 0xca,
+  0x51, 0x26, 0x9d, 0xcf, 0x74, 0x9d, 0xec, 0x99, 0xe9, 0xcf, 0x8b, 0x25,
+  0x21, 0x09, 0x3d, 0xc6, 0x50, 0x4b, 0xde, 0x12, 0x99, 0xf6, 0x19, 0x30,
+  0xaa, 0x9a, 0x45, 0x4e, 0x07, 0xaf, 0xf6, 0x62, 0x5a, 0x7c, 0x3c, 0x50,
+  0x33, 0xc7, 0xfa, 0x23, 0xfc, 0x0b, 0x36, 0xa2, 0xdf, 0xda, 0xea, 0x35,
+  0x7a, 0xa5, 0x66, 0x9f, 0xcc, 0x6c, 0x73, 0x51, 0x06, 0x77, 0xa3, 0xb9,
+  0xdb, 0x6c, 0xe8, 0x11, 0xa4, 0x47, 0x00, 0x2b, 0x2d, 0xf9, 0x6d, 0x0b,
+  0xc0, 0x40, 0xc4, 0x95, 0x8d, 0x9c, 0x45, 0x4e, 0x62, 0x96, 0x18, 0xe7,
+  0x7f, 0x83, 0x33, 0x5d, 0xa7, 0xf5, 0x6c, 0x90, 0x77, 0xc5, 0xf8, 0x31,
+  0x60, 0x70, 0x16, 0xc2, 0x62, 0x77, 0xa1, 0x69, 0x62, 0x74, 0x38, 0x3a,
+  0xed, 0xd0, 0x27, 0xad, 0x65, 0x40, 0xdd, 0x6b, 0x6b, 0x3c, 0x8f, 0xa4,
+  0x69, 0xd3, 0xb8, 0x45, 0x2b, 0x35, 0x79, 0x1d, 0x43, 0x1b, 0xd3, 0x66,
+  0xae, 0xaa, 0xe2, 0x54, 0x1f, 0xe0, 0xe3, 0x8e, 0x0c, 0x32, 0xe8, 0x0a,
+  0xb3, 0x00, 0x21, 0xd9, 0x80, 0xcb, 0x6d, 0x25, 0x31, 0x32, 0x19, 0x3c,
+  0xb3, 0x23, 0xc8, 0x95, 0x87, 0xc2, 0xbf, 0xcc, 0xfc, 0xa6, 0x23, 0x1f,
+  0x91, 0xe1, 0x41, 0xe5, 0xe8, 0x06, 0x31, 0xd2, 0x1b, 0x1b, 0x3c, 0x11,
+  0x55, 0xb2, 0xc6, 0xd3, 0x84, 0x62, 0x69, 0xfa, 0x7c, 0x61, 0x59, 0x41,
+  0x45, 0x6d, 0x38, 0x30, 0x08, 0x71, 0x10, 0x87, 0x8c, 0xc5, 0x1c, 0x1f,
+  0xbc, 0xe2, 0x8a, 0x5f, 0xda, 0x03, 0xaf, 0xcd, 0xae, 0x80, 0xcc, 0x67,
+  0x82, 0x82, 0xfb, 0xdb, 0x32, 0xcf, 0x1a, 0xe4, 0x0b, 0x0d, 0x93, 0xd7,
+  0x8c, 0x66, 0x92, 0xb2, 0x59, 0x5c, 0x9e, 0x0f, 0x35, 0xfc, 0x18, 0x1b,
+  0x2d, 0x0a, 0xa2, 0xe9, 0x40, 0x10, 0xba, 0x31, 0x1d, 0xa2, 0x93, 0x08,
+  0xd5, 0xd5, 0x9c, 0xaa, 0x23, 0xea, 0xf6, 0xdc, 0x9c, 0x74, 0x18, 0x9b,
+  0xd8, 0xa9, 0x46, 0xb9, 0x23, 0x10, 0x8b, 0xc4, 0xba, 0x15, 0x84, 0x0e,
+  0x9c, 0x65, 0xfd, 0x31, 0x34, 0x6c, 0xfb, 0xad, 0x62, 0x29, 0x30, 0xf4,
+  0xc4, 0x06, 0x68, 0xa8, 0xd6, 0x4e, 0x91, 0xce, 0x76, 0xea, 0x66, 0x4a,
+  0xd2, 0x6f, 0x59, 0xcc, 0xa8, 0x9f, 0xd4, 0x92, 0x16, 0x86, 0xea, 0xce,
+  0x4d, 0x13, 0xa3, 0x56, 0xe1, 0x15, 0x6a, 0x2d, 0x11, 0x3b, 0x5b, 0xad,
+  0xd1, 0x21, 0x19, 0x37, 0x1e, 0xf8, 0xc9, 0x42, 0x0f, 0x42, 0x0a, 0x1d,
+  0x7f, 0xb6, 0xc8, 0xe0, 0xe5, 0xf1, 0x62, 0x2e, 0x5b, 0xeb, 0xb6, 0x2e,
+  0xd3, 0xff, 0x96, 0xd6, 0xcb, 0x6c, 0xb4, 0x71, 0x59, 0x2b, 0x7b, 0xa9,
+  0x19, 0xa4, 0x79, 0xbd, 0x75, 0x9e, 0x40, 0x58, 0xf5, 0x0b, 0x39, 0x41,
+  0xb8, 0xfc, 0xa7, 0xc7, 0x08, 0xd2, 0x74, 0xbc, 0x0e, 0x3e, 0xff, 0x51,
+  0x58, 0x33, 0xf5, 0x17, 0xd3, 0x81, 0xf8, 0xbc, 0x8b, 0x8e, 0xf1, 0x88,
+  0x0c, 0x49, 0x0b, 0xda, 0x13, 0x1c, 0x4e, 0x8b, 0x19, 0x83, 0xf5, 0xcc,
+  0xfb, 0x48, 0x21, 0x2b, 0xb3, 0x99, 0x96, 0x92, 0xe2, 0x3f, 0x99, 0x19,
+  0x61, 0x1f, 0xb1, 0x35, 0xb5, 0x8e, 0x19, 0x91, 0x66, 0xf5, 0xbb, 0xe2,
+  0xb4, 0x5e, 0x92, 0xea, 0x31, 0x5b, 0xd2, 0x97, 0x99, 0x6f, 0xca, 0xf2,
+  0x1d, 0x69, 0x66, 0x72, 0x94, 0x23, 0xcc, 0x12, 0x16, 0xd1, 0x19, 0xf5,
+  0xe8, 0xd2, 0x96, 0x5a, 0xf2, 0x50, 0x99, 0xc4, 0xba, 0x8c, 0x32, 0xc3,
+  0x15, 0xbd, 0x23, 0x83, 0xb0, 0xef, 0x57, 0x08, 0xf6, 0xad, 0x6f, 0xca,
+  0xc3, 0xd0, 0xee, 0xb4, 0xab, 0xee, 0xc6, 0x38, 0xa0, 0x6c, 0x34, 0xb3,
+  0xd5, 0x33, 0xbd, 0x3b, 0x34, 0x55, 0x17, 0xc0, 0x68, 0x29, 0x08, 0xec,
+  0x2a, 0x01, 0x77, 0x07, 0xfb, 0xa8, 0xb2, 0xc0, 0x2b, 0x0b, 0x01, 0x87,
+  0xf4, 0x20, 0xb1, 0xc2, 0xc0, 0xbe, 0x3b, 0xdb, 0x1c, 0x08, 0xbf, 0x0c,
+  0xf0, 0x3f, 0xf3, 0x3e, 0x7c, 0xd6, 0xae, 0x69, 0x23, 0x04, 0x70, 0xbf,
+  0xea, 0x40, 0xa5, 0x8f, 0x3b, 0x51, 0x2b, 0xe0, 0xf0, 0xff, 0x77, 0x9e,
+  0xa8, 0x34, 0x79, 0xdc, 0x99, 0x4a, 0xbb, 0x87, 0x2a, 0x52, 0xca, 0x79,
   0x65, 0x8f, 0x7f, 0xc3, 0x53, 0xc6, 0xc7, 0xec, 0x17, 0x9d, 0x33, 0xdd,
-  0x14, 0xff, 0x37, 0x9f, 0xb2, 0xcf, 0x3b, 0x5a, 0x20, 0x78, 0x0d, 0xd7,
-  0x94, 0xa1, 0xf1, 0xf1, 0x0d, 0x84, 0x26, 0x26, 0x5d, 0x6b, 0xc7, 0x52,
-  0x90, 0xc5, 0x6b, 0xd1, 0x30, 0x97, 0x4d, 0x24, 0xa0, 0x0e, 0x58, 0x1b,
-  0xe6, 0xe3, 0x99, 0x95, 0x79, 0x9a, 0xa3, 0xbb, 0xb6, 0xe1, 0xd0, 0x3f,
-  0x65, 0x89, 0x40, 0xbd, 0xda, 0xeb, 0x43, 0xab, 0x41, 0xe8, 0xb8, 0xae,
-  0xcd, 0xdd, 0xbe, 0xc8, 0x59, 0x63, 0x30, 0xda, 0x0b, 0xe5, 0x53, 0x7e,
-  0x33, 0x1a, 0x0d, 0x0e, 0xcf, 0x4f, 0xba, 0x27, 0xaf, 0xfd, 0x3d, 0x2d,
-  0xc5, 0xfb, 0x6c, 0x65, 0x55, 0x9a, 0xd5, 0x68, 0x85, 0xf6, 0xb7, 0x8d,
-  0xaa, 0xdb, 0x9d, 0xd8, 0xc3, 0xba, 0x85, 0xc6, 0x93, 0x0e, 0xf9, 0x84,
-  0xc2, 0x42, 0x84, 0xc9, 0x29, 0x75, 0x9c, 0xdf, 0x4d, 0x72, 0x86, 0x9f,
-  0x08, 0xc0, 0x8b, 0xe0, 0xab, 0x00, 0xdd, 0x44, 0xb2, 0xf7, 0xe2, 0xf9,
-  0x9e, 0x39, 0x18, 0xf7, 0x4c, 0xd9, 0x26, 0xef, 0x3f, 0x1d, 0x3e, 0xd9,
-  0xa1, 0x8a, 0xe8, 0x79, 0xe3, 0x45, 0x16, 0xa4, 0x7d, 0x23, 0xef, 0x22,
-  0xc1, 0x7b, 0xea, 0xd6, 0xbb, 0xe3, 0xa3, 0x84, 0x11, 0x5e, 0x20, 0xf0,
-  0x4a, 0x90, 0x70, 0x42, 0xc9, 0x2b, 0xb2, 0x22, 0x88, 0x30, 0x93, 0x28,
-  0x1d, 0xaa, 0x2f, 0x8c, 0xb7, 0x6b, 0x60, 0x8e, 0x05, 0xd3, 0x91, 0xa8,
-  0x35, 0x81, 0x3c, 0xee, 0xc2, 0xf6, 0x84, 0x24, 0x1e, 0x1b, 0x16, 0x32,
-  0x33, 0x8b, 0x48, 0x85, 0x4b, 0x7f, 0x4e, 0x1e, 0x49, 0xc1, 0x4c, 0x95,
-  0x18, 0x57, 0xaf, 0x8f, 0x1a, 0x30, 0x2b, 0x4c, 0x20, 0xe7, 0x9e, 0x0c,
-  0x2c, 0x1d, 0x91, 0x88, 0x8a, 0x4f, 0x23, 0x17, 0xcb, 0x64, 0x6e, 0x8d,
-  0x92, 0xab, 0xbf, 0x4d, 0x8b, 0xe1, 0x2f, 0xb5, 0xa8, 0x22, 0x2a, 0x71,
-  0xdb, 0x70, 0xe2, 0xbe, 0x8b, 0xa8, 0x16, 0x83, 0x69, 0xd5, 0x88, 0xd8,
-  0x48, 0xea, 0xfa, 0x02, 0xb0, 0x01, 0xe8, 0x34, 0xb3, 0x09, 0xe5, 0x35,
-  0x64, 0x5b, 0x5f, 0xd7, 0x78, 0x04, 0xc5, 0xef, 0xbe, 0xb5, 0x53, 0x65,
-  0xe9, 0x4c, 0x5e, 0x14, 0xe3, 0x6d, 0x59, 0xc7, 0x7e, 0x79, 0x85, 0x7a,
-  0x11, 0x75, 0xc0, 0x79, 0x74, 0x07, 0xe4, 0x9d, 0xa5, 0xfc, 0xe2, 0xa7,
-  0x2d, 0x96, 0x61, 0x9e, 0x36, 0x13, 0x65, 0x77, 0x33, 0x17, 0x4a, 0xbe,
-  0x48, 0x67, 0xc9, 0x23, 0x40, 0xb8, 0xab, 0x17, 0xff, 0x41, 0x89, 0xa7,
-  0x67, 0x73, 0x45, 0x7d, 0x19, 0x5b, 0xe8, 0x9d, 0xb9, 0xd8, 0x62, 0x65,
-  0xc2, 0x9f, 0x25, 0x2d, 0x49, 0xb7, 0xa2, 0x41, 0x42, 0x85, 0x8a, 0x40,
-  0x73, 0xec, 0x27, 0xdd, 0x18, 0xb3, 0xb1, 0x25, 0x95, 0x62, 0x6c, 0x52,
-  0xce, 0x17, 0x2e, 0x60, 0xa0, 0x8d, 0x4a, 0x8a, 0xd8, 0xf6, 0xb0, 0x2b,
-  0x06, 0x63, 0xe2, 0x9d, 0xeb, 0xba, 0x4e, 0x1e, 0x21, 0x7c, 0x7f, 0x0b,
-  0x61, 0x48, 0x4a, 0x1c, 0x7b, 0x1a, 0x7e, 0x29, 0x7b, 0xa1, 0x7f, 0x5d,
-  0x24, 0x5b, 0x08, 0x9a, 0x66, 0x3e, 0x2b, 0x9c, 0x46, 0xae, 0x43, 0x3f,
-  0x15, 0x42, 0x63, 0xf4, 0xd1, 0xed, 0xe1, 0x63, 0x68, 0x5e, 0xfb, 0xc2,
-  0xe8, 0x6a, 0x49, 0x5c, 0x43, 0xba, 0x99, 0xff, 0x1b, 0x14, 0xc1, 0x67,
-  0x89, 0x5d, 0xab, 0xc7, 0xe8, 0x83, 0xcc, 0x89, 0xcc, 0x05, 0x04, 0x03,
-  0xba, 0x1f, 0x67, 0x74, 0xfd, 0x3f, 0x7d, 0xf0, 0xff, 0x97, 0xf4, 0xc1,
-  0x5f, 0x7d, 0x4a, 0x95, 0xcd, 0x73, 0xa0, 0x20, 0x40, 0x7b, 0x36, 0xdd,
-  0x69, 0x8c, 0x21, 0x73, 0x67, 0xf7, 0x8f, 0x3f, 0xa2, 0xde, 0x09, 0x4d,
-  0xc2, 0xad, 0xf0, 0x7f, 0xc7, 0x11, 0x7d, 0xd4, 0xc9, 0xfc, 0x7f, 0xde,
-  0x8f, 0xff, 0x6e, 0xe7, 0x70, 0xb5, 0x36, 0xb8, 0x65, 0x36, 0xd9, 0x1d,
-  0x95, 0x1c, 0xe0, 0xb2, 0x1f, 0xb0, 0xb4, 0xb7, 0x9d, 0xe6, 0x43, 0x89,
-  0x2b, 0x3c, 0x77, 0x27, 0xe7, 0xdf, 0x3f, 0x67, 0xbe, 0x8a, 0x51, 0x37,
-  0x6a, 0x59, 0x25, 0xa7, 0xaf, 0x0f, 0xcf, 0x7f, 0xc1, 0x69, 0xff, 0x33,
-  0xfc, 0xd0, 0x8b, 0x2c, 0x9b, 0x0e, 0x38, 0x42, 0xf2, 0x12, 0xff, 0x88,
-  0xc4, 0x14, 0x53, 0x9b, 0x8e, 0x8e, 0x6d, 0x4b, 0x81, 0x93, 0x30, 0x56,
-  0x8b, 0x97, 0x8d, 0x9a, 0x52, 0x08, 0x41, 0xc4, 0x02, 0x75, 0xd4, 0x02,
-  0x2f, 0x4b, 0x59, 0x4c, 0xb7, 0x39, 0x23, 0x06, 0x5f, 0xc6, 0x56, 0x91,
-  0x10, 0x3b, 0x1d, 0xef, 0x6b, 0x22, 0x91, 0xb2, 0x34, 0x7c, 0xde, 0x33,
-  0x38, 0xf8, 0x21, 0xff, 0x39, 0x1f, 0x82, 0x7b, 0x37, 0x14, 0x0e, 0xee,
-  0x30, 0xd9, 0xd3, 0x93, 0x5d, 0x2e, 0x92, 0x8d, 0xac, 0xdc, 0xdf, 0x31,
-  0x35, 0xbd, 0xfb, 0xf9, 0x55, 0x98, 0x81, 0xb5, 0x53, 0xe9, 0xaf, 0x44,
-  0x6b, 0x06, 0x29, 0x16, 0x38, 0x5d, 0x56, 0x61, 0x51, 0xa0, 0xd4, 0x9f,
-  0x1f, 0x8e, 0x92, 0x73, 0x7f, 0xed, 0x27, 0xda, 0xb3, 0x69, 0x3e, 0xef,
-  0xbd, 0x10, 0xd8, 0xd4, 0x36, 0x79, 0x23, 0xf3, 0xe0, 0x24, 0x7e, 0xaf,
-  0x1c, 0xa8, 0x76, 0x4f, 0xfd, 0xfb, 0x0e, 0x7d, 0xfb, 0xe7, 0x10, 0x83,
-  0xe5, 0xbd, 0xbb, 0x1e, 0xe9, 0x54, 0x16, 0x4d, 0x45, 0x9c, 0xc6, 0x1a,
-  0x27, 0x55, 0x8e, 0x68, 0x23, 0x17, 0xfd, 0x24, 0xd9, 0x94, 0xcb, 0x24,
-  0x63, 0xd6, 0x42, 0x6e, 0x41, 0x3e, 0xdf, 0x49, 0xd6, 0x4c, 0x86, 0x6e,
-  0x6d, 0xc1, 0xf8, 0x45, 0x15, 0x94, 0x8d, 0x92, 0xab, 0x45, 0xe6, 0xcc,
-  0x1c, 0x55, 0xf7, 0xc2, 0x4e, 0xb3, 0xc2, 0x5b, 0xa1, 0xc1, 0xfe, 0x15,
-  0x48, 0xe4, 0xdf, 0x10, 0x79, 0xb9, 0xbe, 0x14, 0x50, 0x98, 0x6d, 0xad,
-  0xe6, 0x89, 0x15, 0x0b, 0x29, 0x0a, 0x19, 0xa3, 0xa2, 0xa1, 0xf9, 0x5d,
-  0xde, 0xdc, 0x53, 0xc2, 0xfe, 0x9d, 0xe0, 0xc4, 0xbb, 0xf2, 0x7e, 0x74,
-  0xfa, 0x84, 0xb1, 0x91, 0x97, 0xa7, 0x23, 0x9f, 0xf9, 0xba, 0x4e, 0xb8,
-  0x6c, 0xb7, 0x11, 0x3f, 0x5f, 0x1f, 0x1f, 0x8e, 0x2e, 0x87, 0x91, 0x31,
-  0x86, 0xa8, 0x10, 0x97, 0x39, 0x48, 0x2c, 0x40, 0xb3, 0xf4, 0x9e, 0xc8,
-  0xe6, 0x24, 0x01, 0x89, 0xfa, 0xc6, 0x5d, 0xd3, 0xb6, 0xc9, 0xcc, 0xe5,
-  0xda, 0x0f, 0xc0, 0x15, 0x85, 0x24, 0x51, 0x66, 0xee, 0xc6, 0xf9, 0x8c,
-  0x46, 0x60, 0xba, 0x65, 0x8c, 0xa1, 0xb9, 0xe0, 0x8a, 0x91, 0xce, 0x5a,
-  0xce, 0x08, 0x4e, 0x46, 0xdf, 0x69, 0x7b, 0x22, 0x88, 0xcc, 0x52, 0x72,
-  0x7c, 0x57, 0x67, 0xec, 0x19, 0x2d, 0xa3, 0xac, 0x33, 0x61, 0x0c, 0xa3,
-  0x36, 0x74, 0xae, 0x38, 0x9d, 0xc8, 0x02, 0xfa, 0xf1, 0x0a, 0xf8, 0x0e,
-  0xc2, 0x74, 0xa8, 0xb4, 0xfe, 0xa8, 0xa0, 0xf0, 0x49, 0x83, 0x92, 0xf6,
-  0xe9, 0xda, 0x2a, 0x3b, 0xfb, 0x5d, 0x4b, 0xc8, 0x2c, 0x34, 0x92, 0x47,
-  0x29, 0x89, 0xa0, 0x6b, 0xdb, 0xfd, 0x90, 0x13, 0xfd, 0xee, 0x76, 0x47,
-  0x4b, 0x69, 0xaf, 0xb8, 0x86, 0xc8, 0xa9, 0xcc, 0x01, 0x27, 0x79, 0x50,
-  0xb4, 0xfd, 0xb6, 0x8c, 0x17, 0xd5, 0x49, 0x26, 0x37, 0x99, 0xb9, 0x45,
-  0x86, 0x5e, 0x0a, 0xf4, 0xa3, 0x27, 0x64, 0x23, 0xe0, 0xca, 0x8a, 0x4c,
-  0xcf, 0x2f, 0x9e, 0x90, 0xa7, 0x4f, 0xc3, 0x09, 0xa9, 0xb2, 0xbf, 0x4d,
-  0x63, 0xf4, 0xc2, 0x00, 0x69, 0x03, 0x21, 0xce, 0xc8, 0xea, 0x0b, 0xe6,
-  0x48, 0xa6, 0xae, 0xee, 0x50, 0x31, 0x12, 0x85, 0xbe, 0x3a, 0xe6, 0x29,
-  0x32, 0xb0, 0x29, 0x04, 0x19, 0x56, 0x57, 0x6c, 0x24, 0x73, 0xd9, 0x3d,
-  0xab, 0x80, 0xa7, 0x6e, 0xde, 0xbc, 0xa0, 0x3c, 0xe5, 0x23, 0x6b, 0x45,
-  0x16, 0x41, 0x3b, 0x51, 0xd2, 0x82, 0x52, 0xb1, 0xec, 0xd9, 0x19, 0x0c,
-  0xae, 0x9a, 0x85, 0x1d, 0xd8, 0xda, 0xdd, 0xb1, 0x1b, 0x4c, 0xc6, 0x8a,
-  0xa1, 0x5f, 0x56, 0x28, 0xbe, 0xc1, 0x9e, 0x14, 0x1d, 0x3f, 0x23, 0xad,
-  0x05, 0x4b, 0x6c, 0xa7, 0x20, 0x80, 0x94, 0x51, 0xc5, 0x0c, 0x46, 0x8c,
-  0x82, 0xe5, 0x47, 0xaa, 0x22, 0x3e, 0x76, 0x22, 0x42, 0xe1, 0x81, 0x69,
-  0x69, 0x15, 0x8a, 0xd3, 0xf1, 0x8a, 0x08, 0xd7, 0xf0, 0xa8, 0xcc, 0x00,
-  0x77, 0x93, 0xb1, 0xbf, 0x83, 0x90, 0x86, 0xd7, 0x98, 0xf2, 0xb7, 0xd9,
-  0x0c, 0x59, 0x39, 0x59, 0x31, 0xa9, 0xee, 0x17, 0x3e, 0x1f, 0xf6, 0xf4,
-  0x01, 0x0d, 0xfe, 0x81, 0x15, 0x68, 0xc1, 0xe7, 0xf7, 0x8c, 0xac, 0xdb,
-  0x0e, 0xf5, 0xaf, 0xd4, 0x96, 0x9f, 0x65, 0xee, 0x3e, 0xba, 0x84, 0x1b,
-  0x1f, 0x60, 0x4c, 0x46, 0x8c, 0x97, 0x49, 0xc2, 0x7c, 0x73, 0x9a, 0x92,
-  0xdc, 0x8d, 0x7b, 0x2c, 0xc1, 0x20, 0x64, 0x11, 0xc4, 0x8f, 0x5e, 0xfb,
-  0xfd, 0x3e, 0xcf, 0xd8, 0xed, 0x7e, 0x90, 0x55, 0x00, 0x91, 0xf0, 0x86,
-  0xdc, 0x34, 0x5a, 0x10, 0x5e, 0x1c, 0x53, 0x74, 0x64, 0xb5, 0xb8, 0xd0,
-  0x3e, 0xfb, 0xa3, 0xac, 0x37, 0x54, 0x33, 0xd7, 0x56, 0x54, 0x6e, 0xe7,
-  0xd3, 0xce, 0xb9, 0x6c, 0x23, 0x23, 0x59, 0x19, 0xbc, 0xa5, 0x9e, 0xa5,
-  0xf1, 0x32, 0x9f, 0x35, 0x89, 0x4d, 0x0f, 0xa4, 0xa7, 0x6f, 0xf7, 0x93,
-  0x55, 0xec, 0xce, 0x43, 0xf9, 0x3d, 0xb2, 0x3d, 0xa7, 0x54, 0x48, 0xc0,
-  0x51, 0xcf, 0x25, 0xb6, 0x0a, 0x27, 0xc0, 0x8b, 0xe4, 0x9f, 0x7e, 0xbe,
-  0xf7, 0xd9, 0xf3, 0xed, 0xf5, 0x15, 0xc6, 0xa9, 0xf2, 0x06, 0x65, 0xb2,
-  0xc9, 0x46, 0xa2, 0x7f, 0xee, 0x0f, 0xfd, 0x39, 0x0a, 0xcb, 0x03, 0x04,
-  0x14, 0x3c, 0x53, 0xda, 0x12, 0x34, 0x0d, 0x4a, 0xa1, 0x4e, 0x5b, 0x85,
-  0x07, 0x46, 0xb6, 0x8c, 0x9c, 0x72, 0x6c, 0xe5, 0xd0, 0x28, 0xec, 0x0e,
-  0x93, 0x8d, 0xc4, 0xc1, 0x13, 0xed, 0xc0, 0x13, 0xee, 0x99, 0x57, 0x89,
-  0x8d, 0x7b, 0x8a, 0xbf, 0x0f, 0xdb, 0xff, 0xf2, 0x03, 0x9a, 0xae, 0x81,
-  0x5f, 0xb7, 0xca, 0x4f, 0x7e, 0xef, 0x55, 0x7e, 0xf2, 0xc0, 0x2a, 0x3f,
-  0x79, 0xec, 0x2a, 0x7f, 0xf6, 0xec, 0xf9, 0xe7, 0xbf, 0x6e, 0x95, 0xbd,
-  0x49, 0xfe, 0x3f, 0xb3, 0xca, 0xde, 0x36, 0xfb, 0x75, 0xab, 0x2c, 0xc0,
-  0x90, 0x40, 0x10, 0x4b, 0xd1, 0x0a, 0xa0, 0xf8, 0x28, 0xed, 0x9c, 0x61,
-  0x97, 0xfc, 0xb0, 0x25, 0x72, 0x6d, 0x71, 0xfb, 0xda, 0x8a, 0x55, 0x46,
-  0x11, 0x8b, 0x98, 0xd9, 0x2e, 0x07, 0x1e, 0x1a, 0xee, 0x62, 0x46, 0x85,
-  0x8f, 0x36, 0x07, 0x9b, 0xea, 0x22, 0xd1, 0x1c, 0x23, 0xa5, 0x90, 0xe1,
-  0xaf, 0x99, 0xc5, 0xfe, 0x27, 0x52, 0x10, 0x85, 0xb8, 0x19, 0x0f, 0xf9,
-  0xd4, 0x9a, 0xb4, 0x15, 0x75, 0x30, 0x62, 0xd8, 0xac, 0xa0, 0xf2, 0x8a,
-  0xed, 0x31, 0x13, 0xf5, 0xd8, 0x22, 0x1d, 0x16, 0x9c, 0x6c, 0x0b, 0x92,
-  0x04, 0x49, 0x6c, 0x48, 0xc3, 0x13, 0xec, 0x93, 0xba, 0xae, 0xbc, 0xd7,
-  0x05, 0x6b, 0xd7, 0x29, 0x68, 0xbe, 0x0a, 0x31, 0x4f, 0x98, 0xd3, 0xc6,
-  0xab, 0xf4, 0x26, 0x66, 0xd1, 0x6b, 0xea, 0xee, 0x74, 0x39, 0x5f, 0x28,
-  0x9d, 0x16, 0x25, 0x37, 0xe4, 0x40, 0x38, 0x69, 0x36, 0x2d, 0xc3, 0x2e,
-  0x23, 0xfe, 0x25, 0x9b, 0xeb, 0x90, 0x30, 0x62, 0xc9, 0x2b, 0x55, 0xa4,
-  0x85, 0x44, 0x34, 0x1f, 0x94, 0x47, 0x01, 0x5c, 0x17, 0x33, 0xf9, 0x74,
-  0x6f, 0x5b, 0x36, 0x9d, 0x4c, 0xc7, 0xa7, 0xd9, 0x78, 0x79, 0xad, 0x39,
-  0xa9, 0xb6, 0x66, 0x53, 0x7b, 0xb1, 0x90, 0x80, 0x41, 0x2c, 0x15, 0x59,
-  0x9f, 0x81, 0xb0, 0xf7, 0x61, 0x7a, 0x7e, 0x43, 0xd5, 0xca, 0x26, 0xeb,
-  0x70, 0x53, 0xc1, 0xd0, 0xb1, 0x07, 0xf2, 0xbe, 0x37, 0x74, 0xfc, 0xa4,
-  0xb5, 0xa2, 0x91, 0xe2, 0x32, 0xfe, 0x56, 0x69, 0x26, 0x8b, 0xc1, 0x55,
-  0x4a, 0x04, 0x77, 0x41, 0x52, 0xa2, 0x60, 0x25, 0xc5, 0x85, 0x77, 0x79,
-  0x74, 0x9e, 0xbc, 0x49, 0xa5, 0xb4, 0x45, 0xb2, 0x65, 0x04, 0xd3, 0x67,
-  0x4f, 0xf7, 0x9e, 0x6c, 0xaf, 0x55, 0x50, 0xdb, 0x84, 0x2d, 0xf8, 0x56,
-  0x51, 0xc6, 0x30, 0xab, 0x97, 0x4b, 0x63, 0x4d, 0x0a, 0x11, 0x84, 0xf9,
-  0xd0, 0x87, 0x77, 0x67, 0xaf, 0x8f, 0x4f, 0x0f, 0xff, 0x6c, 0x13, 0x8e,
-  0x69, 0x0e, 0x34, 0x81, 0xed, 0x83, 0x31, 0xeb, 0xee, 0x3f, 0x18, 0x3b,
-  0xd9, 0xfc, 0x72, 0xeb, 0xc9, 0x36, 0x12, 0x77, 0x82, 0x3a, 0x67, 0xd7,
-  0x59, 0x2b, 0x5b, 0x5b, 0x00, 0xc4, 0x6b, 0x28, 0x47, 0x46, 0xb6, 0x4c,
-  0xde, 0xee, 0xd0, 0x48, 0x2d, 0x41, 0x24, 0x32, 0x01, 0xb7, 0xdb, 0xa4,
-  0x1e, 0x95, 0x7e, 0x2a, 0xac, 0x44, 0x92, 0x76, 0x1b, 0xd0, 0x67, 0x2d,
-  0x66, 0xf9, 0x24, 0x27, 0x35, 0xbe, 0x36, 0xfb, 0x96, 0x10, 0xd7, 0x14,
-  0xa0, 0xbe, 0x6a, 0x53, 0x9b, 0x21, 0x01, 0x0c, 0x88, 0xe5, 0xb5, 0x5e,
-  0xa6, 0xb6, 0x48, 0x6c, 0x20, 0x43, 0xb3, 0x59, 0x91, 0x35, 0x03, 0xe9,
-  0xd6, 0x4b, 0xf3, 0xe7, 0xab, 0xdb, 0x74, 0x16, 0xe4, 0x16, 0x52, 0x99,
-  0x30, 0xdd, 0x99, 0x16, 0x57, 0x48, 0x6f, 0x7a, 0xd4, 0xfd, 0x23, 0xcb,
-  0x60, 0xaf, 0x4f, 0x9a, 0xa3, 0x12, 0x30, 0xd5, 0x5f, 0x5e, 0xfe, 0xf9,
-  0xfc, 0xf8, 0xd5, 0x4b, 0x42, 0x25, 0x7e, 0x49, 0xb8, 0xf3, 0xba, 0x05,
-  0x52, 0x4c, 0xa8, 0x8a, 0x6d, 0x30, 0x86, 0x1f, 0x5f, 0x9f, 0x8c, 0xce,
-  0x4f, 0xcf, 0x8e, 0x5e, 0xbd, 0xfc, 0x91, 0x8c, 0x2d, 0x23, 0x53, 0xef,
-  0xbd, 0x77, 0xed, 0xcf, 0x2c, 0x19, 0x77, 0x98, 0x90, 0x7e, 0xfc, 0xc3,
-  0x87, 0xe3, 0x77, 0xdf, 0xbf, 0x7a, 0x79, 0x9b, 0x56, 0x7d, 0x1a, 0x1f,
-  0xbf, 0xbd, 0xa2, 0x0a, 0x5f, 0x6b, 0xab, 0x91, 0xd6, 0x3a, 0x9e, 0x7d,
-  0xac, 0xf3, 0xbf, 0x67, 0x89, 0x79, 0x7d, 0xb6, 0x0c, 0xc9, 0x70, 0x2f,
-  0x39, 0x87, 0xd7, 0x4c, 0x06, 0xfd, 0x2d, 0xf9, 0xfa, 0xf4, 0x3b, 0x22,
-  0x5c, 0xb4, 0x1e, 0xc4, 0x39, 0xd7, 0xf8, 0x48, 0xbe, 0x7c, 0xb6, 0xb7,
-  0xbf, 0xed, 0x0a, 0xd8, 0x81, 0xb0, 0xd5, 0xf4, 0xf8, 0x63, 0x90, 0x33,
-  0xf1, 0x77, 0x25, 0x9d, 0xb2, 0x45, 0x16, 0x9a, 0xea, 0xbe, 0x45, 0x8f,
-  0xa0, 0xee, 0x18, 0xe4, 0x5a, 0x33, 0x09, 0x44, 0x49, 0xf2, 0x80, 0x78,
-  0x6b, 0x02, 0x57, 0xd4, 0xe5, 0x1b, 0x8f, 0x24, 0xe1, 0x6b, 0xb7, 0xf1,
-  0x4c, 0x77, 0xc4, 0x9d, 0xb5, 0xf6, 0xda, 0xf8, 0x1d, 0x83, 0x1c, 0x5d,
-  0x5b, 0x0b, 0x93, 0x6d, 0x4c, 0x71, 0xd9, 0x3f, 0xf1, 0x79, 0xf6, 0x82,
-  0xc1, 0xc8, 0xfe, 0x28, 0x99, 0xd8, 0x0b, 0xa3, 0xd4, 0x8d, 0xa7, 0xa9,
-  0xa9, 0x6b, 0x2d, 0xc5, 0x7c, 0x4e, 0x19, 0x83, 0x84, 0xd4, 0x67, 0xaf,
-  0x87, 0xe7, 0xd3, 0x98, 0x65, 0xd7, 0xe9, 0xe4, 0x3e, 0xb1, 0x34, 0xa5,
-  0xc2, 0x69, 0x32, 0x2d, 0x23, 0xb9, 0xf3, 0x49, 0x3a, 0x21, 0x23, 0x67,
-  0x96, 0x4d, 0xaf, 0xa5, 0x8e, 0x2d, 0xe7, 0xe1, 0x53, 0x9a, 0x96, 0x3a,
-  0x44, 0x5a, 0xbd, 0x93, 0x22, 0x1f, 0xab, 0xf3, 0x5b, 0x6c, 0x41, 0xb2,
-  0xf6, 0xee, 0xa3, 0x6d, 0x83, 0xf2, 0x9a, 0x6b, 0xe7, 0xf4, 0x69, 0xdb,
-  0x95, 0xfc, 0x77, 0x1c, 0x72, 0xe2, 0x71, 0x81, 0xb7, 0xf2, 0x25, 0xfd,
-  0x75, 0x25, 0x9b, 0x33, 0x9b, 0xf3, 0x5c, 0x40, 0xd5, 0x71, 0x9f, 0x59,
-  0x02, 0x2e, 0x29, 0x90, 0x40, 0x9c, 0xc0, 0x8d, 0xfa, 0x46, 0x57, 0xb2,
-  0x24, 0x71, 0xa8, 0x01, 0xd2, 0xcd, 0x6c, 0x50, 0xbe, 0xae, 0x68, 0x6f,
-  0xac, 0x68, 0xd2, 0xa6, 0x65, 0x85, 0xb1, 0x0b, 0x24, 0x05, 0x51, 0x8c,
-  0xfe, 0x25, 0x35, 0x44, 0x12, 0x91, 0x54, 0x12, 0x33, 0x51, 0x5f, 0x6a,
-  0x34, 0x24, 0xf5, 0x69, 0x24, 0xf0, 0x10, 0xd3, 0x10, 0x90, 0x6e, 0x59,
-  0x45, 0x81, 0xdf, 0x6a, 0x50, 0x33, 0x72, 0x81, 0x22, 0x4d, 0x96, 0x9c,
-  0xd4, 0x74, 0xb2, 0x56, 0x65, 0x8d, 0x32, 0xa0, 0x60, 0xbd, 0x3a, 0xea,
-  0xc2, 0x58, 0xe5, 0x41, 0xcd, 0xd6, 0xb9, 0xce, 0x94, 0x27, 0x8b, 0xc7,
-  0xa5, 0x20, 0x29, 0x74, 0xc9, 0x08, 0x02, 0x1a, 0x8a, 0xe5, 0xb9, 0x8e,
-  0xd2, 0x8a, 0x5b, 0xdd, 0x92, 0xd5, 0x72, 0x7b, 0x55, 0x99, 0x96, 0xa9,
-  0x11, 0xba, 0xa6, 0xcc, 0x2d, 0x85, 0x7b, 0x89, 0xd3, 0x7b, 0x3b, 0x53,
-  0x12, 0x64, 0x84, 0x34, 0x8c, 0x70, 0xef, 0x5e, 0x52, 0x44, 0x4e, 0xab,
-  0xa8, 0x72, 0xff, 0x7d, 0xe5, 0x4a, 0x46, 0xdd, 0xa3, 0xad, 0xc1, 0xb6,
-  0xcd, 0xc9, 0xcd, 0x1b, 0xab, 0xb6, 0x45, 0x08, 0x1b, 0x12, 0xcb, 0xa0,
-  0x6b, 0xcb, 0x59, 0xb1, 0x5b, 0x50, 0x42, 0x11, 0x99, 0x6c, 0x0a, 0xfa,
-  0xda, 0x0e, 0xe7, 0x7e, 0xa9, 0x14, 0xca, 0xc3, 0xd4, 0xd3, 0xa0, 0xad,
-  0x22, 0xbb, 0xf3, 0xdb, 0x72, 0xfa, 0xb8, 0x6d, 0xef, 0xf7, 0x74, 0x04,
-  0x1b, 0x63, 0x82, 0x92, 0x56, 0x92, 0x97, 0xdf, 0x1f, 0x5f, 0x8c, 0x4e,
-  0xce, 0xde, 0x7d, 0x19, 0xb5, 0x13, 0xe5, 0x97, 0xb6, 0xaa, 0x90, 0x66,
-  0xba, 0xb9, 0xba, 0x2e, 0xe4, 0x1e, 0x52, 0x27, 0x04, 0x68, 0x0a, 0xcd,
-  0x8d, 0x47, 0x8f, 0x74, 0xb7, 0x40, 0x2d, 0x6d, 0xc0, 0xfd, 0x99, 0x56,
-  0xd7, 0x98, 0x0b, 0xb3, 0xbf, 0x60, 0xd3, 0xa0, 0x6a, 0xa7, 0x1a, 0x3b,
-  0xf6, 0xaf, 0xfb, 0xc1, 0xf8, 0xe3, 0x50, 0x15, 0x2f, 0x52, 0xbc, 0x5c,
-  0x70, 0x1e, 0x14, 0x65, 0xbc, 0x33, 0x2d, 0x86, 0xdf, 0xbf, 0x80, 0xde,
-  0x9b, 0x8a, 0x54, 0xfa, 0x2f, 0x9a, 0x87, 0x6f, 0xf7, 0xbc, 0xec, 0x0d,
-  0xfb, 0xdc, 0x5e, 0xec, 0xb9, 0xbd, 0xf0, 0xb9, 0xfd, 0xd8, 0x73, 0xfb,
-  0xe1, 0x73, 0x4f, 0x62, 0xcf, 0x79, 0x09, 0x3a, 0x9e, 0xcb, 0x4b, 0x67,
-  0x68, 0x9d, 0x45, 0xe8, 0xad, 0x67, 0xcb, 0x92, 0xdd, 0xf0, 0x4c, 0xb8,
-  0x5f, 0x64, 0xc2, 0xfa, 0x10, 0x9b, 0x8e, 0x1f, 0xd5, 0x7c, 0x88, 0x10,
-  0x3b, 0xa4, 0xd2, 0x18, 0xc1, 0x6b, 0xfe, 0xfb, 0x65, 0x98, 0x76, 0x87,
-  0x59, 0x0f, 0x6b, 0x9e, 0x93, 0x16, 0x84, 0xb4, 0x10, 0xae, 0xb3, 0xab,
-  0xc1, 0x9f, 0x16, 0xe3, 0x74, 0xc8, 0x62, 0xe0, 0x25, 0x63, 0xf7, 0x46,
-  0x17, 0xe7, 0xbd, 0xbe, 0xb8, 0x23, 0xcd, 0x37, 0x06, 0xe6, 0xdf, 0x09,
-  0xb4, 0x6d, 0x22, 0xab, 0x7f, 0xf6, 0x74, 0x9b, 0x03, 0x09, 0xe8, 0xe4,
-  0x52, 0x2a, 0xd8, 0x06, 0x61, 0x22, 0xf3, 0x3b, 0x87, 0x3d, 0xaa, 0x5a,
-  0x45, 0x25, 0x8c, 0x16, 0xdc, 0x1e, 0x20, 0x43, 0x02, 0xfa, 0x52, 0xae,
-  0x7d, 0xf5, 0xe5, 0xe6, 0x71, 0x27, 0x71, 0x27, 0x1f, 0xc8, 0x81, 0x7f,
-  0xda, 0x99, 0x51, 0xed, 0x50, 0x64, 0x2a, 0x5d, 0x05, 0x5e, 0x0c, 0x1b,
-  0xda, 0x92, 0x32, 0x45, 0xa1, 0x50, 0x76, 0x7b, 0x96, 0x95, 0xb1, 0x66,
-  0x55, 0x0a, 0x87, 0xe6, 0xac, 0x7b, 0xa3, 0x1c, 0xaa, 0xbf, 0x5b, 0xdc,
-  0x1f, 0xde, 0xf4, 0x39, 0xb6, 0xe6, 0x87, 0x07, 0xe4, 0x8f, 0x07, 0x6f,
-  0x47, 0x31, 0x8e, 0x34, 0x24, 0xc5, 0x80, 0x3d, 0x6a, 0x40, 0x3a, 0xa2,
-  0x35, 0x43, 0x92, 0x44, 0xf6, 0xce, 0xa0, 0xdc, 0xa8, 0xbc, 0x61, 0xb9,
-  0x95, 0xa7, 0xa1, 0x05, 0xcb, 0xf9, 0xa8, 0x81, 0xb6, 0x46, 0x4a, 0x67,
-  0x33, 0x50, 0xe9, 0x4e, 0x47, 0xdb, 0xea, 0x61, 0xf3, 0x1d, 0x6c, 0x9e,
-  0x2c, 0x82, 0xec, 0x79, 0x1c, 0xb0, 0x4f, 0x5c, 0x6c, 0xf4, 0xb2, 0x92,
-  0x6b, 0xaf, 0xc9, 0xbb, 0x0b, 0x4f, 0x2b, 0xc9, 0x8b, 0x68, 0x0f, 0xdb,
-  0x4e, 0xc0, 0x78, 0x27, 0xf7, 0x5a, 0x28, 0x6b, 0x45, 0x55, 0xff, 0xf6,
-  0x3d, 0xdc, 0xff, 0x75, 0x73, 0xb8, 0xff, 0xcf, 0x9b, 0xc3, 0x27, 0xbf,
-  0x7a, 0x0e, 0x9f, 0xfc, 0x36, 0x73, 0xe8, 0xaa, 0x7b, 0xd2, 0x43, 0xd4,
-  0xac, 0x57, 0x0c, 0x51, 0x6e, 0x63, 0xba, 0x5b, 0xcd, 0x3f, 0xc7, 0x14,
-  0x27, 0x27, 0xaf, 0x84, 0x79, 0x90, 0xd2, 0x59, 0x33, 0xd4, 0x39, 0xec,
-  0x0c, 0xd8, 0xb1, 0x21, 0x5a, 0x5a, 0x62, 0x72, 0xdf, 0x21, 0x59, 0x1e,
-  0xec, 0x90, 0x24, 0x1c, 0xbf, 0x2e, 0x49, 0xe5, 0x34, 0xba, 0x40, 0x3f,
-  0x79, 0x37, 0x1a, 0x71, 0xfc, 0x72, 0x04, 0x0f, 0x6c, 0xd7, 0x06, 0x21,
-  0xe3, 0x0d, 0x17, 0xc8, 0x16, 0x69, 0x26, 0x67, 0xa6, 0x87, 0xb8, 0xca,
-  0xa1, 0x55, 0xf3, 0x7b, 0xf3, 0x74, 0x42, 0x3f, 0xde, 0x1d, 0xee, 0x3d,
-  0xb1, 0xbf, 0xd9, 0xfe, 0x05, 0xb4, 0x19, 0xce, 0x3d, 0x1a, 0xd5, 0x55,
-  0x42, 0x3c, 0x6d, 0x7b, 0x19, 0x3e, 0xad, 0x70, 0x69, 0x3f, 0x62, 0x29,
-  0x38, 0x78, 0xc3, 0x69, 0xde, 0x9d, 0x43, 0xdc, 0x4f, 0x44, 0x67, 0x89,
-  0xe9, 0x2b, 0x8f, 0xf1, 0x42, 0x7b, 0x4e, 0xdf, 0xff, 0x33, 0x5e, 0xe8,
-  0xb8, 0x4e, 0xd1, 0xfa, 0x57, 0x2b, 0x75, 0xb8, 0xa9, 0x06, 0x5a, 0xb2,
-  0x20, 0x4e, 0x8a, 0xe8, 0xcc, 0x2d, 0x02, 0x0e, 0x93, 0x0e, 0x4e, 0x7a,
-  0x98, 0x18, 0xf7, 0x83, 0x63, 0x79, 0xd7, 0x79, 0x3c, 0x39, 0xda, 0xbb,
-  0xb2, 0x36, 0xa5, 0x4d, 0xc3, 0xd6, 0x44, 0x58, 0x1e, 0x65, 0xcd, 0x9b,
-  0x6a, 0x59, 0xe8, 0x47, 0x04, 0x49, 0x42, 0x7e, 0x03, 0xe6, 0x83, 0x08,
-  0x96, 0x75, 0x92, 0x31, 0x57, 0x40, 0xfe, 0x90, 0x90, 0x7f, 0xde, 0x1e,
-  0x6f, 0x3a, 0xc9, 0x06, 0x69, 0x3d, 0xc9, 0xf3, 0xb8, 0x79, 0xc3, 0x9e,
-  0x40, 0x90, 0x7e, 0x25, 0x57, 0x4b, 0x8a, 0xde, 0xe1, 0x15, 0xd3, 0x97,
-  0x25, 0x93, 0x8a, 0x72, 0x99, 0x08, 0xc9, 0xa4, 0xa7, 0x4e, 0x97, 0xcb,
-  0xe6, 0xba, 0x54, 0x2f, 0x47, 0x3f, 0xb0, 0x96, 0xb4, 0x5c, 0xbc, 0x59,
-  0x9e, 0x49, 0x95, 0x2f, 0x40, 0xf2, 0xe4, 0xd5, 0x5b, 0xe8, 0xdb, 0x82,
-  0x84, 0x30, 0x3f, 0xc4, 0xa3, 0xcc, 0x15, 0xfa, 0xde, 0x07, 0xb9, 0xcb,
-  0xbd, 0x41, 0x8f, 0x6c, 0x3d, 0x4b, 0x52, 0x6f, 0xde, 0x25, 0x42, 0x3e,
-  0xcf, 0x8d, 0xcb, 0x05, 0x5f, 0x57, 0xbb, 0xec, 0xd5, 0xb7, 0x63, 0xb6,
-  0xd0, 0xbd, 0x52, 0xbe, 0x81, 0x87, 0x57, 0x7d, 0xb6, 0x63, 0x66, 0xf6,
-  0x24, 0xaf, 0x83, 0x92, 0xac, 0xde, 0x64, 0x9f, 0x38, 0xed, 0x24, 0xd4,
-  0xc0, 0x58, 0x64, 0xdd, 0x68, 0x4a, 0xc6, 0xe1, 0xe8, 0xe8, 0xe4, 0xa4,
-  0x95, 0xa2, 0x42, 0xd3, 0x06, 0xd7, 0x32, 0x67, 0x3f, 0x27, 0x35, 0xf1,
-  0x67, 0x21, 0xfd, 0x18, 0xdd, 0x8d, 0x51, 0xf0, 0xce, 0xf3, 0xeb, 0x1b,
-  0xb8, 0xa3, 0xb2, 0xb4, 0xce, 0xb5, 0x4a, 0x4e, 0xca, 0x01, 0xe1, 0x65,
-  0x61, 0xba, 0x09, 0xcb, 0xe3, 0x66, 0x69, 0xcc, 0xcc, 0xdf, 0x3f, 0xed,
-  0xde, 0x77, 0xc7, 0x38, 0xe0, 0xa7, 0xcc, 0x16, 0x9f, 0x2b, 0xdf, 0xfd,
-  0x1d, 0xee, 0xb5, 0x08, 0xdf, 0xed, 0x79, 0x25, 0x15, 0x51, 0xc0, 0xb7,
-  0x01, 0x27, 0x04, 0x73, 0xd6, 0x52, 0xdd, 0x4e, 0xa2, 0xfe, 0xe1, 0xc6,
-  0xcd, 0x70, 0xd5, 0xa9, 0x0e, 0x2e, 0x48, 0xeb, 0x71, 0xeb, 0x1a, 0x52,
-  0xec, 0x5b, 0x5c, 0x8b, 0xad, 0xdf, 0xeb, 0x5e, 0x83, 0xf8, 0xc2, 0xda,
-  0x13, 0x90, 0xf2, 0xfe, 0xe7, 0x27, 0xfd, 0xdd, 0xef, 0xb6, 0x3f, 0xf3,
-  0xb5, 0xd8, 0x03, 0xf0, 0xdf, 0xf3, 0x04, 0x08, 0xec, 0xb8, 0xf7, 0xc7,
-  0x5e, 0x12, 0x67, 0x44, 0x7e, 0x44, 0x3b, 0xad, 0x84, 0xed, 0x7f, 0xee,
-  0x4e, 0x8b, 0x64, 0x90, 0x7b, 0x42, 0xcc, 0x5f, 0xd3, 0x65, 0x91, 0x7f,
-  0x02, 0xfe, 0xd3, 0xe8, 0x0b, 0x2f, 0x89, 0x0e, 0x78, 0x05, 0xcf, 0xed,
-  0x11, 0xeb, 0x2e, 0xae, 0x82, 0x3d, 0x7d, 0xf8, 0xbd, 0x79, 0x39, 0x99,
-  0x96, 0x73, 0x8a, 0x05, 0x72, 0x1b, 0x7d, 0x9f, 0x6c, 0x10, 0x62, 0x3d,
-  0x12, 0x4b, 0x2c, 0xb2, 0x86, 0xd0, 0x5a, 0x6b, 0xdd, 0x7d, 0x6d, 0x17,
-  0xea, 0x25, 0x8a, 0x8b, 0x2c, 0x08, 0x62, 0xb8, 0xa6, 0x78, 0x1d, 0x26,
-  0xc3, 0x41, 0xfa, 0xda, 0x3e, 0x15, 0x8f, 0x91, 0x59, 0xb6, 0x8e, 0x65,
-  0x50, 0x67, 0xb2, 0xe3, 0x58, 0xd8, 0xd3, 0xd2, 0x72, 0x3b, 0x4e, 0xfb,
-  0xbc, 0xeb, 0xac, 0x01, 0x6f, 0xba, 0xf3, 0x69, 0x4b, 0xd9, 0x99, 0xb5,
-  0x94, 0xd0, 0x4c, 0xe3, 0xed, 0xaa, 0x7d, 0xb5, 0xc8, 0xff, 0xc1, 0xde,
-  0x92, 0xcf, 0x68, 0xf3, 0xef, 0x68, 0xcc, 0x67, 0x16, 0x22, 0xf5, 0xbc,
-  0x02, 0x98, 0x2c, 0xeb, 0x08, 0x17, 0x0e, 0xcf, 0x2f, 0xfd, 0x1b, 0xcc,
-  0x0b, 0xaa, 0x44, 0xb4, 0x47, 0xc1, 0x25, 0x22, 0xa2, 0x95, 0xbd, 0xd9,
-  0x29, 0x7f, 0x43, 0x85, 0x06, 0xb5, 0x5f, 0x15, 0x6f, 0xc4, 0x76, 0x29,
-  0x49, 0xf5, 0xf3, 0x7b, 0x3c, 0xd9, 0x91, 0x62, 0xc3, 0xa2, 0x84, 0x89,
-  0xee, 0xc4, 0x64, 0x5c, 0x04, 0xca, 0x27, 0x56, 0x5e, 0x8a, 0xe9, 0xdb,
-  0xc2, 0x66, 0xbc, 0xb0, 0x5e, 0x7d, 0xec, 0x20, 0x5c, 0x44, 0x84, 0x16,
-  0x43, 0x1f, 0x63, 0xb9, 0xe4, 0x6a, 0x48, 0x0a, 0xed, 0xde, 0x32, 0x8a,
-  0xb8, 0x16, 0x8f, 0xa6, 0x16, 0x89, 0x51, 0xd7, 0x55, 0x8e, 0x0e, 0xb8,
-  0x61, 0x57, 0x9d, 0x26, 0x9b, 0x6a, 0xe0, 0x26, 0x8a, 0x44, 0xc7, 0x56,
-  0xaa, 0x8c, 0x4f, 0xe4, 0x3f, 0xdc, 0x56, 0xe5, 0xd2, 0x1c, 0xf1, 0xbc,
-  0xf0, 0xf7, 0x7b, 0x1a, 0xf5, 0x18, 0xb3, 0x50, 0x4a, 0x0e, 0x85, 0xaf,
-  0x31, 0x23, 0xb7, 0x47, 0xe7, 0x1b, 0x43, 0x23, 0x65, 0xb6, 0x52, 0xcb,
-  0x2b, 0x25, 0xd0, 0xda, 0xed, 0x80, 0xe0, 0xf7, 0x9e, 0x61, 0x41, 0x5e,
-  0x1e, 0x84, 0xcf, 0xf0, 0x4c, 0x5d, 0xed, 0x74, 0x0d, 0x28, 0x2c, 0x44,
-  0x63, 0xc2, 0x93, 0x88, 0x94, 0x46, 0x98, 0x4a, 0xa0, 0xd6, 0xc6, 0x75,
-  0x09, 0x81, 0xac, 0xf5, 0x45, 0x34, 0x50, 0x2d, 0xd4, 0x5a, 0xdc, 0x26,
-  0xbc, 0x30, 0xe3, 0x2c, 0x6c, 0x8e, 0x17, 0x31, 0x32, 0xa9, 0x7f, 0xb6,
-  0x15, 0x99, 0x14, 0xd5, 0x4f, 0x52, 0x2d, 0x3c, 0xd2, 0xb6, 0x0a, 0x07,
-  0xd1, 0x7a, 0xcb, 0xbe, 0x5f, 0x47, 0x73, 0x3c, 0x4c, 0x8e, 0xe9, 0xe9,
-  0xb0, 0xa1, 0x3f, 0xa1, 0x05, 0x22, 0xff, 0xf4, 0x2a, 0xec, 0x70, 0xc1,
-  0xca, 0x70, 0x67, 0xc9, 0xde, 0x4b, 0xb4, 0x08, 0x30, 0xa7, 0x04, 0x0e,
-  0x85, 0x42, 0x9e, 0x14, 0x77, 0xd5, 0x36, 0x93, 0xde, 0xf5, 0xac, 0x1c,
-  0x8f, 0xcd, 0xc8, 0x7b, 0xaa, 0xa7, 0x98, 0x6f, 0x07, 0xce, 0x25, 0xbf,
-  0x27, 0xea, 0xe5, 0xec, 0xc3, 0x72, 0x60, 0x44, 0x23, 0xf5, 0xc2, 0x15,
-  0xa9, 0xd2, 0xcf, 0x6b, 0xbd, 0xf4, 0xc8, 0x4d, 0x03, 0x9e, 0xc5, 0xc4,
-  0x6e, 0x41, 0x1a, 0x9b, 0x07, 0x90, 0x94, 0x04, 0x08, 0xfa, 0xa9, 0x76,
-  0x2f, 0xe1, 0x7a, 0xde, 0x2b, 0xc0, 0x35, 0x8e, 0xd2, 0x19, 0x82, 0x4b,
-  0x6a, 0x7c, 0xe4, 0x61, 0xed, 0x6d, 0x9e, 0x82, 0xf6, 0x80, 0x7a, 0xff,
-  0x49, 0x7f, 0xec, 0xf5, 0xe9, 0xbf, 0xfb, 0xff, 0xd5, 0x4b, 0xc8, 0x84,
-  0x39, 0xd8, 0xd9, 0xb9, 0xbb, 0xbb, 0x1b, 0x0a, 0x77, 0xf1, 0xd0, 0x2c,
-  0xd9, 0x46, 0x98, 0x29, 0x40, 0xcc, 0x2d, 0x2b, 0x3e, 0x70, 0x99, 0xf4,
-  0xf2, 0xf9, 0xf5, 0x5f, 0xf6, 0x06, 0x7b, 0xbb, 0xbb, 0xbb, 0x3f, 0x0f,
-  0x17, 0x34, 0xbf, 0x57, 0x68, 0xd6, 0xfc, 0xd7, 0x6f, 0x76, 0x87, 0x7b,
-  0xb2, 0x13, 0x25, 0xc3, 0xe2, 0xdf, 0xb9, 0xe2, 0xf2, 0xe0, 0xc1, 0xe5,
-  0x9d, 0x7c, 0xe0, 0x09, 0x19, 0x76, 0xae, 0xa7, 0xeb, 0xf2, 0xee, 0x18,
-  0x51, 0x41, 0x1e, 0xc5, 0x67, 0x4f, 0xf6, 0xf7, 0x13, 0x56, 0x39, 0x18,
-  0xce, 0xce, 0x11, 0x1e, 0xca, 0x64, 0x94, 0xf2, 0x7d, 0x7c, 0x9b, 0x4d,
-  0x88, 0xd2, 0xa5, 0xe2, 0xca, 0x60, 0x41, 0xa1, 0x28, 0x05, 0x4e, 0xb0,
-  0xfd, 0x9b, 0x9b, 0xab, 0xbc, 0x9c, 0xde, 0xbb, 0x56, 0xcd, 0x16, 0xaf,
-  0x48, 0xb4, 0x52, 0xf5, 0x1d, 0xc6, 0x88, 0x73, 0x7d, 0x68, 0x94, 0x4e,
-  0x8d, 0xe8, 0x6d, 0xb6, 0xa6, 0x04, 0xee, 0x39, 0x30, 0x87, 0x15, 0x34,
-  0xbf, 0xa8, 0xf3, 0x00, 0xee, 0x9f, 0x65, 0x25, 0xe4, 0xe1, 0x88, 0xff,
-  0xdc, 0xa5, 0xf7, 0xad, 0xeb, 0xde, 0xcc, 0xf8, 0x4b, 0xf3, 0x9f, 0x55,
-  0x75, 0x5f, 0x49, 0xb9, 0xb4, 0x15, 0xd0, 0xae, 0xb2, 0x66, 0x72, 0xd3,
-  0x45, 0xa1, 0x40, 0x86, 0x9b, 0xde, 0xde, 0x98, 0x01, 0xdd, 0xdb, 0x6a,
-  0x85, 0xb1, 0xd2, 0x2a, 0x5e, 0x1e, 0x8f, 0x69, 0x92, 0xe8, 0x74, 0x51,
-  0xa9, 0x94, 0xab, 0x2d, 0xb2, 0x58, 0x8c, 0xaa, 0x47, 0x99, 0x2b, 0x48,
-  0x82, 0xef, 0xe5, 0xb5, 0xa6, 0x19, 0x4d, 0x6e, 0xb2, 0xb9, 0xc8, 0xcc,
-  0x2d, 0x05, 0x92, 0xf4, 0x64, 0x0f, 0xf6, 0x22, 0x41, 0xb1, 0xde, 0x95,
-  0xfe, 0xca, 0x8c, 0x64, 0x5b, 0x12, 0x75, 0xec, 0x45, 0x27, 0xf4, 0xe2,
-  0xd7, 0x4b, 0x32, 0x1d, 0xc7, 0xa9, 0xdc, 0x28, 0x9a, 0x3b, 0xb6, 0x02,
-  0x07, 0x65, 0x84, 0x62, 0x56, 0xe1, 0x1a, 0xab, 0x97, 0xe3, 0x81, 0xe8,
-  0x3e, 0xe8, 0x11, 0x62, 0x6e, 0x74, 0x5a, 0x5f, 0x9f, 0x1c, 0x5d, 0x72,
-  0xca, 0x8c, 0xf9, 0x2f, 0xa1, 0x6b, 0xcd, 0x1f, 0x94, 0x29, 0x13, 0xf2,
-  0xbf, 0x9f, 0x3f, 0x91, 0x22, 0xb0, 0xb4, 0x59, 0xad, 0x8b, 0x39, 0x75,
-  0xe8, 0x83, 0x96, 0xf2, 0xd7, 0xf7, 0x38, 0x85, 0x23, 0x74, 0xec, 0x2d,
-  0x3d, 0xd1, 0x66, 0x5a, 0x3d, 0x7d, 0x36, 0xdc, 0xe5, 0x21, 0xd2, 0x1c,
-  0x4a, 0x60, 0x51, 0x90, 0xdd, 0xf0, 0x16, 0xd5, 0xc2, 0x91, 0x97, 0xae,
-  0xe0, 0xf7, 0xd4, 0xae, 0xf4, 0x13, 0xa6, 0x84, 0xe4, 0xd4, 0x4b, 0xfd,
-  0xad, 0x07, 0x22, 0x79, 0x00, 0x3e, 0xab, 0xb7, 0x97, 0x40, 0xa7, 0xee,
-  0xbb, 0x74, 0x7e, 0xa0, 0x5b, 0x54, 0x54, 0x2f, 0x84, 0x70, 0x0c, 0x5e,
-  0x2f, 0x7b, 0x42, 0x50, 0x66, 0x7d, 0x47, 0xe6, 0x5e, 0xd2, 0x2d, 0x20,
-  0x37, 0x96, 0x60, 0xb5, 0x51, 0x02, 0xc9, 0xd5, 0x10, 0x89, 0x69, 0x28,
-  0x01, 0x53, 0xfe, 0xe0, 0x6b, 0x29, 0x63, 0xc7, 0x9a, 0x72, 0x0c, 0x2a,
-  0x8e, 0xb5, 0xdc, 0xb6, 0xf0, 0x1f, 0x31, 0x5f, 0xad, 0xde, 0x39, 0x84,
-  0x47, 0x90, 0x57, 0xbf, 0xe9, 0x14, 0x3d, 0x0c, 0x10, 0xc9, 0xc8, 0x88,
-  0xf6, 0xf2, 0x01, 0x52, 0x0c, 0x10, 0x5b, 0x00, 0xb6, 0x1e, 0xbb, 0xa7,
-  0x7a, 0x5f, 0x90, 0x3f, 0xfb, 0xd5, 0x61, 0x6f, 0xd8, 0x9e, 0xd4, 0x18,
-  0x21, 0x7c, 0xcd, 0xf2, 0xad, 0x6d, 0xce, 0x88, 0x4c, 0x23, 0xb9, 0x9f,
-  0x7d, 0x62, 0x96, 0x2f, 0xac, 0xdc, 0x5d, 0x5e, 0x3c, 0xd9, 0x4f, 0xea,
-  0x7b, 0xa3, 0x43, 0xcc, 0xfd, 0x49, 0xe8, 0xd6, 0xf2, 0x8b, 0xfa, 0xf1,
-  0x5b, 0x05, 0x30, 0x58, 0x74, 0xbd, 0xa7, 0x57, 0x0e, 0xf1, 0x8a, 0x10,
-  0xe6, 0x2b, 0x8c, 0xe1, 0x11, 0x05, 0x22, 0x4b, 0x15, 0x62, 0xe3, 0x59,
-  0x5a, 0x7c, 0xb4, 0x05, 0xed, 0xb8, 0xa1, 0x3e, 0x55, 0x5d, 0xe2, 0xc4,
-  0x13, 0xf7, 0x43, 0x99, 0x1e, 0xbe, 0x18, 0x3b, 0xcd, 0xfd, 0x6d, 0x09,
-  0xd5, 0x7e, 0x9e, 0x56, 0xc8, 0x49, 0xf8, 0x05, 0xe5, 0x27, 0xa3, 0x73,
-  0xeb, 0xca, 0x51, 0xfe, 0x7e, 0x11, 0xd9, 0xa5, 0xce, 0xba, 0x91, 0xd0,
-  0xe6, 0xbf, 0x07, 0x1a, 0xa9, 0x58, 0x57, 0xa3, 0x1b, 0x8f, 0xdb, 0xb2,
-  0x81, 0x36, 0xb6, 0xe1, 0xd7, 0x81, 0x62, 0x6d, 0xce, 0xc5, 0x54, 0x62,
-  0xc9, 0x1b, 0xc3, 0xe4, 0xcc, 0x19, 0x8f, 0x45, 0x1f, 0x8c, 0x79, 0x4d,
-  0x35, 0x11, 0xd3, 0x11, 0x7f, 0x1f, 0x68, 0x51, 0xd7, 0x68, 0x5d, 0x43,
-  0x68, 0x34, 0x28, 0x12, 0x7b, 0xef, 0xf4, 0x3c, 0xef, 0x3a, 0xe3, 0x92,
-  0x43, 0x4e, 0xf6, 0x1a, 0x29, 0x42, 0xb5, 0x79, 0x40, 0x6b, 0x11, 0x80,
-  0xd3, 0x78, 0x10, 0x51, 0xca, 0xee, 0xf8, 0x78, 0x6b, 0x09, 0xe3, 0xcd,
-  0xcc, 0xfd, 0xb7, 0x5c, 0x78, 0xbc, 0xe7, 0x9c, 0xc0, 0x49, 0x99, 0xe1,
-  0x65, 0xd1, 0x0f, 0xb8, 0x1f, 0x50, 0x7e, 0x41, 0x5c, 0x4c, 0x04, 0x8c,
-  0x98, 0x4b, 0x21, 0xbc, 0xcc, 0x16, 0xd8, 0xe1, 0x37, 0x75, 0x2b, 0xba,
-  0x8f, 0x3f, 0x50, 0xaf, 0x8b, 0xd9, 0xc5, 0x75, 0x31, 0xcc, 0xb6, 0xeb,
-  0x33, 0xce, 0x3f, 0xce, 0xe3, 0xc9, 0x47, 0xff, 0x3b, 0x63, 0xad, 0x67,
-  0x55, 0x59, 0x27, 0xdf, 0x3f, 0x53, 0xb4, 0x82, 0x14, 0xff, 0x93, 0xbb,
-  0xc9, 0xea, 0xe5, 0x3c, 0xd7, 0x60, 0x56, 0x89, 0xba, 0x4d, 0x34, 0x5d,
-  0x5a, 0x5f, 0xf7, 0x2f, 0xa9, 0xee, 0x48, 0xc8, 0x5e, 0x37, 0xf2, 0x12,
-  0x65, 0x57, 0x83, 0xeb, 0xb3, 0x5d, 0xab, 0xcb, 0x5c, 0xb8, 0xa4, 0xe8,
-  0x90, 0x7f, 0xc7, 0xa8, 0xf0, 0x63, 0x2a, 0x04, 0x0f, 0x75, 0xc1, 0x76,
-  0x3c, 0xb9, 0xcc, 0xc9, 0x05, 0xe0, 0x6a, 0x7e, 0x45, 0xf1, 0xaf, 0x52,
-  0x08, 0xd2, 0x71, 0x4c, 0x76, 0xa2, 0x7d, 0xa4, 0x57, 0xd4, 0x37, 0x74,
-  0x35, 0xd3, 0x8d, 0x01, 0xc3, 0x6f, 0x63, 0x45, 0xe9, 0x27, 0x58, 0x2b,
-  0xef, 0x2e, 0x4f, 0xdf, 0x4a, 0x1c, 0xd9, 0xad, 0x4f, 0x50, 0x23, 0x5d,
-  0xb6, 0x66, 0x1a, 0xa3, 0x75, 0xf5, 0x26, 0x43, 0x01, 0xea, 0x9c, 0xd3,
-  0x48, 0xd3, 0xd6, 0x97, 0x94, 0x95, 0x4a, 0x80, 0xcf, 0x6a, 0xa2, 0xc9,
-  0xa4, 0x46, 0xbc, 0x9b, 0x04, 0xf8, 0xa9, 0xe1, 0x27, 0x80, 0xf9, 0x6c,
-  0x04, 0x8d, 0xd9, 0x92, 0x5e, 0x75, 0x8f, 0x70, 0x5f, 0x97, 0x9d, 0x23,
-  0xe3, 0x2f, 0x18, 0x6d, 0x43, 0xe6, 0x95, 0x4d, 0x5e, 0x97, 0x77, 0xc5,
-  0xe0, 0x94, 0x32, 0x58, 0x92, 0xd3, 0xf2, 0xda, 0x4c, 0xd5, 0xbb, 0xa8,
-  0x25, 0xff, 0xfe, 0xfc, 0x5d, 0xb2, 0x45, 0x92, 0x38, 0x39, 0xb7, 0xac,
-  0x25, 0xf4, 0xe4, 0xb6, 0x28, 0x9d, 0x46, 0x1c, 0xbe, 0x71, 0xbd, 0xe9,
-  0x27, 0xc7, 0x3f, 0x1e, 0xbe, 0x3d, 0x3f, 0x3d, 0xfe, 0x69, 0x45, 0xb8,
-  0x9c, 0x7e, 0xfc, 0x95, 0xa7, 0x85, 0xc3, 0x6b, 0x4f, 0x51, 0x2c, 0xd3,
-  0x8f, 0xfb, 0xd5, 0xb2, 0x80, 0x8f, 0x8f, 0x6e, 0xc1, 0xd1, 0xe8, 0xfc,
-  0x64, 0xa0, 0x8c, 0x23, 0x5c, 0x14, 0x26, 0x2f, 0x48, 0x65, 0xc6, 0x29,
-  0x16, 0x32, 0xe0, 0xef, 0xc2, 0x00, 0x85, 0x9e, 0x88, 0x7e, 0xf2, 0x4e,
-  0x19, 0x3c, 0xfb, 0x58, 0x71, 0xba, 0xe3, 0x5f, 0xe7, 0xd7, 0x08, 0x32,
-  0x74, 0xd8, 0x43, 0xb4, 0x7e, 0x36, 0x6d, 0x82, 0x80, 0xcd, 0x87, 0x3c,
-  0x91, 0x36, 0x50, 0x57, 0x67, 0x33, 0x76, 0x69, 0xad, 0x94, 0xa3, 0x80,
-  0x34, 0x61, 0x19, 0x09, 0x50, 0x19, 0x84, 0x4f, 0x04, 0x60, 0x49, 0x5a,
-  0x14, 0xaf, 0x9f, 0xe8, 0xa9, 0xbc, 0x47, 0x58, 0x76, 0xc8, 0x25, 0x63,
-  0x85, 0xc3, 0x81, 0xb1, 0xd3, 0x97, 0xc9, 0x41, 0xef, 0x77, 0xbc, 0x48,
-  0x7c, 0xef, 0x5f, 0x84, 0x53, 0x5e, 0xa2, 0x28, 0xea, 0x1e, 0xe4, 0x4c,
-  0x5f, 0x56, 0x6e, 0xd5, 0x03, 0xc3, 0xfe, 0x4f, 0x73, 0xd4, 0x05, 0x69,
-  0x01, 0x0c, 0xf7, 0x75, 0x24, 0x21, 0xb8, 0x80, 0x5c, 0xca, 0x70, 0x12,
-  0xc9, 0xc2, 0xde, 0x34, 0x62, 0x40, 0xfc, 0xba, 0x66, 0x0c, 0x3d, 0xc4,
-  0xab, 0x44, 0xa5, 0x2e, 0xa7, 0x46, 0x7f, 0x39, 0x64, 0xaf, 0x34, 0xaa,
-  0x88, 0x87, 0xcd, 0x61, 0xae, 0x36, 0xbf, 0xdc, 0x94, 0x40, 0x5b, 0x4f,
-  0x6e, 0x64, 0xd2, 0x68, 0x7a, 0xac, 0xd2, 0x10, 0xfb, 0x16, 0xf5, 0xde,
-  0x9c, 0xf8, 0xcd, 0x97, 0x9b, 0x52, 0x57, 0x22, 0xd1, 0x27, 0xbb, 0x02,
-  0x07, 0xef, 0x49, 0xd8, 0x47, 0xb9, 0xbb, 0x64, 0xf5, 0x05, 0x82, 0x75,
-  0x93, 0x4f, 0xa7, 0x99, 0x78, 0x4a, 0xa8, 0x4a, 0x07, 0xb3, 0x04, 0x71,
-  0x60, 0xa9, 0x7b, 0x31, 0xb5, 0x7a, 0x2e, 0x7d, 0xfd, 0x37, 0xed, 0xab,
-  0x57, 0xc2, 0x8a, 0xdc, 0xd4, 0xae, 0xb6, 0xc4, 0x98, 0xab, 0x20, 0xc5,
-  0x96, 0x9b, 0x76, 0x29, 0x62, 0x21, 0x30, 0x97, 0xa0, 0x1b, 0xa9, 0xb5,
-  0xd8, 0x42, 0xd9, 0xf7, 0x3b, 0x20, 0x76, 0xc4, 0x3a, 0x42, 0x97, 0x16,
-  0xaf, 0xa0, 0x56, 0xc1, 0xde, 0xac, 0x88, 0xe4, 0x9c, 0xab, 0x4c, 0x52,
-  0x1d, 0x8e, 0x55, 0x27, 0x55, 0xdd, 0x7d, 0x6e, 0xe7, 0x71, 0x4a, 0x9a,
-  0x42, 0x09, 0xc9, 0x16, 0xc3, 0x83, 0x59, 0x01, 0xc7, 0xaf, 0x68, 0xfb,
-  0xfd, 0x30, 0x1f, 0x9a, 0x0b, 0x30, 0x48, 0x61, 0xa6, 0x81, 0x0d, 0x47,
-  0xb4, 0xe3, 0x67, 0x8a, 0x04, 0x8c, 0xb9, 0xde, 0xfc, 0x74, 0x8d, 0x76,
-  0xd5, 0x0c, 0x71, 0x6f, 0x82, 0xa4, 0x76, 0x75, 0x02, 0x40, 0x27, 0xcf,
-  0x61, 0xb8, 0x9a, 0x83, 0xc3, 0xf6, 0x2f, 0x8e, 0x0f, 0x8a, 0xba, 0xca,
-  0xbf, 0x97, 0x53, 0x15, 0xc1, 0x23, 0xbe, 0x96, 0x60, 0x4a, 0xab, 0x26,
-  0x3a, 0x63, 0xea, 0xd9, 0x8f, 0x54, 0x28, 0x93, 0xfd, 0x58, 0x8f, 0x1e,
-  0xa2, 0xc7, 0x39, 0x3c, 0xbe, 0xf5, 0x30, 0xc6, 0xf4, 0x2f, 0xaa, 0x0b,
-  0x36, 0x9d, 0x5e, 0xec, 0xec, 0x75, 0x45, 0x84, 0x45, 0x9b, 0x28, 0xaf,
-  0xe4, 0x3c, 0x68, 0xdb, 0x91, 0x70, 0x1b, 0x6e, 0x8f, 0x27, 0xb6, 0x38,
-  0xaf, 0x79, 0xb2, 0x4a, 0x2b, 0xae, 0x8f, 0x56, 0x7c, 0x54, 0x40, 0x10,
-  0xb5, 0x9c, 0x7d, 0xca, 0x26, 0xcb, 0xa6, 0x8d, 0x15, 0xf7, 0xfa, 0x24,
-  0xd4, 0x00, 0xe8, 0xd2, 0x16, 0x0e, 0x82, 0x58, 0x28, 0xbd, 0x73, 0x4d,
-  0xeb, 0x3e, 0xe8, 0x6d, 0x4b, 0x64, 0x8f, 0xa3, 0x3e, 0x36, 0xdf, 0x3b,
-  0x16, 0xb3, 0xd3, 0x2e, 0x57, 0x19, 0x3b, 0xd8, 0x5c, 0x00, 0x3b, 0xfa,
-  0x79, 0x2e, 0x30, 0x1c, 0xf9, 0xfa, 0x1b, 0xf6, 0xc6, 0x78, 0x1f, 0xb7,
-  0x15, 0x6a, 0xc4, 0x51, 0x53, 0x07, 0x47, 0x39, 0xf8, 0x32, 0xea, 0xc3,
-  0x19, 0x01, 0x65, 0x6b, 0x3b, 0xea, 0xab, 0x3a, 0xf9, 0x81, 0x83, 0xec,
-  0xe4, 0xfc, 0xf6, 0xb9, 0xf8, 0x37, 0x49, 0xdf, 0xa0, 0x1b, 0x0f, 0x3f,
-  0xb2, 0x12, 0x3f, 0x18, 0xc5, 0xc7, 0x6a, 0xfc, 0xd4, 0xfc, 0xf1, 0x1d,
-  0xfd, 0x71, 0xc5, 0x46, 0xa2, 0xd0, 0xb2, 0xb0, 0x67, 0x2e, 0xdc, 0xda,
-  0xa3, 0x53, 0xfd, 0x43, 0x16, 0x1c, 0x58, 0x60, 0x42, 0xf4, 0x13, 0x87,
-  0x8b, 0xcb, 0xa6, 0x87, 0xfe, 0xab, 0xcd, 0xf4, 0x39, 0xcb, 0x26, 0x0c,
-  0x5c, 0xc9, 0xff, 0xc0, 0x39, 0xd2, 0x07, 0xa7, 0x47, 0x1f, 0x5e, 0x88,
-  0x11, 0xd7, 0xf2, 0x2a, 0x63, 0x89, 0x16, 0x66, 0xaa, 0xfe, 0x4e, 0xb1,
-  0x19, 0x2d, 0x08, 0x9d, 0xa0, 0x3c, 0xe9, 0xdc, 0x22, 0x6b, 0x61, 0x19,
-  0xd9, 0x20, 0x3f, 0x3b, 0x2c, 0xe9, 0xa0, 0xb1, 0x3c, 0xcb, 0x57, 0x74,
-  0x61, 0xf5, 0x90, 0x71, 0xbb, 0xcb, 0x1f, 0x21, 0x6b, 0xd9, 0xea, 0xf7,
-  0x5e, 0x23, 0xcd, 0x48, 0x0c, 0x3d, 0x29, 0xf7, 0x41, 0x0a, 0x9b, 0x2e,
-  0x35, 0x63, 0x24, 0xb0, 0x36, 0x78, 0xd4, 0x4a, 0x07, 0x56, 0x4b, 0x56,
-  0xf4, 0x73, 0x8e, 0x0a, 0x03, 0x60, 0x6e, 0x86, 0x58, 0xf8, 0x68, 0x23,
-  0x98, 0xf3, 0x6c, 0x4e, 0xe1, 0x10, 0x7b, 0x33, 0x32, 0x0f, 0x04, 0x69,
-  0x56, 0xf4, 0xb9, 0x41, 0xbc, 0xb9, 0x29, 0x69, 0x6f, 0x74, 0xcb, 0x32,
-  0x6e, 0xe7, 0x5f, 0x82, 0x08, 0x58, 0x7d, 0x5f, 0x4c, 0x6e, 0x5e, 0xbf,
-  0x1b, 0xc5, 0x5f, 0xef, 0x0e, 0x0e, 0x4f, 0x1b, 0x2d, 0x84, 0xf6, 0x02,
-  0x13, 0xdd, 0x09, 0x03, 0x12, 0x0a, 0x86, 0x7b, 0xbf, 0x8d, 0x37, 0xd7,
-  0x7e, 0xc5, 0x3a, 0x87, 0x48, 0xb3, 0x60, 0x29, 0x2e, 0x8a, 0x27, 0x3c,
-  0xf1, 0x83, 0x94, 0xce, 0x42, 0xb4, 0xf2, 0x92, 0x3d, 0xd3, 0x14, 0x42,
-  0x40, 0x89, 0x4a, 0xb4, 0x58, 0x79, 0xc8, 0xa3, 0xee, 0xbe, 0x06, 0x69,
-  0xbb, 0xfe, 0xf1, 0x4b, 0x96, 0xf9, 0x94, 0x6a, 0x9c, 0x46, 0x02, 0x4e,
-  0xc1, 0x0c, 0x59, 0xb7, 0xbd, 0x0b, 0x08, 0x9a, 0xad, 0x3a, 0xa3, 0xd7,
-  0x79, 0x97, 0xf6, 0x65, 0xb3, 0xe2, 0x47, 0xd5, 0xaa, 0x21, 0x99, 0x39,
-  0xd9, 0xff, 0xe6, 0xeb, 0xf0, 0xf6, 0x7c, 0xfd, 0x6e, 0xc5, 0xe7, 0xe8,
-  0x37, 0x03, 0x85, 0xdd, 0x8b, 0x46, 0xe0, 0x29, 0xf4, 0xe1, 0x5c, 0xc4,
-  0x09, 0x42, 0xdb, 0xbf, 0x7c, 0x48, 0x4a, 0x98, 0x27, 0xe4, 0x8f, 0xb5,
-  0x0f, 0x0a, 0x60, 0x36, 0xfe, 0x29, 0x46, 0xd2, 0x32, 0xb4, 0x2b, 0xb9,
-  0xe0, 0xc8, 0xde, 0xb9, 0x28, 0xc2, 0xdb, 0xeb, 0xd6, 0x28, 0xde, 0x1c,
-  0xc9, 0xb7, 0x18, 0xa9, 0x01, 0x89, 0x85, 0x7d, 0xfe, 0x63, 0x67, 0xdf,
-  0x02, 0x96, 0x6c, 0xe6, 0x04, 0x8e, 0xa9, 0xb9, 0xc1, 0x43, 0x05, 0xa1,
-  0xc8, 0x3f, 0x8d, 0x10, 0x63, 0x5e, 0xb1, 0x9b, 0x11, 0x8c, 0xe6, 0x28,
-  0xb4, 0xed, 0x1c, 0xf5, 0x53, 0x35, 0xb1, 0x68, 0x4f, 0x46, 0x9c, 0x07,
-  0xf8, 0xd0, 0x66, 0xca, 0x23, 0x18, 0xab, 0x75, 0xcc, 0x4d, 0x6f, 0x8d,
-  0x92, 0x44, 0x97, 0xeb, 0xa3, 0x37, 0xa9, 0xbe, 0x90, 0x6c, 0x8d, 0xcd,
-  0x75, 0xed, 0x25, 0x61, 0xb3, 0x8a, 0xfd, 0x94, 0x31, 0xce, 0xf1, 0xe6,
-  0x9e, 0x7d, 0xfe, 0xec, 0xe9, 0xf6, 0xb6, 0x2b, 0x28, 0xc9, 0x90, 0x89,
-  0x31, 0xa9, 0x39, 0xf3, 0x9c, 0x24, 0x17, 0x07, 0x1f, 0xcc, 0x14, 0xdf,
-  0x40, 0x30, 0x58, 0x2f, 0x4c, 0xbc, 0x39, 0xba, 0xc7, 0xf4, 0x3d, 0x5a,
-  0x44, 0x32, 0xc1, 0x21, 0xd0, 0xad, 0x21, 0x4c, 0x97, 0x4d, 0xc6, 0x0f,
-  0x58, 0x37, 0xfc, 0x4a, 0xa9, 0x80, 0xb8, 0x91, 0xf3, 0x43, 0x71, 0x39,
-  0x6c, 0xd8, 0x49, 0x7a, 0xd3, 0x86, 0x08, 0xc0, 0x73, 0xbe, 0xf6, 0xf0,
-  0x07, 0x58, 0x98, 0x6e, 0xb4, 0x18, 0xda, 0xf9, 0x72, 0x3c, 0x33, 0x77,
-  0xd0, 0x88, 0x0a, 0x7b, 0x7e, 0x4a, 0x4e, 0x73, 0x29, 0xf7, 0xc7, 0x3a,
-  0xb8, 0xc4, 0xbb, 0x57, 0xdd, 0x39, 0x18, 0x77, 0x7b, 0xa3, 0x89, 0x07,
-  0xd1, 0x4b, 0x74, 0x62, 0xad, 0x2d, 0xe9, 0x2d, 0xf8, 0x43, 0x54, 0x42,
-  0x74, 0xb0, 0x6a, 0x60, 0x9f, 0xb2, 0xda, 0x33, 0xe3, 0x06, 0x77, 0xa4,
-  0x20, 0x22, 0xd9, 0x9a, 0x1c, 0xd1, 0xc9, 0x4b, 0x56, 0x05, 0xa3, 0x55,
-  0xbd, 0xb8, 0xf0, 0x8c, 0xa4, 0xf7, 0xf9, 0x4a, 0x23, 0xd4, 0x6f, 0xb8,
-  0x6c, 0xd3, 0x2b, 0x4a, 0x46, 0x62, 0x04, 0xdd, 0x2c, 0x43, 0x69, 0x5b,
-  0x12, 0x64, 0x01, 0xfc, 0x99, 0xc1, 0x89, 0x99, 0x18, 0xf7, 0xe2, 0xa4,
-  0x10, 0xe7, 0x2b, 0x80, 0x51, 0x29, 0xd2, 0xe7, 0xd9, 0x5d, 0xc3, 0x69,
-  0xdb, 0xec, 0x05, 0x36, 0x8b, 0xfc, 0x29, 0x38, 0xbc, 0x82, 0x87, 0xa4,
-  0x4a, 0x6f, 0xce, 0x3f, 0xaf, 0x09, 0x84, 0x75, 0xeb, 0x4b, 0x81, 0x8f,
-  0x25, 0x52, 0x6d, 0x6d, 0x66, 0x26, 0x83, 0x8c, 0xd7, 0x1e, 0xf7, 0xa8,
-  0x87, 0x74, 0x29, 0xe5, 0x9c, 0x03, 0x74, 0x46, 0xd5, 0xfb, 0xa9, 0x38,
-  0xec, 0xb8, 0x6d, 0xc9, 0x25, 0x4a, 0x63, 0xa5, 0xc8, 0xd5, 0x29, 0xfe,
-  0x95, 0xc2, 0x70, 0x7a, 0x89, 0xd4, 0xba, 0x84, 0x79, 0xaf, 0xf0, 0x4f,
-  0xdb, 0xa6, 0x34, 0x19, 0xc9, 0x21, 0xe4, 0x88, 0x36, 0x2a, 0x0d, 0xd2,
-  0xaa, 0x99, 0x26, 0x07, 0xbd, 0xa8, 0xe6, 0x69, 0x27, 0x80, 0x68, 0xed,
-  0x60, 0x87, 0xb6, 0xec, 0x33, 0xfd, 0x84, 0x23, 0xee, 0x20, 0x00, 0x6e,
-  0x93, 0x37, 0xcb, 0x50, 0x3a, 0x8e, 0xd5, 0x2d, 0x8a, 0x9c, 0x4b, 0xdc,
-  0xa7, 0xb4, 0x18, 0x2e, 0x31, 0x12, 0xf6, 0x18, 0x61, 0x95, 0x1a, 0x30,
-  0x01, 0xea, 0x61, 0xa6, 0x54, 0xb2, 0x59, 0x79, 0x17, 0x60, 0x78, 0xc9,
-  0x14, 0xb0, 0xbd, 0x6b, 0x27, 0x33, 0x50, 0x7d, 0xf8, 0xff, 0xd4, 0x5f,
-  0x7e, 0xa0, 0x99, 0xfa, 0x2f, 0x9d, 0x29, 0x0d, 0xed, 0xa7, 0x41, 0xe2,
-  0x1f, 0x8c, 0xe0, 0xe4, 0x8f, 0x98, 0x95, 0xbf, 0x12, 0x24, 0x85, 0xa7,
-  0xc6, 0x74, 0x79, 0x8e, 0x06, 0xff, 0x38, 0xb4, 0x0a, 0xaf, 0x34, 0x92,
-  0x52, 0x1e, 0x13, 0xb4, 0xf2, 0xf1, 0x7d, 0xe0, 0x3b, 0xa2, 0x6d, 0xf8,
-  0x53, 0xd1, 0x07, 0xab, 0x9e, 0xb1, 0xbd, 0x28, 0xef, 0x98, 0xeb, 0x42,
-  0xf1, 0x2a, 0xfe, 0x54, 0x49, 0x16, 0xbd, 0x31, 0x3a, 0x4c, 0xcf, 0xc9,
-  0x22, 0xe3, 0x9f, 0x87, 0x16, 0x00, 0xa1, 0x65, 0x0e, 0xb0, 0x1a, 0x7f,
-  0x1c, 0xd4, 0xf7, 0xf3, 0x71, 0x39, 0x93, 0xbd, 0x4e, 0xe3, 0x35, 0x7d,
-  0xd6, 0x9f, 0xf1, 0xc2, 0x20, 0xb2, 0x31, 0xf0, 0xb2, 0x60, 0xfb, 0x51,
-  0xe6, 0x5f, 0x36, 0x52, 0xca, 0xc9, 0x04, 0x19, 0x29, 0x80, 0x71, 0x53,
-  0xa9, 0xec, 0x3f, 0x26, 0x0c, 0xc7, 0x61, 0x75, 0x68, 0x09, 0xaf, 0xd5,
-  0x9d, 0x73, 0xd5, 0xae, 0xcc, 0x02, 0x79, 0x60, 0xf3, 0xb8, 0xba, 0xf1,
-  0xb1, 0x0c, 0x62, 0x3a, 0xa4, 0xa6, 0xa3, 0x1f, 0x90, 0x76, 0xc2, 0xaf,
-  0x1e, 0xf1, 0x8f, 0x06, 0x97, 0xf4, 0x23, 0xc1, 0x1c, 0x68, 0xbe, 0x1a,
-  0xf9, 0x33, 0x34, 0xa3, 0x8c, 0x6a, 0x9b, 0x5d, 0xc5, 0xa5, 0x54, 0x1b,
-  0xcc, 0x84, 0x02, 0x91, 0x45, 0x78, 0x5f, 0xe9, 0x51, 0xfa, 0xc0, 0x69,
-  0xfb, 0xc6, 0xe4, 0x5f, 0xdf, 0x1a, 0x2c, 0x54, 0x82, 0x2c, 0xcc, 0x91,
-  0x02, 0x68, 0x01, 0x71, 0x7e, 0x82, 0x2f, 0xb3, 0x4e, 0x70, 0xf4, 0x69,
-  0xf8, 0x50, 0x73, 0x8c, 0xea, 0x81, 0x33, 0x44, 0xa0, 0x12, 0xe4, 0x7c,
-  0xf2, 0x18, 0x88, 0x9b, 0x72, 0x36, 0x65, 0x7c, 0x06, 0xb5, 0xfb, 0xc0,
-  0x58, 0x4b, 0x46, 0xe2, 0x7a, 0xd2, 0x22, 0x12, 0x0f, 0x14, 0x1c, 0x14,
-  0x85, 0x0e, 0xd7, 0x37, 0xe7, 0xe2, 0x8a, 0xe2, 0xdd, 0x3f, 0x41, 0xc9,
-  0xb7, 0x92, 0xf1, 0x5a, 0xe8, 0x27, 0x12, 0x10, 0xe6, 0xe4, 0xd3, 0x8c,
-  0xc4, 0x8e, 0x92, 0x98, 0x88, 0x45, 0xd8, 0xe9, 0x3f, 0xfa, 0xae, 0x3b,
-  0xec, 0xf9, 0x19, 0x78, 0x61, 0x49, 0xad, 0xc8, 0xbb, 0xbe, 0xb9, 0xd5,
-  0x45, 0x89, 0xaf, 0x9a, 0xc5, 0x07, 0xaa, 0xa8, 0x7a, 0xff, 0x81, 0x70,
-  0x7d, 0x58, 0x33, 0xf5, 0xb9, 0xe3, 0x07, 0x98, 0x5a, 0xce, 0x91, 0x5b,
-  0x2e, 0xa8, 0x1d, 0x6c, 0xf1, 0x59, 0xc9, 0xe6, 0xcc, 0x43, 0xc3, 0x90,
-  0x88, 0x9e, 0x40, 0xc0, 0xfc, 0x5c, 0xec, 0xad, 0x76, 0x95, 0x8d, 0xa7,
-  0x41, 0xc7, 0x28, 0x62, 0xff, 0x01, 0xa1, 0x3e, 0xbb, 0x99, 0xcc, 0x65,
-  0x93, 0x55, 0xf9, 0xc4, 0x2f, 0x39, 0x85, 0x07, 0xb0, 0x9f, 0x98, 0x79,
-  0x89, 0x62, 0x7f, 0x51, 0x92, 0xb9, 0xce, 0xff, 0xe0, 0x1d, 0xe5, 0x02,
-  0x5b, 0xe4, 0xf4, 0x53, 0x78, 0x18, 0x02, 0xed, 0xa6, 0x9b, 0x28, 0xeb,
-  0xeb, 0x05, 0x6b, 0x4f, 0x1e, 0x18, 0x27, 0x58, 0x2c, 0xf7, 0x13, 0x01,
-  0xa2, 0xe7, 0x69, 0x6d, 0x7b, 0xc8, 0x43, 0xb0, 0x35, 0x57, 0xa1, 0x1b,
-  0xde, 0x04, 0x44, 0x81, 0x49, 0x24, 0xa6, 0xc2, 0x91, 0x98, 0xab, 0x72,
-  0xb8, 0x62, 0x66, 0x18, 0x6a, 0xd9, 0x9d, 0x99, 0xf6, 0x84, 0xc8, 0x8c,
-  0x60, 0xef, 0x61, 0x77, 0x47, 0x30, 0x82, 0x49, 0x17, 0xff, 0xae, 0x0c,
-  0x23, 0xc9, 0x96, 0x5c, 0xb0, 0x42, 0x43, 0xb2, 0x6d, 0x0f, 0x0d, 0xbb,
-  0x47, 0x85, 0x94, 0xe4, 0xa1, 0xe6, 0x20, 0x88, 0x3a, 0x0b, 0xbe, 0xbf,
-  0x6a, 0xc1, 0x55, 0xa7, 0x15, 0xe9, 0x41, 0x3f, 0x4b, 0xac, 0xa2, 0x2b,
-  0xc0, 0x28, 0x0c, 0xcc, 0xca, 0xa0, 0xd9, 0x7d, 0x12, 0x25, 0x32, 0xed,
-  0xfc, 0xcf, 0xff, 0xfc, 0xb3, 0x58, 0xb5, 0x6c, 0x20, 0x2f, 0x3f, 0xe4,
-  0x0b, 0x5f, 0x78, 0x9d, 0x9c, 0x7b, 0xc5, 0x9b, 0x49, 0xe6, 0xf3, 0x1c,
-  0x02, 0xa3, 0x49, 0x87, 0x42, 0xc5, 0x2d, 0x1d, 0xf3, 0x87, 0xa6, 0x61,
-  0x82, 0x64, 0x46, 0x36, 0x9c, 0x3d, 0xae, 0xb3, 0x81, 0xaa, 0x48, 0x62,
-  0x46, 0x9f, 0x9c, 0xdf, 0x3e, 0x8d, 0x80, 0x54, 0x92, 0x88, 0x57, 0xa9,
-  0x55, 0x70, 0xfc, 0xc5, 0xca, 0x21, 0xc1, 0x0e, 0xb1, 0x43, 0x92, 0xce,
-  0xfb, 0x84, 0xc6, 0xde, 0x20, 0xda, 0xfd, 0x5c, 0xdf, 0x07, 0x6f, 0x10,
-  0x0f, 0xf6, 0xc4, 0x7c, 0xe9, 0x83, 0x23, 0xc3, 0x4c, 0xde, 0xd9, 0x0f,
-  0x1b, 0xad, 0xc0, 0xb1, 0x64, 0xa2, 0x50, 0x67, 0xae, 0xd5, 0xfb, 0x26,
-  0xa8, 0x14, 0x19, 0xd5, 0x67, 0x93, 0x88, 0x7a, 0xdb, 0xd9, 0x5f, 0x4f,
-  0xa2, 0x7d, 0xd0, 0xa2, 0x5f, 0xb5, 0xed, 0x03, 0x96, 0xd5, 0xfb, 0xb1,
-  0x6c, 0x31, 0xba, 0x07, 0xaf, 0x4a, 0x29, 0xc6, 0xf7, 0x18, 0x81, 0xb2,
-  0x6a, 0x9f, 0x87, 0xfd, 0xc0, 0x59, 0xfa, 0x50, 0xd7, 0x33, 0xda, 0xec,
-  0xf9, 0xd5, 0xbd, 0xe9, 0x54, 0xbd, 0x32, 0x5b, 0xd9, 0xbf, 0x4b, 0xf9,
-  0x39, 0x5d, 0x2e, 0xcf, 0xb2, 0xdc, 0xac, 0xe1, 0xfc, 0x5b, 0x64, 0x54,
-  0xef, 0x98, 0x79, 0x18, 0x1f, 0x98, 0x31, 0xd0, 0x34, 0xe2, 0xf3, 0x2e,
-  0x22, 0x26, 0x22, 0xc3, 0x6a, 0x0e, 0x43, 0xaa, 0x80, 0x29, 0x26, 0xd3,
-  0x03, 0x83, 0x6f, 0xb5, 0x44, 0x8d, 0xb8, 0x30, 0x70, 0x7b, 0x42, 0x28,
-  0x55, 0x2b, 0x98, 0x10, 0x9d, 0xfd, 0x0f, 0x90, 0x2a, 0x1c, 0xb8, 0xd5,
-  0x2a, 0x97, 0xb6, 0x96, 0x6b, 0x2a, 0xdb, 0x43, 0x83, 0xaf, 0x83, 0x53,
-  0xba, 0x16, 0x67, 0x11, 0x9e, 0xc9, 0x24, 0x44, 0x2e, 0x48, 0x61, 0x01,
-  0x40, 0x58, 0xdd, 0x5a, 0x6f, 0x11, 0xb8, 0x05, 0xec, 0x4d, 0xa8, 0xcb,
-  0x88, 0x5f, 0xac, 0xf4, 0x45, 0x3a, 0x42, 0xa5, 0x66, 0x5b, 0x30, 0x3b,
-  0xaa, 0xb3, 0x49, 0xcd, 0x3a, 0xe2, 0x42, 0x82, 0x7c, 0x48, 0x27, 0x44,
-  0xc0, 0x2d, 0x10, 0xb9, 0xf4, 0xa1, 0x6d, 0x23, 0x24, 0x5c, 0x5c, 0x99,
-  0x02, 0xd6, 0xce, 0x35, 0xa8, 0x22, 0xca, 0xce, 0x56, 0x32, 0xf7, 0x4b,
-  0x64, 0xe6, 0xe8, 0x5e, 0xb5, 0x42, 0xeb, 0xd2, 0xc7, 0xab, 0x7b, 0x35,
-  0xc0, 0xff, 0xf1, 0x03, 0x1e, 0x95, 0x52, 0x65, 0xd5, 0x91, 0x43, 0x0f,
-  0xdd, 0x91, 0x51, 0xd1, 0x20, 0x63, 0x50, 0x29, 0xe5, 0x8f, 0xe1, 0x9f,
-  0x2c, 0xa4, 0x04, 0x39, 0xe8, 0x1f, 0x39, 0x5a, 0x42, 0xf9, 0xf1, 0x56,
-  0xed, 0x08, 0xeb, 0x28, 0xd1, 0x68, 0xea, 0xe2, 0x16, 0xdb, 0x49, 0x8c,
-  0xbb, 0xa3, 0xab, 0xd1, 0x99, 0x1d, 0xec, 0x5f, 0x5a, 0x88, 0xdb, 0x3e,
-  0x78, 0x36, 0x88, 0xfc, 0xe4, 0x83, 0x25, 0x4e, 0xe6, 0x08, 0x07, 0xaa,
-  0x85, 0xba, 0xf2, 0xde, 0x4c, 0x63, 0xc3, 0xe7, 0x97, 0xc4, 0x96, 0x3e,
-  0x1d, 0x71, 0x66, 0xa1, 0x35, 0x89, 0x97, 0x26, 0xeb, 0x5a, 0xd3, 0x14,
-  0x2b, 0xdb, 0x14, 0x62, 0x8e, 0x0f, 0x9c, 0x34, 0x62, 0x23, 0x8b, 0x7e,
-  0xd1, 0x72, 0x9e, 0x3d, 0xaa, 0xff, 0x30, 0x9d, 0x55, 0x63, 0x59, 0xff,
-  0x45, 0x5f, 0x44, 0xc4, 0x3f, 0xad, 0xd0, 0xe9, 0xc7, 0x7d, 0x7a, 0x25,
-  0x3c, 0x1d, 0x9c, 0xd1, 0x6e, 0x1d, 0xa8, 0xad, 0x94, 0x22, 0xee, 0xd7,
-  0x1e, 0xab, 0x35, 0x33, 0x8d, 0x3b, 0xdb, 0xc6, 0xc8, 0xce, 0x7a, 0x59,
-  0x71, 0x2d, 0xd7, 0x87, 0xd5, 0x3d, 0xf5, 0xe0, 0xd8, 0xf6, 0x88, 0xae,
-  0xa8, 0x4d, 0xb7, 0xbd, 0xa2, 0x57, 0x76, 0x88, 0x7e, 0xaf, 0xe4, 0x87,
-  0xdd, 0x3e, 0xb9, 0x4e, 0xfd, 0xc2, 0x5e, 0x71, 0x7b, 0x8f, 0xe9, 0xd3,
-  0x2f, 0xbf, 0xd7, 0x3a, 0x17, 0x5b, 0xf7, 0x2a, 0x6b, 0xdd, 0x55, 0x8f,
-  0x11, 0xf6, 0x0f, 0x5c, 0x65, 0xad, 0xdb, 0xea, 0xe1, 0x33, 0xbb, 0xea,
-  0x2a, 0xdb, 0x8b, 0x89, 0x10, 0x92, 0x0f, 0x1f, 0xd2, 0xc5, 0x42, 0xc4,
-  0xce, 0x23, 0xc6, 0xce, 0x84, 0x30, 0xd8, 0xee, 0x42, 0xcf, 0xce, 0x35,
-  0xc8, 0xcd, 0x5e, 0x2d, 0x3f, 0xb2, 0x87, 0x8b, 0xb1, 0x8c, 0x69, 0xf5,
-  0x40, 0x73, 0x5c, 0x42, 0x59, 0x66, 0x70, 0x67, 0x34, 0xfa, 0x76, 0x27,
-  0x6b, 0x26, 0x56, 0x02, 0xee, 0x38, 0xc8, 0x94, 0x94, 0x2a, 0x7d, 0x50,
-  0xa1, 0x81, 0x0c, 0x46, 0x85, 0x0c, 0x9a, 0x07, 0xeb, 0x62, 0x7c, 0xec,
-  0x34, 0xb4, 0x2d, 0x94, 0xdf, 0x65, 0xa0, 0x44, 0xa7, 0x67, 0x3f, 0x23,
-  0xa3, 0x72, 0x37, 0x20, 0xba, 0x4e, 0xb7, 0xfc, 0xfa, 0xe6, 0xc4, 0xb6,
-  0x69, 0x8f, 0x31, 0x3a, 0x22, 0x32, 0xbb, 0x09, 0x2d, 0xb1, 0x5c, 0xfc,
-  0x1f, 0x5a, 0x58, 0xd8, 0xfd, 0x1c, 0x38, 0x03, 0xba, 0xe4, 0xe1, 0x2e,
-  0x2f, 0xc8, 0xc6, 0x65, 0x33, 0xf6, 0xe1, 0x3e, 0x73, 0x97, 0xb9, 0x48,
-  0x5b, 0xb7, 0xc3, 0xe2, 0x6c, 0xe5, 0x12, 0x2b, 0x8f, 0xed, 0xb3, 0x4b,
-  0x61, 0xd2, 0x4e, 0xa0, 0xcf, 0x70, 0x19, 0xda, 0x72, 0xe4, 0xe3, 0xec,
-  0x3a, 0x2f, 0x1e, 0xe5, 0xfb, 0x51, 0x7c, 0x43, 0x3a, 0xe3, 0x1a, 0x8f,
-  0xb6, 0x51, 0xc9, 0xe2, 0xe2, 0x10, 0x06, 0x65, 0xee, 0x3f, 0x28, 0x26,
-  0x52, 0xa1, 0xf3, 0x23, 0x51, 0xe1, 0x39, 0x44, 0x27, 0xea, 0xb1, 0x20,
-  0x10, 0x44, 0x3e, 0x59, 0x52, 0x0a, 0x73, 0xa4, 0xe0, 0x5b, 0xe0, 0xe5,
-  0x30, 0x4a, 0x00, 0xa7, 0x2e, 0xdc, 0x52, 0x4c, 0x73, 0xc5, 0x5a, 0x58,
-  0x5d, 0x6f, 0xc5, 0x64, 0x53, 0x35, 0x70, 0xec, 0x0d, 0x29, 0xac, 0xae,
-  0xcf, 0x3f, 0x28, 0xa6, 0x8c, 0x88, 0x5b, 0xd4, 0x5e, 0x3a, 0x2c, 0xb6,
-  0x09, 0x6f, 0xd4, 0xbe, 0x9e, 0x8f, 0x7e, 0xf2, 0xe8, 0xad, 0xc0, 0xb4,
-  0x5e, 0x32, 0xb5, 0xc2, 0x4d, 0xa6, 0x48, 0x59, 0x0a, 0x54, 0xf2, 0x2f,
-  0xd3, 0x89, 0x65, 0xbc, 0x7e, 0xa8, 0x77, 0x29, 0x17, 0x7a, 0xe8, 0xcc,
-  0x82, 0xcb, 0xed, 0xb6, 0xb7, 0x0c, 0xa0, 0x25, 0x8f, 0x12, 0xf1, 0xb9,
-  0xd0, 0xc2, 0x68, 0x4a, 0x54, 0xe2, 0xcf, 0x16, 0xc5, 0xaf, 0x44, 0x46,
-  0x3d, 0x42, 0x2b, 0x8d, 0x1a, 0x69, 0xe8, 0x2a, 0x7a, 0xfe, 0xf8, 0xe3,
-  0xf3, 0xbb, 0x1c, 0x79, 0x46, 0xf8, 0x90, 0xa2, 0x12, 0x3d, 0x3a, 0x8f,
-  0x36, 0x90, 0x2b, 0xac, 0x00, 0x83, 0x19, 0x1c, 0x50, 0xa8, 0x23, 0x22,
-  0xd8, 0xcf, 0x1e, 0x96, 0xaf, 0x8f, 0x68, 0x06, 0x9c, 0x5c, 0xce, 0xe2,
-  0x40, 0x20, 0xc7, 0x44, 0xe2, 0xa9, 0xcc, 0xb0, 0x46, 0x45, 0xa6, 0xd3,
-  0xd3, 0x64, 0x8f, 0xba, 0x69, 0xe8, 0xfa, 0x8f, 0x9f, 0x19, 0xd6, 0xd8,
-  0xdc, 0x0c, 0xe3, 0x9f, 0xe1, 0xd1, 0xd1, 0x24, 0x56, 0x86, 0x3d, 0x01,
-  0xa1, 0xf8, 0x98, 0x6d, 0x44, 0xde, 0xb0, 0xc8, 0x69, 0x05, 0x3f, 0xaa,
-  0xaa, 0xea, 0xce, 0x10, 0x70, 0x6e, 0x46, 0x4a, 0x79, 0x02, 0x15, 0x20,
-  0x19, 0xfc, 0xea, 0x97, 0x86, 0x69, 0x42, 0x5a, 0xc6, 0xe0, 0x21, 0x5f,
-  0x2c, 0xdc, 0xd6, 0xe4, 0xb7, 0x06, 0x04, 0xef, 0x16, 0xe3, 0x9a, 0x4d,
-  0x6d, 0x50, 0x4a, 0x0c, 0x55, 0x25, 0xf4, 0x3c, 0x58, 0xdf, 0x9c, 0xf2,
-  0x00, 0xff, 0x8e, 0x24, 0x70, 0x9f, 0x52, 0x73, 0x0a, 0x62, 0xf0, 0xea,
-  0x3a, 0xc5, 0x3d, 0xa4, 0x85, 0xda, 0x4b, 0xa1, 0x0a, 0x6c, 0x97, 0x94,
-  0xe2, 0x7a, 0x11, 0x0e, 0x50, 0x6b, 0xf6, 0x7f, 0x19, 0xe4, 0xed, 0x90,
-  0xae, 0x87, 0xa8, 0x23, 0xfb, 0xe3, 0x8d, 0xa5, 0x95, 0x4a, 0x0a, 0x5e,
-  0x61, 0xa4, 0x42, 0xc3, 0x0e, 0x68, 0x4e, 0x97, 0x34, 0x7d, 0xc9, 0xc7,
-  0xcb, 0x86, 0x02, 0x8d, 0x8e, 0x23, 0x2c, 0x02, 0x4a, 0x97, 0x2c, 0x20,
-  0x7c, 0xcd, 0xa6, 0x33, 0x7e, 0x9a, 0x5e, 0x0f, 0xcb, 0x2a, 0xa7, 0x1b,
-  0x07, 0x38, 0x38, 0x6d, 0x8c, 0x76, 0x7e, 0x1f, 0x12, 0x85, 0x6c, 0x8a,
-  0x58, 0x73, 0x1a, 0x7a, 0x61, 0x82, 0xb2, 0x24, 0x6c, 0x7a, 0x8e, 0xfd,
-  0x4a, 0xbf, 0xb3, 0xad, 0x6a, 0xfd, 0xb0, 0x58, 0x84, 0x92, 0x13, 0x6a,
-  0x5c, 0x35, 0x25, 0x45, 0x0c, 0xd8, 0xd1, 0xba, 0x81, 0x52, 0x64, 0xcc,
-  0x6c, 0xbc, 0x0a, 0xc9, 0xa1, 0xa1, 0x87, 0x22, 0xaf, 0xeb, 0x25, 0x16,
-  0xec, 0xcd, 0xc9, 0xe9, 0xb1, 0x05, 0x05, 0xfd, 0xef, 0x9d, 0x21, 0x4d,
-  0x79, 0x35, 0x09, 0x20, 0x50, 0x9c, 0x94, 0xe5, 0x65, 0xd8, 0x49, 0xd6,
-  0xd6, 0x77, 0x7d, 0x2e, 0x3d, 0x83, 0x1f, 0xb7, 0x52, 0xb6, 0x8e, 0xdf,
-  0x7d, 0x7f, 0x72, 0x71, 0xf6, 0xee, 0xed, 0xf1, 0x3b, 0xeb, 0xed, 0xa5,
-  0x43, 0x11, 0xe3, 0x8f, 0xad, 0xc3, 0x90, 0x6f, 0x4e, 0xf1, 0x02, 0x22,
-  0x31, 0x44, 0xcd, 0x2c, 0xa2, 0xda, 0x58, 0x2c, 0xe4, 0x5f, 0x43, 0xbf,
-  0x39, 0xef, 0x21, 0xf5, 0xf8, 0x52, 0x20, 0x7e, 0x41, 0xe6, 0xfe, 0x94,
-  0x02, 0x6f, 0x43, 0xf6, 0x11, 0xdb, 0xe2, 0x5d, 0x44, 0x61, 0xfb, 0x69,
-  0x92, 0x49, 0xe9, 0x52, 0x2a, 0xd4, 0xb4, 0x61, 0xa7, 0x84, 0xc3, 0x44,
-  0x2e, 0x98, 0xd6, 0xea, 0x84, 0xdb, 0xdc, 0xef, 0x6b, 0xc1, 0x6a, 0x25,
-  0xd1, 0xd1, 0x30, 0x00, 0xdc, 0xaf, 0xec, 0x78, 0x93, 0xd6, 0xce, 0x3d,
-  0x2f, 0xfc, 0xd5, 0xee, 0x06, 0x74, 0x09, 0xb7, 0x7e, 0x9d, 0xb1, 0x6e,
-  0xdc, 0xcf, 0x1b, 0xc5, 0x5f, 0xd4, 0x87, 0x70, 0xb0, 0xb3, 0xf3, 0x33,
-  0x0a, 0xdc, 0x7d, 0x29, 0x15, 0xee, 0x42, 0x42, 0xb4, 0xda, 0xeb, 0x86,
-  0xcb, 0xb8, 0xd0, 0x14, 0x1e, 0xda, 0xb7, 0x76, 0x3a, 0xe1, 0x1c, 0xfc,
-  0x70, 0x7e, 0x71, 0xf6, 0xe3, 0x9f, 0x7f, 0xe3, 0x4f, 0x78, 0x58, 0x9d,
-  0xbf, 0x10, 0x84, 0x4d, 0x1b, 0xff, 0xf9, 0x37, 0xff, 0x5a, 0xbb, 0xf9,
-  0xbe, 0x57, 0x86, 0x35, 0x5a, 0x83, 0x97, 0x19, 0xc8, 0xf3, 0x5a, 0xe3,
-  0x15, 0xf2, 0x03, 0x67, 0xfb, 0x5a, 0x18, 0x0d, 0x2e, 0xb9, 0xba, 0xbd,
-  0x41, 0xbb, 0x6e, 0x3a, 0xb0, 0x3d, 0x20, 0x3d, 0xcf, 0x01, 0x20, 0xfb,
-  0x92, 0xa7, 0x49, 0x89, 0x98, 0x7d, 0x24, 0xf8, 0x01, 0xce, 0x67, 0xe7,
-  0xe3, 0xf0, 0xf4, 0xf4, 0x37, 0x9d, 0x04, 0x14, 0x09, 0x73, 0x63, 0x19,
-  0x58, 0x1d, 0x55, 0x59, 0xe1, 0xd7, 0xf3, 0xd2, 0xbd, 0x3b, 0x93, 0xde,
-  0xbc, 0x84, 0x7a, 0x3c, 0xa8, 0x33, 0xa3, 0xd4, 0x52, 0x5d, 0xe6, 0x64,
-  0x46, 0x88, 0x18, 0x63, 0x6d, 0x53, 0xc7, 0x82, 0x6a, 0x60, 0xf8, 0x25,
-  0xbc, 0xe2, 0xb6, 0x38, 0xa2, 0xe8, 0xc9, 0x9c, 0x4d, 0x04, 0xb8, 0x77,
-  0x69, 0x29, 0x3e, 0xb8, 0x50, 0xa1, 0xd6, 0xb5, 0x0f, 0x2b, 0xa1, 0xe1,
-  0x52, 0xa0, 0x6b, 0xb6, 0xca, 0xeb, 0x8f, 0x80, 0xc2, 0xd3, 0xc1, 0x84,
-  0xb2, 0xab, 0xb9, 0xb0, 0xa4, 0xeb, 0xa2, 0x2b, 0xab, 0x2b, 0x72, 0x3e,
-  0x21, 0x06, 0x2d, 0x5c, 0x2a, 0xd1, 0x53, 0xaa, 0x45, 0x88, 0x74, 0x73,
-  0xd0, 0xe4, 0x20, 0x99, 0xbc, 0x23, 0x28, 0xaf, 0xbc, 0x1c, 0x1a, 0x3a,
-  0xa0, 0xf6, 0x84, 0x7a, 0x39, 0x59, 0x0c, 0x8f, 0xd1, 0xc9, 0x7b, 0xc5,
-  0x4a, 0x25, 0x32, 0xcc, 0x83, 0x44, 0x79, 0xc9, 0x75, 0x91, 0xab, 0x6d,
-  0xf0, 0x29, 0xd1, 0x54, 0x77, 0x9e, 0x10, 0x3f, 0x1f, 0x46, 0x7f, 0xf3,
-  0x98, 0xe6, 0x48, 0x05, 0x87, 0xcf, 0x81, 0x90, 0x06, 0x72, 0xf9, 0x98,
-  0x3f, 0x08, 0x81, 0xd8, 0xc8, 0xde, 0x04, 0x4c, 0x34, 0xe7, 0x94, 0xf0,
-  0xbe, 0xe8, 0xec, 0x01, 0x14, 0x22, 0x1c, 0x41, 0xa4, 0xc7, 0x2b, 0xbb,
-  0x1c, 0x89, 0xce, 0x99, 0xc7, 0xc8, 0x09, 0xca, 0xe4, 0x07, 0xad, 0xf6,
-  0x5c, 0x7f, 0xd1, 0x5b, 0xed, 0x2b, 0x6b, 0x4d, 0xd8, 0x28, 0xb1, 0x20,
-  0x88, 0x59, 0x6f, 0xde, 0xa1, 0xe6, 0xbf, 0x97, 0x67, 0x47, 0x67, 0xa7,
-  0xe6, 0x2f, 0xc7, 0x6f, 0x4e, 0x7e, 0x74, 0x97, 0x18, 0x6f, 0x80, 0x16,
-  0x1c, 0xde, 0x55, 0xad, 0xb4, 0xa7, 0x86, 0x81, 0x4c, 0x31, 0xe6, 0x8b,
-  0x0e, 0x73, 0x9b, 0x77, 0x2c, 0xa5, 0xf6, 0x64, 0xab, 0x8e, 0xa4, 0x90,
-  0x6f, 0x90, 0xd2, 0xc7, 0x2d, 0x5b, 0xe8, 0xb4, 0xdb, 0x99, 0x94, 0x11,
-  0xe1, 0x9f, 0x4a, 0xc1, 0x9e, 0xf9, 0x64, 0x1b, 0x89, 0xbf, 0x0f, 0xa5,
-  0x73, 0x65, 0x65, 0xab, 0x1a, 0x35, 0x7e, 0xcd, 0xbc, 0x0e, 0x17, 0xb3,
-  0xc7, 0xd1, 0x67, 0x14, 0x32, 0x7f, 0x90, 0xaa, 0x9b, 0x19, 0x7d, 0x3f,
-  0xc3, 0x21, 0x46, 0xee, 0x3f, 0xdd, 0x5b, 0x7e, 0x96, 0x77, 0x07, 0x68,
-  0x08, 0x3c, 0xbe, 0x6d, 0xb1, 0x3d, 0x26, 0x99, 0x00, 0x01, 0x04, 0x21,
-  0x78, 0x8e, 0xe2, 0xdf, 0x07, 0xad, 0x6b, 0xca, 0xcc, 0x54, 0x34, 0x39,
-  0x88, 0x93, 0x12, 0xe8, 0x0f, 0x10, 0x44, 0xc3, 0x11, 0x2b, 0x62, 0xc0,
-  0x2f, 0x4f, 0xce, 0x22, 0x4c, 0x3c, 0xe8, 0xfc, 0xc1, 0x90, 0xf1, 0xb7,
-  0x15, 0xbd, 0xa5, 0x8f, 0xd6, 0x6b, 0xbe, 0xaa, 0xc3, 0xb7, 0x9f, 0x0d,
-  0xd0, 0x95, 0x5c, 0xa7, 0x72, 0x5d, 0x13, 0xa4, 0xba, 0xfc, 0x6d, 0x99,
-  0xdf, 0xa6, 0xc8, 0x21, 0xa1, 0xca, 0xaa, 0x52, 0xdc, 0xb2, 0xd3, 0x46,
-  0xfa, 0xab, 0x1a, 0x49, 0xdb, 0xad, 0x3c, 0xfb, 0x35, 0x8d, 0x3c, 0xeb,
-  0xb4, 0x71, 0xf3, 0xab, 0x1a, 0xb1, 0x05, 0xae, 0x8d, 0x06, 0xf7, 0xe3,
-  0xc9, 0x65, 0x72, 0x74, 0xf6, 0xda, 0x1d, 0xad, 0x4b, 0x8b, 0xd2, 0x4c,
-  0x93, 0xf1, 0xb2, 0x30, 0xbb, 0x8f, 0xf8, 0xc3, 0x51, 0x14, 0x0b, 0x5a,
-  0x2e, 0xb0, 0x9b, 0x09, 0xf0, 0x04, 0xb5, 0x32, 0x9f, 0xdc, 0x64, 0x39,
-  0x7e, 0x54, 0x31, 0x48, 0xc0, 0xe7, 0xf6, 0x93, 0xc7, 0xe7, 0xc4, 0x72,
-  0x71, 0x6d, 0xc9, 0x54, 0x71, 0x28, 0x89, 0xec, 0x28, 0xad, 0x34, 0x85,
-  0x6c, 0x9c, 0x12, 0x9d, 0x45, 0xc1, 0x89, 0x50, 0x46, 0x87, 0x6f, 0x13,
-  0x4c, 0x6e, 0xf8, 0x89, 0xb2, 0x3e, 0xcf, 0xa4, 0xd1, 0xf4, 0xf2, 0x46,
-  0x7a, 0xd3, 0x02, 0x46, 0xed, 0x29, 0xb0, 0xb7, 0xb5, 0xd1, 0xa5, 0x2c,
-  0x03, 0x6c, 0x33, 0x02, 0x71, 0x4e, 0x35, 0x07, 0x46, 0x0a, 0x91, 0x58,
-  0x75, 0x9b, 0x6b, 0xb6, 0x05, 0x37, 0xa9, 0x6d, 0xc2, 0x7e, 0x67, 0x9f,
-  0xff, 0x78, 0x93, 0xa2, 0xc4, 0xb9, 0x11, 0x1b, 0x02, 0x93, 0xc9, 0xff,
-  0xee, 0xa9, 0x93, 0x4f, 0xac, 0xf6, 0x60, 0x46, 0x3e, 0x43, 0x21, 0xb0,
-  0x29, 0x9f, 0x88, 0xfa, 0xbe, 0x68, 0xd2, 0x4f, 0x30, 0x1f, 0x49, 0xdb,
-  0x17, 0x42, 0x0f, 0xf7, 0xe6, 0x53, 0xd1, 0x21, 0x12, 0x4b, 0x1b, 0x02,
-  0x2c, 0x8a, 0x66, 0x25, 0x79, 0xc8, 0x07, 0x31, 0xb3, 0x4d, 0x0f, 0x34,
-  0x27, 0x12, 0xa1, 0x9a, 0xac, 0xa6, 0xf2, 0x64, 0x1b, 0xd1, 0xa8, 0xb4,
-  0xfd, 0xac, 0x66, 0x57, 0x96, 0x95, 0xa0, 0x28, 0x5c, 0x85, 0x0d, 0xc7,
-  0xf7, 0x40, 0x45, 0xc5, 0x79, 0xd2, 0x06, 0x51, 0x3a, 0x7a, 0xe4, 0xa2,
-  0x22, 0xed, 0x4a, 0x12, 0x97, 0x44, 0x51, 0x9e, 0x96, 0x98, 0xc9, 0x3e,
-  0x60, 0x81, 0x54, 0x2c, 0xd1, 0xfc, 0xe2, 0x9e, 0x4b, 0x7b, 0xa4, 0x05,
-  0xf2, 0x8b, 0xba, 0x30, 0x47, 0x5d, 0x18, 0x49, 0xbf, 0x70, 0x99, 0x0e,
-  0xcf, 0xf8, 0x8f, 0x23, 0x55, 0x38, 0xb4, 0x66, 0xb3, 0x5f, 0xb5, 0x5e,
-  0xb9, 0xf6, 0xe5, 0x06, 0x67, 0x6f, 0xef, 0x04, 0x61, 0x54, 0xae, 0x4d,
-  0x30, 0x0e, 0xa9, 0x1d, 0xeb, 0x8e, 0x7b, 0xee, 0xf9, 0x8a, 0xef, 0x30,
-  0xb7, 0xc7, 0xa5, 0x65, 0x19, 0xe9, 0x3a, 0xc3, 0xa9, 0xfd, 0xb0, 0xb5,
-  0xcf, 0xba, 0x5b, 0x44, 0x7d, 0xd3, 0x44, 0x01, 0x57, 0xfa, 0x21, 0xaa,
-  0xcf, 0xc5, 0x88, 0xce, 0x28, 0x59, 0x49, 0xb4, 0xbe, 0x2a, 0x5b, 0xcc,
-  0x44, 0x7c, 0xca, 0x4f, 0x10, 0x09, 0x83, 0x19, 0x8c, 0x79, 0x9e, 0x68,
-  0x2f, 0x8d, 0x1e, 0xe7, 0xdb, 0x30, 0x2f, 0xe4, 0xb3, 0x44, 0x3b, 0xc1,
-  0x17, 0x31, 0xc1, 0xbb, 0x8b, 0xdc, 0x6e, 0x3d, 0xa9, 0xa3, 0x87, 0x1f,
-  0x11, 0x74, 0x0b, 0xd9, 0xdc, 0xfa, 0x6f, 0x79, 0x23, 0xe0, 0x3c, 0xea,
-  0x78, 0x41, 0x69, 0xb4, 0xcb, 0x8a, 0x93, 0xf5, 0x1c, 0xcf, 0x17, 0x60,
-  0xb1, 0x69, 0xd1, 0xf0, 0x70, 0x09, 0x4e, 0x4b, 0x5c, 0x30, 0xc9, 0xdb,
-  0x10, 0x0f, 0x53, 0x5e, 0x51, 0xc1, 0x27, 0xce, 0xb9, 0x25, 0xd4, 0x15,
-  0xcf, 0xcf, 0x4d, 0x5a, 0x5c, 0x67, 0xac, 0x23, 0xba, 0x46, 0xb1, 0xd7,
-  0xf5, 0x62, 0x34, 0xc7, 0x1e, 0xde, 0x89, 0x95, 0x59, 0xe7, 0x6e, 0x1e,
-  0xf6, 0x76, 0xed, 0x3c, 0xd0, 0xa0, 0x88, 0x39, 0x00, 0x2b, 0x41, 0x35,
-  0x27, 0xc8, 0xe2, 0xbe, 0x4b, 0x21, 0x4e, 0x6c, 0x99, 0x46, 0xa7, 0x6d,
-  0xdb, 0x18, 0x02, 0xe5, 0xa2, 0x84, 0x18, 0x50, 0x64, 0x70, 0x53, 0x58,
-  0x9f, 0x34, 0x03, 0x06, 0xb1, 0x71, 0x5a, 0x93, 0x5c, 0x5e, 0x7d, 0x58,
-  0xa2, 0x10, 0x80, 0x16, 0xed, 0x85, 0xb5, 0x23, 0x44, 0xfc, 0x46, 0x2c,
-  0xaa, 0xc6, 0x04, 0x26, 0x5e, 0x70, 0x9a, 0xb0, 0xef, 0x4c, 0x99, 0xe9,
-  0x8d, 0x67, 0xcf, 0x8e, 0xe7, 0x0e, 0x1b, 0xe5, 0xfc, 0x70, 0x34, 0xd2,
-  0x6d, 0x72, 0x14, 0xee, 0x08, 0xc1, 0xcd, 0x50, 0x0a, 0xbb, 0x32, 0x7b,
-  0x44, 0x9c, 0x0f, 0xd2, 0x48, 0x27, 0x66, 0xba, 0xc7, 0xe2, 0xed, 0x35,
-  0xcb, 0x68, 0xe8, 0x15, 0x32, 0x5e, 0xde, 0x57, 0x3a, 0xe2, 0xbb, 0xf5,
-  0x33, 0x19, 0xaf, 0x7f, 0x8b, 0x69, 0xc5, 0x3c, 0x23, 0x09, 0x51, 0xc5,
-  0x3d, 0x39, 0x31, 0x8d, 0x00, 0x6a, 0x57, 0x55, 0xdc, 0x7b, 0x12, 0x0e,
-  0xfa, 0x7b, 0x1e, 0x55, 0xff, 0x1f, 0x1a, 0xf4, 0xf7, 0x91, 0x41, 0x3f,
-  0x75, 0x07, 0x87, 0x3f, 0x96, 0xec, 0xef, 0x7f, 0xa6, 0xf8, 0x72, 0xe6,
-  0xa0, 0x9f, 0x25, 0xee, 0x83, 0xde, 0x17, 0xcd, 0x73, 0x03, 0xa1, 0xce,
-  0xcc, 0x02, 0x23, 0xcc, 0x1e, 0x5e, 0xef, 0x53, 0xcf, 0xec, 0xa7, 0x26,
-  0x29, 0x4c, 0x28, 0xa3, 0x1f, 0xb3, 0x94, 0x09, 0x84, 0x8f, 0x2d, 0x4c,
-  0x7f, 0x42, 0x73, 0x60, 0x8c, 0xad, 0x95, 0xe1, 0x70, 0xed, 0x85, 0xf7,
-  0x9d, 0xe7, 0xd6, 0xfe, 0xdf, 0xd9, 0xe7, 0x3d, 0x49, 0xf9, 0xd4, 0x52,
-  0xba, 0x16, 0x3b, 0x73, 0x9a, 0x35, 0x66, 0x4d, 0x9c, 0xdf, 0x8a, 0x73,
-  0x6d, 0xae, 0xaa, 0x14, 0xc4, 0x9b, 0xa8, 0x97, 0x3b, 0x5c, 0x41, 0xed,
-  0xca, 0xda, 0x7f, 0x4a, 0xbd, 0x2f, 0x08, 0x6f, 0x08, 0xb5, 0x40, 0xfc,
-  0x3d, 0xe4, 0x40, 0x44, 0x71, 0xe2, 0x2b, 0xeb, 0x63, 0xd4, 0x82, 0xb9,
-  0xfd, 0x60, 0x86, 0x78, 0x90, 0x7c, 0x64, 0x44, 0x65, 0x88, 0xb3, 0x04,
-  0xed, 0x7d, 0xe6, 0x96, 0xc8, 0xad, 0x03, 0xb9, 0x64, 0x84, 0x1c, 0x60,
-  0xe8, 0x49, 0x6f, 0x2b, 0x4f, 0xd4, 0x9d, 0x2d, 0x9c, 0xf0, 0xc1, 0xbe,
-  0x94, 0x57, 0xdd, 0x57, 0x58, 0x1e, 0x9f, 0x93, 0xb8, 0x13, 0xfa, 0xc5,
-  0x61, 0x72, 0x06, 0x07, 0x52, 0x8b, 0x72, 0xf6, 0x8a, 0x37, 0xbf, 0x4b,
-  0x17, 0x6b, 0x6f, 0xdd, 0x17, 0x6e, 0x8d, 0xb5, 0x4b, 0x1a, 0xcd, 0xdf,
-  0x51, 0x31, 0x6b, 0xaf, 0x14, 0x75, 0x94, 0x66, 0xc9, 0xc5, 0xf1, 0xe5,
-  0x05, 0xc0, 0x48, 0x10, 0x01, 0xdd, 0x3b, 0xd7, 0x88, 0x84, 0x6d, 0x4b,
-  0x53, 0x28, 0x02, 0xcd, 0x29, 0x25, 0x4e, 0x44, 0x30, 0x97, 0x8d, 0x5d,
-  0x71, 0xfe, 0xa7, 0xbe, 0xc7, 0x70, 0x7a, 0xb3, 0xe6, 0x3c, 0xe5, 0x2e,
-  0x14, 0xd1, 0x66, 0xd9, 0xd9, 0xdf, 0x77, 0xb0, 0x0a, 0xae, 0xff, 0xc5,
-  0x37, 0xa9, 0x05, 0xca, 0x0e, 0x6d, 0xc4, 0x5e, 0xe1, 0xe5, 0xca, 0x2e,
-  0x4d, 0xcf, 0x31, 0xd8, 0x34, 0x88, 0xb7, 0xda, 0x8f, 0x8b, 0x16, 0x20,
-  0x9d, 0xb0, 0x09, 0xc5, 0xf8, 0x9c, 0xa7, 0x6e, 0x0a, 0x75, 0xa0, 0xd1,
-  0x89, 0x76, 0x77, 0x23, 0x50, 0xc8, 0x74, 0x6c, 0xc4, 0xaa, 0xa8, 0x76,
-  0x92, 0x26, 0x80, 0xb7, 0xd8, 0xe1, 0x07, 0x5d, 0xb3, 0x26, 0xc3, 0x63,
-  0x70, 0x45, 0x1e, 0x38, 0x9a, 0x31, 0x67, 0x64, 0xd8, 0x81, 0xb2, 0x94,
-  0xf9, 0x01, 0x69, 0x0b, 0x3a, 0x69, 0x1d, 0xf1, 0xc2, 0x39, 0x0d, 0x5a,
-  0x60, 0x2a, 0xf5, 0xa8, 0x39, 0xc5, 0x75, 0x1b, 0xf4, 0x2c, 0x90, 0xe0,
-  0xfb, 0xcf, 0xc2, 0x1d, 0x31, 0xba, 0x3c, 0xbb, 0x90, 0x1d, 0x16, 0x5e,
-  0xce, 0x6c, 0x39, 0xe2, 0x11, 0xc7, 0xb3, 0xd0, 0x8f, 0x14, 0xb8, 0xb6,
-  0x99, 0xc1, 0x96, 0xd2, 0xce, 0xfb, 0x2a, 0xcb, 0x80, 0x0b, 0xca, 0x6d,
-  0x91, 0xa1, 0x7d, 0x2f, 0xb9, 0xc0, 0x4a, 0xdf, 0xa8, 0x27, 0xd3, 0x7b,
-  0x89, 0x0f, 0xda, 0x19, 0x9f, 0x60, 0xce, 0x5b, 0xa5, 0x7d, 0x24, 0x19,
-  0xac, 0x44, 0xff, 0x28, 0xf8, 0x3e, 0x5b, 0x0a, 0xa7, 0xbb, 0x17, 0xf9,
-  0x10, 0x9d, 0x59, 0x82, 0x4e, 0x15, 0xf2, 0xba, 0x69, 0x3c, 0x23, 0x19,
-  0x45, 0x99, 0x48, 0x5a, 0x30, 0x89, 0xa5, 0xa0, 0x35, 0x52, 0x8a, 0xaa,
-  0x74, 0x57, 0x7b, 0x62, 0x54, 0x65, 0xa5, 0xec, 0x93, 0xcb, 0x53, 0x6d,
-  0x07, 0xa7, 0x76, 0xbb, 0x9b, 0xff, 0xfc, 0xec, 0xe2, 0xd2, 0xde, 0xfb,
-  0xf4, 0x59, 0xfc, 0xa0, 0x73, 0x7e, 0x88, 0x24, 0x5f, 0xd2, 0x3a, 0xe4,
-  0x76, 0x43, 0xa9, 0xab, 0x8d, 0x68, 0xfa, 0xb1, 0x2c, 0x0a, 0xda, 0xd1,
-  0x86, 0x88, 0x4b, 0x86, 0x48, 0x55, 0xa7, 0xcc, 0x62, 0x91, 0x3a, 0xb0,
-  0xb8, 0xb8, 0x80, 0xe9, 0xc2, 0x89, 0x97, 0x37, 0x72, 0x4a, 0xee, 0x93,
-  0xbd, 0x70, 0x77, 0x90, 0x51, 0x7d, 0x71, 0x4c, 0xa5, 0xce, 0x2f, 0x6f,
-  0xf8, 0x6f, 0x41, 0xdf, 0x39, 0x31, 0x50, 0x7e, 0x18, 0xfa, 0x00, 0xed,
-  0xee, 0xa0, 0xb0, 0x9a, 0x31, 0x3f, 0xd0, 0xbe, 0x4d, 0x6f, 0xf5, 0xe6,
-  0xec, 0x89, 0x07, 0xa1, 0x82, 0xd8, 0x94, 0xbd, 0x02, 0xa8, 0x29, 0x7e,
-  0xd0, 0x93, 0xaf, 0xf4, 0x8c, 0x72, 0xc6, 0x47, 0xa2, 0x45, 0xc8, 0xfb,
-  0xe4, 0xa9, 0x6b, 0x61, 0x41, 0xf7, 0x95, 0x34, 0x70, 0xa2, 0xd5, 0xa4,
-  0xe8, 0x87, 0x03, 0xdd, 0x2e, 0xb8, 0x32, 0x78, 0x63, 0xf0, 0x73, 0xae,
-  0x9d, 0x67, 0x36, 0x8d, 0x5d, 0x15, 0x06, 0xaf, 0x2b, 0xf4, 0x63, 0xc5,
-  0xae, 0x40, 0xe7, 0xe8, 0x6c, 0xbb, 0x27, 0xbc, 0xdb, 0xbf, 0x4e, 0x91,
-  0xea, 0x22, 0x58, 0x2c, 0x1e, 0xbb, 0x77, 0xb7, 0x92, 0xca, 0x95, 0x17,
-  0xcb, 0x0c, 0x9a, 0x5a, 0x5a, 0xcd, 0x88, 0xfd, 0xdb, 0x08, 0x12, 0x98,
-  0x8b, 0xf4, 0x56, 0x20, 0x75, 0x4b, 0x9f, 0x7e, 0xe2, 0x89, 0xdc, 0x42,
-  0x27, 0xa7, 0xc7, 0x6e, 0xa9, 0x98, 0x39, 0x1c, 0x07, 0xd9, 0x69, 0xfc,
-  0x54, 0x01, 0xd2, 0x5e, 0x15, 0xc3, 0xe4, 0x9c, 0x4a, 0xfb, 0x41, 0x73,
-  0xaa, 0xff, 0xdd, 0xb5, 0xc6, 0x07, 0x05, 0x0e, 0x64, 0x73, 0x79, 0x22,
-  0xd9, 0x31, 0x2f, 0xcc, 0xca, 0xe2, 0x27, 0xf4, 0x57, 0x8f, 0xe5, 0x36,
-  0x18, 0xee, 0x0b, 0xf7, 0x72, 0x6d, 0x46, 0x62, 0xec, 0xf6, 0xee, 0x23,
-  0x4f, 0x65, 0x5f, 0x19, 0xa3, 0x9e, 0xcb, 0x48, 0xab, 0x68, 0xa6, 0xf3,
-  0xac, 0x75, 0xac, 0xb9, 0x85, 0x2b, 0x7d, 0xa6, 0x25, 0xc2, 0xbd, 0xa6,
-  0xf8, 0x42, 0x38, 0x1c, 0xdb, 0xba, 0x11, 0x84, 0x7d, 0x24, 0x75, 0xce,
-  0xb4, 0x55, 0x90, 0xb4, 0x9d, 0x59, 0x00, 0xb1, 0x1f, 0xc2, 0xc4, 0xd4,
-  0x5a, 0xb6, 0x98, 0xee, 0xe4, 0x76, 0xea, 0x14, 0x3e, 0xe5, 0x9d, 0x68,
-  0xb7, 0x8d, 0xbd, 0xc3, 0x5a, 0xbd, 0x13, 0xd0, 0xa5, 0xb0, 0x5e, 0x91,
-  0x17, 0x81, 0xdc, 0xd9, 0xe6, 0x86, 0xf7, 0x4d, 0x80, 0xa7, 0xcf, 0x5c,
-  0x53, 0x57, 0xa0, 0xee, 0x50, 0xd9, 0x7e, 0xd8, 0x92, 0x3f, 0x96, 0x58,
-  0x3c, 0xb7, 0x4f, 0xb2, 0xe5, 0xc8, 0x99, 0xa7, 0x91, 0x23, 0xe5, 0x7d,
-  0x83, 0x37, 0xc3, 0x65, 0x49, 0xdc, 0x23, 0xc5, 0xbd, 0x03, 0x14, 0x4b,
-  0x6d, 0x3b, 0xf6, 0xa3, 0x71, 0xe9, 0x02, 0xf9, 0x8d, 0x90, 0x9a, 0xdd,
-  0x88, 0xb7, 0x86, 0xca, 0x63, 0x05, 0x8c, 0xb5, 0xcb, 0xb9, 0x00, 0x13,
-  0xbd, 0x2f, 0x7d, 0x2e, 0xae, 0x0d, 0x2e, 0x24, 0x6e, 0x9d, 0x01, 0xbe,
-  0x20, 0x2d, 0x2d, 0x4f, 0x85, 0x46, 0xa2, 0x8d, 0x78, 0x9c, 0xa4, 0x16,
-  0xd7, 0x18, 0x32, 0x6c, 0x11, 0x6f, 0x11, 0x5d, 0xc6, 0xa2, 0xf2, 0x6a,
-  0x94, 0xb6, 0xd4, 0xcc, 0x42, 0x09, 0x72, 0xcb, 0x63, 0xfc, 0x2b, 0xe5,
-  0x47, 0x88, 0xf8, 0x99, 0xab, 0xec, 0xaf, 0x50, 0x27, 0x87, 0x7c, 0xe1,
-  0x70, 0x92, 0x10, 0x8f, 0xb2, 0x58, 0xa6, 0x9e, 0x4d, 0xff, 0xf4, 0x85,
-  0xf8, 0xad, 0xc4, 0x2f, 0xa2, 0x45, 0x34, 0xbb, 0xd1, 0xb1, 0x67, 0x7b,
-  0xd6, 0x77, 0x49, 0x30, 0x40, 0x01, 0xb7, 0xfb, 0x60, 0x40, 0x23, 0xdc,
-  0x46, 0xa3, 0x6f, 0x93, 0xb7, 0xaf, 0x9f, 0x11, 0x22, 0xe5, 0x3a, 0xab,
-  0x16, 0xc6, 0x6a, 0x71, 0x86, 0xf9, 0xd9, 0x77, 0x5e, 0x63, 0xfb, 0x0e,
-  0x3c, 0xa0, 0x38, 0x05, 0x11, 0x66, 0x62, 0x35, 0x98, 0x25, 0xa4, 0x6c,
-  0xca, 0xeb, 0xbe, 0x64, 0x46, 0x2b, 0x8b, 0x97, 0x57, 0x4d, 0x3a, 0xa0,
-  0x88, 0xea, 0x08, 0xb0, 0x67, 0x4f, 0x9c, 0x00, 0xa3, 0x7a, 0xf1, 0x44,
-  0x52, 0x78, 0x4d, 0xc6, 0x41, 0xe4, 0x44, 0x3d, 0x63, 0xa1, 0x79, 0xc4,
-  0xe7, 0x9e, 0x14, 0xd9, 0xf0, 0x35, 0x28, 0xe9, 0x70, 0xa0, 0x7a, 0xef,
-  0x3d, 0xf3, 0x7d, 0x0b, 0x44, 0x97, 0x08, 0xa4, 0x0f, 0x93, 0xa4, 0x43,
-  0x4b, 0xf1, 0x9e, 0x7d, 0x6e, 0x9f, 0x25, 0x47, 0x52, 0x5e, 0x78, 0x45,
-  0x2d, 0x56, 0xbc, 0x21, 0x0a, 0xb0, 0x9a, 0x09, 0xaa, 0x9a, 0xb1, 0xce,
-  0xe3, 0xcd, 0xbd, 0xf7, 0xca, 0x8b, 0xb6, 0xeb, 0x04, 0x8c, 0xd2, 0x76,
-  0x63, 0x62, 0x50, 0xf9, 0xe2, 0xc6, 0x3f, 0x9c, 0xcf, 0xf9, 0x96, 0x3e,
-  0xef, 0x62, 0x3b, 0x55, 0x06, 0x66, 0x3e, 0x7f, 0x80, 0x1e, 0x75, 0xde,
-  0xfa, 0x47, 0x87, 0xc9, 0xaa, 0xcc, 0x06, 0xec, 0x75, 0xef, 0x23, 0x7b,
-  0x72, 0x66, 0xa8, 0xba, 0xdb, 0x75, 0x91, 0xff, 0x3d, 0xf3, 0xc0, 0x4c,
-  0x5a, 0x90, 0xc4, 0x7b, 0x7c, 0x5f, 0x04, 0xc6, 0x6d, 0x3a, 0xcb, 0x45,
-  0x28, 0x52, 0xec, 0xcf, 0x3d, 0xf0, 0x44, 0x76, 0x2d, 0x57, 0xb4, 0xe3,
-  0xd0, 0x3d, 0x55, 0xa4, 0xa4, 0xc8, 0x73, 0xd6, 0xc2, 0x0a, 0x3f, 0x7f,
-  0x2a, 0x7a, 0x97, 0xea, 0xc6, 0x74, 0xf3, 0xd2, 0x44, 0xcc, 0x40, 0xc7,
-  0xd6, 0x15, 0xd3, 0xcf, 0xe5, 0xda, 0x93, 0xa5, 0x94, 0x82, 0x84, 0xa9,
-  0x2b, 0xef, 0x42, 0x7f, 0xbd, 0xcb, 0x0b, 0xc1, 0xef, 0x06, 0xaf, 0x3f,
-  0x5f, 0xe1, 0x8f, 0x94, 0x12, 0xed, 0xc7, 0xd8, 0x4b, 0xde, 0xf3, 0x9f,
-  0x79, 0x49, 0x99, 0x20, 0x0f, 0x66, 0x36, 0x3b, 0xcb, 0x63, 0xd6, 0xf7,
-  0x9c, 0x10, 0xf6, 0x2c, 0xb1, 0x23, 0x45, 0xea, 0x58, 0x47, 0x98, 0x86,
-  0xaf, 0xec, 0xe7, 0x67, 0x25, 0x49, 0x53, 0xef, 0x7b, 0xbc, 0xa5, 0xde,
-  0x80, 0xc0, 0xdc, 0x19, 0x07, 0x45, 0xab, 0x24, 0xab, 0x7b, 0xfa, 0x85,
-  0xec, 0x0d, 0xbd, 0x2f, 0xad, 0xc9, 0xba, 0xea, 0x8d, 0xcf, 0x76, 0x7d,
-  0x85, 0x75, 0x4a, 0xd1, 0x45, 0xce, 0x0d, 0x5e, 0xf9, 0x02, 0xef, 0x8c,
-  0x93, 0x19, 0x15, 0x38, 0x9d, 0x69, 0x55, 0x52, 0xe5, 0x32, 0x73, 0x8f,
-  0xed, 0xb7, 0x84, 0xee, 0xa5, 0xaf, 0x3e, 0x25, 0x27, 0xaf, 0xbd, 0x07,
-  0x9f, 0xb8, 0x01, 0xa6, 0x33, 0xd2, 0x06, 0xee, 0xd9, 0x5b, 0x55, 0x4b,
-  0xb5, 0x56, 0xef, 0x51, 0xde, 0x19, 0xef, 0x4a, 0xe6, 0xdc, 0xc1, 0xf4,
-  0x07, 0xcf, 0xf0, 0x76, 0x38, 0xba, 0x31, 0xb7, 0xda, 0xa4, 0x01, 0xa8,
-  0xb1, 0xd0, 0x98, 0x57, 0x77, 0xed, 0x3f, 0x7b, 0xbe, 0xe6, 0x59, 0xb9,
-  0x34, 0x6b, 0x7b, 0xd5, 0x7b, 0xef, 0x7d, 0x16, 0x1e, 0x73, 0x35, 0x09,
-  0x14, 0x7a, 0x6d, 0x8e, 0x1a, 0x9d, 0xb4, 0x64, 0x8b, 0xd2, 0x3f, 0xff,
-  0x5d, 0xdd, 0x83, 0x15, 0xb1, 0x89, 0xd5, 0xff, 0xee, 0xf7, 0xf7, 0x73,
-  0x3f, 0x31, 0x89, 0x7d, 0x83, 0x55, 0x86, 0xe8, 0xc1, 0xa4, 0x45, 0x1f,
-  0xee, 0x20, 0x2e, 0x98, 0x1d, 0xaf, 0x05, 0x5e, 0x73, 0xa3, 0x47, 0x2c,
-  0x0b, 0x27, 0x39, 0xd8, 0x10, 0x94, 0x6c, 0xeb, 0xa9, 0x4f, 0x3c, 0x47,
-  0x32, 0x5f, 0xfc, 0x50, 0x9e, 0x27, 0x75, 0xb7, 0x73, 0x0c, 0xea, 0x9b,
-  0x25, 0x9b, 0xdd, 0x76, 0x44, 0xce, 0xcd, 0xe6, 0xbd, 0xb6, 0xef, 0xa4,
-  0x17, 0xfa, 0x06, 0xb5, 0xf1, 0xc8, 0xf4, 0x96, 0xed, 0x72, 0x4b, 0x28,
-  0x0d, 0x2f, 0xfc, 0x5d, 0x55, 0xd2, 0x5f, 0x95, 0x77, 0x60, 0x2b, 0x5d,
-  0x81, 0x2d, 0x14, 0x38, 0xb4, 0xf7, 0x19, 0x51, 0x6d, 0x08, 0xa1, 0x63,
-  0x56, 0xe9, 0x26, 0x9b, 0x7c, 0xd4, 0x23, 0x23, 0x8d, 0x38, 0x10, 0xb5,
-  0xf7, 0xd6, 0x53, 0x3b, 0xb5, 0x30, 0x69, 0x2e, 0x8e, 0xbb, 0x56, 0x80,
-  0x7b, 0x94, 0x77, 0xcd, 0xc5, 0xe5, 0xe8, 0xfc, 0x80, 0xfa, 0xcc, 0x71,
-  0x44, 0x73, 0x20, 0x8e, 0x46, 0xd9, 0xdf, 0x24, 0x77, 0xa6, 0x76, 0x4f,
-  0x3f, 0x5f, 0xf1, 0xf4, 0x48, 0xdc, 0x7b, 0x27, 0x53, 0x12, 0xbf, 0x66,
-  0x1d, 0xfc, 0x97, 0x3e, 0x13, 0x48, 0xa2, 0xfa, 0xf9, 0xd9, 0x0b, 0x46,
-  0x3d, 0x83, 0x34, 0x24, 0xc0, 0x80, 0x7b, 0xf8, 0x73, 0x67, 0xd3, 0xdc,
-  0x2c, 0x8b, 0x8f, 0x56, 0x5f, 0x14, 0x16, 0x2d, 0x5d, 0x60, 0xf7, 0xc2,
-  0x0b, 0x3d, 0x1a, 0x9e, 0x37, 0xd4, 0xc2, 0x76, 0xfa, 0xe2, 0xa5, 0xd0,
-  0xfa, 0xac, 0x1c, 0x03, 0x35, 0xf2, 0x75, 0xe9, 0xcd, 0xc1, 0x8b, 0x5d,
-  0x7b, 0xfd, 0x0a, 0x21, 0xc7, 0xc7, 0xec, 0xde, 0xed, 0x3a, 0x86, 0x19,
-  0x18, 0x75, 0x31, 0x2f, 0xc8, 0x09, 0xe1, 0x1e, 0x71, 0x0d, 0xec, 0xb5,
-  0x2e, 0x81, 0xae, 0xba, 0x41, 0x65, 0xe5, 0x97, 0xde, 0x15, 0xf3, 0x82,
-  0xf7, 0xce, 0x88, 0x42, 0x91, 0x73, 0xd9, 0xaf, 0x79, 0xa1, 0x3e, 0xb7,
-  0x8e, 0x23, 0x4d, 0x5f, 0xfa, 0xf1, 0x47, 0xbe, 0x47, 0x4a, 0xa5, 0x45,
-  0x91, 0x58, 0x96, 0x2d, 0x07, 0x62, 0x84, 0x2e, 0xab, 0x1e, 0x74, 0x84,
-  0x11, 0x00, 0xaa, 0xb2, 0x59, 0x46, 0x44, 0x83, 0x6c, 0x07, 0xe1, 0xf0,
-  0x0c, 0x02, 0x9b, 0x12, 0x15, 0xb1, 0x38, 0x86, 0x4b, 0xd8, 0x43, 0x38,
-  0x40, 0x0b, 0xf2, 0xbf, 0x89, 0x33, 0xcc, 0xf4, 0xe0, 0xf0, 0xfd, 0xe5,
-  0xb7, 0x67, 0x17, 0xa3, 0x64, 0x87, 0x32, 0x76, 0x2f, 0x2f, 0x4e, 0xbe,
-  0x7e, 0x7f, 0x69, 0xfe, 0xa9, 0x2d, 0xbd, 0x4e, 0x8b, 0xdc, 0xdc, 0x4e,
-  0xa3, 0x26, 0x2b, 0xcc, 0x5e, 0xb9, 0xd6, 0xaa, 0x1d, 0xe0, 0x22, 0xa2,
-  0xfb, 0xb8, 0xac, 0xb8, 0x72, 0x13, 0x08, 0x13, 0x6e, 0x4a, 0x59, 0x70,
-  0x00, 0x44, 0xe0, 0xc7, 0x26, 0x88, 0x5a, 0xe9, 0x6c, 0xe7, 0xbc, 0x9d,
-  0x85, 0x9d, 0x28, 0xea, 0x24, 0xb9, 0xfc, 0xf6, 0xf0, 0xdd, 0x77, 0x23,
-  0x65, 0x74, 0xff, 0xe1, 0x87, 0x1f, 0xba, 0x11, 0x5f, 0xe8, 0xb0, 0x37,
-  0xe9, 0xa7, 0x4f, 0xc3, 0x3a, 0xdb, 0xd8, 0x18, 0x1d, 0x1f, 0x27, 0x87,
-  0xa7, 0xa3, 0xb3, 0x0d, 0x97, 0xa7, 0xbe, 0xb5, 0xb7, 0x6d, 0x94, 0xb4,
-  0xeb, 0xac, 0x31, 0x7f, 0xd9, 0xd8, 0x38, 0x3d, 0xbc, 0x24, 0xeb, 0x58,
-  0x4a, 0xcf, 0xd2, 0x3c, 0x13, 0xe5, 0x44, 0x3a, 0xbb, 0x23, 0x8a, 0xbd,
-  0xab, 0x1c, 0x40, 0xf0, 0x3b, 0x2d, 0x5a, 0x2f, 0xac, 0x93, 0xac, 0xf3,
-  0x33, 0x58, 0xec, 0x8e, 0x78, 0x40, 0x04, 0xcc, 0x45, 0x40, 0x55, 0x33,
-  0x26, 0x65, 0x4f, 0xdb, 0x48, 0x9c, 0x87, 0x8c, 0x69, 0x0a, 0xb2, 0x31,
-  0x97, 0x1d, 0xee, 0x33, 0x2a, 0x13, 0xe8, 0x3c, 0x8f, 0x9b, 0x61, 0xc5,
-  0x10, 0x4e, 0x88, 0x32, 0x35, 0x79, 0x3f, 0x3a, 0xfc, 0xe6, 0x98, 0x9e,
-  0xfd, 0x26, 0x6b, 0xdc, 0xd4, 0xc2, 0xbb, 0x86, 0xaf, 0xbc, 0xcb, 0x9a,
-  0x7a, 0x92, 0x2e, 0xb2, 0x4d, 0xea, 0xd3, 0x78, 0x20, 0xe5, 0x08, 0x5c,
-  0xe3, 0x6c, 0x3a, 0xb8, 0x1a, 0x0a, 0x85, 0x3c, 0x8f, 0x6a, 0x07, 0x7e,
-  0xbb, 0x17, 0xc7, 0x87, 0xaf, 0xdf, 0x1e, 0x6b, 0xf1, 0x6a, 0xa6, 0x2b,
-  0x35, 0x8d, 0xde, 0x50, 0x51, 0x6f, 0x17, 0x5d, 0x21, 0x55, 0x62, 0x69,
-  0xda, 0x30, 0xbf, 0xa1, 0x02, 0xdb, 0xf1, 0xcf, 0xb9, 0xd2, 0x0a, 0x78,
-  0x76, 0x78, 0x95, 0xef, 0x70, 0xeb, 0xfa, 0xbd, 0xd4, 0xce, 0x09, 0x0f,
-  0x22, 0x55, 0xed, 0x9a, 0xdd, 0x1f, 0xf0, 0x9b, 0x7c, 0xbe, 0xbb, 0xbb,
-  0xbb, 0x66, 0x1c, 0x30, 0x3f, 0xe4, 0x92, 0x36, 0x43, 0x39, 0xa0, 0xc7,
-  0x77, 0x5c, 0xfb, 0xae, 0xc7, 0xb4, 0xdf, 0xb0, 0x6e, 0x57, 0x64, 0xbd,
-  0xe3, 0x6a, 0xcf, 0x9b, 0x2c, 0xde, 0xe5, 0x49, 0x59, 0xda, 0x15, 0x68,
-  0x4d, 0x0e, 0xca, 0x0a, 0xe7, 0x8d, 0xc7, 0x86, 0xa8, 0x1d, 0x37, 0xe6,
-  0x12, 0x18, 0xb8, 0xaa, 0xfb, 0x6e, 0x93, 0xf4, 0x1b, 0x60, 0x76, 0x26,
-  0xcd, 0xb0, 0xac, 0xae, 0x77, 0xe6, 0x07, 0xd0, 0x80, 0xcc, 0x43, 0x6f,
-  0x08, 0x01, 0x9c, 0x18, 0x4d, 0xda, 0xb2, 0x6b, 0xd4, 0x34, 0xb1, 0xa5,
-  0xb9, 0xfa, 0x1e, 0xd1, 0xaf, 0x5f, 0x30, 0x0b, 0x4c, 0x8c, 0x74, 0xa5,
-  0x23, 0xd7, 0x52, 0x83, 0x91, 0x8f, 0xd0, 0xfe, 0x83, 0x73, 0x72, 0x68,
-  0x64, 0x81, 0xf9, 0x0a, 0x31, 0x74, 0x61, 0x8b, 0x98, 0xbf, 0x56, 0x66,
-  0xcb, 0x0c, 0x9b, 0x4f, 0x10, 0xd3, 0x52, 0x4b, 0x95, 0x93, 0x29, 0x29,
-  0xfa, 0xbf, 0xa0, 0x92, 0xed, 0x15, 0xb1, 0xe6, 0xf2, 0x17, 0xcc, 0x01,
-  0xd2, 0x7a, 0xde, 0x16, 0xe8, 0x48, 0x0d, 0x77, 0xbf, 0x39, 0x18, 0x60,
-  0xff, 0xd4, 0x76, 0xb7, 0x3c, 0xe2, 0xe3, 0xde, 0xa0, 0x78, 0xf6, 0x0b,
-  0xb9, 0xd5, 0xbd, 0xbd, 0x33, 0x32, 0xbd, 0x08, 0xbe, 0xb5, 0x74, 0xd5,
-  0x60, 0x6b, 0xfe, 0x9c, 0x5f, 0xf3, 0xc3, 0xac, 0xc6, 0x0e, 0x50, 0xb0,
-  0x8f, 0xfe, 0xc6, 0xd1, 0xb9, 0x25, 0xd3, 0x37, 0x63, 0xbf, 0xa5, 0xc1,
-  0xd3, 0x8d, 0x60, 0xee, 0x76, 0xba, 0x32, 0x54, 0x25, 0x06, 0xfc, 0x10,
-  0xd6, 0x2d, 0xea, 0xf9, 0xf8, 0xe6, 0xc9, 0x9a, 0x1e, 0x1e, 0x98, 0xa9,
+  0x14, 0xff, 0x37, 0x9f, 0xb2, 0xcf, 0x3b, 0x5a, 0x20, 0xd8, 0x14, 0x1f,
+  0x59, 0x3a, 0x8a, 0x30, 0xcc, 0xa4, 0x6b, 0xed, 0x58, 0xe2, 0xb3, 0x38,
+  0xf3, 0x38, 0x33, 0xe8, 0x44, 0xc2, 0xf8, 0xc0, 0xd2, 0x61, 0x3e, 0x9e,
+  0x59, 0x99, 0xa7, 0x99, 0xc1, 0x6b, 0x1b, 0x0e, 0xfd, 0x53, 0xca, 0x3c,
+  0x8a, 0x84, 0x4b, 0x5b, 0x6d, 0x4c, 0x35, 0x08, 0x1d, 0xd7, 0xb5, 0xb9,
+  0xdb, 0x17, 0x39, 0x6b, 0x0c, 0x46, 0x7b, 0xa1, 0xc2, 0x17, 0x5f, 0x8f,
+  0x46, 0x83, 0xc3, 0xf3, 0x93, 0xee, 0xc9, 0x6b, 0x7f, 0x4f, 0x2b, 0x73,
+  0x3f, 0x5b, 0x59, 0x49, 0x6a, 0x35, 0x46, 0xa2, 0xfd, 0x6d, 0xa3, 0xea,
+  0x76, 0x27, 0xf6, 0xb0, 0x6e, 0x81, 0x00, 0xa5, 0x43, 0x3e, 0x8d, 0xb1,
+  0xf0, 0x6f, 0x72, 0x22, 0x1f, 0x67, 0x95, 0x83, 0x16, 0x0c, 0x4f, 0x04,
+  0x90, 0x49, 0x10, 0x65, 0x80, 0xe2, 0x22, 0xd9, 0x7b, 0xf1, 0x7c, 0xcf,
+  0x1c, 0x8c, 0x7b, 0xe6, 0x89, 0x93, 0xf7, 0x9f, 0x0e, 0x9f, 0xec, 0x3c,
+  0x1d, 0x3e, 0x25, 0xb9, 0xe6, 0x82, 0x18, 0xd2, 0xbe, 0x91, 0x77, 0x11,
+  0xc8, 0x00, 0x75, 0xeb, 0xdd, 0xf1, 0x51, 0xc2, 0xb8, 0x32, 0x90, 0x86,
+  0x25, 0xc8, 0x72, 0xa1, 0x94, 0x19, 0x59, 0x11, 0x84, 0xb5, 0x49, 0x94,
+  0x0e, 0x2d, 0xd1, 0xd8, 0x22, 0xc2, 0x49, 0x1d, 0x99, 0x0e, 0x4b, 0xf9,
+  0x8c, 0xc4, 0xf2, 0xc2, 0xf6, 0x84, 0x24, 0x1e, 0x1b, 0x16, 0x32, 0x33,
+  0x8b, 0x48, 0x55, 0x5a, 0x7f, 0x4e, 0x1e, 0x49, 0xfc, 0x4c, 0x05, 0x54,
+  0x57, 0xaf, 0x8f, 0x1a, 0x30, 0x2b, 0x4c, 0x20, 0xe7, 0x9e, 0x0c, 0x2c,
+  0x1d, 0x91, 0x88, 0x8a, 0x8b, 0x23, 0x17, 0xcb, 0x64, 0x6e, 0x8d, 0x92,
+  0xab, 0xbf, 0x4d, 0x8b, 0xe1, 0x2f, 0xb5, 0xa8, 0x22, 0x2a, 0x71, 0xdb,
+  0x70, 0xe2, 0xbe, 0x8b, 0xa8, 0x16, 0x83, 0x69, 0xd5, 0x88, 0xd8, 0x48,
+  0xea, 0xfa, 0x02, 0xb0, 0x01, 0xe8, 0x34, 0xb3, 0x09, 0xe5, 0x35, 0x64,
+  0x5b, 0x5f, 0xd7, 0x78, 0x24, 0x77, 0xc0, 0x7d, 0x6b, 0xa7, 0xca, 0xd2,
+  0x99, 0xbc, 0x28, 0xc6, 0x1b, 0x7c, 0x6f, 0xc1, 0x2f, 0xaf, 0x50, 0xe3,
+  0xa5, 0x0e, 0x98, 0x96, 0xee, 0x80, 0xf7, 0xb3, 0x44, 0x63, 0xfc, 0xb4,
+  0x05, 0x50, 0x78, 0x5c, 0xea, 0x95, 0xb9, 0x50, 0xf2, 0x45, 0x3a, 0x4b,
+  0x1e, 0x01, 0xfd, 0x5d, 0xbd, 0xf8, 0x0f, 0x4a, 0x3c, 0x3d, 0x9b, 0x31,
+  0x39, 0x67, 0x73, 0x6d, 0xe1, 0x59, 0x21, 0x30, 0x7e, 0xf7, 0xd2, 0x63,
+  0x09, 0xd2, 0x92, 0x74, 0x2b, 0x1a, 0xa4, 0xec, 0x66, 0x11, 0x68, 0x8e,
+  0x74, 0xa5, 0x1b, 0xd9, 0x36, 0xb6, 0xa4, 0x52, 0x9b, 0x4d, 0xca, 0xf9,
+  0xc2, 0x05, 0x0c, 0xb4, 0x51, 0xc9, 0x4a, 0x23, 0x3c, 0x52, 0x5b, 0x0c,
+  0xc6, 0xc4, 0x3b, 0xd7, 0x62, 0x9e, 0x3c, 0x42, 0xf8, 0xfe, 0x16, 0xc2,
+  0x90, 0x94, 0x38, 0xf6, 0x34, 0x3c, 0xa0, 0xce, 0x05, 0xb5, 0x13, 0xfc,
+  0xeb, 0x22, 0xd9, 0x42, 0x7c, 0x36, 0xf3, 0xb9, 0xe8, 0x34, 0x5e, 0x1e,
+  0xfa, 0xa9, 0x10, 0x1a, 0xa3, 0x8f, 0x6e, 0x3f, 0x68, 0x5a, 0x59, 0xc5,
+  0x2f, 0x61, 0xa0, 0x27, 0x54, 0xbf, 0x90, 0xe4, 0xe6, 0xff, 0x06, 0x45,
+  0xf0, 0x59, 0x62, 0xd7, 0xea, 0x31, 0xfa, 0x20, 0x33, 0x31, 0x73, 0xd1,
+  0xcf, 0x80, 0x64, 0xc8, 0x19, 0x5d, 0xff, 0x4f, 0x1f, 0xfc, 0xff, 0x25,
+  0x7d, 0xf0, 0x57, 0x9f, 0x52, 0x25, 0x97, 0x1c, 0x28, 0xf4, 0xd0, 0x9e,
+  0x4d, 0x77, 0x1a, 0x63, 0x78, 0xe0, 0xd9, 0xfd, 0xe3, 0x8f, 0xa8, 0x77,
+  0x42, 0x93, 0x70, 0x2b, 0xfc, 0xdf, 0x71, 0x44, 0x1f, 0x75, 0x32, 0xff,
+  0x9f, 0xf7, 0xe3, 0xbf, 0xdb, 0x39, 0x5c, 0xad, 0x0d, 0x6e, 0x99, 0x4d,
+  0x76, 0x47, 0xa5, 0x0e, 0xb8, 0xd8, 0x08, 0x2c, 0xed, 0x6d, 0xa7, 0xf9,
+  0x50, 0xb2, 0x0c, 0xcf, 0xdd, 0xc9, 0xf9, 0x77, 0xcf, 0xfb, 0x08, 0x61,
+  0x8d, 0xba, 0x51, 0xcb, 0x2a, 0x39, 0x7d, 0x7d, 0x78, 0xfe, 0x0b, 0x4e,
+  0xfb, 0x5f, 0xe0, 0x87, 0x5e, 0x64, 0xd9, 0x74, 0xc0, 0x11, 0x92, 0x97,
+  0xf8, 0x47, 0x24, 0xa6, 0x98, 0xda, 0x04, 0x78, 0x6c, 0x5b, 0x0a, 0x9c,
+  0x84, 0xb1, 0x5a, 0xbc, 0x6c, 0xd4, 0x94, 0x42, 0x68, 0x29, 0x16, 0xa8,
+  0xca, 0x13, 0x78, 0x59, 0xca, 0x62, 0xba, 0xcd, 0xb9, 0x38, 0xf8, 0x32,
+  0xb6, 0x8a, 0x84, 0xd8, 0xe9, 0x78, 0x5f, 0x13, 0x75, 0x95, 0xe5, 0xff,
+  0xf3, 0x9e, 0x51, 0x4a, 0xd7, 0x28, 0xe2, 0xe3, 0xde, 0x0d, 0x85, 0x83,
+  0x3b, 0x4c, 0x31, 0xf5, 0x64, 0x97, 0x0b, 0xdb, 0x23, 0x17, 0xf8, 0x77,
+  0x4c, 0x88, 0xef, 0x7e, 0x7e, 0x15, 0x66, 0x60, 0xed, 0x54, 0xfa, 0x2b,
+  0xd1, 0x9a, 0x41, 0x8a, 0x05, 0x4e, 0x97, 0x55, 0x58, 0xc8, 0x2b, 0xf5,
+  0xe7, 0x87, 0xa3, 0xe4, 0xdc, 0x5f, 0xfb, 0x89, 0xf6, 0x6c, 0x9a, 0xcf,
+  0x7b, 0x2f, 0x04, 0x36, 0x35, 0xe7, 0x8c, 0x74, 0xea, 0x2f, 0xfb, 0xbd,
+  0x92, 0x48, 0x23, 0xf1, 0xe9, 0xab, 0x7f, 0xdf, 0x01, 0x7e, 0xff, 0x12,
+  0x82, 0xbd, 0xbc, 0x77, 0xd7, 0x23, 0x9d, 0xca, 0xa2, 0xa9, 0x88, 0x4a,
+  0x59, 0xe3, 0xa4, 0xca, 0x4b, 0xbd, 0xac, 0xfd, 0x6a, 0x8c, 0x49, 0xca,
+  0xa5, 0xcd, 0x31, 0x6b, 0x21, 0xa3, 0x21, 0x9f, 0xef, 0x24, 0x6b, 0x26,
+  0x43, 0xb7, 0xb6, 0xe0, 0x19, 0xa3, 0xaa, 0xe7, 0x46, 0xc9, 0xd5, 0xc2,
+  0x90, 0x66, 0x8e, 0xaa, 0x7b, 0xe1, 0xc4, 0x59, 0xe1, 0xad, 0xd0, 0x60,
+  0xff, 0x0a, 0xfc, 0xf3, 0x6f, 0x88, 0xf7, 0x5c, 0x5f, 0x80, 0x28, 0xcc,
+  0xf1, 0x56, 0xf3, 0xc4, 0x8a, 0x85, 0x14, 0xc5, 0xc7, 0x69, 0x2f, 0x50,
+  0x9d, 0xc2, 0xbc, 0xb9, 0x27, 0x9a, 0x80, 0x3b, 0x49, 0x56, 0xe9, 0xca,
+  0xfb, 0xd1, 0xe9, 0x13, 0xc6, 0x7e, 0x5e, 0x9e, 0x8e, 0x7c, 0xbe, 0xed,
+  0x1a, 0xa5, 0x2b, 0x91, 0x9f, 0xf4, 0xd5, 0xf1, 0xe1, 0xe8, 0x72, 0x18,
+  0x19, 0x63, 0x88, 0x0a, 0x71, 0x09, 0x8b, 0xc4, 0x3d, 0x34, 0x4b, 0xef,
+  0x89, 0xe2, 0x4e, 0xb2, 0x9e, 0xa8, 0x6f, 0xdc, 0x35, 0x6d, 0x9b, 0xcc,
+  0x5c, 0x46, 0x66, 0x03, 0x57, 0x14, 0x52, 0x53, 0x99, 0xb9, 0x1b, 0xe7,
+  0x33, 0x1a, 0x81, 0xe9, 0x96, 0x31, 0x86, 0xe6, 0x82, 0x66, 0x46, 0x12,
+  0x6d, 0x39, 0x23, 0x38, 0x19, 0x7d, 0xa7, 0xed, 0x89, 0x20, 0x0e, 0x4d,
+  0xc9, 0x2c, 0x5e, 0x9d, 0x27, 0x68, 0xb4, 0x8c, 0xb2, 0xce, 0x84, 0xa7,
+  0x8c, 0xda, 0xd0, 0xb9, 0xea, 0x63, 0x32, 0x6c, 0x1a, 0x01, 0x53, 0x90,
+  0x10, 0xcb, 0x42, 0x98, 0x84, 0x95, 0xd6, 0x1f, 0x15, 0x8d, 0x8e, 0xca,
+  0x5e, 0x84, 0x9c, 0x59, 0x0b, 0xac, 0xeb, 0x5a, 0x42, 0x66, 0xa1, 0x91,
+  0xb2, 0x4a, 0xa9, 0x0b, 0x5d, 0xdb, 0xee, 0xfb, 0x9c, 0x48, 0x7f, 0xb7,
+  0x3b, 0x5a, 0x4a, 0x7b, 0xc5, 0x35, 0x44, 0xee, 0x57, 0x1e, 0xa3, 0xd6,
+  0xe2, 0xa5, 0x7c, 0x92, 0xc9, 0x4d, 0x66, 0x6e, 0x91, 0xa1, 0x97, 0x78,
+  0xfd, 0xe8, 0x09, 0xd9, 0x08, 0x18, 0xba, 0x22, 0xd3, 0xf3, 0x8b, 0x27,
+  0xe4, 0xe9, 0xd3, 0x70, 0x42, 0xaa, 0xec, 0x6f, 0xd3, 0x18, 0xa9, 0x31,
+  0xc0, 0xe1, 0xc0, 0xa5, 0x33, 0x9e, 0xfb, 0x82, 0x99, 0x99, 0xa9, 0xab,
+  0x3b, 0x54, 0x02, 0x85, 0xbe, 0xcb, 0x98, 0x5d, 0xe5, 0xbb, 0x22, 0x03,
+  0x9b, 0x42, 0x90, 0x61, 0x45, 0xd4, 0x46, 0x12, 0xa6, 0xdd, 0xb3, 0x0a,
+  0x78, 0xea, 0x66, 0xeb, 0x0b, 0xca, 0x53, 0x3e, 0xb2, 0x56, 0x64, 0x11,
+  0xb4, 0x13, 0x85, 0x34, 0x28, 0xff, 0xcb, 0x9e, 0x9d, 0xc1, 0xe0, 0xaa,
+  0x59, 0xd8, 0x81, 0xad, 0xdd, 0x1d, 0xbb, 0xc1, 0x64, 0xac, 0x18, 0xfa,
+  0x65, 0x75, 0xef, 0x2a, 0x0b, 0xea, 0xf8, 0x3d, 0x90, 0xb1, 0x37, 0x05,
+  0x01, 0xa4, 0x8c, 0xaa, 0x74, 0x30, 0x62, 0x14, 0xd4, 0x42, 0x52, 0xc9,
+  0xf4, 0xb1, 0x13, 0x11, 0x0a, 0x0f, 0x4c, 0x4b, 0xab, 0xb8, 0xa3, 0x8e,
+  0x57, 0x44, 0xb8, 0x86, 0x47, 0x65, 0x06, 0xb8, 0x9b, 0x0c, 0x32, 0x1e,
+  0x84, 0xe4, 0xbf, 0xc6, 0x94, 0xbf, 0xcd, 0x66, 0xc8, 0xbf, 0xcc, 0x8a,
+  0x49, 0x75, 0xbf, 0xf0, 0x59, 0xb8, 0xa7, 0x0f, 0x68, 0xf0, 0x0f, 0xac,
+  0x40, 0x0b, 0xb4, 0xbf, 0x67, 0x64, 0xdd, 0x76, 0xa8, 0x7f, 0xa5, 0xb6,
+  0x62, 0x34, 0x33, 0x06, 0xd2, 0x25, 0xdc, 0xf8, 0x48, 0x66, 0x32, 0x62,
+  0xdc, 0xa5, 0x27, 0x3c, 0x77, 0x92, 0xfc, 0xd3, 0x55, 0xcd, 0xaf, 0x96,
+  0x20, 0x2e, 0xb2, 0x50, 0xe5, 0x47, 0xaf, 0xfd, 0x7e, 0x9f, 0x67, 0xec,
+  0x76, 0x3f, 0xc8, 0x65, 0x80, 0x48, 0x78, 0x43, 0x6e, 0x9a, 0x4e, 0xbd,
+  0x72, 0x3a, 0xb2, 0x5a, 0xd2, 0x68, 0x9f, 0xfd, 0x51, 0x7e, 0xcd, 0x44,
+  0x56, 0xb3, 0x03, 0x7c, 0x13, 0x12, 0x37, 0xf9, 0xb4, 0x73, 0x02, 0xdd,
+  0xc8, 0x48, 0x56, 0x06, 0x6f, 0xa9, 0x67, 0x69, 0xbc, 0xcc, 0x67, 0x8d,
+  0x97, 0x97, 0x68, 0x9e, 0xbe, 0xdd, 0x5f, 0xc9, 0x29, 0x3d, 0x94, 0xdf,
+  0x23, 0xcb, 0x74, 0x4a, 0xd5, 0x0b, 0x1c, 0xe1, 0x5d, 0x62, 0x2b, 0xe7,
+  0x02, 0xbc, 0x48, 0xfe, 0xe9, 0xe7, 0x7b, 0x9f, 0x3d, 0xdf, 0x8e, 0x06,
+  0xda, 0x79, 0x3b, 0x51, 0xd6, 0x51, 0xd3, 0x2c, 0x28, 0x7b, 0x4e, 0x36,
+  0x12, 0xfd, 0x73, 0x7f, 0xe8, 0xcf, 0x51, 0x58, 0x94, 0x20, 0x20, 0xfe,
+  0x99, 0xd2, 0x96, 0xa0, 0x69, 0x50, 0xe2, 0x76, 0xda, 0x2a, 0x3c, 0xb0,
+  0xa6, 0xb4, 0xa7, 0x1c, 0x5b, 0x39, 0x34, 0x0a, 0x83, 0x62, 0x95, 0x30,
+  0x12, 0x07, 0x4f, 0xb4, 0x03, 0x4f, 0xb8, 0x67, 0x5e, 0xfd, 0x37, 0xee,
+  0x29, 0xfe, 0x3e, 0x6c, 0xff, 0xcb, 0x0f, 0x68, 0xba, 0x06, 0x7e, 0xdd,
+  0x2a, 0x3f, 0xf9, 0xbd, 0x57, 0xf9, 0xc9, 0x03, 0xab, 0xfc, 0xe4, 0xb1,
+  0xab, 0xfc, 0xd9, 0xb3, 0xe7, 0x9f, 0xff, 0xba, 0x55, 0xf6, 0x26, 0xf9,
+  0xff, 0xcc, 0x2a, 0x7b, 0xdb, 0xec, 0xd7, 0xad, 0xb2, 0x00, 0x43, 0x02,
+  0x41, 0x2c, 0xa5, 0x32, 0x80, 0xe2, 0xa3, 0x64, 0x77, 0x86, 0x5d, 0xf2,
+  0xc3, 0x6a, 0x82, 0xb6, 0x19, 0x85, 0x6d, 0x9d, 0x2c, 0xa3, 0x88, 0x45,
+  0xcc, 0x6c, 0x97, 0xfb, 0x0f, 0x0d, 0x77, 0x31, 0xa3, 0x6a, 0x4b, 0x9b,
+  0x83, 0x4d, 0x75, 0x91, 0x68, 0x66, 0x93, 0x12, 0xd7, 0xf0, 0xd7, 0xcc,
+  0x62, 0xff, 0x13, 0x89, 0x8f, 0x42, 0xdc, 0x8c, 0x87, 0x7c, 0x6a, 0x4d,
+  0xda, 0x8a, 0xea, 0x1b, 0x31, 0x6c, 0x56, 0x50, 0xef, 0xc5, 0xf6, 0x98,
+  0x19, 0x82, 0x22, 0x85, 0x4d, 0x68, 0xf1, 0x09, 0x99, 0x1c, 0xa4, 0xce,
+  0x21, 0x79, 0x5a, 0xb0, 0x4f, 0x91, 0xba, 0x28, 0x82, 0xb5, 0xb3, 0xf5,
+  0xc5, 0xd7, 0x23, 0xe6, 0x09, 0x73, 0xda, 0x78, 0xf5, 0xe5, 0xc4, 0x2c,
+  0x7a, 0x4d, 0xdd, 0x9d, 0x2e, 0xe7, 0x0b, 0x25, 0xf1, 0xa2, 0xe4, 0x86,
+  0x1c, 0x08, 0x27, 0xcd, 0xe2, 0x8d, 0x96, 0xf0, 0x25, 0xff, 0x92, 0xcd,
+  0x75, 0x48, 0x18, 0xb1, 0xe4, 0x15, 0x59, 0xd3, 0xf2, 0x25, 0x9a, 0x94,
+  0xce, 0xa3, 0x00, 0xae, 0x8b, 0xf9, 0x83, 0xba, 0xb7, 0x2d, 0x9b, 0x4e,
+  0xa6, 0xe3, 0xd3, 0x6c, 0xbc, 0xbc, 0xd6, 0x4c, 0x58, 0x5b, 0x29, 0xaa,
+  0xbd, 0x58, 0x48, 0xc0, 0x20, 0x76, 0x8c, 0x4c, 0x0b, 0x03, 0x87, 0xa4,
+  0x00, 0x0d, 0x95, 0x49, 0x9b, 0xac, 0xc3, 0x4d, 0x05, 0x43, 0xc7, 0x1e,
+  0xc8, 0xfb, 0xde, 0xd0, 0xf1, 0x93, 0xd6, 0x8a, 0x46, 0x4a, 0xda, 0xf8,
+  0x5b, 0xa5, 0x99, 0x2c, 0x06, 0x57, 0x29, 0xd1, 0xea, 0x05, 0xa9, 0x90,
+  0x82, 0x95, 0x14, 0x17, 0xde, 0xe5, 0xd1, 0x79, 0xf2, 0x26, 0x95, 0x82,
+  0x1a, 0xc9, 0x96, 0x11, 0x4c, 0x9f, 0x3d, 0xdd, 0x7b, 0xb2, 0xbd, 0x56,
+  0x41, 0x6d, 0xd3, 0xc4, 0xe0, 0x5b, 0x45, 0x19, 0xc3, 0xac, 0x5e, 0x2e,
+  0xab, 0x42, 0xd3, 0xc6, 0xcc, 0x87, 0x3e, 0xbc, 0x3b, 0x7b, 0x7d, 0x7c,
+  0x7a, 0xf8, 0x17, 0x9b, 0xea, 0x4c, 0x73, 0xa0, 0x69, 0x72, 0x1f, 0x8c,
+  0x59, 0x77, 0xff, 0xc1, 0xd8, 0xc9, 0xe6, 0x97, 0x5b, 0x4f, 0xb6, 0x91,
+  0xb8, 0x13, 0x54, 0x57, 0xbb, 0xce, 0xda, 0x19, 0xe2, 0x0c, 0x20, 0x5e,
+  0x43, 0x74, 0xc2, 0x9e, 0x3b, 0x72, 0xdd, 0xed, 0x0e, 0x8d, 0xd4, 0x12,
+  0x44, 0x22, 0xd3, 0x7e, 0xbb, 0x4d, 0xea, 0x31, 0xf8, 0xa7, 0x42, 0x88,
+  0x24, 0xc9, 0xbe, 0x01, 0x69, 0xd7, 0x62, 0x96, 0x4f, 0x72, 0x52, 0xe3,
+  0x6b, 0xb3, 0x6f, 0x09, 0x71, 0x4d, 0x01, 0xea, 0xab, 0x36, 0xa1, 0x1a,
+  0x52, 0xcd, 0x80, 0x58, 0x5e, 0xeb, 0x65, 0x6a, 0x8b, 0xc4, 0x06, 0x32,
+  0x34, 0x9b, 0x15, 0x59, 0x33, 0x90, 0x6e, 0xbd, 0x34, 0x7f, 0xbe, 0xba,
+  0x4d, 0x67, 0x41, 0x12, 0x23, 0x15, 0x27, 0xd3, 0x9d, 0x69, 0x71, 0x85,
+  0xf4, 0xa6, 0x57, 0x2f, 0x60, 0x64, 0x89, 0xf3, 0xf5, 0x49, 0x73, 0x54,
+  0x02, 0x7e, 0xfc, 0xcb, 0xcb, 0xbf, 0x9c, 0x1f, 0xbf, 0x7a, 0x49, 0xa8,
+  0xc4, 0x2f, 0x09, 0x77, 0x5e, 0xb7, 0x40, 0x8a, 0x09, 0xd5, 0xce, 0x0d,
+  0xc6, 0xf0, 0xc3, 0xeb, 0x93, 0xd1, 0xf9, 0xe9, 0xd9, 0xd1, 0xab, 0x97,
+  0x3f, 0x90, 0xb1, 0x65, 0x64, 0xea, 0xbd, 0xf7, 0xae, 0xfd, 0x99, 0xe5,
+  0x00, 0x0f, 0xd3, 0xe0, 0x8f, 0xbf, 0xff, 0x70, 0xfc, 0xee, 0xbb, 0x57,
+  0x2f, 0x6f, 0xd3, 0xaa, 0x4f, 0xe3, 0xe3, 0xb7, 0x57, 0x54, 0xfe, 0x6b,
+  0x6d, 0x35, 0xd2, 0x5a, 0xc7, 0xb3, 0x8f, 0x75, 0xfe, 0xf7, 0x2c, 0x31,
+  0xaf, 0xcf, 0x96, 0x21, 0x05, 0xef, 0xa5, 0x14, 0x7a, 0x31, 0x97, 0x1a,
+  0xd9, 0x09, 0x5f, 0x9d, 0x7e, 0x4b, 0x34, 0x8f, 0xd6, 0x83, 0x38, 0xe7,
+  0xca, 0x22, 0xc9, 0x97, 0xcf, 0xf6, 0xf6, 0xb7, 0x5d, 0xd9, 0x3c, 0xd0,
+  0xc4, 0x9a, 0x1e, 0x7f, 0x0c, 0x72, 0x26, 0xfe, 0x2e, 0xd9, 0x1f, 0xae,
+  0xb6, 0x43, 0xc3, 0xa6, 0x86, 0x25, 0x65, 0x50, 0x77, 0x0c, 0xf2, 0xbb,
+  0x01, 0x0c, 0xa5, 0xaa, 0x83, 0x15, 0xe8, 0x72, 0x02, 0x57, 0xd4, 0xe5,
+  0x1b, 0x8f, 0x99, 0xe1, 0x2b, 0xb7, 0xf1, 0x4c, 0x77, 0xc4, 0x9d, 0xb5,
+  0xf6, 0xda, 0xf8, 0x1d, 0x83, 0x1c, 0x5d, 0x5b, 0x0b, 0x93, 0x6d, 0x4c,
+  0x71, 0xd9, 0x3f, 0xf1, 0x79, 0xf6, 0x82, 0xc1, 0xc8, 0xfe, 0x28, 0x99,
+  0x53, 0x0c, 0xa3, 0xd4, 0x8d, 0xa7, 0x09, 0xb0, 0x6b, 0x2d, 0xc5, 0x7c,
+  0x4e, 0x09, 0x83, 0x84, 0xd4, 0x67, 0xaf, 0x87, 0xe7, 0xd3, 0x98, 0x65,
+  0xd7, 0xe9, 0xe4, 0x3e, 0xb1, 0xdc, 0xa8, 0x96, 0xd7, 0x23, 0x92, 0xb1,
+  0x9f, 0xa4, 0x13, 0x32, 0x72, 0x66, 0xd9, 0x94, 0xa8, 0x94, 0xc8, 0xac,
+  0x62, 0x02, 0x00, 0x4a, 0xd3, 0x52, 0x87, 0x48, 0xab, 0x77, 0x52, 0x5b,
+  0x64, 0x75, 0x7e, 0x8b, 0x2d, 0x82, 0xd6, 0xde, 0x7d, 0xb4, 0x6d, 0x50,
+  0xd7, 0x73, 0xed, 0x9c, 0x3e, 0x6d, 0xbb, 0x92, 0xff, 0x8e, 0x43, 0x4e,
+  0xec, 0x31, 0xf0, 0x56, 0xbe, 0xa4, 0xbf, 0xc6, 0x39, 0xa4, 0xdf, 0xa8,
+  0x39, 0xcf, 0x65, 0x5b, 0x99, 0xaf, 0x9b, 0x86, 0x6d, 0x69, 0xbf, 0xa4,
+  0x26, 0x03, 0x31, 0x11, 0x37, 0xea, 0x1b, 0x5d, 0xcd, 0xcd, 0xc4, 0xbe,
+  0x61, 0x14, 0x1d, 0x36, 0x8f, 0x6b, 0x29, 0x97, 0x55, 0x4d, 0xda, 0xb4,
+  0xac, 0x30, 0x76, 0x81, 0xa4, 0x20, 0x8a, 0xd1, 0xbf, 0xa4, 0x86, 0x48,
+  0x22, 0x92, 0x4a, 0x62, 0x26, 0xea, 0x4b, 0x8d, 0x86, 0xa0, 0x6c, 0x47,
+  0x29, 0x84, 0x41, 0x78, 0x88, 0xa9, 0x0f, 0xea, 0x08, 0x5d, 0x8b, 0x2b,
+  0x07, 0x4f, 0x82, 0x93, 0x91, 0x0b, 0x14, 0x69, 0xb2, 0x94, 0xa8, 0xa6,
+  0x93, 0xb5, 0x2a, 0x6b, 0x94, 0x01, 0x05, 0xeb, 0xd5, 0x11, 0x26, 0xc6,
+  0xea, 0x1d, 0x6a, 0xb6, 0xce, 0xb5, 0xa5, 0xda, 0xe4, 0x71, 0x29, 0x48,
+  0x0a, 0x5d, 0x32, 0x82, 0x80, 0x86, 0xb2, 0xad, 0xa4, 0x56, 0x51, 0x32,
+  0x73, 0xab, 0x5b, 0xb2, 0x5a, 0x6e, 0xaf, 0x2a, 0xd3, 0x32, 0x35, 0x42,
+  0xd7, 0x94, 0xb9, 0xa5, 0x70, 0x2f, 0x71, 0x22, 0x71, 0x67, 0x4a, 0x82,
+  0x8c, 0x90, 0x86, 0x11, 0xee, 0xdd, 0x4b, 0x8a, 0x28, 0x71, 0x15, 0x55,
+  0xee, 0xbf, 0xdf, 0xaa, 0xb8, 0xb4, 0x35, 0x70, 0xb5, 0x6a, 0xf2, 0xc6,
+  0xaa, 0x6d, 0x11, 0x9a, 0x88, 0xc4, 0xf2, 0xf6, 0x5a, 0xbe, 0x21, 0x76,
+  0x0b, 0x4a, 0x28, 0x22, 0x93, 0x4d, 0x41, 0x5f, 0xdb, 0xe1, 0xdc, 0x2f,
+  0x95, 0x42, 0x79, 0x98, 0x7a, 0x1a, 0xb4, 0x55, 0x64, 0x77, 0x7e, 0x5b,
+  0x4e, 0x1f, 0xb7, 0xed, 0xfd, 0x9e, 0x8e, 0x60, 0x63, 0x4c, 0x50, 0xd2,
+  0x4a, 0xf2, 0xf2, 0xbb, 0xe3, 0x8b, 0xd1, 0xc9, 0xd9, 0xbb, 0x2f, 0xa3,
+  0x76, 0xa2, 0xfc, 0xd2, 0x56, 0x32, 0xd2, 0x4c, 0x37, 0x57, 0x4e, 0x86,
+  0xdc, 0x43, 0xea, 0x84, 0x30, 0x47, 0x36, 0xa1, 0xe4, 0x1e, 0x7a, 0xa4,
+  0xbb, 0x05, 0x6a, 0x69, 0x03, 0xee, 0xcf, 0xb4, 0xba, 0xc6, 0x5c, 0x98,
+  0xfd, 0x05, 0x9b, 0x06, 0xb5, 0x42, 0xd5, 0xd8, 0xb1, 0x7f, 0xdd, 0x0f,
+  0xc6, 0x1f, 0x87, 0xaa, 0x78, 0x91, 0xe2, 0xe5, 0x82, 0xf3, 0xa0, 0x28,
+  0xb9, 0x9e, 0xb9, 0x38, 0xfc, 0xfe, 0x05, 0xa4, 0xe2, 0xe6, 0xc3, 0xad,
+  0x17, 0xcd, 0xc3, 0xb7, 0x7b, 0x5e, 0xf6, 0x86, 0x7d, 0x6e, 0x2f, 0xf6,
+  0xdc, 0x5e, 0xf8, 0xdc, 0x7e, 0xec, 0xb9, 0xfd, 0xf0, 0xb9, 0x27, 0xb1,
+  0xe7, 0xbc, 0x04, 0x1d, 0xcf, 0xe5, 0xa5, 0x33, 0xb4, 0xce, 0x22, 0xf4,
+  0xd6, 0xb3, 0x65, 0xc9, 0x6e, 0x78, 0x26, 0xdc, 0x2f, 0x32, 0x61, 0x7d,
+  0x88, 0x4d, 0xc7, 0x8f, 0x6a, 0x3e, 0x44, 0x88, 0x1d, 0x52, 0x69, 0x8c,
+  0xe0, 0x35, 0xff, 0xfd, 0x32, 0x4c, 0xbb, 0xc3, 0xac, 0x87, 0xc5, 0xd6,
+  0x49, 0x0b, 0x42, 0x5a, 0x08, 0x57, 0xf7, 0xd5, 0xe0, 0x8f, 0xad, 0x23,
+  0xc6, 0x5b, 0x2a, 0x7e, 0x7d, 0xc0, 0xac, 0xea, 0x8d, 0x2e, 0xce, 0x7b,
+  0x7d, 0x71, 0x47, 0x9a, 0x6f, 0x0c, 0xcc, 0xbf, 0x13, 0x68, 0xdb, 0x44,
+  0x91, 0xff, 0xec, 0xe9, 0x36, 0x07, 0x12, 0xd0, 0xc9, 0xa5, 0xd4, 0xcd,
+  0x0d, 0xc2, 0x44, 0xe6, 0x77, 0x0e, 0x7b, 0x54, 0xb5, 0x4a, 0x59, 0x18,
+  0x2d, 0xb8, 0x3d, 0x40, 0x86, 0x04, 0xf4, 0xa5, 0x4e, 0xfc, 0xea, 0xcb,
+  0xcd, 0x71, 0x36, 0x51, 0xb9, 0x64, 0xea, 0xe5, 0xb0, 0xe3, 0xc0, 0x2d,
+  0xab, 0x8f, 0xc2, 0xe6, 0x2d, 0x4e, 0x50, 0xac, 0x47, 0x50, 0x65, 0xb1,
+  0xb5, 0x3e, 0x6d, 0xd7, 0x89, 0x37, 0x62, 0x99, 0xab, 0xbe, 0xd8, 0x72,
+  0xc9, 0xaa, 0x52, 0x82, 0x52, 0xdd, 0x8f, 0x8e, 0x94, 0x14, 0xf3, 0x46,
+  0x43, 0xda, 0x8e, 0x34, 0xf3, 0x40, 0xbe, 0xfe, 0xd3, 0xce, 0xea, 0xeb,
+  0xe4, 0x45, 0x96, 0xdd, 0xd5, 0x28, 0xc6, 0x12, 0x41, 0xb3, 0x53, 0x2a,
+  0x2d, 0x94, 0x12, 0x6f, 0xef, 0x08, 0xa1, 0xba, 0x59, 0x99, 0x6e, 0xa2,
+  0xf9, 0xf5, 0xde, 0x8a, 0x0c, 0xd5, 0x37, 0x2f, 0xae, 0x1a, 0x6f, 0xa9,
+  0x1d, 0x9f, 0xf5, 0xc3, 0x03, 0xf2, 0xc7, 0x83, 0xb7, 0xa3, 0x78, 0x4c,
+  0x1a, 0x92, 0xe2, 0xd5, 0x1e, 0x35, 0x20, 0x47, 0x52, 0xb4, 0x72, 0x48,
+  0xca, 0x95, 0xdd, 0x1e, 0x94, 0x1b, 0x95, 0x37, 0x2c, 0xb7, 0x4b, 0x69,
+  0x68, 0xc1, 0xd6, 0x7b, 0xd4, 0x40, 0x5b, 0x23, 0x25, 0x39, 0x12, 0xa8,
+  0x9f, 0xa7, 0xa3, 0x6d, 0xf5, 0x06, 0xfa, 0xce, 0x40, 0x4f, 0x6e, 0x42,
+  0x4e, 0x3e, 0x0e, 0x84, 0x28, 0xee, 0x40, 0x7a, 0x59, 0xe9, 0xc7, 0xd7,
+  0xe4, 0x08, 0x86, 0x92, 0x85, 0x64, 0x5b, 0xb4, 0x87, 0x6d, 0x87, 0x65,
+  0xbc, 0x93, 0x7b, 0x2d, 0x44, 0xb8, 0x22, 0xc0, 0x7f, 0xfb, 0x1e, 0xee,
+  0xff, 0xba, 0x39, 0xdc, 0xff, 0xe7, 0xcd, 0xe1, 0x93, 0x5f, 0x3d, 0x87,
+  0x4f, 0x7e, 0x9b, 0x39, 0x74, 0xf5, 0x4f, 0xe9, 0x21, 0x6a, 0x36, 0x6f,
+  0xd7, 0x32, 0x10, 0x3d, 0xc0, 0xfc, 0x73, 0x4c, 0x31, 0x7d, 0xf2, 0xa0,
+  0x98, 0x07, 0x29, 0xf5, 0x36, 0x43, 0x25, 0xc8, 0xce, 0x80, 0x1b, 0xcb,
+  0x18, 0x60, 0x59, 0x9b, 0xc9, 0xd5, 0x88, 0xc4, 0x7e, 0x30, 0x68, 0x92,
+  0x20, 0xff, 0xaa, 0x24, 0xf5, 0xd8, 0xc8, 0xbb, 0x7e, 0xf2, 0x6e, 0x34,
+  0xe2, 0x58, 0xeb, 0x08, 0xde, 0xe2, 0xae, 0xbd, 0x44, 0x86, 0x26, 0x2e,
+  0xbb, 0x2d, 0xd2, 0xa2, 0xce, 0x4c, 0x0f, 0xa1, 0x76, 0xc0, 0x02, 0xe0,
+  0xf7, 0xe6, 0xe9, 0x84, 0x7e, 0xbc, 0x3b, 0xdc, 0x7b, 0x62, 0x7f, 0xb3,
+  0xfd, 0x0b, 0x28, 0x3e, 0x9c, 0x2b, 0x37, 0xaa, 0x57, 0x85, 0xd8, 0xdf,
+  0xf6, 0x32, 0x7c, 0x5a, 0xe1, 0x7e, 0x7f, 0xc4, 0x52, 0x70, 0xa0, 0x89,
+  0x53, 0xd2, 0x3b, 0x87, 0xb8, 0x9f, 0x88, 0x7e, 0x15, 0xd3, 0xad, 0x1e,
+  0xe3, 0x31, 0xf7, 0x1c, 0xd4, 0xff, 0x67, 0x3c, 0xe6, 0x71, 0xfd, 0xa7,
+  0xf5, 0xaf, 0x56, 0x9a, 0x73, 0x53, 0x0d, 0xb4, 0xae, 0x43, 0x9c, 0x36,
+  0xd2, 0x99, 0x86, 0x04, 0x72, 0x06, 0xa5, 0xce, 0x94, 0xf7, 0x07, 0xc5,
+  0x10, 0x8f, 0xe5, 0x5d, 0xe7, 0x9d, 0xe5, 0xc8, 0xf4, 0xca, 0xea, 0x9d,
+  0x36, 0x65, 0x5c, 0x93, 0x76, 0x79, 0x94, 0x35, 0x6f, 0xaa, 0x65, 0xa1,
+  0x1f, 0x11, 0xd4, 0x0b, 0xd8, 0x35, 0xc1, 0x5d, 0x11, 0x2c, 0xeb, 0x24,
+  0x63, 0x5e, 0x83, 0xfc, 0x21, 0x21, 0xff, 0xbc, 0x3d, 0xde, 0x74, 0x92,
+  0x0d, 0xd2, 0x7a, 0x92, 0xe7, 0x71, 0x53, 0x8c, 0xbd, 0x96, 0xa8, 0x83,
+  0x90, 0x5c, 0x2d, 0x29, 0xd2, 0x88, 0x57, 0x4c, 0x5f, 0x96, 0xf3, 0x85,
+  0x16, 0x8b, 0xcc, 0x0b, 0xc9, 0xfa, 0xa7, 0x4e, 0x97, 0xcb, 0xe6, 0xba,
+  0x54, 0x8f, 0x4c, 0x3f, 0xb0, 0xec, 0xc8, 0xb1, 0xca, 0x94, 0x88, 0xf5,
+  0xa4, 0xca, 0x17, 0x20, 0xbe, 0xf2, 0x2a, 0x52, 0xf4, 0x6d, 0xd1, 0x46,
+  0x98, 0x4a, 0xe2, 0xfd, 0xe6, 0x1a, 0x86, 0xef, 0x83, 0x3c, 0xeb, 0xde,
+  0xa0, 0x47, 0x76, 0xa9, 0xa5, 0xf1, 0x37, 0xef, 0x12, 0x63, 0xa1, 0xe7,
+  0x72, 0xe6, 0x9a, 0xb8, 0xab, 0xc3, 0x0b, 0xea, 0x87, 0x32, 0x5b, 0xe8,
+  0x5e, 0x49, 0xf1, 0xc0, 0x54, 0xac, 0xfe, 0x65, 0xd2, 0xf1, 0x66, 0x19,
+  0xd1, 0x20, 0x26, 0xa5, 0xe4, 0x9e, 0xdc, 0x64, 0x9f, 0x38, 0x45, 0x26,
+  0xd4, 0x16, 0x59, 0x64, 0xdd, 0x68, 0xfa, 0xc8, 0xe1, 0xe8, 0xe8, 0xe4,
+  0xa4, 0x95, 0x4e, 0x43, 0xd3, 0xc6, 0x5c, 0x5a, 0x9c, 0xf3, 0x5c, 0x13,
+  0xad, 0x18, 0x52, 0xa5, 0xd1, 0xdd, 0x18, 0x49, 0xf1, 0x3c, 0xbf, 0xbe,
+  0x81, 0xeb, 0x2c, 0x4b, 0xeb, 0x5c, 0xcb, 0x08, 0xa5, 0x1c, 0xbc, 0x5e,
+  0x16, 0xa6, 0x9b, 0xb0, 0x92, 0x6e, 0x96, 0xc6, 0x24, 0xfe, 0xfd, 0x29,
+  0x02, 0x5a, 0x54, 0x94, 0x16, 0xa4, 0x2a, 0xb3, 0xc5, 0xe7, 0xca, 0x77,
+  0xd5, 0x87, 0x7b, 0x2d, 0xc2, 0x08, 0x7c, 0x5e, 0x49, 0xcd, 0x18, 0x70,
+  0x83, 0xc0, 0x61, 0xc2, 0xac, 0xbe, 0x54, 0xd9, 0x94, 0x68, 0x8a, 0xb8,
+  0x71, 0x33, 0x5c, 0x0d, 0x00, 0x80, 0x2d, 0xd3, 0x7a, 0x07, 0xbb, 0x46,
+  0x1f, 0xfb, 0x41, 0xd7, 0xe6, 0x01, 0xec, 0x75, 0xaf, 0x41, 0x7c, 0x61,
+  0xed, 0x09, 0x48, 0x79, 0xff, 0xf3, 0x93, 0xfe, 0xee, 0x77, 0xdb, 0x9f,
+  0xb9, 0x65, 0xec, 0x01, 0xf8, 0xef, 0x79, 0x02, 0x04, 0x22, 0xdd, 0xfb,
+  0x63, 0x6f, 0x05, 0x67, 0xf4, 0x23, 0xda, 0x69, 0x25, 0x97, 0xff, 0x73,
+  0x77, 0x5a, 0x24, 0xdb, 0xdd, 0x13, 0x62, 0xfe, 0x9a, 0x2e, 0x8b, 0xfc,
+  0x13, 0xb0, 0xaa, 0x46, 0x5f, 0x78, 0x49, 0x6c, 0xc9, 0x2b, 0x98, 0x80,
+  0x8f, 0x58, 0x77, 0x49, 0x14, 0x79, 0x8b, 0x51, 0xbc, 0x37, 0x2f, 0x27,
+  0xd3, 0x72, 0x4e, 0x71, 0x4b, 0x6e, 0xa3, 0xef, 0xd3, 0x31, 0x42, 0xac,
+  0x47, 0xe2, 0x9e, 0x45, 0xd6, 0x90, 0xe5, 0xb6, 0xd6, 0x35, 0xd9, 0x76,
+  0xf7, 0x5e, 0xa2, 0xfc, 0xca, 0x82, 0xe0, 0x90, 0x6b, 0xca, 0xfb, 0x61,
+  0x32, 0x1c, 0xfc, 0xb0, 0xed, 0xff, 0xf1, 0x38, 0xab, 0xb5, 0xa0, 0xb0,
+  0xb2, 0x60, 0x83, 0x0c, 0x3a, 0x1a, 0xa2, 0xb5, 0xc4, 0xe5, 0x8e, 0xf6,
+  0x3f, 0xef, 0x3a, 0x96, 0x40, 0x2c, 0xef, 0xfc, 0xef, 0x52, 0x94, 0x67,
+  0x2d, 0x69, 0x36, 0x13, 0x9d, 0xbb, 0x72, 0x68, 0xad, 0xf2, 0x08, 0x60,
+  0x9a, 0xc9, 0x67, 0xb4, 0xf9, 0x77, 0x34, 0x3e, 0x35, 0x0b, 0x51, 0x85,
+  0x5e, 0x8d, 0x46, 0x96, 0x75, 0x84, 0x61, 0x87, 0x97, 0x9a, 0xfe, 0x0d,
+  0x96, 0x08, 0x55, 0x22, 0xda, 0xa3, 0xe0, 0x7a, 0x32, 0xd1, 0xda, 0xe7,
+  0x1c, 0x40, 0xb8, 0xa1, 0x52, 0x8c, 0xda, 0xaf, 0x8a, 0x37, 0x62, 0xbb,
+  0xd8, 0xa6, 0xc6, 0x24, 0x3c, 0x96, 0xfe, 0x48, 0x39, 0x66, 0x51, 0xc2,
+  0x44, 0x77, 0x62, 0xe2, 0x30, 0x4a, 0x20, 0x20, 0xde, 0x62, 0xc2, 0x1f,
+  0xd8, 0xca, 0x6f, 0xbc, 0xb0, 0x5e, 0x09, 0xf1, 0x20, 0xb4, 0x45, 0xe4,
+  0x1b, 0x43, 0x1f, 0x0f, 0x8a, 0x53, 0x53, 0x16, 0x0a, 0x43, 0xdf, 0x32,
+  0x8a, 0xb8, 0x96, 0xd7, 0xa6, 0x16, 0x89, 0x73, 0xd8, 0xd5, 0x59, 0x0f,
+  0xd8, 0x73, 0x57, 0x9d, 0x26, 0x9b, 0x16, 0xe1, 0x26, 0x8a, 0x44, 0xc7,
+  0x56, 0xaa, 0xec, 0x54, 0xe4, 0xeb, 0xdc, 0x56, 0xe5, 0xd2, 0x1c, 0xf1,
+  0xbc, 0xf0, 0xf7, 0x7b, 0x1a, 0xf5, 0x6e, 0xb3, 0x50, 0x4a, 0x0e, 0x85,
+  0xc3, 0x32, 0x23, 0x17, 0x4d, 0xe7, 0x1b, 0x43, 0x23, 0x65, 0xb6, 0x52,
+  0xcb, 0x81, 0x25, 0x30, 0xe0, 0xed, 0x80, 0x02, 0xf9, 0x5e, 0x2a, 0xd8,
+  0xbb, 0x9c, 0x0d, 0x9f, 0x6c, 0x95, 0xba, 0xda, 0xe9, 0x1a, 0x10, 0x63,
+  0x88, 0x1c, 0x85, 0x27, 0x11, 0xe9, 0x97, 0x30, 0x95, 0x40, 0x3c, 0x8e,
+  0xeb, 0x92, 0xd9, 0xcb, 0xb5, 0x66, 0xa3, 0x04, 0xd5, 0x85, 0x06, 0x8c,
+  0xdb, 0x84, 0xc7, 0x68, 0x9c, 0x85, 0xcd, 0xf1, 0x22, 0x46, 0x26, 0xf5,
+  0x2f, 0xb6, 0x5e, 0x95, 0x66, 0x20, 0x90, 0x54, 0x0b, 0x8f, 0xb4, 0xad,
+  0x53, 0x42, 0xb4, 0xe7, 0x8e, 0xce, 0x73, 0x25, 0x11, 0xf4, 0x30, 0x39,
+  0xa6, 0xa7, 0xc3, 0x86, 0xfe, 0x24, 0xc4, 0xe9, 0xb9, 0x5f, 0x86, 0x88,
+  0x4b, 0x7a, 0x86, 0x3b, 0x4b, 0xf6, 0x1e, 0x5f, 0x4a, 0x34, 0x1b, 0x48,
+  0x5f, 0x1c, 0x0a, 0xcd, 0x3e, 0x29, 0xee, 0xaa, 0x6d, 0x26, 0xbd, 0xeb,
+  0x59, 0x39, 0x1e, 0x9b, 0x91, 0xf7, 0x54, 0x4f, 0x31, 0xdf, 0x0e, 0x1c,
+  0x61, 0x7e, 0x4f, 0xd4, 0x23, 0xdb, 0x87, 0xe5, 0xc0, 0xe8, 0x4b, 0xea,
+  0x85, 0x2b, 0xe1, 0xa5, 0x9f, 0x57, 0x16, 0xca, 0xc8, 0x4d, 0x03, 0x4e,
+  0xc8, 0xc4, 0x6e, 0x41, 0x1a, 0x9b, 0x07, 0xe6, 0x94, 0x64, 0x0d, 0xfa,
+  0xa9, 0x76, 0x2f, 0xe1, 0x8a, 0xe7, 0x2b, 0x80, 0x40, 0x2d, 0x0e, 0xfc,
+  0xbe, 0x16, 0x41, 0xc9, 0xc3, 0xea, 0xe4, 0x3c, 0x05, 0xed, 0x01, 0xf5,
+  0xfe, 0x93, 0xfe, 0xd8, 0xeb, 0xd3, 0x7f, 0xf7, 0xff, 0xab, 0x97, 0x90,
+  0x09, 0x73, 0xb0, 0xb3, 0x73, 0x77, 0x77, 0x37, 0x14, 0x82, 0xe7, 0xa1,
+  0x59, 0xb2, 0x8d, 0x30, 0xab, 0x81, 0x58, 0x66, 0x56, 0x7c, 0xe0, 0x32,
+  0xe9, 0xe5, 0xf3, 0xeb, 0x1f, 0xf7, 0x06, 0x7b, 0xbb, 0xbb, 0xbb, 0x3f,
+  0x0f, 0x17, 0x34, 0xbf, 0x57, 0x68, 0xd6, 0xfc, 0xd7, 0x6f, 0x76, 0x87,
+  0x7b, 0xb2, 0x13, 0x25, 0xee, 0xe2, 0xdf, 0xa9, 0x69, 0x5d, 0x30, 0x53,
+  0x30, 0xef, 0xe4, 0x03, 0x4f, 0xc8, 0x70, 0x20, 0x20, 0x5d, 0x97, 0x23,
+  0xc8, 0xe8, 0x0f, 0xf2, 0x7e, 0x3e, 0x7b, 0xb2, 0xbf, 0x9f, 0xb0, 0xca,
+  0xc1, 0xd0, 0x7b, 0x8e, 0x46, 0x51, 0xd6, 0xa5, 0x54, 0x38, 0xe4, 0xdb,
+  0x6c, 0x42, 0xf4, 0x33, 0x15, 0x97, 0x4f, 0x0b, 0x4a, 0x69, 0x29, 0xc8,
+  0x83, 0xed, 0xdf, 0xdc, 0x5c, 0xe5, 0xe5, 0xf4, 0xde, 0xb5, 0x6a, 0xb6,
+  0x78, 0x45, 0xa2, 0x95, 0xab, 0x10, 0x79, 0xd5, 0xb8, 0x53, 0x71, 0x29,
+  0x04, 0xa9, 0x12, 0x52, 0x75, 0x03, 0xf7, 0x1c, 0x58, 0xce, 0x8a, 0x52,
+  0xea, 0xec, 0x21, 0xf4, 0x72, 0xb5, 0xac, 0x84, 0x5e, 0x1d, 0xb1, 0xaa,
+  0xbb, 0xf4, 0xbe, 0x75, 0xdd, 0x9b, 0x19, 0x7f, 0x69, 0xfe, 0xb3, 0xaa,
+  0x32, 0x2e, 0x29, 0x97, 0xb4, 0x97, 0x38, 0xdb, 0x3e, 0x6b, 0x26, 0x37,
+  0x5d, 0xc4, 0x0c, 0x64, 0xb8, 0xe9, 0xed, 0x8d, 0x19, 0xd0, 0xbd, 0xad,
+  0xe8, 0x18, 0x2d, 0x3e, 0xe3, 0x72, 0x8e, 0x4c, 0x93, 0x44, 0x30, 0x8c,
+  0xfa, 0x33, 0x5c, 0x8f, 0x92, 0xc5, 0xe2, 0x8a, 0x22, 0x62, 0xb6, 0xfe,
+  0x11, 0xbe, 0x97, 0xd7, 0x9a, 0x12, 0x35, 0xb9, 0xc9, 0xe6, 0x22, 0x33,
+  0xb7, 0x14, 0xf4, 0xd2, 0x93, 0x3d, 0xd8, 0x8b, 0x04, 0xf0, 0x7a, 0x57,
+  0xfa, 0x2b, 0x33, 0x92, 0x6d, 0x49, 0x2a, 0xb2, 0x17, 0x9d, 0x70, 0xb0,
+  0x5f, 0x2f, 0xc9, 0x74, 0x1c, 0xa7, 0x72, 0xa3, 0x68, 0x9e, 0xdb, 0x0a,
+  0xcc, 0x96, 0x11, 0x8a, 0x59, 0x85, 0x6b, 0xac, 0x5e, 0x8e, 0x07, 0xa2,
+  0xfb, 0xa0, 0x47, 0x88, 0x0f, 0xd2, 0x69, 0x7d, 0x7d, 0x72, 0x74, 0xc9,
+  0xe9, 0x3d, 0xe6, 0xbf, 0x84, 0x04, 0x36, 0x7f, 0x50, 0x56, 0x4f, 0xc8,
+  0x90, 0x7f, 0xfe, 0x84, 0xa3, 0xc0, 0xd8, 0xac, 0xd6, 0x1d, 0x9e, 0x3a,
+  0xa4, 0x44, 0x4b, 0xf9, 0xeb, 0x7b, 0x54, 0xcb, 0x11, 0xc2, 0xfa, 0x96,
+  0x9e, 0x68, 0xb3, 0xc2, 0x9e, 0x3e, 0x1b, 0xee, 0xf2, 0x10, 0x5d, 0x01,
+  0x3e, 0x45, 0xa1, 0xc3, 0x5b, 0x54, 0x0b, 0x9f, 0x5f, 0xba, 0x82, 0x8b,
+  0x54, 0xbb, 0xd2, 0x4f, 0x98, 0xbe, 0x92, 0xd3, 0x44, 0xf5, 0xb7, 0x1e,
+  0xe0, 0xe5, 0x01, 0xa8, 0xaf, 0xde, 0x5e, 0x02, 0xf3, 0xba, 0xef, 0x52,
+  0x0f, 0x82, 0x1a, 0x52, 0x11, 0xc8, 0x10, 0xc2, 0xb1, 0x54, 0x00, 0xd9,
+  0x13, 0x82, 0x88, 0xeb, 0x3b, 0xba, 0xfb, 0x92, 0x6e, 0x01, 0xb9, 0xb1,
+  0x04, 0x57, 0x8e, 0x22, 0x51, 0xae, 0xca, 0x4a, 0x4c, 0x43, 0x09, 0x6a,
+  0x09, 0x0c, 0xbe, 0x92, 0x42, 0x7f, 0xac, 0x29, 0xc7, 0x60, 0xed, 0x58,
+  0xcb, 0x6d, 0x0b, 0x55, 0x12, 0xf3, 0xd5, 0xea, 0x9d, 0x43, 0x78, 0x04,
+  0x79, 0xf5, 0x9b, 0x4e, 0x59, 0xc8, 0x00, 0x3d, 0x8d, 0xec, 0x6d, 0x2f,
+  0x77, 0x21, 0xe5, 0x0a, 0x8d, 0xb4, 0x05, 0x60, 0xeb, 0xb1, 0x7b, 0xaa,
+  0xf7, 0x05, 0xf9, 0xb3, 0x5f, 0x1d, 0xda, 0xf0, 0x47, 0x9c, 0xa6, 0x01,
+  0x0a, 0x55, 0xcd, 0xf2, 0xad, 0x6d, 0xce, 0x88, 0x4c, 0x23, 0xb9, 0x9f,
+  0x7d, 0x62, 0x46, 0x32, 0xac, 0xdc, 0x5d, 0x5e, 0x3c, 0xd9, 0x4f, 0xea,
+  0x7b, 0xa3, 0x43, 0xcc, 0xfd, 0x49, 0xe8, 0x56, 0x3b, 0x8c, 0xfa, 0xf1,
+  0x5b, 0x25, 0x42, 0x58, 0x74, 0xbd, 0xa7, 0x57, 0x0e, 0xf1, 0x8a, 0x14,
+  0x14, 0x50, 0xc8, 0xc5, 0x23, 0x4a, 0x68, 0x96, 0x2a, 0xc4, 0xc6, 0xb3,
+  0xb4, 0xf8, 0x58, 0x5b, 0x45, 0x1b, 0x0d, 0xf5, 0xa9, 0x30, 0x15, 0x27,
+  0xc9, 0xb8, 0x1f, 0xca, 0xf4, 0xf0, 0xc5, 0xd8, 0x69, 0xee, 0x6f, 0x4b,
+  0xa8, 0xf6, 0xf3, 0xb4, 0x42, 0xfe, 0xc4, 0x2f, 0x28, 0xd0, 0x19, 0x9d,
+  0x5b, 0x57, 0xb0, 0xf3, 0xf7, 0x8b, 0x1e, 0x2f, 0x75, 0xd6, 0x8d, 0x84,
+  0x36, 0xff, 0x3d, 0xd0, 0x48, 0xc5, 0xba, 0x2a, 0xe6, 0x78, 0xdc, 0xd6,
+  0x56, 0xb4, 0xb1, 0x0d, 0xbf, 0x5a, 0x16, 0x6b, 0x73, 0x2e, 0xa6, 0x12,
+  0x4b, 0x34, 0x19, 0x26, 0x67, 0xce, 0x78, 0x2c, 0xfa, 0x60, 0xf7, 0x6b,
+  0xaa, 0x89, 0x98, 0x8e, 0xf8, 0xfb, 0x40, 0x0b, 0xdf, 0xc6, 0x66, 0x80,
+  0x35, 0x1a, 0x54, 0xd1, 0xbd, 0x77, 0x7a, 0x9e, 0x77, 0x9d, 0x71, 0x59,
+  0x26, 0x27, 0x7b, 0x8d, 0x14, 0xa1, 0xfa, 0x45, 0xa0, 0xe0, 0x08, 0x80,
+  0x74, 0x3c, 0x88, 0x28, 0x8f, 0x79, 0x7c, 0xbc, 0xb5, 0x84, 0x1c, 0x67,
+  0xe6, 0xfe, 0xa3, 0x62, 0x4f, 0xa5, 0xd6, 0xf5, 0xe0, 0x64, 0x53, 0xca,
+  0x62, 0x2f, 0x8b, 0x7e, 0xc0, 0x53, 0x81, 0x20, 0x9f, 0xb8, 0x98, 0x08,
+  0xc4, 0x31, 0x97, 0x42, 0x81, 0xb6, 0xda, 0x58, 0xca, 0x6f, 0xea, 0x56,
+  0x74, 0x1f, 0x7f, 0xa0, 0xa2, 0x19, 0x53, 0xae, 0xeb, 0x62, 0x98, 0x6d,
+  0xd7, 0xe7, 0x9c, 0x84, 0x38, 0xe7, 0x28, 0x1f, 0xfd, 0x6f, 0x8d, 0xb5,
+  0x9e, 0x55, 0x65, 0x9d, 0x7c, 0xf7, 0x4c, 0x91, 0x15, 0x52, 0x1e, 0x51,
+  0xee, 0x26, 0xab, 0x97, 0xdf, 0xbb, 0x92, 0xcd, 0x51, 0xb7, 0x89, 0xa6,
+  0x76, 0xeb, 0xeb, 0xfe, 0x25, 0xd5, 0x1d, 0x09, 0xd9, 0xeb, 0x46, 0x5e,
+  0xa2, 0x30, 0x6d, 0x70, 0x7d, 0xb6, 0x2b, 0x9a, 0x99, 0x0b, 0x97, 0x14,
+  0x1d, 0xf2, 0xef, 0x18, 0x15, 0x7e, 0xdc, 0xa4, 0x48, 0xa0, 0x48, 0x5c,
+  0xc7, 0x93, 0xcb, 0x9c, 0x5c, 0x00, 0x43, 0xbb, 0x23, 0xa2, 0x58, 0x5d,
+  0x29, 0x95, 0xe9, 0xf8, 0x30, 0x3b, 0xd1, 0x3e, 0xd2, 0x2b, 0xea, 0x1b,
+  0xba, 0x9a, 0xe9, 0xc6, 0x80, 0xe1, 0x17, 0x67, 0x6a, 0x15, 0x5a, 0xd2,
+  0x77, 0x97, 0xa7, 0x6f, 0x25, 0xe6, 0xed, 0xd6, 0x27, 0xa8, 0x22, 0x2f,
+  0x5b, 0x33, 0x8d, 0x51, 0xd0, 0x7a, 0x93, 0xa1, 0x60, 0x7a, 0xce, 0xbf,
+  0xa4, 0x69, 0xeb, 0x4b, 0x64, 0xb9, 0x12, 0x90, 0xb6, 0x9a, 0x68, 0x32,
+  0xa9, 0x11, 0xef, 0x26, 0x81, 0x93, 0x6a, 0xf8, 0x09, 0x60, 0x3e, 0x1b,
+  0x41, 0x63, 0xb6, 0xa4, 0x57, 0x02, 0x25, 0xdc, 0xd7, 0x65, 0xe7, 0xc8,
+  0xf8, 0x0b, 0x46, 0xdb, 0x90, 0x39, 0x70, 0x93, 0xd7, 0xe5, 0x5d, 0x31,
+  0x38, 0xa5, 0x6c, 0x9b, 0xe4, 0xb4, 0xbc, 0x36, 0x53, 0xf5, 0x2e, 0x6a,
+  0xc9, 0xbf, 0x3f, 0x7f, 0x97, 0x6c, 0x91, 0x24, 0x4e, 0xce, 0x2d, 0xc3,
+  0x0a, 0x3d, 0xb9, 0x2d, 0x4a, 0xa7, 0x11, 0x87, 0x6f, 0x5c, 0x6f, 0xfa,
+  0xc9, 0xf1, 0x0f, 0x87, 0x6f, 0xcf, 0x4f, 0x8f, 0x7f, 0x5a, 0x11, 0xda,
+  0xa7, 0x1f, 0xff, 0xd9, 0xd3, 0xc2, 0xe1, 0xb5, 0xa7, 0x28, 0x96, 0xe9,
+  0xc7, 0xfd, 0x6a, 0x59, 0xc0, 0xc7, 0x47, 0xb7, 0xe0, 0x68, 0x74, 0x7e,
+  0x32, 0x50, 0x76, 0x14, 0xae, 0x9a, 0x93, 0x17, 0xa4, 0x32, 0xe3, 0x14,
+  0x0b, 0x71, 0xf1, 0xb7, 0x61, 0x80, 0x42, 0x4f, 0x44, 0x3f, 0x79, 0xa7,
+  0x6c, 0xa3, 0x7d, 0xac, 0x38, 0xdd, 0xf1, 0xaf, 0xf3, 0x6b, 0x04, 0x19,
+  0x3a, 0x4c, 0x27, 0x5a, 0x63, 0x9c, 0x36, 0x41, 0xc0, 0x3c, 0x44, 0x9e,
+  0x48, 0x1b, 0xa8, 0xab, 0xb3, 0x19, 0xbb, 0xb4, 0x56, 0xca, 0x51, 0xc0,
+  0xaf, 0xb0, 0x8c, 0x04, 0xfe, 0x0c, 0xc2, 0x27, 0x02, 0x06, 0x25, 0x2d,
+  0x8a, 0xd7, 0x4f, 0xf4, 0x54, 0xde, 0x23, 0x2c, 0x3b, 0xe4, 0x92, 0xb1,
+  0xc2, 0xe1, 0xc0, 0xd8, 0xe9, 0xcb, 0xe4, 0xa0, 0xf7, 0x3b, 0x5e, 0x24,
+  0xbe, 0xf7, 0x2f, 0xc2, 0x7f, 0x2f, 0x51, 0x14, 0x75, 0x0f, 0x72, 0x56,
+  0x32, 0x2b, 0xb7, 0xea, 0x81, 0x61, 0xff, 0xa7, 0x39, 0xea, 0x82, 0x0a,
+  0x01, 0xde, 0xfc, 0x3a, 0x92, 0xbc, 0x5c, 0x40, 0x2e, 0x65, 0x5c, 0xdf,
+  0xcb, 0xa8, 0x2d, 0x54, 0xd4, 0x56, 0xfc, 0xba, 0x66, 0x0c, 0x3d, 0xc4,
+  0xab, 0x44, 0xa5, 0x2e, 0xa7, 0x3d, 0x2a, 0xf4, 0x0a, 0xaf, 0x34, 0xea,
+  0xac, 0x87, 0xcd, 0x61, 0xae, 0x36, 0xbf, 0xdc, 0x94, 0x40, 0x5b, 0x4f,
+  0x6e, 0x64, 0xd2, 0x68, 0x7a, 0xac, 0xd2, 0x10, 0x53, 0x18, 0xf5, 0xde,
+  0x9c, 0xf8, 0xcd, 0x97, 0x9b, 0x89, 0x3c, 0xa8, 0x4f, 0x76, 0x05, 0x0e,
+  0xde, 0x93, 0xb0, 0x8f, 0xf2, 0x8c, 0xc9, 0xea, 0x0b, 0x5c, 0xec, 0x26,
+  0x9f, 0x4e, 0x33, 0xf1, 0x94, 0x50, 0xf1, 0x12, 0x66, 0x34, 0xe2, 0xc0,
+  0x52, 0xf7, 0x62, 0x6a, 0xf5, 0x5c, 0xfa, 0xfa, 0x6f, 0xda, 0x57, 0xaf,
+  0xcc, 0x17, 0xb9, 0xa9, 0x5d, 0xc1, 0x8d, 0x31, 0x97, 0x89, 0x8a, 0x2d,
+  0x37, 0xed, 0x52, 0xc4, 0x42, 0x60, 0x2e, 0x41, 0x37, 0x52, 0x6b, 0xb1,
+  0x95, 0x11, 0xd0, 0xef, 0x00, 0xee, 0x11, 0xeb, 0x08, 0x5d, 0x5a, 0xbc,
+  0x82, 0xd8, 0x3c, 0xa6, 0xe5, 0xcd, 0x8a, 0x08, 0xd9, 0xb9, 0x0a, 0x27,
+  0x95, 0x26, 0x59, 0x75, 0x52, 0xd5, 0xdd, 0xe7, 0x76, 0x1e, 0xa7, 0xcf,
+  0x29, 0xec, 0x91, 0x6c, 0x31, 0x3c, 0x98, 0x15, 0x70, 0xfc, 0x8a, 0xb6,
+  0xdf, 0x0f, 0x73, 0xb7, 0xb9, 0x58, 0x04, 0x8b, 0x65, 0x0d, 0x16, 0xb8,
+  0x24, 0x04, 0x89, 0x9f, 0x29, 0x6a, 0x31, 0xe6, 0x7a, 0xf3, 0x53, 0x4b,
+  0xda, 0xa5, 0x44, 0xc4, 0xbd, 0x09, 0x42, 0xdd, 0xd5, 0xc9, 0x0a, 0x9d,
+  0x9c, 0x8c, 0xe1, 0x6a, 0xbe, 0x10, 0xdb, 0xbf, 0x38, 0x96, 0x29, 0xea,
+  0x2a, 0xff, 0x4e, 0x4e, 0x55, 0x04, 0x3b, 0xf9, 0x5a, 0x82, 0x29, 0xad,
+  0xaa, 0xf1, 0x8c, 0xff, 0x67, 0x3f, 0x52, 0xa1, 0xac, 0xfb, 0x63, 0x3d,
+  0x7a, 0x88, 0x1e, 0xe7, 0xf0, 0xf8, 0xd6, 0xc3, 0x78, 0x25, 0x58, 0xa8,
+  0x2e, 0xd8, 0x74, 0x7a, 0xb1, 0xb3, 0xd7, 0x15, 0x11, 0x16, 0x6d, 0xa2,
+  0xbc, 0x92, 0xf3, 0xa0, 0x6d, 0x47, 0xc2, 0x6d, 0xb8, 0x3d, 0x9e, 0xd8,
+  0xf2, 0xc5, 0xe6, 0xc9, 0x2a, 0xad, 0xb8, 0x82, 0x5c, 0xf1, 0x51, 0x01,
+  0x41, 0xd4, 0x72, 0xf6, 0x29, 0x9b, 0x2c, 0x9b, 0x36, 0xae, 0xdd, 0xeb,
+  0x93, 0xd0, 0x18, 0xa0, 0x4b, 0x5b, 0x38, 0x08, 0x62, 0xa1, 0xf4, 0xce,
+  0x35, 0x05, 0xfd, 0xa0, 0xb7, 0x2d, 0x91, 0x3d, 0x8e, 0xfa, 0xd8, 0xdc,
+  0xf4, 0x58, 0xcc, 0x4e, 0xbb, 0x5c, 0x65, 0xec, 0x60, 0x73, 0x01, 0xec,
+  0xe8, 0xe7, 0xb9, 0x04, 0x73, 0xe4, 0xeb, 0x6f, 0xd8, 0x1b, 0xe3, 0x7d,
+  0xdc, 0x16, 0xed, 0x11, 0x47, 0x4d, 0x1d, 0x1c, 0xe5, 0xe0, 0xcb, 0xa8,
+  0xa0, 0x67, 0x04, 0x94, 0xad, 0x7d, 0xa9, 0xaf, 0xea, 0xe4, 0x07, 0x0e,
+  0xb2, 0x93, 0xf3, 0xdb, 0xe7, 0xe2, 0xdf, 0x24, 0x7d, 0x83, 0x6e, 0x3c,
+  0xfc, 0xc8, 0x4a, 0xfc, 0x60, 0x14, 0x1f, 0xab, 0xf1, 0x53, 0xf3, 0xc7,
+  0xb7, 0xf4, 0xc7, 0x15, 0x1b, 0x89, 0x42, 0x21, 0xc3, 0x9e, 0xb9, 0x70,
+  0x6b, 0x8f, 0x4e, 0xf5, 0x0f, 0x59, 0x70, 0xe0, 0x96, 0x29, 0xfb, 0x80,
+  0xf8, 0x66, 0x5c, 0xe6, 0x3f, 0xf4, 0x5f, 0x6d, 0xa6, 0xcf, 0x19, 0x41,
+  0x61, 0xe0, 0x4a, 0xfe, 0x07, 0x7e, 0x94, 0x3e, 0xf8, 0x47, 0xfa, 0xf0,
+  0x42, 0x8c, 0xb8, 0xda, 0x59, 0x19, 0x4b, 0x0a, 0x31, 0x53, 0xf5, 0x77,
+  0x8a, 0xcd, 0x68, 0xc1, 0xec, 0x04, 0x05, 0x5c, 0xe7, 0x16, 0x05, 0x0c,
+  0xcb, 0xc8, 0x06, 0xf9, 0xd9, 0x61, 0x49, 0x07, 0x8d, 0xe5, 0x59, 0xbe,
+  0xa2, 0x0b, 0xab, 0x87, 0x8c, 0xdb, 0x5d, 0xfe, 0x08, 0x19, 0xd6, 0x56,
+  0xbf, 0xf7, 0x1a, 0x29, 0x51, 0x62, 0xe8, 0x49, 0x69, 0x12, 0x52, 0xd8,
+  0x74, 0xa9, 0x19, 0x23, 0x81, 0xb5, 0xc1, 0xa3, 0x56, 0x3a, 0xb0, 0x5a,
+  0xb2, 0xa2, 0x9f, 0x73, 0x54, 0x43, 0x00, 0xcb, 0x34, 0xc4, 0xc2, 0x47,
+  0x1b, 0xc1, 0x9c, 0x67, 0x73, 0x0a, 0x87, 0xd8, 0x9b, 0x91, 0x39, 0x2b,
+  0x48, 0xb3, 0xa2, 0xcf, 0x0d, 0xe2, 0xcd, 0x4d, 0x49, 0x7b, 0xa3, 0x5b,
+  0x96, 0x71, 0x3b, 0xff, 0x12, 0x44, 0xc0, 0xea, 0xfb, 0x62, 0x72, 0xf3,
+  0xfa, 0xdd, 0x28, 0xfe, 0x7a, 0x77, 0x70, 0x78, 0xda, 0x68, 0x21, 0xb4,
+  0x17, 0x98, 0x94, 0x4f, 0xd8, 0x9a, 0xc8, 0xe4, 0x3d, 0xf4, 0x7e, 0x1b,
+  0x6f, 0xae, 0xfd, 0x8a, 0x75, 0x0e, 0x91, 0x66, 0xc1, 0x52, 0x5c, 0x14,
+  0x4f, 0x78, 0xe2, 0x07, 0x29, 0x9d, 0x05, 0x76, 0xad, 0xc4, 0x9b, 0x6b,
+  0x6e, 0x28, 0x84, 0x80, 0x1a, 0x9e, 0x68, 0xb1, 0xf2, 0x90, 0x47, 0xdd,
+  0x7d, 0x0d, 0x82, 0x79, 0xfd, 0xe3, 0x97, 0x2c, 0xf3, 0x29, 0x95, 0x81,
+  0x8d, 0x04, 0x9c, 0x82, 0x19, 0xb2, 0x6e, 0x7b, 0x17, 0x10, 0x34, 0x5b,
+  0x75, 0x46, 0xaf, 0xf3, 0x2e, 0xed, 0xcb, 0x66, 0xc5, 0x8f, 0xaa, 0x55,
+  0x43, 0x32, 0x73, 0xb2, 0xff, 0xf5, 0x57, 0xe1, 0xed, 0xf9, 0xfa, 0xdd,
+  0x8a, 0xcf, 0xd1, 0x6f, 0x06, 0x9a, 0x22, 0x20, 0x1a, 0x81, 0xa7, 0xd0,
+  0x87, 0x73, 0x11, 0x27, 0x33, 0x6d, 0xff, 0xf2, 0x21, 0x29, 0x61, 0x9e,
+  0x90, 0x3f, 0xd6, 0x3e, 0x28, 0x10, 0xd5, 0xf8, 0xa7, 0x18, 0xf5, 0xcb,
+  0xd0, 0xae, 0xe4, 0x82, 0x23, 0x7b, 0xe7, 0xa2, 0x08, 0x6f, 0xaf, 0x5b,
+  0xa3, 0x78, 0x73, 0x24, 0xdf, 0x62, 0x04, 0x0c, 0x24, 0x16, 0xf6, 0xf9,
+  0x8f, 0x9d, 0x7d, 0x0b, 0x58, 0xb2, 0x59, 0x1e, 0x38, 0xa6, 0xe6, 0x06,
+  0x0f, 0x15, 0x84, 0x22, 0xff, 0x34, 0x42, 0x8c, 0x79, 0xc5, 0x6e, 0x46,
+  0x30, 0x9a, 0xa3, 0xd0, 0xb6, 0x73, 0xd4, 0x4f, 0xd5, 0xc4, 0xa2, 0x3d,
+  0x19, 0x71, 0xce, 0xe2, 0x43, 0x9b, 0x29, 0x8f, 0x60, 0xac, 0xd6, 0xb1,
+  0x4c, 0xbd, 0x35, 0x4a, 0x12, 0x5d, 0xae, 0x8f, 0xde, 0xa4, 0xfa, 0x42,
+  0xb2, 0x35, 0x36, 0xd7, 0xb5, 0x97, 0x30, 0xce, 0x2a, 0xf6, 0x53, 0xc6,
+  0x63, 0xc7, 0x9b, 0x7b, 0xf6, 0xf9, 0xb3, 0xa7, 0xdb, 0xdb, 0x0e, 0xb6,
+  0xcc, 0x90, 0x89, 0x31, 0xa9, 0x39, 0xf3, 0x9c, 0x24, 0x17, 0x07, 0x1f,
+  0xcc, 0x14, 0xdf, 0x40, 0x30, 0x58, 0x2f, 0x4c, 0xbc, 0x39, 0xba, 0xc7,
+  0xf4, 0x3d, 0x5a, 0x44, 0x32, 0xc1, 0x21, 0xd0, 0xad, 0x21, 0x4c, 0x97,
+  0x4d, 0xc6, 0x0f, 0x58, 0x37, 0xfc, 0x4a, 0xa9, 0x80, 0xb8, 0x91, 0xf3,
+  0x43, 0x71, 0xc1, 0x70, 0xd8, 0x49, 0x7a, 0xd3, 0x86, 0x08, 0xc0, 0x73,
+  0xbe, 0xf6, 0xf0, 0x07, 0x18, 0xa3, 0x6e, 0xb4, 0x42, 0xdc, 0xf9, 0x72,
+  0x3c, 0x33, 0x77, 0xd0, 0x88, 0x4a, 0x9f, 0x7e, 0x4a, 0x4e, 0xf3, 0xba,
+  0x11, 0x61, 0x9c, 0x16, 0x16, 0x34, 0xb7, 0xea, 0xce, 0xc1, 0xb8, 0xdb,
+  0x1b, 0x4d, 0x3c, 0x88, 0x5e, 0x52, 0x16, 0x6b, 0x6d, 0x49, 0x6f, 0xc1,
+  0x1f, 0xa2, 0x22, 0xab, 0x83, 0x55, 0x03, 0xfb, 0x94, 0xd5, 0x9e, 0x19,
+  0x37, 0xb8, 0x23, 0x05, 0x11, 0x89, 0xe1, 0xe4, 0x88, 0x4e, 0x5e, 0xb2,
+  0x2a, 0x18, 0xad, 0x40, 0xc6, 0x45, 0x72, 0x24, 0x15, 0xd1, 0x57, 0x1a,
+  0xa1, 0x7e, 0xc3, 0x65, 0x9b, 0x5e, 0x51, 0xe2, 0x14, 0x23, 0xe8, 0x66,
+  0x19, 0x8a, 0xff, 0x92, 0x20, 0x0b, 0xe0, 0xcf, 0x0c, 0x4e, 0xcc, 0xc4,
+  0xb8, 0x17, 0x27, 0x85, 0x38, 0x5f, 0x01, 0x8c, 0x4a, 0x91, 0xea, 0xcf,
+  0xee, 0x1a, 0x4e, 0x31, 0x67, 0x2f, 0xb0, 0x59, 0xe4, 0x4f, 0xc1, 0xe1,
+  0x15, 0x3c, 0x24, 0x55, 0xa5, 0x73, 0xfe, 0x79, 0x4d, 0x76, 0xac, 0x5b,
+  0x5f, 0x0a, 0x7c, 0x2c, 0x91, 0xca, 0x70, 0x33, 0x33, 0x19, 0x64, 0xbc,
+  0xf6, 0xb8, 0x47, 0x3d, 0xa4, 0x76, 0x29, 0x3f, 0x1e, 0xa0, 0x33, 0xaa,
+  0xde, 0x4f, 0xc5, 0x61, 0xc7, 0x6d, 0x4b, 0xde, 0x53, 0x1a, 0x2b, 0xd6,
+  0xae, 0x4e, 0xf1, 0x3f, 0x2b, 0x0c, 0xa7, 0x97, 0x48, 0x35, 0x50, 0x98,
+  0xf7, 0x0a, 0xff, 0xb4, 0x6d, 0x4a, 0x93, 0x91, 0x7c, 0x47, 0x8e, 0x68,
+  0xa3, 0xfe, 0x22, 0xad, 0x9a, 0x69, 0x72, 0xd0, 0x8b, 0x6a, 0x9e, 0x76,
+  0x02, 0x88, 0x82, 0x0f, 0x76, 0x68, 0xcb, 0x3e, 0xd3, 0x4f, 0x38, 0x92,
+  0x11, 0x02, 0xe0, 0x36, 0x79, 0xb3, 0x0c, 0xa5, 0xe3, 0x58, 0xdd, 0xa2,
+  0xc8, 0x0f, 0xc5, 0x7d, 0x4a, 0x8b, 0xe1, 0x92, 0x38, 0x61, 0x8f, 0x11,
+  0x56, 0xa9, 0x01, 0x6b, 0xa1, 0x1e, 0x66, 0x4a, 0x7b, 0x9b, 0x95, 0x77,
+  0x01, 0x86, 0x97, 0x4c, 0x01, 0xdb, 0xbb, 0x76, 0xe2, 0x85, 0x79, 0xfb,
+  0x8f, 0xff, 0xa9, 0xbf, 0xfc, 0x40, 0x33, 0xf5, 0x5f, 0x3a, 0x53, 0x1a,
+  0xda, 0x4f, 0x83, 0x24, 0x45, 0x18, 0xc1, 0xc9, 0x1f, 0x31, 0x2b, 0x7f,
+  0x25, 0x48, 0x0a, 0x4f, 0x8d, 0xe9, 0xf2, 0x1c, 0x0d, 0xfe, 0x71, 0x68,
+  0x15, 0x5e, 0x69, 0x24, 0xa5, 0x9c, 0x2b, 0x68, 0xe5, 0xe3, 0xfb, 0xc0,
+  0x77, 0x44, 0xdb, 0xf0, 0xa7, 0xa2, 0x0f, 0x06, 0x40, 0x63, 0x7b, 0xa5,
+  0x28, 0xd0, 0x4b, 0x35, 0xac, 0x78, 0x15, 0x7f, 0xaa, 0x24, 0xe3, 0xdf,
+  0x18, 0x1d, 0xa6, 0xe7, 0x64, 0x91, 0xf1, 0xcf, 0x43, 0x0b, 0x80, 0xd0,
+  0x32, 0x07, 0x58, 0x8d, 0x3f, 0x0e, 0xea, 0xfb, 0xf9, 0xb8, 0x9c, 0xc9,
+  0x5e, 0xa7, 0xf1, 0x9a, 0x3e, 0xeb, 0xcf, 0x78, 0x61, 0x10, 0xd9, 0x18,
+  0x78, 0x19, 0xbb, 0xfd, 0x28, 0x4b, 0x31, 0x1b, 0x29, 0xe5, 0x64, 0x82,
+  0xec, 0x19, 0xc0, 0xb8, 0xa9, 0x6a, 0xed, 0x1f, 0x13, 0x86, 0xe3, 0xb0,
+  0x3a, 0xb4, 0x84, 0xd7, 0xea, 0xce, 0xb9, 0x6a, 0x57, 0x66, 0xac, 0x3c,
+  0xb0, 0x79, 0xac, 0xc4, 0x8b, 0x66, 0x3b, 0xd3, 0x21, 0x35, 0x1d, 0xfd,
+  0x80, 0x14, 0x19, 0x7e, 0xf5, 0x88, 0x7f, 0x34, 0xb8, 0xa4, 0x1f, 0x09,
+  0xe6, 0x40, 0x73, 0xeb, 0xc8, 0x9f, 0xa1, 0xd9, 0x6f, 0x54, 0x87, 0xed,
+  0x2a, 0x2e, 0xa5, 0xda, 0x60, 0x26, 0x14, 0xb3, 0x2c, 0xc2, 0xfb, 0x4a,
+  0x8f, 0xd2, 0x07, 0xa6, 0x18, 0x30, 0x26, 0xff, 0xfa, 0xd6, 0x60, 0xa1,
+  0x12, 0x64, 0x61, 0x8e, 0x74, 0x45, 0x0b, 0x88, 0xf3, 0x93, 0x91, 0x99,
+  0x21, 0x83, 0xa3, 0x4f, 0xc3, 0x87, 0x9a, 0x63, 0x54, 0x0f, 0x9c, 0x21,
+  0x02, 0x95, 0x20, 0xe7, 0x93, 0xc7, 0x96, 0xdc, 0x94, 0xb3, 0x29, 0xe3,
+  0x33, 0xa8, 0xdd, 0x07, 0xc6, 0x5a, 0x32, 0x12, 0xd7, 0x93, 0x16, 0x91,
+  0x78, 0xa0, 0xe0, 0xa0, 0x28, 0x74, 0xb8, 0xbe, 0x39, 0x17, 0x57, 0x14,
+  0xef, 0xfe, 0x09, 0xca, 0xd3, 0x95, 0x8c, 0xd7, 0x42, 0x3f, 0x91, 0x80,
+  0x30, 0x27, 0x9f, 0x66, 0x24, 0x76, 0x94, 0xc4, 0x44, 0x2c, 0xc2, 0x4e,
+  0xff, 0xd1, 0x77, 0xdd, 0x61, 0xcf, 0xcf, 0xc0, 0x0b, 0x4b, 0x6a, 0xcd,
+  0xe2, 0xf5, 0xcd, 0xad, 0x2e, 0xdb, 0x7c, 0xd5, 0x2c, 0x3e, 0xa0, 0x86,
+  0xe9, 0x07, 0xc2, 0xf5, 0x61, 0xcd, 0xd4, 0xe7, 0x8e, 0x1f, 0x60, 0x6a,
+  0x39, 0x9f, 0x6f, 0xb9, 0xa0, 0x76, 0xb0, 0xc5, 0x67, 0x25, 0x9b, 0x33,
+  0x0f, 0x0d, 0x43, 0x22, 0x7a, 0x02, 0x01, 0xf3, 0xf3, 0xc6, 0xb7, 0xda,
+  0x15, 0x41, 0x9e, 0x06, 0x1d, 0xa3, 0x88, 0xfd, 0x07, 0x84, 0xfa, 0xec,
+  0x66, 0x32, 0x97, 0x4d, 0x56, 0xe5, 0x13, 0xbf, 0x3c, 0x16, 0x1e, 0xc0,
+  0x7e, 0x62, 0x96, 0x28, 0x8a, 0xfd, 0x45, 0x09, 0xf1, 0x3a, 0xff, 0x83,
+  0x77, 0x94, 0x8b, 0x81, 0x91, 0xd3, 0x4f, 0xe1, 0x61, 0x08, 0xb4, 0x9b,
+  0x6e, 0x12, 0x0e, 0xc1, 0x0f, 0xd6, 0x9e, 0x3c, 0x30, 0x4e, 0x30, 0x6e,
+  0xee, 0x27, 0x02, 0x44, 0xcf, 0xd3, 0xda, 0xf6, 0x90, 0x87, 0x60, 0xeb,
+  0xc3, 0x42, 0x37, 0xbc, 0x09, 0x48, 0x0d, 0x93, 0x48, 0x4c, 0x85, 0x23,
+  0x31, 0x57, 0xe5, 0x70, 0xc5, 0xcc, 0x30, 0xd4, 0xb2, 0x3b, 0x33, 0xed,
+  0x09, 0x91, 0x19, 0x71, 0x35, 0xec, 0x23, 0x18, 0xc1, 0xa4, 0x8b, 0x7f,
+  0x57, 0x36, 0x94, 0x64, 0x4b, 0x2e, 0x58, 0xa1, 0x4c, 0xd9, 0xb6, 0x87,
+  0x86, 0xdd, 0xa3, 0x42, 0xa0, 0xf2, 0x50, 0x73, 0x10, 0x44, 0x9d, 0x05,
+  0xdf, 0x5f, 0xb5, 0xe0, 0xaa, 0xd3, 0x8a, 0xf4, 0xa0, 0x9f, 0x25, 0x56,
+  0xd1, 0x15, 0x60, 0x14, 0x06, 0x66, 0x65, 0xd0, 0xec, 0x3e, 0x89, 0x92,
+  0xae, 0x76, 0xfe, 0xe7, 0x7f, 0xfe, 0x59, 0xac, 0x9e, 0x38, 0x90, 0x97,
+  0x1f, 0xf2, 0x85, 0x2f, 0xbc, 0x4e, 0xce, 0xbd, 0xe2, 0xd4, 0x24, 0xf3,
+  0x79, 0x0e, 0x81, 0xd1, 0xa4, 0x43, 0xa1, 0xe2, 0x96, 0x8e, 0xf9, 0x43,
+  0xd3, 0x30, 0x41, 0xe2, 0x25, 0x1b, 0xce, 0x1e, 0x2f, 0xdb, 0x40, 0x55,
+  0x24, 0x31, 0xa3, 0x4f, 0xce, 0x6f, 0x9f, 0x46, 0x40, 0x2a, 0x49, 0xc4,
+  0xab, 0xd4, 0x2a, 0xc9, 0xfe, 0x62, 0xe5, 0x90, 0xb8, 0x9e, 0xb1, 0x0e,
+  0x49, 0x3a, 0xef, 0x93, 0x2f, 0x7b, 0x83, 0x68, 0xf7, 0x73, 0x7d, 0x1f,
+  0xbc, 0x41, 0x3c, 0xd8, 0x13, 0xf3, 0xa5, 0x0f, 0x8e, 0xb8, 0x33, 0x79,
+  0x67, 0x3f, 0x6c, 0xb4, 0x02, 0xc7, 0xe8, 0x89, 0xa2, 0xa2, 0xb9, 0x56,
+  0x1a, 0x9c, 0xa0, 0xaa, 0x65, 0x54, 0x9f, 0x4d, 0x22, 0xea, 0x6d, 0x67,
+  0x7f, 0x3d, 0x89, 0xf6, 0x41, 0x0b, 0x94, 0xd5, 0xb6, 0x0f, 0x58, 0x56,
+  0xef, 0xc7, 0xb2, 0xc5, 0xe8, 0x1e, 0xbc, 0x2a, 0xa5, 0x70, 0xe0, 0x63,
+  0x04, 0xca, 0xaa, 0x7d, 0x1e, 0xf6, 0x03, 0x67, 0xe9, 0x43, 0x5d, 0xcf,
+  0x68, 0xb3, 0xe7, 0x57, 0xf7, 0xa6, 0x53, 0xf5, 0xca, 0xcc, 0x6a, 0xff,
+  0x2e, 0xe5, 0xe7, 0x74, 0xb9, 0x3c, 0xcb, 0x72, 0xb3, 0x86, 0xf3, 0x6f,
+  0x91, 0x51, 0x6d, 0x66, 0xe6, 0x8c, 0x7c, 0x60, 0xc6, 0x40, 0x29, 0x89,
+  0xcf, 0xbb, 0x88, 0x98, 0x88, 0x0c, 0xab, 0x39, 0x0c, 0xa9, 0x5a, 0xa7,
+  0x98, 0x4c, 0x0f, 0x0c, 0xbe, 0xd5, 0x12, 0x35, 0xe2, 0xc2, 0xc0, 0xed,
+  0x09, 0xa1, 0x54, 0xad, 0x60, 0x42, 0x74, 0xf6, 0x3f, 0x40, 0xaa, 0x70,
+  0xe0, 0x56, 0x2b, 0x72, 0xda, 0xba, 0xb3, 0xa9, 0x6c, 0x0f, 0x0d, 0xbe,
+  0x0e, 0x4e, 0xe9, 0x5a, 0x9c, 0x45, 0x38, 0x31, 0x93, 0x10, 0xb9, 0x20,
+  0x45, 0x10, 0x00, 0x61, 0x75, 0x6b, 0xbd, 0x45, 0xe0, 0x16, 0x30, 0x4d,
+  0xa1, 0x86, 0x24, 0x7e, 0xb1, 0xd2, 0x17, 0xe9, 0xc8, 0x9f, 0x9a, 0x6d,
+  0xc1, 0xec, 0xa8, 0xce, 0x26, 0xf5, 0xf5, 0x88, 0xb7, 0x09, 0xf2, 0x21,
+  0x9d, 0x10, 0x59, 0xb8, 0x40, 0xe4, 0xd2, 0x87, 0xb6, 0x8d, 0x10, 0x86,
+  0x71, 0x15, 0x0d, 0x58, 0x3b, 0xd7, 0xa0, 0xb5, 0x28, 0x3b, 0x5b, 0xc9,
+  0xdc, 0x2f, 0x91, 0x99, 0xa3, 0x7b, 0xd5, 0x0a, 0xad, 0x4b, 0x1f, 0xaf,
+  0xee, 0x15, 0x46, 0xff, 0xc7, 0x0f, 0x78, 0x54, 0x4a, 0x95, 0x55, 0x47,
+  0x0e, 0x3d, 0x74, 0x47, 0x46, 0x45, 0x83, 0x8c, 0x41, 0xa5, 0x94, 0x3f,
+  0x86, 0x7f, 0xb2, 0x90, 0x12, 0xe4, 0xa0, 0x7f, 0xe4, 0x68, 0x09, 0xe5,
+  0xc7, 0x5b, 0xb5, 0x23, 0xd7, 0xa3, 0x44, 0xa3, 0xa9, 0x8b, 0x5b, 0x6c,
+  0x27, 0x31, 0x9e, 0x91, 0xae, 0x46, 0x67, 0x76, 0xb0, 0x7f, 0x69, 0x21,
+  0x6e, 0xfb, 0xe0, 0xd9, 0x20, 0xa2, 0x96, 0x0f, 0x96, 0xe4, 0x99, 0x23,
+  0x1c, 0xa8, 0x6c, 0xea, 0x4a, 0x91, 0x33, 0xe5, 0x0e, 0x9f, 0x5f, 0x12,
+  0x5b, 0xfa, 0x74, 0xc4, 0x99, 0x85, 0xd6, 0x24, 0x5e, 0x9a, 0xac, 0x6b,
+  0x4d, 0x53, 0xac, 0x6c, 0x53, 0x88, 0x39, 0x3e, 0x70, 0xd2, 0x88, 0x39,
+  0x2d, 0xfa, 0x45, 0xcb, 0xcf, 0xf6, 0xa8, 0xfe, 0xc3, 0x74, 0x56, 0x8d,
+  0x65, 0xfd, 0x17, 0x7d, 0x11, 0x11, 0xff, 0xb4, 0x42, 0xa7, 0x1f, 0xf7,
+  0xe9, 0x95, 0xf0, 0x74, 0xf0, 0x5b, 0xbb, 0x75, 0xa0, 0xb6, 0x52, 0x8a,
+  0xb8, 0x5f, 0x7b, 0x0c, 0xdc, 0xcc, 0x8a, 0xee, 0x6c, 0x1b, 0x23, 0x3b,
+  0xeb, 0x65, 0xc5, 0x75, 0x67, 0x1f, 0x56, 0xf7, 0xd4, 0x83, 0x63, 0xdb,
+  0x23, 0x6a, 0xa5, 0x36, 0x35, 0xf8, 0x8a, 0x5e, 0xd9, 0x21, 0xfa, 0xbd,
+  0x92, 0x1f, 0x76, 0xfb, 0xe4, 0x3a, 0xf5, 0x0b, 0x7b, 0xc5, 0xed, 0x3d,
+  0xa6, 0x4f, 0xbf, 0xfc, 0x5e, 0xeb, 0x5c, 0x6c, 0xdd, 0xab, 0xac, 0x75,
+  0x57, 0x3d, 0x46, 0xd8, 0x3f, 0x70, 0x95, 0xb5, 0x6e, 0xab, 0x87, 0xcf,
+  0xec, 0xaa, 0xab, 0x6c, 0x2f, 0x26, 0x42, 0x48, 0x3e, 0x7c, 0x48, 0x17,
+  0x0b, 0x11, 0x3b, 0x8f, 0x18, 0x3b, 0x93, 0xd7, 0x60, 0xbb, 0x0b, 0x95,
+  0x3c, 0xd7, 0x4b, 0x37, 0x7b, 0xb5, 0xfc, 0xc8, 0x1e, 0x2e, 0xc6, 0x32,
+  0xa6, 0xd5, 0x03, 0xcd, 0x71, 0xb9, 0x67, 0x99, 0xc1, 0x9d, 0xd1, 0xe8,
+  0x9b, 0x9d, 0xac, 0x99, 0x58, 0x09, 0xb8, 0xe3, 0x20, 0x53, 0x52, 0x56,
+  0xf5, 0x41, 0x85, 0x06, 0x32, 0x18, 0xd5, 0x3c, 0x68, 0x1e, 0xac, 0x8b,
+  0xf1, 0xb1, 0xd3, 0xd0, 0xb6, 0x50, 0x7e, 0x97, 0x81, 0x12, 0xf5, 0x9f,
+  0xfd, 0x8c, 0x8c, 0xca, 0xdd, 0x80, 0xe8, 0x3a, 0xdd, 0xf2, 0xeb, 0x9b,
+  0x13, 0xdb, 0xa6, 0x3d, 0xc6, 0xe8, 0x88, 0xc8, 0xec, 0x26, 0xb4, 0xc4,
+  0x72, 0xf1, 0x7f, 0x68, 0x61, 0x61, 0xf7, 0x73, 0xe0, 0x0c, 0xe8, 0x92,
+  0x87, 0xbb, 0xbc, 0x20, 0x1b, 0x97, 0xcd, 0xd8, 0x87, 0xfb, 0xcc, 0x5d,
+  0xe6, 0x82, 0x72, 0xdd, 0x0e, 0x8b, 0xb3, 0x95, 0xcb, 0xc1, 0x3c, 0xb6,
+  0xcf, 0x2e, 0x85, 0x49, 0x3b, 0x81, 0x3e, 0xc3, 0x65, 0x68, 0x4b, 0xa7,
+  0x8f, 0xb3, 0xeb, 0xbc, 0x78, 0x94, 0xef, 0x47, 0xf1, 0x0d, 0xe9, 0x8c,
+  0xeb, 0x51, 0xda, 0x46, 0x25, 0x8b, 0x8b, 0x43, 0x18, 0x94, 0xb9, 0xff,
+  0xa0, 0x98, 0x48, 0x85, 0x7a, 0x90, 0x44, 0x85, 0xe7, 0x10, 0x9d, 0xa8,
+  0xc7, 0x82, 0x40, 0x10, 0xf9, 0x64, 0x49, 0x29, 0xcc, 0x91, 0xe2, 0x74,
+  0x81, 0x97, 0xc3, 0x28, 0x01, 0x9c, 0xba, 0x70, 0x4b, 0x31, 0xcd, 0x15,
+  0x6b, 0x61, 0x75, 0xbd, 0x15, 0x93, 0x4d, 0x95, 0xcb, 0xb1, 0x37, 0xa4,
+  0x08, 0xbc, 0x3e, 0xff, 0xa0, 0x98, 0x32, 0x22, 0x6e, 0x51, 0x7b, 0xe9,
+  0xb0, 0xd8, 0x26, 0xbc, 0x51, 0xfb, 0x7a, 0x3e, 0xfa, 0xc9, 0xa3, 0xb7,
+  0x02, 0x53, 0x90, 0xc9, 0xd4, 0x0a, 0x8f, 0x9a, 0x22, 0x65, 0x29, 0x50,
+  0xc9, 0xbf, 0x4c, 0x27, 0x96, 0x9d, 0xfb, 0xa1, 0xde, 0xa5, 0x5c, 0x94,
+  0xa2, 0x33, 0x0b, 0x2e, 0xb7, 0xdb, 0xde, 0x32, 0x80, 0x96, 0x3c, 0x4a,
+  0xc4, 0xe7, 0x42, 0x0b, 0xa3, 0x29, 0x51, 0x89, 0x3f, 0x5b, 0x14, 0xbf,
+  0x12, 0x19, 0xf5, 0x08, 0xad, 0x34, 0x6a, 0xa4, 0xa1, 0xab, 0xe8, 0xf9,
+  0xe3, 0x8f, 0xcf, 0xef, 0x72, 0xe4, 0x19, 0xe1, 0x43, 0x8a, 0x4a, 0xf4,
+  0xe8, 0x3c, 0xda, 0x40, 0xae, 0xb0, 0x02, 0x0c, 0x66, 0x70, 0x40, 0xa1,
+  0x8e, 0x88, 0x60, 0x3f, 0xfb, 0xac, 0x2e, 0x1f, 0xd6, 0x0c, 0x38, 0xb9,
+  0x9c, 0xc5, 0x81, 0x40, 0x8e, 0x89, 0x70, 0x54, 0x59, 0x6c, 0x8d, 0x8a,
+  0x4c, 0xa7, 0xa7, 0xc9, 0x1e, 0x75, 0xd3, 0xd0, 0xf5, 0x1f, 0x3f, 0x33,
+  0xac, 0xb1, 0xb9, 0x19, 0xc6, 0x3f, 0xc3, 0xa3, 0xa3, 0x49, 0xac, 0x0c,
+  0x7b, 0x02, 0x42, 0xf1, 0x31, 0xdb, 0x88, 0xbc, 0x61, 0x91, 0xd3, 0x0a,
+  0x2e, 0x57, 0x55, 0xd5, 0x9d, 0x21, 0xe0, 0xdc, 0x8c, 0x94, 0xf2, 0x04,
+  0xda, 0x42, 0x32, 0xf8, 0xd5, 0x2f, 0x0d, 0xd3, 0x84, 0xb4, 0x8c, 0xc1,
+  0x43, 0xbe, 0x58, 0xb8, 0xad, 0xc9, 0x6f, 0x0d, 0x08, 0xde, 0x2d, 0xc6,
+  0x35, 0x9b, 0xda, 0xa0, 0x94, 0x18, 0xaa, 0x4a, 0x3e, 0x7a, 0xb0, 0xbe,
+  0x39, 0xe5, 0x2c, 0xfe, 0x1d, 0x09, 0xeb, 0x3e, 0xa5, 0xe6, 0x14, 0xc4,
+  0xe0, 0xd5, 0x75, 0x8a, 0x7b, 0x48, 0x8b, 0xca, 0x97, 0x42, 0x6b, 0xd8,
+  0x2e, 0x7f, 0xc5, 0xb5, 0x2d, 0x1c, 0xa0, 0xd6, 0xec, 0xff, 0x32, 0xc8,
+  0xdb, 0x21, 0x5d, 0x0f, 0x51, 0x47, 0xf6, 0xc7, 0x1b, 0x4b, 0x2b, 0x95,
+  0x14, 0xbc, 0xc2, 0x48, 0x85, 0x86, 0x1d, 0xd0, 0x9c, 0x2e, 0x69, 0xfa,
+  0x92, 0x8f, 0x97, 0x0d, 0x05, 0x1a, 0x1d, 0x9f, 0x59, 0x04, 0x94, 0x2e,
+  0x59, 0x40, 0xf8, 0x9a, 0x4d, 0x67, 0xfc, 0x34, 0xbd, 0x1e, 0x96, 0x55,
+  0x4e, 0x37, 0x0e, 0x70, 0x70, 0xda, 0x18, 0xed, 0xfc, 0x3e, 0x24, 0x0a,
+  0xd9, 0x14, 0xb1, 0xe6, 0x34, 0xf4, 0xc2, 0x64, 0x6a, 0x49, 0xd8, 0xf4,
+  0x1c, 0xfb, 0x95, 0x7e, 0x67, 0x5b, 0xd5, 0x5a, 0x67, 0xb1, 0x08, 0x25,
+  0x27, 0xd4, 0xb8, 0xca, 0x4f, 0x8a, 0x18, 0xb0, 0xa3, 0x75, 0x03, 0xa5,
+  0xc8, 0x98, 0xd9, 0x78, 0x15, 0x92, 0x43, 0x43, 0x0f, 0x45, 0x5e, 0xd7,
+  0x4b, 0x2c, 0xd8, 0x9b, 0x93, 0xd3, 0x63, 0x0b, 0x0a, 0xfa, 0xdf, 0x3b,
+  0x43, 0x9a, 0xf2, 0x6a, 0x12, 0x40, 0xa0, 0x38, 0x29, 0xcb, 0xcb, 0xb0,
+  0x93, 0xac, 0xad, 0x6f, 0xfb, 0x5c, 0x26, 0x07, 0x3f, 0x6e, 0xa5, 0x6c,
+  0x1d, 0xbf, 0xfb, 0xee, 0xe4, 0xe2, 0xec, 0xdd, 0xdb, 0xe3, 0x77, 0xd6,
+  0xdb, 0x4b, 0x87, 0x22, 0xc6, 0x75, 0x5b, 0x87, 0x21, 0xdf, 0x9c, 0xe2,
+  0x05, 0x44, 0xb8, 0x88, 0xfa, 0x5e, 0x44, 0xb5, 0xb1, 0x58, 0xc8, 0xbf,
+  0x86, 0x7e, 0x73, 0xde, 0x43, 0xea, 0xf1, 0xa5, 0x40, 0xfc, 0x82, 0xcc,
+  0xfd, 0x29, 0x05, 0xde, 0x86, 0xec, 0x23, 0xb6, 0x85, 0xc6, 0x88, 0x6e,
+  0xf7, 0xd3, 0x24, 0x93, 0x32, 0xab, 0x54, 0x54, 0x6a, 0xc3, 0x4e, 0x09,
+  0x87, 0x89, 0x5c, 0x30, 0xad, 0xd5, 0x09, 0xb7, 0xb9, 0xdf, 0xd7, 0x82,
+  0xd5, 0x4a, 0xa2, 0xa3, 0x61, 0x00, 0xb8, 0x5f, 0x85, 0xf2, 0x26, 0xad,
+  0x9d, 0x7b, 0x5e, 0xb8, 0xb6, 0xdd, 0x0d, 0xe8, 0x12, 0x6e, 0xfd, 0x9a,
+  0x68, 0xdd, 0xb8, 0x9f, 0x37, 0x8a, 0x1f, 0xd5, 0x87, 0x70, 0xb0, 0xb3,
+  0xf3, 0x33, 0x8a, 0xf1, 0x7d, 0x29, 0xd5, 0xf8, 0x42, 0x42, 0xb4, 0xda,
+  0xeb, 0x86, 0xcb, 0xb8, 0xd0, 0x14, 0x1e, 0xda, 0xb7, 0x76, 0x3a, 0xe1,
+  0x1c, 0xfc, 0x70, 0x7e, 0x71, 0xf6, 0xc3, 0x5f, 0x7e, 0xe3, 0x4f, 0x78,
+  0x58, 0x9d, 0x1f, 0x09, 0xc2, 0xa6, 0x8d, 0xff, 0xfc, 0x9b, 0x7f, 0xad,
+  0xdd, 0x7c, 0xdf, 0x2b, 0x19, 0x1b, 0xad, 0x17, 0xcc, 0x6c, 0xe9, 0x79,
+  0xad, 0xf1, 0x0a, 0xf9, 0x81, 0xb3, 0x7d, 0x2d, 0x8c, 0x06, 0x97, 0x5c,
+  0xdd, 0xde, 0xa0, 0x5d, 0x37, 0x1d, 0xd8, 0x1e, 0x90, 0x9e, 0xe7, 0x00,
+  0x90, 0x7d, 0xc9, 0xd3, 0xa4, 0x44, 0xcc, 0x3e, 0x12, 0xfc, 0x00, 0xe7,
+  0xb3, 0xf3, 0x71, 0x78, 0x7a, 0xfa, 0x9b, 0x4e, 0x02, 0x0a, 0x9a, 0xb9,
+  0xb1, 0x0c, 0xac, 0x8e, 0xaa, 0x0c, 0xf6, 0xeb, 0x79, 0xe9, 0xde, 0x9d,
+  0x49, 0x6f, 0x5e, 0x42, 0x3d, 0x1e, 0xd4, 0x99, 0x51, 0x6a, 0xa9, 0x86,
+  0x74, 0x32, 0x23, 0x44, 0x8c, 0xb1, 0xb6, 0xa9, 0x63, 0x41, 0xe5, 0x32,
+  0xfc, 0x12, 0x5e, 0x71, 0x5b, 0xc8, 0x51, 0xf4, 0x64, 0xce, 0x26, 0x02,
+  0xdc, 0xbb, 0xb4, 0x14, 0x1f, 0x5c, 0x54, 0x91, 0xcb, 0x6b, 0x5e, 0x45,
+  0xaa, 0xb6, 0xe1, 0x52, 0xa0, 0x6b, 0xb6, 0xca, 0xeb, 0x8f, 0x80, 0xc2,
+  0xd3, 0xc1, 0x84, 0xb2, 0xab, 0xb9, 0xb0, 0xa4, 0xeb, 0xa2, 0x2b, 0xf1,
+  0xe4, 0xd0, 0xe8, 0xb9, 0x94, 0xe4, 0x54, 0x5b, 0xc7, 0x51, 0xb7, 0x05,
+  0x4d, 0x4b, 0x06, 0xba, 0x60, 0xf2, 0xec, 0x86, 0xfe, 0x12, 0xa5, 0x44,
+  0xd0, 0x08, 0xab, 0xc8, 0xf6, 0x04, 0xe7, 0x15, 0x97, 0x9d, 0x34, 0x62,
+  0xc3, 0xab, 0x52, 0x3e, 0x26, 0x32, 0xdb, 0x3a, 0xc1, 0xaf, 0x58, 0xf1,
+  0xf4, 0xb3, 0xd0, 0xf5, 0xba, 0x1b, 0x7c, 0x92, 0xe3, 0x6e, 0x36, 0x02,
+  0xcf, 0x92, 0x9f, 0x01, 0x1f, 0xc6, 0xbf, 0xcc, 0x63, 0xb1, 0xc6, 0x52,
+  0xb8, 0x20, 0x04, 0xd9, 0xdd, 0x10, 0x14, 0xb1, 0xc1, 0xf5, 0xc6, 0xcf,
+  0xce, 0xa2, 0xb5, 0x9c, 0x7e, 0x9f, 0xde, 0x91, 0x13, 0x94, 0xc9, 0x0f,
+  0xfc, 0xf6, 0x56, 0xf5, 0xcf, 0xf1, 0xc0, 0x64, 0xb1, 0x20, 0x48, 0x14,
+  0x09, 0xd1, 0xd9, 0x7f, 0xb2, 0x01, 0x99, 0x08, 0x81, 0x01, 0xfc, 0xe3,
+  0xcc, 0x4b, 0x62, 0x73, 0x91, 0xcf, 0xe4, 0xa4, 0x8b, 0x59, 0x14, 0xff,
+  0x37, 0x5d, 0xa0, 0x8c, 0x90, 0x63, 0x30, 0xb6, 0x05, 0x49, 0x6b, 0x95,
+  0x74, 0x49, 0xaa, 0xa6, 0x76, 0x39, 0xa9, 0x5c, 0x82, 0x0c, 0x41, 0x26,
+  0xee, 0x64, 0x56, 0x42, 0xc0, 0x8f, 0x09, 0xe4, 0x9b, 0x61, 0xc3, 0xf2,
+  0x11, 0x33, 0xff, 0xbd, 0x3c, 0x3b, 0x3a, 0x3b, 0x35, 0x7f, 0x39, 0x7e,
+  0x73, 0xf2, 0x83, 0xbb, 0x85, 0x39, 0xc3, 0xba, 0x85, 0xe7, 0x77, 0x25,
+  0x42, 0xed, 0xb1, 0x67, 0x24, 0x56, 0x8c, 0xba, 0xa3, 0x43, 0x3d, 0xe7,
+  0xc9, 0x15, 0x29, 0xf4, 0xd9, 0x2a, 0xda, 0x29, 0xec, 0x21, 0xa4, 0xb5,
+  0x72, 0xcb, 0x16, 0xfb, 0xed, 0xa6, 0x9a, 0x52, 0x3a, 0x7c, 0xb1, 0x22,
+  0xe0, 0x39, 0x9f, 0x2d, 0x24, 0xf1, 0x8f, 0x93, 0x74, 0xae, 0xac, 0x6c,
+  0x09, 0xa9, 0xc6, 0x2f, 0x50, 0xd8, 0x21, 0xbe, 0xf6, 0x48, 0x06, 0x8d,
+  0x46, 0xe9, 0x0f, 0x52, 0x95, 0x4b, 0x63, 0xb0, 0x64, 0x90, 0x42, 0x20,
+  0x2f, 0xa0, 0x55, 0xf5, 0xd3, 0xd4, 0x3b, 0xfb, 0x02, 0x09, 0x05, 0xb6,
+  0xc5, 0xf6, 0x98, 0x64, 0x02, 0x04, 0xd1, 0x84, 0xe8, 0x3f, 0x2a, 0xad,
+  0x1f, 0xb4, 0xee, 0x59, 0x33, 0x53, 0xd1, 0xec, 0x26, 0xce, 0xaa, 0xa0,
+  0x3f, 0xc0, 0xc6, 0x0d, 0x4f, 0xb2, 0xc8, 0x31, 0xbf, 0x16, 0x3c, 0xcb,
+  0x60, 0x09, 0x01, 0xf0, 0x07, 0x43, 0x7a, 0xe5, 0x56, 0xf8, 0x99, 0x3e,
+  0x5a, 0xaf, 0xf9, 0xaa, 0x0e, 0xdf, 0x7e, 0x36, 0x80, 0x87, 0x72, 0x51,
+  0xd0, 0x75, 0x4d, 0x90, 0xee, 0xf5, 0xb7, 0x65, 0x7e, 0x9b, 0x22, 0x09,
+  0x86, 0xca, 0xd8, 0x4a, 0x25, 0xd1, 0x4e, 0x1b, 0xe9, 0xaf, 0x6a, 0x24,
+  0x6d, 0xb7, 0xf2, 0xec, 0xd7, 0x34, 0xf2, 0xac, 0xd3, 0xc6, 0xcd, 0xaf,
+  0x6a, 0xc4, 0x56, 0x13, 0x37, 0x2a, 0xe8, 0x0f, 0x27, 0x97, 0xc9, 0xd1,
+  0xd9, 0x6b, 0x77, 0xb4, 0x2e, 0x2d, 0xcc, 0x34, 0x4d, 0xc6, 0xcb, 0xc2,
+  0xec, 0x3e, 0x22, 0x6b, 0x47, 0x05, 0x32, 0xa8, 0xe9, 0x00, 0x9f, 0x26,
+  0x00, 0x44, 0xd4, 0x4a, 0xdd, 0x72, 0x93, 0xe5, 0xf8, 0x51, 0xc5, 0x28,
+  0x07, 0x9f, 0x9c, 0x50, 0x1e, 0x9f, 0x13, 0x4d, 0xc7, 0xb5, 0x65, 0x83,
+  0xc5, 0xa1, 0x24, 0xb6, 0xa6, 0xb4, 0xd2, 0x1c, 0xb8, 0x71, 0x4a, 0x7c,
+  0x1c, 0x05, 0x67, 0x72, 0x19, 0x23, 0xa4, 0xcd, 0x90, 0xb9, 0xe1, 0x67,
+  0xfa, 0xfa, 0x44, 0x99, 0x46, 0x55, 0xcd, 0x1b, 0xe9, 0x4d, 0x0b, 0xd9,
+  0xb5, 0xa7, 0xc8, 0xe4, 0xd6, 0x46, 0x97, 0x1a, 0x18, 0xb8, 0x01, 0x09,
+  0x85, 0x3a, 0xd5, 0x24, 0x1e, 0xa9, 0xfa, 0x62, 0xed, 0x05, 0x2e, 0x90,
+  0x17, 0x5c, 0x4e, 0xb6, 0x09, 0xfb, 0x9d, 0x7d, 0xfe, 0xe3, 0x4d, 0x8a,
+  0x7a, 0xf2, 0x46, 0x6c, 0x08, 0xce, 0x27, 0xff, 0xbb, 0xa7, 0x0f, 0x3f,
+  0xb1, 0xea, 0x8f, 0x19, 0xf9, 0x0c, 0x55, 0xd7, 0xa6, 0x7c, 0x22, 0xea,
+  0xfb, 0xa2, 0x49, 0x3f, 0xc1, 0xfe, 0x25, 0x73, 0x45, 0x18, 0x49, 0xdc,
+  0x9b, 0x4f, 0x45, 0x09, 0x4a, 0x2c, 0xef, 0x09, 0xc0, 0x34, 0x9a, 0x56,
+  0xe5, 0x41, 0x37, 0xc4, 0x4f, 0x60, 0x7a, 0xa0, 0x49, 0x9d, 0x88, 0x35,
+  0x65, 0x35, 0xd5, 0x82, 0xdb, 0x88, 0x86, 0xd5, 0xed, 0x67, 0x35, 0x3d,
+  0xb4, 0xac, 0x04, 0x06, 0xe2, 0xca, 0x99, 0x38, 0xc2, 0x0a, 0xaa, 0xe0,
+  0xce, 0x93, 0x36, 0x88, 0x72, 0xff, 0x23, 0x99, 0x16, 0x79, 0x63, 0x92,
+  0x79, 0x25, 0x9a, 0xfe, 0xb4, 0xc4, 0x4c, 0xf6, 0x81, 0x6b, 0xa4, 0xca,
+  0x94, 0xe6, 0x17, 0xf7, 0x5c, 0x47, 0x25, 0x2d, 0x90, 0x20, 0xd5, 0xc5,
+  0x69, 0xea, 0xc2, 0x48, 0xfe, 0x88, 0x4b, 0xd5, 0x78, 0xc6, 0x7f, 0x1c,
+  0xa9, 0xc6, 0xa4, 0x05, 0xb2, 0xb5, 0x04, 0x32, 0xbc, 0x19, 0x52, 0xd8,
+  0x40, 0x34, 0x0e, 0xbe, 0xee, 0x26, 0x7c, 0x23, 0xa1, 0x10, 0xc4, 0x38,
+  0xe4, 0xa6, 0xac, 0x3b, 0xfe, 0xc5, 0xe7, 0x2b, 0xbe, 0xc3, 0xe4, 0x24,
+  0x97, 0x96, 0x26, 0xa5, 0xeb, 0xcd, 0xa7, 0xf6, 0xc3, 0xd6, 0x3e, 0xeb,
+  0x6e, 0x11, 0x75, 0xae, 0x13, 0x87, 0x5d, 0xe9, 0xc7, 0xd8, 0x3e, 0x17,
+  0x2f, 0x40, 0x46, 0xd9, 0x56, 0xa2, 0xb6, 0x56, 0xd9, 0x62, 0x26, 0xe2,
+  0x53, 0x7e, 0x82, 0x50, 0x1e, 0xec, 0x78, 0xcc, 0xf3, 0x44, 0x7b, 0x69,
+  0x14, 0x51, 0xdf, 0x08, 0x7b, 0x21, 0x9f, 0x25, 0xde, 0x0c, 0x56, 0x25,
+  0x08, 0x9f, 0x5e, 0xe4, 0x76, 0xeb, 0x49, 0xd1, 0x42, 0xfc, 0x88, 0xb0,
+  0x67, 0x48, 0x47, 0xd7, 0x7f, 0xcb, 0x1b, 0x01, 0x69, 0x53, 0xc7, 0x8d,
+  0x4b, 0xa3, 0x5d, 0x56, 0x9c, 0x6d, 0xe8, 0x88, 0xca, 0x80, 0xeb, 0x4d,
+  0x8b, 0x86, 0x87, 0x4b, 0x78, 0x60, 0x22, 0xb3, 0x49, 0xde, 0x86, 0x80,
+  0x9e, 0xf2, 0x8a, 0xaa, 0x6b, 0x71, 0xd2, 0x30, 0xc1, 0xc6, 0x78, 0x7e,
+  0x6e, 0xd2, 0xe2, 0x3a, 0x63, 0x25, 0xd7, 0x35, 0x8a, 0xbd, 0xae, 0x17,
+  0xa3, 0x39, 0xf6, 0x70, 0xaf, 0xac, 0x4c, 0x9b, 0x77, 0xf3, 0xb0, 0xb7,
+  0x6b, 0xe7, 0x81, 0x06, 0x45, 0xd4, 0x07, 0x58, 0x09, 0x2a, 0xf0, 0x41,
+  0x2e, 0x83, 0xbb, 0x14, 0xe2, 0xc4, 0xd6, 0xc4, 0x74, 0xe6, 0x82, 0x0d,
+  0x82, 0x50, 0x32, 0x4d, 0x08, 0x62, 0x45, 0x0a, 0x3a, 0xe1, 0x12, 0x48,
+  0x33, 0x60, 0x14, 0x1e, 0xe7, 0x65, 0xc9, 0xe5, 0xd5, 0x87, 0x29, 0x0d,
+  0x01, 0x68, 0xe1, 0x6a, 0x58, 0x3b, 0x82, 0xf4, 0x6f, 0xc4, 0xc2, 0x82,
+  0xcc, 0xc0, 0xe2, 0x45, 0xd7, 0x09, 0xbc, 0xcf, 0x9c, 0x9f, 0xde, 0x78,
+  0xf6, 0xec, 0x78, 0xee, 0xb0, 0x51, 0xce, 0x0f, 0x47, 0x23, 0xdd, 0x26,
+  0x47, 0xe1, 0x8e, 0x10, 0xe0, 0x0f, 0xe5, 0xe0, 0x2b, 0x35, 0x49, 0x44,
+  0x75, 0x94, 0x46, 0x3a, 0x41, 0xdf, 0x3d, 0x16, 0x6f, 0xaf, 0x59, 0x46,
+  0x43, 0xaf, 0x90, 0xf1, 0xf2, 0xbe, 0xd2, 0x11, 0xdf, 0xad, 0x9f, 0xc9,
+  0x78, 0xb1, 0x61, 0x4c, 0x2b, 0xe6, 0x19, 0x59, 0x94, 0x2a, 0xee, 0xc9,
+  0x0b, 0x6b, 0x04, 0x50, 0xbb, 0x84, 0xe5, 0xde, 0x93, 0x70, 0xd0, 0xdf,
+  0xf1, 0xa8, 0xfa, 0xff, 0xd0, 0xa0, 0xbf, 0x8b, 0x0c, 0xfa, 0xa9, 0x3b,
+  0x38, 0xfc, 0xb1, 0x64, 0x7f, 0xff, 0x33, 0x05, 0xc8, 0x33, 0xe1, 0xff,
+  0x2c, 0x71, 0x1f, 0xf4, 0xbe, 0x68, 0x9e, 0x1b, 0x08, 0xf7, 0x67, 0x16,
+  0x58, 0x91, 0xf6, 0xf0, 0x7a, 0x9f, 0x7a, 0x66, 0x3f, 0x65, 0x54, 0xf1,
+  0x4d, 0x94, 0xef, 0x16, 0x29, 0x13, 0x08, 0x1f, 0x65, 0x47, 0x22, 0x0c,
+  0xca, 0x1d, 0xe1, 0x59, 0x56, 0xc6, 0xf3, 0xb5, 0x17, 0xde, 0x77, 0x9e,
+  0x5b, 0x07, 0xc6, 0xce, 0x3e, 0xef, 0x49, 0x4a, 0x08, 0x97, 0x3a, 0xc1,
+  0xd8, 0x99, 0xd3, 0xac, 0x31, 0x6b, 0xe2, 0x1c, 0x6f, 0x9c, 0x2c, 0x74,
+  0x55, 0xa5, 0x60, 0x0e, 0x45, 0x71, 0xe2, 0xe1, 0x0a, 0x6e, 0x5a, 0x36,
+  0x5f, 0x52, 0xea, 0x7d, 0x41, 0x66, 0x03, 0xd4, 0x02, 0x71, 0x58, 0x91,
+  0x07, 0x14, 0x95, 0xa0, 0xaf, 0xac, 0x93, 0x54, 0xab, 0x13, 0xf7, 0x83,
+  0x19, 0xe2, 0x41, 0xf2, 0x91, 0x11, 0x95, 0x21, 0x4e, 0x73, 0xb4, 0xf7,
+  0x99, 0x5b, 0x22, 0xb7, 0x0e, 0xe4, 0x53, 0x12, 0x76, 0x83, 0xa1, 0x27,
+  0xbd, 0xad, 0x3c, 0x51, 0x7f, 0xbc, 0x90, 0xda, 0x07, 0xfb, 0x52, 0x5e,
+  0x75, 0x5f, 0x61, 0x79, 0x7c, 0x4e, 0xe2, 0x4e, 0xf8, 0x23, 0x87, 0xc9,
+  0x19, 0x3c, 0x60, 0x2d, 0xce, 0xdc, 0x2b, 0xde, 0xfc, 0x2e, 0xdf, 0xad,
+  0xbd, 0x75, 0x5f, 0xb8, 0x35, 0xd6, 0x2e, 0x29, 0x1c, 0x61, 0x47, 0xc5,
+  0xac, 0xbd, 0x52, 0xd4, 0xd3, 0x9b, 0x25, 0x17, 0xc7, 0x97, 0x17, 0x40,
+  0x53, 0x41, 0x04, 0x04, 0x85, 0x15, 0xd2, 0x6a, 0xdb, 0xf2, 0x2c, 0x8a,
+  0x40, 0x73, 0x4a, 0x89, 0x13, 0x11, 0x4c, 0xc6, 0x63, 0x57, 0x9c, 0xff,
+  0xa9, 0xef, 0x71, 0x3e, 0x80, 0x59, 0x73, 0x9e, 0x72, 0x17, 0x4b, 0x69,
+  0xd3, 0x04, 0xed, 0xef, 0x3b, 0x5c, 0x08, 0x17, 0x5b, 0xe3, 0x9b, 0xd4,
+  0x22, 0x7d, 0x87, 0x16, 0x72, 0xa0, 0xf8, 0x78, 0xa5, 0xc7, 0xa6, 0xe7,
+  0x18, 0x2d, 0x1b, 0x04, 0x8c, 0xed, 0xc7, 0x45, 0x0b, 0x90, 0x4e, 0xd8,
+  0x8c, 0x68, 0x7c, 0xce, 0x53, 0x37, 0x85, 0xfb, 0xd0, 0xe8, 0x44, 0xbb,
+  0xbb, 0x11, 0x2c, 0x67, 0x3a, 0x36, 0x62, 0x55, 0x54, 0x3b, 0xc9, 0x73,
+  0xc0, 0x5b, 0xec, 0xb1, 0x84, 0xae, 0x59, 0x93, 0xe1, 0x31, 0xb8, 0x22,
+  0x17, 0x22, 0xcd, 0x98, 0x33, 0x32, 0xec, 0x40, 0x59, 0xca, 0x7c, 0x8f,
+  0xbc, 0x0b, 0x9d, 0xb4, 0x8e, 0x78, 0xe1, 0xa4, 0x0c, 0xad, 0xe6, 0x95,
+  0x7a, 0xdc, 0xa2, 0xe2, 0x7b, 0x0e, 0x7a, 0x16, 0x48, 0xf0, 0xfd, 0x67,
+  0xe1, 0x8e, 0x18, 0x5d, 0x9e, 0x5d, 0xc8, 0x0e, 0x0b, 0x2f, 0x67, 0xb6,
+  0x1c, 0xf1, 0x88, 0x23, 0x8a, 0xe8, 0x47, 0xaa, 0x89, 0xdb, 0xd4, 0x66,
+  0xcb, 0xc9, 0xe7, 0x7d, 0x95, 0x65, 0xc0, 0x05, 0x25, 0xe7, 0xc8, 0xd0,
+  0xbe, 0x93, 0x64, 0x66, 0xe5, 0x9f, 0xd4, 0x93, 0xe9, 0xbd, 0xc4, 0x07,
+  0xed, 0x8c, 0x4f, 0x30, 0x27, 0xde, 0xd2, 0x3e, 0x92, 0x14, 0x5c, 0xe2,
+  0xaf, 0x14, 0x80, 0xa2, 0xad, 0x3b, 0xd4, 0xdd, 0x8b, 0x7c, 0x88, 0xce,
+  0x2c, 0xc3, 0xa8, 0x0a, 0x79, 0xdd, 0x34, 0x9e, 0x91, 0x8c, 0x0a, 0x58,
+  0x24, 0x2d, 0x98, 0x85, 0x53, 0xe0, 0x26, 0x29, 0x85, 0x85, 0xba, 0xab,
+  0x3d, 0x31, 0xaa, 0xb2, 0x72, 0x0e, 0xca, 0xe5, 0xa9, 0xb6, 0x83, 0x53,
+  0xbb, 0xdd, 0xcd, 0x7f, 0x7e, 0x76, 0x71, 0x69, 0xef, 0x7d, 0xfa, 0x2c,
+  0x7e, 0xd0, 0x39, 0x3f, 0xc4, 0xf2, 0x2f, 0x79, 0x29, 0x72, 0xbb, 0xa1,
+  0xae, 0xd8, 0x46, 0x34, 0x7f, 0x5a, 0x16, 0x05, 0xed, 0x68, 0x43, 0x44,
+  0x86, 0x43, 0xac, 0xb0, 0x53, 0xa6, 0xe1, 0x48, 0x1d, 0xda, 0x5d, 0x7c,
+  0xd8, 0x74, 0xe1, 0xc4, 0x6b, 0x49, 0x39, 0x25, 0xf7, 0xc9, 0x5e, 0xb8,
+  0x3b, 0xc8, 0xa8, 0xbe, 0x38, 0xa6, 0xba, 0xf2, 0x97, 0x37, 0xfc, 0xb7,
+  0xa0, 0xef, 0x9c, 0xd9, 0x28, 0x3f, 0x0c, 0xdd, 0x6a, 0x76, 0x77, 0x50,
+  0x5c, 0xd0, 0x98, 0x1f, 0x68, 0xdf, 0xe6, 0xe7, 0x7a, 0x73, 0xf6, 0xc4,
+  0xc3, 0x80, 0x41, 0x6c, 0xca, 0x5e, 0x01, 0x56, 0x16, 0x3f, 0xe8, 0xc9,
+  0x57, 0x7a, 0x46, 0x39, 0xe3, 0x23, 0xd1, 0x62, 0x14, 0x7e, 0xf2, 0xd4,
+  0xb5, 0xb0, 0xa0, 0xfb, 0x4a, 0x1a, 0x38, 0xd1, 0xd2, 0x5d, 0xf4, 0xc3,
+  0x81, 0x6e, 0x17, 0x5c, 0x19, 0xbc, 0x31, 0xf8, 0x39, 0xd7, 0xce, 0x33,
+  0x9b, 0x87, 0xaf, 0x0a, 0x83, 0xd7, 0x15, 0xfa, 0xb1, 0x82, 0x6f, 0xa0,
+  0x73, 0x74, 0xb6, 0xdd, 0x13, 0xde, 0xed, 0x5f, 0xa5, 0xc8, 0xd5, 0x11,
+  0x30, 0x19, 0x8f, 0xdd, 0xbb, 0x5b, 0x49, 0xe5, 0xca, 0x8b, 0x65, 0x06,
+  0x4d, 0x2d, 0xad, 0x66, 0x44, 0x5f, 0x6e, 0x04, 0x09, 0xcc, 0x45, 0x7a,
+  0x2b, 0x90, 0xba, 0xa5, 0xcf, 0x9f, 0xf1, 0x44, 0x6e, 0xa1, 0x93, 0xd3,
+  0x63, 0xb7, 0x54, 0x4c, 0x7d, 0x8e, 0x83, 0xec, 0x34, 0x7e, 0x2a, 0xb7,
+  0x69, 0xaf, 0x8a, 0x61, 0x72, 0x4e, 0x75, 0x14, 0xa1, 0x39, 0xd5, 0xff,
+  0xee, 0x5a, 0xe3, 0x83, 0x02, 0x0f, 0xb8, 0xb9, 0x3c, 0x91, 0xad, 0x99,
+  0x17, 0x66, 0x65, 0xf1, 0x13, 0xfa, 0xab, 0x47, 0xd3, 0x1b, 0x0c, 0xf7,
+  0x85, 0x7b, 0xb9, 0x36, 0x23, 0x31, 0x76, 0x7b, 0xf7, 0x91, 0xa7, 0xb2,
+  0xaf, 0x8c, 0x51, 0xcf, 0x35, 0xbb, 0x55, 0x34, 0xd3, 0x79, 0xd6, 0xa2,
+  0xe1, 0xdc, 0xc2, 0x95, 0x3e, 0xd3, 0x12, 0xe1, 0x5e, 0x53, 0x7c, 0x21,
+  0x1c, 0x8e, 0x6d, 0xe1, 0x0b, 0x02, 0x6f, 0x92, 0x3a, 0x67, 0xda, 0x2a,
+  0x48, 0xda, 0xce, 0x2c, 0x02, 0xda, 0x8f, 0xc1, 0x62, 0x6a, 0x2d, 0xdd,
+  0x4d, 0x77, 0x72, 0x3b, 0x45, 0x21, 0x9f, 0xf2, 0x4e, 0xb4, 0xdb, 0xc6,
+  0xde, 0x61, 0xad, 0xde, 0x09, 0x6a, 0x54, 0x68, 0xbb, 0xc8, 0x8b, 0x40,
+  0xfe, 0x78, 0x73, 0xc3, 0xfb, 0x26, 0xc0, 0xd3, 0x67, 0xae, 0xa9, 0x2b,
+  0x70, 0x8f, 0xa8, 0x6c, 0x3f, 0x6c, 0xc9, 0x1f, 0xcb, 0x8c, 0x9e, 0xdb,
+  0x27, 0xd9, 0x72, 0xe4, 0xd4, 0xd9, 0xc8, 0x91, 0xf2, 0xbe, 0xc1, 0x9b,
+  0xe1, 0xb2, 0x24, 0xf2, 0x94, 0xe2, 0xde, 0x21, 0xa2, 0xa5, 0x90, 0x20,
+  0xfb, 0xd1, 0xb8, 0xf6, 0x82, 0xfc, 0x46, 0x58, 0xd9, 0x6e, 0xc4, 0x5b,
+  0x43, 0xb5, 0xc8, 0x02, 0xca, 0xdd, 0xe5, 0x5c, 0x90, 0x95, 0xde, 0x97,
+  0x3e, 0x17, 0xd7, 0x06, 0x57, 0x6d, 0xb7, 0xce, 0x00, 0x5f, 0x90, 0x96,
+  0x96, 0x68, 0x43, 0x43, 0xe9, 0x46, 0x3c, 0x12, 0xe6, 0xaf, 0xb6, 0xf4,
+  0xd2, 0x11, 0xee, 0x37, 0xba, 0x8c, 0x45, 0xe5, 0xd5, 0x30, 0x73, 0xa9,
+  0xa9, 0x91, 0x12, 0xa5, 0x97, 0xc7, 0xf8, 0x57, 0x4a, 0xf0, 0x10, 0x71,
+  0x94, 0x57, 0xd9, 0x5f, 0xa1, 0x4e, 0x0e, 0xf9, 0xc2, 0xe1, 0x2c, 0x27,
+  0x1e, 0x65, 0xb1, 0x4c, 0x3d, 0x9b, 0xfe, 0xe9, 0x0b, 0xf1, 0x5b, 0x89,
+  0x5f, 0x44, 0x2b, 0x96, 0x76, 0xc3, 0x7b, 0xcf, 0xf6, 0xac, 0xef, 0x92,
+  0x70, 0x8c, 0x82, 0xce, 0xf7, 0xd1, 0x8c, 0x46, 0xb8, 0x8d, 0x46, 0xdf,
+  0x24, 0x6f, 0x5f, 0x3f, 0x23, 0x48, 0xcd, 0x75, 0x56, 0x2d, 0x8c, 0xd5,
+  0xe2, 0x0c, 0xf3, 0xb3, 0x6f, 0xbd, 0xc6, 0xf6, 0x1d, 0xfa, 0x41, 0x81,
+  0x16, 0x22, 0xcc, 0xc4, 0x6a, 0x30, 0x4b, 0x48, 0xe9, 0xa0, 0xd7, 0x7d,
+  0x49, 0xed, 0x56, 0x1a, 0x32, 0xaf, 0x74, 0x77, 0xc0, 0x71, 0xd5, 0x11,
+  0x60, 0xcf, 0x9e, 0x38, 0x01, 0x56, 0xdd, 0x2f, 0xa8, 0x58, 0x40, 0x71,
+  0x4d, 0xc6, 0x41, 0xe4, 0x44, 0x3d, 0x63, 0xa1, 0x79, 0xc4, 0xe7, 0x9e,
+  0x14, 0xd9, 0xf0, 0x35, 0x28, 0xe9, 0x70, 0xa0, 0x7a, 0xef, 0x3d, 0xf3,
+  0x7d, 0x0b, 0xc4, 0xf7, 0x08, 0xa8, 0x12, 0xb3, 0xbc, 0x43, 0x4b, 0xf1,
+  0x9e, 0x7d, 0x6e, 0x9f, 0x25, 0x47, 0x52, 0x5e, 0x78, 0x55, 0x39, 0x56,
+  0xbc, 0x21, 0x0a, 0xb0, 0x9a, 0x09, 0xaa, 0x9a, 0xb1, 0xce, 0xe3, 0xcd,
+  0xbd, 0xf7, 0xca, 0x8b, 0xb6, 0xeb, 0x04, 0x94, 0xd8, 0x76, 0x63, 0x62,
+  0x50, 0xf9, 0xe2, 0xc6, 0x3f, 0x9c, 0xcf, 0xf9, 0x96, 0x3e, 0xef, 0x82,
+  0x53, 0x55, 0x06, 0x66, 0x3e, 0x01, 0x82, 0x1e, 0x75, 0xde, 0xfa, 0x47,
+  0x87, 0xc9, 0xaa, 0xd4, 0x0c, 0xec, 0x75, 0xef, 0x23, 0x7b, 0x72, 0x66,
+  0xa8, 0x94, 0xde, 0x75, 0x91, 0xff, 0x3d, 0xf3, 0xd0, 0x58, 0x5a, 0x51,
+  0xc5, 0x7b, 0x7c, 0x5f, 0x04, 0xc6, 0x6d, 0x3a, 0xcb, 0x45, 0x28, 0x52,
+  0xf0, 0xd2, 0x3d, 0xf0, 0x44, 0x76, 0x2d, 0x97, 0x0f, 0x64, 0xec, 0x01,
+  0x95, 0xff, 0xa4, 0xd0, 0x79, 0xd6, 0x02, 0x3b, 0x3f, 0x7f, 0x2a, 0x7a,
+  0x97, 0xea, 0xc6, 0x74, 0xf3, 0xd2, 0x44, 0xcc, 0xc0, 0x27, 0xd7, 0x15,
+  0xd3, 0xcf, 0xe5, 0xda, 0x93, 0xa5, 0x94, 0xea, 0x8f, 0xa9, 0xab, 0x4f,
+  0x43, 0x7f, 0xbd, 0xcb, 0x0b, 0x01, 0x20, 0x07, 0xaf, 0x3f, 0x5f, 0xe1,
+  0x8f, 0xac, 0xf9, 0xce, 0x3c, 0xc6, 0x5e, 0xf2, 0x9e, 0xff, 0xcc, 0xcb,
+  0x2a, 0x05, 0xfb, 0x31, 0xd3, 0xf1, 0x59, 0x22, 0xb6, 0xbe, 0xe7, 0x84,
+  0xb0, 0x67, 0x89, 0x1d, 0x29, 0x52, 0x34, 0x3c, 0x42, 0x95, 0x7c, 0x65,
+  0x3f, 0x3f, 0x2b, 0x49, 0x9a, 0x7a, 0xdf, 0xe3, 0x2d, 0xf5, 0x06, 0x0c,
+  0xec, 0xce, 0x38, 0x28, 0x5a, 0xf5, 0x6f, 0xdd, 0xd3, 0x2f, 0x64, 0x6f,
+  0xe8, 0x7d, 0x69, 0x4d, 0xd6, 0x55, 0x6f, 0x7c, 0xb6, 0xeb, 0x2b, 0xac,
+  0x53, 0x0a, 0x8f, 0x72, 0x72, 0xf3, 0xca, 0x17, 0x78, 0x67, 0x9c, 0xcc,
+  0xa8, 0x9a, 0xec, 0x4c, 0x4b, 0xc0, 0x2a, 0x19, 0x9b, 0x7b, 0x6c, 0xbf,
+  0x25, 0x74, 0x2f, 0x7d, 0xf5, 0x29, 0x39, 0x79, 0xed, 0x3d, 0xf8, 0xc4,
+  0x0d, 0x30, 0x9d, 0x91, 0x36, 0x70, 0xcf, 0xde, 0xaa, 0x5a, 0x4a, 0xe3,
+  0x7a, 0x8f, 0xf2, 0xce, 0x78, 0x57, 0x32, 0x69, 0x10, 0xa6, 0x3f, 0x78,
+  0x86, 0xb7, 0xc3, 0xd1, 0x8d, 0xb9, 0xd5, 0x26, 0x0d, 0x50, 0x99, 0x85,
+  0xc6, 0xbc, 0xba, 0x6b, 0xff, 0xd9, 0xf3, 0x35, 0xcf, 0xca, 0xa5, 0x59,
+  0xdb, 0xab, 0xde, 0x7b, 0xef, 0xb3, 0xf0, 0x98, 0xab, 0x49, 0xa0, 0xd8,
+  0x71, 0x73, 0xd4, 0xe8, 0xa4, 0x25, 0x5b, 0x94, 0xbf, 0xfa, 0xef, 0xea,
+  0x1e, 0xac, 0x88, 0x0e, 0xad, 0xfe, 0x77, 0xbf, 0xbf, 0x9f, 0xfb, 0x99,
+  0x55, 0xec, 0x1b, 0xac, 0x32, 0x44, 0x0f, 0x26, 0x2d, 0xfe, 0x73, 0x87,
+  0xd1, 0xc1, 0xec, 0x78, 0x2d, 0xf0, 0x9a, 0x1b, 0x3d, 0x62, 0x59, 0x38,
+  0xc9, 0xc1, 0x86, 0xa0, 0xa4, 0x8b, 0x4f, 0x7d, 0xe6, 0x3c, 0x92, 0xf9,
+  0xe2, 0x87, 0xf2, 0x3c, 0xa9, 0xbb, 0x9d, 0x63, 0x50, 0xdf, 0x2c, 0xd9,
+  0xec, 0xb6, 0x23, 0x72, 0x6e, 0x36, 0xef, 0xb5, 0x7d, 0x27, 0xbd, 0xd0,
+  0x37, 0xa8, 0x8d, 0x47, 0xa6, 0xb7, 0x6c, 0x97, 0x5b, 0x46, 0x6c, 0x78,
+  0xe1, 0xef, 0xaa, 0x92, 0xfe, 0xaa, 0xc4, 0x09, 0x5b, 0xe9, 0x0a, 0x70,
+  0xa4, 0xe0, 0xb9, 0xbd, 0xcf, 0x88, 0x6a, 0x43, 0x10, 0x23, 0xb3, 0x4a,
+  0x37, 0xd9, 0xe4, 0xa3, 0x1e, 0x19, 0x69, 0xc4, 0xa1, 0xc0, 0xbd, 0xb7,
+  0x9e, 0xda, 0xa9, 0x85, 0x49, 0x73, 0x71, 0xdc, 0xb5, 0x02, 0xdc, 0xa3,
+  0xbc, 0x6b, 0x2e, 0x2e, 0x47, 0xe7, 0x07, 0xd4, 0x67, 0x8e, 0x23, 0x9a,
+  0x03, 0x71, 0x34, 0xca, 0xfe, 0x26, 0xc9, 0x3f, 0xb5, 0x7b, 0xfa, 0xf9,
+  0x8a, 0xa7, 0x47, 0xe2, 0xde, 0x3b, 0x99, 0x92, 0xf8, 0x35, 0xeb, 0xe0,
+  0xbf, 0xf4, 0x99, 0x60, 0x2a, 0xd5, 0xcf, 0xcf, 0x5e, 0x30, 0xea, 0x19,
+  0xa4, 0x21, 0x45, 0x9c, 0xdd, 0xc3, 0x9f, 0x3b, 0x9b, 0xe6, 0x66, 0x59,
+  0x7c, 0xb4, 0xfa, 0xa2, 0xd0, 0x80, 0xe9, 0x02, 0xbb, 0x17, 0x5e, 0xe8,
+  0xd1, 0xf0, 0xbc, 0xa1, 0x16, 0x77, 0xd4, 0x17, 0x2f, 0x85, 0x16, 0xc3,
+  0xe5, 0x18, 0xa8, 0x91, 0xaf, 0x4b, 0x6f, 0x0e, 0x5e, 0xec, 0xda, 0xeb,
+  0x57, 0x18, 0x45, 0x3e, 0x66, 0xf7, 0x6e, 0xd7, 0x31, 0x4e, 0xc2, 0xa8,
+  0x8b, 0x79, 0x41, 0x4e, 0x08, 0xf7, 0x88, 0x6b, 0x60, 0xaf, 0x75, 0x09,
+  0x74, 0xd5, 0x8d, 0xba, 0x49, 0x9b, 0xa5, 0x77, 0xc5, 0xbc, 0xe0, 0xbd,
+  0x33, 0xa2, 0x50, 0xe4, 0x5c, 0xf6, 0x6b, 0x5e, 0xa8, 0xcf, 0xad, 0xe3,
+  0x48, 0xd3, 0x97, 0x7e, 0xf8, 0x81, 0xef, 0x91, 0x52, 0x79, 0x5d, 0x24,
+  0x96, 0x65, 0xeb, 0x99, 0x18, 0xa1, 0xcb, 0xaa, 0x07, 0x1d, 0x61, 0x04,
+  0x80, 0xaa, 0x6c, 0x96, 0x11, 0x53, 0x22, 0xdb, 0x41, 0x38, 0x3c, 0x83,
+  0xc0, 0xa6, 0x44, 0x49, 0x2f, 0x8e, 0xe1, 0x12, 0x78, 0x12, 0x0e, 0xd0,
+  0x82, 0xfc, 0x6f, 0xe2, 0x0c, 0x33, 0x3d, 0x38, 0x7c, 0x7f, 0xf9, 0xcd,
+  0xd9, 0xc5, 0x28, 0xd9, 0xa1, 0x94, 0xe3, 0xcb, 0x8b, 0x93, 0xaf, 0xde,
+  0x5f, 0x9a, 0x7f, 0x6a, 0x4b, 0xaf, 0xd3, 0x22, 0x37, 0xb7, 0xd3, 0xa8,
+  0xc9, 0x0a, 0xb3, 0x57, 0xae, 0xb5, 0xec, 0x08, 0xc8, 0x94, 0xe8, 0x3e,
+  0x2e, 0x2b, 0x2e, 0x3d, 0x05, 0xc6, 0x87, 0x9b, 0x52, 0x16, 0x1c, 0x08,
+  0x03, 0xf8, 0xb1, 0x09, 0x63, 0x57, 0x3a, 0xdb, 0x39, 0x6f, 0xa7, 0x91,
+  0x27, 0x0a, 0x9b, 0x49, 0x2e, 0xbf, 0x39, 0x7c, 0xf7, 0xed, 0x48, 0x29,
+  0xe9, 0xbf, 0xff, 0xfe, 0xfb, 0x6e, 0xc4, 0x17, 0x3a, 0xec, 0x4d, 0xfa,
+  0xe9, 0xd3, 0xb0, 0xce, 0x36, 0x36, 0x46, 0xc7, 0xc7, 0xc9, 0xe1, 0xe9,
+  0xe8, 0x6c, 0xc3, 0x25, 0xda, 0x6f, 0xed, 0x6d, 0x1b, 0x25, 0xed, 0x3a,
+  0x6b, 0xcc, 0x5f, 0x36, 0x36, 0x4e, 0x0f, 0x2f, 0xc9, 0x3a, 0x96, 0x3a,
+  0xbf, 0x34, 0xcf, 0xc4, 0x99, 0x91, 0xce, 0xee, 0x88, 0x23, 0xf0, 0x2a,
+  0x07, 0x92, 0xfd, 0xae, 0x16, 0xb0, 0xaf, 0xd0, 0x66, 0xb2, 0xce, 0xcf,
+  0x68, 0xb7, 0x3b, 0x22, 0x32, 0x11, 0x34, 0x1a, 0x21, 0x6d, 0xcd, 0x98,
+  0x14, 0xd9, 0xb0, 0x91, 0x38, 0x0f, 0x19, 0xf3, 0x2c, 0x64, 0x63, 0xae,
+  0xf1, 0xdc, 0x67, 0x58, 0x29, 0xe0, 0x85, 0x1e, 0xb9, 0xc4, 0x8a, 0x21,
+  0x9c, 0x10, 0xe7, 0x6b, 0xf2, 0x7e, 0x74, 0xf8, 0xf5, 0x31, 0x3d, 0xfb,
+  0x75, 0xd6, 0xb8, 0xa9, 0x85, 0x77, 0x0d, 0x5f, 0x79, 0x97, 0x35, 0xf5,
+  0x24, 0x5d, 0x64, 0x9b, 0xd4, 0xa7, 0xf1, 0x40, 0xea, 0x29, 0xb8, 0xc6,
+  0xd9, 0x74, 0x70, 0x45, 0x20, 0x0a, 0x79, 0x1e, 0xe5, 0x1a, 0xfc, 0x76,
+  0x2f, 0x8e, 0x0f, 0x5f, 0xbf, 0x3d, 0xd6, 0x4a, 0xe1, 0xcc, 0xb7, 0x6a,
+  0x1a, 0xbd, 0xa1, 0x0a, 0xea, 0x2e, 0xba, 0x42, 0xaa, 0xc4, 0xd2, 0xb4,
+  0x61, 0x7e, 0x43, 0xd5, 0xcc, 0xe3, 0x9f, 0x73, 0xb5, 0x21, 0xf0, 0xec,
+  0xf0, 0x2a, 0xdf, 0xe1, 0xd6, 0xf5, 0x7b, 0xa9, 0x9d, 0x13, 0x1e, 0x44,
+  0xaa, 0xda, 0x35, 0xbb, 0x3f, 0xe0, 0x37, 0xf9, 0x7c, 0x77, 0x77, 0x77,
+  0xcd, 0x38, 0x60, 0x7e, 0xc8, 0x25, 0x6d, 0x86, 0x72, 0x40, 0x8f, 0xef,
+  0xb8, 0xf6, 0x5d, 0x8f, 0x69, 0xbf, 0x61, 0xdd, 0xae, 0xc8, 0x7a, 0xc7,
+  0xd5, 0x9e, 0x37, 0x59, 0xbc, 0xcb, 0x93, 0xb2, 0xb4, 0x2b, 0xd0, 0x9a,
+  0x1c, 0xd4, 0x70, 0xce, 0x1b, 0x8f, 0xce, 0x51, 0x3b, 0x6e, 0xcc, 0x25,
+  0x50, 0x88, 0x55, 0xf7, 0xdd, 0x26, 0xe9, 0x37, 0x80, 0x14, 0x4d, 0x9a,
+  0x61, 0x59, 0x5d, 0xef, 0xcc, 0x0f, 0xa0, 0x01, 0x99, 0x87, 0xde, 0x10,
+  0x84, 0x39, 0x31, 0x9a, 0xb4, 0xa5, 0x07, 0xa9, 0x69, 0x62, 0x4b, 0x73,
+  0xf5, 0x3d, 0xa2, 0x5f, 0xbf, 0x60, 0x16, 0x98, 0xd9, 0xe9, 0x4a, 0x47,
+  0xae, 0xb5, 0x12, 0x23, 0x1f, 0xa1, 0xfd, 0x07, 0xe7, 0xe4, 0xd0, 0xc8,
+  0x02, 0xf3, 0x15, 0xa2, 0x18, 0xc3, 0x16, 0x31, 0x7f, 0xad, 0x08, 0x6c,
+  0xd3, 0x7c, 0x82, 0x98, 0x96, 0x62, 0xb0, 0x9c, 0x0d, 0x4a, 0xd1, 0xff,
+  0x85, 0xd1, 0xb4, 0x8c, 0x01, 0x95, 0x32, 0xc3, 0xc4, 0x88, 0xaa, 0x59,
+  0x68, 0xf1, 0x74, 0x8b, 0xd4, 0xa4, 0x86, 0xbb, 0xdf, 0x1c, 0x0c, 0xb0,
+  0x7f, 0x6a, 0xbb, 0x5b, 0x1e, 0xf1, 0x71, 0x6f, 0x50, 0x3c, 0xfb, 0x85,
+  0xdc, 0xea, 0xde, 0xde, 0x19, 0x99, 0x5e, 0x04, 0xdf, 0x5a, 0xba, 0x72,
+  0xb6, 0x35, 0x7f, 0xce, 0x2f, 0x5a, 0x62, 0x56, 0x63, 0x07, 0x30, 0xde,
+  0x47, 0x7f, 0xe3, 0xe8, 0xdc, 0x56, 0x03, 0x30, 0x63, 0xbf, 0xa5, 0xc1,
+  0xd3, 0x8d, 0x60, 0xee, 0x76, 0xba, 0x32, 0x54, 0x25, 0x06, 0x7e, 0x12,
+  0xd6, 0x2d, 0x0a, 0x12, 0xf9, 0xe6, 0xc9, 0x9a, 0x1e, 0x1e, 0x98, 0xa9,
   0xa1, 0x1b, 0xe8, 0x7f, 0xef, 0x0c, 0xeb, 0xfa, 0x66, 0x27, 0x9f, 0x7e,
-  0xa8, 0xea, 0x34, 0xf9, 0x69, 0xa3, 0x93, 0x6c, 0xda, 0x1d, 0xc4, 0xff,
+  0xa8, 0xea, 0x34, 0xf9, 0x69, 0xa3, 0x93, 0x2d, 0xdb, 0x1d, 0xc4, 0xff,
   0xc6, 0x0c, 0xfe, 0xa2, 0x99, 0x5a, 0x3d, 0x8a, 0xdf, 0x63, 0x04, 0x83,
-  0x01, 0xb5, 0xaa, 0x5f, 0xfa, 0x60, 0x1e, 0xf8, 0x60, 0x39, 0x90, 0x7f,
-  0xc5, 0xe8, 0x22, 0xa2, 0xd0, 0x0c, 0x92, 0xc9, 0x31, 0x8d, 0x6c, 0x89,
-  0x6f, 0x74, 0x2d, 0xe4, 0xf1, 0x97, 0xfd, 0xdd, 0xdd, 0xbd, 0x83, 0xbd,
-  0xcf, 0x5f, 0xec, 0x1e, 0xec, 0xed, 0xed, 0xed, 0x1f, 0xec, 0x1d, 0x1c,
-  0xec, 0xef, 0xfe, 0xbc, 0xd3, 0x5b, 0x35, 0x75, 0x6f, 0xbf, 0x5e, 0xd1,
-  0xa0, 0x19, 0x75, 0x8f, 0x99, 0xf7, 0x7e, 0xb2, 0xa3, 0xc7, 0xa8, 0xa6,
-  0xbd, 0xa4, 0x9e, 0x8f, 0x09, 0xf2, 0xc6, 0x87, 0xd3, 0x1f, 0x4c, 0x6d,
-  0x14, 0xef, 0xcc, 0x1b, 0xd0, 0xeb, 0xb3, 0x1f, 0xde, 0x9d, 0x9e, 0x1d,
-  0xbe, 0x4e, 0x2e, 0xcf, 0x92, 0x43, 0xb8, 0x09, 0x23, 0x72, 0x12, 0xec,
-  0x99, 0x84, 0x18, 0xe7, 0x0a, 0x27, 0x5e, 0xa5, 0x2f, 0xf1, 0x69, 0x59,
-  0x7c, 0x27, 0x3a, 0xd1, 0xed, 0x67, 0x09, 0x33, 0x90, 0x5a, 0x1a, 0xde,
-  0x34, 0xf3, 0x87, 0x6f, 0x84, 0xc7, 0x7c, 0xb9, 0xcf, 0x30, 0x0e, 0x67,
-  0xe9, 0xa3, 0x3b, 0x7a, 0xf2, 0x81, 0x1c, 0xb2, 0xf5, 0x35, 0x05, 0x02,
-  0x61, 0xeb, 0xd3, 0x6f, 0x31, 0xb6, 0xcb, 0x15, 0xa8, 0xe2, 0xc2, 0x67,
-  0x1d, 0x5c, 0xad, 0x2d, 0x21, 0x24, 0x18, 0x1b, 0xa8, 0x3b, 0xa4, 0xc3,
+  0x01, 0xb5, 0xaa, 0x5f, 0xfa, 0x60, 0x1e, 0xf8, 0x60, 0x49, 0x9c, 0x7f,
+  0xc5, 0xe8, 0x22, 0xa2, 0xd0, 0x0c, 0x92, 0xd9, 0x3d, 0x8d, 0x6c, 0x89,
+  0x6f, 0x74, 0xad, 0x44, 0xf2, 0xe3, 0xfe, 0xee, 0xee, 0xde, 0xc1, 0xde,
+  0xe7, 0x2f, 0x76, 0x0f, 0xf6, 0xf6, 0xf6, 0xf6, 0x0f, 0xf6, 0x0e, 0x0e,
+  0xf6, 0x77, 0x7f, 0xde, 0xe9, 0xad, 0x9a, 0xba, 0xb7, 0x5f, 0xad, 0x68,
+  0xd0, 0x8c, 0xba, 0xc7, 0xd4, 0x81, 0x3f, 0xd9, 0xd1, 0x63, 0x54, 0xd3,
+  0x5e, 0x52, 0xcf, 0xc7, 0x84, 0xd9, 0xe3, 0xc3, 0xe9, 0x0f, 0xa6, 0x36,
+  0x8a, 0x77, 0xe6, 0x0d, 0xe8, 0xf5, 0xd9, 0xf7, 0xef, 0x4e, 0xcf, 0x0e,
+  0x5f, 0x27, 0x97, 0x67, 0xc9, 0x21, 0xdc, 0x84, 0x11, 0x39, 0x09, 0xfa,
+  0x4f, 0x82, 0xbc, 0x73, 0x89, 0x16, 0xaf, 0x54, 0x99, 0xf8, 0xb4, 0x2c,
+  0x40, 0x15, 0x9d, 0xe8, 0xf6, 0xb3, 0x84, 0x19, 0x48, 0x2d, 0x0d, 0x6f,
+  0x9a, 0xf9, 0xc3, 0x37, 0xc2, 0x63, 0xbe, 0xdc, 0x67, 0x18, 0x87, 0xb3,
+  0xf4, 0xd1, 0x1d, 0x3d, 0xf9, 0x40, 0x0e, 0xd9, 0x02, 0xa1, 0x02, 0x81,
+  0x50, 0x79, 0x97, 0x6c, 0x31, 0xb6, 0xcb, 0x55, 0xd8, 0xe2, 0xca, 0x6d,
+  0x1d, 0x60, 0xb0, 0xad, 0x81, 0x24, 0x18, 0x1b, 0xa8, 0x3b, 0xa4, 0xc3,
   0x6e, 0x07, 0x03, 0x3c, 0x5b, 0x39, 0x24, 0x73, 0x99, 0x67, 0x9f, 0x30,
-  0xea, 0xb6, 0xec, 0x65, 0x6a, 0x46, 0x37, 0x3a, 0xf0, 0x4f, 0xa9, 0xef,
-  0x22, 0xaf, 0xb4, 0xcb, 0x80, 0xb0, 0x46, 0x3e, 0x47, 0xdf, 0x51, 0x91,
-  0xec, 0x3e, 0x41, 0xbf, 0xf1, 0xef, 0xf1, 0x1d, 0x9b, 0x90, 0xcb, 0x1d,
-  0x78, 0x3f, 0x3a, 0x79, 0xf7, 0x0d, 0xa2, 0xe8, 0x3f, 0x9c, 0x5d, 0xbc,
+  0xea, 0xb6, 0xec, 0x65, 0x6e, 0x49, 0x37, 0x3a, 0x10, 0x68, 0xa9, 0xef,
+  0x22, 0xaf, 0xb4, 0xcb, 0x80, 0x40, 0x46, 0x3e, 0x47, 0xdf, 0x51, 0x91,
+  0xec, 0x3e, 0x41, 0xbf, 0xf1, 0xef, 0xf1, 0x1d, 0x9b, 0x51, 0xcc, 0x1d,
+  0x78, 0x3f, 0x3a, 0x79, 0xf7, 0x35, 0xa2, 0xe8, 0xdf, 0x9f, 0x5d, 0xbc,
   0x1e, 0x99, 0x66, 0x8d, 0xbc, 0x42, 0xe3, 0x97, 0x25, 0x49, 0x42, 0xe9,
-  0x15, 0x9f, 0x4b, 0xfa, 0xf4, 0x9f, 0x78, 0x3b, 0xf5, 0x2d, 0xf1, 0x3e,
-  0xba, 0xe9, 0xd9, 0x47, 0x54, 0x5d, 0x29, 0x7e, 0x6b, 0x78, 0xbb, 0xf1,
-  0xab, 0x79, 0x3a, 0xb9, 0x21, 0x83, 0x9e, 0x37, 0x2b, 0xd0, 0xc4, 0x3b,
-  0x94, 0xed, 0xb2, 0x43, 0x76, 0xda, 0x4e, 0x53, 0x62, 0x3b, 0xa2, 0x95,
+  0x15, 0x9f, 0x4b, 0xfa, 0xf4, 0x9f, 0x78, 0x3b, 0xf5, 0x2d, 0xe8, 0x12,
+  0xdd, 0xf4, 0xec, 0x23, 0x2a, 0x0f, 0x15, 0xbf, 0x35, 0xbc, 0xdd, 0xf8,
+  0xe7, 0x79, 0x3a, 0xb9, 0x21, 0x83, 0x9e, 0x37, 0x2b, 0xe0, 0xd0, 0x3b,
+  0x94, 0xae, 0xb3, 0x43, 0x76, 0xda, 0x4e, 0x53, 0x62, 0x3b, 0xa2, 0x95,
   0xb2, 0xb2, 0x90, 0xc6, 0xd6, 0x8c, 0xd0, 0x5e, 0xbf, 0x9a, 0xa5, 0xd7,
   0xf8, 0x60, 0x78, 0x0c, 0xbc, 0x8f, 0xc9, 0xe7, 0x1f, 0xfb, 0x49, 0xba,
-  0x36, 0xd0, 0xde, 0x09, 0x36, 0x00, 0x72, 0x94, 0x50, 0x32, 0xea, 0x4a,
-  0x6b, 0x9c, 0x90, 0x02, 0x89, 0xfa, 0x75, 0x04, 0x07, 0x23, 0x16, 0xe6,
-  0x6e, 0xed, 0x1f, 0xd4, 0x68, 0x65, 0x22, 0x72, 0xa3, 0x7e, 0x3b, 0xa8,
-  0xb3, 0xd4, 0x5e, 0x41, 0x4b, 0x9e, 0x4e, 0x5e, 0x3b, 0xe4, 0xb5, 0xab,
-  0x77, 0xcc, 0x53, 0x4e, 0x9d, 0x21, 0x7c, 0x27, 0x67, 0x0e, 0x10, 0xc4,
-  0x53, 0x34, 0xda, 0x1e, 0xb1, 0xfb, 0x13, 0xd8, 0xa9, 0x87, 0x2b, 0xae,
-  0x45, 0x9b, 0xe6, 0x18, 0x3e, 0x8c, 0xb2, 0x5f, 0x4c, 0x53, 0xaa, 0x16,
-  0xc1, 0x50, 0x07, 0xe1, 0x22, 0x31, 0xd6, 0x17, 0x67, 0x65, 0xf4, 0x14,
-  0x32, 0xc5, 0xad, 0xe4, 0x35, 0x33, 0xba, 0xd8, 0xe2, 0x2c, 0x74, 0x79,
+  0x36, 0xd0, 0xde, 0x09, 0x36, 0x00, 0x92, 0xac, 0x50, 0xf3, 0xea, 0x4a,
+  0x8b, 0xb4, 0x90, 0x02, 0x89, 0x02, 0x7c, 0x04, 0x07, 0x23, 0x14, 0x6a,
+  0xb7, 0x78, 0x11, 0x8a, 0xcc, 0x32, 0x93, 0xba, 0x51, 0xbf, 0x1d, 0x56,
+  0x5b, 0x8a, 0xc7, 0xa0, 0x25, 0x4f, 0x27, 0xaf, 0x1d, 0x74, 0xdc, 0x15,
+  0x6c, 0xe6, 0x29, 0xa7, 0xce, 0x10, 0xbe, 0x93, 0x53, 0x1f, 0x08, 0xe2,
+  0x29, 0x1a, 0x6d, 0x8f, 0xca, 0x13, 0x10, 0xd8, 0xa9, 0x87, 0x2b, 0xae,
+  0xc5, 0xfb, 0xe6, 0x28, 0x4a, 0x8c, 0xb2, 0x5f, 0x4c, 0x53, 0x2a, 0x77,
+  0xc1, 0x50, 0x07, 0x21, 0x53, 0x31, 0xd6, 0x17, 0xa7, 0x95, 0xf4, 0x14,
+  0x32, 0xc5, 0xad, 0xe4, 0x35, 0x53, 0xd2, 0xd8, 0xea, 0x32, 0x74, 0x79,
   0xd1, 0xd7, 0xd9, 0x4f, 0x8a, 0x59, 0xb7, 0xf7, 0xa4, 0xf3, 0x74, 0xd2,
-  0x1d, 0x67, 0xf4, 0x71, 0x23, 0xc0, 0x79, 0xe7, 0x68, 0x7c, 0xdd, 0x55,
-  0x4d, 0x6d, 0x4d, 0x9b, 0x32, 0x07, 0x73, 0x73, 0x24, 0x99, 0x9d, 0xd7,
-  0xd6, 0xce, 0xe0, 0x06, 0x60, 0x6b, 0xf6, 0x16, 0xb0, 0x28, 0x72, 0xaf,
-  0xf4, 0x9c, 0x2b, 0x9b, 0xe1, 0x4d, 0x1b, 0x63, 0x4c, 0xdd, 0x7b, 0x66,
+  0x1d, 0x67, 0xf4, 0x71, 0x23, 0xc0, 0x79, 0xe7, 0x68, 0x7c, 0xdd, 0x95,
+  0x7d, 0x6d, 0x4d, 0x9b, 0x52, 0x1f, 0x73, 0x73, 0x24, 0x99, 0x9d, 0xd7,
+  0xd6, 0xce, 0xe0, 0x06, 0x60, 0x6b, 0xf6, 0x16, 0xb0, 0x30, 0x78, 0xaf,
+  0x76, 0x9e, 0xab, 0xfb, 0xe1, 0x4d, 0x1b, 0x63, 0x4c, 0xdd, 0x7b, 0x66,
   0x8d, 0xa8, 0xa9, 0xbc, 0xa9, 0xb3, 0xd9, 0x15, 0x99, 0x5b, 0xf6, 0x0a,
-  0xe1, 0xba, 0xd1, 0xae, 0x7e, 0x88, 0x60, 0xa5, 0x97, 0x85, 0xb1, 0x54,
-  0x52, 0xc1, 0x00, 0xb1, 0x2c, 0xb9, 0x86, 0x58, 0x77, 0xc5, 0xea, 0xdb,
-  0x32, 0x84, 0xe3, 0xa7, 0x5f, 0x30, 0xc8, 0xcf, 0x36, 0xd7, 0x12, 0x1d,
-  0x5e, 0x22, 0x05, 0xdf, 0x3a, 0x3a, 0x77, 0x34, 0x5b, 0xf7, 0x0b, 0xa2,
-  0x3a, 0x22, 0x40, 0x88, 0x57, 0x51, 0x51, 0xa9, 0x87, 0xc1, 0x01, 0x9e,
-  0x7d, 0x22, 0x1e, 0x5e, 0x19, 0x9b, 0xb3, 0x09, 0xad, 0x56, 0x2f, 0xe3,
-  0xa5, 0xd6, 0xf0, 0x73, 0xc8, 0x42, 0x9a, 0x6d, 0xd3, 0x6f, 0x90, 0xbb,
-  0x4b, 0xb6, 0x01, 0xab, 0x81, 0x6a, 0x49, 0xda, 0x32, 0x9e, 0xa4, 0x31,
-  0x99, 0x5b, 0x98, 0x39, 0xb2, 0x6d, 0x61, 0x6d, 0xc4, 0x69, 0x53, 0xb6,
-  0x37, 0xa1, 0x04, 0x7b, 0x1f, 0xa6, 0xad, 0x04, 0xb6, 0xb8, 0x56, 0x66,
-  0x4c, 0x6b, 0x94, 0xcb, 0xb1, 0x5b, 0x58, 0xda, 0x23, 0xc0, 0xf5, 0x52,
-  0x93, 0x47, 0x61, 0x95, 0x39, 0x2d, 0xc3, 0xe0, 0xcd, 0x9e, 0x10, 0xa6,
-  0x18, 0x81, 0x82, 0xb4, 0xae, 0x65, 0x6d, 0x77, 0x8e, 0x99, 0xad, 0x8f,
-  0x72, 0x21, 0x6e, 0x00, 0xe0, 0x1f, 0x8a, 0x1b, 0x91, 0xbc, 0xab, 0xe5,
-  0xcd, 0xc3, 0xa2, 0x26, 0xec, 0x92, 0x9a, 0x7e, 0xb3, 0x7b, 0x96, 0x06,
-  0x79, 0xb1, 0x5e, 0xe8, 0x48, 0x27, 0x1e, 0xf5, 0x61, 0x8c, 0x15, 0x6c,
-  0xdc, 0x35, 0x47, 0x61, 0x1c, 0x72, 0x95, 0x41, 0x1f, 0xe0, 0xb0, 0xe8,
-  0xf0, 0xd1, 0xaa, 0x0f, 0xd3, 0xce, 0x23, 0x0e, 0x3c, 0x83, 0x55, 0x0e,
-  0x92, 0xaf, 0xd3, 0x3a, 0x9f, 0xf4, 0xa5, 0x60, 0x84, 0x14, 0x90, 0xa0,
-  0x37, 0x6c, 0x51, 0x89, 0x64, 0x8b, 0xa9, 0x88, 0xb7, 0x87, 0xc9, 0x0f,
-  0x5a, 0x02, 0xc4, 0x18, 0x91, 0xc8, 0xc4, 0xa6, 0xd0, 0xc1, 0x06, 0xd3,
-  0xc3, 0x30, 0xe2, 0x84, 0xe6, 0x43, 0xf6, 0xa7, 0xf8, 0xf2, 0x41, 0x20,
-  0x8e, 0x8f, 0x38, 0x76, 0x44, 0xac, 0x6a, 0x5a, 0x7f, 0xb4, 0x81, 0x33,
-  0xac, 0x95, 0x88, 0x22, 0x2e, 0x20, 0xc6, 0x54, 0xbb, 0x30, 0xf2, 0x05,
-  0x5e, 0x83, 0xb0, 0x5a, 0xe1, 0xd5, 0xff, 0xb6, 0xe5, 0x7b, 0xe0, 0xac,
-  0xad, 0x2d, 0x2c, 0xcb, 0x56, 0x48, 0xc3, 0xce, 0xb4, 0x22, 0x6a, 0x30,
-  0x30, 0x13, 0x46, 0x53, 0x23, 0x02, 0xf4, 0xec, 0xf2, 0xf8, 0x5f, 0x92,
-  0xc3, 0x6e, 0x9c, 0x1d, 0xd4, 0x27, 0x22, 0x86, 0xa5, 0x9a, 0xae, 0xdd,
-  0x60, 0xe8, 0x3b, 0xc3, 0x58, 0x99, 0x33, 0x34, 0xc5, 0xf2, 0x6f, 0x48,
-  0xf2, 0xb0, 0xf3, 0x28, 0xd7, 0xa5, 0xa4, 0x8e, 0xa0, 0xd8, 0xa0, 0x2d,
-  0x4b, 0x87, 0x08, 0x84, 0xc7, 0x95, 0xc8, 0x00, 0xff, 0x3c, 0x85, 0x1e,
-  0x5b, 0x7e, 0x32, 0x07, 0x5b, 0xb3, 0x37, 0x68, 0x9a, 0xaf, 0x6f, 0xb4,
-  0xd0, 0x22, 0xe1, 0xd3, 0x81, 0x39, 0x6f, 0x84, 0xaf, 0x5e, 0x8a, 0x82,
-  0x79, 0x15, 0x72, 0x6c, 0x0b, 0xb4, 0xfb, 0x3f, 0xd0, 0x91, 0xfb, 0xa0,
-  0x17, 0x8b, 0x5c, 0x81, 0xdc, 0x97, 0x2b, 0xb6, 0x83, 0xda, 0x5b, 0x56,
-  0x8f, 0x1d, 0xdf, 0x66, 0xe7, 0x0a, 0x61, 0xc5, 0x42, 0xd0, 0x15, 0x00,
-  0x88, 0x09, 0x02, 0xec, 0xb8, 0x53, 0x55, 0x6a, 0xfa, 0x17, 0x13, 0xf8,
-  0x38, 0xe9, 0x8e, 0xe0, 0x5a, 0xd2, 0xc2, 0xc7, 0xc9, 0x79, 0x0e, 0xa6,
-  0xd5, 0x76, 0x26, 0x12, 0x68, 0x7c, 0x31, 0xab, 0xd4, 0x8b, 0xd1, 0xd9,
-  0xd1, 0x77, 0xa3, 0x56, 0x26, 0x50, 0xcd, 0xc5, 0x66, 0x12, 0xad, 0xaa,
-  0xd4, 0xd9, 0xd0, 0x46, 0x1a, 0x9e, 0x34, 0x1d, 0xf1, 0x64, 0x99, 0x2e,
-  0x3d, 0x7c, 0xf3, 0x1b, 0x05, 0xe7, 0x6b, 0xb3, 0x54, 0x7c, 0x64, 0x92,
-  0x79, 0x44, 0xbd, 0x45, 0xb9, 0xe1, 0xdd, 0x7c, 0xbc, 0x7f, 0xca, 0x5a,
-  0x65, 0x22, 0xd3, 0xb8, 0x72, 0xc5, 0x87, 0x71, 0xc6, 0x3c, 0x4c, 0x66,
-  0x97, 0xf0, 0x2a, 0x52, 0xff, 0x70, 0x02, 0x79, 0x67, 0xce, 0xb1, 0xb9,
-  0x37, 0xdc, 0xee, 0xa6, 0x3b, 0x68, 0xd5, 0x38, 0xa9, 0xbc, 0x00, 0x6d,
-  0x37, 0x75, 0xaf, 0xb3, 0xea, 0x84, 0xda, 0x8c, 0x52, 0x56, 0x85, 0x74,
-  0x2b, 0xed, 0x35, 0xad, 0x0e, 0x34, 0xdb, 0xc2, 0xea, 0x59, 0xba, 0xe8,
-  0x85, 0x97, 0x81, 0x00, 0x99, 0x32, 0x4d, 0xe6, 0xf7, 0x92, 0xdb, 0x23,
-  0xba, 0x01, 0xd1, 0x96, 0xc0, 0x2b, 0xf1, 0xf9, 0xe7, 0x81, 0x2e, 0xf8,
-  0xc9, 0x3e, 0x7d, 0x60, 0x7e, 0xed, 0x79, 0x3f, 0x66, 0x84, 0x49, 0x21,
-  0x6f, 0x03, 0xf4, 0x50, 0xeb, 0x02, 0x89, 0x58, 0x18, 0x5e, 0xd1, 0x32,
-  0xfe, 0xa2, 0x0d, 0xe3, 0x04, 0xbb, 0xac, 0xef, 0xe4, 0xfe, 0x06, 0x9b,
-  0xd7, 0xdc, 0xd1, 0xb4, 0x66, 0x6c, 0xd3, 0x0a, 0xc3, 0x4c, 0xc5, 0x64,
-  0xb7, 0xb7, 0x9e, 0xd6, 0x6c, 0x34, 0xf7, 0x21, 0x5d, 0xaa, 0x64, 0x04,
-  0x8c, 0x4a, 0x69, 0x98, 0x26, 0x59, 0x3a, 0x63, 0x77, 0x47, 0x67, 0x1f,
-  0xd9, 0x6a, 0x61, 0x4e, 0x46, 0xbc, 0x5f, 0xdd, 0x9d, 0xf7, 0xbf, 0xa6,
-  0x3b, 0x87, 0xc9, 0xda, 0x2c, 0x34, 0x4c, 0x10, 0x4b, 0xfc, 0x5a, 0x02,
-  0xb1, 0xd3, 0x12, 0xbb, 0x5a, 0xf5, 0x1e, 0x9e, 0x23, 0x94, 0xeb, 0xe9,
-  0x10, 0x0a, 0x87, 0x8e, 0x89, 0xa2, 0xe4, 0xa7, 0x61, 0xd4, 0x50, 0xfb,
-  0x7d, 0xed, 0xca, 0x63, 0xbb, 0x2b, 0x35, 0x26, 0x6d, 0xaa, 0xa9, 0xfb,
-  0x1e, 0x36, 0xbc, 0xe4, 0x8d, 0xed, 0x0d, 0x77, 0x7d, 0xfd, 0xca, 0xe6,
-  0x7b, 0x56, 0xc8, 0x2e, 0xa3, 0x29, 0xde, 0xf0, 0x54, 0x94, 0xa5, 0x94,
-  0x64, 0xdc, 0xe9, 0xbc, 0x26, 0x3f, 0xdb, 0x63, 0xe2, 0x07, 0x73, 0x92,
-  0x84, 0x58, 0x91, 0x32, 0x80, 0xb3, 0xf9, 0x82, 0xf3, 0xe2, 0x22, 0xa5,
-  0x66, 0x71, 0x8e, 0x9e, 0xba, 0x23, 0xf5, 0xcc, 0x2e, 0xb7, 0xf4, 0x91,
-  0xf3, 0x51, 0xa4, 0x3e, 0x1b, 0xa7, 0x84, 0x40, 0xf9, 0xd4, 0x52, 0x28,
-  0xcd, 0xca, 0x1c, 0xde, 0xa3, 0x36, 0x39, 0x3e, 0xed, 0x67, 0x5c, 0xb6,
-  0xb6, 0x70, 0xa8, 0x10, 0xa2, 0x0b, 0x92, 0x99, 0x5a, 0x25, 0xcc, 0x77,
-  0x44, 0xd2, 0x80, 0x5c, 0x23, 0x43, 0xc5, 0x35, 0x3a, 0xd7, 0xec, 0xe8,
-  0x46, 0xf2, 0x8e, 0xd0, 0x08, 0xbb, 0x50, 0x9d, 0x55, 0xcf, 0x4c, 0xbb,
-  0xb3, 0xdc, 0x74, 0x68, 0x13, 0x4c, 0x43, 0x5a, 0x48, 0x4a, 0x64, 0xa1,
-  0x6e, 0x61, 0xcb, 0xf9, 0xd1, 0xae, 0xd1, 0x14, 0x52, 0x8d, 0x76, 0x85,
-  0x2e, 0x5f, 0x03, 0xfd, 0x64, 0xf0, 0x3f, 0x64, 0x66, 0x48, 0x3d, 0x27,
-  0x98, 0x19, 0x48, 0xa1, 0x16, 0x1e, 0x31, 0x88, 0x20, 0x5b, 0x21, 0xf0,
-  0x09, 0x43, 0xaa, 0xe3, 0xf0, 0x8a, 0x87, 0x73, 0x12, 0x24, 0xe4, 0x9f,
-  0x8e, 0x3d, 0xcf, 0xba, 0xc5, 0xb3, 0x44, 0x54, 0x70, 0x73, 0x1b, 0xae,
-  0xc8, 0x2c, 0x60, 0x85, 0x41, 0x87, 0xed, 0x45, 0xf6, 0x35, 0x71, 0x3f,
-  0x1f, 0x95, 0xa9, 0x3f, 0xad, 0x6a, 0xcb, 0x6d, 0x68, 0x4f, 0x79, 0xf3,
-  0x5b, 0x57, 0x06, 0x53, 0xf2, 0x0f, 0xcc, 0x0b, 0x83, 0xf7, 0xe2, 0xce,
-  0xf8, 0x8a, 0xbf, 0x30, 0x24, 0x79, 0x26, 0x5f, 0x38, 0xa7, 0xb6, 0xec,
-  0x03, 0x07, 0xf2, 0x12, 0xf1, 0xf8, 0xf7, 0xc4, 0x93, 0xd3, 0x9e, 0x15,
-  0x7e, 0x5e, 0x79, 0xfe, 0x3b, 0xe5, 0x7e, 0x71, 0xc8, 0xf8, 0xaf, 0xfc,
-  0xae, 0x18, 0x8f, 0xf7, 0xd4, 0xc4, 0x90, 0x33, 0x36, 0xc4, 0xf7, 0xb2,
-  0xbf, 0xb7, 0xc3, 0x9d, 0xd1, 0x2a, 0xbd, 0xd0, 0xeb, 0x64, 0x4b, 0x3a,
-  0xcc, 0x08, 0x0e, 0x02, 0x0a, 0x6a, 0xb9, 0x81, 0x53, 0x7e, 0x09, 0x61,
-  0x7d, 0xe6, 0x02, 0xba, 0x46, 0x30, 0x8e, 0xae, 0x26, 0x73, 0xd7, 0x82,
-  0xcd, 0x4f, 0x32, 0xb5, 0x89, 0x9b, 0xc7, 0x2e, 0x50, 0xdf, 0xaa, 0x7c,
-  0x9b, 0x54, 0xef, 0xde, 0xb7, 0x9a, 0x32, 0x8a, 0xa8, 0xa4, 0x28, 0xa9,
-  0x7b, 0x67, 0x53, 0x84, 0xf3, 0x5a, 0x91, 0x15, 0x66, 0x47, 0x5f, 0x1c,
-  0xbe, 0xfb, 0xe6, 0x18, 0x9a, 0x00, 0x64, 0x3b, 0x1d, 0xd0, 0x9c, 0x76,
-  0xfb, 0x74, 0xc9, 0xd5, 0x38, 0xcd, 0x8c, 0x01, 0x26, 0x67, 0x56, 0xfb,
-  0xbd, 0x65, 0x7c, 0x06, 0x89, 0x35, 0x36, 0x2f, 0x96, 0x5b, 0xc0, 0x6f,
-  0x1b, 0x89, 0x7a, 0x54, 0xa1, 0x41, 0x00, 0x2a, 0x5d, 0xb1, 0xfb, 0xb5,
-  0x5e, 0x8e, 0x17, 0xa8, 0x52, 0x03, 0xfb, 0xcc, 0x89, 0x19, 0xf5, 0xb3,
-  0x0c, 0xdb, 0x67, 0x71, 0x43, 0x53, 0xa3, 0xac, 0x4d, 0x5f, 0xc1, 0xa6,
-  0x1f, 0xfa, 0x5e, 0x35, 0xe6, 0x0c, 0xd9, 0xdb, 0xdd, 0x75, 0x6c, 0x6e,
-  0xa9, 0x6d, 0x30, 0x90, 0x96, 0x55, 0xb2, 0x3b, 0x78, 0xf1, 0x62, 0x95,
-  0x20, 0xb4, 0x8d, 0x82, 0x25, 0xe2, 0xd9, 0xa3, 0xdb, 0x1c, 0xd0, 0xa3,
-  0xab, 0xda, 0x8c, 0x58, 0x34, 0xa8, 0xbd, 0x27, 0xc0, 0xc3, 0xda, 0x6a,
-  0x2d, 0xe2, 0xe1, 0xe1, 0x68, 0x0d, 0xe2, 0x60, 0x85, 0x35, 0x6b, 0x68,
-  0x2a, 0x37, 0x5c, 0x42, 0x2f, 0x58, 0x55, 0xd4, 0x19, 0xb4, 0x20, 0xec,
-  0x61, 0x6e, 0x43, 0xbe, 0x8f, 0x9a, 0x18, 0xcf, 0x80, 0x5f, 0x31, 0x45,
-  0x57, 0xe1, 0x68, 0x54, 0x25, 0x78, 0x7f, 0x4e, 0xfe, 0xbf, 0x93, 0x77,
-  0xdf, 0xb0, 0x3b, 0xc4, 0xd8, 0xf6, 0xf0, 0xa5, 0xef, 0x74, 0x2c, 0xfd,
-  0xf7, 0x4c, 0xcb, 0x46, 0xc8, 0x53, 0x60, 0x3d, 0x98, 0xc9, 0x3f, 0x2f,
-  0xa4, 0x78, 0xb7, 0xab, 0x44, 0x18, 0xf7, 0x55, 0x5e, 0x26, 0x03, 0x4f,
-  0x39, 0x11, 0x4e, 0x36, 0xd2, 0x4c, 0xe6, 0xf7, 0x6a, 0x19, 0xc9, 0x17,
-  0xd0, 0xba, 0x46, 0x66, 0x6c, 0xb3, 0x6c, 0xe7, 0xb2, 0x79, 0x8e, 0x1d,
-  0x14, 0xe8, 0x26, 0x91, 0x4f, 0xf2, 0x67, 0x70, 0xbe, 0x3b, 0x9a, 0xc8,
-  0xe3, 0xba, 0xd2, 0x72, 0x75, 0xb6, 0x09, 0xa1, 0x49, 0xb3, 0xea, 0xab,
-  0xef, 0xa7, 0xeb, 0x86, 0xe4, 0x42, 0x7b, 0xbe, 0x54, 0xa7, 0xd5, 0x06,
-  0xcf, 0x7c, 0x59, 0xfe, 0xe3, 0xfd, 0x5c, 0xd3, 0x43, 0x3a, 0xa8, 0x74,
-  0x53, 0x15, 0x53, 0xe7, 0xd3, 0x90, 0x1e, 0x47, 0x03, 0x21, 0x97, 0xfc,
-  0x3e, 0x7f, 0x3a, 0x8d, 0x7f, 0x8e, 0xdf, 0xd7, 0xa9, 0x89, 0x1c, 0x00,
-  0x52, 0x69, 0x85, 0xb5, 0xcf, 0xe6, 0xd6, 0xab, 0x2d, 0x43, 0x5a, 0x38,
-  0x24, 0x47, 0xde, 0x56, 0x4b, 0x36, 0x12, 0xa1, 0xf1, 0x00, 0xa5, 0x1f,
-  0xed, 0x21, 0x30, 0xc7, 0xe0, 0xf2, 0xfa, 0x98, 0x0b, 0x3f, 0xf1, 0xb2,
-  0x28, 0x32, 0x32, 0x52, 0x91, 0xa0, 0x9f, 0xb3, 0xbd, 0xd0, 0xb7, 0xa7,
-  0xa8, 0x5a, 0x4a, 0xb5, 0x6b, 0x80, 0x19, 0x4c, 0xe7, 0xd3, 0xfa, 0x06,
-  0xf5, 0xdd, 0xac, 0x2b, 0x2a, 0x54, 0xaf, 0xf0, 0x79, 0x6e, 0x97, 0xf4,
-  0x29, 0x56, 0xa6, 0xa0, 0x5c, 0xb7, 0xa6, 0xa2, 0x3d, 0x03, 0x1b, 0x1b,
-  0xe4, 0x84, 0xdf, 0x21, 0x57, 0xfc, 0x28, 0x9c, 0x40, 0xf5, 0xa5, 0xaf,
-  0xf5, 0xc7, 0xbb, 0x18, 0xc3, 0x03, 0x9e, 0x79, 0xcf, 0x7b, 0xf2, 0xd8,
-  0x13, 0xc7, 0xfa, 0x7b, 0x24, 0xae, 0x88, 0x43, 0xe7, 0x09, 0xb2, 0xe8,
-  0x56, 0x6f, 0x7b, 0xd3, 0x7c, 0x5b, 0x00, 0x4e, 0x1f, 0x58, 0x66, 0x28,
-  0x28, 0xd2, 0x59, 0x2e, 0x4e, 0x53, 0x3b, 0x7f, 0x7f, 0x29, 0x3c, 0x5b,
-  0x2a, 0xde, 0xfd, 0x2a, 0x4b, 0x7e, 0x49, 0x55, 0x48, 0x33, 0xd2, 0x2d,
-  0xd8, 0xfc, 0x45, 0xac, 0x9b, 0x33, 0x2f, 0xf1, 0x4d, 0x8c, 0x90, 0x3b,
-  0xd8, 0xb7, 0x59, 0x36, 0xe7, 0x67, 0xa3, 0x4b, 0x72, 0x23, 0xe0, 0xea,
-  0x53, 0x7b, 0xf4, 0xfb, 0xe3, 0x8b, 0xaf, 0xcf, 0x46, 0xc7, 0x66, 0x3d,
-  0x5e, 0x1f, 0x7f, 0xfd, 0x9e, 0xa4, 0x16, 0xed, 0x0e, 0x76, 0x3d, 0x53,
-  0x06, 0x8e, 0xf8, 0xbf, 0xa8, 0xe0, 0x2d, 0xd2, 0xf0, 0xb0, 0x4d, 0x59,
-  0x0f, 0xea, 0xdb, 0x4c, 0x76, 0x51, 0xf1, 0xb8, 0x64, 0xeb, 0x2c, 0x63,
-  0x5f, 0x65, 0x8e, 0x7c, 0x85, 0xfc, 0x4a, 0x77, 0x18, 0x41, 0x03, 0xa9,
-  0xc0, 0x23, 0xcc, 0x4b, 0x39, 0x4a, 0xcc, 0x30, 0x5e, 0x1f, 0x38, 0xa7,
-  0xe6, 0x2d, 0x7b, 0xa6, 0xe5, 0xf0, 0xb9, 0xb2, 0x94, 0xa0, 0x5a, 0xc2,
-  0xe6, 0x3d, 0xb2, 0x7a, 0xb4, 0xd0, 0x0d, 0xcd, 0x4a, 0xbe, 0x35, 0x51,
-  0x49, 0x91, 0xda, 0xc6, 0x3d, 0x9e, 0x37, 0xb8, 0xc2, 0xd9, 0xa0, 0x90,
-  0xa2, 0x8e, 0x35, 0x6f, 0x6e, 0xae, 0x60, 0x4b, 0x50, 0xb5, 0xcc, 0xab,
-  0xe7, 0x59, 0x43, 0x1b, 0x9e, 0xc9, 0xad, 0x2d, 0xf1, 0x70, 0xc6, 0x05,
-  0x0b, 0xc5, 0xd9, 0x96, 0x18, 0xc1, 0x77, 0x18, 0xa7, 0xb0, 0xb7, 0x73,
-  0x55, 0xc4, 0x4c, 0xc9, 0x7e, 0x69, 0xe6, 0xfd, 0x12, 0x35, 0xbc, 0x75,
-  0x6e, 0x57, 0x8b, 0x9e, 0x4b, 0x1e, 0x29, 0xf9, 0x39, 0x58, 0x11, 0x90,
-  0xd4, 0x27, 0xf4, 0xbb, 0x53, 0xec, 0xc5, 0x29, 0x28, 0x7c, 0x76, 0x29,
-  0xf5, 0xc0, 0x33, 0x21, 0x57, 0xd7, 0x51, 0x54, 0x6d, 0x56, 0x02, 0x4c,
-  0x2e, 0xf1, 0x88, 0x85, 0xab, 0xa0, 0xf6, 0x68, 0x49, 0x11, 0x12, 0xe0,
-  0xcd, 0x17, 0x9e, 0x77, 0x6e, 0x1d, 0xff, 0xc5, 0x19, 0xf5, 0x02, 0x27,
-  0x1b, 0x1b, 0x1b, 0xaf, 0x8f, 0x2f, 0x0f, 0x4f, 0x4e, 0x8f, 0x5f, 0x27,
-  0x27, 0xef, 0xde, 0x9c, 0x5d, 0xbc, 0x3d, 0xbc, 0x14, 0x38, 0xc6, 0x6b,
-  0xeb, 0x91, 0x73, 0x15, 0xe8, 0xa4, 0xcc, 0x92, 0xe7, 0xad, 0xc3, 0x16,
-  0x36, 0xab, 0x78, 0x2d, 0x15, 0xe6, 0x79, 0x1a, 0xb2, 0xd6, 0x1c, 0x6c,
-  0x68, 0xc5, 0x1d, 0x57, 0xb1, 0x8f, 0xf4, 0x82, 0x1d, 0x1b, 0x7b, 0x1f,
-  0xea, 0x74, 0xaa, 0x1b, 0x0d, 0x64, 0xcc, 0x6b, 0x9b, 0xb2, 0x05, 0x58,
-  0xf9, 0x4e, 0xa4, 0xe5, 0x64, 0x7e, 0x13, 0xec, 0xc9, 0xc1, 0xc9, 0x0e,
-  0x97, 0xfa, 0xf6, 0xca, 0x39, 0x68, 0x29, 0x1e, 0x10, 0x96, 0x50, 0x3b,
-  0x1e, 0xb7, 0xd0, 0x55, 0x09, 0x54, 0x89, 0xdf, 0xa6, 0x65, 0xcc, 0xc1,
-  0x8a, 0x1a, 0x2d, 0x80, 0x61, 0x3c, 0x5c, 0xf0, 0xce, 0x5b, 0xdf, 0x9c,
-  0x0b, 0xe2, 0xcc, 0x08, 0xa9, 0x04, 0x70, 0x10, 0xf1, 0x3f, 0xd5, 0x66,
-  0xa5, 0xec, 0x59, 0x07, 0x23, 0x95, 0x15, 0xd8, 0x1a, 0x9d, 0x13, 0x1a,
-  0x5f, 0xbf, 0xa9, 0x2d, 0x1b, 0xaf, 0x37, 0x1a, 0xd3, 0xe0, 0x44, 0x38,
-  0xa5, 0x69, 0x2e, 0xb6, 0x37, 0x50, 0x1f, 0xe9, 0xae, 0x50, 0x3e, 0x3f,
-  0x8b, 0x36, 0x75, 0x16, 0x7f, 0xbe, 0xe3, 0x15, 0xc5, 0xc4, 0x69, 0x73,
-  0xe7, 0x56, 0x39, 0xc0, 0x07, 0xaf, 0xcd, 0x43, 0xd3, 0xe5, 0x7c, 0xd1,
-  0xae, 0x83, 0xce, 0xbe, 0x3c, 0x5d, 0x42, 0x56, 0xda, 0xa0, 0x7c, 0xc0,
-  0xf1, 0xf3, 0x46, 0xe6, 0x80, 0xc7, 0x81, 0xfd, 0xdd, 0x68, 0x28, 0x10,
-  0x85, 0x78, 0x6d, 0xf4, 0xae, 0x5b, 0xd9, 0xb4, 0xad, 0xb9, 0x60, 0x42,
-  0x46, 0xf6, 0xd9, 0x6e, 0x29, 0xd4, 0xd4, 0x61, 0x8d, 0x30, 0xff, 0x5b,
-  0xca, 0x8c, 0x46, 0x5b, 0x56, 0x1a, 0x94, 0xab, 0x22, 0x0c, 0x3e, 0xb6,
-  0x06, 0xe5, 0xbf, 0xd8, 0x86, 0xf4, 0xf8, 0x92, 0x5e, 0x3f, 0xed, 0x58,
-  0xc0, 0xba, 0x3d, 0x10, 0x29, 0x6e, 0xe4, 0xc9, 0xbd, 0x16, 0x01, 0x21,
-  0xba, 0x49, 0xc0, 0x8d, 0xc8, 0x59, 0x0a, 0xce, 0x03, 0x91, 0x94, 0x08,
-  0x88, 0xe9, 0xf6, 0x5d, 0xa2, 0xb2, 0x45, 0xf9, 0x91, 0x6c, 0x79, 0xad,
-  0x68, 0xeb, 0xa5, 0xeb, 0x31, 0x8a, 0x4c, 0x58, 0x00, 0x21, 0xf4, 0x8a,
-  0x0d, 0xcd, 0x2c, 0xd6, 0x97, 0x14, 0xef, 0x08, 0xe9, 0xbf, 0x45, 0x73,
-  0x05, 0x8e, 0x43, 0x54, 0x25, 0xc9, 0xd2, 0x1a, 0x06, 0x15, 0x92, 0x76,
-  0xf8, 0xce, 0xb0, 0x6e, 0x58, 0xc7, 0x67, 0xe7, 0x95, 0xf8, 0x83, 0x88,
-  0x9e, 0x26, 0x2f, 0xe9, 0x59, 0xe2, 0x0b, 0xd2, 0x43, 0xc1, 0x20, 0x7d,
-  0xdb, 0x8a, 0x06, 0x38, 0x4c, 0x33, 0x40, 0x5a, 0x0b, 0xf4, 0xf4, 0x9c,
-  0x1e, 0x48, 0x55, 0xc3, 0xef, 0xb9, 0x6a, 0x4c, 0xbd, 0xc5, 0x8d, 0xf9,
-  0x46, 0x2f, 0xb9, 0x26, 0x1b, 0x69, 0x6c, 0xba, 0x1e, 0x08, 0xd0, 0x29,
-  0x3f, 0xfe, 0xea, 0x22, 0xbd, 0x4a, 0xb3, 0xd9, 0x1f, 0xf7, 0x77, 0x47,
-  0xe9, 0xf5, 0x72, 0x96, 0xfe, 0x2b, 0x5e, 0x7c, 0xf5, 0xe4, 0xc9, 0xfe,
-  0xee, 0x67, 0x9f, 0xef, 0xf6, 0xba, 0xe8, 0x03, 0xc7, 0x5d, 0x02, 0x84,
-  0x0d, 0xe8, 0x6a, 0x48, 0xee, 0xe2, 0x3b, 0xc3, 0xc9, 0x75, 0x0e, 0xa3,
-  0x8e, 0x14, 0x25, 0x99, 0x83, 0x94, 0xad, 0x49, 0x88, 0x49, 0x29, 0x94,
-  0x6a, 0x6e, 0x5c, 0xb3, 0xaf, 0xff, 0xb0, 0x77, 0xc0, 0xa2, 0x0c, 0x24,
-  0x77, 0xb8, 0x27, 0x68, 0x2e, 0x5e, 0xe6, 0x85, 0xb9, 0x81, 0xbe, 0x4c,
-  0x9a, 0xf4, 0xda, 0xee, 0x55, 0x61, 0x62, 0xe0, 0x94, 0x0b, 0x1b, 0xdf,
-  0xbc, 0xa2, 0x4d, 0x9e, 0x53, 0x95, 0x16, 0xf0, 0x6d, 0x6c, 0xd6, 0x50,
-  0xb2, 0x16, 0x59, 0x85, 0xec, 0xd8, 0xeb, 0x2a, 0x9d, 0x6b, 0x62, 0x0b,
-  0xbd, 0x4f, 0xb0, 0xb5, 0xe1, 0x62, 0x96, 0x70, 0x85, 0x6a, 0xf1, 0x5b,
-  0xe4, 0x6e, 0xc3, 0xcd, 0x16, 0xb5, 0x2b, 0x1c, 0xca, 0xd7, 0xcd, 0x89,
-  0xd4, 0x5b, 0xdb, 0x24, 0x97, 0x4a, 0x8f, 0x7d, 0x2a, 0x3d, 0x8c, 0x8a,
-  0x45, 0x06, 0xa4, 0xd9, 0x54, 0x47, 0x3a, 0xc4, 0xdf, 0xc1, 0x1c, 0x92,
-  0x32, 0x57, 0x62, 0x6f, 0xc1, 0xb9, 0xfa, 0xb6, 0xf6, 0x16, 0x3b, 0xdf,
-  0xf2, 0xd6, 0xb8, 0x52, 0x07, 0xf0, 0x4c, 0x5e, 0xaa, 0x97, 0x68, 0xef,
-  0xcb, 0x57, 0xd8, 0x10, 0x7b, 0x5f, 0xfe, 0xab, 0xfd, 0xd9, 0xbe, 0xfc,
-  0x6c, 0xff, 0xcb, 0x7f, 0x1d, 0x0e, 0xd1, 0x3f, 0xda, 0x21, 0x9b, 0xfa,
-  0xeb, 0x4d, 0xa1, 0x93, 0x4a, 0xe5, 0x08, 0xf3, 0xbf, 0xc8, 0x6c, 0xe7,
-  0x1a, 0xad, 0x58, 0xeb, 0x9e, 0x7e, 0xd9, 0x9f, 0xe5, 0xbe, 0x44, 0x54,
-  0xad, 0xdc, 0xca, 0x6b, 0x9b, 0x4a, 0x0f, 0xf4, 0x55, 0x64, 0xd2, 0x6d,
-  0x1c, 0x04, 0xed, 0x08, 0x8c, 0x12, 0x2f, 0xff, 0x1b, 0xed, 0xd4, 0x7f,
-  0xdb, 0x48, 0x24, 0xba, 0x49, 0xcb, 0x71, 0x8f, 0x80, 0x87, 0x6e, 0x5b,
-  0xe6, 0x81, 0x62, 0xca, 0x68, 0x6a, 0x99, 0x52, 0x45, 0xe8, 0x0e, 0xf4,
-  0xaa, 0x4f, 0xfd, 0x49, 0x0a, 0xf6, 0xda, 0x1c, 0x1b, 0x7d, 0x86, 0xd3,
-  0x6a, 0x8c, 0x8e, 0xd1, 0x90, 0x74, 0xc0, 0xb3, 0x7f, 0xfc, 0xf1, 0x47,
-  0x51, 0xa8, 0xcc, 0x5f, 0xa4, 0xe7, 0x37, 0x46, 0x16, 0x4d, 0x8d, 0x78,
-  0x9b, 0xa3, 0x9c, 0x8d, 0x94, 0x0c, 0x93, 0x2b, 0xff, 0x4a, 0x46, 0xca,
-  0x8d, 0x98, 0xa5, 0x3d, 0x1c, 0x1d, 0x9d, 0x9c, 0x00, 0x31, 0x8a, 0x49,
-  0x3d, 0x66, 0x31, 0x86, 0xbd, 0xb9, 0x05, 0x88, 0x87, 0x83, 0x25, 0xfa,
-  0x5b, 0x9f, 0xd6, 0x0e, 0xcb, 0x8e, 0xdd, 0x6f, 0x1a, 0x53, 0x03, 0x5c,
-  0x96, 0x12, 0x7b, 0x96, 0xb5, 0x9c, 0x57, 0x3d, 0x7e, 0xf0, 0x3a, 0xef,
-  0x49, 0x10, 0x8b, 0x7f, 0xd2, 0x73, 0xfc, 0x60, 0xbc, 0x1e, 0x58, 0xb4,
-  0x57, 0xac, 0x3a, 0xe5, 0x7f, 0xcf, 0x5e, 0xed, 0xed, 0xc6, 0x9f, 0x40,
-  0xd4, 0x96, 0xe8, 0x10, 0x5f, 0xb9, 0x80, 0xe0, 0xba, 0xe7, 0xf3, 0x29,
-  0x3f, 0x2d, 0xc5, 0xb6, 0x51, 0xf9, 0xec, 0x55, 0x6f, 0x4c, 0x37, 0x2c,
-  0xfd, 0xff, 0x15, 0xfd, 0x40, 0xc4, 0x4a, 0x9e, 0xad, 0x97, 0xe3, 0x79,
-  0xde, 0xea, 0xf0, 0x0e, 0x0d, 0xf0, 0x4b, 0x1a, 0xf0, 0x0f, 0x99, 0xdd,
-  0x1d, 0x19, 0xa9, 0x76, 0xac, 0xfb, 0x6d, 0x5e, 0x95, 0xe5, 0x38, 0xad,
-  0x36, 0x25, 0x9c, 0xa3, 0xfd, 0xdc, 0xdc, 0xdb, 0x7f, 0xf2, 0xf4, 0xd9,
-  0xe6, 0x50, 0xf4, 0x34, 0x88, 0x88, 0xc6, 0x27, 0x37, 0xe1, 0x26, 0x2c,
-  0x2d, 0x07, 0x23, 0xb3, 0x41, 0x07, 0x10, 0x0b, 0xae, 0x92, 0x14, 0xa3,
-  0xcf, 0xbd, 0xe2, 0xaf, 0xfd, 0x2b, 0x7d, 0xe7, 0x15, 0x3e, 0xf1, 0xaf,
-  0xf9, 0xf4, 0x95, 0x1d, 0xe1, 0xbf, 0xd2, 0x58, 0x5e, 0xc9, 0x20, 0xcc,
-  0xba, 0x6a, 0xca, 0x62, 0xbd, 0xbd, 0x11, 0x95, 0x6b, 0xd1, 0xc5, 0xd5,
-  0x45, 0xdc, 0xc0, 0xa0, 0x81, 0x60, 0x18, 0x4c, 0x39, 0xfa, 0x01, 0x6d,
-  0xd5, 0x25, 0xec, 0xed, 0x7c, 0x1a, 0x98, 0x56, 0x06, 0xd4, 0xca, 0xc0,
-  0x09, 0x6c, 0xb0, 0x58, 0x0e, 0x68, 0x21, 0xfa, 0x92, 0xb1, 0x39, 0x83,
-  0x97, 0x45, 0x54, 0x81, 0xb2, 0x04, 0x08, 0xe0, 0xe8, 0x9b, 0x93, 0x4d,
-  0x01, 0xde, 0xb0, 0x99, 0xd8, 0x8f, 0xf9, 0xa7, 0x2d, 0xc4, 0x70, 0x92,
-  0x2e, 0xe8, 0xf4, 0x6f, 0x24, 0x42, 0xd7, 0x9b, 0x12, 0x8e, 0x84, 0xbe,
-  0xcb, 0xc9, 0xd5, 0xe6, 0x63, 0x72, 0xeb, 0xcc, 0xc8, 0xe3, 0x5d, 0x31,
-  0xc1, 0xa6, 0xd7, 0x8c, 0x99, 0x97, 0x5a, 0x00, 0x25, 0x88, 0xf9, 0x2c,
-  0x6c, 0x76, 0xe6, 0xe0, 0x8d, 0x0d, 0x7a, 0xda, 0x6c, 0x40, 0x79, 0xd4,
-  0xfc, 0x8a, 0xe5, 0x89, 0x8a, 0x88, 0xde, 0x50, 0xcb, 0xa9, 0xf3, 0x4e,
-  0xf0, 0xa5, 0x07, 0x18, 0x02, 0xc6, 0x99, 0xe4, 0x74, 0xb2, 0xdb, 0x84,
-  0x15, 0x43, 0x92, 0x9f, 0x2f, 0x6d, 0x15, 0xc1, 0x2f, 0x13, 0x50, 0x6e,
-  0xf3, 0x5b, 0x12, 0x77, 0x14, 0x07, 0x14, 0xfb, 0x6c, 0xf1, 0x92, 0x98,
-  0x07, 0x36, 0x04, 0xe6, 0xa1, 0x71, 0x44, 0x31, 0x10, 0x2a, 0x51, 0x0c,
-  0x74, 0x7c, 0x2f, 0xce, 0x06, 0x6a, 0x61, 0xf3, 0x0b, 0x1c, 0x82, 0x97,
-  0xb4, 0x0c, 0xf8, 0xf5, 0x97, 0x9b, 0x1b, 0xb6, 0x8c, 0x96, 0xd5, 0xdc,
-  0x3b, 0x01, 0x64, 0xde, 0xa0, 0xfe, 0x78, 0x3c, 0x12, 0x06, 0xd6, 0xc6,
-  0x88, 0xf2, 0x05, 0xb5, 0x32, 0x8c, 0x36, 0x35, 0xa3, 0x34, 0xfe, 0x96,
-  0x83, 0x9a, 0x1b, 0xcf, 0x28, 0x15, 0x82, 0xb4, 0xc7, 0x4d, 0x42, 0xab,
-  0xe2, 0xbd, 0x4d, 0xcb, 0x1b, 0x0b, 0x9f, 0x29, 0x04, 0x5e, 0x95, 0x69,
-  0x6d, 0xdc, 0x0d, 0x21, 0x58, 0x73, 0xda, 0xbc, 0x3f, 0xb0, 0xda, 0x53,
-  0x1e, 0x5c, 0x4e, 0x24, 0xf3, 0x20, 0x05, 0x47, 0xe4, 0x0d, 0x25, 0x1b,
-  0xcb, 0x47, 0x5f, 0xd1, 0x74, 0xef, 0x0d, 0xaf, 0xf3, 0x2b, 0x9e, 0x0c,
-  0x23, 0x22, 0xaf, 0xb3, 0x1d, 0xf3, 0xcf, 0xbe, 0xf9, 0xf9, 0x3e, 0x69,
-  0x65, 0xf4, 0x97, 0x27, 0xc0, 0x63, 0xf9, 0x77, 0xbf, 0x77, 0x36, 0xec,
-  0xb9, 0xa0, 0xbf, 0xe4, 0xf6, 0xce, 0x97, 0xa8, 0x8e, 0xf4, 0x12, 0xdb,
-  0x9c, 0x06, 0x88, 0x4c, 0x3c, 0x55, 0x35, 0x7d, 0x50, 0x09, 0x19, 0x5a,
-  0x64, 0x92, 0x2e, 0x29, 0x05, 0xc6, 0x82, 0x47, 0x04, 0x48, 0x21, 0x8a,
-  0x3a, 0xe9, 0xdd, 0xb9, 0xb8, 0x67, 0x28, 0x65, 0x08, 0x37, 0x6b, 0x76,
-  0xb7, 0xdd, 0xf7, 0x91, 0xb6, 0x46, 0xbc, 0xdf, 0x52, 0x02, 0x3e, 0xb1,
-  0x94, 0x58, 0x9d, 0x16, 0x9f, 0xdf, 0x92, 0x92, 0x93, 0x5e, 0x5e, 0x32,
-  0x96, 0x39, 0xef, 0xae, 0x60, 0xbb, 0x6c, 0x23, 0x03, 0xf9, 0xf2, 0xba,
-  0xd9, 0xa6, 0xcf, 0x64, 0x33, 0xe6, 0x62, 0x93, 0x7a, 0xad, 0xfa, 0x55,
-  0x65, 0x61, 0xc3, 0x87, 0x36, 0xfd, 0xb3, 0x5f, 0x4e, 0x9a, 0xcc, 0xd8,
-  0xba, 0xc8, 0x60, 0x60, 0x39, 0x77, 0x3c, 0x67, 0xba, 0x66, 0x6c, 0xe1,
-  0xd9, 0x80, 0x6f, 0x4f, 0x51, 0x89, 0x06, 0x6f, 0x86, 0xc9, 0x29, 0x10,
-  0xe3, 0x75, 0xca, 0x9c, 0x3f, 0x7a, 0xc3, 0xea, 0x6e, 0x30, 0x5b, 0xa7,
-  0x56, 0x1a, 0x4d, 0x7a, 0x8f, 0xd8, 0x33, 0x74, 0x4b, 0xa1, 0x00, 0xa3,
-  0x33, 0x3a, 0x59, 0xbf, 0x10, 0x7d, 0xa4, 0x0f, 0x5f, 0xb8, 0x7d, 0x0e,
-  0x3e, 0x7f, 0xf6, 0xfb, 0x21, 0x57, 0xcc, 0x6e, 0x58, 0xaf, 0x11, 0x06,
-  0x6d, 0x89, 0x02, 0xea, 0x89, 0x75, 0x7b, 0x08, 0x18, 0x52, 0x99, 0xb1,
-  0xd3, 0x85, 0x48, 0x1c, 0x88, 0x78, 0x08, 0x31, 0x61, 0xd3, 0x1a, 0x76,
-  0x19, 0x15, 0xd3, 0xa4, 0x6d, 0xd4, 0x83, 0xdd, 0x38, 0xcb, 0xac, 0x71,
-  0xcd, 0x6b, 0x55, 0x5a, 0xb8, 0x39, 0x7c, 0x31, 0xac, 0x6e, 0xb8, 0x70,
-  0x1d, 0x75, 0x92, 0xfa, 0x95, 0xde, 0x9a, 0xbf, 0x90, 0x72, 0x36, 0xae,
-  0xcc, 0xaa, 0x67, 0x15, 0x5f, 0x0d, 0x8c, 0x11, 0xf2, 0x2a, 0x8b, 0x7e,
-  0x7b, 0xf9, 0xf6, 0x34, 0x51, 0xee, 0xa4, 0x2b, 0xa7, 0x2a, 0x2a, 0x32,
-  0x13, 0x43, 0x14, 0xcf, 0x08, 0xeb, 0x43, 0xf2, 0x14, 0xdf, 0x72, 0x3c,
-  0xb7, 0x94, 0x54, 0x9f, 0xd0, 0xe4, 0xb4, 0x8e, 0xac, 0xf7, 0x04, 0xbf,
-  0x4a, 0xfb, 0xc8, 0x6c, 0x93, 0x4d, 0x9a, 0x82, 0xcd, 0x7e, 0xb2, 0x49,
-  0x5d, 0xa5, 0x5f, 0x6c, 0x62, 0x3e, 0xf1, 0x63, 0x6f, 0xfa, 0x36, 0x87,
-  0x91, 0x53, 0x48, 0xcf, 0xbc, 0xfa, 0xaa, 0x35, 0x4b, 0xf8, 0xb9, 0x36,
-  0xf5, 0x8a, 0xf3, 0x45, 0x02, 0x9d, 0x5b, 0xdf, 0xf5, 0xda, 0x7f, 0x75,
-  0x64, 0x5a, 0xe1, 0xca, 0xa5, 0x0e, 0xe6, 0x3a, 0xb1, 0x3f, 0xcb, 0x91,
-  0x5f, 0x1b, 0x34, 0xf4, 0xf0, 0x29, 0xbe, 0x54, 0x51, 0x64, 0x21, 0xa0,
-  0x2c, 0xdd, 0x78, 0x0b, 0xa8, 0xe4, 0x35, 0xab, 0x99, 0xb3, 0xdd, 0x77,
-  0x57, 0xc2, 0xcb, 0x00, 0x99, 0xb3, 0x37, 0x44, 0xc2, 0xa5, 0xe3, 0x8d,
-  0xb7, 0x0d, 0x58, 0xe3, 0xbd, 0x87, 0x09, 0xed, 0x59, 0x54, 0xae, 0x9a,
-  0xf4, 0x3a, 0xcb, 0x31, 0xd9, 0xb5, 0xc8, 0x27, 0x94, 0xb2, 0x63, 0x44,
-  0xd7, 0xb4, 0xbc, 0x26, 0xc9, 0xd5, 0x37, 0x07, 0x8d, 0xfe, 0x04, 0x20,
-  0x79, 0x5f, 0x3e, 0xca, 0x1d, 0xc6, 0x59, 0x61, 0x2d, 0x5e, 0xff, 0xbd,
-  0x02, 0xa2, 0xfa, 0x86, 0x5c, 0xa1, 0x13, 0x69, 0xdb, 0x36, 0xcd, 0xeb,
+  0xe1, 0xc2, 0xd7, 0xae, 0x00, 0x8a, 0xf0, 0xbb, 0x2f, 0x0b, 0x63, 0xa9,
+  0xa4, 0x82, 0x01, 0x62, 0x59, 0x72, 0x0d, 0xb1, 0xce, 0xcf, 0x61, 0x4b,
+  0xb6, 0x64, 0x08, 0xc7, 0x4f, 0xbf, 0x60, 0x90, 0x9f, 0x6d, 0xae, 0x25,
+  0x3a, 0xbc, 0x4c, 0x10, 0xbe, 0x75, 0x74, 0xee, 0x68, 0xb6, 0xee, 0x17,
+  0x84, 0x58, 0x26, 0x40, 0x88, 0x57, 0x12, 0x52, 0xb9, 0x93, 0x41, 0x62,
+  0x9e, 0x7d, 0x22, 0x22, 0x61, 0x19, 0x9b, 0xb3, 0x09, 0xad, 0x56, 0x2f,
+  0xe3, 0xa5, 0xd6, 0xf0, 0x73, 0xc8, 0x42, 0x9a, 0x6d, 0xd3, 0x6f, 0xb0,
+  0xd3, 0x4b, 0xba, 0x04, 0xab, 0x81, 0x6a, 0x49, 0xda, 0x3a, 0xa4, 0xa4,
+  0x31, 0x99, 0x5b, 0x98, 0x49, 0xbe, 0x6d, 0x65, 0x70, 0xc4, 0x69, 0x53,
+  0xb6, 0x37, 0xa1, 0x04, 0x7b, 0x1f, 0xa6, 0xad, 0x04, 0xba, 0xbb, 0x56,
+  0x6a, 0x4f, 0x6b, 0x94, 0xcb, 0xb1, 0x5b, 0x58, 0xda, 0x23, 0xc0, 0xf5,
+  0x52, 0x93, 0x47, 0x61, 0x99, 0x3c, 0xad, 0x23, 0xe1, 0xcd, 0x9e, 0x30,
+  0xbe, 0x18, 0x81, 0x82, 0xbc, 0xb4, 0x65, 0x6d, 0x77, 0x8e, 0x99, 0xad,
+  0x8f, 0x72, 0x21, 0x6e, 0x20, 0x43, 0x21, 0x14, 0x37, 0x22, 0x79, 0x57,
+  0xcb, 0x9b, 0x87, 0x45, 0x4d, 0xd8, 0x25, 0x35, 0xfd, 0x66, 0xf7, 0x2c,
+  0x0d, 0xf2, 0x62, 0xbd, 0xd0, 0x91, 0x4e, 0x3c, 0xea, 0xc3, 0x18, 0x2b,
+  0xe8, 0xc4, 0x6b, 0x8e, 0xc2, 0x38, 0xe4, 0x2a, 0x83, 0x3e, 0x40, 0xc2,
+  0xd1, 0x21, 0xd4, 0x55, 0x1f, 0xa6, 0x9d, 0x47, 0x1c, 0x78, 0x06, 0xab,
+  0x1c, 0x24, 0x5f, 0xa5, 0x75, 0x3e, 0xe9, 0x4b, 0xc5, 0x0b, 0xa9, 0x80,
+  0x41, 0x6f, 0xd8, 0xaa, 0x18, 0xc9, 0x16, 0x73, 0x29, 0x6f, 0x0f, 0x93,
+  0xef, 0xb5, 0x86, 0x89, 0x31, 0x22, 0x91, 0x4a, 0x4e, 0xa1, 0x83, 0x0d,
+  0xe6, 0xb7, 0x61, 0xc4, 0x09, 0xcd, 0x87, 0xec, 0x4f, 0xf1, 0xe5, 0x83,
+  0x01, 0x1d, 0x1f, 0x71, 0xf4, 0x8e, 0x58, 0xd5, 0xb4, 0xfe, 0x68, 0x03,
+  0x67, 0x58, 0x2b, 0x11, 0x45, 0x5c, 0x01, 0x8d, 0xb9, 0x82, 0x61, 0xe4,
+  0x0b, 0xbc, 0x06, 0x61, 0xb5, 0xc2, 0x2b, 0x60, 0x6e, 0xeb, 0x0f, 0xc1,
+  0x59, 0x5b, 0x5b, 0x58, 0x96, 0x2d, 0xf1, 0x86, 0x9d, 0x69, 0x45, 0xd4,
+  0x60, 0x60, 0x26, 0x8c, 0xa6, 0x46, 0x04, 0xe8, 0xd9, 0xe5, 0xf1, 0xbf,
+  0x24, 0x87, 0xdd, 0x38, 0x3b, 0xb8, 0x5b, 0x44, 0x0c, 0x4b, 0x39, 0x60,
+  0xbb, 0xc1, 0xd0, 0x77, 0x86, 0xb1, 0x32, 0xe9, 0x69, 0x8a, 0xe5, 0xdf,
+  0x90, 0xec, 0x67, 0xe7, 0x51, 0xae, 0x4b, 0xc9, 0x7d, 0x41, 0xb5, 0x44,
+  0x5b, 0x57, 0x0f, 0x11, 0x08, 0x8f, 0xec, 0x91, 0x01, 0xfe, 0x79, 0x0a,
+  0x3d, 0xb6, 0xfc, 0x64, 0x0e, 0x36, 0x6a, 0x19, 0x42, 0x80, 0x22, 0x03,
+  0x42, 0x2a, 0x45, 0x12, 0x3e, 0x1d, 0x98, 0xf3, 0x46, 0x08, 0xf7, 0xa5,
+  0xaa, 0x99, 0x57, 0xe2, 0xc7, 0xb6, 0x40, 0xbb, 0xff, 0x03, 0x1d, 0xb9,
+  0x0f, 0x7a, 0xb1, 0xc8, 0x15, 0xc8, 0x7d, 0xb9, 0x62, 0x3b, 0xa8, 0xbd,
+  0x65, 0xf5, 0xd8, 0xf1, 0x6d, 0x76, 0xae, 0x10, 0x56, 0x2c, 0x04, 0x5d,
+  0x01, 0x80, 0x98, 0x20, 0xc0, 0x8e, 0x3b, 0x55, 0xa5, 0xa6, 0x7f, 0x31,
+  0x81, 0x50, 0x94, 0xee, 0x08, 0x2e, 0x86, 0x2d, 0x84, 0xa2, 0x9c, 0xe7,
+  0x60, 0x5a, 0x6d, 0xa7, 0x52, 0x81, 0x87, 0x18, 0xb3, 0x4a, 0xbd, 0x18,
+  0x9d, 0x1d, 0x7d, 0x3b, 0x6a, 0xa5, 0x32, 0xd5, 0x5c, 0x2d, 0x27, 0xd1,
+  0xb2, 0x50, 0x9d, 0x0d, 0x6d, 0xa4, 0xe1, 0x49, 0xd3, 0x11, 0x4f, 0x96,
+  0xaa, 0xd3, 0xc3, 0x37, 0xbf, 0x51, 0x70, 0xbe, 0x36, 0x4b, 0xd5, 0x53,
+  0x26, 0x99, 0xc7, 0x34, 0x5c, 0x94, 0x1b, 0xde, 0xcd, 0xc7, 0xfb, 0xa7,
+  0xac, 0x55, 0x26, 0x32, 0x0f, 0x2d, 0x97, 0xac, 0x18, 0x67, 0x4c, 0x24,
+  0x65, 0x76, 0x09, 0xaf, 0x22, 0xf5, 0x0f, 0x27, 0x90, 0x77, 0xe6, 0x1c,
+  0x9b, 0x7b, 0xc3, 0xed, 0x6e, 0xba, 0x83, 0x56, 0x8d, 0x93, 0xea, 0x23,
+  0xd0, 0x76, 0x53, 0xf7, 0x3a, 0xab, 0x4e, 0x28, 0x2e, 0x29, 0x75, 0x61,
+  0x48, 0xb7, 0xd2, 0x5e, 0xd3, 0xea, 0x40, 0xb3, 0x2d, 0xac, 0x9e, 0xa5,
+  0x8b, 0x5e, 0x78, 0x19, 0x08, 0x90, 0x29, 0xd3, 0x64, 0x7e, 0x2f, 0xb9,
+  0x48, 0xa2, 0x1b, 0x10, 0xef, 0x0a, 0xbc, 0x12, 0x9f, 0x7f, 0x1e, 0xe8,
+  0x82, 0x9f, 0xec, 0xd3, 0x07, 0xe6, 0xd7, 0x9e, 0xf7, 0x63, 0x46, 0x98,
+  0x14, 0xf2, 0x36, 0x40, 0x0f, 0xb5, 0x2e, 0x90, 0x88, 0x85, 0xe1, 0x55,
+  0x5d, 0xe3, 0x2f, 0xda, 0x30, 0x4e, 0xb0, 0xcb, 0xfa, 0x4e, 0xee, 0x6f,
+  0xb0, 0x79, 0xcd, 0x1d, 0x4d, 0x6b, 0xc6, 0x36, 0xad, 0x30, 0xcc, 0x54,
+  0x4c, 0x76, 0x7b, 0xeb, 0x69, 0xcd, 0x46, 0x73, 0x1f, 0xd2, 0xa5, 0x4a,
+  0x46, 0xc0, 0xa8, 0x94, 0x86, 0x69, 0x92, 0xa5, 0x33, 0x76, 0x77, 0x74,
+  0xf6, 0x91, 0x2d, 0x77, 0xe6, 0x64, 0xc4, 0xfb, 0xd5, 0xdd, 0x79, 0xff,
+  0x6b, 0xba, 0x73, 0x98, 0xac, 0x4d, 0xa3, 0xc3, 0x04, 0xb1, 0xc4, 0xaf,
+  0x25, 0x10, 0x3b, 0x2d, 0xb1, 0xab, 0x55, 0xef, 0xe1, 0x39, 0x42, 0xbd,
+  0xa1, 0x0e, 0x23, 0x72, 0xe8, 0x98, 0x28, 0x4a, 0x7e, 0x1a, 0x46, 0x0d,
+  0xb5, 0xdf, 0xd7, 0xae, 0x3c, 0xb6, 0xbb, 0x52, 0x24, 0xd3, 0xe6, 0xca,
+  0xba, 0xef, 0x61, 0xc3, 0x4b, 0x9e, 0xdb, 0xde, 0x70, 0xd7, 0xd7, 0xaf,
+  0x6c, 0xc2, 0x6a, 0x85, 0x7c, 0xb8, 0x06, 0x29, 0x74, 0x4e, 0x45, 0x59,
+  0x4a, 0x4d, 0xc9, 0x9d, 0xce, 0x6b, 0xf2, 0xb3, 0x3d, 0x66, 0xae, 0x30,
+  0x27, 0x49, 0x98, 0x21, 0x29, 0x85, 0x39, 0x9b, 0x2f, 0x38, 0xb1, 0x2f,
+  0x52, 0x2b, 0x17, 0xe7, 0xe8, 0xa9, 0x3b, 0x52, 0xcf, 0xec, 0x72, 0x4b,
+  0x1f, 0x39, 0x1f, 0x45, 0x0a, 0xcc, 0x71, 0x4a, 0x08, 0x94, 0x4f, 0xad,
+  0xe5, 0xd2, 0xac, 0x4c, 0x42, 0x3e, 0x6a, 0xb3, 0xfb, 0xd3, 0x7e, 0xc6,
+  0x65, 0x6b, 0x2b, 0x9f, 0x0a, 0xa3, 0xbb, 0x20, 0x99, 0xa9, 0x55, 0xc2,
+  0x7c, 0x47, 0x24, 0x0d, 0xd8, 0x41, 0x32, 0x94, 0x8c, 0xa3, 0x73, 0xcd,
+  0x8e, 0x6e, 0x24, 0xef, 0x08, 0x0f, 0xb2, 0x0b, 0xd5, 0x59, 0xf5, 0xcc,
+  0xb4, 0x3b, 0xcb, 0x4d, 0x87, 0x36, 0x41, 0x95, 0xa4, 0x95, 0xb0, 0x44,
+  0x16, 0xea, 0x16, 0xb6, 0xa4, 0x25, 0xed, 0x22, 0x53, 0x21, 0x57, 0x6a,
+  0x57, 0xe8, 0xf2, 0x35, 0xd0, 0x4f, 0x06, 0xff, 0x43, 0x66, 0x86, 0xd4,
+  0x73, 0x82, 0x99, 0x81, 0xd5, 0x6a, 0xe1, 0x31, 0x9b, 0x08, 0xb2, 0x15,
+  0x02, 0x9f, 0x30, 0xa4, 0x3a, 0x0e, 0xaf, 0xfa, 0x39, 0x27, 0xe8, 0x41,
+  0xfe, 0xe9, 0xd8, 0xf3, 0xac, 0x5b, 0xfd, 0x4b, 0x44, 0x05, 0x37, 0xb7,
+  0xe1, 0xaa, 0xe4, 0x02, 0x56, 0x18, 0x74, 0xd8, 0x5e, 0x64, 0x5f, 0x11,
+  0x79, 0xf5, 0x51, 0x99, 0xfa, 0xd3, 0xaa, 0xb6, 0xdc, 0x86, 0xf6, 0x94,
+  0x37, 0xbf, 0x75, 0x65, 0x70, 0x4d, 0x81, 0x81, 0x79, 0x61, 0xf0, 0x5e,
+  0xdc, 0x19, 0x7f, 0xe6, 0x2f, 0x0c, 0x49, 0x9e, 0xc9, 0x17, 0xce, 0xa9,
+  0x2d, 0xfb, 0xc0, 0x81, 0xbc, 0x44, 0x85, 0x08, 0x7a, 0xe2, 0xc9, 0x69,
+  0xcf, 0x0a, 0x3f, 0xaf, 0x85, 0x0a, 0x3a, 0xf5, 0x8a, 0x71, 0xc8, 0xf8,
+  0xaf, 0xfc, 0xae, 0x18, 0x8f, 0xf7, 0xd4, 0xc4, 0x90, 0x33, 0x36, 0xc4,
+  0xf7, 0xb2, 0xbf, 0xb7, 0xc3, 0x9d, 0xd1, 0x32, 0xc3, 0xd0, 0xeb, 0x64,
+  0x4b, 0x3a, 0xcc, 0x08, 0x0e, 0x02, 0x2a, 0x82, 0xb9, 0x81, 0x53, 0x7e,
+  0x09, 0x61, 0x7d, 0xe6, 0x02, 0xba, 0x46, 0x30, 0x8e, 0xae, 0x26, 0x73,
+  0xd7, 0x82, 0x8e, 0x50, 0x52, 0xcd, 0x89, 0x5c, 0xc8, 0x2e, 0x50, 0xdf,
+  0xaa, 0x7c, 0x66, 0x2b, 0x0d, 0x6e, 0x7d, 0xab, 0x29, 0xa3, 0x88, 0x4a,
+  0x8a, 0x9a, 0xc0, 0x77, 0x36, 0xc7, 0x39, 0xaf, 0x15, 0x59, 0x61, 0x76,
+  0xf4, 0xc5, 0xe1, 0xbb, 0xaf, 0x8f, 0xa1, 0x09, 0x40, 0xb6, 0xd3, 0x01,
+  0xcd, 0x69, 0xb7, 0x4f, 0x97, 0x5c, 0x4e, 0xd4, 0xcc, 0x18, 0x60, 0x72,
+  0x66, 0xb5, 0xdf, 0x5b, 0xca, 0x6a, 0xb0, 0x70, 0x63, 0xf3, 0x62, 0xb9,
+  0x05, 0xfc, 0xb6, 0x91, 0xa8, 0x47, 0x15, 0x1a, 0x04, 0xa0, 0xd2, 0x15,
+  0xbb, 0x5f, 0xeb, 0xe5, 0x78, 0x81, 0x32, 0x3b, 0xb0, 0xcf, 0x9c, 0x98,
+  0x51, 0x3f, 0xcb, 0xb0, 0x7d, 0x16, 0x37, 0x34, 0x35, 0xca, 0xda, 0xf4,
+  0x15, 0x6c, 0xfa, 0xa1, 0xef, 0x55, 0x63, 0xd2, 0x93, 0xbd, 0xdd, 0x5d,
+  0x47, 0x47, 0x97, 0xda, 0x06, 0x03, 0x69, 0x59, 0x25, 0xbb, 0x83, 0x17,
+  0x2f, 0x56, 0x09, 0x42, 0xdb, 0x28, 0x68, 0x2e, 0x9e, 0x3d, 0xba, 0xcd,
+  0x01, 0x3d, 0xba, 0xaa, 0xcd, 0x88, 0x45, 0x83, 0xe2, 0x81, 0x02, 0x3c,
+  0xac, 0xad, 0xd6, 0x22, 0x1e, 0x1e, 0x8e, 0xd6, 0x20, 0x0e, 0x56, 0x58,
+  0xb3, 0x86, 0xa6, 0x72, 0xc3, 0x55, 0xf5, 0x03, 0x2d, 0x8c, 0x3a, 0x83,
+  0x16, 0x84, 0x3d, 0xcc, 0x6d, 0xc8, 0xf7, 0x51, 0x13, 0xe3, 0x19, 0xf0,
+  0x2b, 0xa6, 0xe8, 0x2a, 0x1c, 0x8d, 0xaa, 0x04, 0xef, 0xcf, 0xc9, 0xff,
+  0x77, 0xf2, 0xee, 0x6b, 0x76, 0x87, 0x18, 0xdb, 0x1e, 0xbe, 0xf4, 0x9d,
+  0x8e, 0xa5, 0xff, 0x9e, 0x79, 0xe5, 0x08, 0x79, 0x0a, 0xac, 0x07, 0x97,
+  0x22, 0xc8, 0x0b, 0xa9, 0x3e, 0xee, 0x4a, 0x29, 0xc6, 0x7d, 0x95, 0x97,
+  0xc9, 0xc0, 0x53, 0x4e, 0x84, 0x54, 0x8e, 0x34, 0x93, 0xf9, 0xbd, 0x5a,
+  0x46, 0xf2, 0x05, 0xb4, 0xae, 0x91, 0x19, 0xdb, 0x2c, 0xdb, 0xb9, 0x6c,
+  0x9e, 0x63, 0x07, 0x05, 0xba, 0x49, 0xe4, 0x93, 0xfc, 0x19, 0x9c, 0xef,
+  0x8e, 0x26, 0xf2, 0xb8, 0xae, 0xb4, 0x5c, 0x9d, 0x6d, 0x46, 0x6b, 0xd2,
+  0xac, 0xfa, 0xea, 0xfb, 0xe9, 0xba, 0x21, 0xb9, 0x52, 0xa0, 0x2f, 0xd5,
+  0x69, 0xb5, 0x41, 0x94, 0x5f, 0x96, 0xff, 0x78, 0x3f, 0xd7, 0xf4, 0x90,
+  0x0e, 0x2a, 0xdd, 0x54, 0xc5, 0xd4, 0xf9, 0x34, 0xa4, 0xc7, 0xd1, 0x40,
+  0xc8, 0x25, 0xbf, 0xcf, 0x9f, 0x4e, 0xe3, 0x9f, 0xe3, 0xf7, 0x75, 0x6a,
+  0x22, 0x07, 0x80, 0x54, 0x5a, 0xa1, 0x1d, 0xb4, 0xe4, 0x00, 0x6a, 0xcb,
+  0x90, 0x16, 0x0e, 0xc9, 0x91, 0xb7, 0xd5, 0x92, 0x8d, 0x44, 0x78, 0x48,
+  0xc0, 0x49, 0x48, 0x7b, 0x08, 0xd4, 0x37, 0xb8, 0xbc, 0x3e, 0xe6, 0x42,
+  0xb0, 0xbc, 0x2c, 0x8a, 0x8c, 0x8c, 0x54, 0x30, 0x0c, 0xe4, 0x6c, 0x2f,
+  0xf4, 0xed, 0x29, 0xaa, 0x96, 0x52, 0xae, 0x1b, 0x60, 0x06, 0xd3, 0xf9,
+  0xb4, 0xbe, 0x41, 0x81, 0x3a, 0xeb, 0x8a, 0x0a, 0xd5, 0x2b, 0x7c, 0x9e,
+  0xdb, 0x25, 0x7d, 0x8a, 0x95, 0x29, 0x28, 0xd7, 0xad, 0xa9, 0x68, 0xcf,
+  0xc0, 0xc6, 0x06, 0x39, 0xe1, 0x77, 0xc8, 0x15, 0x3f, 0x0a, 0x27, 0x50,
+  0x7d, 0xe9, 0x6b, 0xfd, 0xf1, 0x2e, 0xc6, 0xf0, 0x80, 0x67, 0xde, 0xf3,
+  0x9e, 0x3c, 0xf6, 0xc4, 0xb1, 0xfe, 0x1e, 0x89, 0x2b, 0xe2, 0xd0, 0x79,
+  0x82, 0x2c, 0xba, 0xd5, 0xdb, 0xde, 0x34, 0xdf, 0x16, 0x80, 0xd3, 0x07,
+  0x96, 0x19, 0x2a, 0xa2, 0x74, 0x96, 0x8b, 0xd3, 0xd4, 0xce, 0xdf, 0x5f,
+  0x0a, 0x51, 0x98, 0x8a, 0x77, 0xbf, 0x4c, 0x94, 0x5f, 0x13, 0x16, 0xd2,
+  0x8c, 0x74, 0x0b, 0x36, 0x7f, 0x11, 0xeb, 0xe6, 0xcc, 0x4b, 0x7c, 0x13,
+  0x23, 0xe4, 0x0e, 0xf6, 0x6d, 0x96, 0xcd, 0xf9, 0xd9, 0xe8, 0x92, 0xdc,
+  0x08, 0xb8, 0xfa, 0xd4, 0x1e, 0xfd, 0xee, 0xf8, 0xe2, 0xab, 0xb3, 0xd1,
+  0xb1, 0x59, 0x8f, 0xd7, 0xc7, 0x5f, 0xbd, 0x27, 0xa9, 0x45, 0xbb, 0x83,
+  0x5d, 0xcf, 0x94, 0x81, 0x23, 0xfe, 0x2f, 0xaa, 0xd8, 0x8b, 0x34, 0x3c,
+  0x6c, 0x53, 0xd6, 0x83, 0xfa, 0x36, 0x93, 0x5d, 0x54, 0x3c, 0xae, 0x39,
+  0x3b, 0xcb, 0xd8, 0x57, 0x99, 0x23, 0x5f, 0x21, 0xbf, 0xd2, 0x1d, 0x46,
+  0xd0, 0x40, 0xaa, 0x50, 0x09, 0xf3, 0x52, 0x8e, 0x12, 0x53, 0xa4, 0xd7,
+  0x07, 0xce, 0xa9, 0x79, 0xcb, 0x9e, 0x69, 0x39, 0x7c, 0xae, 0xae, 0x26,
+  0xb8, 0xa2, 0xb0, 0x79, 0x8f, 0xac, 0x1e, 0x2d, 0x7c, 0x49, 0xb3, 0x92,
+  0x6f, 0x4d, 0x94, 0x82, 0xa4, 0xb6, 0x71, 0x8f, 0xe7, 0x0d, 0xae, 0x70,
+  0x36, 0x28, 0xa4, 0x2a, 0x65, 0xcd, 0x9b, 0x9b, 0x4b, 0xf0, 0x12, 0x54,
+  0x2d, 0xf3, 0x0a, 0x92, 0xd6, 0xd0, 0x86, 0x67, 0x72, 0x6b, 0x4b, 0x3c,
+  0x9c, 0x71, 0xc1, 0xc2, 0xd1, 0xb6, 0x25, 0x46, 0xf0, 0x1d, 0xc6, 0x29,
+  0xf4, 0xf3, 0x5c, 0xd6, 0x31, 0x53, 0xb6, 0x62, 0x9a, 0x79, 0xbf, 0xc6,
+  0x0e, 0x6f, 0x9d, 0xdb, 0xd5, 0xa2, 0xe7, 0x92, 0x47, 0x0a, 0xb2, 0x0d,
+  0x28, 0x02, 0x92, 0xfa, 0x84, 0x7e, 0x77, 0xaa, 0xd5, 0x38, 0x05, 0x85,
+  0xcf, 0x2e, 0xa5, 0x1e, 0x78, 0x26, 0xe4, 0xea, 0x42, 0x90, 0xaa, 0xcd,
+  0x4a, 0x80, 0xc9, 0x25, 0x1e, 0xb1, 0x70, 0x15, 0xd4, 0x1e, 0x2d, 0x29,
+  0x42, 0x02, 0xbc, 0xf9, 0xc2, 0xf3, 0xce, 0xad, 0xe3, 0xbf, 0x38, 0xa3,
+  0x5e, 0xe0, 0x64, 0x63, 0x63, 0xe3, 0xf5, 0xf1, 0xe5, 0xe1, 0xc9, 0xe9,
+  0xf1, 0xeb, 0xe4, 0xe4, 0xdd, 0x9b, 0xb3, 0x8b, 0xb7, 0x87, 0x97, 0x02,
+  0xc7, 0x78, 0x6d, 0x3d, 0x72, 0xae, 0x84, 0x9e, 0xd4, 0x89, 0xf2, 0xbc,
+  0x75, 0xd8, 0xc2, 0x66, 0x15, 0xcd, 0x64, 0x20, 0xc8, 0xcf, 0xd3, 0x90,
+  0xb5, 0xe6, 0x60, 0x43, 0x4b, 0x06, 0xb9, 0x92, 0x83, 0xa4, 0x17, 0xec,
+  0xd8, 0xd8, 0xfb, 0x50, 0xa7, 0x53, 0xdd, 0x68, 0x60, 0x93, 0x5e, 0xdb,
+  0x94, 0xad, 0x20, 0xcb, 0x77, 0x22, 0x2d, 0xa7, 0xd0, 0x59, 0xd0, 0x9e,
+  0x1c, 0x9c, 0xec, 0x70, 0xad, 0x72, 0xaf, 0x1e, 0x85, 0xd6, 0x12, 0x02,
+  0xe3, 0x0a, 0xb5, 0xe3, 0x91, 0x23, 0x5d, 0x95, 0x40, 0x95, 0xf8, 0x6d,
+  0x5a, 0xca, 0x1f, 0xac, 0xa8, 0xd1, 0x02, 0x18, 0xc6, 0xc3, 0x15, 0xfb,
+  0xbc, 0xf5, 0xcd, 0xb9, 0xa2, 0xcf, 0x8c, 0x90, 0x4a, 0x00, 0x07, 0x11,
+  0x81, 0x55, 0x6d, 0x56, 0xca, 0x9e, 0x75, 0x50, 0x6a, 0x59, 0x81, 0xad,
+  0xd1, 0x39, 0xe1, 0x21, 0xf6, 0x9b, 0xda, 0xb2, 0xf1, 0x7a, 0xa3, 0x31,
+  0x0d, 0x4e, 0x84, 0x14, 0x9b, 0xe6, 0x62, 0x7b, 0x03, 0x6c, 0x1d, 0x77,
+  0x85, 0x12, 0x12, 0x5a, 0xb4, 0xa9, 0xb3, 0xf8, 0xf3, 0x1d, 0xaf, 0xaa,
+  0x27, 0x4e, 0x9b, 0x3b, 0xb7, 0x4a, 0x62, 0x3e, 0x78, 0x6d, 0x1e, 0x9a,
+  0x2e, 0xe7, 0x8b, 0x76, 0x21, 0x77, 0xf6, 0xe5, 0xe9, 0x12, 0xb2, 0xd2,
+  0x06, 0xe5, 0x03, 0x8e, 0x9f, 0x37, 0x32, 0x07, 0x3c, 0x0e, 0xec, 0xef,
+  0x46, 0x43, 0x81, 0xa0, 0x0e, 0xb1, 0xd1, 0xbb, 0x6e, 0x69, 0xd6, 0xb6,
+  0xe6, 0x82, 0x09, 0x19, 0xd9, 0x67, 0xbb, 0xb5, 0x5c, 0x53, 0x87, 0x35,
+  0xc2, 0xfc, 0x6f, 0x29, 0xb5, 0x1b, 0x6d, 0x59, 0x69, 0x50, 0xae, 0x8a,
+  0x30, 0xf8, 0xd8, 0x1a, 0x94, 0xff, 0x62, 0x1b, 0xd2, 0xe3, 0x4b, 0x7a,
+  0xfd, 0xb4, 0xa3, 0x31, 0xeb, 0xf6, 0x40, 0xa4, 0xb8, 0x91, 0x27, 0xf7,
+  0x5a, 0xc5, 0x84, 0xf8, 0x32, 0x01, 0x37, 0x22, 0x67, 0x29, 0x38, 0x0f,
+  0x44, 0x52, 0x22, 0x20, 0xa6, 0xdb, 0x77, 0x89, 0xd2, 0x1c, 0xe5, 0x47,
+  0xb2, 0xe5, 0xb5, 0x24, 0xaf, 0x97, 0xae, 0xc7, 0x28, 0x32, 0xa1, 0x31,
+  0x84, 0xd0, 0x2b, 0x36, 0x34, 0xb3, 0x58, 0x5f, 0x52, 0xbc, 0x23, 0xa4,
+  0xff, 0x16, 0xcd, 0x15, 0x48, 0x1a, 0x51, 0x56, 0x25, 0x4b, 0x6b, 0x18,
+  0x54, 0x48, 0xda, 0xe1, 0x3b, 0xc3, 0xba, 0x61, 0x1d, 0x21, 0x9f, 0x57,
+  0xa3, 0x10, 0x22, 0x7a, 0x9a, 0xbc, 0xa4, 0x67, 0x89, 0xf0, 0xc8, 0x92,
+  0xfb, 0x00, 0xa4, 0x6f, 0x5b, 0xd1, 0x00, 0x87, 0x69, 0x06, 0x48, 0x6b,
+  0x81, 0x9e, 0x9e, 0xd3, 0x03, 0xa9, 0x6a, 0xf8, 0x3d, 0x57, 0x4e, 0xaa,
+  0xb7, 0xb8, 0x31, 0xdf, 0xe8, 0x25, 0xd7, 0x64, 0x23, 0x8d, 0x4d, 0xd7,
+  0x03, 0x01, 0x3a, 0xe5, 0xc7, 0x5f, 0x5d, 0xa4, 0x57, 0x69, 0x36, 0xfb,
+  0xe3, 0xfe, 0xee, 0x28, 0xbd, 0x5e, 0xce, 0xd2, 0x7f, 0xc5, 0x8b, 0xaf,
+  0x9e, 0x3c, 0xd9, 0xdf, 0xfd, 0xec, 0xf3, 0xdd, 0x5e, 0x17, 0x7d, 0xe0,
+  0xb8, 0x4b, 0x80, 0xb0, 0x01, 0xdf, 0x0e, 0xc9, 0x5d, 0x7c, 0x67, 0x38,
+  0xb9, 0xce, 0x61, 0xd4, 0x91, 0xa2, 0x24, 0x73, 0x90, 0xb2, 0x35, 0x09,
+  0x31, 0x29, 0x95, 0x5e, 0xcd, 0x8d, 0x6b, 0xf6, 0xf5, 0x1f, 0xf6, 0x0e,
+  0x58, 0x94, 0x81, 0xa5, 0x0f, 0xf7, 0x04, 0xcd, 0xc5, 0xcb, 0xbc, 0x30,
+  0x37, 0xd0, 0x97, 0x49, 0x93, 0x5e, 0xdb, 0xbd, 0x2a, 0x4c, 0x0c, 0x9c,
+  0x72, 0x61, 0xe3, 0x9b, 0x57, 0xb4, 0xc9, 0x05, 0x16, 0x7d, 0x22, 0xb5,
+  0xdd, 0x36, 0xc9, 0xfb, 0xd1, 0x63, 0xf7, 0x47, 0x0f, 0x1d, 0xe0, 0xd3,
+  0x0d, 0xc1, 0x33, 0xd5, 0x4e, 0x0d, 0xf1, 0x77, 0x90, 0x7c, 0xa4, 0xcc,
+  0xcb, 0xd8, 0x5b, 0x70, 0x5a, 0xbd, 0xad, 0xf3, 0xc5, 0x7e, 0xb2, 0xbc,
+  0xd5, 0x85, 0xd4, 0x61, 0x31, 0x93, 0x97, 0xea, 0xd0, 0xd9, 0xfb, 0xf2,
+  0x15, 0xd6, 0x6e, 0xef, 0xcb, 0x7f, 0xb5, 0x3f, 0xdb, 0x97, 0x9f, 0xed,
+  0x7f, 0xf9, 0xaf, 0xc3, 0x21, 0xfa, 0x47, 0x8b, 0xb9, 0xa9, 0xbf, 0xde,
+  0x14, 0xe6, 0xa0, 0x54, 0x4e, 0x1b, 0xff, 0x8b, 0x2c, 0x6c, 0xae, 0x07,
+  0x8b, 0x65, 0xe9, 0xe9, 0x97, 0xfd, 0x09, 0x51, 0x36, 0x25, 0x2b, 0x62,
+  0xf2, 0xda, 0x66, 0xbd, 0x03, 0x28, 0x15, 0x99, 0x1f, 0x1b, 0xb2, 0x40,
+  0x3b, 0x82, 0x78, 0xc4, 0xcb, 0xff, 0x46, 0x9b, 0xea, 0xdf, 0x36, 0x12,
+  0x09, 0x44, 0x2e, 0xb2, 0xca, 0xa8, 0xc1, 0x14, 0x9b, 0xd0, 0x1d, 0xc6,
+  0xfc, 0x52, 0x4c, 0x4f, 0x4d, 0x2d, 0x53, 0x56, 0x07, 0x5d, 0x57, 0x5e,
+  0xa5, 0xab, 0x3f, 0x49, 0x71, 0x60, 0x9b, 0x0e, 0xa3, 0xcf, 0x70, 0x06,
+  0x8c, 0x51, 0x07, 0x1a, 0x3a, 0xc8, 0x78, 0xf6, 0x8f, 0x3f, 0xfc, 0x20,
+  0xba, 0x8f, 0xf9, 0x8b, 0xf4, 0xfc, 0xc6, 0x88, 0x8d, 0xa9, 0x91, 0x44,
+  0x73, 0x94, 0xce, 0x91, 0xf2, 0x64, 0x72, 0x3b, 0x5f, 0xc9, 0x48, 0xb9,
+  0x11, 0xb3, 0xb4, 0x87, 0xa3, 0xa3, 0x93, 0x13, 0x80, 0x3b, 0x31, 0xa9,
+  0xc7, 0x2c, 0x71, 0xb0, 0x8d, 0xb6, 0x80, 0xc6, 0x70, 0x08, 0x42, 0x7f,
+  0x97, 0xd2, 0xda, 0x61, 0xd9, 0xb1, 0x51, 0x4d, 0x63, 0x6a, 0x2b, 0xcb,
+  0x52, 0x62, 0x7b, 0xb1, 0x42, 0xf2, 0xaa, 0xc7, 0x0f, 0x5e, 0xe7, 0x3d,
+  0x89, 0x37, 0xf1, 0x4f, 0x7a, 0x8e, 0x8b, 0x8c, 0xd7, 0x03, 0x8b, 0xf6,
+  0x8a, 0xb5, 0x9c, 0xfc, 0xef, 0xd9, 0xab, 0xbd, 0xdd, 0xf8, 0x13, 0x08,
+  0xb0, 0x12, 0xf5, 0xe2, 0x2b, 0x17, 0xbb, 0x5b, 0xf7, 0x7c, 0x3e, 0xe5,
+  0xa7, 0xa5, 0xb0, 0x37, 0xaa, 0xac, 0xbd, 0xea, 0x8d, 0xe9, 0x32, 0xa4,
+  0xff, 0xbf, 0xa2, 0x1f, 0x08, 0x2e, 0xc9, 0xb3, 0xf5, 0x72, 0x3c, 0xcf,
+  0x5b, 0x1d, 0xde, 0xa1, 0x01, 0x7e, 0x49, 0x03, 0xfe, 0x3e, 0xb3, 0xbb,
+  0x23, 0x23, 0x2d, 0x8c, 0xd5, 0xb4, 0xcd, 0xab, 0xb2, 0x1c, 0xa7, 0xd5,
+  0xa6, 0x44, 0x5e, 0xb4, 0x9f, 0x9b, 0x7b, 0xfb, 0x4f, 0x9e, 0x3e, 0xdb,
+  0x1c, 0x8a, 0x4a, 0x85, 0xd3, 0xdc, 0xf8, 0x3c, 0x24, 0xdc, 0x84, 0x65,
+  0xd0, 0x60, 0x10, 0x35, 0x32, 0xf7, 0x63, 0x71, 0x50, 0x12, 0x38, 0xf4,
+  0xb9, 0x57, 0xfc, 0xb5, 0x7f, 0xa5, 0xef, 0xbc, 0xc2, 0x27, 0xfe, 0x35,
+  0x9f, 0xbe, 0xb2, 0x23, 0xfc, 0x57, 0x1a, 0xcb, 0x2b, 0x19, 0x84, 0x59,
+  0x57, 0xcd, 0x2e, 0xac, 0xb7, 0x37, 0xa2, 0x22, 0x28, 0xba, 0xb8, 0xba,
+  0x88, 0x1b, 0x18, 0x34, 0xc0, 0x06, 0x83, 0x29, 0x07, 0x2a, 0xa0, 0x58,
+  0xba, 0xdc, 0xba, 0x9d, 0x4f, 0x03, 0xd3, 0xca, 0x80, 0x5a, 0x19, 0x38,
+  0xd9, 0x0a, 0xc6, 0xcc, 0x01, 0x2d, 0x44, 0x5f, 0x92, 0x2b, 0x67, 0x70,
+  0x88, 0xc8, 0xad, 0x5d, 0x96, 0x88, 0xd7, 0x1f, 0x7d, 0x7d, 0xb2, 0x29,
+  0x18, 0x19, 0xb6, 0xe8, 0xfa, 0x31, 0x57, 0xb2, 0x45, 0x03, 0x4e, 0xd2,
+  0x05, 0x9d, 0xfe, 0x8d, 0x44, 0xa8, 0x81, 0x53, 0x82, 0x7c, 0xd0, 0x77,
+  0x39, 0x0f, 0xda, 0x7c, 0x4c, 0x2e, 0x88, 0x19, 0x39, 0xa7, 0x2b, 0x26,
+  0xf3, 0xf4, 0x9a, 0x31, 0xf3, 0x52, 0x0b, 0xf6, 0x03, 0xe1, 0x99, 0x85,
+  0x4d, 0xa4, 0x1c, 0xbc, 0xb1, 0xf1, 0x49, 0x9b, 0xb8, 0x27, 0x8f, 0x9a,
+  0x5f, 0xb1, 0x3c, 0x51, 0x11, 0xd1, 0x1b, 0x6a, 0xe9, 0x76, 0xde, 0x09,
+  0xbe, 0xf4, 0x40, 0x32, 0xff, 0x38, 0x93, 0xf4, 0x4b, 0xf6, 0x70, 0xb0,
+  0x0e, 0x47, 0xf2, 0xf3, 0xa5, 0xad, 0x58, 0xf8, 0x65, 0x02, 0x7a, 0x6f,
+  0x7e, 0x4b, 0x42, 0x84, 0xe2, 0x2b, 0x62, 0xf7, 0x2a, 0x5e, 0x12, 0x4d,
+  0xde, 0x46, 0xab, 0x3c, 0xe0, 0x8c, 0xdc, 0xe1, 0x42, 0x5b, 0x8a, 0x81,
+  0x8e, 0xef, 0xc5, 0x2f, 0x40, 0x2d, 0x6c, 0x7e, 0x81, 0x43, 0xf0, 0x92,
+  0x96, 0x01, 0xbf, 0xfe, 0x72, 0x73, 0xc3, 0x96, 0xec, 0xb2, 0x4a, 0x76,
+  0x27, 0xd6, 0xcb, 0x1b, 0xd4, 0x1f, 0x8f, 0xc7, 0x97, 0xc0, 0x8a, 0x13,
+  0xb1, 0xb3, 0xa0, 0x2e, 0x87, 0x51, 0x7c, 0x66, 0x94, 0x71, 0xdf, 0xf2,
+  0x25, 0x73, 0xe3, 0x19, 0x65, 0x2d, 0x90, 0xa2, 0xb7, 0x49, 0xc0, 0x52,
+  0xbc, 0xb7, 0x69, 0x39, 0x6a, 0xe1, 0xde, 0x84, 0xc0, 0xab, 0x32, 0xad,
+  0xc3, 0xbb, 0x21, 0x5c, 0x68, 0x4e, 0xf1, 0xf6, 0x07, 0x56, 0x7b, 0xf7,
+  0xbc, 0x4b, 0x5f, 0x64, 0xca, 0xa2, 0xe0, 0x88, 0xbc, 0xa1, 0xbc, 0x60,
+  0xf9, 0xe8, 0x2b, 0x9a, 0xee, 0xbd, 0xe1, 0x75, 0x7e, 0xc5, 0x93, 0x61,
+  0x44, 0xe4, 0x75, 0xb6, 0x63, 0xfe, 0xd9, 0x37, 0x3f, 0xdf, 0x27, 0x05,
+  0x8a, 0xfe, 0xf2, 0x04, 0xd0, 0x29, 0xff, 0x9a, 0xf6, 0xce, 0x86, 0x3d,
+  0x17, 0xf4, 0x97, 0xdc, 0x5e, 0xcf, 0x12, 0x80, 0x91, 0x5e, 0x62, 0x9b,
+  0xd3, 0x00, 0x91, 0x34, 0xa7, 0x5a, 0xa1, 0x8f, 0xff, 0x20, 0x9b, 0x88,
+  0xac, 0xc7, 0x25, 0x65, 0xab, 0x58, 0x9c, 0x87, 0x60, 0x1e, 0x44, 0xa7,
+  0x26, 0x15, 0x39, 0x17, 0x4f, 0x0a, 0x65, 0xf7, 0xe0, 0x66, 0xcd, 0xee,
+  0xb6, 0xfb, 0x3e, 0x28, 0xd6, 0x88, 0xf7, 0x5b, 0xca, 0x95, 0x27, 0x42,
+  0x11, 0xab, 0x7e, 0xe2, 0xf3, 0x5b, 0x52, 0xde, 0xd2, 0x4b, 0x21, 0xc6,
+  0x32, 0xe7, 0xdd, 0x15, 0x6c, 0x97, 0x88, 0x64, 0xcc, 0x5d, 0x5e, 0x37,
+  0xdb, 0xf4, 0x99, 0x6c, 0xc6, 0xb4, 0x69, 0x52, 0x1b, 0x56, 0xbf, 0xaa,
+  0x84, 0x69, 0xf8, 0xd0, 0xa6, 0x7f, 0xf6, 0xcb, 0x49, 0x93, 0x19, 0xb3,
+  0x14, 0xc9, 0x06, 0x2c, 0xe7, 0x8e, 0xe7, 0x4c, 0x0d, 0x8d, 0x2d, 0x3c,
+  0x1b, 0xf0, 0xed, 0x29, 0xda, 0xcb, 0xe0, 0xcd, 0x30, 0x39, 0x05, 0xb8,
+  0xbb, 0x4e, 0x99, 0x9e, 0x47, 0x6f, 0x58, 0xdd, 0x0d, 0x66, 0xeb, 0xd4,
+  0x4a, 0xd9, 0x49, 0xef, 0x11, 0xd1, 0x85, 0x6e, 0x29, 0x14, 0x7b, 0x74,
+  0xf6, 0x21, 0xeb, 0x17, 0xa2, 0x8f, 0xf4, 0xe1, 0xb6, 0xb6, 0xcf, 0xc1,
+  0x3d, 0xcf, 0x2e, 0x3a, 0xa4, 0x75, 0xd9, 0x0d, 0xeb, 0x35, 0xc2, 0xf8,
+  0x2a, 0xd1, 0x15, 0x3d, 0xb1, 0x6e, 0x0f, 0x01, 0xa3, 0x1f, 0x33, 0xf6,
+  0x8f, 0x10, 0xdf, 0x02, 0x71, 0x04, 0x21, 0x7c, 0x6b, 0x5a, 0xc3, 0x2e,
+  0xa3, 0xc2, 0x9d, 0xb4, 0x8d, 0x7a, 0x30, 0xf1, 0x66, 0x99, 0xb5, 0x83,
+  0x79, 0xad, 0x4a, 0x8b, 0x0c, 0x87, 0xdb, 0x84, 0xd5, 0x0d, 0x17, 0x59,
+  0xa3, 0x4e, 0x52, 0xbf, 0xd2, 0x5b, 0xf3, 0x17, 0xf2, 0x1c, 0x8e, 0x2b,
+  0xb3, 0xea, 0x59, 0xc5, 0x57, 0x03, 0xc3, 0x79, 0xbc, 0x2a, 0xa6, 0xdf,
+  0x5c, 0xbe, 0x3d, 0x4d, 0x94, 0xe6, 0xe8, 0xca, 0x69, 0x75, 0x0a, 0xa2,
+  0xc4, 0x10, 0xc5, 0x89, 0xc1, 0xfa, 0x90, 0x3c, 0xc5, 0xb7, 0x1c, 0xcf,
+  0x2d, 0xe5, 0xbf, 0x27, 0x34, 0x39, 0xad, 0x23, 0xeb, 0x3d, 0xc1, 0xaf,
+  0xd2, 0x3e, 0x32, 0xdb, 0x64, 0x93, 0xa6, 0x60, 0xb3, 0x9f, 0x6c, 0x52,
+  0x57, 0xe9, 0x17, 0x9b, 0x98, 0x4f, 0xfc, 0xd8, 0x9b, 0xbe, 0xcd, 0x61,
+  0xe4, 0x14, 0xd2, 0x33, 0xaf, 0xfe, 0xdc, 0x9a, 0x25, 0xfc, 0x5c, 0x9b,
+  0x7a, 0xc5, 0xa9, 0x1d, 0x81, 0x7a, 0xac, 0xef, 0x7a, 0xed, 0xbf, 0x3a,
+  0x32, 0xad, 0x70, 0x95, 0x54, 0x87, 0x48, 0x9d, 0xd8, 0x9f, 0xe5, 0x48,
+  0x85, 0x0d, 0x1a, 0x7a, 0xf8, 0x14, 0x5f, 0xaa, 0x28, 0xb2, 0x68, 0x4d,
+  0x96, 0x6e, 0xbc, 0x05, 0x54, 0xf2, 0x9a, 0xd5, 0xcc, 0xd9, 0x44, 0xbb,
+  0x2b, 0xe1, 0x10, 0x80, 0xcc, 0xd9, 0x1b, 0x22, 0x37, 0xd2, 0x71, 0xd4,
+  0xdb, 0x06, 0xac, 0x9d, 0xdd, 0xc3, 0x84, 0xf6, 0x2c, 0x80, 0x56, 0xad,
+  0x6f, 0x9d, 0xe5, 0x98, 0xec, 0x5a, 0xe4, 0x13, 0xca, 0xae, 0x31, 0xa2,
+  0x6b, 0x5a, 0x5e, 0x93, 0xe4, 0xea, 0x9b, 0x83, 0x46, 0x7f, 0x02, 0x3b,
+  0xbc, 0x2f, 0x1f, 0xe5, 0x0e, 0xe3, 0xac, 0x70, 0xa8, 0x45, 0xff, 0xbd,
+  0x02, 0x4d, 0xfa, 0x86, 0xbc, 0x96, 0x13, 0x69, 0xdb, 0x36, 0xcd, 0xeb,
   0x61, 0xda, 0xb7, 0xbf, 0xf0, 0xbf, 0xa5, 0x93, 0x93, 0x4a, 0xcb, 0x5c,
-  0x41, 0x56, 0x4a, 0xec, 0xce, 0xee, 0x6d, 0xfd, 0x2c, 0x38, 0xb8, 0x88,
-  0xfa, 0x9d, 0xef, 0xad, 0x99, 0x64, 0x01, 0x6e, 0x7e, 0xb5, 0xc9, 0x39,
-  0x02, 0x9b, 0x2f, 0x37, 0x21, 0xc1, 0x48, 0x2e, 0xcd, 0xc7, 0x19, 0x72,
-  0xd5, 0xe4, 0x72, 0xda, 0xe4, 0x5b, 0x71, 0xc0, 0xba, 0x83, 0x10, 0x5c,
-  0xba, 0x03, 0x82, 0x6b, 0xd9, 0x99, 0x91, 0x3e, 0x78, 0x12, 0x6e, 0x02,
-  0x94, 0x60, 0x41, 0xaf, 0x88, 0xa5, 0x79, 0xdc, 0x30, 0x50, 0x46, 0x2e,
-  0x5d, 0xa8, 0x65, 0x20, 0x56, 0x21, 0xae, 0x21, 0x71, 0x73, 0x2e, 0x8b,
-  0x05, 0xa5, 0xd2, 0x4f, 0x1a, 0x78, 0x5b, 0xf8, 0x2c, 0x0d, 0x93, 0xf7,
-  0xc5, 0x94, 0xcb, 0xce, 0x93, 0xb1, 0x9c, 0x57, 0x93, 0xe5, 0x9c, 0x5c,
-  0x15, 0x13, 0x72, 0x90, 0xe1, 0xe2, 0x61, 0xf5, 0xa0, 0x15, 0x9e, 0xf7,
-  0x3b, 0xcc, 0xce, 0x11, 0x76, 0x98, 0xcb, 0x77, 0x01, 0x45, 0x21, 0x00,
-  0x96, 0x38, 0xc4, 0xa1, 0x15, 0x58, 0x82, 0x15, 0x11, 0x40, 0x14, 0x19,
-  0x3c, 0x7e, 0x73, 0x7c, 0x71, 0x71, 0x7c, 0x41, 0xf3, 0x7d, 0xd8, 0x29,
-  0x54, 0xa6, 0xfc, 0xd0, 0x2e, 0xd4, 0xa8, 0xb0, 0x5f, 0xdf, 0x53, 0xa3,
-  0x59, 0x49, 0x24, 0x0a, 0xa5, 0x4a, 0x17, 0x2c, 0x08, 0xa6, 0x14, 0xe2,
-  0x4a, 0x10, 0xbe, 0x7b, 0x11, 0xb0, 0x6f, 0x1b, 0x36, 0x00, 0x0c, 0x0a,
-  0x0e, 0xc8, 0x96, 0x6e, 0xe1, 0x5a, 0xa8, 0xa4, 0x38, 0xc0, 0x52, 0x33,
-  0xf8, 0x6f, 0xb2, 0x96, 0x9a, 0x3a, 0x14, 0xa4, 0x6e, 0x26, 0xc1, 0xf4,
-  0x99, 0xf5, 0x4f, 0x60, 0xc8, 0x57, 0x74, 0x46, 0xc9, 0x76, 0xc2, 0x64,
-  0xd4, 0xcd, 0x72, 0x91, 0x4f, 0xad, 0xb7, 0xd7, 0xfc, 0xdc, 0xa8, 0x7f,
-  0x09, 0x9f, 0xf2, 0x5a, 0xb1, 0x2e, 0x88, 0x6a, 0xaa, 0x33, 0xc2, 0xf7,
-  0xb6, 0x75, 0xca, 0x78, 0x27, 0x48, 0x7c, 0x63, 0xd0, 0x98, 0x72, 0xbe,
-  0xb7, 0x53, 0xd1, 0x65, 0xef, 0x67, 0xf0, 0x32, 0x92, 0xb4, 0x50, 0xf8,
-  0x8d, 0x2f, 0x19, 0xc8, 0x97, 0x35, 0x77, 0x78, 0x77, 0x57, 0xf6, 0xf7,
-  0x02, 0x19, 0xa8, 0xd5, 0x41, 0xf2, 0x97, 0x3a, 0x9f, 0xfc, 0xec, 0x2e,
-  0x0f, 0xa4, 0xff, 0xb4, 0x39, 0xaf, 0x30, 0x75, 0x32, 0x51, 0x62, 0x0c,
-  0x73, 0xe6, 0xf7, 0xfb, 0xd1, 0xf1, 0x45, 0x72, 0xf8, 0x0d, 0x91, 0x9d,
-  0xff, 0x83, 0x0b, 0x4c, 0xcf, 0xc9, 0xed, 0xb0, 0x21, 0x1c, 0x8e, 0x42,
-  0x83, 0x92, 0xa9, 0x2b, 0x5c, 0xaa, 0x06, 0x1e, 0xb5, 0x01, 0x6e, 0xdc,
-  0x2b, 0x77, 0xdd, 0xb7, 0xd7, 0x90, 0xdc, 0x85, 0x0f, 0xac, 0xe2, 0x63,
-  0xd6, 0x90, 0x0e, 0x99, 0xbf, 0x8a, 0x4c, 0xa0, 0xc4, 0x21, 0x09, 0x5d,
-  0x1b, 0xe9, 0x7d, 0x1d, 0x98, 0x9d, 0xbc, 0x4a, 0x87, 0xc9, 0xe6, 0xdb,
-  0xf2, 0xef, 0x46, 0x19, 0x48, 0x77, 0x9e, 0x0c, 0x77, 0x93, 0xad, 0x1f,
-  0xf2, 0xe2, 0xc5, 0xb3, 0x2f, 0x92, 0x93, 0xed, 0xcd, 0x16, 0x98, 0x9f,
-  0xab, 0xad, 0x8c, 0xd3, 0xe2, 0xa3, 0x5d, 0xb2, 0x33, 0x9c, 0x6c, 0x06,
-  0xd5, 0x89, 0xf3, 0xa1, 0xe6, 0x4a, 0x07, 0x2b, 0x5b, 0x44, 0x9e, 0xa8,
-  0xe4, 0x05, 0x24, 0xdf, 0x4b, 0xba, 0xf3, 0x13, 0x58, 0xf9, 0xe6, 0xa9,
-  0x29, 0x4d, 0xdd, 0x8b, 0x67, 0x41, 0x13, 0x4f, 0x6d, 0x1b, 0xef, 0xb9,
-  0x8d, 0x5f, 0xd8, 0xc4, 0xfe, 0x70, 0x77, 0x3f, 0xd9, 0x3a, 0x1b, 0xed,
-  0xec, 0xdb, 0x16, 0xc2, 0x26, 0xf6, 0xd1, 0x04, 0x3d, 0xd4, 0x7e, 0xf9,
-  0x29, 0x7d, 0xff, 0x2f, 0x59, 0xf1, 0x73, 0xb2, 0xf5, 0xe3, 0xde, 0x9e,
-  0x69, 0xe0, 0x8b, 0xe4, 0xf0, 0xe4, 0xc7, 0xe4, 0xe9, 0xd0, 0x34, 0xf6,
-  0x2e, 0xbd, 0x95, 0xe6, 0x84, 0xb0, 0x79, 0x84, 0x46, 0xcc, 0xef, 0x83,
-  0x36, 0x9e, 0x75, 0xda, 0x38, 0x35, 0x76, 0xe1, 0x27, 0x73, 0xad, 0xec,
-  0x0e, 0x9f, 0xec, 0x27, 0xf9, 0xb3, 0xcf, 0x9f, 0x6b, 0x43, 0xd2, 0x06,
-  0x7e, 0xdf, 0xf6, 0x56, 0x32, 0xbb, 0x8a, 0x51, 0x75, 0x8e, 0x3f, 0x19,
-  0x81, 0x06, 0x11, 0x51, 0x91, 0xa7, 0xf0, 0x26, 0xad, 0xa6, 0xb2, 0xdd,
-  0xa8, 0x0c, 0x8b, 0x59, 0x29, 0x61, 0xcb, 0xcf, 0xe0, 0xb6, 0x34, 0x17,
-  0xe7, 0x41, 0xd0, 0x1d, 0xb2, 0x4d, 0xf5, 0xd1, 0x2f, 0x92, 0xb7, 0xa3,
-  0x93, 0x63, 0x33, 0xa2, 0x5d, 0xd3, 0x35, 0x37, 0x87, 0xdc, 0x21, 0xfc,
-  0x0a, 0x93, 0xfb, 0x02, 0x8c, 0xb6, 0xd2, 0x86, 0xea, 0xdc, 0x0c, 0x64,
-  0x35, 0x9b, 0xce, 0x5c, 0xdc, 0x35, 0xbe, 0x4b, 0x90, 0x94, 0xc1, 0xe1,
-  0x35, 0x99, 0x10, 0x7c, 0xd5, 0xe2, 0xd3, 0xdf, 0x95, 0x85, 0x39, 0x26,
-  0x55, 0x59, 0x11, 0x72, 0x6a, 0xb3, 0xa5, 0x2d, 0x7c, 0xf7, 0xfa, 0x98,
-  0x33, 0xf0, 0xdf, 0xa6, 0x85, 0x91, 0x91, 0x44, 0xa4, 0x55, 0x7f, 0xa4,
-  0xf8, 0x3f, 0x87, 0x73, 0xf8, 0xfd, 0xd3, 0xfb, 0xe2, 0x93, 0x59, 0xc7,
-  0xcf, 0x86, 0x7b, 0x04, 0xd9, 0x26, 0xab, 0xf7, 0xcd, 0x5b, 0xf3, 0xef,
-  0xbd, 0xa7, 0x9b, 0x09, 0xfd, 0xaa, 0x6d, 0xc1, 0xeb, 0x79, 0xdd, 0x38,
-  0x3a, 0x3b, 0xfb, 0xee, 0x84, 0x01, 0x20, 0x47, 0xe2, 0x56, 0x25, 0xe5,
-  0xca, 0x5a, 0xc5, 0x2c, 0x5d, 0x8d, 0xf5, 0xe6, 0xb2, 0x95, 0x10, 0x8c,
-  0xfb, 0x98, 0x65, 0x0b, 0xe4, 0x0c, 0x77, 0x24, 0x42, 0x23, 0x32, 0xda,
-  0x62, 0x9b, 0x48, 0xfd, 0xe9, 0xf0, 0x7d, 0x36, 0xb5, 0x75, 0xe1, 0x8e,
-  0xef, 0x2d, 0xcb, 0x47, 0xea, 0x8a, 0xf2, 0xa2, 0x8b, 0x36, 0x5b, 0x41,
-  0x5d, 0xd0, 0x58, 0x61, 0x2a, 0xf8, 0x23, 0xb6, 0xef, 0xe6, 0xc8, 0x68,
-  0xf7, 0xdc, 0xe9, 0x03, 0xf1, 0xda, 0x6e, 0x7a, 0xfc, 0xf9, 0xd0, 0x68,
-  0x91, 0xae, 0xc3, 0x10, 0x35, 0x32, 0x10, 0x04, 0x38, 0x2f, 0xb2, 0x19,
-  0x35, 0xd3, 0x33, 0xc0, 0xf3, 0xde, 0x1d, 0xbe, 0x3d, 0x7e, 0xf5, 0xfd,
-  0xe1, 0xe9, 0xfb, 0x63, 0xf3, 0x4a, 0x6e, 0x3e, 0xb6, 0xe5, 0x20, 0x7c,
-  0xe8, 0xe3, 0x3c, 0x9f, 0x94, 0x33, 0x8a, 0x32, 0x6d, 0x7e, 0xb1, 0xb9,
-  0xc1, 0xf0, 0xf2, 0xa4, 0x47, 0x6f, 0xed, 0xf1, 0x6b, 0x66, 0x5f, 0xd0,
-  0xbf, 0xf6, 0xf9, 0x5f, 0xfb, 0x5f, 0xf4, 0xb6, 0x5b, 0x83, 0x0e, 0xac,
-  0xe4, 0x2b, 0x94, 0xe5, 0x44, 0x39, 0x45, 0x54, 0xa0, 0x46, 0xee, 0x06,
-  0xcf, 0x4a, 0x4f, 0x63, 0x34, 0x7a, 0xb7, 0xd1, 0xb3, 0x5b, 0xe3, 0x7b,
-  0xdf, 0x06, 0xef, 0xd1, 0x4b, 0xaf, 0xa0, 0x60, 0xf4, 0xb6, 0xfb, 0x56,
-  0xe5, 0x40, 0xa8, 0x9c, 0xda, 0xd0, 0x26, 0x98, 0x79, 0x32, 0xd9, 0xea,
-  0xf1, 0x5f, 0x5e, 0xbd, 0x3e, 0xbc, 0x3c, 0xa6, 0x17, 0xf4, 0xf3, 0x82,
-  0x46, 0xb4, 0x69, 0x14, 0xd4, 0x9f, 0x2d, 0x09, 0x4d, 0xbf, 0xa2, 0x01,
-  0xf5, 0xb6, 0x39, 0x96, 0x81, 0xa0, 0x7a, 0xa7, 0x5f, 0x65, 0xa1, 0xc0,
-  0x6d, 0x97, 0xd5, 0x5e, 0x2b, 0x62, 0x65, 0xab, 0xc7, 0xbf, 0xeb, 0x59,
-  0x0f, 0xae, 0x94, 0x81, 0x91, 0x70, 0xe5, 0x14, 0x49, 0x16, 0x41, 0x66,
-  0x2d, 0x43, 0xd2, 0xdc, 0xfa, 0x48, 0xb0, 0x82, 0x3d, 0x4e, 0x5e, 0x41,
-  0x01, 0xbb, 0xf0, 0x92, 0x36, 0x4f, 0x3e, 0xa6, 0xb2, 0xdc, 0xdb, 0x7f,
-  0xf2, 0x05, 0xe6, 0xf3, 0x55, 0x6f, 0xc7, 0xdc, 0x0d, 0xbd, 0x2f, 0xe8,
-  0xd3, 0x79, 0xe3, 0x95, 0xc5, 0x93, 0xcf, 0x90, 0x3d, 0x25, 0x3b, 0x8a,
-  0xe1, 0x32, 0xb4, 0xea, 0x1e, 0x1b, 0x10, 0x26, 0xf4, 0x8e, 0xb3, 0xc4,
-  0x94, 0x3b, 0x47, 0xc1, 0x03, 0x58, 0x2f, 0xd4, 0xf3, 0x42, 0xa9, 0x12,
-  0x76, 0xea, 0xe2, 0x73, 0xfe, 0xfd, 0xd1, 0xe7, 0x77, 0x79, 0x8c, 0xc2,
-  0x37, 0x44, 0xdf, 0x9c, 0xdf, 0x6b, 0x22, 0x19, 0xbe, 0x05, 0x9d, 0x9c,
-  0xd7, 0x2c, 0xd0, 0x8c, 0xc7, 0xe2, 0xdb, 0x51, 0x63, 0x04, 0x3a, 0x81,
-  0x11, 0x2d, 0xf7, 0x50, 0x94, 0x80, 0x36, 0xf0, 0x41, 0x16, 0x7a, 0x67,
-  0xa7, 0xe3, 0xdc, 0x68, 0xc2, 0x36, 0x35, 0xc6, 0xb3, 0xca, 0xed, 0xd4,
-  0xeb, 0xf1, 0xcb, 0x3d, 0x22, 0xa7, 0x0d, 0xcb, 0x7f, 0x5a, 0x5b, 0x1f,
-  0x12, 0xa2, 0x8d, 0xf2, 0x6c, 0x7b, 0x9d, 0x3a, 0xf9, 0x68, 0x18, 0x06,
-  0x9b, 0xf4, 0x6c, 0x1f, 0x1b, 0x51, 0x53, 0x64, 0xd5, 0x5a, 0x80, 0x45,
-  0x24, 0x18, 0x85, 0x21, 0xfa, 0xf4, 0xfc, 0xe6, 0x9d, 0xe1, 0x70, 0x68,
-  0xcd, 0x1d, 0x04, 0xd2, 0x24, 0x06, 0x45, 0x14, 0x79, 0x3e, 0xf7, 0x30,
-  0xe6, 0x78, 0x0b, 0xca, 0x3c, 0x14, 0xea, 0x6d, 0x01, 0xde, 0x88, 0x9f,
-  0xc0, 0x1e, 0x0d, 0xcf, 0xc7, 0xb1, 0x29, 0x9f, 0xdd, 0x54, 0x8e, 0x87,
-  0x8f, 0xb1, 0x45, 0x58, 0xd3, 0x37, 0xf6, 0x3d, 0x4a, 0x81, 0x20, 0x2b,
-  0xa7, 0x4a, 0x3b, 0x17, 0xb4, 0x83, 0x09, 0x40, 0xce, 0x75, 0xec, 0xb0,
-  0x24, 0x3c, 0x69, 0xd2, 0x95, 0x3e, 0x63, 0x0f, 0x48, 0xc8, 0x95, 0x77,
-  0xe0, 0x33, 0x00, 0x6b, 0x02, 0x61, 0x4f, 0x0a, 0x76, 0x0f, 0xe8, 0x0d,
-  0xb2, 0xb0, 0x6a, 0xb3, 0xb4, 0x23, 0x3c, 0xd4, 0x64, 0x33, 0x43, 0xf7,
-  0x97, 0x2c, 0x47, 0x61, 0xaf, 0xa9, 0x35, 0x89, 0xc7, 0xa8, 0x6d, 0x25,
-  0x98, 0x1a, 0x74, 0xf0, 0xce, 0x5d, 0x45, 0x68, 0xb3, 0x01, 0xf3, 0xbf,
-  0x68, 0x22, 0xa2, 0x4a, 0x0f, 0xe1, 0x00, 0x59, 0x17, 0x2f, 0x9f, 0x68,
-  0x8b, 0x36, 0x58, 0xde, 0x99, 0x1b, 0x77, 0x2b, 0xb7, 0x45, 0x97, 0x99,
-  0x51, 0xf6, 0x2e, 0xdb, 0x62, 0x16, 0x22, 0xf7, 0x92, 0xf4, 0xce, 0x5c,
-  0x3d, 0x45, 0x46, 0xf8, 0x4c, 0x20, 0x1d, 0xe0, 0x95, 0x39, 0xf5, 0xfc,
-  0x8c, 0x76, 0x84, 0x5a, 0x3d, 0x2a, 0x75, 0xf5, 0xa3, 0x92, 0x2d, 0x36,
-  0x34, 0x98, 0x82, 0x59, 0x1d, 0x7a, 0xa4, 0x80, 0x97, 0x73, 0x62, 0x42,
-  0x15, 0x4d, 0x5d, 0xcd, 0x73, 0xea, 0xb9, 0x11, 0xd1, 0x23, 0xd9, 0x37,
-  0x39, 0x70, 0x89, 0xe4, 0xe7, 0x60, 0x5c, 0x85, 0xce, 0x16, 0xaa, 0xa8,
-  0xd8, 0x8f, 0xd8, 0xf8, 0xb4, 0xb8, 0x9f, 0x08, 0xde, 0x5b, 0x0c, 0xc0,
-  0x59, 0xa1, 0x21, 0x61, 0x31, 0xaf, 0xae, 0xaf, 0xd9, 0x6a, 0x4b, 0xba,
-  0x43, 0x8b, 0x6f, 0xb2, 0x53, 0x9a, 0x15, 0x42, 0x41, 0xdf, 0xaf, 0x9a,
-  0xcd, 0x4b, 0x5b, 0x63, 0x50, 0xbc, 0x2e, 0xad, 0xcd, 0xac, 0x31, 0x49,
-  0x5e, 0xb7, 0xc6, 0x26, 0x5d, 0x21, 0x41, 0xa3, 0x1d, 0x43, 0x3e, 0xbb,
-  0xd8, 0x40, 0x55, 0x85, 0xc2, 0x11, 0x32, 0xe8, 0xa2, 0x83, 0xcc, 0xcf,
-  0x21, 0x50, 0x1c, 0x12, 0xf5, 0xce, 0x42, 0xad, 0xb0, 0x5d, 0x93, 0x71,
-  0xea, 0x4c, 0xae, 0x8d, 0xa4, 0xe5, 0xed, 0xa5, 0xaa, 0x74, 0x27, 0x85,
-  0xc8, 0xa1, 0xf2, 0x36, 0x73, 0x5c, 0x92, 0xce, 0xe1, 0xe8, 0x08, 0x86,
-  0xe5, 0xf4, 0x5b, 0x61, 0xd2, 0x09, 0xf0, 0x5a, 0x79, 0x85, 0x41, 0x76,
-  0x66, 0x65, 0x98, 0x78, 0x4d, 0xb2, 0xab, 0xa4, 0x6c, 0xf1, 0x34, 0xa3,
-  0x6f, 0x12, 0xb7, 0xd6, 0x16, 0x79, 0x8f, 0x30, 0x23, 0x8c, 0x67, 0x9a,
-  0x70, 0x5d, 0x25, 0x2d, 0x0e, 0x61, 0x31, 0x7a, 0x2e, 0xfe, 0xab, 0xa3,
-  0xec, 0xd9, 0x45, 0xea, 0x21, 0xcd, 0x73, 0x2c, 0x9b, 0x00, 0x7b, 0x80,
-  0x14, 0x3a, 0x1b, 0xc2, 0xbf, 0x94, 0x75, 0xc2, 0x4e, 0x86, 0x07, 0xad,
-  0x23, 0x48, 0x83, 0x33, 0x67, 0x21, 0x1a, 0xc8, 0x43, 0x31, 0x92, 0x17,
-  0xb8, 0x82, 0xc1, 0x78, 0x83, 0xf3, 0x8d, 0x06, 0x13, 0x95, 0xe8, 0xeb,
-  0x09, 0x0b, 0xc6, 0xad, 0x83, 0xf9, 0xd0, 0x39, 0x3d, 0xbf, 0x38, 0xfb,
-  0xe6, 0xe2, 0x78, 0x34, 0x4a, 0xde, 0x1e, 0x5f, 0xb2, 0xad, 0x7f, 0xc9,
-  0xd0, 0xbb, 0x6b, 0x14, 0xd5, 0x46, 0xac, 0x41, 0x09, 0x9f, 0x14, 0x72,
-  0xa2, 0x8e, 0x04, 0xe4, 0x3c, 0x51, 0xbd, 0x68, 0xdc, 0x8e, 0x6c, 0xc4,
-  0xcf, 0x04, 0xb1, 0x77, 0x03, 0x6f, 0x3f, 0x30, 0x4d, 0x08, 0x48, 0x5a,
-  0xe7, 0xb9, 0x73, 0xa3, 0x42, 0x31, 0x66, 0x94, 0x93, 0xcd, 0x39, 0x74,
-  0x2e, 0x74, 0xba, 0xb2, 0xcd, 0x9f, 0x18, 0xde, 0x1f, 0xcd, 0x6c, 0x4a,
-  0x85, 0xbc, 0x3f, 0x1a, 0xe3, 0x57, 0x36, 0xc5, 0x1f, 0x93, 0x1f, 0x4d,
-  0x9b, 0x53, 0x63, 0xbc, 0x4a, 0x39, 0xe0, 0x11, 0xea, 0x00, 0x3b, 0x3e,
-  0xe7, 0xdc, 0xab, 0x73, 0x9d, 0x70, 0x8a, 0x61, 0xf5, 0x40, 0x09, 0x4e,
-  0x70, 0xc5, 0x70, 0xa5, 0x61, 0xc1, 0xd4, 0xd9, 0x2f, 0x4b, 0x19, 0xb6,
-  0x24, 0x39, 0xcd, 0xae, 0x50, 0xa1, 0x06, 0x9f, 0x33, 0xcd, 0xed, 0x12,
-  0xf1, 0xf5, 0xde, 0x5b, 0xfa, 0xd1, 0x6e, 0xf2, 0xe4, 0xf3, 0xe7, 0xbb,
-  0x9f, 0xf3, 0x5f, 0xf5, 0xbf, 0x2f, 0x9e, 0xee, 0x0a, 0x03, 0xbf, 0xf9,
-  0xd7, 0xd3, 0x83, 0xa7, 0x7b, 0x07, 0xc4, 0x05, 0xb9, 0x7b, 0xb0, 0x6b,
-  0xfe, 0xff, 0x53, 0xf9, 0x09, 0x11, 0x5e, 0xbe, 0xd8, 0xff, 0xfc, 0x33,
-  0xa0, 0x61, 0x68, 0x7f, 0xcc, 0xcc, 0x47, 0x06, 0x4d, 0x39, 0x00, 0x25,
-  0x15, 0x34, 0x9f, 0x3f, 0xb6, 0x3d, 0x91, 0x14, 0x5e, 0xa7, 0x02, 0xe1,
-  0x34, 0x70, 0x5b, 0x1e, 0x55, 0xbd, 0xaa, 0x4c, 0x61, 0xe3, 0x17, 0x75,
-  0xb4, 0xc3, 0x90, 0xb7, 0xb9, 0xc6, 0x20, 0x38, 0xde, 0x5a, 0xef, 0x30,
-  0xd0, 0xdc, 0xa3, 0x93, 0xfb, 0xa5, 0x9f, 0xd6, 0x44, 0xf2, 0x0d, 0x90,
-  0xc4, 0xc9, 0x52, 0xc9, 0x7b, 0x13, 0xad, 0x64, 0xe7, 0xd7, 0xdc, 0xee,
-  0x14, 0xaa, 0xfe, 0xa5, 0xdf, 0x63, 0xcf, 0x15, 0xbd, 0x25, 0xbb, 0x21,
-  0x09, 0xbf, 0x66, 0x73, 0x11, 0x22, 0xdf, 0x6a, 0x6d, 0x9e, 0x0d, 0xb7,
-  0xfc, 0x6e, 0xa6, 0xbc, 0x82, 0xd3, 0x36, 0x87, 0x8b, 0x4b, 0x4e, 0x47,
-  0x86, 0x1c, 0x34, 0xf7, 0x7e, 0xe1, 0xb7, 0xf7, 0x98, 0xe6, 0xdc, 0x88,
-  0xb0, 0x83, 0xed, 0xca, 0x0d, 0xbc, 0xc5, 0xc9, 0x19, 0xd8, 0x66, 0x6b,
-  0x8a, 0x2a, 0x09, 0xa9, 0x2d, 0xf7, 0x8c, 0x57, 0xed, 0x96, 0x1d, 0xf0,
-  0x1b, 0xa2, 0x73, 0xda, 0xbc, 0x38, 0x94, 0x72, 0xc5, 0x15, 0xcf, 0xcf,
-  0xeb, 0xce, 0x0e, 0x3e, 0x45, 0xbb, 0xd1, 0xfb, 0x9e, 0x7c, 0x03, 0xe7,
-  0xc9, 0x1e, 0xba, 0xb5, 0x43, 0x73, 0xd8, 0x7a, 0x2d, 0x67, 0xc9, 0x38,
-  0x2e, 0x28, 0xdf, 0xb1, 0x23, 0xe9, 0x9e, 0x03, 0x7c, 0xdd, 0x36, 0xe7,
-  0xdf, 0x3e, 0x33, 0x70, 0x8d, 0x73, 0x49, 0x15, 0x62, 0x36, 0xa5, 0x7a,
-  0x11, 0xdb, 0x2a, 0xc2, 0x06, 0x7f, 0xb0, 0xb0, 0x2d, 0x5c, 0x66, 0x0c,
-  0x6b, 0xa3, 0xa6, 0x68, 0x3e, 0x67, 0x7e, 0x2e, 0xad, 0x95, 0x76, 0xe3,
-  0xb4, 0x6a, 0xd5, 0x65, 0xd8, 0xe0, 0x3a, 0x24, 0xe6, 0x7a, 0x35, 0xd7,
-  0x05, 0xd2, 0x1d, 0x59, 0x8f, 0xf8, 0x97, 0x8d, 0x8d, 0xd1, 0xf9, 0xf1,
-  0xf1, 0xeb, 0xe4, 0xf4, 0xe4, 0xed, 0xc9, 0xa5, 0xa7, 0x85, 0xdb, 0xdb,
-  0x43, 0x3d, 0xad, 0x5a, 0x56, 0xaf, 0x33, 0x1d, 0x8e, 0xde, 0x99, 0xbf,
-  0xa7, 0xf7, 0xf7, 0x3c, 0x93, 0x2c, 0x8a, 0x59, 0xf7, 0x3d, 0xd8, 0xdb,
-  0x60, 0x76, 0xa2, 0xf2, 0xe4, 0x9e, 0x16, 0x57, 0x1b, 0x8d, 0xc6, 0xf4,
-  0x6e, 0xc0, 0xec, 0x02, 0x83, 0x3f, 0x0b, 0x4e, 0xa3, 0xad, 0x2e, 0x09,
-  0x53, 0xad, 0x4d, 0xe9, 0x11, 0x6c, 0x6b, 0xa7, 0x57, 0x34, 0xb7, 0x19,
-  0x43, 0xab, 0x3d, 0xb7, 0x1c, 0x60, 0x7b, 0x77, 0x19, 0xd8, 0x0e, 0xe6,
-  0x39, 0xe7, 0x5a, 0xfa, 0x98, 0x62, 0x94, 0x4b, 0x91, 0x1b, 0x0f, 0x72,
-  0xdc, 0xff, 0xa2, 0x77, 0x3a, 0x2c, 0xa0, 0x56, 0xbf, 0x55, 0x73, 0xa9,
-  0x42, 0x33, 0x01, 0x45, 0xf2, 0x64, 0xd7, 0xa6, 0x2b, 0x2c, 0x20, 0x73,
-  0x44, 0xbf, 0xa7, 0x8f, 0xed, 0x25, 0x46, 0x09, 0x59, 0x92, 0x2a, 0x5f,
-  0x2d, 0x8b, 0xe0, 0xba, 0xfb, 0x33, 0xbf, 0x6b, 0xc6, 0xff, 0x7c, 0x17,
-  0xd7, 0xdb, 0x55, 0x5a, 0x0d, 0x8c, 0xba, 0x75, 0x3f, 0x50, 0x97, 0x2a,
-  0xef, 0x08, 0xc1, 0x1b, 0xb3, 0xbf, 0x27, 0x73, 0x25, 0x40, 0x3b, 0x2a,
-  0xa2, 0xcb, 0x39, 0x29, 0x11, 0x97, 0x9c, 0xc9, 0x01, 0xa0, 0xa1, 0x53,
-  0xa6, 0xaf, 0x7a, 0x38, 0x9d, 0x82, 0xe3, 0x58, 0x8c, 0x75, 0x15, 0x9d,
-  0x8c, 0xa2, 0x0c, 0x04, 0x88, 0x55, 0x6a, 0x35, 0xa7, 0x61, 0xca, 0x58,
-  0x42, 0x7d, 0x7a, 0x9e, 0xec, 0x7d, 0x4e, 0xe3, 0x78, 0xdc, 0x78, 0xde,
-  0x94, 0xd5, 0xc4, 0xe6, 0x14, 0xc3, 0x46, 0xf0, 0x12, 0x4c, 0x39, 0x2d,
-  0x02, 0xe5, 0xe8, 0x78, 0x76, 0x15, 0x14, 0x0b, 0xd0, 0x1e, 0x19, 0x25,
-  0x12, 0x4f, 0x87, 0x3b, 0x0a, 0x01, 0x6e, 0x56, 0x8b, 0xe8, 0xae, 0x91,
-  0x79, 0x21, 0x07, 0x2b, 0x83, 0xf6, 0x36, 0x2b, 0x9b, 0x80, 0xca, 0xd3,
-  0x40, 0x2e, 0x11, 0xb3, 0xd7, 0xee, 0xf2, 0x29, 0x54, 0x69, 0xc7, 0x67,
-  0x67, 0xd6, 0x8b, 0x37, 0x1f, 0x63, 0xa5, 0x11, 0xb3, 0x44, 0xb0, 0xd3,
-  0xf6, 0x4c, 0x14, 0x18, 0x9a, 0xd6, 0x12, 0x1e, 0x85, 0x2d, 0xe8, 0x0f,
-  0x94, 0xdf, 0xec, 0xe2, 0x02, 0x64, 0x3f, 0x91, 0x68, 0xee, 0xb9, 0xaf,
-  0x50, 0xae, 0x40, 0xd3, 0xcc, 0xd4, 0x99, 0xf0, 0xd6, 0x6e, 0xec, 0xf6,
-  0x98, 0x89, 0xa9, 0xc5, 0x1b, 0xf6, 0xde, 0xae, 0x51, 0x5a, 0x67, 0xa5,
-  0xdd, 0x56, 0xb2, 0xa9, 0x42, 0x4b, 0x14, 0xc3, 0x1a, 0x60, 0x76, 0xf6,
-  0x76, 0xbf, 0x5b, 0x3d, 0xeb, 0xe0, 0xe9, 0x5f, 0xfb, 0xf2, 0xfe, 0xd3,
-  0x35, 0x8b, 0x76, 0x56, 0xc1, 0x18, 0xcf, 0x14, 0x03, 0x09, 0x45, 0xd0,
-  0x45, 0x5e, 0x82, 0x65, 0x33, 0x1b, 0x3f, 0xbb, 0x4e, 0x51, 0x15, 0x79,
-  0x4d, 0xef, 0x35, 0x27, 0xa4, 0xd3, 0x95, 0xb7, 0x82, 0xca, 0xe6, 0x5f,
-  0xd6, 0xe4, 0x16, 0x5b, 0x80, 0x69, 0xcf, 0xd9, 0xae, 0x36, 0x9d, 0x9c,
-  0xb9, 0x19, 0xbc, 0xb7, 0x59, 0x72, 0xf6, 0xdb, 0x42, 0x42, 0x77, 0x4f,
-  0x95, 0x5d, 0x2f, 0x99, 0x09, 0xa3, 0x64, 0x5b, 0x9f, 0xc8, 0xaf, 0xe5,
-  0xbc, 0x1a, 0xd9, 0x4c, 0xf0, 0x21, 0xde, 0x4f, 0x10, 0xbc, 0x93, 0x54,
-  0x55, 0x56, 0x29, 0x6b, 0xdc, 0xb9, 0x18, 0xc8, 0x29, 0x3b, 0x29, 0xe7,
-  0x52, 0x18, 0x95, 0x8f, 0x57, 0xe1, 0x25, 0xf6, 0x33, 0xbb, 0xe3, 0x10,
-  0x99, 0xbe, 0xbc, 0x51, 0xac, 0xb0, 0xa7, 0xb4, 0x32, 0x8a, 0x86, 0x35,
-  0x1c, 0x16, 0x40, 0x03, 0x7d, 0xd9, 0xb5, 0x68, 0xc9, 0x7e, 0x8a, 0x24,
-  0x7e, 0xad, 0x2c, 0x9b, 0xcc, 0xc6, 0x4f, 0xce, 0xfe, 0xa3, 0xb3, 0x77,
-  0x6f, 0x4e, 0xbe, 0xb1, 0x54, 0x46, 0x2c, 0xc4, 0x5b, 0x14, 0x1b, 0xec,
-  0x3e, 0xf6, 0x23, 0xdd, 0x52, 0x6f, 0x56, 0xd0, 0xb7, 0x46, 0x3c, 0x7d,
-  0xf0, 0x7f, 0x00, 0x01, 0x52, 0x3c, 0x21, 0x07, 0x39, 0xf3, 0x7f, 0xd4,
-  0xdb, 0xce, 0xdd, 0xd0, 0xa1, 0xaa, 0xe3, 0x2c, 0x8d, 0xb4, 0x6a, 0x96,
-  0x0b, 0x0b, 0x22, 0xf4, 0xea, 0xd5, 0x0a, 0x57, 0xb7, 0xa6, 0xa2, 0x2f,
-  0x17, 0x2c, 0x9a, 0x24, 0xa1, 0xb4, 0xe5, 0xcd, 0xe5, 0x3b, 0x80, 0xdc,
-  0x09, 0xc2, 0xa5, 0x22, 0x17, 0x40, 0x80, 0xcb, 0x99, 0x11, 0xc3, 0xa7,
-  0x8f, 0x97, 0xd7, 0xf8, 0xcd, 0x34, 0xad, 0x6f, 0x78, 0xa0, 0xb8, 0x34,
-  0x72, 0x86, 0x69, 0x23, 0xd6, 0x96, 0x4e, 0xc9, 0x50, 0x77, 0x60, 0x1c,
-  0x8b, 0xfe, 0x75, 0xf1, 0xa1, 0x3a, 0xd1, 0xac, 0x07, 0x8b, 0x4f, 0xd2,
-  0x34, 0xd6, 0x14, 0xa1, 0x4a, 0xc4, 0x3a, 0xf1, 0x93, 0x57, 0x14, 0x96,
-  0x39, 0x20, 0xce, 0xfa, 0x39, 0x13, 0xca, 0xf9, 0xe9, 0xa7, 0x22, 0x25,
-  0x1d, 0xb3, 0xfc, 0xc9, 0x95, 0x97, 0xd1, 0xc6, 0x38, 0x41, 0xdd, 0x74,
-  0xec, 0x23, 0x26, 0x07, 0xcb, 0xe6, 0x1f, 0x36, 0x07, 0xf5, 0xfd, 0x7c,
-  0x5c, 0xce, 0x34, 0xf1, 0xc2, 0x12, 0x48, 0xe8, 0x43, 0xad, 0x7a, 0x7a,
-  0x1c, 0xa9, 0x6d, 0x3c, 0xb7, 0xa4, 0xc3, 0x4a, 0xb9, 0xfe, 0x73, 0xc1,
-  0x24, 0x84, 0x87, 0x74, 0x14, 0xe0, 0xf6, 0x21, 0x19, 0x9f, 0x15, 0x93,
-  0x59, 0x29, 0xbb, 0x9a, 0x12, 0xcc, 0x31, 0x53, 0xed, 0xa1, 0x53, 0xc4,
-  0xaf, 0x5c, 0x92, 0x87, 0x03, 0x35, 0x4a, 0x8c, 0xba, 0xd3, 0x13, 0x46,
-  0x0d, 0x0c, 0x90, 0xde, 0xe6, 0x5f, 0x08, 0x2a, 0xdf, 0xe3, 0xb7, 0xe1,
-  0xa2, 0x26, 0xa6, 0xab, 0x3f, 0xb1, 0x43, 0x91, 0xe3, 0x7e, 0x7f, 0xd6,
-  0x8f, 0xeb, 0xa3, 0x9d, 0xa9, 0x37, 0xfb, 0x29, 0xad, 0xae, 0x85, 0xa5,
-  0x4f, 0x22, 0x69, 0x30, 0x12, 0x6d, 0xe9, 0x1c, 0xeb, 0x98, 0x24, 0xa5,
-  0xc4, 0xa2, 0x66, 0xa0, 0x3e, 0x2d, 0x39, 0xa7, 0x50, 0x32, 0xae, 0xd8,
-  0x25, 0x69, 0x37, 0xa2, 0x27, 0x71, 0xfe, 0x60, 0xb1, 0x28, 0xa9, 0xbb,
-  0xcb, 0xb4, 0x02, 0x86, 0xf3, 0xcf, 0xca, 0x65, 0xe6, 0xbd, 0x46, 0x4e,
-  0x3c, 0x58, 0xc2, 0x99, 0x38, 0x4e, 0xf8, 0x53, 0xd0, 0x25, 0x88, 0xd7,
-  0x46, 0x2a, 0x6b, 0xba, 0x26, 0xf8, 0xf7, 0xaf, 0xa4, 0x16, 0x9a, 0x39,
-  0xcf, 0xc2, 0x94, 0x22, 0xf4, 0x81, 0x9f, 0xef, 0x8a, 0xfb, 0xad, 0x11,
-  0xb8, 0x6a, 0x9d, 0x1c, 0x5e, 0x1c, 0x1b, 0xcd, 0xf6, 0xba, 0x00, 0x47,
-  0x45, 0xd1, 0x68, 0x52, 0x5d, 0x56, 0x48, 0xf1, 0xb5, 0x42, 0xcf, 0x07,
-  0x7d, 0xf0, 0xce, 0x7b, 0x93, 0x36, 0x93, 0x00, 0x03, 0x38, 0x7f, 0xdb,
-  0x6d, 0xb9, 0x89, 0x72, 0x0f, 0x43, 0xea, 0x10, 0x4d, 0x02, 0x6f, 0x29,
-  0x0a, 0x91, 0x98, 0x4f, 0x95, 0xca, 0x3b, 0x7c, 0x1e, 0x88, 0x75, 0x9f,
-  0x70, 0x58, 0xe7, 0x1a, 0xa7, 0xda, 0xa5, 0x22, 0xfc, 0x4d, 0x89, 0x39,
-  0xe5, 0x5b, 0xad, 0xb0, 0xa7, 0xdb, 0x4e, 0xfd, 0xb8, 0xcb, 0xe8, 0x6f,
-  0xb8, 0x67, 0x48, 0x17, 0xe9, 0xea, 0x05, 0x99, 0x45, 0xd8, 0xb3, 0xf7,
-  0x7a, 0xea, 0x29, 0xbf, 0x9c, 0x02, 0x48, 0x18, 0x6b, 0x76, 0x4c, 0x0b,
-  0x13, 0x90, 0xf8, 0x75, 0xd8, 0x1c, 0x98, 0xca, 0x59, 0xa5, 0x5d, 0x41,
-  0x70, 0xe1, 0x31, 0xb1, 0x25, 0x7d, 0x64, 0x05, 0xc0, 0x97, 0x4f, 0x51,
-  0xdf, 0xee, 0x1f, 0xec, 0x68, 0x5d, 0x1f, 0x36, 0xbc, 0x92, 0xf3, 0x66,
-  0x49, 0x95, 0xdd, 0x8e, 0x7a, 0x31, 0xa4, 0x0f, 0x41, 0xa4, 0x22, 0x66,
-  0x4a, 0x7f, 0xc1, 0x8f, 0x81, 0x7a, 0x53, 0xba, 0x53, 0x48, 0x1d, 0x4b,
-  0xa1, 0x55, 0x4a, 0x4c, 0xd5, 0x75, 0x84, 0x03, 0x7b, 0x90, 0xd0, 0x63,
-  0x5f, 0x35, 0x1e, 0x7c, 0xb7, 0xa3, 0xa5, 0xbe, 0xc9, 0x7f, 0x43, 0x09,
-  0xc4, 0x7a, 0xe0, 0xeb, 0xac, 0x55, 0x1b, 0xdc, 0x66, 0x0a, 0xf5, 0x06,
-  0x3d, 0x33, 0x17, 0x9b, 0xb3, 0x99, 0x13, 0xf8, 0xfa, 0x18, 0xad, 0x2a,
-  0x92, 0xea, 0x9c, 0xc2, 0x24, 0xb2, 0x8b, 0x0a, 0x77, 0xdc, 0xb7, 0x52,
-  0x1c, 0xa8, 0x14, 0x1e, 0x65, 0x00, 0x59, 0x62, 0x2f, 0xa4, 0x89, 0x00,
-  0x24, 0x70, 0x9b, 0xd7, 0x1a, 0x7c, 0x34, 0x7b, 0x7b, 0xc2, 0x98, 0x88,
-  0x86, 0x09, 0x09, 0xb2, 0x66, 0xe2, 0x4d, 0x65, 0x36, 0xb9, 0x29, 0x19,
-  0x53, 0x6b, 0x26, 0xcd, 0xcb, 0xf4, 0xec, 0x25, 0xff, 0x4b, 0xf6, 0xc0,
-  0x77, 0x2e, 0x69, 0x8f, 0x36, 0xc2, 0x90, 0x79, 0x28, 0x87, 0x6e, 0x43,
-  0x1c, 0xff, 0x78, 0x79, 0x71, 0x98, 0x7c, 0x7b, 0x7c, 0xf8, 0xfa, 0xf8,
-  0x62, 0xd4, 0xb9, 0xf4, 0x05, 0xfe, 0xc1, 0x1a, 0x1a, 0x39, 0x81, 0xa1,
-  0x1a, 0x2b, 0xf1, 0x80, 0xe0, 0xf6, 0x55, 0xea, 0x99, 0xcd, 0x43, 0x07,
-  0xc9, 0x9c, 0x0f, 0x32, 0x88, 0x38, 0x5a, 0x00, 0x92, 0xe4, 0x1a, 0xc2,
-  0xc6, 0xb6, 0x31, 0x31, 0x12, 0x8a, 0x40, 0x0c, 0xea, 0x32, 0xf7, 0x33,
-  0x66, 0x1c, 0x57, 0x9f, 0xbb, 0x4c, 0xa6, 0xa5, 0x26, 0x03, 0xb6, 0x57,
-  0xee, 0x5b, 0x97, 0xef, 0xed, 0x89, 0x2d, 0xb9, 0x64, 0xc4, 0x6b, 0xd8,
-  0xfb, 0x71, 0x60, 0xbe, 0x3b, 0x30, 0x93, 0x3f, 0x20, 0x32, 0xc7, 0xfb,
-  0xac, 0xee, 0x75, 0x5c, 0x80, 0xed, 0xcf, 0x6f, 0x70, 0xb5, 0xa7, 0xe0,
-  0x24, 0x7d, 0x1b, 0x6d, 0x89, 0x4e, 0xd7, 0x8c, 0x6a, 0x30, 0x75, 0x2d,
-  0x08, 0x5c, 0xaa, 0x9e, 0x92, 0x2c, 0x27, 0x28, 0x48, 0x6f, 0x11, 0x80,
-  0x92, 0x33, 0x33, 0x05, 0x0f, 0x86, 0x8e, 0xc8, 0x10, 0xa0, 0xeb, 0x98,
-  0xb3, 0xc7, 0x97, 0xfa, 0x8c, 0xf9, 0x9c, 0xd9, 0x63, 0x66, 0xba, 0x25,
-  0x0f, 0xf9, 0xf7, 0x03, 0x02, 0x20, 0x82, 0xc1, 0xaf, 0x5b, 0xf1, 0x51,
-  0x71, 0x86, 0x0a, 0xd5, 0xb7, 0x34, 0x47, 0x7d, 0xb0, 0x7b, 0x5e, 0xa1,
-  0xfb, 0xf4, 0x49, 0xad, 0x42, 0x22, 0xef, 0x32, 0x0a, 0x8c, 0x8c, 0x7a,
-  0xf8, 0x37, 0xb9, 0x2c, 0x2f, 0x17, 0xb8, 0x64, 0xc1, 0xe6, 0xe5, 0x02,
-  0xf9, 0x9b, 0x19, 0xe5, 0xdf, 0x80, 0x1e, 0xb7, 0xcf, 0x65, 0xc9, 0xb7,
-  0x65, 0x8d, 0xbb, 0x20, 0x7c, 0x9c, 0x2e, 0xf9, 0xd8, 0xf4, 0xe3, 0x0d,
-  0x89, 0x6f, 0x59, 0x92, 0xd8, 0x8d, 0x0d, 0x4d, 0xa9, 0x3a, 0x3f, 0xbc,
-  0xfc, 0x16, 0xd1, 0x55, 0x6c, 0xe1, 0xd7, 0x60, 0x4c, 0xd1, 0x98, 0x5a,
-  0x98, 0x92, 0x65, 0x0d, 0x38, 0xd6, 0x7f, 0x95, 0x98, 0x51, 0xf5, 0x49,
-  0x44, 0xef, 0x72, 0x06, 0x22, 0xcd, 0xb8, 0x0c, 0x32, 0x64, 0x74, 0xab,
-  0xda, 0x23, 0xa0, 0xef, 0x36, 0xdf, 0xce, 0xe2, 0x2d, 0x37, 0x39, 0x11,
-  0x7e, 0x93, 0xc7, 0x84, 0x4d, 0x4f, 0xca, 0xdc, 0x46, 0xd2, 0x66, 0x1e,
-  0xc6, 0x2f, 0x28, 0xd3, 0x99, 0x03, 0x50, 0xd3, 0x32, 0xce, 0x7b, 0xe8,
-  0x1d, 0xe9, 0xaf, 0xe6, 0xf7, 0xc3, 0x90, 0x80, 0x27, 0xf9, 0x7a, 0xd9,
-  0xb4, 0xc5, 0x4a, 0x87, 0xff, 0xd8, 0x6a, 0x96, 0x55, 0x59, 0x36, 0x5e,
-  0x1f, 0xa0, 0xfd, 0xa4, 0x8d, 0x9c, 0x68, 0x26, 0xb8, 0xe4, 0xbe, 0x50,
-  0x53, 0x85, 0xe8, 0xdd, 0xbe, 0x62, 0x98, 0x8e, 0xeb, 0x72, 0xb6, 0x6c,
-  0x3c, 0xf4, 0xf5, 0x2f, 0xeb, 0xb3, 0xd7, 0xe9, 0xad, 0x93, 0xa1, 0x92,
-  0x7d, 0x16, 0x4c, 0x51, 0x67, 0x2c, 0x7d, 0xa3, 0x5e, 0x22, 0xd8, 0x58,
-  0x95, 0x45, 0xbb, 0xce, 0x1c, 0x80, 0xde, 0xdb, 0x1b, 0x1b, 0x23, 0x5d,
-  0x6c, 0xa2, 0x7b, 0x0d, 0x17, 0xfd, 0x07, 0x68, 0x93, 0xd4, 0x07, 0x0e,
-  0x16, 0x4c, 0xcc, 0x5f, 0x94, 0x04, 0x2e, 0xe3, 0x35, 0x85, 0x08, 0xe7,
-  0x35, 0xce, 0xeb, 0xf6, 0xa0, 0xf0, 0x2b, 0x1b, 0xae, 0xd0, 0xfc, 0xb2,
-  0xcb, 0x52, 0x79, 0xff, 0x25, 0x5c, 0xe7, 0x36, 0x44, 0x2b, 0x1b, 0x3e,
-  0xca, 0x30, 0x4d, 0x97, 0x80, 0x16, 0xd7, 0xb6, 0x70, 0x5c, 0xea, 0xe4,
-  0xce, 0xff, 0xde, 0x49, 0xfa, 0x5c, 0x01, 0x21, 0x42, 0xda, 0xb3, 0x4c,
-  0xfe, 0x3f, 0x00, 0x5e, 0x09, 0xbd, 0x2f, 0xb5, 0x39, 0x6c, 0x13, 0xc8,
-  0x0e, 0x8d, 0x09, 0x75, 0x53, 0x4d, 0xdc, 0xee, 0x37, 0xda, 0x41, 0x76,
-  0x47, 0xf6, 0x8b, 0xda, 0x08, 0x42, 0x17, 0xc2, 0xf5, 0xad, 0x2d, 0x01,
-  0x13, 0xe8, 0x36, 0xae, 0xac, 0x57, 0x8f, 0x6a, 0xb6, 0x72, 0x65, 0x53,
-  0x56, 0xeb, 0x51, 0xb2, 0x49, 0xc3, 0xa6, 0x1b, 0x49, 0xcb, 0x6e, 0xa7,
-  0x92, 0x87, 0xfc, 0xa7, 0x26, 0x1d, 0x09, 0xb0, 0x4b, 0xb6, 0xbf, 0x57,
-  0x06, 0xd0, 0x2b, 0xa8, 0xac, 0x88, 0x53, 0x46, 0xd3, 0x69, 0x38, 0x52,
-  0x3b, 0xa9, 0x5a, 0x00, 0x45, 0x2b, 0x41, 0x6b, 0x29, 0xcc, 0x23, 0x84,
-  0x24, 0x23, 0x0e, 0x63, 0x4e, 0xda, 0xa6, 0x82, 0x95, 0x6a, 0xc9, 0xe8,
-  0x95, 0xaa, 0x69, 0x1c, 0x76, 0xa5, 0x5c, 0xf7, 0xe5, 0xee, 0x47, 0x12,
-  0x3e, 0x22, 0x73, 0x54, 0xa2, 0xd3, 0x57, 0x09, 0x74, 0x48, 0x52, 0x33,
-  0x98, 0xc1, 0x1b, 0x3e, 0x20, 0xc5, 0x21, 0x36, 0xaf, 0x29, 0xcb, 0x43,
-  0x5c, 0x52, 0xc2, 0x65, 0x02, 0xff, 0xd7, 0x4d, 0x2e, 0xb8, 0x52, 0x9e,
-  0xf5, 0x76, 0x9d, 0x56, 0x78, 0xf8, 0x08, 0x52, 0xe0, 0xa2, 0xaa, 0x16,
-  0xf8, 0x30, 0x0c, 0x0f, 0xcc, 0xd0, 0xb2, 0xaa, 0xca, 0x25, 0x72, 0xe2,
-  0xe7, 0x94, 0x33, 0x0a, 0xc3, 0x62, 0x9d, 0x1f, 0xf9, 0x75, 0xff, 0x93,
-  0x04, 0x62, 0x2d, 0x12, 0x4e, 0x20, 0x11, 0xaa, 0x38, 0xba, 0x50, 0xf6,
-  0xf7, 0x60, 0x98, 0x32, 0x66, 0x03, 0x3c, 0xa5, 0xda, 0x82, 0xf2, 0xa5,
-  0x75, 0x27, 0x7f, 0xbb, 0x2f, 0xb3, 0x64, 0x33, 0xee, 0x25, 0xc4, 0xcc,
-  0x7a, 0xa1, 0x17, 0x77, 0x6a, 0x15, 0x9a, 0xe3, 0x2c, 0xee, 0xba, 0xa9,
-  0x96, 0x93, 0x26, 0x28, 0x91, 0xda, 0x0a, 0xcd, 0xdb, 0x39, 0x2e, 0x7d,
-  0xdb, 0xfe, 0xe4, 0x5c, 0xcc, 0x7b, 0xb6, 0x3e, 0xa8, 0x67, 0x5b, 0x69,
-  0x2b, 0xc9, 0x85, 0x5f, 0xde, 0x48, 0x5a, 0xdf, 0xdd, 0xb6, 0xbb, 0x6c,
-  0x70, 0x6e, 0x33, 0xea, 0xdb, 0xf4, 0x47, 0xc8, 0x4e, 0xf0, 0xee, 0x5e,
-  0x51, 0xc4, 0xa0, 0x78, 0x54, 0x89, 0x90, 0x2f, 0x42, 0xad, 0x21, 0x97,
-  0xe5, 0x86, 0x25, 0x48, 0x34, 0x5d, 0x1a, 0x08, 0x54, 0x95, 0xa3, 0xbf,
-  0x3b, 0x66, 0x22, 0xb5, 0x9a, 0x90, 0x2d, 0xa3, 0x55, 0x3b, 0x92, 0xc5,
-  0x0e, 0x4e, 0x15, 0x14, 0x4d, 0x56, 0x3f, 0x14, 0xb2, 0x38, 0x99, 0xbf,
-  0x61, 0xf2, 0x5a, 0x0e, 0x85, 0x7c, 0xa1, 0xab, 0x4e, 0x84, 0x77, 0xe3,
-  0x39, 0x53, 0xa1, 0x04, 0xfb, 0xe8, 0xb5, 0xfa, 0x54, 0x21, 0x72, 0x30,
-  0x37, 0x64, 0xd9, 0xe8, 0x22, 0x99, 0x79, 0xd5, 0x4f, 0x98, 0x2e, 0xd0,
-  0x88, 0x37, 0x67, 0xd9, 0xee, 0xa6, 0x57, 0x07, 0x6c, 0x8b, 0x41, 0xff,
-  0x25, 0xac, 0x1f, 0x4b, 0x56, 0xc8, 0xde, 0x0b, 0x02, 0xb7, 0x6d, 0x47,
-  0xba, 0x62, 0x9a, 0xf8, 0xa5, 0x9d, 0xd9, 0x7b, 0xb1, 0x3f, 0xdc, 0x7b,
-  0xfe, 0xf9, 0x70, 0x77, 0xb8, 0xb7, 0x4b, 0xf2, 0x85, 0xba, 0xe2, 0x75,
-  0x8e, 0xe7, 0x25, 0xf2, 0xa9, 0xd6, 0x7b, 0xe1, 0x37, 0xdf, 0x1d, 0x5f,
-  0xfe, 0x70, 0x76, 0xf1, 0x5d, 0x72, 0xf2, 0xee, 0xf2, 0xf8, 0xe2, 0xcd,
-  0xe1, 0xd1, 0x63, 0x09, 0xfb, 0x7d, 0xb7, 0xb5, 0x57, 0x17, 0x3d, 0x73,
-  0x13, 0x13, 0xfa, 0x06, 0xdd, 0x9c, 0x65, 0xcd, 0xcd, 0xee, 0xc1, 0xde,
-  0x5a, 0x4a, 0xea, 0x88, 0x7b, 0xd0, 0xbd, 0xaf, 0x83, 0xda, 0xa3, 0x41,
-  0xad, 0x6e, 0xc5, 0x52, 0x33, 0x8e, 0x18, 0x5b, 0x65, 0x71, 0xb9, 0x10,
-  0xf3, 0xa8, 0xb4, 0x04, 0x46, 0x56, 0x11, 0xec, 0x63, 0x26, 0xbf, 0xe5,
-  0xf4, 0x5a, 0x21, 0x99, 0x11, 0x0c, 0xba, 0xc8, 0xdc, 0x0d, 0xae, 0x41,
-  0xde, 0x88, 0x3b, 0x85, 0xe9, 0x6c, 0xa7, 0x50, 0xf1, 0x54, 0x2a, 0x4b,
-  0xee, 0x1a, 0xed, 0x16, 0xa9, 0x82, 0xca, 0x84, 0x83, 0x53, 0x9b, 0x27,
-  0x62, 0x59, 0x08, 0x00, 0x7d, 0x50, 0x3d, 0x1d, 0x7d, 0x6d, 0x97, 0x91,
-  0xf7, 0xe1, 0xb3, 0x1d, 0xee, 0xd5, 0x5a, 0x71, 0xcd, 0x18, 0x58, 0xcb,
-  0x35, 0x7a, 0x24, 0x1d, 0xc1, 0x69, 0xf0, 0x7a, 0xc3, 0x9f, 0x82, 0x42,
-  0x45, 0x24, 0x69, 0xa0, 0x87, 0x6c, 0x31, 0x24, 0xf3, 0x1d, 0x85, 0xdc,
-  0x09, 0xd6, 0xff, 0xb4, 0xac, 0x05, 0xb5, 0x5e, 0xb7, 0x48, 0x0a, 0x13,
-  0x2e, 0x7c, 0xe2, 0xbf, 0xce, 0xaa, 0x36, 0xd0, 0x99, 0xd3, 0x2a, 0xbd,
-  0x43, 0x09, 0x97, 0xdc, 0x51, 0x8e, 0x6e, 0x24, 0xad, 0x12, 0x29, 0xa4,
-  0x38, 0xb9, 0x39, 0x4f, 0xce, 0x8f, 0xdf, 0x0e, 0xb4, 0x88, 0xb2, 0xf9,
-  0x3b, 0x3b, 0xa3, 0x94, 0x5f, 0x92, 0x73, 0x7b, 0x16, 0x59, 0xa1, 0x58,
-  0x1a, 0xc8, 0x44, 0x01, 0xff, 0xf8, 0x03, 0xa0, 0x43, 0x63, 0x19, 0x28,
-  0x05, 0x32, 0xaa, 0x98, 0x4b, 0xce, 0x2d, 0xec, 0xd2, 0x72, 0xd2, 0x7a,
-  0x0a, 0x60, 0x39, 0xd9, 0xb2, 0x20, 0x5d, 0xfa, 0x1e, 0x90, 0xa8, 0x40,
-  0x0d, 0x58, 0x98, 0x40, 0xa9, 0x99, 0xd7, 0xe7, 0xdf, 0x1d, 0x8d, 0xfe,
-  0xb0, 0xb7, 0x2f, 0xdd, 0xd9, 0x56, 0xab, 0x80, 0x64, 0x55, 0x37, 0x29,
-  0x1f, 0xe2, 0xda, 0xef, 0xa3, 0xa6, 0x58, 0xe3, 0x80, 0x63, 0x31, 0xb6,
-  0x6c, 0x62, 0xd0, 0x76, 0x2b, 0x33, 0x08, 0xc8, 0xaf, 0x7b, 0xab, 0x62,
-  0xda, 0xc2, 0xc0, 0x14, 0x12, 0x41, 0x09, 0x29, 0x29, 0xe2, 0xd4, 0x58,
-  0xa8, 0x5f, 0x5a, 0xe8, 0x8f, 0xb8, 0x65, 0x69, 0x0d, 0x39, 0xe4, 0x0e,
-  0xce, 0xd2, 0x5d, 0x73, 0x9a, 0x6f, 0xf7, 0x5b, 0xe2, 0x89, 0x95, 0x9b,
-  0x5d, 0x09, 0x81, 0xdc, 0x67, 0x70, 0x00, 0x04, 0xbd, 0x3e, 0xd5, 0x32,
-  0x71, 0x85, 0xab, 0x83, 0x42, 0x4f, 0x9f, 0x99, 0x85, 0x32, 0x27, 0x8b,
-  0x79, 0x1b, 0x48, 0x28, 0x94, 0x33, 0x32, 0x5d, 0xec, 0x23, 0xaf, 0x2b,
-  0x2a, 0x1d, 0xb3, 0x60, 0x1c, 0xe9, 0xbb, 0x61, 0xf2, 0x6d, 0x56, 0x50,
-  0xe2, 0x3c, 0x21, 0xee, 0x34, 0xf7, 0x0a, 0xb8, 0x40, 0xaa, 0x53, 0x89,
-  0xba, 0x7d, 0xa7, 0x59, 0x2a, 0x9c, 0x9c, 0x46, 0xd6, 0xd5, 0x6c, 0xe1,
-  0x6a, 0xcd, 0xaa, 0x94, 0xd0, 0x79, 0x42, 0x20, 0x6a, 0xc9, 0x2e, 0x98,
-  0x24, 0x9a, 0x1a, 0xd8, 0x6a, 0x13, 0x6b, 0xa2, 0x24, 0x02, 0x9a, 0x93,
-  0x63, 0x8e, 0x58, 0x93, 0x78, 0x95, 0x6f, 0x40, 0xa7, 0x4d, 0xde, 0x42,
-  0xb6, 0xb8, 0x9c, 0x50, 0x99, 0x56, 0x37, 0xe4, 0xfa, 0xa8, 0xcd, 0x75,
-  0x93, 0x16, 0x93, 0xfb, 0xe1, 0xd4, 0xe8, 0xb2, 0xe4, 0x3c, 0x1b, 0x2e,
-  0x3f, 0xee, 0x78, 0xc7, 0x94, 0x44, 0xfe, 0x0d, 0x73, 0x04, 0xb4, 0x1d,
-  0xdf, 0x5a, 0x0c, 0x39, 0xa4, 0x0e, 0x4b, 0x5b, 0x67, 0x82, 0xb6, 0x84,
-  0x66, 0xfb, 0xf3, 0xf1, 0x5c, 0x49, 0xb2, 0x75, 0x9c, 0x58, 0x86, 0x63,
-  0x6a, 0x61, 0xb8, 0xc8, 0xe6, 0x07, 0x36, 0x1b, 0x59, 0xe5, 0x83, 0x54,
-  0xd5, 0xb0, 0x86, 0x85, 0xe7, 0xa4, 0x2d, 0xb2, 0xeb, 0x99, 0x28, 0x14,
-  0xbe, 0xe9, 0x62, 0x9b, 0x88, 0xa4, 0x80, 0xb0, 0xc1, 0x23, 0x15, 0x95,
-  0xa0, 0xb1, 0x9b, 0x7d, 0xd8, 0x08, 0xa4, 0x96, 0x1f, 0xae, 0x48, 0xa1,
-  0x77, 0x8d, 0x08, 0x73, 0x08, 0xc8, 0x96, 0x49, 0x19, 0x16, 0x17, 0x8f,
-  0x22, 0x91, 0x24, 0xfc, 0x44, 0x44, 0xb0, 0xd8, 0x21, 0xa0, 0x71, 0x17,
-  0x54, 0x34, 0x82, 0x9f, 0x5a, 0x73, 0x98, 0xcf, 0x8a, 0xf9, 0xf5, 0xed,
-  0x13, 0xf2, 0x78, 0x5f, 0x9e, 0x8e, 0x34, 0x2a, 0x52, 0x64, 0x77, 0xde,
-  0xd6, 0xe2, 0xd2, 0x03, 0xb2, 0xff, 0xc8, 0x01, 0xc4, 0x94, 0xca, 0x60,
-  0x3b, 0x40, 0x4f, 0x58, 0x2a, 0xb8, 0x30, 0x99, 0x4b, 0x7e, 0xd0, 0x49,
-  0x10, 0x18, 0x31, 0x75, 0x45, 0xcb, 0xa3, 0xb1, 0x32, 0x64, 0x99, 0x5e,
-  0x88, 0xbb, 0xcf, 0x28, 0x4b, 0x4f, 0xfa, 0xc9, 0x60, 0x1f, 0xfc, 0x39,
-  0x7b, 0xed, 0x49, 0x4c, 0x1b, 0xa6, 0x09, 0xa4, 0x36, 0x4c, 0x4b, 0xda,
-  0x8a, 0x88, 0x83, 0x2d, 0xd9, 0xd2, 0xb7, 0xe6, 0x7d, 0xfa, 0x63, 0x5f,
-  0x06, 0x74, 0xbb, 0x07, 0xc4, 0x36, 0xf3, 0x56, 0xce, 0xee, 0x43, 0x95,
-  0x61, 0x7f, 0xed, 0xaa, 0x22, 0x37, 0xe2, 0x2e, 0xb7, 0x04, 0xd2, 0x5c,
-  0x34, 0x01, 0xae, 0x50, 0xa1, 0x04, 0xd5, 0x0e, 0x98, 0x29, 0x14, 0x27,
-  0x77, 0x91, 0xdc, 0xee, 0x6b, 0xac, 0x99, 0x7e, 0xa3, 0xf3, 0xc6, 0xce,
-  0x7a, 0x27, 0x44, 0x82, 0xb4, 0x45, 0x42, 0xb9, 0x79, 0xbb, 0x96, 0xb2,
-  0x9e, 0xcc, 0x9e, 0x35, 0x52, 0xa4, 0x25, 0x65, 0xca, 0x42, 0xdc, 0x0a,
-  0x9c, 0xf2, 0xce, 0x7c, 0xf4, 0x64, 0xc0, 0x7b, 0x30, 0x27, 0x20, 0xbf,
-  0x3d, 0x44, 0xe4, 0x49, 0x61, 0x13, 0x25, 0xc4, 0x95, 0x0f, 0x8a, 0x3e,
-  0x2c, 0xff, 0x4d, 0xce, 0x8e, 0x09, 0x60, 0x4d, 0x71, 0x9d, 0x9b, 0x93,
-  0xbf, 0x99, 0x98, 0xc3, 0xb4, 0x24, 0x89, 0xdf, 0xd8, 0x5a, 0x6d, 0x23,
-  0xa6, 0xf6, 0xdc, 0xf4, 0xc5, 0xdc, 0xe0, 0x4b, 0x1a, 0x4a, 0xbd, 0xe9,
-  0xc6, 0x2e, 0x14, 0xe7, 0xed, 0x81, 0x48, 0x9c, 0x43, 0xab, 0x93, 0x9d,
-  0x57, 0x5a, 0x80, 0x7d, 0xf3, 0xf8, 0x13, 0xe9, 0x38, 0x9b, 0xf2, 0x25,
-  0xfe, 0x35, 0xe7, 0xf4, 0x63, 0x8e, 0xce, 0x4f, 0xde, 0x71, 0x49, 0x71,
-  0x7b, 0x16, 0x32, 0xa2, 0x5e, 0xdc, 0xe0, 0xda, 0xf5, 0xe8, 0x4f, 0xaa,
-  0x1c, 0xf0, 0xec, 0x38, 0xa2, 0x3d, 0x43, 0x7b, 0x3c, 0x97, 0x6f, 0x5d,
-  0x2c, 0xf9, 0xeb, 0x9b, 0x74, 0xcf, 0xd5, 0xf5, 0x6c, 0xb3, 0x53, 0x2a,
-  0xd7, 0xae, 0x49, 0xe7, 0x42, 0xb1, 0x1e, 0xa9, 0xc9, 0xd4, 0x29, 0xf8,
-  0x28, 0x05, 0x4e, 0xad, 0xb4, 0xe4, 0x5c, 0xbf, 0x93, 0xe9, 0xe8, 0xbb,
-  0xc2, 0xff, 0x90, 0x0c, 0x77, 0xcc, 0x07, 0xeb, 0x1d, 0x7d, 0x71, 0xf1,
-  0x71, 0x52, 0x9b, 0x1b, 0x8e, 0xd2, 0x7a, 0xff, 0x02, 0x83, 0x1c, 0xcb,
-  0x61, 0x7a, 0x3c, 0xfd, 0x39, 0x19, 0x4c, 0x66, 0x18, 0x5f, 0x82, 0x82,
-  0xdc, 0x7f, 0x31, 0x2b, 0x4f, 0x4f, 0xfc, 0x6c, 0xd7, 0xf0, 0x4d, 0x4e,
-  0xe7, 0xed, 0x53, 0x5f, 0x87, 0x7e, 0xc6, 0x06, 0x03, 0xf3, 0xdb, 0x26,
-  0x87, 0xd3, 0x5b, 0x4a, 0xba, 0x9b, 0xca, 0x3f, 0x69, 0x3c, 0xc7, 0x05,
-  0xca, 0x99, 0x62, 0xa4, 0xe9, 0x98, 0xab, 0x97, 0x7f, 0x9f, 0x1b, 0xa3,
-  0xe3, 0xa8, 0xa3, 0x5f, 0x50, 0xfe, 0x1f, 0x75, 0x10, 0x6f, 0x79, 0xbf,
-  0xd4, 0x64, 0x8e, 0xbe, 0xe4, 0x2c, 0x38, 0x68, 0x29, 0x49, 0x67, 0x5a,
-  0xba, 0x61, 0xf2, 0x35, 0xc5, 0x38, 0xab, 0xcc, 0x63, 0x7f, 0x95, 0x8b,
-  0x8f, 0xcb, 0xfe, 0xd1, 0x62, 0xa4, 0xcc, 0x3f, 0x31, 0xb4, 0x23, 0x09,
-  0x72, 0x60, 0xec, 0x98, 0xec, 0x6f, 0xda, 0x83, 0x43, 0xbf, 0x34, 0xa5,
-  0xdd, 0x0c, 0x45, 0xf3, 0x25, 0x92, 0x60, 0x28, 0x1e, 0x2f, 0x25, 0xf7,
-  0x90, 0x2f, 0xcc, 0x69, 0xa6, 0x89, 0xfd, 0xa5, 0xcf, 0xa6, 0xa2, 0x9e,
-  0x63, 0x34, 0xa5, 0x1a, 0x81, 0xdd, 0x12, 0xb8, 0xc3, 0x5d, 0xaf, 0x8f,
-  0x6e, 0x8c, 0x68, 0xce, 0x6c, 0x57, 0x47, 0xec, 0xd2, 0xd3, 0x2e, 0x8e,
-  0xe8, 0x8e, 0xd2, 0x45, 0xb0, 0xbf, 0xd4, 0xec, 0x48, 0x68, 0xa1, 0x3b,
-  0x2c, 0xbb, 0xec, 0xde, 0xe5, 0xd9, 0x6d, 0x0f, 0x81, 0x92, 0x1a, 0x47,
-  0xef, 0xdf, 0x52, 0x69, 0x13, 0x54, 0xb9, 0xbe, 0xbc, 0x38, 0x7c, 0x37,
-  0x7a, 0xc3, 0xae, 0xf1, 0xcb, 0xd2, 0x2b, 0x9f, 0x2d, 0x71, 0x05, 0x8d,
-  0x1f, 0x5b, 0x9a, 0xb8, 0x3b, 0xae, 0xb7, 0xa1, 0x78, 0x7a, 0xa9, 0xad,
-  0xdd, 0xef, 0xf2, 0xed, 0x73, 0x61, 0x6e, 0x9a, 0x0d, 0xea, 0xda, 0xd6,
-  0x68, 0xdb, 0x2a, 0x42, 0xb5, 0x5f, 0x94, 0xcd, 0x55, 0xb6, 0x57, 0x66,
-  0x68, 0x79, 0x88, 0xa6, 0xe5, 0x48, 0x3b, 0xa3, 0x3f, 0xe5, 0xbb, 0x77,
-  0x25, 0x19, 0xe9, 0x91, 0x31, 0x15, 0x07, 0x52, 0xa9, 0xc6, 0xf1, 0xb1,
-  0x39, 0x77, 0x2a, 0xdf, 0xbd, 0x42, 0xe5, 0x67, 0x1b, 0xf7, 0xf3, 0x3e,
-  0xb5, 0xe9, 0xad, 0x7f, 0xdb, 0xdb, 0x8e, 0x37, 0x7f, 0xf9, 0x4b, 0x9b,
-  0x8f, 0xf7, 0x5d, 0x6d, 0x33, 0x97, 0x52, 0xb4, 0xf5, 0x6f, 0xfb, 0xdb,
-  0x6b, 0x47, 0xe4, 0x67, 0x45, 0xba, 0x6f, 0x9a, 0x37, 0xa8, 0xb3, 0xc9,
-  0x2b, 0x3e, 0x66, 0x56, 0x67, 0xb2, 0x08, 0x1d, 0x8f, 0x6f, 0xb8, 0x45,
-  0xd8, 0x41, 0xb0, 0x6d, 0xab, 0xa9, 0xbb, 0xc0, 0x9b, 0x64, 0x97, 0x9c,
-  0xfc, 0xcf, 0x63, 0x9f, 0x46, 0xb2, 0xd8, 0x6c, 0xfc, 0x2b, 0x8a, 0xd8,
-  0x01, 0xea, 0x72, 0x88, 0x6f, 0xef, 0xaf, 0xf9, 0xb6, 0x1b, 0x9d, 0xe7,
-  0x96, 0xa0, 0x28, 0x36, 0xc1, 0xe0, 0x94, 0x0d, 0x5b, 0xbe, 0x63, 0xbf,
-  0xbd, 0xee, 0x7b, 0x97, 0x27, 0x6f, 0x8f, 0x89, 0x35, 0xfb, 0xf5, 0x09,
-  0x91, 0xcf, 0x8d, 0x84, 0xfe, 0x51, 0x3d, 0x10, 0x96, 0x91, 0xd7, 0xaf,
-  0x96, 0xc2, 0xe1, 0x5d, 0x8b, 0x36, 0xb3, 0x92, 0xc3, 0xae, 0x04, 0x7d,
-  0x5a, 0x30, 0xd0, 0xb5, 0x66, 0x5a, 0x9e, 0x5c, 0x0d, 0xde, 0x96, 0x53,
-  0x58, 0xc9, 0x83, 0x11, 0xa0, 0x82, 0xe6, 0x2d, 0xf3, 0xc3, 0xf7, 0xc5,
-  0xbc, 0xf5, 0xe3, 0x61, 0x24, 0x53, 0x77, 0x63, 0x55, 0x51, 0x9e, 0xbf,
-  0xef, 0x0c, 0x06, 0xd4, 0x99, 0x01, 0xc3, 0xba, 0x24, 0xb8, 0xd3, 0xe2,
-  0xe7, 0x50, 0xd1, 0x62, 0x26, 0x28, 0x9f, 0xdd, 0x33, 0x10, 0x21, 0x75,
-  0xf0, 0x31, 0x97, 0xbd, 0x79, 0x4d, 0x19, 0x64, 0xce, 0xc5, 0xc7, 0x4e,
-  0xbc, 0x0d, 0x9f, 0xbc, 0x14, 0x86, 0x54, 0x76, 0xe7, 0xf0, 0x4f, 0x52,
-  0xe2, 0xb9, 0x5c, 0xdc, 0x63, 0x94, 0x77, 0x2d, 0x68, 0x45, 0x34, 0xbe,
-  0xfa, 0x77, 0x7e, 0xa7, 0x55, 0x86, 0x4a, 0x38, 0xa6, 0xbd, 0x1d, 0x28,
-  0x3f, 0x91, 0xaa, 0x4d, 0x67, 0x95, 0x77, 0x5d, 0x49, 0xb7, 0xb5, 0xba,
-  0x9d, 0x47, 0x6c, 0xea, 0xf1, 0xb0, 0xb6, 0xfb, 0xe9, 0x93, 0xc0, 0x96,
-  0x94, 0xfa, 0xfa, 0xba, 0xb4, 0xc1, 0x31, 0x23, 0x76, 0x16, 0xed, 0x22,
-  0xca, 0x59, 0xa2, 0x49, 0xde, 0x9c, 0xc3, 0xbf, 0x39, 0xd8, 0x44, 0x5d,
-  0x86, 0xbc, 0x88, 0x0c, 0x66, 0xf0, 0xcb, 0x47, 0x13, 0x84, 0x5e, 0x93,
-  0xde, 0x15, 0x11, 0x61, 0x50, 0x1c, 0xab, 0xc7, 0x1d, 0x60, 0x9e, 0x18,
-  0xde, 0x5c, 0xe6, 0x82, 0x20, 0xb9, 0xa6, 0x86, 0x24, 0x1b, 0xd5, 0x16,
-  0x19, 0x6b, 0x9d, 0xe4, 0xec, 0x95, 0x24, 0x41, 0xba, 0x5c, 0x4c, 0x01,
-  0xca, 0x60, 0x38, 0xea, 0x7f, 0x10, 0x29, 0x76, 0x75, 0x9f, 0xec, 0xed,
-  0xf7, 0x93, 0xfd, 0xdd, 0xbd, 0xfd, 0xc8, 0x18, 0x7a, 0xff, 0x41, 0xa0,
-  0xa8, 0x7d, 0xfc, 0xba, 0xf7, 0xd8, 0x51, 0xb8, 0x7c, 0x06, 0xdc, 0x24,
-  0x92, 0xf9, 0x6b, 0x84, 0x0f, 0xc5, 0x67, 0x41, 0xc4, 0x8c, 0xca, 0xca,
-  0xa0, 0xb3, 0xc3, 0xb5, 0xc5, 0x4e, 0x42, 0xad, 0xb1, 0x69, 0x4b, 0x87,
-  0x4d, 0x51, 0x49, 0x87, 0x8b, 0xdb, 0x02, 0xf9, 0x62, 0x3d, 0xa5, 0x69,
-  0x85, 0x52, 0xa0, 0xed, 0x35, 0xca, 0x1b, 0x5d, 0x16, 0x82, 0xd6, 0xd0,
-  0xda, 0x98, 0xfd, 0xfe, 0xfa, 0xe4, 0xe8, 0x52, 0xf9, 0x0e, 0xaf, 0x48,
-  0x79, 0xaa, 0xee, 0x1f, 0x57, 0x8c, 0x71, 0xed, 0x33, 0xd3, 0x83, 0x9b,
-  0xcc, 0xa8, 0xd1, 0xc5, 0x78, 0x79, 0x7d, 0xf0, 0xd7, 0xb4, 0xba, 0x2e,
-  0x8b, 0x87, 0x9e, 0x9f, 0x22, 0xa1, 0xec, 0xc0, 0x48, 0xa8, 0xbd, 0x17,
-  0x7b, 0x4f, 0x90, 0xff, 0x3d, 0xcb, 0x51, 0x10, 0x88, 0x04, 0xc4, 0xe6,
-  0x7c, 0x93, 0x09, 0x36, 0x90, 0x26, 0x61, 0x59, 0x35, 0x8a, 0xe9, 0x26,
-  0x5f, 0xf7, 0xa9, 0xff, 0xec, 0x54, 0x9e, 0xe5, 0xd4, 0xf3, 0x4d, 0xc9,
-  0x55, 0xd8, 0xa4, 0x34, 0xcd, 0xe5, 0x62, 0xb3, 0x4d, 0x11, 0xff, 0xc0,
-  0x58, 0xe9, 0x13, 0xb6, 0xf6, 0xe4, 0x91, 0x25, 0xbe, 0x47, 0x06, 0x51,
-  0x95, 0xa5, 0x1f, 0x5d, 0xa9, 0x65, 0xc7, 0xbe, 0xa1, 0x21, 0x8f, 0x8b,
-  0x37, 0x47, 0xcc, 0x60, 0xaa, 0xf9, 0x52, 0x98, 0xea, 0xc4, 0xba, 0xa6,
-  0xb6, 0xa9, 0x97, 0x0f, 0x7c, 0x9f, 0x72, 0x1b, 0x0e, 0xa6, 0xe3, 0x47,
-  0x3c, 0x64, 0xce, 0x1d, 0x93, 0xc5, 0x1d, 0xb6, 0x4b, 0xef, 0x90, 0xa1,
-  0x86, 0xfa, 0x21, 0x5a, 0x57, 0x79, 0x8b, 0x6b, 0xca, 0x72, 0xc4, 0x81,
-  0xba, 0xa6, 0xd5, 0xaa, 0xd5, 0xbb, 0x63, 0xfa, 0x4d, 0x55, 0x5e, 0x5f,
-  0x1f, 0x9e, 0x7b, 0x86, 0x2e, 0x0c, 0x49, 0xe7, 0xd4, 0xa3, 0xe7, 0xc8,
-  0xd0, 0x41, 0xd9, 0x76, 0xa9, 0xc6, 0xd4, 0x77, 0x26, 0x4a, 0x03, 0x39,
-  0x49, 0xba, 0x11, 0x00, 0xf2, 0xa5, 0xdc, 0x27, 0xf0, 0x3f, 0xa1, 0x9a,
-  0xc1, 0x6c, 0x9a, 0x22, 0x10, 0x2a, 0xb7, 0x10, 0x65, 0x40, 0x9c, 0x15,
-  0x9a, 0xc5, 0xdc, 0xef, 0x94, 0x6e, 0x30, 0x3f, 0xc6, 0x77, 0x70, 0x45,
-  0x9f, 0x1b, 0x25, 0x1c, 0x34, 0x2e, 0xa3, 0xd7, 0xdf, 0x51, 0x8f, 0x25,
-  0xa8, 0x03, 0xad, 0x4d, 0x7d, 0xd9, 0x36, 0x12, 0xa5, 0x56, 0xa3, 0x3a,
-  0xaf, 0xd4, 0xb7, 0x48, 0xcd, 0xdd, 0x3e, 0x19, 0xf2, 0x9f, 0xfb, 0xb6,
-  0xbc, 0x31, 0x1e, 0x03, 0xce, 0xf3, 0x4a, 0x8b, 0x27, 0xcf, 0x33, 0xaa,
-  0xe6, 0x9b, 0xd7, 0x73, 0x07, 0x4b, 0xb9, 0x92, 0xd7, 0x5d, 0x49, 0x3d,
-  0x51, 0x22, 0x29, 0xb4, 0x80, 0x7e, 0xa0, 0xb7, 0xb9, 0xe0, 0xba, 0xcc,
-  0x2e, 0xfb, 0x94, 0x48, 0x3a, 0x8a, 0xe4, 0xdd, 0x48, 0xe5, 0x14, 0x3c,
-  0x46, 0xf9, 0xd5, 0xf7, 0xba, 0x14, 0x7c, 0xd3, 0x98, 0x65, 0x48, 0xeb,
-  0x8f, 0xe6, 0x52, 0x60, 0x28, 0x82, 0x99, 0xc7, 0x5c, 0x82, 0xf9, 0xe4,
-  0xbe, 0xca, 0x19, 0x12, 0x44, 0x8e, 0x34, 0x30, 0x3a, 0xb5, 0xb6, 0x1e,
-  0x5f, 0xa6, 0x64, 0x3b, 0xcf, 0xea, 0x8c, 0xf9, 0x17, 0x41, 0x08, 0x44,
-  0xb1, 0x3f, 0xda, 0x7a, 0xb0, 0x99, 0x14, 0x53, 0x0b, 0x71, 0x46, 0xbb,
-  0x74, 0x7f, 0xff, 0xd9, 0xb3, 0x7e, 0xd2, 0x23, 0xbf, 0x23, 0xfa, 0x44,
-  0x1b, 0xfa, 0x0d, 0x04, 0x4f, 0x2f, 0x5a, 0x61, 0x77, 0xa7, 0xba, 0x9a,
-  0xd0, 0xff, 0xd1, 0x7b, 0x5a, 0x58, 0xf2, 0x52, 0x12, 0x71, 0xa8, 0x9b,
-  0x08, 0xb2, 0x5a, 0xba, 0x1c, 0xde, 0x69, 0xf4, 0xbb, 0x13, 0xeb, 0x5a,
-  0xa2, 0x38, 0xd2, 0x22, 0x2b, 0x17, 0x1a, 0x30, 0x9e, 0x4b, 0xc9, 0x10,
-  0x7c, 0xdf, 0x8b, 0xb2, 0x21, 0xc4, 0xcf, 0x08, 0x39, 0xe1, 0x45, 0xa8,
-  0x97, 0xe3, 0x81, 0x24, 0x08, 0xb3, 0xa1, 0x99, 0x9b, 0xc3, 0x3c, 0xa7,
-  0x45, 0x10, 0x0f, 0x7e, 0x20, 0xa4, 0xbf, 0x4e, 0x7a, 0xb2, 0xdd, 0xe8,
-  0x8f, 0x21, 0xe2, 0xbd, 0xd9, 0x84, 0x86, 0x51, 0xbe, 0x92, 0x7f, 0xfc,
-  0xfb, 0xbf, 0x9b, 0x66, 0xff, 0x9d, 0x5a, 0x79, 0xf5, 0x6f, 0x75, 0x73,
-  0xe3, 0x3d, 0xd3, 0x93, 0x33, 0x70, 0xe2, 0xa2, 0xdd, 0x40, 0xb0, 0x81,
-  0x79, 0x16, 0x79, 0x6c, 0x6f, 0x4f, 0x45, 0x48, 0xf7, 0xbd, 0xf1, 0xe5,
-  0xc8, 0x30, 0x64, 0xbf, 0xa9, 0x05, 0x90, 0x7c, 0x4d, 0x91, 0xe8, 0x8c,
-  0x32, 0xd3, 0xcd, 0x22, 0x80, 0x58, 0x70, 0xdb, 0x41, 0x4a, 0x58, 0xbe,
-  0xc3, 0x37, 0xca, 0x25, 0xe7, 0x3a, 0x25, 0xb4, 0xee, 0xf4, 0xa6, 0xe0,
-  0x53, 0x8c, 0x75, 0x32, 0xbf, 0x4a, 0x67, 0xe5, 0xb5, 0x1d, 0x71, 0xac,
-  0x68, 0xcd, 0x2f, 0x1a, 0x7b, 0xcf, 0x6f, 0x48, 0xdf, 0xf4, 0xe3, 0xeb,
-  0x8f, 0x6c, 0x85, 0x70, 0x02, 0xf6, 0x68, 0x02, 0xfe, 0x1a, 0x16, 0x29,
-  0x13, 0x46, 0x62, 0x63, 0xa9, 0xa8, 0x20, 0xd9, 0xd1, 0x83, 0x6e, 0x4f,
-  0x3e, 0x41, 0x77, 0x27, 0x74, 0x04, 0x3a, 0x55, 0x73, 0x9c, 0xac, 0xb0,
-  0xca, 0x8d, 0x14, 0x44, 0x11, 0xdd, 0x24, 0x33, 0xf2, 0x2a, 0x37, 0x67,
-  0x01, 0x17, 0x20, 0x7d, 0x87, 0xe6, 0x0c, 0xa1, 0xc9, 0x8c, 0x09, 0x69,
-  0xc6, 0x5c, 0x73, 0x6c, 0x30, 0x28, 0x9a, 0xd9, 0x9c, 0xf9, 0x9b, 0xa7,
-  0xa8, 0x3f, 0xa6, 0x19, 0x1a, 0x79, 0x11, 0x92, 0x0c, 0xb6, 0xe7, 0x99,
-  0x5f, 0xfd, 0xc7, 0x66, 0xc9, 0x17, 0x7a, 0x5c, 0xd6, 0x93, 0xda, 0xd9,
-  0x71, 0xc4, 0x8d, 0x8e, 0x1c, 0x8d, 0x7c, 0xa1, 0x83, 0x42, 0x4a, 0xa2,
-  0x01, 0xda, 0x6f, 0x45, 0x93, 0xb0, 0x8f, 0xf9, 0x90, 0x55, 0xcd, 0x34,
-  0x22, 0x9e, 0x69, 0x72, 0xbe, 0x19, 0xf9, 0x9e, 0x01, 0x94, 0x5c, 0x27,
-  0x5b, 0xa3, 0xd1, 0xf9, 0xc9, 0x8e, 0x56, 0x54, 0xdb, 0xd8, 0x38, 0x7e,
-  0xf7, 0xfd, 0xc9, 0xc5, 0xd9, 0xbb, 0xb7, 0xc7, 0xef, 0x2e, 0x93, 0xef,
-  0x0f, 0x2f, 0x4e, 0x0e, 0xbf, 0x3e, 0x15, 0xf2, 0x05, 0x1a, 0x26, 0x61,
-  0xce, 0xd8, 0x14, 0xec, 0x90, 0x12, 0x7b, 0x79, 0x71, 0xd1, 0x52, 0x36,
-  0x9d, 0x2a, 0xdd, 0x1f, 0x84, 0x51, 0x1f, 0x86, 0xf1, 0x07, 0x54, 0xe5,
-  0xea, 0x93, 0x2d, 0xf4, 0x41, 0x0b, 0x74, 0x91, 0x2d, 0x7f, 0xef, 0xa5,
-  0xf3, 0x13, 0x1c, 0x8e, 0xc4, 0x99, 0x0a, 0x73, 0x57, 0x9a, 0xd2, 0xd6,
-  0x7a, 0xf9, 0x86, 0x19, 0x21, 0xb4, 0xf0, 0x8d, 0xbe, 0x0a, 0xf9, 0xc1,
-  0xba, 0x8e, 0xeb, 0xc3, 0xe1, 0xe9, 0xa9, 0xfb, 0xd4, 0xfa, 0x9a, 0x48,
-  0xc2, 0x06, 0xc6, 0xb9, 0x84, 0x68, 0x94, 0xe2, 0xd4, 0xd7, 0xa5, 0x2b,
-  0x0f, 0x50, 0xdc, 0xfb, 0x95, 0x00, 0xe8, 0x63, 0x66, 0xbb, 0x6c, 0x31,
-  0x8d, 0x0b, 0x81, 0x16, 0x9a, 0xac, 0xca, 0xeb, 0x8f, 0xfd, 0x64, 0xf3,
-  0xdf, 0x36, 0x39, 0xb1, 0x33, 0x03, 0x77, 0x35, 0x57, 0x5c, 0xda, 0x76,
-  0x9d, 0x7a, 0x77, 0xe6, 0xfa, 0x24, 0x71, 0x78, 0xdb, 0x01, 0xfb, 0xa2,
-  0x43, 0x51, 0xd4, 0xaa, 0x5e, 0x03, 0xbe, 0xec, 0x1e, 0x97, 0xb2, 0x24,
-  0x96, 0x9d, 0x42, 0xe4, 0x23, 0xc5, 0x59, 0xa3, 0xef, 0xc2, 0x89, 0x90,
-  0x4e, 0x3c, 0x8a, 0x72, 0x8c, 0xb5, 0x20, 0xcf, 0x9b, 0x2d, 0x15, 0xa7,
-  0xce, 0x69, 0x33, 0xd5, 0x53, 0x21, 0x5c, 0x4c, 0xb5, 0x65, 0x49, 0x65,
-  0x46, 0xaa, 0xb8, 0x8d, 0x40, 0x79, 0x4e, 0xc6, 0x54, 0x00, 0xed, 0x43,
-  0x33, 0xd3, 0x38, 0xf9, 0xec, 0x44, 0x6a, 0x79, 0x77, 0x11, 0x13, 0xea,
-  0xe4, 0x7e, 0x4a, 0xac, 0xa3, 0x6c, 0xfd, 0x4c, 0xd6, 0x55, 0x82, 0x50,
-  0x4c, 0xda, 0xcd, 0xb3, 0x0f, 0x16, 0x0c, 0x76, 0x67, 0xea, 0x4c, 0x02,
-  0x30, 0xe9, 0xbf, 0xde, 0x43, 0x6e, 0x12, 0xc7, 0x5a, 0x2c, 0x29, 0x22,
-  0x51, 0x0e, 0x61, 0x8e, 0x1d, 0x2e, 0x3d, 0xfb, 0xc4, 0x5c, 0x42, 0x76,
-  0x97, 0xb9, 0x9d, 0xc0, 0xd5, 0xf4, 0x04, 0x86, 0xde, 0xed, 0xb1, 0x56,
-  0xca, 0x4a, 0xb5, 0x32, 0x13, 0xe2, 0x66, 0xac, 0x72, 0x41, 0x69, 0xea,
-  0x0e, 0x07, 0x4e, 0x43, 0x06, 0x3c, 0xb7, 0x3a, 0xdd, 0x69, 0xb8, 0xa7,
-  0x78, 0x82, 0x65, 0x2d, 0x2a, 0x14, 0xee, 0x90, 0x4f, 0x3b, 0x5a, 0xeb,
-  0x0a, 0x20, 0x03, 0x4a, 0x08, 0xaa, 0x8c, 0x14, 0xad, 0x57, 0x97, 0x94,
-  0x1a, 0x22, 0x36, 0x7d, 0x71, 0x84, 0x9a, 0x0c, 0x05, 0x55, 0x65, 0x75,
-  0xb5, 0x74, 0x90, 0x3c, 0x50, 0x64, 0x4d, 0x45, 0x19, 0xb9, 0x85, 0x58,
-  0x21, 0x00, 0xe4, 0xc3, 0x48, 0x4f, 0xaf, 0x4b, 0x35, 0xc0, 0x53, 0x8b,
-  0x9a, 0xb1, 0x15, 0x07, 0x3d, 0xa3, 0xde, 0x32, 0x07, 0x5a, 0xc1, 0x05,
-  0x7c, 0x8d, 0x46, 0x08, 0x09, 0x5f, 0x4a, 0x87, 0x4c, 0x2b, 0xc8, 0xd7,
-  0x1e, 0x37, 0x83, 0x4b, 0x5f, 0x22, 0x49, 0xce, 0x59, 0x3a, 0x4a, 0xe5,
-  0x07, 0xfa, 0x44, 0xe5, 0x72, 0x00, 0xd2, 0x19, 0xdd, 0xa2, 0x07, 0xd1,
-  0xa4, 0x80, 0xd6, 0xd1, 0xa4, 0x06, 0xaf, 0x8c, 0xbc, 0x9a, 0x51, 0x06,
-  0xa9, 0xea, 0x1d, 0x69, 0x32, 0xce, 0xaf, 0x99, 0x13, 0x84, 0x08, 0x28,
-  0xe8, 0x5c, 0x82, 0xe2, 0xb1, 0x9c, 0x67, 0x74, 0x38, 0x40, 0xe0, 0x08,
-  0xe3, 0xfd, 0xa6, 0x9c, 0xf9, 0x2c, 0x83, 0x3a, 0x12, 0x59, 0x7d, 0x1b,
-  0xfb, 0x40, 0xec, 0x73, 0x49, 0xf3, 0xa8, 0x70, 0x54, 0x29, 0x4f, 0x20,
-  0xe0, 0x5c, 0x0a, 0xaa, 0x81, 0x2b, 0xb5, 0x40, 0x2a, 0xa0, 0x72, 0x29,
-  0x60, 0x1e, 0x34, 0x71, 0x81, 0x36, 0x2e, 0x1c, 0xe9, 0x54, 0xe7, 0x75,
-  0xcb, 0xd6, 0x17, 0xa0, 0x56, 0x26, 0xcc, 0xd0, 0x4c, 0x62, 0x86, 0x21,
-  0x25, 0xed, 0x82, 0x60, 0xb2, 0x58, 0xc2, 0x9d, 0x67, 0xf6, 0x04, 0x75,
-  0xda, 0xcc, 0xd4, 0x96, 0xa7, 0x66, 0x14, 0x66, 0x8b, 0xf0, 0x63, 0xec,
-  0x41, 0x92, 0x7f, 0x0d, 0x6c, 0x2d, 0x43, 0x01, 0x9e, 0x6c, 0x3b, 0xe0,
-  0x11, 0x9b, 0x01, 0x24, 0x1f, 0x26, 0x52, 0x4d, 0x16, 0x10, 0x1d, 0x2a,
-  0x85, 0x0b, 0x42, 0xb8, 0x56, 0xf0, 0x21, 0xd1, 0x84, 0xbb, 0xd9, 0xcc,
-  0x2b, 0x30, 0xc0, 0xfe, 0xc8, 0x34, 0x30, 0x3e, 0x48, 0x4e, 0x0c, 0x59,
-  0xe6, 0x32, 0xf4, 0x8f, 0xc9, 0xc8, 0xbd, 0x81, 0x48, 0x52, 0x09, 0x99,
-  0x67, 0x9d, 0x98, 0x86, 0x77, 0x85, 0x28, 0x3c, 0xc6, 0x57, 0x43, 0xa5,
-  0x9e, 0x4e, 0x9e, 0xce, 0xd9, 0x78, 0x74, 0xbb, 0x6f, 0x7e, 0xcf, 0xb0,
-  0xe3, 0x8d, 0x8d, 0xa3, 0xf7, 0xa3, 0xcb, 0xb3, 0xb7, 0xc9, 0xd9, 0xfb,
-  0xcb, 0xf3, 0xf7, 0x97, 0xa2, 0xa7, 0x8e, 0x39, 0x69, 0x83, 0xa1, 0x4b,
-  0xac, 0x3b, 0xeb, 0x62, 0xce, 0x05, 0xe0, 0x03, 0x8c, 0x59, 0x09, 0x5a,
-  0x51, 0x8f, 0x51, 0xcc, 0x26, 0x65, 0x82, 0x6b, 0x8f, 0xf9, 0xca, 0x31,
-  0xe5, 0x77, 0x66, 0xca, 0x91, 0x50, 0x0f, 0x4f, 0xbe, 0xe6, 0x78, 0xc2,
-  0xef, 0xa1, 0x67, 0xad, 0x5d, 0xab, 0xea, 0xbe, 0xed, 0xc7, 0x00, 0x3a,
-  0xa7, 0xcd, 0xe0, 0xe6, 0x97, 0xcc, 0x65, 0xe7, 0xae, 0xf3, 0xfd, 0xfa,
-  0x98, 0x6e, 0x29, 0xb8, 0xab, 0x11, 0x28, 0x85, 0xd5, 0x03, 0x6b, 0xd8,
-  0xce, 0x2c, 0xf6, 0x13, 0x9c, 0x9b, 0xd2, 0x8c, 0xf0, 0xc6, 0xa6, 0xc4,
-  0x10, 0x8c, 0x10, 0x50, 0x60, 0x46, 0x50, 0x11, 0xe6, 0x96, 0x5d, 0x06,
-  0x45, 0x76, 0x47, 0x8a, 0x4f, 0xa0, 0x53, 0xdf, 0x25, 0x9b, 0x3f, 0x64,
-  0x7e, 0x83, 0x7f, 0xfc, 0x4f, 0xca, 0xdb, 0xfe, 0xa0, 0x3f, 0xf9, 0x2f,
-  0xfe, 0xe4, 0x4f, 0xc5, 0x26, 0x04, 0x66, 0x1b, 0x2a, 0xf3, 0xdd, 0xf1,
-  0xc5, 0xd7, 0xc7, 0x17, 0x67, 0x23, 0xc8, 0x03, 0xf5, 0x77, 0x87, 0x7b,
-  0xfd, 0x63, 0x56, 0x8d, 0xb3, 0xaa, 0x94, 0x3a, 0x7a, 0xfa, 0xaf, 0x67,
-  0x3b, 0xdf, 0x8c, 0x46, 0x87, 0xe7, 0x27, 0xb6, 0x52, 0x95, 0xcd, 0x20,
-  0x65, 0x1f, 0x49, 0xc1, 0x39, 0xce, 0x34, 0x7e, 0x7d, 0xc5, 0xec, 0x8b,
-  0xc9, 0x47, 0xce, 0x2c, 0x08, 0x40, 0x29, 0x1a, 0x58, 0x23, 0x34, 0x8a,
-  0x24, 0x16, 0x53, 0xc3, 0xca, 0x04, 0xe7, 0x57, 0x9b, 0xe0, 0xb2, 0x10,
-  0x14, 0x0c, 0xec, 0x5b, 0x08, 0xee, 0xc7, 0x6a, 0x3c, 0x30, 0xbb, 0xfd,
-  0xa3, 0x16, 0x6e, 0xe7, 0x44, 0x28, 0x23, 0x2a, 0x39, 0x43, 0xc2, 0x39,
-  0x1b, 0x3f, 0xe6, 0x45, 0xde, 0xec, 0x7c, 0xa4, 0xf3, 0x41, 0x55, 0x94,
-  0x66, 0x43, 0x96, 0xee, 0x7c, 0xa0, 0x14, 0xf6, 0x4e, 0x22, 0x76, 0x1d,
-  0x3b, 0x8d, 0xf9, 0x9a, 0x2d, 0x7d, 0xca, 0x0e, 0x6f, 0xf3, 0x93, 0xa7,
-  0x96, 0xa6, 0x4f, 0x34, 0x7f, 0x20, 0x65, 0xaf, 0xcc, 0x5d, 0xb5, 0xb8,
-  0x9b, 0xca, 0x25, 0x02, 0x96, 0x7a, 0x56, 0x2e, 0x45, 0x86, 0x77, 0x23,
-  0xd4, 0x54, 0x9e, 0x15, 0x19, 0x5b, 0x92, 0x8f, 0x92, 0x8c, 0x67, 0x69,
-  0xf1, 0x11, 0xfa, 0x03, 0x34, 0x02, 0xba, 0xfb, 0x94, 0x7c, 0x8e, 0xca,
-  0xe6, 0x02, 0x90, 0x20, 0x7c, 0x30, 0x30, 0xf9, 0x66, 0x24, 0xdc, 0xee,
-  0x39, 0x98, 0x67, 0x39, 0xf6, 0xbc, 0xd0, 0x3b, 0x8e, 0x93, 0x9b, 0x04,
-  0xf2, 0x1d, 0x1f, 0x9f, 0x9a, 0x8b, 0xc9, 0x66, 0x99, 0xc1, 0x47, 0x97,
-  0xcd, 0x28, 0x16, 0xa4, 0x90, 0x40, 0x4e, 0xac, 0xce, 0x21, 0xc8, 0x58,
-  0x7a, 0x68, 0x01, 0x05, 0x04, 0x90, 0xb1, 0x5d, 0x90, 0x3f, 0x5e, 0xdb,
-  0x32, 0x43, 0x22, 0xb9, 0x59, 0x88, 0x81, 0x1d, 0xd8, 0x55, 0x1d, 0xf2,
-  0xeb, 0x5f, 0x09, 0xde, 0xf6, 0xc8, 0x01, 0x02, 0x6d, 0x41, 0x40, 0xee,
-  0x84, 0x33, 0x42, 0x2d, 0xc4, 0xa0, 0x95, 0xde, 0xb6, 0x72, 0x99, 0xf8,
-  0xf5, 0x98, 0x17, 0x90, 0x49, 0x0d, 0xa7, 0x12, 0xf0, 0xb4, 0x7c, 0x60,
-  0x9a, 0xb3, 0xd0, 0xce, 0x13, 0xd0, 0x8e, 0x33, 0x1c, 0x88, 0xa2, 0x37,
-  0xb3, 0xc6, 0x3a, 0x2a, 0x6a, 0x66, 0x58, 0x83, 0xd2, 0x35, 0x85, 0xc8,
-  0xa9, 0x5a, 0x54, 0xd5, 0x3e, 0x3c, 0x9f, 0x29, 0x6b, 0x4a, 0x6b, 0x64,
-  0xb2, 0xf5, 0x6f, 0xad, 0xd9, 0xc1, 0x3b, 0xba, 0x2e, 0xca, 0xc1, 0x78,
-  0x09, 0xc7, 0x8c, 0x57, 0xa8, 0x8f, 0x93, 0xb8, 0xcb, 0x2b, 0xd6, 0x3c,
-  0xf8, 0xf7, 0x14, 0x90, 0x06, 0x3d, 0x06, 0xc7, 0xa8, 0x91, 0x2f, 0xdd,
-  0x66, 0xda, 0xb2, 0xfc, 0x4a, 0x9c, 0x84, 0xe4, 0x2a, 0x88, 0xdb, 0x01,
-  0xca, 0x22, 0x5b, 0x27, 0x8d, 0x67, 0xd3, 0xf4, 0x3b, 0x29, 0x17, 0x8d,
-  0x2d, 0x78, 0x71, 0x09, 0x35, 0x21, 0x93, 0x32, 0x10, 0x9a, 0x4b, 0xa1,
-  0x99, 0x5b, 0xb7, 0x0d, 0x95, 0x96, 0x63, 0x6a, 0x98, 0x74, 0xc6, 0x75,
-  0x7a, 0x56, 0x5e, 0x25, 0x7c, 0x98, 0x9a, 0xcb, 0xcb, 0x3f, 0x9f, 0x1f,
-  0xbf, 0xd2, 0x37, 0xd7, 0xad, 0x19, 0x33, 0x26, 0x02, 0x34, 0x97, 0x09,
-  0x43, 0xb1, 0xe6, 0xd0, 0xb0, 0xa8, 0x18, 0x34, 0x0a, 0xe6, 0xe1, 0xcf,
-  0x0c, 0x92, 0x1f, 0x5f, 0x9f, 0x8c, 0xce, 0x4f, 0xcf, 0x8e, 0x5e, 0xbd,
-  0xfc, 0x51, 0x45, 0xf2, 0x97, 0x14, 0x23, 0x64, 0x3d, 0xcd, 0xfe, 0xcc,
-  0x31, 0xba, 0xc8, 0x7b, 0xef, 0x8e, 0x7f, 0xf8, 0x60, 0xec, 0xb1, 0x57,
-  0x54, 0xd7, 0xa1, 0x7f, 0x9b, 0xce, 0xe4, 0x25, 0xd2, 0x4f, 0x23, 0xba,
-  0xdd, 0xb0, 0x4d, 0xc1, 0xd9, 0x9d, 0x58, 0x5b, 0x9f, 0xd8, 0x25, 0x2a,
-  0xdd, 0x2b, 0x8e, 0xd6, 0x2b, 0x45, 0x97, 0xb6, 0xf2, 0xea, 0x23, 0xd5,
-  0xc4, 0xdd, 0xf5, 0xbf, 0xd9, 0x30, 0xa8, 0x9a, 0x30, 0x44, 0x3e, 0x34,
-  0x07, 0xc0, 0x75, 0xf9, 0x8d, 0x03, 0xf4, 0x0b, 0x7f, 0x7a, 0x45, 0x7e,
-  0x34, 0x4b, 0x40, 0x2b, 0x25, 0xea, 0x01, 0x7a, 0x11, 0x96, 0x5a, 0xa1,
-  0x5e, 0x23, 0x0c, 0xbd, 0xa6, 0xd3, 0xa8, 0x1c, 0x13, 0x15, 0xc6, 0xf6,
-  0x25, 0xd5, 0x62, 0xd9, 0xa8, 0xc8, 0x75, 0x7e, 0x7c, 0x31, 0x3a, 0x19,
-  0x5d, 0x92, 0xe1, 0x2a, 0x95, 0x5b, 0x25, 0x08, 0xa5, 0x65, 0x75, 0x41,
-  0xda, 0xd2, 0x26, 0x1c, 0xf6, 0xab, 0x05, 0xb5, 0x4e, 0xb4, 0x15, 0x73,
-  0xed, 0x2c, 0x6e, 0xba, 0x01, 0x38, 0x35, 0x9c, 0x14, 0x51, 0xa6, 0xcd,
-  0x4e, 0xaf, 0xf4, 0x00, 0x97, 0xb2, 0x35, 0x3a, 0x45, 0x73, 0x50, 0xf0,
-  0x0a, 0xab, 0x33, 0xcb, 0xc7, 0xce, 0x99, 0xd9, 0xc1, 0x90, 0x10, 0x3c,
-  0x49, 0x28, 0x7a, 0xfc, 0x23, 0xa4, 0x01, 0x31, 0x47, 0x8d, 0x20, 0xc5,
-  0xbc, 0xe5, 0x5a, 0x93, 0xb4, 0x66, 0x3f, 0x81, 0xdd, 0xba, 0xa5, 0x60,
-  0xb4, 0xa8, 0x9e, 0x66, 0x7f, 0xea, 0xa1, 0xd0, 0x85, 0xf5, 0x0d, 0x84,
-  0xd5, 0x22, 0xb2, 0x49, 0x28, 0xe7, 0x9c, 0x8a, 0x4a, 0xfe, 0x49, 0xa3,
-  0xb5, 0x80, 0x5a, 0x03, 0x40, 0x41, 0x19, 0x59, 0xa0, 0x82, 0x88, 0xea,
-  0x78, 0x4d, 0x39, 0xac, 0xa0, 0xd6, 0x9b, 0x92, 0xbe, 0x05, 0x17, 0xbc,
-  0xff, 0x31, 0xbd, 0x4e, 0x69, 0x06, 0xc7, 0x4b, 0xbf, 0x14, 0xa4, 0xed,
-  0x3d, 0x57, 0x25, 0xc2, 0xc4, 0x03, 0x22, 0x9d, 0x56, 0xf0, 0x64, 0x34,
-  0x52, 0x2a, 0x42, 0x0d, 0x1f, 0xc1, 0x3b, 0x0f, 0xdb, 0x2c, 0x5e, 0xba,
-  0x2f, 0xd5, 0x08, 0x5b, 0x37, 0xa3, 0x5e, 0xed, 0x58, 0xda, 0xbe, 0x55,
-  0xa6, 0xc0, 0x45, 0x76, 0x2a, 0xd6, 0x14, 0x71, 0x2c, 0x26, 0xf6, 0x32,
-  0xa6, 0xac, 0x43, 0x02, 0x18, 0x54, 0xc2, 0x90, 0x66, 0xc4, 0x1f, 0x85,
-  0x96, 0x50, 0x70, 0x16, 0x95, 0xd8, 0x29, 0xec, 0xae, 0xec, 0x99, 0x2e,
-  0x8f, 0x83, 0xa7, 0xdb, 0xdb, 0x56, 0x1c, 0x5f, 0xbb, 0x97, 0x0f, 0x5a,
-  0x86, 0x0c, 0x5d, 0xac, 0x3e, 0x27, 0x5c, 0xa6, 0xc8, 0xef, 0xd3, 0xc0,
-  0x8e, 0x97, 0x27, 0x5e, 0x4b, 0xf6, 0xbd, 0xc5, 0xa7, 0x40, 0xe0, 0xb5,
-  0xaa, 0x6e, 0xd3, 0xe8, 0x5a, 0xd8, 0x00, 0xa3, 0x5f, 0x2e, 0x50, 0x42,
-  0x6d, 0x22, 0x35, 0x24, 0x80, 0xda, 0xb7, 0x0d, 0xea, 0x25, 0xe2, 0x26,
-  0xcb, 0xcc, 0xea, 0xdb, 0xf7, 0xa7, 0x97, 0x27, 0xe7, 0x3e, 0xfe, 0x20,
-  0xf9, 0xe1, 0xe4, 0xf2, 0x5b, 0xa3, 0xb5, 0x8f, 0x4e, 0xde, 0x7d, 0x73,
-  0x4a, 0x41, 0xde, 0xb7, 0x6f, 0x0f, 0xdf, 0x11, 0xbd, 0xc8, 0x3b, 0x40,
-  0x9b, 0x0f, 0x61, 0x38, 0x90, 0x38, 0x32, 0x53, 0x4c, 0x7b, 0x87, 0x88,
-  0x27, 0xfa, 0x61, 0xac, 0xb1, 0x73, 0xfc, 0xb8, 0xaa, 0x7a, 0xd1, 0x9e,
-  0x24, 0x5a, 0x71, 0xb1, 0x0c, 0xee, 0xc9, 0x8d, 0x8b, 0x63, 0x4b, 0xc6,
-  0x16, 0x4d, 0x74, 0xb7, 0x78, 0x04, 0x92, 0x9c, 0x59, 0x43, 0x07, 0x8e,
-  0x86, 0xef, 0x6e, 0x17, 0xbf, 0xc4, 0x8a, 0x5a, 0xea, 0x69, 0xd8, 0x31,
-  0x46, 0x67, 0x2a, 0xc4, 0xae, 0xe1, 0xfb, 0xb2, 0x9d, 0x74, 0x64, 0xbe,
-  0x88, 0x2e, 0x01, 0x48, 0x54, 0x3a, 0x47, 0x3a, 0x59, 0x9c, 0x64, 0x34,
-  0x5f, 0x9c, 0xfa, 0x17, 0xea, 0xb0, 0x55, 0x73, 0x50, 0xf1, 0xc1, 0xd7,
-  0x65, 0xe6, 0x4e, 0xee, 0xe0, 0x4c, 0x9b, 0xd1, 0xf8, 0x0f, 0xcc, 0x30,
-  0xbe, 0x5c, 0x06, 0x24, 0xd7, 0x06, 0x66, 0x49, 0xb6, 0x6d, 0x9d, 0x31,
-  0x31, 0xfb, 0x0f, 0x58, 0xad, 0xb4, 0xe4, 0xea, 0x5a, 0x9e, 0xd3, 0x34,
-  0xa7, 0x2d, 0x0b, 0x16, 0x0d, 0x09, 0x19, 0x92, 0xd7, 0x28, 0x63, 0x86,
-  0xb4, 0xd4, 0xc7, 0x5a, 0xb4, 0x0c, 0x7c, 0xdf, 0x9d, 0x69, 0x70, 0x52,
-  0xf3, 0x5a, 0x6d, 0xe1, 0x47, 0x07, 0x9d, 0x40, 0x69, 0x45, 0xb8, 0x2b,
-  0x32, 0x42, 0x39, 0xd0, 0x5f, 0xff, 0xba, 0xb8, 0xf6, 0x53, 0x5e, 0xb9,
-  0xb0, 0xfc, 0x22, 0xb6, 0xb2, 0xc2, 0xe4, 0xce, 0x6a, 0x91, 0x14, 0xb3,
-  0x6c, 0xf5, 0x40, 0x2a, 0x54, 0xee, 0xad, 0xfa, 0xa0, 0xfc, 0x7e, 0x3f,
-  0xfc, 0xfd, 0x3e, 0x07, 0x19, 0x4e, 0xce, 0x6f, 0x9f, 0x5b, 0x06, 0x64,
-  0x26, 0x72, 0xf0, 0xd5, 0x37, 0x55, 0x0a, 0x68, 0x87, 0xd1, 0xa3, 0xe2,
-  0x32, 0x67, 0x99, 0xc8, 0xc1, 0x3f, 0x82, 0x90, 0x2e, 0x2b, 0x24, 0xa8,
-  0xe3, 0x11, 0x44, 0x57, 0x18, 0xf7, 0x0f, 0xcf, 0x13, 0xe4, 0x14, 0x5d,
-  0x57, 0xa6, 0x41, 0xf3, 0xfb, 0xa7, 0x36, 0x19, 0xc7, 0xc9, 0x34, 0x14,
-  0x69, 0x94, 0x74, 0xc8, 0x41, 0xbe, 0xb8, 0xd5, 0x2a, 0xdf, 0xe6, 0xaf,
-  0xcf, 0x6d, 0x81, 0xae, 0xba, 0x15, 0xa4, 0x6e, 0xb1, 0x8d, 0xab, 0xf0,
-  0x47, 0xe7, 0xe0, 0x03, 0x23, 0xc9, 0xe0, 0x8c, 0x8c, 0x4e, 0xbf, 0xb2,
-  0x76, 0x46, 0x86, 0x57, 0xa6, 0x18, 0x59, 0x5f, 0x33, 0xa4, 0xc6, 0x43,
-  0x1e, 0x79, 0xc2, 0xc5, 0xaf, 0xf4, 0x21, 0xab, 0xfe, 0x97, 0xfd, 0xdd,
-  0xdd, 0xbd, 0x83, 0xbd, 0xcf, 0x5f, 0xec, 0x1e, 0xec, 0xed, 0xed, 0xed,
-  0x1f, 0xec, 0x1d, 0x1c, 0xec, 0xef, 0xfe, 0xbc, 0x43, 0xfe, 0xa3, 0xdb,
-  0x3c, 0xbb, 0xd3, 0xc8, 0x34, 0xfb, 0xf9, 0xb0, 0xad, 0xeb, 0xe6, 0x9e,
-  0xc1, 0x00, 0xec, 0xe9, 0xc3, 0xbe, 0x56, 0xcd, 0xc7, 0xd2, 0xca, 0x70,
-  0xce, 0x0c, 0x53, 0x48, 0x2e, 0x5c, 0xaa, 0x39, 0xce, 0xa0, 0x47, 0x73,
-  0x8f, 0x5e, 0xfd, 0x6d, 0x49, 0x23, 0x1d, 0x93, 0x3a, 0x00, 0x9d, 0xa6,
-  0xb6, 0x89, 0xbd, 0xd7, 0xb3, 0x72, 0x3c, 0x46, 0xea, 0x92, 0xcd, 0x6d,
-  0x1f, 0x26, 0xc4, 0xa5, 0xfc, 0x91, 0xb7, 0x84, 0x84, 0x0e, 0x81, 0x2a,
-  0xe6, 0x83, 0xee, 0x66, 0xc7, 0x79, 0xf6, 0xcc, 0x0e, 0x98, 0x94, 0x54,
-  0x57, 0x04, 0x9e, 0x6e, 0x33, 0x49, 0x95, 0xcd, 0x79, 0x4b, 0xae, 0xb2,
-  0xcf, 0x77, 0x0f, 0x0e, 0xa8, 0xf4, 0xcf, 0x1f, 0xf7, 0xfa, 0x02, 0x08,
-  0xf7, 0xb3, 0x5c, 0xfa, 0xf6, 0x7a, 0xe2, 0x36, 0xc8, 0xfc, 0xf0, 0xc7,
-  0x59, 0x2c, 0xe7, 0x59, 0x65, 0x0c, 0x11, 0x2a, 0x1e, 0x0d, 0x44, 0x34,
-  0x3c, 0x86, 0xcc, 0xb1, 0x08, 0x46, 0xa6, 0x4e, 0x36, 0x0e, 0xdd, 0x08,
-  0xcc, 0x15, 0x6d, 0x59, 0x28, 0x98, 0x2f, 0xcc, 0x0d, 0xd1, 0xb6, 0x8d,
-  0xf2, 0x57, 0x00, 0x6b, 0x72, 0x2e, 0x1b, 0x67, 0xf1, 0xf1, 0x7d, 0x2b,
-  0x92, 0x01, 0x87, 0xab, 0xe0, 0x92, 0xc6, 0xf4, 0x38, 0xeb, 0xf0, 0xf0,
-  0x98, 0x78, 0xca, 0xad, 0x24, 0xf0, 0xfd, 0xc5, 0x1b, 0xec, 0xfe, 0xb3,
-  0xbd, 0x9f, 0x19, 0xaf, 0x4c, 0x07, 0xc2, 0xcd, 0x9a, 0x06, 0x5f, 0xfc,
-  0x14, 0x2d, 0xdd, 0x48, 0x5b, 0xd9, 0xf0, 0x7a, 0xa8, 0x5a, 0x85, 0x78,
-  0x1b, 0xfb, 0x7e, 0xd6, 0x08, 0xd7, 0x29, 0xe0, 0x42, 0xe5, 0xb0, 0xd3,
-  0xd4, 0xa1, 0xe4, 0xbb, 0x6a, 0x75, 0x60, 0xb6, 0x1c, 0xdd, 0xdb, 0xe3,
-  0xcb, 0x43, 0x73, 0x79, 0x7c, 0x17, 0x1a, 0xfa, 0x6f, 0x33, 0x63, 0x95,
-  0xd3, 0x62, 0x6f, 0xe1, 0x3c, 0xdc, 0x5a, 0x76, 0x70, 0x9a, 0xbb, 0xa7,
-  0xc9, 0x16, 0x85, 0x28, 0x9f, 0x7d, 0xfe, 0xec, 0xe9, 0x36, 0x97, 0x62,
-  0xe1, 0xd7, 0x32, 0x4a, 0x10, 0x83, 0x57, 0x52, 0xd8, 0xa9, 0xc8, 0x81,
-  0x6f, 0x45, 0xd2, 0xfb, 0x8b, 0x13, 0x3e, 0xd2, 0x37, 0x4c, 0x22, 0xc2,
-  0x46, 0x6f, 0x97, 0x4d, 0x12, 0xf7, 0xad, 0xa7, 0x64, 0xcc, 0x73, 0x62,
-  0x3a, 0x05, 0xf9, 0x02, 0x5d, 0x8c, 0x96, 0xfc, 0x03, 0x37, 0xac, 0x39,
-  0xa0, 0x25, 0x0a, 0x94, 0x4a, 0xdd, 0x37, 0x74, 0x06, 0xd4, 0xa8, 0xc4,
-  0xcc, 0x2c, 0xfb, 0xcc, 0x5a, 0x60, 0x64, 0x07, 0xb1, 0x3c, 0x62, 0xe9,
-  0xdf, 0x61, 0xe3, 0xdf, 0x66, 0xc8, 0x0f, 0x94, 0x42, 0xda, 0x86, 0xe6,
-  0x41, 0xc5, 0x8e, 0x53, 0x8f, 0x5b, 0xe9, 0xa8, 0x4e, 0xdb, 0xf4, 0x48,
-  0xdd, 0x94, 0xcf, 0x49, 0x44, 0x91, 0x9d, 0x42, 0xc6, 0xb3, 0x34, 0xf0,
-  0x2c, 0xe6, 0x2d, 0x97, 0x8f, 0x90, 0x69, 0x80, 0xd4, 0x02, 0x39, 0x07,
-  0x73, 0x73, 0x1d, 0x55, 0xf7, 0xa2, 0x61, 0xc3, 0x4c, 0xb0, 0xf5, 0x14,
-  0x3b, 0x88, 0x20, 0xa6, 0x8d, 0xf1, 0x53, 0x69, 0x2c, 0x6b, 0x92, 0x1a,
-  0xcd, 0xad, 0x0e, 0xb4, 0xc4, 0xfe, 0x60, 0xae, 0xbf, 0xf2, 0x00, 0x73,
-  0x7e, 0x7e, 0xa9, 0xfe, 0x5d, 0x9f, 0xf3, 0xb0, 0xd4, 0x69, 0x77, 0x60,
-  0x2b, 0xba, 0xc6, 0x8c, 0xba, 0xc0, 0x4f, 0x5a, 0xeb, 0x67, 0x0b, 0x3d,
-  0xd9, 0xd9, 0xd9, 0x5e, 0xd1, 0x1b, 0xf9, 0x75, 0xec, 0xeb, 0xe7, 0x20,
-  0x25, 0xf2, 0x52, 0xba, 0xcd, 0x9a, 0xb7, 0x1b, 0xa7, 0xa9, 0xcd, 0x6b,
-  0x5a, 0xc9, 0xa9, 0x00, 0xe3, 0xd9, 0x8d, 0xaa, 0xe6, 0x15, 0x77, 0x5e,
-  0x85, 0x57, 0x7b, 0x10, 0x82, 0xc5, 0x53, 0x92, 0x38, 0xae, 0x2a, 0xcf,
-  0xa8, 0x80, 0x61, 0x72, 0x48, 0xbb, 0xa1, 0xf5, 0x61, 0xaf, 0xcb, 0xea,
-  0xcf, 0xd5, 0xba, 0x07, 0xaa, 0xc4, 0x5a, 0x77, 0x5e, 0xdf, 0xfb, 0xa5,
-  0xaa, 0x79, 0xca, 0x09, 0x62, 0x9d, 0xbd, 0xe3, 0x8c, 0xf9, 0x8f, 0xac,
-  0xe4, 0xf4, 0xf8, 0xcc, 0xf3, 0xa2, 0x55, 0x28, 0x58, 0x1a, 0x01, 0xd2,
-  0xc5, 0x0e, 0x02, 0x54, 0xa9, 0x95, 0x52, 0x70, 0xfb, 0xc5, 0x43, 0x41,
-  0x41, 0x22, 0x59, 0x2d, 0xac, 0x58, 0xdb, 0x4d, 0xcc, 0x20, 0x85, 0x31,
-  0x6f, 0xaf, 0xd6, 0x7c, 0xf4, 0x79, 0xc7, 0x33, 0x8a, 0xc9, 0x42, 0x2a,
-  0x48, 0x60, 0x1c, 0x9e, 0x9c, 0x12, 0x2c, 0xf6, 0xd4, 0x98, 0x78, 0x23,
-  0x55, 0x95, 0x00, 0x13, 0x07, 0x60, 0xb7, 0xc8, 0x49, 0x5d, 0xef, 0xdb,
-  0x82, 0x43, 0x9a, 0x2d, 0x09, 0xbb, 0x85, 0x42, 0xac, 0x6c, 0xfa, 0x0b,
-  0x49, 0xa8, 0x59, 0x2d, 0xa3, 0x2f, 0xd5, 0xec, 0xb4, 0x05, 0x01, 0x37,
-  0x95, 0xa6, 0xb8, 0xcd, 0x66, 0xe5, 0x02, 0x26, 0x35, 0x8b, 0x69, 0xd4,
-  0x3b, 0xab, 0xb2, 0x59, 0x76, 0x2b, 0xde, 0x55, 0xa6, 0x33, 0xfe, 0x46,
-  0x10, 0x0b, 0x5c, 0xf0, 0xb8, 0x91, 0xac, 0x96, 0x00, 0x15, 0x41, 0x1f,
-  0xdd, 0x61, 0x56, 0x28, 0x47, 0xf6, 0x43, 0xdf, 0x77, 0x45, 0x38, 0xcc,
-  0x0c, 0xd9, 0x22, 0x0e, 0x03, 0x32, 0x72, 0x05, 0xdc, 0xfe, 0xbe, 0x16,
-  0x3e, 0x97, 0x6e, 0xb6, 0x08, 0x3b, 0x0b, 0xb5, 0x66, 0x26, 0x7b, 0xdf,
-  0xfb, 0x4a, 0x93, 0xce, 0x21, 0x03, 0xba, 0x79, 0xfa, 0xe4, 0xa9, 0x45,
-  0x4b, 0x57, 0xc6, 0x22, 0xa3, 0x82, 0x38, 0x7d, 0x4e, 0x1d, 0xc7, 0xe6,
-  0x28, 0x67, 0xe6, 0x9f, 0x00, 0x54, 0x32, 0xc4, 0xda, 0x3c, 0x4b, 0xf1,
-  0x66, 0x0f, 0xd3, 0x4e, 0x98, 0x1b, 0xa4, 0x43, 0xc9, 0xbf, 0xd0, 0x54,
-  0xb5, 0x04, 0x9b, 0x78, 0x9f, 0x6f, 0x43, 0x8a, 0xf3, 0x36, 0x93, 0xa1,
-  0xed, 0xbd, 0xa0, 0x7e, 0xb8, 0xff, 0xaf, 0x79, 0x2a, 0x69, 0x10, 0xac,
-  0x87, 0x94, 0x95, 0x4e, 0x2f, 0x2f, 0xc3, 0x98, 0x4b, 0x9c, 0x7e, 0xbd,
-  0xa4, 0xf8, 0xa3, 0x2d, 0xe0, 0x45, 0xbd, 0x98, 0xd3, 0x5d, 0x94, 0x71,
-  0x35, 0x61, 0xdb, 0x38, 0x99, 0x74, 0x4b, 0xb3, 0xbc, 0xdc, 0xfa, 0x69,
-  0x79, 0x47, 0xa5, 0x90, 0xaf, 0xae, 0xf2, 0x09, 0xc5, 0xfe, 0x1d, 0x6b,
-  0x38, 0xc9, 0x78, 0x7e, 0x70, 0xae, 0xd5, 0xd7, 0xcc, 0xd8, 0x92, 0xc5,
-  0x72, 0x3c, 0x33, 0x97, 0xb5, 0xe6, 0xb3, 0x98, 0x53, 0x85, 0x59, 0x32,
-  0xd6, 0x16, 0x9a, 0x63, 0x7a, 0x43, 0x18, 0x9c, 0x9d, 0x1c, 0x0a, 0x84,
-  0x4b, 0x2b, 0xa8, 0xe0, 0x73, 0xd4, 0x84, 0xa6, 0x44, 0x83, 0x79, 0x59,
-  0x68, 0x3a, 0xdc, 0xb2, 0x66, 0x3a, 0x59, 0x44, 0x73, 0xb8, 0x4a, 0x56,
-  0x82, 0x27, 0xa5, 0x68, 0x83, 0x98, 0xe6, 0x78, 0xc3, 0x1f, 0xcc, 0x74,
-  0xb0, 0xb8, 0x59, 0xe8, 0x4a, 0xab, 0x42, 0xc4, 0xda, 0x92, 0x24, 0x60,
-  0xe1, 0xe8, 0x9d, 0x7f, 0x7b, 0x3e, 0x4c, 0x8e, 0xa9, 0x25, 0xee, 0x93,
-  0x28, 0xba, 0xf0, 0xd1, 0x98, 0xdf, 0x99, 0xc1, 0x5e, 0xd3, 0x05, 0x76,
-  0x56, 0xd1, 0xbf, 0xd0, 0x9a, 0xfc, 0x92, 0xdd, 0xb2, 0xf8, 0x6d, 0xfb,
-  0xab, 0xa6, 0x21, 0x4d, 0xb3, 0x38, 0xc7, 0xdf, 0xcd, 0x59, 0x31, 0xea,
-  0x97, 0x5d, 0x26, 0xf7, 0x85, 0xb2, 0x6a, 0x91, 0x6f, 0xf1, 0x9b, 0x89,
-  0xd1, 0xca, 0xa0, 0x5b, 0x2d, 0xee, 0xb1, 0x7e, 0x9e, 0x70, 0x64, 0xfd,
-  0x93, 0x1b, 0xf0, 0xb6, 0x96, 0x6c, 0x3f, 0x0b, 0xe0, 0xe5, 0x83, 0x55,
-  0x31, 0xed, 0x54, 0x95, 0x09, 0xdc, 0xb9, 0x94, 0xc0, 0x34, 0x7b, 0x34,
-  0xea, 0xac, 0x73, 0x5e, 0x3d, 0xfb, 0x4d, 0x7f, 0x41, 0x66, 0x37, 0xf5,
-  0xc5, 0x68, 0x2d, 0x66, 0x09, 0x86, 0x1b, 0xff, 0x5f, 0x59, 0x1d, 0xb8,
-  0x57, 0x8a, 0xfa, 0x02, 0x00,
+  0xad, 0x56, 0xca, 0xf9, 0xce, 0xee, 0x6d, 0xad, 0x2e, 0xf8, 0xa2, 0x88,
+  0x66, 0x9e, 0xef, 0xad, 0x99, 0x24, 0xec, 0x6d, 0xfe, 0x79, 0x93, 0xe1,
+  0xfc, 0x9b, 0x2f, 0x37, 0x21, 0xc1, 0x48, 0x2e, 0xcd, 0xc7, 0x19, 0xd2,
+  0xca, 0xe4, 0x72, 0xda, 0xe4, 0x5b, 0x71, 0xc0, 0xba, 0x83, 0x70, 0x51,
+  0xba, 0x03, 0x82, 0x6b, 0xd9, 0x59, 0x7c, 0x3e, 0xce, 0x11, 0x16, 0x3d,
+  0xca, 0xbd, 0xa0, 0x57, 0xc4, 0x08, 0x3d, 0x6e, 0x18, 0xd3, 0x22, 0x97,
+  0x2e, 0xd4, 0x32, 0x70, 0xa0, 0x10, 0x2d, 0x90, 0x78, 0x24, 0x97, 0xc5,
+  0x82, 0xb2, 0xde, 0x27, 0x0d, 0x1c, 0x23, 0x7c, 0x96, 0x86, 0xc9, 0xfb,
+  0x62, 0xca, 0x25, 0xee, 0xc9, 0xae, 0xcd, 0xab, 0xc9, 0x72, 0x4e, 0x5e,
+  0x85, 0x09, 0xf9, 0xb2, 0x70, 0xf1, 0xb0, 0x7a, 0xd0, 0x8a, 0xa4, 0xfb,
+  0x1d, 0x66, 0x3f, 0x06, 0xfb, 0xb6, 0xe5, 0xbb, 0x40, 0x8d, 0x10, 0x56,
+  0x4a, 0x7c, 0xd7, 0xd0, 0x0a, 0x2c, 0x17, 0x8a, 0x08, 0x20, 0x0a, 0xe2,
+  0x1d, 0xbf, 0x39, 0xbe, 0xb8, 0x38, 0xbe, 0xa0, 0xf9, 0x3e, 0xec, 0x14,
+  0x45, 0x53, 0x2e, 0x6a, 0x17, 0x15, 0x54, 0x84, 0xae, 0xef, 0x54, 0xd1,
+  0x04, 0x22, 0x12, 0x85, 0xc2, 0x88, 0x0a, 0x0b, 0x82, 0xd9, 0x7f, 0xb8,
+  0xea, 0x84, 0xef, 0x09, 0x04, 0x42, 0xdb, 0x7a, 0xf8, 0x81, 0x58, 0x82,
+  0xaf, 0xb0, 0xa5, 0x5b, 0xb8, 0x16, 0x2a, 0x29, 0x44, 0xb0, 0xd4, 0x64,
+  0xfb, 0x9b, 0xac, 0xa5, 0xa6, 0x0e, 0x05, 0x54, 0x9b, 0x49, 0xdc, 0x7b,
+  0x66, 0x5d, 0x09, 0x18, 0xf2, 0x15, 0x9d, 0x51, 0xb2, 0x9d, 0x30, 0x19,
+  0x75, 0xb3, 0x5c, 0xe4, 0x53, 0xeb, 0x98, 0x35, 0x3f, 0x37, 0xea, 0x5f,
+  0xc2, 0xa7, 0xbc, 0x56, 0x58, 0x0a, 0x02, 0x90, 0xea, 0x37, 0xf0, 0x1d,
+  0x63, 0x9d, 0x92, 0xe1, 0x09, 0x72, 0xd4, 0x18, 0xdf, 0xa5, 0xfc, 0xf2,
+  0xed, 0xac, 0x71, 0xd9, 0xfb, 0x19, 0x1c, 0x82, 0x24, 0x2d, 0x14, 0x29,
+  0xe3, 0x4b, 0x06, 0x72, 0x3b, 0xcd, 0x1d, 0x34, 0xdd, 0x95, 0x18, 0xbe,
+  0x40, 0xb2, 0x68, 0x75, 0x90, 0xfc, 0x58, 0xe7, 0x93, 0x9f, 0xdd, 0xe5,
+  0x81, 0x4c, 0x9d, 0x36, 0x3d, 0x15, 0xa6, 0x4e, 0x26, 0x4a, 0x8c, 0x61,
+  0x4e, 0xd2, 0x7e, 0x3f, 0x3a, 0xbe, 0x48, 0x0e, 0xbf, 0x26, 0x62, 0xf5,
+  0x7f, 0x70, 0x81, 0xe9, 0x39, 0xb9, 0x1d, 0x36, 0x84, 0x6e, 0x51, 0x18,
+  0x4b, 0x32, 0xf5, 0x5a, 0x4b, 0x85, 0xc2, 0xa3, 0x36, 0x16, 0x8d, 0x7b,
+  0xe5, 0xae, 0xfb, 0xf6, 0x1a, 0x92, 0x67, 0xef, 0x81, 0x55, 0x7c, 0xcc,
+  0x1a, 0xd2, 0x21, 0xf3, 0x57, 0x91, 0xb9, 0x8e, 0x38, 0x7a, 0xa0, 0x6b,
+  0x23, 0xbd, 0xaf, 0x03, 0xb3, 0x93, 0x57, 0xe9, 0x30, 0xd9, 0x7c, 0x5b,
+  0xfe, 0xdd, 0x28, 0x03, 0xe9, 0xce, 0x93, 0xe1, 0x6e, 0xb2, 0xf5, 0x7d,
+  0x5e, 0xbc, 0x78, 0xf6, 0x45, 0x72, 0xb2, 0xbd, 0xd9, 0xc2, 0xdd, 0x73,
+  0x65, 0x97, 0x71, 0x5a, 0x7c, 0xb4, 0x4b, 0x76, 0x86, 0x93, 0xcd, 0xf8,
+  0x37, 0x71, 0x3e, 0xd4, 0x5c, 0x55, 0x61, 0x65, 0x8b, 0x48, 0xe9, 0x14,
+  0x08, 0x7f, 0xf2, 0x9d, 0x64, 0x26, 0x3f, 0x81, 0x95, 0x6f, 0x9e, 0x9a,
+  0xd2, 0xd4, 0xbd, 0x78, 0x16, 0x34, 0xf1, 0xd4, 0xb6, 0xf1, 0x9e, 0xdb,
+  0xf8, 0x85, 0x4d, 0xec, 0x0f, 0x77, 0xf7, 0x93, 0xad, 0xb3, 0xd1, 0xce,
+  0xbe, 0x6d, 0x21, 0x6c, 0x62, 0x1f, 0x4d, 0xd0, 0x43, 0xed, 0x97, 0x9f,
+  0xd2, 0xf7, 0x7f, 0xcc, 0x8a, 0x9f, 0x93, 0xad, 0x1f, 0xf6, 0xf6, 0x4c,
+  0x03, 0x5f, 0x24, 0x87, 0x27, 0x3f, 0x24, 0x4f, 0x87, 0xa6, 0xb1, 0x77,
+  0xe9, 0xad, 0x34, 0x27, 0xe4, 0xd0, 0x23, 0x34, 0x62, 0x7e, 0x1f, 0xb4,
+  0xf1, 0xac, 0xd3, 0xc6, 0xa9, 0xb1, 0x0b, 0x3f, 0x99, 0x6b, 0x65, 0x77,
+  0xf8, 0x64, 0x3f, 0xc9, 0x9f, 0x7d, 0xfe, 0x5c, 0x1b, 0x92, 0x36, 0xf0,
+  0xfb, 0xb6, 0x63, 0x91, 0x89, 0x50, 0x8c, 0xaa, 0x73, 0xfc, 0xc9, 0x08,
+  0x34, 0x88, 0x88, 0x8a, 0x9c, 0x7a, 0x37, 0x69, 0x35, 0x95, 0xed, 0x46,
+  0x25, 0x5f, 0xcc, 0x4a, 0x09, 0x33, 0x7f, 0x06, 0x0f, 0xa3, 0xb9, 0x38,
+  0x0f, 0x82, 0xee, 0x90, 0x6d, 0xaa, 0x8f, 0x7e, 0x91, 0xbc, 0x1d, 0x9d,
+  0x1c, 0x9b, 0x11, 0xed, 0x9a, 0xae, 0xb9, 0x39, 0xe4, 0x0e, 0xe1, 0x57,
+  0x98, 0xdc, 0x17, 0x20, 0x9f, 0x95, 0x36, 0x54, 0xe7, 0x66, 0xcc, 0xa9,
+  0xd9, 0x74, 0xe6, 0xe2, 0xae, 0xf1, 0x5d, 0x42, 0x8f, 0x0c, 0x0e, 0xaf,
+  0xc9, 0x84, 0xe0, 0xab, 0x16, 0x9f, 0xfe, 0xb6, 0x2c, 0xcc, 0x31, 0xa9,
+  0xca, 0x8a, 0x40, 0x4e, 0x9b, 0x2d, 0x6d, 0xe1, 0xdb, 0xd7, 0xc7, 0x9c,
+  0x2c, 0xff, 0x36, 0x2d, 0x8c, 0x8c, 0x24, 0xce, 0xab, 0xfa, 0x23, 0x85,
+  0xea, 0x39, 0xf2, 0xc2, 0xef, 0x9f, 0xde, 0x17, 0x9f, 0xcc, 0x3a, 0x7e,
+  0x36, 0xdc, 0x23, 0x74, 0x35, 0x59, 0xbd, 0x6f, 0xde, 0x9a, 0x7f, 0xef,
+  0x3d, 0xdd, 0x4c, 0xe8, 0x57, 0x6d, 0x0b, 0x5e, 0xcf, 0xeb, 0xc6, 0xd1,
+  0xd9, 0xd9, 0xb7, 0x27, 0x8c, 0xd5, 0x38, 0x12, 0x0f, 0x28, 0x29, 0x57,
+  0xd6, 0x2a, 0x66, 0xe9, 0x6a, 0xac, 0x37, 0x97, 0x58, 0x84, 0xb8, 0xd9,
+  0xc7, 0x2c, 0x5b, 0x20, 0xbd, 0xb7, 0x23, 0x11, 0x1a, 0x91, 0xd1, 0x16,
+  0x86, 0x44, 0xea, 0x4f, 0x87, 0x9a, 0xb3, 0xa9, 0xad, 0xb7, 0x75, 0x7c,
+  0x6f, 0x09, 0x39, 0x52, 0x57, 0x00, 0x18, 0x5d, 0xb4, 0x89, 0x05, 0xea,
+  0x2d, 0xc6, 0x0a, 0x53, 0x71, 0x21, 0xb1, 0x7d, 0x37, 0x47, 0x46, 0xbb,
+  0xe7, 0x4e, 0x1f, 0x88, 0x83, 0x75, 0xd3, 0xe3, 0xea, 0x87, 0x46, 0x8b,
+  0xcc, 0x1a, 0x46, 0x93, 0x91, 0x81, 0x20, 0x18, 0x77, 0x91, 0xcd, 0xa8,
+  0xcf, 0x9e, 0x01, 0x49, 0xf7, 0xee, 0xf0, 0xed, 0xf1, 0xab, 0xef, 0x0e,
+  0x4f, 0xdf, 0x1f, 0x9b, 0x57, 0x72, 0xf3, 0xb1, 0x2d, 0x87, 0xb6, 0x43,
+  0x1f, 0xe7, 0xf9, 0xa4, 0x9c, 0x51, 0x40, 0x68, 0xf3, 0x8b, 0xcd, 0x0d,
+  0x46, 0x82, 0x27, 0x3d, 0x7a, 0x6b, 0x8f, 0x5f, 0x33, 0xfb, 0x82, 0xfe,
+  0xb5, 0xcf, 0xff, 0xda, 0xff, 0xa2, 0xb7, 0xdd, 0x1a, 0x74, 0x60, 0x25,
+  0x5f, 0xa1, 0x04, 0x28, 0x4a, 0x37, 0xa2, 0xda, 0x35, 0xd2, 0x2c, 0x78,
+  0x56, 0x7a, 0x1a, 0x4e, 0xd1, 0xbb, 0x8d, 0x9e, 0xdd, 0x1a, 0xdf, 0xfb,
+  0x36, 0x78, 0x8f, 0x5e, 0x7a, 0x05, 0x05, 0xa3, 0xb7, 0xdd, 0xb7, 0x2a,
+  0x07, 0xa2, 0xda, 0xd4, 0x86, 0x36, 0xc1, 0x24, 0x91, 0xc9, 0x56, 0x8f,
+  0xff, 0xf2, 0xea, 0xf5, 0xe1, 0xe5, 0x31, 0xbd, 0xa0, 0x9f, 0x17, 0xe0,
+  0xa0, 0xcd, 0x78, 0xa0, 0xfe, 0x6c, 0x49, 0x14, 0xf9, 0x15, 0x0d, 0xa8,
+  0xb7, 0xcd, 0x61, 0x07, 0xc4, 0xbf, 0x3b, 0xfd, 0x2a, 0x0b, 0xc5, 0x58,
+  0xbb, 0x04, 0xf4, 0x5a, 0xc1, 0x25, 0x5b, 0x3d, 0xfe, 0x5d, 0x6f, 0x5b,
+  0x3d, 0xb8, 0x52, 0x72, 0x46, 0x22, 0x8b, 0x53, 0xe4, 0x43, 0x04, 0x49,
+  0xb0, 0x8c, 0x1e, 0x73, 0xeb, 0x23, 0x71, 0x05, 0xf6, 0x38, 0x79, 0xc5,
+  0x0b, 0xec, 0xc2, 0x4b, 0x86, 0x3b, 0xf9, 0x98, 0xca, 0x72, 0x6f, 0xff,
+  0xc9, 0x17, 0x98, 0xcf, 0x57, 0xbd, 0x1d, 0x73, 0x37, 0xf4, 0xbe, 0xa0,
+  0x4f, 0xe7, 0x8d, 0x57, 0x82, 0x4f, 0x3e, 0x43, 0xf6, 0x94, 0xec, 0x28,
+  0x46, 0xb6, 0xd0, 0xaa, 0x7b, 0xc4, 0x3d, 0x98, 0xd0, 0x3b, 0x4e, 0xe8,
+  0x52, 0x9a, 0x1b, 0x8d, 0xf3, 0x63, 0xbd, 0x50, 0x3b, 0x0c, 0x65, 0x51,
+  0xd8, 0xa9, 0x8b, 0xcf, 0xf9, 0xf7, 0x47, 0x9f, 0xdf, 0xe5, 0x31, 0x0a,
+  0x35, 0x10, 0x7d, 0x73, 0x7e, 0xaf, 0x39, 0x5f, 0xf8, 0x16, 0x74, 0x72,
+  0x5e, 0xb3, 0x40, 0x33, 0x1e, 0x8b, 0x6f, 0x47, 0x8d, 0x11, 0xe8, 0x04,
+  0x46, 0xb4, 0xdc, 0x43, 0x51, 0x02, 0x30, 0xc0, 0xc7, 0x43, 0xe8, 0x9d,
+  0x9d, 0x8e, 0x73, 0xa3, 0x09, 0xdb, 0x2c, 0x16, 0xcf, 0x2a, 0xb7, 0x53,
+  0xaf, 0xc7, 0x2f, 0xf7, 0x38, 0x97, 0x36, 0x2c, 0x55, 0x69, 0x6d, 0x7d,
+  0x48, 0x08, 0x0c, 0xca, 0xb3, 0xed, 0x75, 0xea, 0xa4, 0x8e, 0x61, 0x18,
+  0x6c, 0xd2, 0xb3, 0x7d, 0x6c, 0x44, 0x4d, 0x91, 0x55, 0x6b, 0xb1, 0x10,
+  0x91, 0xb8, 0x11, 0x86, 0xe8, 0x97, 0x02, 0x30, 0xef, 0x0c, 0x87, 0x43,
+  0x6b, 0xee, 0x20, 0xe6, 0x25, 0xe1, 0x22, 0x62, 0xb3, 0xf3, 0x69, 0x82,
+  0x31, 0xc7, 0x5b, 0x50, 0xe6, 0xa1, 0x50, 0x6f, 0x0b, 0x46, 0x46, 0xfc,
+  0x04, 0xf6, 0x68, 0x78, 0x3e, 0x8e, 0x4d, 0xf9, 0xec, 0xa6, 0xd2, 0x31,
+  0x7c, 0x8c, 0x2d, 0xc2, 0x9a, 0xbe, 0xb1, 0xef, 0x51, 0x8a, 0x11, 0x59,
+  0x39, 0x55, 0xda, 0xb9, 0xa0, 0x1d, 0x4c, 0x58, 0x6f, 0xae, 0x99, 0x87,
+  0x25, 0xe1, 0x49, 0x93, 0xae, 0xf4, 0x19, 0x26, 0x40, 0x42, 0xae, 0xbc,
+  0x03, 0xf5, 0x00, 0x08, 0x0e, 0x08, 0x26, 0x52, 0xb0, 0x7b, 0x40, 0x6f,
+  0x90, 0x85, 0x55, 0x9b, 0xa5, 0x1d, 0xa1, 0x8c, 0x26, 0x9b, 0x19, 0xba,
+  0xbf, 0x24, 0x24, 0x0a, 0xd1, 0x4c, 0xad, 0xf9, 0x36, 0x46, 0x6d, 0x2b,
+  0x41, 0xaa, 0xa0, 0x83, 0x77, 0xee, 0x2a, 0x02, 0x86, 0x0d, 0x98, 0xaa,
+  0x45, 0x73, 0x06, 0x55, 0x7a, 0x08, 0x5d, 0xc7, 0xba, 0xd0, 0xf6, 0x44,
+  0x5b, 0xb4, 0x71, 0xed, 0xce, 0xdc, 0xb8, 0x5b, 0xb9, 0x2d, 0xba, 0xcc,
+  0x8c, 0xb2, 0x77, 0x99, 0x49, 0x31, 0x9c, 0xdc, 0x4b, 0xd2, 0x3b, 0x73,
+  0xf5, 0x14, 0x19, 0x41, 0x29, 0x01, 0x4a, 0x80, 0x57, 0xe6, 0xd4, 0xf3,
+  0x33, 0xda, 0x11, 0x6a, 0xa5, 0xaa, 0xd4, 0xd5, 0xaa, 0x4a, 0xb6, 0xd8,
+  0xd0, 0x60, 0xb6, 0x64, 0x75, 0xe8, 0x91, 0x02, 0x5e, 0xce, 0x89, 0xb4,
+  0x54, 0x34, 0x75, 0x35, 0xcf, 0xa9, 0xe7, 0x46, 0x44, 0x8f, 0x64, 0xdf,
+  0xe4, 0x80, 0x10, 0x92, 0x9f, 0x83, 0x21, 0x10, 0x3a, 0x5b, 0xa8, 0xd8,
+  0x62, 0x3f, 0x62, 0x43, 0xc9, 0xe2, 0x7e, 0x22, 0x24, 0x6e, 0x31, 0x00,
+  0xbd, 0x84, 0x46, 0x6f, 0xc5, 0xbc, 0xba, 0xbe, 0x66, 0xab, 0x2d, 0xe9,
+  0x0e, 0x2d, 0xbe, 0xc9, 0x4e, 0x69, 0x56, 0x08, 0xb0, 0x7c, 0xbf, 0x6a,
+  0x36, 0x2f, 0x6d, 0x3d, 0x43, 0xf1, 0xba, 0xb4, 0x36, 0xb3, 0x86, 0x0f,
+  0x79, 0xdd, 0x1a, 0x9b, 0x1f, 0x85, 0x5c, 0x8a, 0x76, 0xb8, 0xf7, 0xec,
+  0x62, 0x03, 0x05, 0x10, 0x0a, 0xc7, 0x9d, 0xa0, 0x8b, 0x0e, 0xde, 0x3d,
+  0x07, 0x16, 0x71, 0xa0, 0xd1, 0x3b, 0x8b, 0x8a, 0xc2, 0x76, 0x4d, 0xc6,
+  0xa9, 0x33, 0xb9, 0x36, 0x92, 0x96, 0xb7, 0x97, 0x2a, 0xe0, 0x9d, 0x14,
+  0x22, 0x87, 0xca, 0xdb, 0xcc, 0xd1, 0x3e, 0x3a, 0x87, 0xa3, 0xe3, 0x02,
+  0x96, 0xd3, 0x6f, 0x85, 0x49, 0x27, 0x16, 0x6b, 0xe5, 0x15, 0x06, 0xd9,
+  0x99, 0x95, 0x61, 0xe2, 0x35, 0xc9, 0xae, 0x92, 0xb2, 0x45, 0xa9, 0x8c,
+  0xbe, 0x49, 0x88, 0x59, 0x5b, 0xe4, 0x3d, 0xc2, 0xe4, 0x2d, 0x9e, 0x69,
+  0xc2, 0x35, 0x9c, 0xb4, 0x8e, 0x83, 0x85, 0xd3, 0xb9, 0x50, 0xad, 0x8e,
+  0xb2, 0x67, 0x17, 0xa9, 0x87, 0x8c, 0xcc, 0xb1, 0x6c, 0x02, 0xec, 0x01,
+  0x52, 0xe8, 0x6c, 0xb4, 0xfd, 0x52, 0xd6, 0x09, 0x3b, 0x19, 0x1e, 0xb4,
+  0x8e, 0x20, 0x0d, 0xce, 0x9c, 0x45, 0x53, 0x20, 0x65, 0xc4, 0x48, 0x5e,
+  0x40, 0x00, 0x06, 0xe3, 0x0d, 0x4e, 0x0d, 0x1a, 0x4c, 0x54, 0xa2, 0xaf,
+  0xe7, 0x16, 0x18, 0xb7, 0x0e, 0xe6, 0x43, 0xe7, 0xf4, 0xfc, 0xe2, 0xec,
+  0xeb, 0x8b, 0xe3, 0xd1, 0x28, 0x79, 0x7b, 0x7c, 0xc9, 0xb6, 0xfe, 0x25,
+  0xa3, 0xe4, 0xae, 0x51, 0xc0, 0x1b, 0xb1, 0x06, 0xe5, 0x66, 0x52, 0x74,
+  0x88, 0x3a, 0x12, 0x90, 0x9e, 0x44, 0xb5, 0xa9, 0x71, 0x3b, 0xb2, 0x11,
+  0x3f, 0x13, 0x70, 0xdd, 0x0d, 0xbc, 0xfd, 0x80, 0x1f, 0x21, 0x20, 0x69,
+  0x9d, 0xe7, 0xce, 0x8d, 0x0a, 0xc5, 0x98, 0x01, 0x49, 0x36, 0x3d, 0xd0,
+  0xb9, 0xd0, 0xe9, 0xca, 0x36, 0x7f, 0x62, 0x78, 0x7f, 0x34, 0xb3, 0x29,
+  0xd5, 0xf8, 0xfe, 0x68, 0x8c, 0x5f, 0xd9, 0x14, 0x7f, 0x4c, 0x7e, 0x30,
+  0x6d, 0x4e, 0x8d, 0xf1, 0x2a, 0xa5, 0x87, 0x47, 0xa8, 0x39, 0xec, 0xa8,
+  0x97, 0x73, 0xaf, 0xa6, 0x76, 0xc2, 0xd9, 0x80, 0xd5, 0x03, 0xe5, 0x3e,
+  0x41, 0xeb, 0xc2, 0x55, 0x8d, 0x05, 0xfe, 0x66, 0xbf, 0x2c, 0x25, 0xdf,
+  0x92, 0xe4, 0x34, 0xbb, 0x42, 0xc1, 0x70, 0x7c, 0xce, 0x34, 0xb7, 0x4b,
+  0x1c, 0xd5, 0x7b, 0x6f, 0xe9, 0x47, 0xbb, 0xc9, 0x93, 0xcf, 0x9f, 0xef,
+  0x7e, 0xce, 0x7f, 0xd5, 0xff, 0xbe, 0x78, 0xba, 0x2b, 0x64, 0xf9, 0xe6,
+  0x5f, 0x4f, 0x0f, 0x9e, 0xee, 0x1d, 0x10, 0x6d, 0xe3, 0xee, 0xc1, 0xae,
+  0xf9, 0xff, 0x4f, 0xe5, 0x27, 0xc4, 0x4d, 0xf9, 0x62, 0xff, 0xf3, 0xcf,
+  0x00, 0x5c, 0xa1, 0xfd, 0x31, 0x33, 0x1f, 0x19, 0x34, 0xe5, 0x00, 0xec,
+  0x51, 0xd0, 0x7c, 0xfe, 0xd8, 0xf6, 0x44, 0x12, 0xbe, 0x9f, 0x8a, 0x91,
+  0xd3, 0xc0, 0x6d, 0x29, 0x56, 0xf5, 0xaa, 0x32, 0xdb, 0x8c, 0x5f, 0x40,
+  0xd2, 0x0e, 0x43, 0xde, 0xe6, 0x7a, 0x86, 0xa0, 0x63, 0x6b, 0xbd, 0xc3,
+  0x98, 0x70, 0x8f, 0xf9, 0xed, 0x97, 0x7e, 0x5a, 0x73, 0xbe, 0x37, 0xc0,
+  0xe7, 0x26, 0x4b, 0x25, 0xef, 0x4d, 0xb4, 0x6a, 0x9e, 0x5f, 0xdf, 0xbb,
+  0x53, 0x14, 0xfb, 0x97, 0x7e, 0x8f, 0x3d, 0x57, 0xf4, 0x96, 0xec, 0x86,
+  0x24, 0xfc, 0x9a, 0x4d, 0x1b, 0x88, 0x7c, 0xab, 0xb5, 0x79, 0x36, 0xdc,
+  0xf2, 0xbb, 0x99, 0xf2, 0x8a, 0x5b, 0xdb, 0x74, 0x2b, 0x2e, 0x6f, 0x1d,
+  0x19, 0x72, 0xd0, 0xdc, 0xfb, 0x85, 0xdf, 0xde, 0x63, 0x9a, 0x73, 0x23,
+  0xc2, 0x0e, 0xb6, 0x2b, 0x37, 0xf0, 0x16, 0x27, 0x67, 0x0c, 0x9a, 0xad,
+  0x5f, 0xaa, 0x7c, 0xa1, 0xb6, 0xb4, 0x34, 0x5e, 0xb5, 0x5b, 0x76, 0xc0,
+  0x6f, 0x88, 0xce, 0x69, 0x53, 0xd8, 0x50, 0x36, 0x16, 0x57, 0x3c, 0x3f,
+  0xaf, 0x3b, 0x3b, 0xf8, 0x14, 0xed, 0x46, 0xef, 0x7b, 0xf2, 0x0d, 0x9c,
+  0x27, 0x7b, 0xe8, 0xd6, 0x0e, 0xcd, 0xc1, 0xe0, 0xb5, 0x74, 0x26, 0x43,
+  0xae, 0xa0, 0x7c, 0xc7, 0x8e, 0xa4, 0x7b, 0x0e, 0x48, 0x73, 0xdb, 0x9c,
+  0x7f, 0xfb, 0xcc, 0x40, 0x0b, 0xce, 0xd5, 0x4f, 0x88, 0x84, 0x94, 0x4a,
+  0x3b, 0x6c, 0xab, 0x08, 0x1b, 0xfc, 0xc1, 0x22, 0xac, 0x70, 0x99, 0x31,
+  0x02, 0x8d, 0x9a, 0xa2, 0xf9, 0x9c, 0xf9, 0x69, 0xaf, 0x56, 0xda, 0x8d,
+  0xd3, 0xaa, 0x55, 0x42, 0x61, 0x83, 0x4b, 0x86, 0x98, 0xeb, 0xd5, 0x5c,
+  0x17, 0xc8, 0x4c, 0x64, 0x3d, 0xe2, 0x5f, 0x36, 0x36, 0x46, 0xe7, 0xc7,
+  0xc7, 0xaf, 0x93, 0xd3, 0x93, 0xb7, 0x27, 0x97, 0x9e, 0x16, 0x6e, 0x6f,
+  0x0f, 0xf5, 0xb4, 0x6a, 0x09, 0xbf, 0xce, 0x74, 0x38, 0x26, 0x66, 0xfe,
+  0x9e, 0xde, 0xdf, 0xf3, 0x4c, 0x12, 0x1e, 0x66, 0xdd, 0xf7, 0x60, 0x6f,
+  0x83, 0x84, 0x89, 0x4a, 0xa1, 0x7b, 0x5a, 0x5c, 0x6d, 0x34, 0x1a, 0xd3,
+  0xbb, 0x01, 0x13, 0x01, 0x0c, 0xfe, 0x22, 0x38, 0x8d, 0xb6, 0xba, 0x24,
+  0xa4, 0xb2, 0x36, 0xfb, 0x46, 0x60, 0xa8, 0x9d, 0x5e, 0xd1, 0xdc, 0x66,
+  0x8c, 0x82, 0xf6, 0xdc, 0x72, 0x40, 0xd8, 0xdd, 0x65, 0x20, 0x26, 0x98,
+  0xe7, 0x9c, 0x16, 0xe9, 0xc3, 0x7f, 0x51, 0xd9, 0x44, 0x6e, 0x3c, 0xc8,
+  0x71, 0xff, 0x8b, 0xde, 0xe9, 0xb0, 0xd8, 0x57, 0xfd, 0x56, 0xcd, 0x65,
+  0x11, 0xcd, 0x04, 0x14, 0xc9, 0x93, 0x5d, 0x9b, 0x59, 0xb0, 0x80, 0xcc,
+  0x11, 0xfd, 0x9e, 0x3e, 0xb6, 0x97, 0x18, 0x25, 0x64, 0x49, 0xaa, 0x7c,
+  0xb5, 0x2c, 0x82, 0xeb, 0xee, 0x2f, 0xfc, 0xae, 0x19, 0xff, 0xf3, 0x5d,
+  0x5c, 0x6f, 0x57, 0x69, 0x35, 0x30, 0xea, 0xd6, 0xfd, 0x40, 0x5d, 0xaa,
+  0xbc, 0x23, 0x04, 0x1a, 0xcc, 0xfe, 0x9e, 0xcc, 0x95, 0x1b, 0xed, 0xa8,
+  0x88, 0x2e, 0x3d, 0xa4, 0x44, 0x5c, 0x72, 0x26, 0x07, 0x80, 0x86, 0x4e,
+  0x49, 0xb9, 0xea, 0xe1, 0x74, 0x0a, 0x8e, 0x23, 0x1c, 0xd6, 0x55, 0x74,
+  0x32, 0x8a, 0x92, 0x05, 0x20, 0x56, 0xa9, 0xd5, 0x9c, 0x86, 0x29, 0x63,
+  0x09, 0xf5, 0xe9, 0x79, 0xb2, 0xf7, 0x39, 0x8d, 0xe3, 0x71, 0xe3, 0x79,
+  0x53, 0x56, 0x13, 0x9b, 0xfe, 0x0b, 0x1b, 0xc1, 0xcb, 0x05, 0xe5, 0x0c,
+  0x06, 0x94, 0xbe, 0xe3, 0xd9, 0x55, 0xfc, 0x2a, 0xf0, 0x75, 0x64, 0x94,
+  0x48, 0x3c, 0x1d, 0xee, 0x28, 0x04, 0xb8, 0x59, 0x2d, 0xa2, 0xbb, 0x46,
+  0xe6, 0x85, 0x1c, 0xac, 0x8c, 0xaf, 0xdb, 0xac, 0x6c, 0xae, 0x28, 0x4f,
+  0x03, 0xb9, 0x44, 0xcc, 0x5e, 0xbb, 0xcb, 0xa7, 0x50, 0xa5, 0x1d, 0xf5,
+  0x9c, 0x59, 0x2f, 0xde, 0x7c, 0x0c, 0x6b, 0x46, 0xcc, 0x12, 0xc1, 0x4e,
+  0xdb, 0x33, 0x51, 0x60, 0x68, 0x5a, 0x4b, 0x78, 0x14, 0xb6, 0xa0, 0x3f,
+  0x50, 0x2a, 0xb2, 0x8b, 0x0b, 0x90, 0xfd, 0x44, 0xa2, 0xb9, 0xe7, 0xbe,
+  0x42, 0xb0, 0xfe, 0xa6, 0x99, 0xa9, 0x33, 0xe1, 0xad, 0xdd, 0xd8, 0xed,
+  0x31, 0x13, 0xa9, 0x8a, 0x37, 0xec, 0xbd, 0x5d, 0xa3, 0xb4, 0xce, 0x4a,
+  0xbb, 0xad, 0x64, 0x53, 0x85, 0x96, 0x28, 0x86, 0x35, 0xc0, 0xec, 0xec,
+  0xed, 0x7e, 0xbb, 0x7a, 0xd6, 0x41, 0xa9, 0xbf, 0xf6, 0xe5, 0xfd, 0xa7,
+  0x6b, 0x16, 0xed, 0xac, 0x82, 0x31, 0x9e, 0x29, 0x5c, 0x11, 0x8a, 0xa0,
+  0x8b, 0xbc, 0x04, 0xcb, 0x66, 0x36, 0x7e, 0x76, 0x9d, 0xa2, 0x02, 0xf3,
+  0x9a, 0xde, 0x6b, 0xfa, 0x46, 0xa7, 0x2b, 0x6f, 0x05, 0x40, 0xcd, 0xbf,
+  0xac, 0xc9, 0x2d, 0xb6, 0x00, 0x29, 0x9e, 0xb3, 0x5d, 0x6d, 0xe6, 0x37,
+  0xd3, 0x28, 0x78, 0x6f, 0xb3, 0xe4, 0xec, 0xb7, 0x85, 0x84, 0xee, 0x9e,
+  0x2a, 0xbb, 0x5e, 0x32, 0x69, 0x45, 0xc9, 0xb6, 0x3e, 0xf1, 0x54, 0xcb,
+  0x79, 0x35, 0xb2, 0x99, 0xe0, 0x43, 0xbc, 0x9f, 0x20, 0x78, 0x27, 0xa9,
+  0xaa, 0xac, 0x52, 0x42, 0xb9, 0x73, 0x31, 0x90, 0x53, 0x76, 0x52, 0xce,
+  0xa5, 0x08, 0x2b, 0x1f, 0xaf, 0xc2, 0xcb, 0xc1, 0x67, 0x22, 0xc6, 0x21,
+  0x92, 0x72, 0x79, 0xa3, 0x58, 0x61, 0x4f, 0x19, 0x60, 0x14, 0x0d, 0x6b,
+  0x38, 0x2c, 0x80, 0x06, 0xfa, 0xb2, 0x6b, 0xd1, 0x92, 0xfd, 0x14, 0x49,
+  0xfc, 0x5a, 0x09, 0x31, 0x99, 0x38, 0x9f, 0x9c, 0xfd, 0x47, 0x67, 0xef,
+  0xde, 0x9c, 0x7c, 0x6d, 0x59, 0x87, 0x58, 0x88, 0xb7, 0xd8, 0x30, 0xd8,
+  0x7d, 0xec, 0x47, 0xba, 0xa5, 0xb6, 0xad, 0x00, 0x65, 0x8d, 0x78, 0xfa,
+  0xe0, 0xff, 0x00, 0x02, 0xa4, 0x78, 0x42, 0x0e, 0x72, 0xa6, 0xea, 0xa8,
+  0xb7, 0x9d, 0xbb, 0xa1, 0xc3, 0x2a, 0xc7, 0x09, 0x15, 0x69, 0xd5, 0x2c,
+  0x17, 0x16, 0x44, 0xe8, 0xd5, 0xc6, 0x15, 0x5a, 0x6d, 0xcd, 0x1a, 0x5f,
+  0x2e, 0x58, 0x34, 0x49, 0xee, 0x67, 0xcb, 0x9b, 0xcb, 0x77, 0x00, 0xb9,
+  0x13, 0x84, 0xf6, 0x44, 0x2e, 0x80, 0x00, 0x97, 0x33, 0x23, 0x32, 0x4e,
+  0x1f, 0xda, 0xae, 0xf1, 0x9b, 0x69, 0x5a, 0xdf, 0xf0, 0x40, 0x71, 0x69,
+  0xe4, 0x8c, 0xa8, 0x46, 0xac, 0x2d, 0x9d, 0x92, 0xa1, 0xee, 0xc0, 0x38,
+  0x16, 0xa8, 0xeb, 0xe2, 0x43, 0x75, 0xa2, 0x09, 0x0a, 0x16, 0x9f, 0xa4,
+  0x19, 0xa7, 0x29, 0x42, 0x95, 0x88, 0x75, 0xe2, 0x27, 0xaf, 0x28, 0x2c,
+  0x73, 0x40, 0xf4, 0xf2, 0x73, 0xe6, 0x7e, 0xf3, 0x33, 0x45, 0x45, 0x4a,
+  0x3a, 0x12, 0xf8, 0x93, 0x2b, 0x2f, 0xf9, 0x8c, 0x71, 0x82, 0xba, 0xe9,
+  0xd8, 0x47, 0x4c, 0x0e, 0x96, 0xcd, 0x3f, 0x6c, 0x0e, 0xea, 0xfb, 0xf9,
+  0xb8, 0x9c, 0x69, 0x8e, 0x84, 0xe5, 0x7a, 0xd0, 0x87, 0x5a, 0xa5, 0xef,
+  0x38, 0x52, 0xdb, 0x78, 0x6e, 0x49, 0x87, 0x95, 0x72, 0xfd, 0xe7, 0xda,
+  0x46, 0x08, 0x0f, 0xe9, 0x28, 0x40, 0xc3, 0x43, 0x32, 0x9e, 0xeb, 0x31,
+  0x4a, 0x25, 0x16, 0xb3, 0xfd, 0x30, 0x53, 0xed, 0xa1, 0x53, 0xc4, 0xaf,
+  0x5c, 0x92, 0x87, 0x03, 0xe5, 0x44, 0x8c, 0xba, 0xd3, 0x13, 0xf2, 0x0b,
+  0x0c, 0x90, 0xde, 0xe6, 0x5f, 0x08, 0x80, 0xde, 0xa3, 0xa2, 0xe1, 0xfa,
+  0x23, 0xa6, 0xab, 0x3f, 0xb1, 0x43, 0x91, 0xe3, 0x7e, 0x7f, 0xd1, 0x8f,
+  0xeb, 0xa3, 0x9d, 0xa9, 0x37, 0xfb, 0x29, 0xad, 0xae, 0x85, 0x50, 0x4f,
+  0x22, 0x69, 0x30, 0x12, 0x6d, 0x95, 0x1b, 0xeb, 0x98, 0x24, 0xa5, 0xc4,
+  0xa2, 0x66, 0xa0, 0x3e, 0x2d, 0x39, 0xfd, 0x4f, 0x92, 0xa3, 0xd8, 0x25,
+  0x69, 0x37, 0xa2, 0x27, 0x71, 0xfe, 0x60, 0xb1, 0x28, 0xa9, 0xbb, 0xcb,
+  0xb4, 0x58, 0x85, 0xf3, 0xcf, 0xca, 0x65, 0xe6, 0xbd, 0x46, 0x4e, 0x3c,
+  0x58, 0xc2, 0x99, 0x38, 0x4e, 0xf8, 0x53, 0xd0, 0x25, 0x88, 0x82, 0x46,
+  0xca, 0x78, 0xba, 0x26, 0xf8, 0xf7, 0xaf, 0xa4, 0x6c, 0x99, 0x39, 0xcf,
+  0x42, 0x6a, 0x22, 0x4c, 0x7f, 0x9f, 0xef, 0x8a, 0xfb, 0xad, 0x11, 0xb8,
+  0x6a, 0x9d, 0x1c, 0x5e, 0x1c, 0x1b, 0xcd, 0xf6, 0xba, 0x00, 0x9d, 0x44,
+  0xd1, 0x68, 0xfe, 0x5b, 0x56, 0x48, 0x9d, 0xb4, 0x42, 0xcf, 0x07, 0x7d,
+  0xf0, 0xce, 0x7b, 0x93, 0x36, 0x93, 0x00, 0x03, 0x38, 0xd5, 0xda, 0x6d,
+  0xb9, 0x89, 0xd2, 0x04, 0x43, 0xea, 0x10, 0xa3, 0x01, 0x6f, 0x29, 0x0a,
+  0x91, 0x98, 0x4f, 0x95, 0x4a, 0x11, 0x7c, 0x1e, 0x88, 0x75, 0x9f, 0x1b,
+  0x58, 0xe7, 0x1a, 0xa7, 0xda, 0x65, 0x0d, 0xfc, 0x4d, 0x39, 0x34, 0xe5,
+  0x5b, 0xad, 0xb0, 0xa7, 0xdb, 0x4e, 0xfd, 0xb8, 0xcb, 0xe8, 0x6f, 0xb8,
+  0x67, 0x48, 0x17, 0xe9, 0xea, 0x05, 0x99, 0x05, 0xc3, 0xb3, 0xf7, 0x7a,
+  0xea, 0x29, 0xbf, 0x9c, 0xad, 0x77, 0x93, 0xcd, 0x16, 0xec, 0x98, 0x16,
+  0xd2, 0x1e, 0xf1, 0xeb, 0xb0, 0x39, 0x30, 0x95, 0xb3, 0x4a, 0xbb, 0x82,
+  0xe0, 0xc2, 0x63, 0x22, 0x36, 0xfa, 0xc8, 0x0a, 0x80, 0x2f, 0x9f, 0xa2,
+  0xbe, 0xdd, 0x3f, 0xd8, 0xd1, 0xba, 0x3e, 0x6c, 0x78, 0xe5, 0xed, 0xcd,
+  0x92, 0x2a, 0x11, 0x1d, 0xf5, 0x62, 0x48, 0x1f, 0x82, 0x48, 0x45, 0xcc,
+  0x94, 0xfe, 0x82, 0x1f, 0x03, 0xf5, 0xa6, 0xcc, 0xa4, 0x90, 0x3a, 0x96,
+  0xed, 0xaa, 0x94, 0x98, 0xaa, 0xeb, 0x08, 0x07, 0xf6, 0x20, 0xa1, 0xc7,
+  0xbe, 0x6a, 0x3c, 0xf8, 0x76, 0x47, 0xcb, 0x8a, 0x93, 0xff, 0x86, 0x72,
+  0x7d, 0xf5, 0xc0, 0xd7, 0x59, 0xab, 0x0e, 0xb9, 0x4d, 0xea, 0xe9, 0x0d,
+  0x7a, 0x66, 0x2e, 0x36, 0x67, 0x33, 0x27, 0xf0, 0xf5, 0x31, 0x5a, 0x55,
+  0xe4, 0xbf, 0x39, 0x85, 0x49, 0x64, 0x17, 0xd5, 0xd8, 0xb8, 0x6f, 0x65,
+  0x23, 0x50, 0xd5, 0x3a, 0x4a, 0xd6, 0xb1, 0x1c, 0x5c, 0xc8, 0xe8, 0x00,
+  0x48, 0xe0, 0x36, 0xaf, 0x35, 0xf8, 0x68, 0xf6, 0xf6, 0x84, 0x31, 0x11,
+  0x0d, 0x73, 0x07, 0x64, 0xcd, 0xc4, 0x9b, 0xca, 0x6c, 0x72, 0x53, 0x32,
+  0xa6, 0xd6, 0x4c, 0x9a, 0x97, 0x94, 0xd9, 0x4b, 0xfe, 0x97, 0xec, 0x81,
+  0x6f, 0x5d, 0x7e, 0x1d, 0x6d, 0x84, 0x21, 0x53, 0x46, 0x0e, 0xdd, 0x86,
+  0x38, 0xfe, 0xe1, 0xf2, 0xe2, 0x30, 0xf9, 0xe6, 0xf8, 0xf0, 0xf5, 0xf1,
+  0xc5, 0xa8, 0x73, 0xe9, 0x0b, 0xfc, 0x83, 0x35, 0x34, 0x72, 0x02, 0x43,
+  0x35, 0x56, 0x8e, 0x00, 0xd8, 0x44, 0xe9, 0x5c, 0xa5, 0x9e, 0xd9, 0x3c,
+  0x74, 0x90, 0xcc, 0xf9, 0x20, 0x83, 0x88, 0xa3, 0x05, 0xe0, 0x33, 0xae,
+  0x21, 0x6c, 0x6c, 0x1b, 0x13, 0x23, 0xa1, 0x08, 0xc4, 0xa0, 0x2e, 0x73,
+  0x3f, 0xb9, 0xc5, 0xd1, 0xea, 0xb9, 0xcb, 0x64, 0x5a, 0x6a, 0xde, 0x5e,
+  0x7b, 0xe5, 0xbe, 0x71, 0xa9, 0xd9, 0x9e, 0xd8, 0x92, 0x4b, 0x46, 0xbc,
+  0x86, 0xbd, 0x1f, 0x06, 0xe6, 0xbb, 0x03, 0x33, 0xf9, 0x03, 0xe2, 0x5d,
+  0xbc, 0xcf, 0xea, 0x5e, 0xc7, 0x05, 0xd8, 0xfe, 0xfc, 0x06, 0x17, 0x66,
+  0x0a, 0x4e, 0xd2, 0x37, 0xd1, 0x96, 0xe8, 0x74, 0xcd, 0xa8, 0x5c, 0x52,
+  0xd7, 0x82, 0xc0, 0xa5, 0xea, 0x29, 0xc9, 0x72, 0x82, 0x82, 0x4c, 0x14,
+  0x01, 0x28, 0x39, 0x33, 0x53, 0xf0, 0x60, 0xe8, 0x88, 0x0c, 0x01, 0xba,
+  0x8e, 0x39, 0x7b, 0x7c, 0xa9, 0xcf, 0x98, 0x7a, 0x99, 0x3d, 0x66, 0xa6,
+  0x5b, 0xf2, 0x90, 0x7f, 0x3f, 0x20, 0x00, 0x22, 0x18, 0xfc, 0xba, 0x15,
+  0x1f, 0x15, 0x67, 0xa8, 0xb0, 0x72, 0x4b, 0x73, 0xd4, 0x07, 0xbb, 0xe7,
+  0x15, 0xba, 0x4f, 0x9f, 0xd4, 0x82, 0x21, 0xf2, 0x2e, 0xa3, 0xc0, 0xc8,
+  0xa8, 0x87, 0x7f, 0x93, 0x2b, 0xe8, 0x72, 0x2d, 0x4a, 0x16, 0x6c, 0x5e,
+  0xda, 0x8e, 0xbf, 0x99, 0x51, 0xa9, 0x0d, 0xe8, 0x71, 0xfb, 0x5c, 0x96,
+  0x7c, 0x53, 0xd6, 0xb8, 0x0b, 0xc2, 0xc7, 0xe9, 0x92, 0x8f, 0x4d, 0x3f,
+  0xde, 0x90, 0xf8, 0x96, 0xe5, 0x73, 0xdd, 0xd8, 0xd0, 0xec, 0xa7, 0xf3,
+  0xc3, 0xcb, 0x6f, 0x10, 0x5d, 0xc5, 0x16, 0x7e, 0x0d, 0x72, 0x13, 0x8d,
+  0xa9, 0x85, 0xd9, 0x53, 0xd6, 0x80, 0x63, 0xfd, 0x57, 0x39, 0x14, 0x55,
+  0x9f, 0x44, 0xf4, 0x2e, 0x67, 0x20, 0xd2, 0x8c, 0x2b, 0x16, 0x43, 0x46,
+  0xb7, 0x0a, 0x33, 0x02, 0xfa, 0x6e, 0x53, 0xe3, 0x2c, 0xde, 0x72, 0x93,
+  0x73, 0xd6, 0x37, 0x79, 0x4c, 0xd8, 0xf4, 0xa4, 0xcc, 0x91, 0xc5, 0xe3,
+  0x93, 0x04, 0xe3, 0x17, 0x94, 0x94, 0xcc, 0x01, 0xa8, 0x69, 0x19, 0xa7,
+  0x28, 0xf4, 0x8e, 0xf4, 0x9f, 0xe7, 0xf7, 0xc3, 0x90, 0x2b, 0x27, 0xf9,
+  0x6a, 0xd9, 0xb4, 0xc5, 0x4a, 0x87, 0xaa, 0xd8, 0x6a, 0x96, 0x55, 0x59,
+  0x36, 0x5e, 0x1f, 0xa0, 0xfd, 0xa4, 0x8d, 0x9c, 0x68, 0xe6, 0xa2, 0xe4,
+  0xbe, 0x50, 0x53, 0x85, 0xe8, 0xdd, 0xbe, 0x62, 0x98, 0x8e, 0xeb, 0x72,
+  0xb6, 0x6c, 0x3c, 0xf4, 0xf5, 0x2f, 0xeb, 0xb3, 0xd7, 0xe9, 0xad, 0x93,
+  0xa1, 0xf2, 0x72, 0x16, 0xcc, 0x26, 0x67, 0x2c, 0x7d, 0xa3, 0x5e, 0x22,
+  0xd8, 0x58, 0x95, 0x45, 0xbb, 0x24, 0x1c, 0x80, 0xde, 0xdb, 0x1b, 0x1b,
+  0x23, 0x5d, 0x6c, 0x62, 0x66, 0x0d, 0x17, 0xfd, 0x7b, 0x68, 0x93, 0xd4,
+  0x07, 0x0e, 0x16, 0x4c, 0xcc, 0x5f, 0x94, 0xaf, 0x2d, 0xe3, 0x35, 0x85,
+  0x08, 0xe7, 0x35, 0xce, 0xeb, 0xf6, 0xa0, 0xf0, 0x2b, 0x1b, 0xae, 0xd0,
+  0x54, 0xb0, 0xcb, 0x52, 0x29, 0xfa, 0x25, 0x5c, 0xe7, 0x36, 0x44, 0x2b,
+  0x71, 0x3d, 0x4a, 0x06, 0x4d, 0x97, 0x80, 0xd6, 0xc1, 0xb6, 0x70, 0x5c,
+  0xea, 0xe4, 0xce, 0xff, 0xde, 0x49, 0xfa, 0x5c, 0xac, 0x20, 0xc2, 0xaf,
+  0xb3, 0x4c, 0xfe, 0x3f, 0x00, 0x5e, 0x09, 0x13, 0x2f, 0xb5, 0x39, 0x6c,
+  0x73, 0xbd, 0x0e, 0x8d, 0x09, 0x75, 0x53, 0x4d, 0xdc, 0xee, 0x37, 0xda,
+  0x41, 0x76, 0x47, 0xf6, 0x8b, 0xda, 0x08, 0xc2, 0xec, 0xc1, 0xa5, 0xa8,
+  0x2d, 0x57, 0x12, 0x98, 0x31, 0xae, 0xac, 0x57, 0x8f, 0xca, 0xab, 0x72,
+  0x11, 0x52, 0x56, 0xeb, 0x51, 0x5d, 0x49, 0xc3, 0xa6, 0x1b, 0x49, 0xcb,
+  0x6e, 0xa7, 0xea, 0x84, 0xfc, 0xa7, 0x26, 0x1d, 0x09, 0xb0, 0x4b, 0xb6,
+  0xbf, 0x57, 0xb1, 0xcf, 0xab, 0x7d, 0xac, 0x88, 0x53, 0x46, 0xd3, 0x69,
+  0x38, 0x52, 0x3b, 0xa9, 0x5a, 0x00, 0x45, 0x2b, 0xc1, 0x40, 0x29, 0x24,
+  0x21, 0x84, 0x24, 0x23, 0xba, 0x61, 0xce, 0xaf, 0xa6, 0xda, 0x92, 0x6a,
+  0xc9, 0xe8, 0x95, 0xaa, 0x69, 0x1c, 0x76, 0xa5, 0x5c, 0xf7, 0xe5, 0xee,
+  0x47, 0xbe, 0x3c, 0x22, 0x73, 0x54, 0x4d, 0xd3, 0x57, 0x09, 0x74, 0x48,
+  0x52, 0xde, 0x97, 0xc1, 0x1b, 0x3e, 0x20, 0xc5, 0x21, 0x36, 0xaf, 0x29,
+  0xcb, 0x43, 0x5c, 0x52, 0x42, 0x3b, 0x02, 0xff, 0xd7, 0x4d, 0x2e, 0xb8,
+  0x52, 0x9e, 0xf5, 0x76, 0x49, 0x55, 0x78, 0xf8, 0x36, 0x12, 0x3f, 0xaa,
+  0x6a, 0x81, 0x0f, 0xc3, 0xf0, 0xc0, 0x0c, 0x2d, 0x01, 0xaa, 0x5c, 0x22,
+  0x27, 0x7e, 0xfa, 0x37, 0xa3, 0x30, 0x2c, 0xd6, 0xf9, 0x91, 0x5f, 0xf7,
+  0x3f, 0x49, 0x20, 0xd6, 0x22, 0xe1, 0x04, 0x12, 0x61, 0x75, 0xa3, 0x0b,
+  0x65, 0x7f, 0x0f, 0x86, 0x29, 0x63, 0x36, 0x40, 0x29, 0xaa, 0x2d, 0x28,
+  0xb5, 0x59, 0x77, 0xf2, 0xb7, 0xfb, 0x32, 0x4b, 0x36, 0x39, 0x5e, 0x42,
+  0xcc, 0xac, 0x17, 0x7a, 0x71, 0xa7, 0x56, 0x4d, 0x38, 0x4e, 0xb8, 0xae,
+  0x9b, 0x6a, 0x39, 0x69, 0x82, 0x6a, 0xa6, 0xad, 0xd0, 0xbc, 0x9d, 0xe3,
+  0xd2, 0xb7, 0xed, 0x4f, 0xce, 0xc5, 0xbc, 0x67, 0xeb, 0x83, 0x7a, 0xb6,
+  0x95, 0xb6, 0x92, 0x5c, 0xf8, 0xe5, 0x8d, 0xa4, 0xf5, 0xdd, 0x6d, 0xbb,
+  0xcb, 0x06, 0xe7, 0x36, 0xf9, 0xbd, 0xcd, 0x54, 0x84, 0xec, 0x04, 0xef,
+  0xee, 0x15, 0x45, 0x0c, 0x8a, 0x47, 0x95, 0x08, 0x4f, 0x22, 0xd4, 0x1a,
+  0x72, 0x59, 0x6e, 0x58, 0x2e, 0x43, 0xd3, 0xa5, 0x81, 0x40, 0x55, 0x39,
+  0xfa, 0xbb, 0x63, 0x26, 0x52, 0x0b, 0xff, 0xd8, 0x8a, 0x57, 0xb5, 0xe3,
+  0x43, 0xec, 0xe0, 0x54, 0xc1, 0xa6, 0x64, 0xf5, 0x43, 0xe1, 0x75, 0x93,
+  0xf9, 0x1b, 0x26, 0xaf, 0xe5, 0x50, 0xc8, 0x17, 0xba, 0xea, 0x44, 0x78,
+  0x37, 0x9e, 0x33, 0x6b, 0x49, 0xb0, 0x8f, 0x5e, 0xab, 0x4f, 0x15, 0x22,
+  0x07, 0x73, 0x43, 0x96, 0x8d, 0x2e, 0x92, 0x99, 0x57, 0xfd, 0x84, 0xe9,
+  0x02, 0x8d, 0x78, 0x73, 0x96, 0xed, 0x6e, 0x7a, 0x25, 0xbb, 0xb6, 0x18,
+  0xf4, 0x5f, 0xc2, 0xfa, 0xb1, 0xbc, 0x82, 0xec, 0xbd, 0x20, 0x70, 0xdb,
+  0x76, 0xa4, 0x2b, 0xa6, 0x89, 0x5f, 0xda, 0x99, 0xbd, 0x17, 0xfb, 0xc3,
+  0xbd, 0xe7, 0x9f, 0x0f, 0x77, 0x87, 0x7b, 0xbb, 0x24, 0x5f, 0xa8, 0x2b,
+  0x5e, 0xe7, 0x78, 0x5e, 0x22, 0x9f, 0x6a, 0xbd, 0x17, 0x7e, 0xf3, 0xdd,
+  0xf1, 0xe5, 0xf7, 0x67, 0x17, 0xdf, 0x26, 0x27, 0xef, 0x2e, 0x8f, 0x2f,
+  0xde, 0x1c, 0x1e, 0x3d, 0x96, 0x5b, 0xdf, 0x77, 0x5b, 0x7b, 0x25, 0xcc,
+  0x33, 0x37, 0x31, 0xa1, 0x6f, 0xd0, 0xcd, 0x59, 0xd6, 0xdc, 0xec, 0x1e,
+  0xec, 0xad, 0x65, 0x8f, 0x8e, 0xb8, 0x07, 0xdd, 0xfb, 0x3a, 0xa8, 0x3d,
+  0x1a, 0xd4, 0xea, 0x56, 0x2c, 0x8b, 0xe2, 0x88, 0xb1, 0x55, 0x16, 0x97,
+  0x0b, 0x31, 0x8f, 0xa2, 0x48, 0x20, 0x4f, 0x15, 0xc1, 0x3e, 0x66, 0x9e,
+  0x5a, 0x2e, 0xf1, 0x26, 0x7c, 0x30, 0x82, 0x41, 0x17, 0x99, 0xbb, 0xc1,
+  0xe5, 0xc2, 0x1b, 0x71, 0xa7, 0x30, 0xf3, 0xec, 0x14, 0x2a, 0x9e, 0x4a,
+  0x65, 0xc9, 0x5d, 0xa3, 0xdd, 0x22, 0x05, 0x4b, 0x99, 0x1b, 0x70, 0x6a,
+  0xf3, 0x44, 0x2c, 0x61, 0x00, 0xa0, 0x0f, 0xaa, 0xa7, 0xa3, 0xaf, 0xed,
+  0x8a, 0xef, 0x3e, 0x7c, 0xb6, 0x43, 0x93, 0x5a, 0x2b, 0xae, 0x19, 0x03,
+  0x6b, 0xb9, 0x46, 0x8f, 0xa4, 0x23, 0x38, 0x0d, 0x5e, 0x6f, 0xf8, 0x53,
+  0x50, 0xa8, 0x88, 0xcf, 0x0c, 0x4c, 0x8e, 0x2d, 0x32, 0x63, 0xbe, 0xa3,
+  0x90, 0x3b, 0xc1, 0xfa, 0x9f, 0x56, 0xa0, 0xa0, 0xd6, 0xeb, 0x16, 0x9f,
+  0x60, 0xc2, 0x35, 0x4a, 0xfc, 0xd7, 0x59, 0xd5, 0x06, 0x3a, 0x73, 0x5a,
+  0xa5, 0x77, 0xa8, 0xb6, 0x92, 0x3b, 0x76, 0xd0, 0x8d, 0xa4, 0x55, 0xcd,
+  0x84, 0x14, 0x27, 0x37, 0xe7, 0xc9, 0xf9, 0xf1, 0xdb, 0x81, 0xd6, 0x3b,
+  0x36, 0x7f, 0x67, 0x67, 0x94, 0x52, 0x41, 0x72, 0x6e, 0xcf, 0x22, 0x2b,
+  0x14, 0x4b, 0x03, 0x99, 0x28, 0xe0, 0x1f, 0x7f, 0x00, 0x74, 0x68, 0x2c,
+  0x59, 0xa4, 0x40, 0x46, 0x15, 0x73, 0xc9, 0xb9, 0x85, 0x5d, 0x06, 0x4d,
+  0x5a, 0x4f, 0x01, 0x2c, 0x27, 0x5b, 0x16, 0xa4, 0x4b, 0xdf, 0x03, 0x12,
+  0x15, 0xa8, 0x01, 0x0b, 0x13, 0x28, 0xb5, 0xfa, 0xdf, 0xf9, 0xb7, 0x47,
+  0xa3, 0x3f, 0xec, 0xed, 0x4b, 0x77, 0xb6, 0xd5, 0x2a, 0x20, 0x59, 0xd5,
+  0xcd, 0x9f, 0x87, 0xb8, 0xf6, 0xfb, 0xa8, 0x29, 0xd6, 0x38, 0xe0, 0x58,
+  0x8c, 0x2d, 0x9b, 0x18, 0xb4, 0xdd, 0xca, 0x0c, 0x02, 0xf2, 0xeb, 0xde,
+  0xaa, 0x98, 0xb6, 0x86, 0x2f, 0x85, 0x44, 0x50, 0xed, 0x49, 0xea, 0x2d,
+  0x35, 0x16, 0xea, 0x97, 0x16, 0xfa, 0x23, 0x6e, 0x59, 0x5a, 0xdb, 0xac,
+  0x37, 0x12, 0x0f, 0xce, 0xd2, 0x5d, 0x73, 0x9a, 0x6f, 0xf7, 0x5b, 0xa2,
+  0x74, 0x95, 0x9b, 0x5d, 0xb9, 0x7b, 0xdc, 0x67, 0x70, 0x00, 0x04, 0xbd,
+  0x3e, 0xd5, 0x8a, 0x6e, 0x85, 0x2b, 0x59, 0x42, 0x4f, 0x9f, 0x99, 0x85,
+  0x32, 0x27, 0x8b, 0x29, 0x16, 0x48, 0x28, 0x94, 0x33, 0x32, 0x5d, 0xec,
+  0x23, 0xaf, 0x2b, 0xaa, 0xf2, 0xb2, 0x60, 0x1c, 0xe9, 0xbb, 0x61, 0xf2,
+  0x4d, 0x56, 0x50, 0x8e, 0x3b, 0x21, 0xee, 0x34, 0xf7, 0x0a, 0xb8, 0x40,
+  0x2a, 0x29, 0x89, 0x12, 0x7b, 0xa7, 0x59, 0x2a, 0xf4, 0x99, 0x46, 0xd6,
+  0xd5, 0x6c, 0xe1, 0x6a, 0x79, 0xa9, 0x94, 0xd0, 0x79, 0xc2, 0xf5, 0x69,
+  0x79, 0x29, 0x98, 0xcf, 0x99, 0x1a, 0xd8, 0x6a, 0x73, 0x60, 0xa2, 0x7a,
+  0x01, 0x9a, 0x93, 0x63, 0x8e, 0x58, 0x93, 0x78, 0x95, 0x6f, 0xc0, 0x7c,
+  0x4d, 0xde, 0x42, 0xb6, 0xb8, 0x9c, 0x50, 0x99, 0x56, 0x37, 0xe4, 0xfa,
+  0xa8, 0xcd, 0x75, 0x93, 0x16, 0x93, 0xfb, 0xe1, 0xd4, 0xe8, 0xb2, 0xe4,
+  0x3c, 0x1b, 0x2e, 0x3f, 0xee, 0x78, 0xc7, 0x94, 0x44, 0xfe, 0x0d, 0xa7,
+  0xf3, 0xb7, 0x1d, 0xdf, 0x5a, 0xb7, 0x38, 0x64, 0xf9, 0x4a, 0x5b, 0x67,
+  0x82, 0xb6, 0x04, 0xa3, 0x22, 0xf5, 0x78, 0xae, 0xe4, 0xc3, 0x3a, 0x4e,
+  0x2c, 0x19, 0x31, 0xb5, 0x30, 0x5c, 0x64, 0xf3, 0x03, 0x9b, 0x8d, 0xac,
+  0xf2, 0x41, 0x0a, 0x60, 0x58, 0xc3, 0xc2, 0x73, 0xd2, 0x16, 0xd9, 0xf5,
+  0x4c, 0x14, 0x0a, 0xdf, 0x74, 0xb1, 0x4d, 0x44, 0x52, 0x40, 0xd8, 0xe0,
+  0x91, 0xe2, 0x47, 0xd0, 0xd8, 0xcd, 0x3e, 0x6c, 0x04, 0x52, 0xcb, 0x0f,
+  0x57, 0xa4, 0xd0, 0xbb, 0x46, 0x84, 0xe4, 0x03, 0xbc, 0xc8, 0xa4, 0x0c,
+  0x8b, 0x8b, 0x47, 0x91, 0x48, 0x12, 0x7e, 0x22, 0xce, 0x56, 0xec, 0x10,
+  0x30, 0xae, 0x0b, 0x2a, 0x1a, 0xc1, 0x4f, 0x2d, 0x0f, 0xcc, 0x67, 0xc5,
+  0xfc, 0xfa, 0xf6, 0x09, 0x79, 0xbc, 0x2f, 0x4f, 0x47, 0x1a, 0x15, 0x29,
+  0xb2, 0x3b, 0x6f, 0x6b, 0x71, 0x95, 0x00, 0xd9, 0x7f, 0xe4, 0x00, 0x62,
+  0xf6, 0x63, 0xb0, 0x1d, 0xa0, 0x27, 0x2c, 0x15, 0x5c, 0x98, 0xcc, 0x25,
+  0x3f, 0xe8, 0x24, 0x08, 0x8c, 0x98, 0xba, 0xa2, 0x95, 0xcc, 0x58, 0x19,
+  0xb2, 0xa4, 0x2c, 0x44, 0xb3, 0x67, 0x94, 0xa5, 0x27, 0xfd, 0x64, 0xb0,
+  0x0f, 0xaa, 0x9b, 0xbd, 0xf6, 0x24, 0xa6, 0x0d, 0x33, 0xfa, 0x51, 0x1b,
+  0xa6, 0x25, 0x6d, 0x45, 0xc4, 0xc1, 0x96, 0x6c, 0xe9, 0x5b, 0xf3, 0x3e,
+  0xfd, 0xb1, 0x2f, 0x03, 0xba, 0xdd, 0x03, 0x62, 0x9b, 0x29, 0x26, 0x67,
+  0xf7, 0xa1, 0xca, 0xb0, 0xbf, 0x76, 0x55, 0x91, 0x1b, 0x71, 0x97, 0x5b,
+  0xae, 0x67, 0xae, 0x6f, 0x00, 0x57, 0xa8, 0xb0, 0x77, 0x6a, 0x07, 0xcc,
+  0x14, 0x8a, 0x93, 0xbb, 0x48, 0x6e, 0xf7, 0x35, 0xd6, 0x4c, 0xbf, 0xd1,
+  0x79, 0x63, 0x67, 0xbd, 0x13, 0x22, 0x41, 0xda, 0x22, 0xa1, 0xdc, 0xbc,
+  0x5d, 0x4b, 0x59, 0x4f, 0x66, 0xcf, 0x1a, 0x29, 0xd2, 0x92, 0x32, 0x65,
+  0x21, 0x6e, 0x05, 0x4e, 0x79, 0x67, 0xea, 0x78, 0x32, 0xe0, 0x3d, 0x98,
+  0x13, 0x90, 0xdf, 0x1e, 0x22, 0xf2, 0xa4, 0xb0, 0x89, 0x12, 0xe2, 0xca,
+  0x07, 0x9b, 0x1e, 0x96, 0xff, 0x26, 0x67, 0xc7, 0x04, 0xb0, 0xa6, 0xb8,
+  0xce, 0xcd, 0xc9, 0xdf, 0x4c, 0xcc, 0x61, 0x5a, 0x92, 0xc4, 0x6f, 0x6c,
+  0x59, 0xb5, 0x11, 0xb3, 0x70, 0x6e, 0xfa, 0x62, 0x6e, 0xf0, 0x25, 0x0d,
+  0xa5, 0xde, 0x74, 0x63, 0x17, 0x36, 0xf2, 0xf6, 0x40, 0x24, 0xce, 0xa1,
+  0x85, 0xc4, 0xce, 0x2b, 0xad, 0x95, 0xbe, 0x79, 0xfc, 0x89, 0x74, 0x9c,
+  0x4d, 0xf9, 0x12, 0xff, 0x9a, 0x73, 0xfa, 0x31, 0x47, 0xe7, 0x27, 0xef,
+  0xb8, 0xfa, 0xb7, 0x3d, 0x0b, 0x19, 0xb1, 0x24, 0x6e, 0x70, 0x99, 0x79,
+  0xf4, 0x27, 0x55, 0xba, 0x76, 0x76, 0x1c, 0xd1, 0x9e, 0xa1, 0x3d, 0x9e,
+  0xcb, 0xb7, 0x2e, 0x96, 0xfc, 0xf5, 0x4d, 0xba, 0xe7, 0xea, 0x7a, 0xb6,
+  0xd9, 0xa9, 0x6a, 0x6b, 0xd7, 0xa4, 0x73, 0xa1, 0x58, 0x8f, 0xd4, 0x64,
+  0xea, 0x14, 0x7c, 0x54, 0xed, 0xa6, 0x56, 0x5a, 0x72, 0xae, 0xdf, 0xc9,
+  0x74, 0xf4, 0x5d, 0xe1, 0x7f, 0x48, 0x86, 0x3b, 0xe6, 0x83, 0xf5, 0x8e,
+  0xbe, 0xb8, 0xf8, 0x38, 0xa9, 0xcd, 0x0d, 0x47, 0x69, 0xbd, 0x3f, 0xc2,
+  0x20, 0xc7, 0x72, 0x98, 0x1e, 0x4f, 0x7f, 0x4e, 0x06, 0x93, 0x19, 0xc6,
+  0x97, 0xa0, 0x76, 0xf6, 0x8f, 0x66, 0xe5, 0xe9, 0x89, 0x9f, 0xed, 0x1a,
+  0xbe, 0xc9, 0xe9, 0xbc, 0x7d, 0xea, 0xeb, 0xd0, 0xcf, 0xd8, 0x60, 0x60,
+  0x2a, 0xda, 0xe4, 0x70, 0x7a, 0x4b, 0x49, 0x77, 0x53, 0xf9, 0x27, 0x8d,
+  0xe7, 0xb8, 0x40, 0xe5, 0x51, 0x8c, 0x34, 0x1d, 0x73, 0xa1, 0xf1, 0xef,
+  0x72, 0x63, 0x74, 0x1c, 0x75, 0xf4, 0x0b, 0xca, 0xff, 0xa3, 0x0e, 0xe2,
+  0x2d, 0xef, 0x97, 0x9a, 0xcc, 0xd1, 0x97, 0x9c, 0x05, 0x07, 0x2d, 0x25,
+  0xe9, 0x4c, 0x4b, 0x37, 0x4c, 0xbe, 0xa2, 0x18, 0x67, 0x95, 0x79, 0x44,
+  0xad, 0x72, 0xf1, 0x71, 0x85, 0x3e, 0x5a, 0x8c, 0x94, 0xf9, 0x27, 0x86,
+  0x76, 0x24, 0x41, 0x0e, 0x8c, 0x1d, 0x93, 0xfd, 0x4d, 0x7b, 0x70, 0xe8,
+  0x97, 0xa6, 0xb4, 0x9b, 0xa1, 0x68, 0xbe, 0x44, 0x12, 0x0c, 0xc5, 0xa3,
+  0x90, 0xe4, 0x1e, 0xf2, 0x85, 0x39, 0xcd, 0x34, 0xb1, 0xbf, 0xf4, 0xd9,
+  0x54, 0xd4, 0x73, 0x8c, 0xa6, 0x54, 0x23, 0xb0, 0x5b, 0x02, 0x77, 0xb8,
+  0xeb, 0xf5, 0xd1, 0x8d, 0x11, 0xcd, 0x99, 0xed, 0xea, 0x88, 0x5d, 0x7a,
+  0xda, 0xc5, 0x11, 0xdd, 0x51, 0xba, 0x08, 0xf6, 0x97, 0x9a, 0x1d, 0x09,
+  0x2d, 0x74, 0x87, 0x65, 0x97, 0xdd, 0xbb, 0x3c, 0xbb, 0xed, 0x21, 0x50,
+  0x52, 0xe3, 0xe8, 0xfd, 0x5b, 0xaa, 0x42, 0x82, 0x82, 0xd4, 0x97, 0x17,
+  0x87, 0xef, 0x46, 0x6f, 0xd8, 0x35, 0x7e, 0x59, 0x7a, 0x95, 0xae, 0x25,
+  0xae, 0xa0, 0xf1, 0x63, 0xcb, 0xe8, 0x76, 0xc7, 0xa5, 0x31, 0x14, 0x4f,
+  0x2f, 0x65, 0xb0, 0xfb, 0x5d, 0x6a, 0x7c, 0xae, 0xa1, 0x4d, 0xb3, 0x41,
+  0x5d, 0xdb, 0x1a, 0x6d, 0x5b, 0x45, 0xa8, 0xf6, 0xeb, 0xa7, 0xb9, 0x22,
+  0xf4, 0x4a, 0xe2, 0x2c, 0x0f, 0xd1, 0xb4, 0x1c, 0x69, 0x67, 0xf4, 0xa7,
+  0x7c, 0xf7, 0xae, 0xe4, 0x0d, 0x3d, 0x32, 0xa6, 0xe2, 0x40, 0x8a, 0xca,
+  0x38, 0xea, 0x34, 0xe7, 0x4e, 0xe5, 0xbb, 0x57, 0x58, 0xf7, 0x6c, 0xe3,
+  0x7e, 0xde, 0xa7, 0x36, 0xbd, 0xf5, 0x6f, 0x7b, 0xdb, 0xf1, 0xe6, 0x2f,
+  0x7f, 0x69, 0xf3, 0xf1, 0xbe, 0xab, 0x6d, 0xe6, 0x52, 0x8a, 0xb6, 0xfe,
+  0x6d, 0x7f, 0x7b, 0xed, 0x88, 0xfc, 0xac, 0x48, 0xf7, 0x4d, 0xf3, 0x06,
+  0x75, 0x36, 0x79, 0xc5, 0xc7, 0xcc, 0xea, 0x4c, 0x16, 0xa1, 0xe3, 0x51,
+  0x03, 0xb7, 0x08, 0x3b, 0x08, 0xb6, 0x6d, 0x35, 0x75, 0x17, 0x78, 0x93,
+  0xec, 0x92, 0x93, 0xff, 0x79, 0xec, 0x33, 0x3e, 0x16, 0x9b, 0x8d, 0x7f,
+  0x45, 0x11, 0x3b, 0x40, 0x5d, 0x0e, 0xf1, 0xed, 0xfd, 0x35, 0xdf, 0x76,
+  0xa3, 0xf3, 0xdc, 0x12, 0x14, 0xc5, 0x26, 0x18, 0x9c, 0x12, 0x57, 0xcb,
+  0x77, 0xec, 0xb7, 0xd7, 0x7d, 0xef, 0xf2, 0xe4, 0xed, 0x31, 0x11, 0x5c,
+  0xbf, 0x3e, 0x21, 0x9e, 0xb8, 0x91, 0x30, 0x35, 0xaa, 0x07, 0xc2, 0x92,
+  0xe7, 0xfa, 0x85, 0x4d, 0x38, 0xbc, 0x6b, 0xd1, 0x66, 0x56, 0x72, 0xd8,
+  0x95, 0xa0, 0x4f, 0x0b, 0x06, 0xba, 0xd6, 0x4c, 0xcb, 0x93, 0xab, 0xc1,
+  0xdb, 0x72, 0x0a, 0x2b, 0x79, 0x30, 0x02, 0x54, 0xd0, 0xbc, 0x65, 0x7e,
+  0xf8, 0xbe, 0x98, 0xb7, 0x7e, 0x3c, 0x8c, 0x64, 0xea, 0x6e, 0xac, 0xaa,
+  0x9f, 0xf3, 0xf7, 0x9d, 0xc1, 0x80, 0x3a, 0x33, 0x60, 0x58, 0x97, 0x04,
+  0x77, 0x5a, 0xfc, 0x1c, 0x2a, 0x5a, 0xcc, 0x04, 0xe5, 0xb3, 0x7b, 0x06,
+  0x22, 0xa4, 0x0e, 0x3e, 0xe6, 0xb2, 0x37, 0xaf, 0x29, 0x83, 0xcc, 0xb9,
+  0xf8, 0xd8, 0x89, 0xb7, 0xe1, 0xf3, 0x8c, 0xc2, 0x90, 0xca, 0xee, 0x1c,
+  0xfe, 0x49, 0xaa, 0x31, 0x97, 0x8b, 0x7b, 0x8c, 0xf2, 0xae, 0x05, 0xad,
+  0x88, 0xc6, 0x57, 0xff, 0xce, 0xef, 0xb4, 0x2a, 0x46, 0x09, 0x1d, 0xb4,
+  0xb7, 0x03, 0xe5, 0x27, 0x52, 0x60, 0xe9, 0xac, 0xf2, 0xae, 0x2b, 0xe9,
+  0xb6, 0x16, 0xa2, 0xf3, 0x38, 0x48, 0x3d, 0xca, 0xd4, 0x76, 0x3f, 0x7d,
+  0xbe, 0xd6, 0x92, 0x52, 0x5f, 0x5f, 0x97, 0x36, 0x38, 0x66, 0xc4, 0xce,
+  0xa2, 0x5d, 0xef, 0x38, 0x4b, 0x34, 0xc9, 0x9b, 0x73, 0xf8, 0x37, 0x07,
+  0x9b, 0x28, 0xa1, 0x90, 0x17, 0x91, 0xc1, 0x0c, 0x7e, 0xf9, 0x68, 0x82,
+  0xd0, 0x6b, 0xd2, 0xbb, 0x22, 0x22, 0x0c, 0x8a, 0x63, 0xf5, 0xb8, 0x03,
+  0xcc, 0x13, 0xc3, 0x9b, 0xcb, 0x5c, 0x10, 0x24, 0xd7, 0xd4, 0x90, 0x64,
+  0xa3, 0xda, 0x22, 0x63, 0xad, 0x93, 0x9c, 0xbd, 0x92, 0x24, 0x48, 0x97,
+  0x8b, 0x29, 0x40, 0x19, 0x0c, 0x47, 0xfd, 0x0f, 0xe2, 0xaf, 0xae, 0xee,
+  0x93, 0xbd, 0xfd, 0x7e, 0xb2, 0xbf, 0xbb, 0xb7, 0x1f, 0x19, 0x43, 0xef,
+  0x3f, 0x08, 0x14, 0xb5, 0x8f, 0x5f, 0xf7, 0x1e, 0x3b, 0x0a, 0x97, 0xcf,
+  0x80, 0x9b, 0x44, 0x32, 0x7f, 0x8d, 0xf0, 0xa1, 0xf8, 0x2c, 0x38, 0x93,
+  0x51, 0x04, 0x19, 0xcc, 0x73, 0xb8, 0xb6, 0xd8, 0x49, 0xa8, 0xe5, 0x30,
+  0x6d, 0x95, 0xaf, 0x29, 0x8a, 0xde, 0x70, 0x1d, 0x5a, 0x20, 0x5f, 0xac,
+  0xa7, 0x34, 0xad, 0x50, 0xb5, 0xb3, 0xbd, 0x46, 0x79, 0xa3, 0xcb, 0x42,
+  0xd0, 0x1a, 0x5a, 0x1b, 0xb3, 0xdf, 0x5f, 0x9f, 0x1c, 0x5d, 0x2a, 0x35,
+  0xe1, 0x15, 0x29, 0x4f, 0xd5, 0xfd, 0xe3, 0xea, 0x26, 0xae, 0x7d, 0x66,
+  0x7a, 0x70, 0x93, 0x19, 0x35, 0xba, 0x18, 0x2f, 0xaf, 0x0f, 0xfe, 0x9a,
+  0x56, 0xd7, 0x65, 0xf1, 0xd0, 0xf3, 0x53, 0x24, 0x94, 0x1d, 0x18, 0x09,
+  0xb5, 0xf7, 0x62, 0xef, 0x09, 0xf2, 0xbf, 0x67, 0x39, 0x6a, 0xf7, 0x90,
+  0x80, 0xd8, 0x9c, 0x6f, 0x32, 0xc1, 0x06, 0xd2, 0x24, 0x2c, 0xab, 0x46,
+  0x31, 0xdd, 0xe4, 0xeb, 0x3e, 0xf5, 0x9f, 0x9d, 0xca, 0xb3, 0x9c, 0x7a,
+  0xbe, 0x29, 0xb9, 0x0a, 0x9b, 0x94, 0xa6, 0xb9, 0x5c, 0x6c, 0xb6, 0xd9,
+  0xdc, 0x1f, 0x18, 0x2b, 0x7d, 0xc2, 0x96, 0x89, 0x3c, 0xb2, 0x1c, 0xf5,
+  0xc8, 0x20, 0xaa, 0xb2, 0xf4, 0xa3, 0xab, 0x8a, 0xec, 0xd8, 0x37, 0x34,
+  0xe4, 0x71, 0xf1, 0xe6, 0x88, 0xc9, 0x46, 0x35, 0x5f, 0x0a, 0x53, 0x9d,
+  0x58, 0xd7, 0xd4, 0x36, 0xf5, 0xf2, 0x81, 0xef, 0x53, 0x6e, 0xc3, 0xc1,
+  0x74, 0xfc, 0x88, 0x87, 0xcc, 0xb9, 0x63, 0xb2, 0xb8, 0xc3, 0x76, 0x95,
+  0x1c, 0x32, 0xd4, 0x50, 0xea, 0x43, 0x4b, 0x20, 0x6f, 0x71, 0xf9, 0x57,
+  0x8e, 0x38, 0x50, 0xd7, 0xb4, 0xb0, 0xb4, 0x7a, 0x77, 0x4c, 0xbf, 0xa9,
+  0x20, 0xeb, 0xeb, 0xc3, 0x73, 0xcf, 0xd0, 0x85, 0x21, 0xe9, 0x9c, 0x7a,
+  0xf4, 0x1c, 0x19, 0x3a, 0xa8, 0xb0, 0x2e, 0x85, 0x93, 0xfa, 0xce, 0x44,
+  0x69, 0x20, 0x27, 0x49, 0x37, 0x02, 0x40, 0xbe, 0x94, 0xfb, 0x04, 0xfe,
+  0x27, 0x14, 0x1e, 0x98, 0x4d, 0x53, 0x04, 0x42, 0xe5, 0x16, 0xa2, 0x0c,
+  0x88, 0xb3, 0x42, 0xb3, 0x98, 0xfb, 0x9d, 0x2a, 0x0b, 0xe6, 0xc7, 0xf8,
+  0x0e, 0xae, 0xe8, 0x73, 0xa3, 0x84, 0x83, 0xc6, 0x65, 0xf4, 0xfa, 0x5b,
+  0xea, 0xb1, 0x04, 0x75, 0xa0, 0xb5, 0xa9, 0x2f, 0xdb, 0x46, 0xa2, 0xd4,
+  0x6a, 0x54, 0xe7, 0x95, 0xfa, 0x16, 0xa9, 0xb9, 0xdb, 0x27, 0x43, 0xfe,
+  0x73, 0xdf, 0x56, 0x22, 0xc6, 0x63, 0xc0, 0x79, 0x5e, 0x69, 0x9d, 0xe3,
+  0x79, 0x46, 0x85, 0x77, 0xf3, 0x7a, 0xee, 0x60, 0x29, 0x57, 0xf2, 0xba,
+  0xab, 0x7e, 0x27, 0x4a, 0x24, 0x85, 0x16, 0xd0, 0x0f, 0xf4, 0x36, 0x17,
+  0x5c, 0x97, 0xd9, 0x65, 0x9f, 0x12, 0x49, 0x47, 0x91, 0xbc, 0x1b, 0x29,
+  0x72, 0x82, 0xc7, 0x28, 0xbf, 0xfa, 0x5e, 0x97, 0x82, 0x6f, 0x1a, 0xb3,
+  0x0c, 0x69, 0xfd, 0xd1, 0x5c, 0x0a, 0x0c, 0x45, 0x30, 0xf3, 0x98, 0x4b,
+  0x30, 0x9f, 0xdc, 0x57, 0x39, 0x43, 0x82, 0xc8, 0x91, 0x06, 0x46, 0xa7,
+  0xd6, 0xd6, 0xe3, 0xcb, 0x94, 0x6c, 0xe7, 0x59, 0x9d, 0x31, 0x55, 0x22,
+  0x08, 0x81, 0x28, 0xf6, 0x47, 0x5b, 0x0f, 0x36, 0x93, 0x62, 0x6a, 0x21,
+  0xce, 0x68, 0x97, 0xee, 0xef, 0x3f, 0x7b, 0xd6, 0x4f, 0x7a, 0xe4, 0x77,
+  0x44, 0x9f, 0x68, 0x43, 0xbf, 0x81, 0xe0, 0xe9, 0x45, 0x8b, 0xe1, 0xee,
+  0x54, 0x57, 0x13, 0xfa, 0x3f, 0x7a, 0x4f, 0x6b, 0x40, 0x5e, 0x4a, 0x22,
+  0x0e, 0x75, 0x13, 0x41, 0x56, 0x4b, 0x97, 0xc3, 0x3b, 0x8d, 0x7e, 0x77,
+  0x62, 0x5d, 0x4b, 0x14, 0x47, 0x5a, 0x64, 0xe5, 0x42, 0x03, 0xc6, 0x73,
+  0xa9, 0xee, 0x81, 0xef, 0x7b, 0x51, 0x36, 0x84, 0xf8, 0x19, 0x21, 0x27,
+  0xbc, 0x08, 0xf5, 0x72, 0x3c, 0x90, 0x04, 0x61, 0x36, 0x34, 0x73, 0x73,
+  0x98, 0xe7, 0xb4, 0x08, 0xe2, 0xc1, 0x0f, 0x84, 0xf4, 0x57, 0x49, 0x4f,
+  0xb6, 0x1b, 0xfd, 0x31, 0x44, 0xbc, 0x37, 0x9b, 0xd0, 0x30, 0xca, 0x57,
+  0xf2, 0x8f, 0x7f, 0xff, 0x77, 0xd3, 0xec, 0xbf, 0x53, 0x2b, 0xaf, 0xfe,
+  0xad, 0x6e, 0x6e, 0xbc, 0x67, 0x7a, 0x72, 0x06, 0x4e, 0x5c, 0xb4, 0x1b,
+  0x08, 0x36, 0x90, 0xc4, 0x22, 0x8f, 0xed, 0xed, 0xa9, 0x08, 0xe9, 0xbe,
+  0x37, 0xbe, 0x1c, 0x19, 0x86, 0xec, 0x37, 0xb5, 0x00, 0x92, 0xaf, 0x28,
+  0x12, 0x9d, 0x51, 0x66, 0xba, 0x59, 0x04, 0x10, 0x0b, 0x6e, 0x3b, 0x48,
+  0x09, 0xcb, 0x77, 0xf8, 0x46, 0xb9, 0x3a, 0x5c, 0xa7, 0xda, 0xd5, 0x9d,
+  0xde, 0x14, 0x7c, 0x8a, 0xb1, 0x4e, 0xe6, 0x57, 0xe9, 0xac, 0xbc, 0xb6,
+  0x23, 0x8e, 0xd5, 0x97, 0xf9, 0x45, 0x63, 0xef, 0xf9, 0x0d, 0xe9, 0x9b,
+  0x7e, 0x7c, 0xfd, 0x91, 0xad, 0x10, 0x4e, 0xc0, 0x1e, 0x4d, 0xc0, 0x5f,
+  0xc3, 0x7a, 0x62, 0x42, 0x1e, 0x6c, 0x2c, 0x15, 0x15, 0x24, 0x3b, 0x7a,
+  0xd0, 0xed, 0xc9, 0x27, 0xe8, 0xee, 0x84, 0x8e, 0x40, 0xa7, 0xc0, 0x8d,
+  0x93, 0x15, 0x56, 0xb9, 0x91, 0xda, 0x25, 0xa2, 0x9b, 0x64, 0x46, 0x5e,
+  0xe5, 0xe6, 0x2c, 0xe0, 0x02, 0xa4, 0xef, 0xd0, 0x9c, 0x21, 0x34, 0x99,
+  0x31, 0x21, 0xcd, 0x98, 0xcb, 0x83, 0x0d, 0x06, 0x45, 0x33, 0x9b, 0x33,
+  0xd5, 0xf2, 0x14, 0xa5, 0xc2, 0x34, 0x43, 0x23, 0x2f, 0x42, 0x92, 0xc1,
+  0xf6, 0x3c, 0xf3, 0xab, 0xff, 0xd8, 0x2c, 0xf9, 0x42, 0x8f, 0x2b, 0x70,
+  0x52, 0x3b, 0x3b, 0x8e, 0xb8, 0xd1, 0x91, 0xa3, 0x91, 0x2f, 0x74, 0x50,
+  0x48, 0xf5, 0x32, 0x40, 0xfb, 0xad, 0x68, 0x12, 0xf6, 0x31, 0x1f, 0xb2,
+  0xaa, 0x99, 0x46, 0x44, 0x09, 0x4d, 0xce, 0x37, 0x23, 0xdf, 0x33, 0x80,
+  0x92, 0xeb, 0x64, 0x6b, 0x34, 0x3a, 0x3f, 0xd9, 0xd1, 0xe2, 0x67, 0x1b,
+  0x1b, 0xc7, 0xef, 0xbe, 0x3b, 0xb9, 0x38, 0x7b, 0xf7, 0xf6, 0xf8, 0xdd,
+  0x65, 0xf2, 0xdd, 0xe1, 0xc5, 0xc9, 0xe1, 0x57, 0xa7, 0x42, 0xbe, 0x40,
+  0xc3, 0x24, 0xcc, 0x19, 0x9b, 0x82, 0x1d, 0xfe, 0x60, 0x2f, 0x2f, 0x2e,
+  0x5a, 0x75, 0xa6, 0x53, 0x50, 0xfb, 0x83, 0x90, 0xdf, 0xc3, 0x30, 0xfe,
+  0x80, 0x02, 0x5a, 0x7d, 0xb2, 0x85, 0x3e, 0x68, 0x2d, 0x2d, 0xb2, 0xe5,
+  0xef, 0xbd, 0x74, 0x7e, 0x82, 0xc3, 0x91, 0x38, 0x53, 0x61, 0xee, 0xaa,
+  0x48, 0xda, 0xb2, 0x2c, 0x5f, 0x33, 0x23, 0x84, 0xd6, 0xa8, 0xd1, 0x57,
+  0x21, 0x3f, 0x58, 0xd7, 0x71, 0x7d, 0x38, 0x3c, 0x3d, 0x75, 0x9f, 0x5a,
+  0x5f, 0xbe, 0x48, 0xd8, 0xc0, 0x38, 0x97, 0x10, 0x8d, 0x52, 0x9c, 0xfa,
+  0xba, 0x74, 0x4c, 0xfe, 0xc5, 0xbd, 0x4f, 0xda, 0x4f, 0x1f, 0x33, 0xdb,
+  0x65, 0x8b, 0x69, 0x5c, 0x08, 0xb4, 0xd0, 0x64, 0x55, 0x5e, 0x7f, 0xec,
+  0x27, 0x9b, 0xff, 0xb6, 0x29, 0x05, 0xeb, 0x41, 0x33, 0xcd, 0xc5, 0x91,
+  0xb6, 0x5d, 0xa7, 0xde, 0x9d, 0xb9, 0x3e, 0x49, 0x1c, 0xde, 0x76, 0xc0,
+  0xbe, 0xe8, 0x50, 0x14, 0xb5, 0xaa, 0xd7, 0x80, 0x2f, 0xbb, 0xc7, 0xa5,
+  0x82, 0x88, 0x65, 0xa7, 0x10, 0xf9, 0x48, 0x71, 0xd6, 0xe8, 0xbb, 0x70,
+  0x22, 0xa4, 0x13, 0x8f, 0x4d, 0x1c, 0x63, 0x2d, 0xc8, 0xf3, 0x66, 0xab,
+  0xba, 0xa9, 0x73, 0xda, 0x4c, 0xf5, 0x54, 0x08, 0x17, 0x53, 0x6d, 0x59,
+  0x52, 0x99, 0x91, 0x2a, 0x6e, 0x23, 0x50, 0x9e, 0x93, 0x31, 0x15, 0x40,
+  0xfb, 0xd0, 0xcc, 0x34, 0x4e, 0x3e, 0x3b, 0x91, 0x5a, 0xde, 0x5d, 0xc4,
+  0x84, 0x3a, 0xb9, 0x9f, 0x12, 0xeb, 0x28, 0x5b, 0x3f, 0x93, 0x75, 0x95,
+  0x20, 0x14, 0xf3, 0x6b, 0xf3, 0xec, 0x83, 0x05, 0x83, 0xdd, 0x99, 0x3a,
+  0x93, 0x00, 0x4c, 0xfa, 0xaf, 0xf7, 0x90, 0x9b, 0xc4, 0xb1, 0x16, 0x4b,
+  0x8a, 0x48, 0x94, 0x43, 0x98, 0x63, 0x87, 0x4b, 0xcf, 0x3e, 0x31, 0x97,
+  0x90, 0xdd, 0x65, 0x6e, 0x27, 0x70, 0xe1, 0x3b, 0x81, 0xa1, 0x77, 0x7b,
+  0xac, 0x45, 0xad, 0x52, 0x2d, 0xa2, 0x84, 0xb8, 0x19, 0xab, 0x5c, 0x50,
+  0x9a, 0xba, 0xc3, 0x81, 0xd3, 0x90, 0x01, 0xcf, 0xad, 0x4e, 0x77, 0x1a,
+  0xee, 0x29, 0x9e, 0x60, 0x59, 0x8b, 0x0a, 0x85, 0x3b, 0xe4, 0xd3, 0x8e,
+  0x96, 0xa5, 0x02, 0xc8, 0x80, 0x12, 0x82, 0x2a, 0x23, 0x45, 0xeb, 0xd5,
+  0xd5, 0x9f, 0x86, 0x88, 0x4d, 0x5f, 0x1c, 0xa1, 0x7c, 0x42, 0x41, 0x05,
+  0x54, 0x5d, 0xd9, 0x1b, 0x24, 0x0f, 0x14, 0x59, 0x53, 0x51, 0x46, 0x6e,
+  0x21, 0x56, 0x08, 0x00, 0xf9, 0x30, 0xd2, 0xd3, 0xeb, 0x52, 0x0d, 0xf0,
+  0xd4, 0xa2, 0x66, 0x6c, 0x71, 0x40, 0xcf, 0xa8, 0xb7, 0xcc, 0x81, 0x56,
+  0x70, 0x01, 0x5f, 0xa3, 0x11, 0x42, 0xc2, 0x97, 0xd2, 0x21, 0xd3, 0x62,
+  0xef, 0xb5, 0xc7, 0xcd, 0xe0, 0xd2, 0x97, 0x48, 0x92, 0x73, 0x96, 0x8e,
+  0x52, 0xf9, 0x81, 0x3e, 0x51, 0xb9, 0x1c, 0x80, 0x74, 0x46, 0xb7, 0xe8,
+  0x41, 0x34, 0x29, 0xa0, 0x75, 0x34, 0xa9, 0xc1, 0x2b, 0x23, 0xaf, 0x66,
+  0x94, 0x41, 0xaa, 0x7a, 0x47, 0x9a, 0x8c, 0xf3, 0x6b, 0xe6, 0x04, 0x21,
+  0x02, 0x0a, 0x3a, 0x97, 0xa0, 0x78, 0x2c, 0xe7, 0x19, 0x1d, 0x0e, 0x10,
+  0x38, 0xc2, 0x78, 0xbf, 0x29, 0x67, 0x3e, 0xcb, 0xa0, 0x8e, 0x44, 0x56,
+  0xdf, 0xc6, 0x3e, 0x10, 0xfb, 0x5c, 0xd2, 0x3c, 0x2a, 0x1c, 0x55, 0x2a,
+  0x09, 0x08, 0x38, 0x97, 0x82, 0x6a, 0xe0, 0x4a, 0x2d, 0x90, 0x0a, 0xa8,
+  0x5c, 0x0a, 0x98, 0x07, 0x4d, 0x5c, 0xa0, 0x8d, 0x0b, 0x47, 0x3a, 0x95,
+  0x64, 0xdd, 0xb2, 0xa5, 0x00, 0xa8, 0x95, 0x09, 0x33, 0x34, 0x93, 0x98,
+  0x61, 0x48, 0x49, 0xbb, 0x76, 0x97, 0x2c, 0x96, 0x70, 0xe7, 0x99, 0x3d,
+  0x41, 0x9d, 0x36, 0x33, 0xb5, 0xe5, 0xa9, 0x19, 0x85, 0xd9, 0x22, 0xfc,
+  0x18, 0x7b, 0x90, 0xe4, 0x5f, 0x03, 0x5b, 0x76, 0x50, 0x80, 0x27, 0xdb,
+  0x0e, 0x78, 0xc4, 0x66, 0x00, 0xc9, 0x87, 0x89, 0x14, 0x7e, 0x05, 0x44,
+  0x87, 0xaa, 0xd6, 0x82, 0x10, 0xae, 0x15, 0x7c, 0x48, 0x34, 0xe1, 0x6e,
+  0x36, 0xf3, 0x6a, 0x01, 0xb0, 0x3f, 0x32, 0x0d, 0x8c, 0x0f, 0x92, 0x13,
+  0x43, 0x96, 0xb9, 0x0c, 0xfd, 0x63, 0xde, 0x70, 0x6f, 0x20, 0x92, 0x54,
+  0x42, 0xe6, 0x59, 0x27, 0xa6, 0xe1, 0x5d, 0x21, 0x0a, 0x8f, 0xf1, 0xd5,
+  0x50, 0x29, 0x7d, 0x93, 0xa7, 0x73, 0x36, 0x1e, 0xdd, 0xee, 0x9b, 0xdf,
+  0x33, 0xec, 0x78, 0x63, 0xe3, 0xe8, 0xfd, 0xe8, 0xf2, 0xec, 0x6d, 0x72,
+  0xf6, 0xfe, 0xf2, 0xfc, 0xfd, 0xa5, 0xe8, 0xa9, 0x63, 0x4e, 0xda, 0x60,
+  0xe8, 0x12, 0xeb, 0xce, 0xba, 0x98, 0x73, 0x01, 0xf8, 0x00, 0x63, 0x56,
+  0x82, 0x56, 0xd4, 0x63, 0x14, 0xb3, 0x49, 0x99, 0xe0, 0xda, 0x63, 0x6a,
+  0x71, 0x4c, 0xf9, 0x9d, 0x99, 0x72, 0x24, 0xd4, 0xc3, 0x93, 0xaf, 0x39,
+  0x9e, 0xf0, 0x7b, 0xe8, 0x59, 0x6b, 0x97, 0x95, 0xba, 0x6f, 0xfb, 0x31,
+  0x80, 0xce, 0x69, 0x33, 0xb8, 0xf9, 0xd5, 0x6d, 0xd9, 0xb9, 0xeb, 0x7c,
+  0xbf, 0x3e, 0xa6, 0x5b, 0x6a, 0xe3, 0x6a, 0x04, 0x4a, 0x61, 0xf5, 0xc0,
+  0x1a, 0xb6, 0x33, 0x8b, 0xfd, 0x04, 0xe7, 0xa6, 0x34, 0x23, 0xbc, 0xb1,
+  0x29, 0x31, 0x04, 0x23, 0x04, 0x14, 0x98, 0x11, 0x54, 0x84, 0xb9, 0x65,
+  0x97, 0x41, 0x91, 0xdd, 0x91, 0xe2, 0x13, 0xe8, 0xd4, 0x77, 0xc9, 0xe6,
+  0xf7, 0x99, 0xdf, 0xe0, 0x1f, 0xff, 0x93, 0xf2, 0xb6, 0x3f, 0xe8, 0x4f,
+  0xfe, 0x8b, 0x3f, 0xf9, 0x53, 0xb1, 0x09, 0x81, 0xd9, 0x86, 0xca, 0x7c,
+  0x7b, 0x7c, 0xf1, 0xd5, 0xf1, 0xc5, 0xd9, 0x08, 0xf2, 0x40, 0xfd, 0xdd,
+  0xe1, 0x5e, 0xff, 0x98, 0x55, 0xe3, 0xac, 0x2a, 0xa5, 0xe4, 0x9d, 0xfe,
+  0xeb, 0xd9, 0xce, 0xd7, 0xa3, 0xd1, 0xe1, 0xf9, 0x89, 0x2d, 0x2a, 0x65,
+  0x33, 0x48, 0xd9, 0x47, 0x52, 0x70, 0x8e, 0x33, 0x8d, 0x5f, 0x5f, 0x31,
+  0xfb, 0x62, 0xf2, 0x91, 0x33, 0x0b, 0x02, 0x50, 0x8a, 0x06, 0xd6, 0x08,
+  0x8d, 0x22, 0x89, 0xc5, 0xd4, 0xb0, 0x32, 0xc1, 0xf9, 0x85, 0x21, 0xb8,
+  0x82, 0x03, 0x05, 0x03, 0xfb, 0x16, 0x82, 0xfb, 0xb1, 0x1a, 0x0f, 0xcc,
+  0x6e, 0xff, 0xa8, 0x35, 0xd6, 0x39, 0x11, 0xca, 0x88, 0x4a, 0xce, 0x90,
+  0x70, 0xce, 0xc6, 0x8f, 0x79, 0x91, 0x37, 0x3b, 0x1f, 0xe9, 0x7c, 0x50,
+  0xc1, 0xa3, 0xd9, 0x90, 0xa5, 0x3b, 0x1f, 0x28, 0x85, 0xbd, 0x93, 0x88,
+  0x5d, 0xc7, 0x4e, 0x63, 0xbe, 0x66, 0xab, 0x94, 0xb2, 0xc3, 0xdb, 0xfc,
+  0xe4, 0xa9, 0xa5, 0xe9, 0x13, 0xcd, 0x1f, 0x48, 0xd9, 0x2b, 0x73, 0x57,
+  0x2d, 0xee, 0xa6, 0x72, 0x89, 0x80, 0xa5, 0x9e, 0x95, 0x4b, 0x91, 0xe1,
+  0xdd, 0x08, 0x35, 0x55, 0x52, 0x45, 0xc6, 0x96, 0xe4, 0xa3, 0x24, 0xe3,
+  0x59, 0x5a, 0x7c, 0x84, 0xfe, 0x00, 0x8d, 0x80, 0xee, 0x3e, 0x25, 0x9f,
+  0xa3, 0x0a, 0xb7, 0x00, 0x24, 0x08, 0x1f, 0x0c, 0x4c, 0xbe, 0x19, 0x09,
+  0xb7, 0x7b, 0x0e, 0xe6, 0x59, 0x8e, 0x3d, 0x2f, 0xf4, 0x8e, 0xe3, 0xe4,
+  0x26, 0x81, 0x7c, 0xc7, 0xc7, 0xa7, 0xe6, 0x62, 0xb2, 0x59, 0x66, 0xf0,
+  0xd1, 0x65, 0x33, 0x8a, 0x05, 0x29, 0x24, 0x90, 0x13, 0xab, 0x73, 0x08,
+  0x32, 0x96, 0x1e, 0x5a, 0xeb, 0x00, 0x01, 0x64, 0x6c, 0x17, 0xe4, 0x8f,
+  0xd7, 0xb6, 0x22, 0x90, 0x48, 0x6e, 0x16, 0x62, 0x60, 0x07, 0x76, 0x05,
+  0x82, 0xfc, 0x52, 0x55, 0x82, 0xb7, 0x3d, 0x72, 0x80, 0x40, 0x5b, 0xbb,
+  0x8f, 0x3b, 0xe1, 0x8c, 0x50, 0x0b, 0x31, 0x68, 0xa5, 0xb7, 0xad, 0x5c,
+  0x26, 0x7e, 0x3d, 0xe6, 0x05, 0x64, 0x52, 0xc3, 0xa9, 0x04, 0x3c, 0x2d,
+  0x1f, 0x98, 0xe6, 0x2c, 0xb4, 0xf3, 0x04, 0xb4, 0xe3, 0x0c, 0x07, 0xa2,
+  0xe8, 0xcd, 0xac, 0xb1, 0x8e, 0x8a, 0x9a, 0x19, 0xd6, 0xa0, 0x74, 0x4d,
+  0x21, 0x72, 0xaa, 0x16, 0x55, 0xb5, 0x0f, 0xcf, 0x67, 0xca, 0x9a, 0xd2,
+  0x1a, 0x99, 0x6c, 0xfd, 0x5b, 0x6b, 0x76, 0xf0, 0x8e, 0xae, 0x8b, 0x72,
+  0x30, 0x5e, 0xc2, 0x31, 0xe3, 0xd5, 0xd4, 0xe3, 0x24, 0xee, 0xf2, 0x8a,
+  0x35, 0x0f, 0xfe, 0x3d, 0x05, 0xa4, 0x41, 0x8f, 0xc1, 0x31, 0x6a, 0xe4,
+  0x4b, 0xb7, 0x99, 0xb6, 0x2c, 0xbf, 0x12, 0x27, 0x21, 0xb9, 0x62, 0xdf,
+  0x76, 0x80, 0xb2, 0xc8, 0xd6, 0x49, 0xe3, 0xd9, 0x34, 0xfd, 0x4e, 0xca,
+  0x45, 0x63, 0x6b, 0x53, 0x5c, 0x42, 0x4d, 0xc8, 0xa4, 0x62, 0x83, 0xe6,
+  0x52, 0x68, 0xe6, 0xd6, 0x6d, 0x43, 0x55, 0xe0, 0x98, 0x1a, 0x26, 0x9d,
+  0x71, 0x49, 0x9d, 0x95, 0x57, 0x09, 0x1f, 0xa6, 0xe6, 0xf2, 0xf2, 0x2f,
+  0xe7, 0xc7, 0xaf, 0xf4, 0xcd, 0x75, 0x6b, 0xc6, 0x8c, 0x89, 0x00, 0xcd,
+  0x65, 0xc2, 0x50, 0xec, 0xd5, 0xb1, 0x37, 0x9b, 0x6c, 0xd0, 0x28, 0x98,
+  0x87, 0x3f, 0x33, 0x48, 0x7e, 0x78, 0x7d, 0x32, 0x3a, 0x3f, 0x3d, 0x3b,
+  0x7a, 0xf5, 0xf2, 0x07, 0x15, 0xc9, 0x5f, 0x52, 0x8c, 0x90, 0xf5, 0x34,
+  0xfb, 0x33, 0xc7, 0xe8, 0x22, 0xef, 0xbd, 0x3b, 0xfe, 0xfe, 0x83, 0xb1,
+  0xc7, 0x5e, 0x51, 0x5d, 0x87, 0xfe, 0x6d, 0x3a, 0x93, 0x97, 0x48, 0x3f,
+  0x8d, 0xe8, 0x76, 0xc3, 0x36, 0x05, 0x67, 0x77, 0x62, 0x6d, 0x29, 0x61,
+  0x97, 0xa8, 0x74, 0xaf, 0x38, 0x5a, 0xaf, 0x6a, 0x5c, 0xda, 0xca, 0xab,
+  0x8f, 0x14, 0xfe, 0x76, 0xd7, 0xff, 0x66, 0xc3, 0xa0, 0x6a, 0xc2, 0x10,
+  0xf9, 0xd0, 0x1c, 0x00, 0xd7, 0xe5, 0x37, 0x0e, 0xd0, 0x2f, 0xfc, 0xe9,
+  0x15, 0xf9, 0xd1, 0x2c, 0x01, 0xad, 0x54, 0x93, 0x07, 0xe8, 0x45, 0x58,
+  0x6a, 0x85, 0x7a, 0x8d, 0x30, 0xf4, 0x9a, 0x4e, 0xa3, 0x72, 0x4c, 0x54,
+  0x18, 0xdb, 0x97, 0x54, 0xeb, 0x5a, 0xa3, 0x78, 0xd6, 0xf9, 0xf1, 0xc5,
+  0xe8, 0x64, 0x74, 0x49, 0x86, 0xab, 0x14, 0x59, 0x95, 0x20, 0x94, 0x56,
+  0xc0, 0x05, 0x69, 0x4b, 0x9b, 0x70, 0xd8, 0x2f, 0xec, 0xd3, 0x3a, 0xd1,
+  0x56, 0xcc, 0xb5, 0xb3, 0xb8, 0xe9, 0x06, 0xe0, 0xd4, 0x70, 0x52, 0x44,
+  0x99, 0x36, 0x3b, 0xbd, 0xd2, 0x03, 0x5c, 0xca, 0xd6, 0xe8, 0xd4, 0xb7,
+  0x41, 0x6d, 0x2a, 0xac, 0xce, 0x2c, 0x1f, 0x7b, 0x55, 0xed, 0xdb, 0x18,
+  0x12, 0x82, 0x27, 0x09, 0x45, 0x8f, 0x7f, 0x84, 0x34, 0x20, 0xe6, 0xa8,
+  0x11, 0xa4, 0xee, 0xb6, 0x5c, 0x6b, 0x92, 0xd6, 0xec, 0x27, 0xb0, 0x5b,
+  0xb7, 0x14, 0x8c, 0x16, 0xd5, 0xd3, 0xec, 0x4f, 0x3d, 0x14, 0xba, 0xb0,
+  0xbe, 0x81, 0xb0, 0x5a, 0x44, 0x36, 0x09, 0xe5, 0x9c, 0x53, 0x51, 0xc9,
+  0x3f, 0x69, 0xb4, 0x16, 0x50, 0x6b, 0x00, 0x28, 0x28, 0x23, 0x0b, 0x54,
+  0x10, 0x51, 0x1d, 0xaf, 0x29, 0x87, 0x15, 0xd4, 0x7a, 0x53, 0xd2, 0xb7,
+  0xe0, 0x82, 0xf7, 0x3f, 0xa6, 0xd7, 0x29, 0xcd, 0xe0, 0x78, 0xe9, 0x57,
+  0x6d, 0xb4, 0xbd, 0xe7, 0x02, 0x42, 0x98, 0x78, 0x40, 0xa4, 0xd3, 0x0a,
+  0x9e, 0x8c, 0x46, 0x4a, 0x45, 0xa8, 0xe1, 0x23, 0x78, 0xe7, 0x61, 0x9b,
+  0xc5, 0x4b, 0xf7, 0xa5, 0x1a, 0x61, 0xeb, 0x66, 0xd4, 0x2b, 0xf3, 0x4a,
+  0xdb, 0xb7, 0xca, 0x14, 0xb8, 0xc8, 0x4e, 0xc5, 0x9a, 0x22, 0x8e, 0xc5,
+  0xc4, 0x5e, 0xc6, 0x94, 0x75, 0x48, 0x00, 0x83, 0x4a, 0x18, 0xd2, 0x8c,
+  0xf8, 0xa3, 0xd0, 0x12, 0x6a, 0xc3, 0xa2, 0x68, 0x3a, 0x85, 0xdd, 0x95,
+  0x3d, 0xd3, 0xe5, 0x71, 0xf0, 0x74, 0x7b, 0xdb, 0x8a, 0xe3, 0x6b, 0xf7,
+  0xf2, 0x41, 0xcb, 0x90, 0xa1, 0x8b, 0xd5, 0xe7, 0x84, 0xcb, 0x14, 0xf9,
+  0x7d, 0x1a, 0xd8, 0xf1, 0xf2, 0xc4, 0x6b, 0xc9, 0xbe, 0xb7, 0xf8, 0x14,
+  0x08, 0xbc, 0x56, 0x81, 0x6c, 0x1a, 0x5d, 0x0b, 0x1b, 0x60, 0xf4, 0xcb,
+  0x05, 0xaa, 0x9d, 0x4d, 0xa4, 0x86, 0x04, 0x50, 0xfb, 0xb6, 0x41, 0xbd,
+  0x44, 0xdc, 0x64, 0x99, 0x59, 0x7d, 0xfb, 0xfe, 0xf4, 0xf2, 0xe4, 0xdc,
+  0xc7, 0x1f, 0x24, 0xdf, 0x9f, 0x5c, 0x7e, 0x63, 0xb4, 0xf6, 0xd1, 0xc9,
+  0xbb, 0xaf, 0x4f, 0x29, 0xc8, 0xfb, 0xf6, 0xed, 0xe1, 0x3b, 0xa2, 0x17,
+  0x79, 0x07, 0x68, 0xf3, 0x21, 0x0c, 0x07, 0x12, 0x47, 0x66, 0x8a, 0x69,
+  0xef, 0x10, 0xf1, 0x44, 0x3f, 0x8c, 0x35, 0x76, 0x8e, 0x1f, 0x17, 0x40,
+  0x2f, 0xda, 0x93, 0xb4, 0x81, 0x72, 0xf6, 0xb0, 0x0c, 0xee, 0xc9, 0x8d,
+  0x8b, 0x63, 0x4b, 0xc6, 0x16, 0x4d, 0x74, 0xb7, 0x78, 0x04, 0x92, 0x9c,
+  0x59, 0x43, 0x07, 0x8e, 0x86, 0xef, 0x6e, 0x17, 0xbf, 0xc4, 0x8a, 0x5a,
+  0xea, 0x69, 0xd8, 0x31, 0x46, 0x67, 0x2a, 0xc4, 0xae, 0xe1, 0xfb, 0xb2,
+  0x9d, 0x74, 0x64, 0xbe, 0x88, 0x2e, 0x01, 0x48, 0x54, 0x3a, 0x47, 0x3a,
+  0x59, 0x9c, 0x64, 0x34, 0x5f, 0x9c, 0xfa, 0x17, 0xea, 0xb0, 0x55, 0x1e,
+  0x50, 0xf1, 0xc1, 0xd7, 0x65, 0xe6, 0x4e, 0xee, 0xe0, 0x4c, 0x9b, 0xd1,
+  0xf8, 0x0f, 0xcc, 0x30, 0xbe, 0x5c, 0x06, 0x24, 0xd7, 0x06, 0x66, 0x49,
+  0xb6, 0x6d, 0x49, 0x30, 0x31, 0xfb, 0x0f, 0x58, 0xad, 0xb4, 0xe4, 0xea,
+  0x5a, 0x49, 0xd3, 0x34, 0xa7, 0x2d, 0x0b, 0x16, 0x0d, 0x09, 0x19, 0x92,
+  0xd7, 0x28, 0x63, 0x86, 0xb4, 0xd4, 0xc7, 0x5a, 0xb4, 0x0c, 0x7c, 0xdf,
+  0x9d, 0x69, 0x70, 0x52, 0xf3, 0x5a, 0x6d, 0x8d, 0x46, 0x07, 0x9d, 0x40,
+  0x15, 0x44, 0xb8, 0x2b, 0x32, 0x42, 0x39, 0xd0, 0x5f, 0xff, 0xba, 0xb8,
+  0xf6, 0x53, 0x5e, 0xb9, 0x06, 0xfc, 0x22, 0xb6, 0xb2, 0xc2, 0xe4, 0xce,
+  0x6a, 0x91, 0xd4, 0x9d, 0x6c, 0xf5, 0x40, 0x8a, 0x49, 0xee, 0xad, 0xfa,
+  0xa0, 0xfc, 0x7e, 0x3f, 0xfc, 0xfd, 0x3e, 0x07, 0x19, 0x4e, 0xce, 0x6f,
+  0x9f, 0x5b, 0x06, 0x64, 0x26, 0x72, 0xf0, 0xd5, 0x37, 0x55, 0x0a, 0x68,
+  0x87, 0xd1, 0xa3, 0xe2, 0x32, 0x67, 0x99, 0xc8, 0xc1, 0x3f, 0x82, 0x90,
+  0x2e, 0x2b, 0x24, 0xa8, 0xe3, 0x11, 0x44, 0x57, 0x18, 0xf7, 0x0f, 0xcf,
+  0x13, 0xe4, 0x14, 0x5d, 0x57, 0xa6, 0x41, 0xf3, 0xfb, 0xa7, 0x36, 0x19,
+  0xc7, 0xc9, 0x34, 0xd4, 0x53, 0x94, 0x74, 0xc8, 0x41, 0xbe, 0xb8, 0xd5,
+  0x82, 0xdc, 0xe6, 0xaf, 0xcf, 0x6d, 0x2d, 0xad, 0xba, 0x15, 0xa4, 0x6e,
+  0xb1, 0x8d, 0xab, 0xf0, 0x47, 0xe7, 0xe0, 0x03, 0x23, 0xc9, 0xe0, 0x8c,
+  0x8c, 0x4e, 0xbf, 0xb2, 0x76, 0x46, 0x86, 0x57, 0x51, 0x18, 0x59, 0x5f,
+  0x33, 0xa4, 0xc6, 0x43, 0x1e, 0x79, 0xc2, 0xc5, 0xaf, 0xf4, 0x21, 0xab,
+  0xfe, 0xe3, 0xfe, 0xee, 0xee, 0xde, 0xc1, 0xde, 0xe7, 0x2f, 0x76, 0x0f,
+  0xf6, 0xf6, 0xf6, 0xf6, 0x0f, 0xf6, 0x0e, 0x0e, 0xf6, 0x77, 0x7f, 0xde,
+  0x21, 0xff, 0xd1, 0x6d, 0x9e, 0xdd, 0x69, 0x64, 0x9a, 0xfd, 0x7c, 0xd8,
+  0xd6, 0x75, 0x73, 0xcf, 0x60, 0x00, 0xf6, 0xf4, 0x61, 0x5f, 0xab, 0xe6,
+  0x63, 0x69, 0x65, 0x38, 0x67, 0x86, 0x29, 0x24, 0x17, 0x2e, 0xd5, 0x1c,
+  0x67, 0xd0, 0xa3, 0xb9, 0x47, 0xaf, 0xfe, 0xb6, 0xa4, 0x91, 0x8e, 0x49,
+  0x1d, 0x80, 0x4e, 0x53, 0xdb, 0xc4, 0xde, 0xeb, 0x59, 0x39, 0x1e, 0x23,
+  0x75, 0xc9, 0xe6, 0xb6, 0x0f, 0x13, 0xe2, 0x52, 0xfe, 0xc8, 0x5b, 0x42,
+  0x42, 0x87, 0x40, 0x15, 0xf3, 0x41, 0x77, 0xb3, 0xe3, 0x3c, 0x7b, 0x66,
+  0x07, 0x4c, 0x4a, 0xaa, 0x2b, 0x02, 0x4f, 0xb7, 0x99, 0xa4, 0xca, 0xe6,
+  0xbc, 0x25, 0x57, 0xd9, 0xe7, 0xbb, 0x07, 0x07, 0x54, 0xfa, 0xe7, 0x8f,
+  0x7b, 0x7d, 0x01, 0x84, 0xfb, 0x59, 0x2e, 0x7d, 0x7b, 0x3d, 0x71, 0x1b,
+  0x64, 0x7e, 0xf8, 0xe3, 0x2c, 0x96, 0xf3, 0xac, 0x32, 0x86, 0x08, 0xd5,
+  0x79, 0x06, 0x22, 0x1a, 0x1e, 0x43, 0xe6, 0x58, 0x04, 0x23, 0x53, 0x27,
+  0x1b, 0x87, 0x6e, 0x04, 0xe6, 0x8a, 0xb6, 0x2c, 0x14, 0xcc, 0x17, 0xe6,
+  0x86, 0x68, 0xdb, 0x46, 0xf9, 0x2b, 0x80, 0x35, 0x39, 0x97, 0x8d, 0xb3,
+  0xf8, 0xf8, 0xbe, 0x15, 0xc9, 0x80, 0xc3, 0x55, 0x70, 0xf5, 0x61, 0x7a,
+  0x9c, 0x75, 0x78, 0x78, 0x4c, 0x3c, 0xe5, 0x56, 0x12, 0xf8, 0x7e, 0xf4,
+  0x06, 0xbb, 0xff, 0x6c, 0xef, 0x67, 0xc6, 0x2b, 0xd3, 0x81, 0x70, 0xb3,
+  0xa6, 0xc1, 0x17, 0x3f, 0x45, 0x4b, 0x37, 0xd2, 0x56, 0x36, 0xbc, 0x1e,
+  0xaa, 0x56, 0x21, 0xde, 0xc6, 0xbe, 0x9f, 0x35, 0xc2, 0x75, 0x0a, 0xb8,
+  0xa6, 0x38, 0xec, 0x34, 0x75, 0x28, 0xf9, 0xae, 0x5a, 0x1d, 0x98, 0xad,
+  0x1c, 0xf7, 0xf6, 0xf8, 0xf2, 0xd0, 0x5c, 0x1e, 0xdf, 0x86, 0x86, 0xfe,
+  0xdb, 0xcc, 0x58, 0xe5, 0xb4, 0xd8, 0x5b, 0x38, 0x0f, 0xb7, 0x96, 0x1d,
+  0x9c, 0xe6, 0xee, 0x69, 0xb2, 0x45, 0x21, 0xca, 0x67, 0x9f, 0x3f, 0x7b,
+  0xba, 0xcd, 0xa5, 0x58, 0xf8, 0xb5, 0x8c, 0x12, 0xc4, 0xe0, 0x95, 0x14,
+  0x76, 0x2a, 0x72, 0xe0, 0x5b, 0x91, 0xf4, 0xfe, 0xe2, 0x84, 0x8f, 0xf4,
+  0x0d, 0x93, 0x88, 0xb0, 0xd1, 0xdb, 0x65, 0x93, 0xc4, 0x7d, 0xeb, 0x29,
+  0x19, 0xf3, 0x9c, 0x98, 0x4e, 0x41, 0xbe, 0x40, 0x17, 0xa3, 0x25, 0xff,
+  0xc0, 0x0d, 0x6b, 0x0e, 0x68, 0x89, 0x5a, 0xa2, 0x52, 0xf7, 0x0d, 0x9d,
+  0x01, 0x35, 0x2a, 0x31, 0x33, 0xcb, 0x3e, 0xb3, 0x16, 0x18, 0xd9, 0x41,
+  0x2c, 0x8f, 0x58, 0xfa, 0x77, 0xd8, 0xf8, 0xb7, 0x19, 0xf2, 0x03, 0xa5,
+  0x90, 0xb6, 0xa1, 0x79, 0x50, 0xb1, 0xe3, 0xd4, 0xe3, 0x56, 0x3a, 0xaa,
+  0xd3, 0x36, 0x3d, 0x52, 0x37, 0xe5, 0x73, 0x12, 0x51, 0x64, 0xa7, 0x90,
+  0xf1, 0x2c, 0x0d, 0x3c, 0x8b, 0x79, 0xcb, 0xe5, 0x23, 0x64, 0x1a, 0x20,
+  0xb5, 0x40, 0xce, 0xc1, 0xdc, 0x5c, 0x47, 0xd5, 0xbd, 0x68, 0xd8, 0x30,
+  0x13, 0x6c, 0xe9, 0xc3, 0x0e, 0x22, 0x88, 0x69, 0x63, 0xfc, 0x54, 0x1a,
+  0xcb, 0x9a, 0xa4, 0x46, 0x73, 0xab, 0x03, 0x2d, 0xb1, 0x3f, 0x98, 0xeb,
+  0xaf, 0x3c, 0xc0, 0x9c, 0x9f, 0x5f, 0xaa, 0x7f, 0xd7, 0xe7, 0x3c, 0x2c,
+  0x75, 0xda, 0x1d, 0xd8, 0x8a, 0xae, 0x31, 0xa3, 0x2e, 0xf0, 0x93, 0xd6,
+  0xfa, 0xd9, 0x42, 0x4f, 0x76, 0x76, 0xb6, 0x57, 0xf4, 0x46, 0x7e, 0x1d,
+  0xfb, 0xfa, 0x39, 0x48, 0x89, 0xbc, 0x94, 0x6e, 0xb3, 0xe6, 0xed, 0xc6,
+  0x69, 0x6a, 0xf3, 0x9a, 0x56, 0x72, 0x2a, 0xc0, 0x78, 0x76, 0xa3, 0xaa,
+  0x79, 0xc5, 0x9d, 0x57, 0xe1, 0xd5, 0x1e, 0x84, 0x60, 0xf1, 0x94, 0x24,
+  0x8e, 0x0b, 0xc0, 0x33, 0x2a, 0x60, 0x98, 0x1c, 0xd2, 0x6e, 0x68, 0x7d,
+  0xd8, 0xeb, 0xb2, 0xfa, 0x73, 0xb5, 0xee, 0x81, 0x2a, 0xb1, 0xd6, 0x9d,
+  0xd7, 0xf7, 0x7e, 0xa9, 0x6a, 0x9e, 0x72, 0x82, 0x58, 0x67, 0xef, 0x38,
+  0x63, 0xfe, 0x23, 0x2b, 0x39, 0x3d, 0x3e, 0xf3, 0xbc, 0x68, 0xd5, 0xf4,
+  0x95, 0x46, 0x80, 0x74, 0xb1, 0x83, 0x00, 0x55, 0x6a, 0xa5, 0x14, 0xdc,
+  0x7e, 0x9d, 0x4f, 0x50, 0x90, 0x48, 0x56, 0x0b, 0x2b, 0xd6, 0x76, 0x13,
+  0x33, 0x48, 0x61, 0xcc, 0xdb, 0xab, 0x35, 0x1f, 0x7d, 0xde, 0xf1, 0x8c,
+  0x62, 0xb2, 0x90, 0x0a, 0x12, 0x18, 0x87, 0x27, 0xa7, 0x04, 0x8b, 0x3d,
+  0x35, 0x26, 0xde, 0x48, 0x55, 0x25, 0xc0, 0xc4, 0x01, 0xd8, 0x2d, 0x72,
+  0x52, 0xd7, 0xfb, 0xb6, 0xe0, 0x90, 0x66, 0x4b, 0xc2, 0x6e, 0xa1, 0x10,
+  0x2b, 0x9b, 0xfe, 0x42, 0x12, 0x6a, 0x56, 0xcb, 0xe8, 0x4b, 0x35, 0x3b,
+  0x6d, 0x41, 0xc0, 0x4d, 0xa5, 0x29, 0x6e, 0xb3, 0x59, 0xb9, 0x80, 0x49,
+  0xcd, 0x62, 0x1a, 0xf5, 0xce, 0xaa, 0x6c, 0x96, 0xdd, 0x8a, 0x77, 0x95,
+  0xe9, 0x8c, 0xbf, 0x16, 0xc4, 0x02, 0xd7, 0x26, 0x6e, 0x24, 0xab, 0x25,
+  0x40, 0x45, 0xd0, 0x47, 0x77, 0x98, 0x15, 0xca, 0x91, 0xfd, 0xd0, 0xf7,
+  0x5d, 0x11, 0x0e, 0x33, 0x43, 0xb6, 0x88, 0xc3, 0x80, 0x8c, 0x5c, 0x01,
+  0xb7, 0xbf, 0xaf, 0x85, 0xcf, 0xa5, 0x9b, 0x2d, 0xc2, 0xce, 0x42, 0x2d,
+  0x6f, 0xc9, 0xde, 0xf7, 0xbe, 0xd2, 0xa4, 0x73, 0xc8, 0x80, 0x6e, 0x9e,
+  0x3e, 0x79, 0x6a, 0xd1, 0xd2, 0x95, 0xb1, 0xc8, 0xa8, 0x20, 0x4e, 0x9f,
+  0x53, 0xc7, 0xb1, 0x39, 0xca, 0x99, 0xf9, 0x27, 0x00, 0x95, 0x0c, 0xb1,
+  0x36, 0xcf, 0x52, 0xbc, 0xd9, 0xc3, 0xb4, 0x13, 0xe6, 0x06, 0xe9, 0x50,
+  0xf2, 0x2f, 0x34, 0x55, 0x2d, 0xc1, 0x26, 0xde, 0xe7, 0xdb, 0x90, 0xe2,
+  0xbc, 0xcd, 0x64, 0x68, 0x7b, 0x2f, 0xa8, 0x1f, 0xee, 0xff, 0x6b, 0x9e,
+  0x4a, 0x1a, 0x04, 0xeb, 0x21, 0x65, 0xa5, 0xd3, 0xcb, 0xcb, 0x30, 0xe6,
+  0x6a, 0xa4, 0x5f, 0x2d, 0x29, 0xfe, 0x68, 0x0b, 0x78, 0x51, 0x2f, 0xe6,
+  0x74, 0x17, 0x65, 0x5c, 0xf8, 0xd7, 0x36, 0x4e, 0x26, 0xdd, 0xd2, 0x2c,
+  0x2f, 0xb7, 0x7e, 0x5a, 0xde, 0x51, 0xd5, 0xe2, 0xab, 0xab, 0x7c, 0x42,
+  0xb1, 0x7f, 0xc7, 0x1a, 0x4e, 0x32, 0x9e, 0x1f, 0x9c, 0x6b, 0xf5, 0x35,
+  0x33, 0xb6, 0x64, 0xb1, 0x1c, 0xcf, 0xcc, 0x65, 0xad, 0xf9, 0x2c, 0xe6,
+  0x54, 0x61, 0x96, 0x8c, 0xb5, 0x85, 0xe6, 0x98, 0xde, 0x10, 0x06, 0x67,
+  0x27, 0x87, 0x02, 0xe1, 0xd2, 0x0a, 0x2a, 0xf8, 0x1c, 0xe5, 0x9b, 0x29,
+  0xd1, 0x60, 0x5e, 0x16, 0x9a, 0x0e, 0xb7, 0xac, 0x99, 0x4e, 0x16, 0xd1,
+  0x1c, 0xae, 0x92, 0x95, 0xe0, 0x49, 0x29, 0xda, 0x20, 0xa6, 0x39, 0xde,
+  0xf0, 0x07, 0x33, 0x1d, 0x2c, 0x6e, 0x16, 0xba, 0xd2, 0xaa, 0x10, 0xb1,
+  0xb6, 0x24, 0x09, 0x58, 0x38, 0x7a, 0xe7, 0xdf, 0x9c, 0x0f, 0x93, 0x63,
+  0x6a, 0x89, 0xfb, 0x24, 0x8a, 0x2e, 0x7c, 0x34, 0xe6, 0x77, 0x66, 0xb0,
+  0xd7, 0x74, 0x81, 0x9d, 0x55, 0xf4, 0x2f, 0xb4, 0x26, 0xbf, 0x64, 0xb7,
+  0x2c, 0x7e, 0xdb, 0xfe, 0xaa, 0x69, 0x48, 0xd3, 0x2c, 0xce, 0xf1, 0x77,
+  0x73, 0x56, 0x8c, 0xfa, 0x65, 0x97, 0xc9, 0x7d, 0xa1, 0xac, 0x5a, 0xe4,
+  0x5b, 0xfc, 0x66, 0x62, 0xb4, 0x32, 0xe8, 0x56, 0x8b, 0x7b, 0xac, 0x9f,
+  0x27, 0x1c, 0x59, 0xff, 0xe4, 0x06, 0xbc, 0xad, 0x25, 0xdb, 0xcf, 0x02,
+  0x78, 0xf9, 0x60, 0x55, 0x4c, 0x3b, 0x55, 0x65, 0x02, 0x77, 0x2e, 0x25,
+  0x30, 0xcd, 0x1e, 0x8d, 0x3a, 0xeb, 0x9c, 0x57, 0xcf, 0x7e, 0xd3, 0x5f,
+  0x90, 0xd9, 0x4d, 0x7d, 0x31, 0x5a, 0x8b, 0x59, 0x82, 0xe1, 0xc6, 0xff,
+  0x17, 0xbd, 0x21, 0x92, 0x46, 0x36, 0x05, 0x03, 0x00,
 };
 #define BUF_SIZE 0x10000
 static voidpf zalloc_func(voidpf opaque, unsigned int items, unsigned int size)
diff --git a/src/tool_operate.c b/src/tool_operate.c
index 5401955..e8b434a 100644
--- a/src/tool_operate.c
+++ b/src/tool_operate.c
@@ -25,12 +25,6 @@
 #  include <fcntl.h>
 #endif
 
-#ifdef HAVE_UTIME_H
-#  include <utime.h>
-#elif defined(HAVE_SYS_UTIME_H)
-#  include <sys/utime.h>
-#endif
-
 #ifdef HAVE_LOCALE_H
 #  include <locale.h>
 #endif
@@ -56,6 +50,7 @@
 #include "tool_dirhie.h"
 #include "tool_doswin.h"
 #include "tool_easysrc.h"
+#include "tool_filetime.h"
 #include "tool_getparam.h"
 #include "tool_helpers.h"
 #include "tool_homedir.h"
@@ -174,79 +169,6 @@
 }
 #endif /* __VMS */
 
-#if defined(HAVE_UTIME) || \
-    (defined(WIN32) && (SIZEOF_CURL_OFF_T >= 8))
-static void setfiletime(long filetime, const char *filename,
-                        FILE *error_stream)
-{
-  if(filetime >= 0) {
-/* Windows utime() may attempt to adjust our unix gmt 'filetime' by a daylight
-   saving time offset and since it's GMT that is bad behavior. When we have
-   access to a 64-bit type we can bypass utime and set the times directly. */
-#if defined(WIN32) && (SIZEOF_CURL_OFF_T >= 8)
-    HANDLE hfile;
-
-#if (SIZEOF_LONG >= 8)
-    /* 910670515199 is the maximum unix filetime that can be used as a
-       Windows FILETIME without overflow: 30827-12-31T23:59:59. */
-    if(filetime > CURL_OFF_T_C(910670515199)) {
-      fprintf(error_stream,
-              "Failed to set filetime %ld on outfile: overflow\n",
-              filetime);
-      return;
-    }
-#endif /* SIZEOF_LONG >= 8 */
-
-    hfile = CreateFileA(filename, FILE_WRITE_ATTRIBUTES,
-                        (FILE_SHARE_READ | FILE_SHARE_WRITE |
-                         FILE_SHARE_DELETE),
-                        NULL, OPEN_EXISTING, 0, NULL);
-    if(hfile != INVALID_HANDLE_VALUE) {
-      curl_off_t converted = ((curl_off_t)filetime * 10000000) +
-                             CURL_OFF_T_C(116444736000000000);
-      FILETIME ft;
-      ft.dwLowDateTime = (DWORD)(converted & 0xFFFFFFFF);
-      ft.dwHighDateTime = (DWORD)(converted >> 32);
-      if(!SetFileTime(hfile, NULL, &ft, &ft)) {
-        fprintf(error_stream,
-                "Failed to set filetime %ld on outfile: "
-                "SetFileTime failed: GetLastError %u\n",
-                filetime, GetLastError());
-      }
-      CloseHandle(hfile);
-    }
-    else {
-      fprintf(error_stream,
-              "Failed to set filetime %ld on outfile: "
-              "CreateFile failed: GetLastError %u\n",
-              filetime, GetLastError());
-    }
-
-#elif defined(HAVE_UTIMES)
-    struct timeval times[2];
-    times[0].tv_sec = times[1].tv_sec = filetime;
-    times[0].tv_usec = times[1].tv_usec = 0;
-    if(utimes(filename, times)) {
-      fprintf(error_stream,
-              "Failed to set filetime %ld on outfile: errno %d\n",
-              filetime, errno);
-    }
-
-#elif defined(HAVE_UTIME)
-    struct utimbuf times;
-    times.actime = (time_t)filetime;
-    times.modtime = (time_t)filetime;
-    if(utime(filename, &times)) {
-      fprintf(error_stream,
-              "Failed to set filetime %ld on outfile: errno %d\n",
-              filetime, errno);
-    }
-#endif
-  }
-}
-#endif /* defined(HAVE_UTIME) || \
-          (defined(WIN32) && (SIZEOF_CURL_OFF_T >= 8)) */
-
 #define BUFFER_SIZE (100*1024)
 
 static CURLcode operate_do(struct GlobalConfig *global,
@@ -710,7 +632,7 @@
            * to be considered with one appended if implied CC
            */
 #ifdef __VMS
-          /* Calculate the real upload site for VMS */
+          /* Calculate the real upload size for VMS */
           infd = -1;
           if(stat(uploadfile, &fileinfo) == 0) {
             fileinfo.st_size = VmsSpecialSize(uploadfile, &fileinfo);
@@ -1232,7 +1154,7 @@
 #endif
 
         my_setopt_enum(curl, CURLOPT_TIMECONDITION, (long)config->timecond);
-        my_setopt(curl, CURLOPT_TIMEVALUE, (long)config->condtime);
+        my_setopt(curl, CURLOPT_TIMEVALUE_LARGE, config->condtime);
         my_setopt_str(curl, CURLOPT_CUSTOMREQUEST, config->customrequest);
         customrequest_helper(config, config->httpreq, config->customrequest);
         my_setopt(curl, CURLOPT_STDERR, global->errors);
@@ -1518,6 +1440,11 @@
         if(config->tftp_no_options)
           my_setopt(curl, CURLOPT_TFTP_NO_OPTIONS, 1L);
 
+        /* new in 7.59.0 */
+        if(config->happy_eyeballs_timeout_ms != CURL_HET_DEFAULT)
+          my_setopt(curl, CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS,
+                    config->happy_eyeballs_timeout_ms);
+
         /* initialize retry vars for loop below */
         retry_sleep_default = (config->retry_delay) ?
           config->retry_delay*1000L : RETRY_SLEEP_DEFAULT; /* ms */
@@ -1841,18 +1768,13 @@
         }
 #endif
 
-#if defined(HAVE_UTIME) || \
-    (defined(WIN32) && (SIZEOF_CURL_OFF_T >= 8))
         /* File time can only be set _after_ the file has been closed */
         if(!result && config->remote_time && outs.s_isreg && outs.filename) {
           /* Ask libcurl if we got a remote file time */
-          long filetime = -1;
-          curl_easy_getinfo(curl, CURLINFO_FILETIME, &filetime);
-          if(filetime >= 0)
-            setfiletime(filetime, outs.filename, config->global->errors);
+          curl_off_t filetime = -1;
+          curl_easy_getinfo(curl, CURLINFO_FILETIME_T, &filetime);
+          setfiletime(filetime, outs.filename, config->global->errors);
         }
-#endif /* defined(HAVE_UTIME) || \
-          (defined(WIN32) && (SIZEOF_CURL_OFF_T >= 8)) */
 
 #ifdef USE_METALINK
         if(!metalink && config->use_metalink && result == CURLE_OK) {
diff --git a/src/tool_version.h b/src/tool_version.h
index d5424df..6b0b55e 100644
--- a/src/tool_version.h
+++ b/src/tool_version.h
@@ -25,7 +25,7 @@
 
 #define CURL_NAME "curl"
 #define CURL_COPYRIGHT LIBCURL_COPYRIGHT
-#define CURL_VERSION "7.58.0"
+#define CURL_VERSION "7.59.0"
 #define CURL_VERSION_MAJOR LIBCURL_VERSION_MAJOR
 #define CURL_VERSION_MINOR LIBCURL_VERSION_MINOR
 #define CURL_VERSION_PATCH LIBCURL_VERSION_PATCH
diff --git a/tests/data/Makefile.inc b/tests/data/Makefile.inc
index 9635d12..97daf00 100644
--- a/tests/data/Makefile.inc
+++ b/tests/data/Makefile.inc
@@ -55,8 +55,11 @@
 test289 test290 test291 test292 test293 test294 test295 test296 test297 \
 test298 test299 test300 test301 test302 test303 test304 test305 test306 \
 test307 test308 test309 test310 test311 test312 test313 test314 test315 \
-test316 test317 test318         test320 test321 test322 test323 test324 \
-test325 \
+test316 test317 test318 test319 test320 test321 test322 test323 test324 \
+test325 test326 \
+\
+test340 \
+\
 test350 test351 test352 test353 test354 \
 test393 test394 test395 \
 \
@@ -80,7 +83,7 @@
 test626 test627 test628 test629 test630 test631 test632 test633 test634 \
 test635 test636 test637 test638 test639 test640 test641 test642 \
 test643 test644 test645 test646 test647 test648 test649 test650 test651 \
-test652 test653 test654 \
+test652 test653 test654 test655 \
 \
 test700 test701 test702 test703 test704 test705 test706 test707 test708 \
 test709 test710 test711 test712 test713 test714 test715 \
@@ -103,7 +106,7 @@
 test918 test919 test920 test921 test922 test923 test924 test925 test926 \
 test927 test928 test929 test930 test931 test932 test933 test934 test935 \
 test936 test937 test938 test939 test940 test941 test942 test943 test944 \
-test945 test946 test947 test948 test949 test950 \
+test945 test946 test947 test948 test949 test950 test951 test952 \
 \
 test1000 test1001 test1002 test1003 test1004 test1005 test1006 test1007 \
 test1008 test1009 test1010 test1011 test1012 test1013 test1014 test1015 \
@@ -124,9 +127,10 @@
 test1128 test1129 test1130 test1131 test1132 test1133 test1134 test1135 \
 test1136 test1137 test1138 test1139 test1140 test1141 test1142 test1143 \
 test1144 test1145 test1146 test1147 test1148 test1149 test1150 test1151 \
-test1152 test1153 \
+test1152 test1153 test1154 \
 \
 test1160 test1161 test1162 test1163 \
+test1170 test1171 \
 test1200 test1201 test1202 test1203 test1204 test1205 test1206 test1207 \
 test1208 test1209 test1210 test1211 test1212 test1213 test1214 test1215 \
 test1216 test1217 test1218 test1219 \
@@ -135,10 +139,10 @@
 test1236 test1237 test1238 test1239 test1240 test1241 test1242 test1243 \
 test1244 test1245 test1246 test1247 test1248 test1249 test1250 test1251 \
 test1252 test1253 test1254 test1255 test1256 test1257 test1258 test1259 \
-test1260 test1261 test1262 test1263 test1264 \
+test1260 test1261 test1262 test1263 test1264 test1265 \
 \
 test1280 test1281 test1282 test1283 test1284 test1285 test1286 test1287 \
-test1288 test1289 test1290 test1291 \
+test1288 test1289 test1290 test1291 test1292 \
 test1298 test1299 \
 test1300 test1301 test1302 test1303 test1304 test1305 test1306 test1307 \
 test1308 test1309 test1310 test1311 test1312 test1313 test1314 test1315 \
@@ -171,8 +175,8 @@
 test1525 test1526 test1527 test1528 test1529 test1530 test1531 test1532 \
 test1533 test1534 test1535 test1536 test1537 test1538 \
 test1540 \
-test1550 test1551 test1552 test1553 test1554 \
-test1600 test1601 test1602 test1603 test1604 test1605 test1606 \
+test1550 test1551 test1552 test1553 test1554 test1555 test1556 \
+test1600 test1601 test1602 test1603 test1604 test1605 test1606 test1607 \
 \
 test1700 test1701 test1702 \
 \
diff --git a/tests/data/test1154 b/tests/data/test1154
new file mode 100644
index 0000000..cb056d1
--- /dev/null
+++ b/tests/data/test1154
@@ -0,0 +1,57 @@
+<testcase>
+<info>
+<keywords>
+HTTP
+HTTP GET
+</keywords>
+</info>
+
+#
+# Server-side
+<reply>
+<data>
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 6
+Connection: close
+Long: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+
+-foo-
+</data>
+<datacheck>
+</datacheck>
+</reply>
+
+#
+# Client-side
+<client>
+<server>
+http
+</server>
+ <name>
+HTTP GET
+ </name>
+ <command>
+http://%HOSTIP:%HTTPPORT/1154
+</command>
+</client>
+
+#
+# Verify data after the test has been "shot"
+<verify>
+<strip>
+^User-Agent:.*
+</strip>
+<protocol>
+GET /1154 HTTP/1.1

+Host: %HOSTIP:%HTTPPORT

+Accept: */*

+

+</protocol>
+# 27 == CURLE_OUT_OF_MEMORY
+<errorcode>
+27
+</errorcode>
+</verify>
+</testcase>
diff --git a/tests/data/test1170 b/tests/data/test1170
new file mode 100644
index 0000000..a4d9eb8
--- /dev/null
+++ b/tests/data/test1170
@@ -0,0 +1,70 @@
+<testcase>
+<info>
+<keywords>
+HTTP
+HTTP GET
+compressed
+Transfer-Encoding
+</keywords>
+</info>
+#
+# Server-side
+<reply>
+<data base64="yes">
+SFRUUC8xLjEgMjAwIE9LDQpEYXRlOiBNb24sIDI5IE5vdiAyMDA0IDIxOjU2OjUzIEdNVA0KU2Vy
+dmVyOiBBcGFjaGUvMS4zLjMxIChEZWJpYW4gR05VL0xpbnV4KSBtb2RfZ3ppcC8xLjMuMjYuMWEg
+UEhQLzQuMy45LTEgbW9kX3NzbC8yLjguMjAgT3BlblNTTC8wLjkuN2QgbW9kX3BlcmwvMS4yOQ0K
+VmFyeTogQWNjZXB0LUVuY29kaW5nDQpDb250ZW50LVR5cGU6IHRleHQvaHRtbDsgY2hhcnNldD1J
+U08tODg1OS0xDQpUcmFuc2Zlci1FbmNvZGluZzogZ3ppcA0KQ29udGVudC1MZW5ndGg6IDQ0DQoN
+Ch+LCAh5nqtBAANsYWxhbGEAy8nMS1Uw5FLIAdFGXAoQhjEXAAoCcWAYAAAA
+</data>
+
+<datacheck>
+HTTP/1.1 200 OK

+Date: Mon, 29 Nov 2004 21:56:53 GMT

+Server: Apache/1.3.31 (Debian GNU/Linux) mod_gzip/1.3.26.1a PHP/4.3.9-1 mod_ssl/2.8.20 OpenSSL/0.9.7d mod_perl/1.29

+Vary: Accept-Encoding

+Content-Type: text/html; charset=ISO-8859-1

+Transfer-Encoding: gzip

+Content-Length: 44

+

+line 1
+ line 2
+  line 3
+</datacheck>
+
+</reply>
+
+#
+# Client-side
+<client>
+<features>
+libz
+</features>
+<server>
+http
+</server>
+ <name>
+HTTP GET transfer-encoding with removed Connection:
+ </name>
+ <command>
+http://%HOSTIP:%HTTPPORT/1170 --tr-encoding -H "Connection:"
+</command>
+</client>
+
+#
+# Verify data after the test has been "shot"
+<verify>
+<strip>
+^User-Agent:.*
+</strip>
+<protocol>
+GET /1170 HTTP/1.1

+Host: %HOSTIP:%HTTPPORT

+Accept: */*

+Connection: TE

+TE: gzip

+

+</protocol>
+</verify>
+</testcase>
diff --git a/tests/data/test1171 b/tests/data/test1171
new file mode 100644
index 0000000..0f7ee90
--- /dev/null
+++ b/tests/data/test1171
@@ -0,0 +1,70 @@
+<testcase>
+<info>
+<keywords>
+HTTP
+HTTP GET
+compressed
+Transfer-Encoding
+</keywords>
+</info>
+#
+# Server-side
+<reply>
+<data base64="yes">
+SFRUUC8xLjEgMjAwIE9LDQpEYXRlOiBNb24sIDI5IE5vdiAyMDA0IDIxOjU2OjUzIEdNVA0KU2Vy
+dmVyOiBBcGFjaGUvMS4zLjMxIChEZWJpYW4gR05VL0xpbnV4KSBtb2RfZ3ppcC8xLjMuMjYuMWEg
+UEhQLzQuMy45LTEgbW9kX3NzbC8yLjguMjAgT3BlblNTTC8wLjkuN2QgbW9kX3BlcmwvMS4yOQ0K
+VmFyeTogQWNjZXB0LUVuY29kaW5nDQpDb250ZW50LVR5cGU6IHRleHQvaHRtbDsgY2hhcnNldD1J
+U08tODg1OS0xDQpUcmFuc2Zlci1FbmNvZGluZzogZ3ppcA0KQ29udGVudC1MZW5ndGg6IDQ0DQoN
+Ch+LCAh5nqtBAANsYWxhbGEAy8nMS1Uw5FLIAdFGXAoQhjEXAAoCcWAYAAAA
+</data>
+
+<datacheck>
+HTTP/1.1 200 OK

+Date: Mon, 29 Nov 2004 21:56:53 GMT

+Server: Apache/1.3.31 (Debian GNU/Linux) mod_gzip/1.3.26.1a PHP/4.3.9-1 mod_ssl/2.8.20 OpenSSL/0.9.7d mod_perl/1.29

+Vary: Accept-Encoding

+Content-Type: text/html; charset=ISO-8859-1

+Transfer-Encoding: gzip

+Content-Length: 44

+

+line 1
+ line 2
+  line 3
+</datacheck>
+
+</reply>
+
+#
+# Client-side
+<client>
+<features>
+libz
+</features>
+<server>
+http
+</server>
+ <name>
+HTTP GET transfer-encoding with blanked Connection:
+ </name>
+ <command>
+http://%HOSTIP:%HTTPPORT/1171 --tr-encoding -H "Connection;"
+</command>
+</client>
+
+#
+# Verify data after the test has been "shot"
+<verify>
+<strip>
+^User-Agent:.*
+</strip>
+<protocol>
+GET /1171 HTTP/1.1

+Host: %HOSTIP:%HTTPPORT

+Accept: */*

+Connection: TE

+TE: gzip

+

+</protocol>
+</verify>
+</testcase>
diff --git a/tests/data/test1265 b/tests/data/test1265
new file mode 100644
index 0000000..5d3ef6d
--- /dev/null
+++ b/tests/data/test1265
@@ -0,0 +1,53 @@
+<testcase>
+<info>
+<keywords>
+HTTP
+HTTP proxy
+NO_PROXY
+noproxy
+</keywords>
+</info>
+
+# Server-side
+<reply>
+<data>
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Length: 4
+Content-Type: text/html
+
+foo
+</data>
+</reply>
+
+# Client-side
+<client>
+<server>
+http-ipv6
+</server>
+<name>
+NO_PROXY with IPv6 numerical address
+</name>
+<setenv>
+http_proxy=http://%HOSTIP:%HTTPPORT
+NO_PROXY=::1
+</setenv>
+<command>
+http://%HOST6IP:%HTTP6PORT/1265
+</command>
+</client>
+
+# Verify data after the test has been "shot"
+<verify>
+<strip>
+^User-Agent:.*
+</strip>
+<protocol>
+GET /1265 HTTP/1.1

+Host: %HOST6IP:%HTTP6PORT

+Accept: */*

+

+</protocol>
+</verify>
+</testcase>
diff --git a/tests/data/test1292 b/tests/data/test1292
new file mode 100644
index 0000000..880a4b4
--- /dev/null
+++ b/tests/data/test1292
@@ -0,0 +1,50 @@
+<testcase>
+<info>
+<keywords>
+HTTP
+HTTP GET
+HTTP added headers
+HTTP replaced headers
+</keywords>
+</info>
+#
+# Server-side
+<reply>
+<data>
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake swsclose
+Content-Type: text/html
+Funny-head: yesyes
+
+</data>
+</reply>
+
+#
+# Client-side
+<client>
+<server>
+http
+</server>
+ <name>
+Replaced internal headers with a blank one
+ </name>
+ <command>
+ -H "Host;" -H "Accept;" http://%HOSTIP:%HTTPPORT/1292
+</command>
+</client>
+
+#
+# Verify data after the test has been "shot"
+<verify>
+<strip>
+^User-Agent:.*
+</strip>
+<protocol>
+GET /1292 HTTP/1.1

+Host:

+Accept:

+

+</protocol>
+</verify>
+</testcase>
diff --git a/tests/data/test1538 b/tests/data/test1538
index 25b39a6..b084dac 100644
--- a/tests/data/test1538
+++ b/tests/data/test1538
@@ -125,7 +125,8 @@
 e90: SSL public key does not match pinned public key
 e91: SSL server certificate status verification FAILED
 e92: Stream error in the HTTP/2 framing layer
-e93: Unknown error
+e93: API function called from within callback
+e94: Unknown error
 m-1: Please call curl_multi_perform() soon
 m0: No error
 m1: Invalid multi handle
@@ -135,7 +136,8 @@
 m5: Invalid socket argument
 m6: Unknown option
 m7: The easy handle is already added to a multi handle
-m8: Unknown error
+m8: API function called from within callback
+m9: Unknown error
 s0: No error
 s1: Unknown share option
 s2: Share currently in use
diff --git a/tests/data/test1555 b/tests/data/test1555
new file mode 100644
index 0000000..19512c5
--- /dev/null
+++ b/tests/data/test1555
@@ -0,0 +1,50 @@
+<testcase>
+<info>
+<keywords>
+RECURSIVE_API_CALL
+</keywords>
+</info>
+
+# Server-side
+<reply>
+<data nocheck="yes">
+HTTP/1.1 204 PARTIAL

+X-Comment: partial response to keep the client waiting

+</data>
+<postcmd>
+wait 10
+</postcmd>
+</reply>
+
+# Client-side
+<client>
+<server>
+http
+</server>
+<tool>
+lib1555
+</tool>
+ <name>
+verify api is protected against calls from callbacks
+ </name>
+
+# this server/host won't be used for real
+ <command>
+http://%HOSTIP:%HTTPPORT/1555
+</command>
+</client>
+
+# Verify data after the test has been "shot"
+<verify>
+<protocol>
+</protocol>
+# 42 == CURLE_ABORTED_BY_CALLBACK
+<errorcode>
+42
+</errorcode>
+<stdout>
+curl_easy_recv returned 93
+curl_easy_send returned 93
+</stdout>
+</verify>
+</testcase>
diff --git a/tests/data/test1556 b/tests/data/test1556
new file mode 100644
index 0000000..0f99abd
--- /dev/null
+++ b/tests/data/test1556
@@ -0,0 +1,63 @@
+<testcase>
+<info>
+<keywords>
+HTTP
+HTTP GET
+</keywords>
+</info>
+
+#
+# Server-side
+<reply>
+<data nocheck="yes">
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
+ETag: "21025-dc7-39462498"
+Accept-Ranges: bytes
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Funny-head: yesyes
+Long: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+
+-foo-
+</data>
+</reply>
+
+#
+# Client-side
+<client>
+<server>
+http
+</server>
+<tool>
+lib1556
+</tool>
+ <name>
+send long HTTP headers to header callback
+ </name>
+ <command>
+http://%HOSTIP:%HTTPPORT/1556
+</command>
+</client>
+
+#
+# Verify data after the test has been "shot"
+<verify>
+<strip>
+^User-Agent:.*
+</strip>
+<protocol>
+GET /1556 HTTP/1.1

+Host: %HOSTIP:%HTTPPORT

+Accept: */*

+

+</protocol>
+<stdout>
+-foo-
+Max: 100008
+</stdout>
+</verify>
+</testcase>
diff --git a/tests/data/test1607 b/tests/data/test1607
new file mode 100644
index 0000000..9628324
--- /dev/null
+++ b/tests/data/test1607
@@ -0,0 +1,26 @@
+<testcase>
+<info>
+<keywords>
+unittest
+CURLOPT_RESOLVE
+</keywords>
+</info>
+
+#
+# Client-side
+<client>
+<server>
+none
+</server>
+<features>
+unittest
+</features>
+ <name>
+CURLOPT_RESOLVE parsing
+ </name>
+<tool>
+unit1607
+</tool>
+</client>
+
+</testcase>
diff --git a/tests/data/test319 b/tests/data/test319
new file mode 100644
index 0000000..6a61a14
--- /dev/null
+++ b/tests/data/test319
@@ -0,0 +1,57 @@
+<testcase>
+<info>
+<keywords>
+HTTP
+HTTP GET
+compressed
+</keywords>
+</info>
+#
+# Server-side
+<reply>
+<data base64="yes">
+SFRUUC8xLjEgMjAwIE9LDQpEYXRlOiBNb24sIDI5IE5vdiAyMDA0IDIxOjU2OjUzIEdNVA0KU2Vy
+dmVyOiBBcGFjaGUvMS4zLjMxIChEZWJpYW4gR05VL0xpbnV4KSBtb2RfZ3ppcC8xLjMuMjYuMWEg
+UEhQLzQuMy45LTEgbW9kX3NzbC8yLjguMjAgT3BlblNTTC8wLjkuN2QgbW9kX3BlcmwvMS4yOQ0K
+Q29udGVudC1UeXBlOiB0ZXh0L2h0bWw7IGNoYXJzZXQ9SVNPLTg4NTktMQ0KVHJhbnNmZXItRW5j
+b2Rpbmc6IGd6aXANCkNvbnRlbnQtTGVuZ3RoOiA0NA0KDQofiwgIeZ6rQQADbGFsYWxhAMvJzEtV
+MORSyAHRRlwKEIYxFwAKAnFgGAAAAA==
+</data>
+
+<datacheck base64="yes">
+H4sICHmeq0EAA2xhbGFsYQDLycxLVTDkUsgB0UZcChCGMRcACgJxYBgAAAA=
+</datacheck>
+
+</reply>
+
+#
+# Client-side
+<client>
+<features>
+libz
+</features>
+<server>
+http
+</server>
+ <name>
+HTTP GET gzip transfer-encoded data in raw mode
+ </name>
+ <command option="no-include">
+http://%HOSTIP:%HTTPPORT/319 --raw
+ </command>
+</client>
+
+#
+# Verify data after the test has been "shot"
+<verify>
+<strip>
+^User-Agent:.*
+</strip>
+<protocol>
+GET /319 HTTP/1.1

+Host: %HOSTIP:%HTTPPORT

+Accept: */*

+

+</protocol>
+</verify>
+</testcase>
diff --git a/tests/data/test326 b/tests/data/test326
new file mode 100644
index 0000000..1a4aae5
--- /dev/null
+++ b/tests/data/test326
@@ -0,0 +1,66 @@
+<testcase>
+<info>
+<keywords>
+HTTP
+HTTP GET
+</keywords>
+</info>
+#
+# Server-side
+<reply>
+<data>
+HTTP/1.1 200 OK

+Date: Mon, 29 Nov 2004 21:56:53 GMT

+Server: Apache/1.3.31 (Debian GNU/Linux) mod_gzip/1.3.26.1a PHP/4.3.9-1 mod_ssl/2.8.20 OpenSSL/0.9.7d mod_perl/1.29

+Content-Type: text/html; charset=ISO-8859-1

+Transfer-Encoding: chunked

+

+18

+line 1
+ line 2
+  line 3
+

+0

+

+</data>
+
+<datacheck>
+18

+line 1
+ line 2
+  line 3
+

+0

+

+</datacheck>
+
+</reply>
+
+#
+# Client-side
+<client>
+<server>
+http
+</server>
+ <name>
+HTTP GET chunked data in raw mode
+ </name>
+ <command option="no-include">
+http://%HOSTIP:%HTTPPORT/326 --raw
+ </command>
+</client>
+
+#
+# Verify data after the test has been "shot"
+<verify>
+<strip>
+^User-Agent:.*
+</strip>
+<protocol>
+GET /326 HTTP/1.1

+Host: %HOSTIP:%HTTPPORT

+Accept: */*

+

+</protocol>
+</verify>
+</testcase>
diff --git a/tests/data/test340 b/tests/data/test340
new file mode 100644
index 0000000..d834d76
--- /dev/null
+++ b/tests/data/test340
@@ -0,0 +1,40 @@
+<testcase>
+<info>
+<keywords>
+FTP
+PASV
+CWD
+--ftp-method
+singlecwd
+</keywords>
+</info>
+#
+# Server-side
+<reply>
+</reply>
+
+# Client-side
+<client>
+<server>
+ftp
+</server>
+ <name>
+FTP using %00 in path with singlecwd
+ </name>
+ <command>
+--ftp-method singlecwd ftp://%HOSTIP:%FTPPORT/%00first/second/third/340
+</command>
+</client>
+
+# Verify data after the test has been "shot"
+<verify>
+<protocol>
+USER anonymous

+PASS ftp@example.com

+PWD

+</protocol>
+<errorcode>
+3
+</errorcode>
+</verify>
+</testcase>
diff --git a/tests/data/test517 b/tests/data/test517
index 513634f..f58f4ed 100644
--- a/tests/data/test517
+++ b/tests/data/test517
@@ -32,96 +32,6 @@
 # Verify data after the test has been "shot"
 <verify>
 <stdout>
-0: Sun, 06 Nov 1994 08:49:37 GMT => 784111777
-1: Sunday, 06-Nov-94 08:49:37 GMT => 784111777
-2: Sun Nov  6 08:49:37 1994 => 784111777
-3: 06 Nov 1994 08:49:37 GMT => 784111777
-4: 06-Nov-94 08:49:37 GMT => 784111777
-5: Nov  6 08:49:37 1994 => 784111777
-6: 06 Nov 1994 08:49:37 => 784111777
-7: 06-Nov-94 08:49:37 => 784111777
-8: 1994 Nov 6 08:49:37 => 784111777
-9: GMT 08:49:37 06-Nov-94 Sunday => 784111777
-10: 94 6 Nov 08:49:37 => 784111777
-11: 1994 Nov 6 => 784080000
-12: 06-Nov-94 => 784080000
-13: Sun Nov 6 94 => 784080000
-14: 1994.Nov.6 => 784080000
-15: Sun/Nov/6/94/GMT => 784080000
-16: Sun, 06 Nov 1994 08:49:37 CET => 784108177
-17: 06 Nov 1994 08:49:37 EST => 784129777
-18: Sun, 12 Sep 2004 15:05:58 -0700 => 1095026758
-19: Sat, 11 Sep 2004 21:32:11 +0200 => 1094931131
-20: 20040912 15:05:58 -0700 => 1095026758
-21: 20040911 +0200 => 1094853600
-22: Thu, 01-Jan-1970 00:59:59 GMT => 3599
-23: Thu, 01-Jan-1970 01:00:00 GMT => 3600
-24: Sat, 15-Apr-17 21:01:22 GMT => 1492290082
-25: Thu, 19-Apr-2007 16:00:00 GMT => 1176998400
-26: Wed, 25 Apr 2007 21:02:13 GMT => 1177534933
-27: Thu, 19/Apr\2007 16:00:00 GMT => 1176998400
-28: Fri, 1 Jan 2010 01:01:50 GMT => 1262307710
-29: Wednesday, 1-Jan-2003 00:00:00 GMT => 1041379200
-30: , 1-Jan-2003 00:00:00 GMT => 1041379200
-31:  1-Jan-2003 00:00:00 GMT => 1041379200
-32: 1-Jan-2003 00:00:00 GMT => 1041379200
-33: Wed,18-Apr-07 22:50:12 GMT => 1176936612
-34: WillyWonka  , 18-Apr-07 22:50:12 GMT => -1
-35: WillyWonka  , 18-Apr-07 22:50:12 => -1
-36: WillyWonka  ,  18-apr-07   22:50:12 => -1
-37: Mon, 18-Apr-1977 22:50:13 GMT => 230251813
-38: Mon, 18-Apr-77 22:50:13 GMT => 230251813
-39: "Sat, 15-Apr-17\"21:01:22\"GMT" => 1492290082
-40: Partyday, 18- April-07 22:50:12 => -1
-41: Partyday, 18 - Apri-07 22:50:12 => -1
-42: Wednes, 1-Januar-2003 00:00:00 GMT => -1
-43: Sat, 15-Apr-17 21:01:22 => 1492290082
-44: Sat, 15-Apr-17 21:01:22 GMT-2 => 1492290082
-45: Sat, 15-Apr-17 21:01:22 GMT BLAH => 1492290082
-46: Sat, 15-Apr-17 21:01:22 GMT-0400 => 1492290082
-47: Sat, 15-Apr-17 21:01:22 GMT-0400 (EDT) => 1492290082
-48: Sat, 15-Apr-17 21:01:22 DST => -1
-49: Sat, 15-Apr-17 21:01:22 -0400 => 1492304482
-50: Sat, 15-Apr-17 21:01:22 (hello there) => -1
-51: Sat, 15-Apr-17 21:01:22 11:22:33 => -1
-52: Sat, 15-Apr-17 ::00 21:01:22 => -1
-53: Sat, 15-Apr-17 boink:z 21:01:22 => -1
-54: Sat, 15-Apr-17 91:22:33 21:01:22 => -1
-55: Thu Apr 18 22:50:12 2007 GMT => 1176936612
-56: 22:50:12 Thu Apr 18 2007 GMT => 1176936612
-57: Thu 22:50:12 Apr 18 2007 GMT => 1176936612
-58: Thu Apr 22:50:12 18 2007 GMT => 1176936612
-59: Thu Apr 18 22:50:12 2007 GMT => 1176936612
-60: Thu Apr 18 2007 22:50:12 GMT => 1176936612
-61: Thu Apr 18 2007 GMT 22:50:12 => 1176936612
-62: Sat, 15-Apr-17 21:01:22 GMT => 1492290082
-63: 15-Sat, Apr-17 21:01:22 GMT => 1492290082
-64: 15-Sat, Apr 21:01:22 GMT 17 => 1492290082
-65: 15-Sat, Apr 21:01:22 GMT 2017 => 1492290082
-66: 15 Apr 21:01:22 2017 => 1492290082
-67: 15 17 Apr 21:01:22 => 1492290082
-68: Apr 15 17 21:01:22 => 1492290082
-69: Apr 15 21:01:22 17 => 1492290082
-70: 2017 April 15 21:01:22 => -1
-71: 15 April 2017 21:01:22 => -1
-72: 98 April 17 21:01:22 => -1
-73: Thu, 012-Aug-2008 20:49:07 GMT => 1218574147
-74: Thu, 999999999999-Aug-2007 20:49:07 GMT => -1
-75: Thu, 12-Aug-2007 20:61:99999999999 GMT => -1
-76: IAintNoDateFool => -1
-77: Thu Apr 18 22:50 2007 GMT => 1176936600
-78: 20110623 12:34:56 => 1308832496
-79: 20110632 12:34:56 => -1
-80: 20110623 56:34:56 => -1
-81: 20111323 12:34:56 => -1
-82: 20110623 12:34:79 => -1
-83: Wed, 31 Dec 2008 23:59:60 GMT => 1230768000
-84: 20110623 12:3 => 1308830580
-85: 20110623 1:3 => 1308790980
-86: 20110623 1:30 => 1308792600
-87: 20110623 12:12:3 => 1308831123
-88: 20110623 01:12:3 => 1308791523
-89: 20110623 01:99:30 => -1
 </stdout>
 
 # This test case previously tested an overflow case ("2094 Nov 6 =>
diff --git a/tests/data/test555 b/tests/data/test555
index 3aa2ef1..18bbc43 100644
--- a/tests/data/test555
+++ b/tests/data/test555
@@ -106,10 +106,6 @@
 <strip>
 ^User-Agent: curl/.*
 </strip>
-<strippart>
-# remove CR that CURLOPT_TRANSFERTEXT added, when CharConv enabled:
-s/^(this is the blurb we want to upload)\r\n/$1\n/ if($has_charconv)
-</strippart>
 <protocol>
 POST http://test.remote.example.com/path/555 HTTP/1.1

 Host: test.remote.example.com

diff --git a/tests/data/test655 b/tests/data/test655
new file mode 100644
index 0000000..d98729c
--- /dev/null
+++ b/tests/data/test655
@@ -0,0 +1,50 @@
+<testcase>
+<info>
+<keywords>
+HTTP
+</keywords>
+</info>
+
+#
+# Server-side
+<reply>
+<data>
+HTTP/1.1 200 OK

+Date: Thu, 09 Nov 2010 14:49:00 GMT

+Server: test-server/fake swsclose

+Connection: close

+Content-Type: text/html

+

+hello
+</data>
+<datacheck>
+hello
+</datacheck>
+</reply>
+
+# Client-side
+<client>
+<server>
+http
+</server>
+# tool is what to use instead of 'curl'
+<tool>
+lib655
+</tool>
+
+ <name>
+resolver start callback
+ </name>
+ <command>
+http://%HOSTIP:%HTTPPORT/655
+</command>
+</client>
+
+#
+# Verify data after the test has been "shot"
+<verify>
+<errorcode>
+0
+</errorcode>
+</verify>
+</testcase>
diff --git a/tests/data/test911 b/tests/data/test911
index cc87349..f4c5458 100644
--- a/tests/data/test911
+++ b/tests/data/test911
@@ -40,7 +40,6 @@
 QUIT

 </protocol>
 <upload>
-

 .

 </upload>
 </verify>
diff --git a/tests/data/test951 b/tests/data/test951
new file mode 100644
index 0000000..7d2e17b
--- /dev/null
+++ b/tests/data/test951
@@ -0,0 +1,45 @@
+<testcase>
+<info>
+<keywords>
+SMTP
+</keywords>
+</info>
+
+#
+# Server-side
+<reply>
+</reply>
+
+#
+# Client-side
+<client>
+<server>
+smtp
+</server>
+ <name>
+SMTP data with dot as first character
+ </name>
+<stdin>
+.This first line starts with a dot

+</stdin>
+<command>
+smtp://%HOSTIP:%SMTPPORT/951 --mail-rcpt recipient@example.com --mail-from sender@example.com -T -
+</command>
+</client>
+
+#
+# Verify data after the test has been "shot"
+<verify>
+<protocol>
+EHLO 951

+MAIL FROM:<sender@example.com>

+RCPT TO:<recipient@example.com>

+DATA

+QUIT

+</protocol>
+<upload>
+..This first line starts with a dot

+.

+</upload>
+</verify>
+</testcase>
diff --git a/tests/data/test952 b/tests/data/test952
new file mode 100644
index 0000000..54334b2
--- /dev/null
+++ b/tests/data/test952
@@ -0,0 +1,45 @@
+<testcase>
+<info>
+<keywords>
+SMTP
+</keywords>
+</info>
+
+#
+# Server-side
+<reply>
+</reply>
+
+#
+# Client-side
+<client>
+<server>
+smtp
+</server>
+ <name>
+SMTP data with single dot-only line
+ </name>
+<stdin>
+.

+</stdin>
+<command>
+smtp://%HOSTIP:%SMTPPORT/952 --mail-rcpt recipient@example.com --mail-from sender@example.com -T -
+</command>
+</client>
+
+#
+# Verify data after the test has been "shot"
+<verify>
+<protocol>
+EHLO 952

+MAIL FROM:<sender@example.com>

+RCPT TO:<recipient@example.com>

+DATA

+QUIT

+</protocol>
+<upload>
+..

+.

+</upload>
+</verify>
+</testcase>
diff --git a/tests/ftpserver.pl b/tests/ftpserver.pl
index 9562758..97f7b8e 100755
--- a/tests/ftpserver.pl
+++ b/tests/ftpserver.pl
@@ -6,7 +6,7 @@
 #                            | (__| |_| |  _ <| |___
 #                             \___|\___/|_| \_\_____|
 #
-# Copyright (C) 1998 - 2014, 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+# Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
 #
 # This software is licensed as described in the file COPYING, which
 # you should have received as part of this distribution. The terms
@@ -920,7 +920,7 @@
                 print FILE $line if(!$nosave);
 
                 $raw .= $line;
-                if($raw =~ /\x0d\x0a\x2e\x0d\x0a/) {
+                if($raw =~ /(?:^|\x0d\x0a)\x2e\x0d\x0a/) {
                     # end of data marker!
                     $eob = 1;
                 }
@@ -2708,7 +2708,7 @@
 }
 
 #**********************************************************************
-# nodataconn_str returns string of efective nodataconn command. Notice
+# nodataconn_str returns string of effective nodataconn command. Notice
 # that $nodataconn may be set alone or in addition to a $nodataconnXXX.
 #
 sub nodataconn_str {
@@ -2934,7 +2934,7 @@
 }
 
 #***************************************************************************
-# Initialize command line option dependant variables
+# Initialize command line option dependent variables
 #
 
 if(!$srcdir) {
diff --git a/tests/libtest/Makefile.am b/tests/libtest/Makefile.am
index a4e85ef..0b8ebe9 100644
--- a/tests/libtest/Makefile.am
+++ b/tests/libtest/Makefile.am
@@ -5,7 +5,7 @@
 #                            | (__| |_| |  _ <| |___
 #                             \___|\___/|_| \_\_____|
 #
-# Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+# Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
 #
 # This software is licensed as described in the file COPYING, which
 # you should have received as part of this distribution. The terms
@@ -49,6 +49,8 @@
 
 CFLAG_CURL_SYMBOL_HIDING = @CFLAG_CURL_SYMBOL_HIDING@
 
+CFLAGS += @CURL_CFLAG_EXTRAS@
+
 # Prevent LIBS from being used for all link targets
 LIBS = $(BLANK_AT_MAKETIME)
 
diff --git a/tests/libtest/Makefile.inc b/tests/libtest/Makefile.inc
index d8a55e2..e7e8c48 100644
--- a/tests/libtest/Makefile.inc
+++ b/tests/libtest/Makefile.inc
@@ -20,14 +20,14 @@
  lib559 lib560 lib562 lib564 lib565 lib566 lib567 lib568 lib569 lib570   \
  lib571 lib572 lib573 lib574 lib575 lib576        lib578 lib579 lib582   \
  lib583 lib585 lib586 lib587 lib589 lib590 lib591 lib597 lib598 lib599   \
- lib643 lib644 lib645 lib650 lib651 lib652 lib653 lib654 \
+ lib643 lib644 lib645 lib650 lib651 lib652 lib653 lib654 lib655 \
  lib1500 lib1501 lib1502 lib1503 lib1504 lib1505 lib1506 lib1507 lib1508 \
  lib1509 lib1510 lib1511 lib1512 lib1513 lib1514 lib1515         lib1517 \
  lib1520 lib1521 \
  lib1525 lib1526 lib1527 lib1528 lib1529 lib1530 lib1531 lib1532 lib1533 \
  lib1534 lib1535 lib1536 lib1537 lib1538 \
  lib1540 \
- lib1550 lib1551 lib1552 lib1553 lib1554 \
+ lib1550 lib1551 lib1552 lib1553 lib1554 lib1555 lib1556 \
  lib1900 \
  lib2033
 
@@ -327,6 +327,9 @@
 lib654_SOURCES = lib654.c $(SUPPORTFILES)
 lib654_CPPFLAGS = $(AM_CPPFLAGS)
 
+lib655_SOURCES = lib655.c $(SUPPORTFILES)
+lib655_CPPFLAGS = $(AM_CPPFLAGS)
+
 lib1500_SOURCES = lib1500.c $(SUPPORTFILES) $(TESTUTIL)
 lib1500_LDADD = $(TESTUTIL_LIBS)
 lib1500_CPPFLAGS = $(AM_CPPFLAGS)
@@ -477,6 +480,14 @@
 lib1554_SOURCES = lib1554.c $(SUPPORTFILES)
 lib1554_CPPFLAGS = $(AM_CPPFLAGS)
 
+lib1555_SOURCES = lib1555.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS)
+lib1555_LDADD = $(TESTUTIL_LIBS)
+lib1555_CPPFLAGS = $(AM_CPPFLAGS) -DLIB1555
+
+lib1556_SOURCES = lib1556.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS)
+lib1556_LDADD = $(TESTUTIL_LIBS)
+lib1556_CPPFLAGS = $(AM_CPPFLAGS) -DLIB1556
+
 lib1900_SOURCES = lib1900.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS)
 lib1900_LDADD = $(TESTUTIL_LIBS)
 lib1900_CPPFLAGS = $(AM_CPPFLAGS)
diff --git a/tests/libtest/lib1521.c b/tests/libtest/lib1521.c
index 2852b86..905e33b 100644
--- a/tests/libtest/lib1521.c
+++ b/tests/libtest/lib1521.c
@@ -38,7 +38,7 @@
 /* Unexpected error.
     CURLE_NOT_BUILT_IN   - means disabled at build
     CURLE_UNKNOWN_OPTION - means no such option (anymore?)
-    CURLE_SSL_ENGINE_NOTFOUND - set unkown ssl engine
+    CURLE_SSL_ENGINE_NOTFOUND - set unknown ssl engine
     CURLE_UNSUPPORTED_PROTOCOL - set bad HTTP version
     CURLE_BAD_FUNCTION_ARGUMENT - unsupported value
    */
@@ -99,6 +99,7 @@
 static curl_fnmatch_callback fnmatch_cb;
 static curl_closesocket_callback closesocketcb;
 static curl_xferinfo_callback xferinfocb;
+static curl_resolver_start_callback resolver_start_cb;
 
 int test(char *URL)
 {
@@ -2352,6 +2353,40 @@
   res = curl_easy_setopt(curl, CURLOPT_MIMEPOST, NULL);
   if(UNEX(res)) {
     err("MIMEPOST", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_TIMEVALUE_LARGE, OFF_NO);
+  if(UNEX(res)) {
+    err("TIMEVALUE_LARGE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_TIMEVALUE_LARGE, OFF_HI);
+  if(UNEX(res)) {
+    err("TIMEVALUE_LARGE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_TIMEVALUE_LARGE, OFF_LO);
+  if(UNEX(res)) {
+    err("TIMEVALUE_LARGE", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS, 0L);
+  if(UNEX(res)) {
+    err("HAPPY_EYEBALLS_TIMEOUT_MS", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS, 22L);
+  if(UNEX(res)) {
+    err("HAPPY_EYEBALLS_TIMEOUT_MS", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS, LO);
+  if(UNEX(res)) {
+    err("HAPPY_EYEBALLS_TIMEOUT_MS", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS, HI);
+  if(UNEX(res)) {
+    err("HAPPY_EYEBALLS_TIMEOUT_MS", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_RESOLVER_START_FUNCTION,
+                         resolver_start_cb);
+  if(UNEX(res)) {
+    err("RESOLVER_START_FUNCTION", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_RESOLVER_START_FUNCTION, NULL);
+  if(UNEX(res)) {
+    err("RESOLVER_START_FUNCTION", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_RESOLVER_START_DATA, &object);
+  if(UNEX(res)) {
+    err("RESOLVER_START_DATA", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_setopt(curl, CURLOPT_RESOLVER_START_DATA, NULL);
+  if(UNEX(res)) {
+    err("RESOLVER_START_DATA", res, __LINE__); goto test_cleanup; }
   res = curl_easy_getinfo(curl, CURLINFO_EFFECTIVE_URL, &charp);
   if(UNEX(res)) {
     geterr("EFFECTIVE_URL", res, __LINE__); goto test_cleanup; }
@@ -2406,6 +2441,9 @@
   res = curl_easy_getinfo(curl, CURLINFO_FILETIME, &val);
   if(UNEX(res)) {
     geterr("FILETIME", res, __LINE__); goto test_cleanup; }
+  res = curl_easy_getinfo(curl, CURLINFO_FILETIME_T, &oval);
+  if(UNEX(res)) {
+    geterr("FILETIME_T", res, __LINE__); goto test_cleanup; }
   res = curl_easy_getinfo(curl, CURLINFO_CONTENT_LENGTH_DOWNLOAD, &dval);
   if(UNEX(res)) {
     geterr("CONTENT_LENGTH_DOWNLOAD", res, __LINE__); goto test_cleanup; }
diff --git a/tests/libtest/lib1555.c b/tests/libtest/lib1555.c
new file mode 100644
index 0000000..e4f2255
--- /dev/null
+++ b/tests/libtest/lib1555.c
@@ -0,0 +1,77 @@
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2015, 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ *
+ * This software is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at https://curl.haxx.se/docs/copyright.html.
+ *
+ * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+ * copies of the Software, and permit persons to whom the Software is
+ * furnished to do so, under the terms of the COPYING file.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ***************************************************************************/
+/*
+ * Verify that some API functions are locked from being called inside callback
+ */
+
+#include "test.h"
+
+#include "memdebug.h"
+
+static CURL *curl;
+
+static int progressCallback(void *arg,
+                            double dltotal,
+                            double dlnow,
+                            double ultotal,
+                            double ulnow)
+{
+  CURLcode res = 0;
+  (void)arg;
+  (void)dltotal;
+  (void)dlnow;
+  (void)ultotal;
+  (void)ulnow;
+  res = curl_easy_recv(curl, NULL, 0, NULL);
+  printf("curl_easy_recv returned %d\n", res);
+  res = curl_easy_send(curl, NULL, 0, NULL);
+  printf("curl_easy_send returned %d\n", res);
+
+  return 1;
+}
+
+int test(char *URL)
+{
+  int res = 0;
+
+  global_init(CURL_GLOBAL_ALL);
+
+  easy_init(curl);
+
+  easy_setopt(curl, CURLOPT_URL, URL);
+  easy_setopt(curl, CURLOPT_TIMEOUT, (long)7);
+  easy_setopt(curl, CURLOPT_NOSIGNAL, (long)1);
+  easy_setopt(curl, CURLOPT_PROGRESSFUNCTION, progressCallback);
+  easy_setopt(curl, CURLOPT_PROGRESSDATA, NULL);
+  easy_setopt(curl, CURLOPT_NOPROGRESS, (long)0);
+
+  res = curl_easy_perform(curl);
+
+test_cleanup:
+
+  /* undocumented cleanup sequence - type UA */
+
+  curl_easy_cleanup(curl);
+  curl_global_cleanup();
+
+  return res;
+}
diff --git a/tests/libtest/lib1556.c b/tests/libtest/lib1556.c
new file mode 100644
index 0000000..fa0e60e
--- /dev/null
+++ b/tests/libtest/lib1556.c
@@ -0,0 +1,78 @@
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+ *
+ * This software is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at https://curl.haxx.se/docs/copyright.html.
+ *
+ * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+ * copies of the Software, and permit persons to whom the Software is
+ * furnished to do so, under the terms of the COPYING file.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ***************************************************************************/
+#include "test.h"
+
+#include "testutil.h"
+#include "warnless.h"
+#include "memdebug.h"
+
+struct headerinfo {
+  size_t largest;
+};
+
+static size_t header(void *ptr, size_t size, size_t nmemb, void *stream)
+{
+  size_t headersize = size * nmemb;
+  struct headerinfo *info = (struct headerinfo *)stream;
+  (void)ptr;
+
+  if(headersize > info->largest)
+    /* remember the longest header */
+    info->largest = headersize;
+
+  return nmemb * size;
+}
+
+int test(char *URL)
+{
+  CURLcode code;
+  CURL *curl = NULL;
+  int res = 0;
+  struct headerinfo info = {0};
+
+  global_init(CURL_GLOBAL_ALL);
+
+  easy_init(curl);
+
+  easy_setopt(curl, CURLOPT_HEADERFUNCTION, header);
+  easy_setopt(curl, CURLOPT_HEADERDATA, &info);
+  easy_setopt(curl, CURLOPT_VERBOSE, 1L);
+  easy_setopt(curl, CURLOPT_URL, URL);
+
+  code = curl_easy_perform(curl);
+  if(CURLE_OK != code) {
+    fprintf(stderr, "%s:%d curl_easy_perform() failed, "
+            "with code %d (%s)\n",
+            __FILE__, __LINE__, (int)code, curl_easy_strerror(code));
+    res = TEST_ERR_MAJOR_BAD;
+    goto test_cleanup;
+  }
+
+  printf("Max: %ld\n", (long)info.largest);
+
+test_cleanup:
+
+  curl_easy_cleanup(curl);
+  curl_global_cleanup();
+
+  return res;
+}
diff --git a/tests/libtest/lib517.c b/tests/libtest/lib517.c
index af7b2aa..e745190 100644
--- a/tests/libtest/lib517.c
+++ b/tests/libtest/lib517.c
@@ -5,7 +5,7 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
@@ -23,117 +23,141 @@
 
 #include "memdebug.h"
 
-static const char * const dates[]={
-  "Sun, 06 Nov 1994 08:49:37 GMT",
-  "Sunday, 06-Nov-94 08:49:37 GMT",
-  "Sun Nov  6 08:49:37 1994",
-  "06 Nov 1994 08:49:37 GMT",
-  "06-Nov-94 08:49:37 GMT",
-  "Nov  6 08:49:37 1994",
-  "06 Nov 1994 08:49:37",
-  "06-Nov-94 08:49:37",
-  "1994 Nov 6 08:49:37",
-  "GMT 08:49:37 06-Nov-94 Sunday",
-  "94 6 Nov 08:49:37",
-  "1994 Nov 6",
-  "06-Nov-94",
-  "Sun Nov 6 94",
-  "1994.Nov.6",
-  "Sun/Nov/6/94/GMT",
-  "Sun, 06 Nov 1994 08:49:37 CET",
-  "06 Nov 1994 08:49:37 EST",
-  "Sun, 12 Sep 2004 15:05:58 -0700",
-  "Sat, 11 Sep 2004 21:32:11 +0200",
-  "20040912 15:05:58 -0700",
-  "20040911 +0200",
-  "Thu, 01-Jan-1970 00:59:59 GMT",
-  "Thu, 01-Jan-1970 01:00:00 GMT",
-/*  "2094 Nov 6", See ../data/test517 for details */
-  "Sat, 15-Apr-17 21:01:22 GMT",
-  "Thu, 19-Apr-2007 16:00:00 GMT",
-  "Wed, 25 Apr 2007 21:02:13 GMT",
-  "Thu, 19/Apr\\2007 16:00:00 GMT",
-  "Fri, 1 Jan 2010 01:01:50 GMT",
-  "Wednesday, 1-Jan-2003 00:00:00 GMT",
-  ", 1-Jan-2003 00:00:00 GMT",
-  " 1-Jan-2003 00:00:00 GMT",
-  "1-Jan-2003 00:00:00 GMT",
-  "Wed,18-Apr-07 22:50:12 GMT",
-  "WillyWonka  , 18-Apr-07 22:50:12 GMT",
-  "WillyWonka  , 18-Apr-07 22:50:12",
-  "WillyWonka  ,  18-apr-07   22:50:12",
-  "Mon, 18-Apr-1977 22:50:13 GMT",
-  "Mon, 18-Apr-77 22:50:13 GMT",
-  "\"Sat, 15-Apr-17\\\"21:01:22\\\"GMT\"",
-  "Partyday, 18- April-07 22:50:12",
-  "Partyday, 18 - Apri-07 22:50:12",
-  "Wednes, 1-Januar-2003 00:00:00 GMT",
-  "Sat, 15-Apr-17 21:01:22",
-  "Sat, 15-Apr-17 21:01:22 GMT-2",
-  "Sat, 15-Apr-17 21:01:22 GMT BLAH",
-  "Sat, 15-Apr-17 21:01:22 GMT-0400",
-  "Sat, 15-Apr-17 21:01:22 GMT-0400 (EDT)",
-  "Sat, 15-Apr-17 21:01:22 DST",
-  "Sat, 15-Apr-17 21:01:22 -0400",
-  "Sat, 15-Apr-17 21:01:22 (hello there)",
-  "Sat, 15-Apr-17 21:01:22 11:22:33",
-  "Sat, 15-Apr-17 ::00 21:01:22",
-  "Sat, 15-Apr-17 boink:z 21:01:22",
-  "Sat, 15-Apr-17 91:22:33 21:01:22",
-  "Thu Apr 18 22:50:12 2007 GMT",
-  "22:50:12 Thu Apr 18 2007 GMT",
-  "Thu 22:50:12 Apr 18 2007 GMT",
-  "Thu Apr 22:50:12 18 2007 GMT",
-  "Thu Apr 18 22:50:12 2007 GMT",
-  "Thu Apr 18 2007 22:50:12 GMT",
-  "Thu Apr 18 2007 GMT 22:50:12",
-  "Sat, 15-Apr-17 21:01:22 GMT",
-  "15-Sat, Apr-17 21:01:22 GMT",
-  "15-Sat, Apr 21:01:22 GMT 17",
-  "15-Sat, Apr 21:01:22 GMT 2017",
-  "15 Apr 21:01:22 2017",
-  "15 17 Apr 21:01:22",
-  "Apr 15 17 21:01:22",
-  "Apr 15 21:01:22 17",
-  "2017 April 15 21:01:22",
-  "15 April 2017 21:01:22",
-  "98 April 17 21:01:22",
-  "Thu, 012-Aug-2008 20:49:07 GMT",
+struct dcheck {
+  const char *input;
+  time_t output;
+};
+
+static struct dcheck dates[] = {
+  {"Sun, 06 Nov 1994 08:49:37 GMT", 784111777 },
+  {"Sunday, 06-Nov-94 08:49:37 GMT", 784111777 },
+  {"Sun Nov  6 08:49:37 1994", 784111777 },
+  {"06 Nov 1994 08:49:37 GMT", 784111777 },
+  {"06-Nov-94 08:49:37 GMT", 784111777 },
+  {"Nov  6 08:49:37 1994", 784111777 },
+  {"06 Nov 1994 08:49:37", 784111777 },
+  {"06-Nov-94 08:49:37", 784111777 },
+  {"1994 Nov 6 08:49:37", 784111777 },
+  {"GMT 08:49:37 06-Nov-94 Sunday", 784111777 },
+  {"94 6 Nov 08:49:37", 784111777 },
+  {"1994 Nov 6", 784080000 },
+  {"06-Nov-94", 784080000 },
+  {"Sun Nov 6 94", 784080000 },
+  {"1994.Nov.6", 784080000 },
+  {"Sun/Nov/6/94/GMT", 784080000 },
+  {"Sun, 06 Nov 1994 08:49:37 CET", 784108177 },
+  {"06 Nov 1994 08:49:37 EST", 784129777 },
+  {"Sun, 12 Sep 2004 15:05:58 -0700", 1095026758 },
+  {"Sat, 11 Sep 2004 21:32:11 +0200", 1094931131 },
+  {"20040912 15:05:58 -0700", 1095026758 },
+  {"20040911 +0200", 1094853600 },
+  {"Thu, 01-Jan-1970 00:59:59 GMT", 3599 },
+  {"Thu, 01-Jan-1970 01:00:00 GMT", 3600 },
+  {"Sat, 15-Apr-17 21:01:22 GMT", 1492290082 },
+  {"Thu, 19-Apr-2007 16:00:00 GMT", 1176998400 },
+  {"Wed, 25 Apr 2007 21:02:13 GMT", 1177534933 },
+  {"Thu, 19/Apr\\2007 16:00:00 GMT", 1176998400 },
+  {"Fri, 1 Jan 2010 01:01:50 GMT", 1262307710 },
+  {"Wednesday, 1-Jan-2003 00:00:00 GMT", 1041379200 },
+  {", 1-Jan-2003 00:00:00 GMT", 1041379200 },
+  {"1-Jan-2003 00:00:00 GMT", 1041379200 },
+  {"1-Jan-2003 00:00:00 GMT", 1041379200 },
+  {"Wed,18-Apr-07 22:50:12 GMT", 1176936612 },
+  {"WillyWonka  , 18-Apr-07 22:50:12 GMT", -1 },
+  {"WillyWonka  , 18-Apr-07 22:50:12", -1 },
+  {"WillyWonka  ,  18-apr-07   22:50:12", -1 },
+  {"Mon, 18-Apr-1977 22:50:13 GMT", 230251813 },
+  {"Mon, 18-Apr-77 22:50:13 GMT", 230251813 },
+  {"Sat, 15-Apr-17\"21:01:22\"GMT", 1492290082 },
+  {"Partyday, 18- April-07 22:50:12", -1 },
+  {"Partyday, 18 - Apri-07 22:50:12", -1 },
+  {"Wednes, 1-Januar-2003 00:00:00 GMT", -1 },
+  {"Sat, 15-Apr-17 21:01:22", 1492290082 },
+  {"Sat, 15-Apr-17 21:01:22 GMT-2", 1492290082 },
+  {"Sat, 15-Apr-17 21:01:22 GMT BLAH", 1492290082 },
+  {"Sat, 15-Apr-17 21:01:22 GMT-0400", 1492290082 },
+  {"Sat, 15-Apr-17 21:01:22 GMT-0400 (EDT)", 1492290082 },
+  {"Sat, 15-Apr-17 21:01:22 DST", -1 },
+  {"Sat, 15-Apr-17 21:01:22 -0400", 1492304482 },
+  {"Sat, 15-Apr-17 21:01:22 (hello there)", -1 },
+  {"Sat, 15-Apr-17 21:01:22 11:22:33", -1 },
+  {"Sat, 15-Apr-17 ::00 21:01:22", -1 },
+  {"Sat, 15-Apr-17 boink:z 21:01:22", -1 },
+  {"Sat, 15-Apr-17 91:22:33 21:01:22", -1 },
+  {"Thu Apr 18 22:50:12 2007 GMT", 1176936612 },
+  {"22:50:12 Thu Apr 18 2007 GMT", 1176936612 },
+  {"Thu 22:50:12 Apr 18 2007 GMT", 1176936612 },
+  {"Thu Apr 22:50:12 18 2007 GMT", 1176936612 },
+  {"Thu Apr 18 22:50:12 2007 GMT", 1176936612 },
+  {"Thu Apr 18 2007 22:50:12 GMT", 1176936612 },
+  {"Thu Apr 18 2007 GMT 22:50:12", 1176936612 },
+  {"Sat, 15-Apr-17 21:01:22 GMT", 1492290082 },
+  {"15-Sat, Apr-17 21:01:22 GMT", 1492290082 },
+  {"15-Sat, Apr 21:01:22 GMT 17", 1492290082 },
+  {"15-Sat, Apr 21:01:22 GMT 2017", 1492290082 },
+  {"15 Apr 21:01:22 2017", 1492290082 },
+  {"15 17 Apr 21:01:22", 1492290082 },
+  {"Apr 15 17 21:01:22", 1492290082 },
+  {"Apr 15 21:01:22 17", 1492290082 },
+  {"2017 April 15 21:01:22", -1 },
+  {"15 April 2017 21:01:22", -1 },
+  {"98 April 17 21:01:22", -1 },
+  {"Thu, 012-Aug-2008 20:49:07 GMT", 1218574147 },
+  {"Thu, 999999999999-Aug-2007 20:49:07 GMT", -1 },
+  {"Thu, 12-Aug-2007 20:61:99999999999 GMT", -1 },
+  {"IAintNoDateFool", -1 },
+  {"Thu Apr 18 22:50 2007 GMT", 1176936600 },
+  {"20110623 12:34:56", 1308832496 },
+  {"20110632 12:34:56", -1 },
+  {"20110623 56:34:56", -1 },
+  {"20111323 12:34:56", -1 },
+  {"20110623 12:34:79", -1 },
+  {"Wed, 31 Dec 2008 23:59:60 GMT", 1230768000 },
+  {"20110623 12:3", 1308830580 },
+  {"20110623 1:3", 1308790980 },
+  {"20110623 1:30", 1308792600 },
+  {"20110623 12:12:3", 1308831123 },
+  {"20110623 01:12:3", 1308791523 },
+  {"20110623 01:99:30", -1 },
+  {"Thu, 01-Jan-1970 00:00:00 GMT", 0 },
+  {"Thu, 31-Dec-1969 23:59:58 GMT", -2 },
+  {"Thu, 31-Dec-1969 23:59:59 GMT", 0 }, /* avoids -1 ! */
+#if SIZEOF_TIME_T > 4
+  {"Sun, 06 Nov 2044 08:49:37 GMT", 2362034977 },
+  {"Sun, 06 Nov 3144 08:49:37 GMT", 37074617377 },
+#ifndef HAVE_TIME_T_UNSIGNED
 #if 0
-  /* leaving out these strings since they differ between 32 and 64 bit
-     archs and the test suite has no good way to support two different outputs
-     like that */
-  "Thu, 12-Aug-31841 20:49:07 GMT",
-  "Thu, 12-Aug-9999999999 20:49:07 GMT",
+  /* causes warning on MSVC */
+  {"Sun, 06 Nov 1900 08:49:37 GMT", -2182259423 },
 #endif
-  "Thu, 999999999999-Aug-2007 20:49:07 GMT",
-  "Thu, 12-Aug-2007 20:61:99999999999 GMT",
-  "IAintNoDateFool",
-  "Thu Apr 18 22:50 2007 GMT", /* without seconds */
-  "20110623 12:34:56",
-  "20110632 12:34:56",
-  "20110623 56:34:56",
-  "20111323 12:34:56",
-  "20110623 12:34:79",
-  "Wed, 31 Dec 2008 23:59:60 GMT", /* leap second */
-  "20110623 12:3",
-  "20110623 1:3",
-  "20110623 1:30",
-  "20110623 12:12:3",
-  "20110623 01:12:3",
-  "20110623 01:99:30",
-  NULL
+  {"Sun, 06 Nov 1800 08:49:37 GMT", -5337933023 },
+  {"Thu, 01-Jan-1583 00:00:00 GMT", -12212553600 },
+#endif
+  {"Thu, 01-Jan-1499 00:00:00 GMT", -1 },
+#else
+  {"Sun, 06 Nov 2044 08:49:37 GMT", -1 },
+#endif
+#ifndef HAVE_TIME_T_UNSIGNED
+  {"Sun, 06 Nov 1968 08:49:37 GMT", -36342623 },
+#endif
+  { NULL, 0 }
 };
 
 int test(char *URL)
 {
   int i;
+  int error = 0;
 
   (void)URL; /* not used */
 
-  for(i = 0; dates[i]; i++) {
-    printf("%d: %s => %ld\n", i, dates[i], (long)curl_getdate(dates[i], NULL));
+  for(i = 0; dates[i].input; i++) {
+    time_t out = curl_getdate(dates[i].input, NULL);
+    if(out != dates[i].output) {
+      printf("WRONGLY %s => %ld (instead of %ld)\n",
+             dates[i].input, out, dates[i].output);
+      error++;
+    }
   }
 
-  return 0;
+  return error;
 }
diff --git a/tests/libtest/lib544.c b/tests/libtest/lib544.c
index 1f832d2..cb1aefc 100644
--- a/tests/libtest/lib544.c
+++ b/tests/libtest/lib544.c
@@ -5,7 +5,7 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
@@ -26,9 +26,12 @@
 static char teststring[] =
 #ifdef CURL_DOES_CONVERSIONS
   /* ASCII representation with escape sequences for non-ASCII platforms */
-  "\x54\x68\x69\x73\x00\x20\x69\x73\x20\x74\x65\x73\x74\x20\x62\x69\x6e\x61"
-  "\x72\x79\x20\x64\x61\x74\x61\x20\x77\x69\x74\x68\x20\x61\x6e\x20\x65\x6d"
-  "\x62\x65\x64\x64\x65\x64\x20\x4e\x55\x4c\x20\x62\x79\x74\x65\x0a";
+{ '\x54', '\x68', '\x69', '\x73', '\x00', '\x20', '\x69', '\x73', '\x20',
+  '\x74', '\x65', '\x73', '\x74', '\x20', '\x62', '\x69', '\x6e', '\x61',
+  '\x72', '\x79', '\x20', '\x64', '\x61', '\x74', '\x61', '\x20', '\x77',
+  '\x69', '\x74', '\x68', '\x20', '\x61', '\x6e', '\x20', '\x65', '\x6d',
+  '\x62', '\x65', '\x64', '\x64', '\x65', '\x64', '\x20', '\x4e', '\x55',
+  '\x4c'};
 #else
 {   'T', 'h', 'i', 's', '\0', ' ', 'i', 's', ' ', 't', 'e', 's', 't', ' ',
     'b', 'i', 'n', 'a', 'r', 'y', ' ', 'd', 'a', 't', 'a', ' ',
diff --git a/tests/libtest/lib555.c b/tests/libtest/lib555.c
index fc71bb6..c887b56 100644
--- a/tests/libtest/lib555.c
+++ b/tests/libtest/lib555.c
@@ -5,7 +5,7 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
@@ -35,7 +35,15 @@
 
 #define TEST_HANG_TIMEOUT 60 * 1000
 
-#define UPLOADTHIS "this is the blurb we want to upload\n"
+static const char uploadthis[] =
+#ifdef CURL_DOES_CONVERSIONS
+  /* ASCII representation with escape sequences for non-ASCII platforms */
+  "\x74\x68\x69\x73\x20\x69\x73\x20\x74\x68\x65\x20\x62\x6c\x75\x72"
+  "\x62\x20\x77\x65\x20\x77\x61\x6e\x74\x20\x74\x6f\x20\x75\x70\x6c"
+  "\x6f\x61\x64\x0a";
+#else
+  "this is the blurb we want to upload\n";
+#endif
 
 static size_t readcallback(void  *ptr,
                            size_t size,
@@ -51,10 +59,10 @@
   }
   (*counter)++; /* bump */
 
-  if(size * nmemb > strlen(UPLOADTHIS)) {
+  if(size * nmemb > strlen(uploadthis)) {
     fprintf(stderr, "READ!\n");
-    strcpy(ptr, UPLOADTHIS);
-    return strlen(UPLOADTHIS);
+    strcpy(ptr, uploadthis);
+    return strlen(uploadthis);
   }
   fprintf(stderr, "READ NOT FINE!\n");
   return 0;
@@ -98,13 +106,9 @@
   easy_setopt(curl, CURLOPT_READDATA, &counter);
   /* We CANNOT do the POST fine without setting the size (or choose
      chunked)! */
-  easy_setopt(curl, CURLOPT_POSTFIELDSIZE, (long)strlen(UPLOADTHIS));
+  easy_setopt(curl, CURLOPT_POSTFIELDSIZE, (long)strlen(uploadthis));
 
   easy_setopt(curl, CURLOPT_POST, 1L);
-#ifdef CURL_DOES_CONVERSIONS
-  /* Convert the POST data to ASCII. */
-  easy_setopt(curl, CURLOPT_TRANSFERTEXT, 1L);
-#endif
   easy_setopt(curl, CURLOPT_PROXY, libtest_arg2);
   easy_setopt(curl, CURLOPT_PROXYUSERPWD, libtest_arg3);
   easy_setopt(curl, CURLOPT_PROXYAUTH,
diff --git a/tests/libtest/lib560.c b/tests/libtest/lib560.c
index 0093ea1..16045e6 100644
--- a/tests/libtest/lib560.c
+++ b/tests/libtest/lib560.c
@@ -31,7 +31,7 @@
  * Simply download a HTTPS file!
  *
  * This test was added after the HTTPS-using-multi-interface with OpenSSL
- * regression of 7.19.1 to hopefully prevent this embarassing mistake from
+ * regression of 7.19.1 to hopefully prevent this embarrassing mistake from
  * appearing again... Unfortunately the bug wasn't triggered by this test,
  * which presumably is because the connect to a local server is too
  * fast/different compared to the real/distant servers we saw the bug happen
diff --git a/tests/libtest/lib655.c b/tests/libtest/lib655.c
new file mode 100644
index 0000000..8777b99
--- /dev/null
+++ b/tests/libtest/lib655.c
@@ -0,0 +1,112 @@
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+ *
+ * This software is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at https://curl.haxx.se/docs/copyright.html.
+ *
+ * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+ * copies of the Software, and permit persons to whom the Software is
+ * furnished to do so, under the terms of the COPYING file.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ***************************************************************************/
+#include "test.h"
+
+#include "memdebug.h"
+
+static const char *TEST_DATA_STRING = "Test data";
+static int cb_count = 0;
+
+static int
+resolver_alloc_cb_fail(void *resolver_state, void *reserved, void *userdata)
+{
+  (void)resolver_state;
+  (void)reserved;
+
+  cb_count++;
+  if(strcmp(userdata, TEST_DATA_STRING)) {
+    fprintf(stderr, "Invalid test data received");
+    exit(1);
+  }
+
+  return 1;
+}
+
+static int
+resolver_alloc_cb_pass(void *resolver_state, void *reserved, void *userdata)
+{
+  (void)resolver_state;
+  (void)reserved;
+
+  cb_count++;
+  if(strcmp(userdata, TEST_DATA_STRING)) {
+    fprintf(stderr, "Invalid test data received");
+    exit(1);
+  }
+
+  return 0;
+}
+
+int test(char *URL)
+{
+  CURL *curl;
+  CURLcode res = CURLE_OK;
+
+  if(curl_global_init(CURL_GLOBAL_ALL) != CURLE_OK) {
+    fprintf(stderr, "curl_global_init() failed\n");
+    return TEST_ERR_MAJOR_BAD;
+  }
+  curl = curl_easy_init();
+  if(!curl) {
+    fprintf(stderr, "curl_easy_init() failed\n");
+    res = TEST_ERR_MAJOR_BAD;
+    goto test_cleanup;
+  }
+
+  /* First set the URL that is about to receive our request. */
+  test_setopt(curl, CURLOPT_URL, URL);
+
+  test_setopt(curl, CURLOPT_RESOLVER_START_DATA, TEST_DATA_STRING);
+  test_setopt(curl, CURLOPT_RESOLVER_START_FUNCTION, resolver_alloc_cb_fail);
+
+  /* this should fail */
+  res = curl_easy_perform(curl);
+  if(res != CURLE_COULDNT_RESOLVE_HOST) {
+    fprintf(stderr, "curl_easy_perform should have returned "
+            "CURLE_COULDNT_RESOLVE_HOST but instead returned error %d\n", res);
+    if(res == CURLE_OK)
+      res = TEST_ERR_FAILURE;
+    goto test_cleanup;
+  }
+
+  test_setopt(curl, CURLOPT_RESOLVER_START_FUNCTION, resolver_alloc_cb_pass);
+
+  /* this should succeed */
+  res = curl_easy_perform(curl);
+  if(res) {
+    fprintf(stderr, "curl_easy_perform failed.\n");
+    goto test_cleanup;
+  }
+
+  if(cb_count != 2) {
+    fprintf(stderr, "Unexpected number of callbacks: %d\n", cb_count);
+    res = TEST_ERR_FAILURE;
+    goto test_cleanup;
+  }
+
+test_cleanup:
+  /* always cleanup */
+  curl_easy_cleanup(curl);
+  curl_global_cleanup();
+
+  return (int)res;
+}
diff --git a/tests/libtest/mk-lib1521.pl b/tests/libtest/mk-lib1521.pl
index 6ded472..9771cf5 100644
--- a/tests/libtest/mk-lib1521.pl
+++ b/tests/libtest/mk-lib1521.pl
@@ -71,7 +71,7 @@
 /* Unexpected error.
     CURLE_NOT_BUILT_IN   - means disabled at build
     CURLE_UNKNOWN_OPTION - means no such option (anymore?)
-    CURLE_SSL_ENGINE_NOTFOUND - set unkown ssl engine
+    CURLE_SSL_ENGINE_NOTFOUND - set unknown ssl engine
     CURLE_UNSUPPORTED_PROTOCOL - set bad HTTP version
     CURLE_BAD_FUNCTION_ARGUMENT - unsupported value
    */
@@ -132,6 +132,7 @@
 static curl_fnmatch_callback fnmatch_cb;
 static curl_closesocket_callback closesocketcb;
 static curl_xferinfo_callback xferinfocb;
+static curl_resolver_start_callback resolver_start_cb;
 
 int test(char *URL)
 {
diff --git a/tests/nroff-scan.pl b/tests/nroff-scan.pl
index 393068c..6121d4c 100644
--- a/tests/nroff-scan.pl
+++ b/tests/nroff-scan.pl
@@ -69,7 +69,7 @@
             if($str =~ /((libcurl|curl)([^ ]*))\(3\)/i) {
                 my $man = "$1.3";
                 if(!manpresent($man)) {
-                    print STDERR "error: $f:$line: refering to non-existing man page $man\n";
+                    print STDERR "error: $f:$line: referring to non-existing man page $man\n";
                     $errors++;
                 }
                 if($pre ne "I") {
@@ -87,7 +87,7 @@
             while($i =~ s/((lib|)curl([^ ]*)) *\"\(3\)(,|) *\" *//i ) {
                 my $man = "$1.3";
                 if(!manpresent($man)) {
-                    print STDERR "error: $f:$line: refering to non-existing man page $man\n";
+                    print STDERR "error: $f:$line: referring to non-existing man page $man\n";
                     $errors++;
                 }
             }
diff --git a/tests/pathhelp.pm b/tests/pathhelp.pm
index 10a87aa..bd91c91 100644
--- a/tests/pathhelp.pm
+++ b/tests/pathhelp.pm
@@ -451,7 +451,7 @@
         return $path;
     }
     elsif(should_use_cygpath()) {
-        # 'cygpath' is avalable - use it.
+        # 'cygpath' is available - use it.
 
         my $has_final_slash = ($path =~ m{[\\/]$});
 
diff --git a/tests/python_dependencies/impacket/spnego.py b/tests/python_dependencies/impacket/spnego.py
index f177d18..43e65fb 100644
--- a/tests/python_dependencies/impacket/spnego.py
+++ b/tests/python_dependencies/impacket/spnego.py
@@ -226,7 +226,7 @@
                     raise Exception('OID tag not found %x' % next_byte)
                 decode_data2 = decode_data2[1:]
                 item, total_bytes2 = asn1decode(decode_data2)
-                self['SuportedMech'] = item
+                self['SupportedMech'] = item
 
                 decode_data = decode_data[1:]
                 decode_data = decode_data[total_bytes:]
diff --git a/tests/runtests.1 b/tests/runtests.1
index f0a3686..cd7d384 100644
--- a/tests/runtests.1
+++ b/tests/runtests.1
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH runtests.pl 1 "May 05, 2017" "Curl 7.58.0" "runtests"
+.TH runtests.pl 1 "May 05, 2017" "Curl 7.59.0" "runtests"
 
 .SH NAME
 runtests.pl \- run one or more test cases
diff --git a/tests/runtests.pl b/tests/runtests.pl
index d68c20f..d6aa5ca 100755
--- a/tests/runtests.pl
+++ b/tests/runtests.pl
@@ -2772,6 +2772,7 @@
             }
            if ($libcurl =~ /winssl/i) {
                $has_winssl=1;
+               $has_sslpinning=1;
                $ssllib="WinSSL";
            }
            elsif ($libcurl =~ /openssl/i) {
diff --git a/tests/server/CMakeLists.txt b/tests/server/CMakeLists.txt
index cfc1434..7384102 100644
--- a/tests/server/CMakeLists.txt
+++ b/tests/server/CMakeLists.txt
@@ -20,7 +20,7 @@
   target_link_libraries(${TEST_NAME} ${CURL_LIBS})
 
   # Test servers simply are standalone programs that do not use libcurl
-  # library.  For convinience and to ease portability of these servers,
+  # library.  For convenience and to ease portability of these servers,
   # some source code files from the libcurl subdirectory are also used
   # to build the servers.  In order to achieve proper linkage of these
   # files on Win32 targets it is necessary to build the test servers
diff --git a/tests/server/Makefile.inc b/tests/server/Makefile.inc
index 208aa0f..c6233af 100644
--- a/tests/server/Makefile.inc
+++ b/tests/server/Makefile.inc
@@ -4,13 +4,15 @@
  ../../lib/mprintf.c \
  ../../lib/nonblock.c \
  ../../lib/strtoofft.c \
- ../../lib/warnless.c
+ ../../lib/warnless.c \
+ ../../lib/curl_ctype.c
 
 CURLX_HDRS = \
  ../../lib/curlx.h \
  ../../lib/nonblock.h \
  ../../lib/strtoofft.h \
- ../../lib/warnless.h
+ ../../lib/warnless.h \
+ ../../lib/curl_ctype.h
 
 USEFUL = \
  getpart.c \
diff --git a/tests/server/sockfilt.c b/tests/server/sockfilt.c
index ceb04d8..40f5bdb 100644
--- a/tests/server/sockfilt.c
+++ b/tests/server/sockfilt.c
@@ -1050,7 +1050,7 @@
 
        Commands:
 
-       DATA - plain pass-thru data
+       DATA - plain pass-through data
     */
 
     if(!read_stdin(buffer, 5))
diff --git a/tests/server/sws.c b/tests/server/sws.c
index 1d47375..10a8774 100644
--- a/tests/server/sws.c
+++ b/tests/server/sws.c
@@ -1347,7 +1347,7 @@
   serverfd = socket(socket_domain, SOCK_STREAM, 0);
   if(CURL_SOCKET_BAD == serverfd) {
     error = SOCKERRNO;
-    logmsg("Error creating socket for server conection: (%d) %s",
+    logmsg("Error creating socket for server connection: (%d) %s",
            error, strerror(error));
     return CURL_SOCKET_BAD;
   }
@@ -1358,7 +1358,7 @@
     curl_socklen_t flag = 1;
     if(0 != setsockopt(serverfd, IPPROTO_TCP, TCP_NODELAY,
                        (void *)&flag, sizeof(flag)))
-      logmsg("====> TCP_NODELAY for server conection failed");
+      logmsg("====> TCP_NODELAY for server connection failed");
   }
 #endif
 
@@ -1423,7 +1423,7 @@
  * either end.
  *
  * When doing FTP through a CONNECT proxy, we expect that the data connection
- * will be setup while the first connect is still being kept up. Therefor we
+ * will be setup while the first connect is still being kept up. Therefore we
  * must accept a new connection and deal with it appropriately.
  */
 
@@ -1567,7 +1567,7 @@
             curl_socklen_t flag = 1;
             if(0 != setsockopt(datafd, IPPROTO_TCP, TCP_NODELAY,
                                (void *)&flag, sizeof(flag)))
-              logmsg("====> TCP_NODELAY for client DATA conection failed");
+              logmsg("====> TCP_NODELAY for client DATA connection failed");
           }
 #endif
           req2.pipelining = FALSE;
diff --git a/tests/testcurl.1 b/tests/testcurl.1
index 4ba7a7a..3197097 100644
--- a/tests/testcurl.1
+++ b/tests/testcurl.1
@@ -20,7 +20,7 @@
 .\" *
 .\" **************************************************************************
 .\"
-.TH testcurl.pl 1 "October 22, 2016" "Curl 7.58.0" "testcurl"
+.TH testcurl.pl 1 "October 22, 2016" "Curl 7.59.0" "testcurl"
 
 .SH NAME
 testcurl.pl \- (automatically) test curl
diff --git a/tests/unit/Makefile.am b/tests/unit/Makefile.am
index 61b72c0..fab82d2 100644
--- a/tests/unit/Makefile.am
+++ b/tests/unit/Makefile.am
@@ -5,7 +5,7 @@
 #                            | (__| |_| |  _ <| |___
 #                             \___|\___/|_| \_\_____|
 #
-# Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+# Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
 #
 # This software is licensed as described in the file COPYING, which
 # you should have received as part of this distribution. The terms
@@ -50,6 +50,8 @@
 
 EXTRA_DIST = Makefile.inc CMakeLists.txt
 
+CFLAGS += @CURL_CFLAG_EXTRAS@
+
 # Prevent LIBS from being used for all link targets
 LIBS = $(BLANK_AT_MAKETIME)
 
diff --git a/tests/unit/Makefile.inc b/tests/unit/Makefile.inc
index bfb5c4d..9a19f51 100644
--- a/tests/unit/Makefile.inc
+++ b/tests/unit/Makefile.inc
@@ -9,7 +9,7 @@
  unit1308 unit1309 unit1323 \
  unit1330 unit1394 unit1395 unit1396 unit1397 unit1398	\
  unit1399	\
- unit1600 unit1601 unit1602 unit1603 unit1604 unit1605 unit1606
+ unit1600 unit1601 unit1602 unit1603 unit1604 unit1605 unit1606 unit1607
 
 unit1300_SOURCES = unit1300.c $(UNITFILES)
 unit1300_CPPFLAGS = $(AM_CPPFLAGS)
@@ -85,3 +85,6 @@
 
 unit1606_SOURCES = unit1606.c $(UNITFILES)
 unit1606_CPPFLAGS = $(AM_CPPFLAGS)
+
+unit1607_SOURCES = unit1607.c $(UNITFILES)
+unit1607_CPPFLAGS = $(AM_CPPFLAGS)
diff --git a/tests/unit/unit1307.c b/tests/unit/unit1307.c
index 266eed3..0d2257b 100644
--- a/tests/unit/unit1307.c
+++ b/tests/unit/unit1307.c
@@ -25,7 +25,6 @@
 
 #define MATCH   CURL_FNMATCH_MATCH
 #define NOMATCH CURL_FNMATCH_NOMATCH
-#define RE_ERR  CURL_FNMATCH_FAIL
 
 struct testcase {
   const char *pattern;
@@ -36,8 +35,8 @@
 static const struct testcase tests[] = {
   /* brackets syntax */
   { "\\[",                      "[",                      MATCH },
-  { "[",                        "[",                      RE_ERR },
-  { "[]",                       "[]",                     RE_ERR },
+  { "[",                        "[",                      MATCH },
+  { "[]",                       "[]",                     MATCH },
   { "[][]",                     "[",                      MATCH },
   { "[][]",                     "]",                      MATCH },
   { "[[]",                      "[",                      MATCH },
@@ -49,6 +48,8 @@
   { "[][[[]",                   "[",                      MATCH },
   { "[[]",                      "]",                      NOMATCH },
 
+  { "[a@]",                     "a",                      MATCH },
+
   { "[a-z]",                    "a",                      MATCH },
   { "[a-z]",                    "A",                      NOMATCH },
   { "?[a-z]",                   "?Z",                     NOMATCH },
@@ -77,6 +78,7 @@
   { "[][?*-]",                  "*",                      MATCH },
   { "[][?*-]",                  "-",                      MATCH },
   { "[]?*-]",                   "-",                      MATCH },
+  { "[\xFF]",                   "\xFF",                   MATCH },
   { "?/b/c",                    "a/b/c",                  MATCH },
   { "^_{}~",                    "^_{}~",                  MATCH },
   { "!#%+,-./01234567889",      "!#%+,-./01234567889",    MATCH },
@@ -97,8 +99,10 @@
   { "*[^a].t?t",                "a.txt",                  NOMATCH },
   { "*[^a].t?t",                "ba.txt",                 NOMATCH },
   { "*[^a].t?t",                "ab.txt",                 MATCH },
-  { "*[^a]",                    "",                       MATCH },
-  { "[!ÿ]",                     "",                       MATCH },
+  { "*[^a]",                    "",                       NOMATCH },
+  { "[!\xFF]",                  "",                       NOMATCH },
+  { "[!\xFF]",                  "\xFF",                   NOMATCH },
+  { "[!\xFF]",                  "a",                      MATCH },
   { "[!?*[]",                   "?",                      NOMATCH },
   { "[!!]",                     "!",                      NOMATCH },
   { "[!!]",                     "x",                      MATCH },
@@ -130,6 +134,8 @@
   { "[^[:blank:]]",             "\t",                     NOMATCH },
   { "[^[:print:]]",             "\10",                    MATCH },
   { "[[:lower:]][[:lower:]]",   "ll",                     MATCH },
+  { "[[:foo:]]",                "bar",                    NOMATCH },
+  { "[[:foo:]]",                "f]",                     MATCH },
 
   { "Curl[[:blank:]];-)",       "Curl ;-)",               MATCH },
   { "*[[:blank:]]*",            " ",                      MATCH },
@@ -167,7 +173,7 @@
   { "x",                        "",                       NOMATCH },
 
   /* backslash */
-  { "\\",                       "\\",                     RE_ERR },
+  { "\\",                       "\\",                     MATCH },
   { "\\\\",                     "\\",                     MATCH },
   { "\\\\",                     "\\\\",                   NOMATCH },
   { "\\?",                      "?",                      MATCH },
diff --git a/tests/unit/unit1309.c b/tests/unit/unit1309.c
index c53cbcb..9a07c93 100644
--- a/tests/unit/unit1309.c
+++ b/tests/unit/unit1309.c
@@ -22,6 +22,7 @@
 #include "curlcheck.h"
 
 #include "splay.h"
+#include "warnless.h"
 
 
 static CURLcode unit_setup(void)
@@ -86,7 +87,8 @@
     key.tv_usec = (541*i)%1023;
     payload = (size_t) key.tv_usec;
 
-    nodes[i].payload = (void *)payload; /* for simplicity */
+    /* for simplicity */
+    nodes[i].payload = CURLX_INTEGER_TO_POINTER_CAST(payload);
     root = Curl_splayinsert(key, root, &nodes[i]);
   }
 
@@ -98,7 +100,7 @@
     printf("Tree look:\n");
     splayprint(root, 0, 1);
     printf("remove pointer %d, payload %ld\n", rem,
-           (long)(nodes[rem].payload));
+           CURLX_POINTER_TO_INTEGER_CAST(nodes[rem].payload));
     rc = Curl_splayremovebyaddr(root, &nodes[rem], &root);
     if(rc) {
       /* failed! */
@@ -119,7 +121,8 @@
     /* add some nodes with the same key */
     for(j = 0; j <= i % 3; j++) {
       size_t payload = key.tv_usec*10 + j;
-      nodes[i * 3 + j].payload = (void *)payload; /* for simplicity */
+      /* for simplicity */
+      nodes[i * 3 + j].payload = CURLX_INTEGER_TO_POINTER_CAST(payload);
       root = Curl_splayinsert(key, root, &nodes[i * 3 + j]);
     }
   }
@@ -130,8 +133,9 @@
     tv_now.tv_usec = i;
     root = Curl_splaygetbest(tv_now, root, &removed);
     while(removed != NULL) {
-      printf("removed payload %ld[%ld]\n", (long)(removed->payload) / 10,
-             (long)(removed->payload) % 10);
+      printf("removed payload %ld[%ld]\n",
+             CURLX_POINTER_TO_INTEGER_CAST(removed->payload) / 10,
+             CURLX_POINTER_TO_INTEGER_CAST(removed->payload) % 10);
       root = Curl_splaygetbest(tv_now, root, &removed);
     }
   }
diff --git a/tests/unit/unit1607.c b/tests/unit/unit1607.c
new file mode 100644
index 0000000..71c5993
--- /dev/null
+++ b/tests/unit/unit1607.c
@@ -0,0 +1,213 @@
+/***************************************************************************
+ *                                  _   _ ____  _
+ *  Project                     ___| | | |  _ \| |
+ *                             / __| | | | |_) | |
+ *                            | (__| |_| |  _ <| |___
+ *                             \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+ *
+ * This software is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at https://curl.haxx.se/docs/copyright.html.
+ *
+ * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+ * copies of the Software, and permit persons to whom the Software is
+ * furnished to do so, under the terms of the COPYING file.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ***************************************************************************/
+#include "curlcheck.h"
+
+#include "urldata.h"
+#include "connect.h"
+#include "share.h"
+
+#include "memdebug.h" /* LAST include file */
+
+static struct Curl_easy *easy;
+static struct curl_hash *hostcache;
+
+static void unit_stop(void)
+{
+  curl_easy_cleanup(easy);
+  curl_global_cleanup();
+}
+
+static CURLcode unit_setup(void)
+{
+  int res = CURLE_OK;
+
+  global_init(CURL_GLOBAL_ALL);
+
+  easy = curl_easy_init();
+  if(!easy) {
+    curl_global_cleanup();
+    return CURLE_OUT_OF_MEMORY;
+  }
+
+  hostcache = Curl_global_host_cache_init();
+  if(!hostcache) {
+    unit_stop();
+    return CURLE_OUT_OF_MEMORY;
+  }
+
+  return res;
+}
+
+struct testcase {
+  /* host:port:address[,address]... */
+  const char *optval;
+
+  /* lowercase host and port to retrieve the addresses from hostcache */
+  const char *host;
+  int port;
+
+  /* 0 to 9 addresses expected from hostcache */
+  const char *address[10];
+};
+
+
+/* In builds without IPv6 support CURLOPT_RESOLVE should skip over those
+   addresses, so we have to do that as well. */
+static const char skip = 0;
+#ifdef ENABLE_IPV6
+#define IPV6ONLY(x) x
+#else
+#define IPV6ONLY(x) &skip
+#endif
+
+/* CURLOPT_RESOLVE address parsing tests */
+static const struct testcase tests[] = {
+  /* spaces aren't allowed, for now */
+  { "test.com:80:127.0.0.1, 127.0.0.2",
+    "test.com", 80, { NULL, }
+  },
+  { "TEST.com:80:,,127.0.0.1,,,127.0.0.2,,,,::1,,,",
+    "test.com", 80, { "127.0.0.1", "127.0.0.2", IPV6ONLY("::1"), }
+  },
+  { "test.com:80:::1,127.0.0.1",
+    "test.com", 80, { IPV6ONLY("::1"), "127.0.0.1", }
+  },
+  { "test.com:80:[::1],127.0.0.1",
+    "test.com", 80, { IPV6ONLY("::1"), "127.0.0.1", }
+  },
+  { "test.com:80:::1",
+    "test.com", 80, { IPV6ONLY("::1"), }
+  },
+  { "test.com:80:[::1]",
+    "test.com", 80, { IPV6ONLY("::1"), }
+  },
+  { "test.com:80:127.0.0.1",
+    "test.com", 80, { "127.0.0.1", }
+  },
+  { "test.com:80:,127.0.0.1",
+    "test.com", 80, { "127.0.0.1", }
+  },
+  { "test.com:80:127.0.0.1,",
+    "test.com", 80, { "127.0.0.1", }
+  },
+  { "test.com:0:127.0.0.1",
+    "test.com", 0, { "127.0.0.1", }
+  },
+};
+
+UNITTEST_START
+  int i;
+  int testnum = sizeof(tests) / sizeof(struct testcase);
+
+  for(i = 0; i < testnum; ++i, curl_easy_reset(easy)) {
+    int j;
+    int addressnum = sizeof tests[i].address / sizeof *tests[i].address;
+    struct Curl_addrinfo *addr;
+    struct Curl_dns_entry *dns;
+    struct curl_slist *list;
+    void *entry_id;
+    bool problem = false;
+
+    Curl_hostcache_clean(easy, hostcache);
+    easy->dns.hostcache = hostcache;
+    easy->dns.hostcachetype = HCACHE_GLOBAL;
+
+    list = curl_slist_append(NULL, tests[i].optval);
+    if(!list)
+        goto unit_test_abort;
+    curl_easy_setopt(easy, CURLOPT_RESOLVE, list);
+
+    Curl_loadhostpairs(easy);
+
+    entry_id = (void *)aprintf("%s:%d", tests[i].host, tests[i].port);
+    if(!entry_id) {
+      curl_slist_free_all(list);
+      goto unit_test_abort;
+    }
+    dns = Curl_hash_pick(easy->dns.hostcache, entry_id, strlen(entry_id) + 1);
+    free(entry_id);
+    entry_id = NULL;
+
+    addr = dns ? dns->addr : NULL;
+
+    for(j = 0; j < addressnum; ++j) {
+      long port = 0;
+      char ipaddress[MAX_IPADR_LEN] = {0};
+
+      if(!addr && !tests[i].address[j])
+        break;
+
+      if(tests[i].address[j] == &skip)
+        continue;
+
+      if(addr && !Curl_getaddressinfo(addr->ai_addr,
+                                      ipaddress, &port)) {
+        fprintf(stderr, "%s:%d tests[%d] failed. getaddressinfo failed.\n",
+                __FILE__, __LINE__, i);
+        problem = true;
+        break;
+      }
+
+      if(addr && !tests[i].address[j]) {
+        fprintf(stderr, "%s:%d tests[%d] failed. the retrieved addr "
+                "is %s but tests[%d].address[%d] is NULL.\n",
+                __FILE__, __LINE__, i, ipaddress, i, j);
+        problem = true;
+        break;
+      }
+
+      if(!addr && tests[i].address[j]) {
+        fprintf(stderr, "%s:%d tests[%d] failed. the retrieved addr "
+                "is NULL but tests[%d].address[%d] is %s.\n",
+                __FILE__, __LINE__, i, i, j, tests[i].address[j]);
+        problem = true;
+        break;
+      }
+
+      if(!curl_strequal(ipaddress, tests[i].address[j])) {
+        fprintf(stderr, "%s:%d tests[%d] failed. the retrieved addr "
+                "%s is not equal to tests[%d].address[%d] %s.\n",
+                __FILE__, __LINE__, i, ipaddress, i, j, tests[i].address[j]);
+        problem = true;
+        break;
+      }
+
+      if(port != tests[i].port) {
+        fprintf(stderr, "%s:%d tests[%d] failed. the retrieved port "
+                "for tests[%d].address[%d] is %ld but tests[%d].port is %d.\n",
+                __FILE__, __LINE__, i, i, j, port, i, tests[i].port);
+        problem = true;
+        break;
+      }
+
+      addr = addr->ai_next;
+    }
+
+    Curl_hostcache_clean(easy, easy->dns.hostcache);
+    curl_slist_free_all(list);
+
+    if(problem) {
+      unitfail++;
+      continue;
+    }
+  }
+UNITTEST_STOP
diff --git a/winbuild/Makefile.vc b/winbuild/Makefile.vc
index cec9b14..46919fc 100644
--- a/winbuild/Makefile.vc
+++ b/winbuild/Makefile.vc
@@ -248,12 +248,12 @@
 	@SET DIROBJ=$(LIBCURL_DIROBJ)
 	@SET MACRO_NAME=LIBCURL_OBJS
 	@SET OUTFILE=LIBCURL_OBJS.inc
-	@gen_resp_file.bat $(LIBCURL_OBJS)
+	@CALL gen_resp_file.bat $(LIBCURL_OBJS)
 
 	@SET DIROBJ=$(CURL_DIROBJ)
 	@SET MACRO_NAME=CURL_OBJS
 	@SET OUTFILE=CURL_OBJS.inc
-	@gen_resp_file.bat $(CURL_OBJS)
+	@CALL gen_resp_file.bat $(CURL_OBJS)
 
 	@SET CONFIG_NAME_LIB=$(CONFIG_NAME_LIB)
 	@SET MACHINE=$(MACHINE)
diff --git a/winbuild/MakefileBuild.vc b/winbuild/MakefileBuild.vc
index 32790ff..28500ae 100644
--- a/winbuild/MakefileBuild.vc
+++ b/winbuild/MakefileBuild.vc
@@ -45,6 +45,11 @@
 

 CFGSET=FALSE

 WINBUILD_DIR=`cd`

+

+# Utilities.

+# If a path is required that contains characters such as space, quote the path.

+MT         = mt.exe

+RC         = rc.exe

 ZIP        = zip.exe

 

 # Allow changing C compiler via environment variable CC (default cl.exe)

@@ -68,7 +73,7 @@
 LNKLIB     = link.exe /lib

 

 CFLAGS_PDB = /Zi

-LFLAGS_PDB = /incremental:no /opt:ref,icf

+LFLAGS_PDB = /incremental:no /opt:ref,icf /DEBUG

 

 CFLAGS_LIBCURL_STATIC  = /DCURL_STATICLIB

 

@@ -176,12 +181,26 @@
 CARES_CFLAGS   = /DUSE_ARES /I"$(DEVEL_INCLUDE)/cares"

 !ENDIF

 

+# Depending on how zlib is built the libraries have different names, we 

+# try to handle them all. 

 !IF "$(WITH_ZLIB)"=="dll"

+!IF EXISTS("$(DEVEL_LIB)\zlibwapi.lib")

+ZLIB_LIBS = zlibwapi.lib

+!ELSEIF EXISTS("$(DEVEL_LIB)\zdll.lib")

+ZLIB_LIBS   = zdll.lib

+!ELSE

 ZLIB_LIBS   = zlib.lib

+!ENDIF

 USE_ZLIB    = true

 ZLIB        = dll

 !ELSEIF "$(WITH_ZLIB)"=="static"

+!IF EXISTS("$(DEVEL_LIB)\zlibstat.lib")

+ZLIB_LIBS   = zlibstat.lib

+!ELSEIF EXISTS("$(DEVEL_LIB)\zlib.lib")

+ZLIB_LIBS   = zlib.lib

+!ELSE

 ZLIB_LIBS   = zlib_a.lib

+!ENDIF

 USE_ZLIB    = true

 ZLIB        = static

 !ENDIF

@@ -267,7 +286,7 @@
 

 

 !IFDEF EMBED_MANIFEST

-MANIFESTTOOL = mt -manifest $(DIRDIST)\bin\$(PROGRAM_NAME).manifest -outputresource:$(DIRDIST)\bin\$(PROGRAM_NAME);1

+MANIFESTTOOL = $(MT) -manifest $(DIRDIST)\bin\$(PROGRAM_NAME).manifest -outputresource:$(DIRDIST)\bin\$(PROGRAM_NAME);1

 !ENDIF

 

 # Runtime library configuration

@@ -496,7 +515,7 @@
 	$(CURL_CC) $(CFLAGS) /Fo"$@"  $<

 

 $(LIB_DIROBJ)\libcurl.res: $(LIBCURL_SRC_DIR)\libcurl.rc

-	rc $(RC_FLAGS)

+	$(RC) $(RC_FLAGS)

 

 #

 # curl.exe

@@ -520,7 +539,8 @@
 CURL_FROM_LIBCURL=$(CURL_DIROBJ)\tool_hugehelp.obj \

  $(CURL_DIROBJ)\nonblock.obj \

  $(CURL_DIROBJ)\strtoofft.obj \

- $(CURL_DIROBJ)\warnless.obj

+ $(CURL_DIROBJ)\warnless.obj \

+ $(CURL_DIROBJ)\curl_ctype.obj

  

 $(PROGRAM_NAME): $(CURL_DIROBJ) $(CURL_FROM_LIBCURL) $(EXE_OBJS)

 	$(CURL_LINK) $(CURL_LFLAGS) $(CURL_LIBCURL_LIBNAME) $(WIN_LIBS) $(CURL_FROM_LIBCURL) $(EXE_OBJS)

@@ -537,6 +557,8 @@
 	$(CURL_CC) $(CURL_CFLAGS) /Fo"$@" ../lib/strtoofft.c

 $(CURL_DIROBJ)\warnless.obj: ../lib/warnless.c

 	$(CURL_CC) $(CURL_CFLAGS) /Fo"$@" ../lib/warnless.c

+$(CURL_DIROBJ)\curl_ctype.obj: ../lib/curl_ctype.c

+	$(CURL_CC) $(CURL_CFLAGS) /Fo"$@" ../lib/curl_ctype.c

 $(CURL_DIROBJ)\curl.res: $(CURL_SRC_DIR)\curl.rc

 	rc $(CURL_RC_FLAGS)